Você está na página 1de 70

MINICURSO MINISTRADO NO DINCON2010

INTRODUO AOS MTODOS PRIMAL-DUAL DE


PONTOS INTERIORES E APLICAES

AUTORES:

Prof. Dr. Antonio Roberto Balbo email: arbalbo@fc.unesp


Profa. Dra. Edma Cssia Baptista email: baptista@fc.unesp.br
Departamento de Matemtica FC Unesp Campus de Bauru
Mrcio Augusto da Silva Souza email: mass20@fc.unesp.br
Maria Cludia Savio Masiero claudiamasiero@hotmail.com
Programa de Ps-Graduao em Engenharia Eltrica
FEB UNESP Campus de Bauru

Unesp Bauru, Maro de 2010

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

1
1419


1. Introduo ................................................................................................................. 3
2. Os problemas restritos ............................................................................................... 5
3. Os mtodos de Penalidade e de Barreira .................................................................... 6
3.1 O mtodo de penalidade ...................................................................................... 6
3.1.2 Dificuldades computacionais ........................................................................ 8
3.1.3 Algoritmo do Mtodo de Penalidades ........................................................... 8
3.2 O mtodo de barreira ........................................................................................... 9
3.2.2 Dificuldades computacionais .................................................................... 11
3.2.3 Algoritmo do Mtodo de Barreira ............................................................... 11
4. Mtodos (algoritmos) Afins de Pontos Interiores ..................................................... 13
4.1 - Algoritmo Primal Afim ................................................................................ 13
4.1.1 Idias Bsicas do Algoritmo Primal Afim ................................................ 13
4.1.2 Algoritmo Primal Afim. .......................................................................... 18
4.1.3 Implementando o Algoritmo Primal Afim ................................................ 24
4.1.4 Complexidade Computacional .................................................................... 26
4.2 O Mtodo Dual-Afim para o Problema Primal ................................................... 28
4.2.1 O Algoritmo Dual-Afim para o PPL em Formato Primal ............................ 30
5. O Algoritmo Primal-Dual de Pontos Interiores ....................................................... 33
5.1 Idias bsicas do Algoritmo Primal Dual ........................................................ 33
5.2 - Direo e Comprimento do Passo de Movimento. ........................................... 35
5.3 Algoritmo Primal Dual ................................................................................... 39
5.4 Trmino do Algoritmo em Tempo Polinomial ................................................... 40
5.5. Iniciando o Algoritmo Primal Dual ............................................................... 41
5.6 Implementao Prtica ...................................................................................... 42
5.6. Mtodo Primal Dual para Variveis Canalizadas ......................................... 48
5.6.1 - Direes de Busca .................................................................................... 49
5.6.2 Comprimento do Passo de Movimento....................................................... 52
5.6.3. Critrio de Parada ..................................................................................... 53
5.6.4 Algoritmo de Pontos Interiores Primal Dual para Variveis Canalizadas . 54
5.6.5 Variveis Limitadas Inferiormente ............................................................. 58
6. O Algoritmo Primal-Dual de Pontos Interiores para Programao Quadrtica
Convexa com variveis canalizadas ............................................................................ 59
6.1 Problema de Programao Quadrtica .............................................................. 59
6.2 Direes de busca Tipo Previsor ................................................................... 60
6.3 Direes de Busca -Tipo Corretor..................................................................... 61
6.4 Comprimento do passo ..................................................................................... 62
6.5 Critrio de Parada ............................................................................................. 63
6.5.1 Atualizao do parmetro de barreira ......................................................... 64
6.6 Algoritmo Primal-Dual para Variveis Canalizadas com Procedimento PrevisorCorretor e Busca Unidimensional. (PDPCBU) ........................................................ 64
7. O Modelo de Despacho Econmico (PDE) .............................................................. 65
7.1 Aplicao ao Modelo de Despacho Econmico ................................................. 65
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

2
1420

7.2 - Adaptao do Problema de Despacho Econmico ao algoritmo proposto. ....... 66


7.3. PDE com 3 Geradores ...................................................................................... 66 
8. Consideraes Finais............................................................................................... 67 
9. Agradecimentos ...................................................................................................... 67 
10. Bibliografia ........................................................................................................... 68

1. Introduo
Em matemtica, o termo otimizao, ou programao matemtica, refere-se ao estudo de
problemas em que se busca minimizar ou maximizar uma funo atravs da escolha sistemtica dos
valores de variveis reais ou inteiras dentro de um conjunto vivel.
Assim, tornar algo timo buscar o que excelente, o melhor possvel, "o grau, quantidade ou
estado que se considera o mais favorvel, em relao a um determinado critrio.
Otimizar melhorar at onde pudermos. No ideal, melhorar at o mximo. At aquela situao
ideal na qual, como vulgarmente se diz, "se mexer mais, piora". Melhorar s possvel se temos escolha.
Escolher uma dentre vrias alternativas. Se uma alternativa houver, capaz de introduzir alguma melhoria,
ficamos com ela. Caso contrrio, o que temos em mos j a escolha tima.
Otimizar selecionar algo melhor. Mas, quase sempre, ficamos restritos a escolh-lo dentre um
conjunto limitado de alternativas. Obviamente, o desejo de otimizar no basta. Sem critrio de escolha,
por exemplo, nem adianta conhecer o universo de alternativas. Por outro lado, desconhecendo-se este, no
adianta ter critrio. Informao, portanto, fundamental. Quanto mais, melhor; mais depressa chegamos
s alternativas timas.
As aplicaes da Otimizao encontram-se presentes em todas as modalidades de Engenharia, na
Economia, na Biologia, na Agronomia, entre outras reas distintas. Como exemplos podemos citar:






Como cortar placas de vidro de forma a atender aos pedidos que nos chegam, com um
mnimo de desperdcio possvel de material?
Como distribuir mascates em uma determinada praia de modo que eles terminem suas
vendas o mais perto possvel dos pontos de resgate?
Como controlar injeo de combustvel num motor a exploso de modo a maximizar
rendimento minimizando vibraes?
Como distribuir energia eltrica minimizando as perdas e satisfazendo o sistema?
Como distribuir enegia eltrica minimizando o custo de produo e satifazendo o
sistema?

Muitos desses problemas podem ser modelados como problemas de maximizar (ou minimizar)
uma funo cujas variveis devem obedecer certas restries:

(1.1)

M in imizar ( M ax imizar ) f ( x )
sujeito a : gi ( x ) = 0, i = 1, ,m
h j ( x ) 0, j = 1, ,r
x min x x max

Encontrar solues timas, ou mesmo aproximadas, para esses tipos de problemas um desafio
nem sempre fcil de ser vencido. A construo de bons algoritmos a principal vocao da otimizao.
Algoritmos gerais e confiveis, que, se possvel, resolvam classes de problemas de otimizao
independentemente da dimenso e dos parmetros envolvidos.
Antes de 1940, relativamente, muito pouco tinha sido desenvolvido sobre mtodos para
otimizao numrica de muitas variveis. A maioria dos mtodos de otimizao foram desenvolvidos
aps o surgimento do computador. Durante a Segunda Grande Guerra Mundial (dcada de 40), com o
objetivo de alocar recursos escassos, desenvolveu-se o mtodo Simplex (Dantizig) para problemas
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

3
1421

lineares. O sucesso e credibilidade ganhos durante a guerra foram to grandes que, terminado o conflito,
esses grupos de cientistas e a sua nova metodologia de abordagem dos problemas se transferiram para as
empresas que, com o "boom" econmico que se seguiu, se viram tambm confrontadas com problemas de
deciso de grande complexidade.
A aplicao de um determinado mtodo a um problema real depende, basicamente, das
caractersticas do problema, isto , o problema ser linear, no-linear, convexo, inteiro, dinmico, entre
outras. Em Programao No-Linear os primeiros mtodos eram bastantes restritos. Tornaram-se
significativos no final da dcada de 50 com a introduo dos mtodos de mtrica varivel por Davidon,
capazes de solucionar problemas de muitas variveis.
Uma classe de mtodos de Otimizao muito explorada nos dias de hoje denominada de
mtodos de Pontos interiores. Os mtodos de Pontos Interiores tm sido amplamente investigados e
utilizados principalmente na resoluo de problemas de Programao Linear e, mais recentemente, em
problemas de Programao Quadrtica e No-Linear, com bom desempenho em problemas de grande
porte.
Ainda que no fossem conhecidos na literatura com esta denominao, a estratgia de Pontos
Interiores foi introduzida inicialmente por FRISCH (1955) e por CARROL (1961) e popularizada por
FIACCO & McCORMICK (1968) atravs da utilizao da funo Barreira para problemas no-lineares.
Ressalta-se que, o entusiasmo no uso da funo Barreira diminuiu sensivelmente na dcada de 70 devido
a alguns problemas apresentados por esta, tais como, o mal condicionamento da matriz Hessiana quando
seu fator de Barreira tende a zero; a dificuldade na escolha do fator de Barreira e na escolha de uma
soluo inicial; a no-existncia da derivada na soluo e o aumento ilimitado da funo Barreira na
vizinhana da fronteira.
O interesse pela utilizao da metodologia de Pontos Interiores para a busca de solues timas
de problemas de Otimizao reapareceu quando, em 1984, KARMARKAR (1984) publicou o seu mtodo
Projetivo para Programao Linear. Este trabalho provocou uma agitao nas atividades de pesquisa nesta
rea.
Aps a introduo feita por Karmarkar, mtodos variantes de seu algoritmo original foram
apresentados. Entre eles citamos: o algoritmo Primal-Afim utilizado na resoluo de problemas de
Programao Linear com restries de igualdade, o qual foi apresentado por BARNES (1986) e por
VANDERBEI et al. (1986); o algoritmo Dual-Afim proposto por ADLER el al. (1989) para resolver
problemas de Programao Linear na forma de desigualdade; a contribuio de MEGIDDO & SHUB
(1989) com a indicao que a trajetria que conduz soluo tima fornecida pelos algoritmos Afins
dependem da soluo inicial; a incorporao da funo Barreira Logartmica ao problema de
Programao Linear e a resoluo deste atravs da metodologia de Pontos Interiores Primal-Afim e DualAfim, onde destacamos os trabalhos de MEGIDDO (1987), RENEGAR (1988), VAIDYA (1990) e YE
(1986); os mtodos de trajetria central, propostos por GONZAGA (1989, 1990) e MONTEIRO &
ADLER (1989); o algoritmo Primal-Dual de Pontos Interiores proposto por MONTEIRO et al. (1990) e
tambm por KOJIMA et al. (1989), os quais exploram uma funo potencial Primal-Dual variante da
funo Barreira Logartmica e o mtodo da Barreira Logartmica Primal-Dual Previsor-Corretor, em que
a cada iterao dado um passo previsor e um passo corretor, determinando direes de busca melhores
que as apresentadas por MONTEIRO & ADLER (1989), o qual foi apresentado por MEHROTRA (1992),
entre outros.
Seguindo o avano dos mtodos de Pontos Interiores destaca-se a teoria de mtodos da funo
Barreira Modificada desenvolvida por POLYAK (1992). Estes mtodos combinam as melhores
propriedades da funo Lagrangiana Clssica e da funo Barreira Clssica, evitando os problemas que
ambas enfrentam. Segundo POLYAK (1992) a finalidade que o mtodo da funo Barreira Modificada
tem para os mtodos de Pontos Interiores a mesma que o mtodo da funo Lagrangiana Aumentada
tem para os mtodos de Penalidade: ajud-los a driblar suas dificuldades. O mtodo da funo Barreira
Modificada transforma o problema restrito em um outro problema equivalente, o qual irrestrito e resolve
uma seqncia de problemas irrestritos at atingir a soluo tima. Em seu trabalho POLYAK (1992)
apresenta trs tipos de funo Barreira Modificada: uma para a funo Barreira de CARROL (1961),
outra para a funo Barreira de FRISCH (1955) e a terceira denominada funo Barreira Shift. Estas
funes so definidas atravs da relaxao do conjunto de restries factveis. Variantes do mtodo de
Barreira Modificada podem ser encontrados em BREITFELD & SHANNO (1996), VASSILIADIS &
FLOUDAS (1997) e CHEN & VASSILIADIS (2003).
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

4
1422

Extenses dos mtodos de Pontos Interiores para problemas no-lineares e no convexos so


encontrados em CARPENTER et al. (1990), VANDERBEI & SHANNO (1999), SHANNO &
VANDERBEI (2000), LUKSAN et al. (2004), BAPTISTA et al. (2006 a,b), entre outros.
preciso destacar que os mtodos de Pontos Interiores tm sido utilizados para a resoluo de
problemas reais nas mais diversas reas.
Neste minicurso abordaremos: os problemas restritos, os mtodos de Penalidade e Barreira, os
mtodos de Pontos Interiores afins e inseridos na metodologia primal-dual, com uma aplicao destes
mtodos ao problema de Despacho Econmico, BALBO et al..(2008), estudado na rea de Sistemas de
Energia em Engenharia Eltrica.

2. Os problemas restritos
Um problema de otimizao pode ser denominado irrestrito quando apenas uma funo
minimizada ou maximizada dentro de um conjunto pr-determinado. Matematicamente representamos
por:

Minimizar ( Maximizar ) f ( x )
x S Rn
(2.1)
n

em que x R .
Quando restries so adicionadas ao problema (2.1), este passa a ser denominado problema
restrito. Matematicamente representamos por:

Minimizar ( Maximizar ) f ( x )
sujeito a : g ( x ) = 0 
  restries funcionais
h ( x ) 0 
x S R n  restries do conjunto
(2.2)
onde,
T

h ( x ) =  h1 ( x ) , h2 ( x ) ,  , hm ( x )  R r
T

g ( x ) =  g1 ( x ) , g 2 ( x ) , , g p ( x )  R m .
Os problemas (2.1) e (2.2) sero classificados como linear, no-linear , quadrtico, inteiro,
convexo, entre outros, de acordo com as caractersticas das funes envolvidas.

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

5
1423

3. Os mtodos de Penalidade e de Barreira


Os mtodos apresentados a seguir tm por objetivo resolver problemas de programao nolinear restritos da forma:
Minimizar f(x)
sujeito a: g(x) = 0
(3.1)
h(x)
n

onde: x R , g(x) R

, h(x) R , e as funes so de classe C2.

3.1 O mtodo de penalidade


Seguindo a idia de associar ao problema (3.1) uma seqncia de problemas irrestritos, a
estratgia do mtodo da funo penalidade consiste na utilizao de uma funo auxiliar onde as
restries so introduzidas na funo objetivo atravs de um fator de penalidade, o qual penaliza alguma
violao destas. Esse mtodo gera uma seqncia de pontos infactveis, cujo limite a soluo tima do
problema original.
A funo auxiliar tem a forma f(x) + c P(x), sendo c denominado fator de penalidade, e P(x),
funo penalidade associada a (3.1), dada por:
P(x) =

i =1

j =1

 ( gi ( x ) ) +  ( h j ( x ) )

,
(3.2)

onde e so funes contnuas de uma varivel y, tais que:

( y)

( y)

= 0 , se y = 0 e

> 0 , se y

0;
(3.3)

( y)

= 0, se y

0 e ( y ) > 0, se y > 0.
(3.4)

As funes (3.3) e (3.4) podem assumir as seguintes formas:


p

( y ) = y ,
(y ) = [max {0,y}]

(3.5)
(3.6)

onde p um inteiro positivo. Para p = 2, em (3.5) e (3.6) a funo P(x) denominada funo penalidade
quadrtica.
O problema penalizado consiste em:
Minimizar { x n tal que

( x ) = f(x) +c P(x )
(3.7)

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

6
1424

para c 0. Temos que, medida que c e P(x) 0 , a soluo do problema penalizado converge
para a soluo do problema original.
Exemplo 3.1: Considere o seguinte problema:

M in imizar x
sujeito a : x + 2 0

Encontrado a funo penalidade: P ( x ) =  M ax imizar {0,( x + 2 )}





0
P ( x) = 
2
( x + 2 )
se x 2
0
Temos que : ( x ) = x + c 

2
se x 2
( x + 2 )

se x 2
se x 2

Aplicando as condies de otimalidade:

0
P ( x )
= 0  1+ c 
2
x
( x + 2 )

se x 2
se x 2

1 2c ( x + 2 ) = 0  x = 2

Fazendo

=0

1
2c

c tender a infinito, temos:


x = lim 2
c

1
 x=2
2c

Exemplo 3.2: Considere o seguinte problema

M in imizar x12 + x22


sujeito a : x1 + x2 1 = 0
x1 ,x2 R
Reformulando para um problema irrestrito:
M in imizar x12 + x22 + c ( x1 + x2 1)
s.a. x1 ,x2 R

Aplicando a condio necessria e suficiente para a otimalidade:

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

7
1425

P ( x )
= 2x1 + 2c ( x1 + x2 1) = 0  x1 = c ( x1 + x2 1)
x1
P ( x )
= 2x2 + 2c ( x1 + x2 1) = 0  x2 = c ( x1 + x2 1)
x2
Temos ento que

x1 = x2 =
x = lim
c

c
. Fazendo c tender a infinito:
1 + 2c

c
c
1
= lim
= lim
c

1
1
1 + 2c




c + 2
 + 2
c
c





x=

1
2

3.1.2 Dificuldades computacionais


Escolhendo-se c suficientemente grande, a soluo do problema penalizado ser prxima
soluo do problema (3.1); porm, para valores muito grandes do fator de penalidade, teremos algumas
problemas de mal condicionamento. Para valores grandes de c, h uma maior nfase sobre a factibilidade;
e a maioria dos mtodos de otimizao irrestrita move-se rapidamente na direo de um ponto factvel.
Esse ponto pode estar longe do timo, causando um trmino prematuro do mtodo. Um outro problema
o mal condicionamento da matriz Hessiana devido sua dependncia de c. Assim, a anlise de
convergncia do mtodo pode ficar prejudicada. Ressaltamos que a escolha inicial do fator de penalidade
e do parmetro de penalidade afeta a convergncia do mtodo.
3.1.3 Algoritmo do Mtodo de Penalidades
1. Estabelecer o erro de convergncia

( > 0 ) , o ponto inicial

x k , o parmetro de penalidade

ck > 0 e o fator de incremento da penalidade > 0 , k = 0.


2. Resolver o problema utilizando um mtodo de minimizao irrestrita para

fixo:

Minimizar f ( x ) + ck P( x )
xR n

obtendo ento x

k +1

3.

Se ck P x

4.

Fazer

5.

k +1

) < ,pare, a soluo tima foi encontrada. Seno v para o passo 4

ck +1 = ck
k = k + 1 , voltar para o passo 2.

Exemplo 3.3: Implementamos o algoritmo da funo utilizando o software Matlab e aplicamos na


resoluo do problema:

 M in imizar ( x1 2 )4 + ( x1 2x2 )2

2
 sujeito a: x1 x2 = 0

2
 x R
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

8
1426

Sendo x0 =  2  , c0 = 0 , 1 , = 10 , a tolerncia do problema principal 1 = 10 5 e a tolerncia do


 
1
 

sub-problema (soluo por Newton) 2 = 10 2 .


Utilizando o mtodo de Newton para encontrar o ponto timo do subproblema tem-se:
TABELA 3.1: Convergncia do mtodo de penalidade
Iterao

ck

xk +1 = xck

f x k +1

1
2
3
4
5
6
7
8
9

0,1
1
10
100
103
104
105
106
107

(1,45545;0,76135)
(1,16916;0,74071)
(0,99072;0,84248)
(0,95078;0,88748)
(0,94611;0,89344)
(0,94564;0,89406)
(0,94559;0,89412)
(0,94558;0,89413)
(0,94558;0,89413)

0,09246
0,57401
1,51961
1,89117
1,94051
1,94674
1,94611
1,94621
1,94621

( xk )
0,27640
0,96617
1,71295
1,91840
1,94335
1,94590
1,94616
1,94629
1,94629

Podemos observar que a cada iterao o valor da funo aproxima-se do valor da funo auxiliar,
mostrando que o mtodo est convergindo e que a funo penalidade tende a zero.
3.2 O mtodo de barreira
Da mesma forma que os mtodos de penalidade, os mtodos de barreira transformam o problema
restrito em um problema irrestrito. Eles introduzem as restries na funo objetivo atravs de um fator
de barreira, que penaliza a aproximao de um ponto factvel fronteira da regio factvel. Trabalhando
no interior dessa regio, tais fatores geram barreiras que impedem os pontos de sair dela. Logo, parte-se
de um ponto factvel e geram-se novos pontos factveis. Uma das vantagens desse mtodo a obteno
de, pelo menos, uma soluo factvel, caso ocorra uma parada prematura dele. Ele trabalha somente com
problemas de desigualdade cujo interior no-vazio. Assim, assume-se o problema (3.1) obedecendo a
essa condio.
Com o objetivo de garantir a permanncia no interior da regio factvel, podemos gerar o
seguinte problema de barreira:
Minimizar { f(x) + B(x): h(x) < 0},
(3.8)
x
onde 0 denominado fator de barreira, e B(x) uma funo barreira no-negativa e contnua no
interior da regio factvel {x; h(x) < 0} e tende ao infinito medida que a soluo se aproxima da
fronteira, a partir do interior. Definimos, ento:
r

B(x) =

 [ h ( x )] ,
i

i =1

(3.9)
onde uma funo de uma varivel y, contnua sobre {y; y < 0 }, e satisfaz
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

9
1427

( y ) 0 se y < 0
A funo f(x) +
formas, como:

lim ( y ) = .

y 0

(3.10)
B(x) denominada funo auxiliar; a funo barreira pode assumir vrias

B(x) =

 h ( x ) ;
i =1

(3.11)
r

B(x) =

 ln [ h ( x )] .
i

i =1

(3.12)
A funo (3.11) denominada barreira clssica ou inversa e foi estudada por CARROL (1961);
(3.16) denominada funo barreira logartmica e foi estudada por FRISCH (1955).
Quando 0 e B(x) , temos que B( x ) se aproxima da funo barreira ideal, descrita
anteriormente em (3.9), e a soluo do problema de barreira converge para a soluo do problema (3.1).
Observamos que (3.8) um problema restrito e pode ser to complexo quanto (3.1). Como
exigimos uma soluo inicial interior regio factvel e o mtodo trabalha com pontos interiores a essa
regio, ao penalizar os pontos que se aproximam da fronteira impedimos que eles saiam da regio e a
restrio pode ser ignorada. Teremos, realmente, um problema irrestrito, para o qual poder ser utilizada
uma tcnica de otimizao irrestrita.
Exemplo 3.2: Resolver :

M in imizar x
sujeito a: x + 1 0

( ) = 1 . Considere ento a funo

Observamos que o ponto timo dado por x = 1 e f x

barreira:

B ( x) =

1
1 , para x 1
=
g ( x) x + 1

 1 

 x + 1 

B ( x) = 

Sendo a funo auxiliar, f ( x ) + B ( x ) = x +  1  , temos o seguinte problema de barreira:


 x 1


 1 
Minimizar  x + 
 , x + 1 < 0
 x 1


Aplicando as condies de otimalidade:
2

1 ( x 1) = 0
1

=0

( x 1)
2
( x 1) = 0

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

10
1428

x 2 2x + 1 = 0
22
 x = 1+
2
Fazendo 0 , obtemos x e F ( x ) por:
x=

x = lim 1 + = 1  x = x*
0

 1 
*
F ( x) = lim 1 + 
  F ( x) = f ( x )
0
x

1


Note que, medida que decresce, B (x) se aproxima de uma funo que tem valor zero para
h(x) < 0 e infinito para h(x) = 0.
Ao resolvermos o problema (3.8) utilizando a funo (3.11), iniciamos o processo de soluo
com um ponto interior regio factvel. Para cada valor de , temos uma soluo que ser o ponto inicial
para o processo iterativo. medida que decresce, aproximamo-nos da soluo do problema original,
ou seja, 0, xk x* e f(xk) + B(xk) f(x*).
3.2.2 Dificuldades computacionais
Uma das dificuldades encontradas no mtodo de barreira a seleo de um ponto inicial factvel.
Em muitos problemas, isso pode ser trabalhoso. Vrios mtodos podem ser utilizados para a determinao
de um ponto inicial factvel, quando este no conhecido. Tambm, em virtude da estrutura da funo
barreira, para valores pequenos de , muitas tcnicas tm srios problemas de mal condicionamento e
erros de arredondamento, quando o timo se aproxima. As escolhas do fator de barreira e do parmetro de
barreira podem comprometer o processo de otimizao.

3.2.3 Algoritmo do Mtodo de Barreira


1.

Estabelecer o erro de convergncia


parmetro de penalidade

2.

k > 0

( > 0 ) ,

o ponto inicial x X com

e o fator de incremento da barreira

gi ( x ) < 0 , o

( 0, 1) , k = 0.

Usando o mtodo de Newton, resolver o problema transformado para a forma irrestrita:

M in imizar f ( x ) + k B ( x )
sujeito a: g ( x ) < 0
x X
obtendo ento x
3.

Se

k B ( x

k +1

k +1

) < , pare, a soluo tima foi encontrada. Seno v para o passo 4.

k +1 = k
5. k = k + 1 , voltar para o passo 2.

4. Fazer

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

11
1429

Exemplo 3.3: Resolver o problema abaixo:

 M inimizar ( x1 2 )4 + ( x1 2x2 ) 2

2
 sujeito a: x1 x2 0
0
Sendo x0 =   , 0
 1

= 10 , = 0 , 1 , a tolerncia do problema principal 1 = 10 5 e a tolerncia do sub-

problema (soluo por Newton)


Neste problema

B ( x) =

2 = 10 2 .

X = E2 , e o problema resolvido utilizando a funo barreira:

1 .
( x x2 )
2
1

Utilizando o mtodo de Newton para encontrar o ponto timo do subproblema tem-se:


TABELA 3.2: Convergncia do mtodo de barreira
Iterao

1
2
3
4
5
6
7
8
9
10
11

10
1
10-1
10-2
10-3
10-4
10-5
10-6
10-7
10-8
10-9

x k + 1 = x k
(0,70770;1,53119)
(0,82819;1,10200)
(0,89886;0,96393)
(0,92935;0,91634)
(0,94027;0,90116)
(0,94388;0,89635)
(0,94504;0,89483)
(0,94541;0,89435)
(0,94553;0,89420)
(0,94557;0,89415)
(0,94558;0,89413)

f xk+1

8,33355
3,77836
2,52902
2,12999
2,00432
1,96459
1,95202
1,94804
1,94677
1,94634
1,94621

( xk )
18,03898
6,18162
3,17012
2,31992
2,06296
1,98297
1,95780
1,94986
1,94734
1,94655
1,94633

( )

B x k

0,97054
2,35800
6,41099
18,99420
58,67703
184,12307
580,79253
1835,18554
5801,92332
18345,84870
58013,22391

Podemos observar que a cada iterao o valor da funo aproxima-se do valor da funo auxiliar,
mostrando que o mtodo est convergindo e que a funo barreira est tendendo a infinito.

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

12
1430

4. Mtodos (algoritmos) Afins de Pontos Interiores


4.1 - Algoritmo Primal Afim
Considera-se um problema de programao linear em sua forma padro

cT x

Minimizar

(4.1a)

sujeito a :

Ax = b,

x0
(4.1b)

em que

A R

m n

, bR , xR

c R , onde A uma matriz de posto m.

O seu problema de programao dual definido por:

bT w

max

AT w + s = c, s 0

sujeito a:

(4.1c)

A mxn ; s, c n ; w, b m .
onde (4.1a,c) chamado de Problema Primal (PP) e (4.1c) chamado de Problema Dual (PD).
Observe que o domnio vivel do problema (4.1a,b) definido por

P = {x R n / Ax = b, x 0}
Define-se mais adiante o interior relativo de P (com respeito ao espao Afim) como:

P 0 = {x R n / Ax = b, x > 0}
Um vetor x R

(4.2)

chamado um ponto interior vivel, ou soluo interior, do problema de


0

programao linear, se x P . Durante o desenvolvimento deste trabalho para garantir a existncia de


pontos interiores, faremos sempre uma suposio fundamental:

P 0 /
H diversas maneiras de se encontrar uma soluo interior de um problema de programao
linear. Os detalhes sero discutidos mais tarde. Por enquanto, suponha-se simplesmente que uma soluo
0

interior inicial x est disponvel e analisa-se as idias bsicas do algoritmo Primal Afim.
4.1.1 Idias Bsicas do Algoritmo Primal Afim
Considera-se os princpios fundamentais observados por Karmakar na definio de seu algoritmo
para a anlise dos algoritmos afins, dados por:
(1) se a soluo interior atual estiver perto do centro do politopo, ento faz sentido mover-se
numa direo de descida relacionada ao gradiente da funo objetivo para conseguir um
valor de mnimo;
(2) sem grandes alteraes no problema original, uma transformao apropriada pode ser
aplicada ao espao soluo tal que a soluo interior atual seja levada para perto do centro
definido no espao transformado.
Na formulao de Karmarkar, a estrutura especial e simples de definir os pontos
que:

x , tais

 = x R / x1 + ... + xn = 1, xi 0, 1,...., n} ;
n

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

13
1431

determinava o ponto e / n = (1 / n, 1 / n,...., 1 / n) como o ponto central de , e esta condio foi


introduzida propositadamente obedecendo os princpios (1) e (2) supracitados. Quando se trabalha
diretamente no problema na forma padro, a estrutura simples adotada por Karmarkar est longe de ser
conseguida, e o domnio vivel poderia transformar-se num conjunto poliedral ilimitado. Toda a estrutura

{x R / Ax = b}, formado
pelas restries explcitas, com o conjunto definido pelo octante positivo {x R / x 0}, requerido
n

a ser obedecida pela formatao padro consiste na interseo do espao

pelas restries no-negativas. bvio que o octante no-negativo no tem um ponto "central" real.
Entretanto, se atravs de alguma transformao feita se conseguir posicionar o centro no ponto

e = (1, 1, 1, ...., 1)T , ao menos conseguir manter-se a uma distncia igual de cada face, do octante
no-negativo. Isto ocorre, desde que, a distncia de movimento de qualquer ponto que se move do ponto
central e sempre menor que 1 e permanece no interior do octante no negativo. Conseqentemente, se
pudermos encontrar uma transformao apropriada que trace uma soluo interior atual ao ponto e ,
ento, analogamente ao algoritmo de transformao projetiva de Karmarkar, podemos indicar uma
estratgia modificada como segue:
"Assumindo uma soluo interior, aplique uma transformao apropriada ao espao de solues
de tal forma a colocar a soluo corrente em e no espao transformado, e ento caminhe na
direo de descida mxima no espao nulo (ncleo) da matriz das restries explcitas
transformadas, mas controlando o tamanho do passo relativo s restries no-negativas a fim de
permanecer em uma soluo interior do espao transformado. Ento examina-se a transformao
inversa para traar posteriormente a soluo encontrada ao espao soluo original, como uma
nova soluo interior. Repete-se este processo at a otimalidade ou quando as condies de
parada forem satisfeitas."
Uma transformao apropriada neste caso foi aquela denominada de transformao Afim. A
partir desta, os pesquisadores denominaram os algoritmos variantes desta transformao com algoritmos
afins. Quando a transformao aplicada diretamente ao problema primal na forma padro, denomina-se
algoritmo Primal Afim. E para o problema no formato dual de algoritmo Dual Afim.
k

A Transformao afim no octante no negativo. Seja x R um ponto interior do

octante no negativo

R n , isto , xik > 0 para i =1,....,n. Definiremos uma matriz

diagonal

X k R n n por:
( x1k )
0

k
x
0
(
2)
X k = diag ( x k ) = 
 

0
 0

Note que a matriz





k 
 ( xn )




0
0


(4.3)

X k no singular e admite uma matriz inversa X k1 , que tambm uma


k

matriz diagonal mas com 1 / xi como seu i -simo elemento diagonal, para i =1,...., n.
A transformao afim definida no octante no negativo

R n+ por, T : R+n R+n , tal que:

y = Tk ( x ) = X k 1 x
(4.4)

A transformao (4.4) simplesmente reescala a i -sima componente de

x por um nmero

positivo xi . Geometricamente ela transforma pontos e segmentos de reta do espao original para pontos
e segmentos de retas no espao transformado. Da a denominao de transformao Afim. A Figura 4.1
ilustra o esboo geomtrico da transformao no espao bidimensional. Note que, para o caso de as
restries bidimensionais de desigualdade, representadas na figura 4.1, as variveis escaladas incluem as
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

14
1432

variveis de folga, tambm. De fato, cada borda do polgono corresponde a uma varivel de folga que est
sendo ajustada em zero. Entretanto, difcil representar o esboo completo numa mesma figura.

FIGURA 4.1 - Esboo geomtrico da transformao Afim no espao bidimensional


As seguintes propriedades de
(T1)

TK pode-se facilmente serem verificadas:

Tk uma aplicao bem definida de R+n a R+n , e se x k for um ponto interior de R+n ,

y k um ponto interior do R+n .


k
(T2) Tk ( x ) = e
ento,

(T3)

Tk (x) um vrtice de R+n se x for um vrtice.

(T4)

Tk (x) est na fronteira do octante R+n se x for um ponto da fronteira.

(T5)

Tk (x) um ponto interior de R+n se x for um ponto interior.

(T6)

Tk uma transformao biunvoca, a qual admite uma transformao

inversa Tk

tal

que:

Tk1 ( y ) = X k y = x

para cada

y R+n

(4.5)

Suponha que uma soluo interior x do problema de programao linear (4.1a,b) dada. Podese aplicar a transformao afim Tk para "centrar" sua imagem em e . Pela relao x = X k y , mostrada
em (4.5), no espao soluo transformado, tem-se um problema de programao linear correspondente a:

( c k )T y
Ak y = b,

Minimizar
sujeito a :
k

onde c = X k c e

(4.6a)

y0

(4.6b)

Ak = AX k .
k

No problema (4.6), a imagem de x , isto , y = Tk ( x ) , torna-se e , que mantm a


distncia unitria da fronteira definida no octante no-negativo. Se movermos ao longo de uma direo

d yk que se encontre no espao nulo da matriz Ak = AX k , com um comprimento de passo apropriado,

k > 0 , ento o novo ponto y k +1 = e + k d yk

permanece interior e vivel para o problema (4.6). Alm

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

15
1433

k +1

k +1

k +1

disso, sua imagem inversa x


torna-se uma nova soluo intterior para o
= Tk ( y ) = X k y
problema (4.1a,b).
Desde que nosso objetivoo minimizar o valor da funo objetivo, a estratgia de adotar o
procedimento de mxima descida indicada. Ou seja, quer-se projetar o gradiente negatiivo c
espao nulo da matriz

no

k
y

Ak , e criar um
ma direo factvel d , que melhora ou diminui a funo objetivo no

espao transformado. Para este fim, define-se primeiramente a matriz nula da projeo do esppao por:

Pk = I AkT ( Ak AkT ) 1 Ak = I X k AT ( AX k2 AT ) 1 AX k
Ento, a direo de movimeento

d , dada por:

d yk = Pk (c k ) = [ I X k AT ( AX k2 AT ) 1 AX k ] X k c
Note que a matriz projeeo
completo

(4.7)

k
y

(4.8)

P k bem definida ao longo de A sempre quue tem posto

k
m e xk > 0 . tambm
m fcil verificar que AX k d = 0 . A Figura 2.2 mostraa o esboo da

projeo.

FIGURA 4.2 Esboo da projeoo do vetor direo do Mtodo Primal Afim no espao bidimensional
Agora tem-se a condio de mudar, no espao soluo transformado, a soluo interior atual

y = e ao longo da direo d yk , para uma nova soluo interior y k +1 > 0 , garantindo o deecrscimo do
k

valor da funo objetivo. Fazendo


o assim, tem-se que escolher um comprimento do passso
apropriado, tal que:

k > 0 ,

y k +1 = y k + k d yk > 0
Observe que, se

d yk 0 , ento k poder ser escolhido como qualquer nm


mero positivo,
(d yk )i < 0 , para algum i, ento k deve sser escolhido,

permanecendo no interior da regio.. Note que, se


inicialmente considerando as razes:

y ki
k
y i

(d )
Desta forma pode-se escolhher

1
(d yk )i

0 < < 1 e aplicar o teste de raio mnimo




k = min
m 
i

k
y i

 ( d )


( d yk ) i < 0  ;


Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

(4.9)

16
1434

k +1

para determinar um comprimento do passo apropriado, que garanta a positividade de y . Quando


est perto de 1, a soluo atual movida quase sempre para a fronteira mais prxima do octante positivo
para definir uma nova soluo interior no espao transformado. Esta mudana de soluo ilustrada
tambm na figura 4.2.
Nossa prxima tarefa transformar a nova soluo
obter uma soluo melhorada x
transformao inversa

1
k

k +1

k +1

y k +1 para o espao soluo original, para

para o problema (4.1a,b).

Isto poder ser feito aplicando a

. Em outras palavras, tem-se:

x k +1 = Tk1 ( y k +1 ) = X k y k +1

= x k + k X k d ky
= x k k X k Pk X k c

= x k k X k [I X k AT ( AX k2 AT )1 AX k ]X k c
= x k k X k2 [c AT ( AX k2 AT ) 1 AX k2c
= x k k X k2 [c AT wk

(4.10)

onde

wk = ( AX k2 AT ) 1 AX k2c

(4.11)

Isto significa que a direo de movimento no espao soluo original


e o comprimento do passo

k ,

d xk = X k2 [c A wk
T

d yk = X k [c A wk no espao transformado. Diversas


T

quando

observaes importantes podem ser feitas aqui:


Observao 1. Note que

d yk = PK c k e d xk = X k d yk , onde Pk uma matriz de projeo

vista em (4.7). O decrscimo da funo objetivo demostrado a partir de:

cT x k +1 = cT x k + k cT X k d yk
= cT x k + k (c k )T d yk

= cT x k k (d yk )T d yk
= cT x k k d yk

(4.12)
Isto implica que x
de movimento

k +1

certamente uma soluo de decrscimo da funo objetivo se a direo

k
y

d 0 . Alm disso, tm-se os seguintes lemas que podem ser encontrados em [FANG e

PUTHENPURA 1993]:
k

Lema 4.1. Se existir um x P

com

d yk > 0 , ento o problema de programao linear

(4.1a,b) ilimitado.
Prova. Desde que

d yk est no espao nulo da matriz restrio AX k e d yk > 0 , sabe-se que

y k +1 = y k + k d yk vivel ao problema (4.6), para todo k > 0 . Consequentemente, pode-se escolher

sendo infinitamente positivo, ento a Equao (4.12) implica que o limite de c x

k +1

se aproxima de

, neste caso,para x k +1 = x k + k X k d yk P . 
k

Lema 4.2. Se existe um x P com

d yk = 0 , ento toda soluo vivel do problema de

programao linear (4.1a,b) tima.


Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

17
1435

Prova. Recorde que

se que

Pk uma matriz projeo do espao nulo. Para d yk = Pk X k c = 0 , sabe-

X k c est no complemento ortogonal do espao nulo da matriz AX k . Desde que o complemento

ortogonal neste caso o espao definido pelo nmero de linhas da matriz


que

( AX k )T u k = X k c
1

Desde que X k existe, segue que

ou

AX k , existe um vetor u k tal

(u k )T AX k = c T X k

(u k )T A = cT . Agora para toda a soluo vivel x ,

cT x = (u k )T Ax = (u k )T b
k T
T
Desde que (u ) b no depende de x , o valor de c x permanece constante em P. 
Lema 4.3. Se o problema de programao linear (4.1a,b) for inferiormente limitado e sua funo
objetivo no for constante, ento a seqncia

{cT x k k = 1, 2, ...} bem definida e estritamente

decrescente.
Prova. Esta uma conseqncia direta dos Lemas 4.1, 4.2 e Equao (4.12).
Observao 2. Se x

for realmente um ponto do vrtice, ento a expresso (4.11) pode ser

T 1

w = ( B ) cB , o qual definido como o " vetor Dual" para o Mtodo Dual Simplex.
k
k
Assim denomina-se w como estimador dual (correspondente soluo primal x ) no algoritmo Primal
reduzida a

Afim. Alm disso, neste caso, o vetor:

r k = c AT wk
T

(4.13)

T 1

c A ( B ) cB que o conhecido vetor custo reduzido ou custo relativo no Mtodo


k
k
Simplex. Da chama-se r de vetor custo reduzido ou relativo associado a x no algoritmo afim.
k
k
Observe que quando r 0 , a estimativa dual w se transforma numa soluo vivel dual e
( x k )T r k = eT X k r k transforma a folga complementar no par de soluo vivel ( x k , wk ) , isto ,
reduz-se a

c T x k b T w k = eT X k r k
T

(4.14)

No caso de e X k r = 0 com r 0 , tem-se conseguido ento a factibilidade primal de x ,


k

a factibilidade dual de w , e as condies de folgas complementares. Ou seja, x timo primal e w


timo dual.
Baseado na discusso acima, esboa-se aqui um procedimento iterativo do algoritmo Primal
Afim.
4.1.2 Algoritmo Primal Afim.

Passo 1 (inicializao):
discutido mais tarde).

Estabelecemos k=0 e x > 0 tal que Ax = b (Detalhe a ser

Passo 2 (Clculo do vetor estimativa dual): Calcular o vetor estimativa Dual.

wk = ( AX k2 AT ) 1 AX k2 c
onde

X k a matriz diagonal visto em (4.3) cujos elementos so as componentes de xk .

Passo 3 (Clculo do vetor custo relativo): Calcular o vetor custo reduzido.

r k = c AT wk
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

18
1436

Passo 4 (Teste para otimalidade): Se r 0 e e X k r (um nmero positivo pequeno


fixo), ento PARE, x
seguinte.

timo primal e w timo dual. Caso contrrio, v para o passo

Passo 5 (Direo de translao): Calcule a direo

d ky = X k r k
k

Passo 6 (Teste para ilimitariedade e valor objetivo constante): Se d y > 0 , ento PARE, o
k

problema ilimitado. Se d y = 0 , ento tambm PARE, x timo primal. Caso contrrio v


para o Passo 7.
Passo 7 (Clculo do comprimento do passo): Calcule o comprimento do passo


 yik
k = min  k , tal que d yk )i < 0
i
 (d y )i


onde

0 < <1

Passo 8 (Determinao de uma nova soluo): Atualize

x k +1 = x k + k X k d ky
Faa

k k + 1 e v para o passo 2

O Algoritmo Primal Afim, visto nesta seo, implementado em Linguagem Pascal 7.0
utilizado no exemplo numrico 4.1, dado a seguir, para ilustrar este algoritmo
Exemplo 4.1
Considera-se o Problema de Programao Linear:

- 2x1 + x2

Minimizar
sujeito a :

x1 x2 15

(4.1.1)

x2 15
x1 , x2 0
Este, na forma cannica expresso por:

- 2x1 + x2

Minimizar
sujeito a :

x1 x2 + x3 = 15
(4.1.2)

x2 + x4 = 15
x1 , x2 , x3 , x4 0

O mtodo Primal Afim ser testado para o problema dado na forma cannica, ou seja, o
problema (4.1.2) a qual est definido com restries de igualdade.
Neste caso,
T
T
1 - 1 1 0  ,
,
e
B
=
15
15
c
=
2
1
0
0
A=

0 1 0 1 

Assume-se x = 10

10 0
0 2
X0 = 
0 0

0 0
Alm disso,

0
0 0 
7 0

0 13

2 7 13] , a qual uma soluo interior factvel. Da:


T

w0 = ( AX 02 AT ) 1 AX 02c = [- 1,33353 - 0,00771 0 0]

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

19
1437

r 0 = c AT w0 = [ 0.66647 0.32582 1.33535 0.00771]

Desde que algumas componentes de r so negativas e e X 0 r = 2.1187 , sabe-se que a


soluo atual no tima. Conseqentemente prossegue-se para sintetizar a direo de busca com

d y0 = X 0 r 0 = [6.6647 0.6516 9.3475 0.1002]

Suponha que escolhido

= 0.99 , ento o comprimento do passo


0 =

Conseqentemente, a nova soluo :

0.99
= 0.1059
9.3475

x1 = x 0 + 0 X 0 d yo = [17.06822 2.13822 0.07000 12.86178]

18 para 31.99822 . Fazendo-se


T

mais iteraes, verifica-se que o processo iterativo converge soluo tima x = [30 15 0 0]
com o valor da funo objetivo 45 .
Observe que o valor da funo objetivo foi melhorada de

O resultados obtidos, e a interpretao geomtrica do problema dado e das solues encontradas


pelo algoritmo, so vistas, respectivamente, na Tabela 4.1 e na Figura 4.3.
TABELA 4.1 Resultados Obtidos pelo Algoritmo Primal Afim para o (4.1.2)

Iterao

xik
16.782336515
2.132636515
0.3499999999
12.867363485
23.0731155942
8.0906559421
0.0175
6.9093440579
29.637182208
14.654532797
0.0173505898
0.34546720289
29.967032773
14.982726640
0.056938811
0.017273360
29.9900972523
14.991757223
0.00078469405
0.00824276980
29.998945353
14.999587895
0.00064276173
0.00412138490
29.999687342
14.999713389
0.00003213808
0.00286613571

Funo Objetivo

-31.432636515

-38.055655943

-44.619831618

-44.951338906

-44.990187824

-44.998302811

-44.999661295

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

20
1438

A soluo tima encontrada computacionalmente foi

x17 = 29.999687342
e o valor da funo objetivo

x27 = 14.999713389

z 7 = 44.999661295

Na implementao feita do algoritmo Primal Afim no foi utilizado, como critrio de parada, o
critrio das folgas complementares. Nesta optou-se por utilizar o critrio simples de n m componentes
tenderem a zero, o que determina um vrtice do problema, para uma preciso = 10

FIGURA 4.3 Interpretao geomtrica para o problema (ex.4.1a) e das solues obtidas pelo algoritmo
Primal Afim
A convergncia do algoritmo Primal Afim.

Nosso objetivo mostrar que a

seqncia {x } gerada pelo algoritmo Primal Afim (sem parar na etapa 6) converge a uma soluo
tima do problema de programao linear (4.1a,b). A fim de simplificar a prova, faz-se as seguintes
suposies:
1.
2.

O problema de programao linear em considerao tem um domnio vivel limitado com interior
no-vazio;
O problema de programao linear no-degenerado primal e no degenerado dual.

A primeira suposio retira a possibilidade de se terminar o algoritmo Primal Afim com


ilimitariedade, e pode ser posteriormente mostrado que estas duas suposies implicam que:
(i) a matriz

AX k de posto completo (m colunas L.I.' s) , para cada x k P ;


k

(ii) o vetor estimador dual r tm no mximo m zeros para cada w R .


A seguir sero revistos alguns Lemas simples, mas importante para nossa anlise de
convergncia.
Lema 4.4 - Quando aplica-se o algoritmo Primal Afim tem-se que
T

lim X k r k = 0 .

Prova. Desde que a seqncia {c x } monotonicamente decrescente e limitada


inferiormente (pela primeira suposio), ento a mesma convergente. Da as equaes (4.12) e (4.9)
implicam que

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

21
1439

0 = lim (cT x k cT x k +1 ) = lim k d yk


k

Observe que

lim

d yk

d yk

> 0 e d yk 0 , logo tem-se:


lim d yk = lim X k r k = 0

E a prova do resultado imediata.

Note que o resultado acima exatamente a condio das folgas complementares.


Definindo C P , como sendo o conjunto em que se verificam as folgas complementares, ou
seja:

C = {x k P / X k r k = 0} ;
(4.15)
alm disso, introduzindo D P , como sendo o conjunto em que a condio vivel dual se verifica, isto
,

D = {x k P / r k 0} ;
(4.16)
e, considerando-se as condies de otimalidade do problema de programao linear, fcil provar o
seguinte resultado:

x C D , x uma soluo tima do problema de programao linear

Lema 4.5 - Para todo


(4.1a,b).

Agora est-se pronto para provar que a seqncia {x } gerada pelo algoritmo Primal Afim
converge para uma soluo tima do problema (4.1). Primeiramente, mostra-se que:
Teorema 4.1 - Se

{x k } convergir ento x = lim x k uma soluo tima para problema


k

(4.1a,b)

{x K }

convergir para x , x deve ser vivel primal. Entretanto, para provar este resultado assume-se que x
Prova Prova-se este resultado pela contradio. Primeiramente note que quando

no timo primal.
Desde que

r k (.) uma funo contnua de x a x k , sabe-se que r = lim r k bem definido.


k

Alm disso, o Lema 4.4 implica que:

X r = lim X k r k = 0
k

Da tem-se x C . Por suposio e Lema 4.5, sabe-se que x D . Consequentemente, existe

ao menos um ndice j tal que rj


de

< 0 . Recordando que x C , tem-se xj = 0 . Devido continuidade

r k , existe um inteiro K tal que para todo k K ,{rjk } < 0 . Entretanto, considere que:
k +1

xj
Desde que

= x kj k ( x kj ) 2 rjk
k +1

( x kj ) 2 rjk < 0 , temos x j

> x kj > 0, k K , o que contradiz o fato que

x kj xj = 0 . Da, chega-se a uma contradio de nossa hiptese. Portanto, x timo primal.



O trabalho restante deve mostrar que a seqncia

{x k } certamente converge.

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

22
1440

Teorema 4.2 - A seqncia {x } gerada pelo algoritmo Primal Afim convergente.


Prova. Desde que o domnio vivel no-vazio, fechado e limitado, devido a compacidade do

{x k } tem ao menos um ponto de acumulao em P, dito x . Nosso objetivo


k

mostrar que x tambm o nico ponto de acumulao de {x } e da este o limite da seqncia gerada
{x k } .
k
k
Observando-se que r (.) uma funo contnua em x e aplicando-se o Lema 4.4, pode-se

concluir que x C . Alm disso, a suposio de no-degenerao implica que cada elemento em C

incluindo x deve ser uma soluo vivel bsica (vrtice de P). Da podemos denotar suas variveis no

bsicas por x j , e define-se como o ndice para se ajustar estas variveis no bsicas. Alm disso,
conjunto P a seqncia

para todo

> 0 , define-se uma bola de raio > 0 , ao redor de x


B = {x k P / x Nk < e}

dada por :

Assume-se que r seja o vetor custo reduzido correspondente a x . A no degenerao primal


e dual assegura-nos encontrar um > 0 tal que

min
~ rj >
jN

Recorde que a suposio de no-degenerao implica em cada membro de C ser um vrtice de P


e h somente um nmero finito dos vrtices em P. Da C tem um nmero finito de elementos e pode-se
escolher um apropriado > 0 tal que

Bi C = x

(4.17a)

x k B

min
~ rj > ,
j N

(4.17b)

Recordando que
2

lim d yk

= lim X k r k

=0

tem-se

lim x kj rjk

=0

Devido condio de P ser limitado, sabe-se que o comprimento do passo


um nmero positivo e limitado. Conseqentemente, para

S, = {x k Bk k x kj rjk
Agora, para todo

< . Da pode-se definir um

~
< , j N }

(4.18)

rjk < ,

~
j N

x kj +1 = x kj k ( x kj )2 rjk < 2,
Isto mostra que

x k S , , (4.18) implica que


k ( x kj )i

e que, alm disso,

em cada iterao

e apropriadamente escolhidos, se

x k B , que suficientemente prximo de x , v-se que k x kj rjk


conjunto

~
j N

x kj +1 B2 se x k S,

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

23
1441

{x K } . Por contradio,
k

supe-se que a seqncia {x } tem mais de um ponto de acumulao. Desde que x um ponto de
k

acumulao, a seqncia {x } pertence a S , sempre que (4.17b) est satisfeita. Mas, como x no o

Agora pode-se mostrar que x o nico ponto de acumulao de

nico ponto de acumulao, a seqncia alterada sempre que se aproxima de um novo ponto e satisfaz
(4.17b). Entretanto, cada vez que a seqncia alterada S , , ela permanece em B2 / S , .
Conseqentemente, infinitos elementos de

{x k } , permanecem em B2 / S , . Note que estes diferentes

conjuntos tem um fecho compacto, e a subseqncia de

{x k } que pertence a B2 / S , deve ter um

ponto de acumulao no fecho compacto. Devido definio de C, sabe-se que cada ponto de
acumulao de

{x k } deve pertencer-lhe. Entretanto, C disjunto do fecho de B2 / S , . Este fato, junto


k

com a Equao (4.17), causa uma contradio. Assim x certamente o limite da seqncia {x } .
Mais resultados a respeito da convergncia do algoritmo Afim sob a condio de degenerao
tem aparecido recentemente.

4.1.3 Implementando o Algoritmo Primal Afim


As implementaes feitas necessitam de um ponto interior inicial para serem aplicadas. Nesta
seo, ser definido um procedimento para determinao de uma soluo factvel inicial, bem como, a
verificao da ocorrncia de otimalidade e da busca de uma soluo bsica vivel bsica tima.

Iniciando o algoritmo Primal Afim. De maneira anloga aquela estabelecida para o


Mtodo Simplex Revisado [LUENBERGER 1984], ser introduzido aqui dois mecanismos, a saber, o
Mtodo Big-M e o Mtodo Duas-Fases para encontrar uma soluo vivel interior inicial. O primeiro
mtodo executado mais facilmente e apropriado para a maioria das aplicaes. Entretanto, uma
execuo comercial mais sria considera freqentemente o segundo mtodo devido a sua estabilidade.

Mtodo Big-M. Neste mtodo, adiciona-se uma varivel artificial x

um nmero positivo grande M ao programa linear original para fazer que


transforme numa soluo vivel interior inicial para o seguinte problema:

sujeito a :

associado com

(1, 1,....,1) R n +1 se

cT x + Mx a

Minimizar

onde

(4.19a)

x
[A|b Ae ]  a  = b,
x 

x0

xa 0

(4.19b)

e = (1, 1, ..., 1)T R n .

Comparando o Mtodo Big-M com o Mtodo Simplex Revisado, tem-se aqui somente n+1
variveis, em vez de n+m. Quando o algoritmo Primal Afim aplicado ao problema Big-M (4.19a,b)
com M suficientemente grande, desde que o problema seja vivel, chega-se em uma soluo tima ao
problema Big-M ou conclui-se que o problema ilimitado. Se a varivel artificial permanecer positiva na

( x , x a ) do problema Big-M, ento o problema de programao linear original infactvel.

Caso contrrio, ou o problema original inferiormente ilimitado, ou x a soluo tima do problema de


soluo final

programao linear original.


Aps as consideraes dos mecanismos iniciais v-se os critrios de parada para a
implementao do algoritmo Primal Afim.
Teorema 1.3.: (Condies de Otimalidade de Karush-Kunh-Tucker - KKT)
Considere os problemas (4.1a,b) e o problema no formato dual (4.1c). O vetor
tima do problema (4.1a,b) e

x * uma soluo

(w , s ) soluo tima para o Problema Dual (4.1c) se, e somente se:


*

Ax = b ,

x0

(factibilidade primal)

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

24
1442

(factibilidade dual)
AT w + s = c , s 0
XSe = 0
(folgas complementares)
T
1
2
n
1 2
n
onde X = diag x , x ,, x , S = diag s , s ,, s e e = (1, 1,  , 1) .

(x , w , s ) soluo tima do sistema acima se, e somente


soluo tima de (4.1a,b) e (w , s ) soluo tima do (4.1c). O vetor (x , w , s ) chamado
Do teorema 4.3 tem-se que o vetor

se x
de soluo Primal-Dual.

Critrios de Parada. Como mencionado anteriormente, uma vez que as condies de


K-K-T so encontradas, um par de solues tima est encontrado. Da usa-se as condies (I) da
factibilidade primal, (II) da factibilidade dual e (III) das folgas complementares como critrios de parada.
Entretanto, em execues reais estas circunstncias so algumas vezes relaxadas para acomodar as
difculdades numricas devido s limitaes da exatido da mquina.
k

Assumindo que x uma soluo atual obtida aplicando o algoritmo Primal Afim. As
condies primal da factibilidade requerem que
(I)

factibilidade primal

Ax k = b,

xk 0

(4.20)

Na prtica, a factibilidade primal medida freqentemente por:

p =
Note que para

Ax k b
b +1

com

xk 0

(4.21)

x k 0 , se p for bastante pequeno, pode-se aceitar x k para ser vivel

primal. Somando-se 1 no denominador de (4.21) assegurar-se a estabilidade numrica na


computao.
(II)
factibilidade dual
A factibilidade dual requer a no-negatividade dos custos reduzidos, isto ,

r k = c AT wk 0

(4.22)

onde w a estimativa dual definida na equao (4.11). Uma medida prtica da factibilidade
dual poderia ser definida como

d =
onde

rk e c

rk

(4.23)

c +1
k

so calculados somente para i tal que o ri < 0 . Quando

suficientemente pequeno, pode-se afirmar quer a factibilidade dual est satisfeita para w .
(III) folgas complementares
A condio de folga complementar requer que

( x k )T r k = eX k r k = 0

(4.24)

c T x k b T w k = eT X k r k

(4.25)

Desde que
k

onde x primal vivel e w dual vivel, pode-se definir

c = cT x k bT w k

(4.26)

para medir a condio de folga complementar.

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

25
1443

Na prtica, escolhe-se  c ,  d e  p como nmeros positivos suficientemente pequenos e os


utiliza-se ento para decidir se a iterao atual satisfaz o critrio de parada. De acordo com [FANG e
PUTHENPURA - 1993], tem-se observado o seguinte comportamento para o algoritmo Primal Afim:
1.
2.

3.
4.

Em cada iterao, o engarrafamento computacional devido ao clculo das estimativas duais w .


Embora a condio primal mantida teoricamente, o truncamento numrico e os erros de
arredondamento dos computadores poderiam ainda causar infactibilidade. Conseqentemente, a
factibilidade primal necessita ser verificada com cuidado. Uma vez que a infactibilidade detectada,
pode-se aplicar o procedimento "dinmico de correo da infactibilidade" da Fase-I para restaurar a
factibilidade primal.
O valor da funo objetivo decresce nas iteraes seguinte, mas tende a um decrescimento lento
considervel quando a soluo atual se torna mais perto da otimalidade.
O algoritmo um tanto sensvel ao primal degenerado, especialmente quando a iterao prossegue
perto da otimalidade. Mas esta observao no sempre verdadeira. Em muitos casos, igualmente
com a presena do primal degenerado, o algoritmo se comporta bem.

Encontrando uma soluo vivel bsica. Observe que, exatamente como o algoritmo
de Karmarkar, em cada iterao, a soluo atual do algoritmo Primal Afim permanece sempre no
interior do domnio vivel P. A fim de obter uma soluo vivel bsica, o esquema da depurao e as
tcnicas relacionadas ao Mtodo Big-M e ou Mtodo Duas-Fases podem ser aplicados aqui.
4.1.4 Complexidade Computacional
Comparado transformao projetiva de Karmakar, a transformao Afim menos complicada e
mais natural. A execuo do Primal Afim tambm bastante simples. No necessita a suposio do
"valor objetivo timo zero" nem requer a "estrutura simples" especial. Por distante, um dos variantes
mais populares do mtodo de ponto interior. De acordo com [VANDERBEI et al 1986], para problemas
com matrizes
de restries densas, a implementao
Primal Afim prxima de

7.3885 m 0.0187 k n 0.1694 iteraes para alcanar uma soluo tima para uma tolerncia = 10 3 . O
resultado foi derivado da anlise da regresso de 131 problemas gerados aleatoriamente.
Embora na prtica o algoritmo Primal Afim executa muito bem, nenhuma prova mostra que ele
um algoritmo de tempo polinomial.

Mtodo da funo barreira logartmica. Uma outra maneira de se permanecer longe


da fronteira do octante positivo incorporar uma funo barreira, a qual assume valores extremamente
n

elevados ao longo dos limites { x R x j = 0, para algum 1 j n} , na funo objetivo original,


ou seja, penalizando os pontos do conjunto citado, analogamente aos resultados vistos na Seo 3.2.
Minimizando esta nova funo objetivo, consegue-se, automaticamente, garantir que uma soluo
qualquer seja definida distante da fronteira do octante positivo. O mtodo barreira logartmica considera o
seguinte problema de otimizao no-linear:
n

Minimizar F (x) = cT x-  ln x j

(4.27a)

j =1

sujeito

a:

Ax = b,

x0

(4.27b)

x ( ) um soluo tima para o problema (4.27a,b), e se x ( ) tender

a um ponto x quando tende para zero, ento, x uma soluo tima do problema de programao
linear original. Observe tambm que a restrio de positividade x > 0 est considerada na definio da
onde

>0

um escalar. Se

funo logartmica.
O PPL (4.27a,b) equivalente ao seguinte problema Lagrangeano:
n

Minimizar F (x) = c x-  ln x j + ( Ax b)


T

(4.27c)

j =1

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

26
1444

onde, o vetor multiplicador d eLagrange.

>0

Da, para todo

fixo, a direo de busca de Newton d em uma dada soluo vivel

obtida resolvendo o seguinte problema de otimizao quadrtica:

1 T 2
d F(x)d + ((F ( x ))T d
2

Minimizar

sujeito a :
onde

(4.28a)

Ad = 0

(4.28b)

F ( x) = c X 1e AT e 2 F (x) = X -2 .

Em outras palavras, a direo de Newton est no espao nulo da matriz A e minimiza a


aproximao de F (x) .
As Condies de Primeira Ordem do problema (4.27a,b) em relao varivel

 F (x)d + F ( x) = 0

 Ad = 0

d :

Substituindo-se as expresses de F ( x ) e

(4.28c)

2 F (x) , vistas em (4.28a, b) no sistema (4.28c)

tem-se:

X 2 d + (c X 1e + AT ) = 0

 Ad = 0
Assume-se que

denota o vetor de multiplicadores de Lagrange, ento d

e satisfazem

ao seguinte sistema de equaes:

 X 2

 A


AT 

0 

 d 
 c X 1e 
  = 



 
0


 

Multiplicando o sistema por X tem-se:

 X 1

 AX

Assumindo

XAT 

0 

 d 
 Xc e 
  = 

 
 0 
 

= X 1 d , tem-se
 I

 AX


XAT 

0 

 
 Xc e 
  = 

 
0


 

logo

= [ I XAT ( AX 2 AT )1 AX ]( Xc e)

(4.29)

d =

X [ I XAT ( AX 2 AT ) 1 AX ]( Xc e)

(4.30a)

Fazendo a soluo dada ser x = x e comparando d com a direo de busca Primal - Afim

d xk , tem-se:
d =

A componente adicional

d xk + X k [ I X k AT ( AX k2 AT ) 1 AX k ] e

(4.30b)

X k [ I X k AT ( AX k2 AT ) 1 AX k ] e = X k Pk e pode ser vista como

uma fora que afasta uma soluo qualquer da fronteira do problema. Da esta componente ser chamada

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

27
1445

de "fora de centragem" e o mtodo barreira logartmica um "algoritmo Primal Afim com fora de
centragem. A Figura 4.4 ilustra geometricamente a direo encontrada d .

FIGURA 4.4 Interpretao geomtrica do vetor direo do Mtodo Primal Afim com
procedimento de centragem atravs do mtodo de barreira logartmica
Enquanto a teoria clssica da funo barreira requer que x

= K

explicitamente antes que

0 > 0,

resolva o problema (4.27a,b)

seja reduzido, em [GONZAGA 1989] demonstrado que existe

0 < < 1, e > 0 , tal que, escolhendo d K por (4.29), xk +1 = xk + d , e k +1 = k


k

o mtodo verifica a convergncia para uma soluo tima x

do problema original de programao

linear original em O ( nL ) iteraes. Isto poderia resultar em um algoritmo Afim de tempo polinomial
3

com complexidade O ( n L) . Uma simples e elegante prova devido a C. Roos e J-Ph. Vial [ROOS e
VIAL 1990], a qual anloga aquela proposta por R. Monteiro e I. Adler [MONTEIRO e ADLER
1990] para o algoritmo Primal Dual.
4.2 O Mtodo Dual-Afim para o Problema Primal
Considera-se um Problema de Programao Linear (PPL), em sua forma de desigualdade:

min
sujeito a :

z = cT x
Ax b

(4.31a)

A mxn ; c, x n ; , b m , onde A uma matriz de posto m.


O seu PPL dual expresso por:

max
bT w
sujeito a : AT w = c, w 0

(4.31b)

A mxn; c n; w,b m.
O PPL (4.31a) conhecido na literatura como Problema em formato dual e pode ser resolvido
da seguinte maneira:
Introduzindo as variveis de folga temos:

z = cT x

min
sujeito a:

 Ax + s = b

s 0

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

(4.32)

28
1446

Seja x um ponto interior factvel para (4.31a), ou seja, Ax = b , logo


ponto factvel para (4.32).
Temos que o interior do PP, representado por Int(PP), dado por:

s = b Ax > 0 um

Int ( PP ) = {s R n / Ax + s = b, s > 0}
Considerando a Iterao k+1, temos:

x k +1 = x k + d xk

(4.33a)

s k +1 = s k + d sk

(4.33b)

Deseja-se que:

Ax k +1 + s k +1 = b, s k +1 > 0
cT x k +1 cT x k

(4.34a)
(4.34b)

Substituindo (4.33a,b) em (4.34a), temos que:

Ad xk + d sk = 0 (direes factiveis)

(4.35)

Substituindo (4.33a) em (4.34b), temos que:

cT d xk < 0 (condio para minimizar a funo objetivo)

(4.36)

Definindo a matriz S k = Diagonal ( si ) , ou seja:

 s1 ... 0 


Sk =  ... ... ... 
 0 ... s 
m

Podemos definir:

u = S k1s (varivel do espao transformado)

(4.37)

S k1s k = e = u k
Portanto de (4.37), temos:

d sk = S k d uk (direo factvel no Espao Transformado

(4.38)

Substituindo (4.38) em (4.35), temos:

S k1 Ad xk = duk
T

Multiplicando-se ambos lados por A S k , tem-se:

AT S k2 Ad xk = AT S k1duk
onde a matriz

AT S k2 A simtrica e definida positiva, assim esta matriz inversivel e

podemos expressar d x da seguinte forma:

d xk = ( AT S k2 A)1 AT S k1duk
Por definio

Qk = ( AT S k2 A)1 AT S k1 , ento (4.39a) pode ser escrito como:


d xk = Qk d uk

k
x

(4.39a)

k
x

(4.39b)

k
x

Como d deve satisfazer c d 0 , a melhor escolha para d (4.39b).


k

A equao (4.39b) implica que d x determinada por d u no espao transformado. Se


k

pudermos encontrar uma direo apropriada d u tal que (4.36), satisfeita, ento conseguimos nosso
objetivo. Nesse sentido, definimos:

duk = QTk c

(4.40a)

Ento, temos:
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

29
1447

cT d xk = cT Qk duk = cT Qk QTk c = cT Qk

e assim a direo definida em (4.32a) satisfaz (4.36).


Considerando (4.39b) e (4.40a), vemos que:

d xk = ( AT S k2 A) 1 c

(4.40b)

Conseqentemente, de (4.35), temos a seguinte direo de busca no espao original:

d sk = Ad xk = A( AT S k2 A) 1 c
k
x

(4.40c)

k
s

Uma vez que a direo de busca ( d ; d ) determinada, o comprimento do passo


definido pela condio de no-negatividade de s
seguintes condies:

k +1

e, da mesma forma que no algoritmo tem-se as

Se d s = 0 , ento o problema dual tem um valor objetivo constante em seu

1-

conjunto de restries viveis e ( xk ; sk ) timo de (4.31a);


k

Se d s > 0 , ento o problema (4.31a) ilimitado;


Caso contrrio

23-

 sik

/ (d sk )i < 0 onde 0 < < 1
k
 ( d s )i


k = min 
i

Note que, podemos definir o vetor estimativa para o PPL dual (4.31b) o qual escrito por:

wk = S k2 d sk
T

2
k

k
s

-2
k

k
x

-2
k

-2
k

-1

(4.41)
k

ento A w = A S d = A S Ad = ( A S A)( A S A) c = c . Portanto, w pode ser visto


como o vetor estimativa dual para algoritmo Dual-Afim. Uma vez calculado o vetor estimativa dual

wk 0 , e considerando-se a soluo factvel primal xk , ento, a folga complementar definida por


cT x k bT wk . Alm disso, se cT x k bT wk = 0 , ento ( xk ; sk ) deve ser timo primal e wk timo
Dual. Esta informao pode ser usada para definir o critrio de parada para o Algoritmo Dual-Afim de
Pontos Interiores, ou seja, considerando-se > 0 , uma pequena tolerncia positiva, definimos este
critrio por: cT x k bT wk < , > 0 .
4.2.1 O Algoritmo Dual-Afim para o PPL em Formato Primal
0

Passo 1: Considere k = 0 e encontre uma soluo inicial ( x ; s ) tal que

Ax 0 + s 0 = b e s 0 0
k

Passo 2 (Obter a direo de translao): Defina S k = Diagonal ( si ) e calcule:

d xk = ( AT S k2 A) 1 c e d sk = Ad xk
k

Passo 3 (Teste para ilimitariedade): Se d s = 0 , ento PARE. ( x ; s ) timo dual. Se

d sk > 0 , ento tambm PARE. O problema (4.31a) ilimitado. Caso contrrio v para o passo 4;
Passo 4 (Clculo do vetor estimativa dual): Calcule o vetor estimativa dual por:

wk = Sk2 d sk
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

30
1448

Passo 5 (Teste para otim


malidade): Se x 0 e c x b w < , onde
k

tolerncia positiva, ento PARE, w timo dual e


seguinte.

uuma pequena

xk timo primal. Caso contrrio, v para o passo

Passo 6 (Clculo do com


mprimento do passo): Calcule o comprimento do passo

 sik

/ (d sk )i < 0  onde 0 < < 1
k
 ( d s )i


k = min 
i

Passo 7 (Determinao de
d uma nova soluo): Atualize:

x k +1 = x k + k d xk
s k +1 = s k + k d sk
Faa k k + 1 e v parra o passo 2.
Exemplo 4.2:
Minimizar

z = 2 x1 x2

Sujeito a :
 s1  1 
 1 1 
s   
1

0

  x1   2  3 
 0 1    +  s3  =  2 

  x2     
 s4   0 
 1 0 
 s  0 
0 1
 5
s1 , s2 , s3 , s4 , s5 > 0

Figu
ura 4.5- Interpretao geomtrica do exemplo 4.2
n Figura 4.5 a soluo do nosso PPL o vrtice x* = ( 3 2 0 0 0 ) .
Como podemos visualizar na

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

31
1449

Tabela 4.2 resultados obtidos iterativamente pelo mtodo Dual-Afim

Analisando a Tabela 4.2 podemos observar que a soluo encontrada pelo Mtodo Dual-Afim
7

x , que aproximadamente x*. As mesmas concluses feitas para o mtodo Primal-Afim so vlidas
para o mtodo Dual-Afim de pontos interiores, incluindo sua anlise de convergncia e complexidade
polinomial, atravs do uso da funo barreira logartmica.

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

32
1450

5. O Algoritmo Primal-Dual de Pontos Interiores


Da mesma forma que no procedimento do algoritmo Primal Dual Simplex, em adio ao
Primal Afim e Dual Afim, pode ser definido um algoritmo Primal Dual de pontos interiores. O
algoritmo primal-dual de pontos interiores definido utilizando-se de procedimentos baseados na funo
barreira logartmica. A idia de se usar o mtodo da funo barreira logartmica para problemas de
programao convexa pde ser feita baseando-se no mtodo de K. R. Frisch de 1955. Depois que o
algoritmo de Kamarkar foi introduzido em 1984, o mtodo funo barreira logartmica foi ser
reconsiderado para resolver problemas de programao lineares. P. E. Gill, W. Murray, M. A. Saunders,
J. A. Tomlin, e M. H. Wright usaram este mtodo para desenvolver um mtodo barreira projetada de
Newton e mostraram uma equivalncia ao algoritmo projetivo de Kamarkar, em 1985. N. Megiddo
forneceu uma anlise terica para o mtodo barreira logartmica e props uma estrutura Primal Dual em
1986. Usando esta estrutura, M. Kojima, S. Mizuno, e A. Yoshise [KOJIMA et al 1989] apresentaram
um algoritmo primal-dual de tempo polinomial para problemas de programao lineares em 1987. Estes
mostraram que seu algoritmo convergia em O ( nL ) iteraes exigindo

O(n 3 ) operaes aritmticas por

iterao. Da a complexidade total do mesmo ser de O( n L) operaes aritmticas. Mais tarde, R. C.


Monteiro e I. Adler [MONTEIRO e ADLER 1989] refinaram o algoritmo Primal Dual para convergir
em O ( n L ) iteraes com
de

O(n 2.5 ) operaes aritmticas, exigidas por iterao, resultando num total

O(n 3 L) operaes aritmticas.

5.1 Idias bsicas do Algoritmo Primal Dual


Considere o programa linear na forma padro:

Minimizar
Sujeito a

cT x
Ax = b,

Minimizar
Sujeito a

bT w
AT w + s = c,

x0

(5.1)

e seu dual

s0

(5.2)

Impomos as seguintes hipteses para o algoritmo Primal Dual:

S {x R n / Ax = b , x > 0} no vazio.
m
n
T
(A2) O conjunto T {(w; s ) R R / A w + s = c, s > 0} no vazio.
(A3) A matriz de restries A tem posto completo e igual a m .
(A1) O conjunto

Sob estas suposies, tem-se do teorema da dualidade que os problemas (5.1) e (5.2) tm
solues timas com um valor comum. Alm disso, os conjuntos das solues timas de (5.1) e (5.2) so
limitados.
Note que, para x > 0 em (5.1) , pode-se aplicar a tcnica da funo barreira logartmica e

( )

considerar a seguinte famlia de problemas de programao no-lineares P :

Minimizar

cT x  ln x j
j =1

Sujeito
onde

>0

Ax = b,

x>0

(5.3)

um parmetro de barreira ou de penalidade.

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

33
1451

Como

( ) convirja a uma soluo

, espera-se que as solues timas do problema P

tima do problema de programao linear (5.1). Afim de provar isto, primeiramente observe que a funo
objetivo do problema P uma funo estritamente convexa, da sabe-se que P tem pelo menos um

( )

( )

mnimo global. A teoria de programao convexa implica que o mnimo global, se existir, est
caracterizado completamente pelas condies de Karush-Kuhn-Tucker (KKT):
Ax = b ,
x>0
(factibilidade primal)
(5.4a)

AT w + s = c , s > 0
XSe e = 0

(factibilidade dual)
(folgas complementares)

(5.4b)
(5.4c)

onde X e S so matrizes diagonais as quais utilizam as componentes dos vetores x e s como


elementos diagonais, respectivamente.
Sob as hipteses (A1) e (A2) e admitindo que (5.1) tem uma regio factvel limitada, ento o
problema P factvel e possui um nico mnimo em x () , para cada > 0 . Conseqentemente, o

( )

w; s ) R n R m R n . Da tem-se o seguinte lema:


Lema 2.1. Sob as hipteses (A1) e (A2), o problema (P ) e o sistema (5.4a,b,c) tem uma nica

sistema (5.4a,b,c) tem uma nica soluo

( x;

soluo.
Observe que o sistema (5.4a,b,c) fornece tambm as condies necessrias e suficientes (as
condies de K-K-T) para x(); s() sendo uma soluo que maximiza o seguinte problema D :

( )

bT w +  ln s j

Maximizar

j =1

Sujeito a

A w + s = c,

s > 0,

(5.5)

Note que a Equao (5.4c) pode ser escrita em suas componentes como:

x js j = ,

(5.6)
para j = 1, ......., n
Conseqentemente, quando a suposio (A3) imposta, x determina unicamente w das
Equaes (5.6) e (5.4b). Denotando (x (); s(); w() ) como a soluo nica do sistema (5.4) para
cada > 0 , ento, tem-se que x ( ) S e ( x(); s() ) T . Alm disso, a folga complementar
transforma-se em:

g () = cT x() bT w()

= c T w()T A x()

= s( )T x( ) = n
Conseqentemente, como

(5.7a)

, a folga complementar g ( ) converge para zero. Isto

implica que x ()
e w() convergem
s solues timas dos problemas (5.1) e (5.2),
respectivamente. Da tem-se o seguinte resultado:
Lema 2.2. Sob as hipteses (A1) - (A3), se

, x ( ) converge soluo tima do

programa (5.1) e w( ) converge soluo tima do programa (5.2).


Para > 0 , denotamos
(5.4a,b,c), isto ,

como a curva, ou trajeto, que representa as solues do sistema

= {( x (); w (); s()) | ( x (); w (); s()) satisfazem (5.4), para todo > 0 } (5.7b)

conduz soluo tima primal x e soluo tima

dual (w ; s ). Assim, seguir a trajetria descrita por serviu para se definir uma classe de mtodos
Quando 0 , a curva definida por

Primal Dual de pontos interiores, para programao linear, denominados de mtodos de trajetria
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

34
1452

central (path-following methods). Por esta razo, pode-se classificar a aproximao Primal Dual como
uma aproximao de trajetria central.
Dado um ponto inicial
pontos

( x 0 ; w 0 ; s 0 ) S T , o algoritmo Primal Dual gera uma seqncia de

( x k ; w k ; s k ) S T pela escolha apropriada de uma direo de busca ( d xk ; d kw ; d sk ) e

comprimento de passo

k ,

em cada iterao. Para medir um "desvio" da curva

em cada

( x k ; w k ; s k ) , introduz-se as seguintes notaes, para k = 0,1, 2 , ..... .


ik = xik sik ,
para i = 1, 2, .....n
(mdia aritmtica da soma
1 n
kave =  ik
dos valores de ik )
n i =1

Obviamente, v-se que


v-se que quando o desvio

(5.8b)

k
min
= min ik ;

k =

(5.8a)

i = 1, 2, .....n

(5.8c)

kave
kmin

(5.8d)

k 1 e ( x k ; w k ; s k ) se e somente se k = 1 . Posteriormente

0 no ponto inicial ( x 0 ; w 0 ; s 0 ) S T grande, o algoritmo Primal

Dual reduz no somente a folga complementar, como tambm o desvio. Com os parmetros
apropriadamente escolhidos, a seqncia de pontos
Primal Dual satisfaz as desigualdades:

{( x ; w ; s ) S T } gerada pelo algoritmo


k

 xik +1sik +1 = cT x k+1 bT wk+1=(1


i =1

 k+1 2 (1

2
)(cT x k bT wk )
k
( n )

1
)( k 2).
(n+1)

se 2< k

k +1 2 se k 2

(5.9a)
(5.9b)
(5.9c)

A primeira igualdade (5.9a) assegura que a folga complementar diminui monotonicamente. Com
as duas desigualdades restantes observa-se que o desvio

k torna-se menor que 3 em no mximo

O(n ln 0 ) iteraes, e ento, a folga complementar converge para zero linearmente, com a taxa de
convergncia de no mnimo 1 2  .
 3n 
5.2 - Direo e Comprimento do Passo de Movimento.

Est-se agora em condio para desenvolver as etapas do algoritmo Primal Dual. Inicia-se
k

sintetizando a direo de translao (direo de busca) ( d x ; d w ; d s ) em um ponto atual


tal que, a translao feita ao longo da curva para um novo ponto
aquela de aplicar o mtodo de Newton ao sistema da equao (5.4a,b,c).

( xk ; w k ; sk ) ,

( x k +1; w k +1; s k +1 ) . Esta tarefa

Direo de Newton. O Mtodo de Newton um dos mais usados, geralmente, para


encontrar uma soluo de um sistema de equaes no-lineares atravs de sucessivas aproximaes do
sistema por equaes lineares. Para ser mais especfico, suponha que F z = 0 uma aplicao no-

()

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

35
1453

linear em R

e necessita-se encontrar um z R

tal que

F (z ) = 0 . Usando a aproximao da

srie de Taylor (para z = z ), Obtm-se uma aproximao linear:

F ( z k + z ) F ( z k ) + J ( z k )z
k
onde J (z ) a matriz Jacobiana cujo (i , j) -simo elementos dado por:

(5.10)

 Fi ( z ) 


 z j  z = z
e z um vetor da translao. Como o lado esquerdo de (2.6) avalia uma soluo para
se um sistema linear:

F (z ) = 0 , tem-

J ( z k ) z = F ( z k )
Um
k +1

vetor
k

soluo

da

equao

(5.11)

k
z

fornece

uma

iterao

de

(5.11)
Newton de

k
z

z a z = z + d , com uma direo de Newton d e um comprimento do passo unitrio. Quando


J ( z ) no-singular e o ponto inicial z 0 "prximo o bastante" de z , o mtodo de Newton converge

quadraticamente para z . Mas esta taxa de convergncia valida somente para um comportamento
0

"local". Para um aplicao no-linear geral F ( z ) , se z no for prximo o bastante de z , a iterao de


Newton pode divergir.
Focalizando-se no sistema no-linear (5.4a,b,c), supe-se que se est em um ponto

( x k ; w k ; s k ) para algum k > 0 , tal que x k s k > 0 . A direo de Newton (d xk ; d ku ; d sk )


determinada pelo seguinte sistema de equaes:

 Ax k b 
d xk 

 T k
 k
k
(5.12)
AT
d u  =  A w + s c 
k
k
 X k Sk e  e 
d s 
0


 
k
k
onde X k e Sk so as matrizes diagonais formadas por xi e s i , respectivamente, como seus elementos
A
0

 S k

0
I 
X k 

diagonais. De (5.12) tem-se que:

Ad xk = ( Ax k b)
AT d wk + d sk = c AT wk s k
S k d xk + X k d sk = v k = k e X k S k e
Por simplificao de notaes, as equaes acima so reescritas por:

Ad xk = t k
T

k
w

k
s

(5.13a)

(5.13b)

S k d xk + X k d sk = v k

(5.13c)

A d +d =u
onde,

t k = b Ax k

u k = c AT w k s k

Para resolver o sistema (5.12), isola-se d


-1
k k .

AX S

k
s

vk = k e X k Sk e

(5.14)

e multiplica-se ambos os lados da equao (2.9b) por

Ento, tem-se:

AX kS-1kd sk = AX k S k1 X k1v k A X k S k1 X k S k1 d xk

 

I

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

36
1454

AX kS-1kd sk = AX k S k1 X k1v k Ad xk
 
tk

pk

AX kS-1kd sk = AX k S k1 p k + t k

(5.15)

Ento, tem-se:

AX kS-1k AT d wk = AX k S k1u k AX k S k1d sk

(5.16)

Substituindo-se (5.15) em (5.16) tem-se:

AX kS-1k AT d wk = AX k S k1u k AX k S k1 p k + t k

(5.17)

Isolando d w tem-se:

] (AX S u AX S p + t )
= [AX S A ] (AX S (u p ) + t )

d wk = AX k S-k1 AT
d wk

1
k

1 k
k

1
k

T -1

1
k

(5.18a)

Uma vez que d w obtido, d x e d s pode ser prontamente calculado.


k

Para o clculo de d s isola-se a mesma da equao (5.13c) e assim tem-se:

S k d xk + X k d sk = v k
d xk = S k1v k S k1 X k d sk

d xk = S k1 v k X k d sk

(5.18b)

k
s

J para o clculo de d isola-se a mesma da equao (5.13b) e assim tem-se:

AT d wk + d sk = u k
d sk = u k AT d wk

(5.18c)

Logo as direes so calculadas atravs de:

d wk = AX k S k1 AT
k
s

] (AX
-1

d =u A d

k
w

S k1 (u k p k ) + t k

(5.18d)

(5.18f)

( x k ; w k ; s k ) S T , As equaes (5.18d,e,f) so simplificadas por:

d wk = AD k2 AT
k
s

d = A d
1
k

k
x

ASk1v k

k
w

= diag
e D
k
k

( x /s )
k

(5.19a)
(5.19b)

k
s

d = S [v X k d ]

2 = X S 1
onde D
k
k k

(5.18e)

d xk = S k1 v k X k d sk
Novamente, para

(5.19c)

importante notar que d x , d w e d s em (5.19a,b,c) so determinadas correlativamente.


Denotando-se o vetor:
(5.20a)
r k () = X k1D k v k ()
e a matriz

Q = D k AT ( AD k2 AT ) 1 AD k
k

ento ( d x ; d w ; d s ) podem ser reescritas como

d wk = D k ( I Q)r k ()
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

(5.20b)
37
1455

d sk = ( AD k2 AT ) AD k r k ()

(5.20c)

d = D Qr ()
1
k

k
x

(5.20d)

Desde que a matriz Q a matriz projeo ortogonal no espao coluna da matriz

D k AT , v-se

que:

D k2 d xk + D k d sk = r k ()
(5.21a)
(d xk )T d sk = ( D k2 d sk )T D k d sk = 0
(5.21b)
Aps ter obtido uma direo de Newton na k -sima iterao, o algoritmo Primal Dual
determina um novo ponto de acordo com a seguinte equao:

x k +1 = x k + k d xk ;
wk +1 = wk + k d wk ;
s k +1 = s k + k d sk ;
com um comprimento do passo
e

(w

k +1

k apropriadamente escolhido na k -sima iterao tal que, x k +1 S

; s k +1 ) T .

( xk ; w k ; sk ) S T ,
o algoritmo Primal Dual necessita de dois parmetros e , tal que 0 < < 1 , o primeiro
k
para controlar o parmetro de penalidade (ou barreira) e o segundo, para controlar o comprimento do
k
passo na k -sima iterao. Para o parmetro de penalidade, recordando as notaes definidas em
k
(5.8a,b,c,d), desde que deseja-se reduzir a folga complementar, n ave , pode-se escolher o parmetro de

Comprimento do passo e parmetro de penalidade. Quando

penalidade para ser um nmero menor, ajustando:

kave
(5.21c)
n
k
Desta maneira, a definio (5.15) implica que v 0 .
k
Para o comprimento do passo , a escolha feita por um valor prximo das folgas
k =

xik d ski + sik d xki = k ik . Da a


folga complementar varia quadraticamente nos termos do comprimento do passo , desde que
xik +1 () sik +1 () = ik () ( xik + d xki ) ( sik + d ski )

complementares. Note que a Equao (5.13c) e (5.14) implica que

= ik + ( k ik ) + 2 (d xki d ski ),
k T

Alm disso, desde que (d x )

(5.22a)

i = 1, 2, , n

d sk = 0 , calculando-se a folga complementar mdia, tem-se que,

a folga complementar muda linearmente em , isto ,


k
k
kave () = ( xik + d xk )T ( s k + d sk ) / n = ave
+ ( k ave
)
k

(5.22b)

Ignorando o termo quadrtico de (5.22a) e reduzindo o valor = ave por um fator


pode-se definir uma funo linear:

< ,

k () = kmin + (kave kmin )


k

(5.23)

A funo i () pode ser convexa ou cncava dependendo do valor do produto


Para a parte convexa, desde que

d xki d ski 0 , a curva de ik () est abaixo

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

k
xi

d d ski .

da curva de

38
1456

k () para 0 1 . Entrettanto, uma parte cncava de ik () pode cruzar k () como


mostrado na Figura 5.1. A fim dee controlar o parmetro de desvio

k enquanto se reeduz a folga

complementar, escolhe-se:

k = max{ / ik () k () para todo (0, ) , 0 < < 1, e i = 1, n}


(5.24)
k

na k -sima iterao definido por

Ento o comprimento do paasso

k = min 1, k
O significado geomtrico de
d
k

(5.25)

k e k descrito na Figura 5.1. V-se claramente nna figura que

a escolha de depende da escolha de

0 < < 1 para assegurar a existncia de k .

mtrico do comprimento do passo para o Mtodo Primal Dual


Figura 5.1 Significado geom
Note que, quando

( x k ; w k ; s k ) S T , desde que

( d xk ; d wk ; d sk ) umaa soluo de

= b e AT wk +1 + s k +1 = c . Alm
A
disso, a
k
k +1
k +1
> 0 e s > 0 . Em outtras palavras,
definio de em (5.24) implicca, alm disso que, x
k

(5.13a,b,c), com t = 0 e u = 0 , sabemos que Ax

k +1

( x k +1; w k +1; s k +1 ) S T .
5.3 Algoritmo Primal Dual
e
os passos do algoritmo Primal Dual, como seguue:
Agora est-se pronto para enunciar

k = 0 e encontre uma soluo inicial ( x 0 ; w 0 ; s 0 ) S T .


Seja > 0 uma tolernciaa para a folga complementar e , , parmetros de controole, tal que:
0 < < 1;

Passo1 (Inicializao): Ajjuste

Passo 2 (Testando a otimaalidade): Se c x b w < , ento pare. Seno, conttinue.


k

Passo 3 (encontrando a direo de busca): Defina ave e

kmin por (5.8). Faa k = kave e

v k = k e X k Sk e . Calcuule d xk ; d wk ; d sk de acordo a (5.19a,b,c).


Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

39
1457

k por (5.24) e k por (5.25).

Passo 4 (calculando o comprimento do passo): Calcular


Passo5 (movendo para uma nova soluo): Faa

x k +1 = x k + k d xk
wk +1 = wk + k d wk
s k +1 = s k + k d sk
Ajuste

k k + 1 e v para o Passo 2.

5.4 Trmino do Algoritmo em Tempo Polinomial

Ao contrrio dos algoritmos Primal Afim e o Dual Afim, o algoritmo Primal Dual de
tempo polinomial. A boa escolha do comprimento de passo

k em cada iterao conduz aos resultados

de convergncia:
Teorema 5.1. Se o comprimento do passo

k < 1 na k -sima iterao, ento:


4( )
4( )

k 2
n(1 2 + ) n(1 + 2 )k

cT x k +1 bT wk +1 = (1 (1 )k )(cT x k bT wk )
k +1 / (1 v)( k / ) se / < k
k +1 / se k /

(5.26a)
(5.26b)
(5.26c)
(5.26d)

onde:

v=
Por outro lado, se

4( )
n(1 + 2 ) + 4( )

k = 1 , ento:
cT x k +1 bT wk +1 = (cT x k bT wk )
k +1 /

(5.27a)
(5.27b)

A prova do Teorema 5.1 pode ser vista em [FANG e PUTHENPURA - 1993].

Em vista do Teorema 5.1, se k a iterao mais prxima em que



< k (1 v ) k  0  + ,




k > / , ento:

k < k

, k k

k
Se k no existir, ento > / , k e
k



< k (1 v ) k  0  + , k



Observe que, para 0 < v < 1 , em ambos os casos tem-se:

k max{ / , 0 },

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

40
1458

Ento possvel ver que torna-se menor que / + 1 em no mximo


iteraes. Conseqentemente, segue da equao (5.26a) que:
4(1 )( )
(1 )k
, k k

2 
n(1 + ) + 1
 
T

Pela equao (5.26b), a folga de dualidade c x b w atinge a preciso dada


o critrio de parada em no mximo,

 c T x 0 b 0 w0  
 
O  n ln 





iteraes adicionais. Da o algoritmo Primal Dual finalizado em, no mximo,


O( n ln 0 ) + O  n ln


O(n ln 0 )
(5.28)

, satisfazendo

 c T x 0 b 0 w0  
 






iteraes.
H vrias maneiras de ajustar os parmetros e tal que 0 <
Como um caso especial, fazendo-se = 1/ 2 e = 1 / 4 , ento:

< 1.

4
nk

e (5.28) segue. Observe tambm que, em cada iterao do algoritmo Primal Dual, a dificuldade
computacional est na inverso da matriz

AD k2 AT . Uma implementao direta requer O (n3 ) operaes


4

elementares para a inverso da matriz e os resultados em uma complexidade computacional O (n L)


para o algoritmo Primal Dual. Definitivamente, esta complexidade pode ser reduzida para melhores e
mais eficientes tcnicas de implementao, tal como, a tcnica de fatorizao de Cholesky.
5.5. Iniciando o Algoritmo Primal Dual

Para se aplicar o algoritmo Primal Dual, inicia-se com um ponto arbitrrio


0

( x ; w ; s 0 ) R n + m + n tal que x 0 > 0 e s 0 > 0 .


0
0
0
T 0
0
0
No caso em que Ax = b e A w + s = c , sabe-se que x S e ( w ; s ) T e tem-se
uma soluo inicial para o algoritmo Primal Dual. Seno, considera-se o seguinte par de problemas
lineares, primal e dual, artificiais:

cT x + xn +1

Minimizar

Ax + (b Ax 0 ) xn +1 = b

Sujeito a
T

(5.29a)

(A w + s c ) x + xn + 2 =

( x; xn +1; xn + 2 ) 0
onde xn +1 e xn + 2 so duas variveis artificiais e
para ser especificados posteriormente por:

e so nmeros positivos suficientemente grandes,


Maximizar

Sujeito a

bT w + wn +1

AT w + ( AT w0 + s 0 c) wm +1 + s = c

(5.29b)

(b - Ax 0 )T w + sn +1 =

wm +1 + sn + 2 = 0
( s; sn +1; sn + 2 ) 0
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

41
1459

onde

wm +1 , sn +1 e sn + 2 so variveis artificiais
Observe que, escolhendo-se e tal que:
> (b Ax 0 )T w0
T

(5.30a)
T

> ( A w + s c) x
0

ento ( x ;

0
n +1

x ; x

0
n+ 2

) e (w ; w

0
m +1

; s ; s

0
n +1

; s

0
n+2

(5.30b)

) so solues factveis aos problemas

artificiais (5.29a) e (5.29b), respectivamente, onde

xn0+1 = 1
xn0+ 2 = ( AT w 0 + s 0 c )T x 0

wn0+1 = 1
sn0+1 = (b Ax 0 )T w0

sn0+ 2 = 1
Neste caso, o algoritmo Primal Dual pode ser aplicado aos problemas artificiais (5.29a) e
(5.29b) com uma soluo inicial conhecida. Conseqentemente, as solues timas de (5.29a) e (5.29b)
esto relativamente prximas quelas dos problemas originais (5.1) e (5.2).
O teorema seguinte descreve esta relao:
Teorema 5.2. Sejam x e ( w
adio a (5.30a) e (5.30b), suponha que:

; s ) solues timas dos problemas originais (5.1) e (5.2). Em


> ( AT w0 + s 0 c )T x

(5.30c)

> (b Ax0 )T w

(5.30d)

e
Ento as duas condies seguintes so verdadeiras:
(i)

Uma soluo factvel

( x ; xn +1; x n + 2 ) de (5.29a), minimiza (5.29a), se, e somente se,

x resolve (5.1) e xn +1 = 0 .
(ii)

Uma soluo factvel ( w ; w m +1 ; s ; s n +1 ; s n + 2 ) de (5.29b), maximiza (5.29b)


se, e somente se, (w ; s ) resolve (5.2) e w m +1 = 0 .

A prova do Teorema 5.2. pode ser encontrada em [FANG e PUTHENPURA 1993].


5.6 Implementao Prtica

Na implementao do algoritmo Primal Dual, uma tarefa muito difcil manter

( x ; w ; s k ) S T devido aos problemas de arredondamentos numricos. Tambm, a escolha dos


k

parmetros de controle influenciam no desempenho do algoritmo. Muito esforo tem sido dedicado para
se conseguir uma verso do algoritmo Primal Dual para uma implementao prtica. Nesta seo, ser
0

introduzida uma verso deste algoritmo que permita inicializ-lo com um ponto arbitrrio ( x ; w ; s )

x 0 , s 0 > 0 . Esta verso produz uma seqncia de iteraes {( x k ; w k ; s k )}, com x k , s k > 0 , a
qual leva para uma soluo tima, embora as mesmas no permaneam ao longo da curva de S T .
com

importante saber que, neste momento, no h nenhuma prova rigorosa da convergncia para esta verso
do algoritmo Primal Dual, mas este muito usado em pacotes computacionais.

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

42
1460

Direo de busca. Suponha que se tem um ponto

( x k ; w k ; s k ) para algum k > 0 ,

tal que x ; s > 0 . A direo de Newton ( d x ; d w ; d s ) determinada pela Equao (5.18a) - (5.18c).
Combinando (5.18a), (5.18b), e (5.18c), tem-se:

D k2 = X k Sk1
.
nulo da matriz AD

onde

d xk = k D k Pk D k X k1e D k Pk D k c + D k2 AT ( AD k2 AT ) 1 t k
(5.31a)
AT ( AD 2 AT ) 1 AD , a qual , a matriz de projeo no espao
e Pk = I D
k
k
k

Se alm disso, definido:

d xk, c = D k Pk D k c

d xk, = k D k Pk D k X k1e,

d xk, x k = D k2 AT ( AD k2 AT ) 1 t k

ento (5.31a) transforma-se em:

d xk = d xk, + d xk, c + d xk,t k

(5.31b)

O primeiro termo de (5.31b) denominado de direo de centragem. O segundo termo


chamado de direo de reduo da funo objetivo primal. O terceiro termo chamado de direo de
factibilidade, desde que t

a medida de factibilidade primal. Note tambm que Ad x = 0 e

Ad xk, c = 0 . Da, estas duas direes esto no espao nulo da matriz A , e a factibilidade primal
k

considerada unicamente por d x , t k .


0

x 0 , s 0 > 0 , o valor de t 0

Na prtica, iniciando-se com um ponto arbitrrio ( x ; w ; s ) com


0

pode ser muito grande, desde que x poderia ser infactvel. Neste caso, o esforo principal do algoritmo
ser o de encontrar um ponto factvel prximo trajetria central. Uma vez que uma soluo factvel
k

encontrada (supondo-se, na k -sima iterao), o algoritmo tentar manter t = 0 para todo k k ,


exceo do caso em que a factibilidade perdida devido a erros de truncamento numrico ou a erro de
arredondamento. Desta forma,

d xk, t k tender a zero sempre que t k 0 .


k

De maneira anloga pode-se realizar a anlise das direes de busca d w e d s .

Comprimento do passo. Uma vez que a direo de busca obtida, tem-se a condio

de mover-se para um novo ponto ( x

k +1

; w k +1; s k +1 ) com x k +1 > 0 e s k +1 > 0 .

Sendo assim, considera-se:

x k +1 = x k + P d xk
(5.32a)

w
s

k +1

k +1

= w + Dd
k

= s + D d

k
w

k
s

(5.32b)
(5.32c)

P e D so os comprimentos dos passos nos espaos primal e dual, respectivamente. As


k +1
k +1
exigncias de no negatividade de x
e s
determinam a escolha do comprimento do passo P e
D . Uma forma simples de obt-los fazer:
1
(5.33a)
P =
max{1,d xki / xik }
onde

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

43
1461

P =

( )
k

onde < 1, d x

1
max 1,d ski / sik

(5.33b)

a i -sima componente de d x , xi a i -sima componente de


k

sima componente de d s , e si a i -sima componente de

x k , (d sk )i a i -

sk .

Ajustando os parmetros de penalidade e o critrio de parada. Observe que a

direo de busca na

k -sima iterao determinada pelo valor do parmetro de penalidade k .

Estritamente falando, a translao descrita acima tem de ser realizada diversas vezes para um valor fixo
de

k , de modo que os processos de Newton convirjam para a trajetria central ajustadas por k .

Entretanto, procedendo-se assim seria necessrio vrios passos de Newton para se aproximar da trajetria.
Levando-se em conta que, a fim de satisfazer a folga complementar,
conseqentemente, em implementaes prticas, o valor de
uma etapa de Newton realizada para um valor dado de

k tende para zero,

k reduzido iterao a iterao e somente

k , ainda que, no se consiga com este valor

permanecer exatamente na trajetria central.


A maneira na qual
equao (5.4c) v-se que

k pode ser reduzido em cada iterao sugerida pelo prprio algoritmo. Da


= sT x / n . Assim, na iterao k os valores de x k e s k nos do uma

medida razoavelmente boa do parmetro de penalidade para a soluo corrente e, de acordo com a
experincia dos autores [FANG e PUTHENPURA - 1993], s vezes, um valor menor

k , dito,

[(s k )T x k ] / n com < 1 , poderia acelerar a convergncia do algoritmo. Houve outras idias
similares relatadas por vrios outros autores na escolha de

k . No obstante, o critrio simples acima

parece trabalhar bem para uma variedade de problemas prticos resolvidos pelos autores.
To logo os critrios de parada sejam satisfeitos, pode-se verificar a factibilidade primal, a
factibilidade dual, e a folga complementar. Observe, que a factibilidade primal medida por
factibilidade dual por

tk , a

k e a folga complementar por v k , como definido por (5.14).

Procedimento Passo a Passo. Como um sumrio da discusso feita, fornece-se agora


procedimentos, passo a passo, para a implementao do algoritmo Primal Dual de Ponto Interior.

k = 0 . Escolha um ponto inicial arbitrrio


nmeros positivos
s > 0 , e escolha 1 , 2 e 3

Passo 1 (iniciando o algoritmo): Ajuste


0

( x ; w ; s ) com x > 0 e

suficientemente pequenos
Passo 2 (Clculos intermedirios): Calcule

( x k )T s k
n
u k = c AT wk s k ,
vk = k e X k Sk e ,
k =

t k = b Ax k ,

p k = X k1v k e

D k2 = X k Sk1 , onde X k e S k so as matrizes diagonais cujas componentes diagonais so xik


k

e si , respectivamente.
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

44
1462

Passo 3 (Verificando a otimalidade): Se

k < 1 ,

t
b +1

< 2 ,

c +1

< 3

ento PARE. A soluo tima. Caso contrrio v etapa seguinte.


[ Obs.:

u e c so calculados somente quando as restries duais so violadas. Se

u = 0 , ento no h necessidade de calcular esta medida de otimalidade.]


Passo 4 (calculando as direes de translao): Calcule

d wk = AD k2 AT

) (AD (u
1

2
k

pk ) + t k

d sk = u k AT d wk
d k = D 2 ( p k d k )
x

Passo 5 (Verificando a ilimitariedade): Se

t k = 0 , d xk > 0 e cT d kx < 0
ento o problema primal (5.1) ilimitado. Se

u k = 0 , d sk > 0 e bT d kw > 0
ento o problema dual (5.2) ilimitado. Se qualquer um destes casos acontecer, PARE. Seno,
passe etapa seguinte.
Passo 6 (Encontrando o comprimento do passo): Calcule o comprimento do passo primal e
dual

P =

1
max 1,d xki / xik

D =

1
max 1,d ski / sik

onde < 1 ( = 0.995)


Passo 7 (Determinando um novo ponto): Atualize os vetores soluo

x k +1 x k + P d xk
wk +1 wk + D d wk
s k +1 s k + D d sk
Faa

k k + 1 e volte para o Passo 2.

O Algoritmo Primal Dual de Pontos Interiores, visto nesta seo, implementado em Linguagem
Pascal 7.0, utilizado no exemplo numrico 5.1, dado a seguir, para ilustrar este algoritmo.

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

45
1463

Exemplo 5.1

Considera-se o Problema de Programao Linear:

Minimizar

- 2x1 + x2

x1 x2 15

Sujeito a

(5.1.1a)

x 2 15
x1 , x2 0
Este, na forma cannica expresso por:

Minimizar

- 2x1 + x2

x1 x2 + x3 = 15

Sujeito a

(5.1.1b)

x 2 + x4 = 15
x1 , x2 , x3 , x4 0
O Problema Dual de (5.1.1a) :

Maximizar
1
 1

1

0

Sujeito a

0
1
0

1

15w1 + 15w2

 s1   2
   
 w1   s 2   1 
+
w   s  =  0 
3
 2
   
s4   0 

(5.1.1c)

s1 , s 2 , s 3 , s 4 0
Inicia-se o mtodo com uma escolha arbitrria de x 0 = [1 1 1 1] , w0 = [0
T

T
s 0 = [1 1 1 1] . Com esta informao, v-se que

T
0] ,

X 0 , S 0 e D 02 so todos iguais matriz identidade

I , e 0 = 1 .
Calcula-se agora:
T
u 0 = c AT w0 s 0 = [ 3 0 1 1] ,

T
t = b Ax 0 = [14 13] ,
0

T
v 0 = 0e X 0 S0e = [0 0 0 0] ,

p 0 = X 01v 0 = [0 0 0 0]

Conseqentemente,

0.4 0.2 10 6.4


p0 ) + t 0 = 
  = 
0.2 0.6 12 0.2
T
d s0 = u 0 AT d w0 = [ 9.4 2.8 7.4 10.2]
T
d 0 = D 2 ( p 0 d 0 ) = [9.4 2.8 7.4 10.2]

d x0 = AD 02 AT

) (AD (u
1

2
0

0
x

Embora d > 0 e c d x < 0 , observa-se por

t 0 que o primal ainda infactvel neste

momento. Da prossegue-se os passos do algoritmo.


Escolhe-se = 0.995 . Usando a frmula para calcular os comprimentos do passo,
encontramos que P = 1.0 e D = 1 / 10.30303 = 0.097959 . Conseqentemente a soluo
atualizada :

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

46
1464

x1 = [1 1 1 1] + 1.0 [9.4 2.8 7.4 10.2]


T

= [10.4 3.8 8.4 11.2]

s = [1 1 1 1] + 0.097059 [ 9.4 2.8 7.4 10.2]


T

= [0.08765 0.72824 0.28176 0.00999]

w1 = [0 0] + 0.097059 [6.4 9.2] = [0.62118 0.89294 ]


T

A nova soluo x j factvel primal, a qual concorda com as discusses precedentes.


Realizando mais iteraes determina-se a soluo tima:
T
T
T
x = [30 15 0 0] ,
s = [0 0 2 1]
w = [ 2 1] e
O resultados obtidos e a interpretao geomtrica do problema dado e das solues
encontradas pelo algoritmo so vistas, respectivamente, na Tabela 5.1 e na Figura 5.2.
Tabela 5.1- Resultados obtidos pelo Algoritmo Primal Dual de Pontos Interiores
wik
xik
F. Objetivo
ITERAO
1

1.9211078431
1.2743725490
1.7251274510
1.9995000000
4.1686432021
1.3646996807
0.94817351297
3.1908375660
8.2861628984
1.9872467281
0.0047408675
4.9336155709
14.077168253
7.3348158488
0.0054905422
0.0024668077
23.356232468
11.784868297
0.00309055363
0.03426678921
2.8704845732
1.4378350344
0.00404590917
0.00001713339
2.9990354696
14.993571634
0.00321693878
0.00642836558
2.9990443356
14.993630033
0.00318667619
0.00636996742

0.62713725490
0.90150980392
0.41022118941
0.78207052864
0.53324050754
0.46644541713
0.60949508777
0.38773135740
-1.4230522398
0.42305360564

-2.5678431373

-6.9725867235

-14.585079069

-20.819520656

-34.927596640

-2.0002700106
-1.0009569722

-43.031341121

-2.0002120691
-1.0006301893

-44.987137757

-2.0002125354
-1.0006376512

-44.987256680

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

47
1465

Figura 5.2 Interpretao geomtrica do exemplo 5.1. e das solues obtidas pelo Algoritmo
Primal Dual e Primal Afim
5.6. Mtodo Primal Dual para Variveis Canalizadas

Nesta seo faz-se uma extenso do Mtodo Primal Dual para Variveis Canalizadas. O
desenvolvimento da extenso citada feito baseando-se no trabalho realizado em [FANG e
PUTHENPURA, 1993].
Os mtodos Primais Duais so variaes do Mtodo de Newton obtidas a partir de
k

modificaes na maneira de calcular a direo de busca ( d x , d w , d s ) , e o parmetro que controla o


tamanho do passo em cada iterao k . O valor de

k pode atuar no algoritmo de dois modos:

Mantendo o novo ponto no interior da regio vivel e,

Cuidando para que (x, z) permanea longe das fronteiras do quadrante no-negativo, (x, z)
0. Direes calculadas a partir de pontos prximos a este quadrante tendem a ser
distorcidas levando a pouco, se algum, progresso [WRIGHT - 1997].

A idia da trajetria central desempenha um papel fundamental no tratamento das questes


acima.
Considere o problema primal:

Minimizar cT x
Sujeito a Ax = b
0 x u,
onde A R

m n

, bR ,

(5.34a)

x, c, u R n . Observe que no impem-se uma restrio do tipo l x u

pois ela pode ser facilmente transformada em

0 x u (ser discutido posteriormente).

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

48
1466

Transformando a inequao x u , reescreve-se o problema (5,34) como segue:

Minimizar cT x
Sujeito a Ax = b
x+z =u
x0

(5.34b)

z 0.
O problema dual de (5.34a) :

Maximizar bT w u T y
Sujeito a
onde w R

AT w + s y = c
s0

(5.34c)

s, y R n .

As condies de otimalidade de KKT para os problemas (5.34a) e (5.34b) so:

AT w + s y = c

(5.35a)

Ax = b

(5.35b)

x+ z =u

(5.35c)

SWe e = 0

(5.35d)

XZe e = 0

(5.35e)

onde X, Z, S e W so matrizes diagonais, e = (1,  ,1) e a mtrica dual ou parmetro de ajuste


T

curva definida pela trajetria central.


O conjunto soluo,

0 , para os problemas (5.34a) e (5.34b) ser denotado aqui como:

0 = ( x, w, z, y, s ) / A T w + s y = c, Ax = b, x + z = u , ( x, z , y, s ) > 0 .
Considera-se ainda para a determinao de direes de busca que:
Ax b


 AT w + s y c 


F (h) = F ( x, w, z , y , s ) =  x + z u  = 0


ZWe




SZe

(5.36)

5.6.1 - Direes de Busca

Supondo em um passo

k que as condies para uma soluo corrente satisfaam a (5.35), ou

seja, a viabilidade primal e dual.


A definio do novo ponto, na iterao

k + 1 , depende diretamente das direes de movimento e

comprimento de passo nesta direo.


Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

49
1467

Sem se preocupar, em uma primeira anlise, com o comprimento do passo, considera-se, na


iterao

k + 1 , o novo ponto definido por:


k
k
 x k +1   x + d x 
 k +1 
k
k
 w   w + dw 
 z k +1  =  z k + d k 
z 
 k +1   k
k
y
y
d
+

y 


 s k +1   k
k 
  s + d s 


Assim, necessita-se determinar a direo d

(k )

(5.37a)

= d xk , d wk , d zk , d yk , d sk

para obter-se o novo

ponto.
Seguindo-se os passos do Mtodo de Newton e considerando, de forma anloga a (5.10), a
equao (5.36), explicitamente, a direo de movimento d

(k )

pode ser obtida por:

 d xk 
 k
 dw 
 d k  = J 1 ( x k , w k , z k , y k , s ) F ( x k , wk , z k , y k , s )
 zk 
dy 
 k 
 ds 

(5.37b)

Mas no usual, na prtica, determinar-se d

(k )

atravs de (5.37b), pois a inverso de J (h

invivel computacionalmente. Assim, determina-se d

(k )

resolvendo-se o seguinte sistema linear:

J (h( k ) )d ( k ) = F (h ( k ) )

(k )

(5.37c)

imediato que:

A 0

T
0 A
J (h ( k ) ) = J ( x k , wk , z k , y k , s ) =  I 0

0 0
S 0


0
0
I
W
0

0
I
0
Z
0

0

I
0

0
X 

(5.37d)

Considerando-se (5.37d), ento, reescreve-se (5.37c) da seguinte maneira:

A

0
I

0
S


0
AT

0
0

0
I

0
0

I
Y

0
Z

0   d xk   t k 
    
I   d wk   u k 
0   d zk  =  f k 
 k

k
0  dy   q 
   
X   d sk   v k 

(5.38)

onde,

t k = b Ax k ;

u k = c AT wk s k + y k ;

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

f k = r xk z k ;
50
1468

q k = k e Z k Yk e ;

vk = k e X k Sk e .

Resolver o sistema linear (5.38) no usual devido estrutura esparsa e de blocos da matriz.
k

Assim, calcula-se d x , d w , d z ,

d yk e d sk separadamente atravs das seguintes equaes:

Desde que, em uma iterao


solues x

k +1

e z

k +1

Ad xk = t k

(5.39a)

AT d wk + d sk d yk = u k

(5.39b)

d xk + d zk = f k

(5.39c)

Yk d zk + Z k d yk = q k

(5.39d)

S k d xk + X k d sk = v k

(5.39e)

k , a viabilidade depende de x k + z k = r , ento para as novas

deve-se garantir que x

Considerando-se x

k +1

k +1

+ z k +1 = r

= x k + d xk e z k +1 = z k + d zk , chega-se condio:
d xk + d zk = 0

Portanto,

d zk = d xk
Agora, isola-se

(5.40a)

d yk e d sk de (5.39d) e (5.39e) , respectivamente:


Yk d zk + Z k d yk = q k
d yk = Z k1 (q k Yk d zk )

(5.40b)

S k d xk + X k d sk = v k
d sk = X k1 (v k S k d xk )

(5.40c)

Combinando-se os resultados encontrados em (5.40a), (5.40b) e (5.40c) com aqueles vistos em


k

(5.39), so determinados as direes de movimento d w e d x :

AT d wk + d sk d yk = u k
AT d wk + X k1 (v k S k d xk ) Z k1 ( q k Yk d zk ) = u k

AT d wk + X k1v k X k1S k d xk Z k1q k + Z k1Yk d zk = u k



pk

AT d wk = u k p k + X k1S k d xk Z k1Yk d xk + Z k1q k


AT d wk = u k p k + Z k1q k + ( X k1S k + Z k1Yk )d xk
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

(5.41d)
51
1469

Tomando = ( X k S k + Z k Yk )

e multiplicando

A em ambos os lados tem-se:

AAT d wk = A( p k + Z k1q k + u k ) + A 1d xk

AAT d wk = A( p k + Z k1q k + u k ) + Ad xk

tk

d wk = ( AAT ) 1 A( p k + Z k1q k + u k ) + t k

(5.41e)

Reconsiderando-se (5.41d) tem-se:

AT d wk + p k X k1S k d xk Z k1Yk d xk + Z k1q k = u k


AT d wk + p k Z k1q k ( X k1S k + Z k1Yk ) d xk = u k
1

Tomando = ( X k S k + Z k Yk )

1d xk = u k AT d wk p k + Z k1q k
1d xk = AT d wk + p k Z k1q k u k
d xk = ( AT d wk + p k Z k1q k u k )

(5.41f)

Resumindo-se os resultados encontrados em (5.41), tem-se:

d wk = ( AAT ) 1 A( p k + Z k1q k + u k ) + t k

d xk = ( AT d wk + p k Z k1q k u k )
d zk = d xk

(5.42)

d yk = Z k1 (q k Yk d zk )
d sk = X k1 (v k S k d xk )
5.6.2 Comprimento do Passo de Movimento

Uma vez que a direo de busca obtida, tem-se a condio de mover-se para um novo ponto

( x k +1 ; w k +1; z k +1; y k +1 ; s k +1 ) garantindo-se que com x k +1 > 0 , s k +1 > 0 e z k +1 > 0 . A restrio


de no-negatividade destas variveis requer um controle do passo a ser dado em cada direo obtida,
assim, reconsidera-se (3.3a) reescrita por:

x k +1 = x k + P d xk

(5.43a)

wk +1 = w k + D d wk

(5.43b)

s k +1 = s k + D d sk

(5.43c)

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

52
1470

onde

y k +1 = y k + D d yk

(5.43d)

z k +1 = z k + P d zk

(5.43e)

P e D so os comprimentos dos passos nos espaos primal e dual, respectivamente. As

exigncias de no negatividade de x

k +1

e s

k +1

determina a escolha do comprimento do passo

P e

D . Uma forma simples, de obt-los fazer:


 x k z k

P = Min 1, ki , ki tal que d xki , d zki < 0
d zi
 d xi


(5.44a)

 s k

D = Min1, ki tal que d ski < 0
d si



(5.44b)

onde

<1

5.6.3. Critrio de Parada

Ao contrrio do mtodo Simplex, o algoritmo de Ponto Interior Primal Dual nunca encontra
uma soluo exata para o problema (5.34a). Por isso, o algoritmo precisa usar um critrio de parada para
decidir quando a iterao corrente est prxima o suficiente da soluo tima [WRIGHT - 1997].
Muitos algoritmos consideram uma boa soluo aproximada quela soluo que possui os
resduos, primal,

t = b Ax , dual, u = c AT w z + y e a mtrica dual suficientemente

pequenos. Para esse fim pode-se usar medidas relativas diminuindo os problemas de escala dos dados
[WRIGHT - 1997]. Testes tpicos para uma soluo

t
b +1
u
c +1

( x, y, z ) so:
=

b Ax
b +1

c AT w s + y
c +1

cT x (bT w uT y )
cT x + 1
onde

(5.45a)

(5.45b)

(5.45c)

1 , 2 e 3 so tolerncias pr-definidas. Naturalmente outros critrios podem ser adotados em

concordncia com a aplicao a um problema especfico. Para outros tipos de critrio de parada, veja
[FANG e PUTHENPURA, 1993] e [BORCHES e MITCHELL - 1992].
Aps a discusso acima pode-se elaborar o algoritmo, que dado a seguir.

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

53
1471

5.6.4 Algoritmo de Pontos Interiores Primal Dual para Variveis Canalizadas


Passo

(iniciando

algoritmo):

k = 0.

Ajuste

Escolha

um

arbitrrio

( x 0 ; w 0 ; z 0 , y 0 , s 0 ) 0 e 1 , 2 e 3 nmeros positivos suficientemente pequenos


Passo 2 (Clculos intermedirios): Calcule

t k = b Ax k ,

u k = c AT wk s k + y k ,

q k = k e Yk Z k e e

v k = k e X k Sk e ,

p k = X k1v k ,

= ( X k1S k + Z k1Yk ) 1 , onde X k , S k , Z k e Yk so as matrizes


k

diagonais cujas componentes diagonais so xi , si , zi e yi respectivamente.


Observao: para melhor desempenho e convergncia do mtodo interessante considerar

1k =

( x k )T s k
( z k )T y k
2
1
2
; k =
e fazer k = Min{ k , k }
n
n

Passo 3 (Verificando a otimalidade): Se

k < 1 ,

t
b +1

< 2 ,

c +1

< 3

ento PARE. A soluo tima. Caso contrrio v para etapa seguinte.


[ Obs.:

u e c so calculados somente quando as restries duais so violadas. Se

u = 0 , ento no h necessidade de calcular esta medida de otimalidade.]


k

Passo 4 (calculando as direes de translao): Calcule d x , d w ,

d zk , d yk e d sk atravs de

(5.42).
Passo 5 (Verificando a ilimitariedade): Se

t k = 0 , d xk > 0 e cT d kx < 0
ento o problema primal (5.34a) ilimitado. Se

u k = 0 , d sk > 0 e bT d kw > 0
ento o problema dual (5.34b) ilimitado. Se qualquer um destes casos acontecer, PARE. Seno,
passe etapa seguinte.
Passo 6 (Encontrando o comprimento do passo): Calcule o comprimento do passo primal e

dual:
 x k z k

P = Min 1, ki , ki tal que d xki , d zki < 0
d xi
d zi



Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

54
1472


 s
D = Min1, ki tal que d ski < 0

 d si
k

onde

< 1 (utiliza-se = 0.995 )

Passo 7 (Determinando um novo ponto): Atualize os vetores soluo

x k +1 x k + P d xk
wk +1 wk + D d wk
s k +1 s k + D d sk

y k +1 y k + D d yk
z k +1 z k + P d zk
Faa

k k + 1 e volte para o Passo 2.

Uma implementao computacional do algoritmo visto nesta seo foi feita e aplicada ao
exemplo 5.2, seguinte.
Exemplo 5.2.

Considere o exemplo 5.1 agora com as seguintes canalizaes de variveis :

0 x1 30

0 x2 15

Inicia-se com uma escolha arbitrria de x 0 = [1 1 1 1] , w0 = [0 0 ]T , s 0 = [1 1 1 1]T ,


T

T
2
y 0 = [3 0 1 1] e u 0 = [30 15 2 2]T . Com esta informao, v-se que X 0 , S 0 e D
0

so todos iguais matriz identidade I , e

0 = 1.

Calcula-se agora:

t 0 = b Ax 0 = [14 13]

T
u 0 = c AT w0 s 0 + y 0 = [0 0 0 0] ,
T
v 0 = 0e X 0 S0e = [0 0 0 0] ,

p 0 = X 01v 0 = [0 0 0 0]

q 0 = 0e Y0 Z 0e = [ 86 1]

0.90625
 0
= ( X 01S0 + Z 01Y0 ) 1 = 
 0

 0

0
1 0
0 
0 0.5 0 

0 0 0.5
0

Conseqentemente,

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

55
1473

11.471343028 
d wk = 

16.361847733
d xk = [13.083404619 4.8190761334 5.7356715141 8.1809238666]

d zk = [ 13.083404619 4.8190761334 5.7356715141 8.1809238666 ]

d yk = [ 1.6120615911 0.071428571429 5.7356715141 8.180923866]

d sk = [ 13.083404619 4.8190761334 5.7356715141 8.1809238666]

Embora

d x0 > 0 e cT d x0 < 0 , observa-se por t 0 que o primal ainda infactvel neste

momento. Da prossegue-se os passos do algoritmo.


Escolhe-se = 0.995 . Usando a frmula para calcular os comprimentos do passo, encontramos
que P = 0.12217446542 e D = 0.076394488215 .
Conseqentemente a soluo atualizada :
T
x1 = [2.5984579652 1.5887680504 1.700752601 1.995] ,

w1 = [0.8763473797 8 1.2499549838 ]

y1 = [2.8768473798 0.0054567491558 1.4381736899 1.6249774919]

s1 = [0.0005 0.63187914512 0.56182631011 0.3750225080]

z1 = [27 .401542035
1

A nova soluo x

13 .41123195

0.2992473989 7

T
0.0005 ] .

j factvel primal, a qual concorda com as discusses precedentes.

Realizando mais iteraes determina-se a soluo tima:


T
x = [30 15 0 0] ,

T
w = [ 2 1] e

s = [0 0 2 1]

O resultados obtidos e, a interpretao geomtrica do problema dado e das solues


encontradas pelo algoritmo so vistas, respectivamente, na Tabela 5.2 e na Figura 5.2.

Tabela de resultados a partir do ponto x 0 = [1 1 1 1]T , w0 = [0 0]T e

T
s 0 = [1 1 1 1] ,

T
y 0 = [3 0 1 1] e u 0 = [30 15 2 2]T .

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

56
1474

Tabela 5.2 Resultados obtidos pelo Algoritmo Primal Dual Para Variveis Canalizadas

ITERAO

xik

wik

F. Objetivo

2.598457965
1

1.5887680504

-0.8763473797

1.7007526010

-1.2499549838

1.9995000000

3.6081478800

29.86299229
2

.
.
.

14.855658598

1.3657116986

0.80630955056

1.5338114226

-1.8178679067

4.5116939860

.
.
.

.
.
.

.
.
.

29.999476361
8

14.994765238

-1.7000346124

0.0000162123

0.0052347623

0.69984483598

44.994761995

29.9998855128
9

14.999997383

-1.7056292241

0.00114225472

0.000002617381

0.47713125530

4.4997712873

Figura 5.2 Interpretao geomtrica do exemplo 5.2. e das solues obtidas pelo Algoritmo

Primal Dual Para Variveis Canalizadas

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

57
1475

5.6.5 Variveis Limitadas Inferiormente

No incio da seo 5.6 citou-se que uma restrio do tipo l x u pode ser facilmente
transformada em 0 x u . Discuti-se aqui esta afirmao.
A restrio l x u pode ser considerada no problema da seguinte maneira:
xu e xl.
Mas esta no a maneira usual de se resolver o problema devido dificuldade computacional
em estabelecer limitantes para x l .
Considerando-se Ax = b , a matriz de restries e l x u a restrio adicional, ento:
l x u l l x l u l 0 x l u l .
Tomando: u = u l e x = x l ou x = x + l , tem-se: 0 x u .
Substituindo no problema original, tem-se:
Ax = b , 0 x u  A x + l = b  Ax = b Al .

Observe que fazer este tipo de transformao tem um custo de n operaes.


Uma outra forma, mais simples, de se explorar a canalizao de variveis
determinar o tamanho do passo

l x u , ao

P , considerar:


 ( x k l k )
1P = Min  i k i / d xki < 0 ;
d xi



 ( k x k )

2P = Min i k i / d xki < 0
d xi



P = Min{1P , 2P }
Esta definio de

P a mais simples pois no requer nenhuma mudana de varivel no PPL


2

original implicando diretamente na economia das n operaes citadas exigidas pela mudana anterior
feita e no desempenho do mtodo.

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

58
1476

6. O Algoritmo Primal-Dual de Pontos Interiores para Programao Quadrtica


Convexa com variveis canalizadas
6.1 Problema de Programao Quadrtica

O problema de minimizao de funes quadrticas, com restries de igualdade e variveis


canalizadas, denominado de PPQ, expresso de maneira geral por:
1 T
Minimizar
x Qx + c T x
(6.1)
2
Sujeito a : Ax = b;
l xu
mn

em que A R
, tal que posto A n, b R , x, c, u R e Q R nxn uma matriz simtrica e
definida positiva.
O problema (6.1) equivalente a:
1 T
Minimizar
x Qx + c T x
2
Sujeito a : Ax = b

x + z = u;

z0

x r = l;

r 0
(6.2)

em que z , r R so variveis de excesso e folga, respectivamente.


O PPQ Dual de (6.2) expresso por:
1
Maximizar v T Qv + b T w u T y + l T s
2
Sujeito a : Qv + AT w + s y = c
s 0;
y0

(6.3)

em que v R n , w R m e s, y R .
Para um escalar > 0 , pode-se incorporar (6.2) uma funo barreira logartmica resultando no
seguinte problema de otimizao no-linear:
n
n
1
Minimizar F ( x) = xT Qx + cT x  ln r j  ln z j
2
j =1
j =1

Sujeito a :

Ax = b ;
x + z =u ;
x r = l;

(6.4)

O problema dual de (6.4) :


n
n
1
Maximizar- vT Qv+ bT w uT y + l T s  ln s j ln y j
2
j =1
j =1

Sujeito a : - Qv + AT w + s y = c;

(6.5)

Considerando-se a hiptese de que v = x em (6.5) e sob as condies previamente assumidas em (6.1),


ento, as condies de otimalidade de Karush-Kuhn-Tucker (KKT) para os problemas (6.4) e (6.5) so:

Qx + AT w + s y = c
Ax = b
x+z =u
x r =l
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

(6.6a)
(6.6b)
(6.6c)
(6.6d)
59
1477

ZYe e = 0
RSe e = 0

(6.6e)
(6.6f)

onde R, Z, S e Y so matrizes diagonais, e = (1,  ,1) e a mtrica dual ou parmetro de ajuste curva
definida pela trajetria central.
6.2 Direes de busca Tipo Previsor

Supondo em um passo k que as condies de otimalidade (6.6) satisfaam viabilidade primal e dual,
ento, a definio do novo ponto, na iterao k+1, depende diretamente das direes de movimento e
comprimento de passo nesta direo. Sem se preocupar, em uma primeira anlise, com o comprimento do
passo, considera-se, na iterao

k + 1 , o novo ponto h k +1 definido por:

h k +1

k
k
 x k +1   x + d x 


k
k
 w k +1   w + d w 
 k +1   z k + d k 
z
z
=  r k +1  =  k + k  .
dr 

 r
 y k +1   k
k 
+
y
d


y


 s k +1   k
k 

  s + ds 

Assim necessita-se determinar a direo de movimento d ( k ) para obter-se o novo ponto h

(6.7)

k +1

Seguindo-se os passos do Mtodo de Newton , de forma anloga a (5.10) e (5.11), a direo d


pode ser obtida resolvendo-se o seguinte sistema:

J (h ( k ) )d ( k ) = F (h ( k ) ) ;

(k )

(6.8)

tal que (6.8) equivalente ao seguinte sistema linear de equaes:

 A

Q
 I

 I

 0
 0


0
AT

0
0

0
0

0
I

0
0
0
0

I
0
Y
0

0
I

0
0
Z
0

0
S

0  d xk   t k 
   
I  d wk   g k 
 
0  d zk   f k 

=
0  d rk   o k 
   
0  d yk   q k 
R  d sk   v k 

(6.9)

em que:

t k = b Ax k ;
ok = l xk + r k

f k = u xk z k ;

g k = Qx k + c A T w k s k + y k ;
k

q = e Z k Yk e ;

v = e Rk S k e .
k

(6.10a)
(6.10b)

A maneira como foram definidos os resduos t , g , f , o , q , v em (6.10) o que evidencia,


no algoritmo proposto neste trabalho, a diferenciao entre o passo previsor e corretor do mtodo.
As direes a serem determinadas a seguir, no passo previsor, utilizam os resduos definidos em
(6.10). Para determinar as direes no passo previsor existem duas formas distintas na literatura: i) o
sistema (6.9) resolvido diretamente pelo mtodo de Newton, a qual a estratgia usual dos mtodos de
pontos interiores clssicos; ii) resolver o sistema linear (6.9) utilizando a sua estrutura esparsa e de blocos
da matriz, a qual a estratgia dos mtodos de pontos interiores variantes de Karmarkar . Baseando-se em
k
ii), calcula-se d xk , d wk , d zk , d rk , d y e d sk separadamente, atravs das seguintes equaes:

Ad xk = t k

(6.11a)

Qd xk + AT d wk + d sk d yk = g k

(6.11b)

d xk + d zk = f k

(6.11c)

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

60
1478

d xk d rk = o k
Yk d zk
S k d bk

Z k d yk

Rk d sk

(6.11e)

(6.11f)

=q
=v

(6.11d)

Das equaes (6.11c) e (6.11d) tem-se, respectivamente, que:

d zk = d xk + f

(6.12a)

d rk = d xk + o k

Agora, isola-se

d yk

d sk

(6.12b)

em (6.11e) e (6.11f), obtendo-se:

d yk = Z k1 (q k Yk d zk )

(6.12c)

d sk = Rk1 (v k S k d rk )

(6.12d)
Combinando-se os resultados encontrados em (6.12a), (6.12b), (6.12c) e (6.12d) com aqueles vistos
em (6.11) e considerando-se:
(6.12e)
= ( Rk1 S k + Z k1Yk + Q ) 1
tem-se:

d wk = ( AAT ) 1 A ( g k + p k ) + t k
d xk

= (A

d wk

(6.12f)

g p );

(6.12g)

onde,
(6.12h)
p k = Rk1 ( S k o k v k ) + Z k1 ( q k Yk f k ) .
T
Devido ao fato da matriz (A A ) ser simtrica e definida positiva em (6.12f) (considerando a matriz
Q, simtrica e definida positiva), ento, d wk determinado utilizando a Decomposio de Cholesky.
As direes de busca e o algoritmo a serem vistos a seguir baseiam-se em [Wu et al, 1994].
6.3 Direes de Busca -Tipo Corretor

Analogamente ao procedimento realizado na seo em 5.6.1 determina-se a direo de busca do passo

corretor, denominada de d ( k ) , resolvendo-se o seguinte sistema linear:

~
~
J (h ( k ) )d ( k ) = F (h ( k ) ) ;

(6.13)

~
onde, F ( h ( k ) ) obtida considerando-se aproximaes de 2 ordem em (2.7a), a partir do passo previsor,
tal que (6.13) equivalente a:

 A

 Q
 I

 I

 0
 0


0
AT
0

0
0
0 I
Y 0

0
I

0
I
0
0
Z
0

~
0  d xk   t k 
 ~ k   k 
I  d w   g 
~ 
0  d zk   f k 
 ~ =
;
0  d rk   o k 
 ~   
0  d yk   q~ k 
~
R  d sk   v~ k 

(6.14)

em que:

f k = u xk z k ;
g k = Qx k + c AT w k s k + y k ;
v~ k = k e R k S k e D xk D sk e
q~ k = k e Z k Yk e D zk D yk e ;

t k = b Ax k ;

ok = l xk + r k ;
(6.15)

( )

k
As matrizes D xk , D zk , D y e Dsk so matrizes diagonais, cujos elementos diagonais so d xk i ,

(d ) , (d ) e (d ) , i = 1,, n ,respectivamente.
k
z i

k
y i

k
s i

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

61
1479

k
Note que, no passo corretor, as direes d xk , d zk , dy e d sk definidas no passo previsor so utilizadas

para a redefinio dos resduos q~ k e v~ k em (6.15).


A partir de (6.14), (6.15) e seguindo-se os mesmos passos realizados para a determinao das

k
direes do passo previsor vistos na seo 6.2, calculam-se d xk , d wk , d zk , d rk , d y e d sk atravs das

seguintes equaes:

~
d wk = ( AAT ) 1 A ( g k + ~
pk ) + tk ;
~
~
d xk = ( A T d wk g k ~
pk ) ;
~k
~k
d z = d x + f k ;
~
~
d rk = d xk + o k ;

(6.16a)
(6.16b)
(6.16c)
(6.16d)

~
~
d yk = Z k1 (q~ k Yk d zk ) ;

(6.16e)

~
~
d sk = Rk1 (v~ k S k d rk ) ;

onde,

(6.16f)

~
p k = Rk1 ( S k o k v~ k ) + Z k1 ( q~ k Yk f k ) .

(6.16g)

6.4 Comprimento do passo

Uma vez que as direes de busca do tipo corretor so determinadas em (6.16), tem-se a condio de
se mover para um novo ponto ( x k +1 , wk +1 , z k +1 , r k +1 , y k +1 , s k +1 ) garantindo-se que s k +1 > 0 , z k +1 > 0 ,
k +1

e r k +1 > 0 . Para garantir a restrio de no-negatividade destas variveis um controle do passo


a ser dado em cada direo necessrio, assim, consideram-se as variveis definidas no passo previsor
por:
y

>0

x k +1 = x k + ~k d xk ;
w k +1 = w k + ~ d k ;
k

(6.17a)
(6.17b)

z = z + ~k d zk ;
r k +1 = r k + ~ d k ;
k +1

(6.17c)
(6.17d)

y = y + ~k d yk ;
s k +1 = s k + ~ d k ;
k +1

onde:

(6.17e)
(6.17f)

~k = Min{ P , D , BU )}

(6.17g)

tal que, para 0 < < 1 :






d zi

i) pela condio de factibilidade Primal: P = Min 1, z i , ri tal que d zk , d rk < 0
i
i
k
k
ii) pela condio de factibilidade Dual:



s ik



d ski

D = Min 1,

y ik
d yki

(6.17h)



d ri


tal que d ski ; d yki < 0


(6.17i)

iii) pela estratgia de busca unidimensional de Armijo BU determinado sob a seguinte condio:
BU = k tal que F ( x k +1 ) F ( x k ) + k F ( x k ) T d xk ;

(6.17j)

ou seja, um mtodo de busca unidimensional finito que, neste caso, considera somente as variveis
primais e que busca, a partir de um ponto x k , um novo ponto x k +1 , na direo d xk , tal que a funo F
definida em (6.4) decresa, sem preocupar-se em minimiz-la. O mtodo de Armijo procura determinar
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

62
1480

BU de tal forma que a reduo de F seja garantida. A escolha inicial de BU no deve ser muito
grande, evitando comportamento oscilatrio do mtodo, nem muito pequena, evitando uma parada
prematura do mtodo. Desta forma, ajusta-se 0 =1 e caso (6.17j) no seja satisfeita BU atualizado
atravs da seguinte seqncia:

k +1 = k , k = 0,1...; com > 1 usualmente ajustado para = 2.

Para a anlise de (6.17j) utilizou-se:


(6.17k)
F ( x k ) = Qx k + c k ( Rk1 + Z k1 )e
com k determinado na seo 6.5.1.
Analogamente, no passo corretor o clculo do comprimento do passo definido considerando-se
as variveis:
~ ~
(6.18a)
x k +1 = x k + k d xk
;
~ ~
(6.18b)
w k +1 = w k + k d wk ;
~
~
(6.18c)
s k +1 = s k + k d sk ;
~ ~k
k +1
k
(6.18d)
r
= r + k dr ;
~
~
y k +1 = y k + k d yk
(6.18e)
;
~ ~
z k +1 = z k + k d zk .
(6.18f)
onde:
~
(6.18g)
k = Min{ P , D , BU }
tal que,

P , D , BU , so obtidos de maneira anloga s condies vistas de (6.17h) a (6.17k),

~
~ ~ ~k
~
~
considerando-se as expresses obtidas no passo corretor, d xk , d wk , d zk , d rk , d y e d sk , vistas em
(6.16a) a (6.16g).
6.5 Critrio de Parada

Os algoritmos de pontos interiores no encontram solues exatas para os problemas de programao


linear ou quadrtica. Por isso, necessita-se de um critrio de parada para decidir quando, em uma iterao
corrente, a soluo obtida est prxima o suficiente de uma soluo tima. Neste trabalho o critrio de
parada determinado baseado em [Wright, 1997].
Muitos algoritmos consideram uma boa soluo aproximada aquela que possui os resduos, primal,

t k , dual, g k e a mtrica dual k suficientemente pequenos. Para esse fim pode-se usar medidas relativas
diminuindo os problemas de escala dos apresentados em [Wright, 1997]. Testes tpicos para garantir que

uma soluo x k , w k , z k , r k , y k , s k uma soluo tima loca, so:

tk

i) Factibilidade primal:
ii) Factibilidade Dual:

b +1
uk
Qx k + c + 1

iii) Folgas Complementares:

b Ax k
b +1

1 ;

Qx k + c AT w k s k + y k
=

Qx k + c + 1

(6.19a)
2 ;

(r k ) T s k 3 e ( z k ) T y k 3

(6.19b)
(6.19c)

onde 1 , 2 e 3 so tolerncias pr-definidas. Naturalmente outros critrios podem ser adotados em


concordncia com a aplicao a um problema especfico, como pode ser visto em [Wright, 1997] e [Fang,
1993].
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

63
1481

6.5.1 Atualizao do parmetro de barreira

De acordo com [Wright, 1997], a atualizao do parmetro de barreira feita atravs de um


produto escalar que envolve as variveis primais r k e z k e as variveis duais s k e y k , a partir das
equaes (6.6e) e (6.6f).
Neste trabalho, seguindo-se a atualizao citada, o parmetro de barreia k foi calculado para
que as restries do problema fossem satisfeitas, ento, a atualizao foi feita de maneira a se preservar a
factibilidade dos problemas primal e dual em relao ao passo previsor e passo corretor por:

k1 =

( r k )T s k
( z k )T y k
; k2 =
n
n

e ento k foi calculado por:

(6.20)

k = Min 1k , k2 .

(6.21)
Esta maneira de atualizar o parmetro de barreira, de acordo com [Wright, 1997], auxilia na
prova terica de convergncia e complexidade do mtodo prima-dual.
6.6 Algoritmo Primal-Dual para Variveis Canalizadas com Procedimento Previsor-Corretor e
Busca Unidimensional. (PDPCBU)
PASSO 1 (inicializando o algoritmo): Ajuste k = 0 . Escolha um ponto arbitrrio:

( x 0 ; w 0 ; z 0 , y 0 , r 0 , y 0 , s 0 ) 0 e escolha 1 e 2 nmeros positivos suficientemente pequenos.


PASSO 2 (Clculos intermedirios - Previsor): Calcule: t k ; g k ; f k ; o k ; q k ; v k atravs de (6.11)

e k atravs de (6.20) e a matriz atravs de (6.12e).


k
PASSO 3 (direes de movimento - previsor): Determine as direes de busca d xk , d wk , d zk , d rk , d y

e d sk do passo previsor atravs de (6.12).


PASSO 4 (comprimento do passo - previsor): Calcule o comprimento do passo ~k atravs de (6.17g) e
atualize as solues do passo previsor de acordo com (6.17a) a (6.17f).
PASSO 5 (atualizao dos parmetros): Calcule os parmetros primal e dual respectivamente atravs
de (6.21) para a determinao de novas direes e solues.
PASSO 6 (atualizao de resduos - corretor): Calcule ~v k e q~ k atravs de (6.15),utilizando-se as
variveis definidas por (6.17a) a (6.17f).
PASSO 7 (direes de translao - corretor): Calcule as direes de busca do passo corretor atravs de
(6.16).

PASSO 8 (Comprimento do passo): Calcule o comprimento do passo primal Pk e dual Dk atravs de

(6.18a) e (6.18b), utilizando = 0,995 .


PASSO 9 (Novo ponto): Atualize x k +1 ; w k +1 ; s k +1 ; y k +1 ; z k +1 e r k +1 atravs de (6.18).
PASSO 10 (Teste de otimalidade): Se algum dos critrios de parada definidos em (6.19) for satisfeito,
ento PARE. A soluo tima. Caso contrrio:
Faa k k + 1 e volte para o Passo 2.
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

64
1482

7. O Modelo de Despacho Econmico (PDE)


O modelo de otimizao para o Despacho Econmico Clssico visto em [Steinberg e Smith,
1943] apresentado por:
min Fe
sujeito a
n

 P k = P D + PL

( 7 . 1)

k =1

P kmin P k P kmax
onde, Fe a funo custo total de gerao do DE sem considerar o ponto de vlvula, e dada por:
n

i =1

k =1

Fe =  FePVk =  a k Pk2 + bk Pk + c k

com:
- FePVk representando os custos de cada unidade geradora i no considerando o efeito do ponto
de vlvula;
- ak, bk, e ck so os coeficientes caractersticos da funo custo no considerando o efeito do
ponto de vlvula;
- Pks correspondem s potncias nas quais as unidades geradoras devem operar;
- PD o valor da demanda de energia.
- PL representa as perdas na transmisso.
- Pkmin e Pkmax so, respectivamente, os limites operacionais inferiores e superiores de sada
das unidades de gerao termoeltrica.
Trata-se de um Problema de Programao Quadrtica com restries de igualdade e variveis
canalizadas.
A seguir so apresentados os resultados pelos mtodos aqui abordados: Primal-Afim para
Programao Quadrtica com variveis canalizadas, O mtodo Primal-Dual de pontos interiores previsorcorretor (PDPC) e o mtodo Primal-Dual de pontos interiores com procedimento previsor-corretor e
busca unidimensional (PDPCBU) ao Problema Despacho Econmico da Engenharia Eltrica.
7.1 Aplicao ao Modelo de Despacho Econmico

O modelo geral de otimizao para o Despacho Econmico Clssico, o qual definido sem se
considerar pontos de vlvula, apresentado em (7.1).
Afim de testar a implementao feita dos algoritmos vistos nas sees 4.4.3 e 6.6 apresentam-se
as tabelas 1, 2 e 3, contendo, respectivamente, os dados relativos aos modelos de DE com 3 geradores,
cujos modelos so equivalentes queles vistos em (7.1), os quais so encontrados em [Samed, 2004].
Nestas tabelas encontram-se, para efeito de comparao, as solues obtidas pelo Mtodo
Primal-Afim para Programao Quadrtica (PAPQ), pelo Mtodo Primal-Dual com procedimento
Previsor-Corretor e procedimento de Busca Unidimensional (PDPCBU) e aquelas encontradas pelos
mtodos, Primal-Dual com procedimento Previsor-Corretor (PDPC), visto em [Balbo et al, 2007]; pelo
Algoritmo Gentico Hbrido (AGH) e Algoritmo Gentico Co-Evolutivo (AGHCOE), vistos em [Samed,
2004].
A implementao computacional elaborada para os mtodos foram feitas utilizando-se a
linguagem de programao Pascal 7.0. Optou-se por no colocar-se nesta tabela os tempos de CPU, pois
estes so insignificantes para os sistemas abordados.

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

65
1483

7.2 - Adaptao do Problema de Despacho Econmico ao algoritmo proposto.

Para o Problema de Despacho Econmico (7.1) sero feitas as seguintes definies, no sentido
de adaptar este problema aos algoritmos apresentados nas sees 4.4.3 e 6.6:
Qi ,i = 2ai e Qi , j = 0, se i j

Pi = xi ; Pi MIn = li e Pi Max = u i
Ai ,i = 1 e Ai , j = 0, se i j ; onde i, j = 1, ..., n;
b = PD + PL .
7.3. PDE com 3 Geradores

Os coeficientes da funo gerao de energia, da restrio de igualdade e os limites operacionais


de sada das unidades geradoras para o PDE com 3 geradores esto definidos na Tabela 7.1.
Tabela 7.1 Caractersticas do Sistema.
Gerador Pmn (MW)
1
100
2
50
3
100

Pmx (MW)
600
200
400

A
0,001562
0,004820
0,001940

B
7,92
7,97
7,85

c
561
78
310

Consideram-se as seguintes solues para a inicializao do mtodo: b = PD + PL = 850 , onde

PD = 850 o valor da demanda e PL = 0 , ou seja, no h perda na transmisso. Com estes dados o


seguinte PPQ definido:
2

Minimizar { 0.001562 P1 + 0.00482 P2 + 0.00194 P3 + 7.92 P1 + 7.97 P2 + 7.85 P3 + 561 + 78 + 310 }

Sujeito a

 P1 + P2 + P3 = 850
100 P 600

1

50 P2 200
100 P3 400

(7.3.1)

Podemos observar que:


0
7.92 
0.003124 0





A = [1 1 1] , B = [850] , c = 7.97  e Q = 0
0.00964 0

0
0.00388 
7.85 
0

Os mtodos (PAPQ) e (PDPCBU) foram testados utilizando a seguinte soluo inicial e a


respectiva preciso:

x0 = (450, 100,300 )
w0 = (0, 0, 0) ;
y 0 = (0, 0, 0) .

= 103

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

66
1484

Tabela 7.2 Solues obtidas pelos mtodos.


AGH
AGHCOE
Resultados
P1 (MW)
470,8421 344,7295
P2 (MW)
109,4012 193,9445
P3 (MW)
269,7567 311,3260
850,0000
850,0000
Pi (MW)

PDPC
374,5555
75,4444
399,9999
850,0000

PAPQ
392,9308
122,6578
334,4113
850,000

PDPCBU
348,4714
200,0000
301,5286
850,000

Tabela 7.3 Comparao de Valores da Funo Objetivo.


Resultados Funo Objetivo
AGH
8.045,51
AGHCOE 7.961,58
PDPC
8.213,74
PAPQ
8.194,35
PDPCBU
7.949,32

A Tabela 7.2 mostra a viabilidade dos mtodos Primal-Afim de pontos interiores para
Programao Quadrtica (PAPQ) e Primal-Dual Previsor-Corretor (PDPCBU) para a resoluo do PDE
(7.3.1) com 03 geradores.
A Tabela 7.3 mostra o bom desempenho dos mtodos, Primal-Afim de pontos interiores para
Programao Quadrtica (PAPQ) e Primal-Dual Previsor-Corretor (PDPCBU)), quando comparados com
os resultados obtidos pelo Algoritmo Gentico Hbrido (AGH) e algoritmo Gentico Co-Evolutivo
(AGHCOE), vistos em [Samed, 2004].

8. Consideraes Finais
Neste minicurso apresentamos uma introduo aos mtodos Primal-Dual de Pontos Interiores,
que esto inseridos na rea de Otimizao e realizamos uma aplicao destes ao Problema de Despacho
Econmico, estudado na rea Sistemas de Energia, em Engenharia Eltrica. Nosso principal objetivo foi
de fazer com que os participantes tivessem um primeiro contato com os mtodos em destaque,
despertando-os, dessa forma, para realizarem novas pesquisas nesta rea.
Dentre os Mtodos destacados, foram analisados aqueles que iniciaram essa metodologia,
denominados de Mtodos Afins, mais especificamente, o Mtodo Primal-Afim e o Mtodo Dual-Afim de
Pontos Interiores e estendemos o Mtodo Primal-Afim para a resoluo de Problemas de Programao
Quadrtica convexa com restries lineares e, posteriormente, para variveis canalizadas. Analisamos sua
aplicao utilizando-se de Problemas de Programao Quadrtica com dimenso pequena, incluindo um
modelo simples de Despacho Econmico.
Em seguida foi realizada a anlise do Mtodo Pimal-Dual de Pontos Interiores com restries
lineares, incluindo o caso de variveis canalizadas, feita a sua extenso para Problemas de Programao
Quadrtica convexa com variveis canalizadas e feita a sua aplicao a um problema simples de
Despacho Econmico, encontrado na Engenharia Eltrica.
Os resultados obtidos mostraram o bom desempenho destes mtodos quando comparados com
outros mtodos encontrados na literatura.

9. Agradecimentos
Os autores agradecem ao CNPq (Conselho Nacional de Desenvolvimento Cientfico e
Tecnolgico) e Fapesp (Fundao de Amparo Pesquisa do Estado de So Paulo) pelo apoio financeiro
concedido.

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

67
1485

10. Bibliografia
ADLER, I.; KARMAKAR, N; RESENDE, M.; VEIGA, G. An Implementation of Karmakar's algorithm
for linear Programming. Mathematical Programming, 44, 3, 297-335, 1989.
ALMEIDA, K.C.; SALGADO, R. Optimal Power Flow Problem Solutions Under Variable Load
Conditions. IEEE Transactions on Power Systems, 15, 4, 1204-1211, 2000.
BALBO, A.R, SOUZA, M. A. S., BAPTISTA, E. C., Mtodos primal-dual de pontos interiores aplicados
resoluo de problemas de despacho econmico: sobre a influncia da soluo inicial In: XL SBPO Simpsio Brasileiro de Pesquisa Operacional, 2008,. XL SBPO (Joo Pessoa Pb), Ed. RJ: ILTC, p.2074
2085 (2008).
BALBO, A.R.; BAPTISTA, E. C; ARENALES, M.N, An adaptation and application of the Dual-Affine
Interior Point Method to the Flatness Problem. In: European Journal of Operational Research. , v.181,
p.1607 - 1616, 2007.
BAPTISTA, E.C. Um mtodo de gerao de colunas para o problema de Planicidade. Anais do XVI
CILAMCE 1995; 2; 1329-1338.
BAPTISTA, E. C.; BELATI, E. A.; SOUSA, V. A.; COSTA, G. R. M. Primal-Dual Logarithmic Barrier
and Augmented Lagrangian Function to the Loss Minimization in Power Systems. Electric power
components and systems, 34, 7, 1-6, 2006a.
BAPTISTA, E. C.; SOUSA, V. A.; COSTA, G. R. M. A Funo Barreira Modificada e o Problema de
Fluxo de Potncia timo. Tema, 7,1,21-30, 2006b.
BARNES, E.R. A Variation on Karmarkar Algorithm for Solving Linear-Programming Problems.
Mathematical Programming, 36, 2, 174-182, 1986.
BREITFELD, M.G.; SHANNO, D.F. Computational experience with penalty-barrier methods for
nonlinear programming. Annals of Operations Research, 62, 439-463, 1996.
CARPENTER, J. J.; LUSTIG I. J.;. MULVEY, J.M; SHANNO, J. M. A Primal-Dual Point Method for
Convex Nonlinear Programming, RUTCOR Research Report, New Jersey, 1990.
CARPENTIER, J. L. Contribution a Letude du Dispatching Economique. Bull-Soc. Fr Elec., Ser. B3,
431 447, 1962.
CARROL, C.W. The Created Response Surface Technique for Optimizing Nonlinear Restrained Systems.
Operations Research, 9, 169-184, 1961.
CHEN, T.W.C.; VASSILIADIS, V.S. Solution of General Nonlinear Optimization Problemas using the
Penalty/Modified Barrier Method with the use of Exact Hessians. Computers & Chemical Engineering,
27, 501-525, 2003.
CHENG, Y.C., HOUCK, D. J., MEKETON, M. S., SLUTSMAN, L., VANDERBEI, R. J. and WANG,
P. The AT&T KORBX System. AT&T Technical Journal 68, No. 3, 7-19 (1989).
DANTZIG, G. B. "Programming of Interdependent Activities. II. Mathematical Model." Econometrica
17, 200-211, 1949.

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

68
1486

DANTZIG, G. B. Linear Programming and Extensions Princeton, NJ: Princeton University Press, 1963.
FIACCO, A.V.; McCORMICK, G.P. Nonlinear Programming - Sequential Unconstrained Minimization
Techniques. New York : Wiley, 1968.
FRISCH, K. R. The Logarithmic Potential Method of Convex Programming. University Institute of
Economics (manuscript). Oslo, Norway, 1955.
GONZAGA, C. An algorithm for solving linear programming problems in O(n3 L) operations. In:
Progress in Mathematical Programming: Interior-Point and Related Methods, ed. N. Megido, SpringerVerlag, New York, 1-28, 1989.
GONZAGA, C. Polynomial affine algorithms for linear programmimg. Mathematical Programming, 49,
7-21, 1990.
GRANVILLE, S. Optimal Reactive Dispatch Through Interior Point Methods. IEEE Transactions on
Power Systems, 9, 1, 136-146, 1994.

HAPP H. H., Optimal Power Dispatch -Comprehensive Survey, IEEE Transactions on Power
Apparatus and Systems, 3 Vol.96, (1977) 841-854.
HUANG, S.T; FAN, K.C; WU, J.H. A new minimum zone method for evaluating flatness errors.
Precision Engineering; 15 (1); 25-32, 1993.
KARMARKAR, N. A new polynomial time algorithm for linear programming. Combinatorica, 4, 373395, 1984.

KIM J.O., SHIN D. J., PARK J.N. and SINGH C., Atavistic Genetic algorithm for economic
dispatch with valve point effect, Eletric Power Systems Research, 62, (2002) 201-207.
KOJIMA, M.; MIZUNO, S.; YOSHISE, A. A primal dual - inteiror point method for linear programming.
In: Progress in Mathematical Programming: Inteiror-Point and Related Methods, Ed. N. Megiddo,
Springer-Verlag, New York, 29-48, 1989.
LUKSAN, L.; MATONOHA, C.; VLCEK, J. Interior-point method for non-linear non-convex
optimization. Numerical Linear Algebra with Applications, 11, 5-6, 431-453, 2004.
MEGIDDO, N. On the complexity of linear programming. In: Advances in Economical Theory, ed. t
Bewely, Cambridge University Press, Cambridge, 225-268, 1987.
MEGIDDO, N., SHUB, M. Boundary behavior of interior point algorithms in linear programming.
Mathematics of Operations Research, 14, 97-146, 1989.
MEHROTRA, S. On implementation of a primal-dual interior point method. SIAM Journal on
Optimization, 2, 575-601, 1992.
MONTEIRO, R. D. C.; ADLER, I. Interior Path-Following Primal-Dual Algorithms. Part I: Linear
Programming, Part II: Convex Quadratic Programming. Mathematical Programming, 44, 27-66, 1989.
MONTEIRO, R. D. C.; ADLER, I.; RESENDE, M. C. A polynomial-time primal-dual affine scaling
algorithm for linear and convex quadratic programming and its power series extension. Mathematics of
Operations Research, 15, 191-214, 1990.

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

69
1487

NEJDAWI, I.M.; CLEMENTS, K.A.; DAVIS, P.W. An Efficient Interior Point Method for Sequential
Quadratic Programming Based Optimal Power Flow. IEEE Transactions on Power Systems, 15, 4, 11791183, 2000.
POLYAK, R.. Modified barrier functions. Mathematical Programming, 54, 2, 177-222, 1992.
RENEGAR, J. A polynomial-time algorithm based on Newtons method for linear programming.
Mathematical Programming, 40, 59-93, 1988.
SAMED, M.M.A., Um Algoritmo Genetico Hibrido Co-Evolutivo para Resolver Problemas de
Despacho, Tese de Doutorado, UEM, Depto. de Engenharia Qumica, Agosto de 2004, 167 p.
SHANNO, D.F.; VANDERBEI, R.J. Interior-point for nonconvex nonlinear programming. Mathematical
Programming, 87, 303-316, 2000.
TORRES, G. L.; QUINTANA, V.H. Optimal Power Flow in Rectangular Form via an Interior Point
Method. IEEE Transactions on Power Systems, 13, 4, 1211-1218, 1998.
VAIDYA, P. M. An algorithm for linear programming which requires O(((m + n)n2 + (m + n)1.5n)L)
arithmetic operations. Mathematical Programming, 47, 175-2001, 1990.
VANDERBEI, R. J.; MEKETON, M. S.; FREEDMAN, B. A. A modification of Karmarkars linear
programming algorithms. Algorithmica, 1, 395-407, 1986.
VANDERBEI, R.J.; SHANNO, D.F. An interior-point algorithm for nonconvex nonlinear programming.
Computational Optimization and Applications, 13, 231-252, 1999.
VASSILIADS, V.S; FLOUDAS,C.A. The modified barrier function approach for large-scale
optimization. Computer and Chemical Engennering, 21, 855-874, 1997.
WHITEHOUSE, D.J. Handbook of surface metrology. USA: Philadelphia; 1984.
WU, Y. C.; DEBS, A. S.; MARSTEN, R. E. A direct nonlinear Predictor-Corretor Primal-Dual Interior
Point Algorithm for Optimal Power Flows. IEEE Transactions on Power Systems, 9, 2, 876-883, 1994.
YE, Y. An O(n3 L) potential reduction algorithm for linear programming. Contemporary Mathematics,
114, 91-107, 1986.

Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667

70
1488