Click here to load reader

Lingo Tutorial

  • View
    219

  • Download
    5

Embed Size (px)

DESCRIPTION

operativa, 1, san marcos

Text of Lingo Tutorial

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Tutorial SOFTWARE LINGO

    MSc. Ing Ezzard Omar Alvarez Daz

    Universidad Nacional Mayor de San MarcosFacultad de Ingeniera Industrial

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Qu es LINGO?

    LINGO (Linear, INteractive, and General

    Optimizer).

    Es una herramienta simple para utilizar la

    optimizacin lineal, no-lineal y enteros.

    Permite formular problemas de gran

    tamao en forma concisa.

    Permite resolverlos

    Permite analizar los resultados

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Creando un Modelo LINGO

    En general, un modelo de optimizacin

    consiste de 3 partes :

    Funcin Objetivo

    Una sola frmula que describe exactamente que es lo que

    se desea optimizar.

    Variables

    Cantidades que pueden ser cambiadas para producir el

    valor ptimo de la funcin objetivo

    Restricciones

    Frmulas que definen los lmites de los valores de las

    variables

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    UN EJEMPLO Una empresa fabrica tres productos 1,2 y 3. Cada producto

    requiere tiempos de produccin en tres departamentos

    como se ilustra en la siguiente tabla :

    Prod. Depart. 1 Depart. 2 Depart. 3 Benef.

    1 3 hrs./unid. 2 hrs./unid. 1 hr./unid. $ 2

    2 4 hrs./unid. 1 hr./unid. 3 hr./unid. $ 4

    3 2 hrs./unid. 2 hr./unid. 3 hr./unid. $ 2.5

    Hrs.

    Total

    600 horas 400 horas 300 horas

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Modelo

    0,,

    30033

    40022

    600243

    .

    5.242

    321

    321

    321

    321

    321

    xxx

    xxx

    xxx

    xxx

    as

    xxxMax

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Modelo LINGOCada Lnea en LINGO debe terminarse con un punto y coma

    ; . Tu modelo no se resolver sin ellos.

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Modelo LINGO

    ;30033

    ;40022

    ;600243

    ;5.242 max

    321

    321

    321

    321

    xxx

    xxx

    xxx

    xxx

    Ya que los computadores no tienen el smbolo , LINGO

    Adopt la convencin de usar los caracteres .

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Modelo LINGOTambin podemos incluir al modelo LINGO comentarios, de

    tal manera que mejore la legibilidad de ste.

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Sintaxis general de LINGO

    Una expresin puede ser escritas en muchas lneas, pero la expresin debe ser terminada por un punto y coma. Por ejemplo, podramos haber utilizado dos lneas para la funcin objetivo.

    LINGO no diferencia entre letras maysculaso minsculas. Por lo tanto, los siguientesnombres de variables podran serequivalentes.

    TURBO, Turbo, turbo

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Sintaxis general de LINGO

    Cuando se le dan nombres a las variables en LINGO, todos los nombres deben comenzar con un caracter (A-Z). Los otros pueden ser alfabticos, numricos o el smbolo _. Los nombres pueden tener una longitud de 32 caracteres.

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Resolviendo un modelo LINGO

    Una vez que el modelo ha sido entrado en la

    ventana modelo , ste puede ser resuelto

    mediante :

    Un click en el botn solve

    Seleccionando solve del men LINGO

    Utilizando la tecla ctrl-s

    Si existen errores, stos sern informados

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Ventana de Status del Solver

    LINGO Si no se encontraron errores, la ventana del

    status del solver de LINGO aparece.

    Aparece tambin el informe de la

    solucin.

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Utilizando el Lenguaje de

    Modelamiento Una de las caractersticas ms poderosas de

    LINGO es su lenguaje de modelamiento

    matemtico.

    El lenguaje de modelamiento de LINGO

    permite expresar tu problema de una

    manera natural que es muy similar a la

    notacin matemtica.

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Powerco tiene tres plantas de generacin de energaelctrica que suministran energa requerida a cuatrociudades. Cada planta puede suministrar las siguientescantidades de kilowatt-hora (kwh) de energa elctrica : laplanta 1, 35 millones; la planta 2, 50 millones; la planta 3,40 millones. Las demandas mximas de energa en estasciudades, que se presentan al mismo momento (2 p.m.)son las siguientes (en kwh): la ciudad 1, 45 millones; laciudad 2, 20 millones; la ciudad 3, 30 millones; la ciudad4; 30 millones. Los costos para enviar 1 milln de kwh deenerga de una planta a una ciudad depende de la distanciaque la energa tiene que viajar. Formule un PL queminimice el costo para satisfacer la demanda mxima deenerga de cada ciudad.

    Utilizando el Lenguaje de

    Modelamiento

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Utilizando el lenguaje de

    modelamiento

    C1

    (US$)

    C2

    (US$)

    C3

    (US$)

    C4

    (US$)

    Oferta

    P1 8 6 10 9 35

    P2 9 12 13 7 50

    P3 14 9 16 5 40

    Deman

    da

    45 20 30 30

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Modelo

    i,jx

    jDx

    iOx

    as

    xcz

    ij

    j

    j

    ij

    i

    iij

    ij

    0

    1,2,3,4

    1,2,3

    .

    minij

    ij

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Funcin Objetivo

    ij

    ijxc ijmin

    Lenguaje modelo LINGO

    MIN = @SUM(ARCOS(I,J) : C(I,J) * X(I,J));

    Notacin

    Matemtica

    Sintaxis LINGO

    min MIN =

    @SUM(ARCOS(I,J) :

    cij C(I,J)

    xij X(I,J));

    ij

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Las Restricciones de oferta

    iOx ij

    ij

    @FOR(PLANTAS(I) : @SUM(CLIENTES(J):X(I,J))

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Las Restricciones de demanda

    jDx ji

    ij

    @FOR(CLIENTES(J) : @SUM(PLANTAS(I):X(I,J))

    >=D(J));

    Notacin

    Matemtica

    Sintaxis LINGO

    @FOR(CLIENTES(J) :

    @SUM(PLANTAS(I) :

    xij X(I,J)

    Dj D(J));

    i

    j

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    EL MODELO LINGO ES

    MODEL :

    MIN = @SUM(ARCOS(I,J) : C(I,J) * X(I,J));

    @FOR(PLANTAS(I) :

    @SUM(CLIENTES(J):X(I,J))=D(J));

    END

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Definiendo los conjuntosTenemos los siguientes conjuntos a definir :

    PLANTAS

    CLIENTES

    ARCOS

    SETS:

    PLANTAS / P1 P2 P3/ : O;

    CLIENTES / C1 C2 C3 C4/ : D;

    ARCOS(PLANTAS,CLIENTES) : C,X;

    ENDSETS

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    COLOCANDO LOS DATOS

    DATA:

    O = 35 50 40;

    D = 45 20 30 30;

    C = 8 6 10 9

    9 12 13 7

    14 9 16 5;

    ENDDATA

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    MODELO LINGO

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    CARACTERISTICAS

    ADICIONALES

    PODEMOS COLOCARLES NOMBRES A NUESTRA

    FUNCION OBJETIVO, RESTRICCIONES Y UN TITULO

    AL MODELO

    Ejemplo 1: [objetivo] MIN = X;

    Ejemplo 2: @FOR(PLANTAS(I) : [oferta_planta]

    @SUM(CLIENTES(J):X(I,J))

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Problema

    Almacn

    Fbrica

    1 2 3 4 Oferta

    1 12 13 10 11 10

    2 10 12 14 10 9

    3 14 11 15 12 7

    Demanda 6 5 7 8 26

    Costos de transporte por unidad

  • Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Inv

    esti

    gac

    in

    Op

    era

    tiv

    a I

    Usando Conjuntos (Sets)

    Sets son simplemente grupos de objetos relacionados.

    Un conjunto (set) puede ser una lista de productos, camiones o empleados.

    Cada miembro del conjunto puede tener una o ms caractersticas relacionadas con l.

    Estas caractersticas se conocen bajo el nombre de atributos.

    Los valores de los atributos pueden ser conocidos o desconocidos.

  • Inv

    esti

    gac

    in

Search related