Sunteți pe pagina 1din 61

SIMPLEX: Aproximación conceptual

Í NDICE

SIMPLEX: Aproximación conceptual


Solución inicial y direcciones
Direcciones de mejora y costos reducidos
Tamaño de paso y regla de la razón mı́nima
Actualización de la base y pseudocódigo de SIMPLEX
Ilustración en ejemplo

2 / 62
SIMPLEX: Aproximación conceptual

C ONCEPTO I MPORTANTE

El algoritmo SIMPLEX es una variante de el algoritmo de me-


jora, adaptada para explotar las propiedades especiales de los LP
en forma estándar

3 / 62
SIMPLEX: Aproximación conceptual

R EPRESENTACI ÓN TABULAR

I Durante la explicación del SIMPLEX se irá usando una tabla que irá creciendo

4 / 62
SIMPLEX: Aproximación conceptual

R EPRESENTACI ÓN TABULAR

I Durante la explicación del SIMPLEX se irá usando una tabla que irá creciendo
I Recordando la versión estándar de un problema LP en formato matricial:
Minimizar/Maximizar cT .x
Sujeto a Ax = b
x≥0

5 / 62
SIMPLEX: Aproximación conceptual

R EPRESENTACI ÓN TABULAR

I Durante la explicación del SIMPLEX se irá usando una tabla que irá creciendo
I Recordando la versión estándar de un problema LP en formato matricial:
Minimizar/Maximizar cT .x
Sujeto a Ax = b
x≥0
I para el problema ejemplo de la clase anterior la tabla serı́a:

x1 x2 x3 x4 x5 x6
max c 12 9 0 0 0 0 b
1 0 1 0 0 0 1000
A 0 1 0 1 0 0 1500
1 1 0 0 1 0 1750
4 2 0 0 0 1 4800

6 / 62
SIMPLEX: Aproximación conceptual

S OLUCI ÓN B ÁSICA INICIAL

I El algoritmo SIMPLEX inicia en un punto


Maximizar 12x1 + 9x2
extremo de la región factible
Sujeto a x 1 + x3 = 1000
I Normalmente, el punto origen es un punto
x2 + x4 = 1500
extremo y se puede escoger como la solución
x1 + x2 + x5 = 1750
inicial, si ese punto no es una solución básica
4x1 + 2x2 + x6 = 4800
factible, algún otro punto extremo debe ser
x1 , x2 , x3 , x4 , x5 , x6 ≥0
escogido
I Para nuestro ejemplo escogemos x(0) = (0, 0)
que recordemos que significa
I x1 , x2 como no básicas y x1 = x2 = 0 con
solución básica factible x1 = 0, x2 = 0, x3 =
1000, x4 = 1500, x5 = 1750, x6 = 4800

7 / 62
SIMPLEX: Aproximación conceptual

S OLUCI ÓN B ÁSICA INICIAL : M ODO TABULAR

x1 x2 x3 x4 x5 x6
max c 12 9 0 0 0 0 b
1 0 1 0 0 0 1000
A 0 1 0 1 0 0 1500
1 1 0 0 1 0 1750
4 2 0 0 0 1 4800
N N B B B B
x(0) 0 0 1000 1500 1750 4800

8 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX (I)

I Lo que se busca es que el SIMPLEX siga las direcciones que unen el punto
extremo actual con sus puntos adyacentes

9 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX (I)

I Lo que se busca es que el SIMPLEX siga las direcciones que unen el punto
extremo actual con sus puntos adyacentes
I Cada dirección sigue una lı́nea determinada por todas menos una restricción
activa en el punto actual

10 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX (I)

I Lo que se busca es que el SIMPLEX siga las direcciones que unen el punto
extremo actual con sus puntos adyacentes
I Cada dirección sigue una lı́nea determinada por todas menos una restricción
activa en el punto actual
I Las restricciones activas en una solucion básica factible son las restricciones de
no negatividad en las variables no básicas, por lo tanto:

11 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX (I)

I Lo que se busca es que el SIMPLEX siga las direcciones que unen el punto
extremo actual con sus puntos adyacentes
I Cada dirección sigue una lı́nea determinada por todas menos una restricción
activa en el punto actual
I Las restricciones activas en una solucion básica factible son las restricciones de
no negatividad en las variables no básicas, por lo tanto:
Las direcciones SIMPLEX se construyen incrementando una variable no básica, dejando
las otras variables no básicas sin cambiar, y calculando el cambio en las variables básicas
que se necesita para preservar las restricciones de igualdad

12 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX (I)

I Lo que se busca es que el SIMPLEX siga las direcciones que unen el punto
extremo actual con sus puntos adyacentes
I Cada dirección sigue una lı́nea determinada por todas menos una restricción
activa en el punto actual
I Las restricciones activas en una solucion básica factible son las restricciones de
no negatividad en las variables no básicas, por lo tanto:
Las direcciones SIMPLEX se construyen incrementando una variable no básica, dejando
las otras variables no básicas sin cambiar, y calculando el cambio en las variables básicas
que se necesita para preservar las restricciones de igualdad

I Esto significa que 4xj = 1 en la variable no básica que se incrementa, 4xj = 0


en el resto de variables no básicas, y las nuevas variables básicas se computan
resolviendo las condiciones para que la dirección sea factible en las restricciones
de igualdad

13 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX (II)

I Recordemos que, para conservar factibilidad, si una


dirección 4x sigue una restricción de igualdad:

14 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX (II)

I Recordemos que, para conservar factibilidad, si una


dirección 4x sigue una restricción de igualdad:
P P
j aj xj
= b, si y sólo si satisface j aj 4xj = 0, entonces
para nuestro sistema

15 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX (II)

I Recordemos que, para conservar factibilidad, si una


dirección 4x sigue una restricción de igualdad:
P P
j aj xj
= b, si y sólo si satisface j aj 4xj = 0, entonces
para nuestro sistema

Ax = b, cada dirección factible debe satisfacer A4x = 0

16 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX (III)

I Por lo tanto, para nuestro problema ejemplo, el siguiente sistema de ecuaciones


para la dirección SIMPLEX incrementando x1 cuando se fija 4x1 = 1 es:
+1(1) +0(0) +14x3 +04x4 +04x5 +04x6 =0
+0(1) +1(0) +04x3 +14x4 +04x5 +04x6 =0
+1(1) +1(0) +04x3 +04x4 +14x5 +04x6 =0
+4(1) +2(0) +04x3 +04x4 +04x5 +14x6 =0
I Mientras que si se incrementa x2 fijando 4x2 = 1:

+1(0) +0(1) +14x3 +04x4 0 + 4x5 +04x6 =0


+0(0) +1(1) +04x3 +14x4 0 + 4x5 +04x6 =0
+1(0) +1(1) +04x3 +04x4 1 + 4x5 +04x6 =0
+4(0) +2(1) +04x3 +04x4 0 + 4x5 +14x6 =0

17 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX (III)

I Y la forma tabular del SIMPLEX quedarı́a ası́:

x1 x2 x3 x4 x5 x6
max c 12 9 0 0 0 0 b
1 0 1 0 0 0 1000
A 0 1 0 1 0 0 1500
1 1 0 0 1 0 1750
4 2 0 0 0 1 4800
N N B B B B
x(0) 0 0 1000 1500 1750 4800
4x for x1 1 0 −1 0 −1 −4
4x for x2 0 1 0 −1 −1 −2

18 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX: E JERCICIO


I Un problema de minimización LP, en forma estándar, tiene los siguientes datos
en los coeficientes:
x1 x2 x3 x4
min c 2 0 -3 18 b
A 1 -1 2 1 4
1 1 0 3 2
I Asuma que x1 y x3 son básicas, resuelva para la solución básica factible del
problema, y compute todas las direcciones SIMPLEX correspondientes

19 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX: E JERCICIO


I Un problema de minimización LP, en forma estándar, tiene los siguientes datos
en los coeficientes:
x1 x2 x3 x4
min c 2 0 -3 18 b
A 1 -1 2 1 4
1 1 0 3 2
I Asuma que x1 y x3 son básicas, resuelva para la solución básica factible del
problema, y compute todas las direcciones SIMPLEX correspondientes
I Con las variables x2 , x4 = 0, se despejan x1 , x3 y la solución factible es (2, 0, 1, 0)

20 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX: E JERCICIO


I Un problema de minimización LP, en forma estándar, tiene los siguientes datos
en los coeficientes:
x1 x2 x3 x4
min c 2 0 -3 18 b
A 1 -1 2 1 4
1 1 0 3 2
I Asuma que x1 y x3 son básicas, resuelva para la solución básica factible del
problema, y compute todas las direcciones SIMPLEX correspondientes
I Con las variables x2 , x4 = 0, se despejan x1 , x3 y la solución factible es (2, 0, 1, 0)
I Sólo habran dos direcciones posibles, una incrementando la variable no básica x2
y la otra incrementando la variable no básica x4 :

21 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX: E JERCICIO


I Un problema de minimización LP, en forma estándar, tiene los siguientes datos
en los coeficientes:
x1 x2 x3 x4
min c 2 0 -3 18 b
A 1 -1 2 1 4
1 1 0 3 2
I Asuma que x1 y x3 son básicas, resuelva para la solución básica factible del
problema, y compute todas las direcciones SIMPLEX correspondientes
I Con las variables x2 , x4 = 0, se despejan x1 , x3 y la solución factible es (2, 0, 1, 0)
I Sólo habran dos direcciones posibles, una incrementando la variable no básica x2
y la otra incrementando la variable no básica x4 :
I La dirección que incrementa x2 tiene 4x2 = 1, y la otra no básica 4x4 = 0, por lo que hay que
resolver para 4x1 , 4x3 que satisfagan que:
+14x1 − 1(1) + 24x3 + 1(0) = 0
+14x1 + 1(1) + 04x3 + 3(0) = 0

22 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX: E JERCICIO


I Un problema de minimización LP, en forma estándar, tiene los siguientes datos
en los coeficientes:
x1 x2 x3 x4
min c 2 0 -3 18 b
A 1 -1 2 1 4
1 1 0 3 2
I Asuma que x1 y x3 son básicas, resuelva para la solución básica factible del
problema, y compute todas las direcciones SIMPLEX correspondientes
I Con las variables x2 , x4 = 0, se despejan x1 , x3 y la solución factible es (2, 0, 1, 0)
I Sólo habran dos direcciones posibles, una incrementando la variable no básica x2
y la otra incrementando la variable no básica x4 :
I La dirección que incrementa x2 tiene 4x2 = 1, y la otra no básica 4x4 = 0, por lo que hay que
resolver para 4x1 , 4x3 que satisfagan que:
+14x1 − 1(1) + 24x3 + 1(0) = 0
+14x1 + 1(1) + 04x3 + 3(0) = 0
con solución 4x1 = −1, 4x3 = 1, por lo que la dirección de incremento de x2 serı́a
4x = (−1, 1, 1, 0)

23 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX: E JERCICIO


I Un problema de minimización LP, en forma estándar, tiene los siguientes datos
en los coeficientes:
x1 x2 x3 x4
min c 2 0 -3 18 b
A 1 -1 2 1 4
1 1 0 3 2
I Asuma que x1 y x3 son básicas, resuelva para la solución básica factible del
problema, y compute todas las direcciones SIMPLEX correspondientes
I Con las variables x2 , x4 = 0, se despejan x1 , x3 y la solución factible es (2, 0, 1, 0)
I Sólo habran dos direcciones posibles, una incrementando la variable no básica x2
y la otra incrementando la variable no básica x4 :
I La dirección que incrementa x2 tiene 4x2 = 1, y la otra no básica 4x4 = 0, por lo que hay que
resolver para 4x1 , 4x3 que satisfagan que:
+14x1 − 1(1) + 24x3 + 1(0) = 0
+14x1 + 1(1) + 04x3 + 3(0) = 0
con solución 4x1 = −1, 4x3 = 1, por lo que la dirección de incremento de x2 serı́a
4x = (−1, 1, 1, 0)

I Para la dirección de incremento de x4 (es decir, 4x2 = 0, 4x4 = 1), el sistema de ecuaciones es:
+14x1 − 1(0) + 24x3 + 1(1) = 0
+14x1 + 1(0) + 04x3 + 3(1) = 0

24 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES SIMPLEX: E JERCICIO


I Un problema de minimización LP, en forma estándar, tiene los siguientes datos
en los coeficientes:
x1 x2 x3 x4
min c 2 0 -3 18 b
A 1 -1 2 1 4
1 1 0 3 2
I Asuma que x1 y x3 son básicas, resuelva para la solución básica factible del
problema, y compute todas las direcciones SIMPLEX correspondientes
I Con las variables x2 , x4 = 0, se despejan x1 , x3 y la solución factible es (2, 0, 1, 0)
I Sólo habran dos direcciones posibles, una incrementando la variable no básica x2
y la otra incrementando la variable no básica x4 :
I La dirección que incrementa x2 tiene 4x2 = 1, y la otra no básica 4x4 = 0, por lo que hay que
resolver para 4x1 , 4x3 que satisfagan que:
+14x1 − 1(1) + 24x3 + 1(0) = 0
+14x1 + 1(1) + 04x3 + 3(0) = 0
con solución 4x1 = −1, 4x3 = 1, por lo que la dirección de incremento de x2 serı́a
4x = (−1, 1, 1, 0)

I Para la dirección de incremento de x4 (es decir, 4x2 = 0, 4x4 = 1), el sistema de ecuaciones es:
+14x1 − 1(0) + 24x3 + 1(1) = 0
+14x1 + 1(0) + 04x3 + 3(1) = 0
con solución 4x = (−3, 0, 1, 1)

25 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES DE MEJORA

I Ya sabemos las posibles direcciones de las que se puede partir desde nuestra
solución básica sin perder factibilidad

26 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES DE MEJORA

I Ya sabemos las posibles direcciones de las que se puede partir desde nuestra
solución básica sin perder factibilidad
I Lo que sigue ahora es ver si alguna de ellas mejora la función objetivo
f (x) = cT · x = nj=1 cj xj
P

27 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES DE MEJORA

I Ya sabemos las posibles direcciones de las que se puede partir desde nuestra
solución básica sin perder factibilidad
I Lo que sigue ahora es ver si alguna de ellas mejora la función objetivo
f (x) = cT · x = nj=1 cj xj
P

I Recordemos que para verificar que una dirección es de mejora, nos podemos
referir al gradiente de la función objetivo

28 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES DE MEJORA

I Ya sabemos las posibles direcciones de las que se puede partir desde nuestra
solución básica sin perder factibilidad
I Lo que sigue ahora es ver si alguna de ellas mejora la función objetivo
f (x) = cT · x = nj=1 cj xj
P

I Recordemos que para verificar que una dirección es de mejora, nos podemos
referir al gradiente de la función objetivo
I Para una función objetivo f de maximización, la dirección 4x es de mejora
en el punto x si Of (x).4x > 0
I Para una función objetivo f de minimización, la dirección 4x es de mejora
en el punto x si Of (x).4x < 0
I Recordemos también, que el gradiente de una función lineal son sus coeficientes:
Of (x) = c = (c1 , c2 , . . . , cn )

29 / 62
SIMPLEX: Aproximación conceptual

D IRECCIONES DE MEJORA

I Ya sabemos las posibles direcciones de las que se puede partir desde nuestra
solución básica sin perder factibilidad
I Lo que sigue ahora es ver si alguna de ellas mejora la función objetivo
f (x) = cT · x = nj=1 cj xj
P

I Recordemos que para verificar que una dirección es de mejora, nos podemos
referir al gradiente de la función objetivo
I Para una función objetivo f de maximización, la dirección 4x es de mejora
en el punto x si Of (x).4x > 0
I Para una función objetivo f de minimización, la dirección 4x es de mejora
en el punto x si Of (x).4x < 0
I Recordemos también, que el gradiente de una función lineal son sus coeficientes:
Of (x) = c = (c1 , c2 , . . . , cn )
I Las cantidades que se usan para verificar si la dirección es de mejora se llaman
los costos reducidos

30 / 62
SIMPLEX: Aproximación conceptual

C OSTOS REDUCIDOS (I)

El costo reducido c̄j asociado a la variable no básica xj es

c̄j = cT · 4x

donde 4x es la dirección SIMPLEX incrementando xj

31 / 62
SIMPLEX: Aproximación conceptual

C OSTOS REDUCIDOS (I)

El costo reducido c̄j asociado a la variable no básica xj es

c̄j = cT · 4x

donde 4x es la dirección SIMPLEX incrementando xj

La dirección SIMPLEX que incrementa la variable no básica xj es


de mejora para un LP de maximización si el c̄j es > 0 y para un
LP de minimización si c̄j < 0

32 / 62
SIMPLEX: Aproximación conceptual

C OSTOS REDUCIDOS (II)

I Para nuestro ejemplo entonces la dirección que incrementa


x1 nos da:

c̄1 = (12, 9, 0, 0, 0, 0)T · (1, 0, −1, 0, −1, −4) = 12 > 0

33 / 62
SIMPLEX: Aproximación conceptual

C OSTOS REDUCIDOS (II)

I Para nuestro ejemplo entonces la dirección que incrementa


x1 nos da:

c̄1 = (12, 9, 0, 0, 0, 0)T · (1, 0, −1, 0, −1, −4) = 12 > 0


I Y la que incrementa a x2 nos da:
c̄1 = (12, 9, 0, 0, 0, 0)T · (0, 1, 0, −1, −1, −2) = 9 > 0

34 / 62
SIMPLEX: Aproximación conceptual

C OSTOS REDUCIDOS (II)

I Para nuestro ejemplo entonces la dirección que incrementa


x1 nos da:

c̄1 = (12, 9, 0, 0, 0, 0)T · (1, 0, −1, 0, −1, −4) = 12 > 0


I Y la que incrementa a x2 nos da:
c̄1 = (12, 9, 0, 0, 0, 0)T · (0, 1, 0, −1, −1, −2) = 9 > 0
I Como las dos son > 0 para un problema de maximización,
las dos direcciones son de mejora

35 / 62
SIMPLEX: Aproximación conceptual

C OSTOS REDUCIDOS (II)

I Para nuestro ejemplo entonces la dirección que incrementa


x1 nos da:

c̄1 = (12, 9, 0, 0, 0, 0)T · (1, 0, −1, 0, −1, −4) = 12 > 0


I Y la que incrementa a x2 nos da:
c̄1 = (12, 9, 0, 0, 0, 0)T · (0, 1, 0, −1, −1, −2) = 9 > 0
I Como las dos son > 0 para un problema de maximización,
las dos direcciones son de mejora
I Por lo tanto, se escoge arbitrariamente una de ellas

36 / 62
SIMPLEX: Aproximación conceptual

C OSTOS REDUCIDOS : E JERCICIO

I Recordemos el ejercicio de minimización anterior:

x1 x2 x3 x4
min c 2 0 -3 18 b
A 1 -1 2 1 4
1 1 0 3 2
I Recordemos que las direcciones SIMPLEX fueron:
I Dirección de incremento de x2 es 4x = (−1, 1, 1, 0)
I Dirección de incremento de x4 es 4x = (−3, 0, 1, 1)

37 / 62
SIMPLEX: Aproximación conceptual

C OSTOS REDUCIDOS : E JERCICIO

I Recordemos el ejercicio de minimización anterior:

x1 x2 x3 x4
min c 2 0 -3 18 b
A 1 -1 2 1 4
1 1 0 3 2
I Recordemos que las direcciones SIMPLEX fueron:
I Dirección de incremento de x2 es 4x = (−1, 1, 1, 0)
I Dirección de incremento de x4 es 4x = (−3, 0, 1, 1)

I Para la dirección 4x = (−1, 1, 1, 0) (incremento de x2 ):


c̄2 = (2, 0, −3, 18) · (−1, 1, 1, 0) = −5 < 0
I Para la dirección 4x = (−3, 0, 1, 1) (incremento de x3 ):
c̄4 = (2, 0, −3, 18) · (−3, 0, 1, 1) = 9 6< 0

38 / 62
SIMPLEX: Aproximación conceptual

TAMA ÑO DEL PASO

I En nuestro ejemplo, el SIMPLEX podrı́a recorrer cualquiera de las direcciones


SIMPLEX de mejora, la pregunta entonces es cuánto recorrer en esta dirección, o
lo que es lo mismo

39 / 62
SIMPLEX: Aproximación conceptual

TAMA ÑO DEL PASO

I En nuestro ejemplo, el SIMPLEX podrı́a recorrer cualquiera de las direcciones


SIMPLEX de mejora, la pregunta entonces es cuánto recorrer en esta dirección, o
lo que es lo mismo
I Cuál debe ser el tamaño del paso (magnitud) λ a aplicarle a la dirección 4x
escogida?

40 / 62
SIMPLEX: Aproximación conceptual

TAMA ÑO DEL PASO

I En nuestro ejemplo, el SIMPLEX podrı́a recorrer cualquiera de las direcciones


SIMPLEX de mejora, la pregunta entonces es cuánto recorrer en esta dirección, o
lo que es lo mismo
I Cuál debe ser el tamaño del paso (magnitud) λ a aplicarle a la dirección 4x
escogida?
I Se debe tratar de escoger la mayor magnitud que preserve factibilidad y mejore
el valor de la función objetivo

41 / 62
SIMPLEX: Aproximación conceptual

TAMA ÑO DEL PASO

I En nuestro ejemplo, el SIMPLEX podrı́a recorrer cualquiera de las direcciones


SIMPLEX de mejora, la pregunta entonces es cuánto recorrer en esta dirección, o
lo que es lo mismo
I Cuál debe ser el tamaño del paso (magnitud) λ a aplicarle a la dirección 4x
escogida?
I Se debe tratar de escoger la mayor magnitud que preserve factibilidad y mejore
el valor de la función objetivo
I Como todas nuestras restricciones son igualdades y las direcciones escogidas
siempre las cumplen, el lı́mite en el tamaño del paso λ viene de la violación de
una restricción de no negatividad

42 / 62
SIMPLEX: Aproximación conceptual

TAMA ÑO DEL PASO

I En nuestro ejemplo, el SIMPLEX podrı́a recorrer cualquiera de las direcciones


SIMPLEX de mejora, la pregunta entonces es cuánto recorrer en esta dirección, o
lo que es lo mismo
I Cuál debe ser el tamaño del paso (magnitud) λ a aplicarle a la dirección 4x
escogida?
I Se debe tratar de escoger la mayor magnitud que preserve factibilidad y mejore
el valor de la función objetivo
I Como todas nuestras restricciones son igualdades y las direcciones escogidas
siempre las cumplen, el lı́mite en el tamaño del paso λ viene de la violación de
una restricción de no negatividad
I Como la no factibilidad sólo puede ocurrir si algún componente de la solución
escogida es negativo; el primer componente de la solución que se vuelve cero es
el que fija el valor λ

43 / 62
SIMPLEX: Aproximación conceptual

TAMA ÑO DEL PASO : I NTERPRETACI ÓN GR ÁFICA


x1≥0
z=12x1+9x2

x6≥
x3≥0
2000

0 x4≥0

x5
≥0

x2≥0
2000
λ

44 / 62
SIMPLEX: Aproximación conceptual

TAMA ÑO DEL PASO : R EGLA DE LA RAZ ÓN M ÍNIMA

I Si algún componente es negativo en una dirección de


mejora 4x de la actual solución básica x(t) , la búsqueda
SIMPLEX usa el máximo paso (magnitud) posible de el
cálculo de la razón mı́nima
 (t) 
xj
λ = min −4xj : 4xj < 0
I Si, por el contrario, ningún componente es negativo en la
dirección SIMPLEX de mejora 4x de la solución actual x(t) ,
entonces la solución puede ser infinitamente mejorada por
lo que el LP es no acotado

45 / 62
SIMPLEX: Aproximación conceptual

R EGLA DE LA RAZ ÓN M ÍNIMA : I LUSTRACI ÓN

I Digamos que en nuestro ejemplo, escogimos arbitrariamente incrementar x1 en


x(0) , entonces 4x = (1, 0, −1, 0, −1, −4)

46 / 62
SIMPLEX: Aproximación conceptual

R EGLA DE LA RAZ ÓN M ÍNIMA : I LUSTRACI ÓN

I Digamos que en nuestro ejemplo, escogimos arbitrariamente incrementar x1 en


x(0) , entonces 4x = (1, 0, −1, 0, −1, −4)
I Para decider el máximo tamaño del paso (el valor de λ), añadimos una fila a
nuestra tabla que compute el paso al que cada componente será = 0

47 / 62
SIMPLEX: Aproximación conceptual

R EGLA DE LA RAZ ÓN M ÍNIMA : I LUSTRACI ÓN

I Digamos que en nuestro ejemplo, escogimos arbitrariamente incrementar x1 en


x(0) , entonces 4x = (1, 0, −1, 0, −1, −4)
I Para decider el máximo tamaño del paso (el valor de λ), añadimos una fila a
nuestra tabla que compute el paso al que cada componente será = 0
x1 x2 x3 x4 x5 x6
N N B B B B
x(0) 0 0 1000 1500 1750 4800
4x for x1 1 0 −1 0 −1 −4
1000 1750 4800
– – −(−1)
– −(−1) −(−4)
n o
I Por lo que λ = min 1000 1750 4800
1
, 1 , 4 = 1000

48 / 62
SIMPLEX: Aproximación conceptual

R EGLA DE LA RAZ ÓN M ÍNIMA : I LUSTRACI ÓN

I Digamos que en nuestro ejemplo, escogimos arbitrariamente incrementar x1 en


x(0) , entonces 4x = (1, 0, −1, 0, −1, −4)
I Para decider el máximo tamaño del paso (el valor de λ), añadimos una fila a
nuestra tabla que compute el paso al que cada componente será = 0
x1 x2 x3 x4 x5 x6
N N B B B B
x(0) 0 0 1000 1500 1750 4800
4x for x1 1 0 −1 0 −1 −4
1000 1750 4800
– – −(−1)
– −(−1) −(−4)
n o
I Por lo que λ = min 1000 1750 4800
1
, 1 , 4 = 1000
I Nuestra nueva solución es entonces

x(1) ← x(0) + λ4x


= (0, 0, 1000, 1500, 1750, 4800) + 1000(1, 0, −1, 0, −1, −4)
= (1000, 0, 0, 1500, 750, 800)

49 / 62
SIMPLEX: Aproximación conceptual

A CTUALIZACI ÓN DE LA BASE

I En cada iteración del algoritmo SIMPLEX, la variable no


básica que genera la dirección SIMPLEX de mejora
escogida se convierte en variable básica (entra a la base), y
una de las variables básicas se convierte en no básica

50 / 62
SIMPLEX: Aproximación conceptual

A CTUALIZACI ÓN DE LA BASE

I En cada iteración del algoritmo SIMPLEX, la variable no


básica que genera la dirección SIMPLEX de mejora
escogida se convierte en variable básica (entra a la base), y
una de las variables básicas se convierte en no básica
I En nuestro ejemplo x1 pasó de ser no básica a ser básica
mientras que x3 pasó de ser básica a ser no básica

51 / 62
SIMPLEX: Aproximación conceptual

A CTUALIZACI ÓN DE LA BASE

I En cada iteración del algoritmo SIMPLEX, la variable no


básica que genera la dirección SIMPLEX de mejora
escogida se convierte en variable básica (entra a la base), y
una de las variables básicas se convierte en no básica
I En nuestro ejemplo x1 pasó de ser no básica a ser básica
mientras que x3 pasó de ser básica a ser no básica
I El algoritmo SIMPLEX termina cuando no es posible hayar
una dirección de mejora, en ese caso, el punto en que nos
hayamos es el óptimo global del problema

52 / 62
SIMPLEX: Aproximación conceptual

A LGORITMO SIMPLEX: PSEUDOC ÓDIGO


Inicialización → Escoja cualquier solución base, y construya una solución básica
x(0) , asigne t ← 0

53 / 62
SIMPLEX: Aproximación conceptual

A LGORITMO SIMPLEX: PSEUDOC ÓDIGO


Inicialización → Escoja cualquier solución base, y construya una solución básica
x(0) , asigne t ← 0
Paso 1 (Direcciones SIMPLEX) → Construya la dirección SIMPLEX 4x asociada
con cada variable no básica xj a incrementar y calcule el cósto reducido
correspondiente c̄j = cT · 4x

54 / 62
SIMPLEX: Aproximación conceptual

A LGORITMO SIMPLEX: PSEUDOC ÓDIGO


Inicialización → Escoja cualquier solución base, y construya una solución básica
x(0) , asigne t ← 0
Paso 1 (Direcciones SIMPLEX) → Construya la dirección SIMPLEX 4x asociada
con cada variable no básica xj a incrementar y calcule el cósto reducido
correspondiente c̄j = cT · 4x
Paso 2 (Optimalidad) → Si no hay una dirección SIMPLEX de mejora para la
solución (ningún c̄j > 0 para un problema de maximización, ó ningún c̄j < 0 para
un problema de minimización), entonces pare, la solución actual x(t) es óptima.
En cualquier otro caso, escoja una dirección SIMPLEX 4x(t+1) y denote la
variable básica entrante asociada xp

55 / 62
SIMPLEX: Aproximación conceptual

A LGORITMO SIMPLEX: PSEUDOC ÓDIGO


Inicialización → Escoja cualquier solución base, y construya una solución básica
x(0) , asigne t ← 0
Paso 1 (Direcciones SIMPLEX) → Construya la dirección SIMPLEX 4x asociada
con cada variable no básica xj a incrementar y calcule el cósto reducido
correspondiente c̄j = cT · 4x
Paso 2 (Optimalidad) → Si no hay una dirección SIMPLEX de mejora para la
solución (ningún c̄j > 0 para un problema de maximización, ó ningún c̄j < 0 para
un problema de minimización), entonces pare, la solución actual x(t) es óptima.
En cualquier otro caso, escoja una dirección SIMPLEX 4x(t+1) y denote la
variable básica entrante asociada xp
Paso 3 (Tamaño del paso) → Si no hay lı́mite en los movimientos factibles de la
dirección 4x(t+1) , pare, el modelo es no acotado. De lo contrario, escoja la
variable básica saliente xr , de tal manera que
( (t)
)
(t) xj (t)
xr xr
(t+1) = min (t+1) : 4xj < 0 y asigne λ ← (t+1)
−xr −4xj −xr

56 / 62
SIMPLEX: Aproximación conceptual

A LGORITMO SIMPLEX: PSEUDOC ÓDIGO


Inicialización → Escoja cualquier solución base, y construya una solución básica
x(0) , asigne t ← 0
Paso 1 (Direcciones SIMPLEX) → Construya la dirección SIMPLEX 4x asociada
con cada variable no básica xj a incrementar y calcule el cósto reducido
correspondiente c̄j = cT · 4x
Paso 2 (Optimalidad) → Si no hay una dirección SIMPLEX de mejora para la
solución (ningún c̄j > 0 para un problema de maximización, ó ningún c̄j < 0 para
un problema de minimización), entonces pare, la solución actual x(t) es óptima.
En cualquier otro caso, escoja una dirección SIMPLEX 4x(t+1) y denote la
variable básica entrante asociada xp
Paso 3 (Tamaño del paso) → Si no hay lı́mite en los movimientos factibles de la
dirección 4x(t+1) , pare, el modelo es no acotado. De lo contrario, escoja la
variable básica saliente xr , de tal manera que
( (t)
)
(t) xj (t)
xr xr
(t+1) = min (t+1) : 4xj < 0 y asigne λ ← (t+1)
−xr −4xj −xr
Paso 4 (Actualice solución y base) → Calcule la nueva solución
x(t+1) ← x(t) + λ4x(t+1)
y actualice la base ingresando a xp y sacando a xr . Avance t ← t + 1 y regrese al
paso 1

57 / 62
SIMPLEX: Aproximación conceptual

P ROCESO COMPLETO EN EJEMPLO


x1 x2 x3 x4 x5 x6
max c 12 9 0 0 0 0 b
1 0 1 0 0 0 1000
A 0 1 0 1 0 0 1500
1 1 0 0 1 0 1750
4 2 0 0 0 1 4800
t=0 N N B B B B
x(0) 0 0 1000 1500 1750 4800 cT · x(0) = 0
4x for x1 1 0 −1 0 −1 −4 c̄1 = 12
4x for x2 0 1 0 −1 −1 −2 c̄2 = 9
– – 1000 – 1750 4800 λ = 1000
−(−1) −(−1) −(−4)

58 / 62
SIMPLEX: Aproximación conceptual

P ROCESO COMPLETO EN EJEMPLO


x1 x2 x3 x4 x5 x6
max c 12 9 0 0 0 0 b
1 0 1 0 0 0 1000
A 0 1 0 1 0 0 1500
1 1 0 0 1 0 1750
4 2 0 0 0 1 4800
t=0 N N B B B B
x(0) 0 0 1000 1500 1750 4800 cT · x(0) = 0
4x for x1 1 0 −1 0 −1 −4 c̄1 = 12
4x for x2 0 1 0 −1 −1 −2 c̄2 = 9
– – 1000 – 1750 4800 λ = 1000
−(−1) −(−1) −(−4)
t=1 B N N B B B
x(1) 1000 0 0 1500 750 800 cT · x(1) = 12000
4x for x2 0 1 0 −1 −1 −2 c̄2 = 9
4x for x3 −1 0 1 0 1 4 c̄3 = −12
– – – 1500 750 800 λ = 400
−(−1) −(−1) −(−2)

59 / 62
SIMPLEX: Aproximación conceptual

P ROCESO COMPLETO EN EJEMPLO


x1 x2 x3 x4 x5 x6
max c 12 9 0 0 0 0 b
1 0 1 0 0 0 1000
A 0 1 0 1 0 0 1500
1 1 0 0 1 0 1750
4 2 0 0 0 1 4800
t=0 N N B B B B
x(0) 0 0 1000 1500 1750 4800 cT · x(0) = 0
4x for x1 1 0 −1 0 −1 −4 c̄1 = 12
4x for x2 0 1 0 −1 −1 −2 c̄2 = 9
– – 1000 – 1750 4800 λ = 1000
−(−1) −(−1) −(−4)
t=1 B N N B B B
x(1) 1000 0 0 1500 750 800 cT · x(1) = 12000
4x for x2 0 1 0 −1 −1 −2 c̄2 = 9
4x for x3 −1 0 1 0 1 4 c̄3 = −12
– – – 1500 750 800 λ = 400
−(−1) −(−1) −(−2)
t=2 B B N B B N
x(2) 1000 400 0 1100 350 0 cT · x(2) = 15600
4x for x3 −1 2 1 −2 −1 0 c̄3 = 6
4x for x6 0 −0,5 0 0,5 0,5 1 c̄6 = −4,5
1000 – – 1100 350 – λ = 350
−(−1) −(−2) −(−1)

60 / 62
SIMPLEX: Aproximación conceptual

P ROCESO COMPLETO EN EJEMPLO


x1 x2 x3 x4 x5 x6
max c 12 9 0 0 0 0 b
1 0 1 0 0 0 1000
A 0 1 0 1 0 0 1500
1 1 0 0 1 0 1750
4 2 0 0 0 1 4800
t=0 N N B B B B
x(0) 0 0 1000 1500 1750 4800 cT · x(0) = 0
4x for x1 1 0 −1 0 −1 −4 c̄1 = 12
4x for x2 0 1 0 −1 −1 −2 c̄2 = 9
– – 1000 – 1750 4800 λ = 1000
−(−1) −(−1) −(−4)
t=1 B N N B B B
x(1) 1000 0 0 1500 750 800 cT · x(1) = 12000
4x for x2 0 1 0 −1 −1 −2 c̄2 = 9
4x for x3 −1 0 1 0 1 4 c̄3 = −12
– – – 1500 750 800 λ = 400
−(−1) −(−1) −(−2)
t=2 B B N B B N
x(2) 1000 400 0 1100 350 0 cT · x(2) = 15600
4x for x3 −1 2 1 −2 −1 0 c̄3 = 6
4x for x6 0 −0,5 0 0,5 0,5 1 c̄6 = −4,5
1000 – – 1100 350 – λ = 350
−(−1) −(−2) −(−1)
t=3 B B B B N N
x(3) 650 1100 350 400 0 0 cT · x(3) = 17700
4x for x5 1 −2 −1 2 1 0 c̄5 = −6
4x for x6 0 −0,5 0 0,5 0,5 1 c̄6 = −1,5
Óptimo

61 / 62
SIMPLEX: Aproximación conceptual

P ROCESO COMPLETO : I LUSTRACI ÓN G R ÁFICA


x2
x1≥0
z=12x1+9x2

4x1
x1≤1000

+2x
2000

2≤
0048 x2≤1500
Óptimo

1000

x1
+x
2 ≤1
75
0

x2≥0
1000 2000 x1
62 / 62

S-ar putea să vă placă și