SOLUCION DE MODELOS DE PROGRAMACION LINEAL EN UNA HOJA by wzq10206

VIEWS: 728 PAGES: 20

									      UNIVERSIDAD NACIONAL DE LA PLATA
           FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA DE LA PRODUCCIÓN
            INGENIERÍA INDUSTRIAL




SOLUCION DE MODELOS DE PROGRAMACION
   LINEAL EN UNA HOJA DE CÁLCULO:
ANALISIS DE SENSIBILIDAD - PROBLEMAS DE
       TRANSPORTE Y ASIGNACION




           CÁTEDRA: PRODUCCIÓN I
         Dr. Gerardo Fabián Santori, Profesor Adjunto
                    Ing. Javier Alves, JTP
             Carlos Bohdan, Ayudante Diplomado
             Enrique Drago, Ayudante Diplomado
              Hernan Puzzi, Ayudante Diplomado

                         2008
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.

SOLUCION DE MODELOS DE PROGRAMACION LINEAL EN UNA HOJA DE
CÁLCULO.

        Los paquetes de hojas de calculo, como Excel, son una herramienta conocida para
analizar y resolver problemas de programación lineal. Es sencillo introducir en una hoja de
cálculo las características principales de un modelo de programación lineal, incluyendo
todos sus parámetros. Sin embargo se puede extraer información adicional, como por
ejemplo verificar una solución potencial para ver si es factible y que valor de Z (ganancia o
costo), adquiere. Además, el Excel Solver puede aplicar el método Simplex para encontrar
la solución óptima.

Despliegue del modelo en una hoja de cálculo.
       La tabla 1. Contiene todos los parámetros del modelo para el problema de la W.
Glass, que desarrollamos en la sección anterior.

Tabla 1.Datos para el problema
                         Tiempo de producción por lote, horas

                                               Producto                                 Tiempo de
        Planta                                                                          producción
                                                                                      disponible a la
                                      1                          2                    semana, horas
         1                            1                          0                           4
         2                            0                          2                          12
         3                            3                          2                          18
  Ganancia por lote                   3                          5
    (miles de $)

       Esta información es la que se debe cargar en una hoja de cálculo Excel, como se
muestra en la figura 1. Se debe agregar un renglón (el 9 con el nombre “solución”), para
almacenar los valores de las variables de decisión. Tengamos presente que estas variables
de decisión (x1 y x2) representan el numero de lotes del producto 1 y 2 respectivamente
fabricados por semana). Después se añade una columna (E, con el nombre “totales”). Por
cada restricción funcional, el numero en la columna E es el valor numérico del lado
izquierdo de esa restricción. El lado izquierdo representa la cantidad real de recursos
usada, dados los valores de las variables de decisión del renglón 9. Por ejemplo, para la
planta 3 y la restricción en el renglón 7, la cantidad de este recurso utilizado (en horas de
producción por semana), es:

Tiempo de producción usado en la planta 3: 3x1+2x2

        En el lenguaje Excel, la ecuación equivalente para el número de la celda E7 es:

E7 = C7*C9 + D7*D9.




                                                                                                        2
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.

        Esta ecuación es la suma de dos productos. Hay otra manera de hacerlo: Existe
una función en Excel, llamada SUMAPRODUCTO, que suma el producto de los términos
individuales contenidos en dos rangos de celdas diferentes. Por ejemplo,
SUMAPRODUCTO (C7:D7, C9:D9) toman cada término individual en el rango C7:D7, los
multiplica por el termino correspondiente en el rango C9:D9 y después suma estos
productos individuales, justo como se muestra en la ecuación anterior.
        Después se introducen los signos  en las celdas F5, F6 y F7 para indicar la forma
de las restricciones funcionales (solamente sirven como recordatorio).
        Por último, se introduce en la celda E8, el valor de la función objetivo. Como los
otros valores de la columna E, se trata de una suma de productos. La ecuación para esta
celda es SUMAPRODUCTO (C8:D8, C9:D9).
        Una vez que se introduce el modelo en la hoja de cálculo, es sencillo analizar las
soluciones potenciales. Cuando se dan valores a las variables de decisión, la columna de
“Totales” calcula de inmediato la cantidad usada para cada recurso y la ganancia total.
Así, al comparar la columna E con la G, se puede ver enseguida si la solución potencial
es factible o no. La celda E8 muestra la ganancia que generará. Un enfoque para intentar
resolver un problema de programación lineal sería por prueba y error, en la hoja de cálculo
para analizar una variedad de soluciones. Sin embargo veremos como usar Excel para
encontrar rápido una solución óptima.




Figura 1: Hoja de cálculo para el problema de la W Glass, antes de usar el Excel Solver, por lo que los
valores de las variables de decisión y la función objetivo son cero.




                                                                                                     3
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.

Uso de Excel Solver para resolver el modelo.
        Excel incluye una herramienta llamada Solver que aplica el método Simplex para
encontrar una solución óptima. Antes de usar Solver, deben incluirse las siguientes
componentes del modelo en la hoja de cálculo:
1) Cada variable de decisión (x1 y x2)
2) La función objetivo y su valor (Z; c1 y c2)
3) Cada restricción funcional (ai y bi para cada restricción)
        La hoja mostrada en la figura 1, contiene esas componentes. Los parámetros para
las restricciones funcionales están en las filas 5, 6 y 7, y los coeficientes para la función
objetivo están en la fila 8. Los valores de las variables de decisión están en las celdas C9
y D9, y el valor de la función objetivo Z, en la celda E8. Como no se sabe cuales son los
valores de las variables de decisión, solo se escriben ceros. El solver cambiará estos por los
valores óptimos al resolver el problema.
        Para correr el Solver, se elige “Solver” en el menú Herramientas. Si Solver no
aparece, se debe ir a Herramientas, luego a Complementos, luego clic en Examinar y
localizar la unidad, la carpeta y el nombre de archivo Solver.xla que, normalmente, está
ubicado en la carpeta Library\Solver, y quedará incorporado en la barra de herramientas.
        El cuadro de dialogo de Solver se muestra en la figura 2. La “celda objetivo”
contiene el valor de la función objetivo, mientras que las “celdas que cambian” contienen
los valores de las variables de decisión.




Figura 2. Cuadro de diálogo de Solver, después de especificar las celdas de la función objetivo que se
maximizará y las variables de decisión.



                                                                                                    4
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.

        Solver necesita conocer con exactitud dónde se localizan las componentes del
modelo en la hoja de cálculo. Como la celda objetivo es E8 y las que cambian C9 y D9, se
introducen estas direcciones en el cuadro de dialogo Solver como se muestra en la figura 2.
Como se trata de maximizar la función objetivo, se selecciona máximo.
        Después deben añadirse las restricciones funcionales. Esto se hace con un clic en el
botón “agregar” (o add), en el cuadro de diálogo de Solver, con lo que aparece el cuadro de
diálogo “Agregar restricción”, mostrado en la figura 3. En este cuadro se especifica la
localización de los valores en el lado izquierdo y el lado derecho de las restricciones
funcionales. Las celdas E5 a E7 deben ser menores o iguales que las celdas G5 a G7. Estas
restricciones pueden hacerse una por una o bien realizarse todas juntas (en un sólo cuadro
de diálogo). Si hubiera más restricciones funcionales que añadir, se haría clic en “agregar”
para que aparezca de nuevo el cuadro de diálogo.
        También existe un menú para elegir entre los signos, en el que se elige “menor o
igual que”. (Esta selección es necesaria aún cuando antes se hayan escrito los signos en la
hoja de cálculo, porque Solver sólo utiliza las restricciones funcionales que se especifican
en el cuadro de diálogo.)




Figura 3. Cuadro de diálogo de agregar restricción, después de especificar que se requiere que las celdas E5,
E6, y E7, sean menores o iguales que las respectivas G5, G6, y G7.

        Luego regresamos al cuadro de diálogo de Solver, como se muestra en la figura 4.




                                                                                                           5
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.




Figura 4. Cuadro de diálogo de Solver después de especificar el modelo en términos de la hoja de cálculo.

        Antes de pedir a Solver que resuelva el modelo, se realiza otro paso. Se elige el
botón “Opciones” y aparece el cuadro de dialogo mostrado en la figura 5. Este cuadro
permite especificar cierto número de opciones sobre la manera en que se resolverá el
modelo. Las más importantes son las opciones “adoptar modelo lineal” y “asumir no
negativos”. Esto indica a Solver que es un problema de programación lineal con
restricciones de no negatividad para todas las variables de decisión.




                                                                                                            6
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.




Figura 5. Cuadro de diálogo de Solver, para indicar que se trata de un modelo de programación lineal con
restricciones de no negatividad que debe resolverse por el método Simplex .

       Ahora está todo listo para hacer clic en “Resolver”, en el cuadro de dialogo de
Solver, con lo que se ejecutará el método Simplex. Después de unos segundos, Solver
indicará los resultados. Por lo común indicará que encontró la solución óptima en el cuadro
mostrado en la figura 6. Si el modelo no tiene soluciones factibles o una solución óptima,
el cuadro de diálogo lo indicará con un mensaje como “Solver no pudo encontrar una
solución factible” o “El conjunto de valores en las celdas no converge”




                                                                                                      7
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.




Figura 6. Cuadro de diálogo de resultados de Solver que indica que encontró una solución óptima.

        Después de resolver el modelo, el complemento Solver sustituye el valor original de
las variables de decisión en la hoja de cálculo con los valores óptimos, como pude verse en
la figura 6, donde se indica el valor de la función objetivo y la cantidad de recursos que se
usa.
        El cuadro de diálogo también presenta la opción de generar varios informes. Uno de
ellos es el de sensibilidad que ahora se analizará en detalle.

Análisis de sensibilidad.
        Como se muestra en la figura 6, el cuadro de Solver produce el mensaje de haber
encontrado una solución, también da a la derecha una lista de tres resúmenes que puede
proporcionar. Si se selecciona el segundo llamado “Sensibilidad”, se obtendrá el informe
de sensibilidad, mostrado en la figura 7. La tabla superior (celdas cambiantes) proporciona
la información para las variables de decisión y sus coeficientes en la función objetivo. La
tabla inferior (restricciones) hace lo mismo para las restricciones funcionales y los lados
derechos.




                                                                                                   8
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.

Microsoft Excel 8.0 Sensitivity Report
Worksheet: [problema de mezcla de productos W Glass.xls]Hoja1
Report Created: 20/07/2004 18:22:14


Celdas cambiantes
                           Valor Gradiente Coeficiente Aumento Disminución
Celda    Nombre            Igual Reducido   Objetivo Permisible Permisible
$C$9 Solución                  2          0           3     4,5            3
      Puertas
$D$9 Solución                   6             0              5       1E+30            3
      Ventanas

Restricciones
                           Valor     Precio     Restricción Aumento Disminución
 Celda       Nombre        Igual    Sombra        Lado       Permisible Permisible
                                                 derecho
$E$5 Planta 1 Totales           2             0            4     1E+30             2
$E$6 Planta 2 Totales          12           1,5           12          6            6
$E$7 Planta 3 Totales          18             1           18          6            6
Figura 7. Informe de sensibilidad proporcionado por Excel Solver .

        La columna “valor igual” de la tabla superior de esta figura, nos muestra la
“solución óptima”. La siguiente columna contiene los “costos reducidos o gradiente
reducido”. Las siguientes tres columnas proporcionan la información necesaria para
identificar el intervalo permisible para conservar la optimalidad para cada coeficiente cj
en la función objetivo.
        La columna del “coeficiente objetivo”, da el valor actual de cada coeficiente y las
dos columnas siguientes el aumento permisible y la disminución permisible, a partir de este
valor para permanecer dentro del intervalo permisible. Por lo tanto:

3-3  c1  3 + 4.5, de manera que 0  c1  7.5, es el intervalo permisible para c1 en el cual
la solución optima actual permanecerá óptima, (suponiendo que c2 = 5 se mantiene
constante).

         En forma similar, el intervalo permisible para c2:

5-3  c2  5 + (1E + 30(10)30), que es igual a 2  c2, ya que el término (1E + 30(10)30),
Excel representa infinito.

 Cambie c1 entre 0 y 7.5 manteniendo constante c2. Luego cambie c2 manteniendo
constante c1. Observar los cambios. (Nota: Si modifica ci por sus valores "límite",
posiblemente x1 y x2 cambien, pero el valor de la función objetivo Z es el mismo que si se
mantuvieran los valores x1 y x2 originales ¿Por qué?)

        Conclusión: Respecto de los coeficientes de la función objetivo, el análisis de
sensibilidad nos dice que: la utilidad por lote de producto 1 puede variar entre $0 y $7.5 sin



                                                                                            9
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.

que tenga impacto en la solución. De manera similar la utilidad por lote de producto 2,
podría tomar cualquier valor mayor que $2, sin cambiar la solución.


        Ahora consideraremos la tabla inferior de la figura 7, que centra su análisis para las
tres restricciones funcionales. La columna de “valor igual”, proporciona el valor del lado
izquierdo de cada restricción para la solución óptima. Las dos columnas siguientes dan los
precios sombra y el valor actual de los lados derechos (bi) de cada restricción. Cuando se
cambia solo un valor de bi, manteniendo los otros constantes, las dos últimas columnas
proporcionan el aumento permisible y la disminución permisible a fin de permanecer
dentro del intervalo permisible para que los precios sombra siguan teniendo validez (ver
párrafo siguiente). Entonces, de la tabla inferior, se combinan las dos últimas columnas con
los valores actuales de los lados derechos, para obtener los intervalos permisibles:

4-2  b1  4 + (1E + 30(10)30),           2  b1
12-6  b2  12+6,                         6  b2  18
18-6  b3  18+6,                         12  b3  24

       Para las restricciones funcionales, el análisis de sensibilidad comienza por examinar
los valores óptimos de los precios sombra (y1* = 0, y2* = 3/2, y3* = 1). Estos precios
sombra indican el valor marginal de cada recurso i para las actividades (dos nuevos
productos) en estudio, donde el valor marginal se expresa en las unidades de Z (miles de
dólares de ganancia por semana). De esta manera, se puede aumentar la ganancia total en
$1500 semanales (y2* por $1000 por semana), por cada unidad adicional de recurso 2 (por
cada hora de producción a la semana en la planta 2) que quede disponible.
       En el caso de la Planta 1, el b1, puede tomar cualquier valor mayor que 2, con un
incremento resultante de $0 en la función objetivo (precio sombra igual a cero). Para la
Planta 2, las horas disponibles de producción, pueden variar entre 6 y 18 por semana, con
un incremento o disminución de $1500 semanales en la función objetivo, por cada unidad
(precio sombra para b2). En el caso de la Planta 3, las horas disponibles de producción,
podrían aumentar a 24 unidades o disminuir a 12 unidades, con un cambio de $1000 en la
función objetivo.


 Para visualizar lo analizado anteriormente, cambiar en la hoja de trabajo Excel, los
coeficientes de bi, de a uno por vez, ejecutar el Solver y observar los cambios.


       El otro informe que nos proporciona Excel Solver, es el informe de respuesta
(figura 8), que nos muestra las respuestas finales para la utilidad total ($36000) y las
cantidades producidas (2 lotes de producto1, y 6 lotes de producto2 por semana). En la
sección restricciones del informe de respuesta, se da el estado de cada recurso. Las
unidades disponibles en las Plantas 2 y 3 se utilizan en su totalidad, mientras que hay 2
unidades de holgura en la Planta 1.




                                                                                           10
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.


Microsoft Excel 8.0 Answer Report
Worksheet: [problema de mezcla de productos W Glass.xls]Hoja1
Report Created: 20/07/2004 18:28:13


Celda objetivo (Max)
  Celda              Nombre                       Valor Original Valor Final
  $E$8 Ganancia por lote ($miles) Totales                     36           36


Celdas Ajustables
  Celda            Nombre                         Valor Original Valor Final
  $C$9 Solución Puertas                                         2            2
  $D$9 Solución Ventanas                                        6            6


Restricciones
   Celda                 Nombre                  Valor de celda     Formula     Status     Holgura
   $E$5 Planta 1 Totales                                        2 $E$5<=$G$5 Not Binding          2
   $E$6 Planta 2 Totales                                       12 $E$6<=$G$6 Binding              0
   $E$7 Planta 3 Totales                                       18 $E$7<=$G$7 Binding              0
Figura 8. Informe de respuesta proporcionado por Excel Solver.




Posibles variaciones para analizar con Solver:

 Una variación que se puede analizar es reducir la producción de un producto (que sea
poco redituable) a la cantidad mínima que justifique sus gastos de comercialización. Lo
que proporcionaría 12 unidades del recurso 2 (12 horas de producción a la semana en la
planta 2) para los nuevos productos. Entonces el siguiente paso es determinar la ganancia
que se podría obtener de los nuevos productos si se hiciera esta transferencia. Esto cambia
b2 de 12 a 24 en el modelo de programación lineal. Si realizamos estos cambios en la hoja
de trabajo de excel (en la celda G6 se escribe 24) y luego resolvemos, llegamos a que la
solución optima es (0, 9), con Z = 45, que proporciona un incremento en la ganancia de
$9000 semanales respecto del anterior Z = 36. Según los resultados, con b2 = 24, se
utilizaran 18 unidades en la planta 2 para los productos nuevos y las 6 unidades
adicionales quedaran para un uso futuro. Algo a tener en cuenta es que esta solución
implica no producir nada del producto 1 (x1 = 0), y 9 lotes del producto 2 por semana (x2
= 9). Esto es debido al cambio en el valor de b2, (horas de producción a la semana en la
planta 2 disponibles), ya que en la planta 2 solo se fabrica el producto 2.

 Otro análisis interesante sería, modificar por ejemplo, b2 = 15 y b3 = 15 para ver cual
es la nueva solución optima, y también analizar cual es el efecto de cambiar la estimación
de los coeficientes de x1, por ejemplo a31 = 2 y en el coeficiente c1= 4.



                                                                                               11
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.

Uso de Excel para formular y resolver problemas de transporte y asignación.

Problemas de transporte: Para estos problemas Excel necesita dos tablas separadas en una
hoja de cálculo. La primera es la tabla de parámetros. La segunda es la tabla de solución
que contiene las cantidades a distribuir de cada origen a cada destino.
 Ejemplo: Una compañía tiene tres enlatadoras que abastecen a cuatro almacenes y la
   gerencia quiere determinar la programación de envío de costo mínimo para su
   producción mensual de latas de tomate. La oferta de las enlatadoras, las demandas de
   los almacenes y los costos de envío por caja de latas de tomate se muestran en la Tabla1

Tabla 1. Datos para el problema
                                         Costo de embarque ($) por carga
                                                    Almacén
                                     1            2           3                    4   Producción
                     1             464          513         654                  867       75
Enlatadoras          2             352          416         690                  791      125
                     3             995          682         388                  685      100
        Demandas                    80           65          70                   85

       Lo primero es ingresar esta tabla de parámetros a la hoja de calculo Excel. Luego de
esto deben incluirse los dos tipos de restricciones funcionales en la hoja de calculo.




   Restricciones de suministro: la cantidad total enviada desde cada origen se calcula en
    la columna H de la tabla de solución. Esta es la suma de todas las celdas de variables de
    decisión en el renglón correspondiente. Por ejemplo: la ecuación en la celda H15 es
    =D15+E15+F15+G15. El suministro de cada origen se da en la columna J y las celdas
    de la columna H deben ser iguales a las celdas correspondientes en la columna J.


                                                                                               12
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.

   Restricciones de demanda: la cantidad total enviada a cada destino se calcula en el
    renglón 18. Por ejemplo, la ecuación en la celda D18 es =D15+D16+D17. Entonces la
    demanda de cada destino se da en el renglón 20.
   Costo total: se da en la celda H18. Este costo es la suma de los productos de las celdas
    correspondientes en el cuerpo de la tabla de parámetros y el de la tabla de solución. Así
    la ecuación contenida en la celda H18 es “SUMAPRODUCTO (D6:G8, D15:G17).
   Elementos en el cuadro de dialogo de Solver: se minimiza el costo total (calculado en
    la celda H18), cambiando las cantidades enviadas (celdas D15 a G17), sujetas a las
    restricciones de que la cantidad total enviada a cada destino sea igual a su demanda
    (D18:G18=D20:G20), y la cantidad total enviada desde cada origen debe ser igual a su
    suministro (H15:H17=J15:J17). Asumir no negativos especifica que todas las
    cantidades enviadas deben ser no negativas. Adoptar modelo lineal, indica que se trata
    de un problema de programación lineal.
   Valores de las variables de decisión: las xij cantidades enviadas están en las celdas que
    cambian (D15:G17). Para comenzar se puede introducir cualquier valor en cada una de
    estas celdas.

   La solución se muestra en la siguiente figura.




Problemas de asignación: En este caso la formulación es similar al problema de
transporte.
Ejemplo: Una empresa compro tres maquinas nuevas de diferentes tipos. Existen cuatro
sitios disponibles dentro del taller en donde se podría instalar una máquina. Algunos de
ellos son más adecuados que otros para ciertas máquinas en particular por su cercanía a los
centros de trabajo que tendrían un flujo intenso de trabajo hacia y desde las maquinas. (no
hay flujo de trabajos entre las maquinas). Por lo tanto el objetivo es asignar las nuevas


                                                                                          13
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.

maquinas a los lugares disponibles de manera que se minimice al costo total del manejo de
materiales. En la tabla 2, se proporciona el costo estimado por unidad de tiempo del manejo
de los materiales en cuestión, con cada una de las maquinas en los sitios respectivos. El
lugar 2 no se considera apropiado para la maquina 2 por lo que no se da un costo en este
caso.
Tabla 2. Costos de manejo de materiales.
                             Costo ($/hora)
                               Localidad
                       1       2       3         4
                1     $13     $16      $12     $11
 Maquina        2     $15      ---     $13     $20
                3      $5      $7      $10      $6
         Para formularlo como un problema de asignación, se debe agregar una maquina
ficticia para el lugar adicional. Además, debe asignarse un costo muy grande M a la
asignación la maquina 2 al lugar 2 para evitarla en la solución optima.

Resolución: En la hoja de calculo Excel armamos la tabla de parámetros, de manera que
nos quede la siguiente pantalla:




       Luego, tendremos que armar la tabla de solución, igual que en el problema de
transporte. En este caso, hay que tener en cuenta que: Numero de orígenes (m) = numero de
destinos (n). Cada recurso si = 1, Cada demanda di = 1.

De esta manera, obtenemos:




                                                                                         14
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.




        La solución al aplicar Solver es la siguiente:




        La solución optima es asignar la maquina 1 al lugar 4, la maquina 2 al lugar 3 y la
maquina 3 al lugar 1 con un costo total de $29 por hora. La maquina ficticia se asigna al
lugar 2, con lo que esa localidad quedara disponible para alguna asignación real futura.




                                                                                              15
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.

Problema adicional a resolver: Una empresa ha decidido iniciar la fabricación de cuatro
nuevos productos utilizando tres plantas que por el momento tienen exceso de capacidad de
producción. Los productos requieren un esfuerzo productivo comparable por unidad, por lo
que la capacidad de producción disponible en las plantas se mide por el numero de
unidades de cualquier producto que se pueden fabricar por día, como se muestra en la
ultima columna de la tabla. El ultimo renglón da la producción diaria requerida para
satisfacer las ventas proyectadas. Cada planta puede producir cualquiera de estos productos,
excepto la planta 2 que no puede fabricar el producto 3. Sin embargo, el costo variable por
unidad de cada producto difiere entre una planta y otra, como se muestra en la tabla.
La gerencia necesita tomar la decisión de cómo dividir la producción entre las plantas.
Tiene dos opciones:
Opción 1: permitir la separación de productos, de tal manera que el mismo producto se
pueda fabricar en mas de una planta.
Opción 2: no autorizar la separación de productos.
La ventaja clave de la opción 2, es que elimina algunos costos ocultos asociados con la
separación de productos que no refleja la tabla, incluyendo costos adicionales de
preparación, distribución y administración. Para la opción 2 además se ha especificado que
debe asignarse al menos unos de los productos a cada planta. La gerencia quiere que se
analicen ambas opciones antes de tomar la decisión final.
La opción 1 lleva al problema de transporte, mientras que la opción 2 al problema de
asignación.
Tabla de datos.
                                      Costo unitario por producto $
                                   Productos
                                 1            2             3            4        Capacidad
                                                                                  Disponible
                    1           41           27            28           24            75
   Plantas          2           40           29            ---          23            75
                    3           37           30            27           21            45
   Tasa de Producción           20           30            30           40




                                                                                          16
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.


ANEXO: Resolución de modelos de programación lineal en WinQSB

WinQSB es un programa interactivo de ayuda a la toma de decisiones que contiene
herramientas muy útiles para resolver distintos tipos de problemas en el campo de la
investigación operativa. El programa está formado por distintos módulos, uno para cada
tipo de modelo o problema. Aquí se analizará el módulo LP- ILP.
Este módulo del programa resuelve problemas de Programación Lineal (LP) y de
Programación Entera Lineal (ILP). Un problema LP o ILP involucra una función objetivo
lineal y un número limitado de restricciones lineales. Las variables de decisión pueden ser
acotadas con valores límites. Todas las variables de decisión en un problema LP son
consideradas continuas naturalmente, lo que significa que toman un valor real entre las
cotas.

Para aprender a usar este módulo desarrollaremos el ejercicio de la W. Glass nuevamente.

Planteo del problema:

Iniciamos la ejecución del programa:
File  New Proyect

donde nos aparece la siguiente ventana que nos pide las especificaciones del problema:




Problem Title:                    el nombre del problema
Number of Variables:              el número de variables


                                                                                           17
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.

Number of Constraints:            el número de restricciones (sin contar las de no negatividad)
Objective Criterion:              si el problema es de maximizar o minimizar

Data Entry Format:                el formato de los datos de entrada, que puede ser:

       Spreadsheet Matrix Form.- formato de hoja de cálculo, solo se introducen los
Coeficientes

        Normal Model Form.- se introduce el problema completo en la forma habitual

Default Variable Type:            el tipo de variables, podemos elegir entre:

        Nonnegative Continuous (x >= 0 )
        Nonnegative Integer (x >= 0 y entera)
        Binary ( x, 0 o 1)
        Unsigned/unrestricted (x no restringida)

En nuestro caso lo completamos de la siguiente manera y presionamos OK:

Problem Title:            W. Glass
Number of variables: 2
Number of Constrains:     3
Objective Criterion: Maximization
Data Entry Format: Spreadsheet Matrix Form
Default Variable Type:    Nonnegative continuous

Luego nos aparece la siguiente ventana:




Para cambiar el sentido o dirección de la restricción se hace doble clic sobre la celda
correspondiente en la columna de Dirección; y las posibilidades que tiene son: <=, >= y =.
Los términos "Lower Bound" y "Upper Bound" indican los límites mínimos y máximos que
pueden tomar X1 y X2.

La completamos tomando como base el planteo matemático realizado anteriormente. Una
vez introducidos los datos pasamos a la etapa de resolución.




                                                                                                  18
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.


Resolución:

A partir de este punto tenemos varias opciones en la etapa de resolución, dentro de la
solapa Solve and Analyze (Resolver y Analizar) podemos elegir: Solve the Problem
(Resolver el Problema), Solve and Display Steps (Resolver y Mostrar los Pasos) o Graphic
Method (Método Gráfico) o se puede usar directamente los íconos.

1- Solve and Display Steps:

Si al problema lo resolviéramos manualmente tendríamos que convertir el planteo
matemático anterior en la forma estándar de resolución por Simplex. Esto es exactamente lo
que hace esta opción, mostrando las iteraciones una por una.

En esta ventana aparece un menú en el que la opción Simplex Iteration nos permite realizar
las siguientes acciones:

Next Iteration                            Realizar la siguiente iteración
Choose Entering Variable                  Elegir la nueva variable básica
Go to the Last Tableau                    Ver la última tabla (tabla óptima)
Nonstop to Finish                         Resolver el problema y dar un informe global

Como se vio en la teoría, al introducir las variables de holgura el problema aumentado nos
queda:

(0) Z - 3 X1 - 5 X2 = 0
(1) X1 + X3 = 4
(2) 2 X2 + X4 = 12
(3) 3 X1 + 2 X2 + X5 = 18

donde X3, X4 y X5 son variables slack o variables de holgura, el programa las denomina
Slack_C1, Slack_C2 y Slack_C3 respectivamente.

Es necesario hacer una aclaración: la función objetivo Z es despejada de manera diferente a
cómo se vio en teoría, con lo cual hay que tener en cuenta una serie de cuestiones:

- En la teoría se elegía el coeficiente negativo con mayor valor absoluto de la ecuación
(0). El programa elige el mayor coeficiente positivo de la ecuación (Cj- Zj), que es el
equivalente a la ecuación (0) de la teoría.

- En la teoría se dejaba de iterar cuando todos los coeficientes de la ecuación (0) se hacían
positivos. El programa deja de iterar cuando todos los coeficientes de la ecuación (Cj- Zj)
se hacen negativos o cero.

Salvo estas aclaraciones, el programa funciona de igual manera a lo visto en clase. Cada
vez que se clickea el icono (o bien Next Iteration), aparece una iteración nueva, hasta
resolver el problema.


                                                                                          19
Cátedra: Producción I
Laboratorio N°3: Solución de Modelos de programación lineal en una hoja de cálculo.

Una vez que se presiona el icono, si se observa la pantalla antes de presionar cualquier
tecla, se verá que el programa indica con otro color una celda; esa celda es la que se
utilizará como pivote en la iteración siguiente.

2- Solve the Problem:

Al presionar este icono el programa nos resuelve automáticamente el problema y nos
muestra la siguiente ventana, obteniendo la solución del problema primitivo y su análisis de
sensibilidad.




Como podemos observar la información contenida en la tabla es la siguiente:
Decision Variable          Nombre de las variables
Solution Value             Valor de las variables en la solución óptima
Unit Cost or Profit (c(j)) Coeficiente de la variable en la función objetivo
Total Contribution         Contribución total de la variable a la función objetivo, cjxj
Reduced Cost               Coste reducido, - (zj - cj )
Basis Status               Indica si la variable es o no básica
Allowable Min c(j)         Mínimo valor de cj sin que cambie la solución óptima
Allowable Max c(j)         Máximo valor para cj sin que cambie la solución óptima
Objective Function         Valor de la función objetivo
Constraint                 Nombre de la restricción
Left Hand Side             Valor del término de la derecha
Direction                  Signo para la restricción (<=, >= o =)
Right Hand Side            Valor de la restricción en la solución óptima
Slack or Surplus           Valor de la variable de holgura
Shadow Price               Valor del precio sombra asociada a la restricción
Allowable Min RHS          Mínimo valor para bi sin que cambie la solución óptima
Allowable Max RHS          Máximo valor para bi sin que cambie la solución óptima




                                                                                           20

								
To top