27
PROGRAMACIÓN LINEAL MÉTODO SIMPLEX IN VESTIG AC IÓ N DE O PERACIONES PRO G RAM ACIÓ N LINEAL:SO LUCIÓ N DE PRO BLEM AS CO N EL “M ÉTODO SIM PLEX JO SÉ E.VÁZQ UEZ ARÉVALO PRO CESO S TECNO LO G ICO S E IN D U STR IA LES ITESO JEVA / PTI 1

Me to Do Simplex

Embed Size (px)

Citation preview

Page 1: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

INVESTIGACIÓN DE OPERACIONES

PROGRAMACIÓN LINEAL: SOLUCIÓN DE PROBLEMAS CON EL “MÉTODO SIMPLEX”

JOSÉ E. VÁZQUEZ ARÉVALO PROCESOS TECNOLOGICOS E INDUSTRIALES ITESO JEVA / PTI 1

Page 2: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

PROGRAMACIÓN LINEAL: SOLUCIÓN DE PROBLEMAS CON EL MÉTODO SIMPLEX

 El Método Simplex soluciona problemas de Programación Lineal de cualquier tamaño, desde dos hasta "n" variables de decisión. Los problemas pueden ser maximización o de minimización dependiendo del tipo de Función Objetivo que tengan y en cuanto al tipo de solución óptima que den, pueden ser de solución única o de solución múltiple o alterna. La computadora es un medio tecnológico que da gran apoyo en la solución de problemas en Programación Lineal, utilizando su gran velocidad de procesamiento de datos. La computadora puede utilizar cualquier tipo de software diseñado para este propósito, pero todos ellos emplearán el algoritmo matemático del Método Simplex. Algunos paquetes de software que se pueden utilizar para solucionar estos problemas son, el WinQSB, Storm, Lindo, etc. También se puede programar una hoja electrónica para este fin, con el Solver del Excel . Un requisito indispensable para usar la computadora con esta orientación, es tener el problema previamente modelado para facilitar la captura de los datos de entrada, que deberán ser de acuerdo al formato del software utilizado y proceder a su ejecución. La solución que da la computadora en su reporte de salida, se debe de interpretar para apoyar la toma de decisiones.  El enfoque de este tema es, conocer los fundamentos del Método Simplex como un apoyo para interpretar la solución óptima, que es la solución matemática que dá la computadora. Para lograr esto, se presenta la metodología que sigue el Método Simplex en la solución manual de problemas de Programación Lineal ya sean de maximización o de minimización: 

1.         Igualar las restricciones del problema modelado.2.         Formar la "Tabla Inicial".3.         Reconocer si la solución que dá la Tabla es óptima, checando el cumplimiento del "Criterio de

Optimabilidad (Cj-Zj £ 0)". Si la solución no es óptima, se debe:4.         Calcular la "Nueva Tabla". hasta encontrar la solución óptima.5.         Repetir el "Paso 3 y 4" hasta que la tabla calculada cumpla con el criterio de optimabilidad. 6.         Dar la "Solución Optima" del problema.7.         "Interpretar" la solución óptima del problema.

 Para presentar la aplicación de esta metodología, se hará con tres problemas: uno de maximización, otro de minimización y el último de solución óptima alterna o múltiple. 1. PROBLEMA DE "MAXIMIZACIÓN". Se explicará esta metodología general con un problema de maximización, de dos variables de decisión, que es un problema pequeño solo para ilustrar el Método Simplex. Con la finalidad de comparar el Método Gráfico y el Simplex, se retoma el problema de "fabricación de fertilizantes" que anteriormente se había solucionado con el Método Gráfico y ahora se hará con el Simplex. Primero se presenta la solución del problema y luego se hará la comparación entre ambos métodos: 1.1. Solución del problema por el Método Simplex. A continuación se da el modelo del problema de los fertilizantes (problema presentado en las notas del Método Gráfico) para ser solucionado con el Método Simplex:  Máx. Z = 185X1 + 200X2

s. a. Nitrato 0.05X1 + 0.05X2 £ 1,100 Fosfato 0.05X1 + 0.10X2 £ 1,800 Potasio 0.10X1 + 0.05X2 £ 2,000

JEVA / PTI 2

Page 3: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

 

Paso 1. Igualar las restricciones. 

Se igualan las restricciones para tener la matriz identidad del problema. Esta matriz identidad es el punto de partida que utiliza el Método Simplex para solucionar el problema. Existen las siguientes reglas para hacer la igualación de las restricciones:

 Si se tiene una restricción menor o igual se agregará una variable de holgura (H). Si la restricción es mayor o igual se restará una variable de excedente (E) y se sumará una variable artificial (A). Si la restricción es una igualdad se sumará una variable artificial (A).  Un pequeño ejemplo para mostrar la aplicación de estas reglas es igualando las siguientes restricciones:  Restricciones Igualando las restricciones   2X1 + 4X2 £ 80 2X1 + 4X2 + H1+ 0 + 0 = 80 8X1 + 6X2 ³ 12 8X1 + 6X2 + 0 - E2 + A1 = 12 X1 + 3X2 = 15 X1 + 3X2 + 0 + 0 + A2 = 15

matriz identidad

Ahora, aplicando estas reglas para igualar las restricciones del problema de los fertilizantes, se tiene: 

Nitrato 0.05X1 + 0.05X2 £ 1,100 0.05X1 + 0.05X2 + H1 = 1,100Fosfato 0.05X1 + 0.10X2 £ 1,800 0.05X1 + 0.10X2 + H2 = 1,800Potasio 0.10X1 + 0.05X2 £ 2,000 0.10X1 + 0.05X2 + H3 = 2,000

 Paso 2. Formar la Tabla Inicial. 

Existen diferentes formatos de tablas que se pueden usar para el Método Simplex. Los formatos se diferencian solo en la colocación de los datos pero la esencia es la misma. Una vez definido el formato de la tabla, se mantendrá igual durante todo el desarrollo del problema, independientemente de la etapa que se este haciendo. Nosotros utilizaremos el siguiente formato para hacer las tablas:

 Tabla Inicial o Tabla 1.

 Base

 Cj

 X1

185

 X2

200

 H1

0

 H2

0

 H3

0

 Bi

 

Función Objetivo: Variables Coeficientes de Contribución

H1

H2

H3

000

0.050.050.10

0.050.100.05

100

010

001

110018002000

Restricciones: Coeficientes y Términos Independientes

Zj 0 0 0 0 0 0Pérdida Unitaria de la Función Objetivo (Precio Sombra)

∆j 185 200 0 0 0  Incremento Marginal del valor de la

Función Objetivo 

Para calcular Zj y ∆j se harán con las siguientes relaciones: 

JEVA / PTI 3

Page 4: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

Zj = S Ai,j Cj

∆j = Cj - Zj

Paso 3. Reconocer si la solución que da la tabla es óptima. Verificar el cumplimiento del Criterio de

Optimabilidad (∆j£ 0)

El Método Simplex utiliza el Criterio de Optimabilidad para saber si ya llegó a la solución óptima del problema. Si la tabla que se tiene no cumple con este criterio, se tendrá que seguir adelante con otras iteraciones, es decir, calculando más tablas hasta cumplirlo. El criterio de optimabilidad se enuncia en la forma siguiente:

La solución será óptima sí y solo sí ∆j £ 0. Es decir, los valores del renglón de la ∆j deben ser ceros o negativos. Un valor positivo indica que la solución de la tabla no es óptima.

Como el Método Simplex trabaja por iteraciones (pasar de una tabla a otra hasta llegar a la solución óptima), es posible leer la solución que se tiene en cualquier tabla de las calculadas. Para leer la solución de una tabla que se haya calculado, es necesario ver dos columnas, la columna Base nos dará las Variables Básicas que forman la solución y la columna "Bi" nos dará el valor de estas variables. Cualquier variable no incluida en la base es una Variable no Básica con valor cero.  Al leer la solución de la tabla anterior, se tiene que:  Variables Básicas Variables no Básicas (Solución de la Tabla) H1 = 1100 X1 = 0 H2 = 1800 X2 = 0 H3 = 2000 Z = 0  

Esta solución no es óptima ya que si se observa el renglón ∆j tiene valores positivos que no cumplen con el criterio de optimabilidad. Por lo tanto se tiene que hacer una nueva tabla para encontrar la siguiente solución factible y ver si es óptima. 

Paso 4. Calcular la "Nueva Tabla".  

Para calcular la nueva tabla se tiene que definir la “Variable de Entrada (VE), la "Variable de Salida (VS)", el "Pivote" y los "Criterios de Ajuste" para los nuevos renglones. El "Criterio para definir la Variable de Entrada" es seleccionar la variable con el máximo valor del renglón

∆j. En este caso la variable de entrada es X2 que tiene un valor de 200 que es el valor mayor. Esto significa que por cada tonelada que se produzca del fertilizante 5-10-5 (X2) se ganará $200 por tonelada pero si se hubiera seleccionado como variable de entrada el 5-5-10 (X1) se ganaría solo $185. La variable X2 entrará en la "Base" de la nueva tabla. 

El "Criterio para definir la Variable de Salida" es seleccionar el valor mínimo positivo del cociente .

Primero se tiene que calcular el cociente y luego seleccionar la variable de salida. En este problema la variable de salida es H2. El "Pivote" es la intersección de la columna de la Variable de Entrada con el renglón de la Variable de Salida y se debe de "marcar" este pivote ya que se utilizará para hacer los criterios de ajuste.

JEVA / PTI 4

Page 5: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

 Los "Criterios de Ajuste" consisten en hacer las ecuaciones requeridas para calcular los renglones de la nueva tabla sin utilizar el cálculo matricial; obviamente estos cálculos se pueden hacer también con matrices.

Se recomienda hacer los cálculos por “renglones” para evitar errores en vez de hacerlos celda por celda. En forma general, los “criterios de ajuste" para calcular los renglones de la tabla nueva, se pueden definir en la forma siguiente: 

Renglón Pivote

Np = Renglón pivote para la tabla nueva Vp = Renglón de la tabla vieja donde está el pivote marcado p = Valor del pivote marcado en la tabla vieja 

Ni = Renglón "i" calculado para la tabla nueva Vi = Renglón "i" seleccionado de la tabla vieja

Ai,ve= Coeficientes de la columna de variable de entrada en el renglón "i" (tabla vieja)

Np = Renglón pivote para la tabla nueva A continuación se presentan los cálculos para el problema que se está desarrollando:  Tabla 1

  

 Base

 Cj

 X1

185

 X2

200

 H1

0

 H2

0

 H3

0

 Bi

 

 

V1 V2 V3

H1

H2

H3

000

0.050.050.10

0.050.100.05

100

010

001

110018002000

22,00018,000 ®VS = H2

40,000Zj 0 0 0 0 0 0   

  

∆j 185 200 0 0 0  

VE = X2  Los criterios de ajuste para calcular los renglones de la nueva tabla son: 

Renglón Pivote

 

Se presentan los cálculos de los renglones para la nueva tabla: Siempre se debe iniciar calculando el "renglón pivote” para la nueva tabla que en este caso es N2:

Renglón N2:V2 0.05 0.10 0 1 0 1,800

JEVA / PTI 5

Page 6: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

0.5 1 0 10 0 18,000

Este "renglón pivote" de la tabla nueva es muy importante ya que se usará como referencia para calcular los demás renglones de la tabla, como a continuación se muestra: Renglón N1:

V2 0.05 0.05 1 0 0 1,100

- 0.05 N2 - 0.025 - 0.05 0 - 0.5 0 - 900N1 0.025 0 1 - 0.5 0 200

 Renglón N3:

V3 0.10 0.05 0 0 1 2,000 - 0.05N2 - 0.025 - 0.05 0 - 0.5 0 - 900

N3 0.075 0 0 - 0.5 1 1,100 

Acomodando los renglones calculados en la nueva tabla queda en la siguiente forma: 

Tabla 2   

 Base

 Cj

 X1

185

 X2

200

 H1

0

 H2

0

 H3

0

 Bi

 

 

N1 N2 N3

H1

X2

H3

0200

0

0.0250.5

0.075

010

100

- 0.5 10

- 0.5

001

20018,0001,100

8,000 ®VS = H1

36,00014,666.7

Zj 100 200 0 2,000 0 3’600,000   ∆j 85 0 0 - 2,000 0  

VE = X1

  Paso 5. Repetir el "Paso 3 y 4" hasta que la tabla calculada cumpla con el criterio de optimabilidad.

Si se cumple con el criterio de optimabilidad, entonces la solución de esa tabla es óptima, si no, se continua "iterando" es decir haciendo nuevas tablas hasta encontrar la solución óptima del problema por lo que se repite nuevamente el paso 4. La solución de la tabla anterior es: H1 = 200 X2 = 18,000

H3 = 1,100  Máx. Z = 3’600,000

 Esta solución no es óptima, luego se calcula la siguiente "nueva tabla" definiendo la Variable de Entrada, la Variable de Salida, Pivote y los Criterios de Ajuste.

Para calcular la Tabla 3 se tiene que la Variable de Entada es X1, la Variable de Salida es H1, el Pivote es 0.025 y los Criterios de Ajuste son: 

Renglón Pivote

JEVA / PTI 6

Page 7: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

Tabla 3

Base Cj X1

185X2

200H1

0H2

0H3

0BI

 X1

X2

H3

185200 0

100

010

40 - 20

- 3

- 20 20 1

001

8,00014,000 500

Zj 185 200 3,400 300 0 4’280,000

∆j 0 0 - 3,400 - 300 0  

 

En esta tabla se cumple con el criterio de optimabilidad ∆j £ 0 por lo que se ha llegado a la solución óptima del problema. 

Paso 6. Dar la "Solución Óptima" del problema. La solución óptima del problema que se encuentra en la Tabla 3 es:

X1 = 8,000 X2 = 14,000 H3 = 500 Máx. Z = 4’280,000 Esta solución óptima es una "solución matemática" que requiere ser interpretada.

 Paso 7. "Interpretar" la solución óptima del problema.

 En la interpretación de la solución óptima, se debe ver si el problema tiene "variables discretas" o "variables continuas". Si se tienen variables discretas, al hacer la interpretación de la solución óptima del problema, se tendrá que dar en valores "enteros" haciendo los ajustes requeridos en la solución matemática obtenida. Si son variables continuas, la interpretación se hará directamente con los valores obtenidos sin hacer ningún ajuste. En nuestro problema se tienen variables continuas por lo que no es necesario hacer ajustes. Entonces, la interpretación de la solución óptima será la siguiente:   

El programa de producción para el siguiente mes será 8,000 toneladas del fertilizante 5-5-10 (X 1=8,000) y 14,000 toneladas del 5-10-5 (X2=14,000) para tener la máxima utilidad de $4’280,000 (Máx.Z=4’280,000). Después de hacer este programa de producción se tendrán 500 toneladas sobrantes de Potasio. Las restricciones dominantes o “cuellos de botella2 son el Nitrato y el Fosfato. 1.2. Comparación entre el Método Simplex y el Método Gráfico. Retomando el problema de los "fertilizantes", que se acaba de solucionar por el Método Simplex, se hará un análisis comparativo entre el Método Simplex y el Método Gráfico. El Método Simplex es "iterativo", es decir, va repitiendo el cálculo de las tablas, pasando de una a otra, hasta encontrar la solución óptima mientras que, el Método Gráfico evalúa la Función Objetivo en cada vértice de la región factible para escoger la solución óptima. La gran diferencia que existe entre ambos métodos, es que la solución dada por el Método Gráfico se puede visualizar gráficamente mientras que la del Simplex no. Para analizar la lógica de los cálculos del Método Simplex y compararlos con el Método Gráfico, se presenta la siguiente gráfica:

JEVA / PTI 7

Page 8: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

El Método Simplex al calcular la "Tabla Inicial (Tabla 1)" con la matriz identidad del problema, se posiciona en el vértice "E" localizado el punto de origen (0,0). En esta forma queda el Simplex preparado para iniciar la solución del problema. En esta tabla inicial se tiene la siguiente solución:

Variables "Básicas" Variables "no Básicas"

H1 = 1100 X1 = 0 H2 = 1800 X2 = 0 H3 = 2000 Z = 0

 Esta solución de la "Tabla Inicial" es igual a la solución que se tiene en el vértice "E" en el Método Gráfico.Al estar en el vértice "E", el Método Simplex evalúa las alternativas de movimiento que tiene, en este caso dos, una dirección lo lleva al vértice "A" y la otra al "D". El renglón del "Incremento Marginal del valor de la Función

Objetivo (∆j)” en la Tabla Inicial, señala que la utilidad por tonelada que se puede obtener al producir X2 es de $200/tonelada mientras que con la X1 es de $185. La mejor alternativa es producir X2, es por esta razón se escogió como “Variable de Entrada” (VE = X2) a la Base de la "Nueva Tabla" (Tabla 2). Esto equivale a moverse en la dirección del eje X2 como se puede apreciar en la gráfica. Ya seleccionada la dirección, el Simplex tiene que conocer hasta donde se puede mover, esto lo logra al definir la "Variable de Salida" de la Base de la Tabla Inicial que es H2 (VS = H2) que está vinculada a la restricción de Fosfato. Esta restricción da el tope máximo hasta donde se puede llegar de acuerdo a la gráfica, es decir hasta el vértice "A".  La solución que se tiene en el vértice "A" (ver la solución de la Tabla 2 del Método Simplex) es: 

Variables "Básicas" Variables "no Básicas"

H1 = 200 X1 = 0 X2 = 18,000 H2 = 0 H3 = 1,100 Z = 3’600,000

 Ya en el vértice "A", se repiten los pasos anteriormente explicados; de acuerdo a la gráfica se evalúan las direcciones de movimiento (pasar al vértice “B” o al vértice “E”) y hasta donde puede llegar como máximo en la dirección seleccionada de tal forma que se incremente el valor de la Función Objetivo. De acuerdo a la gráfica,

JEVA / PTI 8

X1 = 8,000 H1 = 0X2 = 14,000 H2 = 0H3 = 500Máx. Z = 4’280,000VÉRTICE “B”

H1 = 200 X1 = 0X2 = 18,000 H2 = 0H3 = 1,100Z = 3’600,000 VÉRTICE “A”

H1 = 1,100 X1 = 0 H2 = 1,800 X2 = 0H3 = 2,000VÉRTICE “E”

Page 9: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

se selecciona pasar al vértice "B” (restricción de Nitrato). Al analizar lo que hace el Simplex para pasar al vértice “B”, es seleccionar la dirección de movimiento a través de la variable de entrada de la Tabla 2 que es X1

(VE = X1). En el vértice "B" se tiene la solución óptima del problema que se puede ver en la Tabla 3 del Método Simplex, es decir, en esta tabla se cumple con el criterio de optimabilidad.

La solución óptima es:  

Variables "Básicas" Variables "no Básicas"

X1 = 8,000 H1 = 0 X2 = 14,000 H2 = 0 H3 = 500

Máx.Z = 4’280,000 Si se quisiera pasar a otro vértice por ejemplo al “C”, como se puede ver en la gráfica, esto daría un valor de la Función Objetivo menor al que se tenía en el vértice “B” por lo que se reafirma que este vértice está la solución óptima. La solución que se encuentra en el vértice “C” es:

 

Variables "Básicas" Variables "no Básicas"

X1 = 18,000 H1 = 0 X2 = 4,000 H3 = 0 H2 = 500 Z = 4’130,000

2. PROBLEMA DE "MINIMIZACIÓN". Cuando se quiere solucionar un problema de Programación Lineal, necesariamente se tiene que desarrollar un ciclo de tres pasos: modelar el problema, solucionar el modelo para encontrar la solución óptima e interpretar la solución óptima encontrada. A continuación se presenta un problema de "minimización" que presenta los tres pasos mencionados:

Alimentos para físico-culturistas.Una empresa fabricante de alimentos para físico-culturistas ha recibido un pedido de 1000 kilogramos de un producto de alto contenido proteínico. La empresa conoce que la formulación de este pedido se hace con tres alimentos base. Actualmente se tiene en los almacenes una disponibilidad de 800 kilogramos del alimento "A", 100 de "B" y 400 de "C". El producto final tiene como requerimiento cuando menos 600 kilogramos del alimento "A" y no más de 500 de los alimentos "B" y "C" combinados. El costo del kilogramo es de $15 para "A", de $12 para "B" y de $10 para "C". La empresa quiere desarrollar un modelo para minimizar el costo de este pedido.

 Modelación.Variables de Decisión.

Xi = Kilogramos del Alimento "i" que se utilizarán en la fabricación del pedido (Kg)

 Función Objetivo. mín. Z = 15X1 + 12X2 + 10X3

$ ($/Kg)(Kg) = $  Restricciones. 1. Condición de Balanceo. JEVA / PTI 9

Page 10: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

X1 + X2 + X3 = 1000 Kg Kg 2. Especificaciones del Pedido.

Alimento "A" X1 ³ 600 Alimento "B" X2 + X3 £ 500 Kg Kg

3. Disponibilidad de Materiales. Alimento "A" X1 £ 800 Alimento "B" X2 £ 100 Alimento "C" X3 £ 400 Kg Kg

4. No negatividad Xi ³ 0 Análisis Dimensional: Aprobado.

Solución por el Método Simplex.Para solucionar un problema de “minimización" con el Método Simplex, se puede utilizar la misma metodología que se aplicó para los problemas de Maximización. Para hacer esto, es necesario transformar el problema de minimización a uno de maximización aplicando el siguiente principio:  mín.Z = Máx.(-Z)  

Función Objetivo original Función Objetivo transformada mín. Z = 15X1 + 12X2 + 10X3 Máx. Z = - 15X1 - 12X2 - 10X3

 Ya trasformado el problema, se resuelve como si fuera de maximización. A continuación se presentan los pasos para la solución del problema: 

Igualar las restricciones.  Se presenta la igualación de las restricciones para formar la "matriz identidad" de este problema: Restricciones Igualación de Restricciones

Condición de Balance X1 + X2 + X3 = 1000 X1 + X2 + X3 + A1 = 1000Especificación Alimento "A" X1 ³ 600 X1 - E1 + A2 = 600Especificación Alimento "B" X2 + X3 £ 500 X2 + X3 + H2 = 500Disponibilidad Alimento "A" X1 £ 800 X1 + H3 = 800Disponibilidad Alimento "B" X2 £ 100 X2 + H4 = 100Disponibilidad Alimento "C X3 £ 400 X3 + H5 = 400

Tabla Inicial del problema.

Considerando, la transformación del problema como si fuera de Maximización, se tiene la siguiente "Tabla Inicial":

Tabla Inicial (Tabla 1)

Base Cj X1

-15X2

-12X3

-10A1

-150E1

0A2

-150H2

0H3

0H4

0H5

0Bi

A1

A2

H2

H3

H4

H5

-150-150

0000

110100

101010

101001

100000

0-10000

010000

001000

000100

000010

000001

1,000600500800100400

1,000600®VSInfinito800InfinitoInfinito

JEVA / PTI 10

Page 11: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

Zj -300 -150 -150 -150 150 -150 0 0 0 0 -240,000  

∆j 285 138 140 0 -150 0 0 0 0 0  

VE

  Reconocer si la solución de la tabla es óptima.

Al analizar el renglón ∆j nos encontramos números positivos, que indica que la solución que se tiene en esta tabla no es óptima ya que no se cumple el criterio de optimabilidad. Entonces, se tiene que calcular la siguiente iteración o tabla 2 (“Nueva Tabla”)

  Calcular la "Nueva Tabla".

Con base en la Tabla Inicial (Tabla 1), se establecen los "Criterios de Ajuste" para pasar a la siguiente tabla, quedando en siguiente forma:

  Renglón Pivote N2 = V2

N1 = V1-N2

N3 = V3

N4 = V4-N2

N5 = V5

N6 = V6

 Con estos criterios se calcularon los renglones de la siguiente tabla:

Tabla 2Base Cj X1

-15X2

-12X3

-10A1

-150E1

0A2

-150H2

0H3

0H4

0H5

0Bi

A1

X1

H2

H3

H4

H5

-150-150000

010000

101010

101001

100000

1 -1

0100

-110

-100

001000

000100

000010

000001

400600500200100400

400®VSInfinito500InfinitoInfinito400

Zj -15 -150 -150 -150 -135 135 0 0 0 0 -69,000  

∆j 0 138 140 0 135 -285 0 0 0 0  

VE

  Si la Tabla calculada no cumple con el "Criterio de Optimabilidad", se debe seguir haciendo "Nuevas

Tablas" hasta llegar a la solución óptima del problema. La Tabla 2 no es la solución óptima para el problema por lo que se tiene que seguir iterando (hacer nuevas tablas) hasta llegar a la solución óptima del mismo. A continuación se presentan los cálculos de las tablas calculadas:

  Criterios de Ajuste para pasar a la Tabla 3:

Renglón Pivote N1 = V1

N2 = V2

N3 = V3-N1

N4 = V4

N5 = V5

JEVA / PTI 11

Page 12: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

N6 = V6-N1

  Tabla 3

Base Cj X1

-15X2

-12X3

-10A1

-150E1

0A2

-150H2

0H3

0H4

0H5

0Bi

X3

X1

H2

H3

H4

H5

-10-15

0000

010000

10001

-1

100000

10

-100

-1

1-1-1 1 0-1

-1 1 1-1 0 1

001000

000100

000010

000001

4006001002001000

Zj -15 -10 -10 -10 5 -5 0 0 0 0 -13,000

∆j0 -2 0 -140 -5 -145 0 0 0 0  

 

En esta Tabla 3 se cumple el criterio de optimabilidad, es decir, todos los números del renglón ∆j son negativos o ceros. Entonces, la solución de esta tabla es la óptima.

  "Solución Optima" del problema.

La solución óptima que se puede leer en la tabla, es la siguiente:  X3 = 400 X1 = 600 H2 = 100 H3 = 200 (¿¿) H4 = 100 H5 = 0  Máx. Z = -13,000 que es igual mín. Z = 13,000

  "Interpretar" la solución óptima.

  El problema tiene variables continuas por lo queda la siguiente interpretación:Para fabricar el pedido que cumpla con los requerimientos, se deberá utilizar 600 kilogramos del alimento "A" (X1=600) y 400 kilogramos del alimento "C" (X3=400) para tener el mínimo costo de $13,000 (mín.Z=13,000). Al hacer este plan de fabricación para el pedido, se tendrá el siguiente análisis de los recursos: en el requerimiento de la combinación del alimento "B" y "C" se tendrá un sobrante de 100 kilogramos (H2=100), es decir, se utilizaron 400 kilogramos en vez de 500; se tiene un sobrante de 200 kilogramos del alimento "A" (H3=200) y 100 kilogramos del alimento "B" (H4=100) que no se utilizó. El Alimento “C” (H5=0) se terminó. La restricción dominante es la especificación del Alimento “A”, la disponibilidad del Alimento “C” y respetar la condición de balance.

 

3. PROBLEMA DE "SOLUCIÓN ÓPTIMA ALTERNA" Y "SOLUCIONES ÓPTIMAS MULTIPLES". Para saber si un problema tiene una o varias “soluciones óptimas alternas”, se tiene que buscar en la "Tabla Final" (la tabla con la solución óptima del problema) las variables que cumplan con las siguientes condiciones:

Variable “no básica”

Con valor cero en el renglón ∆j

Y al menos un coeficiente positivo en su columna 

Por cada variable que se tenga en la Tabla Final que cumpla estas condiciones, se tendrá una nueva solución óptima alterna. 

JEVA / PTI 12

Page 13: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

Para calcular una "nueva solución óptima" se forzará como Variable de Entrada, la variable que cumpla con las condiciones. Se seguirá el procedimiento para calcular la siguiente tabla ("nueva tabla"), donde se encontrará la nueva solución óptima (solución óptima alterna).  Si se tienen en la Tabla Final, varias variables que cumplan con la condiciones, entonces se tendrán "Soluciones Óptimas Múltiples". De acuerdo con el número de estas variables, se tendrán al menos este número o más de soluciones óptimas diferentes para el problema. Para calcular estas soluciones múltiples, primero se forzará a una de ellas a ser la Variable de Entrada en la Tabla Final y siguiendo el procedimiento para calcular la tabla siguiente, se encontrará la primera solución óptima alterna del problema. Si se van metiendo como Variables de Entrada, las diferentes variables que cumplen las condiciones, se irán calculando las diferentes soluciones óptimas alternas que tenga el problema. A continuación se presentan dos problemas para presentar las situaciones donde se tiene una "Solución Óptima Alterna" y donde se tienen varias "Soluciones Óptimas Múltiples": 3.1. Solución Óptima Alterna.Para analizar un problema con "solución óptima alterna", se tratará nuevamente el problema de los fertilizantes pero modificado ligeramente la Función Objetivo. Se dejaron las mismas restricciones pero se cambió la Función Objetivo a una nueva, quedando el modelo de la siguiente forma:  Función Objetivo Máx. Z = 100X1 + 200X2

Restricciones: Nitrato 0.05X1 + 0.05X2 £ 1,100 Fosfato 0.05X1 + 0.10X2 £ 1,800 Potasio 0.10X1 + 0.05X2 £ 2,000 

Solución por el Método Simplex.A continuación se presentan todas las tablas (iteraciones) del problema: 

Tabla Inicial (Tabla 1)   

 Base

 Cj

 X1

100

 X2

200

 H1

0

 H2

0

 H3

0

 Bi 

 

V1 V2 V3

H1

H2

H3

000

0.050.050.10

0.050.100.05

100

010

001

110018002000

22,00018,000 ®VS40,000

  Zj 0 0 0 0 0 0  

∆j 100 200 0 0 0  

VE

 "Criterios de Ajuste" para pasar a la Tabla 2:

 

Renglón Pivote N2 =

N1 = V1 - 0.05N2

N3 = V3 - 0.05N2

JEVA / PTI 13

Page 14: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

  Tabla 2 (Tabla Final).

   

 Base

 Cj

 X1

100

 X2

200

 H1

0

 H2

0

 H3

0

 Bi 

 

N1

N2 N3

H1

X2

H3

0200

0

0.0250.5

0.075

010

100

-0.510

-0.5

001

20018,0001,100

8,000 ®VS36,00014,666.7

Zj 100 200 0 2,000 0 3600,000   

∆j 0 0 0 -2,000 0  

VE

  La solución óptima de este problema es: H1 = 200 X2 = 18,000 H3 = 1,100 Máx. Z = 3’600,000 Al analizar la "Tabla Final" del problema, se encuentran dos variables no básicas, la X1 y la H2. La H2 no cumple con todas las condiciones pero la X1 sí. Entonces el problema tiene una solución óptima alterna. Para calcular esta solución óptima alterna, se fuerza como Variable de Entrada la X1 y se calcula la siguiente Tabla.  

"Criterios de Ajuste" para pasar a la siguiente tabla: 

Renglón Pivote N1 =

N2 = V2-0.5N1

N3 = V3-0.075N1

 

Tabla de la Solución Óptima Alterna.Base Cj X1

100X2

200H1

0H2

0H3

0Bi 

X1

X2

H3

100200 0

100

010

40-20- 3

-20 20 1

001

8,00014,000 500

Zj 100 200 0 2000 0 3600,000

∆j 0 0 0 -2000 0  

Se ha calculado una la solución óptima alterna para el problema que es: X1 = 8,000 X2 = 14,000 H3 = 500 Máx. Z = 3’600,000 Una característica de la solución óptima alterna, es que debe dar una diferente solución pero el mismo valor de la Función Objetivo que la solución óptima normal, en este caso 3’600,000. 

JEVA / PTI 14

Page 15: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

Si se analiza nuevamente la "Tabla Final", se verá que la variable H1 cumple con todas las condiciones. Al solucionar, siguiendo el mismo procedimiento, se encontrará la solución óptima anterior. Se presentan las dos soluciones óptimas del problema:   Solución Óptima Solución Óptima Alterna H1 = 200 X1 = 8,000 X2 = 18,000 X2 = 14,000 H3 = 1,100 H3 = 500 Máx. Z = 3’600,000 Máx. Z = 3’600,000 Interpretación de las "Soluciones Óptimas" del problema.

El programa de producción para el siguiente mes se puede fabricar en dos posibles formas. Una forma será fabricar 18,000 toneladas del fertilizante del 5-10-5 (X2=18,000) para tener la máxima utilidad de $3’600,000 (Max.Z=3600,000). Al hacer este programa de fabricación sobrarán 200 toneladas de Nitrato (H1=200) y 1,100 toneladas de Potasio (H3=0). Otra solución alternativa es producir 8,000 toneladas del fertilizante 5-5-10 (X1=8,000) y 14,000 toneladas del 5-10-5 (X2=14,000) para tener la máxima utilidad de $3’600,000 (Máx.Z=3600,000). Al hacer este programa sobrarán 500 toneladas de Potasio (H3=500).

Rango Óptimo.En la mayoría de los problemas, la pendiente de la Función Objetivo pasa por un vértice a la región factible generando una solución única o puntual. Cuando un problema tiene una solución óptima alterna es que la pendiente de la Función Objetivo pasa por todo un lado de la región factible generando diferentes soluciones óptimas. Esto es consecuencia de que la pendiente de la Función Objetivo es paralela a uno ese lado de la región factible. Esto sirve como base para establecer el “Rango Óptimo” del problema, al establecer el rango de variación para cada una de las variables. Para calcular el Rango Óptimo se debe recordar que las variables que no forman parte de la solución óptima inicial del problema, tienen un valor de "cero". Con esta consideración y comparando las dos soluciones óptimas encontradas para este problema que tiene solo dos variables de decisión, se puede establecer el Rango Óptimo quedando en la siguiente forma: Rango Óptimo: 8,000 ³ X1 ³ 0 18,000 ³ X2 ³ 14,000 200 ³ H1 ³ 0 1,100 ³ H3 ³ 500 Máx. Z = 3’600,000 Al conocer el Rango Optimo para este problema con dos variables de decisión, nos permite planear diferentes soluciones óptimas que respondan a necesidades específicas. Por ejemplo, si se quiere fabricar 5,000 toneladas del fertilizante 5-5-10 (X1=5,000) se puede calcular cuántas toneladas del fertilizante 5-10-5 se tienen que fabricar para tener la máxima utilidad de $3’600,000. Esto se calcula en la forma siguiente:  3’600,000 = 100(5,000) + 200 X2

X2 = 15,000 De acuerdo a este cálculo, se debe de fabricar 15,500 toneladas del fertilizante 5-10-5 (X2=15,500).

Si dentro de los valores del rango óptimo, se fijan simultáneamente los valores de X1 y X2, se puede generar una solución no óptima por lo que es necesario comprobarla. Se debe verificar que el valor de la Función Objetivo sea la misma en cualquier caso.

3.2. Soluciones Óptimas Múltiples.Un problema que tiene varias soluciones óptimas también se dice que tiene "soluciones óptimas múltiples". El problema siguiente es un ejemplo de este tipo: Cadena de tiendas. JEVA / PTI 15

Page 16: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

Una gran cadena de tiendas de abarrotes tiene varios establecimientos que trabajan las 24 horas del día. De experiencias pasadas que se han tenido en las tiendas, se observó que se puede dar mejor servicio al cliente si se asignan turnos de 8 horas a sus empleados pero escalonados en períodos de 4 horas, es decir, se inicia un turno cada 4 horas.La Administración de la compañía ha determinado las necesidades del personal para el siguiente mes, presentado en la tabla que se da a continuación: 

Turno Período Personal Requerido

123456

8 a 12 horas 12 a 16 16 a 20 20 a 24 24 a 4 4 a 8

353040201025

 A la Administración le gustaría tener un modelo que le permita determinar cuántos empleados deben trabajar en cada turno de tal forma que el total de empleados sea mínimo.

 Modelación.Variables de Decisión. Xi = Empleados a trabajar el Turno "i" (e) Función Objetivo. mín. Z = X1 + X2 + X3 + X4 + X5 + X6

e e

Restricciones.1. Períodos. 8 a 12 horas X1 + X6 ³ 35 12 a 16 X1 + X2 ³ 30 16 a 20 X2 + X3 ³ 40 20 a 24 X3 + X4 ³ 20 24 a 4 X4 + X5 ³ 10 4 a 8 X5 + X6 ³ 25 e e2. No negatividad Xi => 0

 Análisis Dimensional: Probado. Solución del problema modelado en la computadora.Al solucionar este problema en la computadora, se obtuvo la siguiente "Tabla Final" donde se puede leer la solución óptima: Tabla Final (Primera Solución Óptima)

          *     *   *    Base Cj X1

-1X2

-1X3

-1X4

-1X5

-1X6

-1E1

0E2

0E3

0E4

0E5

0E6

0Bi

 

X1

X2

X3

E4

X5

-1-1-1 0-1

10000

01000

00100

1 -1 1

01

00001

00000

-1 1-1-1 0

0 -1

110

00

-1 -1

0

00010

-1 1-1-1-1

1 -1

110

2010301010

20-10 30 Infinito 10 ®VS

JEVA / PTI 16

Page 17: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

X6 -1 0 0 0 -1 0 1 0 0 0 0 1 -1 15 -15Zj -1 -1 -1 -1 -1 -1 1 0 1 0 1 0 -85  

∆j 0 0 0 0 0 0 -1 0 -1 0 -1 0  

VE

Al analizar la "Tabla Final" del problema, se encontró que X4, E2 y E6 son las variables "no básicas" que cumplen con las condiciones para tener soluciones óptimas alternas. En este caso, se tiene un problema con "soluciones óptimas múltiples", con al menos cuatro soluciones diferentes.   En la "Tabla Final" se puede leer la primera solución óptima del problema, que es la siguiente: X1 = 20 X2 = 10 X3 = 30 E4 = 10 X5 = 10 X6 = 15 mín. Z = 85 Para calcular la segunda solución óptima del problema, se forzó como Variable de Entrada a X4 y se aplicaron los Criterios de Ajuste para calcular la siguiente tabla:

Criterios de Ajuste para calcular la “segunda solución óptima” del problema:  Renglón Pivote N5 = V5

N1 = V1 - N5 N2 = V2 + N5

N3 = V3 - N5

N4 = V4

N6 = V6 + N5

 Tabla Final (Segunda Solución Óptima)

           * * *    Base Cj X1

-1X2

-1X3

-1X4

-1X5

-1X6

-1E1

0E2

0E3

0E4

0E5

0E6

0Bi

 

X1

X2

X3

E4

X4

-1-1-1 0-1

10000

01000

00100

00001

-11

-101

00000

-1 1-1-1 0

0 -1

110

00

-1 -1

0

00010

000

-1 -1

1 -1

110

1020201010

Infinito-20 20 10 ®VSInfinito

JEVA / PTI 17

Page 18: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

X6 -1 0 0 0 0 1 1 0 0 0 0 0 -1 25 InfinitoZj -1 -1 -1 -1 -1 -1 1 0 1 0 1 0 -85  

∆j 0 0 0 0 0 0 -1 0 -1 0 -1 0

VE En esta "Tabla Final" se puede leer la “segunda solución óptima” del problema que es: X1 = 10 X2 = 20 X3 = 20 E4 = 10 X4 = 10 X6 = 25 mín. Z = 85 Después de calcular la segunda solución óptima, se regresa a la Tabla Final de la primera solución y se sigue calculando las otras soluciones óptimas. Ahora se selecciona como Variable de Entrada E2 para calcular la “tercera solución óptima” del problema. Se sigue el mismo procedimiento descrito anteriormente. Se presenta los cálculos para encontrar las otras soluciones óptimas del problema:

Criterios de Ajuste para calcular la “tercera solución óptima” del problema:  Renglón Pivote N4 = V4

N1 = V1

N2 = V2 + N4 N3 = V3 - N4

N5 = V5

N6 = V6

 Tabla Final (Tercera Solución Óptima)Base Cj X1

-1X2

-1X3

-1X4

-1X5

-1X6

-1E1

0E2

0E3

0E4

0E5

0E6

0Bi

 

X1

X2

X3

E2

X4

X6

-1-1-10-1-1

100000

010000

001000

000010

-11-1011

000001

-100-100

000100

0-10-100

01-1100

0-11-1-10

10010-1

103010101025

10 ®VSInfinitoInfinito 10Infinito- 25

Zj -1 -1 -1 -1 -1 -1 1 0 1 0 1 0 -85  

∆j 0 0 0 0 0 0 -1 0 -1 0 -1 0  

VE

 

Tercera solución óptima:  X1 = 10 X2 = 30 X3 = 10 S2 = 10 X4 = 10

JEVA / PTI 18

Page 19: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

X6 = 25 mín. Z = 85 Criterios de Ajuste para calcular la "cuarta solución óptima" del problema:  Renglón Pivote N1 = V1

N2 = V2

N3 = V3 N4 = V4 - N1

N5 = V5

N6 = V6 + N1

 Tabla Final (Cuarta Solución Óptima)

       Base Cj X1

-1X2

-1X3

-1X4

-1X5

-1X6

-1E1

0E2

0E3

0E4

0E5

0E6

0Bi

 E6

X2

X3

E2

X4

X6

0-1-1 0-1-1

100

-101

010000

001000

000010

-11

-1110

000001

-10000

-1

000100

01

-1100

01

-1100

0 -1

1 -1 -1

0

100000

1030100

1035

Zj -1 -1 -1 -1 -1 -1 1 0 1 0 1 0 -85

∆j 0 0 0 0 0 0 -1 0 -1 0 -1 0  

 Cuarta solución óptima: E6 = 10 X2 = 30 X3 = 10 E2 = 0 X4 = 10 X6 = 35 mín. Z = 85 En la Tabla de la "tercera solución óptima", si se mete como Variable de Entrada X5 se obtendrá una "quinta solución óptima" que será:

X1 = 20 X2 = 20 X3 = 20 E2 = 10 X5 = 10 X6 = 10 mín. Z = 85 

Se presenta un resumen de las "soluciones óptimas múltiples" del problema: 

JEVA / PTI 19

Page 20: Me to Do Simplex

PROGRAMACIÓN LINEAL MÉTODO SIMPLEX

VariablesBásicas

Soluciones Óptimas Múltiples

1 2 3 4 5

X1

X2

X3

X4

X5

X6

E2

E4

E6

201030 

1015 

10

10202010 

25 

10

10301010 

2510

 301010 

350 

10

202020 

101510

mín. Z 85 85 85 85 85

 Interpretación de la solución del problema. Este problema tiene cinco diferentes soluciones óptimas que se caracterizan por tener el mismo valor de la Función Objetivo (mín.Z=85). Se presenta la interpretación de la primera solución óptima del problema a manera de ejemplo: 

Programar 20 empleados para trabajar el turno 1 (X1=20), 10 en el turno 2 (X2=10), 30 en el turno 3 (X3=30), 10 en el turno 5 (X5=10) y 15 en el turno 6 (X6=15). De esta forma se tendrá un total de 85 empleados siendo la cantidad mínima para cubrir todos los requerimientos (mín.Z=85). Con esta asignación se tendrá en el turno 4, 10 empleados más del mínimo requerido que es de 20.

 Para problemas con soluciones óptimas múltiples, como es este problema, no es práctico hacer un rango óptimo de soluciones sino más bien calcular todas las posibles soluciones óptimas del problema. Se recomienda para calcular todas las soluciones óptimas utilizar la computadora con un software adecuado para este fín.

JEVA / PTI 20