PracticasOrdenadorLINGO 1
Para desarrollar un modelo de optimizaci´
on en
Lingo hay que especificar:
• Funci´
on Objetivo
M ax(M in) = COST O1 ∗ V ARIABLE1
+ COST O2 ∗ V ARIABLE2;
Variables: Los nombres de las variables en Lingo deben
empezar con un car´
acter alfab´
etico, seguido de alfab´
etiaximo de 32 caracteres.
cos, num´
ericos o , hasta un m´
• Restricciones
COEF 11 ∗ V AR1 <= DISP ONIBILIDAD1;
COEF 21 ∗ V AR1 + COEF 22 ∗ V AR2 <= DISP 2;
o bien
COEF 11 ∗ V AR1 >= RECU RSO1;
COEF 21 ∗ V AR1 + COEF 22 ∗ V AR2 >= REC2;
• Comentarios: Comenzar´
an con el signo admiraci´
on “!” y terminar´
an con el signo de puntuaci´
on “;”
Lingo no distingue entre letras en mayuscula o
en minuscula.
Resoluci´
on del modelo
Para resolver el modelo, seleccionar SOLVE del
comando Lingo.
Lingocomenzar´
a a compilar el modelo. Si el
modelo no pasa la compilaci´
on, aparecer´
a un
mensaje error.
Ejemplo
Max = 2 ∗ x + y;
x <= 3;
3x + 2 ∗ y <= 5;
Aparecer´
a:
Ventana: LINGO Error Message
Error Code: 11
Help
OK
Error Tex:
Invalid input. A syntax has occurred.
3] 3x + 2 ∗ y <= 5;
Si no ha habido ning´
un error aparecer´
a en pantalla LINGO Solver Status.
Max 2x + y
s. a.
≤3
x
3x + 2y ≤5
x, y ≥ 0
que introduciendo variables de holgura, queda
x
+ s1
3x + 2y
=3
+ s2 = 5
x, y, s1, s2 ≥ 0
s1
1
s2
0
s2
3
2
zj
0
0
zj − cj −2 −1
s1
0 −2/3
0
0
0
1
1
0
0
−1/3
x
zj
zj − cj
0
0
0
1/3
2/3
2/3
s1
x
1
1
2
0
y
0
2/3
4/3
1/3
3
5
0
4/3
5/3
10/3
LINGO solver Status
SOLVER STATUS
Model Class Muestra el tipo de modelo (LP:
Programaci´
on Lineal; ILP: Programaci´
on LinealEntera,...)
State Muestra la situaci´
on actual de la solu´
ci´
on (Global Opt: Optimo
global; Infeasible: No
factible; Unbounded: No acotada;...)
Objective Valor de la funci´
on objetivo.
Infeasibility Cantidad por la que no se verifican
las restricciones.
Iterations N´
umero de iteraciones necesarias para su resoluci´
on.
VARIABLES Muestra el n´
umero total de variables del modelo. Enteras y noLineales.
CONSTRAINTS Muestra el n´
umero total de
restricciones del modelo y c´
uales de ellas son no
lineales.
NONZEROS Muestra el n´
umero de coeficientes no nulos en el modelo y c´
uales de ellos aparecen en variables no lineales.
GENERATOR MEMORY USED(K) Lista
la cantidad de memoria.
ELAPSED RUNTIME (hh:mm:ss) Muestra
el tiempo total usado para generar y resolver el
modelo.
Solution Report
Estapantalla contiene los detalles de la soluci´
on
del problema.
Global optimal solution found
Objective value: 3.333333
Total solver iterations: 2
Variable
X
Y
Value
1,666667
0,0000000
Reduced Cost
0,0000000
0,3333334
Row
1
2
3
Slack or Surplus
3,333333
1,333333
0,0000000
Dual Price
1,000000
0,0000000
0,6666667
Interpretar la Soluci´
on
Costo reducido: Indican cu´
anto tendr´ıa que
mejorarcada uno de los coeficientes de la funci´
on objetivo antes de que la correspondiente
variable de decisi´
on pueda tomar valor positivo
en la soluci´
on ´
optima.
Holgura o excedente: Nos dice lo pr´
oximo que
estamos de satisfacer una restricci´
on. Si una
restricci´
on es violada, como en una soluci´
on infactible, el valor de estas variables ser´
a negativo.
Precios duales: Mejora en el valor dela funci´
on
objetivo por cada incremento unitario en el lado derecho de una restricci´
on. En un problema
de maximizar el precio dual es el mismo que el
precio sombra. En un problema de minimizar el
precio dual es el negativo del precio sombra.
Ejemplos
Max Z = 3X1 + 2X2
s.a. 2X1 + X2 ≤ 2
3X1 + 4X2 ≥ 12
Xi ≥ 0
Max Z = 36X1 + 30X2 − 3X3 − 4X4
s.a. X1 + X2 − X3 ≤ 5
6X1 + 5X2 − X4 ≤ 10
Xi ≥ 0Ejemplo 1
Max 3x1 + 2x2
s. a.
2x1 + x2 ≤ 2
3x1 + 4x2 ≥ 12
x, y ≥ 0
que introduciendo variables de holgura y artificiales, queda
2x1 + x2 + s1
=2
3x1 + 4x2
− s2 + A1 = 12
x1 , x 2 , s 1 , s 2 , A1 ≥ 0
Fase I: Max - A1
x2
1
s1
1
s2
0
A1
3
4
zj
−3 −4
zj − cj −3 −4
x2
2
1
0
0
0
1
−1 1
12
1 −1 −12
1
0
0
0
2
s1
x1
2
A1
−5
zj
5
z j − cj 5
0
0
0
A1
0
−4 −1 1
4
1 −1
4
1
0
2
4
−4
Ejemplo...
Regístrate para leer el documento completo.