25
Campus Universitario del Puente del Común, Chía, COLOMBIA Teléfono: (+57 1) 861 5555 - URL: http://www.citad.unisabana.edu.co TEORÍA LINEAL DE PARTICIÓN Y DE DESCOMPOSICIÓN TEORÍA LINEAL DE PARTICIÓN Y DE DESCOMPOSICIÓN DE BENDERS DE BENDERS DOCUMENTO DE TRABAJO - CITAD-DT-012-2003

CITAD DT 012 03 Teorma de Benders

Embed Size (px)

DESCRIPTION

Teorma de Benders

Citation preview

TEORA LINEAL GENERALIZADA DE PARTICIN Y DESCOMPOSICIN DE BENDERS

Campus Universitario del Puente del Comn, Cha, COLOMBIA

Telfono: (+57 1) 861 5555 - URL: http://www.citad.unisabana.edu.coTEORA LINEAL DE PARTICIN Y DE DESCOMPOSICIN DE BENDERSDOCUMENTO DE TRABAJO - CITAD-DT-012-2003Ing. JESS M. VELSQUEZ BERMDEZ

([email protected])TEORA LINEAL DE PARTICIN Y DE DESCOMPOSICIN DE BENDERSIng. JESS M. VELSQUEZ BERMDEZ

([email protected])

1.INTRODUCCINEn 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 GENERALESModelo CoordinadorNIVEL DE COORDINACIONSolucin 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 subproblemasCon 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

PARAMETROS GENERALESSubproblemasNIVEL DE DESCOMPOSICIONSolucin 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 DESCOMPOSICIONComo 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.

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+ ; yS }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

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)]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 realla 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.

3.TEORA DE DESCOMPOSICIONCuando 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:

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:

X1X2.. . ..XSY

A1F1

A2F2

..

. . ..

..

ATFT

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

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)

Qi(Y) (ik)T[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-pasoDESCRIPCIN

1a)k = 1

b)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

2a)En el nivel de descomposicin, se resuelve el conjunto de problemas primarios SPi(Yk) los que generan puntos Wik factibles a AiT Wi Ci

3a)

b)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]

4a)Se resuelve el problema coordinador CY y se genera Yk+1. Si el valor generado Yk+1 es igual a Yk se ha conseguido la solucin ptima -> STOP.

b)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 N A C I O N

Coordinador CY(Wik , Vik | i=1,T ; k=1,ITE)

YkW1kV1kYkW2kV2kYkWikVikYkWTkVTk

SP1(Yk )SP2(Yk ). . . SPi(Yk ) . . .SPT(Yk )

D E S C O M P O S I C I O N

FIGURA 3.1. ALGORITMO DE PARTICIN Y DESCOMPOSICIN DE BENDERS.

4.TEORA MULTINIVELExisten 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 NIVELESConsideremos 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 ;

Q(Y) (Xk)T(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=b-F(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.

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 }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 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 MULTINIVELLa 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.

X1X2.. . ..XSY

A1F1

E2,1A2F2

E3,1 E3,2A3.

... . ..

ES-1,1ES-1,2ES-1,3. . .AS-1.

ES,1ES,2ES,3. . .ES,S-1ATFT

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,ikdonde 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):

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.1ALGORITMOS DE PROGRAMACION LINEALDefinamos el problema estndar de programacin lineal (PL) como:

PL: = { Min z =cTX | AX = b ; 0(X(U }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: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.2SOLUCIN DE LOS SUB-PROBLEMAS SPi(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.1CASO 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 AjNormalmente este caso esta relacionado con sub-problemas asociados a los diferentes sectores 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

Qi + [(ik)T 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:

QQiY

Unin de

Mximos1-100

Funcionales

de Y00B0b0

Iteracin

No. 101(i1)T Bi(ik)T bi

00(Vi1)T Bi(Vik)T bi

Iteracin

No. 201(i2)T Bi(ik)T bi

00(Vi2)T Bi(Vik)T bi

.

.

..

.

..

.

..

.

..

.

..

.

.

Iteracin

No. ITE01(iITE)T Bi(iITE)T bi

00(ViITE)T Bi(ViITE)T bi

Funcin

Objetivo10cT

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:

DCY: = { Min 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 }

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:

12314132423ITE4ITE

Q100000 . . .001

Qi-101010 . . .100

Y0B0TBiT Wi1BiT Vi1BiT Wi2BiT Vi2 . . .BiT WiITEBiT ViITEc

0B0TbiT Wi1biT Vi1biT Wi2biT Vi2 . . .biT WiITEbiT ViITE

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.

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

SUB-PASODESCRIPCION

DETERMINACION DE CONDICIONES INICIALES

1a)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-1donde CB corresponde al vector de costos bsico del problema dual del coordinador y B-1 a la inversa de la base

SEGUNDO NIVEL: DESCOMPOSICION

2a)I = 1

b)Realizar para todos los sub-problemas: Si i > T ir al paso 3

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

d)Conseguir la optimalidad:

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

X*ik = X*

Wik =cB B-1

Vik =

e)I = i + 1, e ir al paso 2 b)

PRIMER NIVEL: COORDINACION

3a)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)Se calcula Yk+1 comoYk+1 = CB B-1

b)

c)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.

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

PASOSUB-PASODESCRIPCION

SEGUNDO NIVEL: DESCOMPOSICION

2a)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.2CASO 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 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

Qi + [(ik)T 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

PasoSub-PasoDESCRIPCION

DETERMINACION DE CONDICIONES INICIALES

1b)k = 1

Y1 = 0

PRIMER NIVEL: COORDINACION

3a)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:

b)

c)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.

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, 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]

20

_1108258234.doc

_1108258233.ppt

CONVERGENCIA DEL ALGORITMO DE BENDERS

Iteraciones

k

CT Xk

Q(Yk)

CTX*

RealPrimal

EstimadoDual