Click here to load reader

Guia Lingo

  • View
    222

  • Download
    8

Embed Size (px)

Text of Guia Lingo

Investigacin Operativa 1 PONTIFICIA UNIVERSIDAD CATLICA DEL PER FACULTAD DE CIENCIAS E INGENIERA PRIMERA GUA DE LINGO PARA EL LABORATORIO DE INVESTIGACIN OPERATIVA 1 Temas: El lenguaje de modelacin del software LINGO Resolucin de modelos de programacin lineal usando LINGO

1.

OBJETIVOS La gua tiene como finalidad exponer el lenguaje de modelacin del LINGO y que el alumno sea capaz de formular modelos de programacin lineal usando este lenguaje.

2.

METODOLOGA Los alumnos trabajarn individualmente en una computadora, bajo la tutora de los jefes de prctica de laboratorio.

3.3.1

GUA DE LABORATORIO INTRODUCCIN AL LINGO

Segn el LINGO 11 Users Manual, LINGO es una herramienta que permite formular modelos de programacin lineal de manera sencilla y eficiente, para tal fin LINGO tiene, entre otras, las siguientes caractersticas: Un lenguaje algebraico para modelacin LINGO tiene un potente lenguaje de modelacin basado en sets que permite al usuario expresar los modelos matemticos de manera compacta y eficiente. Manejo de datos conveniente LINGO permite construir modelos que importan la informacin y exportan los resultados desde y hacia las hojas de clculo o bases de datos. Esta capacidad del LINGO facilita el anlisis de sensibilidad de los modelos de programacin lineal y la elaboracin de reportes y grficos apropiados para la toma de decisiones. Con estas ventajas, usted desarrollar habilidades para manejar un software potente que le permitir realizar trabajos de investigacin, tesis y usar la programacin lineal en situaciones reales cuando la cantidad de variables y restricciones es a menudo sumamente grande. Los requisitos para leer esta gua son aprender primero el funcionamiento del LINDO; luego instale el LINGO. Este software es de libre disponibilidad y se encuentra en la web de LINDO Systems cuya direccin electrnica es http://www.lindo.com/. Asimismo previamente debe leer el primer captulo Getting Started with LINGO del LINGO 11 Users Manual en donde se explica el entorno de este software; se sugiere leer dicho captulo y a la vez digite y resuelva los ejemplos en el LINGO. En el laboratorio de computadoras en el segundo piso del pabelln de Ingeniera Industrial est instalado este software. Luego de cumplir los requisitos, lea y simultneamente ejecute las indicaciones de esta gua en su editor de LINGO. 3.2 INICIO DEL MODELO EN LINGO

En LINGO, el modelo se inicia con el comando MODEL seguido del caracter :. En la figura 1 se muestra el editor del LINGO y el comando indicado.

Figura 1

En la imagen tambin se lee el comentario !Ejemplo en LINGO del primer laboratorio de Investigacin Operativa 1;, LINGO admite agregarlos con la condicin que empiecen con el caracter ! y finalicen con ;. 3.3 DISEO DE SETS

FINALIDAD E IDENTIFICACIN DE LOS SETS Una inquietud que quiz tenga el estudiante es por qu debe aprender otro software para la resolucin de modelos de programacin lineal. Si usted ya explor el LINDO habr notado que es necesario digitar completamente en su editor el programa lineal diseado; sta es una tarea muy laboriosa cuando los modelos son de gran magnitud, situacin frecuente en la realidad. Los sets son un grupo de objetos relacionados que permite agrupar parmetros, variables y restricciones las cuales se agrupan en una serie de familias de caractersticas similares con lo cual el ingreso de los programas lineales de gran tamao se hace de manera sencilla y gil con LINGO. Ejemplo 1 En cierta empresa manufacturera se fabrica 20 diferentes productos y cada uno pasa por una secuencia se siete procesos distintos en donde la materia prima se agrega en los cinco primeros. Los dos ltimos procesos son de acabado de los productos. La secuencia de los procesos para cada producto es la misma y se identifica con proceso 1 al primero, proceso 2 al segundo y as sucesivamente. En el anexo 1 se muestra los costos variables unitarios, los precios de venta, el margen de contribucin, la demanda mxima de los 20 productos y la mnima por obligaciones contractuales. En el anexo 2 se presenta el tiempo en cada proceso requerido por cada unidad de tipo de producto y en el anexo 3 se encuentran los datos de la cantidad de materia prima por cada kilogramo de producto terminado. Esta empresa desea determinar cuntos productos de cada tipo debe fabricar para maximizar las utilidades pero sujeta a las restricciones de recursos y demanda; para tal fin, las variables de decisin son: Pi: cantidad de kilogramos por fabricar de cada tipo de producto.i= 1,2,320

En el anexo 4 se muestra el resto del modelo de programacin lineal y lo llamaremos modelo 1. Quiz usted ya habr notado que digitar el modelo 1 en el editor del LINDO es laborioso, asimismo, por su magnitud es probable que cometa varios errores en esta tarea. Por otro lado, la revisin de sus parmetros con el fin de detectar errores es tambin engorrosa porque exige observar exhaustivamente todo lo que se ingres en el editor. Usando notacin matemtica, el modelo 1 equivalente es el siguiente y lo llamaremos modelo 2: Modelo 2 Maximizari=1..20(MCi*Pi)

Restricciones de demanda: Pi Dmnima i; i=1,220

2

Pi Dmxima i ; Restricciones de tiempo:j=1..20(Tuji*Pj)

i=1,220

Ti MPi

;

i=1,27

Restriccones de materia prima:j=1..20(MPuji*Pj) ; i=1,25

Ahora lea nuevamente el texto del ejemplo 1, observe el modelo 2 e identifique la siguiente lista de parmetros: El margen de contribucin de cada producto: MCi. La demanda mnima de cada producto: Dmnima i. La demanda mxima de cada producto: Dmxima i. Disponibilidad del recurso tiempo en cada proceso: Ti. Disponibilidad de recurso materia prima: MPi. El tiempo unitario de cada producto en cada proceso: Tuji. El consumo de materia prima de cada producto: MPuji. Finalmente, identifique la lista de las variables: Cantidad de cada tipo de producto por fabricar. SETS PRIMITIVOS En la lista de parmetros y variables anterior, identificamos tres grupos con caractersticas similares: el margen de contribucin, la demanda y las variables. Cada grupo se denomina atributo (attributes), y a este conjunto de grupos se denomina set. Revise los anexos 1, 2 y 3 y note que los atributos margen de contribucin y demanda tienen 20 datos; el atributo variables tendr 20 valores que se determinarn al resolver el programa lineal, stas son las variables de decisin. La dimensin 20 es una caracterstica comn de estos atributos del set al que llamaremos PRODUCTOS; LINGO permite que usted elija el nombre del set con un mximo de 32 caracteres pero necesariamente el primero es alfabtico. Para indicar la dimensin escriba despus de PRODUCTOS la secuencia de caracteres /1..20/ . Antes de ingresar los sets en el editor, primero escriba el comando SETS seguido del caracter : ; hasta aqu el editor del LINGO tendr la apariencia de la figura 2. Figura 2

Nuevamente se observa comentarios en el editor; en este caso se anot !Sets primitivos; y el otro referido a las variables de decisin. Para declarar los atributos del set PRODUCTOS usaremos las etiquetas MARGEN, DEMANDAMIN, DEMANDAMAX y P (usted puede elegir otros nombres). La etiqueta MARGEN contiene los 20 datos del margen de contribucin unitario de cada producto; las etiquetas

3

DEMANDAMIN y DEMANDAMAX contienen cada una los datos de la demanda mnima y mxima de los 20 productos respectivamente y la etiqueta P son las 20 variables de decisin de este modelo. Luego de digitar los nombres de estos atributos, la figura 3 muestra cmo se ver el editor. Figura 3

En la pantalla hemos anotado el comentario !VARIABLES DE DECISIN definidas en la matriz P; para recordar que cada elemento de la matriz P es una de las 20 variables de decisin. En la lista de parmetros identificamos otro set cuyo atributo es la disponibilidad del recurso tiempo en cada proceso, como son siete procesos, son siete los datos de este atributo (vea el anexo 2). No hay otro atributo con esta dimensin. En la figura 4 se muestra el set PROCESOS (usted puede elegir otro nombre) y para indicar su dimensin PROCESOS/1..7/:. Figura 4

Quiz se est preguntando por qu se digit PROCESOS: en vez de PROCESOS/1..7/:, es decir, sin dimensin. Esto es posible siempre y cuando se declare la dimensin en la zona de datos, este detalle se explicar ms adelante, sin embargo, si desea digite PROCESOS/1..7/:. Para declarar el nico atributo del set PROCESOS usaremos la etiqueta RECURSOT (u otro nombre) que contiene los siete datos del tiempo disponible de cada proceso, observe la figura 5. Figura 5

En la lista de parmetros tambin tenemos la disponibilidad del recurso materia prima en cada proceso, el texto del ejemplo 1 indica que slo en los cinco primeros procesos se agregan distintos tipos de materia prima. Este es otro atributo al que llamaremos RECURSOMP (u otro nombre) y

4

definimos el set PROCESOMP/1..5/ (vea el anexo 3 y verifique la dimensin). La figura 6 presenta este set y su atributo. Figura 6

Los tres primeros sets diseados son llamados sets primitivos y son semejantes a matrices cuya dimensin es una fila y n columnas, por ejemplo, el set PRODUCTOS es un arreglo de nmeros de 20 datos (columnas). La lista de parmetros muestra dos grupos de datos que son el tiempo unitario de cada producto en cada proceso y el consumo de materia prima de cada producto. Estos grupos de datos son de dos entradas: el primero tiene 140 datos porque son tiempos unitarios de los 20 productos en cada uno de los siete procesos; el segundo tiene 100 datos porque son los consumos de materia prima por cada unidad de los 20 productos en cada uno de los cinco procesos que s requieren estos materiales. SETS DERIVADOS Los sets derivados ayudan a definir los arreglos de datos o variables cuyo orden es nxm donde n es la cantidad de filas y m la cantidad de columnas. Como usted ya habr notado, tanto los datos de los tiem