Está en la página 1de 25

Ejemplo a resolver Simplex Tableau

Técnicas de Optimización
El algoritmo SIMPLEX: Forma Tableau

Juan Felipe Botero

Departamento de Ingenierı́a
Universidad de Antioquia
Medellı́n Colombia
juanxfelipe@gmail.com

1 / 25
Ejemplo a resolver Simplex Tableau

Í NDICE

Ejemplo a resolver
Ejemplo
Ejemplo: Solución Gráfica

Simplex Tableau
Simplex Tableau: Un ejemplo
SIMPLEX: Ejercicio
Reglas para resolver empates SIMPLEX

2 / 25
Ejemplo a resolver Simplex Tableau

E JEMPLO , FORMA GR ÁFICA

x2
x1 = 0
(0, 9)

3x1 + 2x2 = 18

Maximizar 3x1 + 5x2 (0, 6)


(2, 6) (4, 6)
2x2 = 12

Sujeto a x1 ≤4 x1 = 4

2x2 ≤ 12
Feasible (4, 3)
3x1 + 2x2 ≤ 18 region

x1 , x2 ≥0
x2 = 0
(0, 0)
(4, 0) (6, 0) x1

3 / 25
Ejemplo a resolver Simplex Tableau

C ARACTER ÍSTICAS DEL PROBLEMA

x2
x1 = 0
(0, 9)

3x1 + 2x2 = 18

(2, 6) (4, 6)
(0, 6) 2x2 = 12

x1 = 4

Feasible (4, 3)
region

x2 = 0
(0, 0)
(4, 0) (6, 0) x1

I 8 soluciones básicas
I Sólo 5 de estas son soluciones básicas factibles

4 / 25
Ejemplo a resolver Simplex Tableau

R ESOLVIENDO EL EJEMPLO GR ÁFICAMENTE


1. Inicialización: Escoger (0,0) como
la solución básica factible inicial
2. Iteración 1: Como (0, 0) no es la
solución óptima, nos movemos a x2
la mejor solución básica factible (0, 6)
Z = 30 (2, 6)
Z = 36
adyacente (0, 6) - se escoge (0, 6) 1 2

pues lleva a una mejor solución


que (4, 0) (4, 3)
Feasible
region
3. Iteración 2: Como (0, 6) no es la Z = 27

solución óptima, nos movemos a


la mejor solución básica factible 0
Z = 12
(0, 0)
adyacente (2, 6) Z=0 (4, 0) x1

4. Prueba de optimalidad: (2, 6) es la


solución óptima pues (4, 3) no
nos lleva a un mejor valor en la
función objetivo

5 / 25
Ejemplo a resolver Simplex Tableau

E JEMPLO : F ORMA AUMENTADA

I Añadiendo las variables slack, las desigualdades en el modelo se


transforman en igualdades
Forma original Forma aumentada

Maximizar 3x1 + 5x2 Maximizar 3x1 + 5x2


Sujeto a x1 ≤ 4 Sujeto a x1 + x3 = 4
2x2 ≤ 12 2x2 + x4 = 12
3x1 + 2x2 ≤ 18 3x1 + 2x2 + +x5 = 18
x1 , x2 ≥ 0 x1 , x2 , x3 , x4 , x5 ≥ 0

I Recordemos que si una variable slack es:


I 0 → Esta solución cae en el lı́mite de la restricción activa
correspondiente
I > 0 → La solución está en el lado factible de la restricción
activa correspondiente
I < 0 → La solución está en el lado no factible de la restricción
activa correspondiente

6 / 25
Ejemplo a resolver Simplex Tableau

F ORMA TABULAR : S IMPLEX TABLEAU

I Para resolver el problema a mano, lo más conveniente es


usar la forma tabular
I La forma tabular guarda: 1) Los coeficientes de las
variables, 2) Los lados derechos de las ecuaciones y 3) las
variables básicas en cada ecuación
I Comúnmente a la forma tabular, se le denomina simplex
tableau

7 / 25
Ejemplo a resolver Simplex Tableau

S IMPLEX TABLEAU : E N EL EJEMPLO (I)

I La siguiente es la forma algebráica y tabular del ejemplo


Forma Algebraica Forma Tabular

Variable Lado
Eq.
Básica Z x1 x2 x3 x4 x5 Derecho

(0) Z- 3x1 - 5x2 ϩ x3 ϩ x4 ϩ x5 = 0 Z (0) 1 - 3 - 5 0 0 0 0


(1) ZϪ 3x1 Ϫ 5x2 + x3 ϩ x4 ϩ x5 = 4 x3 (1) 0 Ϫ1 Ϫ0 1 0 0 4
(2) ZϪ 3x1 Ϫ 2x2 ϩ x3 + x4 ϩ x5 = 12 x4 (2) 0 Ϫ0 Ϫ2 0 1 0 12
(3) ZϪ 3x1 + 2x2 ϩ x3 ϩ x4 + x5 = 18 x5 (3) 0 Ϫ3 Ϫ2 0 0 1 18

8 / 25
Ejemplo a resolver Simplex Tableau

S IMPLEX TABLEAU : E N EL EJEMPLO (II)


I Test de optimalidad: La solución básica actual es óptima sólo si cada coeficiente
en la primera fila es no negativo (≥ 0) (negativo - (≤ 0) - en problemas de
minimización)

variable Coeficiente de : Lado Razón


básica Eq. Z x1 x2 x3 x4 x5 Derecho
Z (0) 1 - 3 - 5 0 0 0 0
x3 (1) 0 Ϫ1 Ϫ0 1 0 0 4
12
x4 (2) 0 Ϫ0 Ϫ2 0 1 0 12 → = 6 - mínimo
2
18
x5 (3) 0 Ϫ3 Ϫ2 0 0 1 18 → = 9
2

I Primera iteración:
1. Variable básica entrante→ La que tenga el coeficiente negativo con valor
más alto (en este caso x2 )
2. Variable básica saliente→ Se aplica el test de razón mı́nima:
I Escoger cada coeficiente estrictamente positivo en la columna de la variable entrante
I Poner este coeficiente como divisor por el lado derecho (dividendo) de la fila
correspondiente (ésta es la razón de la fila)
I Identificar la fila con la razón más pequeña, como la variable saliente (en este caso x4 )

3. El elemento donde se interceptan la variable saliente y entrante, se


denomina pivote

9 / 25
Ejemplo a resolver Simplex Tableau

S IMPLEX TABLEAU : E N EL EJEMPLO (III)


I Primera iteración
3. Resolver la nueva solución básica factible→ Usando operaciones sencillas de
filas en matrices, construir el tableau para eliminación gaussiana
I Dividir la fila del pivote por el valor del pivote
I Para las otras filas (incluyendo la de Z) que tengan coeficiente negativo en la columna del
pivote, se añade el producto del valor absoluto de este coeficiente no negativo y la nueva
fila del pivote
I Para las filas con un coeficiente positivo en la columna del pivote, se resta el producto de
este coeficiente y la nueva fila pivote

Coeficiente de:
Variables Lado
Iteración Básicas Eq. Z x1 x2 x3 x4 x5 Derecho

Z (0) 1 - 3 - 5 0 Ϫ0 0 0
x3 (1) 0 Ϫ1 Ϫ0 1 Ϫ0 0 4
0
x4 (2) 0 Ϫ0 Ϫ2 0 Ϫ1 0 12
x5 (3) 0 Ϫ3 Ϫ2 0 Ϫ0 1 18

5
Z (0) 1 - 3 Ϫ0 0 Ϫ 0 30
2
x3 (1) 0 Ϫ1 Ϫ0 1 Ϫ0 0 4
1
1
x2 (2) 0 Ϫ0 Ϫ1 0 Ϫ 0 6
2
x5 (3) 0 Ϫ3 Ϫ0 0 - 1 1 6

10 / 25
Ejemplo a resolver Simplex Tableau

S IMPLEX TABLEAU : E N EL EJEMPLO (IV)


I Prueba de optimalidad: La solución básica factible actual no es óptima pues no
todos los coeficientes en la fila 0 son no negativos
I Iteración 2
1. Variable básica entrante→ La que tenga el coeficiente negativo con valor
más alto (en este caso x1 )
2. Variable básica saliente→ Test de razón mı́nima:
I Escoger cada coeficiente estrictamente positivo en la columna de la variable entrante
I Poner este coeficiente como divisor por el lado derecho (dividendo) de la fila
correspondiente (ésta es la razón de la fila)
I Identificar la fila con la razón más pequeña, como la variable saliente (en este caso x5 )
Resolver la nueva solución básica factible→ Usando operaciones sencillas de
filas en matrices, construir el tableau para eliminación gaussiana
Coeficiente de:
Variable Lado Razón
Iteración Básica Z x1 x2 x3 x4 x5 derecho

Z (0) 1 - 3 - 5 0 Ϫ0 Ϫ0 0
x3 (1) 0 Ϫ1 Ϫ0 1 Ϫ0 Ϫ0 4
0
x4 (2) 0 Ϫ0 Ϫ2 0 Ϫ1 Ϫ0 12
x5 (3) 0 Ϫ3 Ϫ2 0 Ϫ0 Ϫ1 18

5
Z (0) 1 - 3 Ϫ0 0 Ϫ Ϫ0 30
2
x3 (1) 0 Ϫ1 Ϫ0 1 Ϫ0 Ϫ0 4 4
1 =4
1
1
x2 (2) 0 Ϫ0 Ϫ1 0 Ϫ Ϫ0 6
2 6
=2 minimum
x5 (3) 0 Ϫ3 Ϫ0 0 Ϫ- 1 Ϫ1 6 3

3
Z (0) 1 Ϫ0 Ϫ0 0 Ϫ Ϫ1 36
2
1 1
x3 (1) 0 Ϫ0 Ϫ0 1 Ϫ - 2
3 3
2
1
x2 (2) 0 Ϫ0 Ϫ1 0 Ϫ Ϫ0 6
2
1 1
x1 (3) 0 Ϫ1 Ϫ0 0 - Ϫ 2
3 3
11 / 25
Ejemplo a resolver Simplex Tableau

S IMPLEX TABLEAU : E N EL EJEMPLO (V)


I Step 3 (Solving for the New BFS):

Coeficiente de:
Variable Lado Razón
Iteración Básica Z x1 x2 x3 x4 x5 derecho

Z (0) 1 - 3 - 5 0 Ϫ0 Ϫ0 0
x3 (1) 0 Ϫ1 Ϫ0 1 Ϫ0 Ϫ0 4
0
x4 (2) 0 Ϫ0 Ϫ2 0 Ϫ1 Ϫ0 12
x5 (3) 0 Ϫ3 Ϫ2 0 Ϫ0 Ϫ1 18

5
Z (0) 1 - 3 Ϫ0 0 Ϫ Ϫ0 30
2
x3 (1) 0 Ϫ1 Ϫ0 1 Ϫ0 Ϫ0 4 4
1 =4
1
1
x2 (2) 0 Ϫ0 Ϫ1 0 Ϫ Ϫ0 6
2 6
=2 minimum
x5 (3) 0 Ϫ3 Ϫ0 0 Ϫ- 1 Ϫ1 6 3

3
Z (0) 1 Ϫ0 Ϫ0 0 Ϫ Ϫ1 36
2
1 1
x3 (1) 0 Ϫ0 Ϫ0 1 Ϫ - 2
3 3
2
1
x2 (2) 0 Ϫ0 Ϫ1 0 Ϫ Ϫ0 6
2
1 1
x1 (3) 0 Ϫ1 Ϫ0 0 - Ϫ 2
3 3

I Por lo tanto, la nueva solución básica factible es (x1 , x2 , x3 , x4 , x5 ) = (2, 6, 2, 0, 0),


con Z = 36
I Prueba de optimalidad: Z se puede expresar ası́: Z = 36 − 3 x4 − x5
2
I No hay coeficientes negativos en la fila de Z lo que significa que incrementar x4 o
x5 no incrementarı́a el valor de Z (no hay soluciones adyacentes mejores). Por lo
que la solución básica factible actual es óptima

12 / 25
Ejemplo a resolver Simplex Tableau

SIMPLEX E JERCICIO (I)

Forma canónica Forma Aumentada

Maximize x1 +x2 z −x1 −x2 =0


Subject to 2x1 +x2 ≤ 11 2x1 +x2 +x3 = 11
x1 +3x2 ≤ 18 x1 +3x2 +x4 = 18
x1 ≤4 x1 +x5 =4
x1 , x2 ≥0 x1 , x2 , x3 , x4 , x5 ≥0

I Paso 1 Encontrar una solución básica factible inicial.


(0,0,11,18,4)
I Variables básicas → x3 , x4 , x5 (variables slack)
I Variables no básicas → x1 , x2

13 / 25
Ejemplo a resolver Simplex Tableau

SIMPLEX E JERCICIO (II)

Forma Aumentada

z −x1 −x2 =0
2x1 +x2 +x3 = 11
x1 +3x2 +x4 = 18
x1 +x5 =4
x1 , x2 , x3 , x4 , x5 ≥0

I Tableau:

5 3

14 / 25
Ejemplo a resolver Simplex Tableau

SIMPLEX E JERCICIO (III)

5 3

I Paso 2: Como los coeficientes de la fila Z son negativos, la solución


puede mejorarse incrementando ya sea x1 o x2 . Cómo la mejoraes igual,
arbitrariamente escogemos x2
I Por lo tanto, x2 es la variable entrante

15 / 25
Ejemplo a resolver Simplex Tableau

SIMPLEX E JERCICIO (IV)

5 3

I Paso 3
I Variable básica saliente→ Test de razón mı́nima:
I Escoger cada coeficiente estrictamente positivo en la columna de la variable entrante
I Poner este coeficiente como divisor por el lado derecho (dividendo) de la fila correspondiente (ésta
es la razón de la fila), los valores que se obtienen son: 11/1, 18/3, − = 11, 6, −
I Identificar la fila con la razón más pequeña, como la variable saliente (en este caso x4 )

I El pivote es el valor 3

16 / 25
Ejemplo a resolver Simplex Tableau

SIMPLEX E JERCICIO (V)

I Paso 4 Resolver la nueva solución básica factible→ Usando operaciones


sencillas de filas en matrices, construir el tableau para eliminación
gaussiana

5 3 →
I Este tableau corresponde a la solución básica factible (0, 6, 5, 0, 4) con
variables básicas x3 , x2 , x5 y función objetivo con valor 6. Ahora
podemos comenzar con la siguiente iteración

17 / 25
Ejemplo a resolver Simplex Tableau

SIMPLEX E JERCICIO (VI)

I Si miramos la primera columna del nuevo tableau, podemos ver que


aún hay valores negativos en x1 , por lo tanto
I Como el único valor negativo corresponde a la variable x1 , la tomamos
como la variable entrante

18 / 25
Ejemplo a resolver Simplex Tableau

SIMPLEX E JERCICIO (VII)

I El siguiente paso es encontrar la variable básica saliente→ Test de razón


mı́nima:
I Escoger cada coeficiente estrictamente positivo en la columna de la variable entrante
I Poner este coeficiente como divisor por el lado derecho (dividendo) de la fila correspondiente (ésta
5 , 6 , 4 = 3, 18, 4
es la razón de la fila), los valores que se obtienen son: 5/3 1/3 1
I Identificar la fila con la razón más pequeña, como la variable saliente (en este caso x3 )

I El pivote es el valor 5/3

19 / 25
Ejemplo a resolver Simplex Tableau

SIMPLEX E JERCICIO (VIII)

I El siguiente paso es resolver la nueva solución básica factible usando


operaciones sencillas de filas en matrices, construir el tableau para
eliminación gaussiana


I Este tableau corresponde a la solución básica factible (3,5,0,0,1) con
variables básicas x1 , x2 , x5 y con valor z = 8
I Cómo no hay valores negativos en la fila Z podemos estar seguros que
esta solución es la óptima

20 / 25
Ejemplo a resolver Simplex Tableau

T IPOS DE EMPATES SIMPLEX

I Empate por las variables básicas que entran


I Empate por las variables básicas que salen
I No hay variable básica saliente
I Hay múltiples solucione sóptimas

21 / 25
Ejemplo a resolver Simplex Tableau

E MPATE POR LAS VARIABLES B ÁSICAS QUE ENTRAN

I Las variables no básicas que tienen el coeficiente negativo


tienen el mismo valor absoluto
I Por ejemplo, la función objetivo Z = 3x1 + 3x2 (i.e.
Z − 3x1 − 3x2 = 0). Cómo se realiza el desempate?
I Respuesta → De manera arbitraria

22 / 25
Ejemplo a resolver Simplex Tableau

E MPATE POR LAS VARIABLES B ÁSICAS QUE SALEN –


D EGENERAMIENTO
I Qué pasa si 2 o más variables básicas empatan para ser
escogidas como las variables básicas salientes?
I Esto quiere decir que las variables básicas empatadas
llegan a 0 al incrementar la variable básica entrante
I La variable básica no escogida tendrá un valor de cero en
la nueva solución básica factible
I Cuando, después de ciertas iteraciones, la variable básica
no escogida anteriormente, se escoge para ser una variable
básica saliente, la variable entrante correspondiente tiene
que ser 0 y por tanto Z no cambia
I A pesar de la ilustración anterior, este empate también se
puede solucionar de manera arbitraria

23 / 25
Ejemplo a resolver Simplex Tableau

N O HAY VARIABLE B ÁSICA SALIENTE – Z ILIMITADO

I Es posible que ninguna variable clasifique para ser la


variable saliente?
I Cuándo? → si la variable básica puede ser incrementada
indefinidamente sin dar valores negativos a ninguna de
las actuales variables básicas:
Coefficient of:
Basic Right
Variable Eq. Z x1 x2 x3 Side Ratio

Z (0) 1 - 3 - 5 0 0 With x1 = 0 and x2 increasing,


x3 (1) 0 Ϫ1 Ϫ0 1 4 None x3 = 4 - 1x1 - 0x2 = 4 > 0.

I Cuándo esto pasa, Z es ilimitado (no acotado)

24 / 25
Ejemplo a resolver Simplex Tableau

S OLUCIONES Ó PTIMAS M ÚLTIPLES

I Un problema puede tener más de una solución óptima


I El método SIMPLEX termina después de encontrar una
solución básica factible óptima, incluso en el caso en que
hayan más
I Después que el método SIMPLEX encuentra una solución
óptima BFS, la existencia de otras puede ser detectada ası́:
Cuando un problema tiene más de una solución básica factible, al menos una de
las variables no básicas tiene coeficiente 0 en la fila de Z, entonces el incremen-
to de esta variable, no cambiará el valor de Z. Por lo tanto, las otras soluciones
básicas factibles óptimas pueden ser identificadas realizando iteraciones adicio-
nales del método simplex, escogiendo cada vez una variable no básica con un
coeficiente cero cómo la variable básica entrante

25 / 25

También podría gustarte