Académique Documents
Professionnel Documents
Culture Documents
INTRODUCCIN
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.
PARAMETROS
GENERALES
Subproblemas
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
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
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
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
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)
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 )
4.
TEORA MULTINIVEL
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):
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.
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
CONSIDERACIONES COMPUTACIONALES.
12
2)
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
DCY: = { Min
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.
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:
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
a)
i=1
b)
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)
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)
a)
b)
REFERENCIAS
[1]
[2]
[4]
Tucker, A.W. Dual Systems of Homogeneus Linear Relations. Linear Inequalities and
Related Systems (Annals of Mathematics Studies 38), Princeton University Press,
18
[6]
[7]
[8]
[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