Escolar Documentos
Profissional Documentos
Cultura Documentos
AMBIENTE GAMS
Ambiente para modelagem
e optimização
SUMÁRIO
INTRODUÇÃO
SUMÁRIO
ESTRUTURA DO
MODELO 1) INTRODUÇÃO
ELEMENTOS DA
LINGUAGEM 2) ESTRUTURA DO MODELO EM GAMS
INTRODUÇÃO
INTRODUÇÃO
ESTRUTURA DO
MODELO O que é o GAMS?
ELEMENTOS DA
LINGUAGEM
- Ambiente para modelagem e solução de problemas de
otimização
SOLVERS
- Acrônimo: General Algebraic Modeling System
ANÁLISE DOS
RESULTADOS
- Consiste de 3 componentes:
EXEMPLO 1
[LP] - Linguagem Algébrica: permite a modelagem de sistemas
complexos
EXEMPLO 2
- Compilador: traduz as informações para o formato aceito pelo
[NLP]
solver
EXEMPLO 3 - Solvers: pacotes comerciais que resolvem o problema e
[MINLP] disponibilizam os resultados
SUMÁRIO
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
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)
- Solvers comerciais robustos e consolidados
ANÁLISE DOS
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
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
Estruturas!
ANÁLISE DOS 3. Definição das equações
RESULTADOS
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)
- Possibilitam a indexação de variáveis
ELEMENTOS DA
LINGUAGEM - Úteis para representar sistemas complexos
- Índices equivalem ao número de linhas ou
SOLVERS
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
- Declaração de variáveis: nome, domínio e
ELEMENTOS DA
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 - Tipo de problema (ex: LP, NLP, etc.)
RESULTADOS
- Exemplo:
EXEMPLO 1
[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]
Limites, valores iniciais e opções especiais
EXEMPLO 2
[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
LINGUAGEM - Semelhança com fortran.
- 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
[LP]
- Compilador não diferencia letras
maiúsculas de minúsculas.
EXEMPLO 2
[NLP] - Comentários: iniciar a linha com “*”
EXEMPLO 3
- Comentários múltiplos: “$ontext” e “$offtext”
[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]
INTRODUÇÃO
ELEMENTOS DA LINGUAGEM
ESTRUTURA DO
MODELO
Funções Pré-definidas:
ELEMENTOS DA
LINGUAGEM - ord(): índice do elemento no conjunto
SOLVERS
- card(): número de elementos no conjunto
ANÁLISE DOS
RESULTADOS
- round(): arredondamento
EXEMPLO 1
[LP]
EXEMPLO 3
[MINLP] - outros: max(), min(), abs(), log(), log10(), 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
ELEMENTOS DA
LINGUAGEM
• LP: BDMLP, CPLEX, SCIP, XA, XPRESS.
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:
SOLVERS • Echo print Resultados da
Compilação
• Error Messages
ANÁLISE DOS
RESULTADOS • Reference Maps
Equações
EXEMPLO 1
• Equation Listing
Organizadas
[LP] • Column Listing
EXEMPLO 2 • Model Statistics Resultados do
[NLP] Solver
• Status Reports
EXEMPLO 3 • Solution Reports
[MINLP]
SUMÁRIO
INTRODUÇÃO
RESULTADOS
ESTRUTURA DO Seções do Arquivo de Resultados (.lst):
MODELO
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]
EXEMPLO 3
[MINLP]
SUMÁRIO
INTRODUÇÃO
RESULTADOS
ESTRUTURA DO Seções do Arquivo de Resultados (.lst):
MODELO
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 • 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 - Resultados da solução do problema:
LINGUAGEM
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 Exemplo 3:
[LP]
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
EXEMPLO 1
[LP] - Métodos de Barreiras (ponto interior): não atendem
às restrições a cada iteração, avaliando pontos fora
EXEMPLO 2 dos vértices. Tomam menos iterações, porém, com
[NLP]
um maior tempo para cada iteração. São geralmente
EXEMPLO 3 melhores para problemas de grande porte.
[MINLP]
SUMÁRIO
INTRODUÇÃO
EXEMPLO 1 – LP
ESTRUTURA DO Solver Utilizado: CPLEX
MODELO
ELEMENTOS DA
LINGUAGEM • Tipo de problemas: programação linear, inteira
mista ou com restrições quadráticas
SOLVERS
ANÁLISE DOS
• Algoritmos para LP: dual simplex (+ usado),
RESULTADOS primal simplex, network optimizer, barrier
EXEMPLO 1
algorithm e sifiting algorithm
[LP]
INTRODUÇÃO
EXEMPLO 1 – LP
ESTRUTURA DO Descrição do Problema
MODELO
ELEMENTOS DA
Produção e Mistura em Refinarias (Edgar e Himmelblau, 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 - renda com a venda dos produtos
RESULTADOS
INTRODUÇÃO
EXEMPLO 1 – LP
ESTRUTURA DO Descrição do Problema
MODELO
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)
SOLVERS - Função Objetivo Lagrangeana é aproximada por uma função
quadrática
- Restrições de igualdade e desigualdade são linearizadas
ANÁLISE DOS
RESULTADOS - Unfeasible Path
EXEMPLO 1
[LP]
• Ponto Interior
- Feasible Path
EXEMPLO 2
[NLP]
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
- Feasible Path Method
EXEMPLO 1
[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
• Ponto Inicial Reduzem o distância p/ ponto ótimo
SOLVERS Default: valor inicial = 0 (ruim em alguns casos)
Restrições do modelo
ANÁLISE DOS • Fronteiras
Restrições do algoritmo
RESULTADOS
Evitar funções ñ-lineares de
EXEMPLO 1 • Expressões Simplificadas expressões, singularidades
[LP]
Usar termos intermediários
EXEMPLO 2
[NLP] • Escalonamento Definem a magnitude das derivadas
(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 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
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 Restante das Iterações: caracterizadas pela Fase
RESULTADOS
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 • Dificuldades:
LINGUAGEM
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
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 configuração
ELEMENTOS DA de processo utilizando superestrutura
LINGUAGEM
– Modelagem Linear dos Equipamentos
– Custos Não-lineares
SOLVERS
INTRODUÇÃO
EXEMPLO 3 – MINLP
ESTRUTURA DO Descrição do Problema: Síntese de Processos
MODELO
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
EXEMPLO 2 y1 + y2 = 1 uma variável seja = 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
• Floudas C. A., Nonlinear and Mixed-Integer Optimization, 1995
SOLVERS
• 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
• Manual DICOPT
EXEMPLO 3
[MINLP]