Upload
lyduong
View
225
Download
0
Embed Size (px)
Citation preview
Tema 5: Analisis de Sensibilidad
y Parametrico
5.1 Introduccion
5.2 Cambios en los coeficientes de la funcion objetivo
5.3 Cambios en el rhs
5.4 Analisis de Sensibilidad y Dualidad
5.4.1 Cambios en el coeficiente en la funcion objetivo de una variable
no basica
5.4.2 Cambios en la columna de una variable no basica
5.4.3 Anadir una nueva variable
5.5 Analisis Parametrico con WinQSB
1
5.1 Introduccion
Hipotesis en PL: parametros deterministas (conocidos y fijos).
Realidad: los parametros son estimaciones de los valores reales.
Analisis de Sensibilidad: ¿como afecta a la solucion optima los cambiosen los parametros del modelo? Obtener de forma eficiente la nuevasolucion optima (si existe) sin resolver de nuevo el modelo.
Supongamos resuelto el ppl en forma estandar:
Min ctx
s.a: Ax = b
x ≥ 0n
En la tabla optima del Simplex tenemos:
zj − cj ≤ 0 ∀j = 1, . . . , n bi ≥ 0 ∀i = 1, . . . ,m
2
¿Como afectan los cambios en:
los coeficientes de la funcion objetivo (cj)?
Posible perdida de la posibilidad dual
Reoptimizar con el algoritmo Simplex
los terminos de la derecha de las restricciones (bi)?
Posible perdida de la posibilidad primal
Reoptimizar con el Dual del Simplex
una fila y/o columna de A (aij)?
Posible perdida de la posibilidad primal
Posible perdida de la posibilidad dual
Posible perdida de ambas
Reoptimizar con dos Fases
3
5.2 Cambios en los coeficientes de la funcion objetivo
Pueden provocar la perdida de la optimalidad primal
¿Para que rango de valores de ck sigue siendo optima la solucion actual?
Coeficiente de una variable no basica: solo afecta al coste re-ducido de la variable cuyo coeficiente se ha cambiado.
zk − c′k = (zk − ck) + (ck − c′k)
Si zk − c′k ≤ 0 −→ La solucion sigue siendo optima.
Si zk − c′k > 0 −→ Reoptimizamos con el algoritmo del Simplex,haciendo basica xk.
4
Ejemplo 1
Min −2x1 + x2 − x3
s.a.: x1 + x2 + x3 ≤ 6
−x1 + 2x2 ≤ 4
x1, x2, x3 ≥ 0
x∗ =
6
0
0
z∗ = −12
Tabla optima:
x1 x2 x3 x4 x5 rhs
z 0 -3 -1 -2 0 -12
x1 1 1 1 1 0 6
x5 0 3 1 1 1 10
5
Ejemplo: Cambio en el Coeficiente de una Variable no Basica
z = −2x1
c2︷︸︸︷+1 x2 − x3 → z = −2x1
c′2︷︸︸︷−3 x2 − x3
z2 − c′2 = (z2 − c2) + (c2 − c′2) = −3 + (1− (−3)) = 1 > 0
x1 x2 x3 x4 x5 rhs
z 0 1 -1 -2 0 -12
x1 1 1 1 1 0 6
x5 0 3 1 1 1 10
Reoptimizamos con el Simplex, x2 se hace basica y x5 deja de serlo.
x1 x2 x3 x4 x5 rhs
z 0 0 −43
−73
−13
−463
x1 1 0 23
23
−13
83
x2 0 1 13
13
13
103
x∗ =
83
103
0
z∗ = −46
3
6
¿Para que rango de valores del coeficiente de una variable no basica
sigue siendo optima la solucion actual?
La solucion actual sigue siendo optima sii:
zk − c′k ≤ 0 sii (zk − ck) + (ck − c′k) ≤ 0 sii c′k ≥ ck + (zk − ck)
c′k ∈ [ck + (zk − ck),∞[
Ejemplo, continuacion . . .
En el Ejemplo 1, c2 = 1 y z2 − c2 = −3, luego la solucion actual
seguira siendo optima sii:
c′2 ∈ [1 + (−3),∞[ = [−2,∞[
x∗ =
6
0
0
z∗ = −12
7
Coeficiente de una variable basica: cambiara toda la fila aso-ciada a la funcion objetivo (Fila 0), excepto los costes reducidos delas variables basicas, que seguiran siendo iguales a cero.
Nueva Fila 0 = (Fila 0 actual) + (c′k − ck) (Fila actual de xk)
Si algun coste reducido se hace positivo reoptimizamos con el algoritmodel Simplex. Para determinar el rango de valores para los cuales siguesiendo optima la solucion actual se resuelve el sistema de inecuacionesdado por:
z′j − cj ≤ 0 ∀j ∈ N
En dicho rango, la solucion optima sera la misma y el valor optimo:
z∗ = cBB−1b + (c′k − ck)x∗k
8
Ejemplo: Cambio en el Coeficiente de una Variable Basica
z =
c1︷︸︸︷−2 x1 + x2 − x3 → z =
c′1︷︸︸︷0 x1 + x2 − x3 → z = x2 − x3
x1 x2 x3 x4 x5 rhs
z 0 -3 -1 -2 0 -12
x1 1 1 1 1 0 6
x5 0 3 1 1 1 10
Nueva Fila 0 = (Fila 0 actual) + (c′1 − c1) (Fila actual de x1)
x1 x2 x3 x4 x5 rhs
z 0 -1 1 0 0 0
x1 1 1 1 1 0 6
x5 0 3 1 1 1 10
9
x1 x2 x3 x4 x5 rhs
z 0 -1 1 0 0 0
x1 1 1 1 1 0 6
x5 0 3 1 1 1 10
Reoptimizamos con el Simplex, x3 se hace basica y x1 deja de serlo.
x1 x2 x3 x4 x5 rhs
z -1 -2 0 -1 0 -6
x3 1 1 1 1 0 6
x5 -1 2 0 0 1 4
x∗ =
0
0
6
z∗ = −6
10
Ejemplo, continuacion . . .
¿Para que rango de valores del coeficiente de x1 sigue siendo optima la
solucion actual?
x1 x2 x3 x4 x5 rhs
z 0 -3 -1 -2 0 -12
x1 1 1 1 1 0 6
x5 0 3 1 1 1 10
x∗ =
6
0
0
z∗ = −12
Nueva Fila 0 = (Fila 0 actual) + (c′1 − c1) (Fila actual de x1)
z′2 − c2 = −3 + (c′1 − c1)1 ≤ 0 ↔ (c′1 − c1) ≤ 3
z′3 − c3 = −1 + (c′1 − c1)1 ≤ 0 ↔ (c′1 − c1) ≤ 1
z′4 − c4 = −2 + (c′1 − c1)1 ≤ 0 ↔ (c′1 − c1) ≤ 2
↔ c′1 ≤ 1 + c1
En el ejemplo, c1 = −2, si c′1 ∈]−∞,−1] la solucion optima sigue siendo la
misma pero el valor optimo sera:
z∗ =− 12 + (c′1 − c1)6 = −12 + 6c′1 + 12 = 6c′1
11
5.3 Cambios en el termino de la derecha de una restriccion
Pueden provocar la perdida de la optimalidad dual ≡ perdida de laposibilidad primal
Si xB = B−1b′ = b′ tiene alguna componente negativa sera necesario reop-
timizar con el algoritmo Dual del Simplex.
¿Para que rango de valores de bi sigue siendo optima la base actual?
Aquel que se obtiene al resolver el sistema de inecuaciones:
b′ = b + (columna i-esima de B−1) (b′i − bi)︸ ︷︷ ︸4i
≥ 0
En dicho rango, la solucion optima sera:
x∗B = b + (columna i-esima de B−1)(4i), x∗N = 0
El valor optimo:
z∗ = ctB b + ωi4i
12
Ejemplo, cambio en el termino de la derecha de una restriccion
(no hay perdida de posibilidad primal)
b =
6
4
→ Cambiamos b1 → b′ =
3
4
La nueva solucion sera:
b′ = B−1b′ =
1 0
1 1
3
4
=
3
7
≥
0
0
La base B = {a1, a5} sigue siendo optima, la nueva solucion es:
x∗ =
3
0
0
→ z∗ = ct
B b′ = (−2, 0)
3
7
= −6
13
Ejemplo, Continuacion . . ., sı hay perdida de posibilidad primal
Cambiamos b1 = 6 por b′1 = −2. La nueva solucion y el nuevo coste seran:
b′ = B−1b′ =
1 0
1 1
−2
4
=
−2
2
z = ctB b′ = (−2, 0)
−2
2
= 4
x1 x2 x3 x4 x5 rhs Nuevo
z 0 -3 -1 -2 0 -12 4
x1 1 1 1 1 0 6 → -2
x5 0 3 1 1 1 10 2
Perdemos la posibilidad primal, reoptimizamos con el Dual del Simpex:
Dual no acotado → Primal Imposible
14
Ejemplo
¿En cuanto podemos incrementar b1 sin que cambie la base optima?
Si cambiamos b =
6
4
por b′ =
6 +4
4
xB = B−1
6 +4
4
=
1 0
1 1
6 +4
4
=
6 +4
10 +4
proporcionara una solucion optima sii proporciona una solucion posible:
6 +4 ≥ 0
10 +4 ≥ 0→ 4 ≥ −6 → b1 ∈ [0,∞[
La solucion optima y el valor optimo seran, respectivamente:
x∗B =
6 +4
10 +4
x∗N = 0 z∗ = (−2, 0)
6 +4
10 +4
= −12− 24
15
¿Para que rango de valores de b2 sigue siendo optima la base actual?
xB = B−1
6
b2
=
1 0
1 1
6
b2
=
6
6 + b2
proporcionara una solucion optima sii proporciona una solucion posible:
6 ≥ 0
6 + b2 ≥ 0→ b2 ≥ −6 → b2 ∈ [−6,∞[
La solucion optima y el valor optimo seran, respectivamente:
x∗B =
6
6 + b2
x∗N = 0 z∗ = (−2, 0)
6
6 + b2
= −12
Notar que el precio sombra para esta restriccion sera 0.
16
5.4 Analisis de Sensibilidad y Dualidad
Dada una solucion posible basica del problema primal,
(xB = B−1b, xN = 0),
dicha solucion es optima si y solo si la solucion obtenida a partir deB, ω = ct
BB−1, es solucion posible del dual.
Cambios en la funcion objetivo del coeficiente de una variable nobasica
Cambios en la columna de A de una variable no basica
Adicion al problema de una nueva variable
17
La empresa Dakota Furniture Company fabrica escritorios, mesas y sillas.
La fabricacion de cada tipo de mueble requiere madera y dos tipos de
procesos: carpinterıa y acabado. La cantidad de recursos que necesita cada
tipo de mueble vienen dados en la siguiente tabla, en la que tambien se
incluyen los precios de venta de los muebles:
Recurso Escritorios Mesas Sillas
Madera (en pies de tablero) 8 6 1
Carpinterıa (en horas) 2 1.5 0.5
Acabado (en horas) 4 2 1.5
Precio de Venta (en euros) 60 30 20
En la actualidad se dispone de 48 pies de tableros de madera, 20 horas de
acabado y 8 de carpinterıa. Puesto que los recursos ya han sido adquiridos
y se supone que la demanda de cualquiera de los productos es ilimitada, la
empresa esta interesada en planificar la produccion de forma que se
maximicen los beneficios obtenidos.
18
x1 = escritorios x2 = mesas x3 = sillas
Max 60x1 + 30x2 + 20x3
s.a.: 8x1 + 6x2 + x3 ≤ 48
4x1 + 2x2 + 1,5x3 ≤ 20
2x1 + 1,5x2 + 0,5x3 ≤ 8
x1, x2, x3 ≥ 0
x1 = 2, x2 = 0, x3 = 8
19
ω1 = precio madera, ω2 = precio acabado, ω3 = precio carpint.
Min 48ω1 + 20ω2 + 8ω3
s.a.: 8ω1 + 4ω2 + 2ω3 ≥ 60
6ω1 + 2ω2 + 1,5ω3 ≥ 30
ω1 + 1,5ω2 + 0,5ω3 ≥ 20
ω1, ω2, ω3 ≥ 0
ω1 = 0, ω2 = 10, ω3 = 10 z = 280
20
5.4.1 Cambios en la funcion objetivo del coeficiente de
una variable no basica
¿Para que valores de c2 seguira siendo optima la solucion actual?
Una mesa consume,
6 pies de madera, a ω1 = 0 euros el pie
2 horas de acabado, a ω2 = 10 euros la hora, y
1.5 horas de carpinterıa, a ω3 = 10 euros la hora
En total:6× 0 + 2× 10 + 1,5× 10 = 35
Mientras el precio de venta de las mesas c2 ≤ 35 euros seguira sininteresar fabricar mesas, x2 = 0.
La solucion actual seguira siendo optima.
21
Los cambios en el coeficiente no afectan a la factibilidad de lasolucion del primal.
Min 48ω1 + 20ω2 + 8ω3
s.a.: 8ω1 + 4ω2 + 2ω3 ≥ 60
6ω1 + 2ω2 + 1,5ω3 ≥ c2
ω1 + 1,5ω2 + 0,5ω3 ≥ 20
ω1, ω2, ω3, ≥ 0
6ω1 + 2ω2 + 1,5ω3 ≥ c2
6× 0 + 2× 10 + 1,5× 10 ≥ c2
35 ≥ c2
22
5.4.2 Cambios en la columna de una variable no basica
Supongamos que cambia el vector de coeficientes de las mesas y tambien su
precio de venta.
c2 = 30 c′2 = 43 a2 =
6
2
1,5
a
′2 =
5
2
2
La nueva restriccion del dual serıa:
5ω1 + 2ω2 + 2ω3 ≥ 43
Que es violada por la solucion del dual actual:
5× 0 + 2× 10 + 2× 10 ≥ 43
40 ≥ 43
Fabricar una mesa consume 40 euros, si se vende por 43, interesara fabricar
mesas. El coste reducido cambiarıa de signo.
23
5.4.3 Anadir una nueva variable
Dakota esta considerando fabricar zapateros. Podrıan venderse por 15 euros
y consumirıan 1 pie de madera, 1 hora de acabado y 1 hora de carpinterıa.
¿Seguirıa siendo optima la solucion actual?, ¿Interesa fabricar zapateros?
Introducir una nueva variable, x4, con, c4 = 15 a4 =
1
1
1
Equivale a anadir una restriccion al dual:
ω1 + ω2 + ω3 ≥ 15
Como la solucion actual del dual, sı que cumple la restriccion:
1× 0 + 1× 10 + 1× 10 ≥ 15
No interesara fabricar zapateros.
z4 − c4 = ω1 + ω2 + ω3 − c4 = 20− 15 = 5
24
5.5 Analisis Parametrico
El analisis parametrico es una extension del analisis de sensibilidad.
Consiste en investigar como cambia la solucion optima y el valor opti-mo de un PPL cuando se efectuan cambios continuos en uno o masparametros, de la funcion objetivo:
z(µ) = c + µc′, c y c
′conocidos, µ escalar
o del rhs:
b(µ) = b + µb′, b y b
′conocidos, µ escalar
25
Procedimiento
1. Calcular la solucion optima para µ = 0.
2. Determinar el rango de valores para µ, [0, µ1], para los que lasolucion sigue siendo optima.
3. Para µ = µ1 se produce un cambio de base optima. Realizar elcambio. Obtener la nueva solucion optima.
4. Determinar el nuevo rango de valores de µ para los que es optimala solucion actual. Sea [µ1, µ2].
5. Repetir el proceso hasta que se detecta un µr tal que:
el problema es imposible ∀µ ≥ µr, o
la solucion optima actual sigue siendo optima ∀µ ≥ µr.
26
Min − x1 − 3x2
s.a.: x1 + x2 ≤ 6
− x1 + 2x2 ≤ 6
x1, x2 ≥ 0
z(µ) =
−1
−3
+ µ
2
1
x1
x2
z(µ) = (−1 + 2µ)x1 + (−3 + 1µ)x2
b(µ) =
6
6
+ µ
−1
1
=
6− µ
6 + µ
27
5.5.1 Analisis Parametrico de la Funcion Objetivo
µ = 0 → µ ∈ [0, 1]
Solucion Optima: x∗ =
2
4
Valor Optimo: z∗ = −14
z ∈ [−14,−6] con pendiente 8 → z∗(µ) = −14 + 8µ
Notar que la misma conclusion se obtiene para:
µ ∈ [−2, 0]
pero aquı z ∈ [−30,−14]
28
µ = 1 → µ ∈ [1, 3]
Cambio de base: x1 deja de ser basica, h1 se hace basica.
x2 + h1 = 6
2x2 = 6→ x2 = 3
h1 = 3
Solucion Optima: x∗ =
0
3
Valor Optimo: z∗ = −6
z ∈ [−6, 0] con pendiente 3 → z∗(µ) = −9 + 3µ
29
µ = 3 → µ ∈ [3,∞[
Cambio de base: x2 deja de ser basica, h2 se hace basica.
h1 = 6
h2 = 6
Solucion Optima: x∗ =
0
0
Valor Optimo: z∗ = 0
z ∈ [0, 0] con pendiente 0 → z∗(µ) = 0
30
µ = −2 → µ ∈]−∞,−2]
Cambio de base: x2 deja de ser basica, h2 se hace basica.
x1 = 6
−x1 + h2 = 6→ x1 = 6
h2 = 12
Solucion Optima: x∗ =
6
0
Valor Optimo: z∗ = −30
z ∈ ]−∞,−30] con pendiente 12 → z∗(µ) = −6 + 12µ
31
Resumiendo:
µ ∈]−∞,−2] → x∗ =
6
0
→ z∗(µ) = −6 + 12µ
µ ∈ [−2, 1] → x∗ =
2
4
→ z∗(µ) = −14 + 8µ
µ ∈ [1, 3] → x∗ =
0
3
→ z∗(µ) = −9 + 3µ
µ ∈ [3,∞[ → x∗ =
0
0
→ z∗(µ) = 0
32
5.5.2 Analisis Parametrico del rhs
µ ∈ ]−∞, 2]
Las variables basicas optimas son x1 y x2.
x1 + x2 = 6− µ
−x1 + 2x2 = 6 + µ→ x1 = 2− µ
x2 = 4
Solucion Optima: x∗ =
2− µ
4
Valor Optimo: z∗ = −14 + µ
33
µ = 2 → µ ∈ [2, 6]
Cambio de base: x1 deja de ser basica, h2 se hace basica.
x2 = 6− µ
2x2 + h2 = 6 + µ→ x2 = 6− µ
h2 = −6 + 3µ
Solucion Optima: x∗ =
0
6− µ
Valor Optimo: z∗ = −18 + 3µ
34