io-solución de un pl usando lingo8-(i).docx

Upload: edson-arturo-quispe-sanchez

Post on 09-Apr-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 IO-solucin de un PL usando LINGO8-(I).docx

    1/11

    UNIVERSIDAD NACIONAL DE INGENIERIA

    Facultad de Ingeniera Industrial y de Sistemas

    AREA DE SISTEMAS

    INVESTIGACION DE OPERACIONES I(ST-113V)

    USO BASICO DE LINGO EN MODELOS DEPROGRAMACION LINEAL

    PROFESORA : Ing. IRMA INGA SERRANO

  • 8/8/2019 IO-solucin de un PL usando LINGO8-(I).docx

    2/11

    SOLUCION DE UN MODELO USANDO LINGO

    LINGO es una herramienta que se utiliza para solucionar problemas grandes deoptimizacin de programacin lineal y no lineal.El LINGO soluciona: ;

    M ODELOS EXPLICITOS: es el modelo en el cual aparece escrito como unafuncin lineal tanto la funcin objetivo como cada una de las restricciones delmodelo (como lo hace el LINDO).

    M ODELO CO M PACTO O CO M PRI M IDO: es aquel modelo que por suestructura, tanto la funcin objetivo como sus restricciones pueden ser expresadosen forma compacta utilizando funciones matemticas. Para ello LINGO utiliza sulenguaje de modelacin.

    USO DE LINGO EN PROBLEMAS DE PROGRAMACION LINEAL

    USO DEL LINGO en MODELOS EXPLICITOS

    Para problemas de programacin lineal en las que no existen grupos de restriccionessimilares, vamos a escribir el modelo en forma explcita. Esto se presenta en muchos

    problemas de programacin lineal diversos.El LINGO puede funcionar como el LINDO bajo ciertas reglas de sintaxis diferentes.Ejemplo:Se desea hallar la solucin ptima con anlisis de sensibilidad del siguiente modelo:

    M ax Z= 3X1 + 2X2 + 3X3s.a.2X1 + X2 + X3 = 60X1 + X2 >= 8X1, X2 >=0

    PASOS1.- ESCRIBIR EL MODELO EN LINGOa).- Cargar el programa LINGO, cuya pantalla debe lucir como sta:

  • 8/8/2019 IO-solucin de un PL usando LINGO8-(I).docx

    3/11

    b).- Escribir el modelo tomando en cuenta las siguientes consideraciones bsicas:y Variab les : LINGO supone que todas la variables son mayor o igual a cero.y El nombre de las variables puede ser de hasta 32 caracteres empezando con un

    carcter alfabtico.y Rest ricci ones: Las restricciones tipo se escriben como > >=, las

    restricciones tipo como <

  • 8/8/2019 IO-solucin de un PL usando LINGO8-(I).docx

    4/11

    b) .- Vent ana de Est ado de l a Solu ci nSi no hay errores, se despliega la ventana de estado de la solucin, til para monitorear el progreso de la solucin y las dimensiones del modelo.

    El marco VARIABLES muestra el nmero total de variables en el modelo y de ellas elnmero de variables que no son lineales y el nmero de variables enteras en el modelo.

    Nota: El conteo de variables no incluye aquellas que tienen un valor fijo. Ejm. X=4

    El marco CONSTRAINTS muestra el total de restricciones y el nmero de stas que noson lineales. No cuenta las restricciones consideradas fijas (aquellas en la que todas susvariables son fijas).

    En el marco NONZEROS muestra el nmero total de coeficientes distintos de cero en elmodelo y stos cuantos estn asociados a variables no lineales.

    El marco GENERATOR M EM ORY USED indica la cantidad de memoria que elgenerador del modelo LINGO est actualmente usando de su memoria compartida.

    El marco ELAPSED RUNTI M E muestra el total de tiempo usado hasta el momento para generar y resolver el modelo.

    El marco SOLVER STATUS muestra el estado actual de optimizacin:STATE: Indica el estado actual de solucin. Puede ser: Global Optimum(Optimo Global), Local Optimum (Optimo Local), Feasible (Factible),Infeasible (Infactible), Unbounded (No Acotado), Interrupted

    (Interrumpida) y Undetermined (Indeterminada)OBJECTIVE: Valor Actual de la Funcin ObjetivoINFEASIBILITY: Cantidad en la que las restricciones estn sobrepasadas.ITERATIONS: Nmero de iteraciones realizadas para llegar a la solucin actual

    El marco EXTENDED SOLVER STATUS: muestra informacin para modelos de programacin entera.

    BEST OBJ: Valor de la funcin objetivo para la mejor solucin entera hallada.OBJ BOUND: Lmite terico de la Funcin Objetivo

  • 8/8/2019 IO-solucin de un PL usando LINGO8-(I).docx

    5/11

    c).- Repo r te de l a Solu ci nCuando LINGO ha terminado de resolver el modelo, se crear una nueva ventanaReporte de la Solucin, conteniendo los detalles de la solucin del modelo.

    3.- ANALISIS DE SENSIBILIDADM en LINGO Range

    Si esto no funciona entonces haga previamente lo siguiente:M en LINGO Options General Solver Dual Computations : price & ranges

    4.- GUARDAR SU M ODELOM en save as

    5.- I M PRI M IR M en print

    Imprime la ventana activa (la que est mas adelante)

  • 8/8/2019 IO-solucin de un PL usando LINGO8-(I).docx

    6/11

    USO DE LINGO EN PROGRAMACION LINEAL ENTERA

    Los pasos son los mismos que para la programacin lineal; al finalizar el modelo sedebe colocar las restricciones para las variables enteras.Ejemplo:Supongamos que tenemos el siguiente modelo de programacin entera en la cual::

    X1 es binaria (solo toma valores 0 1), X2 es real , X3 es entera.El modelo escrito en LINGO sera:

    max = 3*x1+2*x2+3*x3;!restricciones; 2*x1+x2+x3= 63;x1+x2>=8;@gin (x3);@bin (x1);

    La solucin para este modelo es:

  • 8/8/2019 IO-solucin de un PL usando LINGO8-(I).docx

    7/11

    USO DE LINGO en MODELOS COMPRIMIDOS

    M uchos modelos de programacin lineal o programacin lineal entera presentan gruposde restricciones que tienen la misma estructura, lo cual hace posible que se puedaescribir en forma comprimida, usando funciones matemticas. Entre estos modelostenemos: Problemas de transporte, Problemas de asignacin, Problemas de transbordo,

    Problemas de redes (flujo mximo, ruta mas corta, flujo de costo mnimo, etc) y Otros.En estos modelos se puede hacer uso del lenguaje de modelacin de LINGO

    LENGUAJE DE MODELACION DE LINGOEs un lenguaje matemtico de modelacin, el cual permite expresar el problema enforma natural y muy similar a la notacin matemtica estndar. En vez de ingresar cadatrmino de cada restriccin en forma explcita, usted puede expresar una serie completade restricciones similares en una expresin compacta, nica. Esto permite trabajar conmodelos mas fciles de mantener y acrecentar.Otra de las caractersticas importantes del lenguaje de modelacin LINGO es el uso delos SETS y la seccin DATOS.

    SetsCada vez que usted modela un sistema real, encontrar uno o mas conjuntos (sets) deobjetos relacionados. Ejemplos caractersticos de sets son: Fbricas, almacenes, clientes,vehculos, empleados, etc. En modelos de red, se representan por los nodos.Una caracterstica importante del set es que si una restriccin es aplicable a un miembrodel set, entonces ser aplicable a todos los miembros del set.En la seccin SETS se definen los sets del modelo . A cada set se le da un nombre, seindican sus miembros (en forma explcita o en forma implcita) y los atributos de cadamiembro del set

    Da tosLINGO permite al usuario aislar los datos del modelo. Los datos corresponden a losatributos de cada uno de los sets, a excepcin de los que son las variables.LINGO puede incluso leer datos desde una hoja de clculo separada, de una base dedatos o un archivo de texto. Con datos separados del modelo es mucho mas fcil derealizar cambios y hay menos probabilidad de cometer errores cuando los haga.

    NOTA IMPORTANTE El lenguaje de modelacin de LINGO cuenta con una serie de funciones

    predefinidas, las cuales pueden ser llamadas para utilizarlas. Ejemplo de funcionesmuy utilizadas son: SU M y FOR

    Como cualquier lenguaje, posee sus propias reglas de sintaxis para la escritura delos modelos. As por ejemplo: para llamar a una funcin utiliza el smbolo @.

    Ejemplo @SUM

    () que indica que se debe sumar lo que se encuentra entre los parntesis. Las variables del modelo se encuentran presentes como uno de los atributos del

    SET que representan a los ARCOS del modelo.En la seccin DATA se dan los valores de los atributos de los sets (excepto los querepresentan las variables del modelo).

    En la solucin del modelo, LINGO presenta como variables a todos los atributos delos sets. Los valores de stos (excepto el de las variables del modelo), son valoresque se les ha dado en la seccin DATA.

  • 8/8/2019 IO-solucin de un PL usando LINGO8-(I).docx

    8/11

    PROBLEMA DE TRANSPORTELa Compaa WP tiene 4 almacenes que abastece de telfonos inalmbricos a 5 clientesde este producto. Cada almacn tiene una disponibilidad que no puede ser excedida ycada cliente tiene una demanda que debe ser satisfecha. WP desea determinar cuntostelfonos debe despachar desde cada almacn a cada cliente para minimizar el costo

    total de transporte.En la siguiente tabla se da los datos de los costos unitarios de transporte de cadaalmacn a cada cliente, as como las disponibilidades de cada almacn y las demandasde cada cliente.

    CLIENTEAlmacn 1 2 3 4 5 Disponibilidad

    1 6 2 6 7 4 602 4 9 5 3 8 553 5 2 1 9 7 504 7 6 7 3 9 45

    Demanda 35 37 25 32 41

    FOR M ULACIONSea Xij la cantidad de telfonos a enviar del almacn i al cliente j (i= 1,2,3,4 ;

    j=1,2,3,4,5)

    M in Z= 6X11+2X12+6X13+7X14+4X15+4X21+9X22+ ..+ 3X44+9X45s.a.Restricciones de ofertaX11+X12+X13+X14+X15 =41

    Restricciones de signoXij >=0

    Este modelo podemos es cribir en fo r ma comp ac ta :M in Z= 7 Costoij Xijs.a.7 j Xij = demandaj ; jSignoXij>=0

  • 8/8/2019 IO-solucin de un PL usando LINGO8-(I).docx

    9/11

    F ORMULACION del modelo EN LINGOEl lenguaje de modelacin LINGO permite traducir las notaciones matemticas.Ejemplo

    F un ci n O b jet ivoEn notacin matemtica:M in Z= 7 ij Costoij XijEn LINGO: (Ojo: Se va a sustituir la variable X por la variable desp ach o ) M IN = @ sum(arco(i,j): costo(i,j)*despacho(i,j));

    L as r est ricci ones de ofe r ta :En notacin matemtica:7 j Xij

  • 8/8/2019 IO-solucin de un PL usando LINGO8-(I).docx

    10/11

    SOLUCION DEL MODELO DE TRANSPORTE us ando LINGOPASOS1.- Cargar el programa LINGO2.- Escribir el modelo y se obtiene la siguiente ventana:

    3.- Solu ci n del Modelo: M en LINGO solve

    Si existen errores de sintaxis aparece la ventana de mensaje de errores y usted debecorregirlos y nuevamente al paso 3.

    Si no existen errores de sintaxis, aparece la ventana de estado solucin, en el que se puede observar el valor ptimo de la funcin objetivo. (Zoptimo= 499)

  • 8/8/2019 IO-solucin de un PL usando LINGO8-(I).docx

    11/11

    4.a. En la ventana Repo r te de l a Solu ci n aparece la solucin del modelo en la que semuestra los valores de las variables. Todos los atributos definidos en SETS sonconsiderados como variables.De todas las variables mostradas, nos interesa los valores de las variables DESPACHOijque dan solucin al modelo. Los valores de las otras variables (atributos) son los que leshemos asignado en la seccin DATA

    4.b.- Si deseamos que LINGO nos muestre solamente los valores de las variablesDESPACHO cuyos valores sean distintos a cero:

    M en LINGO solutionCampo: At rib ute o r r ow n ame seleccione DESPACHO Campo: Type of output : seleccione text M arque Nonze r os Only

    Aparece la ventana con las variables del modelo cuyo valor es diferente de cero:

    4.c. Si deseamos que LINGO nos muestre los valores de todas las variablesDESPACHO (incluyendo las que tienen valor cero) entonces en la ventana anterior deshabilite Nonzeros Only.