Lingo (Software)

download Lingo (Software)

of 8

description

Introducción al software LINGO.................................................................................................................

Transcript of Lingo (Software)

  • Optimitzaci Curs 2006/2007Assignatura dEstadstica, UAB

    LINGO - Parte 1

    Introduccin a LINGO

    Una de las caractersticas ms potentes de LINGO, es el lenguaje de modelacin matemtica. Este lenguaje permite expresar el problema de una manera natural, similar a la notacin matemtica standard. Adems de poder ingresar cada trmino de cada restriccin explcitamente, LINGO permite expresar una serie de restricciones similares en una sola sentencia compacta.

    Ejemplo 1Una fbrica que tiene dos plantas localizadas en las ciudades A y B, necesita suministrar un determinado producto a tres almacenes situados en las ciudades C, D y E. Las plantas A y B pueden suministrar semanalmente 80 y 90 unidades del producto, respectivamente. Los almacenes necesitan semanalmente 40, 50 y 80 unidades del producto para satisfacer su demanda. Los costes de transporte por unidad de producto se recogen en la tabla siguiente:

    Ciudad

    C D E

    A 5 3 4

    B 6 7 2

    El problema consiste en determinar cuntas unidades del producto se debern transportar desde cada planta a cada almacn, de forma que se minimice el coste total de transporte.

    Denotando por AC, AD, AE las unidades enviadas de la planta A hacia los almacenes C, D y E, respectivamente, y por BC, BD, BE las unidades enviadas de la planta B hacia los almacenes C, D y E, respectivamente, la formulacin del problema de programacin lineal asociado es la siguiente:

    Minimizar 5AC+3AD+4AE+6BC+7BD+2BESujeto a:AC+AD+AE=50AE+BE>=80AC, AD, AE, BC, BD, BE>=0

    Las dos primeras restricciones imponen que la cantidad suministrada en las plantas Ay B no supere su disponibilidad semanal, mientras que las tres siguientes imponen quese cubra el requerimiento mnimo en los almacenes C, D y E.

    1

  • Modelo en LINGOLa escritura del modelo en LINGO se basa en las siguientes reglas:

    a) La funcin objetivo va precedida de max= o min= y finaliza en ; al igual que cada una de las restricciones.

    b) Las desigualdades pueden escribirse de forma estricta, aunque LINGO las interpreta siempre como =, segn el caso.

    c) No es necesario introducir las restricciones de no negatividad, si las hubiera, ya que LINGO las considera por defecto.

    d) Es necesario indicar el producto con *.e) LINGO no distingue entre maysculas y minsculas, por lo que es lo mismo ESTADISTICA

    que estadstica y que EsTADstiCA.f) Los nombres de las variables deben comenzar con un carcter alfabtico (A-Z), los

    siguientes caracteres pueden ser alfabticos, numricos o subrayado (_). Los nombres pueden ser de hasta 32 caracteres de longitud.

    Ejercicio 1

    Abra el editor del LINGO y escriba el modelo matemtico del problema del ejemplo 1, teniendo en cuenta las reglas del LINGO.

    El modelo puede escribirse como sigue:

    MIN = 5*AC+3*AD+4*AE+6*BC+7*BD+2*BE;AC+AD+AE50;AE+BE>80;

    Nota: a) Cada lnea en LINGO finaliza con un punto y coma. Los punto y coma son requeridos. El

    modelo no se resolver si falta algn punto y coma.

    b) Una expresin puede abarcar mas de una lnea, por ejemplo:MIN = 5*AC+3*AD+4*AE+6*BC+7*BD+2*BE;

    Se pueden introducir comentarios, que sern ignorados por LINGO, comenzando con un signo de exclamacin ! y terminando con un punto y coma. Los comentarios tambin pueden ocupar varias lneas.

    Por ejemplo:AC+AD+AE

  • Adems se puede asignar un nombre a cada restriccin, como en el LINDO.Por ejemplo, escribiendo

    [R1] AC+AD+AE

  • lineal en el modelo. Mientras mas variables no lineales y enteras contenga el modelo, mas difcil ser resolverlo de forma ptima en un tiempo razonable. Los modelos lineales puros sin variables enteras tienden a resolverse mas rpidamente.La cuenta de variables no incluye las que LINGO determina como de valor fijo, por ejemplo: dadas las restriccionesX = 1;X + Y = 3;LINGO determina por la primera restriccin que X est fija en 1, y, usando esta informacin, deduce que Y est fija en 2. X e Y sern entonces excluidas del modelo.

    En el recuadro "Constraints" se muestra la cantidad total de restricciones y el nmero de stos que son no lineales. Una restriccin es considerada no lineal si una o mas variables aparecen de forma no lineal en la restriccin.

    El recuadro "Nonzeros" muestra el total de coeficientes distintos de cero que aparecen en el modelo y el nmero de estos que aparecen en variables no lineales.

    El recuadro "Generator Memory Used" muestra la cantidad de memoria que est utilizando LINGO para resolver el modelo.

    El recuadro "Elapsed Runtime" muestra el tiempo total utilizado para generar y resolver el modelo.

    El recuadro "Optinizer Status" muestra el estado actual del optimizador:

    Campo DescripcinState Estado de la solucin actual, puede ser

    "Global optimum", "Local optimum", "Feesible", "Unbounded", "Interrupted", "Undetermined"

    Iterations Numero de iteracionesInfeasibility Cantidad de veces que es violada una

    restriccinObjetive Valor actual de la funcin objetivoBest IP Valor de la funcin objetivo de la mejor

    solucin entera encontrada (solo en modelos de programacin entera)

    IP Bound Lmite terico de la funcin objetivo para modelos de programacin entera.

    4

  • Cuando LINGO termine de resolver el modelo, crear una nueva ventana con el ttulo Solution Report (Informe de la solucin), conteniendo los detalles de la solucin:

    Costo Reducido:En el informe de la solucin se encuentra un valor de costo reducido para cada variable. Como hemos visto en LINDO, hay dos interpretaciones vlidas y equivalentes para el costo reducido.

    a) Primero se puede interpretar como el monto por el cual el coeficiente objetivo de la variable se debera incrementar antes de hacerse provechoso darle a la variable en cuestin un valor positivo en la solucin ptima. Por ejemplo, si la variable tuviera un costo reducido de 10, el coeficiente objetivo de esta variable deber incrementarse en 10 unidades en un problema de maximizacin o disminuirse en 10 unidades en un problema de minimizacin para convertirse en una alternativa atractiva. Una variable en la solucin ptima automticamente tiene un costo reducido de 0.

    b) Segundo, el costo reducido de una variable se puede interpretar como el monto de penalizacin que habr que pagar por introducir una unidad de esa variable en la solucin. Como antes, si la variable tuviera un costo reducido de 10, habr que pagar una penalizacin de 10 unidades para introducir la variable en la solucin. En otras palabras, el valor objetivo caer en 10 unidades en un modelo de maximizacin, o se incrementar 10 unidades en un problema de minimizacin.

    Los costos reducidos son vlidos slo dentro de un rango de valores.

    5

  • Holgura o excedenteLa columna Slack or Surplus en el informe de la solucin de LINGO (como en LINDO) muestra que tan cerca se est de satisfacer una restriccin como una igualdad. Esta cantidad, en restricciones de menor o igual, se denomina generalmente holgura. En restricciones de mayor o igual se la llama excedente.Si una restriccin es exactamente satisfecha como una igualdad, la holgura o excedente valdr cero. Si una restriccin es violada, este valor ser negativo. Esto ayuda a encontrar las restricciones violadas cuando en el modelo no existe un conjunto de valores para las variables que satisfacen simultneamente todas las restricciones.

    Precio Dual.El informe de la solucin de LINGO tambin da un valor de precio dual para cada restriccin. El precio dual se puede interpretar como el monto en que la funcin objetivo mejorar si el segundo miembro de la restriccin se incrementase una unidad. Al igual que los costos reducidos, los precios duales son vlidos slo dentro de un rango de valores.

    Como puede observarse en la ventana de estado del LINGO, para minimizar los costes de transporte han de enviarse 30 unidades de la planta A al almacn C y el resto, es decir 50, al almacn D. En la planta B se ha de asignar 10 unidades al almacn C y el resto (80) al E.

    El coste de transporte mnimo es 520.

    Como puede observarse, todas las holguras son nulas.

    6

  • Anlisis de sensibilidad

    Para hacer un anlisis de sensibilidad de nuestro ejemplo hay que seleccionar el comando Range del men del LINGO

    Aparece la ventana siguiente:

    Se puede observar a) el rango de variacin permitido de cada coeficiente (tolerancia) en la funcin objetivo

    (objective coefficient ranges) para que, permaneciendo inalterados el resto de ellos, la solucin del problema primal no cambie.

    b) el rango de variacin permitido (tolerancia) en el trmino independiente de cada restricciones (righthand side changes`) para que, permaneciendo inalterados el resto, la solucin siga siendo la misma.

    Por ejemplo, el coste unitario de transporte entre las ciudades A y C puede variar en el intervalo [2,6] sin que la solucin del problema cambie. (Para la variable AC=5.0 en el ptimo, Allowable Coefficient Increase=1.0 y Allowable Coefficient Decrease =3.0)

    De forma similar, la produccin en la planta A puede variar en el intervalo [80,90] y los precios duales seguiran siendo los mismos.(RHS valor en el lado derecho de la primera restriccin= 80, Allowable RHS Increase=10.0 y Allowable RHS Decrease =0.0)

    7

  • Ejercicio 2Una empresa de refrescos produce dos tipos de bebidas con sabor de naranja: de bajo contenido en azcar y de contenido normal, denominadas naranjada ligera y naranjada extra, respectivamente. Para su fabricacin se emplean tres procesos productivos (designados como P1, P2 y P3) siendo, en cada uno de ellos, el nmero de horas empleado por unidad de bebida producida los que figuran en la tabla, en la cual se recogen tambin los beneficios unitarios por unidad vendida de refresco.

    Proceso Naranjada ligera Naranjada extra

    P1 6 8

    P2 4 3

    P3 5 4

    Beneficio unitario 6.5 8

    Las caractersticas del proceso de produccin dan lugar a que por cada unidad de naranjada ligera se generen 3 unidades de residuo que deben eliminarse, con un coste unitario de 0.25 euros. Anlogamente, por cada unidad de naranjada extra se obtienen 1.5 unidades de cierto subproducto, que puede venderse con un beneficio unitario de 1.5 euros. Sin embargo, la cantidad sobrante de subproducto que no haya podido colocarse en el mercado debe eliminarse, con un coste unitario de 0.75 euro.

    La demanda prevista de subproducto es, como mucho, de 15 unidades y que los tiempos de produccin disponibles son de 350 horas para P1, 300 horas para P2 y 320 horas para P3.

    a) Formular un problema lineal que proporcione el plan de produccin con mximo beneficio.

    Supongamos que

    NL : unidades de naranjada ligera que se van a fabricar

    NE : unidades de naranjada extra que se van a fabricar

    RE : unidades de residuo que se deben eliminar

    SB : unidades de subproducto (de naranjada extra) que se van a producir

    SE : unidades de subproducto que no haya podido colocarse en el mercado

    El beneficio de la compaa (funcin objetivo) es 6.5*NL+8*NE+1.5*SB -0.25*RE-0.75*SE

    Y las restricciones del problema son:6*NL+8*NE