Optimizacion Lineal Estocastica
Optimizacion Lineal Estocastica
Optimizacion Lineal Estocastica
Andrés Ramos
Santiago Cerisola
Enero 2005
Alberto Aguilera 23 – E 28015 Madrid – Tel: 34 91 542 2800 – Fax: 34 91 541 1132 – www.doi.icai.upco.es
ÍNDICE
25/05/2005 i
I.11 REFERENCIAS ........................................................................................135
I.12 BIBLIOTECA DE PROBLEMAS...................................................................141
ii 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
I.1 Introducción
La estocasticidad o incertidumbre aparece en todos los sistemas pero hasta
ahora no era posible la solución de problemas de optimización de grandes
sistemas considerando explícitamente ésta. La incertidumbre puede deberse a
carencia de datos fiables, errores de medida o tratarse de parámetros que
representan información sobre el futuro. Por ejemplo, en el caso de planificación
de sistemas de energía eléctrica la incertidumbre surge principalmente en: la
demanda y precios futuros de la electricidad o de los combustibles, las
aportaciones hidráulicas o la disponibilidad de los elementos de generación y
red. No toda la incertidumbre se encuentra en el mismo horizonte temporal.
En optimización determinista se supone que los parámetros del problema son
conocidos con certeza, aunque sea a su valor medio. En optimización estocástica
(stochastic optimization SP) se relaja esta condición. No se conocen sus valores,
sólo sus distribuciones y habitualmente se supone que éstas son discretas con un
número finito de estados posibles. La suposición de distribuciones discretas es
habitual en los optimizadotes de optimización estocástica. Actualmente no
existen aplicaciones estándar o comerciales, potentes y fiables, para resolver
problemas estocásticos. Todavía no es un campo en desarrollo.
Los tipos de modelos que aparecen en programación lineal1 estocástica son
motivados principalmente por problemas con decisiones de tipo aquí y ahora
(here and now) [Dantzig:55], decisiones previas bajo futuro incierto2. Esto es,
decisiones que deben tomarse basándose en información a priori, existente o
supuesta, sobre situaciones futuras sin realizar observaciones adicionales.
Recurso3 es la capacidad de tomar una acción correctora después de que haya
1
La restricción a problemas lineales es por razones prácticas: primero, son los más
frecuentemente utilizados y segundo, aquéllos con métodos de solución más eficientes y
avanzados. Las técnicas que se presentan admiten también funciones no lineales mientras la
región factible y la función objetivo sean convexas.
2
Existen otros tipos de problemas de optimización estocástica, que no se tratan en el
documento, denominados con restricciones probabilistas (chance constraints o probabilistic
constraints) que incluyen restricciones lineales con parámetros aleatorios y se modela la
condición de cumplirlas restricciones con una cierta probabilidad. En el caso de distribuciones
discretas se necesita una variable binaria por cada suceso, definido como combinación de los
valores discretos de los parámetros.
3
El recurso se denomina completo cuando para cualquier decisión de la primera etapa
(independientemente de su factibilidad) existen decisiones factibles para la segunda etapa. Se
denomina relativamente completo si se cumple sólo para decisiones factibles de la primera etapa
y parcial cuando no siempre las decisiones de la segunda etapa son factibles para las decisiones
de la primera etapa.
25/05/2005 3
1 INTRODUCCIÓN
4
Se denomina bietapa porque tiene dos etapas, una asociada a las decisiones anteriores a la
realización de la incertidumbre y otra a las decisiones correctoras una vez realizada la
incertidumbre.
4 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
min ∑ fi X i + ∑ v jiYjis
XiYsji
i ji
∑X
i
i ≥P
∑fX
i
i i ≤D
para cualquier escenario s
s
Y ≤ Xi
ji ∀ji
∑v Y
i
ji
s
ji ≥ d js ∀j
X i ,Yjis ≥ 0
Veamos ahora el problema estocástico de minimizar los costes totales
esperados para el conjunto de los tres escenarios
min ∑ fi Xi + ∑ psv jiYjis
XiYsji
i sji
∑X
i
i ≥P
∑fX
i
i i ≤D
Yjis ≤ Xi ∀sji
∑v Y
i
ji
s
ji ≥ d js ∀sj
X i ,Yjis ≥ 0
25/05/2005 5
1 INTRODUCCIÓN
6 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 7
1 INTRODUCCIÓN
Y1
X Y2
Y3
8 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
X1 Y1
Y2
X2
X3 Y3
Variables Variables
primera segunda
etapa etapa
X Y1, Y2, Y3
PRESUP Restricciones primera etapa
INSMIN
BALPOTS
BALDEMS Restricciones primer escenario
BALPOTS
BALDEMS Restricciones segundo escenario
BALPOTS
BALDEMS Restricciones tercer escenario
25/05/2005 9
1 INTRODUCCIÓN
10 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 11
1 INTRODUCCIÓN
Para este ejemplo también se observa que las soluciones en cada escenario
son claramente diferentes a las del escenario medio y a las decisiones del
problema estocástico.
12 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 13
1 INTRODUCCIÓN
14 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
A1x 1 = b1
(2.1)
B1x 1 +A2x 2 = b2
x 1, x2 ≥0
A1
B1 A2
25/05/2005 15
2 OPTIMIZACIÓN LINEAL BIETAPA Y MULTIETAPA
P
min ∑ cTp x p
xp
p =1
A1
B1 A2
B2 A3
BP −1 AP
Figura 2.2 Estructura de la matriz de coeficientes de las restricciones en problemas lineales multietapa.
16 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
• descomposición
Las técnicas de descomposición resuelven problemas de muy gran tamaño
con una estructura especial, que se aprovecha desde un punto de vista
teórico y computacional, mediante la solución iterativa de otros problemas
de menor tamaño con estructura similar. Tiene sentido aplicarlas a un
problema cuya estructura específica permite identificar partes del mismo que
son fácilmente resolubles de modo individual. Constituye una forma flexible
y elegante de resolver problemas.
Los tipos de estructuras especiales pueden ser:
• Multidivisional: conjunto de subsistemas interrelacionados
Por ejemplo, el problema de flujo de cargas multisistema (España,
Francia y Portugal o el sistema eléctrico centroamericano) o la
programación semanal de un sistema de energía eléctrica con múltiples
grupos.
• Dinámica: gran número de restricciones y variables replicadas para cada
periodo
Por ejemplo, la coordinación hidrotérmica a lo largo de múltiples
periodos.
• Estocástica o combinatorial: instanciaciones de variables aleatorias
discretas
Por ejemplo, la planificación de la generación para múltiples escenarios
futuros.
25/05/2005 17
3 TÉCNICAS DE DESCOMPOSICIÓN
5
Las técnicas de descomposición son de uso matemático general y tienen sentido
independientemente de la tecnología del ordenador/es utilizados en su resolución. Sin embargo,
dada su naturaleza resulta muy conveniente la utilización de cálculo en paralelo (un ordenador
con múltiples CPUs débil o fuertemente acopladas) o cálculo distribuido (múltiples ordenadores
trabajando en colaboración) para reducir los tiempos de cálculo de manera sustancial.
18 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 19
3 TÉCNICAS DE DESCOMPOSICIÓN
Obsérvese que el problema dual del segundo tiene la estructura del primero y
viceversa.
También pueden clasificarse según cuál sea la información que se envía desde
el maestro al subproblema. La descomposición de Bd envía variables del primal
y la de DW o RL variables del dual.
Matemáticamente las técnicas de descomposición se pueden utilizar siempre,
es decir, son formas exactas de resolver un problema de optimización. Sin
embargo, algorítmicamente sólo tienen sentido cuando existe una ventaja
computacional en su uso. En muchos casos, esta ventaja se deriva de la
separabilidad del problema completo en subproblemas similares de tamaño
mucho menor. Por ejemplo, en el caso de planificación multisistema subyace que
las relaciones (número de restricciones que acoplan) entre sistemas en el primer
caso o entre grupos en el segundo son débiles mientras que las relaciones dentro
del sistema son las más numerosas.
Veamos un modelo de coordinación hidrotérmica para el análisis de la
explotación de un sistema eléctrico a medio plazo. Se trata de un modelo de
explotación multiperiodo con gestión de las aportaciones hidráulicas para el
20 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 21
3 TÉCNICAS DE DESCOMPOSICIÓN
22 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 23
I OPTIMIZACIÓN ESTOCÁSTICA
A1x 1 = b1 (4.1)
x1 ≥ 0
donde la función de recursos, θ2(x1 ) ∈ , es una función poligonal convexa
dependiente de x 1 . Representa la función objetivo de la segunda etapa como
función de las decisiones de la primera etapa y tiene la siguiente expresión:
25/05/2005 25
4 DESCOMPOSICIÓN DE BENDERS
θ2 (x 1 ) = min cT2 x 2
x2
Sea Π = {π21, π22, …, π2ν } el conjunto finito de vértices del poliedro convexo
(politopo) definido por la región factible A2T π2 ≤ c2 . Obsérvese que la región
factible del problema dual no depende del valor de x 1 . Se sabe que la solución
óptima de un problema lineal reside en un vértice, por lo tanto, el problema se
podría resolver por enumeración de todos ellos:
26 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
min c1T x 1 + θ2
x1 ,θ
A1x 1 = b1
θ2 ≥ (b2 − B1x 1 )T π21
(4.6)
Maestro Benders
min c1T x 1 + θ2
x1 , θ2
A1x 1 = b1
(4.7)
lT lT
π B1x 1 + θ2 ≥ π b
2 2 2 l = 1, …, j
x1 ≥ 0
siendo θ2 ∈ , l el índice de iteraciones, x 1 y θ2 variarán en cada iteración6.
En cada iteración del algoritmo de Benders, la variable dual generada en el
subproblema es distinta del conjunto de variables duales generadas con
anterioridad por el algoritmo [VanSlyke]. Dado que el conjunto de posibles
valores duales vértices es finito, el número de cortes que se pueden obtener es
también finito luego el número de iteraciones está también limitado. El
algoritmo de descomposición de Bd converge en un número finito de iteraciones.
Se entiende por corte válido aquél que es externo a la función de recursos
aunque no necesariamente tangente. Esto implica que no es necesario resolver el
subproblema hasta optimalidad para garantizar que los cortes son válidos.
De cara a una implantación eficiente del algoritmo de descomposición, los
cortes de Benders aceptan la siguiente formulación como linealización de la
6
Se entiende por iteración un ciclo problema maestro - subproblema, en este orden.
25/05/2005 27
4 DESCOMPOSICIÓN DE BENDERS
siendo x 1j y f2j = π2jT ⎡⎣b2 − B1x 1j ⎤⎦ los valores de las variables de la primera etapa y
el de la función objetivo de la segunda para la iteración j . Luego el conjunto de
cortes hasta la iteración j , l = 1, …, j , también se expresa como
Maestro Benders
min c1T x 1 + θ2
x1 , θ2
A1x 1 = b1
(4.11)
π2lT B1x 1 + θ2 ≥ f2l + π2lT B1x 1l l = 1, …, j
x1 ≥ 0
El subproblema para cada iteración j se formula como:
Subproblema Benders
7
Se utiliza el subgradiente como una generalización del concepto de gradiente cuando la
lT
función es convexa pero no es diferenciable en todos sus puntos. π2 B1 es un subgradiente
l lT l
porque la ecuación θ2 − f2 ≥ π2 B1(x 1 − x 1 ) es un plano de corte o hiperplano soporte del
epigrafo de la función.
28 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
Luego el problema (4.12) será factible si para todo vector de variables duales
π2 (o rayos extremos) que cumple A2T π2 ≤ 0 se cumple (b2 − B1x 1 )T π2 ≤ 0 . En
este caso, el subproblema se formula como
max(b2 − B1x 1 )T π2
π2
(4.15)
T
A π2 ≤ 0
2
8
En un problema bietapa por recurso completo se entiende que el subproblema de la
segunda etapa es siempre factible para cualquier valor de las variables de la primera etapa.
25/05/2005 29
4 DESCOMPOSICIÓN DE BENDERS
A1x 1 = b1
(4.18)
π2lT B1x 1 + δ1l θ2 ≥ π2lTb2 l = 1, …, j
x1 ≥ 0
o bien
min c1T x 1 + θ2
x1 , θ2
A1x 1 = b1
(4.19)
π2lT B1x 1 + δ1l θ2 ≥ f2l + π2lT B1x1l l = 1, …, j
x1 ≥ 0
siendo δ1l = 1 para los cortes de optimalidad y δ1l = 0 para los de infactibilidad.
Los cortes de infactibilidad se pueden considerar como que fueran cortes de
optimalidad con pendiente infinita. Eliminan las propuestas del maestro que
hacen infactible el subproblema pero conservan las que no lo hacen infactible.
Normalmente es más conveniente, desde el punto de vista de cálculo,
formular el problema maestro con penalización por infactibilidad en el
subproblema que resolver éste y enviar los cortes de infactibilidad al maestro.
30 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
I.4.3 Algoritmo
En cada iteración se modifica la región factible del maestro (aumenta en uno
el número de restricciones) y las cotas de las restricciones del subproblema. El
tamaño del problema lineal bietapa PL-2 era (m1 + m2 ) × (n1 + n2 ) . El tamaño
del problema maestro es (m1 + j ) × (n1 + 1) y el del subproblema m2 × n2 .
En una iteración del algoritmo se resuelve el problema maestro relajado y se
pasa el valor del vector x 1j al subproblema. Éste optimiza x 2 con los recursos
(b2 − B1x 1j ) y pasa las variables duales π2j (precios sombra de las restricciones)
de nuevo al maestro. Con éstas se forma un corte que se añade
consecutivamente a las restricciones del maestro. Esquemáticamente el
algoritmo se representa en la figura 4.1.
PROBLEMA MAESTRO
| ↑
j
propuesta x 1 precios sombra π2j
↓ |
SUBPROBLEMA
z −z cT2 x 2j − θ2j
= T j ≤ε (4.20)
z c1 x 1 + cT2 x 2j
25/05/2005 31
4 DESCOMPOSICIÓN DE BENDERS
32 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
1. Inicialización: j = 0 , z = ∞ , z = −∞ , ε = 10−4
2. Resolución del problema maestro
min c1T x 1 + θ2
x1 , θ2
A1x 1 = b1
(4.22)
π2lT B1x 1 + δ1l θ2 ≥ f2l + π2lT B1x1l l = 1, …, j
x1 ≥ 0
Obtener la solución (x 1j , θ2j ) y evaluar la cota inferior z = c1T x 1j + θ2j .
Mientras no se haya generado ningún corte de optimalidad, se fija el valor de
la variable de recurso θ2 a cero, pues en otro caso el problema maestro es no
acotado. Una vez obtenido algún corte de infactibilidad, esta variable pasa a
ser libre.
3. Resolución del subproblema de suma de infactibilidades
f2j = min eT v + + eT v −
x 2 ,v + ,v −
25/05/2005 33
4 DESCOMPOSICIÓN DE BENDERS
x ≤4
x +y ≤5
2x +3y ≤ 12
x, y ≥0
y ≤5−0
3y ≤ 12 − 2 ⋅ 0
y≥0
⎛ ⋅ ⎞⎟
que da lugar a f 1 = −4 y π1 = ⎜⎜⎜ ⎟ . Luego la cota inferior del problema es
⎜⎝−1 3⎠⎟⎟
z = −∞ y la cota superior es z = −4 .
El problema maestro corresponde a éste
min− 2x + θ
x ,θ
x ≤4
⎛1⎞⎟
( )
θ − (−4) ≥ ⋅ −1 3 ⎜⎜⎜ ⎟⎟ (0 − x )
⎜⎝2⎠⎟⎟
x ≥0
manipulando el corte queda
min− 2x + θ
x ,θ
x ≤4
2
θ − x ≥ −4
3
x ≥0
que da como resultado x = 4 y θ = − 4 3 luego la cota inferior del problema es
z = − 28 3 . Formulando de nuevo el subproblema para x = 4
34 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
θ(x ) = min− y
y
y ≤ 5−4 =1
3y ≤ 12 − 2 ⋅ 4 = 4
y≥0
⎛−1⎞
que da lugar a f 2 = −1 y π 2 = ⎜⎜⎜ ⎟⎟⎟ . Luego la cota superior es
⎜⎝ ⋅ ⎠⎟
z = min (−9, −4) = −9 .
El nuevo problema maestro es
min− 2x + θ
x ,θ
x ≤4
2
θ − x ≥ −4
3
θ − x ≥ −5
x ≥0
que da como resultado x = 4 y θ = −1 luego la cota inferior del problema es
z = −9 . Una vez formulado y resuelto de nuevo el subproblema se obtiene
z = min (−9, −9) = −9 y, por consiguiente, converge el algoritmo.
x +y ≤ 600
x −2y ≤0
x +y +u +v ≤ 1000
x +u ≤ 500
−2u +v ≤0
x, y, u, v ≥0
25/05/2005 35
4 DESCOMPOSICIÓN DE BENDERS
⎛1000⎞⎟
⎛−1⎞⎟ ⎛−2⎞⎟ ⎛600⎞⎟ ⎜⎜ ⎟⎟ ⎛1 1 ⎞⎟
⎜
entonces, c1 = ⎜⎜⎜ ⎟⎟ , c2 = ⎜⎜⎜ ⎟⎟ , b1 = ⎜⎜⎜ ⎟⎟ , b2 = ⎜⎜ 500 ⎟⎟⎟ , A1 = ⎜⎜⎜ ⎟⎟ ,
⎝⎜−2⎠⎟⎟ ⎝⎜−3⎠⎟⎟ ⎝⎜ 0 ⎠⎟⎟ ⎜⎜
⎜⎜ 0 ⎟⎟
⎟⎟ ⎜⎝1 −2⎠⎟⎟
⎝ ⎠
⎛1 1⎞⎟ ⎛ 1 1⎞⎟
⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟
⎜⎜ ⎜⎜
B1 = ⎜1 0⎟⎟ , A2 = ⎜ 1 0⎟⎟⎟
⎟
⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟
⎜⎜0 0⎟⎟ ⎜⎜−2 1⎟⎟
⎝ ⎠ ⎝ ⎠
Se supone una solución inicial factible para el problema maestro
⎛3.000⎞⎟
x 1 = ⎜⎜⎜ ⎟⎟ .
⎜⎝3.000⎠⎟⎟
Se calcula la cota inferior, siendo z = −9.000 . Al introducir en el
⎛331.3⎞⎟
⎜ ⎟⎟ y
subproblema estos valores se obtiene como solución x 2 = ⎜⎜
⎜⎜662.6⎟⎟⎟
⎝ ⎠
⎛ ⎞
⎜⎜−2.666⎟⎟
⎜⎜ ⎟⎟
π2 = ⎜⎜ 0.000 ⎟⎟⎟
⎜⎜ ⎟⎟
⎜⎜−0.333⎟⎟⎟
⎝ ⎠
Se calcula la cota superior, siendo z = −2659.6 . Como la diferencia entre
ambas cotas es elevada se continúa iterando. Con los precios sombra se forma
un corte en el maestro y se resuelve éste de nuevo. La nueva solución obtenida
⎛0.000⎞⎟
es x 1 = ⎜⎜⎜ ⎟⎟ .
⎜⎝0.000⎠⎟⎟
Se calcula de nuevo la cota inferior, siendo z = −2666.6 . Al introducir en el
⎛333.3⎞⎟
⎜ ⎟⎟ y
subproblema estos valores se obtiene como solución x 2 = ⎜⎜
⎜⎜666.6⎟⎟⎟
⎝ ⎠
⎛ ⎞
⎜⎜−2.666⎟⎟
⎜ ⎟⎟
π2 = ⎜⎜⎜ 0.000 ⎟⎟⎟ .
⎜⎜ ⎟⎟
⎜⎜−0.333⎟⎟⎟
⎝ ⎠
Se calcula la cota superior en esta iteración, siendo z = −2666.6 . La
diferencia entre ambas cotas es ahora nula y, por lo tanto, acaba el algoritmo.
⎛0.000⎞⎟
La función objetivo es z * = −2666.6 y la solución óptima es x 1* = ⎜⎜⎜ ⎟⎟ y
⎜⎝0.000⎠⎟⎟
⎛333.3⎞⎟
⎜ ⎟⎟ .
x 2 = ⎜⎜
*
⎜⎜666.6 ⎟⎟⎟
⎝ ⎠
36 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 37
4 DESCOMPOSICIÓN DE BENDERS
38 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 39
4 DESCOMPOSICIÓN DE BENDERS
40 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 41
4 DESCOMPOSICIÓN DE BENDERS
42 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
%
% programa lineal bietapa PL-2
%
dt2
[m1,n1]=size(A1) ;
[m2,n2]=size(A2) ;
A = [[A1, zeros(m1,n2)];[B1,A2]] ;
b = [b1; b2] ;
c = [c1; c2]' ;
[x,lambda] = lp(c,A,b,zeros(n1+n2,1),[],[0 0 0 0]) ;
x1 = x(1:n1)
x2 = x(n1+1:n1+n2)
pi21 = lambda(1:m1)
pi22 = lambda(m1+1:m1+m2)
%
% descomposición de Benders
%
[m1,n1]=size(A1) ;
[m2,n2]=size(A2) ;
l = 0 ;
A = [A1, zeros(m1,1)] ;
b = b1 ;
zsup = Inf ;
zinf = -Inf ;
epsilon = 0.0001 ;
while 1-abs(zinf/zsup) > epsilon
l = l + 1 ;
if l == 1,
x1 = x11 ;
zinf = c1' * x1 ;
else
A = [A; [-pi2(:,l-1)'*B1, -1]] ;
b = [b; -pi2(:,l-1)'*b2] ;
c = [c1; 1]' ;
[x1] = lp(c,A,b,zeros(n1,1)) ;
zinf = c * x1 ;
x1(n1+1)=[] ;
end
[x2,pi2t] = lp(c2',A2,b2-B1*x1,zeros(n2,1)) ;
pi2(:,l) = -pi2t(1:m2) ;
zsup = c1' * x1 + c2' * x2 ;
end
25/05/2005 43
4 DESCOMPOSICIÓN DE BENDERS
∑xj
ij ≤ ai
∑xi
ij ≥ bj
x ij ≤ M ijyij
x ij ≥ 0, yij ∈ {0,1}
siendo cij el coste variable unitario de transporte, fij el coste fijo asociado a la
decisión de inversión en el arco ij , ai la oferta máxima de producto en el origen
i , bj la demanda del destino j , x ij la variable que indica el flujo que recorre el
arco ij , yij la variable que representa la decisión de inversión en el arco ij y
M ij una cota superior de cualquier flujo en dicho arco ij (por ejemplo,
M ij = min {ai , bj } ).
Las variables yij son binarias. Una vez conocidas el problema anterior es un
problema clásico de transporte. Las variables yij son las variables que complican
la resolución y, por consiguiente, son asignadas al problema maestro en un
entorno de descomposición de Bd.
El subproblema se formula de la siguiente manera
min ∑ cij x ij
xij
ij
∑x j
ij ≤ ai
∑x i
ij ≥ bj
x ij ≤ M ijyijk : πijk
x ij ≥ 0
yij ∈ {0,1}
A continuación se expresa en GAMS este problema para un caso ejemplo en
el que se suponen cuatro orígenes del producto y tres destinos de demanda. El
problema debe decidir la combinación óptima de arcos de entre todos los
posibles, dados en la figura 4.2.
44 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 45
4 DESCOMPOSICIÓN DE BENDERS
En este caso particular el subproblema tiene soluciones alternativas por lo que el algoritmo
9
puede converger en diferente número de iteraciones con otro optimizador u otra versión del
mismo optimizador.
46 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 47
4 DESCOMPOSICIÓN DE BENDERS
A1x 1 = b1 : π1
B1x 1 − Iy1 = 0 : ρ1 (4.25)
π2lT y1 + θ2 ≥ π2lTb2 l = 1, …, j
x1 ≥ 0
A2x 2 + y1z 2 = b2 : π2
(4.26)
z2 = 1 : µ2
x2 ≥ 0
Con esta modificación, las variables duales del problema lineal bietapa PL-2
se pueden obtener a partir de las variables duales del maestro.
⎡ πˆ1* ⎤ ⎡ π1* ⎤
* ⎢ ⎥ ⎢ ⎥
πˆ = ⎢ * ⎥ = ⎢ * ⎥ (4.27)
⎢ πˆ2 ⎥ ⎢ ρ1 ⎥
⎣ ⎦ ⎣ ⎦
donde π̂1* y π̂2* son las variables duales del primer y segundo conjunto de
restricciones respectivamente del problema lineal PL-2 para la solución óptima y
π1* y ρ1* son las variables duales calculadas en el maestro para la solución
óptima.
Como se observa tanto el problema maestro como el subproblema han
aumentado de tamaño. El problema maestro aumenta en m2 el número de
variables y de restricciones. El subproblema aumenta en una variable y una
restricción. Si el aumento de tamaño en el problema maestro no es razonable
una alternativa es resolver el problema lineal bietapa por el procedimiento
original y una vez convergido resolver sólo el problema maestro con esta
modificación.
48 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
A1x 1 = b1
(5.1)
A2x 1 = b2
x1 ≥ 0
10
Aquí se identifican con las de la primera etapa aunque como tal el problema no es bietapa
por carecer de variables de la segunda etapa.
25/05/2005 49
5 DESCOMPOSICIÓN DE DANTZIG-WOLFE
donde A1x 1 = b1 son las restricciones que complican (en número reducido) y
A2x1 = b2 son las restricciones con estructura diagonal por bloques y separable
(en número mucho mayor).
El problema lineal anterior se puede formular también como:
min c1T x 1
x1
A1x 1 = b1 (5.2)
x1 ∈ K
siendo K la región convexa definida como:
⎪⎧ ν l ν
⎪⎫
K =⎪⎨∑ x 1λl | ∑ λl = 1, λl ≥ 0⎪⎬ (5.4)
⎪⎩⎪ l =1 l =1 ⎪⎪⎭
Entonces, el problema maestro completo se formula como:
ν
min ∑ (c1T x 1l )λl
λl
l =1
ν
∑ (A x )λ
l =1
l
1 1 l = b1 : π2
(5.5)
ν
∑λ
l =1
l =1 :µ
λl ≥ 0 l = 1, …, ν
Obsérvese que las variables de este problema son los pesos λl de los vértices
en lugar de las variables originales del problema x 1 . El número total de vértices
⎛ n1 ⎞
de un politopo es ⎜⎜m ⎟⎟⎟ siendo A2 ∈ m2×n1 . Algunos de ellos son factibles y otros
⎜⎝ 2 ⎠⎟
infactibles.
En lugar de enumerar todos los vértices, el algoritmo de descomposición
resuelve iterativamente el proceso, introduciendo un vértice nuevo en cada
iteración a medida que se necesitan. La región K viene definida por la
combinación lineal convexa del conjunto de vértices introducido hasta ese
momento. Luego, la resolución del maestro se puede interpretar como la del
problema completo original pero sobre una región factible K cada vez mayor,
correspondiente al segundo conjunto de restricciones (que no complican). Su
función objetivo disminuye en cada iteración al introducir una nueva variable y,
50 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
Maestro Dantzig-Wolfe
j
min ∑ (c1T x 1l )λl
λl
l =1
j
∑ (A x )λ
l =1
l
1 1 l = b1 : π2
(5.6)
j
∑λ
l =1
l =1 :µ
λl ≥ 0 l = 1, …, j
Supongamos que se dispone de una solución inicial factible x 11 ∈ K y el
problema maestro se resuelve por el método simplex [Dantzig:63, Dantzig:91d].
La condición de optimalidad de un problema lineal de minimización determina
que los costes reducidos deben ser no negativos:
⎛A1x 1* ⎞⎟
⎜
T *
c x − π
1 1 ( T
2 )
µ ⎜⎜
⎜⎜⎝ 1 ⎠⎟⎟
⎟⎟ ≥ 0 (5.7)
equivalente a:
Subproblema Dantzig-Wolfe
A2x 1 = b2 (5.9)
x1 ≥ 0
25/05/2005 51
5 DESCOMPOSICIÓN DE DANTZIG-WOLFE
Subproblema Dantzig-Wolfe
A2x 1 = b2 (5.12)
x1 ≥ 0
donde π2 = −π2′ .
Obsérvese que el subproblema formulado en (5.9) es diferente del formulado
en (5.12), aunque son equivalentes para el algoritmo de descomposición el valor
de la función objetivo cambia. En el primer caso, el problema (5.9) evalúa los
costes reducidos y, por consiguiente, tomará valor 0 al alcanzar el óptimo. En el
segundo caso, el problema (5.12) evalúa el lagrangiano y, por lo tanto, tomará el
valor óptimo del problema completo al alcanzar el óptimo el algoritmo de
descomposición.
Como el óptimo de un problema lineal se alcanza en un vértice podemos
tomar el mínimo de la función dual para todos los vértices x 1l , l = 1, …, ν
52 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
θ2 + (A1x 11 − b1 )T π2 ≤ c1T x 11 : λ1
θ2 + (A1x 12 − b1 )T π2 ≤ c1T x 12 : λ2 (5.15)
θ2 + (A1x 1ν − b1 )T π2 ≤ c1T x 1ν : λν
Si planteamos el problema dual de éste tenemos
ν
min ∑ (c1T x 1l )λl
λl
l =1
ν
∑λ
l =1
l =1 : µ = θ2
(5.16)
ν
∑ (A x
l =1
l
1 1 − b1 )λl = 0 : π2
λl ≥ 0 l = 1, …, ν
Manipulando el segundo bloque de restricciones
ν ν ν ν
25/05/2005 53
5 DESCOMPOSICIÓN DE DANTZIG-WOLFE
I.5.2 Algoritmo
El tamaño del problema lineal completo es (m1 + m2 ) × n1 . El tamaño del
problema maestro es (m1 + 1) × j y el del subproblema m2 × n1 . El problema
maestro aumenta en una variable en cada iteración lo que ocasiona una pérdida
de optimalidad, luego conviene que sea resuelto por el método simplex primal.
El subproblema se ve afectado únicamente en su función objetivo luego también
se recomienda utilizar el método simplex primal.
En una iteración del algoritmo se resuelve el subproblema11. Mientras su
función objetivo (i.e., la condición de optimalidad del problema maestro cuando
es formulado según la ecuación (5.9)) sea negativa la solución x 1j obtenida en el
subproblema es enviada al maestro. Cuando es positiva o nula se alcanza el
óptimo y el algoritmo acaba. A continuación se resuelve el problema maestro y
se pasa el valor del vector de variables duales π2j y µ j al subproblema. En la
primera iteración se suponen unos valores iniciales razonables (o nulos) de la
variables duales π21 y µ1 y se resuelve el subproblema.
En general, el algoritmo progresa rápidamente al comienzo pero luego
converge muy lentamente. Por esta razón, a veces se termina prematuramente
con una solución subóptima. Un criterio de parada para detener previamente el
algoritmo, cuando el subproblema es formulado según la ecuación (5.12), puede
ser
z ≤ z1* ≤ z (5.17)
siendo z y z los valores de las funciones objetivo de maestro y subproblema,
respectivamente, en una iteración cualquiera. Luego cuando la diferencia entre
ambas está por debajo de una cierta tolerancia se detiene el algoritmo. Esta
diferencia es teóricamente 0 en el óptimo cuando el problema completo es lineal.
Esquemáticamente el algoritmo se representa en la figura 4.4.
SUBPROBLEMA
| ↑
j j
precios sombra π , µ
2 propuesta x 1j
↓ |
PROBLEMA MAESTRO RESTRINGIDO
11
En el método de descomposición de Dantzig-Wolfe la iteración empieza de forma natural
por el subproblema mientras que en Benders empezaba por el maestro.
54 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
j
z1* = ∑ (c1T x 1l )λl (5.19)
l =1
25/05/2005 55
5 DESCOMPOSICIÓN DE DANTZIG-WOLFE
56 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
Los pasos que sigue el algoritmo para resolver el siguiente problema lineal se
pueden ver en la implantación hecha en GAMS.
min− x − y − 2u − v
x +2y +2u +v ≤ 10
x +3y ≤ 40
2x +y ≤ 30
u ≤ 10
v ≤ 10
u +v ≤ 15
x, y, u, v ≥0
25/05/2005 57
5 DESCOMPOSICIÓN DE DANTZIG-WOLFE
⎛40⎞⎟ ⎛1 3 ⎞⎟
⎛−1⎞⎟ ⎜⎜ ⎟ ⎜⎜ ⎟⎟
⎜⎜ ⎟ ⎜⎜30⎟⎟ ⎜⎜2 1 ⎟⎟
⎟ ⎟
⎜⎜⎜−1⎟⎟⎟ ⎜⎜ ⎟⎟
⎟
⎜⎜ ⎟⎟
⎟⎟
⎜ 10 ⎟ ( )
entonces, c1 = ⎜⎜ ⎟⎟ , b1 = (10) , b2 = ⎜⎜ ⎟ , A1 = 1 2 2 1 y A2 = ⎜⎜
⎜⎜−2⎟⎟ ⎜⎜ ⎟⎟ ⎟
⎜
⎜⎜
1 ⎟⎟
⎟
⎜⎜ ⎟⎟⎟ ⎜⎜10 ⎟⎟ ⎜⎜ 1⎟⎟⎟
⎜⎝−1⎠⎟ ⎜⎜ ⎟⎟ ⎜⎜ ⎟
⎜⎝15 ⎠⎟⎟ ⎜⎝ 1 1⎠⎟⎟⎟
58 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 59
5 DESCOMPOSICIÓN DE DANTZIG-WOLFE
FOS.. X1(xuno-1) + X1(xuno-2) + 2*X1(xuno-3) + X1(xuno-4) + Z2 =E= 0 ; (LHS = -1E-5, INFES = 1E-5 ***)
---- R2 =L= restricciones segunda etapa
R2(runo-1).. X1(xuno-1) + 3*X1(xuno-2) =L= 40 ; (LHS = 0)
R2(runo-2).. 2*X1(xuno-1) + X1(xuno-2) =L= 30 ; (LHS = 0)
R2(runo-3).. X1(xuno-3) =L= 10 ; (LHS = 0)
R2(runo-4).. X1(xuno-4) =L= 10 ; (LHS = 0)
R2(runo-5).. X1(xuno-3) + X1(xuno-4) =L= 15 ; (LHS = 0)
GAMS Rev 142 Intel /MS Window 04/14/05 07:08:20 Page 3
Descomposición de Danztig-Wolfe (DW)
Model Statistics SOLVE SUB Using LP From line 119
LOOPS L iter-1
MODEL STATISTICS
BLOCKS OF EQUATIONS 2 SINGLE EQUATIONS 6
BLOCKS OF VARIABLES 2 SINGLE VARIABLES 5
NON ZERO ELEMENTS 13
GENERATION TIME = 0.030 SECONDS 4.0 Mb WIN217-142 Apr 05, 2005
EXECUTION TIME = 0.030 SECONDS 4.0 Mb WIN217-142 Apr 05, 2005
GAMS Rev 142 Intel /MS Window 04/14/05 07:08:20 Page 4
Descomposición de Danztig-Wolfe (DW)
Solution Report SOLVE SUB Using LP From line 119
L O O P S L iter-1
S O L V E S U M M A R Y
MODEL SUB OBJECTIVE Z2
TYPE LP DIRECTION MINIMIZE
SOLVER CPLEX FROM LINE 119
**** SOLVER STATUS 1 NORMAL COMPLETION
**** MODEL STATUS 1 OPTIMAL
**** OBJECTIVE VALUE -45.0000
RESOURCE USAGE, LIMIT 0.020 1000.000
ITERATION COUNT, LIMIT 5 10000
GAMS/Cplex Apr 1, 2005 WIN.CP.CP 21.7 028.031.041.VIS For Cplex 9.0
Cplex 9.0.2, GAMS Link 28
User supplied options:
scaind -1
lpmethod 1
preind 0
epopt 1.1e-9
eprhs 1.1e-9
Optimal solution found.
Objective : -45.000000
LOWER LEVEL UPPER MARGINAL
---- EQU FOS . . . 1.0000
FOS función objetivo subproblema
---- EQU R2 restricciones segunda etapa
LOWER LEVEL UPPER MARGINAL
runo-1 -INF 40.0000 40.0000 -0.2000
runo-2 -INF 30.0000 30.0000 -0.4000
runo-3 -INF 10.0000 10.0000 -1.0000
runo-4 -INF 5.0000 10.0000 .
runo-5 -INF 15.0000 15.0000 -1.0000
---- VAR X1 variables primera etapa
LOWER LEVEL UPPER MARGINAL
xuno-1 . 10.0000 +INF .
xuno-2 . 10.0000 +INF .
xuno-3 . 10.0000 +INF .
xuno-4 . 5.0000 +INF .
LOWER LEVEL UPPER MARGINAL
---- VAR Z2 -INF -45.0000 +INF .
Z2 función objetivo subproblema y completo
**** REPORT SUMMARY : 0 NONOPT
0 INFEASIBLE
0 UNBOUNDED
GAMS Rev 142 Intel /MS Window 04/14/05 07:08:20 Page 5
Descomposición de Danztig-Wolfe (DW)
E x e c u t i o n
---- 122 PARAMETER Z_INF = -45.000 cota inferior de la solución
PARAMETER Z_SUP = +INF cota superior de la solución
GAMS Rev 142 Intel /MS Window 04/14/05 07:08:20 Page 6
Descomposición de Danztig-Wolfe (DW)
Equation Listing SOLVE MAESTRO Using LP From line 115
---- FOM =E= función objetivo maestro
FOM.. 45*LAMBDA(iter-1) - 1000*EXC(rdos-1) + Z1 =E= 0 ; (LHS = 0)
---- R1 =L= restricciones primera etapa
R1(rdos-1).. 55*LAMBDA(iter-1) - EXC(rdos-1) =L= 10 ; (LHS = 0)
---- COMBLIN =E= combinación lineal de los pesos de las soluciones
60 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 61
5 DESCOMPOSICIÓN DE DANTZIG-WOLFE
MODEL STATISTICS
BLOCKS OF EQUATIONS 2 SINGLE EQUATIONS 6
BLOCKS OF VARIABLES 2 SINGLE VARIABLES 5
NON ZERO ELEMENTS 13
GENERATION TIME = 0.040 SECONDS 2.9 Mb WIN217-142 Apr 05, 2005
EXECUTION TIME = 0.050 SECONDS 2.9 Mb WIN217-142 Apr 05, 2005
GAMS Rev 142 Intel /MS Window 04/14/05 07:08:20 Page 11
Descomposición de Danztig-Wolfe (DW)
Solution Report SOLVE SUB Using LP From line 119
L O O P S L iter-2
S O L V E S U M M A R Y
MODEL SUB OBJECTIVE Z2
TYPE LP DIRECTION MINIMIZE
SOLVER CPLEX FROM LINE 119
**** SOLVER STATUS 1 NORMAL COMPLETION
**** MODEL STATUS 1 OPTIMAL
**** OBJECTIVE VALUE -54955.0000
RESOURCE USAGE, LIMIT 0.010 1000.000
ITERATION COUNT, LIMIT 1 10000
GAMS/Cplex Apr 1, 2005 WIN.CP.CP 21.7 028.031.041.VIS For Cplex 9.0
Cplex 9.0.2, GAMS Link 28
User supplied options:
scaind -1
lpmethod 1
preind 0
epopt 1.1e-9
eprhs 1.1e-9
Optimal solution found.
Objective : -54955.000000
LOWER LEVEL UPPER MARGINAL
---- EQU FOS -54955.0000 -54955.0000 -54955.0000 1.0000
FOS función objetivo subproblema
---- EQU R2 restricciones segunda etapa
LOWER LEVEL UPPER MARGINAL
runo-1 -INF . 40.0000 .
runo-2 -INF . 30.0000 .
runo-3 -INF . 10.0000 .
runo-4 -INF . 10.0000 .
runo-5 -INF . 15.0000 .
---- VAR X1 variables primera etapa
LOWER LEVEL UPPER MARGINAL
xuno-1 . . +INF 999.0000
xuno-2 . . +INF 1999.0000
xuno-3 . . +INF 1998.0000
xuno-4 . . +INF 999.0000
LOWER LEVEL UPPER MARGINAL
---- VAR Z2 -INF -54955.0000 +INF .
Z2 función objetivo subproblema y completo
**** REPORT SUMMARY : 0 NONOPT
0 INFEASIBLE
0 UNBOUNDED
GAMS Rev 142 Intel /MS Window 04/14/05 07:08:20 Page 12
Descomposición de Danztig-Wolfe (DW)
E x e c u t i o n
---- 122 PARAMETER Z_INF = -10000.000 cota inferior de la solución
PARAMETER Z_SUP = 44955.000 cota superior de la solución
GAMS Rev 142 Intel /MS Window 04/14/05 07:08:20 Page 13
Descomposición de Danztig-Wolfe (DW)
Equation Listing SOLVE MAESTRO Using LP From line 115
---- FOM =E= función objetivo maestro
FOM.. 45*LAMBDA(iter-1) - 1000*EXC(rdos-1) + Z1 =E= 0 ; (LHS = 0)
---- R1 =L= restricciones primera etapa
R1(rdos-1).. 55*LAMBDA(iter-1) - EXC(rdos-1) =L= 10 ; (LHS = 10)
---- COMBLIN =E= combinación lineal de los pesos de las soluciones
COMBLIN.. LAMBDA(iter-1) + LAMBDA(iter-2) =E= 1 ; (LHS = 1)
GAMS Rev 142 Intel /MS Window 04/14/05 07:08:20 Page 14
Descomposición de Danztig-Wolfe (DW)
Model Statistics SOLVE MAESTRO Using LP From line 115
LOOPS L iter-3
MODEL STATISTICS
BLOCKS OF EQUATIONS 3 SINGLE EQUATIONS 3
BLOCKS OF VARIABLES 3 SINGLE VARIABLES 4
NON ZERO ELEMENTS 7
GENERATION TIME = 0.041 SECONDS 2.9 Mb WIN217-142 Apr 05, 2005
EXECUTION TIME = 0.051 SECONDS 2.9 Mb WIN217-142 Apr 05, 2005
GAMS Rev 142 Intel /MS Window 04/14/05 07:08:20 Page 15
62 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 63
5 DESCOMPOSICIÓN DE DANTZIG-WOLFE
64 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 65
5 DESCOMPOSICIÓN DE DANTZIG-WOLFE
66 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
%
% descomposicion de Dantzig-Wolfe
%
[m1,n1]=size(A1) ;
[m2,n2]=size(A2) ;
l = 1 ;
optcnd = -1 ;
x1 = x11 ;
AA = B1*x1 ;
cc = c1'*x1 ;
while optcnd < 0
A = [[AA, A2]; [ones(1,l), zeros(1,n2)]] ;
b = [b2; 1] ;
c = [cc, c2'] ;
[x2,pi2t] = lp(c,A,b,zeros(l+n2,1)) ;
pi2(:,l) = -pi2t(1:m2) ;
[x1t] = lp([c1'-pi2(:,l)'*B1],A1,b1,zeros(n1,1)) ;
l = l + 1 ;
x1(:,l) = x1t ;
AA = [AA, B1*x1(:,l)] ;
cc = [cc, c1'*x1(:,l)] ;
optcnd = [c1'-pi2(:,l-1)'*B1]*x1(:,l) + pi2t(m2+1) ;
end
25/05/2005 67
I OPTIMIZACIÓN ESTOCÁSTICA
θ2 + (A1x 11 − b1 )T π2 ≤ c1T x 11 : λ1
θ2 + (A1x 12 − b1 )T π2 ≤ c1T x 12 : λ2 (6.1)
θ2 + (A1x 1ν − b1 )T π2 ≤ c1T x 1ν : λν
y definimos θ2 = b1T π2 + µ , entonces esta ecuación se convierte en
max b1T π2 + µ
π2 , µ
(A1x 11 )T π2 + µ ≤ c1T x 11 : λ1
(A1x 12 )T π2 + µ ≤ c1T x 12 : λ2 (6.2)
(A1x 1ν )T π2 + µ ≤ c1T x 1ν : λν
luego el problema maestro restringido es
12
Por relajación lineal de un problema P se entiende el problema P en el que las variables
enteras son sustituidas por variables continuas.
25/05/2005 69
6 RELAJACIÓN LAGRANGIANA
max θ2
θ2 , π2
(6.3)
θ2 + (A1x 1l − b1 )T π2 ≤ c1T x 1l : λl l = 1, …, j
o bien
max b1T π2 + µ
π2 , µ
(6.4)
l T T l
(A x ) π2 + µ ≤ c x
1 1 1 1 : λl l = 1, …, j
donde las restricciones reciben el nombre de cortes duales o cortes de
optimalidad lagrangianos o corte de Lagrange. Esta formulación del maestro es
denominada método de planos de corte de Kelly.
A2x 1 = b2 (6.5)
x1 ≥ 0
13
Es v ∈ {x 1 ≥ 0, A2x 1 ≤ 0}
decir, que es el sistema homogéneo asociado a
v ∈ {x 1 ≥ 0, A2x 1 = b2 } .
70 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
A2x 1 ≤ 0 (6.8)
0 ≤ x1 ≤ 1
A2x 1 = b2 (6.12)
x1 ≥ 0
o bien
A2x 1 = b2 (6.13)
x1 ≥ 0
I.6.3 Algoritmo
Esquemáticamente el algoritmo se representa en la figura 4.5.
25/05/2005 71
6 RELAJACIÓN LAGRANGIANA
SUBPROBLEMA
| ↑
precios sombra π2j , µ j propuesta x 1j
↓ |
PROBLEMA MAESTRO RESTRINGIDO
1. Inicialización: j = 0 , z = ∞ , z = −∞ , ε = 10−4 .
2. Resolución del problema maestro de la RL
max θ2
θ2 , π2
(6.14)
δ1l θ2 + (A1x 1l − δ1lb1 )T π2 ≤ c1T x 1l : λl l = 1, …, j
Actualizar la cota superior z = θ2 . Obtener el valor de π2 e ir al paso 3.
3. Resolución del subproblema de acotamiento
θ2*(π2 ) = min(c1T − π2jT A1 )x 1
x1
A2x 1 ≤ 0 (6.15)
0 ≤ x1 ≤ 1
A2x 1 = b2 (6.17)
x1 ≥ 0
72 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
j
z1* = ∑ (c1T x 1l )λl (6.20)
l =1
14
d(π2j − π2j −1 ) < ε representa distancia entre π2j y π2j −1 .
25/05/2005 73
6 RELAJACIÓN LAGRANGIANA
⎠
donde βj es un escalar entre 0 y 2, c1T x 1* es el valor de la función objetivo para
la mejor solución factible conocida del problema. Frecuentemente, se empieza la
secuencia por αj = 2 y se reduce su valor a la mitad cuando θ2 (π2j ) no ha
aumentado en un número prespecificado de iteraciones.
El bundle method es una variante del método de planos de corte donde la
función objetivo introduce un término cuadrático de penalización de la
desviación de los multiplicadores π2j con respecto a un punto πˆ2j que representa
el centro de gravedad de la región factible. En este caso el problema maestro
tiene función objetivo no lineal y además requiere el ajuste del parámetro de
penalización.
Incluso el problema maestro puede ser sustituido por algoritmos heurísticos
de actualización de los multiplicadores con tal de que se cumplan ciertas
condiciones. Por ejemplo, el método lambda de despacho económico en un
74 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 75
6 RELAJACIÓN LAGRANGIANA
76 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 77
6 RELAJACIÓN LAGRANGIANA
78 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 79
6 RELAJACIÓN LAGRANGIANA
80 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 81
6 RELAJACIÓN LAGRANGIANA
82 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 83
6 RELAJACIÓN LAGRANGIANA
84 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 85
6 RELAJACIÓN LAGRANGIANA
86 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
E x e c u t i o n
---- 145 PARAMETER Z_SUP = -21.500 cota superior de la solución
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 31
Descomposición de relajación lagrangiana (RL)
Equation Listing SOLVE SUB2 Using LP From line 166
---- FOS2 =E= función objetivo subproblema
FOS2.. 2.5*X1(xuno-1) + 4*X1(xuno-3) + Z2 =E= -8.5 ; (LHS = -9.22222222222222, INFES = 0.722222222222221 ***)
---- R2 =L= restricciones segunda etapa
R2(rdos-1).. - X1(xuno-1) =L= -1 ; (LHS = -2)
R2(rdos-2).. - X1(xuno-2) =L= -1 ; (LHS = -1)
R2(rdos-3).. - X1(xuno-3) =L= -1 ; (LHS = -2)
R2(rdos-4).. X1(xuno-1) =L= 2 ; (LHS = 2)
R2(rdos-5).. X1(xuno-2) =L= 2 ; (LHS = 1)
R2(rdos-6).. X1(xuno-3) =L= 2 ; (LHS = 2)
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 32
Descomposición de relajación lagrangiana (RL)
Model Statistics SOLVE SUB2 Using LP From line 166
LOOPS IT iter-5
MODEL STATISTICS
BLOCKS OF EQUATIONS 2 SINGLE EQUATIONS 7
BLOCKS OF VARIABLES 2 SINGLE VARIABLES 4
NON ZERO ELEMENTS 9
GENERATION TIME = 0.030 SECONDS 2.9 Mb WIN217-142 Apr 05, 2005
EXECUTION TIME = 0.040 SECONDS 2.9 Mb WIN217-142 Apr 05, 2005
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 33
Descomposición de relajación lagrangiana (RL)
Solution Report SOLVE SUB2 Using LP From line 166
L O O P S IT iter-5
S O L V E S U M M A R Y
MODEL SUB2 OBJECTIVE Z2
TYPE LP DIRECTION MINIMIZE
SOLVER CPLEX FROM LINE 166
**** SOLVER STATUS 1 NORMAL COMPLETION
**** MODEL STATUS 1 OPTIMAL
**** OBJECTIVE VALUE -21.5000
RESOURCE USAGE, LIMIT 0.010 1000.000
ITERATION COUNT, LIMIT 5 10000
GAMS/Cplex Apr 1, 2005 WIN.CP.CP 21.7 028.031.041.VIS For Cplex 9.0
Cplex 9.0.2, GAMS Link 28
User supplied options:
scaind -1
lpmethod 1
preind 0
epopt 1.1e-9
eprhs 1.1e-9
Optimal solution found.
Objective : -21.500000
LOWER LEVEL UPPER MARGINAL
---- EQU FOS2 -8.5000 -8.5000 -8.5000 1.0000
FOS2 función objetivo subproblema
---- EQU R2 restricciones segunda etapa
LOWER LEVEL UPPER MARGINAL
rdos-1 -INF -2.0000 -1.0000 .
rdos-2 -INF -1.0000 -1.0000 EPS
rdos-3 -INF -2.0000 -1.0000 .
rdos-4 -INF 2.0000 2.0000 -2.5000
rdos-5 -INF 1.0000 2.0000 .
rdos-6 -INF 2.0000 2.0000 -4.0000
---- VAR X1 variables primera etapa
LOWER LEVEL UPPER MARGINAL
xuno-1 -INF 2.0000 +INF .
xuno-2 -INF 1.0000 +INF .
xuno-3 -INF 2.0000 +INF .
LOWER LEVEL UPPER MARGINAL
---- VAR Z2 -INF -21.5000 +INF .
Z2 función objetivo subproblema y completo
**** REPORT SUMMARY : 0 NONOPT
0 INFEASIBLE
0 UNBOUNDED
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 34
Descomposición de relajación lagrangiana (RL)
E x e c u t i o n
---- 181 PARAMETER Z_INF = -21.500 cota inferior de la solución
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 35
Descomposición de relajación lagrangiana (RL)
Equation Listing SOLVE COMPLETO Using LP From line 215
25/05/2005 87
6 RELAJACIÓN LAGRANGIANA
88 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
∑xj
ij ≤ ai
∑xi
ij ≥ bj
x ij ≥ 0, yij ∈ {0,1}
que reformulado queda como
∑x j
ij ≤ ai
∑x i
ij ≥ bj
x ij ≥ 0, yij ∈ {0,1}
Esta reformulación permite observar que el subproblema es separable en dos
problemas. Un problema de transporte en el que el coste variable es ligeramente
modificado por el multiplicador y un segundo problema que es entero puro y
cuya solución puede obtenerse de modo inmediato.
Problema de transporte
∑x j
ij ≤ ai
∑x i
ij ≥ bj
x ij ≥ 0
Problema entero puro
yij ∈ {0,1}
25/05/2005 89
6 RELAJACIÓN LAGRANGIANA
90 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
1500
1000
500
0
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67
-500
-1000
Iteración
(integrality property) y tiene poco sentido el uso de la RL como técnica de aproximación del
valor óptimo del problema.
25/05/2005 91
6 RELAJACIÓN LAGRANGIANA
Por otra parte, los valores obtenidos por las variables de decisión no son
factibles en ninguna de las iteraciones del método. Se necesita un postproceso de
estas soluciones para obtener una solución. En este problema, una posibilidad es
considerar la solución dada para las variables continuas x ij por el problema de
transporte (lineal) y adecuar las variables binarias a esta solución, es decir,
92 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
Maestro Primal-Dual
min c1T x 1 + θ2
x1 , θ2
A1x 1 = b1
(7.1)
π2lT B1x 1 + θ2 ≥ π2lTb2 l = 1, …, j
x1 ≥ 0
Subproblema Primal-Dual
t
min ∑ (c1T x 1l )λl + cT2 x 2
λl ,x 2
l =1
t
∑ (B x )λ + A x
l =1
l
1 1 l 2 2 = b2 : π2
(7.2)
t
∑λ
l =1
l =1 :µ
λl , x 2 ≥ 0 l = 1, …, j
donde t ≤ j asociado al tamaño del problema, siendo 10 un valor máximo
razonable. Se pueden intentar diferentes estrategias de combinación lineal de
25/05/2005 93
7 OTRAS TÉCNICAS DE DESCOMPOSICIÓN
94 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
A1x 1 = b1
B1x 1 +A2x 2 = b2
(7.4)
B2x 2 +A3x 3 = b3
B3x 3 +A4x 4 = b4
x 1, x 2, x 3, x4 ≥0
A3x 3 = b3 − B2x 2l : π3
(7.6)
θ4 + πT4 B3x 3 ≥ πT4 b4 : η3
x3 ≥ 0
siendo la función objetivo del problema dual max πT3 (b3 − B2x 2l ) + ηT3 (πT4 b4 )
π3 , η3
Si en lugar de resolver este maestro se hubiera resuelto el problema de las
dos últimas etapas tendríamos:
25/05/2005 95
7 OTRAS TÉCNICAS DE DESCOMPOSICIÓN
π3′T (b3 − B2x 2l ) + µT3 b4 ≥ πT3 (b3 − B2x 2l ) + ηT3 (πT4 b4 ) (7.8)
π3′T (b3 − B2x 2 ) + µT3 b4 ≥ πT3 (b3 − B2x 2 ) + ηT3 (πT4 b4 ) (7.9)
θ3 ≥ π3′T (b3 − B2x 2 ) + µT3 b4 ≥ πT3 (b3 − B2x 2 ) + ηT3 (πT4 b4 ) (7.10)
Esta ecuación indica que el corte pasado a la etapa anterior es válido aunque
desde la etapa actual hasta la última no se haya resuelto el problema hasta
optimalidad [Morton:93]. Ahora la expresión del corte de Benders queda
A2x 2 = b2 − B1x 1l : π2
(7.12)
T
θ3 + π B2x 2 ≥ π b + η
3
T
3 3
T
3 (π b )
T
4 4 : η2
x2 ≥ 0
siendo la función objetivo del problema dual
max π2 (b2 − B1x 1 ) + η2 ⎢ π3 b3 + η3 (π4 b4 )⎤⎥
T l T ⎡ T T T
π2 , η2 ⎣ ⎦
Si en lugar de resolver este maestro se hubiera resuelto el problema de las
tres últimas etapas tendríamos:
96 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
θ2 ≥ π2′T (b2 − B1x 1 ) + µT2 b3 + µT3 b4 ≥ πT2 (b2 − B1x 1 ) + ηT2 ⎡⎢ πT3 b3 + ηT3 (πT4 b4 )⎤⎥ (7.14)
⎣ ⎦
θ2 + πT2 B1x 1 ≥ πT2 b2 + ηT2 ⎡⎣⎢ πT3 b3 + ηT3 (πT4 b4 )⎤⎦⎥ (7.15)
25/05/2005 97
7 OTRAS TÉCNICAS DE DESCOMPOSICIÓN
min cTp x p + θp +1
x p , θp +1
Apx p = bp − Bp−1x pl −1 : πp
πlT lT lT
p +1B px p + θp +1 ≥ q p = π p +1bp +1 + η p +1q p +1 : ηp l = 1, …, j
xp ≥ 0
(7.21)
θP +1 ≡ 0
B0 ≡ 0
πPl +1 ≡ 0
ηPl +1 ≡ 0
o bien con la otra formulación de los cortes:
min cTp x p + θp +1
x p , θp +1
Apx p = bp − Bp−1x pl −1 : πp
πlT l lT l
p +1B px p + θp +1 ≥ f p +1 + πp +1B px p : ηp l = 1, …, j
xp ≥ 0
(7.22)
θP +1 ≡ 0
B0 ≡ 0
πPl +1 ≡ 0
ηPl +1 ≡ 0
donde el superíndice l de los vectores significa que son valores de variables
conocidos en alguna iteración previa y θp +1 ∈ .
En términos generales, el algoritmo consiste en resolver cierta etapa p y
entonces o bien proceder con la siguiente etapa p + 1 modificando las cotas o
proceder con la etapa previa p − 1 formando un corte. Existen varias estrategias
para recorrer las etapas del problema que se explican más adelante. El
procedimiento iterativo finaliza cuando se produce la convergencia en la primera
etapa.
98 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
min− 4x − y − 6z
3x + 2y + 4z = 17
1≤x ≤2
1≤y ≤2
1≤z ≤2
Para ello lo primero es poner las ecuaciones de manera que sean diagonal por
bloques introduciendo una variable auxiliar v = 2y + 4z
min− 4x − y − 6z
3x + v = 17
v − 2y − 4z = 0
1≤x ≤2
1≤y ≤2
1≤z ≤2
Empezamos resolviendo el problema maestro
min− 4x
1≤x ≤2
que da lugar a x = 2 . Esa solución se le pasa al siguiente subproblema
min− y
v = 17 − 3 ⋅ 2
1≤y ≤2
que da lugar a y = 2 y v = 11 . Esa solución se le pasa al siguiente subproblema
min− 6z
−4z = −11 + 2 ⋅ 2
1≤z ≤2
que da lugar a z = 1.75 , función objetivo −10.5 y la variable dual asociada a la
primera ecuación es 1.5 . Esa solución se le pasa al subproblema anterior para
formar un corte
min− y + θ3
v = 17 − 3 ⋅ 2
θ3 + 10.5 ≥ 1.5(11 − 2 ⋅ 2 − v + 2y )
1≤y ≤2
25/05/2005 99
7 OTRAS TÉCNICAS DE DESCOMPOSICIÓN
100 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 101
7 OTRAS TÉCNICAS DE DESCOMPOSICIÓN
102 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 103
7 OTRAS TÉCNICAS DE DESCOMPOSICIÓN
104 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 105
I OPTIMIZACIÓN ESTOCÁSTICA
A1x 1 = b1
(8.1)
B1ωx 1 +A2ωx 2ω = b2ω
x 1, x 2ω ≥0
A1
B11 A21
B12 A22
B13 A23
16
El superíndice ω indica la dependencia de las matrices y vectores con respecto al valor del
escenario ω .
25/05/2005 107
8 OPTIMIZACIÓN LINEAL ESTOCÁSTICA
min α
α,x1 ,x 2ω
α −c1T x 1 −c2ωT x 2ω ≥ −f ω ∀ω ∈ Ω
A1x 1 = b1 (8.2)
B1ωx 1 +A2ωx 2ω = b2ω
x 1, x 2ω ≥0
α −c1T x 1 −c2ωT x 2ω ≥0 ∀ω ∈ Ω
A1x 1 = b1 (8.3)
B1ωx 1 +A2ωx 2ω = b2ω
x 1, x 2ω ≥0
A1x 1 = b1
B1ω1 x 1 +A2ω1 x 2ω1 = b2ω1
(8.4)
B1ω2 x 1 +A2ω2 x 2ω2 = b2ω2
B1ω3 x 1 +A2ω3 x 2ω3 = b2ω3
x 1, x 2ω1 , x 2ω2 , x 2ω3 , ≥0
108 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
A1x 1 = b1
(8.6)
∑p
ω ∈Ω
ω
π2ωlT B1ωx 1 + θ2 ≥ ∑p
ω ∈Ω
ω
π2ωlTb2ω l = 1, …, j
x1 ≥ 0
25/05/2005 109
8 OPTIMIZACIÓN LINEAL ESTOCÁSTICA
A1x 1 = b1
(8.7)
π2ωlT B1ωx 1 + θ2ω ≥ π2ωlTb2ω ω∈Ω l = 1, …, j
x1 ≥ 0
I.8.2 Multietapa
El problema lineal estocástico multietapa PLE-P se puede formular como:
P
∑ ∑
ω ωT ω
min
ωp
p p pc p p x p p
xp
p =1 ωp ∈Ω p
ω ω ω ω ω
Bp−p 1x p−p−11 + Ap p x p p = bp p p = 1, …, P (8.8)
ωp
x p ≥0
ω1
B 0 ≡0
17
El cambio en la función objetivo del dual (por cambio en la cota de las restricciones del
primal) es lo que hace que se obtenga un vértice diferente aun en el caso de nodos con un mismo
ascendiente.
110 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
A1
B11 A21
B12 A22
B21 A31
B22 A32
B23 A33
B24 A34
Figura 4.16 Estructura de la matriz de coeficientes de las restricciones en problemas lineales multietapa.
25/05/2005 111
8 OPTIMIZACIÓN LINEAL ESTOCÁSTICA
ωT ω ω
min
ω ω
c p p x p p + θp +p 1
x p p , θp +p 1
ω ω ω ω a ( ω )l ω
Ap p x p p = bp p -Bp−p 1x p−1p : πp p
(8.9)
∑
ω ω ω ω
p p πpklT+1Bpk x p p + θp +p 1 ≥ q p p = ∑ p
ωp
(πpklT+1bpk+1 + ηpklT+1q pk +1 ) ω
: ηp p
k ∈d ( ωp ) k ∈d ( ωp )
ω
xpp ≥ 0
ω
donde θp +p 1 ∈ , a(ωp ) indica el ascendiente del subproblema y d(ωp ) indica sus
descendientes.
112 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
2. Protocolos de barrido
El protocolo de barrido de los subproblemas define el orden en que éstos son
resueltos. Se han desarrollado diversas estrategias [Abrahamson, Birge:80,
Gassmann:90, Morton:93, Jacobs, Morton:96, Scott, Wittrock] que se definen
a continuación aunque los mejores resultados se han obtenido generalmente
con la estrategia denominada pasada rápida (fast-pass) [Morton:93], que es
por consiguiente la generalmente utilizada. Este proceso acaba cuando se
consigue convergencia en la primera etapa, que las cotas inferior y superior
25/05/2005 113
9 MEJORAS EN LAS TÉCNICAS DE DESCOMPOSICIÓN
• Avanzar (u, v )
Se entiende por avanzar entre u y v a formar las cotas de las
restricciones para los problemas de la etapa u , resolverlos, formar las
cotas para los problemas de la etapa u + 1 , resolverlos, etc. Así hasta
alcanzar la etapa v y resolver todos los problemas.
• Retroceder (u, v )
Se entiende por retroceder obtener los cortes para la etapa v , solucionar
los problemas de esta etapa, pasar los cortes a la etapa anterior,
solucionar los problemas, etc. Así hasta alcanzar la etapa u y formar sus
cortes sin solucionar los problemas de esta etapa.
• pasada rápida
Avanzar desde 1 hasta P , retroceder desde P − 1 hasta 1. Iterar entre
ambos procesos hasta convergencia.
• remolona
Empieza avanzando desde 1 hasta P . Luego selecciona la etapa p con
mayor error entre cota superior e inferior y para ésta resuelve todos los
problemas de las etapas p + 1, …, P antes de pasar los cortes a la etapa
p − 1 . Cuando la etapa con mayor error es la primera comienza otra vez
a iterar. Esta estrategia resuelve más problemas en las últimas etapas.
• cautelosa
Esta empieza con una iteración de la estrategia pasada rápida para
obtener cotas superior e inferior. Para una etapa dada p nunca avanza a
menos que el error en convergencia en la etapa p − 1 sea suficientemente
pequeño. Como resultado esta estrategia resuelve más problemas en las
primeras etapas.
114 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
18
Este número mínimo estará asociado a la memoria principal disponible para la resolución
del subárbol de tamaño máximo.
25/05/2005 115
I OPTIMIZACIÓN ESTOCÁSTICA
A1x 1 = b1
(10.1)
θ2 − ∑ p ω f2ωl ≥ ∑p ω
π2ωlT B1ω (x 1l − x 1 ) l = 1, …, j
ω ∈Ω ω ∈Ω
x1 ≥ 0
A1x1 = b1
(10.2)
ω ωl ωlT ω l
θ −f
2 2 ≥ π 2 B (x − x 1 )
1 1 ω∈Ω l = 1, …, j
x1 ≥ 0
19
Por ejemplo, en el caso de sistemas de energía eléctrica éstos pueden ser los elementos de
generación y red, los escenarios de hidraulicidad y los niveles de demanda.
25/05/2005 117
10 SIMULACIÓN EN OPTIMIZACIÓN LINEAL ESTOCÁSTICA BIETAPA
• Muestreo externo
Se toman las muestras para reducir el tamaño del problema y luego se aplica
el método de optimización correspondiente para resolverlo.
• Muestreo interno
Se toman las muestras al mismo tiempo que se aplica el método de
optimización que lo resuelve.
Una vez alcanzado este número de muestras, se forman los cortes muestrales.
En el caso de utilizar el método monocorte o híbrido (convenientes cuando el
número de muestras es elevado), éstos dejan de ser exactos y se convierten en
aproximaciones de los cortes reales:
n
1 1 n ωlT ω
n
∑π
ω =1
ωlT
2 B1ωx 1 + θ2 ≥ ∑ π2 b2
n ω =1
(10.6)
o bien
n n
1 1
θ2 −
n
∑f
ω =1
2
ωl
≥
n
∑π
ω =1
ωlT
2 B1ω (x 1l − x 1 ) (10.7)
118 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 119
10 SIMULACIÓN EN OPTIMIZACIÓN LINEAL ESTOCÁSTICA BIETAPA
• Variables antitéticas
Se basa en la idea de introducir correlación negativa entre dos muestras
consecutivas. Consiste en la utilización de números aleatorios
complementarios en dos muestras sucesivas.
• Variable de control
La idea básica es utilizar los resultados de un modelo más sencillo para
predecir o explicar parte de la varianza del valor a estimar. Se necesita un
cálculo previo del valor esperado de la variable de control. Este cálculo debe
ser muy rápido frente al de la variable a estimar.
120 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
• Muestreo estratificado
La idea intuitiva de esta técnica es similar a la anterior pero en versión
discreta. Consiste en tomar más muestras de la variable aleatoria en las
zonas de mayor interés. La varianza se reduce al concentrar el esfuerzo de
simulación en los estratos más relevantes.
∑
n
j =1
Zj
Z (n ) = (10.8)
n
La varianza muestral se calcula como
var(Z j ) var(X1 j ) + var(X 2 j ) − 2 cov(X1 j , X 2 j )
var(Z (n )) = = (10.9)
n n
Si las muestras para las dos configuraciones se hicieran independientemente
(es decir, con números aleatorios diferentes) X1j y X 2 j serían independientes y
la covarianza sería 0. Por el contrario, si las muestras están positivamente
correlacionadas la covarianza será positiva y la varianza de la media muestral
será menor. Esta técnica trata de inducir una correlación positiva entre los
muestreos hechos para las dos configuraciones utilizando los mismos números
aleatorios. Esto es posible por la característica de reproducibilidad de las
cadenas de números pseudoaleatorios. Dicho de otra forma, el uso de una cadena
cuya semilla inicial es incontrolablemente aleatoria, en general, impide el uso de
esta técnica.
25/05/2005 121
10 SIMULACIÓN EN OPTIMIZACIÓN LINEAL ESTOCÁSTICA BIETAPA
122 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
X j(1) + X j(2)
define Z j = y la media muestral Z (n ) como estimador centrado de
2
µ . La varianza muestral se calcula como
25/05/2005 123
10 SIMULACIÓN EN OPTIMIZACIÓN LINEAL ESTOCÁSTICA BIETAPA
∂ var(Z )
= 2a var(Y ) − 2 cov(X ,Y ) = 0 (10.12)
∂a
cov(X ,Y )
Por lo tanto, a * = . De esta expresión se deduce que si la
var(Y )
correlación entre X e Y es muy fuerte, covarianza elevada, a * también tendrá
un valor alto. Por consiguiente, producirá un ajuste fuerte a la desviación de Y
sobre su valor medio ν que nos da una indicación de la desviación de X sobre
su valor medio µ . Por otra parte, si la varianza de Y es pequeña también se
obtiene un valor elevado de a * ya que se tiene una mayor precisión en el valor
observado de Y .
Para este valor óptimo a * el valor de la varianza de Z es
cov 2(X ,Y )
var(Z * ) = var(X ) − 2
= (1 − ρXY ) var(X ) (10.13)
var(Y )
donde ρXY es el coeficiente de correlación entre X e Y . En caso de correlación
perfecta ρXY = ±1 entre ambas variables la varianza de Z es nula.
Dado que es imposible obtener el valor exacto de a * un método simple es
reemplazar a * por su estimador obtenido de n muestras
ˆ XY (n )
cov
aˆ*(n ) = (10.14)
SY2 (n )
∑
n
⎡X j − X (n )⎤ ⎡Yj −Y (n )⎤
ˆ XY
siendo cov (n ) = ⎣
j =1 ⎦⎣ ⎦.
n −1
Conviene mencionar que también se pueden utilizar varias variables de
control simultáneamente con correlación no sólo con la variable controlada sino
incluso entre ellas.
A la vista de las ecuaciones anteriores se puede decir que una buena variable
de control debe estar fuertemente correlacionada con la variable controlada para
proporcionar mucha información sobre ésta y hacer un buen ajuste. Además es
deseable que la variable de control tenga poca varianza. Para encontrar una
variable de control se puede hacer un análisis de la estructura del modelo o bien
recurrir a experimentación. Las variables de control pueden clasificarse en:
• Internas
Son parámetros del modelo o funciones de los mismos, como la media. Sus
valores medios son habitualmente conocidos. Estas variables de control
deben ser generadas en todo caso, luego no añaden esfuerzo de simulación y
por esta razón es importante probar aunque no reduzcan significativamente
la varianza.
124 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
• Externas
Son aquellas variables aleatorias de salida derivadas de introducir
simplificaciones en el modelo que lo hacen inadecuado como tal pero
permiten utilizarlas como variable de control. En este caso se necesita un
muestreo adicional con números aleatorios comunes para la variable de
control. La correlación entre variable de control y controlada deberá ser
ahora mayor para que merezca la pena el esfuerzo adicional de simulación.
Un ejemplo de variables de control externas son las medidas de fiabilidad
sólo de generación o sólo de red para el cálculo de medidas de fiabilidad
compuesta (debida a fallos de generación y/o de red).
I.10.1.4 Muestreo por importancia
La idea intuitiva detrás del muestreo por importancia es aumentar la
frecuencia de aparición en el muestreo de los sucesos que tienen más peso en la
evaluación de la función. El método consiste en obtener muestras de una nueva
función cuya función de cuantía es diferente y deformada con respecto a la
original [Bratley, Dantzig:90]. Ambas funciones tienen la misma media pero la
varianza de la segunda es muy inferior. Aplicándolo a la función objetivo de los
subproblemas se tiene:
fω
zˆ2 = E ωc2ωT x 2ω = ∑ p ω f ω = ∑ p ωq ω = ∑ p ωq ωg ω = z 2′ (10.15)
ω ∈Ω ω ∈Ω qω ω ∈Ω
var(z 2 ) = ∑ p ω ( f ω ) − (zˆ2 )
2 2
(10.16)
ω∈Ω
25/05/2005 125
10 SIMULACIÓN EN OPTIMIZACIÓN LINEAL ESTOCÁSTICA BIETAPA
zˆ2 = ∑ p ω f ω =
ω ∈Ω
= f0 + ∑ p ω ∆f ω
ω ∈Ω
∆f ω E
= f0 + ∑ p ω ∑ ∆ (e ) ω
(10.20)
∑
E ω i i
ω ∈Ω
i =1
∆ (e )
i i i =1
E
= f0 + ∑ p ωg ω ∑ ∆iω (ei )
ω ∈Ω i =1
E E
= f0 + ∑ g ω ∏ pi (ei )∑ ∆iω (ei )
ω ∈Ω i =1 i =1
∆f ω
donde g ω = será una función igual a uno o superior si hay efectos
∑
E ω
i =1
∆i (ei )
de sinergia positiva con la variación de los parámetros. El cálculo de la
esperanza de la función objetivo de los subproblemas es una integral
multidimensional en el hiperespacio de los parámetros del sistema.
Manipulando y desarrollando la ecuación anterior se obtiene:
E
∆iω (ei )pi (ei )
z 2′ = f0 + ∑ ∆i ∑ g ω ∏ pk (ek ) (10.21)
i =1 ω ∈Ω ∆i k ≠i
126 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
var(z 2 ) = ∑ p ω ( f ω ) − zˆ22
2
ω ∈Ω
= ∑ p ( f0 + ∆f ω ) − zˆ22
ω 2
ω ∈Ω
ω ∈Ω
= − (zˆ2 − f0 ) + ∑ p (∆f )
2 ω ω 2
(10.22)
ω ∈Ω
2
(∆f ω ) E
= − (zˆ2 − f0 ) + ∑ p ∑ ∆ (e )
2 ω ω
∑
E ω i i
ω ∈Ω
i =1
∆ (e )
i i i =1
E
= − (zˆ2 − f0 ) + ∑ p ωh ω ∑ ∆iω (ei )
2
ω ∈Ω i =1
E E
= − (zˆ2 − f0 ) + ∑ h ω ∏ pi (ei )∑ ∆iω (ei )
2
ω∈Ω i =1 i =1
2
ω (∆f ω )
donde h = .
∑
E ω
i =1
∆i (ei )
Manipulando y desarrollando la ecuación anterior se obtiene:
E
∆iω (ei )pi (ei )
var(z 2 ) = − (zˆ2 − f0 ) + ∑ ∆i ∑ h ∏
2 ω
pk (ek ) (10.23)
i =1 ω ∈Ω ∆i k ≠i
25/05/2005 127
10 SIMULACIÓN EN OPTIMIZACIÓN LINEAL ESTOCÁSTICA BIETAPA
2 ⎡ ∆ω (e )p (e ) 2⎤
E
var(z 2′ ) = ∑ (∆i ) ⎢ ∑ (g ω )2 i i i i ∏ pk (ek ) − (gˆi ) ⎥ (10.24)
⎢ ω∈Ω ∆i ⎥
i =1 ⎣ k ≠i ⎦
El cociente entre ambas nos da la reducción conseguida mediante el
muestreo por importancia para el cálculo de la media.
Para aclarar la obtención de la función de cuantía de importancia veamos un
ejemplo. Se supone que se trata de evaluar los costes de explotación de un
sistema eléctrico con tres generadores. Su potencia disponible es una variable
aleatoria con distribución multinomial. Es nula con una probabilidad q1 = 0.05 ,
igual a su mínimo técnico con probabilidad q 2 = 0.05 e igual a su potencia
nominal con probabilidad p = 0.90 . En la tabla se presenta el impacto marginal
en la función objetivo (costes de explotación) con respecto al caso base del fallo
de cada generador y el valor de la probabilidad de importancia obtenida a partir
de estos valores y de las probabilidades originales. Se toma como caso base
aquél con todos los generadores totalmente disponibles.
∆i
Generador 1
Funcionamiento 0.90 0 0.0
Fallo parcial 0.05 30 0.3
Fallo total 0.05 70 0.7
Generador 2
Funcionamiento 0.90 0 0.0
Fallo parcial 0.05 100 0.4
Fallo total 0.05 150 0.6
Generador 3
Funcionamiento 0.90 0 0.0
Fallo parcial 0.05 25 0.2
Fallo total 0.05 100 0.8
128 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
∆i
Generador 1
Funcionamiento 0.95 0 0.0
Fallo total 0.05 25 1.0
Generador 2
Funcionamiento 0.95 0 0.0
Fallo total 0.05 100 1.0
Generador 3
Funcionamiento 0.95 0 0.0
Fallo total 0.05 50 1.0
25/05/2005 129
10 SIMULACIÓN EN OPTIMIZACIÓN LINEAL ESTOCÁSTICA BIETAPA
zˆ2′ = 200
⎡ 25 225 150 875 ⎤
+1.25 ⎢0.9025 + 0.0475 + 0.0475 + 0.0025 ⎥
⎣⎢ 25 25 + 50 25 + 100 25 + 100 + 50 ⎦⎥
⎡ 100 300 150 875 ⎤
+5 ⎢0.9025 + 0.0475 + 0.0475 + 0.0025 ⎥
⎢⎣ 100 100 + 50 25 + 100 25 + 100 + 50 ⎥⎦
⎡ 50 300 225 875 ⎤
+2.5 ⎢0.9025 + 0.0475 + 0.0475 + 0.0025 ⎥
⎢⎣ 50 100 + 50 25 + 50 25 + 100 + 50 ⎥⎦
= 200 + 1.25 ⋅ 1.1145 + 5 ⋅ 1.067 + 2.5 ⋅ 1.1525
= 209.609375
La varianza de la población original se calcula como:
var(z 2 ) = 0.857375 ⋅ 2002 + 0.045125 ⋅ 2502 + 0.045125 ⋅ 3002
+0.002375 ⋅ 5002 + 0.045125 ⋅ 2252 + 0.002375 ⋅ 4252
+0.002375 ⋅ 3502 + 0.000125 ⋅ 10752 - 209.6093752
= 983.0505371
Si ahora se aplica la ecuación (10.22) la varianza de la distribución será la
misma
var(z 2 ) = −(209.609375 − 200)2
⎡ 252 2252 1502 8752 ⎤
⎢
+1.25 0.9025 + 0.0475 + 0.0475 + 0.0025 ⎥
⎢⎣ 25 25 + 50 25 + 100 25 + 100 + 50 ⎥⎦
⎡ 1002 3002 1502 8752 ⎤
+5 ⎢0.9025 + 0.0475 + 0.0475 + 0.0025 ⎥
⎢⎣ 100 100 + 50 25 + 100 25 + 100 + 50 ⎥⎦
⎡ 502 3002 2252 8752 ⎤
+2.5 ⎢0.9025 + 0.0475 + 0.0475 + 0.0025 ⎥
⎢⎣ 50 100 + 50 25 + 50 25 + 100 + 50 ⎥⎦
= 983.0505371
La varianza de la nueva función será:
130 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
⎡ ⎛ 25 ⎞
2
⎛ 225 ⎞⎟
2
25/05/2005 131
10 SIMULACIÓN EN OPTIMIZACIÓN LINEAL ESTOCÁSTICA BIETAPA
(∆i )
2
E ⎡ ni ω 2 ⎤
var(z 2′ ) = ∑ ⎢ ∑ (g ) − (gi )2 ⎥ (10.27)
i =1 ni − 1 ⎢⎣ ω =1 ⎥⎦
(∆i )
2
E ⎡ ni ω 2 ⎤
var(z 2′ ) = ∑ ⎢ ∑ (g ) − (gi )2 ⎥ (10.28)
i =1 ni (ni − 1) ⎢⎣ ω =1 ⎥⎦
20
Esto presenta el inconveniente de atender únicamente a una función objetivo. Si hubiera
varias éstas podrían entrar en conflicto.
132 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 133
I OPTIMIZACIÓN ESTOCÁSTICA
I.11 Referencias
Aardal, K. and Ari, A. “On the Resemblance between the Kornai-Liptak and
Cross Decomposition Techniques for Block-Angular Linear Programs“.
European Journal of Operational Research Vol 46, No 3, pp 393-398. June
1990.
Abrahamson, P.G. “A Nested Decomposition Approach for Solving Staircase
Linear Programs” Systems Optimization Laboratory. Department of
Operations Research. Stanford University. SOL 83-4. June 1983.
Beale, E.M.L. “On Minimizing a Convex Function Subject to Linear
Inequalities” Journal of the Royal Statistical Society. Vol 17b, pp 173-184.
1955.
Benders, J.F. “Partitioning Procedures for Solving Mixed-Variables
Programming Problems” Numerische Mathematik. Vol 4, pp 238-252. 1962.
Birge, J.R. “Solution Methods for Stochastic Dynamic Linear Programs”
Systems Optimization Laboratory. Department of Operations Research.
Stanford University. SOL 80-29. December 1980.
Birge, J.R. “Decomposition and Partitioning Methods for Multi-Stage
Stochastic Linear Programs” Operations Research. Vol 33. pp 989-1007.
1985.
Birge, J.R. and Louveaux, F.V. “A Multicut Algorithm for Two-Stage
Stochastic Linear Programs”. European Journal of Operational Research.
Vol 34, No 3, pp 384-392. March 1988.
Birge, J.R. and Louveaux, F.V. Introduction to Stochastic Programming
Springer-Verlag. New York, USA. 1997.
Bratley, P., Fox, B.L. and Schrage, L.E. A Guide to Simulation. Second
Edition. Springer-Verlag. New York, USA. 1987.
Brooke, A., Kendrick, D. and Meeraus, A. GAMS Release 2.25 A User's Guide.
GAMS Development Corporation, December 1998.
Cerisola, S. and Ramos, A. “Node Aggregation in Stochastic Nested Benders
Decomposition Applied to Hydrothermal Coordination” 6th PMAPS.
September 2000.
Consigli, G. and Dempster, M.A.H. “Solving Dynamic Portfolio Problems Using
Stochastic Programming” (internal technical report).
Dantzig, G.B. “Linear Programming Under Uncertainty” Management Science.
Vol 1, No 3-4, pp 197-206. April-July 1955.
25/05/2005 135
11 REFERENCIAS
136 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 137
11 REFERENCIAS
138 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 139
11 REFERENCIAS
140 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
PROBLEMA 2
Demostrar que los cortes de Benders son siempre diferentes.
PROBLEMA 3
El método de descomposición de Benders aplicado a un problema es
precisamente el método de descomposición de DW aplicado a su problema dual.
PROBLEMA 4
Resolver el siguiente problema de optimización por el método de DW y RL
partiendo del punto (0, 0, 0, 0) .
25/05/2005 141
12 BIBLIOTECA DE PROBLEMAS
⎛x 1 ⎞⎟
⎜⎜ ⎟
⎜⎜x 2 ⎟⎟
(
min −2 −1 −3 −1 ⎜⎜x ⎟⎟⎟
xi
)⎜⎜ 3 ⎟⎟
⎜x ⎟⎟⎟
⎜⎝ 4 ⎠
⎛x 1 ⎞⎟
⎜
⎛1 1 1 1⎞⎟⎜⎜⎜x 2 ⎟⎟⎟ ⎛6⎞⎟
⎜⎜ ⎟ ⎟ ⎜ ⎟
⎜⎜ 1 2 1⎟⎟⎟ ⎜⎜⎜x 3 ⎟⎟⎟ ≤ ⎜⎜⎜4⎟⎟⎟
⎝ ⎠ ⎜ ⎟⎟ ⎝ ⎠
⎜⎜x ⎟
⎝ 4 ⎠⎟
⎛1 1 ⎞⎟ ⎛x 1 ⎞ ⎛6⎞
⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟⎟
⎜⎜ 1 ⎟⎟ ⎜x 2 ⎟⎟ ⎜⎜2⎟⎟
⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟ ≤ ⎜⎜ ⎟⎟
⎜⎜ −1 1⎟⎟ ⎜x 3 ⎟⎟⎟ ⎜⎜3⎟⎟⎟
⎟⎜
⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟
⎜⎜
⎝ 1 1⎠⎟⎜⎟ ⎜⎝x 4 ⎠⎟ ⎝⎜⎜5⎟⎠
xi ≥ 0
PROBLEMA 5
Deducir matemáticamente los cortes de acotamiento para el método de
descomposición de RL cuando el maestro resulta no acotado.
PROBLEMA 6
Demostrar matemáticamente que si en lugar de resolver el problema PL-2 en
su forma primal se resuelve su dual, con el método de descomposición Primal-
Dual resulta la siguiente simetría si t = j : el problema maestro del dual es el
dual del subproblema del primal y el subproblema del dual es el dual del
maestro del primal.
PROBLEMA 7
Programar en Matlab el método de descomposición Primal-Dual.
PROBLEMA 8
Formular un ejemplo de programación lineal estocástica bietapa en
planificación de sistemas de energía eléctrica.
La planificación de la expansión de la generación cuando se considera la
demanda como un parámetro aleatorio. Las decisiones de inversión son las
decisiones de la primera etapa que han de tomarse a priori, sin conocer el
futuro. Las decisiones de la segunda etapa son las de operación del sistema, que
se toman una vez conocido el valor del parámetro aleatorio (la demanda de
142 25/05/2005
I OPTIMIZACIÓN ESTOCÁSTICA
PROBLEMA 9
Definir qué condición deben cumplir los incrementos en cada coordenada con
respecto al caso base.
PROBLEMA 10
Comprobar el resultado eligiendo como caso base el estado con todos los
grupos indisponibles.
PROBLEMA 11
Partiendo de la información sobre el universo de estados de un sistema
implantar el método de Monte Carlo y las técnicas de reducción de varianza.
25/05/2005 143
I OPTIMIZACIÓN ESTOCÁSTICA
25/05/2005 145