You are on page 1of 16

3. DUALIDAD.

3.1. Introducción.

3.2. Ejemplo.

3.3. Problema dual.

3.4. Teoremas de dualidad.

3.5. Solución dual óptima en la tabla.

3.6. Método simplex dual.

Método de la restricción artificial.

3.7. Algoritmo simplex dual.

1
3.1. Introducción.

MODELO PRIMAL ←→ MODELO DUAL

Algunas razones por las que conviene tener en cuenta


la dualidad:

1. Resolver el más conveniente de los modelos para


dar la solución para ambos.

2. Interpretación económica del problema.

3. Algoritmo simplex dual.

2
3.2. Ejemplo.
PRODUCTOS UNIDADES
RECURSOS 1 2 3 4 DE RECURSOS
A 2 3 1.5 4 300
B 2 4 3 1 500
C 5 1 2 2 250
BENEFICIO 4 3 6 2

Problema primal.
xj : unidades de producto j, j = 1, . . . , 4.
max z = 4x1 + 3x2 + 6x3 + 2x4
sujeto a
2x1 + 3x2 + 1.5x3 + 4x4 ≤ 300
2x1 + 4x2 + 3x3 + x4 ≤ 500
5x1 + x2 + 2x3 + 2x4 ≤ 250
xj ≥ 0 j = 1, . . . , 4
Problema dual.
yj : cantidad a pagar por unidad de rec. j, j = A, B, C.
min G = 300y1 + 500y2 + 250y3
sujeto a
2y1 + 2y2 + 5y3 ≥ 4
3y1 + 4y2 + y3 ≥ 3
1.5y1 + 3y2 + 2y3 ≥ 6
4y1 + y2 + 2y3 ≥ 2
y1 , y 2 , y 3 ≥ 0

3
3.3. Problema dual.

Definición 1 (Forma simétrica de maximización) Un


modelo lineal está escrito en forma simétrica de maxi-
mización si

• El objetivo es maximizar.

• Todas las restricciones son del tipo ≤.

• Todas las variables son no negativas.

Definición 2 (Forma simétrica de minimización) Un


modelo lineal está escrito en forma simétrica de mini-
mización si

• El objetivo es minimizar.

• Las restricciones son del tipo ≥.

• Las variables son no negativas.

4
3.3.1. Relación primal dual en forma simétrica.

PRIMAL DUAL
max z = cT x min G = bT y
sujeto a sujeto a
Ax ≤ b ←→ AT y ≥ c
x≥0 y≥0

Modelo primal ↔ Modelo dual


A es m × n ↔ AT es n × m
b: vector de recursos ↔ bT : vector de costes
cT : vector de costes ↔ c: vector de recursos
Número de restricciones = Número de variables
Número de variables = Número de restricciones

5
3.3.2. Dualidad: el caso general.

RELACIÓN PRIMAL-DUAL
max ⇐⇒ min
restricción i ≤ ⇐⇒ variable i ≥ 0
restricción i = ⇐⇒ variable i no restringida
restricción i ≥ ⇐⇒ variable i ≤ 0
variable i ≥ 0 ⇐⇒ restricción i ≥
variable i no restringida ⇐⇒ restricción i =
variable i ≤ 0 ⇐⇒ restricción i ≤

3.4. Teoremas de dualidad

Los siguientes teoremas establecen las relaciones entre


el problema primal, el dual y sus soluciones. En todas
ellas se utiliza la forma primal-dual simétrica.

Teorema 1 El dual del dual es el primal.

Teorema 2 (Dualidad débil) Sean x e y soluciones


factibles para los problemas primal y dual respectiva-
mente. Se verifica
z = cT x ≤ bT y = G

6
Corolario 1 Si las soluciones factibles x∗ e y∗ verifican
cT x∗ = bT y∗ , entonces x∗ e y∗ son soluciones óptimas
para el primal y el dual respectivamente.

Corolario 2 Si el problema primal es factible y no aco-


tado, el dual no tiene solución.

Corolario 3 Si el problema dual es factible y no aco-


tado, el primal es infactible.

Teorema 3 (Principio fundamental de la dualidad)


Si existe una solución óptima x∗ para el problema primal,
entonces existe una solución óptima y∗ para el problema
dual. De la misma forma, si existe una solución óptima
y∗ para el problema dual, entonces existe una solución
óptima x∗ para el problema primal. En ambos casos,
z ∗ = c T x∗ = b T y ∗ = G ∗

Teorema 4 Si B es base óptima para el problema pri-


mal, entonces y∗T = cTB B−1 es una solución óptima del
dual.

7
3.5. Solución dual óptima en la tabla.

y∗T = cTB B−1 es la solución óptima del modelo dual.

• Si el modelo está en forma canónica y b ≥ 0, la


tabla óptima es la siguiente

x1 x2 . . . x n xn+1 xn+2 . . . xn+m


cTB B−1 A − cT cTB B−1 cTB xB

cB B B−1A B−1 xB

• Si hay variables artificiales en la base

cTB B−1I − cTI = cTB B−1 − cTI

Sumando cTI se obtiene y∗T = cTB B−1 .

8
Ejemplo 1.
Dados los siguientes modelos primal-dual simétricos:

max z = 3x1 + x2 − 2x3 min G = 5y1 + 4y2


sujeto a sujeto a
x1 + 2x2 + x3 ≤ 5 → y1 + 2y2 ≥ 3
2x1 − x2 + 3x3 ≤ 4 2y1 − y2 ≥ 1
x1 , x 2 , x 3 ≥ 0 y1 + 3y2 ≥ −2
y1 , y 2 ≥ 0

Tabla inicial.

x1 x2 x3 x4 x5
−3 −1 2 0 0 0
a4 1 2 1 1 0 5
a5 2 −1 3 0 1 4

Tabla óptima.

x1 x2 x3 x4 x5
0 0 6 1 1 9
a2 0 1 − 15 2
5
− 15 6
5
7 1 2 13
a1 1 0 5 5 5 5

Solución óptima del dual: y∗T = cTB B−1 = (1, 1)


9
Ejemplo 2.

Dado el siguiente modelo lineal y su dual

min z = x1 + 2x2 max G = 12y1 + 6y2 + 4y3


sujeto a sujeto a
4x1 + 3x2 ≤ 12 4y1 + y2 + 2y3 ≤ 1
x1 + 3x2 ≥ 6 → 3y1 + 3y2 + y3 ≤ 2
2x1 + x2 ≥ 4 y1 ≤ 0, y2 , y3 ≥ 0
x1 , x 2 ≥ 0

Forma estándar para el modelo primal.


max (−z) = −x1 − 2x2 − M w1 − M w2
sujeto a

4x1 + 3x2 +x3 = 12


x1 + 3x2 −x4 +w1 =6
2x1 + x2 −x5 +w2 = 4

x1 , . . . , w 2 ≥ 0

10
Solución.

x1 x2 x3 x4 x5 w1 w2
-3M+1 -4M+2 0 M M 0 0 -10M
a3 4 3 1 0 0 0 0 12
aw1 1 3 0 -1 0 1 0 6
aw2 2 1 0 0 -1 0 1 4
− 53 M + 1
3
0 0 − 31 M + 2
3
M 4
3
M − 2
3
0 -2M-4
a3 3 0 1 1 0 -1 0 6
1
a2 3
1 0 − 31 0 1
3
0 2
5 1
aw2 3
0 0 3
-1 − 31 1 2
3 1 3 1
0 0 0 5 5
M− 5
M− 5
− 22
5
2 9
a3 0 0 1 5 5
− 25 − 95 12
5
a2 0 1 0 − 25 1
5
2
5
− 15 8
5
1
a1 1 0 0 5
− 35 − 15 3
5
6
5

• Solución óptima del primal:


6 8 22 22
x∗1 = , x∗2 = , −z ∗ = − ⇒ z∗ =
5 5 5 5

• Solución óptima del dual:


3 1 3 1
(0, M − , M − ) + (0, −M, −M ) = (0, − , − )
5 5 5 5
Por tanto, y1∗ = 0, y2∗ = 35 , y3∗ = 1
5

11
3.6. Método simplex dual. Método de la restricción
artificial.
Dado el modelo lineal en forma canónica,
max z = cT x
sujeto a
Ax ≤ b
x≥0

sumando variables de holgura se tiene el modelo


max z = cT x
sujeto a
Ax + Ixh = b
x, xh ≥ 0

Se elige como primera base B=I.


Se pueden dar dos casos:

• Si en la primera tabla ∀aj ∈ A zj − cj ≥ 0 → hay


factibilidad dual.

• En caso contrario, se puede conseguir la factibilidad


dual añadiendo al modelo la restricción artificial
X
xj ≤ M, J = {j : zj − cj < 0}
j∈J

12
3.7. Algoritmo simplex dual. (Objetivo maximizar)

1. Construir la tabla inicial.

2. – Si ∀aj ∈ A zj − cj ≥ 0, ir al paso 3.
– Si ∃aj ∈ A zj − cj < 0, añadir la restricción
artificial al modelo y construir la tabla del nuevo
modelo. Entra en la base el vector ak
zk − ck = min{zj − cj /zj − cj < 0}
j

y sale el vector de holgura de la restricción arti-


ficial. Haciendo operaciones de pivote, la nueva
tabla tiene factibilidad dual. Ir al paso 3.

3. – Si no hay restricción artificial.


∗ Si xBi ≥ 0 ∀i, solución óptima. Parar.
∗ Si ∃xBi < 0, ir al paso 4.
– Si hay restricción artificial.
∗ Si xBi ≥ 0 ∀i y la variable de holgura de la
restricción artificial está en la base con valor
positivo, solución óptima. Parar.
∗ Si xBi ≥ 0 ∀i y la variable de holgura de la
restricción artificial no está en la base o vale
cero, primal no acotado y dual infactible.
Parar.
∗ Si ∃xBi < 0, ir al paso 4.

13
4. Criterio de salida. Sale el vector ar
xBr = min{xBi/xBi < 0}
i

Fila r → fila pivote.


Criterio de entrada. Entra el vector ak
zk − c k zj − c j
= max{ /yrj < 0}
yrk j yrj

yrk es el pivote. Columna k → columna pivote.


– Si no existe yrj negativo, primal infactible y
dual no acotado. Parar.
– Si no, ir al paso 5.

5. Calcular una nueva tabla haciendo operaciones de


pivote. Ir al paso 3.

14
Ejemplo 1.
min z = 3x1 + 2x2 max (−z) = −3x1 − 2x2
sujeto a sujeto a
x1 + 2x2 ≥ 3 −x1 − 2x2 ≤ −3
−2x1 + x2 ≥ 2 → 2x1 − x2 ≤ −2
x1 + 4x2 ≥ 7 −x1 − 4x2 ≤ −7
x1 , x 2 ≥ 0 x 1 , x2 ≥ 0

Iteraciones del algoritmo simplex dual.


x1 x2 x3 x4 x5
3 2 0 0 0 0
0 a3 −1 −2 1 0 0 −3
0 a4 2 −1 0 1 0 −2
0 a5 −1 -4 0 0 1 −7
5 1
2
0 0 0 2
− 72
0 a3 − 12 0 1 0 − 21 1
2
9
0 a4 4
0 0 1 − 14 − 14
1
−2 a2 4
1 0 0 − 41 7
4
7 0 0 2 0 −4
0 a3 −4 0 1 −2 0 1
0 a5 −7 0 0 −4 1 1
−2 a2 −2 1 0 −1 0 2

Solución óptima del primal:


x∗1 = 0, x∗2 = 2, −z ∗ = −4 → z ∗ = 4.
Solución óptima del dual:
y1∗ = 0, y2∗ = 2, y3∗ = 0 → G∗ = 4.
15
Ejemplo 2.

max z = −4x1 + 5x2 max z = −4x1 + 5x2


sujeto a sujeto a
2x1 + 2x2 ≥ 4 −2x1 − 2x2 + x3 = −4
x1 − x 2 ≥ 3 −x1 + x2 + x4 = −3
x1 , x 2 ≥ 0 x2 + x5 = M
x1 , . . . , x 5 ≥ 0

Iteraciones del algoritmo simplex dual.

x1 x2 x3 x4 x5
4 −5 0 0 0 0
0 a3 −2 −2 1 0 0 −4 −2
0 a4 −1 1 0 1 0 −3 1
0 a5 0 1 0 0 1 M
4 0 0 0 5 5M
0 a3 −2 0 1 0 2 −4 + 2M 2
0 a4 -1 0 0 1 −1 −3 − M
5 a2 0 1 0 0 1 M 0
0 0 0 4 1 M − 12
0 a3 0 0 1 −2 4 4M + 2
−4 a1 1 0 0 −1 1 3+M
5 a2 0 1 0 0 1 M

Primal no acotado. Dual infactible.


16

You might also like