Вы находитесь на странице: 1из 26

Desarrollar un modelo Lingo Para desarrollar un modelo de optimizaci on en Lingo hay que especicar: Funci on Objetivo M ax(M in)

) = COST O1 V ARIABLE 1 + COST O2 V ARIABLE 2;


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 ON IBILIDAD1; 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 >= REC 2; 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. Lingo comenzar 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 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. Help OK

Max 2x + y s. a. x 3 x, y 0

3x + 2y 5

que introduciendo variables de holgura, queda x 3x + 2y + s1 =3

+ s2 = 5

x, y, s1, s2 0 x 1 y 0 s1 1 0 0 0 1 0 0 0 s2 0 1 0 0 1/ 3 1/ 3 2/ 3 2/ 3

s1

3 5 0 4/3 5/3 10/3

s2 3 2 zj 0 0 zj cj 2 1 s1 0 2/3 x zj zj cj 1 2 0 2/ 3 4/ 3 1/ 3

LINGO solver Status SOLVER STATUS Model Class Muestra el tipo de modelo (LP: Programaci on Lineal; ILP: Programaci on Lineal Entera,...) 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 verican las restricciones. Iterations N umero de iteraciones necesarias para su resoluci on. VARIABLES Muestra el n umero total de variables del modelo. Enteras y no Lineales. CONSTRAINTS Muestra el n umero total de restricciones del modelo y c uales de ellas son no lineales. NONZEROS Muestra el n umero de coecientes 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 Esta pantalla contiene los detalles de la soluci on del problema. Global optimal solution found Objective value: 3.333333 Total solver iterations: 2

Variable X Y Row 1 2 3

Value 1,666667 0,0000000 Slack or Surplus 3,333333 1,333333 0,0000000

Reduced Cost 0,0000000 0,3333334 Dual Price 1,000000 0,0000000 0,6666667

Interpretar la Soluci on Costo reducido: Indican cu anto tendr a que mejorar cada uno de los coecientes 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 de la 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 0

Ejemplo 1

Max 3x1 + 2x2 s. a. 2x 1 + x 2 2 3x1 + 4x2 12 x, y 0 que introduciendo variables de holgura y articiales, queda 2x 1 + x 2 + s 1 =2 3x1 + 4x2 s2 + A1 = 12 x1 , x 2 , s 1 , s 2 , A1 0 Fase I: Max - A1 s1 x1 2 x2 1 s1 1 0 0 0 1 s2 0 A1 0 2

A1 3 4 zj 3 4 zj cj 3 4 x2 2 1 A1 5 zj 5 z j cj 5 0 0 0

1 1 12 1 1 12 1 0 0 0 2 4 4

4 1 1 4 1 1 4 1 0

Ejemplo 2 Max 36x1 + 30x2 3x3 4x4 s. a. x1 + x2 x3 5 6x1 + 5x2 x4 10 x1 , x 2 , x 3 , x 4 0 que introduciendo variables de holgura, queda x 1 + x2 x 3 6x1 + 5x2 + s1 x4 =5 + s2 = 10

x1 , x 2 , x 3 , x 4 , s 1 , s 2 0
s1 s2 zj zj cj s1 x1 zj zj cj x4 x1 zj zj cj x1 1 x2 1 x3 1 0 0 3 1 0 0 3 6 1 12 9 x4 0 1 0 4 1 /6 1/6 6 2 1 0 4 0 s1 1 0 0 0 1 0 0 0 6 1 12 12 s2 0 1 0 0 1/ 6 1/ 6 6 6 1 0 4 4 5 10 0 20/6 10/6 360/8 20 5 100

6 5 0 0 36 30 0 5/6
1 36 0 0 1 36 0 5/6 30 0 5 0 20 10

!PROBLEMA1; !Variables de decisi on: X 1 = Bizcochos consumidos diariamente, X 2 = Bolas de helado de chocolate consumidas por d a, X 3 = N umero de botellas de refresco tomadas diariamente, X 4 = Porciones de Pastel de queso con pi na por d a; !Funci on objetivo; M IN = 0.50 X 1+0.20 X 2+0.30 X 3+0.80 X 4; !Restricci on de calor as; 400 X 1+200 X 2+150 X 3+500 X 4 >= 500; !Restricci on de chocolate; 3 X 1 + 2 X 2 >= 6; !Restricci on de az ucar; 2 X 1 + 2 X 2 + 4 X 3 + 4 X 4 >= 10; !Restricci on de grasa; 2 X 1 + 4 X 2 + X 3 + 5 X 4 >= 8;

! Problema 2; ! Variables de decisi on: X 1 = Kilos de arroz, X 2 = Kilos de pescado, X 3 = Kilos de verdura; ! Funci on Objetivo; M in = 0.70 X 1 + 1.20 X 2 + 0.50 X 3; ! Restricci on de calor as; 200 X 1 + 300 X 2 + 100 X 3 <= 4000; ! Restricci on de prote nas; X 1 + 3 X 2 + 2 X 3 >= 3;

!Problema 3; ! Variables de decisi on: X 1 = No de sesiones de destilaci on con Tn, X 2 = No de sesiones de destilaci on con Ta; ! Funci on Objetivo; M ax = 103 X 1 + 110 X 2; ! Restricci on referida a la cantidad de Crudo, C1; 7 X 1 + 10 X 2 <= 1400; ! Restricci on referida a la cantidad de Crudo, C2; 12 X 1 + 8 X 2 <= 2000; ! Restricci on referida a la demanda de gas oleo; 8 X 1 + 10 X 2 >= 900; ! Restricci on referida a la demanda de gasolina normal; 6 X 1 + 7 X 2 >= 300; ! Restricciones referidas a la demanda de gasolina super; 5 X 1 + 4 X 2 <= 1700; 5 X 1 + 4 X 2 >= 800;

!Problema 4; ! Variables de decisi on: Xi = N umero de empleados que empiezan a trabajar el d a i; !Funci on Objetivo; M in = X 1 + X 2 + X 3 + X 4 + X 5 + X 6 + X 7; ! N umero de empleados requeridos para el Lunes; X 1 + X 4 + X 5 + X 6 + X 7 >= 17; ! N umero de empleados requeridos para el Martes; X 1 + X 2 + X 5 + X 6 + X 7 >= 13; ! N umero de empleados requeridos para el Mi ercoles; X 1 + X 2 + X 3 + X 6 + X 7 >= 15; ! N umero de empleados requeridos para el Jueves; X 1 + X 2 + X 3 + X 4 + X 7 >= 19;

! N umero de empleados requeridos para el Viernes; X 1 + X 2 + X 3 + X 4 + X 5 >= 14; ! N umero de empleados requeridos para el S abado; X 2 + X 3 + X 4 + X 5 + X 6 >= 16; ! N umero de empleados requeridos para el Domingo; X 3 + X 4 + X 5 + X 6 + X 7 >= 11;

!Problema 5; ! Variables de decisi on: X 1 = Onzas de Brutte Regular vendidas anualmente, (no las producidas inicialmente) X 2 = Onzas de Brutte Luxery vendidas anualmente,(producidas) X 3 = Onzas de Chanelle Regular vendidas anualmente, (no las producidas inicialmente) X 4 = Onzas de Chanelle Luxery vendidas anualmente, (producidas) X 5 = Libras de materia prima compradas; ! Funci on Objetivo; M ax = 7 X 1 + (18 4) X 2 + 6 X 3 + (14 4) X 4 3 X 5; ! Horas de laboratorio disponibles; 3 X 2 + 2 X 4 + X 5 <= 6000;

! Restricciones referentes a la cantidad de productos disponibles para la venta; X 1 + X 2 3 X 5 = 0; !(X 1 + X 2 = 3X 5); X 3 + X 4 4 X 5 = 0; !(X 3 + X 4 = 4X 5); ! Limitaci on de materia prima; X5 <= 4000;

!Problema 6; ! Variables de decisi on: X 1 = Euros invertidos en Atlantic Oil, X 2 = Euros invertidos en Pacic Oil, X 3 = Euros invertidos en Midwest Steel, X 4 = Euros invertidos en Huber Steel, X 5 = Euros invertidos en Bonos gubernamentales; ! Funci on Objetivo; M ax = 0,073 X 1 + 0,103 X 2 + 0,064 X 3 + 0,075 X 4 + 0,045 X 5; !Especicamos la inversi on de los 100.000 euros; X 1 + X 2 + X 3 + X 4 + X 5 <= 100000; !No recibir mas del 50 %; X 1 + X 2 <= 50000; X 3 + X 4 <= 50000;

!Los Bonos deben ser al menos 25 %; 0,25 X 3 0,25 X 4 + X 5 >= 0; !(X 5 0,25(X 3 + X 4)); !Inversi on en Pacic Oil no puede ser mas del 60 %; 0,6 X 1 + 0,4 X 2 <= 0; !(X 2 0,6(X 1 + X 2));

!Problema 7; ! Variables de decisi on: X 1 =Millones de euros invertidos en Pr estamos personales , X 2 = Millones de euros invertidos en Pr estamos para autom ovil, X 3 =Millones de euros invertidos en Pr estamos para vivienda, X 4 =Millones de euros invertidos en Pr estamos agr colas, X 5 =Millones de euros invertidos en Pr estamos comerciales; ! Funci on Objetivo; M ax = 0,026 X1 + 0,0509 X2 + 0,0864 X3 + 0,06875 X4 + 0,078 X5; !(0,14(0,9X 1)+0,13(0,93X 2)+0,12(0,97X 3)+ 0,125(0,95X 4)+0,1(0,98X 5)0,1X 10,07X 2 0,03X 3 0,05X 4 0,02X 5);

! Fondos totales; X 1 + X 2 + X 3 + X 4 + X 5 <= 12; ! Pr estamos agr colas y comerciales; X 4 + X 5 >= 4,8; !(40 % de12) ); ! Pr estamos para viviendas; 0,5 X 1 0,5 X 2 + 0,5 X 3 >= 0; !(X 3 0,5(X 1 + X 2 + X 3)); ! Raz on total de los cr editos malos; 0,06 X 1 + 0,03 X 2 0,01 X 3 + 0,01 X 4 0,02 X 5 <= 0;
X 2+0,03X 3+0,05X 4+0,02X 5 0,04 ; ! 0,1X 1+007 X 1+X 2+X 3+X 4+X 5

!Problema 8; ! Variables de decisi on: X 1 = N umero de unidades para una sola familia, X 2 = N umero de unidades para dos familias, X 3 = N umero de unidades para tres familias, X 4 = N umero de areas recreativas; ! Funci on Objetivo; M ax = 10000 X 1 + 12000 X 2 + 15000 X 3; ! Viviendas de una sola familia (Ap. 1); 0,5 X 1 0,5 X 2 0,5 X 3 >= 0; !(X 1 0,5(X 1 + X 2 + X 3)); ! Uso del suelo (Ap 2, parte de 3 y texto despu es de 4); 2 X 1 + 3 X 2 + 4 X 3 + X 4 <= 680; !(680 es 800 menos el 15 %);

reas recreativas (parte de Ap. 3); ! A X 1 2 X 2 3 X 3 + 200 X 4 >= 0;


X 2+3X 3 ); !(X 4 X 1+2200

! Capital; 1000 X 1+1200 X 2+1400 X 3+800 X 4 >= 100000; ! Consumo de agua; 400 X 1 + 600 X 2 + 840 X 3 + 450 X 4 <= 200000;

An alisis de sensibilidad Despues de resolver el problema, usamos el comando Range del men u LINGO para generar un informe de rangos para el modelo activo. Tal informe muestra en qu e rango se puede: Cambiar un coeciente en la funci on objetivo sin que cambien los valores optimos de las variables de decisi on. Cambiar el valor de un recurso o disponibilidad (coeciente del lado derecho de una restricci on) sin causar cambios en los valores optimos de los precios duales o de los costos reducidos (sin que cambien las variables b asicas, es decir la soluci on siga siendo factible, aunque si pueden cambiar sus valores). Si aparece el mensaje de error:
Error Code 122: Range reports not possible when range analysis is disabled

hay que ejecutar previamente el comando Options del men u LINGO, y en General Solver seleccionar la opci on Prices and Ranges en la lista asociada a Dual Computations.

Ejemplo En los ejemplos en los que vayamos a solicitar un Range Report conviene nombrar las restricciones, incluyendo delante de ellas un nombre entre corchetes, para luego poder identicarlas facilmente.

[FuncionObjetivo] Max = 20 A + 30 C ; [Restriccion1] A <= 60; [Restriccion2] C <= 50; [Restriccion3] A + 2 C <= 120; El informe que proporciona es

La primera parte titulada Objective Coecient Ranges incluye en su primera columna titulada Variable la lista de variables del problema, en la segunda Current Coecient el coeciente actual de cada variable en la funci on objetivo, en la tercera Allowable Increase, la cantidad en que se puede incrementar el coeciente de cada variable en la funci on objetivo sin que cambien los valores de la soluci on optima y la ultima Allowable Decrease, la cantidad en que se puede disminuir el coeciente de cada variable en la funci on objetivo sin que cambien los valores optimos de las variables. En nuestro ejemplo, podemos decir que mientras el coeciente de la variable A en la funci on objetivo sea mayor o igual a 15, los valores optimos de las variables no cambian. El coeciente de la variable C puede variar entre 0 y 40.

La segunda parte titulada Right-hand Side Ranges incluye en su primera columna titulada Row la lista de los nombres de las restricciones del modelo, en la segunda Current RHS los valores actuales de los recursos o disponibilidades (coeciente del lado derecho de las restricciones), y las siguientes Allowable Increase y Allowable Decrease, en cuanto los podemos incrementar o disminuir, respectivamente, sin causar un cambio en los valores optimos de los precios duales o costos reducidos. En nuestro ejemplo, los precios duales y los costos reducidos permanecen constantes si el coeciente del lado derecho de la primera restricci on est a entre 20 y 120, el de la segunda es mayor o igual que 30 y el de la tercera est a entre 60 y 160.

Вам также может понравиться