Está en la página 1de 7

Solución Degenerada o Degradada

Las soluciones básicas son aquellas que tienen por lo menos “n-m” variables iguales a
cero. Las soluciones básicas convencionales tienen exactamente “n-m” variables nulas.

(n= v. reales + Slacks, y m= cantidad de restricciones)

Puede ocurrir que las bases tengan una cantidad mayor de variables iguales a cero.
Entonces se dicen que son soluciones “degeneradas” o “degradadas”.

En el siguiente gráfico, corresponde a un problema con 2 variables y 3 restricciones,


el punto B constituye una solución degenerada. Se encuentran anuladas 3 variables.

Este tipo de solución podría presentar el inconveniente de que se forme un lazo cerrado
antes de encontrar la solución óptima al problema.

En el procedimiento Simplex, consiste en pasar de una base a otra ingresando una


variable y sacando otra. En la gráfica, al pasar del origen de coordenadas al punto B, si
el óptimo no se encuentra en ese punto, el método debe optar por la eliminación de
una de las variables a salir ( x 4 o x 5)

Para el procedimiento es como si la base B estuviera dividida en tres soluciones B1 , B2y


3
B tal como se indica:

B nulas x 2 y x 4
1

B nulas x 2 y x 5
2

B nulas x 4 y x 5
3

Si se eligiera anular la variable correspondiente a la recta en donde se encuentra la
próxima base ( x 5) podría ocurrir 2 cosas:

a. Que en la siguiente iteración se pase a la próxima base en el proceso de


iteración (C ):

b. Que en la siguiente iteración el proceso se quede en la misma base B, es decir,


que se pase al punto B3 . Si esto ocurriera, la próxima iteración llevaría al punto
1 2 3
B la próxima al B luego al B y de este modo el ciclo se repetiría indefinidamente
sin salir nunca de la solución B.
En realidad la probabilidad de un “loop” es muy baja, pero existe; de manera que habría
que evitar que se anule la variable que también es nula en la próxima base del proceso.

En este caso no habría que anular el primer x 5, ya que en la próxima base (C) también

es nula x 5

Si, en cambio, se elige anular primero la variable que no está desactivada en la


próxima solución ( x 4 ), ocurrirá: Primero se anula x 4 ( B1), luego se anula x 5 ( B2) y
finalmente se cambia de base y se pasa al punto C. De esta forma, se va a iterar dos
veces en el punto B, pero nos aseguramos que no se va a entrar en un lazo cerrado.

En el simplex, la solución degenerada se detecta en la base anterior al observar que


existe un empate de θ. Esto implica que existe más de una variable candidata a salir
(x4 y x5). Si se estuviera resolviendo el Simplex en forma manual, se podría elegir
cualquiera de ellas. En el eventual caso de que se detecte un “loop” con la elección que
se tomó, habría que seleccionar a la otra.

Para resolver este inconveniente existen algoritmos de protección:

i. Se toman las filas de las variables candidatas a salir de la base


ii. Cada una de las filas se divide por el pivote que le correspondería si la
variable de la fila fuera la que sale de la base.
iii. Se comparan los coeficientes de las filas de izquierda a derecha hasta
encontrar la primera desigualdad.
iv. Debe salir de la base la variable que está en la fila en donde el coeficiente de
la primera desigualdad encontrada es menor (de manera absoluta)

Ejemplo

{
2 x+ 5 y ≤ 20
Sujeto a : 10 x +4 y ≤ 40
7
MAX : z=4 x+ y 3
2 x + y ≤6
2
C on x , y ≥ 0 y continuas

Simplex

x y S1 S2 S3 b θ
S1 2 5 1 0 0 20 10

 S2 10 4 0 1 0 40 4

 S3 3/2 1 0 0 1 6 4

Z -4 -7/2 0 0 0 0

La variable que debe ingresar a la base es x, pero existe un empate en θ=4 ( s2 y s3 ). Se


sabe que la próxima base será degenerada.

 Aplicamos el algoritmo de protección

 S2 10 4 0 1 0 40 4
 S3 3/2 1 0 0 1 6 4

Hallamos el Pivote de cada fila como si fueran las variables de salida.

1
∗F
10 2 S2 1 2/5 0 1/10 0 4

2
∗F S3 1 2/3 0 0 2/3 4
3 3
Miramos de izquierda a derecha y observamos la primera desigualdad que aparece y se

elige la que tiene menor valor absoluto. ( 25 < 23 ). Variable de salida es s2

1
∗F
10 2

x y S1 S2 S3 b θ

F 1−2∗F 2 S1 0 21/5 1 -1/5 0 12 20/7

X 1 2/5 0 1/10 0 4 10

3
F 3− ∗F2
2 S3 0 2/5 0 -3/20 1 0 0

F 4 +4∗F 2 z 0 -19/10 0 2/5 0 16

( x , y , s1 , s 2 , s 3 )= ( 4 , 0 , 12 ,0 ,0 ) ; z=16

Es una base degradada ya que una de las variables básicas adopta valor nulo ( s3 )

5
∗F
2 3

x y S1 S2 S3 b θ
21
F 1− ∗F 3
5 S1 0 0 1 11/8 -21/2 12 96/11

2
F 2− ∗F 3 X 1 0 0 1/4 -1 4 16
5

y 0 1 0 -3/8 5/2 0 0

19
F4+ ∗F
10 3 z 0 0 0 -5/16 19/4 16

( x , y , s1 , s 2 , s 3 )= ( 4 , 0 , 12 ,0 ,0 ) ; z=16

Estamos en la misma base degradada, en este caso la variable básica nula es y.


8
∗F
11 1

x y S1 S2 S3 b θ
S1 0 0 8/11 1 -84/11 96/11

1
F 2− ∗F 1 X 1 0 0 0 10/11 20/11
4
3
F 3+ ∗F 1 S3 0 1 0 0 -4/11 36/11
8
5 206/1
F4+ ∗F 1 z 0 0 0 0 26/11
16 1

( 20 36
)
96 206
( x , y , s1 , s 2 , s 3 )= 11 , 11 , 0 , 11 ,0 ; z= 11

Si en el primer paso se hubiera elegido eliminar s3 , en lugar de s2 , se hubiera ahorrado


la doble iteración en el punto B, pero se hubiera corrido el riesgo de entrar en un lazo
cerrado

Tal como se puede visualizar, al punto B concurren las rectas correspondientes a dos
restricciones, y además se encuentra sobre el eje correspondiente a y=0. Es decir, en
ese punto hay más de “n-m” variables nulas.

También podría gustarte