Story Transcript
Notas del Método Simplex
Investigación de Operaciones I
METODO SIMPLEX
M.C. Héctor Martínez Rubin Celis
1
Notas del Método Simplex
Investigación de Operaciones I
Contenido EL MÉTODO SIMPLEX ................................................................................................... 3 Procedimiento del Método Simplex para la Forma Matricial......................................... 3 Ejemplo: .......................................................................................................................... 5 Formato general de la tabla para el Método Simplex ..................................................... 9 Ejemplo: ...................................................................................................................... 9 Forma tabular del libro de Mokthar Bazara .................................................................. 11 Identificar B inversa en la tabla optima. ..................................................................... 11 MÉTODO DE LA “M”..................................................................................................... 13 Ejemplo: ........................................................................................................................ 14 MÉTODO DE LAS DOS FASES .................................................................................... 16 Ejemplo: ........................................................................................................................ 17 DEGENERACIÓN ........................................................................................................... 20 Ejemplo: ........................................................................................................................ 20 CICLAJE .......................................................................................................................... 21 Ejemplo: ........................................................................................................................ 22 METODO LEXICOGRAFICO ........................................................................................ 24 Ejemplo: ........................................................................................................................ 24 SOLUCIÓN ILIMITADA ................................................................................................ 26 Ejemplo: ........................................................................................................................ 26 SOLUCIÓN MÚLTIPLE ................................................................................................. 26 Ejemplo: ........................................................................................................................ 26 CONVERSIÓN DE UN PROBLEMA DE MINIMIZACIÓN A UN PROBLEMA DE MAXIMIZACIÓN ............................................................................................................ 28 PROCEDIMIENTO SIMPLEX REVISADO .................................................................. 29 Ejemplo 1: ..................................................................................................................... 30 Ejemplo 2: ..................................................................................................................... 32 Ejemplo 3: ..................................................................................................................... 34
M.C. Héctor Martínez Rubin Celis
2
Notas del Método Simplex
Investigación de Operaciones I
TEORÍA DEL MÉTODO SIMPLEX EL MÉTODO SIMPLEX Es un procedimiento general para encontrar la solución óptima a problemas de Programación Lineal. Este método logra la solución óptima en un número finito de pasos, la demostración de esto es lo que se pretende realizar. Para el desarrollo de éste método son necesarias algunas definiciones: Solución: Cualquier conjunto de variables x j que satisfacen las restricciones del problema ( Ax = b ). Solución factible: Cualquier solución que satisface la no-negatividad de las restricciones ( x j ³ 0 ). Solución básica: En un sistema de m ecuaciones lineales con n variables Ax = b ( m < n ) cuyo rango R ( A) = m ; una solución es obtenida haciendo n - m variables igual a cero y resolviendo para las m variables restantes, siempre y cuando el determinante de los coeficientes de estas m variables no seas cero. Las m variables se llaman variables básicas (la solución resultante a este sistema, se le llama solución básica). Solución básica factible: Es una solución básica en la cual todas las m variables básicas son mayores o iguales que cero ( x j ³ 0 ). Degeneración: Una solución básica Ax = b es degenerada si una o más variables básicas son iguales a cero (más de n - m variables iguales a cero).
Procedimiento del Método Simplex para la Forma Matricial Primero Partiendo de un problema de Programación Lineal que se encuentra en la forma estándar, se determinan las matrices A, b, B, Cj, CB, y XB Donde: A es la matriz de coeficientes de las variables en las restricciones b es el lado derecho de las restricciones (limitaciones ) B es la matriz que proporciona la Solución Inicial Básica Factible y esta formada por las columnas de las variables básicas, es decir aquellas que están en solución. Cj son los coeficientes de las variables en la función objetivo CB son los coeficientes de las variables básicas en la Función Objetivo. XB son los valores de las variables básicas que dan la solución al problema. Segundo Se obtiene B Inversa ( B-1 ). Ya sea por el Método de Cofactores o por el Método de M.C. Héctor Martínez Rubin Celis
3
Notas del Método Simplex
Investigación de Operaciones I
Gauss-Jordan Tercero Se obtiene XB, donde X B = B -1b Z = CB X B Cuarto Determinar la variable que entra en la base de solución Se obtienen los Zj-Cj para las variables No-básicas donde Z j = C BY j y
-
Y j = B -1 a j
Las Yj de las variables básicas forman las columnas de la matriz identidad y las Zj-Cj de las variables básicas son cero. Las Yj son las columnas actualizadas a las transformaciones de renglón de la matriz A para generar la columna de la matriz identidad que aporta la columna de la variable que entra en solución. Para un problema de Maximización Entra la variable que tenga el más negativo Zj-Cj y se alcanza la solución óptima cuando todos los valores sean positivos en el análisis de Zj-Cj Para un problema de Minimización Entra la variable que tenga el más positivo Zj-Cj y se alcanza la solución óptima cuando todos los valores sean negativos en el análisis de Zj-Cj Cj-Zj es el beneficio que se tendrá en Z por cada unidad de valor que tenga la variable que entra en solución (Xr) Quinto Determinar la variable que sale de solución Se analiza cada columna de las variables No-básicas junto con el valor de las variables básicas XB. Sale de solución aquella variable que tenga el æX ö æX ö X Minçç Bi , donde Yir > 0 ÷÷ = Minçç B1 , B 2 ,....., donde Yir > 0 ÷÷ , è Yir ø è Y1r Y2 r ø donde r corresponde a la columna de la variable que entra en la solución
Sexto La columna de la variable que entra en solución deberá aportar la columna de la matriz identidad.
M.C. Héctor Martínez Rubin Celis
4
Notas del Método Simplex
Investigación de Operaciones I
æX En la matriz B la columna de la variable que tuvo el Minçç Bi è Yir solución y entra en su lugar la columna de la variable r.
ö ÷÷ abandona la base de ø
Séptimo Regresar al paso 2, hasta que se cumpla el criterio de optimización, considerado en el paso 4.
Ejemplo: Forma canónica Max Z = 5 x1 + 3 x 2 , sujeto a : 3 x1 + 5 x 2 £ 15 5 x1 + 2 x 2 £ 10 x1 , x 2 ³ 0
Forma estándar Max Z = 5 x1 + 3 x 2 , sujeto a : 3 x1 + 5 x 2 + x 3 5 x1 + 2 x 2
= 15 + x 4 = 10
x1 , x 2 , x 3 x 4 ³ 0 y x 3 , x 4 son variables de holgura
é15ù é3 5 1 b=ê ú A=ê Dado ë10 û ë5 2 0 columnas de la matriz identidad ( x 3 y x 4
C j = [5 3 0 0] 0ù 1úû que las columnas de a 3 y a 4 forman las son variables básicas), hacemos que:
b1 = a 3 y b2 = a 4
é1 0 ù B=ê ú ë0 1 û
é1 0ù é15ù é15ù ¬ x 3 = x B1 x B = B -1 b = ê ú ê ú = ê ú ë0 1û ë10û ë10û ¬ x 4 = x B 2 El valor de la función objetivo Z es:
é1 0ù B -1 = ê ú ë0 1 û
x1 = x 2 = 0
é15ù Z = C B xB = [0 0]ê ú = 0 ë10û Analizando la variable que entra en solución:
M.C. Héctor Martínez Rubin Celis
5
Notas del Método Simplex
Investigación de Operaciones I
é1 0ù é3ù é3ù ¬ y11 y1 = B -1 a1 = ê ú ê ú = ê ú ë0 1û ë5û ë5û ¬ y 21 é1 0ù é5ù é5ù ¬ y12 y 2 = B -1 a 2 = ê ú ê ú = ê ú ë0 1û ë2û ë2û ¬ y 22 é3ù z1 = C B y1 = [0 0]ê ú = 0 ë5û
é5 ù z 2 = C B y 2 = [0 0]ê ú = 0 ë 2û
z 2 - c 2 = 0 - 3 = -3 se toma el z j - c j más negativo. Así, la variable entrante será x1 . zj - cj < 0
z1 - c1 = 0 - 5 = -5
Analizando la variable que sale de solución:
ìx ü x Br = Min ïí Bi , yrj > 0ïý = Min ïî yrj ïþ y rj
ìï xB1 xB 2 üï x ì15 10 ü ì10 ü , yrj > 0 ý = Min í , ý = í ý ¬ 4 í , y 21 ïî y1 j y2 j ïþ î3 5þ î5þ Será el valor de la variable entrante en la solución en la tabla siguiente, por lo que x 4 sale de solución. (Donde r es la fila en cuestión y j corresponde a la variable que entra en solución.)
y el próximo valor Z ( Z mejorada) será:
x 10 Zˆ = Z + 4 (c1 - z1 ) = 0 + (5 - 0) = 10 y 21 5 el c j - z j es una razón de cambio, por cada unidad que tenga la variable entrante a la solución, la función objetivo se verá mejorada en c j - z j unidades. ahora si b1 = a 3 y b2 = a1 tenemos:
é1 3ù B=ê ú ë 0 5û
é1 B -1 = ê ë0
- 3 5ù é15ù é9ù ¬ x 3 = x B1 = 1 5 úû êë10úû êë2úû ¬ x1 = x B 2 El valor de la función objetivo Z es: é1 x B = B -1 b = ê ë0
- 3 5ù 1 5 úû x2 = x4 = 0
é9 ù Z = C B xB = (0 5)ê ú = 10 ë 2û Analizando la variable que entra en solución:
M.C. Héctor Martínez Rubin Celis
6
Notas del Método Simplex
Investigación de Operaciones I
é1 y 2 = B -1 a 2 = ê ë0
- 3 5ù é5ù é19 5ù ¬ y12 = 1 5 úû êë2úû êë 2 5 úû ¬ y 22
é1 y 4 = B -1 a 4 = ê ë0
- 3 5ù é0ù é- 3 5ù ¬ y14 = 1 5 úû êë1úû êë 1 5 úû ¬ y 24
é19 5ù é - 3 5ù , [ ] z 2 = c B y 2 = [0 5]ê = 2 z = c y = 0 5 4 B 4 ú ê 1 5 ú =1 ë2 5û ë û z 2 - c 2 = 2 - 3 = -1, z4 - c4 = 1 - 0 = 1 se toma nuevamente aquella variable que tenga el z j - c j más negativo, correspondiendo a x 2 salir de solución. Se analiza ahora la variable que abandonará la solución;
x Br x3 ì 9 ü ì 9 ü 2 = Min í , , y ij > 0ý = í ý¬ y rj y12 î19 5 2 5 þ î19 5 þ por lo que x 3 sale de solución. y el próximo valor de Z ( Z mejorada) será: x 235 Zˆ = Z + 2 (c2 - z2 ) = 10 + 45 19 (3 - 2) = y12 19
Nuevamente continuando con este proceso iterativo, ahora haciendo b1 = a 2 y b2 = a1 , tenemos:
é5 3ù B=ê ú ë2 5û é 5 19 x B = B -1 b = ê ë - 2 19
y
é 5 19 B -1 = ê ë- 2 19
- 3 19ù 5 19 úû
- 3 19 ù é15 ù é 45 19 ù ¬ x 2 = x B1 = , 5 19 úû êë10 úû êë 20 19 úû ¬ x1 = x B 2
x3 = x 4 = 0
Ahora el valor de la función objetivo es: æ 45 / 19 ö ÷÷ = 235 / 19 Z = CB xB = (3 5) çç è 29 / 19 ø Analizando la variable que entra en solución:
é 5 19 y 3 = B -1 a 3 = ê ë- 2 19
M.C. Héctor Martínez Rubin Celis
- 3 19ù é1ù é 5 19 ù ¬ y13 = 5 19 úû êë0úû êë- 2 19úû ¬ y 23
7
Notas del Método Simplex
Investigación de Operaciones I
é 5 19 y 4 = B -1 a 4 = ê ë- 2 19
- 3 19ù é0ù é- 3 19ù ¬ y14 = 5 19 úû êë1úû êë 5 19 úû ¬ y 24
é 5 19 ù z3 = CB y3 = [3 5] ê ú = 15 19 - 10 19 = 5 19 ë- 2 19û é- 3 19ù z4 = C B y4 = [3 5] ê ú = - 9 19 + 25 19 = 16 19 ë 5 19 û
z 3 - c 3 = 5 19 - 0 = 5 19
z 4 - c 4 = 16 19 - 0 = 16 19 encontramos que como todos los valores de z j - c j son mayores que cero, entonces ninguna otra variable entrará en solución ya que ésta es óptima. Así la solución óptima será:
é45 19ù Z = C B x B = [3 5]ê ú = 235 19 20 19 ë û é45 19ù por lo que x 2 y x1 son variables básicas x B = ê ú , ya que con estos valores la 20 19 ë û función objetivo es óptima ( Z
*
=
M.C. Héctor Martínez Rubin Celis
235 ). 19
8
Notas del Método Simplex
Investigación de Operaciones I
Formato general de la tabla para el Método Simplex
cj CB
XB
b
c1 x1
c2 x2
c3 x3
|
|
|
a1
a2
a3
|
|
|
L L
cn xn
x Br y rj
|
L
an |
Z*
zj zj - cj
X B = Vector que representa la Solución Básica Factible. C B = Vector formado por los componentes de C correspondientes a la Solución Básica Factible. c j = Vector de costos (coeficientes de las x j en la Función Objetivo).
z j = CB X B z j - c j = CB X B - c j
y rj = Componente del vector que va a formar parte de la nueva Solución Básica Factible. b = Valor de las variables básicas (en solución). Z * = Valor actual de la Función Objetivo.
Ejemplo: Resolviendo el ejemplo anterior por la forma tabular, tenemos;
Max 5 x1 + 3x 2 , sujeto a : 3 x1 5 x1
+ +
5x 2 2x2
£ 15 £ 10
x1 , x 2 ³ 0
M.C. Héctor Martínez Rubin Celis
9
Notas del Método Simplex
Investigación de Operaciones I
Tabla 1 (Tabla Inicial)
cj CB
XB
b
5 x1
3 x2
0 x3
0 x4
b y rj
0 0
x3 x4
15 10 Z* 0
3 5 5 2 0 0 -5 -3
1 0 0 0
0 1 0 0
15 3 10 5 zj zj -cj
¬ Sale x4 de solución
- Entra x1 en solución Tabla 2 cj
5
3
0
0
CB
XB
b
x1
x2
x3
x4
b y rj
0
x3
9
0
19 5
1
-3 5
45 19
5
x1
2
1
25
0
15
15
*
5
2
0
1
zj
10
0
-1
0
1
zj -cj
Z
¬ Sale x3 de solución
- Entra x2 en solución
Tabla 3 (Tabla Final)
cj
5
3
0
0
CB
XB
b
x1
x2
x3
x4
3
x2
45 19
0
1
5 19
- 3 19
5
x1
20 19
1
0
- 2 19
5 19
0
0
5 19
16 19
zj
0
0
5 19
16 19
z j - cj
Z
*
235 19
b yrj
como todos los z j - c j son ³ 0 la solución es óptima.
x 3 = 0 , x 2 = 45 19 , x1 = 20 19 y Z * = 235 19 En resumen, se observa que: 1. En la fila zj-cj las posiciones que corresponden a las variables básicas tienen valor cero 2. Las columnas de las variables básicas forman la matriz identidad
M.C. Héctor Martínez Rubin Celis
10
Notas del Método Simplex
Investigación de Operaciones I
Forma tabular del libro de Mokthar Bazara
Z
x1
x2
x3
x4
x 5 (L.D.)
zj - cj
1
-5
-3
0
0
0
x3 x4
0
3
5
1
0
15
0
5
2
0
1
10
¬ Fila de z j - c j
Interpretación de la tabla del simplex
Z
XB
Z
1
0
XB
0
1
Xn C B B -1 N - C N B -1 N
b
C B B -1 b B -1 b
Min Z sujeto a : Z - CB X B - CN X N = 0 BX B + NX N = b XB, XN ³ 0 desde : Z = C B B -1 b y X B + B -1 NX N = B -1 b Identificar B inversa en la tabla optima. -1 En la tabla final (óptima) para calcular las columnas que forman la B ( B inversa) estas corresponderán a las columnas de las variables que en la tabla inicial aportarán las columnas para formar la matriz identidad. En el caso del problema usado como ejemplo
x2
x1
æ 5 3ö ÷÷ B = çç è 2 5ø
x3 æ 5 19 B -1 = çç è - 2 19
x4 - 3 19 ö ÷ 5 19 ÷ø
Otro ejemplo en el que se tengan en solución las siguientes variables, obtenemos su inversa.
M.C. Héctor Martínez Rubin Celis
11
Notas del Método Simplex
Investigación de Operaciones I
Proceso de Solución de un Problema de Programación Lineal por el Método Simplex Inicio Leer el Problema Determinar si es un problema de Maximización o de Minimización Añadir las Variables de Holgura y/o Artificiales para presentar el problema en la Forma Estándar Escribir la Función Objetivo correspondiente Crear la tabla del Simplex correspondiente Problema de: Maximización; ¿Son todos los valores de ZjCj ³ 0 ? Minimización; ¿Son todos los valores de ZjCj £ 0 ?
Si Solución Optima Maximización: Cuando todos los valores de Zj-Cj ³ 0. Minimización: Cuando Todos los valores de Zj-Cj £ 0. Obtener de la tabla los valores de las variables y de la función objetivo Z.
No Determinar la variable que entra en solución: Para un problema de : Maximización; Entra la variable que en la fila de Zj-Cj tenga el valor mas negativo. Minimización; Entra la variable que en la fila de Zj-Cj tenga el valor mas positivo. Determinar la variable que sale de solución: Divida cada elemento del renglón de b entre el elemento correspondiente (mayor que cero) del renglón de la variable que entra en solución; y abandonara la solución aquella variable en XB que corresponda al cociente menor. Establezca como elemento pivote aquél que se encuentre en el cruce del renglón de la variable entrante y la columna de la variable saliente. Genere en esta posición la unidad y ceros en los elementos restantes de la columna de la variable entrante ( en este proceso de Gauss-Jordan se actualiza la tabla). Continuar el proceso
M.C. Héctor Martínez Rubin Celis
12
Notas del Método Simplex
Investigación de Operaciones I
MÉTODO DE LA “M” Este método es utilizado cuando existe la necesidad de introducir variables artificiales (xa ´s) con el objeto de generar una solución básica factible. Aplicando el Método Simplex para su solución, la función objetivo Z se ve alterada, ya que la contribución de las variables artificiales (coeficientes de las variables artificiales) es: - M para un problema de maximización. + M para un problema de minimización. Donde M es un valor muy grande (mucho mayor que cualquier coeficiente de las variables en la función objetivo) por ejemplo: M >>> 0. Como las variables artificiales no tienen ningún significado en el problema. Son definidas como un artificio (ya que es una conveniencia matemática para lograr la matriz identidad y así una solución inicial básica factible), y por lo cual ninguna variable artificial deberá formar parte de una solución básica factible. Para eliminar las variables artificiales de la solución, se les asigna en la función objetivo original coeficientes, tales que haga su presencia no atractiva en la base. Para ilustrar esto, suponga que deseamos resolver el siguiente problema de Programación Lineal, donde b ³ 0. Maximice CX Sujeto a: Ax = b x ³ 0. Si una conveniente base no es conocida, se introduce un vector artificial xa, lo que conduce al siguiente sistema: Ax + Xa = b x, Xa ³ 0 La solución inicial básica factible está dada por xa = b y x = 0. Para mostrar que se desea tener un vector artificial mayor que cero, la función objetivo es modificada de la forma que una penalización alta es pagada para cualquier solución. Minimice CX + MXa. Sujeto a: Ax + Xa = b x, Xa ³0 El método simplex por sí mismo, trata de eliminar las variables artificiales de la base, y entonces continua tratando de encontrar la solución optima a el problema original. M.C. Héctor Martínez Rubin Celis
13
Notas del Método Simplex
Investigación de Operaciones I
Ejemplo: Minimizar Sujeto a:
Z = x1 - 2x2 x1 + x2 ³ 2 -x1 + x2 ³ 1 x2 £ 3
x1 y x 2 ³ 0
transformando a la forma estándar tenemos : Minimizar Z = x1 - 2x2 - 0x3 - 0x4 + 0x5 + Mx6 + Mx7 Sujeto a: x1 + x2 - x3 +x6 -x1 + x2 -x4 x2 +x5
=2 +x7
=1 =3
donde : Xh son variables de holgura. Xa Son variables artificiales. M es un número positivo muy grande. Tabla 1 Cj CB M M 0
XB X6 X7 X5
b 2 1 3
Z=
3M
1 X1 1 -1 0 0 -1
-2 X2 1 1 1 2M 2+2M
0 X3 -1 0 0 -M -M
0 X4 0 -1 0 -M -M
0 X5 0 0 1 0 0
M X6 1 0 0 M 0
M X7 0 1 0 M 0
0 X4 1 -1 1 M+2 M+2
0 X5 0 0 1 0 0
M X6 1 0 0 M 0
M X7 -1 1 -1 -2-M -2-2M
Sale X7 de solución
Entra X2 en solución
Tabla 2 Cj CB M -2 0
XB X6 X2 X5
b 1 1 2
Z=
-2+M
1 X1 2 -1 1 2M+2 1+2M
-2 X2 0 1 0 -2 0
0 X3 -1 0 0 -M -M
Entra X1 en solución
M.C. Héctor Martínez Rubin Celis
14
Sale X6 de solución
Notas del Método Simplex
Investigación de Operaciones I
Tabla 3 Cj CB 1 -2 0
XB X1 X2 X5
b 1/2 3/2 3/2
Z=
-5/2
1 X1 1 0 0 1 0
-2 X2 0 1 0 -2 0
0 X3 -1/2 -1/2 1/2 1/2 1/2
0 X4 1/2 -1/2 1/2 5/2 5/2
0 X5 0 0 1 0 0
M M X6 X7 1/2 -1/2 1/2 1/2 -1/2 3/2 -1/2 -3/2 -1/2-M -3/2-M
0 X4 1 0 0 0 0
0 X5 0 0 1 0 0
M X6 1 1 -1 -2 -2-M
M X7 -1 0 0 0 -M
0 X4 1 0 0 0 0
0 X5 1 1 1 -2 -2
M X6 0 0 -1 0 -M
M X7 -1 0 0 0 -M
Sale X1 de solución
Entra X4 en solución
Tabla 4 Cj CB 0 -2 0
XB X4 X2 X5 Z=
b 1 2 1 -4
1 X1 2 1 -1 -2 -3
-2 X2 2 1 -1 -2 0
0 X3 -1 -1 1 2 2
Entra X3 en solución Tabla 5 Cj CB 0 -2 0
XB X4 X2 X3
b 2 3 1
Z=
-6
1 X1 1 0 -1 0 -1
-2 X2 0 1 0 -2 0
0 X3 0 0 1 0 0
Como todos los zj-cj son £ 0 para todas las variables no-básicas. Esta tabla nos indica que esta solución es óptima. Teniendo el resultado siguiente x4 = 2, x2 = 3, x3 = 1 y las variables restantes son iguales a cero. Con un valor optimo de la función objetivo Z de -6.
M.C. Héctor Martínez Rubin Celis
15
Sale X5 de solución
Notas del Método Simplex
Investigación de Operaciones I
MÉTODO DE LAS DOS FASES El problema del ejemplo anterior fue manejado en la forma regular después de que las variables artificiales habían sido añadidas. Existe una complicación en el método de la M, en el cual se debe asignar un valor M sin especificar exactamente qué valor es. Si un valor numérico específico fuera asignado a la M, este deberá ser mucho mayor que cualquier otro número que aparece en la función objetivo y probablemente no satisfaga todas las condiciones. Su propósito sería el de proveer una penalización para eliminar las variables artificiales de la base, ya que ellas realmente no pueden formar parte de la solución en un problema de la vida real. Un enfoque para evitar estas dificultades está incorporado o considerado en el método de dos fases. La primera fase consiste en convertir todas las variables artificiales en cero, para obtener una solución básica factible para las variables reales del problema. La segunda fase consiste en optimizar la función objetivo actual Z, iniciando de una solución básica factible que puede o no contener variables artificiales a nivel cero.
FASE I Se inicia con una solución básica factible formada con algunas variables artificiales y con la finalidad de eliminar las variables artificiales. Se asigna a cada coeficiente de la variable artificial en la función objetivo un valor de la unidad (positiva o negativa, dependiendo de si es un problema de Minimización o de Maximización respectivamente) en lugar del valor M. A todas las variables restantes se les asigna un coeficiente cero (sin importar los coeficientes actuales del problema). Entonces en lugar de considerar la función objetivo actual. Se optimiza la función: Z = å is =1(± 1) XAi = (±XA1 ±XA2 ± XA3......±XAs) donde XA son las s variables artificiales (XA ³ 0) La fase I termina después de haber aplicado el Método Simplex, cuando: 1).- Z* = 0 Una o más variables están en la base a un nivel positivo. El problema original tiene una solución no factible. 2).- Z* = 0 Ninguna variable artificial está en la base. Se ha encontrado una solución básica factible al problema original. 3).- Z* ¹ 0
Una o más variables artificiales están en la base a un nivel cero (es decir que la b correspondiente a la variable artificial es igual a cero).
M.C. Héctor Martínez Rubin Celis
16
Notas del Método Simplex
Investigación de Operaciones I
Se ha encontrado una solución factible al problema original. Debido a que algunas variables artificiales están en la base a un nivel cero, posiblemente haya redundancia en las ecuaciones restrictivas. La fase I termina cuando los elementos zj - cj son ³ 0 para un problema de Maximización y £ para un problema de Minimización. ANTES DE INICIAR LA FASE II a) Elimine todas las columnas correspondientes a las variables artificiales no básicas. b) Cheque redundancia (ecuaciones redundantes) en el problema original. El sistema de ecuaciones original es Ax = b. Si una restricción (ecuación) puede ser obtenida como una combinación lineal de las otras, la restricción es redundante. Para localizar la existencia de ecuaciones redundantes observe en la tabla final de la fase I (después de haber eliminado las columnas correspondientes a las variables artificiales no básicas) si existe alguna fila cuyos elementos sean todos cero a excepción de un elemento 1 que corresponda a la columna de una variable artificial básica, entonces esto indicará que la fila es redundante, por lo tanto elimine la fila y la columna. c) Elimine las variables artificiales en la base, en la tabla final de la fase I, estas variables estarán representadas por columnas que tienen elementos cero a excepción de un uno en la fila donde b=0. Seleccione uno de los elementos diferentes de cero en esta fila (debe de existir alguno, de otra forma esta fila se hubiera eliminado en el paso b). Este elemento elíjalo como pivote, transformando su columna correspondiente a tener el elemento 1 en el pivote, y cero en el resto de la columna (es decir, se genera en esa columna el vector necesario para eliminar la variable artificial de la solución.)
FASE II La primera tabla de la fase II, es la última tabla de la fase I, sufriendo los siguientes cambios; se reemplazan los coeficientes de la función objetivo por los coeficientes originales de las variables reales y después se calculan las filas zj y zj-cj. Una vez que se han realizado estos cambios, se aplica el Método Simplex nuevamente para optimizar la función objetivo Z. Ejemplo: Minimizar Z = -X1 Sujeto a: X1 + X2 - X3 + X4 - X5 +2X6 = 2 2X1 - X2 - X3 - 2X4 + X5 - X6 = 3 3X1 - 2X3 - X4 +X6 = 5 X1, X2, X3, X4, X5, X6 ³ 0 Expresándolo en la forma estándar, tenemos:
M.C. Héctor Martínez Rubin Celis
17
Notas del Método Simplex
Investigación de Operaciones I
Minimizar Z = -X1 Sujeto a: X1 + X2 - X3 + X4 - X5 +2X6 +X7 =2 2X1 - X2 - X3 - 2X4 + X5 - X6 + X8 =3 3X1 - 2X3 - X4 +X6 + X9 = 5 X´s ³ 0, para toda X. Donde X7, X8 Y X9 son variables artificiales. FASE I Tabla 1 Cj CB 1 1 1
XB X7 X8 X9
b 2 3 5
Z=
0 X1 1 2 3 6 6
0 X2 1 -1 0 0 0
0 X3 -1 -1 -2 -4 -4
0 X4 1 -2 -1 -2 -2
0 X5 -1 1 0 0 0
0 X6 2 -1 1 2 2
1 X7 1 0 0 1 0
1 X8 0 1 0 1 0
1 X9 0 0 1 1 0
0 X5 -1.5 .5 -1.5 -3 -3
0 X6 2.5 -.5 2.5 5 5
1 X7 1 0 0 1 0
1 X8 -.5 .5 -1.5 -2 -3
1 X9 0 0 1 1 0
Zj Zj-Cj
1 X7 .4 .2 -1 -1 -2
1 X8 -.2 .4 -1 -1 -2
1 X9 0 0 1 1 0
Zj Zj-Cj
Sale X8 de solución Zj Zj-Cj
Entra X1 en solución
Tabla 2 Cj CB 1 0 1
XB X7 X1 X9
b .5 1.5 .5
Z=
0 X1 0 1 0 0 0
0 X2 1.5 -.5 1.5 3 3
0 X3 -.5 -.5 -.5 -1 -1
0 X4 2 -1 2 4 4
Sale X7 de solución
Entra X6 en solución Tabla 3 Cj CB 0 0 1
XB X6 X1 X9 Z=
b .2 1.6 0 0
1 X1 0 1 0 0 0
-2 X2 .6 -.2 0 0 0
0 X3 -.2 -.6 0 0 0
0 X4 .8 -.6 0 0 0
0 X5 -.6 .2 0 0 0
0 X6 1 0 0 0 0
Como todos los elementos en Zj-Cj son £ 0, la fase I esta terminada. El valor mínimo de la fase I es cero y por esto el problema es factible. Una solución factible para el problema original es (1.6, 0, 0, 0, 0, .2). Para establecer la tabla de la fase II; elimine las columnas 7
M.C. Héctor Martínez Rubin Celis
18
Notas del Método Simplex
Investigación de Operaciones I
y 8, asigne los coeficientes originales en la función objetivo y calcule las entradas de la fila Zj-Cj (en la variable artificial cero). Cj CB 0 -1 0
XB X6 X1 X9
b .2 1.6 0
Z=
0
-1 X1 0 1 0 -1 0
0 X2 .6 -.2 0 .2 .2
0 X3 -.2 -.6 0 .6 .6
0 X4 .8 -.6 0 .6 .6
0 X5 -.6 .2 0 -.2 -.2
0 X6 1 0 0 0 0
0 X9 0 0 1 0 0
Zj Zj-Cj
Como todos los elementos en la tercera fila son cero, excepto por un 1 que representa la variable artificial X9, la fila es eliminada por ser redundante. Cheque en el problema original y encontrará que la tercera ecuación es la suma de las dos primeras ecuaciones. Se elimina la fila 3 y la columna 7 (X9). Cj CB 0 -1
XB X6 X1 Z=
b .2 1.6 0
-1 X1 0 1 -1 0
0 X2 .6 -.2 .2 .2
0 X3 -.2 -.6 .6 .6
0 X4 .8 -.6 .6 .6
0 X5 -.6 .2 -.2 -.2
0 X6 1 0 0 0
Sale X6 de solución Zj Zj-Cj
Entra X4 en solución Fin FASE I, principio de la FASE II
FASE II Cj CB 0 -1
XB X4 X1
b .25 1.75
Z=
1.75
-1 X1 0 1 -1 0
0 X2 .75 -.25 -.25 -.25
0 X3 -.25 -.75 .75 .75
0 X4 1 0 0 0
0 X5 -.75 .25 .25 .25
0 X6 1.25 -.75 -.75 -.75
Zj Zj-Cj
Entra X3 en solución La columna muestra que el problema es ilimitado (los elementos en la columna correspondiente a la variable entrante son £ 0, yrj £ 0), por tanto la solución es ilimitada (Z = -a ).
M.C. Héctor Martínez Rubin Celis
19
Notas del Método Simplex
Investigación de Operaciones I
DEGENERACIÓN Una solución básica a Ax = b es degenerada si una o más de las variables básicas son cero ( si alguna XB = 0). Una solución básica factible representa a b como una combinación lineal de m columnas de A. Cualquier base que incluya alguna columna de A que sea dependiente de la columna de b determinará una solución degenerada. Para saber en la tabla si existe degeneración, es suficiente con observar en la columna de b y saber si existe uno o más elementos iguales a cero. Cuando la degeneración se presenta, el proceso de selección de la variable saliente, en la mínima razón XBr/Yrk puede no ser única. Vector saliente de la base: xBr yrk
ìx = min i í Bi î yik
i
ü , yik < 0 ý þ
Vector que entra en la base: Zk - Ck = Min (Zj - Cj ) , para un problema de Maximización. Se ha visto que cualquiera de las variables correspondientes al mínimo puede ser removida, y la nueva solución básica será factible (y degenerada).
Ejemplo: Maximizar Z = X2 Sujeto a : X1 + X2 ³ 1 1/3X1 + X2 £ 1 X1, X2 ³ 0
Forma estándar Maximizar Z = X2 - MX5 sujeto a : X1 + X2 -X3 +X5 1/3X1 + X2 +X4
=1 =1
donde X3 Y X4 son variables de holgura y X5 es una variable artificial.
Forma tabular:
M.C. Héctor Martínez Rubin Celis
20
Notas del Método Simplex
Investigación de Operaciones I
Tabla 1 Cj CB -M 0
XB X5 X4
b 1 1
Z=
-M
0 X1 1 1/3 -M M
1 X2 1 1 -M M+1
0 X3 -1 0 M -M
0 X4 0 1 0 0
-M X5 1 0 -M 0
Sale X5 de solución Zj Cj-Zj
Entra X2 en solución Tabla 2 Cj CB 1 0
XB X2 X4
b 1 0
Z=
1
0 X1 1 -2/3 1 -1
1 X2 1 0 1 0
0 X3 -1 1 -1 1
0 X4 0 1 0 0
-M X5 1 -1 1 -1-M
Zj Cj-Zj
-M X5 0 -1 0 -M
Zj Cj-Zj
Sale X4 de solución
Entra X3 en solución Tabla 3 Cj CB 1 0
XB X5 X4
b 1 0
Z=
1
0 X1 1/3 -2/3 1/3 -1/3
1 X2 1 0 1 0
0 X3 0 1 0 0
0 X4 1 1 1 -1
La solución óptima es degenerada, ya que en XB hay una variable a nivel cero. Teniéndose que x2 = 1, x3 = 0 y Z* = 1.
CICLAJE Cuando la degeneración se presenta, la función objetivo puede no cambiar cuando hay un cambio de una solución básica factible a otra. Entonces no se puede estar seguro que una base no se repita. En efecto, se puede caer en la situación en la cual se ciclaje el problema, repitiéndose las mismas secuencias de bases solución, y nunca alcanzar la solución optima.
M.C. Héctor Martínez Rubin Celis
21
Notas del Método Simplex
Investigación de Operaciones I
Ejemplo: Minimizar Z = -2X4 -3X5 + X6 +12X7 Sujeto a : X1 - 2X4 - 9X5 + X6 + 9X7 X2 +1/3X4 + X5 - 1/3X6 - 2X7 X3 + 2X4 + 3X5 - X6 - 12X7 = 2
=0 =0
X´s ³ 0, para toda X.
Tabla 1 Cj CB 0 0 0
XB X1 X2 X3
b 0 0 2
Z=
0
0 X1 1 0 0 0 0
0 X2 0 1 0 0 0
0 X3 0 0 1 0 0
-2 X4 -2 1/3 2 0 2
-3 X5 -9 1 3 0 3
1 X6 1 -1/3 -1 0 -1
12 X7 9 -2 -12 0 -12
Sale X2 de solución
-2 X4 1 1/3 1 1 1
-3 X5 0 1 0 -3 0
1 X6 -2 -1/3 0 1 0
12 X7 -9 -2 6 6 -6
Sale X1 de solución
-3 X5 0 1 0 -3 0
1 X6 -2 1/3 3 3 2
12 X7 -9 2 15 15 3
Sale X5 de solución
Entra X5 en solución Tabla 2 Cj CB 0 -3 0
XB X1 X5 X3
b 0 0 2
Z=
0
0 X1 1 0 0 0 0
0 X2 9 1 -3 -3 -3
0 X3 0 0 1 -3 0
Entra X4 en solución Tabla 3 Cj CB -2 -3 0
XB X4 X5 X3
b 0 0 2
Z=
0
0 X1 1 -1/3 -1 -1 -1
0 X2 9 -2 -12 -12 -12
0 X3 0 0 1 0 0
-2 X4 1 0 0 -2 0
Entra X7 en solución
M.C. Héctor Martínez Rubin Celis
22
Notas del Método Simplex
Investigación de Operaciones I
Tabla 4 Cj CB -2 12 0
XB X4 X7 X3
b 0 0 2
Z=
0
0 X1 -2 -1/3 0 0 0
0 X2 -2 -2 -6 -6 -6
0 X3 0 0 1 0 0
-2 X4 1 0 -2 -2 0
-3 X5 9 1 -3 -3 -3
1 X6 1 1/3 1 2 1
12 X7 0 1 12 12 0
Sale X4 de solución
-2 X4 1 -1/3 -1 -3 -1
-3 X5 9 -2 -12 -15 -12
1 X6 1 0 0 1 0
12 X7 0 1 0 12 0
Sale X7 de solución
-2 X4 -2 -1/3
-3 X5 -9 -2 -6 -9 -6
1 X6 1 0 0 1 0
12 X7 0 1 -3 0 -12
Sale X6 de solución
Entra X6 en solución Tabla 5 Cj CB -2 12 0
XB X6 X7 X3
b 0 0 2
Z=
0
0 X1 -2 1/3 2 2 2
0 X2 9 1 3 3 3
0 X3 0 0 1 0 0
Entra X2 en solución Tabla 6 Cj CB 1 0 0
XB X6 X2 X3 Z=
b 0 0 2 0
0 X1 1 1/3 1 1 1
0 X2 0 1 0 0 0
0 X3 0 0 1 0 0
-2 1
Entra X1 en solución Como X1 entra a la base, la nueva base estará formada por (X1, X2, X3), la cual ya fue obtenida en la tabla 1, teniéndose como resultado que el problema se ha ciclado.
M.C. Héctor Martínez Rubin Celis
23
Notas del Método Simplex
Investigación de Operaciones I
METODO LEXICOGRAFICO El problema de ciclaje puede ser resuelto utilizando una regla que rompa los empates en ( x Br / y rj ) para determinar la variable que abandona la solución. Esta regla es denominada lexicográfica y su procedimiento es el siguiente: Si cuando se realiza la prueba para determinar el vector correspondiente a la variable que sale de la base de solución, se tiene un empate, divida cada fila potencial (en empate) entre su similar en fila de la columna pivote.
L
ak 2 at 2
L L
a ij
a i1 a ij
a i 2 a ij
L
a kj a tj * 1
a k 1 a kj a t1 a tj
a k 2 a kj a t 2 a tj
1 1
L L
a i1
ai2
a k1 a t1
L L
L L L
a in
x Bi y ij
a kn a tn
x Bk y kj x Bt y tj
L
a in a ij a kn a kj a tn a tj
La columna señalada con * es la columna pivote (corresponde a la variable que entra en solución). Como las filas son linealmente independientes ningún par de filas divididas son idénticas. Encuentre la primera columna donde se rompa el empate. Ignorar todas las filas que no tengan el valor más bajo. Si únicamente una fila queda, esta será la fila pivote, si quedan más pruebe en las columnas adicionales. Ejemplo: Trabájese el ejemplo de ciclaje cubierto previamente y pártase de las tablas 2 c j 0 0 0 -2 -3 1 12 cB xB b x1 x2 x3 x4 x5 x6 x7 xBr yrj 0 x1 0 1 9 0 1 0 -2 -9 01 -3 x5 0 0 1 0 1 3 1 -1 3 -2 0 1 3 0
x3
2
0
-3
2
1
0
0
6
21
Z 0
0 0
-3 -3
0 0
1 1
-3 0
1 0
6 -6
zj z j - cj
Entra en Solución X7
Existe un empate entre estas 2 filas por lo que se deberán analizar con el método lexicográfico para determinar la variable que deberá abandonar la solución.
M.C. Héctor Martínez Rubin Celis
24
Notas del Método Simplex x1 11 0 13
x2 91 1 13
Investigación de Operaciones I
x3 01 0 13
x4 1 1
x5 01 1 13
x6 -21 -1
x7 -91 -2 13
primera fila segunda fila
Analizando de izquierda a derecha encontramos que en la primera columna se rompe el empate ya que la fila 2 es menor que la fila 1 (0 es menor que 1), por lo que sale de solución x 5 .
cj
0
0
0
-2
-3
1
12
cB 0
xB x1
b 0
x1 1
x2 6
x3 0
x4 1
x5 -1
x6 -1
x7 -3
x Br y rj --
-2 0
x4 x3
0 2 Z
0 0 0
3 -6 -6
0 1 0
1 0 -2
3 -3 -6
-1 1 2
6 0 12
-21 zj
0
0
-6
0
0
-3
1
0
zj - cj
Entra x 6 en solución
0
0
0
-2
-3
1
12
b 2 2 2
x1 1 0 0
x2 0 -3 -6
x3 1 1 1
x4 0 1 0
x5 -4 0 -3
x6 0 0 1
x7 -3 -6 0
x Br y rj --21
Z 0
0 0
0 0
-1 -1
-2 0
-3 0
1 0
- 12 0
zj zj - cj
cj cB 0 -2 1
xB x1 x4 x6
Sale de solución x 3
Como todos los elementos en la fila z j - c j son menores o iguales que cero la solución es óptima. Observe que en la fila z j - c j existen 6 elementos iguales que cero, por lo que existirá una solución múltiple. ( m = 3 Si existen más de m elementos en la fila z j - c j iguales que cero, existe una solución básica factible múltiple). Es decir que cualquiera de las variables no-básicas que tienen un valor cero en la fila z j - c j puede entrar a formar parte de la solución y el valor de la función objetivo Z no cambiará.
M.C. Héctor Martínez Rubin Celis
25
Notas del Método Simplex
Investigación de Operaciones I
SOLUCIÓN ILIMITADA Esta ocurre cuando el espacio de soluciones factibles no está acotado y la función a optimizar puede mejorar indefinidamente. Esta situación se refleja en que todos los elementos en la columna correspondiente a la variable elegida a entrar en la solución (menor vector Zj - Cj £ 0, para un problema de Maximización) son no positivos (yrj £ 0). Ejemplo: Max Z=X1-X2+X3 Sujeto a: X1 + X2 + 2X3 ≥ 4 X1 - 2X2 + X3 ≥ 2 X’s ≥ 0 F.O. Max Z=X1-X2+X3 X1 + X2 + 2X3 - X4 = 4 X1 - 2X2 + X3 + X5 = 2 X’s ≥ 0 En cierta tabla encontramos qué Cj 1 -1 CB XB B X1 X2 1 X1 10/3 1 0 -1 X2 2/3 0 1 1 -1 0 0
1 X3 5/3 1/3 4/3 1/3
0 0 X4 X5 -2/3 1/3 --1/3 -1/3 --1/3 2/3 Zj -1/3 2/3 Zj-Cj
La Y4 0} yr , k ïî yi ,k
c) Agregue la columna de xk W
B -1
x B1
xk z k - ck y1k
xB2 M
y 2k M
x Bm
y mk
CB X B
d) Pivotee en yr,k
xk Nueva W
Nuevo CB X B
Nueva B -1
Nueva xk
0 0 M
1 fila r 0
M.C. Héctor Martínez Rubin Celis
38