Vous êtes sur la page 1sur 20

Campus Universitario del Puente del Comn, Cha, COLOMBIA

Telfono: (+57 1) 861 5555 - URL:


http://www.citad.unisabana.edu.co

TEORA LINEAL DE PARTICIN Y DE


DESCOMPOSICIN DE BENDERS
DOCUMENTO DE TRABAJO - CITAD-DT-012-2003

Ing. JESS M. VELSQUEZ BERMDEZ


(jesus.velasquez@unisabana.edu.co)

TEORA LINEAL DE PARTICIN Y DE


DESCOMPOSICIN DE BENDERS

Ing. JESS M. VELSQUEZ BERMDEZ


(jesus.velasquez@unisabana.edu.co)
1.

INTRODUCCIN

En trminos generales la solucin de un problema de optimizacin utilizando la teora de


particin de Benders [1] se fundamenta en la particin del problema en dos subproblemas que
se deben resolver coordinadamente. La particin se realiza de acuerdo al tipo de variables: unas
variables se denominan variables de acople (o de control) y las restantes variables dependientes
(o coordinadas). La relacin entre los dos subproblemas es jerrquica, en el nivel superior acta
el subproblema correspondiente a las variables de control como problema coordinador; en el
nivel inferior se resuelve el problema "primario" sobre las variables coordinadas, este problema
esta parametrizado como funcin de las variables de control. El problema "primario" puede ser
sujeto de una nueva particin o de una descomposicin, para generar esquemas de solucin
multinivel. El proceso se puede definir como:
Se determinan las variables de acople, las cuales sern sujetas a optimizacin en el nivel
superior, que se denomina nivel de coordinacin. Las variables de acople son aquellas que
permiten la integracin de los diferentes subproblemas del nivel inferior.
Se determinan los bloques matriciales que conforman el nivel inferior, con el fin de
establecer los subproblemas que se han de resolver en este nivel. Estos problemas son
funcin de las denominadas variables de acople.
Se determina en el nivel superior la estructura del problema coordinador, el cual fija valores
para las variables de acople, que son enviados al nivel inferior con el fin de que se
resuelvan problemas parametrizados con base en estos valores. La informacin proveniente
del nivel inferior se incorpora al problema coordinador por medio de un proceso de
generacin de planos cortantes basados en el valor de las variables duales, precios sombra,
de los subproblemas del nivel inferior.
El proceso iterativo de solucin finaliza cuando la informacin enviada del nivel inferior no
produce cambios en el valor generado por el coordinador para las variables de acople.

PARAMETROS
GENERALES
Modelo
Coordinador

NIVEL DE COORDINACION
Solucin iterativa del modelo coordinador
En cada iteracin se inserta un corte por cada subproblema del nivel inferior. El corte se generan por
razones de optimalidad para las variables de acople, o por razones de factibilidad para los problemas
del nivel inferior.

Se generan valores para las variables de


acople
Clculo del valor de los parmetros como
funcin de las variables de acople. Se
determinan los nuevos vectores de
recursos y de cotas para los diferentes
subproblemas

PARAMETROS
GENERALES
Subproblemas

Con base en el valor de las variables duales se


determinan los cortes que se deben insertar en el
modelo coordinador para realizar una nueva
iteracin
Se calcula el valor de las variables duales para
cada subproblema del nivel de descomposicin

NIVEL DE DESCOMPOSICION
Solucin de los subproblemas desacoplados
Se solucionan los subproblemas del nivel inferior. En este proceso se debe tener en cuenta las
variaciones ocurridas en el vector de recursos y en el vector de cotas debidas a los cambios en los
parmetros que afectan las zonas de factibilidad de los subproblemas

FIGURA 1.1 COORDINACION DE LOS ESQUEMAS DE PARTICIN Y DESCOMPOSICION

Como referencia general se enumeran los casos tpicos en los cuales es posible aplicar
esquemas de particin y de descomposicin para resolver problemas de optimizacin de gran
tamao:
Planificacin de Inversiones: normalmente los problemas orientados a determinar planes
maestros de inversiones tienen una estructura en la cual las variables de coordinacin
estn relacionadas con las variables asociadas a inversiones. Muchas de estas variables
son binarias, y la particin permite manejar dos problemas con caractersticas matemticas
diferentes. El modelo coordinador ser del tipo de programacin binaria-mixta-lineal, o
simplemente de programacin binaria-lineal, en tanto que el(los) subproblema(s) del nivel
de descomposicin ser(n) del tipo de programacin lineal, sobre variables continuas.
Planificacin Multisectorial: cuando se realizan optimizaciones que integran varios
sectores, la estructura matricial asociada permite seleccionar como variables de
coordinacin las transferencias de productos entre sectores, y definir en el nivel de
descomposicin subproblemas asociados a cada uno de los sectores.
Planificacin Multiperodo: cuando se realizan optimizaciones que integran mltiples
perodos de tiempo, la estructura matricial asociada permite seleccionar como variables de
coordinacin las transferencias de productos entre perodos, o sea las variaciones de
inventario en un perodo, y definir en el nivel de descomposicin subproblemas asociados a
cada uno de los perodos. En muchos de estos casos los subproblemas tienen la misma
estructura matricial y se pueden disear algoritmos eficaces para la solucin conjunta de
todos los subproblemas. En este caso, el modelo coordinador presenta una estructura
matricial diagonal en bloque, que permite utilizar un enfoque de programacin dinmica
dual [2] [2A] [3] para una solucin mas eficaz.
Programacin Estocstica: un enfoque para desarrollar procesos de optimizacin que
consideren las posibles realizaciones de las variables aleatorias que afectan a un sistema
puede desarrollarse con base en esquemas de particin y descomposicin. Las variables de
acople estn asociadas a las decisiones que deben tomarse independientemente de las
realizaciones del proceso estocstico que afecta al sistema. Las variables coordinadas
corresponden a la operacin simulada del sistema, que depende de la realizacin del
proceso estocstico. En el nivel de descomposicin existen tantos subproblemas como
posibles realizaciones del proceso aleatorio. En este caso normalmente, todos los
subproblemas tienen la misma estructura matricial, lo que permite disear algoritmos
eficaces para la solucin conjunta de todos los subproblemas.
2

En los casos multiperodo y/o de optimizacin estocstica, las teoras de gran escala resultan
ser eficaces, ya que el aumento del nmero de subperodos del horizonte de planificacin y/o de
las realizaciones sintticas de un proceso estocstico, simplifican el manejo de sistemas de gran
dimensionalidad. Se podra decir que los enfoques de gran escala crecen aritmticamente con
respecto a la complejidad, en tanto que los esquemas agregados crecen exponencialmente. Esto
se traduce en:
menor memoria en un computador, ya que se requiere una cantidad constante
independiente del nmero de perodos y o realizaciones del proceso estocstico; y
en tiempos de respuesta sensiblemente menores
facilitan el paralelismo de la implementacin computacional.
2.

TEORA DE PARTICIN

La Teora de Benders (TB) considera el problema de optimizacin P: compuesto por dos tipos
de variables: las y, correspondientes a las variables de coordinacin, y las x, correspondientes a
las coordinadas.
P: = { Min Z = cTx + f(y) |
F0(y) = b0 ; Ax + F(y) = b ; xR+ ;

y S }

La TB restringe el modelo sobre x a un problema lineal, en tanto que es flexible con respecto a
y. El espacio S de existencia de y puede ser continuo o discreto, lo que permite que las
componentes de y sean variables continuas, enteras y/o binarias. Adicionalmente, las funciones
asociadas a y pueden ser no-lineales.
El problema P: puede partirse en dos subproblemas uno sobre y y otro sobre x. Si se define Q(y)
como el valor ptimo de la funcin objetivo correspondiente al problema sobre x para un valor
dado de y:
Q(y) = {Min cTx | Ax = b - F(y); xR+ }
es posible formular un problema equivalente CY:
CY: = { Min Z = f(y) + Q(y) |
F0(y) = b0 ; yS ;
Q(y) = {Min cTx | Ax = b - F(y) ; xR+ } }
El subproblema SP(y): para evaluar Q(y) es
SP(y): = {Min Q(y) = cTx | Ax = b - F(y) ; xR+ }
y el problema dual de SP(y):
DSP(y): = {Max W(y) = T[b - F(y)] | TA cT }
donde corresponde al vector de variables duales de las restricciones Ax=b-F(y). Con base en
la teora de la dualidad se sabe que la funcin objetivo del problema dual, W(y), es menor o
igual a la funcin objetivo del primal, Q(y), para cualquier valor factible de
3

Q(y) W(y) = T [b - F(y)]


cumplindose la igualdad solo para el valor ptimo *, que es un punto extremo de la zona de
factibilidad dual. Dado que la zona de factibilidad de es independiente de y, la anterior
condicin debe cumplirse para todo y, y CY: puede escribirse como
CY: = { Min Z = f(y) + Q(y) |
F0(y) = b0 ; yS ;
Q(y) T [b - F(y)] ;
TA c }
Si se conocen todos los puntos extremos , es posible obviar la formulacin explcita de las
restricciones TAc, y CY: puede formularse como
CY: = { Min Z = f(y) + Q(y) |
F0 (y) = b0 ; yS ;
Q(y) (k)T [b - F(y)] , kNP }
donde NP representa el conjunto de todos los puntos extremos de la zona de factibilidad dual
TAc. El problema CY: es exactamente igual al problema original P:, la complejidad radica en
que para problemas reales el nmero de puntos extremos NP tiende a infinito y por lo tanto CY:
corresponde a un problema con infinito nmero de restricciones que no se pueden definir
explcitamente. El algoritmo propuesto por Benders define un mtodo eficaz para generar
valores extremos k de forma tal que, con un nmero finito de ellos, se obtenga la solucin a
CY:, y simultneamente se solucione P:.
Benders propone la solucin de P: por medio de un algoritmo que trabaja en dos niveles: en el
nivel superior, nivel de coordinacin, se resuelve el problema coordinador CY: que genera una
secuencia de valores yk. En el nivel inferior, los valores yk se utilizan como parmetros del
subproblema SP(y): para generar una secuencia de puntos extremos factibles k, que son la
base para incluir en CY: un plano cortante que restringe la zona de optimalidad de y.
SP(yk): puede tener tres posibles soluciones: no acotada, factible y ptima, y no factible. En
caso de solucin no acotada en SP(yk): se puede concluir que P: tambin tiene solucin no
acotada. En caso de solucin factible y ptima, SP(yk): proporciona un punto extremo a la zona
de factibilidad dual, TAc, y se genera un corte en la zona de factibilidad de y por razones de
optimalidad, es decir se eliminan valores de y que no pueden ser ptimos. Este corte tiene la
forma
Q(y) (k)T[b-F(y)]
En caso de que no exista solucin factible a SP(yk): se debe generar el anterior corte, ya que, en
un tablero simplex, asociada a una solucin no factible en el primal, existe una solucin factible
en el dual pero no acotada. Adicionalmente, se debe incluir un corte por razones de la relacin
entre la zona de factibilidad de y y la zona de factibilidad de x. De acuerdo con el Lema de
Farkas [2] para garantizar la factibilidad de x en SP(yk) se debe satisfacer
0 vT[b - F(yk)]
4

donde v es un rayo extremo de la regin de factibilidad de . Al no existir factibilidad, la


anterior condicin no se cumple automticamente y por lo tanto se debe incluir explcitamente
en el modelo coordinador CY:. En cada ciclo del modelo coordinador se debe resolver
CY: = { Min Z = f(y) + Q(y) |
F0(y) = b0 ;
Q(y) (k)T[b - F(y)] , k=1,ITE ;
0 (vk)T[b - F(y)] , kITN }
donde ITE representa todas las iteraciones realizadas, e ITN el conjunto de las iteraciones en
que no se ha conseguido la factibilidad. Cuando la formulacin del problema P: garantiza la
factibilidad de SP(y) para cualquier valor de y el segundo tipo de corte se ignora.
La convergencia del mtodo propuesto por Benders se obtiene cuando dos valores consecutivos
yk y yk+1 son iguales, debido a que el ltimo corte no proporciona informacin adicional. Existen
otros mecanismos para detener el proceso, basados en la calidad de la solucin que se tiene. La
funcin Q(yk) estima el costo asociado a x, como consecuencia de tomar la decisin yk. Este
valor acota al valor real cTx(yk), donde x(yk) corresponde a la solucin ptima de SP(yk):
valor estimado = Q(yk) cTx(yk) = valor real
la diferencia entre el valor real y el estimado determina la precisin de la solucin que se tiene
en el ciclo k. Si sta satisface la precisin definida para la convergencia, se tiene una solucin.

CONVERGENCIA DEL ALGORITMO DE BENDERS


CT Xk

Real
Primal

CTX*

Iteraciones
Estimado
Dual

Q(Yk)

3.

TEORA DE DESCOMPOSICION

Cuando un problema tiene una estructura matricial dual-angular es posible el uso de la TB para
su solucin. Se dice que el problema P: tiene estructura dual angular cuando se puede expresar
como:
5

P: = { Min Z = i=1,S ciTXi + f(Y) |


F0(Y) = b0 ;
AiXi + Fi(Y) = bi , i=1,S ;
XiR+ , i=1,S ; YS }
Matricialmente P: tiene la siguiente estructura:
X1

X2

. .

XS

A1

Y
F1

A2

F2
.

.
.

.
.

.
AT

FT
F0

El subndice i esta asociado a un rea de influencia relacionada con sectores industriales, zonas
geogrficas, perodos, y/o realizaciones de un proceso estocstico, Y est asociada al
consumo/produccin de recursos comunes, y/o a la transferencia de recursos entre reas de
accin, y Xi a la operacin dentro del rea de accin del subndice i.
P: puede resolverse utilizando la TB directamente. Y corresponde a las variables de
coordinacin, y Xi a las variables coordinadas. Sin embargo, se puede tomar ventaja de la
estructura de P: con la finalidad de disear un algoritmo mas eficaz que el resultante de aplicar
directamente la TB.
Definamos Q(Y) como el valor ptimo de la funcin objetivo correspondiente al problema sobre
las variables Xi para un valor dado de Y
Q(Y) = {Min i=1,S ciTXi | AiXi = bi - BiY, i=1,S ; XiR+ , i=1,S }
Utilizando directamente la TB el problema coordinador es
CY: = { Min Z = f(Y) + Q(Y) |
F0(Y) = b0 ; YS ;
Q(Y) i=1,S (ik)T[bi - Fi(Y)] , k=1,ITE ;
0 i=1,S (Vik)T[b - F(Y)] , k=1,ITN }
donde i representa las variables duales del i-simo conjunto de restricciones y Vi a los rayos
extremos de las soluciones no factibles. El subproblema asociado integra todas las Xi.
Es posible desacoplar el subproblema primario al formular la funcin Q(Y) como la suma de S
funciones Qi(Y) cada una de ellas correspondiente a un subproblema sobre Xi
Qi(Y) = {Min ciTXi | AiXi = bi - Fi(Y), XiR+ }
cumplindose

Q(Y) = i=1,S Qi(Y)

El problema SPi(Y) para evaluar Qi(Y) se formula como


6

SPi(Y): = {Min Qi(Y) = ciTXi | AiXi = bi - Fi(Y); XiR+ }


y su problema dual
DSPi(Y): = {Max Wi(Y) = iT [bi - Fi(Y)] | iTAiT ciT }
Como en el caso anterior, con base en la teora de la dualidad se sabe que
Qi(Y) iT [bi - Fi(Y)]
cumplindose la igualdad solo para el valor ptimo i*. La zona de factibilidad de i es
independiente de Y y la anterior condicin se debe cumplir para todo Y. El modelo coordinador
CY: se formula como
CY: = { Min Z = f(Y) + Q(Y) |
F0(Y) = b0 ; YS ;
Q(Y) = i=1,S Qi(Y)
k T
Qi(Y) (i ) [bi - Fi(Y)] , i=1,S, k=1,ITE(i) ;
0 (Vik)T[bi - Fi(Y)] , i=1,S, k1,ITN(i) }
donde ITE(i) define el conjunto de las iteraciones realizadas para el subproblema i, e ITN(i) el
de las iteraciones en que no se ha conseguido la factibilidad.
Las ventajas del enfoque de descomposicin son:
la formulacin original no considera la posibilidad de descomposicin asumiendo un
problema integrado para las Xi. Bajo el esquema de descomposicin en el nivel inferior se
resuelve un subproblema por cada elemento asociado al subndice i.
en el esquema original se genera un solo corte por cada iteracin que integra las variables
duales provenientes de todos los subproblemas. En la formulacin propuesta se generan S
cortes, uno por cada SPi(Y): y se acoplan por medio de la ecuacin que define a Q(Y). La
diferencia es que un solo corte acta acotando el mximo de una suma, en tanto que S
cortes actan acotando la suma de los mximos, que es una condicin ms exigente;
al desacoplarse el sistema, la informacin aportada por cada subproblema es independiente
de los dems y no existe una razn que obligue en una iteracin, entre coordinador y
subproblemas, a resolver todos los subproblemas. Esta caracterstica permite implementar
esquemas de solucin que solo resuelvan aquellos subproblemas que aportan "ms
informacin".
TABLA 3.1. ALGORITMO BASICO DE BENDERS
PASO
SUB-

DESCRIPCIN

PASO

1
2

a)
b)
a)
a)

b)

a)

k=1
En el nivel de coordinacin se resuelve el problema coordinador CY, sin considerar las restricciones sobre Wi,
el cual genera Y1 factible a B0 Y b0
En el nivel de descomposicin, se resuelve el conjunto de problemas primarios SPi(Yk) los que generan puntos
Wik factibles a AiT Wi Ci
Se regresa al nivel de coordinacin y se introduce el corte correspondiente a los valores generados para Wik :
Qi(Y) (Wik)T [bi - Bi Y].
Para los SPi(Yk) que no tuvieron solucin factible se introduce el corte correspondiente a los valores generados
para Vik: 0 (Vik)T [bi - Bi Y]
Se resuelve el problema coordinador CY y se genera Yk+1. Si el valor generado Yk+1 es igual a Yk se ha
7

b)

conseguido la solucin ptima -> STOP.


k = k+1, y se regresa al paso 2 y se continua el proceso.

La figura 3.1 presenta un esquema de la interaccin entre niveles.


C O O R D I NAC IO N
Coordinador CY(Wik , Vik | i=1,T ; k=1,ITE)

Yk

W1k

Yk

W2k

V1k

V2k

SP1(Yk )

SP2(Yk )

Yk

Wik

Yk

Vik

. . . SPi(Yk ) . . .
DE SCO M PO SICIO N

WTk
VTk

SPT(Yk )

FIGURA 3.1. ALGORITMO DE PARTICIN Y DESCOMPOSICIN DE BENDERS.

4.

TEORA MULTINIVEL

Existen problemas en los cuales se puede definir jerrquicamente ms de un nivel de


coordinacin. Vale decir, que al interior de un conjunto de variables subordinadas existe una
relacin tal que, unas funcionan como coordinadoras de las dems. Para facilidad de la
presentacin de la teora primero se analizar un caso de tres niveles y posteriormente se
generalizar para S niveles.
En el desarrollo de esta teora, y en el de las siguientes, solo se presentan los procedimientos
relativos a los cortes que se generan para limitar la zona de factibilidad de Y por razones de
optimalidad.
4.1.

CASO DE TRES NIVELES

Consideremos el problema P: el cual puede ser particionado en tres niveles jerrquicos


P: = { Min cTX + eTZ + f(Y) |
F0(Y) = b0 ;
GZZ + FZ(Y) = bZ ;
AX + GZ +F(Y) = b ;
XR+ ; ZR+ ; YS }
donde Y corresponde a las variables de coordinacin general, y Z y X a las variables
coordinadas por Y; a su vez, Z acta como coordinadora de X, una vez se ha definido el valor
de Y. Si se aplica directamente la TB, el modelo coordinador sobre Y es
CY: = { Min Z = Q(Y) + f(Y) |
F0(Y) = b0 ; YS ;
k T
Q(Y) (X ) (b - F(Y)) + (Zk)T(bZ - FZ(Y)) , K=1,ITE }
donde X corresponde al vector de variables duales del conjunto de restricciones AX+GZ=bF(Y), Z al vector de variables duales del conjunto de restricciones GZZ=bZ-FZ(Y), e ITE al
nmero de cortes que se han generado a partir del nivel inferior.
8

Q(Y) esta compuesta por la suma de dos funciones QX(Y) que estima el valor del costo cTX(Y), y
QZ(Y) para el costo de eTZ(Y).
QX(Y) = (X )T(b - F(Y))
QZ(Y) = (Z)T(bZ - FZ(Y))
Consideremos el subproblema coordinado por Y para {X,Z} que aporta valores factibles para X
y Z
SP1(Y) = { Min Q(Y) = cTX + eTZ |
GZZ = bZ FZ(Y) ;
AX + GZ = b - F(Y) ;
XR+ ; ZR+ }
El dual de SP1(Y): es
DSP1(Y) = { Max XT(b - F(Y)) +ZT(bZ - FZ(Y)) |
XTA cT ;
XTG + ZTGX eT }
Dado que Z coordina a X es posible resolver SP1(Y): utilizando nuevamente la TB.
Consideremos el problema coordinador sobre Z condicionado en un valor de Y
CZ(Y): = { Min eTZ + W(Z|Y) |
GZZ = bZ - FZ(Y) ; ZR+ ;
W(Z|Y) = {Min cTX | AX = b - F(Y) - GZ ; XR+} }
La funcin W(Z|Y) corresponde al costo cTX(Z|Y) como funcin de Z cuando se ha definido
previamente Y. El subproblema coordinado para X es
SP2(Z|Y) = { Min W(Z|Y) = cTX | AX = b - F(Y) - GZ ; XR+ }
El modelo coordinador CZ(Y): formulado con base en la TB es
CZ(Y): = { Min eTZ + W(Z|Y) |
GZZ = bZ - FZ(Y) ; ZR+ ;
W(Z|Y) (n)T(b - F(Y) - GZ) , n=1,ITEX }
donde n representa al n-simo vector de variables duales de las restricciones AX=b-F(Y)-GZ
que ha sido generado por SP2(Z|Y):, e ITEX representa el total de cortes.
El modelo coordinador CZ(Y): y el problema coordinado SP1(Y): son equivalentes. Para
efectos de la coordinacin en CY: se debe determinar X y Z a partir de la solucin de CZ(Y):.
Para ello consideremos el problema dual de CZ(Y):
DCZ(Y): = { Max [n=1,ITEX (n) n]T(b - F(Y)) + ZT(bZ - FZ(Y)) |
[n=1,ITEX (n) n]TG + ZTGZ eT ;
n=1,ITEX (n) = 1 ;
(n)R+ , n=1,ITEX }
9

donde (n) es una componente del vector y corresponde a la variable dual del n-simo corte
generado por el subproblema SP2(Z|Y):

T = { (1), (2), ... ,(ITEX-1), (ITEX) }


En notacin vectorial DCZ(Y): se puede expresar como
DCZ(Y): = { Max T(ITEX)T (b - F(Y)) + ZT(bZ - FZ(Y)) |
T(IITEX)TG + ZTGZ eT ;
T 1 = 1 ; R+ }
donde k representa la matriz que agrupa todos los vectores de variables duales que han sido
generados hasta la iteracin k de CZ(Y):.

k = {1, 2, ... , k-1, k }


y 1 corresponde a un vector con todas sus componentes iguales a 1.
Dado que los problemas duales DSP1(Y): y DCZ(Y): son equivalentes, se puede probar que Xk
se calcula con base en una ponderacin de los vectores de variables duales generados por
SP2(Z|Y):, utilizando como factor de ponderacin la variable dual asociada en el coordinador
CZ(Y):

Xk = n=1,ITEX(k) (n) n = T ITEX(k)


donde ITEX(k) define el nmero de cortes que ha generado SP2(Z|Y): en CZ(Y): hasta la
iteracin k de CZ(Y):.
Si se tiene en cuenta la teora de programacin subrogada (Greenberg & Pierskalla [5],
Velsquez [6]) es posible tomar ventaja de esta relacin. En trminos generales, la
programacin subrogada prueba que un conjunto de restricciones puede reemplazarse por una
restriccin equivalente, generada a partir de una combinacin lineal de todas las restricciones,
siempre y cuando los pesos de ponderacin sean colineales con los multiplicadores de Lagrange
de cada una de ellas. Con base en este hecho, los cortes generados por SP2(Z|Y): pueden
reemplazarse por uno equivalente con base en la subrogacin de ellos, donde los pesos de
ponderacin corresponden a las variables duales asociadas a cada corte. Este hecho ocurre
cada vez que el coordinador CZ(Y): encuentra un punto ptimo {X(Y), Z(Y)} y retorna un vector
de variables duales al coordinador CY:.
El corte subrogado sintetiza toda la informacin que hasta ese momento ha sido procesada en
CZ(Y):. De esta manera se evita que el nmero de cortes provenientes del nivel inferior prolifere
a medida que transcurre el proceso de optimizacin, ya que cada vez que se comienza un ciclo
de optimizacin en CZ(Y): todos los cortes generados son reemplazados por el corte subrogado
equivalente que preserva la memoria del sistema.
La definicin de Xk es general para el clculo en cualquier coordinador de las variables duales
de las restricciones que no estn consideradas explcitamente en l y que son manejadas en
niveles jerrquicos inferiores. Las variables duales de estas restricciones corresponden al vector
10

subrogado de variables duales del problema primario. Para el coordinador de mayor nivel
correspondern a las variables duales de la solucin del problema.
4.2.

CASO GENERAL MULTINIVEL

La extensin de la teora multinivel, para casos en los cuales se tienen ms de dos niveles de
coordinacin es directa. Cada coordinador de un nivel inferior, al generar un corte al
coordinador de nivel superior, sintetiza la informacin con base en la generacin del vector
subrogado de variables duales, que ser utilizado por el coordinador de nivel superior para
generar un corte, y reemplaza en el nivel inferior a todos los cortes que hasta ese momento se
han utilizado para generar la solucin ptima parcial. Para el caso de S niveles consideremos el
problema P:
P: = { Min i=1,S ciTXi + f(Y) |
F0(Y) = b0 ;
AiXi + q=1,i-1 Ei,qXq + Fi(Y) = bi , i=1,S ;
XiR+ , i=1,S ; YS }
donde Y corresponde a las variables de coordinacin de primer nivel, nivel 0, y Xi a las
variables de coordinacin del nivel i. XS corresponde al nivel inferior, o nivel primario.
Matricialmente P: tiene una estructura triangular en bloques que se presenta a continuacin.
X1

X2

. . .

XS

A1

Y
F1

E2,1

A2

E3,1

E3,2

F2
A3

ES-1,1

ES-1,2

ES-1,3

. . .
. . .

AS-1

ES,1

ES,2

ES,3

. . .

ES,S-1

.
AT

FT
F0

El modelo coordinador de nivel 0 es


CY: = { Min Z = Q(Y) + f(Y) |
F0(Y) = b0 ; YS ;
Q(Y) i=1,S (i,1k)T(bi - Fi(Y)) , k=1,ITE }
El modelo coordinador asociado a las variables Xi , para i entre 1 y S-1, es
CXi(Y,X1,X2, ... ,Xi-1): = { Min ciTXi + Wi(Xi|Y,X1,X2, ... ,Xi-1) |
AiXi = bi - q=1,i-1 Ei,qXq - Fi(Y) ; XiR+ ;
Wi(Xi|Y,X1,X2,...,Xi-1) q=i+1,S (q,i+1)T(bq - Eq,iXq-1) , k=1,ITEX(i+1) }
donde el q,ik corresponde al vector subrogado de variables duales en el nivel i asociado a las
restricciones del nivel q, y cumple con

q,ik = n=1,ITEX(i,k) i(n) q,i+1n = (ik)T q,ik


donde i(n) es una componente del vector i y corresponde a la variable dual del n-simo corte
generado por el subproblema CXi+1(Y,X1,X2, ... ,Xi):
11

iT = { i(1), i(2), ... , i(ITEX(i+1)-1), i(ITEX(i+1)) }


y la matriz ik agrupa los vectores subrogados de variables duales se han generado en el nivel i
hasta la iteracin k de CXi(Y,X1,X2, ... ,Xi-1):, siendo ITEX(i,k) el total de cortes.

q,ik = {q,i1, q,i2, ... , q,iITEX(i,k)-1, q,iITEX(i,k) }


Las variables duales correspondientes a las restricciones funcionales del nivel i en el
coordinador i se denominaran i,i.
El subproblema primario SPS(Y,X1,X2, ... ,XS-1):
SPS(Y,X1,X2, ... ,XS-1): = { Min cSTXS | ASXS = bS - q=1,S-1 ES,qXq - FS(Y) ; XSR+ }
equivale a un coordinador de nivel i, evaluado para i igual a S, sin incluir los cortes y la
funcin W(). Dada la anterior equivalencia la formulacin del algoritmo se realiza en trminos
de solo problemas coordinadores.
En la forma convencional de implementar la teora multinivel, cada nivel jerrquico retorna al
nivel superior solo cuando se ha obtenido la solucin ptima al problema parametrizado por las
decisiones prefijadas en los niveles superiores, esto implica que en los niveles inferiores se
realizan ciclos enlazados para resolver los diferentes niveles superiores. La sntesis por medio
de los vectores duales subrogados evitan la explosin de cortes a medida que transcurre el
proceso. Se pueden disear formas alternativas de implementacin con la finalidad de acelerar
el proceso de solucin. Estas alternativas no se presentan en este artculo.
En la literatura tcnica este enfoque multinivel tambin se conoce como "Nested Benders" [7]
[8]. Cuando el ndice i est relacionado con el tiempo, el enfoque multinivel corresponde a un
enfoque de programacin dinmica. [2][3].
5.

CONSIDERACIONES COMPUTACIONALES.

La solucin al problema P con base en los esquemas de particin y descomposicin propuestos


puede ser optimizada desde el punto de vista computacional si se establece un mecanismo
coordinado de solucin de los subproblemas en el nivel de descomposicin y si estudia la
dinmica del problema coordinador.
5.1

ALGORITMOS DE PROGRAMACION LINEAL

Definamos el problema estndar de programacin lineal (PL) como:


PL: = { Min z =cTX | AX = b ; 0XU }
Consideremos dos algoritmos bsicos para la solucin de PL:
PSRA(c, A, b, U, X): Primal-Simplex-Revisado-Acotado: el cual resuelve PL: a partir de un
punto X el cual cumple con ser una solucin bsica factible a PL:

12

DSRA(c, A, b, U, X): Dual-Simplex-Revisado-Acotado: el cual resuelve PL: a partir de un


punto X el cual es una solucin bsica que cumple con las condiciones de optimalidad de
PL:, y por lo tanto =CBB-1 es una solucin bsica factible al dual de PL:
5.2

SOLUCIN DE LOS SUB-PROBLEMAS SP i(Yk)

Se analizaran dos casos:


Cuando las matrices Ai son independientes de i, es decir Ai = A.
Cuando las matrices Ai son diferentes para cada i.
5.2.1 CASO Ai = A.
Normalmente este caso esta relacionado como sub-problemas asociados a modelos multiperodo
y/o de optimizacin estocstica.
Consideremos el sub-problema SPi(Yk):
SPi(Yk): = {Min Qi(Yk) = ciTXi | AiXi = bi - BiYk ; 0 Xi Ui }
La solucin al anterior problema puede obtenerse utilizando el algoritmo PSRA(ci, A, b*i(Yk),
Ui ,X) donde X es un punto factible al conjunto de restricciones A Xi = b*i(Yk). Definamos X*ik
como la solucin ptima a SPi(Yk) y analicemos el proceso a seguir para obtener X*i+1k,
solucin ptima a SPi+1(Yk), a partir de X*ik.
Dado el tipo de estructura del problema tenemos que una solucin bsica a SPi(Yk) lo es
tambin a SPi+1(Yk). Las caractersticas de Xik se deben analizar desde dos punto de vista:
factibilidad y optimalidad:
Factibilidad: No se puede afirmar que Xik sea factible a SPi+1(Yk) si se tiene en cuenta que el
vector de recursos es diferente en ambos sub-problemas.
Optimalidad: No se puede afirmar que Xik cumpla con las condiciones de optimalidad ya
que la funcin de costos es diferente en ambos sub-problemas.
Consideremos un proceso de dos pasos para obtener X*i+1k a partir de X*ik:
1)

Se recobra la factibilidad utilizando el algoritmo dual-simplex, DSRA, a partir de X*ik,


obteniendo un punto Xfi+1k, el cual es factible a SPi+1(Yk) mas no ptimo. Esto se puede
conseguir definiendo:
Xfi+1k = DSRA[ci, A, b*i+1(Yk), U, X*ik]

2)

Obtenemos X*i+1k utilizando el Primal-simplex, PSRA, a partir de Xfi+1k, esto es:


X*i+1k = PSRA[ci+1, A, b*i+1(Yk), U, Xfi+1k]

Para la solucin secuencial de los problemas SPi(Yk) se utiliza siempre el mismo tablero
solucin ya que la matriz A es comn a todos. Los vectores Xi tienen la misma dimensin y
contienen estructuralmente la misma informacin para cada uno de los sub-sistemas.
5.2.2.CASO Ai Aj
Normalmente este caso esta relacionado con sub-problemas asociados a los diferentes sectores
13

de un sistema.
En este caso dentro de una misma iteracin en el nivel de descomposicin no se puede tomar
ventaja de la solucin obtenida SPi(Yk) al solucionar SPj(Yk), para i j. Sin embargo, es posible
utilizar la ultima solucin de una etapa k como punto de partida para la reoptimizacin en la
etapa k+1. La solucin X*ik tiene las siguientes caractersticas:
Factibilidad: No se puede afirmar que Xik sea factible a SPi(Yk+1) si se tiene en cuenta que el
vector de recursos es diferente en ambos sub-problemas.
Optimalidad: Se puede afirmar que Xik cumple con las condiciones de optimalidad ya que la
funcin de costos es igual en ambos sub-problemas.
En este caso es posible conseguir la factibilidad utilizando el algoritmo dual-simplex,
pudindose determinar X*ik+1 a partir de X*ik:
X*ik+1 = DSRA[ci, A, b*i(Yk+1), Ui, X*ik]
5.3. SOLUCIN AL PROBLEMA COORDINADOR.
Se consideran dos casos para el modelo coordinador: el primero cuando este es del tipo de
programacin lineal; y el segundo cuando es del tipo de programacin mixta o binaria.
5.3.1.CASO 1. MODELO COORDINADOR DE PROGRAMACIN LINEAL.
En este caso todas las variables YR+. Consideremos la solucin a un problema coordinador
lineal CY con base en la generacin de planos cortantes por cada iteracin del proceso
algortmico general. CY puede escribirse como:
CY: = { Min Z = f(Y) + Q(Y) |
B0 Y b0; YS ;
Q - i=1,T Qi 0
k T
Qi + [(i ) Bi] Y (ik)T bi , i=1,T, k=1,ITE(i) ;
[(Vik)T Bi] Y (Vik)T bi , i=1,T, k1,ITN(i) }
Matricialmente el problema CY tiene la siguiente estructura:

14

Unin de
Mximos
Funcionales
de Y
Iteracin
No. 1
Iteracin
No. 2
.
.
.
Iteracin
No. ITE
Funcin
Objetivo

Qi

-1

B0

b0

0
0
0
0
.
.
.
0
0

1
0
1
0
.
.
.
1
0

(i ) Bi
(Vi1)T Bi
(i2)T Bi
(Vi2)T Bi
.
.
.
(iITE)T Bi
(ViITE)T Bi

.
.
.

(i ) bi
(Vik)T bi
(ik)T bi
(Vik)T bi
.
.
.
(iITE)T bi
(ViITE)T bi

cT

1 T

k T

El problema coordinador puede ser resuelto directamente en su forma primal, o


alternativamente en su forma dual. Si se considera la solucin al primal tendramos que en cada
iteracin del algoritmo se incorporaran restricciones, lo que implica que la dimensin de la
solucin bsica cambia de tamao en cada iteracin. Si alternativamente se soluciona el dual
este crecera en variables, y no en restricciones, mantenindose la dimensin de la solucin
bsica constante. Bajo la anterior consideracin es ms apropiado trabajar el modelo
coordinador en su versin dual. Consideremos el problema dual DCY: de CY:
0 1 + b0T 2 + kITE(i) [(ik)T bi ]T 3k + kITN(i) [(Vik)T bi ]T 4k |
1 1 + 0 2 + kITE(i) 0 3k + kITN(i) 0 4k = 1;
-1 1 + 0 2 - kITE(i) 1 3k + kITN(i) 0 4k = 0 ;
0 1 + B0T 2 + kITE(i) [(ik)T Bi ]T 3k + kITN(i) [(Vik)T Bi ]T 4k c }

DCY: = { Min

Las caractersticas bsicas de este problema son:


La dimensin de 1 es 1, la de 2 la misma de b0, y la de 3k y 4k es T.
Las variables 3k y 4k estn asociadas a las iteraciones del algoritmo de Benders y se
generan a medida que transcurren iteraciones. Las variables 3 existirn para todas las
iteraciones y las variables 4 existirn para aquellos casos en que no se encontr solucin
factible al sub-problema correspondiente.
Matricialmente el problema DCY puede verse como:

Q
Qi
Y

31

41

32

42

1
-1
0

0
0
B0T

0
1
BiT Wi1

0
0
BiT Vi1

0
1
BiT Wi2

0
0
BiT Vi2

B0T

biT Wi1

biT Vi1

biT Wi2

biT Vi2

3ITE

4ITE

...
...
...

0
1
BiT WiITE

0
0
BiT ViITE

...

biT WiITE

biT ViITE

1
0
c

En la solucin del problema DCY se deben tener en cuenta las siguientes caractersticas:
El hecho de generar variables, envs de restricciones, hace que el esquema de trabajo sea
del tipo de generacin columnas.
En una iteracin dada para cada subsistema i se genera una variable del tipo 3, y si la
solucin fue no factible, adicionalmente, se genera una variable del tipo 4.
15

En una iteracin dada si la solucin actual no es la ptima entrar a la base una de las
nuevas variables. Esta variable puede substituir en el tablero a la variable que sale de la
base, ya que esta no podra volver a entrar a la base en ninguna iteracin posterior.
Teniendo en cuenta este aspecto se tiene que el numero de variables consideradas permanece
constante, ya que las nuevas variables reemplazan a las viejas que no estarn en la solucin
ptima.

En cada reoptimizacin se debe utilizar el algoritmo primal-simplex dado que la anterior


solucin k es factible, pero puede no ser ptima, en caso de que al considerar las nuevas
variables se contine en la optimalidad se habr encontrado la solucin al problema P. El
algoritmo propuesto para la solucin del problema P, para el caso de Ai = A, se presenta en la
Tabla 5.1.
TABLA 5.1 ALGORITMO PARA LA SOLUCION DEL PROBLEMA P. CASO Ai = A.
PASO
SUBPASO

DESCRIPCION
DETERMINACION DE CONDICIONES INICIALES

a)

Se obtiene una solucin bsica factible para los sub-problemas SPi (Y). Esto se realiza introduciendo variables de
holgura y artificiales a la estructura de los sub-problemas SPi (Y) y utilizando el primal-simplex PSRA para
conseguir la factibilidad (Fase I del mtodo de las dos fases).
X* = PSRA(cA, A, b1, XA)
Donde CA corresponde al vector de costos para la Fase I y XA una solucin bsica factible al problema incluyendo
variables artificiales. Posteriormente a este paso se eliminan las variables artificiales del problema.

b)

Se obtiene una solucin bsica factible para el problema dual del coordinador CY. Esto se realiza introduciendo
variables de holgura y artificiales a la estructura del dual DCY y utilizando el primal-simplex PSRA para conseguir
la factibilidad.

0 = PSRA(cA, A0, b, A)
Donde CA corresponde al vector de costos para la Fase I y A una solucin bsica factible al problema
incluyendo variables artificiales. Posteriormente a este paso se eliminan las variables artificiales del problema. La
matriz A0 corresponde a la matriz del problema coordinador con las columnas correspondientes a 3 y 4
iguales a cero y b corresponde al vector de recursos del dual del coordinador el cual es constante.
k=1
Se calcula Yk como

Yk = CB B-1
donde CB corresponde al vector de costos bsico del problema dual del coordinador y B-1 a la inversa de la
base
SEGUNDO NIVEL: DESCOMPOSICION
2

a)
b)

I=1
Realizar para todos los sub-problemas: Si i > T ir al paso 3

c)

Recobrar la factibilidad:

d)

Conseguir la optimalidad:

Xf = DSRA( Ci, A, b*i(Yk), X* )

X* = PSRA( Ci+1, A, b*i(Yk), Xf )


X*ik = X*
Wik =cB B-1
Vik =
e)
3

a)

b)
c)

I = i + 1, e ir al paso 2 b)
PRIMER NIVEL: COORDINACION
Se regresa al primer nivel y se introduce la restriccin correspondiente a los valores generados para Wik y Vik . Calculo de los vectores y matrices correspondientes a la etapa k:
Ck y Ak.
k = PSRA*(Ck, Ak, b, k-1)
k+1
Se calcula Y como
Yk+1 = CB B-1
Si el valor generado para Yk es igual a Yk-1 se ha conseguido la solucin ptima -> STOP.
k=k+1. Se regresa al paso 2 y se continua el proceso.

16

Para el caso de Ai Aj el algoritmo detallado difiere del caso anterior en el manejo del nivel de
descomposicin, la Tabla 5.2 presenta este nivel para este caso.
TABLA 5.2 NIVEL DE DESCOMPOSICION.
ALGORITMO PARA LA SOLUCION DEL PROBLEMA P. CASO Ai Aj
PASO

SUBPASO

DESCRIPCION

SEGUNDO NIVEL: DESCOMPOSICION


2

a)

i=1

b)

Realizar para todos los sub-problemas:


Si i > T ir al paso 3

c)

Recobrar la factibilidad:
Xf = DSRA(Ci, Ai, b*i(Yk), X*)

d)

Conseguir la optimalidad:
X* = PSRA(Ci, Ai, b*i(Yk), Xf)
X*ik = X*
Wik = cB B-1
Vik =

e)

i=i+1
ir al paso 2 b)

5.2.2 CASO 2. MODELO COORDINADOR DE PROGRAMACION LINEAL BINARIA


MIXTA.
En este caso todas las algunas de las variables pertenecen a R+ y las restantes toman valores
binarios: 0 o 1. Consideremos la solucin al problema coordinador CY con base en la
generacin de planos cortantes por cada iteracin del algoritmo. En este caso las ventajas del
caso anterior para trabajar en la zona dual se pierden por la estructura no-lineal del problema,
debida a las variables binarias y por lo tanto debe resolverse en su forma primal.
Consideremos la solucin utilizando algoritmos genricos de programacin entera del tipo de
Branch and Bound. Una implementacin efectiva de la teora de particin y descomposicin
implica modificar la lgica del algoritmo para incluir (embeber) los subproblemas del nivel de
descomposicin dentro del modelo coordinador. La modificacin fundamental esta relacionada
con el hecho de que despus de enumerar una posible solucin inmediatamente se va al nivel de
descomposicin, sin esperar la convergencia del modelo coordinador.
En el diseo del algoritmo integral es de fundamental importancia la coordinacin de las
reoptimizaciones, ya que cada vez que se regresa del nivel de descomposicin y se incluye los
cortes generados la solucin actualmente enumerada es no factible. Si no se tiene control
directo del proceso de enumeracin es posible que se deba recomenzar la optimizacin del
coordinador en cada iteracin lo que se traduce en la prdida de efectividad del algoritmo
integrado.
Se sugiere que se implemente una solucin utilizando una versin modificada del algoritmo de
17

Enumeracin Implcita de Balas [9], el cual produce un alto rendimiento cuando es mejorado
por medio de artificios matemticos como son los cortes duales subrogados [10] y la teora de
Pivot & Complement [11]. La modificacin fundamental radica en que se debe embeber la
teora de particin y de descomposicin dentro del algoritmo.
El modelo coordinador tiene una estructura igual a la del caso anterior, o sea:
CY: = { Min Z = f(Y) + Q(Y) |
B0 Y b0; Y{0,1} ;
Q - i=1,T Qi 0
k T
Qi + [(i ) Bi] Y (ik)T bi , i=1,T, k=1,ITE(i) ;
[(Vik)T Bi] Y (Vik)T bi , i=1,T, k1,ITN(i) }
Matricialmente el problema CY tiene la estructura presentada en el caso del modelo
coordinador de programacin lineal.
El algoritmo detallado para este caso difiere en los aspectos relativos al nivel de coordinacin,
afectando directamente el paso 1.b) de la determinacin de las condiciones iniciales y el manejo
del primer nivel de coordinacin. La Tabla 4.3 presenta las diferencias con el caso del modelo
coordinador de programacin lineal. El manejo del nivel de descomposicin se realiza como en
el caso del coordinador de programacin lineal.
TABLA 5.3 ALGORITMO PARA LA SOLUCIN DEL PROBLEMA P. COORDINADOR BINARIO
PAS
O

SUBPASO

DESCRIPCION
DETERMINACION DE CONDICIONES INICIALES

b)

k=1
Y1 = 0
PRIMER NIVEL: COORDINACION

c)

Se regresa al primer nivel y se introduce la restriccin correspondiente a los valores generados para Wik y
Vik . - Calculo de los vectores y matrices correspondientes a la etapa k:
Si Yk es factible a los cortes introducidos se ha conseguido la solucin ptima
--> STOP.
Se realiza el proceso del algoritmo hasta enumerar una nueva solucin factible Yk+1

d)

k=k+1. Se regresa al paso 2 y se continua el proceso.

a)
b)

REFERENCIAS
[1]

Benders, J.F. "Partitioning procedures for solving mixed variables programming


problems". Numer. Math 4, 238-252 (1962).

[2]

Velsquez, J., "GDDP: Generalized Dual Dynamic Programming". Submited to Annals


of Operations Research (november 2000)

[2A] J. M. Velsquez, P.J. Restrepo, and R. Campo. Dual Dynamic Programming: A


note on Implementation. Water Resources Research Vol 35. No. 7 (July 1999).
[3]

Pereira, M.V.F.. "Stochastic Operation Scheduling of Large Hydroelectric Systems".


Electric Power & Energy Systems, Vol 11(3-1989)

[4]

Tucker, A.W. Dual Systems of Homogeneus Linear Relations. Linear Inequalities and
Related Systems (Annals of Mathematics Studies 38), Princeton University Press,
18

Princenton N.J., (1956) 238-252.


[5]

Greenberg & Pierskalla. "Subrogate Programming". ORSA.

[6]

Velsquez, J., "P.D.S. Subrogate Primal-Dual Algorithm". Documento de Trabajo.


Postgrado en Aprovechamiento de Recursos Hidrulicos, Facultad de Minas, Universidad
Nacional, Medelln, COLOMBIA (1994).

[7]

A. Ruszczynski. Parallel decomposition of multistage stochastic programming problems.


Mathematical Programming 58 (1993) 201-228.

[8]

J. R. Birge, et al. A parallel implementation of the nested decomposition algorithm for


multistage linear programs. Mathematical Programming 75 (1996) 327-352.

[11] Balas, E. "An Additive Algorithm For Solving Linear Programs With Zero-one
Variables". ORSA Vol 13(1965- pp517-546)
[10] Parker, R. G. and Rardin. R. L.. "Discrete Optimization". Academic Press. (1988).
[12]

19

Vous aimerez peut-être aussi