Optimizacion Estocastica
Optimizacion Estocastica
Optimizacion Estocastica
Andrés Ramos
Santiago Cerisola
Septiembre 2010
[http://www.doi.icai.upcomillas.es/simio/intro.htm]
Alberto Aguilera 23 – E 28015 Madrid – Tel: 34 91 542 2800 – Fax: 34 91 541 1132 – www.doi.icai.upcomillas.es
ÍNDICE
04/11/2012 i
I.10.1.4 Muestreo por importancia............................................................................................. 127
I.10.1.5 Muestreo estratificado .................................................................................................. 133
I.11 REFERENCIAS ........................................................................................ 137
I.12 BIBLIOTECA DE PROBLEMAS ................................................................... 143
ii 04/11/2012
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 optimizadores 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.
04/11/2012 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 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
min ∑ fi X i + ∑ v jiYjis
XiYsji
i ji
∑X i ≥P
i
∑fX
i
i i ≤D
para cualquier escenario s
s
Y ≤ Xi
ji ∀ji
s
∑v Y ji ji ≥ d js ∀j
i
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 + ∑ ps v jiYjis
XiYsji
i sji
∑ Xi ≥ P
i
∑fX i i
≤D
i
Yjis ≤ X i ∀sji
s s
∑Y ji
≥d j
∀sj
i
X i ,Yjis ≥ 0
04/11/2012 5
1 INTRODUCCIÓN
scalar
POTMIN potencia mínima a instalar [MW] / 12 /
PRSPTO límite presupuestario [€] / 120 /
variables
X(i) potencia a instalar [MW]
Y(j,i) potencia en operación [MW]
YS(s,j,i) potencia en operación estocástica [MW]
COSTE coste total
positive variables X, Y, YS
equations
COST coste total [€]
COSTS coste total estocástico [€]
PRESUP limitación presupuestaria [€]
INSMIN potencia mínima instalada [MW]
BALPOT potencia en operación menor que instalada [MW]
BALPOTS potencia en operación menor que instalada estocástica [MW]
BALDEM balance de demanda [MW]
BALDEMS balance de demanda estocástico [MW] ;
* problema estocástico
solve ESTOCA MINIMIZING COSTE USING LP
6 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 7
1 INTRODUCCIÓN
8 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
Y1
X Y2
Y3
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
04/11/2012 9
1 INTRODUCCIÓN
10 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
equations
COST coste total
COSTS coste total estocástico
BALDEM1 balance de demanda del primer año
BALDEM2 balance de demanda del segundo año
BALDEMS2 balance de demanda del segundo año
GSTDEP gestión del depósito ;
COST .. COSTE =E= CVS('nr') * (X('cyv')+X('cya'))
+ CALM * X('cya')
+ CV * (Y('cyv')+Y('cya')) ;
04/11/2012 11
1 INTRODUCCIÓN
* problema estocástico
solve PROBAB MINIMIZING COSTE USING LP ;
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 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 13
1 INTRODUCCIÓN
14 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
A1x 1 = b1
(2.1)
B1x 1 +A2x 2 = b2
x 1, x2 ≥0
A1
B1 A2
04/11/2012 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 04/11/2012
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.
04/11/2012 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 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 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 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 21
3 TÉCNICAS DE DESCOMPOSICIÓN
22 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 23
I OPTIMIZACIÓN ESTOCÁSTICA
A1x 1 = b1 (4.1)
x1 ≥ 0
donde la función de recursos, θ2 (x 1 ) ∈ ℝ , 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:
04/11/2012 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 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
min c1T x 1 + θ2
x1 ,θ
A1x 1 = b1
θ2 ≥ (b2 − B1x 1 )T π21
(4.6)
⋮
θ2 ≥ (b2 − B1x 1 )T π2ν
x1 ≥ 0
Esta formulación se denomina problema maestro completo, ya que contiene
todos los cortes posibles. Presenta todas las restricciones de la primera etapa
más todas las condiciones necesarias derivadas de la segunda etapa. Obsérvese
que la variable θ2 es libre.
Desde el punto de vista práctico, la resolución del problema maestro
completo implica disponer de forma explícita de todos los cortes de Benders, lo
cual es prácticamente imposible en problemas de tamaño realista. En lugar de
incluir todos los cortes (lo que implicaría disponer de forma explícita de la
función de recursos θ2 (x 1 ) ), el algoritmo introduce uno en cada iteración. De
esta forma, el problema maestro relajado para la iteración j se define como:
Maestro Benders
min cT1 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.
04/11/2012 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 cT1 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
función es convexa pero no es diferenciable en todos sus puntos. π2lT B1 es un subgradiente
porque la ecuación θ2 − f2l ≥ π2lT B1 (x 1l − x 1 ) es un plano de corte o hiperplano soporte del
epigrafo de la función.
28 04/11/2012
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.
04/11/2012 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 cT1 x 1 + θ2
x1 ,θ2
A1x 1 = b1
(4.19)
π2lT B1x 1 + δ1l θ2 ≥ f2l + π2lT B1x 1l 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 04/11/2012
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
04/11/2012 31
4 DESCOMPOSICIÓN DE BENDERS
32 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
1. Inicialización: j = 0 , z = ∞ , z = −∞ , ε = 10−4
2. Resolución del problema maestro
min cT1 x 1 + θ2
x1 ,θ2
A1x 1 = b1
(4.22)
π2lT B1x 1 + δ1l θ2 ≥ f2l + π2lT B1x 1l 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 −
04/11/2012 33
4 DESCOMPOSICIÓN DE BENDERS
x ≤4
x +y ≤5
2x +3y ≤ 12
x, y ≥0
⋅
que da lugar a f = −4 y π =
1 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 04/11/2012
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
04/11/2012 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 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
variables
TT función de recursos
Z1 función objetivo primera etapa
Z2 función objetivo segunda etapa
equations
FOC función objetivo problema completo
FO1 función objetivo primera etapa
FO2 función objetivo segunda etapa
R1(m1) restricciones primera etapa
R2(m2) restricciones segunda etapa
04/11/2012 37
4 DESCOMPOSICIÓN DE BENDERS
R2(m2) .. sum
sum(n1, BM1(m2,n1)*X1(n1)) + sum
sum(n2, A2(m2,n2)*X2(n2)) =L= B2(m2) ;
CORTESA(j) .. sum
sum(m2, PI2(j,m2)* sum
sum(n1, BM1(m2,n1)*X1(n1))) + DELTA1(j) * TT =G=
sum(m2, PI2(j,m2)*B2(m2)) ;
sum
CORTESB(j) .. DELTA1(j) * TT =G= Z2_J(j) +
sum(m2, PI2(j,m2)*sum
sum sum(n1, BM1(m2,n1)*(X1_J(n1,j) - X1(n1)))) ;
sum
*model MAESTRO / FO1, R1, CORTESA /
model MAESTRO / FO1, R1, CORTESB /
model SUB / FO2, R2 /
DELTA1(l) = 1 ;
Z2_J(l) = Z2.L;
TT.LO = -inf
inf ; TT.UP = inf ;
) ;
display Z_INF, Z_SUP ;
PI2(l,m2) = R2.M(m2) ;
X1.LO(n1) = 0 ; X1.UP(n1) = inf ;
* Incremento del conjunto de cortes
J(l) = yes ;
38 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
) ;
abort $(ABS(1-Z_INF/Z_SUP) > TOL) 'Máximo número de iteraciones alcanzado' ;
* resolución del problema completo
solve COMPLETO USING LP MINIMIZING Z1
04/11/2012 39
4 DESCOMPOSICIÓN DE BENDERS
40 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 41
4 DESCOMPOSICIÓN DE BENDERS
42 04/11/2012
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
04/11/2012 43
4 DESCOMPOSICIÓN DE BENDERS
∑x j
ij ≤ ai ∀i
∑x i
ij ≥ bj ∀j
x ij ≤ M ij yij ∀ij
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
x ij
ij
∑xj
ij ≤ ai ∀i
∑x
i
ij ≥ bj ∀j
44 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
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.
04/11/2012 45
4 DESCOMPOSICIÓN DE BENDERS
equations
EQ_Z1 first stage objective function
EQ_Z2 second stage objective function
EQ_OBJ complete problem objective function
Offer (i ) offer at origin
Demand ( j) demand at destination
FlowLimit(i,j) arc flow limit
Bd_Cuts (l) Benders' cuts ;
46 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
Delta(l) = 0 ;
Z2_L (l) = Subproblem_Bd.SumInfes ;
else
* updating lower and upper bound
Z_Lower = Z1.l ;
Z_Upper = min(Z_Upper, Z1.l - Theta.l + Z2.l) ;
Delta(l) = 1 ;
Z2_L (l) = Z2.l ;
Theta.lo = -inf
inf ;
Theta.up = inf ;
) ;
PI_L(l,i,j) = FlowLimit.m(i,j) ;
Y.lo( i,j) = 0 ;
Y.up( i,j) = 1 ;
9
En este caso particular el subproblema tiene soluciones alternativas por lo que el algoritmo
puede converger en diferente número de iteraciones con otro optimizador u otra versión del
mismo optimizador.
04/11/2012 47
4 DESCOMPOSICIÓN DE BENDERS
I I I I I
I I I
450
400
350
Objective function
300
250
200 Lower Bound
150 Upper Bound
100
50
0
7 8 9 10 11 12
Iterations
48 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
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
04/11/2012 49
4 DESCOMPOSICIÓN DE BENDERS
original y una vez convergido resolver sólo el problema maestro con esta
modificación.
50 04/11/2012
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.
04/11/2012 51
5 DESCOMPOSICIÓN DE DANTZIG-WOLFE
donde A1x 1 = b1 son las restricciones que complican (en número reducido) y
A2x 1 = 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 cT1 x 1
x1
A1x 1 = b1 (5.2)
x1 ∈ K
siendo K la región convexa definida como:
K = {x 1 | A2x 1 = b2 , x 1 ≥ 0} (5.3)
Pero todo punto de un poliedro convexo (no vacío y acotado) se puede poner
como una combinación lineal convexa (es decir, una linealización interior) de
sus vértices x 1l , l = 1, …, ν .
ν ν
K = ∑ x 1l λl | ∑ λl = 1, λl ≥ 0 (5.4)
l =1 l =1
∑λ
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,
52 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
Maestro Dantzig-Wolfe
j
min ∑ (c1T x 1l )λl
λl
l =1
j
l
∑ (A x )λ
l =1
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 )
µ ≥0
1
(5.7)
equivalente a:
Subproblema Dantzig-Wolfe
A2x 1 = b2 (5.9)
x1 ≥ 0
04/11/2012 53
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, …, ν
54 04/11/2012
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)
ν
l
∑ (A x
l =1
1 1 − b1 )λl = 0 : π2
λl ≥ 0 l = 1, …, ν
Manipulando el segundo bloque de restricciones
ν ν ν ν
04/11/2012 55
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 ≤ z 1* ≤ 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.
56 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
j
z 1* = ∑ (cT1 x 1l )λl (5.19)
l =1
04/11/2012 57
5 DESCOMPOSICIÓN DE DANTZIG-WOLFE
58 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
1 2 2
x 2
y = 2 λ + 1 λ + 1 λ = 1.5
1 2 3
z 2 1 2 2
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
04/11/2012 59
5 DESCOMPOSICIÓN DE DANTZIG-WOLFE
40 1 3
−1
30 2 1
−1
10
−2 (
entonces, c1 = , b1 = (10) , b2 = , A1 = 1 2 2 1 y A2 = )
1
10 1
−1
15
1 1
60 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 61
5 DESCOMPOSICIÓN DE DANTZIG-WOLFE
62 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 63
5 DESCOMPOSICIÓN DE DANTZIG-WOLFE
64 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
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
Descomposición de Danztig-Wolfe (DW)
Solution Report SOLVE MAESTRO Using LP From line 115
L O O P S L iter-3
S O L V E S U M M A R Y
MODEL MAESTRO OBJECTIVE Z1
TYPE LP DIRECTION MINIMIZE
SOLVER CPLEX FROM LINE 115
**** SOLVER STATUS 1 NORMAL COMPLETION
**** MODEL STATUS 1 OPTIMAL
**** OBJECTIVE VALUE -8.1818
RESOURCE USAGE, LIMIT 0.010 1000.000
ITERATION COUNT, LIMIT 2 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 1e-9
eprhs 1e-9
Optimal solution found.
Objective : -8.181818
LOWER LEVEL UPPER MARGINAL
---- EQU FOM . . . 1.0000
FOM función objetivo maestro
---- EQU R1 restricciones primera etapa
LOWER LEVEL UPPER MARGINAL
rdos-1 -INF 10.0000 10.0000 -0.8182
LOWER LEVEL UPPER MARGINAL
---- EQU COMBLIN 1.0000 1.0000 1.0000 EPS
COMBLIN combinación lineal de los pesos de las soluciones
---- VAR LAMBDA pesos de las soluciones
LOWER LEVEL UPPER MARGINAL
iter-1 . 0.1818 1.0000 .
iter-2 . 0.8182 1.0000 .
---- VAR EXC variables de exceso en restricciones primera etapa <=
LOWER LEVEL UPPER MARGINAL
rdos-1 . . +INF 999.1818
LOWER LEVEL UPPER MARGINAL
---- VAR Z1 -INF -8.1818 +INF .
Z1 función objetivo maestro
**** REPORT SUMMARY : 0 NONOPT
0 INFEASIBLE
0 UNBOUNDED
GAMS Rev 142 Intel /MS Window 04/14/05 07:08:20 Page 16
Descomposición de Danztig-Wolfe (DW)
Equation Listing SOLVE SUB Using LP From line 119
---- FOS =E= función objetivo subproblema
FOS.. 0.181818181818182*X1(xuno-1) - 0.636363636363636*X1(xuno-2) + 0.363636363636364*X1(xuno-3)
+ 0.181818181818182*X1(xuno-4) + Z2 =E= EPS ; (LHS = -54955, INFES = 54955 ***)
---- 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 17
Descomposición de Danztig-Wolfe (DW)
Model Statistics SOLVE SUB Using LP From line 119
LOOPS L iter-3
MODEL STATISTICS
BLOCKS OF EQUATIONS 2 SINGLE EQUATIONS 6
BLOCKS OF VARIABLES 2 SINGLE VARIABLES 5
04/11/2012 65
5 DESCOMPOSICIÓN DE DANTZIG-WOLFE
66 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
S O L V E S U M M A R Y
MODEL MAESTRO OBJECTIVE Z1
TYPE LP DIRECTION MINIMIZE
SOLVER CPLEX FROM LINE 115
**** SOLVER STATUS 1 NORMAL COMPLETION
**** MODEL STATUS 1 OPTIMAL
**** OBJECTIVE VALUE -10.0000
RESOURCE USAGE, LIMIT 0.010 1000.000
ITERATION COUNT, LIMIT 3 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 1e-9
eprhs 1e-9
Optimal solution found.
Objective : -10.000000
LOWER LEVEL UPPER MARGINAL
---- EQU FOM . . . 1.0000
FOM función objetivo maestro
---- EQU R1 restricciones primera etapa
LOWER LEVEL UPPER MARGINAL
rdos-1 -INF 10.0000 10.0000 -1.0000
LOWER LEVEL UPPER MARGINAL
---- EQU COMBLIN 1.0000 1.0000 1.0000 EPS
COMBLIN combinación lineal de los pesos de las soluciones
---- VAR LAMBDA pesos de las soluciones
LOWER LEVEL UPPER MARGINAL
iter-1 . . 1.0000 10.0000
iter-2 . 0.7500 1.0000 .
iter-3 . 0.2500 1.0000 .
---- VAR EXC variables de exceso en restricciones primera etapa <=
LOWER LEVEL UPPER MARGINAL
rdos-1 . . +INF 999.0000
LOWER LEVEL UPPER MARGINAL
---- VAR Z1 -INF -10.0000 +INF .
Z1 función objetivo maestro
**** REPORT SUMMARY : 0 NONOPT
0 INFEASIBLE
0 UNBOUNDED
GAMS Rev 142 Intel /MS Window 04/14/05 07:08:20 Page 23
Descomposición de Danztig-Wolfe (DW)
Equation Listing SOLVE SUB Using LP From line 119
---- FOS =E= función objetivo subproblema
FOS.. - X1(xuno-2) + Z2 =E= EPS ; (LHS = -7.27272727272728, INFES = 7.27272727272728 ***)
---- R2 =L= restricciones segunda etapa
R2(runo-1).. X1(xuno-1) + 3*X1(xuno-2) =L= 40 ; (LHS = 15)
R2(runo-2).. 2*X1(xuno-1) + X1(xuno-2) =L= 30 ; (LHS = 30)
R2(runo-3).. X1(xuno-3) =L= 10 ; (LHS = 10)
R2(runo-4).. X1(xuno-4) =L= 10 ; (LHS = 5)
R2(runo-5).. X1(xuno-3) + X1(xuno-4) =L= 15 ; (LHS = 15)
GAMS Rev 142 Intel /MS Window 04/14/05 07:08:20 Page 24
Descomposición de Danztig-Wolfe (DW)
Model Statistics SOLVE SUB Using LP From line 119
LOOPS L iter-4
MODEL STATISTICS
BLOCKS OF EQUATIONS 2 SINGLE EQUATIONS 6
BLOCKS OF VARIABLES 2 SINGLE VARIABLES 5
NON ZERO ELEMENTS 10
GENERATION TIME = 0.030 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 25
Descomposición de Danztig-Wolfe (DW)
Solution Report SOLVE SUB Using LP From line 119
L O O P S L iter-4
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
04/11/2012 67
5 DESCOMPOSICIÓN DE DANTZIG-WOLFE
68 04/11/2012
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
04/11/2012 69
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.20)
⋮
θ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 (5.21)
⋮
(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.
04/11/2012 71
6 RELAJACIÓN LAGRANGIANA
max θ2
θ2 ,π2
(5.22)
θ2 + (A1x 1l − b1 )T π2 ≤ c1T x 1l : λl l = 1, …, j
o bien
max b1T π2 + µ
π2 ,µ
(5.23)
(A1x 1l )T π2 + µ ≤ cT1 x 1l : λ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 (5.24)
x1 ≥ 0
13
Es decir, v ∈ {x1 ≥ 0, A2x1 ≤ 0} que es el sistema homogéneo asociado a
v ∈ {x1 ≥ 0, A2x1 = b2 } .
72 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
A2x 1 ≤ 0 (5.27)
0 ≤ x1 ≤ 1
A2x 1 = b2 (5.31)
x1 ≥ 0
o bien
A2x 1 = b2 (5.32)
x1 ≥ 0
I.6.3 Algoritmo
Esquemáticamente el algoritmo se representa en la figura 4.5.
04/11/2012 73
6 RELAJACIÓN LAGRANGIANA
SUBPROBLEMA
| ↑
j j
precios sombra π , µ 2 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
(5.33)
δ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 (5.34)
0 ≤ x1 ≤ 1
A2x 1 = b2 (5.36)
x1 ≥ 0
74 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
j
z 1* = ∑ (cT1 x 1l )λl (5.39)
l =1
14
d (π2j − π2j −1 ) < ε representa distancia entre π2j y π2j −1 .
04/11/2012 75
6 RELAJACIÓN LAGRANGIANA
76 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 77
6 RELAJACIÓN LAGRANGIANA
78 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 79
6 RELAJACIÓN LAGRANGIANA
80 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
equations
FOM1 función objetivo maestro
FOM2 función objetivo maestro
FOS1 función objetivo subproblema
FOS2 función objetivo subproblema
FOC función objetivo problema completo
R1(m1) restricciones primera etapa
R2(m2) restricciones segunda etapa
CORTES1(l) cortes de relajación lagrangiana
CORTES2(l) cortes de relajación lagrangiana ;
FOM1 .. Z1 =E= sum
sum(m1, B1(m1)*PI2(m1)) + MU ;
FOM2 .. Z1 =E= TT ;
SUB1.OptFile = 1 ; SUB2.OptFile = 1 ;
MAESTRO1.OptFile = 1 ; MAESTRO2.OptFile = 1 ;
J(l) = NO ;
X1_L(l,n1) = 0 ;
DELTA1(l) = 1 ;
Z1.L = 1e3 ;
04/11/2012 81
6 RELAJACIÓN LAGRANGIANA
82 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 83
6 RELAJACIÓN LAGRANGIANA
E x e c u t i o n
---- 181 PARAMETER Z_INF = 0.000 cota inferior de la solución
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 7
Descomposición de relajación lagrangiana (RL)
Equation Listing SOLVE MAESTRO2 Using LP From line 141
---- FOM2 =E= función objetivo maestro
FOM2.. Z1 - TT =E= 0 ; (LHS = 1000, INFES = 1000 ***)
---- CORTES2 =L= cortes de relajación lagrangiana
CORTES2(iter-1).. TT - 8*PI2(runo-1) =L= 0 ; (LHS = 0)
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 8
Descomposición de relajación lagrangiana (RL)
Model Statistics SOLVE MAESTRO2 Using LP From line 141
LOOPS IT iter-2
MODEL STATISTICS
BLOCKS OF EQUATIONS 2 SINGLE EQUATIONS 2
BLOCKS OF VARIABLES 3 SINGLE VARIABLES 3
NON ZERO ELEMENTS 4
GENERATION TIME = 0.060 SECONDS 2.9 Mb WIN217-142 Apr 05, 2005
EXECUTION TIME = 0.070 SECONDS 2.9 Mb WIN217-142 Apr 05, 2005
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 9
Descomposición de relajación lagrangiana (RL)
Solution Report SOLVE MAESTRO2 Using LP From line 141
L O O P S IT iter-2
S O L V E S U M M A R Y
MODEL MAESTRO2 OBJECTIVE Z1
TYPE LP DIRECTION MAXIMIZE
SOLVER CPLEX FROM LINE 141
**** SOLVER STATUS 1 NORMAL COMPLETION
**** MODEL STATUS 1 OPTIMAL
**** OBJECTIVE VALUE 0.0000
RESOURCE USAGE, LIMIT 0.000 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 1e-9
eprhs 1e-9
Optimal solution found.
Objective : 0.000000
LOWER LEVEL UPPER MARGINAL
---- EQU FOM2 . . . 1.0000
FOM2 función objetivo maestro
---- EQU CORTES2 cortes de relajación lagrangiana
LOWER LEVEL UPPER MARGINAL
iter-1 -INF . . 1.0000
LOWER LEVEL UPPER MARGINAL
---- VAR Z1 -INF . +INF .
---- VAR TT -1000.0000 . 1000.0000 .
Z1 función objetivo maestro
TT función objetivo maestro
---- VAR PI2 variables duales restricciones primera etapa
LOWER LEVEL UPPER MARGINAL
runo-1 -1.0000 . . 8.0000
**** REPORT SUMMARY : 0 NONOPT
0 INFEASIBLE
0 UNBOUNDED
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 10
Descomposición de relajación lagrangiana (RL)
E x e c u t i o n
---- 145 PARAMETER Z_SUP = 0.000 cota superior de la solución
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 11
Descomposición de relajación lagrangiana (RL)
Equation Listing SOLVE MAESTRO2 Using LP From line 141
---- FOM2 =E= función objetivo maestro
FOM2.. Z1 - TT =E= 0 ; (LHS = 0)
---- CORTES2 =L= cortes de relajación lagrangiana
CORTES2(iter-1).. TT - 8*PI2(runo-1) =L= -11 ; (LHS = 0, INFES = 11 ***)
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 12
Descomposición de relajación lagrangiana (RL)
Model Statistics SOLVE MAESTRO2 Using LP From line 141
LOOPS IT iter-3
84 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
MODEL STATISTICS
BLOCKS OF EQUATIONS 2 SINGLE EQUATIONS 2
BLOCKS OF VARIABLES 3 SINGLE VARIABLES 3
NON ZERO ELEMENTS 4
GENERATION TIME = 0.020 SECONDS 2.9 Mb WIN217-142 Apr 05, 2005
EXECUTION TIME = 0.030 SECONDS 2.9 Mb WIN217-142 Apr 05, 2005
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 13
Descomposición de relajación lagrangiana (RL)
Solution Report SOLVE MAESTRO2 Using LP From line 141
L O O P S IT iter-3
S O L V E S U M M A R Y
MODEL MAESTRO2 OBJECTIVE Z1
TYPE LP DIRECTION MAXIMIZE
SOLVER CPLEX FROM LINE 141
**** SOLVER STATUS 1 NORMAL COMPLETION
**** MODEL STATUS 1 OPTIMAL
**** OBJECTIVE VALUE -11.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 1e-9
eprhs 1e-9
Optimal solution found.
Objective : -11.000000
LOWER LEVEL UPPER MARGINAL
---- EQU FOM2 . . . 1.0000
FOM2 función objetivo maestro
---- EQU CORTES2 cortes de relajación lagrangiana
LOWER LEVEL UPPER MARGINAL
iter-1 -INF -11.0000 -11.0000 1.0000
LOWER LEVEL UPPER MARGINAL
---- VAR Z1 -INF -11.0000 +INF .
---- VAR TT -1000.0000 -11.0000 1000.0000 .
Z1 función objetivo maestro
TT función objetivo maestro
---- VAR PI2 variables duales restricciones primera etapa
LOWER LEVEL UPPER MARGINAL
runo-1 -INF . . 8.0000
**** REPORT SUMMARY : 0 NONOPT
0 INFEASIBLE
0 UNBOUNDED
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 14
Descomposición de relajación lagrangiana (RL)
E x e c u t i o n
---- 145 PARAMETER Z_SUP = -11.000 cota superior de la solución
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 15
Descomposición de relajación lagrangiana (RL)
Equation Listing SOLVE SUB2 Using LP From line 166
---- FOS2 =E= función objetivo subproblema
FOS2.. 4*X1(xuno-1) + X1(xuno-2) + 6*X1(xuno-3) + Z2 =E= 0 ; (LHS = 11, INFES = 11 ***)
---- R2 =L= restricciones segunda etapa
R2(rdos-1).. - X1(xuno-1) =L= -1 ; (LHS = -1)
R2(rdos-2).. - X1(xuno-2) =L= -1 ; (LHS = -1)
R2(rdos-3).. - X1(xuno-3) =L= -1 ; (LHS = -1)
R2(rdos-4).. X1(xuno-1) =L= 2 ; (LHS = 1)
R2(rdos-5).. X1(xuno-2) =L= 2 ; (LHS = 1)
R2(rdos-6).. X1(xuno-3) =L= 2 ; (LHS = 1)
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 16
Descomposición de relajación lagrangiana (RL)
Model Statistics SOLVE SUB2 Using LP From line 166
LOOPS IT iter-3
MODEL STATISTICS
BLOCKS OF EQUATIONS 2 SINGLE EQUATIONS 7
BLOCKS OF VARIABLES 2 SINGLE VARIABLES 4
NON ZERO ELEMENTS 10
GENERATION TIME = 0.110 SECONDS 2.9 Mb WIN217-142 Apr 05, 2005
EXECUTION TIME = 0.120 SECONDS 2.9 Mb WIN217-142 Apr 05, 2005
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 17
Descomposición de relajación lagrangiana (RL)
04/11/2012 85
6 RELAJACIÓN LAGRANGIANA
86 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 87
6 RELAJACIÓN LAGRANGIANA
eprhs 1e-9
Optimal solution found.
Objective : -22.222222
LOWER LEVEL UPPER MARGINAL
---- EQU FOS2 -20.7778 -20.7778 -20.7778 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 -1.4444
rdos-3 -INF -2.0000 -1.0000 .
rdos-4 -INF 2.0000 2.0000 -0.3333
rdos-5 -INF 1.0000 2.0000 .
rdos-6 -INF 2.0000 2.0000 -1.1111
---- 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 -22.2222 +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 26
Descomposición de relajación lagrangiana (RL)
E x e c u t i o n
---- 181 PARAMETER Z_INF = -22.222 cota inferior de la solución
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 27
Descomposición de relajación lagrangiana (RL)
Equation Listing SOLVE MAESTRO2 Using LP From line 141
---- FOM2 =E= función objetivo maestro
FOM2.. Z1 - TT =E= 0 ; (LHS = 0)
---- CORTES2 =L= cortes de relajación lagrangiana
CORTES2(iter-1).. TT - 8*PI2(runo-1) =L= -11 ; (LHS = -11)
CORTES2(iter-2).. TT + PI2(runo-1) =L= -22 ; (LHS = -22)
CORTES2(iter-3).. TT - PI2(runo-1) =L= -21 ; (LHS = -19.5555555555556, INFES = 1.44444444444444 ***)
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 28
Descomposición de relajación lagrangiana (RL)
Model Statistics SOLVE MAESTRO2 Using LP From line 141
LOOPS IT iter-5
MODEL STATISTICS
BLOCKS OF EQUATIONS 2 SINGLE EQUATIONS 4
BLOCKS OF VARIABLES 3 SINGLE VARIABLES 3
NON ZERO ELEMENTS 8
GENERATION TIME = 0.060 SECONDS 2.9 Mb WIN217-142 Apr 05, 2005
EXECUTION TIME = 0.060 SECONDS 2.9 Mb WIN217-142 Apr 05, 2005
GAMS Rev 142 Intel /MS Window 05/05/05 08:28:49 Page 29
Descomposición de relajación lagrangiana (RL)
Solution Report SOLVE MAESTRO2 Using LP From line 141
L O O P S IT iter-5
S O L V E S U M M A R Y
MODEL MAESTRO2 OBJECTIVE Z1
TYPE LP DIRECTION MAXIMIZE
SOLVER CPLEX FROM LINE 141
**** SOLVER STATUS 1 NORMAL COMPLETION
**** MODEL STATUS 1 OPTIMAL
**** OBJECTIVE VALUE -21.5000
RESOURCE USAGE, LIMIT 0.010 1000.000
ITERATION COUNT, LIMIT 2 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 1e-9
eprhs 1e-9
Optimal solution found.
Objective : -21.500000
LOWER LEVEL UPPER MARGINAL
---- EQU FOM2 . . . 1.0000
FOM2 función objetivo maestro
---- EQU CORTES2 cortes de relajación lagrangiana
88 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 89
6 RELAJACIÓN LAGRANGIANA
90 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
∑xj
ij ≤ ai ∀i
∑xi
ij ≥ bj ∀j
x ij ≥ 0, yij ∈ {0,1}
que reformulado queda como
∑x j
ij ≤ ai ∀i
∑x i
ij ≥ bj ∀j
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
04/11/2012 91
6 RELAJACIÓN LAGRANGIANA
∑x j
ij ≤ ai ∀i
∑x ij ≥ bj ∀j
i
x ij ≥ 0
yij ∈ {0,1}
Esta formulación de la RL para el problema del transporte con coste fijo
puede implantarse en GAMS con el siguiente código.
92 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
binary variable
Y(i,j) decisiones de inversion en los arcos
variables
Z variable objetivo primal (subproblema)
W variable dual
04/11/2012 93
6 RELAJACIÓN LAGRANGIANA
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
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,
y1 = y23 = y 31 = y 32 = y 42 = 1
15
Cuando esto ocurre se dice que el problema satisface la propiedad de integralidad
(integrality property) y tiene poco sentido el uso de la RL como técnica de aproximación del
valor óptimo del problema.
94 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
Maestro Primal-Dual
min cT1 x 1 + θ2
x1 ,θ2
A1x 1 = b1
(6.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
l
∑ (B x )λ
l =1
1 1 l + A2x 2 = b2 : π2
(6.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
04/11/2012 95
7 OTRAS TÉCNICAS DE DESCOMPOSICIÓN
96 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
A1x 1 = b1
B1x 1 +A2x 2 = b2
(6.4)
B2x 2 +A3x 3 = b3
B 3x 3 +A4x 4 = b4
x 1, x 2, x 3, x4 ≥0
min cT3 x 3 + θ4
x 3 ,θ4
A3x 3 = b3 − B2x 2l : π3
(6.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:
04/11/2012 97
7 OTRAS TÉCNICAS DE DESCOMPOSICIÓN
π3′T (b3 − B2x 2l ) + µT3 b4 ≥ πT3 (b3 − B2x 2l ) + ηT3 (πT4 b4 ) (6.8)
π3′T (b3 − B2x 2 ) + µT3 b4 ≥ πT3 (b3 − B2x 2 ) + ηT3 (πT4 b4 ) (6.9)
θ3 ≥ π3′T (b3 − B2x 2 ) + µT3 b4 ≥ πT3 (b3 − B2x 2 ) + ηT3 (πT4 b4 ) (6.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
(6.12)
θ3 + πT3 B2x 2 ≥ πT3 b3 + ηT3 (πT4 b4 ) : η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:
98 04/11/2012
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 ) (6.14)
θ2 + πT2 B1x 1 ≥ πT2 b2 + ηT2 πT3 b3 + ηT3 (πT4 b4 ) (6.15)
Viendo simultáneamente los cortes para las diferentes etapas se puede
deducir la expresión general del corte en cualquier etapa:
θ4 + πT4 B3x 3 ≥ πT4 b4
θ3 + πT3 B2x 2 ≥ πT3 b3 + ηT3 (πT4 b4 ) (6.16)
04/11/2012 99
7 OTRAS TÉCNICAS DE DESCOMPOSICIÓN
min cTp x p + θp +1
x p ,θp +1
Ap x p = bp − Bp−1x lp−1 : πp
πlT lT lT
p +1Bp x p + θp +1 ≥ q p = πp +1bp +1 + ηp +1q p +1 : ηp l = 1, …, j
xp ≥ 0
(6.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
Ap x p = bp − Bp−1x lp−1 : πp
πlT l lT l
p +1Bp x p + θp +1 ≥ fp +1 + πp +1Bp x p : ηp l = 1, …, j
xp ≥ 0
(6.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.
100 04/11/2012
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
04/11/2012 101
7 OTRAS TÉCNICAS DE DESCOMPOSICIÓN
102 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
ORDEN(p) = ord(p)
ord ;
INCDEM(t) = PROD(k
PROD $(ord
ord(k) <= ord(t)),
ord ord 1+INC(k)) ;
04/11/2012 103
7 OTRAS TÉCNICAS DE DESCOMPOSICIÓN
104 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
equations
FO Costes totales de inversión y explotación
KR1(t,p,b,nd) Primera ley de Kirchhoff para cada nudo
EPRDAS(t,p,b,nd) Pérdidas en cada nudo
FLJE(t,p,b,ni,nf) Flujo líneas existentes
ACOPLA(t,p,b,tr) Acoplamiento de los grupos térmicos
PRDTRM(t,p,b,tr) Potencia térmica producida inferior a la acoplada
PTPMIN(t,p,tr) Potencia térmica producida mínima
PRDHID(t,p,b,hd) Potencia hidráulica producida inferior a la instalada
RSRVAS(t,p,hd) Reservas hidráulicas
MOVEMHD(t,p,hd) Movimiento de embalses hidráulicos
PRDDMN(t,p,b,nd,gd) Gestión de demanda utilizada inferior a la instalada
MARGEN(t,p) Margen de reserva
CORTES(l,t,p) Cortes de Benders ;
04/11/2012 105
7 OTRAS TÉCNICAS DE DESCOMPOSICIÓN
+ sum(hd,
sum DTHD(hd,'pmx') + sum
sum(k $(ord
ord(k) <= ord(t)),
ord ord PHI(k,hd)))
+ sum((nd,gd),
sum sum(k $(ord
sum ord(k) <= ord(t)),
ord ord PDI(k,nd,gd)))
+ DRR(t,qq) - ERR(t,qq)
=E= DEM('blq-1',qq) * (1+MR) * INCDEM(t) ;
CORTES(j,t,qq) $(OPCDA = 1) ..
THETA(t,qq) - THETA_L(j,t,qq) =G=
sum(hd,
sum PIRVA_L(j,t,qq,hd) * (RVA(t,qq,hd) - RVA_L(j,t,qq,hd))) ;
* Se anula la expansión de la generación para que el modelo sea lineal
PTI.FX(t,tr) = 0 ;
PHI.FX(t,hd) = 0 ;
PDI.FX(t,nd,gd) = 0 ;
* cotas a las variables
RVA.LO(t,p,hd) = DTHD(hd,'rmn') ;
RVA.UP(t,p,hd) = DTHD(hd,'rmx') ;
ACP.UP(t,p,b,tr) = 1 ;
PTP.UP(t,p,b,tr) = DEM(b,p) * INCDEM(t) ;
PHP.UP(t,p,b,hd) = DEM(b,p) * INCDEM(t) ;
PDM.UP(t,p,b,nd,gd) = PCTND(nd) * DEM(b,p) * INCDEM(t) ;
PNS.UP(t,p,b,nd) = PCTND(nd) * DEM(b,p) * INCDEM(t) ;
EXC.UP(t,p,b,nd) = PCTND(nd) * DEM(b,p) * INCDEM(t) ;
DRR.UP(t,p) = (1+MR) * DEM('blq-1',p) * INCDEM(t) ;
ERR.UP(t,p) = (1+MR) * DEM('blq-1',p) * INCDEM(t) ;
PTI.UP(t,tr) = smax((b,p), DEM(b,p))
smax * INCDEM(t) ;
PHI.UP(t,hd) = smax((b,p), DEM(b,p))
smax * INCDEM(t) ;
PDI.UP(t,nd,gd) = PCTND(nd) * smax
smax((b,p), DEM(b,p)) * INCDEM(t) ;
TT.LO(t,p,b,nd) = -1 ;
TT.UP(t,p,b,nd) = 1 ;
TT.FX(t,p,b,'nudo-1') = 0 ;
FLE.LO(t,p,b,ni,nf) = - DTLE(ni,nf,'flmx') * CSL ;
FLE.UP(t,p,b,ni,nf) = DTLE(ni,nf,'flmx') * CSL ;
model PLGNRD / FO, KR1, FLJE, ACOPLA, PRDTRM, PTPMIN, PRDHID, RSRVAS, PRDDMN, MARGEN,
CORTES / ;
model PLGNRDNL / FO, KR1, FLJE, ACOPLA, PRDTRM, PTPMIN, PRDHID, RSRVAS, PRDDMN, MARGEN,
CORTES, EPRDAS / ;
file SAL / sal.txt /
put SAL ;
J(l) = NO ;
THETA_L(l,t,p) = 0 ;
RVA_L(l,t,p,hd) = 0 ;
PIRVA_L(l,t,p,hd) = 0 ;
* proceso iterativo de descomposición anidada de Benders
OPCDA = 1 ;
QQ(p) = NO ;
loop (l $(ABS(1-ZINF/ZSUP) > TOL and ZINF < ZSUP),
if (ord
ord(snt) = 1 and ord
ord ord(p) = card
card(p),
THETA.FX(t,qq) = 0 ;
elseif ord
ord(l) = 1 and ord
ord(snt) = 1,
THETA.LO(t,qq) = 0 ;
else
THETA.LO(t,qq) = -inf ;
106 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
) ;
solve PLGNRD USING LP MINIMIZING CSTTL ;
put 'Suproblema (M€)'
sum(qq, ORDEN(qq)):3:0 CSTTL.L:12:6 '
sum tiempo (s)' PLGNRD.resusd:7:1
PLGNRD.numequ:7:0 PLGNRD.numvar:7:0 PLGNRD.numnz:7:0 PLGNRD.iterusd:7:0/;
TMSB = TMSB + PLGNRD.resusd ;
abort $(PLGNRD.modelstat > 2) 'Terminación anormal' ;
) ;
* incremento de iteraciones al llegar al ultimo hacia adelante
J(l) $(ord
ord(snt) = 1 and ord
ord ord(p) = card
card(p)) = yes ;
* se guardan las variables interperiodo
if (ord
ord(snt) = 1 and ord
ord ord(p)+DSP(p) < card
card(p),
RVA_L(l,t,qq,hd) = RVA.L(t,qq,hd) ;
) ;
* las variables duales se guardan en sentido ascendente
if ((ord
ord(snt) = 1 and ord(p)+DSP(p)
ord ord = card
card(p)) or
(ord
ord(snt) = 2 and ord(p)+DSP(p)
ord ord < card
card(p)),
PIRVA_L(l,t,qq,hd) = - RSRVAS.M(t,qq,hd) ;
THETA_L(l,t,pp) $SAMEAS(pp+1,p+DSP(p)) = CSTTL.L ;
) ;
* cálculo de los costes totales
if (ord
ord(snt) = 1 or (ord
ord ord(snt) = 2 and ord
ord ord(p)+DSP(p) = 1),
CSTT = CSTT + CSTTL.L - sum
sum((t,qq), THETA.L(t,qq)) ;
) ;
QQ(p+DSP(p)) = NO ;
) ;
* calculo de las cotas inferior y superior
ZSUP $(ord
ord(snt)
ord = 1) = MIN(ZSUP,CSTT) ;
ZINF $(ord
ord(snt)
ord = 2) = MAX(ZINF,CSTTL.L) ;
put $(ord
ord(snt) = 1) /
ord
put $(ord
ord(snt) = 2) L.TL 'Cota Inf' ZINF:12:6 '
ord Cota Sup' ZSUP:12:6
' Converg' ABS(1-ZINF/ZSUP):10:6 ' tiempo (s)' TMSB:7:1 // ;
CSTT $(ord
ord(snt)
ord = 2) = 0 ;
) ;
) ;
* modelo completo
OPCDA = 0 ;
J(l) = NO ;
QQ(p) = yes ;
04/11/2012 107
I OPTIMIZACIÓN ESTOCÁSTICA
A1x 1 = b1
(7.1)
B xω
1 1 +A x ω ω
2 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 ω .
04/11/2012 109
8 OPTIMIZACIÓN LINEAL ESTOCÁSTICA
min α
α,x1 ,x 2ω
α −c1T x 1 −c2ωT x 2ω ≥ −f ω ∀ω ∈ Ω
A1x 1 = b1 (7.2)
B1ω x 1 +A2ω x 2ω = b2ω
x 1, x 2ω ≥0
α −c1T x 1 −c2ωT x 2ω ≥0 ∀ω ∈ Ω
A1x 1 = b1 (7.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
(7.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
110 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
A1x 1 = b1
(7.6)
∑p ω
π2ωlT B1ω x 1 + θ2 ≥ ∑p ω
π2ωlTb2ω l = 1, …, j
ω ∈Ω ω ∈Ω
x1 ≥ 0
04/11/2012 111
8 OPTIMIZACIÓN LINEAL ESTOCÁSTICA
min
ω
cT1 x 1 + ∑ p ω θ2ω
x1 ,θ2
ω ∈Ω
A1x 1 = b1
(7.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
ωp ωpT ω
min
ωp ∑ ∑p p p c xp p
xp
p =1 ωp ∈Ωp
ωp ωp −1 ω ω ω
B x
p −1 p−1 + Ap p x p p = bp p p = 1, …, P (7.8)
ωp
x p ≥0
B ω1
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.
112 04/11/2012
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.
04/11/2012 113
8 OPTIMIZACIÓN LINEAL ESTOCÁSTICA
ωT ω ω
min
ω ω
cp 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
(7.9)
p p πpklT+1Bpk x p p + θp +p 1 ≥ q p p = (πpklT+1bpk+1 + ηpklT+1q pk +1 )
ω ω ω ω ωp ω
∑
k ∈d ( ωp )
∑
k ∈d ( ωp )
p : ηp p
ω
xp p ≥ 0
ω
donde θp +p 1 ∈ ℝ , a(ωp ) indica el ascendiente del subproblema y d(ωp ) indica sus
descendientes.
114 04/11/2012
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
04/11/2012 115
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.
116 04/11/2012
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.
04/11/2012 117
I OPTIMIZACIÓN ESTOCÁSTICA
A1x 1 = b1
(9.1)
θ2 − ∑ p ω f2ωl ≥ ∑p ω
π2ωlT B1ω (x 1l − x 1 ) l = 1, …, j
ω∈Ω ω∈Ω
x1 ≥ 0
A1x 1 = b1
(9.2)
θ2ω − f2ωl ≥ π2ωlT B1ω (x 1l − x 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.
04/11/2012 119
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.
o bien
1 n ωl 1 n ωlT ω l
θ2 − ∑ f2 ≥ ∑ π2 B1 (x 1 − x 1 ) (9.7)
n ω =1 n ω =1
Los cortes calculados por simulación dejan de ser necesariamente planos
soporte de la función objetivo convexa, pueden intersecar la función de recursos
de los subproblemas de la segunda etapa. En [Infanger] se hacen los siguientes
supuestos para su obtención:
120 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 121
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.
122 04/11/2012
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.
Z (n ) =
∑ j =1
Zj
(9.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 )) = = (9.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.
04/11/2012 123
10 SIMULACIÓN EN OPTIMIZACIÓN LINEAL ESTOCÁSTICA BIETAPA
124 04/11/2012
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
04/11/2012 125
10 SIMULACIÓN EN OPTIMIZACIÓN LINEAL ESTOCÁSTICA BIETAPA
∂ var(Z )
= 2a var(Y ) − 2 cov(X ,Y ) = 0 (9.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
cov2 (X ,Y )
var(Z * ) = var(X ) − 2
= (1 − ρXY ) var(X ) (9.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 ) = (9.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.
126 04/11/2012
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′ (9.15)
ω∈Ω ω∈Ω qω ω ∈Ω
04/11/2012 127
10 SIMULACIÓN EN OPTIMIZACIÓN LINEAL ESTOCÁSTICA BIETAPA
= f0 + ∑ p ω ∆f ω
ω ∈Ω
E
∆f ω
= f0 + ∑ p ω E ∑∆ ω
i (ei ) (9.20)
ω ∈Ω ∑ 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 ω = E será una función igual a uno o superior si hay efectos
∑
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 ) (9.21)
i =1 ω∈Ω ∆i k ≠i
128 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
ω ∈Ω
2
= f02 + 2 f0 (zˆ2 − f0 ) − zˆ22 + ∑ p ω (∆f ω )
ω ∈Ω
2 2
= − (zˆ2 − f0 ) + ∑ p ω (∆f ω ) (9.22)
ω∈Ω
2
2 (∆f ω ) E
= − (zˆ2 − f0 ) + ∑ p ω E ∑ ∆ (e ) ω
i i
ω∈Ω ∑ i =1
∆ (e )
ω
i i i =1
E
2
= − (zˆ2 − f0 ) + ∑ p ωh ω ∑ ∆iω (ei )
ω∈Ω i =1
E E
2
= − (zˆ2 − f0 ) + ∑ h ω ∏ pi (ei )∑ ∆iω (ei )
ω∈Ω i =1 i =1
2
(∆f ω )
donde h =
ω
E .
∑
i =1
∆i
ω
(ei )
Manipulando y desarrollando la ecuación anterior se obtiene:
E
2 ∆iω (ei )pi (ei )
var(z 2 ) = − (zˆ2 − f0 ) + ∑ ∆i ∑ h ω ∏ pk (ek ) (9.23)
i =1 ω ∈Ω ∆i k ≠i
04/11/2012 129
10 SIMULACIÓN EN OPTIMIZACIÓN LINEAL ESTOCÁSTICA BIETAPA
E 2 2
ω 2 ∆i (ei )pi (ei )
ω
var(z 2′ ) = ∑ ( i ) ∑
∆ (g )
∆i
∏ pk (ek ) − (gˆi )
(9.24)
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
130 04/11/2012
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
04/11/2012 131
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 (9.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á:
132 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
2 2
25 225
var(z 2′ ) = 1.252 0.9025 + 0.0475
25 25 + 50
2 2
150 875
2
+0.0475 + 0.0025
− 1.1145
25 + 100 25 + 100 + 50
2 2
100 300
+52 0.9025 + 0.0475
100 100 + 50
2 2
150 875 2
+0.0475 + 0.0025
− 1.067
25 + 100 25 + 100 + 50
2
50
2
300
+2.52 0.9025 + 0.0475
50 100 + 50
2 2
225 875
2
+0.0475 + 0.0025
− 1.1525
25 + 50 25 + 100 + 50
= 4.05365742
Esto es, con el muestreo por importancia se ha conseguido en este ejemplo
una reducción de la varianza de dos órdenes de magnitud.
I.10.1.5 Muestreo estratificado
Los ejemplos clásicos de estratificación aparecen en el diseño de encuestas. Se
supone que se desea efectuar una encuesta a la población de una ciudad y hacer
un análisis estadístico sobre las respuestas. El método de Monte Carlo elegiría
una persona cualesquiera de forma inversamente proporcional al número de
habitantes. El método de estratificación dividiría la población en estratos, por
ejemplo según población de los distritos, y repartiría el número total de
encuestas de forma proporcional al tamaño de cada estrato. En este caso, dicho
tamaño se puede obtener con precisión a partir del censo. De esta manera se
reemplaza la variable aleatoria número de veces que dicho estrato se muestrea
por su valor esperado. Esto necesariamente reduce la varianza.
En la técnica de muestreo estratificado se divide el espacio muestral en
estratos disjuntos. La idea intuitiva de esta técnica es similar a la de muestreo
por importancia pero en versión discreta. Consiste en tomar más muestras de la
variable aleatoria en los estratos de mayor interés. La varianza se reduce al
concentrar el esfuerzo de simulación en los estratos más relevantes.
Por ejemplo, en el caso de un modelo de explotación que divide el alcance
del estudio en periodos de diferente duración. El tamaño del estrato se toma
proporcional al valor de la función objetivo (habitualmente costes variables de
explotación) en cada periodo. Una aproximación es hacerlo proporcional a la
04/11/2012 133
10 SIMULACIÓN EN OPTIMIZACIÓN LINEAL ESTOCÁSTICA BIETAPA
20
Esto presenta el inconveniente de atender únicamente a una función objetivo. Si hubiera
varias éstas podrían entrar en conflicto.
134 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
E
• La primera es la de preparación. En ella se resuelven 1 + ∑ i =1 (ei − 1)
subproblemas para obtener el valor de la función objetivo en el caso base
más los incrementos ∆i (ei ) en cada coordenada. Con estos datos se evalúan
las funciones de cuantía de importancia.
04/11/2012 135
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.
Alonso-Ayuso, A., E. Cerdá, L. F. Escudero, R. Sala (eds.) (2004) Optimización
bajo incertidumbre Tirant lo Blanch. Valencia, España.
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., Meeraus, A. and Raman, R. (1998) GAMS A User’s
Guide. GAMS Development Co.
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).
04/11/2012 137
11 REFERENCIAS
138 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 139
11 REFERENCIAS
Gill, P. E., Murray, W. and Wright, M.H. Numerical Linear Algebra and
Optimization. Addison Wesley, 1991.
Hilger, J., Harhalakis, G. and Proth, J.M. “Generalized Cross-Decomposition
Method: Algorithm and Implementation” Institut National de Recherche en
Informatique et en Automatique. Report 1055. July 1989.
Infanger, G. “Monte Carlo (Importance) Sampling within a Benders
Decomposition Algorithm for Stochastic Linear Programs. Extended
Version: Including Results of Large-Scale Problems” Systems Optimization
Laboratory. Department of Operations Research. Stanford University. SOL
91-6. March 1991.
Infanger, G. Planning Under Uncertainty: Solving Large-Scale Stochastic Linear
Programs Boyd Fraser. 1994.
Jacobs, J, Freeman, G., Grygier, J., Morton, D. P., Schultz, G., Staschus, K.
and Stedinger, J. “SOCRATES: A System for Scheduling Hydroelectric
Generation under Uncertainty” Annals of Operations Research. Vol 59, pp
99-133. 1995.
Kall, P. and Wallace, S.W. Stochastic Programming. Wiley, 1994.
Kim, S., Cho, S.-C. and Um, B.-S. “A Simplified Cross Decomposition
Algorithm for Multiple Right Hand Choice Linear Programming” Journal of
Operations Research Society of Japan. Vol 32, No 4, pp 441-449. December
1989.
Krishna, A. “Enhanced Algorithms for Stochastic Programming”. PhD Thesis.
Stanford University. September 1993.
Lasdon, L.S. Optimization Theory for Large Systems. The MacMillan Company.
New York, USA. 1970.
Law, A.M. and Kelton, W.D. Simulation Modeling and Analysis. Second Edition
McGraw-Hill. New York, USA. 1991.
Massachusetts Institute of Technology “Electric Generation Expansion Analysis
System. Volume 1: Solution Techniques, Computing Methods, and Results.
Volume 2: Details of Solution Techniques, Data of Test Systems, and
Glossary of Terms” Electric Power Research Institute. EPRI EL-2561.
August 1982.
Mathiesen, L. “Pricing of Electricity in the Presence of Water Uncertainty”
February 1992.
The MathWorks, Inc. MATLAB User's Guide. August 1992.
The MathWorks, Inc. Optimization Toolbox for Use with MATLAB User's
Guide. August 1992.
140 04/11/2012
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 141
11 REFERENCIAS
142 04/11/2012
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) .
04/11/2012 143
12 BIBLIOTECA DE PROBLEMAS
x 1
x 2
min −2 −1 −3 −1 x
( )
xi 3
x
4
x 1
1 1 1 1x 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
144 04/11/2012
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.
04/11/2012 145
I OPTIMIZACIÓN ESTOCÁSTICA
04/11/2012 147