Você está na página 1de 2

LINGO

Guia de utilizao
LINGO um programa para soluo de problemas de programao no-linear (NLP) e programao
mista-inteira no-linear (MINLP).
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
X1 , X2 , X3 0 reais

com

Y1 , Y2 = {0, 1} binrias
Y3 0 inteira

Formulao no LINGO:
! Problema de otimizao ;
MODEL:
[Z] MIN = 1.5*Y1 + 2.5*Y2 + 0.5*Y3 + X1^2 + X2^2 ;
[r1]
[r2]
[r3]
[r4]
[r5]
[r6]
[r7]
[r8]

(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 >= @LOG(X1) ;
X1 <= 5 ;
X2 <= 5 ;

@BIN(Y1);
@BIN(Y2);
@GIN(Y3);
INIT:
X1 = 1;
X2 = 2;
ENDINIT
END

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

A seo principal do arquivo a de modelo, iniciada em MODEL e finalizada em END.

Qualquer nome pode ser atribudo s variveis na formulao do problema.

Comentrios comeam com ponto de exclamao e terminam em ponto-e-vrgula.

Pode-se dar nomes para as restries e para a funo objetivo, entre colchetes no incio da linha.

Na linha da funo objetivo: MIN = minimizar, MAX = maximizar.

Uma linha s finalizada efetivamente aps o ponto-e-vrgula. Para uma equao longa, pode-se dividila por duas ou mais linhas, desde que ela seja finalizada com um ponto-e-vrgula na ltima linha.

Todas as variveis so assumidas como contnuas e no-negativas, a no ser quando especificadas como:
@BIN( ) = varivel inteira binria do tipo 01 (integer).
@GIN( ) = varivel inteira no-negativa (general integer).
@FREE( ) = varivel contnua irrestrita.

Para definir chutes iniciais, usar o comando INIT, como no exemplo.

LINGO possui vrias funes matemticas, financeiras e de probabilidade inclusas, como por exemplo:
@ABS( ): valor absoluto.
@COS( ), @SIN( ), @TAN( ): coseno, seno e tangente.
@LOG( ), @EXP( ): logaritmo natural e exponencial.
@SMIN( ), @SMAX( ): mnimo e mximo de uma lista de variveis.

Para definir limites das vaiveis, pode-se usar o comando @BND( ) ao invs de criar restries.
Exemplo:
1X5

@BND(1,X,5) ;

Resultado do LINGO:
Local optimal solution found at iteration:
Objective value:
Variable
Y1
Y2
Y3
X1
X2
X3
Row
Z
R1
R2
R3
R4
R5
R6
R7
R8

Value
0.000000
1.000000
0.000000
1.203128
1.203128
1.850966
Slack or Surplus
5.395034
0.000000
1.203128
0.000000
0.000000
0.000000
1.666041
3.796872
3.796872

28
5.395034
Reduced Cost
1.500000
-1.187540
0.5000000
0.000000
0.000000
0.000000
Dual Price
-1.000000
1.506857
0.000000
0.8994000
0.000000
0.000000
0.000000
0.000000
0.000000

Na internet:
LINDO Systems Inc. http://www.lindo.com
Jos M. Pinto, Jorge A. W. Gut, EPUSP 2003

Você também pode gostar