Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula de GAMS
Aula de GAMS
AMBIENTE GAMS
Ambiente para
modelagem e otimização
SUMÁRIO
INTRODUÇÃO
SUMÁRIO
ESTRUTURA DO
MODELO 1) INTRODUÇÃO
4) SOLVERS
ANÁLISE DOS
RESULTADOS
5) ANÁLISE 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]
SUMÁRIO
INTRODUÇÃO
INTRODUÇÃO
ESTRUTURA DO
MODELO
O que é o GAMS?
INTRODUÇÃO
INTRODUÇÃO
ESTRUTURA DO
MODELO Fluxo de Informações no ambiente GAMS
(Grossmann, 1991):
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
INTRODUÇÃO
ESTRUTURA DO Histórico:
MODELO
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
INTRODUÇÃO
ESTRUTURA DO • Para que é utilizado?
MODELO
- Problemas de otimização de grande escala
ELEMENTOS DA
LINGUAGEM • Vantagens:
- Facilidade na modelagem de problemas complexos
SOLVERS
(representação algébrica)
ANÁLISE DOS
- Solvers comerciais robustos e consolidados
RESULTADOS - Grande comunidade usuária (facilidade na obtenção de
informações)
EXEMPLO 1
[LP] - IDE (edição, desenvolvimento, debugging e solução)
EXEMPLO 2 • Desvantagens:
[NLP]
- Solvers de código fechado
EXEMPLO 3 - Resolução de sistemas dinâmicos e distribuídos
[MINLP]
SUMÁRIO
INTRODUÇÃO
INTRODUÇÃO
ESTRUTURA DO
MODELO
Sistemas de Modelagem Algébrica
ELEMENTOS DA Características:
LINGUAGEM
- Modelam o problema como um sistema de equações
SOLVERS algébricas, as quais são tratadas como restrições (ou
função objetivo) do problema de otimização
ANÁLISE DOS - Analisam automaticamente a estrutura do modelo e o
RESULTADOS classificam de acordo com o tipo de otimização
EXEMPLO 1
[LP] Sistemas Mais Utilizados para Otimização:
EXEMPLO 2 - GAMS - MPL
[NLP] - AMPL - AIMMS
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
INTRODUÇÃO
ESTRUTURA DO
MODELO
Sistemas de Modelagem Algébrica
- Edgar, Himmelblau e Lasdon (2001):
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
ESTRUTURA DO MODELO
ESTRUTURA DO Principais Seções do modelo GAMS:
MODELO
INTRODUÇÃO
ESTRUTURA DO MODELO
ESTRUTURA DO
MODELO
Estruturas:
ELEMENTOS DA
LINGUAGEM • Conjuntos (Sets)
• Dados (constantes e parâmetros)
SOLVERS
• Variáveis
ANÁLISE DOS
RESULTADOS • Equações
EXEMPLO 1 • Modelos
[LP]
• Solvers
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
ESTRUTURA DO MODELO
ESTRUTURA DO
MODELO
• Sets (Conjuntos)
ELEMENTOS DA
- Possibilitam a indexação de variáveis
LINGUAGEM - Úteis para representar sistemas complexos
SOLVERS
- Índices equivalem ao número de linhas ou
colunas de matrizes ou vetores do problema.
ANÁLISE DOS
RESULTADOS
Exemplo: conjunto [i1,i2,i3,i4,i5]
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
ESTRUTURA DO MODELO
ESTRUTURA DO
MODELO • Data (3 tipos de dados):
ELEMENTOS DA Escalares: número fixo (sem índices):
LINGUAGEM
ou
SOLVERS
Parâmetros: vetor de números fixos:
ANÁLISE DOS
RESULTADOS
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
ESTRUTURA DO MODELO
ESTRUTURA DO
MODELO
• Variables
ELEMENTOS DA
- Declaração de variáveis: nome, domínio e
LINGUAGEM descrição
- Características importantes: limites inferior e
SOLVERS
superior, chute inicial (Elementos da Ling.)
ANÁLISE DOS - Ex:
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
ESTRUTURA DO MODELO
ESTRUTURA DO
MODELO
• Equations
ELEMENTOS DA - Restrições e Função Objetivo
LINGUAGEM
- Declaração:
SOLVERS
EXEMPLO 1
[LP] Nome da
Operador
Equação Símbolo
EXEMPLO 2 relacional
“..”
[NLP]
* Equações utilizam operadores e funções próprias do GAMS,
EXEMPLO 3 os quais serão apresentados na seção de Elementos da Linguagem
[MINLP]
SUMÁRIO
INTRODUÇÃO
ESTRUTURA DO MODELO
ESTRUTURA DO
MODELO
• Model
ELEMENTOS DA
- Agrupam as equações a serem
LINGUAGEM resolvidas
SOLVERS - Útil para relaxação do problema:
- Resolve um problema simplificado ou
ANÁLISE DOS
RESULTADOS com menos restrições e utiliza a sua
solução como ponto inicial para o
EXEMPLO 1
[LP]
problema rigoroso
EXEMPLO 2
- Exemplo:
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
ESTRUTURA DO MODELO
ESTRUTURA DO
MODELO
• Solve
ELEMENTOS DA - Especificar 3 elementos:
LINGUAGEM
- Modelo (conjunto de equações) a ser
SOLVERS
resolvido
- Variável a ser minimizada ou maximizada
ANÁLISE DOS
RESULTADOS
- Tipo de problema (ex: LP, NLP, etc.)
EXEMPLO 1
- Exemplo:
[LP]
EXEMPLO 2
[NLP] - Selecionando o solver:
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
ESTRUTURA DO MODELO
ESTRUTURA DO
MODELO
Recapitulando:
ELEMENTOS DA Divisão do Modelo:
LINGUAGEM
Conjuntos e parâmetros
SOLVERS
ANÁLISE DOS
Declaração das variáveis e equações
RESULTADOS
EXEMPLO 1
Definição das equações
[LP]
EXEMPLO 2
Limites, valores iniciais e opções especiais
[NLP]
Especificação do modelo e chamada do solver
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
ELEMENTOS DA LINGUAGEM
ESTRUTURA DO
MODELO
Características Gerais da Linguagem:
ELEMENTOS DA - Semelhança com fortran.
LINGUAGEM
- Sempre declarar um elemento antes de
SOLVERS referenciá-lo.
ANÁLISE DOS - Toda sentença deve terminar com um
RESULTADOS ponto e vírgula.
EXEMPLO 1 - Compilador não diferencia letras
[LP]
maiúsculas de minúsculas.
EXEMPLO 2
[NLP] - Comentários: iniciar a linha com “*”
- Comentários múltiplos: “$ontext” e “$offtext”
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
ELEMENTOS DA LINGUAGEM
ESTRUTURA DO
MODELO
Funções Pré-definidas:
ELEMENTOS DA
LINGUAGEM - sum(): somatório de elementos
SOLVERS
EXEMPLO 1
[LP]
EXEMPLO 2
- smin() e smax(): valor mínimo e máximo
[NLP] dentro de um conjunto
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
ELEMENTOS DA LINGUAGEM
ESTRUTURA DO Funções Pré-definidas:
MODELO
ELEMENTOS DA
LINGUAGEM
- ord(): índice do elemento no conjunto
EXEMPLO 3
- outros: max(), min(), abs(), log(), log10(),
[MINLP] etc.
SUMÁRIO
INTRODUÇÃO
ELEMENTOS DA LINGUAGEM
ESTRUTURA DO
MODELO
Controladores de Fluxo:
ELEMENTOS DA
- Loop:
LINGUAGEM
INTRODUÇÃO
ELEMENTOS DA LINGUAGEM
ESTRUTURA DO
MODELO
Operadores (em ordem de prioridade):
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
ELEMENTOS DA LINGUAGEM
ESTRUTURA DO
MODELO
Operador condicional “$”:
ELEMENTOS DA
LINGUAGEM
- Executar uma operação:
SOLVERS
- Adicionar um termo no somatório:
ANÁLISE DOS
RESULTADOS
EXEMPLO 2
[NLP] - Incluir um termo em uma equação:
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
ELEMENTOS DA LINGUAGEM
ESTRUTURA DO
MODELO
Opções Gerais dos Modelos
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
Exemplo:
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
SOLVERS
ESTRUTURA DO
MODELO
Solvers de Otimização:
ELEMENTOS DA
LINGUAGEM
• Características:
SOLVERS
INTRODUÇÃO
SOLVERS
ESTRUTURA DO
MODELO
Tipos de Modelos/Problemas no GAMS
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
SOLVERS
ESTRUTURA DO Solvers Disponíveis no GAMS:
MODELO
ANÁLISE 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]
SUMÁRIO
INTRODUÇÃO
SOLVERS
ESTRUTURA DO Lista de Solvers e Licenças Disponíveis no GAMS:
MODELO
File Options Solvers Tab
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
SOLVERS
ESTRUTURA DO Outros Softwares e Solvers:
MODELO https://en.wikipedia.org/wiki/List_of_optimization_software
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
RESULTADOS
ESTRUTURA DO Arquivo de Resultados (.lst): contém informações para
MODELO o controle e entendimento do modelo e de sua solução
ELEMENTOS DA
LINGUAGEM 8 Seções:
• Echo print
SOLVERS Resultados da
• Error Messages Compilação
ANÁLISE DOS • Reference Maps
RESULTADOS
• Equation Listing Equações
EXEMPLO 1 • Column Listing Organizadas
[LP]
• Model Statistics
EXEMPLO 2 Resultados do
[NLP] • Status Reports Solver
• Solution Reports
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
RESULTADOS
ESTRUTURA DO Seções do Arquivo de Resultados (.lst):
MODELO
ELEMENTOS DA
• Echo print: cópia do arquivo de inputs com
LINGUAGEM marcações das linhas à esquerda para referência
futura
SOLVERS
• Error Messages: lista os erros de compilação,
ANÁLISE DOS
inserindo o símbolo “****” na linha abaixo de cada
RESULTADOS
erro na seção Echo Print (anterior) e o código do
erro com um símbolo de “$”.
EXEMPLO 1
[LP] Indicação do erro:
EXEMPLO 2
[NLP]
Expicação do erro:
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
RESULTADOS
ESTRUTURA DO Seções do Arquivo de Resultados (.lst):
MODELO
ELEMENTOS DA
LINGUAGEM • Reference Maps:
- Mapa 1: lista todas as entidades (sets, parâmetros,
SOLVERS variáveis e equações), relacionando seu tipo, local de
declaração e de definição
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
- Mapa 2: lista todas as entidades agrupadas por tipo
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
RESULTADOS
ESTRUTURA DO Seções do Arquivo de Resultados (.lst):
MODELO
ELEMENTOS DA
LINGUAGEM • Equation Listing e Column Listing
- Equation Listing: substitui os parâmetros e apresenta
SOLVERS as equações para cada índice
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
- Column Listing: idem para variáveis
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
RESULTADOS
ESTRUTURA DO Seções do Arquivo de Resultados (.lst):
MODELO
ELEMENTOS DA
LINGUAGEM • Model Statistics:
- Tamanho e Não linearidades do modelo
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
RESULTADOS
ESTRUTURA DO Seções do Arquivo de Resultados (.lst):
MODELO
ELEMENTOS DA
LINGUAGEM • Status Report:
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
INTRODUÇÃO
RESULTADOS
ESTRUTURA DO Seções do Arquivo de Resultados (.lst):
MODELO
ELEMENTOS DA
LINGUAGEM • Status Report:
SOLVERS
Solver Status
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
RESULTADOS
ESTRUTURA DO Seções do Arquivo de Resultados (.lst):
MODELO
ELEMENTOS DA
LINGUAGEM • Status Report:
Model Status
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
RESULTADOS
ESTRUTURA DO Seções do Arquivo de Resultados (.lst):
MODELO
• Solution Reports:
ELEMENTOS DA
LINGUAGEM
- Resultados da solução do problema:
lo, l, up, m
SOLVERS
EPS = quase zero
ANÁLISE DOS
RESULTADOS
“.” = zero
EXEMPLO 1
[LP] Marginal: zero
para restrições
EXEMPLO 2 inativas
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
RESULTADOS
ESTRUTURA DO Seções do Arquivo de Resultados (.lst):
MODELO
ELEMENTOS DA
LINGUAGEM • Solution Reports:
- Report Summary: número de equações ou variáveis
SOLVERS não-ótimas, inviáveis, irrestritas ou com erro
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLOS
ESTRUTURA DO
MODELO
Exemplo 1:
ELEMENTOS DA
LINGUAGEM Programação Linear
SOLVERS
Exemplo 2:
ANÁLISE DOS Programaçao Não Linear
RESULTADOS
EXEMPLO 1
[LP]
Exemplo 3:
Programação Não Linear Inteira Mista
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLOS
ESTRUTURA DO Classificação dos problemas de otimização (Biegler, 2010):
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
EXEMPLO 1
[LP]
EXEMPLO 2 Exemplo 2
[NLP]
EXEMPLO 3 Exemplo 1
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLOS
ESTRUTURA DO
MODELO Representações do modelo, da vida real ao solver:
(Andrei, 2013)
ELEMENTOS DA
LINGUAGEM
Modelo
SOLVERS Modelo
Vida Real Algébrico-
Linguístico
Diferencial
ANÁLISE DOS
RESULTADOS
EXEMPLO 1 Modelo no
Modelo Otimização
[LP] Formato do
Algébrico
Solver
EXEMPLO 2
[NLP] discretização
Compilador
do GAMS
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 1 – LP
ESTRUTURA DO Programação Linear
MODELO
ELEMENTOS DA • Características:
LINGUAGEM - Função objetivo: Linear
- Restrições: Lineares
SOLVERS - Parâmetros que afetam o tamanho do problema:
- número de variáveis
ANÁLISE DOS - número de restrições
RESULTADOS
- número de entradas não-zero da matriz de constantes
EXEMPLO 1
[LP] • Problema na forma matricial:
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 1 – LP
ESTRUTURA DO Programação Linear
MODELO
ELEMENTOS DA
LINGUAGEM
• Algoritmos de Solvers Comerciais (Edgar, Himmelblau e
Lasdon, 2010):
SOLVERS
- Simplex: busca o mínimo através dos vértices da
ANÁLISE DOS região viável
RESULTADOS
INTRODUÇÃO
EXEMPLO 1 – LP
ESTRUTURA DO Solver Utilizado: CPLEX
MODELO
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 1 – LP
ESTRUTURA DO Descrição do Problema
MODELO
Produção e Mistura em Refinarias (Edgar e Himmelblau,
ELEMENTOS DA 1988)
LINGUAGEM
- Restrições de igualdade:
SOLVERS
- rendimento dos reagentes para cada produto
- custo das matérias-primas e de operação
ANÁLISE DOS
RESULTADOS
- renda com a venda dos produtos
INTRODUÇÃO
EXEMPLO 1 – LP
ESTRUTURA DO Descrição do Problema
MODELO
ELEMENTOS DA
LINGUAGEM
Correntes de alimentação e saída:
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1 Variáveis
[LP]
de decisão :
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 1 – LP
ESTRUTURA DO Descrição do Problema
MODELO
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
Restrições de igualdade:
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 1 – LP
ESTRUTURA DO Descrição do Problema
MODELO
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
Restrições de Desigualdade:
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 1 – LP
ESTRUTURA DO
MODELO
CÓDIGO GAMS
ELEMENTOS DA
LINGUAGEM Conjuntos:
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 1 – LP
ESTRUTURA DO
MODELO
Dados:
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 1 – LP
ESTRUTURA DO
MODELO
Dados:
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 1 – LP
ESTRUTURA DO
MODELO
Variáveis:
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 1 – LP
ESTRUTURA DO Equações:
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
Modelo e Solver:
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 1 – LP
Análise dos Resultados
ESTRUTURA DO
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
ESTRUTURA DO
MODELO
Programação Não Linear
ELEMENTOS DA
LINGUAGEM • Características:
- Função objetivo ou qualquer restrição não-linear
SOLVERS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
ESTRUTURA DO 3 Tipos de algoritmos em solvers comerciais
MODELO (Biegler, 2010):
ELEMENTOS DA • SQP:
LINGUAGEM - Resolve uma série de problemas QP (função objetiva quadrática,
restrições lineares)
- Função Objetivo Lagrangeana é aproximada por uma função
SOLVERS quadrática
- Restrições de igualdade e desigualdade são linearizadas
ANÁLISE DOS - Unfeasible Path
RESULTADOS
EXEMPLO 1
• Ponto Interior
[LP] - Feasible Path
EXEMPLO 2
[NLP]
• Gradiente Reduzido
- Feasible Path
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
ESTRUTURA DO Comparação entre Algoritmos de NLP
MODELO
(Edgar, Himmelblau, Lasdon, 2001):
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
ESTRUTURA DO Solver Utilizado: CONOPT
MODELO
ELEMENTOS DA
LINGUAGEM • Características: bom para problemas com fortes
não-linearidades, usa segundas derivadas, lida
SOLVERS com sistemas grandes e esparsos.
ANÁLISE DOS
RESULTADOS • Algoritmo: baseado em GRG
EXEMPLO 1 - Feasible Path Method
[LP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
ESTRUTURA DO Boas práticas para Programação Não-Linear
MODELO
(Manual CONOPT, seção 6)
ELEMENTOS DA
LINGUAGEM Reduzem o esforço p/ reduzir inviabilidade
Restrições do modelo
ANÁLISE DOS • Fronteiras Restrições do algoritmo
RESULTADOS
Evitar funções ñ-lineares de
EXEMPLO 1
[LP]
• Expressões Simplificadas expressões, singularidades
Usar termos intermediários
EXEMPLO 2 Definem a magnitude das derivadas
[NLP] • Escalonamento (alteram a direção de busca)
Bom: derivadas e variáveis
EXEMPLO 3 em torno de 1 (0.01 a 100)
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
ESTRUTURA DO Descrição do Problema:
MODELO
Condição ótima de equilíbrio para reação de
ELEMENTOS DA
LINGUAGEM formação de amônia (Martín, 2014)
SOLVERS
• Reação:
ANÁLISE DOS
RESULTADOS
• Características:
EXEMPLO 1 - Reação favorecida a altas pressões e baixas
[LP]
temperaturas
EXEMPLO 2 - Custo de se operar a altas pressões (compressão) e
[NLP] altas temperaturas
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
ESTRUTURA DO Restrições de igualdade:
MODELO
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 2
• Dependência com temperatura:
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
ESTRUTURA DO • Função Objetivo = vazãoNH3 – 0.005.P – 0.001.T
MODELO
(Penaliza altas pressões e temperaturas)
ELEMENTOS DA
LINGUAGEM
• Conversão x Temperatura e Pressão
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
ESTRUTURA DO Código GAMS:
MODELO
ELEMENTOS DA
LINGUAGEM Conjuntos:
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
ESTRUTURA DO
MODELO
Variáveis:
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
ESTRUTURA DO
MODELO
Dados:
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
ESTRUTURA DO Equações:
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
ESTRUTURA DO Equações:
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
ESTRUTURA DO Modelo e Solver:
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS Opcionais:
Ponto Interior
EXEMPLO 1
[LP]
EXEMPLO 2 SQP
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
ESTRUTURA DO • Análise dos Resultados
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
Log de iterações:
ESTRUTURA DO
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 2 – NLP
ESTRUTURA DO
MODELO • Log de Iterações do CONOPT:
ELEMENTOS DA
LINGUAGEM
Fase 0 (baixo custo computacional)
- Iteração 0: ponto inicial obtido do GAMS
SOLVERS
- Iterações 1 e 2: após pré-processam. e escalonam.
ANÁLISE DOS
RESULTADOS Restante das Iterações: caracterizadas pela Fase
EXEMPLO 1 - Fase 1 e 2: Pontos inviáveis, minimiza a inviabilidade
[LP]
- Fases 3 e 4: Pontos viáveis, minimiza a fn objetivo
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Programação Não Linear Inteira Mista
MODELO
ELEMENTOS DA
LINGUAGEM • Características:
- Função Objetivo ou qualquer uma das Restrições não-
SOLVERS lineares, contendo variáveis inteiras
ANÁLISE DOS
RESULTADOS • Forma Vetorial:
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Programação Não Linear Inteira Mista
MODELO
ELEMENTOS DA
LINGUAGEM • Dificuldades:
SOLVERS - Multimodal:
ANÁLISE DOS
RESULTADOS
- Domínio discreto:
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP] - Não-convexidade:
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Algoritmos dos Solvers Comerciais (Floudas, 1995):
MODELO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Solver Utilizado: DICOPT
MODELO
ELEMENTOS DA
LINGUAGEM
• Resolve problemas MINLP com variáveis inteiras ou
binárias lineares e variáveis contínuas não-lineares
SOLVERS
• Algoritmo baseado na extensão do método de
ANÁLISE DOS Aproximação Externa (Carnegie Mellon)
RESULTADOS - Proposto por Viswanathan e Grossmann (1990): utiliza
Outer Approximation/ Equality Relaxation/ Aumented Penalty
EXEMPLO 1
[LP]
• Resolve uma série de problemas MILP e NLP com solvers
EXEMPLO 2 internos do GAMS (default: CPLEX e CONOPT)
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Algoritmo de Aproximação Externa (original):
MODELO
(ref: AIMMS Language Guide)
Solução do problema primal
ELEMENTOS DA
com solver NLP (CONOPT)
LINGUAGEM Upper
Bound * NLP tem solução local
SOLVERS
Solução do problema mestre
Lower com solver MILP (DICOPT)
ANÁLISE DOS Bound
* MILP tem solução garantida
RESULTADOS
EXEMPLO 1
Terminação: solução
[LP]
do problema primal
EXEMPLO 2
[NLP] * Solução Global só é garantida
se o problema for convexo
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Algoritmo de Aproximação Externa (original):
MODELO
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP] restrições
não-convexas
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP] Loosening of Linearizations
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Descrição do Problema: Síntese de Processos
MODELO
• Síntese de Processos (Martín, 2014): seleção da melhor
ELEMENTOS DA configuração de processo utilizando superestrutura
LINGUAGEM – Modelagem Linear dos Equipamentos
– Custos Não-lineares
SOLVERS
• Reação simples irreversível: A + B C
ANÁLISE DOS
RESULTADOS
• 3 Reatores:
EXEMPLO 1 - conversões constantes
[LP] - custos diferentes
EXEMPLO 2
[NLP]
• 2 Separadores:
- grau de separação constantes
EXEMPLO 3 - custos diferentes
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Descrição do Problema: Síntese de Processos
MODELO
• Síntese de Processos (Martín, 2014): seleção da melhor
ELEMENTOS DA
configuração de processo utilizando superestrutura
LINGUAGEM
3 reatores 2 separadores
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
Numeração
EXEMPLO 3
das correntes
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Modelagem das Dicotomias:
MODELO
ELEMENTOS DA
LINGUAGEM
Variável binária y1
SOLVERS
Variável binária y2
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
garante que somente
uma variável seja = 1
EXEMPLO 2 y1 + y2 = 1
[NLP]
Restrições: vazão(7) ≤ vazão(7),max . y1
EXEMPLO 3
[MINLP]
vazão(8) ≤ vazão(8),max . y2
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO • Código GAMS:
MODELO
ELEMENTOS DA
LINGUAGEM Conjuntos:
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Dados (Escalares):
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Variáveis:
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Declaração das Equações:
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Fixando Variáveis:
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Definição das Equações:
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Definição das Equações:
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Definição das Equações:
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Definição das Equações:
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Definição das Equações:
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Definição do modelo e chamada do Solver:
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
Opcional:
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO • Análise dos Resultados (Solution Report):
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO • Análise dos Resultados (SolVar):
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO • Log de Iterações:
MODELO
ELEMENTOS DA
LINGUAGEM
SOLVERS
ANÁLISE DOS
RESULTADOS
EXEMPLO 1
[LP]
EXEMPLO 2
[NLP]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
Referências
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
ANÁLISE DOS
RESULTADOS • Grossmann, Introduction to GAMS, 1991
• Rosenthal, GAMS User Guide, 2015
EXEMPLO 1
• Martín M. M., Introduction to Software for Chemical Engineers,
[LP]
2014,
EXEMPLO 2 • Manual CPLEX
[NLP] • Manual CONOPT
EXEMPLO 3
• Manual DICOPT
[MINLP]