You are on page 1of 96

INTRODUO AO

AMBIENTE GAMS
Ambiente para
modelagem e otimizao
SUMRIO

INTRODUO
SUMRIO
ESTRUTURA DO
MODELO 1) INTRODUO

ELEMENTOS DA 2) ESTRUTURA DO MODELO EM GAMS


LINGUAGEM

3) ELEMENTOS DA LINGUAGEM DE MODELAGEM GAMS


SOLVERS

4) SOLVERS
ANLISE DOS
RESULTADOS
5) ANLISE DOS RESULTADOS
EXEMPLO 1
[LP] EXEMPLO 1: Linear Programming (LP)
EXEMPLO 2: Nonlinear Programming (NLP)
EXEMPLO 2
[NLP]
EXEMPLO 3: Mixed Integer Nonlinear Programming (MINLP)

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
INTRODUO
ESTRUTURA DO
MODELO
O que o GAMS?

ELEMENTOS DA - Ambiente para modelagem e soluo de problemas


LINGUAGEM de otimizao
SOLVERS
- Acrnimo: General Algebraic Modeling System
ANLISE DOS
RESULTADOS - Consiste de 3 componentes:
EXEMPLO 1 - Linguagem Algbrica: permite a modelagem de
[LP] sistemas complexos
- Compilador: traduz as informaes para o formato
EXEMPLO 2
aceito pelo solver
[NLP]
- Solvers: pacotes comerciais que resolvem o problema
EXEMPLO 3 e disponibilizam os resultados
[MINLP]
SUMRIO

INTRODUO
INTRODUO
ESTRUTURA DO
MODELO Fluxo de Informaes no ambiente GAMS
(Grossmann, 1991):
ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
INTRODUO
ESTRUTURA DO Histrico:
MODELO

ELEMENTOS DA . 1950-60s: desenvolvimento de algoritmos para


LINGUAGEM soluo de problemas de otimizao de grande escala

SOLVERS . 1970s: poucas aplicaes dos algoritmos devido ao


alto esforo de modelagem
ANLISE DOS - Dificuldades: preparao dos dados, transformao
RESULTADOS para o formato do solver, gerao de relatrios e
depurao dos cdigos
EXEMPLO 1
[LP]
. 1980s: surgimento de sistemas de modelagem
EXEMPLO 2
algbrica (linguagem de alto nvel, unificao do
[NLP] formato do modelo e fcil depurao)

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
INTRODUO
ESTRUTURA DO Para que utilizado?
MODELO
- Problemas de otimizao de grande escala
ELEMENTOS DA
LINGUAGEM Vantagens:
- Facilidade na modelagem de problemas complexos
SOLVERS
(representao algbrica)

ANLISE DOS
- Solvers comerciais robustos e consolidados
RESULTADOS - Grande comunidade usuria (facilidade na obteno de
informaes)
EXEMPLO 1
[LP] - IDE (edio, desenvolvimento, debugging e soluo)

EXEMPLO 2 Desvantagens:
[NLP]
- Solvers de cdigo fechado
EXEMPLO 3 - Resoluo de sistemas dinmicos e distribudos
[MINLP]
SUMRIO

INTRODUO
INTRODUO
ESTRUTURA DO
MODELO
Sistemas de Modelagem Algbrica
ELEMENTOS DA Caractersticas:
LINGUAGEM
- Modelam o problema como um sistema de equaes
SOLVERS algbricas, as quais so tratadas como restries (ou
funo objetivo) do problema de otimizao
ANLISE DOS - Analisam automaticamente a estrutura do modelo e o
RESULTADOS classificam de acordo com o tipo de otimizao

EXEMPLO 1
[LP] Sistemas Mais Utilizados para Otimizao:
EXEMPLO 2 - GAMS - MPL
[NLP] - AMPL - AIMMS

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
INTRODUO
ESTRUTURA DO
MODELO
Sistemas de Modelagem Algbrica
- Edgar, Himmelblau e Lasdon (2001):
ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
ESTRUTURA DO MODELO
ESTRUTURA DO Principais Sees do modelo GAMS:
MODELO

ELEMENTOS DA 1. Especificao dos conjuntos e parmetros


LINGUAGEM

SOLVERS 2. Declarao das variveis e equaes


Estruturas!
ANLISE DOS 3. Definio das equaes
RESULTADOS

EXEMPLO 1 4. Especificao dos limites, valores iniciais,


[LP] opes especiais
EXEMPLO 2
[NLP] 5. Espec. do modelo e chamada do solver
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
ESTRUTURA DO MODELO
ESTRUTURA DO
MODELO
Estruturas:
ELEMENTOS DA
LINGUAGEM Conjuntos (Sets)
Dados (constantes e parmetros)
SOLVERS
Variveis
ANLISE DOS
RESULTADOS Equaes
EXEMPLO 1 Modelos
[LP]
Solvers
EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
ESTRUTURA DO MODELO
ESTRUTURA DO
MODELO
Sets (Conjuntos)
ELEMENTOS DA
- Possibilitam a indexao de variveis
LINGUAGEM - teis para representar sistemas complexos
SOLVERS
- ndices equivalem ao nmero de linhas ou
colunas de matrizes ou vetores do problema.
ANLISE DOS
RESULTADOS
Exemplo: conjunto [i1,i2,i3,i4,i5]
EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
ESTRUTURA DO MODELO
ESTRUTURA DO
MODELO Data (3 tipos de dados):
ELEMENTOS DA Escalares: nmero fixo (sem ndices):
LINGUAGEM
ou
SOLVERS
Parmetros: vetor de nmeros fixos:
ANLISE DOS
RESULTADOS

EXEMPLO 1 Tabelas: matriz de nmeros fixos:


[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
ESTRUTURA DO MODELO
ESTRUTURA DO
MODELO
Variables
ELEMENTOS DA
- Declarao de variveis: nome, domnio e
LINGUAGEM descrio
- Caractersticas importantes: limites inferior e
SOLVERS
superior, chute inicial (Elementos da Ling.)
ANLISE DOS - Ex:
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
ESTRUTURA DO MODELO
ESTRUTURA DO
MODELO
Equations
ELEMENTOS DA - Restries e Funo Objetivo
LINGUAGEM
- Declarao:
SOLVERS

ANLISE DOS - Definio:


RESULTADOS

EXEMPLO 1
[LP] Nome da
Operador
Equao Smbolo
EXEMPLO 2 relacional
..
[NLP]
* Equaes utilizam operadores e funes prprias do GAMS,
EXEMPLO 3 os quais sero apresentados na seo de Elementos da Linguagem
[MINLP]
SUMRIO

INTRODUO
ESTRUTURA DO MODELO
ESTRUTURA DO
MODELO
Model
ELEMENTOS DA
- Agrupam as equaes a serem
LINGUAGEM resolvidas
SOLVERS - til para relaxao do problema:
- Resolve um problema simplificado ou
ANLISE DOS
RESULTADOS com menos restries e utiliza a sua
soluo como ponto inicial para o
EXEMPLO 1
[LP]
problema rigoroso

EXEMPLO 2
- Exemplo:
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
ESTRUTURA DO MODELO
ESTRUTURA DO
MODELO
Solve
ELEMENTOS DA - Especificar 3 elementos:
LINGUAGEM
- Modelo (conjunto de equaes) a ser
SOLVERS
resolvido
- Varivel a ser minimizada ou maximizada
ANLISE DOS
RESULTADOS
- Tipo de problema (ex: LP, NLP, etc.)

EXEMPLO 1
- Exemplo:
[LP]

EXEMPLO 2
[NLP] - Selecionando o solver:
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
ESTRUTURA DO MODELO
ESTRUTURA DO
MODELO
Recapitulando:
ELEMENTOS DA Diviso do Modelo:
LINGUAGEM
Conjuntos e parmetros
SOLVERS

ANLISE DOS
Declarao das variveis e equaes
RESULTADOS

EXEMPLO 1
Definio das equaes
[LP]

EXEMPLO 2
Limites, valores iniciais e opes especiais
[NLP]
Especificao do modelo e chamada do solver
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
ELEMENTOS DA LINGUAGEM
ESTRUTURA DO
MODELO
Caractersticas Gerais da Linguagem:
ELEMENTOS DA - Semelhana com fortran.
LINGUAGEM
- Sempre declarar um elemento antes de
SOLVERS referenci-lo.
ANLISE DOS - Toda sentena deve terminar com um
RESULTADOS ponto e vrgula.
EXEMPLO 1 - Compilador no diferencia letras
[LP]
maisculas de minsculas.
EXEMPLO 2
[NLP] - Comentrios: iniciar a linha com *
- Comentrios mltiplos: $ontext e $offtext
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
ELEMENTOS DA LINGUAGEM
ESTRUTURA DO
MODELO
Funes Pr-definidas:
ELEMENTOS DA
LINGUAGEM - sum(): somatrio de elementos
SOLVERS

ANLISE DOS - prod(): produtrio de elementos


RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
- smin() e smax(): valor mnimo e mximo
[NLP] dentro de um conjunto
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
ELEMENTOS DA LINGUAGEM
ESTRUTURA DO Funes Pr-definidas:
MODELO

ELEMENTOS DA
LINGUAGEM
- ord(): ndice do elemento no conjunto

SOLVERS - card(): nmero de elementos no


conjunto
ANLISE DOS
RESULTADOS
- round(): arredondamento
EXEMPLO 1
[LP]
- normal(): distribuio normal
EXEMPLO 2
[NLP]

EXEMPLO 3
- outros: max(), min(), abs(), log(), log10(),
[MINLP] etc.
SUMRIO

INTRODUO
ELEMENTOS DA LINGUAGEM
ESTRUTURA DO
MODELO
Controladores de Fluxo:
ELEMENTOS DA
- Loop:
LINGUAGEM

SOLVERS - If / Elseif / Else


ANLISE DOS - While
RESULTADOS
- For
EXEMPLO 1
[LP] Controladores de Fluxo so normalmente usados para:
- Controlar o statement de solve (resolver o problema para
EXEMPLO 2
[NLP] certas condies, ou repetidas vezes)
- Gerao dinmica de relatrios
EXEMPLO 3 - Anlise de sensibilidade
[MINLP]
SUMRIO

INTRODUO
ELEMENTOS DA LINGUAGEM
ESTRUTURA DO
MODELO
Operadores (em ordem de prioridade):
ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
ELEMENTOS DA LINGUAGEM
ESTRUTURA DO
MODELO
Operador condicional $:
ELEMENTOS DA
LINGUAGEM
- Executar uma operao:

SOLVERS
- Adicionar um termo no somatrio:
ANLISE DOS
RESULTADOS

EXEMPLO 1 - Definir uma equao:


[LP]

EXEMPLO 2
[NLP] - Incluir um termo em uma equao:
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
ELEMENTOS DA LINGUAGEM
ESTRUTURA DO
MODELO
Opes Gerais dos Modelos
ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]
Exemplo:
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
SOLVERS
ESTRUTURA DO
MODELO
Solvers de Otimizao:
ELEMENTOS DA
LINGUAGEM
Caractersticas:
SOLVERS

- Utilizam um ou mais algoritmos para


ANLISE DOS
RESULTADOS resoluo do problema.
EXEMPLO 1
[LP] - Rotinas de pr e ps-tratamento:
EXEMPLO 2 - Transformao ou relaxao do problema
[NLP] - Escalonamento das variveis
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
SOLVERS
ESTRUTURA DO
MODELO
Tipos de Modelos/Problemas no GAMS
ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
SOLVERS
ESTRUTURA DO Solvers Disponveis no GAMS:
MODELO

ELEMENTOS DA LP: BDMLP, CPLEX, SCIP, XA, XPRESS.


LINGUAGEM

SOLVERS MIP: CPLEX, OSL, SCIP, XA, XPRESS.

ANLISE DOS
RESULTADOS NLP: CONOPT, KNOPT, MINOS, SNOPT,
MOSEK, PATHNLP, LGO.
EXEMPLO 1
[LP]
MINLP: AlphaECP, DICOPT, LINDOGlobal,
EXEMPLO 2
[NLP] SBB, BARON, LGO, OQNLP, MOSEK.
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
SOLVERS
ESTRUTURA DO Lista de Solvers e Licenas Disponveis no GAMS:
MODELO
File Options Solvers Tab
ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
SOLVERS
ESTRUTURA DO Outros Softwares e Solvers:
MODELO https://en.wikipedia.org/wiki/List_of_optimization_software

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
RESULTADOS
ESTRUTURA DO Arquivo de Resultados (.lst): contm informaes para
MODELO o controle e entendimento do modelo e de sua soluo
ELEMENTOS DA
LINGUAGEM 8 Sees:
Echo print
SOLVERS Resultados da
Error Messages Compilao
ANLISE DOS Reference Maps
RESULTADOS
Equation Listing Equaes
EXEMPLO 1 Column Listing Organizadas
[LP]
Model Statistics
EXEMPLO 2 Resultados do
[NLP] Status Reports Solver
Solution Reports
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
RESULTADOS
ESTRUTURA DO Sees do Arquivo de Resultados (.lst):
MODELO

ELEMENTOS DA
Echo print: cpia do arquivo de inputs com
LINGUAGEM marcaes das linhas esquerda para referncia
futura
SOLVERS
Error Messages: lista os erros de compilao,
ANLISE DOS
inserindo o smbolo **** na linha abaixo de cada
RESULTADOS
erro na seo Echo Print (anterior) e o cdigo do
erro com um smbolo de $.
EXEMPLO 1
[LP] Indicao do erro:

EXEMPLO 2
[NLP]
Expicao do erro:
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
RESULTADOS
ESTRUTURA DO Sees do Arquivo de Resultados (.lst):
MODELO

ELEMENTOS DA
LINGUAGEM Reference Maps:
- Mapa 1: lista todas as entidades (sets, parmetros,
SOLVERS variveis e equaes), relacionando seu tipo, local de
declarao e de definio
ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]
- Mapa 2: lista todas as entidades agrupadas por tipo
EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
RESULTADOS
ESTRUTURA DO Sees do Arquivo de Resultados (.lst):
MODELO

ELEMENTOS DA
LINGUAGEM Equation Listing e Column Listing
- Equation Listing: substitui os parmetros e apresenta
SOLVERS as equaes para cada ndice

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]
- Column Listing: idem para variveis
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
RESULTADOS
ESTRUTURA DO Sees do Arquivo de Resultados (.lst):
MODELO

ELEMENTOS DA
LINGUAGEM Model Statistics:
- Tamanho e No linearidades do modelo
SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
RESULTADOS
ESTRUTURA DO Sees do Arquivo de Resultados (.lst):
MODELO

ELEMENTOS DA
LINGUAGEM Status Report:

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3 2 campos mais importantes: Solver Status e Model Status


[MINLP]
SUMRIO

INTRODUO
RESULTADOS
ESTRUTURA DO Sees do Arquivo de Resultados (.lst):
MODELO

ELEMENTOS DA
LINGUAGEM Status Report:

SOLVERS
Solver Status

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
RESULTADOS
ESTRUTURA DO Sees do Arquivo de Resultados (.lst):
MODELO

ELEMENTOS DA
LINGUAGEM Status Report:
Model Status
SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
RESULTADOS
ESTRUTURA DO Sees do Arquivo de Resultados (.lst):
MODELO
Solution Reports:
ELEMENTOS DA
LINGUAGEM
- Resultados da soluo do problema:
lo, l, up, m

SOLVERS
EPS = quase zero
ANLISE DOS
RESULTADOS
. = zero
EXEMPLO 1
[LP] Marginal: zero
para restries
EXEMPLO 2 inativas
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
RESULTADOS
ESTRUTURA DO Sees do Arquivo de Resultados (.lst):
MODELO

ELEMENTOS DA
LINGUAGEM Solution Reports:
- Report Summary: nmero de equaes ou variveis
SOLVERS no-timas, inviveis, irrestritas ou com erro

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLOS
ESTRUTURA DO
MODELO
Exemplo 1:
ELEMENTOS DA
LINGUAGEM Programao Linear

SOLVERS
Exemplo 2:
ANLISE DOS Programaao No Linear
RESULTADOS

EXEMPLO 1
[LP]
Exemplo 3:
Programao No Linear Inteira Mista
EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLOS
ESTRUTURA DO Classificao dos problemas de otimizao (Biegler, 2010):
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS Exemplo 3


RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2 Exemplo 2
[NLP]

EXEMPLO 3 Exemplo 1
[MINLP]
SUMRIO

INTRODUO
EXEMPLOS
ESTRUTURA DO
MODELO Representaes do modelo, da vida real ao solver:
(Andrei, 2013)
ELEMENTOS DA
LINGUAGEM

Modelo
SOLVERS Modelo
Vida Real Algbrico-
Lingustico
Diferencial
ANLISE DOS
RESULTADOS

EXEMPLO 1 Modelo no
Modelo Otimizao
[LP] Formato do
Algbrico
Solver
EXEMPLO 2
[NLP] discretizao
Compilador
do GAMS
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 1 LP
ESTRUTURA DO Programao Linear
MODELO

ELEMENTOS DA Caractersticas:
LINGUAGEM - Funo objetivo: Linear
- Restries: Lineares
SOLVERS - Parmetros que afetam o tamanho do problema:
- nmero de variveis
ANLISE DOS - nmero de restries
RESULTADOS
- nmero de entradas no-zero da matriz de constantes
EXEMPLO 1
[LP] Problema na forma matricial:
EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 1 LP
ESTRUTURA DO Programao Linear
MODELO

ELEMENTOS DA
LINGUAGEM
Algoritmos de Solvers Comerciais (Edgar, Himmelblau e
Lasdon, 2010):
SOLVERS
- Simplex: busca o mnimo atravs dos vrtices da
ANLISE DOS regio vivel
RESULTADOS

EXEMPLO 1 - Mtodos de Barreiras (ponto interior): no atendem


[LP] s restries a cada iterao, avaliando pontos fora
EXEMPLO 2
dos vrtices. Tomam menos iteraes, porm, com
[NLP] um maior tempo para cada iterao. So geralmente
melhores para problemas de grande porte.
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 1 LP
ESTRUTURA DO Solver Utilizado: CPLEX
MODELO

ELEMENTOS DA Tipo de problemas: programao linear, inteira


LINGUAGEM
mista ou com restries quadrticas
SOLVERS
Algoritmos para LP: dual simplex (+ usado),
ANLISE DOS primal simplex, network optimizer, barrier
RESULTADOS
algorithm e sifiting algorithm
EXEMPLO 1
[LP]
Problema: falta de memria para problemas
EXEMPLO 2 muito grandes
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 1 LP
ESTRUTURA DO Descrio do Problema
MODELO
Produo e Mistura em Refinarias (Edgar e Himmelblau,
ELEMENTOS DA 1988)
LINGUAGEM

- Restries de igualdade:
SOLVERS
- rendimento dos reagentes para cada produto
- custo das matrias-primas e de operao
ANLISE DOS
RESULTADOS
- renda com a venda dos produtos

EXEMPLO 1 - Restries de desigualdade: vazes mximas dos


[LP] produtos
EXEMPLO 2 - Funo objetivo: maximizao do lucro (renda - custos)
[NLP]

EXEMPLO 3 - Variveis de deciso: vazes das matrias-primas e dos


[MINLP] produtos
SUMRIO

INTRODUO
EXEMPLO 1 LP
ESTRUTURA DO Descrio do Problema
MODELO

ELEMENTOS DA
LINGUAGEM
Correntes de alimentao e sada:

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1 Variveis
[LP]
de deciso :
EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 1 LP
ESTRUTURA DO Descrio do Problema
MODELO

ELEMENTOS DA Rendimento volumtrico:


LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]
Restries de igualdade:
EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 1 LP
ESTRUTURA DO Descrio do Problema
MODELO

ELEMENTOS DA Funo objetivo:


LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]
Restries de Desigualdade:
EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 1 LP
ESTRUTURA DO
MODELO
CDIGO GAMS
ELEMENTOS DA
LINGUAGEM Conjuntos:
SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 1 LP
ESTRUTURA DO
MODELO
Dados:
ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 1 LP
ESTRUTURA DO
MODELO
Dados:
ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 1 LP
ESTRUTURA DO
MODELO
Variveis:
ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 1 LP
ESTRUTURA DO Equaes:
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]
Modelo e Solver:
EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 1 LP
Anlise dos Resultados
ESTRUTURA DO
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
ESTRUTURA DO
MODELO
Programao No Linear
ELEMENTOS DA
LINGUAGEM Caractersticas:
- Funo objetivo ou qualquer restrio no-linear
SOLVERS

ANLISE DOS Problema na Forma Matricial:


RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
ESTRUTURA DO 3 Tipos de algoritmos em solvers comerciais
MODELO (Biegler, 2010):
ELEMENTOS DA SQP:
LINGUAGEM - Resolve uma srie de problemas QP (funo objetiva quadrtica,
restries lineares)
- Funo Objetivo Lagrangeana aproximada por uma funo
SOLVERS quadrtica
- Restries de igualdade e desigualdade so linearizadas
ANLISE DOS - Unfeasible Path
RESULTADOS

EXEMPLO 1
Ponto Interior
[LP] - Feasible Path

EXEMPLO 2
[NLP]
Gradiente Reduzido
- Feasible Path
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
ESTRUTURA DO Comparao entre Algoritmos de NLP
MODELO
(Edgar, Himmelblau, Lasdon, 2001):
ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
ESTRUTURA DO Solver Utilizado: CONOPT
MODELO

ELEMENTOS DA
LINGUAGEM Caractersticas: bom para problemas com fortes
no-linearidades, usa segundas derivadas, lida
SOLVERS com sistemas grandes e esparsos.
ANLISE DOS
RESULTADOS Algoritmo: baseado em GRG
EXEMPLO 1 - Feasible Path Method
[LP]

EXEMPLO 2 Soluo local


[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
ESTRUTURA DO Boas prticas para Programao No-Linear
MODELO
(Manual CONOPT, seo 6)
ELEMENTOS DA
LINGUAGEM Reduzem o esforo p/ reduzir inviabilidade

Ponto Inicial Reduzem o distncia p/ ponto timo


SOLVERS Default: valor inicial = 0 (ruim em alguns casos)

Restries do modelo
ANLISE DOS Fronteiras Restries do algoritmo
RESULTADOS
Evitar funes -lineares de
EXEMPLO 1
[LP]
Expresses Simplificadas expresses, singularidades
Usar termos intermedirios
EXEMPLO 2 Definem a magnitude das derivadas
[NLP] Escalonamento (alteram a direo de busca)
Bom: derivadas e variveis
EXEMPLO 3 em torno de 1 (0.01 a 100)
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
ESTRUTURA DO Descrio do Problema:
MODELO
Condio tima de equilbrio para reao de
ELEMENTOS DA
LINGUAGEM formao de amnia (Martn, 2014)

SOLVERS
Reao:
ANLISE DOS
RESULTADOS
Caractersticas:
EXEMPLO 1 - Reao favorecida a altas presses e baixas
[LP]
temperaturas
EXEMPLO 2 - Custo de se operar a altas presses (compresso) e
[NLP] altas temperaturas
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
ESTRUTURA DO Restries de igualdade:
MODELO

ELEMENTOS DA Equilbrio da Reao:


LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1 * Desconsidera a cintica da reao, usa apenas equilbrio e balano de massa


[LP]

EXEMPLO 2
Dependncia com temperatura:
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
ESTRUTURA DO Funo Objetivo = vazoNH3 0.005.P 0.001.T
MODELO
(Penaliza altas presses e temperaturas)
ELEMENTOS DA
LINGUAGEM
Converso x Temperatura e Presso
SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
ESTRUTURA DO Cdigo GAMS:
MODELO

ELEMENTOS DA
LINGUAGEM Conjuntos:
SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
ESTRUTURA DO
MODELO
Variveis:
ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
ESTRUTURA DO
MODELO
Dados:
ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
ESTRUTURA DO Equaes:
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
ESTRUTURA DO Equaes:
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
ESTRUTURA DO Modelo e Solver:
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS Opcionais:
Ponto Interior
EXEMPLO 1
[LP]

EXEMPLO 2 SQP
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
ESTRUTURA DO Anlise dos Resultados
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
Log de iteraes:
ESTRUTURA DO
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 2 NLP
ESTRUTURA DO
MODELO Log de Iteraes do CONOPT:
ELEMENTOS DA
LINGUAGEM
Fase 0 (baixo custo computacional)
- Iterao 0: ponto inicial obtido do GAMS
SOLVERS
- Iteraes 1 e 2: aps pr-processam. e escalonam.
ANLISE DOS
RESULTADOS Restante das Iteraes: caracterizadas pela Fase
EXEMPLO 1 - Fase 1 e 2: Pontos inviveis, minimiza a inviabilidade
[LP]
- Fases 3 e 4: Pontos viveis, minimiza a fn objetivo
EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Programao No Linear Inteira Mista
MODELO

ELEMENTOS DA
LINGUAGEM Caractersticas:
- Funo Objetivo ou qualquer uma das Restries no-
SOLVERS lineares, contendo variveis inteiras

ANLISE DOS
RESULTADOS Forma Vetorial:
EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Programao No Linear Inteira Mista
MODELO

ELEMENTOS DA
LINGUAGEM Dificuldades:

SOLVERS - Multimodal:

ANLISE DOS
RESULTADOS
- Domnio discreto:
EXEMPLO 1
[LP]

EXEMPLO 2
[NLP] - No-convexidade:

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Algoritmos dos Solvers Comerciais (Floudas, 1995):
MODELO

ELEMENTOS DA Branch and Bound: relaxa/fixa toda as variveis


LINGUAGEM binrias (0<y<1), resolve o problema NLP e retira as
relaxaes uma de cada vez, parando quando atender
SOLVERS todas as restries inteiras e contnuas.

ANLISE DOS Decomposio em Subproblemas: relaxao do


RESULTADOS
problema original e obteno de limites inferior e
EXEMPLO 1 superior
[LP] - Aproximao externa: NLP (upper bound, fixando as
variveis inteiras) e MILP (lower bound, linearizando
EXEMPLO 2 nos pontos timos do NLP), adicionando mais restries
[NLP] lineares a cada iterao
- Decomposio Generalizada de Benders: NLP + Dual
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Solver Utilizado: DICOPT
MODELO

ELEMENTOS DA
LINGUAGEM
Resolve problemas MINLP com variveis inteiras ou
binrias lineares e variveis contnuas no-lineares
SOLVERS
Algoritmo baseado na extenso do mtodo de
ANLISE DOS Aproximao Externa (Carnegie Mellon)
RESULTADOS - Proposto por Viswanathan e Grossmann (1990): utiliza
Outer Approximation/ Equality Relaxation/ Aumented Penalty
EXEMPLO 1
[LP]
Resolve uma srie de problemas MILP e NLP com solvers
EXEMPLO 2 internos do GAMS (default: CPLEX e CONOPT)
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Algoritmo de Aproximao Externa (original):
MODELO
(ref: AIMMS Language Guide)
Soluo do problema primal
ELEMENTOS DA
com solver NLP (CONOPT)
LINGUAGEM Upper
Bound * NLP tem soluo local

SOLVERS
Soluo do problema mestre
Lower com solver MILP (DICOPT)
ANLISE DOS Bound
* MILP tem soluo garantida
RESULTADOS

EXEMPLO 1
Terminao: soluo
[LP]
do problema primal
EXEMPLO 2
[NLP] * Soluo Global s garantida
se o problema for convexo
EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Algoritmo de Aproximao Externa (original):
MODELO

ELEMENTOS DA Aproximaes (Linearizaes) Externas:


LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP] restries
no-convexas
EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP] Loosening of Linearizations
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Descrio do Problema: Sntese de Processos
MODELO
Sntese de Processos (Martn, 2014): seleo da melhor
ELEMENTOS DA configurao de processo utilizando superestrutura
LINGUAGEM Modelagem Linear dos Equipamentos
Custos No-lineares
SOLVERS
Reao simples irreversvel: A + B C
ANLISE DOS
RESULTADOS
3 Reatores:
EXEMPLO 1 - converses constantes
[LP] - custos diferentes

EXEMPLO 2
[NLP]
2 Separadores:
- grau de separao constantes
EXEMPLO 3 - custos diferentes
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Descrio do Problema: Sntese de Processos
MODELO
Sntese de Processos (Martn, 2014): seleo da melhor
ELEMENTOS DA
configurao de processo utilizando superestrutura
LINGUAGEM
3 reatores 2 separadores
SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]
Numerao
EXEMPLO 3
das correntes
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Modelagem das Dicotomias:
MODELO

ELEMENTOS DA
LINGUAGEM

Varivel binria y1
SOLVERS

Varivel binria y2
ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]
garante que somente
uma varivel seja = 1
EXEMPLO 2 y1 + y2 = 1
[NLP]
Restries: vazo(7) vazo(7),max . y1
EXEMPLO 3
[MINLP]
vazo(8) vazo(8),max . y2
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Cdigo GAMS:
MODELO

ELEMENTOS DA
LINGUAGEM Conjuntos:

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Dados (Escalares):
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Variveis:
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Declarao das Equaes:
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Fixando Variveis:
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Definio das Equaes:
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Definio das Equaes:
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Definio das Equaes:
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Definio das Equaes:
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Definio das Equaes:
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Definio do modelo e chamada do Solver:
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS
Opcional:
EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Anlise dos Resultados (Solution Report):
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Anlise dos Resultados (SolVar):
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
EXEMPLO 3 MINLP
ESTRUTURA DO Log de Iteraes:
MODELO

ELEMENTOS DA
LINGUAGEM

SOLVERS

ANLISE DOS
RESULTADOS

EXEMPLO 1
[LP]

EXEMPLO 2
[NLP]

EXEMPLO 3
[MINLP]
SUMRIO

INTRODUO
Referncias
ESTRUTURA DO
MODELO Edgar, Himmelblau e Lasdon, Optimization of Chemical
Processes, 2001
ELEMENTOS DA
LINGUAGEM Biegler, Nonlinear Programming, Concepts, Algorithms and
Applications to Chemical Processes, 2010
SOLVERS
Floudas C. A., Nonlinear and Mixed-Integer Optimization, 1995
Andrei, Nonlinear Optimization Applications using the GAMS
Technology, 2013
ANLISE DOS
RESULTADOS Grossmann, Introduction to GAMS, 1991
Rosenthal, GAMS User Guide, 2015
EXEMPLO 1
Martn M. M., Introduction to Software for Chemical Engineers,
[LP]
2014,
EXEMPLO 2 Manual CPLEX
[NLP] Manual CONOPT
EXEMPLO 3
Manual DICOPT
[MINLP]

You might also like