Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Modelado de Algoritmos de Descomposici On Con GAMS
Modelado de Algoritmos de Descomposici On Con GAMS
descomposici
on con GAMS
Santiago Cerisolaa , Andr
es Ramosa
a
Alvaro Ballo
a
Escuela T
ecnica Superior de Ingeniera - ICAI,
e-mails: {Santiago.Cerisola, Andres.Ramos, Alvaro.Baillo}@iit.icai.upco.es
Introducci
on
Las tecnicas de descomposicion tiene sentido aplicarlas a un problema de optimizacion cuya estructura especca permite identicar partes del mismo que son
f
acilmente resolubles de modo individual. Los problemas multietapa y los problemas estocasticos de gran tama
no son ejemplos de problemas cuya resoluci
on
se puede abordar mediante tecnicas de descomposicion. Los problemas enteros
mixtos tales que la relajacion de un conjunto de restricciones reduce la dicultad
del mismo son tambien ejemplos en los que el uso de tecnicas de descomposicion
puede ser preferible a la resoluci
on del problema de un modo directo.
Este documento describe una implantaci
on de la Descomposicion de Benders
[2, 14] y de la Relajaci
on Lagrangiana [8, 9] en el lenguaje de modelado algebraico
GAMS [4]. La descripci
on se centra en problemas lineales deterministas aunque
su extension para problemas estoc
asticos [11, 7] (en el caso de Benders) o para
problemas mixtos (en el caso de Relajacion Lagrangiana) es inmediata. A lo largo
del documento se describe brevemente cada una de las dos descomposiciones y su
implantaci
on en GAMS para la resoluci
on de problemas academicos concretos.
Rect@
Monogr
aco 2 (2004)
112
Descomposici
on de Benders
Ax = b
Tx + Wy = h
x, y 0
(6.1)
Ax = b
x0
(6.2)
donde la funci
on de recurso, (x), representa la funci
on objetivo de la segunda
etapa como funci
on de las decisiones de la primera etapa y tiene la siguiente
expresion:
1 Por convenci
on en la formulaci
on los vectores son columna, su transposici
on se representa
por un superndice T , las variables se ubican a la izquierda de las expresiones y los coecientes
de las variables preceden a estas.
Rect@
Monogr
aco 2 (2004)
S. Cerisola et al.
113
Figura 6.1: Estructura de la matriz de coecientes de las restricciones en problemas lineales bietapa.
(x) = mn q T y
y
Wy = h Tx
y0
(6.3)
2.1
Representaci
on lineal del problema maestro
max(h T x)T
(6.4)
WT q
Sea = 21 , 22 , . . . , 2 el conjunto nito de vertices del poliedro convexo
denido por la regi
on factible W T q. Observese que la region factible del
problema dual no depende del valor de x. Dado que la soluci
on optima de un
problema lineal reside en un vertice el problema se puede resolver por enumeracion
de todos ellos:
(x) = m
ax{(h T x)T l }
l = 1, . . . ,
(6.5)
Monogr
aco 2 (2004)
114
(x) =
mn
(h T x)T 1
..
.
(6.6)
(h T x)T
con . Observese que la variable es libre. Las restricciones de esta formulaci
on se denominan cortes de Benders y constituyen una aproximaci
on exterior
de la funci
on de recurso. Como el n
umero de vertices (soluciones duales del subproblema de Benders) es nito, esta aproximaci
on exterior es una funci
on convexa
a tramos. El problema original PL-2 se puede expresar como:
mn cT x +
x,
Ax = b
(h T x)T 1
..
.
(6.7)
(h T x)T
x0
Esta formulaci
on se denomina problema maestro completo, ya que contiene
todos los cortes posibles. Presenta todas las restricciones de la primera etapa mas
todas las condiciones necesarias derivadas de la segunda etapa. Desde el punto de
vista pr
actico, la resolucion del problema maestro completo implica disponer de
forma explcita de todos los cortes de Benders, lo cual es practicamente imposible
en problemas de tama
no realista. Por esta raz
on, la resoluci
on del problema
original PL-2 es reemplazada por la resoluci
on iterativa del problema maestro
relajado 2 denidos como:
mn cT x +
x,
Ax = b
(h T x)T l
x0
l = 1, . . . , j
(6.8)
donde y l representa el ndice de iteraciones3 . De cara a una implantacion eciente del algoritmo de descomposicion, los cortes de Benders aceptan
la siguiente formulaci
on como linealizacion de la funci
on de recurso en torno a
los valores de las variables de la primera etapa y de los valores de la variable
obtenidos en cada iteraci
on:
2 Por simplicidad de la exposici
on, se denomina como problema maestro al problema maestro
relajado.
3 Se entiende por iteraci
on un ciclo maestro-subproblema, en este orden.
Rect@
Monogr
aco 2 (2004)
S. Cerisola et al.
115
jT& (h T x) = jT (h 'T x + T xj T xj ) =
= jT h T xj T (x xj ) = jT (h T xj ) jT T (x xj ) =
= f j jT T (x xj )
(6.9)
(6.10)
+ jT T x f j + jT T xj
(6.11)
jT
Ax = b
+ lT T x f l + lT T xl
x0
l = 1, . . . , j
(6.12)
mn q T y
y
W y = h T xj
y0
2.2
: j
(6.13)
Cortes de infactibilidad
La descripcion anterior del algoritmo de Benders ha supuesto que el subproblema de Benders es factible y acotado para cualquier propuesta del problema
maestro. Esta hip
otesis, conocida en la literatura como recurso parcialmente
completo 4 , no suele satisfacerse en la practica y el algoritmo de descomposicion
es modicado cuando esto ocurre. La modicaci
on del algoritmo consiste en la
construccion de otro tipo de corte, corte de infactibilidad, que elimina la soluci
on
propuesta en el problema maestro. La construcci
on de este corte se comenta a
continuaci
on.
4 en
Rect@
Monogr
aco 2 (2004)
116
Si el subproblema es factible para un valor de x los valores duales de las restricciones forman un corte en el problema maestro denominado corte de optimalidad
tal como se ha presentado anteriormente. El caso en el que un subproblema es
no acotado carece de interes algortmico, puesto que esta situacion implica que
el problema bietapa PL-2 es no acotado. La situaci
on que debe ser destacada
es aquella en la que el subproblema es infactible para la propuesta del maestro.
En ese caso se puede generar un corte de infactibilidad derivado de la Fase I
del simplex [14]. El subproblema de minimizaci
on de infactibilidades se formula
como:
(x) =
mn eT v + + eT v
v + ,v
W y + Iv + Iv = h T xj
y, v + , v 0
(6.14)
siendo eT = 1 1 , I matriz identidad (m2 m2 ) y las variables duales
de las restricciones para la solucion optima. (x) representa la funci
on de recurso
asociada a la fase I del subproblema de Benders.
El corte de optimalidad que el subproblema de minimizaci
on de infactibilidades obtiene (siguiendo la metodologa descrita hasta el momento) viene dado
como:
jT (h W x)
(6.15)
(6.16)
Ax = b
l + lT T x f l + lT T xl
x0
l = 1, . . . , j
(6.17)
Monogr
aco 2 (2004)
S. Cerisola et al.
2.3
117
Algoritmo de descomposici
on de Benders
El algoritmo de descomposicion de Benders resuelve en cada iteracion el problema maestro relajado y pasa el valor de las variables de la primera etapa xj
al subproblema. La resoluci
on del subproblema de Benders con el termino de la
derecha (RHS) (hT xj ) genera unas variables duales j que se usan para generar
un nuevo corte de Benders que se a
nade al problema maestro relajado. En cada
iteracion, el valor obtenido por la funci
on objetivo del problema maestro relajado
z es una cota inferior del problema completo PL-2. La sucesion de estas cotas
inferiores es monotona creciente dado que en cada iteraci
on en problema maestro
relajado contiene mayor n
umero de restricciones. Por otra parte, una cota superior z del valor optimo de la funci
on objetivo del problema original PL-2 viene
dada en cada iteraci
on por (cT xj + q T y j ) siendo xj e y j soluciones factibles en
maestro y subproblema en esa iteracion. El criterio de parada del algoritmo es la
coincidencia de ambas cotas con una tolerancia relativa F (por ejemplo, 104 ).
(
( T j
(q y j (
|
z z|
= T j
F
|
z|
|c x + q T y j |
(6.18)
En cada iteraci
on del algoritmo de Benders, la variable dual generada en el
subproblema es distinta del conjunto de variables duales generadas con anterioridad por el algoritmo [14]. Dado que el conjunto de posibles valores duales es
nito, el algoritmo de descomposici
on de Benders converge en un n
umero nito
de iteraciones.
Para obtener el valor x0 de las variables de la primera etapa en la primera
iteraci
on del algoritmo de descomposicion, se suele proceder a la resolucion del
problema maestro relajado sin cortes, lo que equivale a jar el valor de la variable
de recurso a cero, = 0. Otra alternativa consiste en estimar razonablemente
este valor en caso de que la naturaleza del problema sea conocida.
Para el caso en que las variables de la primera etapa sean continuas, en cada
iteraci
on se dispone de una base del problema maestro relajado que es infactible
solo por una variable b
asica, la variable de holgura del nuevo corte. Cuando se
soluciona el dual del problema maestro relajado los cortes aparecen como columnas. Al a
nadir una nueva columna la soluci
on previa sigue siendo factible y la
nueva soluci
on optima puede obtenerse en pocas iteraciones del simplex. Por ello
es teoricamente conveniente resolver el maestro mediante el simplex dual. Por
otra parte, cada subproblema s
olo cambia las cotas de las restricciones en cada
iteraci
on. Por esta raz
on, suponiendo que ninguna soluci
on del maestro ocasiona
infactibilidad en el subproblema, es conveniente resolverlo mediante el metodo
simplex primal (siempre que su tama
no lo aconseje).
Esquematicamente el algoritmo se formula a continuaci
on:
1. Inicializaci
on: j = 0, z = z = , F = 104
Rect@
Monogr
aco 2 (2004)
118
Ax = b
l + lT T x f l + lT T xl
x0
l = 1, . . . , j
(6.19)
Obtener la soluci
on xj+1 , j+1 y evaluar la cota inferior z = (cT xj+1 +j+1 )
3. Resolucion del subproblema de suma de infactibilidades
f j+1 =
mn eT v + + eT v
v + ,v
W y + Iv + Iv = h T xj+1
y, v + , v 0
(6.20)
mn q T y
y
W y = h T xj+1
y0
(6.21)
5. Regla de parada Si |z| F detener el algoritmo. En otro caso, obtener j+1 , formar un corte de optimalidad y a
nadirlo al problema maestro,
incrementar el numero de iteraciones j = j + 1 e ir al paso 1.
Mientras no se haya generado ning
un corte de optimalidad, se ja el valor
de la variable de recurso a cero, pues en otro caso el problema maestro es no
acotado. Una vez obtenido alg
un corte de infactibilidad, esta variable pasa a ser
libre.
La siguiente seccion presenta con un ejemplo los pasos del algoritmo de descomposicion de Benders.
Rect@
Monogr
aco 2 (2004)
S. Cerisola et al.
2.4
119
Ejemplo
mn
entonces,
1
c=
,
2
600
0
1000
500
0
0
2
600
q=
, b=
, h=
3
0
1 1
1
1
1
A=
, T = 1 0 y W = 1
1 2
0 0
2
1000
500 ,
0
1
0
1
0
x=
600
Para estos valores de la primera etapa, el subproblema es factible. Como
soluci
on se obtiene
2.667
133.3
y=
y = 0.000
266.7
0.333
y un valor para la cota superior z = 2266.7. Como la diferencia entre ambas
cotas es elevada (la cota superior es este momento es innito) se contin
ua iterando.
Con los valores duales se forma un corte para el problema maestro dado por:
2.667x1 2.667x2 2666.7
Rect@
Monogr
aco 2 (2004)
120
0.000
x=
0.000
y un valor para la cota inferior z = 2666.7. Al introducir en el subproblema
estos valores se obtiene como solucion
2.667
333.3
y=
y = 0.000
666.7
0.333
Se calcula la cota superior en esta iteracion, siendo z = 2666.7. La diferencia
entre ambas cotas es ahora nula y, por lo tanto, acaba el algoritmo. La funci
on
objetivo es z = 2666.7 y la soluci
on optima es:
0.000
333.3
x =
e y =
0.000
666.7
2.5
Descomposici
on de Benders en GAMS
$TITLE Descomposici
on de Benders (Bd)
SETS
I
L
M
N
ndice
ndice
ndice
ndice
de
de
de
de
variables
variables
restricciones
restricciones
de
de
de
de
ndice de iteraciones
JJ(j) subconjunto de iteraciones
Rect@
la
la
la
la
primera
segunda
primera
segunda
etapa
etapa
etapa
etapa
/
/
/
/
i1
l1
m1
n1
*
*
*
*
i2
l2
m2
n3
/
/
/
/
/ j1 * j20 /
Monogr
aco 2 (2004)
S. Cerisola et al.
121
PARAMETERS
C(i)
coeficientes funci
on objetivo primera etapa
/ i1
-1
i2
-2 /
coeficientes funci
on objetivo segunda etapa
/ l1
-2
l2
-3 /
cotas restricciones primera etapa
/ m1
600
m2
0 /
cotas restricciones segunda etapa
/ n1
1000
n2
500
n3
0 /
Q(l)
B(m)
H(n)
TABLE A(m,i)
m1
m2
TABLE T(n,i)
n1
n2
n3
TABLE W(n,l)
n1
n2
n3
POSITIVE VARIABLES
X(i)
variables primera etapa
Y(l)
variables segunda etapa
VARIABLES
Z1
Z2
theta
funci
on objetivo primera etapa
funci
on objetivo segunda etapa
funci
on de recurso
SCALARS
TOL
Z_INF
Z_SUP
PARAMETERS
PI(n,j)
DELTA(j)
X_J(i,j)
Rect@
Monogr
aco 2 (2004)
122
Z2_J(j)
* Declaraci
on de las ecuaciones
EQUATIONS
EQ_OBJ
EQ_Z1
EQ_Z2
EQ_R1(m)
EQ_R2(n)
CORTES(j)
funci
on objetivo problema completo
funci
on objetivo primera etapa
funci
on objetivo segunda etapa
restricciones primera etapa
restricciones segunda etapa
cortes de Benders ;
* Construcci
on de las ecuaciones
EQ_OBJ
EQ_Z1
EQ_Z2
EQ_R1(m)
EQ_R2(n)
H(n) ;
CORTES(jj)
MODEL MAESTRO
EQ_R2, EQ_Z2
/ ;
MAESTRO.OPTFILE = 1 ; SUBPROBLEMA.OPTFILE
= 1 ;
* Algoritmo de Descomposici
on de Benders
* Inicializaci
on de par
ametros del problema
JJ(j)
= NO ;
theta.FX = 0 ;
DELTA(j) = 0 ;
Z2_J(j) = 0 ;
X_J(i,j) = 0 ;
PI(n,j) = 0 ;
Rect@
Monogr
aco 2 (2004)
S. Cerisola et al.
123
*
*
Resoluci
on del problema maestro
SOLVE MAESTRO USING LP MINIMIZING Z1 ;
Adquisici
on de la soluci
on
X_J(i,j) = X.L(i) ;
*
*
Fijaci
on de la variable de la primera etapa y
Resoluci
on del subproblema
X.FX(i) = X.L(i) ;
SOLVE SUBPROBLEMA USING LP MINIMIZING Z2;
Adquisici
on de los par
ametros para formar un nuevo corte
IF(SUBPROBLEMA.MODELSTAT = 4,
Subproblema infactible
DELTA(j) = 0 ;
Z2_J(j) = SUBPROBLEMA.SUMINFES;
ELSE
Actualizaci
on de la cota inferior
Z_INF = Z1.L ;
DELTA(j) = 1 ;
theta.LO = -INF ; theta.UP = INF ;
Actualizaci
on de la cota superior
Z_SUP = SUM(i, C(i)*X.L(i)) + SUM(l, Q(l)*Y.L(l)) ;
) ;
Z2_J(j) = Z2.L;
PI(n,j) = EQ_R2.M(n) ;
X.LO(i) = 0 ; X.UP(i) = INF;
) ;
Los lenguajes de modelado algebraico como GAMS permiten el uso de diferentes optimizadores para resolver los problemas. En el caso anterior, el optimizador
escogido ha sido CPLEX [10]. Para que las variables duales devueltas por el subproblema de Benders sean correctas para generar un corte de Benders tanto en el
caso de optimalidad como en el de infactibilidad, para este optimizador deben ser
desactivadas las opciones de preproceso (preind 0) y de escalado (scaind -1) y
el subproblema debe ser resuelto mediante el algoritmo simplex primal (lpmethod
1). Con el uso de otros optimizadores se debe comprobar la correcci
on de las
variables duales tanto para optimalidad como para infactibilidad. Si las variables
duales no son las adecuadas para generar un corte de infactibilidad, el subproblema de minimizacion de infactibilidades debe de ser planteado explcitamente
Rect@
Monogr
aco 2 (2004)
124
2.6
j
xij Mij yij
xij 0
: ij
yij ,
ij (
+ fij yij )
l
Mij yij ) f l +
+ ij (ij
yij {0, 1}
l
l
ij (ij Mij yij )
l = 1, . . . , k
(6.24)
A continuaci
on se expresa en GAMS este problema para un caso ejemplo
en el que se suponen cuatro orgenes del producto y tres puntos de demanda. El
Rect@
Monogr
aco 2 (2004)
S. Cerisola et al.
125
OPTION OPTCR = 0
SETS
J
JJ(j)
I
L
PARAMETERS
A(i)
B(l)
ofertas
/ i1 10,
demandas
/ l1 20,
de
i2
de
l2
producto
30, i3 40, i4 20 /
producto
50, l3 30 /
Rect@
Monogr
aco 2 (2004)
126
POSITIVE VARIABLES
X(i,l)
flujo por los arcos
BINARY VARIABLE
Y(i,l)
decisiones de inversi
on en los arcos
VARIABLES
Z1
Z2
theta
funci
on objetivo primera etapa
funci
on objetivo segunda etapa
funci
on de recurso
SCALARS
TOL
Z_INF
Z_SUP
PARAMETERS
Y_J(i,l,j)
PI(i,l,j)
DELTA(j)
Z2_J(j)
en
en
de
en
la
la
la
la
iteraci
on
iteraci
on
iteraci
on
iteraci
on
j
j
j
j;
Declaraci
on de las ecuaciones
EQUATIONS
EQ_Z1
EQ_Z2
EQ_OBJ
OFERTA(i)
DEMANDA(l)
LIMITE(i,l)
CORTES(j)
funci
on objetivo primera etapa
funci
on objetivo segunda etapa
funci
on objetivo problema completo
ofertas de los or
genes
demanda de los destinos
l
mite de uso del arco
cortes de Benders ;
EQ_Z1
EQ_Z2
EQ_OBJ
.. Z1 =E= SUM[(i,l), F(i,l)*Y(i,l)] + SUM[(i,l),
C(i,l)*X(i,l)];
OFERTA(i)
DEMANDA(l)
Rect@
Monogr
aco 2 (2004)
S. Cerisola et al.
127
CORTES(jj)
MODEL MAESTRO
/ EQ_Z1, CORTES / ;
MODEL COMPLETO
X.UP(i,l) = MIN[A(i),B(l)] ;
* para que los resultados de un problema infactible sean los correctos con CPLEX s
olo
* se puede utilizar el m
etodo simplex y sin preproceso ni escalado
MAESTRO.OPTFILE = 1 ; SUBPROBLEMA.OPTFILE = 1 ;
* inicializaci
on de par
ametros del problema
JJ(j)
; Z2_J(j)
= NO ; theta.FX
= 0 ; DELTA(j)
= 0 ; PI(i,l,j) = 0 ;
= 0 ; Y_J(i,l,j) = 0
*
*
Resoluci
on del problema maestro
SOLVE MAESTRO USING MIP MINIMIZING Z1 ;
Adquisici
on de la soluci
on
Y_J(i,l,j) = Y.L(i,l) ;
*
*
Fijaci
on de la variable de la primera etapa y
Resoluci
on del subproblema
Y.FX(i,l) = Y.L(i,l) ;
SOLVE SUBPROBLEMA USING RMIP MINIMIZING Z2;
Adquisici
on de los par
ametros para formar un nuevo corte
IF(SUBPROBLEMA.MODELSTAT = 4,
DELTA(j) = 0 ;
Z2_J(j) = SUBPROBLEMA.SUMINFES;
ELSE
Actualizaci
on de la cota inferior
Rect@
Monogr
aco 2 (2004)
128
) ;
PI(i,l,j) = LIMITE.M(i,l) ;
Y.LO(i,l) = 0 ; Y.UP(i,l) = 1 ;
) ;
Fig. 3: Evoluci
on de arcos propuestos por el algoritmo de Benders.
La soluci
on optima es y11 = y23 = y31 = y32 = y42 = 1 y se alcanza en
15 iteraciones con un coste total jo m
as variable de 380. La evoluci
on de las
combinaciones de arcos propuestas por el algoritmo de descomposicion se presenta
en la gura 3. Debe destacarse que solamente las propuestas de las iteraciones 7,
10 y 15 son factibles para el subproblema, de modo que la mayora de cortes que
el algoritmo genera son de infactibilidad y s
olo dos cortes son de optimalidad. Por
Rect@
Monogr
aco 2 (2004)
S. Cerisola et al.
129
Iteracion
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Cota Inferior
-
-
-
-
-
-
140
140
120
360
360
360
360
360
380
Cota Superior
390
390
390
380
380
380
380
380
380
Relajaci
on Lagrangiana
La Relajacion Lagrangiana [9] es una de las tecnicas mas extendidas en optimizacion discreta. Se emplea principalmente cuando en un problema de programacion matematica aparece un conjunto de ecuaciones que complica la resoluci
on
del problema. Esto es, la resoluci
on del problema sin esas ecuaciones tiene una
estructura cuya resoluci
on es mas sencilla. Esta tecnica se basa en la dualizaci
on
de esas ecuaciones y en la formulacion de un problema dual cuya resolucion proporciona una aproximaci
on del valor optimo del problema original mejor que la
resolucion de su relajaci
on lineal5 . En caso de que el problema sea lineal y que
el conjunto de ecuaciones de complicacion sean el conjunto de restricciones del
problema, este problema dual es el problema dual del problema original.
Se considera el siguiente problema de optimizaci
on lineal:
5 Por
relajaci
on lineal de un problema P se entiende el problema P en el que las variables
enteras son sustituidas por variables continuas.
Rect@
Monogr
aco 2 (2004)
130
mn cT x
x
Ax = b
Dx d
x0
(6.25)
(6.26)
y la funci
on dual () como evaluacion del siguiente problema, subproblema de
Lagrange:
() = mn cT x + T (Ax b)
Dx d
x0
(6.27)
m1
(6.28)
La funci
on dual es c
oncava independientemente de que el problema original sea
lineal o lineal entero mixto. Por esta raz
on, las tecnicas basadas en subgradientes
aparecen de modo natural a la hora de maximizar la funci
on dual [13, 12]. Estas
tecnicas actualizan los valores de los multiplicadores siguiendo la direcci
on del
subgradiente, utilizando diferentes longitudes de paso en cada iteraci
on [1]. N
otese
que si xj es la solucion optima del subproblema de Lagrange para un valor j del
multiplicador, Axj b es un subgradiente de la funci
on dual. Una alternativa a las
tecnicas basadas en el subgradiente es la representacion lineal del problema dual,
lo que induce de modo natural un algoritmo de aproximaci
on exterior similar
al algoritmo de descomposicion de Benders. La pr
oxima seccion presenta este
algoritmo que posteriormente es formulado en GAMS.
La Relajacion Lagrangiana recibe tambien el nombre de descomposici
on dual
o descomposici
on por precios porque se basa en la evaluaci
on del subproblema
para distintos precios o variables duales.
Se describe a continuaci
on la formulaci
on del algoritmo de aproximaci
on exterior de la funci
on dual, que denominaremos algoritmo de descomposici
on basado
en Relajacion Lagrangiana.
Rect@
Monogr
aco 2 (2004)
S. Cerisola et al.
3.1
131
Representaci
on lineal del problema dual
(6.29)
l = 1, . . . ,
(6.30)
(6.31)
cT x + T (Ax b)
Cada restriccion del problema anterior se denomina Corte de Lagrange. Dado
que para problemas realistas disponer del conjunto de soluciones es pr
acticamente
imposible, la optimizaci
on del problema dual se reemplaza por la resoluci
on iterativa de problemas maestros relajados6 , cuyo n
umero de cortes de Lagrange
aumenta con cada iteraci
on. Cada resoluci
on de un problema maestro relajado
propone un nuevo valor del multiplicador que, una vez evaluado en la funci
on
dual a traves del subproblema de Lagrange, propone un nuevo corte de Lagrange
que aumenta el problema maestro relajado7 .
De modo similar a la posibilidad de subproblemas infactibles en el algoritmo
de descomposicion de Benders, el algoritmo de descomposicion debe afrontar la
posibilidad de encontrar subproblemas de Lagrange no acotados. Cuando esto
ocurre, el multiplicador propuesto no es v
alido y se debe ser introducir una restriccion en el problema maestro que lo elimine del conjunto de multiplicadores
posibles. Este tipo de corte se denota Corte de Acotamiento y su construccion se
comenta en la siguiente seccion.
6 Relajado hace referencia a que no se dispone de la totalidad de los cortes, sino solamente
de un conjunto de ellos
7 Por simplicidad de la exposici
on, se denomina como problema maestro al problema maestro
relajado.
Rect@
Monogr
aco 2 (2004)
132
3.2
Cortes de acotamiento
(6.32)
x {x 0, Dx 0}
(6.34)
La condici
on anterior, una vez propuesto un valor para el multiplicador, puede
ser comprobada resolviendo el siguiente problema, que denotamos subproblema de
acotamiento:
() = mn cT x + T Ax
Dx 0
0x1
(6.35)
(6.36)
De este modo, el algoritmo de la Relajacion Lagrangiana itera entre un problema maestro, formado por cortes de Lagrange y cortes de acotamiento, y un
subproblema de Lagrange que eval
ua los multiplicadores propuestos por el maestro. El problema maestro, considerando ambos tipo de corte, puede ser formulado
de la siguiente forma
max
j cT xj + T (Axj j b)
8 Es
j = 1, . . . , k
(6.37)
Rect@
Monogr
aco 2 (2004)
S. Cerisola et al.
133
3.3
Algoritmo de Relajaci
on Lagrangiana
El algoritmo de la Relajaci
on Lagrangiana, considerando la interpretaci
on
lineal del problema dual anterior, es descrito en los siguientes pasos.
1. Inicializaci
on: j = 0, F = 104
2. Resolucion del problema maestro de la Relajaci
on Lagrangiana
max
,
j cT xj + T (Axj j b)
j = 1, . . . , k
(6.38)
Dx 0
0x1
(6.39)
(6.40)
Ir al paso 2.
4. Resolucion del subproblema de Lagrange
() =
mn cT x + T (Ax b)
x
Dx d
x0
(6.41)
Obtener la soluci
on xj , y formar corte de Lagrange
cT xj + T (Axj b)
(6.42)
Ir al paso 5.
Rect@
Monogr
aco 2 (2004)
134
5. Regla de parada
Calculo de la diferencia entre los multiplicadores propuestos en la iteraci
on
j y la anterior j 1.
Si d(j j1 ) < F detener9 .
En otro caso, ir al paso 2.
En el algoritmo de la Relajaci
on Lagrangiana, los multiplicadores en el
problema maestro estan acotados por valores sucientemente amplios que impiden
que este sea no acotado. El problema lineal resuelto por Benders es ahora resuelto
mediante el algoritmo de Relajaci
on Lagrangiana para ver en detalle los pasos del
algoritmo.
3.4
Ejemplo
mn
x1 + x2
x1 2x2
x1 + x2 + y1 + y2
x1
+ y1
2y1 + y2
x1 ,
x2 ,
y1 ,
y2
entonces,
1
2
c=
2
3
1
D=
1
1
0
1
1
0 0
0 0 ,
A = 1 2
0
0 2 1
1 1
1000
y d=
1 0
500
1000
500
0
0
600
b = 0 ,
0
Rect@
Monogr
aco 2 (2004)
S. Cerisola et al.
135
0
=
0
Este valor de los multiplicadores no es adecuado y el subproblema de acotamiento lo rechaza introduciendo un corte en el problema maestro dado por
0 5 + 21 + 22
Una nueva resoluci
on del problema maestro propone
2.5
=
0
y el subproblema de acotamiento
0 4 + 1.51 + 0.52
con lo que una nueva resoluci
on del maestro obtiene
2.667
=
0
Este valor de multiplicadores es aceptado por el problema de acotamiento y
el algoritmo pasa a resolver el subproblema de Lagrange. Una vez resuelto, este
propone un corte de Lagrange para el problema maestro que es
10001 5002
La nueva resoluci
on del maestro propone el mismo multiplicador de Lagrange,
por lo que el algoritmo termina.
Para problemas lineales, el algoritmo de Relajaci
on Lagrangiana termina con
una soluci
on que es optima para el dual del problema lineal. Esta soluci
on viene
dada como el opuesto de este multiplicador optimo. Este hecho puede apreciarse
en este ejemplo. Los valores de las variables duales de las ecuaciones relajadas
son (cuando se resuelve el problema completo):
2.667
=
0
Una desventaja de este metodo de descomposicion es la perdida de factibilidad de la soluci
on primal durante las sucesivas iteraciones del metodo. En este
ejemplo, la u
ltima soluci
on primal, aunque factible ( x1 x2 x3 x4 ) = ( 0 0 0 0 ) no
Rect@
Monogr
aco 2 (2004)
136
3.5
Relajaci
on Lagrangiana en GAMS
La implantaci
on en GAMS de un c
odigo de Relajaci
on Lagrangiana es similar
a la implantaci
on de la descomposicion de Benders. Se formula un modelo para el
problema maestro y otro para el subproblema, y estos son resueltos sucesivamente
en un bucle de iteraciones. Las ecuaciones que representan los cortes de Lagrange
(una u
nica ecuaci
on que engloba a los dos tipos de corte) es declarada sobre un
conjunto est
atico de ndices y construida sobre un conjunto din
amico. Durante el
proceso algortmico, este conjunto din
amico se va actualizado, aumentando por
tanto el n
umero de cortes de Lagrange que contiene el problema maestro.
$TITLE Relajaci
on Lagrangiana en GAMS (RL)
OPTION OPTCR = 0
SETS
J
Rect@
ndice de iteraciones
/j1 * j100 /
Monogr
aco 2 (2004)
S. Cerisola et al.
JJ(j)
I
M
N
137
subconjunto de
ndices
ndice de variables
/i1 * i4 /
PARAMETERS
C(i)
B(m)
Dd(n)
-2
coeficientes objetivo
/ i1 -1, i2 -2, i3 -2, i4 -3 /
t
ermino B
/ m1 1000, m2 500 /
matriz d (notaci
on matem
atica)
/ n1 600, n2 0, n3 0 /
SCALARS
TOL
Z_INF
Z_SUP
DELTA
DIF
PARAMETERS
W_J(j)
X_J(i,j)
DELTAJ(j)
LAMBDA_J(m,j)
funci
on objetivo del problema dual
valores de las variables de flujo
tipo de corte (acotaci
on 0
optimo 1)
multiplicadores
en
en
de
en
la
la
la
la
iteraci
on
iteraci
on
iteraci
on
iteraci
on
j
j
j
j
POSITIVE VARIABLES
X(i)
variables
LAMBDA(m) multiplicador
VARIABLES
Z
W
* Declaraci
on de las ecuaciones
EQUATIONS
EQ_OBJ
funci
on objetivo problema
EQ_R1(m)
restricciones que se relajan
EQ_R2(n)
resto de restricciones
CORTES_LR(j) cortes de Relajaci
on Lagrangiana
Rect@
Monogr
aco 2 (2004)
138
CORTE_RE
corte redundante;
EQ_OBJ
.. Z =E= SUM(i, C(i)*X(i)) + SUM(m,
LAMBDA.L(m)*(SUM(i,A(m,i)*X(i))-DELTA*B(m))) ;
MODEL MAESTRO_LR
/ CORTES_LR , CORTE_RE / ;
MODEL SUB_LR
/ EQ_OBJ, EQ_R2 / ;
MODEL COMPLETO
* inicializaci
on de par
ametros del problema
JJ(j)
X_J(i,j)
INF;
= NO ; DELTAJ(j)
=
= 0 ; LAMBDA.LO(m) =
0 ; DELTA
= 0 ;
0 ; LAMBDA.UP(m) = 10 ; DIF =
Resoluci
on del problema maestro de Relajaci
on Lagrangiana
IF(ORD(j) > 1,
SOLVE MAESTRO_LR USING LP MAXIMIZING W;
W_J(j) = W.L;
ELSE
LAMBDA.L(m) = 0 ;
) ;
LAMBDA_J(m,j) = LAMBDA.L(m) ;
Resoluci
on del subproblema de acotamiento
Rect@
Monogr
aco 2 (2004)
S. Cerisola et al.
139
Normalizaci
on de las cotas no nulas de las variables
X.UP(i) = 1 ;
DELTA
= 0 ;
SOLVE SUB_LR USING RMIP MINIMIZING Z;
Si la soluci
on es negativa, generar un corte de acotamiento
IF(Z.L < -TOL,
X_J(i,j) = X.L(i) ;
DELTAJ(j) = 0 ;
Actualizaci
on del conjunto de cortes de Lagrange
JJ(j) = YES;
Actualizaci
on de la diferencia de multiplicadores
IF(ORD(j)>1,
DIF = SUM(m, MAX(LAMBDA_J(m,j)-LAMBDA_J(m,j-1),
LAMBDA_J(m,j-1)-LAMBDA_J(m,j))) ;
) ;
) ;
Monogr
aco 2 (2004)
140
3.6
Consideremos el problema de transporte con coste jo de la seccion 2 y supongamos que son las restricciones de capacidad lmite las que son relajadas e
introducidas en la funci
on objetivo a traves del lagrangiano. Para un valor ij el
subproblema de Lagrange presenta la forma:
mn ij (cij xij + fij yij ) + ij (xij Mij yij )
xij
x ai
(6.43)
j ij
x
i ij bj
xij 0, yij {0, 1}
que reformulado queda como
mn ij (cij + ij )xij + (fij ij Mij )yij
xij
x ai
j ij
x
i ij bj
xij 0, yij {0, 1}
(6.44)
Esta reformulaci
on permite observar que el subproblema es separable en dos
problemas. Un problema de transporte en el que el coste variable es ligeramente
modicado por el multiplicador y un segundo problema que es entero puro y cuya
soluci
on puede obtenerse de modo inmediato.
Problema de transporte
mn ij (cij + ij )xij
xij
x ai
(6.45)
j ij
x
i ij bj
xij 0
Problema entero puro
mn
yij
ij (fij
ij Mij )yij
yij {0, 1}
(6.46)
Esta formulaci
on de la Relajaci
on Lagrangiana para el problema del transporte
con coste jo puede implantarse en GAMS con el siguiente c
odigo.
OPTION OPTCR = 0
Rect@
Monogr
aco 2 (2004)
S. Cerisola et al.
SETS
J
JJ(j)
I
L
141
PARAMETERS
A(i)
B(l)
ofertas
/ i1 10,
demandas
/ l1 20,
de
i2
de
l2
producto
30, i3 40, i4 20 /
producto
50, l3 30 /
SCALARS
TOL
Z_INF
Z_SUP
DIF
PARAMETERS
X_J(i,l,j)
Y_J(i,l,j)
DELTA(j)
POSITIVE VARIABLES
X(i,l)
flujo por los arcos
LAMBDA(i,l) multiplicador
BINARY VARIABLE
Y(i,l)
decisiones de inversion en los arcos
VARIABLES
Z
Rect@
Monogr
aco 2 (2004)
142
variable dual
* Declaraci
on de las ecuaciones
EQUATIONS
EQ_OBJ
funci
on objetivo problema completo
OFERTA(i)
ofertas de los or
genes
DEMANDA(l)
demanda de los destinos
LIMITE(i,l) l
mite de uso del arco
CORTES_LR(j) cortes de Relajaci
on Lagrangiana ;
EQ_OBJ
.. Z =E= SUM[(i,l), F(i,l)*Y(i,l)] + SUM[(i,l),
C(i,l)*X(i,l)]
+ SUM[ (i,l), LAMBDA.L(i,l)*(X(i,l)-MIN[A(i),B(l)] * Y(i,l))];
OFERTA(i)
DEMANDA(l)
LIMITE(i,l)
MODEL MAESTRO_LR
/ CORTES_LR / ;
MODEL SUB_LR
MODEL COMPLETO
X.UP(i,l) = MIN[A(i),B(l)] ;
* para que los resultados de un problema infactible sean los correctos con CPLEX s
olo
* se puede utilizar el m
etodo simplex y sin preproceso
* inicializaci
on de par
ametros del problema
JJ(j)
X_J(i,l,j)
Rect@
= NO ; DELTA(j)
=
= 0 ; LAMBDA.LO(i,l) =
0 ; Y_J(i,l,j)
= 0 ;
0 ; LAMBDA.UP(i,l) = 10 ;
Monogr
aco 2 (2004)
S. Cerisola et al.
143
DIF = INF;
Resoluci
on del problema maestro de Relajaci
on Lagrangiana
IF(ORD(j) > 1,
SOLVE MAESTRO_LR USING LP MAXIMIZING W;
ELSE
LAMBDA.L(i,l) = 0 ;
) ;
LAMBDA_J(i,l,j) = LAMBDA.L(i,l) ;
*
*
Resoluci
on del subproblema de acotamiento
Normalizaci
on de las cotas no nulas de las variables
X.UP(i,l) = 1 ;
SOLVE SUB_LR USING RMIP MINIMIZING Z ;
Si la soluci
on es negativa, generar un corte de acotamiento
IF(Z.L < 0,
X_J(i,l,j) = X.L(i,l) ;
Y_J(i,l,j) = Y.L(i,l) ;
DELTA(j)
= 0 ;
Actualizaci
on del conjunto de cortes de Lagrange
JJ(j) = YES;
Actualizaci
on de la diferencia de multiplicadores
IF(ORD(j)>1,
DIF = SUM((i,l), MAX(LAMBDA_J(i,l,j)-LAMBDA_J(i,l,j-1),
LAMBDA_J(i,l,j-1)-LAMBDA_J(i,l,j))) ;
) ;
) ;
Rect@
Monogr
aco 2 (2004)
144
Fig. 4: Evoluci
on de cotas en Relajacion Lagrangiana.
Implantaci
on en grandes modelos
Rect@
Monogr
aco 2 (2004)
S. Cerisola et al.
145
Bibliografa
[1] Bazaraa, M.S. On the choice of step sizes in subgradient optimization Journal
of Operational Research. Vol 7, pp 380-388.
[2] Benders, J.F. Partitioning Procedures for Solving Mixed-Variable Programming
Problems Numerische Mathematik. Vol 4, pp 238-252. 1962.
[3] 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.
[4] Brooke, A., Kendrick, D. and Meeraus, A. GAMS A Users Guide. The Scientic
Press. South San Francisco, USA. 1988.
[5] Dantzig, G.B. and Thapa, M.N. Linear Programming, Extensions & Software.
Unpublised Book. September 1991.
[6] Dantzig, G.B. and Wolfe, P. Decomposition Principle for Linear Programs Operations Research. Vol 8, No 1, pp 101-111. January-February 1960.
[7] Ermoliev, Y. and Wets, R.J-B. (eds.) Numerical Techniques for Stochastic Optimization. Springer-Verlag. Berlin, Germany. 1988.
[8] Georion, A.M. Elements of Large-Scale Mathematical Programming Management Science. Vol 16, No 11, pp 652-691. July 1970.
Rect@
Monogr
aco 2 (2004)
146
Rect@
Monogr
aco 2 (2004)