Practica Lingo

  • View
    84

  • Download
    0

Embed Size (px)

DESCRIPTION

Practica Lingo

Text of Practica Lingo

  • Desarrollar un modelo Lingo

    Para desarrollar un modelo de optimizacion en

    Lingo hay que especificar:

    Funcion ObjetivoMax(Min) = COSTO1 V ARIABLE1

    + COSTO2 V ARIABLE2;

    Variables: Los nombres de las variables en Lingo deben

    empezar con un caracter alfabetico, seguido de alfabeti-

    cos, numericos o , hasta un maximo de 32 caracteres.

    RestriccionesCOEF11 V AR1 = REC2;

    Comentarios: Comenzaran con el signo ad-miracion ! y terminaran con el signo de pun-

    tuacion ;

    Lingo no distingue entre letras en mayuscula o

    en minuscula.

  • Resolucion del modelo

    Para resolver el modelo, seleccionar SOLVE delcomando Lingo.

    Lingo comenzara a compilar el modelo. Si elmodelo no pasa la compilacion, aparecera unmensaje error.

    Ejemplo

    Max = 2 x+ y;x

  • Max 2x+ ys. a.

    x 33x+2y 5

    x, y 0

    que introduciendo variables de holgura, queda

    x + s1 = 3

    3x+2y + s2 = 5

    x, y, s1, s2 0

    x y s1 s2s1 1 0 1 0 3

    s2 3 2 0 1 5zj 0 0 0 0 0

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

    x 1 2/3 0 1/3 5/3zj 2 4/3 0 2/3 10/3

    zj cj 0 1/3 0 2/3

  • LINGO solver Status

    SOLVER STATUS

    Model Class Muestra el tipo de modelo (LP:Programacion Lineal; ILP: Programacion LinealEntera,...)

    State Muestra la situacion actual de la solu-cion (Global Opt: Optimo global; Infeasible: Nofactible; Unbounded: No acotada;...)

    Objective Valor de la funcion objetivo.

    Infeasibility Cantidad por la que no se verificanlas restricciones.

    Iterations Numero de iteraciones necesarias pa-ra su resolucion.

    VARIABLES Muestra el numero total de va-riables del modelo. Enteras y no Lineales.

    CONSTRAINTS Muestra el numero total derestricciones del modelo y cuales de ellas son nolineales.

    NONZEROS Muestra el numero de coeficien-tes no nulos en el modelo y cuales de ellos apa-recen en variables no lineales.

    GENERATOR MEMORY USED(K) Listala cantidad de memoria.

    ELAPSED RUNTIME (hh:mm:ss) Muestrael tiempo total usado para generar y resolver elmodelo.

  • Solution Report

    Esta pantalla contiene los detalles de la solucion

    del problema.

    Global optimal solution found

    Objective value: 3.333333

    Total solver iterations: 2

    Variable Value Reduced CostX 1,666667 0,0000000Y 0,0000000 0,3333334

    Row Slack or Surplus Dual Price1 3,333333 1,0000002 1,333333 0,00000003 0,0000000 0,6666667

  • Interpretar la Solucion

    Costo reducido: Indican cuanto tendra que

    mejorar cada uno de los coeficientes de la fun-

    cion objetivo antes de que la correspondiente

    variable de decision pueda tomar valor positivo

    en la solucion optima.

    Holgura o excedente: Nos dice lo proximo que

    estamos de satisfacer una restriccion. Si una

    restriccion es violada, como en una solucion in-

    factible, el valor de estas variables sera negativo.

    Precios duales: Mejora en el valor de la funcion

    objetivo por cada incremento unitario en el la-

    do derecho de una restriccion. 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 23X1+4X2 12

    Xi 0

    Max Z = 36X1+30X2 3X3 4X4

    s.a. X1+X2 X3 56X1+5X2 X4 10

    Xi 0

  • Ejemplo 1

    Max 3x1+2x2s. a.

    2x1+ x2 23x1+4x2 12

    x, y 0que introduciendo variables de holgura y artifi-ciales, queda

    2x1+ x2+ s1 = 2

    3x1+4x2 s2+A1 = 12x1, x2, s1, s2, A1 0

    Fase I: Max - A1

    x1 x2 s1 s2 A1s1 2 1 1 0 0 2

    A1 3 4 0 1 1 12zj 3 4 0 1 1 12

    zj cj 3 4 0 1 0x2 2 1 1 0 0 2

    A1 5 0 4 1 1 4zj 5 0 4 1 1 4

    zj cj 5 0 4 1 0

  • Ejemplo 2

    Max 36x1+30x2 3x3 4x4s. a. x1+ x2 x3 5

    6x1+5x2 x4 10x1, x2, x3, x4 0

    que introduciendo variables de holgura, queda

    x1+ x2 x3 + s1 = 56x1+5x2 x4 + s2 = 10

    x1, x2, x3, x4, s1, s2 0x1 x2 x3 x4 s1 s2

    s1 1 1 1 0 1 0 5

    s2 6 5 0 1 0 1 10zj 0 0 0 0 0 0 0

    zj cj 36 30 3 4 0 0s1 0 5/6 1 1/6 1 1/6 20/6

    x1 1 5/6 0 1/6 0 1/6 10/6zj 36 30 0 6 0 6 360/8

    zj cj 0 0 3 2 0 6x4 0 5 6 1 6 1 20

    x1 1 0 1 0 1 0 5zj 36 20 12 4 12 4 100

    zj cj 0 10 9 0 12 4

  • !PROBLEMA1;

    !Variables de decision:

    X1 = Bizcochos consumidos diariamente,

    X2 = Bolas de helado de chocolate consumidaspor da,

    X3 = Numero de botellas de refresco tomadasdiariamente,

    X4 = Porciones de Pastel de queso con pinapor da;

    !Funcion objetivo;

    MIN = 0.50X1+0.20X2+0.30X3+0.80X4;

    !Restriccion de caloras;

    400X1+200X2+150X3+500X4 >= 500;

    !Restriccion de chocolate;

    3 X1+ 2 X2 >= 6;

    !Restriccion de azucar;

    2 X1+ 2 X2+ 4 X3+ 4 X4 >= 10;

    !Restriccion de grasa;

    2 X1+ 4 X2+X3+ 5 X4 >= 8;

  • ! Problema 2;

    ! Variables de decision:

    X1 = Kilos de arroz,

    X2 = Kilos de pescado,

    X3 = Kilos de verdura;

    ! Funcion Objetivo;

    Min = 0.70 X1+ 1.20 X2+ 0.50 X3;

    ! Restriccion de caloras;

    200 X1+ 300 X2+ 100 X3 = 3;

  • !Problema 3;! Variables de decision:

    X1 = No de sesiones de destilacion con Tn,

    X2 = No de sesiones de destilacion con Ta;

    ! Funcion Objetivo;

    Max = 103 X1+ 110 X2;! Restriccion referida a la cantidad de Crudo,C1;

    7 X1+ 10 X2 = 300;

    ! Restricciones referidas a la demanda de gaso-lina super;

    5 X1+ 4 X2 = 800;

  • !Problema 4;

    ! Variables de decision:

    Xi = Numero de empleados que empiezan a

    trabajar el da i;

    !Funcion Objetivo;

    Min = X1+X2+X3+X4+X5+X6+X7;

    ! Numero de empleados requeridos para el Lu-

    nes;

    X1+X4+X5+X6+X7 >= 17;

    ! Numero de empleados requeridos para el Mar-

    tes;

    X1+X2+X5+X6+X7 >= 13;

    ! Numero de empleados requeridos para el Mierco-

    les;

    X1+X2+X3+X6+X7 >= 15;

    ! Numero de empleados requeridos para el Jue-

    ves;

    X1+X2+X3+X4+X7 >= 19;

  • ! Numero de empleados requeridos para el Vier-

    nes;

    X1+X2+X3+X4+X5 >= 14;

    ! Numero de empleados requeridos para el Saba-

    do;

    X2+X3+X4+X5+X6 >= 16;

    ! Numero de empleados requeridos para el Do-

    mingo;

    X3+X4+X5+X6+X7 >= 11;

  • !Problema 5;

    ! Variables de decision:

    X1 = Onzas de Brutte Regular vendidas anua-

    lmente, (no las producidas inicialmente)

    X2 = Onzas de Brutte Luxery vendidas anual-

    mente,(producidas)

    X3 = Onzas de Chanelle Regular vendidas anua-

    lmente, (no las producidas inicialmente)

    X4 = Onzas de Chanelle Luxery vendidas anua-

    lmente, (producidas)

    X5 = Libras de materia prima compradas;

    ! Funcion Objetivo;

    Max = 7 X1+ (18 4) X2+ 6 X3+ (144) X4 3 X5;

    ! Horas de laboratorio disponibles;

    3 X2+ 2 X4+X5

  • ! Restricciones referentes a la cantidad de pro-

    ductos disponibles para la venta;

    X1+X2 3 X5 = 0;

    !(X1+X2 = 3X5);

    X3+X4 4 X5 = 0;

    !(X3+X4 = 4X5);

    ! Limitacion de materia prima;

    X5

  • !Problema 6;

    ! Variables de decision:

    X1 = Euros invertidos en Atlantic Oil,

    X2 = Euros invertidos en Pacific Oil,

    X3 = Euros invertidos en Midwest Steel,

    X4 = Euros invertidos en Huber Steel,

    X5 = Euros invertidos en Bonos gubernamen-

    tales;

    ! Funcion Objetivo;

    Max = 0,073 X1+ 0,103 X2+ 0,064 X3+0,075 X4+ 0,045 X5;

    !Especificamos la inversion de los 100.000 eu-

    ros;

    X1+X2+X3+X4+X5

  • !Los Bonos deben ser al menos 25%;

    0,25 X3 0,25 X4+X5 >= 0;

    !(X5 0,25(X3+X4));

    !Inversion en Pacific Oil no puede ser mas del

    60%;

    0,6 X1+ 0,4 X2

  • !Problema 7;

    ! Variables de decision:

    X1 =Millones de euros invertidos en Prestamos

    personales ,

    X2 = Millones de euros invertidos en Prestamos

    para automovil,

    X3 =Millones de euros invertidos en Prestamos

    para vivienda,

    X4 =Millones de euros invertidos en Prestamos

    agrcolas,

    X5 =Millones de euros invertidos en Prestamos

    comerciales;

    ! Funcion Objetivo;

    Max = 0,026 X1+0,0509 X2+0,0864 X3+0,06875 X4+0,078 X5;

    !(0,14(0,9X1)+0,13(0,93X2)+0,12(0,97X3)+

    0,125(0,95X4)+0,1(0,98X5)0,1X10,07X20,03X3 0,05X4 0,02X5);

  • ! Fondos totales;

    X1+X2+X3+X4+X5 = 4,8;

    !(40% de12) );

    ! Prestamos para viviendas;

    0,5 X1 0,5 X2+ 0,5 X3 >= 0;

    !(X3 0,5(X1+X2+X3));

    ! Razon total de los creditos malos;

    0,06 X1+ 0,03 X2 0,01 X3+ 0,01 X40,02 X5

  • !Problema 8;

    ! Variables de decision:

    X1 = Numero de unidades para una sola familia,

    X2 = Numero de unidades para dos familias,

    X3 = Numero de unidades para tres familias,

    X4 = Numero de areas recreativas;

    ! Funcion Objetivo;

    Max = 10000 X1+ 12000 X2+ 15000 X3;

    ! Viviendas de una sola familia (Ap. 1);

    0,5 X1 0,5 X2 0,5 X3 >= 0;

    !(X1 0,5(X1+X2+X3));

    ! Uso del suelo (Ap 2, parte de 3 y texto despues

    de 4);

    2 X1+ 3 X2+ 4 X3+X4

  • ! Areas recreativas (parte de Ap. 3);

    X1 2 X2 3 X3+ 200 X4 >= 0;

    !(X4 X1+2X2+3X3200 );

    ! Capital;

    1000X1+1200X2+1400X3+800X4 >=100000;

    ! Consumo de agua;

    400 X1+ 600 X2+ 840 X3+ 450 X4

  • Analisis de sensibilidad

    Despues de resolver el problema, usamos el coman-

    do Range del menu LINGO para generar un

    informe de rangos para el modelo activo. Tal

    informe muestra en que rango se puede:

    Cambi