Vous êtes sur la page 1sur 5

GAMS

Guia de utilizao
O GAMS (General Algebraic Modeling System) um ambiente para otimizao que fornece
interface para vrios algoritmos. Os modelos so fornecidos pelo usurio em um arquivo de entrada na forma
de equaes algbricas usando uma linguagem de alto nvel. O GAMS compila este modelo e faz a intervace
com um solver (ou seja, um algoritmo de otimizao). O modelo compilado e a soluo obtida so
mostrados ao usurio atravs de um arquivo de resultados. A extenso do arquivo do modelo *.GMS,
enquanto que a extenso do arquivo de resultados *.LST.
O arquivo do modelo, em geral, organizado nas seguintes sees:
1. Especificao de ndices e dados.
2. Lista dos nomes e tipos das variveis e lista das equaes.
3. Definio das equaes (funo objetivo e restries).
4. Especificao de limites, valores iniciais e opes especiais.
5. Chamada do solver de otimizao.
O formato dos arquivos de entrada no rgido, embora a sintaxe seja. Existe um nmero muito
grande de opes de modo a fornecer a flexibilidade para manusear modelos simples e complexos.
Exemplo de utilizao:
min

Z = 1,5.Y1 + 2,5.Y2 + 0,5.Y3 + X1 2 + X2 2

sujeito a

(X1 2,3)2 X2
X1 2.Y1 0
X1 X2 + 4,1.(1 Y2 ) 0
Y1 + Y2 1
X1 + X2 + 3.Y3 1,3.X3 = 0
X3 ln(X1 )
X1 5
X2 5

com

X1 , X2 , X3 0 reais
Y1 , Y2 = {0, 1} binrias
Y3 0 inteira

Jos M. Pinto, Jorge A. W. Gut, EPUSP 2003

Formulao no GAMS:
* Problema de Otimizacao
$TITLE Problema Teste
$OFFSYMXREF OFFSYMLIST
OPTION LIMROW = 0, LIMCOL = 0;
FREE VARIABLES
POSITIVE VARIABLES
BINARY VARIABLES
INTEGER VARIABLES
EQUATIONS

Z;
X1, X2, X3;
Y1, Y2;
Y3;

OBJ, R1, R2, R3, R4, R5, R6;

* equacoes e restricoes
OBJ..
Z =E= 1.5*Y1 +2.5*Y2 +0.5*Y3 +X1**2 +X2**2 ;
R1..
SQR(X1 -2.3) =L= X2 ;
R2..
X1 -2*Y1 =G= 0 ;
R3..
X1 -X2 +4.1*(1 -Y2) =L= 0 ;
R4..
Y1 +Y2 =G= 1 ;
R5..
X1 +X2 +3*Y3 -1.3*X3 =E= 0 ;
R6..
X3 =G= LOG(X1) ;
* limites superiores
X1.UP = 5 ;
X2.UP = 5 ;
* ponto inicial
X1.L = 1 ;
X2.L = 2 ;
MODEL TESTE / ALL / ;
SOLVE TESTE USING MINLP MINIMIZING Z;

Comentrios comeam com um asterisco.

$TITLE define um ttulo para o problema.

As linhas $OFFSYMXREF OFFSYMLIST e OPTION LIMROW = 0, LIMCOL = 0; definem as


opes padres do GAMS para reportar resultados.

Qualquer nome pode ser atribudo s variveis na formulao do problema. No h diferenciao entre
maisculas e minsculas. O GAMS no reconhece caracteres especiais como ou .

Todas as variveis devem ser declaradas, incluindo a funo objetivo que deve ser uma varivel
irrestrita. So estes os tipos de declaraes de variveis:

FREE VARIABLES

para variveis contnuas irrestritas

POSITIVE VARIABLES

para variveis contnuas no-negativas

NEGATIVE VARIABLES

para variveis contnuas no-positivas

BINARY VARIABLES

para variveis binrias tipo 0-1

INTEGRER VARIABLES

para variveis inteiras no-negativas

Os nomes das equaes e inequaes devem ser declaradas em EQUATIONS, separadas por vrgulas e
terminado em ponto-e-vrgula.
Jos M. Pinto, Jorge A. W. Gut, EPUSP 2003

Cada equao representada algebricamente, iniciando com o seu nome seguido de dois pontos, e
encerrando com ponto-e-vrgula.

Equaes e inequaes so representadas atravs destes operadores:


=E=

(equality)

=L=

(less than or equal to)

=G=

(greater than or equal to)

GAMS possui vrias funes matemticas inclusas, como por exemplo:


ABS( ): valor absoluto.
COS( ), SIN( ): coseno e seno.
SQR( ): elevado ao quadrado.
SQRT( ): raiz quadrada.
LOG( ), EXP( ): logaritmo natural e exponencial.
MIN( ), MAX( ): mnimo e mximo de uma lista de variveis.

Para definir limites inferiores e superiores das variveis e os chutes iniciais, use-se os seguintes sufixos:
.LO

limite inferior (lower bound)

.UP

limite superior (upper bound)

.L

chute inicial (level)

Exemplo:
1X7

X.LO = 1 ;
X.UP = 7 ;

Iniciar em X = 3
-

X.L

= 3 ;

Ao final, especifica-se um nome para o modelo (no exemplo: TESTE) e informa-se quais equaes
devem ser usadas (ALL para todas). Podem ser definidos vrios modelos em um mesmo arquivo, usando
combinaes diferentes de equaes.

A chamada do otimizador feita da seguinte forma:


SOLVE (nome do modelo) USING (solver) MINIMIZING ou MAXIMIZING (varivel da funo objetivo)

Estes so os tipos de solvers disponveis no GAMS:


LP

programao linear

MIP

programao mista-inteira linear

RMIP

programao mista-inteira linear relaxada

NLP

programao no-linear com funes suaves

MINLP

programao mista-inteira no linear

RMINLP

programao mista-inteira no linear relaxada

Vrios solvers de otimizao comerciais esto disponveis no GAMS, entre eles podemos citar : ZOOM,
MINOS, OSL, CONOPT, DICOPT, BARON e CPLEX.

Jos M. Pinto, Jorge A. W. Gut, EPUSP 2003

Resultado do GAMS (apenas MODEL STATISTICS e SOLVE SUMMARY):


GAMS Rev 118 Windows NT/95/98
08/11/03 09:21:20
Problema Teste
Model Statistics
SOLVE TESTE USING MINLP FROM LINE 33

PAGE

PAGE

MODEL STATISTICS
BLOCKS OF EQUATIONS
BLOCKS OF VARIABLES
NON ZERO ELEMENTS
DERIVATIVE POOL
CODE LENGTH

7
7
21
5
41

SINGLE EQUATIONS
SINGLE VARIABLES
NON LINEAR N-Z
CONSTANT POOL
DISCRETE VARIABLES

7
7
4
9
3

GENERATION TIME

0.110 SECONDS

1.9 Mb

WIN196-118

EXECUTION TIME

0.170 SECONDS

1.9 Mb

WIN196-118

GAMS Rev 118 Windows NT/95/98


Problema Teste
S O L V E
MODEL
TYPE
SOLVER

TESTE
MINLP
DICOPT

**** SOLVER STATUS


**** MODEL STATUS
**** OBJECTIVE VALUE

08/11/03 09:21:20

S U M M A R Y
OBJECTIVE
DIRECTION
FROM LINE

Z
MINIMIZE
33

1 NORMAL COMPLETION
2 LOCALLY OPTIMAL
5.3950

RESOURCE USAGE, LIMIT


ITERATION COUNT, LIMIT
EVALUATION ERRORS

0.660
9
0

1000.000
10000
0

--- DICOPT: Relaxed NLP gives integer solution


The Relaxed NLP gave a solution where all the integer
variables have integral values. There is no need to
to continue the search.
-----------------------------------------------------------------Dicopt2x-C
Nov 19, 2000 WIN.DI.NA 19.6 021.016.039.WAT
-----------------------------------------------------------------Aldo Vecchietti and Ignacio E. Grossmann
Engineering Design Research Center
Carnegie Mellon University
Pittsburgh, Pennsylvania 15213
Erwin Kalvelagen
GAMS Development Corp.
1217 Potomac Street, N.W.
Washington DC 20007

Jos M. Pinto, Jorge A. W. Gut, EPUSP 2003

-----------------------------------------------------------------DICOPT Log File


-----------------------------------------------------------------Major Major
Objective
CPU time Itera- Evaluation Solver
Step Iter
Function
(Sec)
tions
Errors
NLP
1
5.39503<
0.66
9
0
conopt
-----------------------------------------------------------------Total solver times : NLP =
0.66
MIP =
0.00
Perc. of total
: NLP =
100.00
MIP =
0.00
-----------------------------------------------------------------LOWER
----------------------

EQU
EQU
EQU
EQU
EQU
EQU
EQU

OBJ
R1
R2
R3
R4
R5
R6

.
-INF
.
-INF
1.000
.
.

LEVEL

UPPER

.
.
1.203
-4.100
1.000
.
1.666

.
.
+INF
-4.100
+INF
.
+INF

GAMS Rev 118 Windows NT/95/98


Problema Teste
LOWER
----------------------

VAR
VAR
VAR
VAR
VAR
VAR
VAR

Z
X1
X2
X3
Y1
Y2
Y3

-INF
.
.
.
.
.
.

**** REPORT SUMMARY :

EXECUTION TIME

MARGINAL
1.000
-1.507
.
-0.899
1.500
EPS
.
08/11/03 09:21:20

LEVEL
5.395
1.203
1.203
1.851
.
1.000
.

UPPER

MARGINAL

+INF
5.000
5.000
+INF
1.000
1.000
100.000

.
.
.
.
EPS
-2.688
0.500

PAGE

0
NONOPT
0 INFEASIBLE
0 UNBOUNDED
0
ERRORS
=

0.050 SECONDS

0.7 Mb

WIN196-118

USER: GAMS Development Corporation, Washington, DC


G871201:0000XX-XXX
Free Demo, 202-342-0180, sales@gams.com, www.gams.com
DC9999
**** FILE SUMMARY
INPUT
C:\WINDOWS\GAMSDIR\EXEMPLO.GMS
OUTPUT
C:\WINDOWS\GAMSDIR\EXEMPLO.LST

O arquivo de entrada impresso novamente no arquivo de sada. Na seqncia so apresentadas


informaes sobre o tamanho do modelo, como nmero e tipo de variveis e equaes. O resultado da
otimizao propriamente dita fornecido aps SOLVE SUMMARY. Finalmente so mostradas as
informaes relativas s equaes e variveis. A coluna indicada como LEVEL fornece os valores
correntes das variveis, onde variveis nulas so indicadas por ..

Na internet:
GAMS http://www.gams.com
Jos M. Pinto, Jorge A. W. Gut, EPUSP 2003

Vous aimerez peut-être aussi