Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução ao uso do
GAMS
Programação Matemática
Junho de 2008
GAMS - General Algebric
Modelling System
O GAMS é uma linguagem de alto nível para
a formulação de modelos de Pesquisa
Operacional.
http://www.gams.com/
Clique em Download Current GAMS System
n
∑ x ij ≤ S i , para i = 1,..., m
j =1
m
Sujeito a ∑ x ij ≥ D j , para j = 1,..., n
i =1
x ij ≥ 0 , para i = 1,..., m e j = 1,..., n.
O problema do transporte –
exemplo e modelagem
Considere o problema de transporte com 3
fábricas e 4 clientes.
Capacidades das fábricas, necessidades
mínimas e custos de transporte são dados.
O problema do transporte –
exemplo e modelagem
Minimizar f(x) = 132 x11 + 87 x12 + 97 x13 + 103 x14 + 85 x 21 + 91 x 22 +
+ 19 x 23 + 215 x 24 + 106 x 31 +89 x 32 + 100 x 33 + 98 x 34
x11 + x12 + x13 + x14 ≤ 135
x 21 + x 22 + x 23 + x 24 ≤ 56
x 31 + x 32 + x 33 + x 34 ≤ 93
x11 + x 21 + x 31 ≥ 62
Sujeito a
x12 + x 22 + x 32 ≥ 83
x13 + x 23 + x 33 ≥ 39
x14 + x 24 + x 34 ≥ 91
x ≥ 0 , para i = 1, 2, 3 e j = 1, 2, 3, 4.
ij
Implementação em GAMS do
problema do transporte
Modelo Geral:
1. Definição dos índices ou SETS.
2. Entrada de dados: PARAMETER, TABLE
ou SCALAR.
3. Definição das variáveis e seus tipos:
VARIABLES e tipo VARIABLE x.
4. Definição e declaração das equações:
EQUATIONS.
5. Definição do modelo: MODEL nome.
6. Resolução do modelo: SOLVE nome do
modelo USING.
Resolução de problemas de
otimização usando GAMS
1. Construir o modelo.
2. Utilizar os recursos do sistema para
resolver o modelo.
Construção do modelo
no formato GAMS
Estrutura básica
SETS
Índices referentes ao modelo e fundamentais
na modelagem dos outros elementos.
Duas maneiras de declarar os conjuntos:
/fab1, fab2, fab3/ ou /fab1*fab3/.
Pode-se declarar cada SET separadamente.
Elementos de SETS são strings de caracteres
e não números.
Exemplo: SETS
i fabricas/fab1, fab2, fab3/
j clientes/cli1, cli2, cli3, cli4/;
Entrada de dados
PARAMETER
Lista com 1 domínio.
Exemplo:
PARAMETER
S(i) capacidade da fabrica i
/fab1 135
fab2 56
fab3 93/;
TABLE
Lista com 2 domínios.
Exemplo:
VARIABLES
x(i,j) quantidade de produto
transportado de i para j
z custo total em $;
POSITIVE VARIABLE x;
VARIABLES
Variável z não tem domínio: entidade escalar.
Exemplos:
Enviar para
dougepai@yahoo.com.br até dia 12/06/2008
Problema da Dieta
Tabela nutricional