Está en la página 1de 13

Análisis de Sensibilidad

Basado en Bertsimas, Tsitsiklis


“Introduction to Linear Optimization”
Chap. 5
IN3701 – Modelamiento y Optimización
Nelson Devia C.
Introducción
 Consideremos el problema (P) en forma estándar y su dual (D):
( P ) Min c ' x ( D ) Max y ' b
Ax = b y ' A ≤ c'
x≥0
 Supongamos que tenemos la base óptima AB y la solución óptima
asociada x * .
 Si alguno de los coeficientes de b ó c cambia:
 ¿Se mantiene la base óptima?
 ¿Cómo calcular la nueva solución óptima sin resolver el problema otra vez?

 Como AB es la base óptima sabemos que cumple las condiciones de:


−1
 Factibilidad: x B = AB b ≥ 0
 Optimalidad: c ' N = c' N −c' B AB−1 AN ≥ 0'
 Si al cambiar el problema se siguen cumpliendo ambas condiciones,
2 entonces la base se mantiene óptima.
Cambios en el Vector b
 Supongamos que la i-ésima componente de b es aumentada
en δ
 Equivalentemente, b se reemplaza por b + δei
 Nos interesa saber en qué rango se puede mover δ sin que
cambie la base óptima.

 Factibilidad: AB (b + δei ) ≥ 0
−1

x B + δAB−1ei ≥ 0
−1
 Sea g la i-ésima columna de AB : x B + δg ≥ 0

 − (x B ) j
 ≥ ∀j / g j > 0
 Luego  gj  − (x B ) j   − (x B ) j 
δ ≤ δ ≤ min 
{ j / g j >0} g j 
max 
 { j / g j <0} g j 
 ≤ − (x B ) j ∀j / g j < 0    
 gj
3 
Cambios en el Vector b
 Optimalidad:
 Al variar b, los costos reducidos no se ven afectados
c ' N = c' N −c' B AB−1 AN ≥ 0'

 El nuevo costo óptimo está dado por:

c' B AB−1 (b + δei ) = y '* b + δy i

 Donde y * es la solución óptima del problema dual (precio sombra)

 Ejemplo:
Max 2 x1 + x 2
x2 ≤ 5
− x1 + x 2 ≤ −2
x1 , x 2 ≥ 0

4
Cambios en el Vector b
 En forma estándar:
Min − 2 x1 − x 2
x 2 + x3 = 5
x1 − x 2 + x 4 = 2
x1 , x 2 , x3 , x 4 ≥ 0
 La base óptima es:

x B = {x1 , x 2 } 0 1  1 0 1 1 
. con AB =  , AN =   y AB−1 =  
{
x N = x3 , x 4 }  1 − 1 0 1 1 0 

 Factibilidad:
1 1   5   7 
AB−1b =   ⋅   =   ≥ 0
1 0   2   5 
 Optimalidad:
1 1   1 0 
5 c' N −c' B A AN = (0 0) − (− 2 − 1) ⋅ 
−1
B  ⋅   = (3 2) ≥ 0
 1 0   0 1 
Cambios en el Vector b
 Si cambiamos b1: Min − 2 x1 − x 2
x 2 + x3 = b1
x1 − x 2 + x 4 = 2
x1 , x 2 , x3 , x 4 ≥ 0
 Factibilidad:
1 1   b1   b1 + 2  b1 ≥ −2
AB−1b =   ⋅   =   ≥ 0 b1 ≥ 0
1 0   2   b1  b1 ≥ 0
 Es decir, para cualquier b1 positivo la base se mantiene óptima

6 b1 =-0,5 (infactible) b1 =1 (base aún óptima) b1 =7 (base aún óptima)


Cambios en el Vector b
 Si cambiamos b2: Min − 2 x1 − x 2
x 2 + x3 = 5
x1 − x 2 + x 4 = b2
x1 , x 2 , x3 , x 4 ≥ 0
 Factibilidad:

−1 1 1   5   5 + b2 
A b = 
B  ⋅   =   ≥ 0 b2 ≥ −5
 1 0 b
  2  5 
 Es decir, para cualquier b2 ≥ −5 la base se mantiene óptima

7 b2 =-6 (infactible) b2 =-2 (base aún óptima) b2 =5 (base aún óptima)


Cambios en el Vector c
 Supongamos que la j-ésima componente de c es aumentada
en δ
 Nos interesa saber en qué rango se puede mover δ sin que
cambie la base óptima.
 Factibilidad:
 Al variar c, la región factible no cambia y no se afecta la
factibilidad: AB−1b ≥ 0

 Optimalidad: c' N −c' B AB−1 AN ≥ 0


 Si cj es el costo de una variable no básica, cB no cambia y se tiene
la condición: c' j +δ ≥ c' B AB−1 A j
 Equivalentemente, usando los costos reducidos:
8 δ ≥ −c' j
Cambios en el Vector c
 Si c j es el costo de una variable básica y cambia a c j + δ
 Equivalentemente los costos de las variables básicas ahora son:
c B + δek
 Donde j = B(k ) (la k-ésima variable básica)

 Se tiene que:
(c B + δek )' AB−1 AN ≤ c' N
 Luego:
δ (AB−1 AN )k ≤ c ' N

 Sea q la k-ésima fila de (AB−1 AN )


 (c N )i
 ≤ qi > 0
 qi  (c )   (c ) 
δ  max  N i  ≤ δ ≤ min  N i 
 ≥ (c N )i
{i / q j <0} qi  {i / q j >0} qi 
qi < 0
9
 qi
Cambios en el Vector c
 Ejemplo:
Max 2 x1 + x 2
x2 ≤ 5
− x1 + x 2 ≤ −2
x1 , x 2 ≥ 0
 En forma estándar:
Min − 2 x1 − x 2
x 2 + x3 = 5
x1 − x 2 + x 4 = 2
x1 , x 2 , x3 , x 4 ≥ 0

 Al variar los coeficientes de la función objetivo se cambia su


pendiente…

10
Cambios en el Vector c
 Si cambiamos c1: Min c1 x1 − x 2
x 2 + x3 = 5
x1 − x 2 + x 4 = 2
x1 , x 2 , x3 , x 4 ≥ 0
 Optimalidad:
1 1   1 0 
c' N −c' B AB−1 AN = (0 0) − (c1 − 1) ⋅   ⋅   = (1 − c1 − c1 ) ≥ 0
1 0   0 1 
c1 ≤ 1
c1 ≤ 0
c1 ≤ 0
 Es decir, para cualquier c1 negativo la base se mantiene óptima

11 c1 =-200 (base aún óptima) c1 =0 (base aún óptima) c1 =2 (la base óptima cambió)
Cambios en el Vector c
 Si cambiamos c2: Min − 2 x1 + c 2 x 2
x 2 + x3 = 5
x1 − x 2 + x 4 = 2
x1 , x 2 , x3 , x 4 ≥ 0
 Optimalidad:
1 1   1 0 
c' N −c' B AB−1 AN = (0 0) − (− 2 c 2 ) ⋅   ⋅   = (2 − c 2 2) ≥ 0 c2 ≤ 2
 1 0   0 1 

 Es decir, para cualquier c 2 ≤ 2 la base se mantiene óptima

12 c2 =0 (base aún óptima) c2 =2 (base aún óptima) c2 =3 (la base óptima cambió)
Análisis de Sensibilidad

Basado en Bertsimas, Tsitsiklis


“Introduction to Linear Optimization”
Chap. 5
IN3701 – Modelamiento y Optimización
Nelson Devia C.

También podría gustarte