Dualidad en Programación Lineal. Asociado a cada problema de programación matemática (lineal o no...

Post on 23-Jan-2016

230 views 0 download

Transcript of Dualidad en Programación Lineal. Asociado a cada problema de programación matemática (lineal o no...

Dualidad en Programación Lineal

Dualidad en Programación Lineal

Asociado a cada problema de programación matemática (lineal o no lineal), existe otro problema denominado problema dual, que posee importantes propiedades y relaciones notables con respecto al problema original.

Definición:Dado un problema que llamaremos primal:

Llamaremos problema dual asociado:

b)x(g.A.S

)x(FMaximizar

Dualidad en Programación Lineal

Se verifican, entre otras, las siguientes propiedades entre ellos:

Dx

0

0),x(xL

.A.S

b)x(g)x(F),x(LMinimizar t

Dualidad en Programación Lineal

En el caso lineal:

El problema dual resulta:

Y en general, se pueden demostrar las siguientes relaciones:

bAx.A.S

xcMaximizar t

0

cA.A.S

bMinimizart

t

Dualidad en Programación Lineal

donde en el lado de la izquierda aparecen el signo de la restricciones primales y la no negatividad de las variables (leyendo por columnas) y en el lado de la derecha aparecen la no negatividad de las variables duales y el signo de sus restricciones.

Dualidad en Programación Lineal

EjemploDado el siguiente problema:

Maximizar 3x + 6y + 2zSujeta a: 3x + 4y + z ≤ 2

x + 2y + 3z = 10 y ≥ 0

Su problema dual resulta:Minimizar 2λ1 +10λ2

Sujeta a: 3λ1 + λ2 = 3

4λ1 + 2λ2 ≥ 6

λ1 + 3λ2 = 2

λ1 ≥ 0

Dualidad en Programación Lineal

EjemploDado el siguiente problema:

Maximizar 3x + 6y + 2zSujeta a: 3x + 4y + z ≤ 2

x + 2y + 3z = 10 y ≥ 0

Su problema dual resulta:Minimizar 2λ1 +10λ2

Sujeta a: 3λ1 + λ2 = 3

4λ1 + 2λ2 ≥ 6

λ1 + 3λ2 = 2

λ1 ≥ 0

Dualidad en Programación Lineal

EjemploDado el siguiente problema:

Maximizar 3x + 6y + 2zSujeta a: 3x + 4y + z ≤ 2

x + 2y + 3z = 10 y ≥ 0

Su problema dual resulta:Minimizar 2λ1 +10λ2

Sujeta a: 3λ1 + λ2 = 3

4λ1 + 2λ2 ≥ 6

λ1 + 3λ2 = 2

λ1 ≥ 0

Dualidad en Programación Lineal

EjemploDado el siguiente problema:

Maximizar 3x + 6y + 2zSujeta a: 3x + 4y + z ≤ 2

x + 2y + 3z = 10 y ≥ 0

Su problema dual resulta:Minimizar 2λ1 +10λ2

Sujeta a: 3λ1 + λ2 = 3

4λ1 + 2λ2 ≥ 6

λ1 + 3λ2 = 2

λ1 ≥ 0

Dualidad en Programación Lineal

EjemploDado el siguiente problema:

Maximizar 3x + 6y + 2zSujeta a: 3x + 4y + z ≤ 2

x + 2y + 3z = 10 y ≥ 0

Su problema dual resulta:Minimizar 2λ1 +10λ2

Sujeta a: 3λ1 + λ2 = 3

4λ1 + 2λ2 ≥ 6

λ1 + 3λ2 = 2

λ1 ≥ 0

Dualidad en Programación Lineal

EjemploDado el siguiente problema:

Maximizar 3x + 6y + 2zSujeta a: 3x + 4y + z ≤ 2

x + 2y + 3z = 10 y ≥ 0

Su problema dual resulta:Minimizar 2λ1 +10λ2

Sujeta a: 3λ1 + λ2 = 3

4λ1 + 2λ2 ≥ 6

λ1 + 3λ2 = 2

λ1 ≥ 0

Dualidad en Programación Lineal

EjemploDado el siguiente problema:

Maximizar 3x + 6y + 2zSujeta a: 3x + 4y + z ≤ 2

x + 2y + 3z = 10 y ≥ 0

Su problema dual resulta:Minimizar 2λ1 +10λ2

Sujeta a: 3λ1 + λ2 = 3

4λ1 + 2λ2 ≥ 6

λ1 + 3λ2 = 2

λ1 ≥ 0 λ2 cualquiera

Dualidad en Programación Lineal

EjemploDado el siguiente problema:

Maximizar 3x + 6y + 2zSujeta a: 3x + 4y + z ≤ 2

x + 2y + 3z = 10 y ≥ 0

Su problema dual resulta:Minimizar 2λ1 +10λ2

Sujeta a: 3λ1 + λ2 = 3

4λ1 + 2λ2 ≥ 6

λ1 + 3λ2 = 2

λ1 ≥ 0

Dualidad en Programación Lineal

EjemploDado el siguiente problema:

Maximizar 3x + 6y + 2zSujeta a: 3x + 4y + z ≤ 2

x + 2y + 3z = 10 y ≥ 0 (x,z cualquiera)

Su problema dual resulta:Minimizar 2λ1 +10λ2

Sujeta a: 3λ1 + λ2 = 3

4λ1 + 2λ2 ≥ 6

λ1 + 3λ2 = 2

λ1 ≥ 0

Dualidad en Programación Lineal

Ejercicio:Obtener el dual del:

Maximizar 3 x + 2 y Sujeta a: x – 4 y = 4

3 x – 2 y ≤ 1 5 x - 8 y ≤ -7 x ≥ 0 (y cualquiera)Solución:

Minimizar 4 λ1 + 1 λ2 – 7 λ3

Sujeta a: λ1 +3 λ2 + 5 λ3 ≥ 3

- 4 λ1 - 2 λ2 - 8 λ3 = 2

λ2, λ3 ≥ 0 (λ1 cualquiera)

Dualidad en Programación Lineal

Propiedades de la dualidad:Sean ambos problemas:

Se verifican las siguientes propiedades:

1) F(x) ≤ H(λ)

2) Si el interior de X es no vacío y x* es solución del primal, entonces existe λ*, solución del dual con: F(x*) = H(λ*)

Dualidad en Programación Lineal

3) Si uno de los problemas tiene solución ilimitada, el otro posee un conjunto de oportunidades vacío (carece de puntos admisibles).

4) El problema primal tiene solución finita si y solo si los conjuntos de oportunidades de ambos problemas son no vacíos.

5) Teorema fundamental de dualidad.Sea el problema primal en forma estándar y sea x* su solución. Si el interior de X es no vacío y λ* es la solución del dual, entonces:

1tB

t Bc

Dualidad en Programación Lineal

Ejemplo

TABLA 1 C1=5 C2=4 C3=0 C4=0

Base Cb P1 P2 P3 P4 Sol.

P3 0 3 3 1 0 10

P4 0 12 6 0 1 24

-5 -4 0 0 Z0=0

TABLA 3 C1=5 C2=4 C3=0 C4=0

Base Cb P1 P2 P3 P4 Sol.

P1 5 1 0 -1/3 1/6 2/3

P2 4 0 1 2/3 -1/6 8/3

0 0 1 1/6 Z0=14

Dualidad en Programación Lineal

Ejemplo

TABLA 1 C1=5 C2=4 C3=0 C4=0

Base Cb P1 P2 P3 P4 Sol.

P3 0 3 3 1 0 10

P4 0 12 6 0 1 24

-5 -4 0 0 Z0=0

TABLA 3 C1=5 C2=4 C3=0 C4=0

Base Cb P1 P2 P3 P4 Sol.

P1 5 1 0 -1/3 1/6 2/3

P2 4 0 1 2/3 -1/6 8/3

0 0 1 1/6 Z0=14

Luego el teorema fundamental nos dice que la solución del problema dual del dado será el producto:

Dualidad en Programación Lineal

TABLA 3 C1=5 C2=4 C3=0 C4=0

Base Cb P1 P2 P3 P4 Sol.

P1 5 1 0 -1/3 1/6 2/3

P2 4 0 1 2/3 -1/6 8/3

0 0 1 1/6 Z0=14

t t 1B

1/ 3 1/ 6c B 5 4 1 1/ 6

2/ 3 1/ 6

* *1 21, 1/ 6

Dualidad en Programación Lineal

que no es más que los Zj asociados a la base canónica inicial:

* *1 3 2 4Z 1, Z 1/ 6

TABLA 3 C1=5 C2=4 C3=0 C4=0

Base Cb P1 P2 P3 P4 Sol.

P1 5 1 0 -1/3 1/6 2/3

P2 4 0 1 2/3 -1/6 8/3

0 0 1 1/6 Z0=14

(Nótese que ni hemos obtenido el dual del dado)

Dualidad en Programación Lineal

Ejemplo

Primal: Dual: Maximizar 4x1+3x2-3x4 Minimizar 12λ1+10λ2+8λ3

Sujeta a: 3x1+4x2+x3 =12 Sujeta a: 3λ1+3λ2+4 λ3≥ 4 3x1+3x2 +x4 =10 4λ1+3λ2+2λ3 ≥ 3 4x1+2x2 +x5=8 λ1 ≥0 x1,x2,x3,x4,x5≥0 λ2 ≥-3 λ3≥0

Solución del primal: (x1,x2,x3,x4,x5) = (4/5 , 12/5 , 0 , 2/5 , 0) con:

Z1-C1=0 , Z2-C2=0 , Z3-C3=11/5 , Z4-C4=0 , Z5-C5=8/5

Dualidad en Programación Lineal

Base canónica inicial: {P3 , P4 , P5}

Luego la solución del problema dual es {Z3 , Z4 , Z5}: