Programación Lineal Continua

 

Hallar la solución de:

 

Max Z= 10 X1 + 8 X2
Sujeto a:
              30X1 +20X2 <= 120
                2X1 +  2X2 <=  9
                4X1 +  6X2 <=  24

                  X1,X2 >=0

 

La  única dificultad que tenemos es el de modelar el programa dentro del Excel, y eso, es muy fácil. Por supuesto, hay infinidad de maneras de hacerlo, aquí propongo una:

 

Se activa  Excel y en una hoja...

  • Se ubican las celdas que se corresponderán con el valor de las variables de decisión; en éste caso, las celdas B6 y C6, se les da un formato para diferenciarlas de las demás, aquí azul oscuro (ver captura abajo). Se ubica también, las celdas que contendrán los coeficientes de las variables de decisión, B4 y C4, y se llenan con sus respectivos valores, 10 y 8.  Aunque éste último paso, se podría omitir y dejar los coeficientes definidos en la celda de la función objetivo, así es mejor para los análisis de sensibilidad y para que la hoja quede portable para otro programa.

  • Se ubica la celda que se corresponderá con la función objetivo (celda objetivo), la B3. En ella se escribe la función que sea, en éste caso, será el coeficiente de X1 (en B4) por el valor actual de X1 (en B6) mas el coeficiente de X2 (en C4) por el valor actual de X2 (en C6) O sea:  =$B$4*$B$6+$C$6*$C$4

  • Coeficientes para la primera restricción: los podemos escribir en la misma columna de las variables de decisión; en las celdas B7 y C7, con los valores 30 y 20, seguido del sentido de la desigualdad (<=) y de su correspondiente RHS: 120. A la derecha ubicaremos el valor actual de consumo de la restricción, ella se escribirá en función de las variables de decisión y de los coeficientes de la restricción.   Esta celda, la utilizará Solver como la real restricción, cuando le digamos que el valor de ésta celda no pueda sobrepasar la de su correspondiente RHS. De nuevo será el valor del coeficiente por el de la variable:=B7*$B$6+C7*$C$6. Notese que ahora B7 y C7 no tienen el signo $. Pues es que luego que se haya escrito ésta celda, se podrá arrastrar hacia abajo para que Excel escriba la fórmula por nosotros (la pereza!), pero tome los valores relativos a los coeficientes que le corresponda  a los mismos valores de las variables de decisión. Se repite los pasos anteriores para las otras restricciones, pero ahora la fórmula será: =B8*$B$6+C8*$C$6 y =B9*$B$6+C9*$C$6.

 

 

El resto del formato es para darle una presentación más bonita a la hoja. Ahora a resoverlo!  Al hacer click en Herramientas , Solver se tendrá una pantalla como la siguiente. Lo primero que hay que hacer es especificar la celda objetivo y el propósito: maximizar. Se escribe B3 (o $B3 ó B$3 ó $B$3 como sea, da igual), en el recuadro "cambiando las celdas", se hace un click en la flechita roja, para poder barrer las celdas  B6 y C6; lo mismo da si se escriben directamente los nombres.

 

 

 

Y ahora para las restricciones: se hace click en agregar...

 

 

 

En F7 está la primera restricción, como se puede ver en la captura. Se especifica el sentido de la restricción <=, >= ó =.  Aquí también se puede especificar el tipo de variable, por defecto es continua, pero se puede escoger "Int" para entera o "Bin" para binaria.  En el recuadro de la derecha establecemos la cota. Aquí podemos escribir 120 pero mejor escribimos $E$7 para que quede direccionado a la celda que contiene el 120, y después lo podríamos cambiar y volver a encontrar la respuesta a manera de análisis de sensibilidad.

Se repite éste paso para las otras dos restricciones.

La condición de no negatividad hay que incluirla manualmente, así:

 

 

El cuadro de diálogo debe lucir así:

 

 

 

Y listo! Se hace click en resolver y ya. Parece un poco largo en comparación con los otros paquetes de programación lineal, pero ésto se hará sólo una vez, para los próximos programas se podrá utilizar la misma hoja cambiando los coeficientes. Sin embargo, como se puede notar, la flexibilidad de modelamiento es muy grande, y se puede introducir directamente en una hoja donde se haga el análisis de Planeación Agregada,  Job Shop Scheduling, secuenciamiento, balanceo, etc.


Contenido :

Social