Unidad 5 Utilización de Excel para la solución de problemas de programación lineal La solución del modelo de programación lineal (pl) es una adaptación de los métodos matriciales ya que el modelo tiene características similares; aunque como las restricciones se presentan como desigualdades, esto implica que el sistema tendrá infinitas soluciones. En la unidad anterior se presentaron los aspectos básicos del método Simplex, un ingenioso algoritmo iterativo que permite encontrar la solución óptima de un conjunto de soluciones factibles con características particulares en un reducido número de pasos. Pero como en todo problema matricial, la resolución es tediosa incluso para problemas con escaso número de variables, como los que se han presentado en las unidades anteriores. Por el contrario, este tipo de algoritmos es fácilmente programable, por lo que existen distintos paquetes de cómputo que permiten solucionar y analizar los resultados de los problemas de pl. Se escogió la utilería Solver de Excel por ser una herramienta que permite analizar problemas con cientos de variables y restricciones, y está disponible prácticamente en todas las computadoras personales. Para explicar el uso de esta herramienta se utilizará el primer ejemplo de la unidad 3 en el que se debe planear la producción del siguiente mes de una empresa que fabrica cuatro diferentes productos en sus plantas, cada una de las cuales tiene un número acotado de horas hombre disponibles. Al plantear el modelo se determinaron las variables de decisión, la función objetivo (FO) y las restricciones de dicho problema que se repiten a continuación. Las variables de decisión son: x 1: x 2: x 3: x 4: la la la la cantidad cantidad cantidad cantidad de de de de pantallas de 20” a producir pantallas de 24” a producir televisores de 24” a producir televisores de 50” a producir 145 Programación lineal El objetivo es maximizar la utilidad: Máx U = 850x1 + 925x2 + 800x3 + 1 200x4 sujeta a las siguientes restricciones: 2.25x3 + 2x4 ≤ 3 000 horas (dpto. electrónica Chihuahua) 2.5x3 + 2.75x4 ≤ 3 250 horas (dpto. de ensamble) 3.5x1 + 3.8x2 ≤ 5 000 horas (dpto. de pantallas cristal líquido Tijuana) 1/3x1 + 1/2.5x2 + 1/1.5x3 + 1/2x4 ≤ 3 200 horas (dpto. control de calidad) 1/6x1 + 1/5x2 + 1/5x3 + 1/3x4 ≤ 800 horas (dpto. empaque) x1 ≥ 100 x2 ≥ 100 x3 ≥ 100 x4 ≥ 100 Representación del modelo en la hoja de cálculo Excel Para resolver el problema con Excel hay que introducir toda la información del problema en una hoja. Es recomendable ser sistemáticos en la introducción de la información, por lo que se sugiere lo siguiente: 1) utilizar una columna para cada variable. 2) utilizar una fila para cada restricción. 3) una fila para la FO. 4) utilizar letreros para hacer comprensible la información. • • • • • En la figura 5.1 se muestra la hoja preparada con los datos del problema. Se utilizó la columna A para indicar a qué corresponden cada una de las filas. Las columnas B, C, D y E se asignaron a las variables x1 , x2 , x3 y x4 respectivamente, lo cual se indica explícitamente en la primera fila. La segunda fila se reserva para el valor de las variables, a las que en este caso se les asignó el valor 1. (Nota: no hay que confundir el nombre de la variable, por ejemplo x1, con su valor.) En vez de x1 se podría haber escrito “pantallas de 20”. En realidad Excel, por ser una hoja de cálculo, sólo trabaja con el valor de la variable. En la fila 3 se colocó la utilidad unitaria de cada tipo de equipo. En las filas 6 a 14 se escribieron los coeficientes correspondientes a cada una de las restricciones. Las celdas sin datos son consideradas igual a cero por la hoja de cálculo. 146 Utilización de excel para la solución de problemas... • Se dejó libre la columna F; en la G se colocaron los signos de igualdad o desigualdad de cada restricción, y en la H se escribieron los valores del lado derecho de cada restricción, correspondiente al límite de cada recurso. Figura 5.1. Introducción de datos La hoja construida contiene toda la información numérica del problema que se resolverá, pero no se han introducido aún las relaciones que se deben cumplir entre las variables y los distintos parámetros. En una segunda etapa es necesario introducir las relaciones o expresiones del modelo. La utilidad por ejemplo, está expresada como 850x1 + 925x2 + 800x3 + 1 200x4. Esta relación indica que hay que multiplicar a 850 por el número de pantallas de 20” que se produzca, o sea, el valor actual de la variable x1 más 925 por el valor actual de x2 más lo correspondiente a los demás equipos. Para realizar esta operación en la hoja de cálculo se debe multiplicar el número 850 que se encuentra en la celda B3, por el valor de la variable x1 , que se encuentra en la celda B2, etcétera. En la figura 5.2 se observa la expresión introducida en la celda F3. Se trata del producto punto de los vectores que se encuentran en (B3...E3) y (B2...E2). Es importante observar que la misma expresión aparece en la celda F3 y en la línea de captura; al terminar de introducir la expresión y presionar la tecla enter, Excel evalúa la expresión y asigna el valor a la celda. 147 Programación lineal Figura 5.2. Introducción de la función objetivo Figura 5.3. Introducción de restricciones 148 Utilización de excel para la solución de problemas... El paso siguiente es introducir cada una de las expresiones correspondientes a las restricciones en la celda F del renglón correspondiente, multiplicando los valores de las celdas B2...E2 por los coeficientes de cada una de las restricciones. En la tercera hoja de cálculo mostrada en la figura 5.3, en la que ya se han introducido todas las expresiones, Excel las ha evaluado y muestra que si se produce un equipo de cada tipo, esto es, x1= 1, x2 = 1, x3= 1 y x4 = 1, la utilidad sería de $3 775 (celda F3); se estarían ocupando 4.25 horas (celda F6) de las 3 000 disponibles en el departamento de electrónica de Chihuahua, 5.25 horas (celda F7) en el departamento de monitores, etcétera. Es importante observar la expresión de la celda F14, las anteriores son similares: se está multiplicando la celda E14 que contiene un 1 con la celda E2 que indica cuántos televisores de 50” se están produciendo. En este caso es 1, por lo que no se satisface la demanda mínima de 100 televisores. En este momento es necesario recordar el concepto de holgura: en los modelos de pl se definen como variable de holgura a la diferencia entre el valor del límite de un recurso y el valor actual de la restricción correspondiente; por ejemplo, la empresa cuenta con 3 250 horas hombre para trabajar en el departamento de monitores; si a éstas se le restan las horas que actualmente se están utilizando, la diferencia de horas, o sea, las horas aún disponibles en dicho departamento será el valor de la holgura de esa restricción. Figura 5.4. Cálculo de holguras 149 Programación lineal Figura 5.5. Cálculo de una alternativa posible El problema ahora, además de las variables de decisión, tendrá una variable de holgura por cada restricción. En el caso de este problema, las primeras cinco restricciones se refieren a la disponibilidad de horas hombre para trabajar. La empresa puede decidir producir distintas cantidades de cada uno de los equipos, siempre que no exceda sus recursos, en este caso las horas hombre. En el caso de las últimas cuatro restricciones se trata de producir al menos 100 aparatos. La desigualdad está en sentido contrario; así, la holgura sería el número de aparatos que se producirán por encima del mínimo solicitado. En este caso a la holgura se la llama excedencia y se calcula como el valor actual menos el valor del límite. Para que una solución sea factible en los modelos de pl, el valor de todas las variables de holgura debe ser mayor o igual a cero; nunca puede haber holguras negativas, pues esto indicaría que no se está satisfaciendo alguna de las restricciones. En la figura 5.4 se agregó una columna con el valor de las holguras para cada restricción. Como en esta hoja el valor de las variables de decisión es igual a diez, se nos muestra cuántas horas sobran en cada departamento si se fabrican 10 piezas de cada tipo. Pero las variables de excedencia son negativas, lo cual indica que esta solución no es posible pues no se está cumpliendo con producir al menos 100 unidades de cada tipo de equipo. Para encontrar una solución posible se puede cambiar el valor de las variables de decisión, por ejemplo, producir 100 unidades de cada producto. En este caso todos los valores de las variables de holgura se hacen positivos y se obtiene una utilidad de 150 Utilización de excel para la solución de problemas... $377 500, pero aún sobran muchas horas hombre. Se puede producir más. Dado que el cuarto y segundo productos son los de mayor utilidad unitaria, veamos qué pasa si producimos 1 000 unidades de cada uno, como se muestra en la figura 5.5, en la que la hoja calcula de nuevo todas las expresiones para los nuevos valores de las variables. La utilidad ha subido a $2 290 000, y aún quedan horas hombre o mano de obra disponibles. También aparecen los valores de excedencia: se están produciendo 900 equipos más de los 100 mínimos solicitados de los productos 2 y 4. Se puede continuar buscando cómo aumentar la utilidad aprovechando mejor los recursos disponibles. Uso de la herramienta Solver de Excel Encontrar la solución óptima de esta forma puede ser un trabajo interminable. Se trataría de probar todas las combinaciones de cuatro valores entre cien y algo más de mil, y aunque nos aproximáramos a una buena solución, no se podría asegurar qué tan cercana está de la solución óptima. Excel posee una herramienta llamada Solver que ejecuta un programa en el que se ha codificado el método Simplex.1 Esta herramienta nos permite resolver problemas de cientos de variables y restricciones con sólo indicarle una serie de datos. Para utilizarla debimos haber introducido previamente toda la información del modelo como se ha hecho en los párrafos anteriores. Aunque con pequeñas diferencias que dependen de la versión del sistema operativo Windows que esté instalada en la computadora, Solver se encuentra en el menú de Herramientas de Excel.2 En caso de no haberlo usado previamente puede ser necesario instalarlo, para lo cual en el menú de Herramientas habrá que entrar a Complementos, indicar que se agregue la opción Solver y regresar al menú de Herramientas,3 en el que ya aparecerá una entrada para la aplicación. Al escoger Solver aparecerá una ventana (figura 5.6) para la introducción de los parámetros que necesita Solver para resolver el problema: • Celda función objetivo: la celda debe contener una fórmula. • Indique si se quiere maximizar o minimizar el objetivo o lograr un valor determinado. • Celdas cambiantes: son las celdas en las que se encuentra el valor de las variables del problema. 1 O alguna variable de este método, así como otros métodos que permiten calcular algunos otros modelos. 2 Para la versión xt o anteriores. En la versión Vista, Complementos se encuentra en la carpeta de Datos. 3 Si se trabaja con la versión Vista aparece en el menú de Datos. 151 Programación lineal Figura 5.6. Ventana de Solver • Sujeto a las restricciones: aquí se agregarán cada una de las restricciones del problema. Al momento de indicárselo aparece una ventana que permite agregar una a una las restricciones. Agregar restricciones: en la ventana correspondiente (figura 5.7), es necesario indicar: • La celda de referencia que es la que contiene la ecuación correspondiente a esa restricción. • El signo correspondiente a la desigualdad o igualdad. • El valor límite de la restricción, indicándole la celda en la que se encuentra el valor correspondiente. En la figura 5.7 se observa cómo se introdujo la última restricción. Después de introducir cada restricción se puede seleccionar Aceptar o Agregar. Al introducir la última restricción se selecciona Aceptar y se regresa a la ventana anterior. Si hubo errores, aún se puede Agregar, Cambiar o Borrar restricciones. 152 Utilización de excel para la solución de problemas... Figura 5.7. Ventana para la introducción de cada restricción La ventana de parámetros de Solver (figura 5.6), tiene cinco botones más que permitirán resolver el problema: • Resolver: arranca el procedimiento de solución del problema. • Cerrar: cierra la ventana de diálogo del Solver sin perder la información introducida. • Opciones: despliega una ventana de diálogo que permite modificar algunos parámetros del proceso de solución del problema. • Resetear: borra los datos del problema actual y regresa los parámetros a los valores predeterminados. • Ayuda: despliega el manual de ayuda en línea de Excel. Una vez introducidos todos los parámetros del problema, se debe seleccionar el botón Opciones y allí indicar que se quiere utilizar el modelo lineal y valores no negativos; además es interesante escoger la opción que muestra los resultados de cada iteración. Hay que volver a la ventana de introducción de parámetros del Solver e indicar que resuelva el problema presionando el botón Resolver. Si el modelo está bien planteado y tiene solución, se ejecutarán algunas iteraciones hasta llegar a la solución buscada. En ese momento aparecerá una ventana en la que se preguntara al usuario qué reportes desea; hay tres opciones, y se pueden solicitar las tres: resultados, sensibilidad y límites. Cada una de ellas aparecerá en una hoja de cálculo distinta. Por ahora solo interesa analizar la hoja de resultados (figura 5.8), en la unidad 7 se analizará el contenido de la hoja de sensibilidad. La interpretación de los resultados de un problema es tan importante como el planteamiento de este. Aquí se debe realizar el proceso inverso: pasar de una serie de datos numéricos a su interpretación en términos del problema mismo. La hoja de resultados contiene mucha información agrupada en tres cuadros: 1) Celda objetivo: indica que se encuentra en la celda F3 y que el valor obtenido es de 2 605 998.80; por lo tanto la utilidad máxima que se puede obtener es de $2 605 998.80. 2) Celdas cambiantes: las celdas cambiantes indican el valor que debe tener cada una de las variables para obtener la mayor utilidad; el resultado obtenido es: x1 = 100; 153 Programación lineal x2 = 1 223.7; x3 = 100; x4 = 1 090.9. Habrá que producir solamente las 100 unidades requeridas como mínimo de pantallas de 20” y de televisores de 24”; se puede observar que estos productos son los que tienen menos utilidad por unidad. En cuanto a las pantallas de 24” se propone que se produzcan 1 223.7 unidades, pero como no es posible fabricar 0.7 unidades, la decisión deberá ser producir 1 223 unidades, aunque esto modificará la utilidad obtenida. De la misma manera se deberán producir 1 090 televisores de 50”. 3) Restricciones: el cuadro de restricciones es el que tiene mayor información. Es importante aquí tener presente las unidades en que está dada cada restricción; por ejemplo, las cinco primeras restricciones indican la cantidad de horas hombre en cada departamento y se indica cuántas horas se ocuparán y cuántas sobran si se realiza la producción indicada. Se puede observar que en el departamento de monitores y en el de fabricación de pantallas de cristal líquido se utilizan todas las horas disponibles, mientras que en el departamento de electrónica de Chihuahua sólo se utilizarían 2 406.8 horas y sobrarían 593.2 horas. Esta información es muy importante para la toma de decisiones, ya que puede servir, por ejemplo, para reacomodar los recursos humanos. Las últimas cuatro restricciones se refieren a las cantidades mínimas de cada producto que deben producirse. Aquí se observa que hay dos productos de los que se produce exactamente el mínimo, mientras que de los otros dos se propone que se produzcan 1 123 y 990 más que el mínimo solicitado pues son los que dan mayor utilidad a la empresa. La resolución de los problemas de pl utilizando Excel dan como resultado los valores de las variables de decisión, el valor óptimo de la fo y la cantidad de recursos utilizados y recursos sobrantes, estos últimos están en las columnas tituladas “valor de la celda” y “Holgura o Divergencia”. Sin embargo, esta solución debe ser analizada por los individuos que conocen el problema y debe ser adecuada a la situación concreta. Utilizando la hoja de cálculo original el experto podrá modificar valores y llegar a la solución más apropiada. En este caso una solución posible puede ser producir 100 pantallas de 20” y 100 monitores de 24”, 1 223 pantallas de 24” y 1 091 televisores de 50”. Con esto se obtendría una utilidad de $2 605 475, pero faltarían 0.25 horas de trabajo en el departamento de monitores; habría que subsanar este inconveniente con horas extras o capacitando, por ejemplo, a una persona del departamento de control de calidad donde actualmente sobra personal. Más adelante se analizará con más detalle la solución al conjuntar la solución óptima obtenida en la hoja de respuesta con la información del análisis de sensibilidad o pos-optimalidad de la hoja de sensibilidad. 154 Utilización de excel para la solución de problemas... Figura 5.8. Hoja de resultados de Solver Estado Lecturas complementarias Eppen y otros (2000), especialmente los capítulo 3, secciones 3.1 a 3.4, y 3.10 a 3.17. Problemas de la unidad 5 Resuelva los problemas presentados en la unidad 3 utilizando la utilería Solver de Excel; las soluciones se dan al final de la unidad 3. 155