Vous êtes sur la page 1sur 12

1

LINDO 6.1 es un programa de entorno Windows, que sirve para resolver problemas de
programacin lineal.
1) Introducir un problema:
El formato que hemos de seguir para introducir el problema es muy simple, tal y como
vemos en el siguiente ejemplo:
Max 4x+3y
subject to
x + y <=5
2x+y<=8
x>=1
El programa asume las condiciones de no negatividad de las variables del problema.
Si el criterio de optimizacin es de mnimo, sustituimos Max por Min en el
problema. Adems, podemos sustituir subject to por st.
Podemos asignar un nmero o un comentario para cada restriccin de la siguiente
forma:
Max 4x+3y
st
R1)x + y <=5
R2)2x+y<=8
x>=1
Podemos introducir comentarios aclaratorios en algunas lneas del problema, sin ms
que comenzar la lnea con el smbolo !. Por ejemplo:
! Problema del beneficio
Max 4x+3y
subject to
x + y <=5
2x+y<=8
x>=1
FACULTAD DE CIENCIAS ECONMICAS Y EMPRESARIALES
PROGRAMACIN MATEMTICA
Prctica de informtica del programa LINDO
Curso 2004-05

2
El smbolo ! nos puede servir tambin para que LINDO no tenga en cuenta una lnea.
Por ejemplo, si deseamos resolver el problema anterior sin la restriccin x>=1, no es necesario
borrarla, basta con incluir el smbolo ! delante de ella:
! Problema del beneficio
Max 4x+3y
subject to
x + y <=5
2x+y<=8
!x>=1
Los nombres de las variables del problema pueden ser de hasta 8 caracteres.
2) Resolver un problema:

Una vez introducido un problema, lo resolveremos de la siguiente forma:
Para resolver el problema presionaremos el botn

de la barra de herramientas, o bien, a travs del teclado, presionamos Ctrl+S.
Aparecern en pantalla dos ventanas, una que resume de la resolucin del problema (n
de iteraciones realizadas para resolver, valor de la funcin objetivo, etc.) y otra en la
que nos preguntan si deseamos realizar anlisis de sensibilidad del problema:


3
Tras responder a la pregunta correspondiente al anlisis de sensibilidad y cerrar la ventana
Lindo Solver Status, Lindo muestra la solucin del problema en una ventana nueva a la que
denomina Reports Window (Ventana de Resultados), y a la que podemos acceder de distintas
formas:
Presionando el botn : de la barra de herramientas.
En el men Window, marcando Reports Window.
La ventana de resultados muestra la siguiente informacin:
1) 18.00000:

VARIABLE VALUE REDUCED COST
X 3.000000 0.000000
Y 2.000000 0.000000

ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 2.000000
3) 0.000000 1.000000
4) 2.000000 0.000000

NO. ITERATIONS= 1

RANGES IN WHICH THE BASIS IS UNCHANGED:

OBJ COEFFICIENT RANGES
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
X 4.000000 2.000000 1.000000
Y 3.000000 1.000000 1.000000

RIGHTHAND SIDE RANGES
ROW CURRENT ALLOWABLE ALLOWABLE
RHS INCREASE DECREASE
2 5.000000 2.000000 1.000000
3 8.000000 2.000000 2.000000
4 1.000000 2.000000 INFINITY


4
Interpretacin de estos resultados:

1) Valor de la funcin objetivo en el ptimo

1) 18.00000:

2) Punto ptimo: (x= 3, y = 2).
REDUCED COST es el z
j
c
j
de cada variable en la tabla del simplex.

VARIABLE VALUE REDUCED COST
X 3.000000 0.000000
Y 2.000000 0.000000

3) Restricciones (variables de holgura): Cada fila corresponde a una restriccin:

ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 2.000000
3) 0.000000 1.000000
4) 2.000000 0.000000

SLACK OR SURPLUS: Mide lo que queda del recurso en la restriccin y, por
tanto, es el valor de la variable de holgura asociada a esa restriccin.
DUAL PRICES: Precio sombra o valor de la variable dual. Es, por tanto, el z
j
de la
variable de holgura correspondiente a esa restriccin. (En este caso, los c
j
= 0,
luego tambin se interpretan como z
j
c
j
).
Por tanto, en nuestro problema las soluciones de las variables de holgura y los z
j

de las mismas son:
x
3
= 0, x
4
= 0 y x
5
= 2
z
3
= 2, z
4
= 1 y z
5
= 0




5

4) Anlisis de sensibilidad:
RANGES IN WHICH THE BASIS IS UNCHANGED:

4a) Anlisis de sensibilidad de costes:
OBJ COEFFICIENT RANGES
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
X 4.000000 2.000000 1.000000
Y 3.000000 1.000000 1.000000

CURRENT COEF: Valor de coeficiente de la variable en la funcin objetivo.
ALLOWABLE INCREASE: Cantidad en la que puedo incrementar el coeficiente
sin que cambie la base.
ALLOWABLE DECREASE: Cantidad en la que puedo reducir el coeficiente sin
que cambie la base.
Los intervalos de sensibilidad para los costes del problema son:
C
1
[3, 6] y C
2
[2, 4]

4b) Anlisis de sensibilidad de recursos:
RIGHTHAND SIDE RANGES
ROW CURRENT ALLOWABLE ALLOWABLE
RHS INCREASE DECREASE
2 5.000000 2.000000 1.000000
3 8.000000 2.000000 2.000000
4 1.000000 2.000000 INFINITY

CURRENT RHS: Valor del recurso en la restriccin.
ALLOWABLE INCREASE: Cantidad en la que puedo incrementar el coeficiente
sin que cambie la base.
ALLOWABLE DECREASE: Cantidad en la que puedo reducir el coeficiente sin
que cambie la base.
Los intervalos de sensibilidad para los recursos del problema son:
6
b
1
[4, 7], b
2
[6, 10], b
3
(-, 3]
3) Notas:
1. Si, una vez resuelto el problema queremos modificarlo, volvemos a la ventana en la
que tenemos el problema y realizamos los cambios correspondientes. Si, seguidamente
lo resolvemos, la solucin aparecer en la ventana de resultados (Reports Window)
seguida de la anterior.
2. Si el problema resuelto tiene infinitas soluciones, el programa no avisa de ello y, por
tanto, para detectarlo debemos revisar las columnas DUAL PRICE Y REDUCED
COST de la solucin, comprobando que las variables no bsicas (las que son nulas si
la solucin es no degenerada) tienen un z
j
-c
j
nulo.
3. Si el problema que resolvemos no posee soluciones factibles (conjunto de
oportunidades vaco), aparece en pantalla la siguiente ventana:

4. Si el problema que resolvemos posee solucin ilimitada, aparecer en pantalla la
siguiente ventana:


7
5. Si queremos guardar el problema o la ventana de resultados, lo haremos con los
comandos Archivo, Guardar, como en cualquier programa de entorno Window. El
nombre del archivo debe tener, como mucho, 8 caracteres. Los archivos Lindo tienen
la extensin ltx (*.ltx).
4) Variables:

FREE (Nombre de la Variable): Elimina las cotas de la variable. Con ello elimina la
condicin de no negatividad de la variable que el programa asume inicialmente.
GIN (Nombre de la Variable): La variable toma valores enteros y no negativos.
INT (Nombre de la Variable): La variable es binaria, sus valores quedan restringidos a 0
1.
5) Descripcin de algunos comandos de utilidad para utilizar el programa.

Men FILE:
o New :Crea un nuevo fichero de LINDO.
o Open :Abre un fichero ya existente de LINDO.
o View: Abre un fichero modelo de LINDO.
o Save: Graba el fichero activo (correspondiente a un problema o a resultados) en
disco. . El nombre del archivo debe tener, como mucho, 8 caracteres. Los
archivos Lindo tienen la extensin ltx (*.ltx).
o Save As: Graba el fichero activo (correspondiente a un problema o a resultados) en
un lugar distinto o con un nombre distinto.
o Close: Cierra la ventana activa.
o Print: Imprime el contenido de la ventana activa.
o Exit: Salir de LINDO
Men EDIT:

o Undo. Deshace la ltima accin.
o Cut: Corta el texto seleccionado.
o Copy: Copia el texto seleccionado.
8
o Paste: Pega el texto anteriormente cortado o copiado.
o Clear: Borra el texto seleccionado.
o Find/Replace: Busca una palabra, frase,... en la ventana activa y, opcionalmente la
reemplaza por otra.
o Options: Configurar LINDO.
o Go to Line: Ir a una lnea de la ventana activa.
o Paste Symbol: Muestra la lista de smbolos reservados en el programa, las y los
nombre de las variables del problema.
o Select All: Selecciona todo el texto de la ventana activa.
o Clear All: Borra todo el texto de la ventana activa.
o Choose New Font: Cambia la fuente (tipo de letra) en la ventana activa.


Men SOLVE:

o Solve: Resuelve el problema de la ventana activa.
o Compile Model: Compila el problema de la ventana activa. .


Men REPORTS:

o Solution: Muestra, en la ventana de resultados, la solucin ptima para el problema de
la ventana activa.
o Range: Muestra, en la ventana de resultados, el anlisis de sensibilidad de la solucin
ptima para el problema de la ventana activa.
o Parametrics: Realiza un anlisis paramtrico de los recursos de las restricciones. El
resultado lo muestra mediante una grfica que indica cmo cambia la funcin objetivo
ante el cambio en el recurso.
o Tableau: Muestra la tabla ptima del simplex de problema. La primera fila de esta tabla
es la de z
j
c
j
, que nosotros colocamos en ltimo lugar.
o Formulation: Muestra en la ventana de resultados el problema que estamos resolviendo.

9

Men WINDOWS:

o Open Status Window: Abre la ventana de resolucin (Solver Status Window), que
puede ser utilizada para seguir el proceso de resolucin de un problema.
o Send To Back: Cambia la ventana activa actual por la siguiente.
o Cascade: Coloca todas las ventanas abiertas en cascada.
o Tile: Coloca todas las ventanas abiertas en forma de mosaico.
o Close All: Cierra todas las ventanas abiertas.
10
PROBLEMA DEL BENEFICIO Y LA CONTAMINACIN:
1) MTODO DE LAS PONDERACIONES
Max (4x +3y) +(1-)(-3x-2y)
st
x+y<=5
2x+y<=8
x>=1
Funciones objetivo ponderadas:
Vector de Pesos (4x +3y) +(1-)(-3x-2y) Solucin
= 0 -3x-2y (1, 0, 4, 6, 0)
= 0.125 -2.125x-1.375y (1, 0, 4, 6, 0)
=0.25 -1.25x-0.75y (1, 0, 4, 6, 0)
=0.375 -0.375x-0.125y (1, 0, 4, 6, 0)
=0.4 -0.2x
Segmento que une los
puntos (1,0) y (1,4)
=0.45 0.15x+0.25y (1,4,0,2,0)
=0.5 0.5x+0.5y
Segmento que une los
puntos (1,4) y (3,2)
=0.625 1.375x+1.125y (3,2,0,0,2)

2) PROGRAMACIN POR METAS LEXICOGRFICA

Nivel 1: Introducir el problema:
Min n1
st
x+y<=5
2x+y<=8
x>=1
4x+3y+n1-p1=10

Solucin:
LP OPTIMUM FOUND AT STEP 2

OBJECTIVE FUNCTION VALUE

1) 0.0000000E+00

11
VARIABLE VALUE REDUCED COST
N1 0.000000 1.000000
X 2.500000 0.000000
Y 0.000000 0.000000
P1 0.000000 0.000000


ROW SLACK OR SURPLUS DUAL
PRICES
2) 2.500000 0.000000
3) 3.000000 0.000000
4) 1.500000 0.000000
5) 0.000000 0.000000

NO. ITERATIONS= 2


Puesto que n1=0, pasamos al nivel 2

Nivel 2:
Min p2
st
x+y<=5
2x+y<=8
x>=1
4x+3y+n1-p1=10
3x+2y+n2-p2=6
n1=0
Solucin:

LP OPTIMUM FOUND AT STEP 2

OBJECTIVE FUNCTION VALUE

1) 1.000000

VARIABLE VALUE REDUCED COST
P2 1.000000 0.000000
X 1.000000 0.000000
Y 2.000000 0.000000
N1 0.000000 0.000000
P1 0.000000 0.666667
N2 0.000000 1.000000


ROW SLACK OR SURPLUS DUAL PRICES
2) 2.000000 0.000000
3) 4.000000 0.000000
4) 0.000000 -0.333333
5) 0.000000 -0.666667
12
6) 0.000000 1.000000
7) 0.000000 0.666667

NO. ITERATIONS= 2

Luego, la solucin del problema es x = 1, y = 2, n1 = 0, p2 = 1. Puesto que la variable no
deseada p2 es distinta de 0, la solucin obtenida no es satisfactoria.

Vous aimerez peut-être aussi