PRACTICA 1: PROGRAMACI ON LINEAL 1. Modelizaci on …

12
I.T. INFORM ´ ATICA DE GESTI ´ ON Departamento de Estad´ ıstica Asignatura: Investigaci´ on Operativa Curso: 2007/2008 Relaci´ on n´ umero 1 de pr´ acticas PR ´ ACTICA 1: PROGRAMACI ´ ON LINEAL 1. Modelizaci´ on mediante hojas de c´ alculo Tarde o temprano, el analista debe informar al cliente acerca del modelo y dar sus recomendaciones sobre el mismo. Debe tenerse en cuenta la diferencia de lenguaje y conocimientos matem´ aticos que existe entre el t´ ecnico analista y el gestor de la organizaci´ on: los directivos conocen su negocio, pero, a menudo, no entienden dema- siado de modelos matem´ aticos o de c´ omo ´ estos se implementan en hojas de c´ alculo. Es tarea de quien ha realizado el an´ alisis el presentar el modelo en unos t´ erminos que la gente “sin educaci´ on matem´ atica” pueda entender. En general, al trabajar con un modelo matem´ atico en una hoja de c´alculo, dis- tinguiremos tres tipos de valores: datos de entrada (inputs ): valores dados (fijos); variables de decisi´ on: valores sobre los que se tiene control; datos de salida (outputs ): valores finales de inter´ es, determinados por los datos de entrada y las variables de decisi´on. La modelizaci´on con hojas de c´ alculo consiste en introducir datos de entrada y variables de decisi´on que, mediante f´ormulas adecuadas, den lugar a los datos de salida. 1

Transcript of PRACTICA 1: PROGRAMACI ON LINEAL 1. Modelizaci on …

Page 1: PRACTICA 1: PROGRAMACI ON LINEAL 1. Modelizaci on …

I.T. INFORMATICA DE GESTIONDepartamento de EstadısticaAsignatura: Investigacion OperativaCurso: 2007/2008Relacion numero 1 de practicas

PRACTICA 1: PROGRAMACION LINEAL

1. Modelizacion mediante hojas de calculo

Tarde o temprano, el analista debe informar al cliente acerca del modelo y dar susrecomendaciones sobre el mismo. Debe tenerse en cuenta la diferencia de lenguajey conocimientos matematicos que existe entre el tecnico analista y el gestor de laorganizacion: los directivos conocen su negocio, pero, a menudo, no entienden dema-siado de modelos matematicos o de como estos se implementan en hojas de calculo.Es tarea de quien ha realizado el analisis el presentar el modelo en unos terminosque la gente “sin educacion matematica” pueda entender.

En general, al trabajar con un modelo matematico en una hoja de calculo, dis-tinguiremos tres tipos de valores:

datos de entrada (inputs): valores dados (fijos);

variables de decision: valores sobre los que se tiene control;

datos de salida (outputs): valores finales de interes, determinados por los datosde entrada y las variables de decision.

La modelizacion con hojas de calculo consiste en introducir datos de entrada yvariables de decision que, mediante formulas adecuadas, den lugar a los datos desalida.

1

Page 2: PRACTICA 1: PROGRAMACI ON LINEAL 1. Modelizaci on …

Puesto que es muy frecuente que varias personas tengan que trabajar sobre unamisma hoja de calculo, es conveniente adquirir buenos habitos de modelizacion quefaciliten su legibilidad:

Estructura el modelo de forma clara y logica.

Si te es necesario, separa las diferentes partes del modelo mediante varias hojasde calculo.

Pon encabezamientos a las diferentes secciones del modelo. En especial, a losdatos de entrada, variables de decision y datos de salida.

Usa formatos que permitan distinguir los datos y las secciones con claridad(negrita, italica, fuentes de mayor tamano, colores. . . ).

2. Modelizacion de problemas lineales

Para resolver modelos lineales, usaremos la herramienta Solver del programaMicrosoft Excel. Se trata de una opcion poco conocida del menu Herramientas.

Figura 1: Menu Solver.

2

Page 3: PRACTICA 1: PROGRAMACI ON LINEAL 1. Modelizaci on …

En caso de que no nos aparezca, podemos seleccionarla entrando en el sub-menu Herramientas → Complementos.

Figura 2: Activando la opcion Solver.

Para aprender como trabajar con esta herramienta y como modelizar un proble-ma, resolveremos un ejemplo paso a paso.

Un fabricante de bebidas produce semanalmente 955, 1412 y 205 litros de lasbebidas Aghwa, Zerbessa y Visky, respectivamente. Estos lımites son consecuenciade los recursos de los que dispone y de que, fruto de sus largos anos en el negocio,sabe que es imposible vender semanalmente mas de 1000, 1500 y 300 litros de estasbebidas, respectivamente. En la elaboracion de las bebidas, intervienen cuatro ingre-dientes que, por razones de espionaje industrial, denominaremos A, B, C y D. Losdos primeros son solidos y los dos segundos son lıquidos. Para obtener un litro decada una de las bebidas, se usan los siguientes recursos, respectivamente:

300 gramos de producto A, 500 gramos de producto B, 250 mililitros de pro-ducto C y 350 mililitros de producto D;

200 gramos de producto A, 700 gramos de producto B, 450 mililitros de pro-ducto C y 250 mililitros de producto D;

400 gramos de producto A, 600 gramos de producto B, 350 mililitros de pro-ducto C y 550 mililitros de producto D.

La venta de un litro de producto A, B y C, reporta un beneficio de 1.2, 1.7y 2.6 euros, respectivamente. Los recursos semanales disponibles son 750 kilos de

3

Page 4: PRACTICA 1: PROGRAMACI ON LINEAL 1. Modelizaci on …

producto A, 1800 kilos de producto B, 1050 litros de producto C y 800 litros deproducto D.

Un buen dıa, el hijo de nuestro fabricante, que se encuentra cursando la asigna-tura de Investigacion Operativa, le comenta a su padre que esa polıtica de produccionesta lejos de ser optima. El padre, sin dejarse amilanar por la “impertinencia” desu hijo, ignorante de los negocios, le reta a que, si encuentra una solucion mejor, ledara el incremento neto de beneficios de una semana. ¿Consigue algun beneficio elmuchacho? En caso afirmativo, ¿a cuanto asciende?

Con la habilidad que ya hemos adquirido formulando modelos, nos parecera ele-mental definir las siguientes variables de decision:

x1 = “numero de litros de Aghwa”,x2 = “numero de litros de Zerbessa”,x3 = “numero de litros de Visky”.

Con estas variables, nuestro modelo es el siguiente:

Max. 1.2x1 + 1.7x2 + 2.6x3

s.a 0.30x1 +0.20x2 +0.40x3 ≤ 750,0.50x1 +0.70x2 +0.60x3 ≤ 1800,0.25x1 +0.45x2 +0.35x3 ≤ 1050,0.35x1 +0.25x2 +0.55x3 ≤ 800,

x1, x2, x3 ≥ 0.

Podemos distinguir las siguientes partes en la hoja de calculo que vamos a crear:

1. Datos de entrada. Todos los datos de entrada numericos (es decir, los valoresnecesarios para calcular la funcion objetivo y las restricciones) deben apareceren la hoja de calculo. Usaremos la convencion de enmarcar estos valores conborde azul y fondo sombreado. Trataremos de situarlos en la seccion superiorizquierda de la hoja de calculo.

2. Celdas cambiantes. En lugar de usar nombres de variables (por ejemplo, x1),los modelos en hojas de calculo emplean un conjunto de celdas que desempenael papel de las variables de decision. Los valores de estas celdas pueden cam-biarse para optimizar el objetivo. En Excel estas celdas se denominan celdascambiantes. Enmarcaremos estas celdas con borde rojo.

3. Celda (funcion) objetivo. Una celda, denominada celda objetivo, contiene lafuncion objetivo. La herramienta Solver varıa los valores de las celdas cam-biantes para optimizar el valor de la funcion objetivo. Enmarcaremos la celdaobjetivo con un borde doble negro.

4

Page 5: PRACTICA 1: PROGRAMACI ON LINEAL 1. Modelizaci on …

4. Restricciones. En Excel, las restricciones no se muestran directamente en la hojade calculo. En su lugar, especificamos las restricciones en el menu de Solver.Por ejemplo, podrıamos establecer un conjunto de restricciones que fuese

B15 : D15 ≤ B16 : D16.

Esta declaracion implica tres restricciones separadas: el valor de la celda B15debe ser menor o igual que el valor de B16, el valor de la celda C15 debe sermenor o igual que el valor de C16 y el valor de la celda D15 debe ser menoro igual que el valor de D16. Otra manera de trabajar es mediante rangos,etiquetando conjuntos de celdas. De este modo, una restriccion podrıa ser

Usado ≤ Disponible.

5. No negatividad. Normalmente, queremos que las variables de decision sean posi-tivas. Esta restriccion se incluye seleccionando el submenu Opciones de Solvery marcando Asumir no negativos.

Apliquemos ahora este esquema a nuestro problema. En la hoja de calculo pract1.xlsaparece cada paso en una hoja distinta del fichero para que puedas ver la evolucionde la construccion del modelo.

Inicialmente, como resultara obvio, la hoja esta vacıa (Hoja 1).

Despues, le damos un tıtulo y anadimos los primeros datos (Hoja 2). En con-creto, hemos introducido los beneficios unitarios y el bloque constituido por los tresbeneficios (B7:B9) lo hemos definido como el rango Beneficios.

Figura 3: Hoja 2.

5

Page 6: PRACTICA 1: PROGRAMACI ON LINEAL 1. Modelizaci on …

Figura 4: Hoja 3.

De modo analogo, vamos anadiendo los demas datos (Hoja 3). Observemos quehemos definido los nuevos rangos Disponibles y Lımites.

A continuacion (Hoja 4), establecemos las celdas cambiantes que seran las varia-bles. Como valores iniciales, podemos establecer cualquier valor, incluso aunque nosea factible. Establecemos el rango Variables (C27:C29).

El siguiente paso es definir la funcion objetivo: en la celda C31, escribimos

= SUMAPRODUCTO(Beneficios; Variables).

Tambien podrıamos haber escrito

= SUMAPRODUCTO(B7 : B9; C27 : C29),

pero el usar rangos nos facilita tanto la escritura como la lectura del modelo.

Finalmente, antes de pasar a introducir las variables en el menu Solver, escribimosunas lıneas que nos calculan el consumo de los distintos materiales. En realidad, estepaso no es necesario, pero nos permite visualizar mejor los datos y estar preparadospara responder a preguntas como “¿cuantos kilos del producto A se usan?”. Para ello,calculamos el la cantidad de recurso utilizado para cada uno de los cuatro productos.

6

Page 7: PRACTICA 1: PROGRAMACI ON LINEAL 1. Modelizaci on …

Figura 5: Hoja 4.

Escribimos

= B19 ∗ C$27 + C19 ∗ C$28 + D19 ∗ C$29.

en la celda H27 y despues la copiamos en las tres inferiores. Observa el uso quese hace de celdas relativas y celdas absolutas en la formula (Hoja 5). Estas cuatroformulas, de hecho, van a ser luego las restricciones que necesitamos declarar.

Ahora ya lo tenemos todo preparado para poder introducir el modelo en elmenu Solver :

Celda objetivo: la celda en donde hemos declarado la funcion objetivo.

Valor de la celda objetivo: elegiremos Maximo o Mınimo segun estemos maxi-mizando o minimizando, respectivamente.

Cambiando las celdas: seleccionamos las celdas cambiantes que actuan comovariables de decision.

7

Page 8: PRACTICA 1: PROGRAMACI ON LINEAL 1. Modelizaci on …

Figura 6: Hoja 5.

Sujeta a las siguientes restricciones: aquı introducimos las restricciones. Pode-mos hacerlo mediante el uso de rangos, si los hemos ido declarando, o medianteformulas concretas. En la imagen, vemos que se ha usado la primera opcion,pero, por ejemplo, la primera familia de restricciones,

Usados ≤ Disponibles,

equivale a

H27 : H30 ≤ C12 : C15.

Por supuesto, tambien podrıamos haber escrito las restricciones de esta familiauna a una:

H27 ≤ C12,H28 ≤ C13,H29 ≤ C14,H30 ≤ C15.

8

Page 9: PRACTICA 1: PROGRAMACI ON LINEAL 1. Modelizaci on …

Figura 7: Declaracion del modelo.

Finalmente, y tras no olvidarnos de seleccionar la opcion de que los valores seanno negativos, resolvemos el modelo.

Vemos que la solucion optima, producir 742.8571 litros de Aghwa, 1500 litros deZerbessa y 300 litros de Visky da un beneficio de 4221.29 euros.

Facilmente, comprobamos que la produccion propuesta inicialmente por el fabri-cante reporta un beneficio de 4079.4 euros. Es decir, gracias al analisis del problema,ha habido un incremento del 3.48 %. El hijo gana, con escaso esfuerzo, 141.89 euros.

En las celdas que usamos para escribir el uso de las restricciones, podemos ver lasdistintas cantidades de recursos utilizados. En particular, podemos observar que noproducimos mas porque hemos agotado un recurso (producto D). Si no hubiesemosagotado completamente ninguno de los cuatro, la solucion no podrıa ser optima,pues seguirıamos produciendo hasta agotar alguno. Este breve analisis es la partemas importante en la resolucion del modelo para un analista: la interpretacion delmodelo y la extraccion de conclusiones.

9

Page 10: PRACTICA 1: PROGRAMACI ON LINEAL 1. Modelizaci on …

Figura 8: Solucion optima

3. Ejercicios evaluables:

El plazo para entregar los ejercicios de esta primera practica concluye el viernes 16de noviembre a las 9 de la manana.

3.1. Opcion A:

El primer ejercicio debe resolverse con Excel. La formulacion del modelo debeentregarse en papel. La hoja de calculo debe enviarse a [email protected].

El segundo ejercicio debe resolverse iteracion por iteracion y entregarse en papel.

1. (0.35 puntos) En Elche, junto al rıo Vinalopo, existen tres plantas industriales:P1, P2 y P3. Todas producen dos tipos de residuos contaminantes: C1 y C2.Si se procesan los residuos, se puede disminuir la contaminacion. Los costesy beneficios de procesar una tonelada de residuos para cada una de las tresplantas son los siguientes:

10

Page 11: PRACTICA 1: PROGRAMACI ON LINEAL 1. Modelizaci on …

Coste Reduccion (t)Planta (euros) C1 C2

P1 15 0.10 0.45P2 10 0.20 0.25P3 20 0.40 0.30

Por ejemplo, procesar una tonelada de residuos en la planta P1 cuesta 15 euros,pero reduce en 0.10 y 0.45 toneladas la emision de C1 y C2, respectivamente.

Las autoridades locales desean reducir los vertidos de C1 y de C2 en al menos 30y 40 toneladas, respectivamente. ¿Cual es la polıtica de procesamiento de menorcoste?

2. (0.25 puntos) Resuelve el problema anterior mediante el algoritmo del sımplex.

3.2. Opcion B:

El ejercicio debe resolverse con Excel. La formulacion del modelo debe entregarseen papel. La hoja de calculo debe enviarse a [email protected].

1. (0.75 puntos) En Elche, junto al rıo Vinalopo, existen tres plantas industriales:P1, P2 y P3. Todas producen dos tipos de residuos contaminantes: C1 y C2. Sise procesan los residuos, se puede disminuir la contaminacion. Semanalmente,los vertidos (en toneladas) aparecen reflejados en la siguiente tabla:

C1 C2P1 80 60P2 30 50P3 50 40

Por delito ecologico, cada tonelada no procesada de C1 tiene una multa de30 euros y cada tonelada de C2 sin procesar se penaliza con 40 euros. Encambio, procesar una tonelada de residuos tiene un coste que depende de laplanta y el contaminante. Estos aparecen (en euros) en la siguiente tabla:

C1 C2P1 5 7P2 4 6P3 5 5

Procesar una tonelada de residuos necesita el siguiente tiempo (en horas):

C1 C2P1 6 10P2 4 5P3 8 7

11

Page 12: PRACTICA 1: PROGRAMACI ON LINEAL 1. Modelizaci on …

Las plantas pueden procesar residuos durante las veinticuatro horas del dıatodos los dıas de la semana. Las plantas disponen de 5, 2 y 3 equipos deprocesamiento de residuos, respectivamente. Cada planta solo puede procesarresiduos generados por ella misma.

a) ¿Cual es la polıtica de procesamiento que minimiza el coste total?

b) Recientemente, un grupo ecologista ha donado un nuevo equipo de pro-cesamiento de residuos. ¿En que planta deberıa instalarse?

12