EL MÉTODO DUAL SIMPLEX

Como sabemos, el método simplex es un algoritmo iterativo que iniciando en una solución básica factible pero no óptima, genera soluciones básicas factibles cada vez mejores hasta encontrar la solución óptima (sí esta existe). Nótese que la base de su lógica es mantener la factibilidad, mientras busca la optimalidad. Pero surge la posibilidad de usar otro esquema igualmente iterativo, que como contraparte del simplex, comienza en una solución básica óptima, pero no factible y mantiene la inmejorabilidad mientras busca la factibilidad. Con este procedimiento se llega igualmente a la solución óptima.

El nuevo algoritmo fue desarrollo en 1954 por C. E. Lemke y se conoce con el nombre de Método Dual-Simplex. A continuación se presenta su estructura y un ejemplo para ilustrar su aplicación.

 

Algoritmo Dual-Simplex para un modelo de maximización

Introducción

Primero se debe expresar el modelo en formato estándar, agregando las variables de holgura y de exceso que se requieran.
Enseguida, en las ecuaciones que tengan variables de exceso (resultantes de restricciones de tipo >), se debe multiplicar por (-1) en ambos lados , para hacer positivo el coeficiente de la variable de exceso, y formar así un vector unitario que nos permita tomar esta variable de exceso como una variable básica inicial. sin necesidad de agregar una variable artificial en esa restricción.

Al hacer lo anterior se logra que debajo de las variables básicas aparezca una matriz identidad, que es la que el simplex siempre toma como base inicial.

Obtendremos que los términos del lado derecho de las ecuaciones multiplicadas por (-1) quedan con signo negativo, lo cual hace que la solución inicial sea infactible.

Es importante destacar que este proceso es muy útil ya que en muchos modelos evita la inclusión de variables artificiales en el momento de transformar un modelo a formato estándar.

El algoritmo para resolver un modelo de maximización es el siguiente:

Paso 1: Hallar una solución básica inicial infactible e inmejorable

Escribir el tablero inicial tomando a las variables de holgura y de exceso como variables
básicas iniciales

Paso 2: Prueba de factibilidad

  1. Si todas las variables básicas son no negatívas, la actual solución es la óptima.

  2. Si hay al menos una variable básica negativa, seleccionar como variable de salida,
    ( llamémosla (XB)s ), a aquella con el valor mas negativo. Los empates se pueden
    romper arbitrariamente.

Paso 3: Prueba de inmejorabilidad

  1. Sí en el renglón de la variable básica de salida (XB)s todos los coeficientes de reemplazo con las variables no básicas son no negativos, la solución del modelo es óptima ¡limitada. Se termina el proceso.

    Si en el renglón de la variable básica de salida (XB)s, hay al menos un coeficiente de intercambio negativo , se efectúan los cocientes entre el efecto neto de cada variable no básicas y su correspondientel coeficiente de intercambio negativo.

    Es decir, siendo (XB)s la variable de salida se calculan todos los cocientes


Se toma como variable de entrada ( llamémosla Xe ) a aquella que corresponda al mínimo de los cocientes del anterior conjunto

Si la variable de entrada es Xe el elemento pivote será el elemento (Se)s

El empate se puede romper arbitrariamente.

  1. Aplicar la operación de pivoteo para generar la nueva tabla, en la cual aparezca Xe como variable básica en lugar de la variable de salida (XB)s

  2. Repetir el algoritmo a partir del paso 2.


Ejemplo de aplicación del Método Dual Simplex

Sea el siguiente modelo:

Maximizar

Z=

-2X1

-2X2

-3X3

 

Sujeto a :

2X1

+4X2

+2X3

>

10

 

 

3X1

-3X2

+9X3

=

12

             

 

con

X1, X2, X3 > 0

Expresemos el modelo en formato estándar

Maximizar

Z=

-2X1

-2X2

-3X3

 

 

 

Sujeto a :

2X1

+4X2

+2X3

-IE1

 

=

10

 

 

3X1

-3X2

+9X3

 

-IE2

=

12

multipliquemos por (-1) en ambos lados de las ecuaciones, para formar los vectores unitarios, requeridos para contar con una base inicial unitaria.

Maximizar

Z=

-2X1

-2X2

-3X3

 

 

 

Sujeto a :

-2X1

-4X2

-2X3

+IE1

 

=

-10

 

 

-3X1

+3X2

-9X3

 

+IE2

=

-12

paso 1.

Tomando las variables básicas iniciales hacemos lo siguiente:

Cj -2 -2 -3 0 0 XB  
CB X1 X2 X3 E1 E2 Solución Básicas
0 -2 -4 -2 1 0
-10
E1
0
-3
3
-9
0
1
-12
E2
Zj
0
0
0
0
0
0
 
Ej
-2
-2
-3
0
0
0
Z

Paso 2

Sale E2 = (XB)2 o sea s = 2

Paso 3

  1. Calculando los cocientes para todo (Sj)2 < 0 obtenemos:

o sea que X3 es la variable de entrada( entonces e = 3) y el elemento pivote es el (Se)s = (S3)2 = -9

  1. Efectuando el pivoteo obtenemos la tabla siguiente:

Tabla 1 (maximizar)

Cj -2 -2 -3 0 0 XB  
CB X1 X2 X3 E1 E2 Solución Básicas
0 -4/3 -14/3 0 1 -2/9
-22/3
E1
-3
-1/3
-1/3
1
0
-1/9
4/3
X3
Zj
-1
1
-3
0
1/3
 
Ej
-1
-3
0
0
-1/3
-4
Z

 

  1. Repitiendo el algoritmo desde el paso 1, obtenemos:

    sale E1 = (XB)1 y entra X2 por lo cual obtenemos la siguiente tabla

Tabla 2

Cj -2 -2 -3 0 0 XB  
CB X1 X2 X3 E1 E2 Solución Básicas
-2 2/7 1 0 -3/14 1/21
11/7
X2
-3
3/7
0
1
-1/14
-2/21
13/7
X3
Zj
-13/7
1
-3
-9/14
4/21
 
Ej
-1/7
0
0
-9/14
-4/21
-61/7
Z


Como se observa, ahora estamos en el óptimo.
En definitiva:

X2* = 11/7
X3* = 13/7
Z* = - 61/7

Otro ejemplo:

Resolver el siguiente modelo usando el método Dual-Simplex

Minimizar

Z=

2X1

+ 2X2

 

 

Sujeto a :

3X1

+X2

 

>

10

 

 

4X1

+3X2

 

>

12

 

 

X1

+2X

 

<  

 

con

X1, X2 > 0

Expresando el modelo en formato estándar y ajustándolo para que las variables básicas sean las variables de holgura tenemos:

Minimizar

Z=

2X1

+ 2X2

 

 

 

 

 

Sujeto a :

-3X1

-X2

+IE1

 

 

=

-3

 

 

-4X1

-3X2

 

+IE2

 

=

-6

 

 

X1

+2X

 

 

+IE3

=

3

Usando el método Dual Simplex obtenemos, sucesivamente:

Tabla 0

Basicas

X1
X2
E1
E2
H3
Solución

E1

-3
-1
1
0
0
-3

E2

-4
-3
0
1
0
-6

H3

1
2
0
0
1
3

Ej

2
1
0
0
0
0

Sale E2

Entonces los cocientes son


Nota: Obsérvese que cuando el objetivo es minimizar, se toma el valor absoluto de los cocientes.

Tabla 1

Basicas

X1
X2
E1
E2
H3
Solución

E1

-5/3
0
1
-1/3
0
-1

E2

4/3
1
0
-1/3
0
2

H3

-5/3
0
0
2/3
1
-1

Ej

2
0
0
1/3
0
2

 

Sale H1
Los cocientes son:

Tabla 2 (óptima)

Basicas

X1
X2
E1
E2
H3
Solución

E1

1
0
-3/5
1/5
0
3/5

E2

0
1
4/5
-3/5
0
6/5

H3

0
0
-1
1
1
0

Ej

0
0
2/5
1/5
0
12/5

La solución óptima es X1 = 3/5, X2 = 6/5 ; Z = 12/5

En la gráfica observamos el camino que realmente siguió el algoritmo para pasar de la solución infactible con valor Z= 0 a la solución factible óptima con valor Z = 12/5.

La aplicación del método simplex dual es especialmente útil en el análisis de sensibilidad. Se usa cuando después de haber obtenido la solución óptima, se desea agregar una nueva restricción al modelo si la nueva restricción no se cumple.

En este caso se obtiene que para los valores óptimos de las variables de decisión, la solución permanece óptima pero se convierte en infactible. Surge entonces la necesidad de aplicar el algoritmo Dual-Simplex para extraer la variable básica que tiene valor infactible. Cuando estudiemos el tema de análisis de sensibilidad analizaremos un caso como el citado.

Teorema de Holgura complementaria Home - Página Inicial Home - Página Inicial