MANUAL LINGO 2.pdf

Embed Size (px)

Citation preview

  • 7/29/2019 MANUAL LINGO 2.pdf

    1/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    1

    Erica CanizoPaolaLucer

    Presentaremos dos tipos de programas para resolver modelos de programacin lineal.

    LINGO

    Generalidades

    LINGO: (LINear Generalize Optimizer) es una herramienta simple paraformular problemas lineales y no lineales, resolverlos y analizar su solucin. El resultadoque LINGO nos proporciona es la optimizacin que nos ayuda a encontrar el mejorresultado: la ganancia ms alta, o el costo ms bajo. A menudo estos problemas involucranel uso ms eficiente de los recursos. Los problemas de optimizacin son clasificados a

    menudo como lineales o no lineales, dependiendo si las relaciones en el problema sonlineales con respecto a las variables.

    Uno de los rasgos ms poderosos de LINGO es su aplicacin en el lenguaje demodelo matemtico. El cual permite expresar un problema de una manera muy similar a laanotacin matemtica normal pudiendo tambin, expresar una serie entera de restriccionesen una declaracin compacta. Esto lleva a modelos que son mucho ms fciles demantener.

    Otro aspecto es la seccin de los datos, que le permite aislar los datos de laformulacin del modelo. De hecho LINGO puede leer datos incluso de una hoja de clculo

    separada, base de datos, o archivo de texto. Con datos independientes del modelo, es muchoms fcil de hacer cambios, y hay menos oportunidad de error cuando se realiza el modelo.

    Sintaxis de LINGO

    La sintaxis que se utiliza en este programa es muy sencilla. Para el nombre delas variables se establece que deben tener 32 caracteres como mximo, Deben comenzarcon una letra seguido de letras, dgitos o _ . El compilador de LINGO no distingue entremaysculas y minsculas.

    Con respecto a las sentencias:

    Todas las sentencias deben terminar en un punto y coma.Para darle un nombre a la funcin objetivo o a las restricciones, estos se deben

    colocar entre corchetes.Para declarar la funcin objetivo debemos colocar las palabras reservadasMAX

    oMIN, resaltadasen azul, seguidas del signo =.Los comentarios deben comenzar con un signo !, los cuales son resaltados en

    verde.

  • 7/29/2019 MANUAL LINGO 2.pdf

    2/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    2

    Erica CanizoPaolaLucer

    Los archivos generados por LINGO tiene la extensin. LG4.

    Nombre de las restricciones

    LINGO tiene la habilidad de nombrar las restricciones en su modelo. sta esuna prctica buena por dos razones. Primero, los nombres de restricciones se usan en elreporte de las soluciones que los hacen ms fcil interpretar. Segundo, muchos de losmensajes del error de LINGO se refieren a una restriccin dada por nombre.

    Dar nombre a una restriccin es bastante simple. se inserta el nombre entrecorchetes, adelante de una lnea de cdigo. El nombre debe obedecer los requisitos

    normales para un nombre de LINGO.

    Uso de funciones de dominio de variables

    A menos que especificifique lo contrario, el valor de las variables por defectoen un modelo de LINGO son no-negativo y continuas. Ms especficamente, las variablespueden asumir algn valor real desde cero a infinito positivo. En muchos casos, estedominio de valor por defecto puede ser impropio. Por ejemplo, usted puede querer unavariable que asuma valores negativos, o se podra querer una variable restringidapuramente a valores enteros. LINGO proporciona cuatro funciones de variables dominioque le permite sustituir el dominio predefinido de una variable. Los nombres de estas

    funciones y una descripcin breve de su uso son:

    @GIN restringe una variable para comenzar con valores enteros,@BIN hace una variable binario (es decir, 0 o 1). Por ejemplo @BIN( X);@FREE permite que una variable pueda asumir algn valor real, positivo o negativa@BND limita una variable dentro de un rango finito.

    Variables enteras y binariasLINGO le da la posibilidad de definir dos tipos de variables enteras, una

    general y otra binaria. Una variable entera general requiere ser un nmero entero. Unavariable entero binaria requiere ser cero o uno. Cualquier modelo que contiene uno o msvariables enteras, es requerido para un modelo programacin entera (IP)En muchos proyectos de modelos, usted se enfrentar con tipos de decisiones (si/no).Algunos ejemplos incluiran Produce/No Produce, Abre un Plan/Cierra un Plan, etc. Lasvariables binarias son el mtodo normal usado por modelar estas decisiones de si/no.

  • 7/29/2019 MANUAL LINGO 2.pdf

    3/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    3

    Erica CanizoPaolaLucer

    Variables libresPor defecto, las variables en LINGO tiene un lmite inferior de cero y un lmite

    superior de infinito. @FREE quita el lmite inferior cero y permite que la variable tomevalores negativos. La sintaxis es:

    @FREE (variable_name);

    donde la variable_name es el nombre de la variable libre.

    La funcin de @FREE puede usarse en cualquier parte del modelo dondenormalmente ira restriccin. Algunos ejemplos de @FREE son:

    Ejemplo 1: @FREE (X);

    hace una variable X libre

    Variables limitadasConsiderando que @FREE pone el lmite superior e inferior de la variable

    especificada a ms-menos infinito (quitando cualquier lmite en la variable), la funcin de@BND le permite poner lmite superior e inferior especficos en una variable. En otraspalabras, @BND limita el rango de una variable dentro de algn intervalo. La sintaxis para@BND es:

    @BND (lower_bound, variable_name, el upper_bound);

    donde el variable_name es la variable a ser limitada debajo por el lower_bound y limitadosuperiormente por el upper_bound. Lower_bound y " upper_bound deben ser valoresnumricos o variables cuyos valores han sido fijados en la seccin de datos. @BND puedeusarse en cualquier lugar que normalmente se usara una restriccin en el modelo. Entrminos matemticos, LINGO interpreta que este @BND funcionan como:

    lower_bound

  • 7/29/2019 MANUAL LINGO 2.pdf

    4/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    4

    Erica CanizoPaolaLucer

    Operadores y Funciones

    LINGO proporciona varias funciones y operadores al modelo matemtico. Semuestran las categoras siguientes:

    Los Operadores Normales: Aritmtica, lgicos, y correlativos como +, -, =,

  • 7/29/2019 MANUAL LINGO 2.pdf

    5/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    5

    Erica CanizoPaolaLucer

    Para explicar el funcionamiento del programa tomaremos el siguiente ejemplo:

    Problema

    1. ENUNCIADO

    La empresa WINDOOR Ltda. fabrica puertas y ventanas de madera. Existen dos modelosde puertas: puertas dobles y puertas simples: y dos modelos de ventanas: ventanas dobles yventanas simples. El insumo ms importante es la madera. El proceso de corte de las partesse realiza en dos sierras elctricas de precisin y el barnizado lo efecta personalexperimentado. Las cantidades de madera y los tiempos de corte y barnizado que requierecada producto se muestran en la Tabla 1.

    Tabla 1. Recursos requeridos.

    Madera [m2] Ensamblado [hrs-maq] Barnizado [hrs-hom]Puertas dobles 4.0 1.5 2.0Puertas simples 1.5 1.0 1.2Ventanas dobles 3.0 2.0 1.5Ventanas simples 1.8 0.8 0.8

    Los proveedores de la madera pueden entregar hasta 800 [m2] en un mes.Adems se pueden utilizar hasta 400 [hrs] de sierra para el corte y 400 [hrs-hom] para elbarnizado.

    La empresa est comprometida con una constructora para entregar 90 puertassimples y 50 ventanas dobles en el mes.Los precios de venta unitarios y costos unitarios de produccin se muestran en la Tabla 2.

    Tabla 2. Precios y costos.

    Precio [um/unidad]] Costo [um/unidad]

    Puertas dobles 120 80Puertas simples 80 50Ventanas dobles 100 75Ventanas simples 60 30

    Se desea determinar el plan de produccin para el mes que maximice elbeneficio total, suponiendo que lo que se produce se vende.

  • 7/29/2019 MANUAL LINGO 2.pdf

    6/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    6

    Erica CanizoPaolaLucer

    2. FORMULACION DEL MODELO

    VARIABLES DE DECISIONLas decisiones que la empresa desea tomar se refieren a la cantidad de puertas y

    ventanas de cada tipo a producir en el perodo considerado.

    x1 = cantidad de puertas dobles a fabricar en el mes.x2 = cantidad de puertas simples a fabricar en el mes.x3 = cantidad de ventanas dobles a fabricar en el mes.x4 = cantidad de ventanas simples a fabricar en el mes.

    RESTRICCIONES

    Las restricciones deben establecer las limitaciones existentes en cuanto a ladisponibilidad de recursos y la necesidad de cumplir con los compromisos contrados parael perodo.

    A. Disponibilidad de recursos La cantidad de madera utilizada en la produccin total no puede exceder la cantidad

    mxima que la empresa puede adquirir.4.0x1 +1.5x2 +3.0x3 +1.8x4 ==0

    FUNCION OBJETIVO

    Como se dijo en el enunciado el problema consiste en maximizar el beneficiodurante el mes de operacin.Beneficio total = ingreso total - costo total

  • 7/29/2019 MANUAL LINGO 2.pdf

    7/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    7

    Erica CanizoPaolaLucer

    Hay que destacar que, tanto el beneficio como el costo total, dependen de lascantidades que finalmente se decida producir, es decir, dependen de las variables que sedefinieron.

    Btotal =40x1 +30x2 +25x3 +30x4

    RESUMEN

    En resumen se tiene el siguientemodelo matemticopara el problema planteado:

    Max40x1 +30x2 +25x3 +30x4

    4.0x1 +1.5x2 +3.0x3 +1.8x4

  • 7/29/2019 MANUAL LINGO 2.pdf

    8/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    8

    Erica CanizoPaolaLucer

    Estados del Solver: Solver Status

    Si no hay errores de formulacin durante la fase de compilacin, LINGOinvocar el Solver interno apropiado para comenzar a buscar la solucin ptima delmodelo.

    La ventana de estado incluye lo siguiente:

    La ventana de estado del Solver Status es til para controlar el progreso delsolver.

    El box de Variables: muestra el nmero total de variables en el modelo, junto con elnmero de las variable no lineales. Una variable se considera no lineal cuando

    existe una relacin no lineal en alguna restriccin. Tambin nos muestra el nmerode variable enteras en el modelo. Mientras ms cantidad de variables no lineales yenteras exista en el modelo ms tiempo tomar su resolucin. Los modelospuramente lineales se resuelven con mayor velocidad.

    http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/
  • 7/29/2019 MANUAL LINGO 2.pdf

    9/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    9

    Erica CanizoPaolaLucer

    Aclaracin Clasificacin de los modelos matemticos A nivel de problemas: Los problemas pueden ser irrestrictos (carecen de restricciones)

    o restringidos (son aquellos que tienen una o ms restricciones) A nivel de restricciones: A la ves estas pueden ser lineales (satisfacen la regla de

    aditividad como de proporcionalidad) o no lineales (en la cual alguna restriccin nosatisface la regla de proporcionalidad y de aditividad).

    Regla de aditividad: Se suman o restan las variables que conforman lasrestricciones.

    Regla de proporcionalidad: se multiplican por una constante las variables queconforma las restricciones.

    A nivel de la funcin objetivo: A la ves la funcin puede ser lineal o no lineal. A nivel de variables: Por ltimo estas pueden ser continuas (todas las variablessatisfacen la divisibilidad) o enteras (en la que una o ms variables deben tener valoresenteros).

    * El box de restricciones (Constraints): Nos muestra el nmero total derestricciones y tambin el nmero de restricciones no lineales.

    * El box Nonzeros: Muestra el nmero total de coeficientes no ceros en el modelo,como as tambin el nmero de estas que son de tipo no lineal. Generalmente en unarestriccin un pequeo subconjunto de las variables tpicas aparece con el coeficiente

    implcito, en las variables que no aparecen es cero; mientras que en las variables queaparecen es distinto de cero.

    * El box Optimizer Status muestra:

    Campo Estado: Cuando LINGO comienza a resolver un modelo el estado inicial de lasolucin es indeterminado ya que todava no se ha generado ninguna solucin para elmodelo. Una vez que se comienza a iterar el estado pasa a no factible en donde se hangenerado soluciones tentativas pero que no satisfacen las restricciones del modelo. Yluego se pasa a un estado factible cuando se encuentra una solucin que satisfacetodas las restricciones pero todava no se encuentra la mejor solucin. Cuando el solver

    no encuentra una mejor solucin para el modelo se llega al estado ptimo global uptimo local. Esto se cumple para modelos con restricciones lineales y no linealesrespectivamente.

    Si un modelo termina en un estado ilimitado significa que se pudo mejorar lafuncin objetivo sin lmites y esto en la vida real correspondera a una situacin deganancias infinitas algo imposible lo cual significa que se ha omitido algn tipo derestriccin en el modelo. Finalmente el estado interrumpido es cuando se interrumpeprematuramente el solver antes de que encuentre la mejor solucin para el modelo.

    http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/
  • 7/29/2019 MANUAL LINGO 2.pdf

    10/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    10

    Erica CanizoPaolaLucer

    Campo Objetivo: El campo objetivo nos da el valor objetivo de la solucin actual. Si el

    modelo no tiene una funcin objetivo entonces N/A aparece en este campo.

    Campo No Factible: Muestra la cantidad por la cual todas las restricciones han sidovioladas.

    Campo de Iteraciones: El Campo de las Iteraciones despliega una cuenta del nmero deiteraciones completada por el solver de LINGO. La operacin fundamental realizadopor el este se llama iteracin. Una iteracin involucra una variable, actualmente cero aun valor que sera atractivo introducir en la solucin a un valor distinto de cero. Estavariable se introduce entonces en la solucin consecutivamente con valores msgrandes hasta alguna restriccin. En general, cuando un modelo es considerable, exigira ms iteraciones a resolver y cada iteracin requerir ms tiempo para completar.

    Campo Branches: LINGO usa la estrategia llamada branch-and-bound para resolvermodelos de programacin entera

    Mejor IP campo: Este campo muestra el valor objetivo de la mejor solucin en unmodelo de programacin entera.

    La ventana de estado del solver tambin provee un botn de interrupcin que permiteinterrumpir el solver en la prxima iteracin.

    Reporte de solucin (Solution Report)

    El primer informe del reporte nos dice el nmero de iteraciones para resolverel modelo. Segundo, el valor que maximiza o minimiza funcin objetivo. Tercero, lascantidades de cada variableque responden a la funcin objetivo.

    http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/http://ejemplo.lg4/
  • 7/29/2019 MANUAL LINGO 2.pdf

    11/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    11

    Erica CanizoPaolaLucer

    Costo reducido: Primero, usted puede interpretar el costo reducido de unavariable como la cantidad por la que el coeficiente objetivo de la variabletendra que mejorar antes de que se pusiera aprovechable para dar lavariable en cuestin un valor positivo en la solucin ptima. La variable X1tiene un costo reducido de 16.25, el coeficiente objetivo de esta variabletiene que aumentar a travs de 16.25 unidades en este problema. Si elproblema fuera de minimizacin la variable debera disminuir en 16.25unidades para que esta se vuelva una alternativa atractiva para entrar en la

    solucin. Segundo, el costo reducido de una variable puede interpretarsecomo la cantidad de multa que se tendra que pagar para introducir x1 en lasolucin.

  • 7/29/2019 MANUAL LINGO 2.pdf

    12/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    12

    Erica CanizoPaolaLucer

    La columna de holgura o sobrante (slack o surplus): Esta parte delinforme de solucin nos dice cuan cerca estamos de satisfacer unarestriccin como una igualdad. Si la restriccin es de menor-igual nosreferimos a variables de slack y si es de mayo-igual nos referimos a

    variables surplus.

    Si la restriccin est correctamente formulada se satisface como una igualdad,

    el valor de holgura o sobrante ser cero. De lo contrario la solucin ser no factible, laholgura o valor sobrante ser negativo. En nuestro ejemplo en la restriccin dedisponibilidad de recursos 1(madera); para que se satisfaga la igualdad debemos adicionaruna variable slack con el valor de 42.5 y en la restriccin de disponibilidad de recursos 3(hs. Hombres); debemos adicionar una variable slack con valor 7.

    Precio dual: El informe de solucin tambin nos da el precio dual para cadarestriccin. Se puede interpretar el precio dual, como la cantidad en la queel objetivo mejorara por el trmino constante de la restriccin aumentadoen una unidad. Retomando el ejemplo, en la solucin del problema, elprecio dual de 37.5 en la disponibilidad de recursos 2 (hs. Mquina) siagregamos una unidad ms de trabajo causaramos que el valor objetivomejorara en 37.5 unidades, a un valor de 11.862,5. El trmino mejorar esrelativo. En un problema de maximizacin, mejorar significa que el valorobjetivo aumentara. Sin embargo, en un problema del minimizacin, elvalor objetivo disminuira. A veces se llaman a los precios duales preciossombra.

  • 7/29/2019 MANUAL LINGO 2.pdf

    13/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    13

    Erica CanizoPaolaLucer

    El Men de comandos LINGO:

    SOLVE RESUELVE AL MODELO EN LAVENTANA ACTUAL

    Solution Genera una ventana de informe de solucinpara el modelo actual

    Genera un informe de anlisis de rango parala ventana actualOption

    Genera un informe de anlisis de rango parala ventana actualPone opciones del sistema

    Generate Genera la representacin algebraica para elmodelo actual

    Picture Despliega una vista grfica de la matriz delmodelo

  • 7/29/2019 MANUAL LINGO 2.pdf

    14/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    14

    Erica CanizoPaolaLucer

    Model Statics Despliega un informe breve con respecto alos detalles tcnicos de un modelo

    Look Genera un informe de formulacin para laventana actual

    COMANDOS MS UTILIZADO EN EL MENU LINGO

    LINGO\Solve

    El comando Solve se utiliza para resolver el modelo en la ventana activa.

    Cuando se resuelve un modelo, LINGO examina la sintaxis del modeloprimero para determinar si es vlida. Si se encuentra un error desintaxis, se presentar unmensaje de error en donde se imprime el nmero de la lnea en la que el error de la sintaxisocurri, el texto de la lnea, y una marca ( ) en donde LINGO piensa que el error ocurri.En la mayora de los casos, se apunta exactamente a donde el error ocurri. Ejemplo

    El error producido se debe a la falta de punto y coma al final de la sentencia;como en la pantalla lo podemos visualizar con la marca ( )

    Cuando se emite el comando Solve (asumiendo que el modelo no tiene ningnerror de sintaxis), se desplegar la ventana de estado Solver Status. Como ya se detallanteriormente. Una vez que la opcin Solve ha completado el proceso del modelo, crearuna nueva ventana que contiene el informe de la solucin para su modelo.

  • 7/29/2019 MANUAL LINGO 2.pdf

    15/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    15

    Erica CanizoPaolaLucer

    LINGO|Solution

    El comando Solution se usa para generar un informe de la solucin para laventana activa. El informe de la solucin puede estar en formato de texto o grfico. Luegode emitir el comando Solve y generado el reporte de solucin se selecciona la ventana delmodelo y se emite este comando.

    En el box de Attribute or Row Name, se selecciona la variable para la quedeseamos el informe. Si no se selecciona un nombre en este box, LINGO generar uninforme de la solucin que incluye todos los atributos.

    En el box de Header Text, se ingresa el texto que se desea que aparezca en elinforme.

  • 7/29/2019 MANUAL LINGO 2.pdf

    16/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    16

    Erica CanizoPaolaLucer

    En el box Type of Output se puede seleccionar la salida de texto o de grfico.Si se selecciona texto, LINGO crear una nueva ventana que contiene la solucin enformato del texto. Si se selecciona grfico se crear una nueva ventana que contiene la

    solucin en uno de varios formatos grficos diferentes. Se soporta formato de grficos debarra, lnea, y de crculos. Esta opcin se selecciona en el box de Graphics properties, engraphics type.

    En el box de nonzeros Only se selecciona si las variables que aparecen en elreporte tienen valores distintos de cero.

    En el Values box se puede seleccionar valores dual u primal.

    El box Bounds da la opcin de poner lmites en los valores desplegados en elgrfico.

    LINGO|Range

    El comando Range sirve para generar un informe del rango para el modelo en la

    ventana activa. Un informe del rango muestra encima de qu rangos que usted puede, 1) elcambio un coeficiente en el objetivo sin causar cualquiera de los valores ptimos de lasvariables de decisin puedan cambiar, o, 2) el cambio el trmino constante de una fila(tambin llamado el coeficiente lateral diestro) sin causar cualquiera de los valores ptimosde los precios duales o costos reducidos puedan cambiar.

  • 7/29/2019 MANUAL LINGO 2.pdf

    17/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    17

    Erica CanizoPaolaLucer

    LINGO|Options

    El comando Options se utiliza para cambiarlos parmetros que afectan lainterface del usuario de LINGO, como as tambin la manera en que se resuelve el modelo

    Hay seis etiquetas en las Opciones:

    Interface, Solver General,

    Solver Lineal, Nonlinear Solver, Integer Pre-Solver Integer Solver.

  • 7/29/2019 MANUAL LINGO 2.pdf

    18/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    18

    Erica CanizoPaolaLucer

    LINGO|Picture

    Este comando despliega el modelo en forma de matriz

    LINDO

    Generalidades

    Lindo (Linear Interactive Discrete Optimizer) es un software muy bsico quepermite realizar optimizacin de problemas de programacin lineal (PL), y cuadrtica,definidos sobre variables reales y/o binarias. Debido a su simplicidad se utiliza con fineseducativos, ya que es de fcil acceso y puede correr hasta en un viejo 286. El problema esque su interfaz es muy primitiva y no es amigable.

    Sintaxis

    La Sintaxis requerida para LINDO tiene requisitos mnimos, se deben

    diferenciar 3 partes: la funcin objetivo, las variables de decisin y las restricciones.

    La funcin objetivo debe estar siempre al comienzo del modelo y debecomenzar con MAX para maximizar o MIN para minimizar. Al finalizar de formular lafuncin objetivo y antes de comenzar con la formulacin de las restricciones debe colocarsela sentencia SUBJECT TO o SUCH THAT o S.T. o ST. Luego se formulan lasrestricciones el final de las restricciones debe ir seguida de la palabraEND.

  • 7/29/2019 MANUAL LINGO 2.pdf

    19/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    19

    Erica CanizoPaolaLucer

    En lo que respecta al nombre de las variables LINDO tiene un lmite de 8caracteres para nombrarlas. El nombre debe ser un carcter alfabtico (A-Z) seguido decualquier carcter excepto ! ) +- =.

    Opcionalmente tambin se les puede dar nombres a las restricciones lo quehacen ms sencillo leer el reporte de solucin. Para los nombres de las restricciones sesigue las mismas reglas que para las variables. Para hacerlo se debe comenzar la restriccincon su nombre, seguido de un parntesis luego del mismo se comienza con la formulacinde la restriccin. Solo constantes pueden ser definidas del lado derecho de las restricciones.

    Hay distintas sentencias opcionales que se incluyen en el texto del programaluego de la sentenciaEND. Estas sentencias y sus funciones aparecen en la tabla siguiente

    FREE remueve todos los lmites en , permitiendo a al tomar cualquier valor real positivo o negativoGIN hace launa entera (restricta a un conjunto de enteros nonegativos).

    INT hace la binaria (restricta a 0 1)SLB pone un lmite inferior en de .SUB pone un lmite superior en de .TI TL E hace el ttulo del modelo.

    LINDO solo reconoce 5 operadores: +, -, >, >, =. No se aceptan parntesis paraindicar precedencias y se toman las operaciones de izquierda a derecha.

    Los comentarios pueden estar situados en cualquier lugar en el modeloprecedido del signo ! , todo lo que sigue al signo de admiracin en la misma lnea serconsiderado como un comentario.

    Tomaremos el mismo ejemplo resuelto en LINGO para comparar resultados:

    PROBLEMA EJEMPLO

    http://lingo%20final.doc/http://lingo%20final.doc/
  • 7/29/2019 MANUAL LINGO 2.pdf

    20/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    20

    Erica CanizoPaolaLucer

    Una vez finalizada la escritura del programa se debe seleccionar en el menSolve el comando Compile Model. Mientras el modelo se compila aparece la siguientepantalla que muestra el progreso de la compilacin

  • 7/29/2019 MANUAL LINGO 2.pdf

    21/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    21

    Erica CanizoPaolaLucer

    Aqu se muestra el nmero de restricciones, la cantidad de variables y la

    cantidad de coeficientes distintos de cero. Si ocurre un error durante la compilacin se

    mostrara un mensaje y se posicionar el cursor en la lnea donde ocurri.

    Si luego de la compilacin no existe ningn error se debe proceder a resolver elmodelo. Para esto debemos elegir en el men Solve el comando del mismo nombre. En estemomento tenemos la opcin de seleccionar si queremos realizar un anlisis de riesgo denuestro problema. Esto nos da como primer resultado la pantalla de estado del solver. Paranuestro ejemplo;

  • 7/29/2019 MANUAL LINGO 2.pdf

    22/22

    Investigacin Operativa 2002Software Para Programacin Lineal

    LINGO/LINDO

    Erica CanizoPaolaLucer

    La informacin que nos entrega es la siguiente:

    A diferencia de LINGO el estado (Status) se puede clasificar como: Optimal,Feasible (Factible), Infeasible (no factible), Unbounded (Ilimitado). El resto de lainformacin es similar a la dada por LINGO.

    A continuacin se despliega la pantalla de reporte de la solucin que tambin essimilar a la de LINGO.

    Tambin podemos ver el valor de las variables luego de cada iteracin para estovamos al men Reports y seleccionamos el comando Tableau.

    Continuando con el anlisis del programa el resto de las funciones que podemosrealizar en LINDO tambin son similares a las de LINGO

    .