Documente Academic
Documente Profesional
Documente Cultură
X Z
I A
A
T
0
0
0 0
z
y
x
=
c
d
p
r
r
r
(3)
em que:
r
p
= b Ax, r
d
= c A
t
y z, r
c
= e XZe,
e denominadas de folga primal, folga dual e folga
de complementaridade, respectivamente.
Se eliminamos z da terceira equao do
sistema (3), temos o seguinte sistema, denomina-
do de sistema aumentado ou indenido:
0
1
A
A Z X
T
y
x
=
p
c d
r
r X r
1
, (4.1)
z = r
d
- A
T
y, (4.2)
e se realizamos mais uma substituio, eliminan-
do x, temos o seguinte sistema denominado de
sistema normal:
(AZ
-1
XA
T
) y = r
p
+ A( Z
-1
X r
d
+ x Z
-1
e ), (5.1)
z = r
d
A
T
y, (5.2)
x = Z
-1
( r
c
-X z ). (5.3)
Comparando o sistema de equaes nor-
mais (5.1) e o sistema indenido (4.1), pode-se
observar que a matriz para o sistema normal
simtrica e denida positiva, de menor porte e
talvez mais densa. A matriz do sistema aumen-
tado (4.1) simtrica indenida e usualmente
mais esparsa.
Na estratgia preditor corretor de Mehro-
tra (1992), o primeiro passo, determinar uma
direo am de escalonamento (passo preditor).
Esta direo resolve um sistema de equaes line-
ares de Newton (3) para = 0, isto , r
c
= -XZe,
e denominar essa direo por (x
a
, y
a
, z
a
). A
seguir no seguinte passo, novamente resolve-se o
sistema de Newton (3), agora sendo o lado direito
r
p
= 0, r
d
= 0 e r
c
= e - X
a
Z
a
e, (passo corre-
tor). Aqui, o parmetro de barreira de centra-
lizao, e X
a
= diag(x
a
), Z
a
= diag(z
a
).
Pode-se observar que a caracterstica do m-
todo preditor- corretor resolver dois sistemas li-
neares de equaes, sendo a matriz de coecientes
a mesma para os passos preditor e corretor, mas
com diferentes vetores no lado direito e pode-se
aproveitar desta caracterstica para usar a decom-
posio da matriz de coecientes.
A seguir, apresentamos o mtodo de pon-
tos interiores preditor corretor, ver Mehrotra
(1992), Wright (1997), ou variaes desse mto-
do, por exemplo consultar os trabalhos de Tits et
al. (2005), Salahi e Terlaky (2007), (2008) e Sa-
lahi, et al. (2007) dentre outros.
Dados. x R
n
, x > 0, y R
m
, z R
n
, z > 0, =
x
T
z/n.
Parmetro. (0, 1).
Passo 1. Determinar a direo am de escalona-
mento, isto , resolver:
X Z
I A
A
T
0
0
0 0
a
a
a
z
y
x
=
XZe
z y A c
Ax b
T
,
para determinar (x
a
, y
a
, z
a
) e calcular
t
a
p
= arg max {t [0, 1] / x + t x
a
0},
t
a
d
= arg max{ t [0, 1] / z + t z
a
0}.
Passo 2. Determinar o parmetro de centro
= (
a
/ )
3
,
onde
a
= (x + t
a
p
x
a
)
T
(z + t
a
d
z
a
)/n .
112 ENGEVISTA, V. 11, n. 2. p. 109-116, dezembro 2009
Passo 3. Determinar a direo corretor de centro,
isto , resolver:
X Z
I A
A
T
0
0
0 0
c
c
c
z
y
x
=
e Z X e
a a
0
0
,
para determinar (x
c
, y
c
, z
c
).
Passo 4. Formar a direo de busca total
(x
m
, y
m
, z
m
) = (x
a
, y
a
, z
a
) + (x
c
, y
c
, z
c
),
e calcular
t
p
max
= arg max { t [0, 1] / x + t x
m
0 },
t
d
max
= arg max { t [0, 1] / z + t z
m
0 }.
Passo 5. Atualizao das variveis: Calcular
t
m
p
= min { t
p
max
, 1 },
t
m
d
= min { t
d
max
,
1 },
e calcular:
(x
+
, y
+
, z
+
) = (x, y, z) + ( t
m
p
x
m
, t
m
d
y
m
, t
m
d
z
m
),
e determinar
= ( x
+
)
T
( z
+
)/n.
Pode-se notar que a principal caracterstica
deste mtodo preditor corretor que a mesma
matriz de coeciente usada para os passos pre-
ditor e corretor. Isto nos leva signicativamente a
um menor esforo computacionalmente, portan-
to apropriado para resolver problema de grande
porte. Por outro lado, o passo corretor desse m-
todo usa alguma informao encontrada no passo
preditor, isto , de
a
e x
a
z
a
. Devido a seu
superior desempenho computacional comparado
com outros mtodos de ponto interiores, este m-
todo primal dual preditor corretor aplicado
em outros problemas de otimizao , por exemplo
no problema linear estocstico apresentado nos
trabalhos de Berkelaar et al. (2002) e Sun e Liu
(2006) quando tais problemas lineares so for-
mulados atravs de cenrios, que dependendo do
nmero de cenrios, o correspondente problema
linear transforma-se em um problema de grande
porte.
No passo 1 do mtodo preditor corretor
apresentado acima, o sistema de equaes lineares
expresso em um sistema normal descrito ante-
riormente. Neste caso, resolve-se o seguinte siste-
ma de equaes:
(AZ
-1
XA
T
) y
a
= r
p
+ A[ Z
-1
X r
d
+ x ] (6.1)
z
a
= r
d
- A
T
y (6.2)
x
a
= -x Z
-1
X z (6.3)
Agora no passo 3, o correspondente siste-
ma normal dado por:
(AZ
-1
XA
T
) y
c
= AZ
-1
[ -e + X
a
Z
a
e ] (7.1)
z
c
= -A
T
y
c
(7.2)
x
c
= Z
-1
[e - X
a
Z
a
e ] - Z
-1
X z
c
. (7.3)
Uma decomposio da matriz simtrica de-
nida positiva (AZ
-1
XA
T
) o mtodo tradicional
de Cholesky, sugere-se consultar o livro de No-
cedal e Wright (1996) e o trabalho de Mszros
(2005). A decomposio de Cholesky dada tal
que:
(AZ
-1
XA
T
) = R
T
R,
em que R uma matriz triangular superior com
elementos positivos na diagonal
Existem tambm outros mtodos de de-
composio, digamos o mtodo AINV de Benzi
et al. (2000) mas que nesse caso a decomposio
da inversa da matriz (AZ
-1
XA
T
), isto :
(AZ
-1
XA
T
)
-1
LP
-1
L
T
,
onde L uma matriz triangular superior com
elementos na diagonal igual a 1s, e P uma
matriz diagonal.
Nos casos mencionados anteriormente,
usando o mtodo AINV ou de Cholesky, a solu-
o do sistema normal determinada atravs da
soluo de dois sistemas triangulares facilmente
calculadas. Por exemplo, se usamos o mtodo
de Cholesky, temos que resolver o seguinte sis-
tema:
113 ENGEVISTA, V. 11, n. 2. p. 109-116, dezembro 2009
R
T
R y = ,
para qualquer vetor , seja dado pelo lado direito
de (6.1) ou de (7.1).
A soluo de y determinada em duas eta-
pas usando o seguinte esquema:
i) resolver R
T
g = , para determinar g.
ii) resolver R y = g, para determinar y.
A soluo de cada sistema linear de i) ou ii)
facilmente determinada devido ao fato de que
so sistemas triangulares. Para maiores detalhes da
soluo deste tipo especial de sistema triangular,
consultar o livro de Nocedal e Wright (1996).
3. O PROBLEMA DE FLUXO EM REDE
E EXPERINCIA NUMRICA
Para ilustrar a ecincia do mtodo de pon-
tos interiores preditor - corretor, consideremos o
problema linear de uxo em rede para um nico
produto. Este problema denido por um grafo
direcionado G = (N,A) onde N o conjunto de
ns com N= n e A o conjunto de arcos com
A= m. Para cada n i N, um escalar s
i
as-
sociado, onde s
i
a oferta/procura no n i, depen-
dendo se seu valor maior/menor que zero.
A varivel x
ij
representa o nmero de unida-
des de uxo transportado atravs do arco (i,j), (i,j)
A, isto , o uxo do n i ao n j, e c
ij
o custo
de transporte associado a cada arco (i,j).
O problema de programao linear geral de
uxo em rede dado por:
minimizar
c
ij
x
j
(8.1)
(i,j) A
sujeito a:
} ) , ( : { A j i j
ij
x -
} ) , ( : { A i j j
ji
x = s
i
, i N, (8.2)
x
ij
0, (i,j) A. (8.3)
A funo objetiva (8.1) uma funo line-
ar associada a cada arco. A equao (8.2) de-
nominada de restrio de conservao de uxo
de rede, que pelo nmero de ns e arcos pode-se
transformar em um problema de grande porte. As
restries de conservao de uxo so agrupadas
na matriz A que devido a sua estrutura esparsa.
A restrio (8.3) a condio de no negatividade
de uxo. O problema linear (8) pode ser expresso,
em forma compacta, no formato de programao
linear padro (P).
Dentro desse problema geral de uxo em
rede, podemos considerar o problema de distri-
buio de um produto transportado de diferen-
tes centros de produo a diferentes centros de
armazenamento a um custo associado de trans-
porte, tal vez dependendo da distancia entre des-
ses centros de produo e armazenamento. Esse
produto depois transportado dos centros de
armazenamentos aos centros de distribuio ou
consumo, tambm a um custo associado. Neste
problema de distribuio, deseja-se determinar
quantas unidades devem ser transportadas dos
centros de produo aos centros de armazena-
mento e de ai aos centros de distribuio a um
menor custo total.
Seja M o conjunto dos centros de produ-
o e |M| = m; e N o conjunto dos centros de
armazenamentos e |N| = n. Seja P o conjunto dos
centros de distribuio e |P| = p. Denomina-se
x
ij
o nmero de unidades do produto transpor-
tados do centro de produo i M ao centro de
armazenamento j N e c
ij
o correspondente custo
de transporte por unidade. Seja y
jk
o nmero de
unidades do produto transportados do centro de
armazenamento j N ao centro de distribuio
ou consumo k P, e d
jk
o correspondente custo de
transporte por unidade. O nmero de unidades
disponveis em cada centro de produo a
i
, i
N, e o nmero de unidades solicitadas em cada
centro de distribuio b
k
, k P. Suponha-se que
o total de unidades produzidas nos centros de pro-
duo igual ao nmero de unidades solicitadas
nos centros de distribuio.
O problema linear de distribuio pode ser
formulado na seguinte forma:
minimizar
N j I i
ij ij
x c
,
+
P k N j
jk jk
y d
,
(9.1)
sujeito a:
N j
ij
x = a
i
, i M (9.2)
P k
jk
y -
M i
ij
x = 0, j N (9.3)
N j
jk
y = b
k
, k P (9.4)
x
ij
0, y
jk
0, i M, j N, k P. (9.5)
114 ENGEVISTA, V. 11, n. 2. p. 109-116, dezembro 2009
Neste caso, a funo objetiva (9.1) uma
funo linear que minimiza o custo total de
transporte. A restrio (9.2) representa a capa-
cidade de produo para cada centro de produ-
o. A condio (9.3) a condio de equilbrio
para cada centro de armazenamento. Por faci-
lidade, estamos considerando o lado direito da
condio (9.3) igual a zero mas pode ser qual-
quer valor positivo. A restrio (9.4) expressa a
capacidade de consumo em cada centro de dis-
tribuio. Por ltimo, a restrio (9.5) a con-
dio de no negatividade de uxo. O problema
de distribuio (9) pode tambm ser represen-
tado como um problema linear geral de uxo
em rede (8).
O mtodo de pontos interiores preditor
corretor foi inteiramente codicado usando
a linguagem MATLAB. Todos os experimentos
computacionais foram realizados em um micro-
computador PC Duron com 1 GB de RAM e
1600 MHZ de freqncia rodando a plataforma
Windows XP.
Redes de diversas dimenses, para o caso
geral de uxo de rede (8), foram analisadas ba-
seadas na rede bsica do trabalho de Nagurney
(1984), p. 476. Essa rede consiste de 20 ns e
28 arcos e usada para determinar a soluo do
problema de equilbrio de trfego em rede de
transporte quando formulado como um proble-
ma variacional. Essa rede bsica, para nosso caso,
estendida para formar redes de grande porte.
Para isso, foi implementado um programa espe-
cico, em MATLAB, para determinar a matriz
de restries lineares e sua dimenso, isto , o
nmero de ns e o nmero de arcos.
Para o caso do problema de distribui-
o, igualmente um programa especico em
MATLAB foi implementado, para determinar
a correspondente matriz de restries lineares,
usando os dados de nmero de centros de pro-
duo, centros de armazenamento e centros de
consumo.
Um mesmo ponto inicial usado em todos
os experimentos computacionais do mtodo pre-
ditor corretor, e dado por:
x
0
= 10e, y
0
= -0,25, z
0
= e, e = (1,...,1,...,1) R
n
.
o qual no necessariamente vivel, mas
existem outros mtodos que poderiam ser usa-
dos para obter uma boa escolha de outro ponto
inicial e talvez poderia melhorar o desempenho
computacional. Para essa escolha, pede-se con-
sultar o trabalho de Mehrotra (1992). Por outro
lado, o valor de = 0,99995 usado para deter-
minar o respectivo tamanho de passo.
O critrio de parada do mtodo em estudo
estabelecido em termos da proximidade do va-
lor da funo objetiva no ponto atual e no ponto
anterior. Exige-se tambm que a diferena dos
valores das funes objetivas do problema primal
e do dual seja menor ou igual a uma tolerncia
pr-estabelecida, isto que:
| | 1
| |
y b
y b x c
T
T T
+
.
Tambm poderamos adotar outros crit-
rios de parada.
Os custos da funo objetiva foram obti-
dos usando uma funo aleatria uniformemente
distribuda, rand da plataforma MATLAB. Para
resolver o correspondente sistema normal usamos
a decomposio de Cholesky para a matriz ( AZ
-1
XA
T
), isto , usando a funo chol de MATLAB
temos que ( AZ
-1
XA
T
) = R
T
R, e assim podemos
determinar o correspondente y
a
em (6.1) ou y
c
em (7.1).
O comando chol do MATLAB usado para
determinar a soluo do sistema linear de equa-
es (AZ
-1
XA
T
) y = , para qualquer vetor ,
realizado da seguinte forma:
R = chol (AZ
-1
XA
)
o qual determina a matriz triangular superior R, e
y = R \ ( R
\ )
o qual determina y a soluo do corresponden-
te sistema linear, sendo A e R representando no
ambiente MATLAB a matriz A
T
e R
T
respectiva-
mente.
A seguir, apresentamos os resultados com-
putacionais para redes de diferentes dimenses,
isto , quando estendemos a rede bsica de trans-
porte de Nagurney (1984) a um nmero maior de
arcos e ns.
115 ENGEVISTA, V. 11, n. 2. p. 109-116, dezembro 2009
Tabela 1. Resultados computacionais da rede Nagurney.
rede
arco=605
ns=320
arco=800
ns=420
arco=1190
ns=620
arco=1580
ns=820
arco=2390
ns=1230
f.o. 10500 11700 13100 18500 18900
dual 10500 11700 13100 18500 18900
iter 9 8 8 9 8
1,2130e-07 1,0343e-07 2,3284e-10 5,8190e-10 2,7217e-09
tpo 5,570728 9,891849 29,582768 76,646394 239,857102
valor do parmetro de barreira bastante pe-
queno. Podemos armar, pelos resultados compu-
tacionais, que o mtodo de ponto interior predi-
tor- corretor mostra a sua ecincia para resolver
o problema linear de uxo de rede de diferentes
dimenses.
4. CONCLUSES
Este artigo apresentou o mtodo de pon-
tos interiores primal dual preditor corretor
para resolver o problema de programao line-
onde:
f.o. :signica o valor da funo objetiva do corres-
pondente problema primal.
dual: representa o valor da funo objetiva do cor-
respondente problema dual.
iter: o nmero de iteraes realizados.
: o parmetro de barreira.
tpo: signica o tempo de processamento (em
segundos) determinado pelo ambiente Matlab,
usando as funes tic e toc. No inclui o tempo
necessrio para determinar a matriz correspon-
dente as restries de conservao de uxo do
problema.
A seguir, temos os resultados computacio-
nais para a rede do problema de distribuio para
diferentes dimenses.
Tabela 2. Resultados computacionais da rede de distribuio.
rede
arco=1801
ns=90
arco=1751
ns=95
arco=1951
ns=95
arco=2101
ns=100
arco=2276
ns=100
arco=3201
ns=120
m 25 20 25 20 25 30
n 30 25 30 30 35 40
p 35 50 40 50 40 50
f.o. 1757,1 1980 1912,5 1830 1818,8 1140
dual 1757,1 1980 1912,5 1830 1818,7 1140
iter 9 8 9 9 10 8
1,7216e-11 8,8871e-08 3,7821e-09 1,5019e-08 4,2414e-08 1,5024e-09
tpo 11,342601 10,019547 13,516223 15,600158 20,105602 34,709601
onde neste caso temos que:
m: representa o nmero de centros de produo.
n: o nmero de centros de armazenamentos.
p: signica o nmero de centros de consumo.
As outras variveis, f.o., dual, iter, e tpo.,
representam as mesmas denies dadas no pro-
blema da rede Nagurney.
Como pode observar-se das tabelas acima,
o valor da funo objetiva do problema primal
praticamente igual ao valor da funo objetiva do
problema dual. Por outro lado, o correspondente
116 ENGEVISTA, V. 11, n. 2. p. 109-116, dezembro 2009
ar de grande porte como o caso do proble-
ma de uxo em rede. O mtodo de Cholesky,
representado pelo comando chol do ambiente
MATLAB, usado na soluo de mais de um
sistema linear, que tem a mesma matriz de coe-
cientes para diferentes lados direitos, quando
aplicado tanto o passo preditor e o passo corre-
tor respectivamente.
Os resultados computacionais realizados
em algumas redes de diferentes dimenses con-
rmam a ecincia do mtodo de pontos interio-
res primal dual preditor corretor.
5. BIBLIOGRAFIA
AHUJA, A., MAGNANTI, T. e ORLIN, J.,
Network Flows : Theory, Algorithms and Ap-
plications, Prentice-Hall, Inc. New Jersey. 1993.
BENZI, M., CULLUM, J. e TUMA, M., (2000),
Robust approximate inverse pre-conditioning for
the conjugate gradient method, SIAM Journal of
Scientic Computing, 22, 1318-1332.
BERKELAAR, A., DERT, C., OLDENKAMP,
B. e ZHANG, S., (2002), A primal-dual decom-
position-based interior point approach to two-
stage stochastic linear programming, Operations
Research, 50, 904 -915.
GONDZIO, J., (1996), Multiple centrality cor-
rections in a primal-dual method for linear pro-
gramming, Computational Optimization and Ap-
plications, 6, 137 156.
GUARDIA, L. e MELLO, J., (2007), Experin-
cias computacionais com modelos de uxo para
mltiplos produtos com funes de custo no
lineares e no separveis, Investigao Operacional,
27, 53 -65.
KARMARKAR, N., (1984), A polynomial-time
algorithm for linear programming, Combinatori-
ca, 4, 373 -395.
MEHROTRA, S., (1992), On the implementa-
tion of a primal-dual interior point , SIAM Jour-
nal on Optimization, 2, 575 601.
MSZROS, C. (2005), The Cholesky factor-
ization in interior point methods, Computers and
Mathematics with Applications, 50, 1157 1166.
NAGURNEY, A., (1984), Comparative test of
multimodal trafc equilibrium methods, Trans-
portation Research, 18B, 469 485.
NOCEDAL , J. e WRIGHT, S., Numerical Opti-
mization, Springer-Verlag, New York, 1999.
SUN, J. e LIU, X., (2006), Scenario formulation
of stochastic linear programs and the homoge-
neous self-dual interior-point method, INFORMS
Journal on Computing, 18, 444 - 454.
SALAHI, M. e TERLAKY, T., (2007), Adaptive
large-neighborhood self-regular predictor-correc-
tor interior-point methods for linear optimiza-
tion, Journal of Optimization Theory and Applica-
tions, 132, 143 160.
SALAHY, M. e TERLAKY, T., (2008), Mehrotra
type predictor corrector algorithm revisited, Op-
timization, Methods and Software, 23, 259 -273.
SALAHY, M., PENG, J. e TERLAKY, T., (2007),
On Mehrotra type predictor corrector algo-
rithms, SIAM Journal on Optimization , 18, 1377
1397.
TITS, A., ABSIL, P. e WOESSNER, W., (2006),
Constraint reduction for linear programs with
many inequality constraints, SIAM Journal on
Optimization, 17, 119 146.
VANDERBEI, R., Linear Programming: Founda-
tions and extensions, 2
nd
. Ed. Kluwer Academic,
Boston, 2001.
WRIGHT, S., Primal-Dual Interior-Point Meth-
ods, SIAM, Philadelphia, 1997.