Tema 3: Mtodo del Simplex Revisado -...

70
Investigación Operativa 2008/09 Tema 3: Método del Simplex Revisado. El método revisado o método del simples con multiplicadores: Conceptos básicos. Vector de Multiplicadores . Se basa en los mismos principios que el simplex, pero en cada iteración no se calcula toda la tabla, y la información que se necesita para pasar de una solución factible básica a otra se obtiene directamente de las ecuaciones originales. Informació n de interés: * C j * c olumna de la v. que entra * b Ejemplo: Max Z = 3x 1 + 2x 2 - x 1 + 2x 2 + x 3 = 4 3x 1 + 2x 2 + x 4 = 14 x 1 - x 2 + x 5 = 3 x i 0 1 0 1 Tabla 2 π = C B B -1 = (0,0,3) 0 1 -3 = (0,0,3) 0 0 1 1 -1/5 3/5 Tabla 3 π = C B B -1 = (0,2,3) 0 1/5 -3 = (0,1,0) 0 1/5 2/5 15

Transcript of Tema 3: Mtodo del Simplex Revisado -...

Page 1: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Tema 3: Método del Simplex Revisado. El método revisado o método del simples con multiplicadores: Conceptos básicos. Vector de Multiplicadores. Se basa en los mismos principios que el simplex, pero en cada iteración no se calcula toda la tabla, y la información que se necesita para pasar de una solución factible básica a otra se obtiene directamente de las ecuaciones originales. Información de interés: * Cj * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 + 2x2 + x3 = 4 3x1 + 2x2 + x4 = 14 x1 - x2 + x5 = 3 xi ≥ 0 1 0 1 Tabla 2 π = CB B-1 = (0,0,3) 0 1 -3 = (0,0,3) 0 0 1 1 -1/5 3/5 Tabla 3 π = CB B-1 = (0,2,3) 0 1/5 -3 = (0,1,0) 0 1/5 2/5

15

Page 2: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Cj 3 2 0 0 0

CB Base x1 x2 x3 x4 x5 b 0 x3 -1 2 1 0 0 4 0 x4 3 2 0 1 0 14 0 x5 1 -1 0 0 1 3 _

Cj

3

2

0

0

0

Z = 0

CB Base x1 x2 x3 x4 x5 b 0 x3 0 1 1 0 1 7 0 x4 0 5 0 1 -3 5 3 x1 1 -1 0 0 1 3 _

Cj

0

5

0

0

-3

Z = 9

CB Base x1 x2 x3 x4 x5 b 0 x3 0 0 1 -1/5 8/5 6 2 x2 0 1 0 1/5 -3/5 1 3 x1 1 0 0 1/5 2/5 4 _

Cj

0

0

0

-1

0

Z = 14

CB Base x1 x2 x3 x4 x5 b 0 x5 0 0 5/8 -1/8 1 15/4 2 x2 0 1 3/8 1/8 0 13/4 3 x1 1 0 -1/4 1/4 0 5/2 _

Cj

0

0

0

-1

0

Z = 14

16

Page 3: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Desarrollo del método. El método del simplex revisado trabaja con la idea fundamental de que cualquier tabla del simplex correspondiente a una solución factible básica puede generarse directamente de las ecuaciones originales por medio de operaciones matriciales. Max (o Min) Z = Cx Ax = b x ≥ 0 x1 ... C = (C1, C2, ..., Cn) 1 x n x = xm n x 1

xn a11 a12 ... a1n b1 a21 a22 ... a2n b2 m x 1 A = ... ... ... ... m x n b = ... am1 am2 ... amn m<n bm

a1i a2iA = [ P1 P2 … Pn ] Pi = … m x 1 ami ∀i = 1, ..., n Supongamos que tenemos una solución factible con variables básicas x1 ... xmLa matriz básica B será:

a11 a12 ... a1m a21 a22 ... a2mB = (P1 ... Pm) = ... ... ... ... am1 am2 ... ammmatrix m x m x1 x2

xB … xB ≡ variables básicas x = ≡ xm xN xm+1 xN ≡ variables no básicas = 0 … xn

17

Page 4: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

_ b1

__ _ b2 La solución básica actual es xB = b =B-1b = ... __ bm

y xN = ( 0 ). _ xB b _ Z = C•x = (CB CN) = (CB, CN) = CB xB + CN xN = CB b xN 0 y cualquier columna: _ _ Pj = B-1 Pj ∀j de las variables no básicas Se llama vector de multiplicadores al vector π = (π1, π2, ..., πm) π = CB B-1

(mxm) (1xm)

A partir de este vector, se pueden calcular los beneficios relativos:

Cj = Cj - CBPj = Cj - CBB-1Pj = Cj - πPj ∀j de variables no básicas

18

Page 5: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Ejemplo: Min Z = -3x1 + x2 + x3 sujeto a x1 – 2x2 + x3 ≤ 11 -4x1 + x2 + 2x3 ≥ 3 2x1 - x3 = -1 xi ≥ 0 Min Z = -3x1 + x2 + x3 + Mx6 + Mx7 x1 - 2x2 + x3 + x4 = 11 -4x1 + x2 + 2x3 – x5 + x6 = 3 -2x1 + x3 + x7 = 1 xi ≥ 0 A = [ P1 P2 … P6 ] 1 -2 1 1 0 0 P1 = -4 P2 = 1 P3 = 2 P4 = 0 P5 = -1 P6 = 1 -2 0 1 0 0 0

0 11

P7 = 0 b = 3 1 1

1 0 0 Base inicial { x4, x6, x7} ⇒ B = (P4 P6 P7) = 0 1 0 0 0 1 _ B-1 = I b = B-1b = b La tabla 1 del método del simplex revisado será:

Base

B-1

_ b

x4 1 0 0 11 x6 0 1 0 3 x7 0 0 1 1

A completar más adelante

π = (π1, π2, π3) = CBB-1= (C4, C6, C7) B-1 = (0, M, M)•I = (0, M, M) Los beneficios relativos de las variables no básicas: _ Cj = Cj - πPj j = 1, 2, 3, 5

19

Page 6: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

_ 1 C1 = -3 – (0, M, M) -4 = -3 + 6M -2 _ -2 C2 = 1 – (0, M, M) 1 = 1 – M 0 _ 1 C3 = 1 – (0, M, M) 2 = 1 – 3M 1 _ 0 C5 = 0 – (0, M, M) -1 = M 0 Entra x3 en la base. La columna pivote es: 1 0 0 1 1

33

0 0 1 1 1

1PB−= = 0 1 0 2 = 2 P

Tabla 1.

Base B-1 _ b Var. que entra _

Columna pivote P3x4 1 0 0 11 1 x6 0 1 0 3 2 x7 0 0 1 1

x31

Regla mínima proporción min{11/1, 3/2, 1/1} ⇒ sale x7 1 0 1 Nueva base {x , x , x } ⇒ B = [P P P ] = 0 1 2 ⇒ 4 6 3 4 6 3 0 0 1 1 0 -1 ⇒ B-1 = 0 1 -2 0 0 1 _ 11 10 b = B b = B 3 = 1 1 1

-1 -1

20

Page 7: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

B e Bas -1 _ b

x4 1 0 -1 10 x6 0 1 -2 1 x3 0 0 1 1

π = B CB

-1 = (C 6, C (0, M, 1)•B-1 = (0, M, -2M+1)

= -3 - (0, M, -2M+1) -4 = -1

= 1 – M

_ ntra x2 en la base P2 = B-1 P2 = B-1

0 0

Tabla 2.

4, C )•B3-1 =

_ 1 C1 -2 _C2 _C5 = M -2 -2 e 1 = 1

B B var que entra ase -1 _ b

_ P2

x4 1 0 0 10 -2 x6 0 1 0 1 1 x3 0 0 1 1

x20

Regla m proporción m n{ínima i 10/-2, 1, 1/ }

ueva base {x , x , x } ⇒ B = [P4 P2 P3] ⇒ B-1 = 0 0 1

= B-1b = 1

B B

1/ ⇒ sale x60 1 2 -5 N 0 1 -2 4 2 3 _ 12 b 1

ase -1 _ b

x4 1 2 -5 12 x2 0 1 -2 1 x3 0 0 1 1

1 2 -5 π = (0, 0, 1) = (0, 1, -1) 0 1 -2 0 0 1

21

Page 8: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

_ _ 1 2 -5 1 3 C1 = -1 ⇒ entra x1 P1 -4 =

0 0 1 -2 -2 5 = 1

Tabla 3

= 0 1 -2 0 _C

.

B B Var que entra ase -1 _ b

_ P1

x4 1 2 -5 12 3 x2 0 1 -2 1 0 x3 0 0 1 1

x1-2

Nueva base {x1, x2, x3}

Tabla 4.

B Base -1 _ b

x11/3

2/3 -5/3 4 x2 0 1 -2 1 x3

2/3 3 9 4/ -7/3 1/3

2/3 -5/3π = (-3, 1, 1 = [-1/3, 1/3, 2/3]

2/3 4/3 -7/3

5 = 1/

Por lo tanto, la tabla 4 es óptima y la solución óptima es:

= CB•b = (-3, 1, 1) 1 = -2 9

) 0 1 -2 _ C4 = 1/3_C 3 x1 = 4 x2 = 1 x3 = 9 x4 = x5 = 0 _ 4 Z

22

Page 9: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Ventajas del método revisado del Simplex doble el método del Simplex regular.

3. Los conceptos teóricos del método ayudan a entender conceptos de teoría de la dualidad y análisis de sensibilidad.

1. El simplex revisado trabaja sobre una tabla cuyo tamaño lo determina el número de restricciones.

2. Si se calcula B-1 en cada iteración directamente de los datos del principio, no se acumulan errores de redondeo.

23

Page 10: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Tema 4: Teoría de la Dualidad.

2 x 1

La teoría de la dualidad se centra en el hecho de que, asociado a cualquier problema de programación lineal, existe otro problema de programación lineal que se llama su dual, de manera que al resolver el primero se resuelve también el segundo sin coste computacional adicional. Problemas primal-dual simétrico. Propiedades y relaciones de los problemas primal y dual. Un problema de programación lineal está escrito en forma simétrica si todas las variables son no negativas, y todas las restricciones son desigualdades (si el problema es de maximizar, con ≤, y si es de minimizar, con ≥). PRIMAL Max Z = Cx Min Z = Cx Ax ≤ b Ax ≥ b x ≥ 0 x ≥ 0 x1Max Z = (C1, C2, …, Cn) … xn a11 a12 ... a1n x1 b1a21 a22 ... a2n x2 b2... ... ... ... … ≤ ... am1 am2 ... amn xn bm x1x2… ≥ 0 xn

24

Page 11: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

DUAL Min W = by yA ≥ C y = (y1, y2, …, ym) y ≥ 0 ↓ Min W = b1y1 + b2y2 + … + bmym a11y1 + a21y2 + ... + am1ym ≥ C1a12y1 + a22y2 + ... + am2ym ≥ C2... ... ... ... … a1ny1 + a2ny2 + ... + amnym ≥ Cn y1, y2, …, ym ≥ 0 Reglas generales de construcción del problema dual.

1. Definir una variable dual no negativa por cada restricción del problema primal. 2. Hacer que el vector de costes del problema primal pase a ser el vector de las

constantes de la derecha del problema dual. 3. Hacer que el vector de constantes de la derecha del primal sea el vector de costes del

dual. 4. La traspuesta de la matriz de coeficientes del primal es la matriz de coeficientes del

dual. 5. Invertir la dirección de las desigualdades de las restricciones. 6. Invertir Maximizar por Minimizar (y viceversa).

Problema Primal Problema Dual

Max Z = Cx Min W = by Ax ≤ b yA ≥ C siendo A la matriz x ≥ 0 y ≥ 0 traspuesta de la matriz A

del problema primal (y٠A ⇔ At٠yt)

Amxnx n variables y m variables b m restricciones C n restricciones

Teoremas de la dualidad. Teorema 1 (Teorema débil de la dualidad). Consideremos los problemas de programación lineal primal-dual simétricos: Max Z = Cx ↔ Min W = yb Ax ≤ b yA ≥ C x ≥ 0 y ≥ 0

25

Page 12: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Se tiene que el valor de la función del objetivo del problema dual (para toda solución

factible del dual) es siempre mayor o igual que el valor de la función del objetivo primal (en cualquier solución factible del problema primal). Demostración. Sean x0 e y0 solución factible del primal y dual, respectivamente x0 solución factible del problema primal ⇒ Ax0 ≤ b x0 ≥ 0 (1) y0 solución factible del problema dual ⇒ y0A ≥ C y0 ≥ 0 (2) (la solución factible cumple las restricciones) (1) ⇒ y0Ax0 ≤ y0b (pues y0 ≥ 0) (2) ⇒ y0Ax0 ≥ Cx0 (pues x0 ≥ 0) Entonces Cx0 ≤ y0Ax0 ≤ y0b

Z0 (primal) W0 (dual)

(Z y W funciones objetivo) Corolarios.

1) El valor de la función del objetivo Z del problema primal para cualquier solución factible del primal es una cota inferior para el valor mínimo de la función del objetivo dual.

2) Análogamente, el valor de la función del objetivo del problema dual para cualquier solución factible es una cota superior para el valor máximo de la función del objetivo primal.

3) Si el problema primal tiene solución no acotada entonces el problema dual no tiene ninguna solución factible.

4) Análogamente, si el problema dual tiene solución no acotada entonces el primal no tiene ninguna solución factible.

5) Si el problema primal tiene solución, y el dual no, entonces el primal es no acotado.

6) Si el problema dual tiene solución, y el primal no, entonces el dual es no acotado. 7) Si el primal no tiene solución ⇒ el problema dual no tiene solución o es no

acotado. 8) Si el problema dual no tiene solución ⇒ el problema primal no tiene solución o

es no acotado.

26

Page 13: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Ejemplo 1. Primal Max Z = x1 + 2x2 + 3x3 + 4 x4 Sujeto a x1 + 2x2 + 2x3 + 3x4 ≤ 20 2x1 + x2 + 3x3 + 2x4 ≤ 20 xi ≥ 0 Dual Min W = 20y1 + 20y2 Sujeto a y1 + 2y2 ≥ 1 2y1 + y2 ≥ 2 2y1 + 3y2 ≥ 3 3y1 + 2y2 ≥ 3 yi ≥ 0 ej. x0 = (x1

0, x20, x3

0, x40)

(1, 1, 1, 1) Z (x0) = 10 cualquier solución factible del problema dual verifica W ≥ 10 ⇒ Wopt ≥ 10 Ejemplo 2. Primal Max Z = x1 + x2 - x1 + x2 + x3 ≤ 2 -2x1 + x2 - x3 ≤ 1 xi ≥ 0 Dual Min W = 2y1 + y2 - y1 + 2y2 ≥ 1 y1 + y2 ≥ 1 y1 - y2 ≥ 0 yi ≥ 0 El primal tiene solución (por ejemplo x0 = (0, 0, 0) es una solución factible del primal). Pero el dual no tiene ninguna solución factible (si yi ≥ 0, - y1 - 2y2 siempre ≤ 0). Por el corolario 5, el primal tiene solución no acotada. Ejemplo 3. Primal Min Z = -2x1 – 3x2 x1 - x2 ≥ 2 - x1 + x2 ≥ 1 x1, x2 ≥ 0 Dual Max W = 2y1 + y2 y1 - y2 ≤ -2 - y1 + y2 ≤ -3 yi≥ 0

27

Page 14: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Ambos, primal y dual, no tienen soluciones factibles (corolarios 7 y 8).

Teorema 2 (Criterio de optimalidad). Si existen soluciones factibles x0 e y0 para el problema primal y dual, respectivamente, tales que Cx0 = y0b ⇒ x0 e y0 son soluciones óptimas del problema primal y dual, respectivamente.

Demostración (ejercicio)

En el Ejemplo 1 Primal Max Z = x1 + 2x2 + 3x3 + 4 x4 Sujeto a x1 + 2x2 + 2x3 + 3x4 ≤ 20 2x1 + x2 + 3x3 + 2x4 ≤ 20 xi ≥ 0 Dual Min W = 20y1 + 20y2 Sujeto a y1 + 2y2 ≥ 1 2y1 + y2 ≥ 2 2y1 + 3y2 ≥ 3 3y1 + 2y2 ≥ 3 yi ≥ 0

si tomamos:

x0 = (0, 0, 4, 4) Z0 = 28 x0 e y0 óptimas del primal y dual respectivamente y0 = (1’2, 0’2) W0 = 28 Teorema 3 (Teorema fundamental de la dualidad). Si el problema primal y el dual tienen soluciones factibles, entonces los dos tienen soluciones óptimas cuyos valores de la función objetivo coinciden. Teorema 4 (Teorema de las holguras complementarias). Sean x0 e y0 soluciones factibles del problema primal y dual: Max Z = Cx Min W = yb Ax ≤ b yA ≥ C x ≥ 0 y ≥ 0 x0 e y0 son soluciones óptimas ⇔ (y0A – C)x0 + y0(b – Ax0) = 0 Demostración. (y0A - C)x0 + y0(b - Ax0) = 0 ⇔ y0Ax0 – Cx0 + y0b – y0Ax0 = 0 ⇔ - Cx0 + y0b = 0 ⇔ Cx0 = y0b

28

Page 15: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Entonces x0 e y0 óptimas ⇔ Cx0 = y0b “⇒” por el teorema 3 de la dualidad “⇐” por el teorema 2 Condiciones de holguras complementarias. Supongamos x0 solución factible del problema primal e y0 solución factible del problema dual: Ax0 ≤ b n variables y0A ≥ C m variables x0 ≥ 0 m ecuaciones y0 ≥ 0 n ecuaciones ⇕ ⇕ x1

0 b1

x20 b2 (y1

0, y20 , …, ym

0)A ≥ (C1, C2, …, Cn) A٠ … ≤ … xn

0 bm

Si lo escribimos con holguras: x1

0 U1

0 b1

x20 U2

0 b2

A٠ … + … = … (*) xn

0 Um

0 bm

siendo Ui

0 ≥ 0 ∀i = 1, 2, …, m el vector de holguras (y1

0, y20 , …, ym

0)A – (V10, V2

0, …, Vn0) = (C1, C2, …, Cn) (**)

siendo Vi0 ≥ 0 ∀i = 1, 2, …, n el vector de holguras

(*) Ax0 + U0 = b ⇒ U0 = b - Ax0

(**) y0A – V0 = C ⇒ V0 = y0A - C El teorema 4 dice: x0 e y0 son soluciones óptimas óptimas ⇔ (y0A - C)x0 + y0(b - Ax0) = 0 ⇔ V0x0 + y0U0 = 0 ⇔ x1

0 U1

0

x2 0

U2 0

⇔ (V10, V2

0, …, Vn0) … + (y1

0, y20 , …, ym

0) … = 0 ⇔ xn

0 Um 0

n m Vj

0xj 0 = 0 j=1…n sistema o condiciones

⇔ ∑ Vj 0xj

0 + ∑ yj 0Uj

0 = 0 ⇔ de holguras j=1 j=1 yj

0Uj 0 = 0 j=1…m complementarias

Vj

0 ٠ xj 0 = 0 yj

0Uj 0 = 0

v. primal j-ésima holgura primal holgura dual j-ésima v. dual j-ésima

29

Page 16: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Se obtiene:

1) Si xj 0 > 0 ⇒ Vj

0 = 0 2) Si Vj

0 > 0 ⇒ xj 0 = 0

3) Si yj 0 > 0 ⇒ Uj

0 = 0 4) Si Uj

0 > 0 ⇒ yj 0 = 0

Ejemplo 1: Max Z = x1 + 2x2 + 3x3 + 4 x4

Sujeto a x1 + 2x2 + 2x3 + 3x4 ≤ 20 → x1 + 2x2 + 2x3 + 3x4 + U1 = 20

2x1 + x2 + 3x3 + 2x4 ≤ 20 → 2x1 + x2 + 3x3 + 2x4 + U2 = 20 xi ≥ 0 xi, Ui ≥ 0 Min W = 20y1 + 20y2

Sujeto a y1 + 2y2 ≥ 1 → y1 + 2y2 - V1 = 1

2y1 + y2 ≥ 2 → 2y1 + y2 - V2 = 2

2y1 + 3y2 ≥ 3 →2y1 + 3y2 - V3 = 3

3y1 + 2y2 ≥ 3 →3y1 + 2y2 - V4 = 4 yi ≥ 0 yi, Vi ≥ 0 La solución óptima del dual es: y1

0 = 1’2 y2

0 = 0’2 W0 = 28

Condiciones de holgura complementarias: U1

0 y10 = 0

U2 0 y2

0 = 0 x1

0 V10 = 0

x2 0 V2

0 = 0 x3

0 V30 = 0

x4 0 V4

0 = 0 y1

0 = 1’2 > 0 ⇒ U1 0 = 0

y20 = 0’2 > 0 ⇒ U2

0 = 0 y1

0 + y20 = 1’6 > 1 ⇒ V1

0 > 0 ⇒ x1 0 = 0

2y10 + y2

0 = 2’6 > 2 ⇒ V20 > 0 ⇒ x2

0 = 0 2y1

0 + 3y20 = 3 ⇒ V3

0 = 0 ⇒ x3 0 ≥ 0

3y10 + 2y2

0 = 4 ⇒ V40 = 0 ⇒ x4

0 ≥ 0 Y nos queda del sistema de ecuaciones del problema primal: 2x3

0 + 3x4 0 = 20 x3

0 = 4 3x3

0 + 2x4 0 = 20 x4

0 = 4

30

Page 17: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

x0 = (0, 0, 4, 4) Zopt = 28 (que tiene que coincidir con el valor óptimo de la

función objetivo dual) Problemas asimétricos primal-dual. Consideremos un problema de programación lineal no simétrico, por ejemplo: Primal

Max Z = 2x1 – 3x2Sujeto a 6x1 – 3x2 ≤ 15

2x1 + 3x2 ≥ 5 - x1 + 4x2 = -1 x1 cq signo, x2 ≤ 0 Cualquier problema no simétrico puede convertirse en uno equivalente que sí lo sea Max Z = Cx Ax ≤ b x ≥ 0 x1 = x1' – x2' x1', x2' ≥ 0 x2 = - x3' x3' ≥ 0 - x1 + 4x2 = -1 ⇒ - x1 + 4x2 ≥ -1 x1 - 4x2 ≤ 1 - x1 + 4x2 ≤ -1 2x1 + 3x2 ≥ 5 - 2x1 – 3x2 ≤ -5 Max Z = 2x1' – 2x2' – 3x3' Sujeto a 6x1' – 6x2' + 3x3' ≤ 15 -2x1' + 2x2' + 3x3' ≤ -5 x1' - x2' + 4x3' ≤ 1 - x1' + x2' - 4 x3' ≤ -1 xi'≥ 0 Dual Min W = 15w1 - 5w2 – w3 + w4 Sujeto a 6w1 – 2w2 + w3 - w4 ≥ 2 -6w1 + 2w2 - w3 + w4 ≥ -2 3w1 + 3w2 + 4w3 – 4w4 ≥ 3 wi ≥ 0 Min W = wb wA ≥ C w ≥ 0 Llamamos y1 = w1 ≥ 0 y2 = - w2 ≤ 0 y3 = w3 - w4 ≥ 0

31

Page 18: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Min W = 15y1 + 5y2 – y3Sujeto a 6y1 + 2y2 + y3 ≥ 2 -6y1 – 2y2 - y3 ≥ -2 6y1 + 2y2 + y3 = 2 3y1 – 3y2 + 4y3 ≥ 3 3y1 – 3y2 + 4y3 ≥ 3 Min W = 15y1 + 5y2 – y3 6y1 + 2y2 + y3 = 2 3y1 – 3y2 + 4y3 ≥ 3 y1 ≥ 0, y2 ≤ 0, y3 cq signo Max Z = 2x1 – 3x2

6x1 – 3x2 ≤ 15 2x1 + 3x2 ≥ 5 - x1 + 4x2 = -1 x1 cq signo, x2 ≤ 0

PRIMAL (Maximizar) DUAL (Minimizar) ٠ A matriz de coeficientes ٠ Traspuesta ٠ Vector de constantes de la derecha

٠ Vector de coeficientes de la f. objetivo

٠ Vector de coeficientes de la f. objetivo

٠ Vector de constantes de la derecha

٠ i-ésima restricción con = ٠ Variable i-ésima de cualquier signo

٠ i-ésima restricción con ≤ ٠ Variable i-ésima ≥ 0 ٠ i-ésima restricción con ≥ ٠ Variable i-ésima ≤ 0 ٠ Variable j de cualquier signo ٠ Restricción j con = ٠ Variable j ≥ 0 ٠ Restricción j con ≥ ٠ Variable j ≤ 0 ٠ Restricción j con ≤

32

Page 19: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Ejercicio 1. Primal Max Z = x1 + 4x2 + 3x3 2x1 + 3x2 – 5x3 ≤ 2 3x1 - x2 + 6x3 ≥ 1 x1 + x2 + x3 = 4 x1 ≥ 0, x2 ≤ 0, x3 cq signo Dual Min W = 2y1 + y2 + 4y3 2y1 + 3y2 + y3 ≥ 1 3y1 - y2 + y3 ≤ 4 -5y1 + 6y2 + y3 = 3 y1 ≥ 0, y2 ≤ 0, y3 cq signo Ejercicio 2. Primal Min Z = 2x1 + x2 - x3 x1 + x2 - x3 = 1 x1 - x2 + x3 ≥ 2 x2 + x3 ≤ 3 x1 ≥ 0, x2 ≤ 0, x3 cq signo Dual Max W = y1 + 2y2 + 3 y3 y1 + y2 ≤ 2 y1 - y2 + y3 ≥ 1 -y1 + y2 + y3 = -1

y1 cq signo, y2 ≥ 0, y3≤ 0 Los teorema del 1 al 4 de la teoría de la dualidad también se aplican a los problemas asimétricos, con las modificaciones correspondientes. En el Ejercicio 2:

x1 0 = 2

x2 0 = 0 solución factible primal

x3 0 = 1

y1

0 = 1 y2

0 = 0 solución factible dual y3

0 = 0 Por el teorema 1 de la dualidad Z0 ≥ W0 ⇒ Cx0 = 3 > y0b = 1 En el Ejercicio 1: x1

0 = 0

33

Page 20: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

x2 0 = 0 solución factible primal

x3 0 = 4

Z0 = 12 y1

0 = 0 y2

0 = 0 y3

0 = 3 W0 = 12 Por el teorema 2 ambas son soluciones óptimas. Si el problema viene en forma estándar: Max Z = Cx (Min) su dual es Min W = yb Ax = b yA ≥ C x ≥ 0 y cq signo Max W = yb yA ≤ C y cq signo

34

Page 21: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Cálculo de la solución óptima del problema dual a partir de la tabla óptima del problema primal. Consideremos el problema de programación lineal en forma estándar: Min Z = Cx (dual) Max W = yb Ax = b yA ≤ C x ≥ 0 y cq signo xBSea x0 = la solución óptima del primal. xN xB = B-1b, siendo B la base óptima _ Cj = Cj – πPj ≥ 0 ∀j por ser solución óptima donde π = CBB-1

En notación matricial C – πA ≥ 0 ⇔ πA ≤ C ⇒ el vector π es una solución factible del problema dual.

Además W(π) = πb = CBB-1b = CBxB = Zóptimo ⇒ π es óptima del problema dual.

35

Page 22: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Ejemplo: Primal Min Z = -3x1 + x2 + x3 x1 - 2x2 + x3 ≤ 11 -4x1 + x2 + 2x3 ≥ 3 -2x1 + x3 = 1 xi ≥ 0 Dual Max W = 11y1 + 3y2 + y3 y1 - 4y2 – 2 y3 ≤ - 3 -2y1 + y2 ≤ 1 y1 + 2y2 + y3 ≤ 1 y1 ≤ 0, y2 ≥ 0, y3 cq signo Resolvemos el problema primal: la solución óptima es B = [P1 P2 P3] x1 = 4 x2 = 1 x3 = 9 Z0 = -2 -1 1 -2 1 1/3 2/3 -5/3π = CBB-1 = (-3, 1, 1) -4 1 2 = (-3, 1, 1) 0 1 -2 = [-1/3, 1/3, 2/3] -2 0 1 2/3 4/3 -7/3 Se comprueba que π es solución factible del problema dual y que W(π) = 11(-1/3) + 3(1/3) + 1(2/3) = -2

36

Page 23: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Cómo ver la solución dual óptima en la tabla óptima del simplex del problema primal.

Base _

Solución (b)

_

Cj

Sean {i1, i2, …, im} los índices de las variables básicas de la primera tabla del Simplex: 1ª tabla

Base

x1

x2

xi1

xi2

xim

xn

_

b xi1 ٠ ٠ 1 0 0 ٠ xi2 ٠ ٠ 0 1 0 ٠ … … … … … … … xim ٠ ٠ 0 0 1 ٠

En cualquier tabla, B-1 aparece en las columnas de las variables básicas iniciales. En particular, en la última tabla:

Base xi1 xi2 … xim

_

Ci1

_

Ci2

… _

Cim _ _ _

37

Page 24: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

(Ci1, Ci2, …, Cim) = (Ci1, Ci2, …, Cim) – π[Pi1 … Pim] ⇒ 1 0 … 0 0 1 … 0 _ _ _ ⇒ (Ci1, Ci2, …, Cim) – π … … … … ⇒ π = (Ci1, Ci2, …, Cim) – (Ci1, Ci2, …, Cim) 0 0 … 1

Tema 5: Método del Simplex Dual. Conceptos fundamentales. Bases factibles dual y primal. Consideremos un problema de programación lineal estándar: Min Z = Cx Amxn A = (P1 … Pn) Ax = b C = (C1, …, Cn) x ≥ 0 x1 x = … xn b1 b = … bm m<n Sea B ⊂ A una submatriz de A formada por m columnas de A linealmente independientes. Se dice que B es una base factible primal (o base factible del problema primal) si B-1b ≥ 0. Sea B ⊂ A una submatriz de A formada por m columnas de A linealmente independientes. Se dice que B es una base factible dual (o base factible del problema dual) si: C – CBB-1A ≥ 0 (C – CBB-1A ≤ 0 si el p. primal fuese de maximizar) Consecuencias de las definiciones. • Que B sea factible primal significa que se le puede asociar una solución: xB x = con xB = B-1b ≥ 0 xN • Que B sea factible dual significa que C – CBB-1A ≥ 0 ⇒ C ≥ CBB-1A.

38

Page 25: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Llamando yB = CBB-1 → C ≥ yBA ⇔ yBA ≤ C ⇒ yB así definida es una solución factible del problema dual. Además C – yBA ≥ 0 como los beneficios relativos del problema primal se calculan como _ C = C – πA, = C – CBB-1A = C – yBA ≥ 0 ⇒ xB = B-1b es una solución factible y óptima del problema primal. Luego como Wo = yBb = CBB-1 = CBxB = ZoptyB y xB son soluciones óptimas del primal y dual. Resumiendo, si una matriz B es a la vez una base factible primal y dual, sus soluciones asociadas xB = B-1b e yB = CBB-1 son óptimas del primal y dual, respectivamente. Desarrollo del método dual del Simplex. Consideremos el ejemplo Min Z = x1 + 4x2 + 3x4 Sujeto a: x1 + 2x2 – x3 + x4 ≥ 3 -2x1 - x2 + 4 x3 + x4 ≥ 2 xi ≥ 0 Introducimos variables de holgura x5 y x6: x1 + 2x2 – x3 + x4 - x5 = 3 -2x1 - x2 + 4 x3 + x4 - x6 = 2 xi ≥ 0 Multiplicamos por -1: -x1 - 2x2 + x3 - x4 + x5 = -3 2x1 + x2 - 4 x3 - x4 + x6 = -2 xi ≥ 0

Cj 1 4 0 3 0 0 CB base x1 x2 x3 x4 x5 x6 b 0 x5 -1 -2 1 -1 1 0 -3 0 x6 2 1 -4 -1 0 1 -2

_

Cj

1

4

0

3

0

0

_ B = [P5 P6] = I ⇒ B-1 = I ⇒ b = B-1 b ≱ 0 pero C - CBB-1ª = C = (1,4,0,3,0,0) ≥ 0 Luego B no es factible primal (porque ≱ 0), pero sí factible dual. _ _ Si tenemos, por tanto, una tabla del Simplex Dual donde Cj ≥ 0 y b ≥ 0 ⇒ estaríamos ante la solución óptima.

39

Page 26: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Situación general.

Base x1 … xr … xm xm+1 … xs … xn

_

b

x1 1 y1,m+1 … y1s … y1n

_

b1

0 …

xr 1 yr,m+1 … yrs … yr n

_

br

0

Alguno menor que cero

xm 1 yn,m+1 … yns … ymn

_

bm

_

Cj

0

0

0

_

Cm+1

_

Cs

_

Cn

≥ 0

(min)

El método del simplex dual va a calcular una solución factible básica dual adyacente, reemplazando una variable básica por una variable no básica. 1. Selección de la variable básica que deja la base. _ Se elige la variable básica con el mayor valor negativo bi. Sea br = min {bi} ⇒ xr deja la base, y la fila r es la fila pivote. bi < 0 2. Selección de la variable no básica que entra en la base (Regla de la máxima proporción).

40

Page 27: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Entra en la base xs tal que rj

j

yrs

s

yc

yc

rj 0max

<=

y el valor yrs es el pivote para construir la nueva tabla. En nuestro ejemplo: _

1) El mayor valor negativo de los bi es -3 ⇒ x5 deja la base _ _

2) Variable no básica yij Cj Cj/yij x1 -1 1 -1 x2 -2 4 -2 x4 -1 3 -3

max {-1, -2, -3} = -1 ⇒ x1 entra en la base y el pivote es -1. Aquí el pivote es negativo.

41

Page 28: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Tabla 2 del m.s.d.

Cj 1 4 0 3 0 0

CB base x1 x2 x3 x4 x5 x6

_

b 1 x1 1 2 -1 1 -1 0 3 0 x6 0 -3 -2 -3 2 1 -8

_

Cj

0

2

1

2

1

0

sale x6 _ proporciones: yij Cj x2 -3 2 -2/3 = -0’66 x3 -2 1 -1/2 = -0’5 x4 -3 2 -2/3 = -0’66 max {-0’66, -0’5} = -0’5 ⇒ entra x3 y el pivote es -2. Tabla 3 del m.s.d.

CB base x1 x2 x3 x4 x5 x6

_

b

1 x1 1 7/2 0 5/2 -2 -1/2 7 ≥ 0 0 x3 0 3/2 1 3/2 -1 -1/2 4 ≥ 0

_

Cj

0

1/2

0

1/2

2

1/2

Z = 7

_ _ Tabla óptima ⇔ Cj y b ≥ 0 Solución óptima del problema de programación lineal. OBSERVACIONES. 1.-) Resolución de problemas de maximización por el método del simplex dual.

*La regla de salida es igual * Cambia la regla de entrada, que ahora va a ser de la mínima proporción

Entra en la base x tal ques rj

yrs yy rj 0<

js cc min=

2.-) lla el criterio de entrada? Es decir, todos los y¿Qué sucede si fa ij de la fila de la variable que sale son ≥ 0. Entonces el problema no tiene solución. ¿Por qué: ejercicio?

42

Page 29: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

3.-) ¿Cómo se puede saber, utilizando el método del simplex dual, que el problema origina -8 del

orema 1 de la dualidad l tiene solución no acotada? Ejercicio: pensarlo usando los corolarios 1

te

43

Page 30: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Tema 6: Análisis de Sensibilidad y Programación Paramétrica

sis de i dad. 1. Análi sensib li

Se refiere al estudio de los cambios en la solución óptima y en el valor óptimo de Z s en los datos del problema inicial, pero sin resolver el problema de nuevo

esde el principio.

plo.

debido a cambiod Ejem

pañía fabrica 3 productos A, B y C. Los beneficios por unidad de estos roductos son 2, 3 y 1 respectivamente, y para su fabricación son necesarios 2 recursos: abajo y material. Supongamos que los valores óptimos a fabricar de los productos A, B y se obtienen resolviendo el problema:

Max Z = 2x1 + 3x2 + x3 Sujeto a: 1/3x1 + 1/3x2 (trabajo) 1/3x1 + 4/3x2 + (material)

xi ≥ 0

1 0 0

Una comptrC

+ /13x3 ≤ 1

7/3x3 ≤ 3 xi ≡ “unidades a fabricar del producto i” Tabla1 C 2 3 j

CB base x1 x2 x3 x4 x5

_

b 0 x 1/ 1/3

1/3 1 0 1 4 30 x5 3

1/ 4/37/3 0 1 3

_

Cj 2 3

1 0

0

Z = 0 Tabla2

0 x4 /4 0 -1/4 1 -1/41/4

1

3 x21/4 1 7/4 0 3/4

9/4_

Cj5/4 0 -17/4

Z = 27/40 -9/4

abla3 T

2 x1 1 0 -1 4 -1 1 3 x2 0 1 2 -1 1 2

_

-5

-1

Z = 8

0 0 -3 Cj x1 = 1 x2 = o 8 Solución óptima 2 Z pt =

44

Page 31: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

3

= P2 = P3 = P4 = P5 = 4/3

7/3 0 1

=

Max Z = Cx Ax = b x ≥ 0

x ... C = (C1, C2, ..., Cn) 1 x n x = n x 1

a21 a22 ... a2n m x 1 A = ... ... ... ... m x n b = am1 am2 ... amn m<n

a aA = [ P1 P2 … Pn ] Pi = m x 1 a ∀i = 1, ..., n Supongamos que tenemos una solución factible obtenida a partir de una base B La solución básica

1/3 1/3 1 1/ 0

P 1 1/3 C = (2,3,1,0,0)

1 b 3

1

xm

xn

a11 a12 ... a1n b1 b2 ... bm

1i

2i…

mi

bBbxB1−== bCZ B=

cualquier columna:

45

Page 32: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

jj PBP 1−= ∀j de las variables no básicas

= C B

os beneficios relativos:

-1 π B

L

jBjjBjjj ccPBcP −=−== ∀j de variables no básicas j P− −1ccc π

46

Page 33: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

1. Modificaciones en los coeficientes de la función del objetivo.

riable no básica.

(f

la base) sigue siendo óptima _ 3 = C 3 - (2,3) = C3 - 4

3

3 = C C3 si C3 3

3

CB

base x1 x2 x3 x4 x5

_

b

1.1 Cambio en el Cj de una va Variable no básica de interés → x3 orma parte del problema pero no está en la base) _ _ C3 = -3 Mientras C3<0 la solución actual (x1 y x2 en_ -1 C 3 – CBP3 = C 2

columna de x en la tabla óptima _

⇔ ≤ 4 ⇒C 3 - 4 ≤ 0 > 4 entra x en la base _

i, por jempl = 6 = 2 y haríamos una tabla más: S e o C ⇒ C3

2 x1 1 1/2 0 7/2 -1/2 2 6 x 0 1/ 1 -1/3 2 2

1/2 1

0

_

Cj -1 0

-4

-2

Z = 10 óptima 1.2 Cambio en el Cj de una variable básica.

jemplo, como se altera la tabla óptima modificando C1: _ _

2 = 0

_ 3 = C

4 = 0

5 = 0 – (C1,3) = C1 - 3

Analicemos, por e

x1 y x2 están en la base ⇒ C1 = C _ -1 C 3 - CBP3 = 1 – (C1,3) = C1 - 5 2 _ 4 C – (C1,3) = -4C1 + 3 -1 _ -1 C 1

47

Page 34: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

_ _ _ La tabla 3 seguirá siendo óptima mientras C3, C4 y C5 ≤ 0 (estamos maximizando).

3 ≤ 0

bla 3 sigue siendo óptima, si imos del intervalo [3/4,3] la tabla ya

≥ 3/4

/ 3 5

Si, por ejemplo C1 = 1 la solución de la tabla 3 (x1 = 1, x2 = 2) sigue valiendo,

.3 Cambio en Cj tanto de variables básicas como no básicas.

C1=1, C2=4, C3=2 En la tabla 3 hay que cambiar

_ _

_C ⇔ C1 - 5 ≤ 0 ⇔ C1 ≤ 5 _ C1 ≤ 0 ⇔ -4C1 + 3 ≤ 0 ⇔ C1 ≥ 3/4 ⇒ si C1 ∈ [3/4,3] la ta_ nos salC5 ≤ 0 ⇔ C1 - 3 ≤ 0 ⇔ C1 ≤ 3 no es óptima ≤ 5

3 0 4 ≤ 3 _ 1 pero cambia Zopt = CBb = (1,3) = 7 2 1

Hagamos, por ejemplo,

_C1 = C2 = 0 (el Ci de las variables básicas siempre es 0) _ -1 C3 = 2 – (1,4) = -5 < 0 2 _ 4 C4 = 0 – (1,4) = 0 -1 _ -1 C5 = 0 – (1,4) = -3 < 0

1 La solución de la tabla 3 sigue siendo óptima. Ahora Zopt = 9 y tendríamos una solución óptima alternativa haciendo entrar a x4. Si alguno de los Ci fuese > 0 la tabla no

blas. _ sería óptima y habría que seguir calculando taal, hay que recalcular la fila En gener de los Cj. Si la tabla deja de ser óptima, habría

on el simplex. que continuar c

ciones en la2. Modifica s constantes de la derecha de las restricciones. Com lex: o, en cada tabla del simp

48

Page 35: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Base = { xi1, xi2, …, xim } ⇒ B = [Pi1, Pi2, …, Pim] _

bBb 1−=xB = es el vector solución

uede realizar 1 hora más de trabajo (b1 cre

1 = 2 b = b 4 n la tabla ó ma, B = (P 2) y B -1 Luego b = B-1b = = 1 3 1

1x2 = 1 x3 = 0

Zopt = 13 Entonces, por unidad aume isponibil 1, el beneficio que se obtien es: 13-8 = unidades

efini ón-

Supongamos que en el problema del ejemplo se pce una unidad).

b1 2 b1 = 1 → b =

2 3

-1E pti 1 P -1 = 1 _ 4 -1 2 5

-1 Así, la nueva solución óptima es: x = 5

ntada en la d idad del recursoe 5 .

D ci Se llama precio sombra, m ginal o d equilibri de la (recurso) i l cambio que se produce en el valor de la función del objetivo por unidad aumentada en la isponibilidad del recurso i.

ución óptima

hora ien, p ra qu los p s mbra no den información errónea, debemos i en el que la solución sigue siendo óptima.

o calc lamos emplo, para b1:

* =

Para que la tabla 3 siga siendo óptima, es preciso que B b* ≥ 0 1 4b1 – 3 ≥ 0 ⇔ b1 ≥ 3/4

⇒ -b1 + 3 ≥ 0 ⇔ b1 ≤ 3

ar e o restricciónad Se prueba que los precios sombra de los recursos i = 1, …, m son la sol

iopt del dual i = 1, …, m y

En nuestro caso:

4 -1 (y1

opt,y2opt) = π =CBB-1 = (2,3) = (5,1) -1 1

A b a e recio socalcular cuál es el campo de variación de los b L u , por ej b1b 3

-1 4 -1 b 4b1 – 3 B-1b* = = ≥ 0 ⇔ -1 1 3 -b1 + 3

49

Page 36: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

⇒ Si b seguirá siendo óptima

x1 = 4b1 – 3 x2 = -b1 + 3 x3 = 0

13 Sea, po

1 ∈ [3/4,3] la solución

Zopt = 2(4b1 – 3) + 3(-b1 + 3) = 5b1 + 3

r ejemplo b1 = 4, ahora B-1b = ≱ 0 -1

La tabla 3 queda:

base x1 x2 x3 x4 x5

_

b x1 1 0 -1 4 -1 13 x2 2 -1 1 -1 0 1_

C 0 0 -3 -5 j -1

le imal, pero sí f Esta tabla no es factib pr

S x actible dual ⇒ aplicamos el Método del

imple Dual: x deja la base y entra x

base x x2 x3 x4 x5

_

2 4

1b

x1 9 ≥ 0 x4 1 ≥ 0 Zopt = 18

3. Modificaciones en la matriz de eficien de las tricciones.co tes res

una nueva actividad (variable).

Supongamos que la compañía puede sacar a la venta un nuevo producto D, que requiere 1 unidad de trabajo y 1 unidad de material, con beneficio/unidad = 3.

1Esto equivale a añadir una variable x y una columna en la tabla 1.

_ 1La tabla 3 seguirá siendo óptima si es C6 ≤_ C6 = C6 – πP6 = 3 – (5,1) = -3 1 Luego la solución de la tabla 3 sigue siendo óptima. Si C6 > 0 se aplicaría el simples. 3.2 Variaciones en las condiciones de las variables existentes. 3.2.1 Camb corresp dientes una vari le no bá ca.

3.1Adición de

6

0: 1

_

ios on a ab si

50

Page 37: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Se hace como en 3.1

3.2.2 Cambios correspondientes a variables básicas.

Mejor resolver el problema de nuevo, porque al cambiar la matriz básica B se cambian todas las columnas de la tabla.

.3 Adición de nuevas restricciones. Supongamos que se añade una restricción referente a los servicios administrativos,

ue los productos A, B y C requieren 1, 2 y 1 hora de servicios ientras las horas totales disponibles son 10.

e siendo óptima: stricción

estricción fuese x1 + 2x2 + x3 ≤ 4: 1•1 + 2•2 + 1•0 ≰ 4

ñadimos la nueva restricción a la tabla 3:

C x4 x5 x6

_

b

3

de tal modo qspectivamente, mre

x1 + 2x2 + x3 ≤ 10 Si la solución óptima de la tabla 3 satisface la restricción, sigu 1•1 + 2•2 + 1•0 ≤ 10, cumple la re Si la r

A

B base x1 x2 x3

2 0 -1 4 -1 0 1 x1 1 3 1 2 -1 1 0 2 x2 0 0 1 2 1 0 0 1 4 x6

C

_

j

0

0

-3

-5

-1

0

(3ªF – 1ªF - 2•(2ªF))

C base x x2 x x4 x5 x6

_

b

B 1 3

x1 1 - 4 1 0 1 -1 0 x2 0 1 2 -1 1 0 2 x6 0 0 -2 -2 -1 1 -1

0 0 _

Cj

-3

-5

-1

0

x1 2 x2 1 x5 1

51

Page 38: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Zo 7 pt = En la tabla 3 opt = 8 → ∆Zopt Esto siempr s ciert a de programación lineal el nuevo valor de la función del objetivo es igual o peor que el anterior.

bservaciones.

, Z = -1

e e o: al añadir una restricción a un problem

O

Tiempo de resolución de un p.p.l ≡ f(m3), siendo m el número de restricciones

.

restricciones de A) son verificadas por la solución óptima.

ogramación paramétrica.

A) Quitar restricciones inactivas o secundarias B) Resolver C) Añadir y comprobar si las Pr

1. Costes (Beneficios) paramétricos

Ax = b x ≥ 0

C = (C1 2, …, Cn) λ ∈ℝ C = (C C2*, …, C ) Primero se resuelve el problema para λ = 0. Sea B la base óptima: _ _ Cj ≤ 0 (Maximizando) Cj = Cj - CBPj_ _ _ _

j(λ) = (Cj + λ j*) – (CB + λ j = - C λ (Cj* - CB* Pj) = Cj + λCj*

Z = [C + λC*] x

, C

1*, n*

_

_ _ C C CB*)P (Cj BPj) + Ejemplo: Max Z = (2 + λ)x1 + (3 - λ)x2 + (1 + λ)x

1 1 1 3

/3x1 + /3x2 + /3x3 ≤ 1 1/3x1 + 4/3x2 + 7/3x3 ≤ 3 xi ≥

j* 1 -1 1 0 0

0

C j 2 3 1 0 0 C

52

Page 39: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

CB* CB base x1 x2 x3 x4 x5

_

B 1 2 x1 1 0 -1 4 -1 1 -1 3 x2 0 1 2 -1 1 2

_

Cj

0

-3 -5

-1 0

bCZ B== 8

_

Cj* 0 0 4

-5

-2

bCZ B** 1=−=

_ _

or ejemplo, C3* = C3* - CB*P3 = 1 – (1,-1) = 4 2

(λ) = Z + λZ* = 8 - λ 3(λ) = -3 + 4λ ≤ 0 ⇔ λ ≤ 3/4 (λ) = -5 -5λ ≤ 0 ⇔ λ ≥ -1

_ 5(λ) = -1 + 2λ ≤ 0 ⇔ λ ≤ 1/2

La solu

-1 P Z_C_C4

C ción sigue siendo óptima si λ ∈ [-1, 1/2].

i λ > 1/2 ⇒ C5(λ) > 0 (⇒ entra x5 y sale x2)

base x1 x2 x3 x4 x5

_

b

S

x1 1 1 1 3 0 3 x5 0 1 2 -1 1 2 _

Cj

0

1

-1

-6

0

Z = 6 _

Cj*

0

-2

0

-3

0

Z* = 3 _ _ _

La solución es óptima si C2(λ), C3(λ), C4(λ) ≤ 0 → ocurre si λ ≥ 1/2 y Z = 6 + 3λ _ ara λ < -1 C4(λ)>0 (⇒ sale x1 y entra x4)

b x5

_

b

P

ase x1 x2 x3 x4

x41/4

1/4 0 -1/4 1 -1/4

53

Page 40: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

x2 1 3/49/4

1/47/4 0

_

j 4 0 -17/4 0 -9/4

Z = 27/4

5/C_

Cj* 0 11/4

0

3/4

Z* = -9/45/4

27Z(λ) = /4 - /9

4λ _ _ _

Solución óptima si C1(λ), C3(λ), C5(λ) ≤ 0 ⇔ λ ≤ -1

54

Page 41: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

. Variación paramétrica del vector de recursos.

Z x b + αb* b = … b* …

bm bm*

lvemos para α = 0. Sea B la base óptima: _ xB = b = B-1b

_ _ b*, B b* = b + αb*

_ _ Si b + αb* ≥ 0 la base B seguirá siendo óptima. Ejemplo:

2

= C

b1

b1* Ax = = x ≥ 0

α∈ℝ Primero reso

_ Para b + α x = b = B-1(b + αb*) = B-1b + αB-1

1 1+ Hagamos b* = b + αb* = -1 3 Resolver para α = 0:

α

55

Page 42: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

base x1 x2 x3 x4 x5

_

b

_

b* x1 1 0 -1 4 -1 1 5 x2 0 1 2 -1 1 2 -2 _

Cj

0

0

-3

-5

-1

bCZ B== 8

** 4 bCZ B== _ b = B-1b = -1 1 3 2 _ b* = B-1b = -1 1 -1 -2 x1 = 1 + 5α ≥ 0 ⇔ α ≥ - 1/5

x2 = 2 - 2α ≥ 0 ⇔ α ≤ 1 Zopt = 8 + 4α α ∈ [- 1/5,1] Si α > 1

4 -1 1 1 =

4 -1 1 5 =

⇒ x2 < 0 y la solución actual no es factible, pero sí factible dual. Usando el Método del Simplex Dual obtenemos:

CB base x1 2 3 4 5

_ _ x x x x

b b* 2 x1 1 4 7 0 3 9 -3 0 x4 0 -1 -2 1 -1 -2 2

_

Cj 0 -5 -13 0 -6 Z = 18 Z* = -6 x1 = 9 - 3α ≥ 0 si α ≤ 3

Z = 18 -6α Si α > 3

x2 = -2 + 2α ≥ 0 si α ≥ 1 α ∈ [1,3]

⇒ 0 y la solución actual no factibles, blema es NO FACTIBLE.

x1 < . Como en la fila de x1 no hay coeficientes negativo el pro

i α < - S 1/5 ⇒ x1 < 0 (⇒ por el Método del Simplex Dual sale x1 y entra x5)

x1 x2 x3 x4 x5

_

b

_

b*

base

x5 -1 0 1 -4 1 -1 -5

56

Page 43: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

x2 1 1 1 3 0 3 3 _

Cj

-1

0

-2

-9

0

Z = 9

Z* = 9 x2 = 3 + 3α ≥ 0

si -1 ≤ α < - 1/5

Si α < -1 ⇒ x2 < 0 → problema NO FACTIBLE

x5 = -1 - 5α ≥ 0 Z = 9 + 9α

57

Page 44: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Tema 7. Programación lineal entera.

Un p.p.l. entera es aquel en el que todas las variables de decisión (programación entera pura) o algunas de ellas (programación entera mixta) toman exclusivamente valores enteros. Una forma de tratar este problema es el redondeo (quedarse con la parte entera por arriba ó abajo teniendo cuidado de que la solución que así se obtenga sea factible) Algoritmo de ramificación y acotación (Branco and Bound Algorithm). Maximizar Z = 3x1+2x2

Sujeto a x1 ≤ 2 x2 ≤ 2

x1+ x2 ≤ 3.5 x1,x2 ≥ 0 y enteros.

Soluciones enteras

58

Page 45: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Z=3x1+2x2Z(0,0)=0 Z(0,1)=2 Z(0,2)=4 Z(1,0)=3 Z(1,1)=5

(1,2)=7 Z(2,0)=6 Z(2,1)= lgoritmo. Primero resoentera

Z

8 óptimo A

lvemos el problema olvidándonos de la restricción de variables s (PL-1)

59

Page 46: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Región factible ABCDE óptimo x1 =2, x2=1.5 ZOptimo=9

Sabemos que añadir las restricciones de que las variables sean enteras no puede mejorar la función del objetivo. Tenemos así que Z0=9 es una cota superior para el valor óptimo del problema inicial.

Creamos ahora 2 nuevos problemas

x2=1.5 x2≤1

x2≥2

60

Page 47: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

PL-2 PL-3

Maximizar Z = 3x1+2x2

Maximizar Z = 3x1+2x2

x ≤ 2 x ≤ 2

x1+ x2 ≤ 3.5 x1+ x2 ≤ 3.5 x2≤ 1 x2≥ 2

x1,x2 ≥ 0 x1,x2 ≥ 0 PL-2

1 1 x2≤ 2 x2≤ 2

61

Page 48: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

PL-3 Región factible = s o AB

egment

La solución óptima de PL-2 es x1 =2, x2=1 ZOptimo=8

L-1 pero Z=8.5>8, ⇒ hay que construir 2

PL-4

Así tenemos una s.f. entera de PL-1 (Fijarse que cada solución entera factible de PL-1 está contenida en PL-2 ó en PL-3). Aunque PL-2 pueda contener otras soluciones enteras, sus valores de la función objetivo no pueden ser más grandes que 8, ⇒ Z=8 es una cota inferior del valor máximo de Z en el PL-1. Luego 8≤ Zoptimo≤9

En PL-3 la solución óptima es x1 =1.5, x2=2 ZOptimo=8.5 x1 no es factible (no es entero) para Pnuevos problemas

PL-5PL-3 + restricción x1≤ 1 PL-3 + restricción x1≥ 2

62

Page 49: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

PL-5 No tiene región factible.

PL-4

Solución óptima entera: x =1, x =2 Z timo=7 pero es peor que 8.

Por tanto la solución óptima es la de PL-2 x =2, x =1 Z =8

bol obtenido es el siguiente:

1 2 Op

1 2 Optimo

El ár

63

Page 50: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

ETALLES GENERALES

· MIP (Mixed Integer Program)

AX = b X≥ 0 Xj entera para j perteneciente a I = {índices de las variables enteras}

Se resuelve el MIP sin condiciones enteras. A este problema le llamamos PL-1 con olución óptima Z1. Supongamos que la solución óptima toma valores no enteros en alguna ariable entera, y por lo tanto no es solución del MIP. Sí es, en cambio, una cota superior el valor timo de Z en el MIP.

Se elige una variab tera Xj que dio o entera. Si Xjproblemas:

D

Max Sujeto a

imizar Z = CX

· svd óp

le en n = βj, se construyen 2 nuevos

64

Page 51: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

PL3: Z = CX Maximizar Z = CX

= b AX = b -

X ≥ 0 Xj≥ βj+

X ≥ 0

iable Xj en la que hacer la bifurcación hay las siguientes reglas:

1). A ojo o al azar.

2). Por prioridades, según...

blema.

ficio) es más grande que en las demás variables.

ución anterior del problema.

podemos usar el MSD

óptimas de PL-2 y de PL-3 siguen siendo fraccionarias

PL-2: Maximizar

AX Xj ≤ βj

· Para elegir la var

· La variable representa una decisión importante en el pro

· Su coste (o bene

· Decisión según resol

· Como PL-2 y PL-3 son PL-1 con una nueva restricción añadida, ex Dual) para encontrar sus soluciones óptimas. (Método del Simpl

· Supongamos que las soluciones . El nar PL-2 o PL-3 para hacer una nueva ramificación. Para

r ópt ejor.

(Last-in-First-out rule, LIFO)

amificaciones y resolución de p.p.l hasta resolver uno que función objetivo en este caso será una cota inferior del

alor óptimo del MIP original. En este momento podemos dejar de considerar todos quellos nodos cuyos valores de Z no sean mejores que la cota inferior. Se dice que esos odos han sido saturados.

siguiente paso consiste en seleccioello:

a). Se elige aquel problema cuyo valo imo sea el m

b). Se selecciona el problema resuelto más recientemente

· Continuamos así la sucesión de renga solución entera. El valor de lat

van

· DEFINICIÓN: un nodo intermedio está explícita o implícitamente saturado siempre que se satisfaga una de las siguientes condiciones:

óptima del p.p.l correspondiente es entera.

fa le.

1). La solución

2). El p.p.l correspondiente es no ctib

3). El valor óptimo de Z para el p.p.l correspondiente no es mejor que la cota inferior actual.

65

Page 52: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

· Del árbol mostrado en la figura superior:

r solución del problema MIP no puede ser mejor

Nodo 6 está saturado implícitamente.

, habría que ramificar a partir del Nodo7.

· El Nodo 4 está saturado. Cualquieque esta.

· El Nodo 5 está saturado por ser no factible.

· Supongamos que Z6 < Z4, el

· En el caso de que Z7 > Z4

· Notas

- La eficacia del método radica en la rapidez con que se saturen los nodos.

- Es importante mantener el número de variables enteras lo menor posible.

- Proporcionar cotas ajustadas superiores e inferiores de Zoptimo.

- Al contrario que un p.p.l general, la adición de nuevas restricciones a un MIP generalmente reducirá el tiempo de computación, especialmente cuando las nuevas restricciones contengan variables enteras.

- A veces llega con que:

[(CotaSuperior Z - CotaInferior Z) / CotaSuperior Z] < [% pequeño del óptimo continuo]

66

Page 53: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Tema 8: Problemas Especiales de Programación Lineal.

Problem s de Tr

a ansporte. Consideremos: M acenes con ex N m cados em 1 2 N Sea ≡ coste por unidad nviada acén i al mercado j i 1…M j = 1…N Se ta de ca ad a enviar desde cada almacén hasta cada mercado

mizan el coste t

2 i M • … • … •

• … • … •

j N

cén i al mercado j”

almer

istencias a1, a2, …, aM con d andas b , b , …, b

Cij e del alm=

tdo ra lcular la cantid

m

ini otal del transporte.

1 ALMACÉN •

MERCADO 1 2

Sea x = “nº de unidades o cantidad enviada desde el almaij M NFunción objetivo: Min Z = ∑ ∑ Cij xij

i=1 j=1

Sujeto a:

1 M • … •

xij xiN

• • … • 1 j N

+ xi2 + … + xij + … + x ≤ ai ∀ 1,2,…,M

cantidad total existencia enviada d el almacén

almacén i-ésimo imo

Las restricciones vienen dadas por las capacidades de los almacenes y las exigencias de los mercados.

i • …

xi1

xi1 iN i=

esde el en i-és

67

Page 54: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

1 i M • … •

xij xMj

… •

1 j N

x1j + x2j + … + xij + … + xMj ≥bj ∀j=1,2,…,N

cantidad total cantidad que recibe el demandada por

mercado j el mercado j M N Queda Min Z = ∑ ∑ Cij xij i=1 j=1

N sujeto a: ∑ xij ≤ ai i=1…M j=1

M ∑ xij ≥ bj j=1…N i=1

xij ≥ 0 ∀i,j M+N restricciones MxN variables Es evidente que el problema es factible (tiene solución) si: M N i=1 almacenado demandado M N Si ∑ ai = ∑ bj se tiene un problema de transporte estándar: i=1 j=1

M N Min Z = ∑ ∑ Cij xij

i=1 j=1

sujeto a: N ∑ xij = ai i=1…M j=1

M ∑ xij = bj j=1…N i=1

xij ≥ 0 ∀i,j

• …

x1j

• … •

∑ ai ≥ ∑ bjj=1

68

Page 55: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Desarrollaremos técnicas de resolución para problemas de este tipo, por ello, si no se cumple que: ∑ ai = ∑ bj por ejemplo si: M N ∑ ai > ∑ bj ( I )

a cantidad enviada es mayor que la cantidad demandada. Habrá una cierta cantidad que no ces un mercado ficticio, llamado N+1, con demanda precisamente

al a esa cantidad).

a aM • • … •

b1

i=1 j=1

mercado

ficticio exceso de mercancía

El problema se reescribe: …,M lo que sobra en el almacén i M N+1

Min Z = ∑ ∑ Cij i=1 j=1

sujeto a: N+1 ∑ xij = ai i=1…M j=1

M ∑ x j j=1…N+1 i=1

xij ≥ 0 ∀i,j Si: M ∑ ai < i=1

i=1 j=1

(Lse enviará. Se crea entonigu

a1 2

• • … • •

M N

b2 bN bN+1 = ∑ ai - ∑ bj con Ci,N+1 = 0 ∀i=1…N

xi,N+1 i=1,

xij

ij = b

N∑ bj ( II )

j=1

69

Page 56: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

(La cantidad enviada es menor que la demandada. No se cumplirán todas las demandas y abrá una cierta pérdida en algún mercado. Se crea entonces un almacén ficticio, llamado

M+h

1, con la cantidad que falta).

70

Page 57: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

almacén

ficticio

a1 a2 aM aM+1

N M

= ∑ bj - ∑ ai con CM+1,j = 0 y xM+1,j es la

j=1 i=1 la pérdida en el mercado j • • … • •

• • … • b1 b2 bN

El problema se reescribe:

M+1 N Min Z = ∑ ∑ Cij xij

i=1 j=1

∑ xij = i=1…M+1 j=1

M+1 ∑ xij = b j=1…N i=1

x 0 ∀i,j

ar puede expresarse en forma de tabla con los

Mercados Almacene 1 2 3 … N Existencias

sujeto a: N ai

j

ij ≥ El problema de Transporte estánddatos (ai, bj, Cij).

s

1 C11

x12 x13 x1N

C12 C13

C1N

a1

x11

2 x21 x22

C

x23

C23

x12N

C2N

2C21 22

a

… …

i xi1

i1

xi2

Ci2

xi1

Ci3

x

CiN

iC

iNa

… …

M M1 xM2

CM

M3

CM3

xMN

CMN

aM

x x

CM1 2

71

Page 58: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Demandas b1 b2 b3 … bN Sumas or filas = existencias ⇒ RESTRICCIONES DE ALMACENAJE Sumas x nas = demandas ⇒ ESTRICCIO S DE DEMA

xij pij por colum R NE NDAS

72

Page 59: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Obtención de una solución factible básica inicial: El proble de transpor tiene M+Nma te restricciones ⇒ na solución factible básica necesita, en principio, M+N variables básicas. M N Ahora bien, dado que ∑ ∑ xij = ai

i=1 j=1

M

M

∑ xij = bj ∀j=1…N i=1

M N M

Sistema de ecuaciones / suma de las M primeras filas = suma de las N restantes 1 ecuación es linealmente dependiente de las demás ⇒ El problema de transporte tánda

u

M ∑ i=1

(sumamos todas las ecuaciones ∑ xij = ai)

j=1

N ∑ ∑ xij = ∑ bj = ∑ aij=1 i=1 j=1 i=1

⇒es r tiene M+N-1 restricciones linealmente independientes ⇒ Una solución factible básica necesita M+N-1 variables básicas.

Hay diferentes métodos para resolver la solución factible básica inicial, nosotros sólo vemos 2.

Obtención de una

(1) solución

factible básica inicial

(2 Comprobaó im

NO SI FIN

Se mejora niendo

otra solución factible

r si es ) pt a

(3) obte

73

Page 60: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

básica

(1) Hay varios métodos: esquina noroeste, coste mínimo, de Vogel, de aproximación de

(2) Método U-V

(3) Algoritmo de Steeping-Stone

étodo de la esquina noroeste.

Consiste en elegir como variables básicas (>0) aquellas que ocupen la esquina oroeste en la tabla de transporte estándar.

M1 M2 M M4 capacidades

Russell…

M n

3

A 2 2 2 1 3 = a1

+ 1

A 10 8 5 4 7 = a2

+ 2

A 7 6 6 8 5 = a33

dema 4 3 4 4 15ndas

‖ ‖ ‖ ‖

legim s x11 = } = 3

M M2 M3 4

b1 + b2 + b3 + b4 E o min{3,4

1 M A1 3 0 0 0 3-3=0A2 7 A3 5

4-3=1 3 4 4 Elegim min{a2, b1’} = min{7,1} = 1 b1’ es el b1 después de restarle lo que enviamos

M1 M2 M3 M4

os x21 =

A1 3 0 0 0 0 A2 1 7-1=6 A 0 5 3

1-1=0 3 4 4 Elegimos x22 = min{a ’, b2} = min{6,3} = 3

2

74

Page 61: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

M1 M M3 M4 2A1 3 0 0 0 0 A2 1 3 6-3=3 A3 0 0 5

0 0 4 4 Elegimos x23 = min{ 3} = n{3,4} = 3

M1 2 M3 M4

b2’, a mi

MA1 3 0 0 0 0 A2 1 3 3 0 0 A3 0 0 5

0 0 4-3=1 4 Elegimos x = min{a ’, b } = min{1,5} = 1

M1 M2 M3 M4

33 3 3

A1 3 0 0 0 0 A2 1 3 3 0 0 A3 0 0 1 4 5-1=4

0 0 0 4 M+N-1 = 4+3-1 = 6 variables básicas > 0. Z = 3•2 + 1•10 + 3•8 + 3•5 + 1•6 + 4•8 = 93 Método del coste mínimo.

Consiste en ir eligiendo como variables básicas (>0) aquellas que tengan menor

M1 2

coste.

M M3 M4A1 2 2 1 3 2 A2 8 5 4 7 10A3 5 7 6 6 8

4 3 4 4 Menor coste C14 = 1 x in{3,4} = 3

M2 M3 M4

14 = m

M1

75

Page 62: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

A1 0 0 0 3 0 7 A2 5 A3

4 3 4 1 Menor coste de celdas sin ocupar C24 = 4 x24 = min{7,1} = 1

M1 M2 M3 M4 A1 0 0 0 3 0 A2 1 7 6 A3 0 5

4 3 4 1 0

M1 M2 M3 M4 A1 0 0 0 3 0

4 1 6 2 A2 0 0 5 A3

4 3 4 0 0

M M M M 1 2 3 4A1 0 0 0 3 0 A2 0 4 1 2 A3 3 0 0 5 2

4 3 0 0 0

M1 M2 M3 M4 A1 0 0 0 3 0 A2 2 0 4 1 2 A3 2 3 0 0 2

4 0 0 0 Z = 79 Método de Steeping-Stone (Mejora de la solución factible básica inicial). Primero es preciso saber si la solución factible básica inicial es óptima o no. En el

M1 M2 M3 M4

ejemplo anterior:

A1

0

2

0

2

0

2

3

1 3

76

Page 63: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

A2

2

10

0

8

4

5

1

4 7

A3

2

7

3

6

0

6

0

8 5

4 3 4 4 Actualmente x11 = 0, si hacemos x11 = 1

M1 M 4A +1 -1 1A2 -1 +1

_ C11 = C11•(cambio en x11) + C14•(cambio en x14) + C21•(cambio en x21) + C24•(cambio en

24) = 2•(1) + 1•(-1) + 10•(-1) + 4•(+1) = -5

Se pueden calcular todos los beneficios relativos de las variables no básicas imultáneamente, mediante el método U-V o MODI (Modified Distribution Method).

étodo U-V.

ij i j

e tendrá que Cij = Cij - (Ui + Vj) para cada variable no básica.

U2 + V1 = 10 U2 + V3 = 5 U2 + V4 = 4 U3 + V1 = 7 U3 + V2 = 6 Hacemos U1 = 0 → V4 = 1→ U2 = 3 → V1 =7 y V3 = 2

U3 = 0 → V2 = 6 _

11 - (U1 + V1) = 2 – (0+7) = -5 _ C12 = 2 - 6) =

1 3 4

x beneficio

relativo de C1

s

M

Se calculan números: Ui ∀i=1…M

Vj ∀j=1…N tales que: C = U + V para cada variable básica _

S

M M M M A1 M4

U1 + V4 = 1 2

A1

2

2

2

1

A2

10

8

5

4

A3

7

6

6

8

C

(0 + -4

77

Page 64: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

_ C13 = 2 – 2) = 0_

22 = 8 – (3 + 6) = -1 _ C33 = 6 – (0 + 2) = 4

C34 = 8 – (0 + 1) = 7

V1 = 7 V2 = 6 V3 = 2 V4 = 1

(0 +

C

_

U1 = 0

2

2

2

1

U2 = 3 •

10

8

5

4

U3 = 0 •

7

6

6

8 Las casillas sin marca • serán las variables no básicas. 2-7-0 = -5 2-6-0 = -4

V1 = 7 V2 = 6 V3 = 2 V4 = 1

U1 = 0 -5

2

-4

2

0

2

0

1

U2 = 3 0

10

-1

8 5

0

4

0

U3 = 0 0

7

0

6

4

6

7

8 Menor beneficio relativo negativo -5 ⇒ x11 entra en la base:

+ θ 3 - θ 3

78

Page 65: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Máximo valor para θ = 2, porque sino en x21 pasaría a ser negativo y no puede ser.

(Steeping-Stone) Nueva solución factible básica:

Z = 69

Miramos si es óptima (método U-V)

V1 = 2 V2 = 1 V3 = 2 V4 = 1

U1 = 0 ×

2

1

2

0

2

×

1

U2 = 3 5

10

4

8

×

5

×

4

U3 = 5 ×

7

×

6

-1

6

2

8 Solución no óptima; entra x33 en la base:

Máximo valor posible para θ = 1

Z = 68

y se comprueba que es la óptima.

2 - θ 4 1 + θ 7 2 3 5 4 3 4 4

2 1 0 4 3 2 3

2 + θ 1 - θ 4 - θ 3 + θ

2 - θ 3 + θ

3 3 4 1 3 1

79

Page 66: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

Investigación Operativa 2008/09

80

Problemas de Asignación. Formulación general de un problema de asignación estándar:

Se tienen N máquinas y N trabajos diferentes. Cada máquina puede realizar un único abajo y cada trabajo sólo puede efectuarlo una máquina. Se supone que el coste de

realización de cada trabajo por cada máquina varía. El problema consiste en resolver qué trabajo realiza cada máquina de manera que el coste total de realización de los N trabajos sea mínimo. M1 M2 … MN N máquinas T1 T2 … TN N trabajos Mij ≡ la máquina i realiza el trabajo j con coste Cij, i = 1…N, j=1,…N Si la máquina i no puede realizar el trabajo j se escribirá Cij = M con M → ∞ Una manera intuitiva de resolver este problema es enumerar todas las posibilidades y calcular Z en ellas. ¿Cuántas asignaciones posibles hay? Ej// Para 2 máquinas y 2 trabajos:

1ª asignación: M1 → T1 2ª asignación: M1 → T2

M2 → T1 M2 → T1Coste = C11 + C22 Coste = C21 + C12

Formulamos el problema de asignación como un problema de programación lineal.

tr

1 si la máquina i realiza el trabajo j Sea xij = 0 no Dado que cada máquina realiza un único trabajo:

N ∑ xij = 1 i = 1…N

suma de trabajos que realiza la máquina i Dado que cada trabajo se le asigna a una única máquina:

N ∑ xij = 1 j = 1…N

T1 T2M1 C11 C12M2 C21 C22

j=1

80

Page 67: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

81

P

i=1

cantidad de máquinas que realizan el trabajo j Función objetivo: BN N

Min ∑ ∑ CBijB xBijB

P

i=1 j=1

Tabla de costes de asignación estándar

En general en un problema de transporte necesitaríamos 2N-1 variables básicas > 0, cuando en los problemas de asignación sólo habrá N variables > 0. No usaremos ni transporte ni simplex porque trabajaríamos con soluciones degeneradas. UFormulación general de un problema de asignación no estándar:

a) Hay más máquinas que trabajos → creamos “trabajos” ficticios con coste de realización cero.

b) Hay más trabajos que máquinas → creamos “máquinas” ficticias con coste de realización trabajo/máquina ficticia = 0.

Método o Algoritmo Húngaro (König). El principio básico radica en que la asignación óptima no cambia si se suma o se resta una constante a una fila o columna de la tabla de costes de asignación estándar. El método consiste en restar una cantidad a las filas y/o columnas de manera que se encuentre una asignación óptima a simple vista. Iniciamos el algoritmo examinando cada fila (columna) de la matriz de costes para identificar el elemento más pequeño. Esa cantidad se le resta a todos los elementos de dicha fila (columna). Esto origina una tabla que contiene al menos un cero en cada fila (columna). Ahora se intenta realizar una asignación factible usando las celdas con coste cero. Si es posible, se tendrá una asignación óptima. UEjemplo:

TB1 B TB2 B TB3 B TB4 B M B1B 10 9 8 7 → mínimo = 7

TB1 B TB2 B … TBNB M B1B CB11 B CB12 B CB1NB 1 M B2B CB21 B CB22 B CB2NB 1 … M BNB CBN1 B CBN2 B CBNN B 1

1 1 1

Page 68: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

82

M B2B 3 4 5 6 → mínimo = 3 M B3B 2 1 1 2 → mínimo = 1 M B4B 4 3 5 6 → mínimo = 3

A cada x BijB le restamos el mínimo de su fila:

TB1 B TB2 B TB3 B TB4 B

M B1B 3 2 1 0 M B2B 0 1 2 3 M B3B 1 0 0 1 M B4B 1 0 2 3

Utilizando los ceros intentamos realizar una asignación factible: M B1 B→ TB4 B

M B2 B→ TB1 B

M B3 B→ TB2 B

→ TB3 BM B3 B→ TB3 B

M B4 B→ TB2 BM B4 B→ TB2 B

y ésta es la asignación óptima. UEjemplo: 4 máquinas, 4 trabajos

TB1 B TB2 B TB3 B TB4 B M B1B 10 9 7 8 → mínimo = 7 M B2B 5 8 7 7 → mínimo = 5 M B3B 5 4 6 5 → mínimo = 4 M B4B 2 3 4 5 → mínimo = 2

Cogemos el mínimo por filas y se lo restamos:

M B2 B→ TB1 B M B4 B→ TB1 B

Como dos máquinas estarían realizando el mismo trabajo no sería una asignación óptima. Cogemos el mínimo por columnas: M B1 B→ TB3 B

→ TB4 B

M B2 B→ TB1 B

M B3 B→ TB2 B

→ TB4 B

M B4 B→ TB1 B

TB1 B TB2 B TB3 B TB4 B

M B1B 3 2 0 1 M B2B 0 3 2 2 M B3B 1 0 2 1 M B4B 0 1 2 3

TB1 B TB2 B TB3 B TB4 B

M B1B 3 2 0 0 M B2B 0 3 2 1 M B3B 1 0 2 0 M B4B 0 1 2 2

Page 69: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

83

Lo que se hace ahora es trazar líneas de modo que se cubran todas las celdas con ceros. El teorema de König establece que el número mínimo de líneas necesario es igual al número máximo de trabajos que pueden asignarse usando dichas celdas.

Ahora se selecciona el elemento más pequeño no cubierto por las líneas, que en este ejemplo es el 1. Se resta este número de todos los elementos no cubiertos, y se le suma a los cubiertos que sean intersección de dos líneas. Es equivalente a

restar 1 de la 2ª y 4ª fila y sumar 1 a la 1ª columna, por lo que la asignación óptima no varía.

M B1 B→ TB3

B B→ TB4 B

M B2 B→ TB1

B B → TB4 B

M B3 B→ TB2

B B→ TB4 B

M B4 B→ TB1

B B→ TB2 B

Las asignaciones serían: M B1 B→ TB3 BM B1 B→ TB3

M B2 B→ TB1 BM B2 B→ TB4

M B3 B→ TB4 BóB BM B3 B→ TB2

M B4 B→ TB2 BM B4 B→ TB1

B BZBopt B = 20

TB1 B TB2 B TB3 B TB4 B

M B1B 3 2 0 0 M B2B 0 3 2 1 M B3B 1 0 2 0 M B4B 0 1 2 2

TB1 B TB2 B TB3 B TB4 B

M B1B 4 2 0 0 M B2B 0 2 1 0 M B3B 2 0 2 0 M B4B 0 0 1 1

Page 70: Tema 3: Mtodo del Simplex Revisado - QueGrande.orgquegrande.org/apuntes/ETIX/3/IO/teoria/08-09/apuntes_3.pdf · * columna de la v. que entra * b Ejemplo: Max Z = 3x1 + 2x2 - x1 +

Investigación Operativa 2008/09

84