Você está na página 1de 96

INTRODUÇÃO AO

AMBIENTE GAMS
Ambiente para
modelagem e otimização
SUMÁRIO

INTRODUÇÃO
SUMÁRIO
ESTRUTURA DO
MODELO 1) INTRODUÇÃO

ELEMENTOS DA 2) ESTRUTURA DO MODELO EM GAMS


LINGUAGEM

3) ELEMENTOS DA LINGUAGEM DE MODELAGEM GAMS


SOLVERS

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?

ELEMENTOS DA - Ambiente para modelagem e solução de problemas


LINGUAGEM de otimização
SOLVERS
- Acrônimo: General Algebraic Modeling System
ANÁLISE DOS
RESULTADOS - Consiste de 3 componentes:
EXEMPLO 1 - Linguagem Algébrica: permite a modelagem de
[LP] sistemas complexos
- Compilador: traduz as informações para o formato
EXEMPLO 2
aceito pelo solver
[NLP]
- Solvers: pacotes comerciais que resolvem o problema
EXEMPLO 3 e disponibilizam os resultados
[MINLP]
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

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


LINGUAGEM solução de problemas de otimização de grande escala

SOLVERS . 1970’s: poucas aplicações dos algoritmos devido ao


alto esforço de modelagem
ANÁLISE DOS - Dificuldades: preparação dos dados, transformação
RESULTADOS para o formato do solver, geração de relatórios e
depuração dos códigos
EXEMPLO 1
[LP]
. 1980’s: surgimento de sistemas de modelagem
EXEMPLO 2
algébrica (linguagem de alto nível, unificação do
[NLP] formato do modelo e fácil depuração)

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

ELEMENTOS DA 1. Especificação dos conjuntos e parâmetros


LINGUAGEM

SOLVERS 2. Declaração das variáveis e equações


Estruturas!
ANÁLISE DOS 3. Definição das equações
RESULTADOS

EXEMPLO 1 4. Especificação dos limites, valores iniciais,


[LP] opções especiais
EXEMPLO 2
[NLP] 5. Espec. do modelo e chamada do solver
EXEMPLO 3
[MINLP]
SUMÁRIO

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 1 Tabelas: matriz de números fixos:


[LP]

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

ANÁLISE DOS - Definição:


RESULTADOS

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

ANÁLISE DOS - prod(): produtório de elementos


RESULTADOS

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

SOLVERS - card(): número de elementos no


conjunto
ANÁLISE DOS
RESULTADOS
- round(): arredondamento
EXEMPLO 1
[LP]
- normal(): distribuição normal
EXEMPLO 2
[NLP]

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

SOLVERS - If / Elseif / Else


ANÁLISE DOS - While
RESULTADOS
- For
EXEMPLO 1
[LP] Controladores de Fluxo são normalmente usados para:
- Controlar o statement de “solve” (resolver o problema para
EXEMPLO 2
[NLP] certas condições, ou repetidas vezes)
- Geração dinâmica de relatórios
EXEMPLO 3 - Análise de sensibilidade
[MINLP]
SUMÁRIO

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 1 - Definir uma equação:


[LP]

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

- Utilizam um ou mais algoritmos para


ANÁLISE DOS
RESULTADOS resolução do problema.
EXEMPLO 1
[LP] - Rotinas de pré e pós-tratamento:
EXEMPLO 2 - Transformação ou relaxação do problema
[NLP] - Escalonamento das variáveis
EXEMPLO 3
[MINLP]
SUMÁRIO

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 • LP: BDMLP, CPLEX, SCIP, XA, XPRESS.


LINGUAGEM

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

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]

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


[MINLP]
SUMÁRIO

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

ANÁLISE DOS Exemplo 3


RESULTADOS

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

EXEMPLO 1 - Métodos de Barreiras (ponto interior): não atendem


[LP] à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
melhores para problemas de grande porte.
EXEMPLO 3
[MINLP]
SUMÁRIO

INTRODUÇÃO
EXEMPLO 1 – LP
ESTRUTURA DO Solver Utilizado: CPLEX
MODELO

ELEMENTOS DA • Tipo de problemas: programação linear, inteira


LINGUAGEM
mista ou com restrições quadráticas
SOLVERS
• Algoritmos para LP: dual simplex (+ usado),
ANÁLISE DOS primal simplex, network optimizer, barrier
RESULTADOS
algorithm e sifiting algorithm
EXEMPLO 1
[LP]
• Problema: falta de memória para problemas
EXEMPLO 2 muito grandes
[NLP]

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

EXEMPLO 1 - Restrições de desigualdade: vazões máximas dos


[LP] produtos
EXEMPLO 2 - Função objetivo: maximização do lucro (renda - custos)
[NLP]

EXEMPLO 3 - Variáveis de decisão: vazões das matérias-primas e dos


[MINLP] produtos
SUMÁRIO

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

ELEMENTOS DA Rendimento volumétrico:


LINGUAGEM

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

ELEMENTOS DA Função objetivo:


LINGUAGEM

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

ANÁLISE DOS • Problema na Forma Matricial:


RESULTADOS

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 2 • Solução local


[NLP]

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
[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

ELEMENTOS DA • Equilíbrio da Reação:


LINGUAGEM

SOLVERS

ANÁLISE DOS
RESULTADOS

EXEMPLO 1 * Desconsidera a cinética da reação, usa apenas equilíbrio e balanço de massa


[LP]

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

ELEMENTOS DA • Branch and Bound: relaxa/fixa toda as variáveis


LINGUAGEM binárias (0<y<1), resolve o problema NLP e retira as
relaxações uma de cada vez, parando quando atender
SOLVERS todas as restrições inteiras e contínuas.

ANÁLISE DOS • Decomposição em Subproblemas: relaxação do


RESULTADOS
problema original e obtenção de limites inferior e
EXEMPLO 1 superior
[LP] - Aproximação externa: NLP (upper bound, fixando as
variáveis inteiras) e MILP (lower bound, linearizando
EXEMPLO 2 nos pontos ótimos do NLP), adicionando mais restrições
[NLP] lineares a cada iteração
- Decomposição Generalizada de Benders: NLP + Dual
EXEMPLO 3
[MINLP]
SUMÁRIO

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

ELEMENTOS DA • Aproximações (Linearizações) Externas:


LINGUAGEM

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]

Você também pode gostar