You are on page 1of 7

12.1.

EL MODELO DUAL

A todo programa lineal, llamado problema primal, le corresponde otro que se


denomina problema dual. Las relaciones existentes entre ambos problemas son las
siguientes:

• El dual tiene tantas variables como restricciones existen en el primal.

• El dual tiene tantas restricciones como variables tiene el primal.

• Los coeficientes de la función objetivo del primal son los términos


independientes de las restricciones del dual.

• Los términos independientes de las restricciones del primal son los


coeficientes en la función objetivo del dual.

• La matriz de coeficientes de las restricciones del dual es igual a la


traspuesta de la del primal.

Se pueden distinguir dos tipos de problemas duales:

1. Duales simétricos: para primales que incluyan restricciones de


desigualdad.

2. Duales asimétricos: para primales en forma estándar, es decir, con


restricciones de igualdad.

Otro tipo de relaciones entre los problemas primal y dual son las siguientes:

31
• Para duales simétricos el sentido de desigualdad de las restricciones del
dual es inverso al de las del primal; mientras que para asimétricos, las
restricciones del dual son de sentido menor o igual en caso de que el
problema primal sea de minimización, y de mayor o igual en caso de
maximización. Además, las variables del dual, variables duales, no están
sujetas a la condición de no negatividad.

• El problema dual de uno de minimización es de maximización y


viceversa.

• El dual del programa dual es el primal.

Primal: max f ( X ) = c1 x1 +  + cn xn
s.a.: a11 x1 +  + a1n xn ≤ b1

am1 x1 +  + amn xn ≤ bm
xi ≥ 0, i = 1,  , n

Dual: min g (Y ) = b1 y1 +  + bm ym
s.a.: a11 y1 +  + am1 ym ≥ c1

a1n y1 +  + amn ym ≥ cn
yi ≥ 0, i = 1,  , m

Se pueden resumir primal y dual en un cuadro como el que sigue, donde el primal
se lee verticalmente y el dual de forma horizontal:

32
PROGRAMAS PRIMAL (MAX.)
a11 a12  a1n x1 ≥ 0 ≤ b1
DUAL (MIN.)       
am1 am 2  amn xn ≥ 0 ≤ bm
y1 ≥ 0 y2 ≥ 0  ym ≥ 0 variables
≥ ≥  ≥ relación
c1 c2  cn constantes

1. Duales asimétricos:

a) Primal: max f ( X ) = c1 x1 +  + cn xn
s.a.: a11 x1 +  + a1n x n = b1

a m1 x1 +  + a mn x n = bm
xi ≥ 0, i = 1,  , n

Dual: min g (Y ) = b1 y1 +  + bm ym
s.a.: a11 y1 +  + am1 ym ≥ c1

a1n y1 +  + amn ym ≥ cn
y i , i = 1,  , m , no restringidas en signo

b) Primal: min f ( X ) = c1 x1 +  + cn xn
s.a.: a11 x1 +  + a1n x n = b1

a m1 x1 +  + a mn x n = bm
xi ≥ 0, i = 1,  , n

Dual: max g (Y ) = b1 y1 +  + bm ym
s.a.: a11 y1 +  + a m1 y m ≤ c1

a1n y1 +  + a mn y m ≤ c n
y i , i = 1,  , m , no restringidas en signo

33
La tabla anterior queda ahora de la siguiente forma:

PROGRAMAS PRIMAL MAX. (MIN.)


a11 a12  a1n x1 ≥ 0 = b1
DUAL MIN.
      
(MAX.)
am1 am 2  amn xn ≥ 0 = bm
y1 y2  ym variables
≥ (≤ ) ≥ (≤ )  ≥ (≤ ) relación
c1 c2  cn constantes

Nota:

Sin distinguir en el caso de duales simétricos o asimétricos, podemos formular una


tabla general, que reúne las relaciones entre el problema primal y dual, sea cual sea
su formulación:

Problema de Problema de
minimización maximización
≥0 ≤
VARIABLES ≤0 ≥ RESTRICCIONES
no restringidas =
≥ ≥0
RESTRICCIONES ≤ ≤0 VARIABLES
= no restringidas

La ventaja de esta tabla es que se puede leer de derecha a izquierda o viceversa,


según el problema primal sea de maximización o minimización, respectivamente.
Además, en el problema primal pueden darse diferentes combinaciones en cuanto
al sentido de sus desigualdades o al signo de sus variables.

34
Ejemplos:

1. Primal: max 2 x1 + x2
s.a.: x1 + 5 x2 ≤ 10
x1 + 3 x2 ≤ 6
2 x1 + 2 x2 ≤ 8
x1 , x2 ≥ 0

Como el primal es de maximización, el dual será de minimización, por lo


que leemos la última tabla de derecha a izquierda. Esto nos dice que por ser
todas las restricciones de menor o igual, las variables duales serán de signo
no negativo; además por ser las variables primales no negativas, todas las
restricciones duales serán de mayor o igual. El problema dual quedará por
lo tanto como:

Dual min 10 y1 + 6 y2 + 8 y3
s.a.: y1 + y2 + 2 y3 ≥ 2
5 y1 + 3 y2 + 2 y3 ≥ 1
y1 , y2 , y3 ≥ 0

2. Primal min 5 x1 + 2 x2 + x3
s.a.: 2 x1 + 3 x2 + x3 ≥ 20
6 x1 + 8 x2 + 5 x3 ≥ 30
7 x1 + x2 + 3 x3 ≥ 40
x1 + 2 x2 + 4 x3 ≥ 50
x1 , x2 , x3 ≥ 0

En este caso, leemos la tabla de izquierda a derecha, resultando el dual:

Dual max 20 y1 + 30 y2 + 40 y3 + 50 y4
s.a.: 2 y1 + 6 y2 + 7 y3 + y4 ≤ 5
3 y1 + 8 y2 + y3 + 2 y4 ≤ 2
y1 + 5 y2 + 3 y3 + 4 y4 ≤ 1
y1 , y2 , y3 , y4 ≥ 0

35
12.2. RELACIONES PRIMAL-DUAL

Con la solución del primal, se obtiene con el Simplex implícitamente la del dual.
Veámoslo:

Sea el primal en forma estándar: max Z = CX


s.a.: AX = b
X ≥0

Escribimos A = (B/N), con B la submatriz formada por las columnas


correspondientes a las variables básicas, y N lo mismo para las no básicas o libres.
Entonces:
max Z = CB X B + C N X N
s.a.: BX B + NX N = b
XB, X N ≥ 0

La solución de este problema consiste en hacer que el vector no básico X N sea cero,
y resolver el vector básico en términos de la base B, es decir:

BX B + NX N = b ⇒ BX B = b ⇒ X B = B −1b

y la función objetivo será:

Z = C B X B + C N X N = C B X B = C B B −1b

Ahora bien, la función objetivo dual es g (Y ) = bT Y = Y T b , y en el óptimo el valor de


la función objetivo primal coincide con el valor óptimo de la función objetivo dual,
( ) ( )
esto es, Z X * = g Y * . Por lo tanto:

( ) ( ) ( )
Z X * = g Y * ⇒ C B* B*
−1
( )T
( )
b = Y * b ⇒ C B* B *
−1
( )
= Y*
T

En los casos particulares que estudiaremos, este valor no hace falta calcularlo
explícitamente si hemos resuelto el primal aplicando el algoritmo del Simplex,
puesto que en la última tabla:

36
Variables originales Variables de holgura
Valor de las
Variables básicas variables
básicas B −1 A B −1
XB
X B = B −1b
C − C B B −1 A − C B B −1
Solución óptima primal
Solución óptima dual
opuesta en signo

Ejemplo:

max 4 x1 + 3x2 max 4 x1 + 3 x2


s.a.: 2 x1 + 3 x2 ≤ 18 s.a.: 2 x1 + 3x2 + x3H = 18
4 x1 + 2 x2 ≤ 10 4 x1 + 2 x2 + x4H = 10
x1 , x2 ≥ 0 x1 , x2 , x3H , x4H ≥ 0

Introduciendo las variables de holgura. La última tabla es:

x1 x2 x3H x4H
x3H 3 -4 0 1 -3/2
x2 5 2 1 0 1/2
-2 0 0 -3/2

 3
Solución óptima dual: Y * =  0, 
 2
Solución óptima primal: X = (0,5)
*

Función objetivo primal y dual óptimas: ( ) ( )


f X * = g Y * = 15

37