2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf ·...

47
1 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCION 1. METODO GRAFICO 2. METODO SIMPLEX - ALGEBRAICO 3. METODO SIMPLEX - TABULAR 4. METODO SIMPLEX - MATRICIAL

Transcript of 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf ·...

Page 1: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

1

2.2 PROGRAMACION LINEAL:

METODOS DE SOLUCION 1. METODO GRAFICO 2. METODO SIMPLEX - ALGEBRAICO 3. METODO SIMPLEX - TABULAR 4. METODO SIMPLEX - MATRICIAL

Page 2: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

2

2.2.1 METODO GRAFICO (modelos con 2 variables)

1. TRAZAR EN UN PLANO LAS RESTRICCIONES 2. IDENTIFICAR LA REGION FACTIBLE 3. TRAZAR LA DIRECCIóN DE MAX ASCENSO 4. IDENTIFICAR EL PUNTO OPTIMO NOTAS: - En modelos con 2 variables: - Una restricción de exacta igualdad se representa por una recta - Una restricción “mayor igual” ó “menor igual” divide el espacio de soluciones en dos semiplanos - La Región factible es el conjunto de puntos que satisfacen todas las restricciones - Los Vértices ocurren en la intersección de 2 ó mas restricciones - Los Vértices siempre estan localizados en la frontera de la region factible - Toda función lineal f(x1,x2,. . .) se puede expresar como el producto escalar del vector de coeficientes c = (c1, c2, … ) y el vector de variables de decisión x = (x1, x2, … ). Es decir f(x1,x2) = c1x1 + c2x2 = c⋅x - La dirección de max ascenso sobre la función objetivo f es la dirección del vector c - El punto óptimo es aquel en la región factible asociado con el vector que

tiene la mayor proyección sobre el vector c. - De existir, una solucion óptima de un modelo de PL siempre ocurre en un vértice de la región factible.

Page 3: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

3

METODO GRAFICO

Ejemplo:

Máx X1 + 2X2 sa. 4X1 + 2X2 ≤ 16

3X1 + 3X2 ≥ 18

X2 ≥ 3 X1, X2 ≥ 0

a) Determinar la solución óptima b) Deteminar las restricciones activas y las inactivas c) En el punto óptimo, determinar los valores de holgura y excedente para

cada restricción d) Determinar las restricciones redundantes e) Determinar la solución óptima si la F.O. fuese Min f) Determinar la solución óptima si además la 2da restricción cambia a

3X1 + 6X2 ≥ 18

g) Determinar la solución óptima si además la 1ra restricción cambia a X1 + X2 ≤ 2

Page 4: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

4

Modelo en forma estándar Máx X1 + 2X2 sa. 4X1 + 2X2 + S1 = 16 3X1 + 3X2 - S2 = 18 X2 - S3 = 3 X1, X2 , S1, S2 ,S3 ≥ 0 § La solución básica de un sistema de ecuaciones lineales de n por m, si

existe, es una solución en la que se forza a que (n-m) variables tomen valor igual a cero.

§ A las (n-m) variables forzadas a tomar valor igual a cero se les llama variables no básicas.

§ El valor de las variables restantes resulta de resolver el sistema de ecuaciones lineales. A estas variables se les llama variables básicas.

§ El máximo número de soluciones BASICAS es igual al número de parejas que se pueden formar con 5 variables:

10)!25(!2!5

25 =−=

Solución Variables Función objetivo Z Básica No. X1 X2 S1 S2 S3

1 0 0 No factible 2 0 0 3 0 0 4 0 0 No factible 5 0 0 No factible 6 0 0 No factible 7 0 0 No factible 8 0 0 9 0 0 No factible 10 0 0 No factible

Page 5: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

5

2.2.2 ANÁLISIS POSTERIOR A LA RESOLUCIÓN Una vez resuelto un modelo de PL se debe distinguir entre: RESTRICCIONES ACTIVAS Son aquellas que se cumplen con exacta igualdad en la solución óptima RESTRICCIONES INACTIVAS Son aquellas que tiene holgura o excedente Las restricciones activas son las que impiden el obtener una solución mejor

que la solución óptima ya encontrada RESTRICCIONES REDUNDANTES Son aquellas que de no estar presentes en el modelo, no modificarían la región factible ni la solución óptima.

Page 6: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

6

MÉTODO GRÁFICO con 3 variables X3 5 3 1 2 X1 4 X2

Page 7: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

7

2.2.3 CASOS ESPECIALES 1. MULTIPLES OPTIMOS (óptimos alternos) Una restricción es paralela a la función objetivo

Máx -3X1 + 6X2 sa. 5X1 + 7X2 ≤ 35 -X1 + 2X2 ≤ 2 X1, X2 ≥ 0

2. SOLUCION OPTIMA ILIMITADA (no acotada) La región factible se extiende sin límites en alguna dirección

Máx 2X1 + X2 sa. X1 - X2 ≤ 10 2X1 - X2 ≤ 40 X1, X2 ≥ 0

(y si la función objetivo fuese Máx 2X1 - 1.5 X2 ? )

3. NO EXISTE SOLUCION (inconsistencia) No existe región factible

Máx 3X1 + 2X2 sa. 2X1 + X2 ≤ 2 3X1 + 4X2 ≥ 12 X1, X2 ≥ 0

Page 8: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

8

2.2.4 ANÁLISIS GRÁFICO Sea la restricción : a1 x1 + a2 x2 ≤ b

que se puede escribir como: x2 ≤ ba2

- aa

1

2

x1

y graficar como: X2

ba2

b

a1

X1

Del gráfico se puede concluir que: 1. Si únicamente cambia el valor de b la recta se mueve paralelamente

2. Si sólo cambia el valor a2 la recta rota girando alrededor de b

a1

3. Si sólo cambia el valor a1 la recta rota girando alrededor de ba2

Page 9: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

9

EJERCICIO Considere el siguiente modelo de PL: Máx Z = 600 X1 + 1000 X2 s.a. 100 X1 + 60 X2 ≤ 21,000 4000 X1 + 800 X2 ≤ 680,000 X1 + X2 ≤ 290 12 X1 + 30 X2 ≤ 6,000 X1 , X2 ≥ 0 a) Determine la solución óptima b) Determine las restricciones activas, inactivas y redundantes. c) Cuál es el cambio mínimo del lado derecho de cada restricción redundante que la convierte en restricción activa ? d) El coeficiente de X1 en la tercera restricción es igual a uno. Cual es el cambio mínimo de este coeficiente que la convertiría en activa ? e) Suponga que el coeficiente de X1 en la función objetivo cambiase mientras que el coeficiente de X2 permanece inalterable. Cual es el cambio mínimo del coeficiente de X1 que ocasiona que existan multiples optimos en la solución ?

Page 10: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

10

2.2.5 FORMA ESTANDARD (Se usa para resolver un modelo por medio del algoritmo Simplex)

- Todas las variables son NO negativas - Los elementos del lado derecho de cada restricción son No negativos Si el lado derecho es negativo debe multiplicarse toda la restricción por (-1) invirtiendo el sentido de la desigualdad - Todas las restricciones se convierten a ecuaciones, agregando variables de holgura ó de excedente (excepto las restricciones de No negatividad) Si la restricción es del tipo ≤ se debe sumar una variable de holgura al lado izquierdo de la restricción Si la restricción es del tipo ≥ se debe restar una variable de excedente al lado izquierdo de la restricción EJEMPLO Modelo Original Modelo en Forma Estándar Min Z = 5x1 + 2x2 - x3 Min Z = 5x1 - 2x2 - x3 + 0s1 + 0 s2 + 0s3 sujeto a sujeto a -x1 + x2 - x3 ≤ 16 -x1 - x2 - x3 + s1 = 16 2x1 - 2x3 ≥ 30 2x1 - 2x3 -s2 = 30 x1 + 2x2 ≥ -8 -x1 + 2x2 +s3 = 8 x1 , x3 ≥ 0 x2 ≤ 0 x1 , x2 , x3 , s1 , s2, s3 ≥ 0

El convertir el modelo a forma estándar aumenta el número de variables, manteniendo el número de restricciones.

Page 11: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

11

EJEMPLO Máx Z = 18.5x1 + 20 x2 sujeto a 0.05x1 + 0.05 x2 ≤ 1100 0.05x1 + 0.10 x2 ≤ 1800 0.10x1 + 0.05 x2 ≤ 2000 x1 , x2 ≥ 0 este modelo tiene n = 2 variables de decisión y m = 3 restricciones (sin considerar las de no negatividad) Este modelo convertido a forma estándar es: Máx Z = 18.5x1 + 20x2 + 0s1 + 0s2 + 0s3 sujeto a 0.05x1 + 0.05 x2 + s1 = 1100 0.05x1 + 0.10 x2 +s2 = 1800 0.10x1 + 0.05 x2 +s3 = 2000 x1 , x2 , s1 , s2 , s3 ≥ 0 ahora el modelo tiene n = 5 variables y m = 3 restricciones Forma matricial de las restricciones del modelo en forma estándar: 0.05 0.05 1 0 0 X1 1100 0.05 0.10 0 1 0 X2 = 1800 0.10 0.05 0 0 1 S1 2000 3x5 S2 3x1 S3 5x1

Page 12: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

12

Al expresar un modelo en forma estándar se convierte el conjunto de restricciones de un modelo de programación lineal a un sistema de ecuaciones lineales simultáneas. Si denotamos por n el número de variables en el modelo en forma estándar y por m el número de restricciones, decimos que el modelo en forma estándar es de dimensiones n por m. Esto porque el modelo incluye m ecuaciones lineales simultaneas en n variables. Un sistema de ecuaciones lineales simultaneas de m por n puede tener solución o no. En general puede ocurrir uno de tres situaciones. Que el sistema

1. Tenga una solución única 2. Tenga infinitas soluciones 3. No tenga solución

Si el sistema no tiene solución se dice que es un sistema inconsistente. En un modelo de programacion lineal en forma estándar siempre se cumple que m < n. Y salvo casos excepcionales, supondremos que el sistema de ecuaciones del modelo tendrá infinitas soluciones. Cada una de éstas corresponde a un punto de la región factible. DEFINICION

Se denomina punto extremo de la región factible a aquel punto que no puede expresarse como una combinación lineal convexa de otros puntos en esta región.

En términos sencillos un punto extremo se representa como un vértice de la región factible PROPOSICION

La solución óptima de un modelo de programación lineal, si existe y no es ilimitada, siempre corresponde a un punto extremo de la región factible.

Esta proposición es muy importante. Con base en ella, basta solo con tener un método que evalúe la función objetivo de un modelo de programacion lineal en los puntos extremos de la región factible. DEFINICION

La solución básica de un sistema de ecuaciones lineales de n por m, si existe, es una solución en la que se forza a que (n-m) variables tomen valor igual a cero.

A las (n-m) variables forzadas a tomar valor igual a cero se les llama variables no básicas. El valor de las variables restantes resulta de resolver el sistema de ecuaciones lineales. A estas variables se les llama variables básicas.

Page 13: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

13

DEFINICION

La solución básica de un sistema de ecuaciones lineales de n por m existe si al eliminar (n-m) variables el sistema resultante de m por m es consistente.

Esta definición indica que al forzar a que (n-m) variables tomen valor igual a cero puede ocurrir que las m ecuaciones lineales resulten en un sistema sin solución (inconsistente). Por ejemplo en el siguiente sistema 2x1 + 4 x2 + 3x3 = 8 3x1 + 6 x2 + 3x3 = 17 si se consideran variable no basica a la variable x3 entonces el sistema resultante mostrado no tiene solución.

2x1 + 4 x2 = 8 3x1 + 6 x2 = 17 DEFINICION

La solución básica de un sistema de ecuaciones lineales de n por m se dice factible (y se denota por SBF) si todas las variables toman valor no negativo.

En nuestro ejemplo: n-m = 5 - 3 = 2 variables S2 = 0 X1 = 14,666.66 S3 = 0 ⇒ X2 = 10,666.66 Esta es una Solucion BASICA No Factible S1 = - 166.66 Si: X2 = 0 X1 = 20,000 S3 = 0 ⇒ S2 = 800 Esta es una Solución BASICA Factible S1 = 100 Se llama BASE al conjunto de VARIABLES BASICAS. PROPOSICION

Cada SBF de un modelo de programación lineal corresponde a un punto extremo de su región factible.

Por tanto la solución optima de un modelo de programación lineal, si existe y no es ilimitada, correponde a una solución básica factible. En otras palabras, cada SOLUCION BASICA FACTIBLE representa un vértice de la región factible.

Page 14: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

14

En el ejemplo, el máximo número de soluciones BASICAS es igual al número de parejas que se pueden formar con 5 variables:

10)!25(!2!5

25 =−=

En general, el máximo número de soluciones BASICAS es igual al número de conjuntos de m elementos, que se pueden formar con n variables, es decir

)!(!!

mnmn

mn

−=

Page 15: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

15

SOLUCIONES BÁSICAS Solución Variables Función objetivo

No. X1 X2 S1 S2 S3 Z 1 0 0 1,100 1,800 2,000 $0 2 0 22,000 0 -400 900 No factible 3 0 18,000 200 0 1,100 $360,000 4 0 40,000 -900 -2,200 0 No factible 5 36,000 0 -700 0 -1,600 No factible 6 20,000 0 100 800 0 $370,000 7 22,000 0 0 900 -200 No factible 8 8,000 14,000 0 0 500 $428,000 9 18,000 4,000 0 500 0 $413,000 10 14,666.6 10,666.6 -166.61 0 0 No factible

X2 4 Máx Z = 18.5x1 + 20 x2 40 sa. 0.05x1 + 0.05 x2 ≤ 1100 0.05x1 + 0.10 x2 ≤ 1800 0.10x1 + 0.05 x2 ≤ 2000 x1 , x2 ≥ 0 30 2 20 8 3 10 10 Región Factible 9 X1 1 6 7 5 10 20 30

Page 16: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

16

EJEMPLO Considere el siguiente modelo de PL Máx Z= 5x1 -6x2 +3x3 -5x4 +12x5 sujeto a x1 + 3x2 + 5x3 +6x4 +3x5 ≤ 90 x1 , x2 , x3 , x4 , x5 ≥ 0 a) Cuántas varibales básicas tiene ? b) Cuántas soluciones básicas existen ? c) Cuáles son las soluciones básicas? d) Cuál es la solución óptima ?

Page 17: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

17

Modelo en Forma Estándar Máx Z= 5x1 -6x2 +3x3 -5x4 +12x5 + 0 s sujeto a

x1 + 3x2 + 5x3 +6x4 +3x5 + s = 90 x1 , x2 , x3 , x4 , x5 , s ≥ 0 a) Cuántas variables básicas tiene ? m = 1 variable básica b) Cuántas soluciones básicas existen ? Cm

n = C16 = 6 soluciones

básicas c) Cuáles son las soluciones básicas ? Sol.Bas X1 X2 X3 X4 X5 S Z

1 90 0 0 0 0 0 450 2 0 30 0 0 0 0 -180 3 0 0 16 0 0 0 90 4 0 0 0 15 0 0 -75 5 0 0 0 0 30 0 360 6 0 0 0 0 0 90 0

Page 18: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

18

2.2.6 METODO SIMPLEX (George Dantzig, 1947)

Existen varias formas de resolver un modelo de programación lineal. El metodo mas comunmente usado es el metodo simplex. Este metodo encuentra la solución óptima de un modelo de PL, evaluando la función objetivo, en cada vértice de la región factible. METODOLOGIA Nótese que en modelos de dos variables en cualquier intersección de dos restricciones, hay dos variables que toman valor igual a cero. Por tanto para conocer el valor de las otras variables se debe resolver el sistema de m restricciones con m variables. Una manera sencilla de encontrar una SOLUCION BASICA FACTIBLE es identificar una matriz identidad en las restricciones del modelo escrito en forma estándar. Las variables asociadas con esta matriz identidad son las VARIABLES BASICAS X1 X2 S1 S2 S3 0.05 0.05 1 0 0 X1 1100 0.05 0.10 0 1 0 X2 = 1800 0.10 0.05 0 0 1 S1 2000 3x5 S2 3x1 S3 5x1 En cada paso del algoritmo se resuelven simultáneamente las m ecuaciones que conforman un vértice para identificarlo. Se verifica si el vértice es el óptimo, si no lo es, se pasa a otro vértice adyacente. El algoritmo asegura que en el siguiente vértice, la funcion objetivo no tendrá un valor peor que en el vértice anterior

Page 19: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

19

2.2.6.1 METODO SIMPLEX -ALGEBRAICO

PROCEDIMIENTO 1. Encontrar una Solucion Basica Factible inicial Expresando el modelo en forma estándar identificando las columnas de una matriz identidad de m x m. 2. Expresar las variables basicas y la funcion objetivo en funcion de las variables No basicas 3. Verificar Optimalidad La solución es óptima si: La función objetivo no puede mejorar de valor al incrementar el valor de cualquiera de las Variables No Basicas 4. Identificar Nuevas variables básica y No básica Nueva VB : la VNB que mejora más la función objetivo. Nueva VNB: la VB que se hace igual a 0 al tomar la nueva VB el máximo valor posible. 5. Regresar al paso 2.

Page 20: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

20

EJEMPLO En forma original: En Forma estándar: Máx Z = 10x1 + 14x2 Máx Z = 10x1 + 14x2 + 0s1 + 0s2 sujeto a: sujeto a: 4x1 + 6x2 ≤ 24 4x1 + 6x2 + 1s1 + 0s2 = 24 2x1 + 6x2 ≤ 20 2x1 + 6x2 + 0s1 + 1s2 = 20 x1 , x2 ≥ 0 x1 , x2 , s1 , s2 ≥ 0 Inicio: Base (VB’s) VNB’s s1 = 24 x1 = 0 Z = 0 s2 = 20 x2 = 0 Expresar VB’s y Z en función de VNB (del modelo en forma estándar ) S1 = 24 - 4x1 - 6x2 S2 = 20 - 2x1 - 6x2 (1) Z = 0 + 10x1 + 14x2 No estamos sobre el vértice óptimo ! Variable que entra a la base es x2 Variable que sale de la base es: S1 = 24 - 6x2 ≥ 0 x2 ≤ 4 S2 = 20 - 6x2 ≥ 0 x2 ≤ 3.33 x2 entra a la base con valor x2 = 3. 33 ( s2 = 0 es la variable que sale )

Page 21: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

21

1ra iteración: Base (VB’s) VNB’s s1 = 4 x1 = 0 Z = 46.66 x2 = 3.33 s2 = 0 Expresar VB’s y Z en función de VNB (comenzar de (1) ) X2 = (20 - 2x1 - s2 ) / 6 = 3.33 - 0.33x1 - 0.166s2 S1 = 24 - 4x1 - 6 (1/6 (20 - 2x1 - s2 )) = 4 - 2x1 + s2 Z = 0 + 10 x1 + 14 (1/6 (20 - 2x1 - s2 )) = 46.6 + 5.33 x1 - 2.33 s2 No estamos sobre el vértice óptimo ! Variable que entra a la base es x1 Variable que sale de la base es: X2 = 3.33 - 0.33x1 ≥ 0 X1 ≤ 10 S1 = 4 - 2x1 ≥ 0 X1 ≤ 2 x1 entra a la base con valor x1 = 2 ( s1 = 0 es la variable que sale )

Page 22: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

22

2da iteración: Base (VB’s) VNB’s x1 = 2 s1 = 0 Z = 57.33 x2 = 2.66 s2 = 0 Expresar VB’s y Z en función de VNB X1 = (4 + s2 - s1 ) / 2 = 2 + 0.50s2 - 0.5s1 X2 = 3.33 - 0.33 ( 2 +.50s2 - 0.5s1 )-0.16s2 = 2.66 - 0.33s2 + 0.16s1 Z = 46.66 + 5.33 (2 +0.50s2 - 0.5s1) -2.33s2 = 57.3 + 0.33s2 - 2.66 s1 No estamos sobre el vértice óptimo ! Variable que entra a la base es s2 Variable que sale de la base: X1 = 2 + 0.50s2 ≥ 0 s2 ≥ - 4 X2 = 2.66 - 0.33s2 ≥ 0 s2 ≤ 8 s2 entra a la base con valor s2 = 8 ( X2 = 0 es la variable que sale ) 3ra iteración: Base (VB’s) VNB’s x1 = 6 s1 = 0 Z = 60 s2 = 8 x2 = 0 Expresar VB’s y Z en función de VNB S2 = (2.66 - x2 + 0.166s1 ) / 0.33 = 8 - 3x2 + 0.50 s1 X1 = 2 + 0.50 (8 - 3x2 + 0.5s1 ) - 0.5s1 = 6 - 1.5x2 - 0.25 s1 Z = 57.33 + 0.33 (8 - 3x2 + 0.5s1) - 2.66s1 = 60 - x2 - 2.50 s1 estamos sobre el vértice óptimo!

Page 23: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

23

2.2.6.1 METODO SIMPLEX - MATRICIAL El método simplex matricial se puede aplicar siguiendo los siguientes pasos 1. Encontrar una Solucion Basica Factible inicial Expresando el modelo en forma estándar identificando las columnas de una matriz identidad de m x m. (esto define a XB, CB y B) 2. Calcular B-1 , B-1b y B-1N

3. Expresar XB y Z en función de las variables no básicas.

XB = B-1b - B-1N XN

Z = CBT B-1 b + [CN

T - CBT B-1 N ] XN

4. Verificar la condición de optimalidad ([CN

T - CBT B-1N ] ≤ 0 para max Z)

5. Si la condición de optimalidad no se cumple se debe seleccionar

§ la nueva variable básica NVB

(aquella con el mejor valor en [CNT - CB

T B-1N]

§ la nueva variable no básica

(la que toma valor cero cuando la NVB toma el max valor posible)

Page 24: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

24

2.2.6.2 METODO SIMPLEX -TABULAR PROCEDIMIENTO 1. Encontrar una Solucion Basica Factible inicial Convirtiendo las m restricciones en igualdades e identificando las columnas de una matriz identidad de m x m. 2. Construir la Tabla Inicial y verificar Optimalidad (ver paso 5) 3. Identificar Nuevas Variable Básica (NVB) y Nueva variable No Básica NVB : máx valor positivo de Cj - Zj (maximizacion) NVNB: dividir bj entre los coeficientes positivos de la columna de NVB. La NVNB se encuentra en el renglón que tiene el menor cociente. 4. Actualizar la Tabla - Identificar elemento Pivote

- Nuevos valores en el renglón de NVB se obtienen al dividir el renglón que sale entre el pivote

- Otros renglones se obtienen por: Nuevo renglon = Renglon anterior - [elemento en columna del pivote] x renglon de NVB - Calcular Zj como la suma de productos de CB por las tasas de sustitucion 5. Verificar Optimalidad (maximización) La base es óptima si todos los valores de Cj - Zj son cero o negativos. 6. Volver al paso 3

Page 25: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

25

TABLA INICIAL En Forma estándar: Máx Z = 10x1 + 14x2 Máx Z = 10x1 + 14x2 + 0s1 + 0s2 sujeto a: sujeto a: 4x1 + 6x2 ≤ 24 4x1 + 6x2 + 1s1 + 0s2 = 24 2x1 + 6x2 ≤ 20 2x1 + 6x2 + 0s1 + 1s2 = 20 x1 , x2 ≥ 0 x1 , x2 , s1 , s2 ≥ 0 Cj 10 14 0 0 CB base bj X1 X2 S1 S2 0 S1 24 4 6 1 0 0 S2 20 2 6 0 1 Zj Cj - Zj Cj 10 14 0 0 CB base bj X1 X2 S1 S2 0 S1 24 4 6 1 0 0 S2 20 2 6 0 1 Zj 0 0 0 0 0 Cj - Zj 10 14 0 0 Cj 10 14 0 0 CB base bj X1 X2 S1 S2 0 S1 24 4 6 1 0 4 0 S2 20 2 6 0 1 3.33 Zj 0 0 0 0 0 Cj - Zj 10 14 0 0

pivote cocientes la tabla no es óptima! x2 entra a la base con valor x2 = 3. 33 ( s2 = 0 es la variable que sale )

Page 26: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

26

1ra iteración: Cj 10 14 0 0 CB base bj X1 X2 S1 S2 0 S1 14 X2 3.33 0.33 1 0 0.166 Zj Cj - Zj se divide el renglón del pivote entre él Cj 10 14 0 0 CB base bj X1 X2 S1 S2 0 S1 4 2 0 1 -1 14 X2 3.33 0.33 1 0 0.166 Zj Cj - Zj renglon anterior 24 4 6 1 0 - valor asociado -6 (3.33 0.33 1 0 0.166) al pivote por el renglón actualizado del pivote Cj 10 14 0 0 CB base bj X1 X2 S1 S2 0 S1 4 2 0 1 -1 2 14 X2 3.33 0.33 1 0 0.166 10 Zj 46.66 4.66 14 0 2.33 Cj - Zj 5.33 0 0 -2.33 pivote cocientes x1 entra a la base con valor x2 = 2 ( s1 = 0 es la variable que sale )

Page 27: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

27

2da iteración: Cj 10 14 0 0 CB base bj X1 X2 S1 S2 10 X1 2 1 0 0.5 -0.5 14 X2 Zj Cj - Zj se divide el renglon del pivote entre él Cj 10 14 0 0 CB base bj X1 X2 S1 S2 10 X1 2 1 0 0.5 -0.5 14 X2 2.66 0 1 -.166 0.33 Zj Cj - Zj renglon anterior 3.33 0.33 1 0 0.166 - valor asociado -.33( 2 1 0 0.5 -0.5 ) al pivote x renglón actualizado del pivote Cj 10 14 0 0 CB base bj X1 X2 S1 S2 10 X1 2 1 0 0.5 -0.5 14 X2 2.66 0 1 -.166 0.33 Zj 57.24 10 14 2.66 -.33 Cj - Zj 0 0 -2.66 0.33 pivote S2 entra a la base con valor S2 = 8 (X2 = 0 es la variable que sale )

Page 28: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

28

3ra iteración: Cj 10 14 0 0 CB base bj X1 X2 S1 S2 10 X1 0 S2 8 0 3 -0.5 1 Zj Cj - Zj se divide el renglon del pivote entre él Cj 10 14 0 0 CB base bj X1 X2 S1 S2 10 X1 6 1 1.5 0.25 0 0 S2 8 0 3 -0.5 1 Zj Cj - Zj renglon anterior 2 1 0 0.5 -0.5 - valor asociado +.5(8 0 3 -0.5 1 ) al pivote x renglón actualizado del pivote Cj 10 14 0 0 CB base bj X1 X2 S1 S2 10 X1 6 1 1.5 0.25 0 0 S2 8 0 3 -0.5 1 Zj 60 10 15 2.5 0 Cj - Zj 0 -1 -2.5 0 Esta tabla es la óptima !

Page 29: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

29

2.2.6.2 METODO SIMPLEX -TABULAR SIMPLIFICADO Para simplificar el procedimiento anterior se va a trabajar con una tabla más sencilla en la que en cada renglón se representa a las variables básicas y en cada columna se representa a las variables no básicas. En esta tabla las celdas sombreadas no se utilizan durante el procedimiento.

CN

BASE bj XN

CB XB Valor de las

variables básicas

tasas de sustitución

ZJ CJ - ZJ

Donde: XB = conjunto de nombres de las variables básicas

XN = conjunto de nombres de las variables no básicas

CB = vector de coeficientes de las variables básicas en la función objetivo

CN = vector de coeficientes de las variables no básicas en la función objetivo

bj = valor de las variables básicas

El renglón marcado como Zj resulta de multiplicar cada valor en la columna CB por cada valor de la columna bj y por cada valor de la columna XN. El renglón marcado como Cj – Zj resulta de restar cada valor en el renglon Zj de cada valor en el renglón CN. En cada iteración del procedimiento, una variable que reemplaza a otra ocupa el lugar que ésta tenía.

Page 30: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

30

Page 31: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

31

PROCEDIMIENTO 1. Encontrar una Solucion Basica Factible inicial Convirtiendo las m restricciones en igualdades e identificando las columnas de una matriz identidad de m x m. 2. Construir la Tabla Inicial y verificar Optimalidad (ver paso 5) 3. Identificar Nueva Variable Básica (NVB) y Nueva Variable No Básica (NVNB) NVB : aquella con el mayor valor positivo de Cj - Zj (maximizacion) ó

aquella con el mayor valor negativo de Cj - Zj (minimizacion) NVNB: obtener cocientes al dividir bj entre los coeficientes positivos de la columna

de NVB. La NVNB es aquella ubicada en el renglón con el menor cociente. 4. Actualizar la Tabla - Reemplazar el nombre de la columna de la NVB por el nombre de la NVNB - Identificar elemento Pivote - Invertir el valor númerico del Pivote - El renglón actualizado de NVB se obtiene al dividirlo entre el pivote - La columna actualizada de NVNB se obtiene al dividirla entre (-pivote) - Otros renglones se obtienen por: Nuevo renglon = Renglon anterior - [elemento en columna del pivote] x renglon de NVB - Calcular Zj como la suma de productos de CB por cada una de las columnas de la tabla. 5. Verificar Optimalidad

Si el modelo es de maximización: La base es óptima si todos los valores de Cj - Zj son cero o negativos.

Si el modelo es de minimización: La base es óptima si todos los valores de Cj - Zj son cero o positivos.

Page 32: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

32

6. Volver al paso 3

Page 33: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

33

EJEMPLO En Forma estándar: Máx Z = 10x1 + 14x2 Máx Z = 10x1 + 14x2 + 0s1 + 0s2 sujeto a: sujeto a: 4x1 + 6x2 ≤ 24 4x1 + 6x2 + 1s1 + 0s2 = 24 2x1 + 6x2 ≤ 20 2x1 + 6x2 + 0s1 + 1s2 = 20 x1 , x2 ≥ 0 x1 , x2 , s1 , s2 ≥ 0 Cj 10 14 CB base bj X1 X2 0 S1 24 4 6 0 S2 20 2 6 Zj Cj - Zj Cj 10 14 CB base bj X1 X2 0 S1 24 4 6 0 S2 20 2 6 Zj 0 0 0 Cj - Zj 10 14 Cj 10 14 CB base bj X1 X2 0 S1 24 4 6 4 0 S2 20 2 6 3.33 Zj 0 0 0 Cj - Zj 10 14

pivote cocientes la tabla no es óptima! x2 entra a la base con valor x2 = 3. 33 ( s2 = 0 es la variable que sale )

Page 34: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

34

1ra iteración: Primero se divide el renglon del pivote entre él Cj 10 0 CB base bj X1 S2 0 S1 14 X2 3.33 0.33 0.166 Zj Cj - Zj Cj 10 0 CB base bj X1 S2 0 S1 4 2 -1 14 X2 3.33 0.33 0.166 Zj Cj - Zj renglon anterior 24 4 - valor asociado -6 (3.33 0.33 ) al pivote por el renglón actualizado del pivote Cj 10 0 CB base bj X1 S2 0 S1 4 2 -1 2 14 X2 3.33 0.33 0.166 10 Zj 46.66 4.66 2.33 Cj - Zj 5.33 -2.33 pivote cocientes x1 entra a la base con valor x2 = 2 ( s1 = 0 es la variable que sale )

Page 35: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

35

2da iteración: Primero se divide el renglon del pivote entre él Cj 0 0 CB base bj S1 S2 10 X1 2 0.5 -0.5 14 X2 Zj Cj - Zj Cj 0 0 CB base bj S1 S2 10 X1 2 0.5 -0.5 14 X2 2.66 -.166 0.33 Zj Cj - Zj renglon anterior 3.33 0.166 - valor asociado -.33( 2 -0.5 ) al pivote x renglón actualizado del pivote Cj 0 0 CB base bj S1 S2 10 X1 2 0.5 -0.5 14 X2 2.66 -.166 0.33 Zj 57.24 2.66 -.33 Cj - Zj -2.66 0.33 pivote S2 entra a la base con valor S2 = 8 (X2 = 0 es la variable que sale )

Page 36: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

36

3ra iteración: Primero se divide el renglon del pivote entre él Cj 0 14 CB base bj S1 X2 10 X1 0 S2 8 -0.5 3 Zj Cj - Zj Cj 0 14 CB base bj S1 X2 10 X1 6 0.25 1.5 0 S2 8 -0.5 3 Zj Cj - Zj renglon anterior 2 0.5 - valor asociado +.5 (8 -0.5 ) al pivote x renglón actualizado del pivote Cj 0 14 CB base bj S1 X2 10 X1 6 0.25 1.5 0 S2 8 -0.5 3 Zj 60 2.5 15 Cj - Zj -2.5 -1 Esta tabla es la óptima !

Page 37: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

37

Ahora comparemos esta tabla óptima ya encontrada, con la solución del método SIMPLEX con matrices. Sean las variables básicas X1 y S2 entonces XB = [X1 S2] XN = [S1 X2] CB

T = [10 0] CNT = [0 14]

B = [4 0] N = [1 6] [2 1] [0 6] Determinamos B-1, B-1N y B-1b, ¦ B ¦ = 4(1) – 0 (2) = 4 B-1 = [¼ 0] [-½ 1] B-1N = [¼ 0] [1 6] = [ ¼ 3/2 ] [-½ 1] [0 6] [ -½ 3 ] B-1b = [¼ 0] [24] = [6] [-½ 1] [20] [8] Y expresamos XB y Z en función de XN XB = [X1] = [6] - [ ¼ 3/2] [S1 ] = [ 6 - ¼S1 -

3/2 X2 ] [S2 ] [8] [-½ 3 ] [X2] [ 8 + ½S1 – 3X2 ]

Page 38: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

38

Por tanto si comparamos ambas soluciones óptimas encontramos lo siguiente

CNT

BASE bj XNT

CB XB B-1b B-1N

ZJ CBT B-

1b CB

T B-1N

CJ - ZJ CNT - CB

T B-1N Y ya sea de la tabla o de las operaciones matriciales podemos obtener XB = B-1b – B-1N Z = CN

T - CBT B-1N

es decir

X1 = 6 - ¼ S1 – 3/2 X2

S2 = 8 + ½ S1 – 3 X2

Z = 60 – 5/2 S1 – X2 Estas son expresiones de las variables básicas y de la variable de resultado en función de las variables no básicas. Los coeficientes de las variables no básicas en estas expresiones corresponden a los coeficientes de la matriz B-1N y se les llama tasas de sustitución porque representan las tasas a las que una variable aumenta o disminuye cuando una variable no básica la reemplaza. Por ejemplo si X2 toma valor unitario la variable X1 debe reducir su valor en 1.5 unidades.

Page 39: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

39

La condición de optimalidad para un modelo de PL del tipo maximizar, establece que si los coeficientes de [CN

T - CBT B-1N ] son todos negativos, como por ejemplo en

Z = 60 – 5/2 S1 – X2

entonces el aumentar de valor a una variable básica no mejorará el valor de la variable de resultado Z y por tanto la última solución básica encontrada es la óptima. Qué establecen las ecuaciones ? Supongamos que la variable no básica X2 incrementase su valor de 0 a 1. Entonces ocurrirían simultáneamente los siguiente § La var. de respuesta Z aumentaría en 4 unidades (ya que Z = 10X1 + 14X2 ) § La var. X1 disminuiría en 1.5 unidades § La var. S2 disminuiría en 3 unidades § La var. de respuesta Z disminuiría en 1.5(10) = 15 unidades El efecto neto en Z resultaría 14 – 15 = -1. El método simplex matricial se puede aplicar siguiendo los siguientes pasos 6. Seleccionar un conjunto de variables básicas (la base). Esto define a XB.

7. Especificar las matrices CBT , CN

T , B y N

8. Calcular B-1 , B-1b y B-1N

9. Expresar XB y Z en función de las variables no básicas.

10. Verificar la condición de optimalidad ( [CNT - CB

T B-1N ] = 0 para max Z)

11. Si la condición de optimalidad no se cumple se debe seleccionar

§ la nueva variable básica NVB (aquella con el mejor valor en CNT - CB

T B-1N)

§ la nueva variable no básica (aquella que toma el valor cero cuando la NVB toma el

max valor posible)

Page 40: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

40

2.2.6.3 METODO SIMPLEX -CASOS ESPECIALES

MULTIPLES OPTIMOS Ocurre si para una(s) variable(s) No Básica(s) 1. Cj - Zj =0 ; y 2. Existe alguna tasa de sustitución positiva en la tabla óptima MINIMIZACION 1. La regla para la variable que entra a la Base cambia: elegir la que tiene el valor Cj - Zj más negativo 2. La tabla óptima se identifica cuando todos los valores de Cj - Zj son cero o pósitivos. Alternativamente se puede multiplicar Z por (-1)

Page 41: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

41

MODELOS CON RESTRICCIONES ≥ y = En los modelos con restricciones ≥ y =, al añadir variables de holgura o de excedente no obtenemos una solución básica factible inicial Para encontrar una, agregamos al modelo en forma estándar, VARIABLES ARTIFICIALES a cada restriccion de ≥ y = . Estas variables formarán parte de la base inicial Existen dos métodos para resolver modelos de PL con variables Artificiales: Método de las M

Se asignan números negativos grandes "M" a los coeficientes de las variables artificiales en la función objetivo. (Maximizar)

Si en la solución básica óptima existen variables artificiales con valor diferente de cero entonces el modelo de PL no tiene solución

Page 42: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

42

EJEMPLO MÉTODO DE LAS Ms - Minimización - Todo tipo de restricción - Optimo en vértice degenerado

Modelo Original:

Min 4X1 + X2 sa. 3X1 + X2 = 3 4X1 + 3X2 ≥ 6 X1 + 2X2 ≤ 3 X1, X2 ≥ 0

Modelo en forma estándar:

Min 4X1 + X2 + 0S1 + 0S2 + MA1 + MA2 sa. 3X1 + X2 + A1 = 3 4X1 + 3X2 - S1 + A2 = 6 X1 + 2X2 + S2 = 3 X1, X2 , S1, S2 , A1 , A2 ≥ 0

Page 43: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

43

Método de las 2 Fases Se divide la solución en dos etapas. En la primera etapa se resuelve el modelo de PL con f.objetivo (MIN ) igual a la suma de todas las variables artificiales. Como resultado de esta etapa, se encuentra una solución básica factible (SBF). En la segunda etapa se eliminan del modelo las variables artificiales, se restaura la f.o. original y se aplica el método simplex con la solución básica factible (SBF) encontrada en la primera etapa. NOTAS

Si en la solución básica óptima de la primera etapa existen variables artificiales con valor diferente de cero entonces el modelo original de PL no tiene solución.

Si en la solución básica óptima de la primera etapa existen variables artificiales con valor igual a cero entonces se deben intercambiar por variables no basicas que no sean artificiales (aun si el pivote resultase negativo). Esto con la intención que en la base no hayan variables artificiales. Si aun así, permanecen variables artificiales, entonces representan restricciones redundantes y a estas restricciones se las elimina del modelo.

Page 44: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

44

EJEMPLO MÉTODO DE LAS DOS FASES - Minimización - Todo tipo de restricción - Optimo en vértice degenerado

Modelo Original:

Min 4X1 + X2 sa. 3X1 + X2 = 3 4X1 + 3X2 ≥ 6 X1 + 2X2 ≤ 3 X1, X2 ≥ 0

Modelo en forma estándar para la primera fase

Min A1 + A2 sa. 3X1 + X2 + A1 = 3 4X1 + 3X2 - S1 + A2 = 6 X1 + 2X2 + S2 = 3 X1, X2 , S1, S2 , A1 , A2 ≥ 0

Modelo en forma estándar para la segunda fase

Min 4X1 + X2 + 0S1 + 0S2 sa. 3X1 + X2 = 3 4X1 + 3X2 - S1 = 6 X1 + 2X2 + S2 = 3 X1, X2 , S1, S2 , ≥ 0

Page 45: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

45

EJEMPLO 2 MÉTODO DE LAS DOS FASES Modelo Original:

Min 2X1 + X2 sa. X1 + 2X2 ≤ 2 X2 ≤ 2 3X1 + X2 = 6 X1, X2 ≥ 0

Modelo en forma estándar para la primera fase

Min 0X1 + 0X2 + 0S3 + 0S4 + 0S5 + A6

sa. X1 + 2X2 + S3 = 2 X2 + S4 = 2 3X1 + X2 - S5 + A6 = 6 X1, X2 , S3, S4, S5 , A6 ≥ 0

Modelo en forma estándar para la segunda fase

Min 2X1 + X2 + 0S3 + 0S4 + 0S5

sa. X1 + 2X2 + S3 = 2 X2 + S4 = 2 3X1 + X2 - S5 = 6 X1, X2 , S3, S4, S5 ≥ 0

Page 46: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

46

Primera Fase: Cj 0 0 0 CB base bj X1 X2 S5

0 S3 2 1 2 0 2 0 S4 2 0 1 0 1 A6 6 3 1 -1 2 Zj 6 3 1 -1 Cj - Zj -3 -1 1 Cj 1 0 0 CB base bj A6 X2 S5

0 S3 0 -1/3 5/3 1/3 0 S4 2 0 1 0 0 X1 2 1/3 1/3 -1/3 Zj 0 0 0 0 Cj - Zj 1 0 0 tabla optima ! Segunda Fase: Cj 1 0 CB base bj X2 S5

0 S3 0 5/3 1/3 0 S4 2 1 0 2 X1 2 1/3 -1/3 Zj 4 2/3 -2/3 Cj - Zj 1/3 2/3 tabla optima !

Page 47: 2.2 PROGRAMACION LINEAL: METODOS DE SOLUCIONallman.rhon.itam.mx/~cacosta/modelado/simplex.pdf · (Se usa para resolver un modelo por medio del algoritmo Simplex) ... eliminar (n-m)

47

2.2.7. METODO SIMPLEX - PROBLEMAS SIN SOLUCION 1. PROBLEMAS NO ACOTADOS - La región factible carece de frontera; y - La funcion objetivo puede ser mejorada sin límites En la tabla simplex se detecta cuando las tasas de sustitucion de la columna de la variable que debe entrar a la base tienen valor cero ó negativo. Por tanto no podria calcularse la siguiente base. 2. INCONSISTENCIA Cuando las restricciones identifican areas mutuamente exclusivas. No existe entonces un conjunto de valores para las variables de decisión que satisfaga simultaneamente todas las restricciones. En la tabla simplex se detecta cuando existen variables artificiales con valor diferente de cero en el óptimo. 2.2.8 PROBLEMAS DEGENERADOS

Ocurre cuando un vertice está definido por "demasiadas" restricciones. En un caso No-degenerado: cada solucion Basica Factible tendría m variables basicas positivas diferentes de cero. En un caso Degenerado existen una ó mas variables en la base con valor cero. La degeneración puede ocurrir en cualquier vertice, no necesariamente en el vertice de la solución optima. La degeneracion no impide que exista solucion óptima. Optima