los “módulos interactivos de ciencia administrativa” (Interactive Management Science Modules) para aprender más sobre el método gráfico.
02-Hillier.indd 32
ción lineal de cualquier tamaño razonable. Por fortuna, Excel incluye una la herramienta Solver que lo hará una vez formulado el modelo de hoja de cálculo, como se describe en la sección 2.2. [Una versión más poderosa del Solver, llamada Premium Solver for Education (Premium Solver para la educación), también está disponible en su MS Courseware.] Para entrar a Solver por primera vez, debe instalarlo desde la opción Complementos (Add-ins) de Excel y agregar Solver, después de lo cual lo encontrará en el menú de Herramientas.
En la figura 2.3 de la sección 2.2 se muestra el modelo de hoja de cálculo para el problema de Wyndor. Los valores de las variables de decisión (las tasas de producción para los dos artículos) están en las celdas cambiantes, UnidadesProducidas (C12:D12) y el valor de la función objetivo (la ganancia total por semana de los dos productos) está en la celda meta, GananciaTotal (G12). Para comenzar se introdujo una solución arbitraria de prueba al poner ceros en las celdas cambiantes. Solver entonces los cambiará por los valores óptimos después de resolver el problema.
Este procedimiento comienza al elegir Solver en la pestaña de datos (Data) en Excel 2007 o en el menú de Herramientas en versiones anteriores. El cuadro de diálogo del Solver se muestra en la figura 2.8.
Antes de que Solver comience a trabajar, necesita saber exactamente dónde se ubica cada com- ponente del modelo en la hoja de cálculo. Puede escoger entre escribir los nombres de los rangos, las direcciones de las celdas, o bien, hacer clic en las celdas de la hoja de cálculo. En la figura 2.8 se muestra el resultado de elegir la primera opción, de manera que se introduce UtilidadTotal (Total- Profit) (y no G12) en la celda meta y UnidadesProducidas (UnitsProduced) (y no el rango C12:D12) en las celdas cambiantes. Como se busca maximizar la celda meta, también se activa “Max”.
A continuación deben especificarse las celdas que contienen restricciones funcionales. Se hace clic en el botón “Add” (Agregar) en el cuadro de diálogo de Solver. Esto despliega el cuadro de diálogo de “Add Constraint” (“Agregar restricción”), que se muestra en la figura 2.9. Los signos ≤ de las celdas F7, F8 y F9 de la figura 2.3 sirven para recordar que todas las celdas en HorasUsadas (E7:E9) todas deben ser menores o iguales que las celdas correspondientes en HorasDisponibles (G7:G9). Estas restricciones se especifican en Solver al ingresar HorasUsadas (E7:E9) a la izquierda del cuadro de diálogo “Add Constraint” y HorasDisponibles (G7:G9) a la derecha. El signo entre estos dos lados se puede elegir de un menú con <=, = o >=, y aquí se elige <=. Esta alternativa se
FIGURA 2.9 Cuadro de diálogo de Add Constraint después de especificar que las celdas E7, E8 y E9 de la figura 2.3 deben ser menores o iguales que las celdas G7, G8 y G9, respectivamente. FIGURA 2.8 Cuadro de diálogo de Solver después de especificar qué celdas de la figura 2.3 son la celda meta y las celdas cambiantes, además de indicar que se va a maximizar la celda meta. Sugerencia de Excel: Si selecciona las celdas haciendo clic en ellas, primero aparecerán en el cuadro de diálogo con las direcciones de sus celdas y con signos de dólar (como $C$9:$D$9). Puede ignorar los signos de dólar. Después de un tiempo, Solver sustituirá tanto las direcciones de las celdas como los signos con el nombre del rango correspondiente (si se ha definido un nombre de un rango para las direcciones de las celdas dadas), pero sólo después de agregar una restricción o de cerrar y abrir de nuevo el cuadro de diálogo del Solver.
2.5 Uso de Excel para resolver problemas de programación lineal 33
02-Hillier.indd 33
necesita aunque ya se hayan ingresado los signos ≤ en la columna F porque Solver sólo utiliza las restricciones especificadas en el cuadro de diálogo “Add Constraint”.
Si hubiera más restricciones funcionales que añadir, haría clic en “Add” para desplegar un nuevo cuadro de diálogo “Add Constraint”. Sin embargo, como no hay más en este ejemplo, el siguiente paso es oprimir OK (Aceptar) para regresar al cuadro de diálogo de Solver.
Este cuadro de diálogo resume ahora todo el modelo (vea figura 2.10) en términos de la hoja de cálculo de la figura 2.3. Sin embargo, antes de pedir a Solver que resuelva el modelo, debe realizarse otro paso. Cuando se oprime el botón de Options se despliega el cuadro de diálogo que se muestra en la figura 2.11. Éste le permite especificar diversas instrucciones respecto a la manera en que se resolverá el problema. Las más importantes son “Assume Linear Model” y “Assume Non-Negative”. Asegúrese de activar ambas, como se muestra en la figura. Esto indica a Solver que el problema es de programación lineal y que se necesitan restricciones de no negatividad para que las celdas cambian- tes rechacen tasas de producción negativas. En cuanto a las otras alternativas, aceptar los valores por omisión que se muestran en la figura suele ser adecuado para problemas pequeños. Oprimir el botón OK lo regresa al cuadro de diálogo de Solver.
Ahora está listo para oprimir “Solve” (Resolver) en el cuadro de diálogo de Solver, lo que comenzará el proceso de solución del problema internamente. Después de unos segundos (para un problema pequeño), Solver indicará los resultados. Por lo general mostrará que ha encontrado una
FIGURA 2.11 Cuadro de diálogo Solver Options después de activar las opciones Assume Linear Model y Assume Non-Negative para indicar que deseamos resolver un modelo de programación lineal que tiene restricciones de no negatividad. FIGURA 2.10 Cuadro de diálogo de Solver después de especificar todo el modelo en términos de la hoja de cálculo.
Las alternativas de Assume Linear Model (Suponer modelo lineal) y Assume Non-Negative (Suponer no negativo) especifican que se trata de un problema de programación lineal con restricciones de no nega- tividad.
El cuadro de diálogo Add Constraint se usa para especificar todas las res- tricciones funcionales.
02-Hillier.indd 34
35
solución óptima, como la especificada en el cuadro de diálogo de Solver Results que se muestra en la figura 2.12. Si el modelo no tiene soluciones factibles o una solución óptima, el cuadro de diálogo lo indicará con los mensajes “Solver no pudo encontrar una solución factible” (Solver could not find a feasible solution) o “los valores establecidos de las celdas no convergen” (The Set Cell values do not converge). (En la sección 14.1 se describe cómo pueden ocurrir estas posibilidades.) El cuadro de diálogo también presenta la alternativa de generar diversos reportes. Uno de ellos (el informe de sensibilidad) se analizará con detalle en el capítulo 5.
Una vez resuelto el modelo, Solver sustituye los números originales de las celdas cambiantes por los números óptimos, como se muestra en la figura 2.13. Así, la solución óptima es producir dos puertas y seis ventanas por semana, justo como se determinó con el método gráfico en la sección anterior. La hoja de cálculo también indica el número correspondiente en la celda meta (ganancia total de 3 600 por semana), así como las cifras en las celdas de salida HorasUsadas (E7:E9).
En este punto, quizá quiera verificar qué pasaría con la solución óptima si se cambiara cual- quiera de los números en las celdas de datos por otros valores posibles. Esto es sencillo porque Solver guarda todas las direcciones de celda meta, celdas cambiantes, restricciones, etcétera cuando guarda el archivo. Todo lo que debe hacer son las modificaciones que desee en las celdas de datos y luego presionar “Solve” de nuevo en el cuadro de de diálogo de Solver. [En el capítulo 5 se estudiará este
análisis de “qué pasa si”, y cómo utilizar el Sensitivity Report (informe de sensibilidad) de Solver
para agilizar el análisis).]
Para ayudarle a experimentar este tipo de cambios, su MS Courseware incluye archivos de Excel para este capítulo (y para otros) que proporcionan la formulación y solución completa de los ejem-
Frontline Systems, el desarrollador original de Solver estándar que incluye Excel, también ha desarrollado versiones Premium de Solver que proporcionan funciones adicionales. Una de ellas (Premium Solver for Education) está disponible en su MS Courseware. Una vez que se instala se elige Premium Solver en la pestaña de Add-Ins en Excel 2007 o en el menú de Herra- mientas en versiones anteriores. Esto despliega el siguiente cuadro de diálogo mostrado como ejemplo típico.
El Premium Solver for Education es más potente que el estándar en el sentido de que puede resolver con precisión problemas difíciles en los que el Solver estándar no tiene éxito. Además de esta característica, la otra ventaja clave es que incluye tres técnicas de búsqueda diferentes que se eli- gen en un menú que se despliega. Las opciones son Standard GRG Nonlinear, Standard LP Simplex y Standard Evolutionary. La primera opción (Standard GRG Nonlinear) es básicamente equivalente a usar Solver estándar sin “Assume Linear Model” activada. La segunda (Standard LP Simplex) es básicamente equivalente a usar Solver estándar con “Assume Linear Model” activada. La tercera opción (Standar Evolutionary) utiliza Evo- lutionary Solver que se estudiará en el capítulo 8. Esta opción no está disponible en Solver estándar.
Incluso con Premium Solver para la educación instalado, puede usarse Solver estándar de Excel en la forma acostum- brada si se escoge Solver en la pestaña de Data (en Excel 2007) o en el menú Herramientas (en versiones anteriores). Lo alen- tamos a instalar y probar también Premium Solver for Educa- tion.