minicurso ministrado no dincon’2010 introduÇÃo aos mÉtodos primal-dual … · 2010-11-25 · 1...

70
MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE PONTOS INTERIORES E APLICAÇÕES AUTORES: Prof. Dr. Antonio Roberto Balbo – email: [email protected] Profa. Dra. Edméa Cássia Baptista – email: [email protected] Departamento de Matemática – FC – Unesp – Campus de Bauru Márcio Augusto da Silva Souza – email: [email protected] Maria Cláudia Savio Masiero [email protected] Programa de Pós-Graduação em Engenharia Elétrica FEB – UNESP – Campus de Bauru Unesp – Bauru, Março de 2010 Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications Serra Negra, SP - ISSN 2178-3667 1419

Upload: others

Post on 18-Apr-2020

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

1

MINICURSO MINISTRADO NO DINCON’2010

INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE PONTOS INTERIORES E APLICAÇÕES

AUTORES: Prof. Dr. Antonio Roberto Balbo – email: [email protected] Profa. Dra. Edméa Cássia Baptista – email: [email protected] Departamento de Matemática – FC – Unesp – Campus de Bauru

Márcio Augusto da Silva Souza – email: [email protected] Maria Cláudia Savio Masiero – [email protected] Programa de Pós-Graduação em Engenharia Elétrica FEB – UNESP – Campus de Bauru

Unesp – Bauru, Março de 2010

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

Page 2: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

2

��������1. Introdução ................................................................................................................. 3�2. Os problemas restritos ............................................................................................... 5�3. Os métodos de Penalidade e de Barreira .................................................................... 6�

3.1 O método de penalidade ...................................................................................... 6�3.1.2 Dificuldades computacionais ........................................................................ 8�3.1.3 Algoritmo do Método de Penalidades ........................................................... 8�

3.2 O método de barreira ........................................................................................... 9�3.2.2 Dificuldades computacionais .................................................................... 11�3.2.3 Algoritmo do Método de Barreira ............................................................... 11�

4. Métodos (algoritmos) Afins de Pontos Interiores ..................................................... 13�4.1 - Algoritmo Primal – Afim ................................................................................ 13�

4.1.1 Idéias Básicas 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 Método 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 Idéias básicas do Algoritmo Primal – Dual ........................................................ 33�5.2 - Direção e Comprimento do Passo de Movimento. ........................................... 35�5.3 Algoritmo Primal – Dual ................................................................................... 39�5.4 Término do Algoritmo em Tempo Polinomial ................................................... 40�5.5. Iniciando o Algoritmo Primal – Dual ............................................................... 41�5.6 Implementação Prática ...................................................................................... 42�5.6. Método Primal – Dual para Variáveis Canalizadas ......................................... 48�

5.6.1 - Direções de Busca .................................................................................... 49�5.6.2 Comprimento do Passo de Movimento ....................................................... 52�5.6.3. Critério de Parada ..................................................................................... 53�5.6.4 Algoritmo de Pontos Interiores Primal – Dual para Variáveis Canalizadas . 54�5.6.5 Variáveis Limitadas Inferiormente ............................................................. 58�

6. O Algoritmo Primal-Dual de Pontos Interiores para Programação Quadrática Convexa com variáveis canalizadas ............................................................................ 59�

6.1 Problema de Programação Quadrática .............................................................. 59�6.2 Direções de busca – Tipo Previsor ................................................................... 60�6.3 Direções de Busca -Tipo Corretor..................................................................... 61�6.4 Comprimento do passo ..................................................................................... 62�6.5 Critério de Parada ............................................................................................. 63�

6.5.1 Atualização do parâmetro de barreira ......................................................... 64�6.6 Algoritmo Primal-Dual para Variáveis Canalizadas com Procedimento Previsor-Corretor e Busca Unidimensional. (PDPCBU) ........................................................ 64�

7. O Modelo de Despacho Econômico (PDE) .............................................................. 65�7.1 Aplicação ao Modelo de Despacho Econômico ................................................. 65�

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

Page 3: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

3

7.2 - Adaptação do Problema de Despacho Econômico ao algoritmo proposto. ....... 66�7.3. PDE com 3 Geradores ...................................................................................... 66�

8. Considerações Finais ............................................................................................... 67�9. Agradecimentos ...................................................................................................... 67�10. Bibliografia ........................................................................................................... 68�

1. Introdução

Em matemática, o termo otimização, ou programação matemática, refere-se ao estudo de problemas em que se busca minimizar ou maximizar uma função através da escolha sistemática dos valores de variáveis reais ou inteiras dentro de um conjunto viável.

Assim, tornar algo ótimo é buscar o que é excelente, o melhor possível, "o grau, quantidade ou estado que se considera o mais favorável, em relação a um determinado critério”.

Otimizar é melhorar até onde pudermos. No ideal, melhorar até o máximo. Até aquela situação ideal na qual, como vulgarmente se diz, "se mexer mais, piora". Melhorar só é possível se temos escolha. Escolher uma dentre várias alternativas. Se uma alternativa houver, capaz de introduzir alguma melhoria, ficamos com ela. Caso contrário, o que temos em mãos 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 não basta. Sem critério de escolha, por exemplo, nem adianta conhecer o universo de alternativas. Por outro lado, desconhecendo-se este, não adianta ter critério. Informação, portanto, é fundamental. Quanto mais, melhor; mais depressa chegamos às alternativas ótimas.

As aplicações da Otimização 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

mínimo de desperdício possível de material? � Como distribuir mascates em uma determinada praia de modo que eles terminem suas

vendas o mais perto possível dos pontos de resgate? � Como controlar injeção de combustível num motor a explosão de modo a maximizar

rendimento minimizando vibrações? � Como distribuir energia elétrica minimizando as perdas e satisfazendo o sistema? � Como distribuir enegia elétrica minimizando o custo de produção e satifazendo o

sistema?

Muitos desses problemas podem ser modelados como problemas de maximizar (ou minimizar) uma função cujas variáveis devem obedecer certas restrições: (1.1)

Encontrar soluções ótimas, ou mesmo aproximadas, para esses tipos de problemas é um desafio nem sempre fácil de ser vencido. A construção de bons algoritmos é a principal vocação da otimização. Algoritmos gerais e confiáveis, que, se possível, resolvam classes de problemas de otimização independentemente da dimensão e dos parâmetros envolvidos.

Antes de 1940, relativamente, muito pouco tinha sido desenvolvido sobre métodos para otimização numérica de muitas variáveis. A maioria dos métodos de otimização foram desenvolvidos após o surgimento do computador. Durante a Segunda Grande Guerra Mundial (década de 40), com o objetivo de alocar recursos escassos, desenvolveu-se o método Simplex (Dantizig) para problemas

i

jmin max

M inimizar ( M ax imizar ) f ( x )sujeito a : g ( x ) 0, i 1, ,m

h ( x ) 0, j 1, ,r

x x x

= =≤ =

≤ ≤

��

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

Page 4: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

4

lineares. O sucesso e credibilidade ganhos durante a guerra foram tão 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" econômico que se seguiu, se viram também confrontadas com problemas de decisão de grande complexidade.

A aplicação de um determinado método a um problema real depende, basicamente, das características do problema, isto é, o problema ser linear, não-linear, convexo, inteiro, dinâmico, entre outras. Em Programação Não-Linear os primeiros métodos eram bastantes restritos. Tornaram-se significativos no final da década de 50 com a introdução dos métodos de métrica variável por Davidon, capazes de solucionar problemas de muitas variáveis.

Uma classe de métodos de Otimização muito explorada nos dias de hoje é denominada de métodos de Pontos interiores. Os métodos de Pontos Interiores têm sido amplamente investigados e utilizados principalmente na resolução de problemas de Programação Linear e, mais recentemente, em problemas de Programação Quadrática e Não-Linear, com bom desempenho em problemas de grande porte.

Ainda que não fossem conhecidos na literatura com esta denominação, a estratégia de Pontos Interiores foi introduzida inicialmente por FRISCH (1955) e por CARROL (1961) e popularizada por FIACCO & McCORMICK (1968) através da utilização da função Barreira para problemas não-lineares. Ressalta-se que, o entusiasmo no uso da função Barreira diminuiu sensivelmente na década 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 solução inicial; a não-existência da derivada na solução e o aumento ilimitado da função Barreira na vizinhança da fronteira.

O interesse pela utilização da metodologia de Pontos Interiores para a busca de soluções ótimas de problemas de Otimização reapareceu quando, em 1984, KARMARKAR (1984) publicou o seu método Projetivo para Programação Linear. Este trabalho provocou uma agitação nas atividades de pesquisa nesta área.

Após a introdução feita por Karmarkar, métodos variantes de seu algoritmo original foram apresentados. Entre eles citamos: o algoritmo Primal-Afim utilizado na resolução de problemas de Programação Linear com restrições 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 Programação Linear na forma de desigualdade; a contribuição de MEGIDDO & SHUB (1989) com a indicação que a trajetória que conduz à solução ótima fornecida pelos algoritmos Afins dependem da solução inicial; a incorporação da função Barreira Logarítmica ao problema de Programação Linear e a resolução deste através da metodologia de Pontos Interiores Primal-Afim e Dual-Afim, onde destacamos os trabalhos de MEGIDDO (1987), RENEGAR (1988), VAIDYA (1990) e YE (1986); os métodos de trajetória central, propostos por GONZAGA (1989, 1990) e MONTEIRO & ADLER (1989); o algoritmo Primal-Dual de Pontos Interiores proposto por MONTEIRO et al. (1990) e também por KOJIMA et al. (1989), os quais exploram uma função potencial Primal-Dual variante da função Barreira Logarítmica e o método da Barreira Logarítmica Primal-Dual Previsor-Corretor, em que a cada iteração é dado um passo previsor e um passo corretor, determinando direções de busca melhores que as apresentadas por MONTEIRO & ADLER (1989), o qual foi apresentado por MEHROTRA (1992), entre outros.

Seguindo o avanço dos métodos de Pontos Interiores destaca-se a teoria de métodos da função Barreira Modificada desenvolvida por POLYAK (1992). Estes métodos combinam as melhores propriedades da função Lagrangiana Clássica e da função Barreira Clássica, evitando os problemas que ambas enfrentam. Segundo POLYAK (1992) a finalidade que o método da função Barreira Modificada tem para os métodos de Pontos Interiores é a mesma que o método da função Lagrangiana Aumentada tem para os métodos de Penalidade: ajudá-los a “driblar” suas dificuldades. O método da função Barreira Modificada transforma o problema restrito em um outro problema equivalente, o qual é irrestrito e resolve uma seqüência de problemas irrestritos até atingir a solução ótima. Em seu trabalho POLYAK (1992) apresenta três tipos de função Barreira Modificada: uma para a função Barreira de CARROL (1961), outra para a função Barreira de FRISCH (1955) e a terceira denominada função Barreira Shift. Estas funções são definidas através da relaxação do conjunto de restrições factíveis. Variantes do método 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 1422

Page 5: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

5

Extensões dos métodos de Pontos Interiores para problemas não-lineares e não convexos são 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 métodos de Pontos Interiores têm sido utilizados para a resolução de problemas reais nas mais diversas áreas.

Neste minicurso abordaremos: os problemas restritos, os métodos de Penalidade e Barreira, os métodos de Pontos Interiores afins e inseridos na metodologia primal-dual, com uma aplicação destes métodos ao problema de Despacho Econômico, BALBO et al..(2008), estudado na área de Sistemas de Energia em Engenharia Elétrica. 2. Os problemas restritos

Um problema de otimização pode ser denominado irrestrito quando apenas uma função é minimizada ou maximizada dentro de um conjunto pré-determinado. Matematicamente representamos por:

( )n

Minimizar ( Maximizar ) f x

x S R∈ ⊆

(2.1)

em que x nR∈ .

Quando restrições são adicionadas ao problema (2.1), este passa a ser denominado problema restrito. Matematicamente representamos por:

( )

( )( )

n

Minimizar ( Maximizar ) f x

sujeito a : g x 0restrições funcionais

h x 0

x S R restrições do conjunto

�= � ��≤ ��

∈ ⊆ �

(2.2) onde,

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

1 2

1 2

, , ,

, , , .

T rm

T mp

h x h x h x h x R

g x g x g x g x R

� �= ∈� �

� �= ∈� �

Os problemas (2.1) e (2.2) serão classificados como linear, não-linear , quadrático, inteiro,

convexo, entre outros, de acordo com as características das funções envolvidas.

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

Page 6: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

6

3. Os métodos de Penalidade e de Barreira

Os métodos apresentados a seguir têm por objetivo resolver problemas de programação não-

linear restritos da forma:

Minimizar f(x) sujeito a: g(x) = 0

(3.1) h(x) ≤ 0

onde: x nR∈ , g(x) mR∈ , h(x) rR∈ , e as funções são de classe C2.

3.1 O método de penalidade

Seguindo a “idéia” de associar ao problema (3.1) uma seqüência de problemas irrestritos, a

estratégia do método da função penalidade consiste na utilização de uma função auxiliar onde as restrições são introduzidas na função objetivo através de um fator de penalidade, o qual penaliza alguma violação destas. Esse método gera uma seqüência de pontos infactíveis, cujo limite é a solução ótima do problema original. A função auxiliar tem a forma f(x) + c P(x), sendo c denominado fator de penalidade, e P(x), função penalidade associada a (3.1), dada por:

P(x) = ( )( ) ( )( )m r

i ji 1 j 1

g x h x= =

+� �Θ Λ ,

(3.2) onde ΛΘ e são funções contínuas de uma variável y, tais que:

( )yΘ = 0 , se y = 0 e ( )yΘ > 0 , se y ≠ 0;

(3.3)

( )yΛ = 0, se y ≤ 0 e ( )yΛ > 0, se y > 0.

(3.4) As funções (3.3) e (3.4) podem assumir as seguintes formas:

( )yΘ = p

y ,

(3.5)

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

(3.6) onde p é um inteiro positivo. Para p = 2, em (3.5) e (3.6) a função P(x) é denominada função penalidade quadrática.

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 1424

Page 7: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

7

para .0c≥ Temos que, à medida que ∞→c e P(x) 0→ , a solução do problema penalizado converge

para a solução do problema original. Exemplo 3.1: Considere o seguinte problema:

M in imizar x

sujeito a : x 2 0− + ≤

Encontrado a função penalidade: ( ) ( ){ }2

P x M ax imizar 0, x 2� �= − +� �

( )( )

2

0 se x 2P x

x 2 se x 2

≥��= �

− + ≤��

Temos que : ( )( )

2

0 se x 2x x c

x 2 se x 2θ

≥��= + �

− + ≤��

Aplicando as condições de otimalidade:

( )( )

2

0 se x 2P x0 1 c 0

x x 2 se x 2

≥�∂ �= � + =�

∂ − + ≤��

( )1

1 2c x 2 0 x 22c

− − + = � = −

Fazendo c tender a infinito, temos:

limc

1x 2 x 2

2c→∞= − � =

Exemplo 3.2: Considere o seguinte problema

2 21 2

1 2

1 2

M inimizar x x

sujeito a : x x 1 0

x ,x R

+

+ − =

Reformulando para um problema irrestrito:

( )2 21 2 1 2

1 2

M in imizar x x c x x 1

s.a. x ,x R

+ + + −

Aplicando a condição necessária e suficiente para a otimalidade:

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

Page 8: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

8

( )( ) ( )

( )( ) ( )

1 1 2 1 1 2

1

2 1 2 2 1 2

2

P x2x 2c x x 1 0 x c x x 1

x

P x2x 2c x x 1 0 x c x x 1

x

∂= + + − = � = − + −

∂= + + − = � = − + −

Temos então que x1 = x2 = 2c1

c

+. Fazendo c tender a infinito:

lim lim limc c

c c 1 1x x

1 11 2c 2c 2 2

c c

μ→∞ →∞ →∞= = = � =

+ � � � �+ +� � � �

� � � �

3.1.2 Dificuldades computacionais

Escolhendo-se c suficientemente grande, a solução do problema penalizado será próxima à

solução do problema (3.1); porém, 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 métodos de otimização irrestrita move-se rapidamente na direção de um ponto factível. Esse ponto pode estar longe do ótimo, causando um término prematuro do método. Um outro problema é o mal condicionamento da matriz Hessiana devido à sua dependência de c. Assim, a análise de convergência do método pode ficar prejudicada. Ressaltamos que a escolha inicial do fator de penalidade e do parâmetro de penalidade afeta a convergência do método.

3.1.3 Algoritmo do Método de Penalidades

1. Estabelecer o erro de convergência ( )0ξ > , o ponto inicial kx , o parâmetro de penalidade

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

2. Resolver o problema utilizando um método de minimização irrestrita para kμ fixo:

( ) ( )nx R

Minimizar f x c P xk∈

+

obtendo então k 1x + .

3. Se ( )k 1kc P x ξ+ < ,pare, a solução ótima foi encontrada. Senão vá para o passo 4

4. Fazer k 1 kc cβ+ =

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

Exemplo 3.3: Implementamos o algoritmo da função utilizando o software Matlab e aplicamos na resolução do problema:

( ) ( )4 2

1 1 2

21 2

2

M inimizar x 2 x 2x

sujeito a: x x 0

x R

� − + −��

− =��

∈��

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

Page 9: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

9

Sendo 0 2x

1

� �= � �� �

, ,0c 0 1= , 10β = , a tolerância do problema principal 51 10ξ −= e a tolerância do

sub-problema (solução por Newton) 22 10ξ −= .

Utilizando o método de Newton para encontrar o ponto ótimo do subproblema tem-se:

TABELA 3.1: Convergência do método de penalidade Iteração

kc 1+ =kk cx x ( )1+k

f x ( )θ kx

1 0,1 (1,45545;0,76135) 0,09246 0,27640 2 1 (1,16916;0,74071) 0,57401 0,96617 3 10 (0,99072;0,84248) 1,51961 1,71295 4 100 (0,95078;0,88748) 1,89117 1,91840 5 103 (0,94611;0,89344) 1,94051 1,94335 6 104 (0,94564;0,89406) 1,94674 1,94590 7 105 (0,94559;0,89412) 1,94611 1,94616 8 106 (0,94558;0,89413) 1,94621 1,94629 9 107 (0,94558;0,89413) 1,94621 1,94629

Podemos observar que a cada iteração o valor da função aproxima-se do valor da função auxiliar, mostrando que o método está convergindo e que a função penalidade tende a zero.

3.2 O método de barreira

Da mesma forma que os métodos de penalidade, os métodos de barreira transformam o problema restrito em um problema irrestrito. Eles introduzem as restrições na função objetivo através de um fator de barreira, que penaliza a aproximação de um ponto factível à fronteira da região factível. Trabalhando no interior dessa região, tais fatores geram barreiras que impedem os pontos de sair dela. Logo, parte-se de um ponto factível e geram-se novos pontos factíveis. Uma das vantagens desse método é a obtenção de, pelo menos, uma solução factível, caso ocorra uma parada prematura dele. Ele trabalha somente com problemas de desigualdade cujo interior é não-vazio. Assim, assume-se o problema (3.1) obedecendo a essa condição. Com o objetivo de garantir a permanência no interior da região factível, 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 função barreira não-negativa e contínua no

interior da região factível {x; h(x) < 0} e tende ao infinito à medida que a solução se aproxima da fronteira, a partir do interior. Definimos, então:

B(x) = [ ]r

ii 1

h ( x )=

�φ ,

(3.9) onde φ é uma função de uma variável y, contínua sobre {y; y < 0 }, e satisfaz

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

Page 10: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

10

y 0( y ) 0 se y 0 e lim ( y )

−→≥ < = ∞φ φ .

(3.10) A função f(x) + δ B(x) é denominada função auxiliar; a função barreira pode assumir várias formas, como:

B(x) = r

i 1 i

1

h ( x )=

−� ;

(3.11)

B(x) = [ ]r

ii 1

ln h ( x )=

− −� .

(3.12) A função (3.11) é denominada barreira clássica ou inversa e foi estudada por CARROL (1961);

(3.16) é denominada função barreira logarítmica e foi estudada por FRISCH (1955). Quando 0→δ e B(x) ∞→ , temos que )x(Bδ se aproxima da função barreira ideal, descrita

anteriormente em (3.9), e a solução do problema de barreira converge para a solução do problema (3.1). Observamos que (3.8) é um problema restrito e pode ser tão complexo quanto (3.1). Como exigimos uma solução inicial interior à região factível e o método trabalha com pontos interiores a essa região, ao penalizar os pontos que se aproximam da fronteira impedimos que eles saiam da região e a restrição pode ser ignorada. Teremos, realmente, um problema irrestrito, para o qual poderá ser utilizada uma técnica de otimização irrestrita. Exemplo 3.2: Resolver :

M inimizar x

sujeito a: x 1 0− + ≤

Observamos que o ponto ótimo é dado por *x 1= e ( )*f x 1= . Considere então a função

barreira:

( )( )1 1

B xg x x 1

− −= =

− + , para x 1≠

( )1

B xx 1

δ δ−� �

= � �− +� �

Sendo a função auxiliar, ( ) ( )1

f x B x xx 1

δ δ� �

+ = + � �−� �

, temos o seguinte problema de barreira:

,1

Minimizar x x 1 0x 1

δ� �� �

+ − + <� �� �−� �� �

Aplicando as condições de otimalidade:

( )

( )

( )

2

2

2

1 x 1 0

1 0x 1

x 1 0

δ

δ

δ

−− − =

− =−

− − =

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

Page 11: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

11

2x 2x 1 0

2 2x x 1

2

δ

δδ

− + − =

±= � = +

Fazendo 0→δ , obtemos x e ( )F x por:

( ) ( )

*

*

lim

( ) lim

0

0

x 1 1 x x

1F x 1 F x f x

x 1

δ

δ

δ

δ

= + = � =

� �= + � =� �

−� �

Note que, à medida que δ decresce, Bδ (x) se aproxima de uma função que tem valor zero para h(x) < 0 e infinito para h(x) = 0. Ao resolvermos o problema (3.8) utilizando a função (3.11), iniciamos o processo de solução

com um ponto interior à região factível. Para cada valor de δ , temos uma solução que será o ponto inicial

para o processo iterativo. À medida que δ decresce, aproximamo-nos da solução 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 método de barreira é a seleção de um ponto inicial factível. Em muitos problemas, isso pode ser trabalhoso. Vários métodos podem ser utilizados para a determinação de um ponto inicial factível, quando este não é conhecido. Também, em virtude da estrutura da função

barreira, para valores pequenos de δ , muitas técnicas têm sérios problemas de mal condicionamento e erros de arredondamento, quando o ótimo se aproxima. As escolhas do fator de barreira e do parâmetro de barreira podem comprometer o processo de otimização.

3.2.3 Algoritmo do Método de Barreira

1. Estabelecer o erro de convergência ( )0ξ > , o ponto inicial kx X∈ com ( )ig x 0< , o

parâmetro de penalidade k 0δ > e o fator de incremento da barreira ( ),0 1β ∈ , k = 0.

2. Usando o método de Newton, resolver o problema transformado para a forma irrestrita:

( ) ( )

( )kM in imizar f x B x

sujeito a: g x 0

x X

δ+

<

obtendo então k 1x + .

3. Se ( )k 1k B xδ ξ+ < , pare, a solução ótima foi encontrada. Senão vá para o passo 4.

4. Fazer k 1 kδ βδ+ =

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

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

Page 12: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

12

Exemplo 3.3: Resolver o problema abaixo:

( ) ( )4 2

1 1 2

21 2

M inimizar x 2 x 2x

sujeito a: x x 0

� − + −��

− ≤��

Sendo 0 0x

1

� �= � �� �

, 0 10δ = , ,0 1β = , a tolerância do problema principal 51 10ξ −= e a tolerância do sub-

problema (solução por Newton) 22 10ξ −= .

Neste problema

2X E= , e o problema é resolvido utilizando a função barreira:

( )( )2

1 2

1B x

x x

−=

−.

Utilizando o método de Newton para encontrar o ponto ótimo do subproblema tem-se:

TABELA 3.2: Convergência do método de barreira Iteração

kδδδδ kk 1x xμμμμ++++ ==== (((( ))))k 1

f x++++ (((( ))))kxθθθθ (((( ))))

kB xδδδδ

1 10 (0,70770;1,53119) 8,33355 18,03898 0,97054 2 1 (0,82819;1,10200) 3,77836 6,18162 2,35800 3 10-1 (0,89886;0,96393) 2,52902 3,17012 6,41099 4 10-2 (0,92935;0,91634) 2,12999 2,31992 18,99420 5 10-3 (0,94027;0,90116) 2,00432 2,06296 58,67703 6 10-4 (0,94388;0,89635) 1,96459 1,98297 184,12307 7 10-5 (0,94504;0,89483) 1,95202 1,95780 580,79253 8 10-6 (0,94541;0,89435) 1,94804 1,94986 1835,18554 9 10-7 (0,94553;0,89420) 1,94677 1,94734 5801,92332 10 10-8 (0,94557;0,89415) 1,94634 1,94655 18345,84870 11 10-9 (0,94558;0,89413) 1,94621 1,94633 58013,22391

Podemos observar que a cada iteração o valor da função aproxima-se do valor da função auxiliar,

mostrando que o método está convergindo e que a função barreira está tendendo a infinito.

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

Page 13: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

13

4. Métodos (algoritmos) Afins de Pontos Interiores

4.1 - Algoritmo Primal – Afim

Considera-se um problema de programação linear em sua forma padrão

xcMinimizar T

(4.1a) sujeito a : Ax b, x 0= ≥

(4.1b)

em que ,Rc , , n∈∈∈∈ × eRxRbRA nmnm onde A é uma matriz de posto m.

O seu problema de programação dual é definido por:

max

sujeito a: , s 0

T

T

b w

A w s c+ = ≥; (4.1c)

; s, c ; w, .mxn n mA b∈ℜ ∈ℜ ∈ℜ

onde (4.1a,c) é chamado de Problema Primal (PP) e (4.1c) é chamado de Problema Dual (PD).

Observe que o domínio viável do problema (4.1a,b) é definido por

}0,/{ ≥=∈= xbAxRxP n

Define-se mais adiante o interior relativo de P (com respeito ao espaço Afim) como:

}0,/{0 >=∈= xbAxRxP n (4.2)

Um vetor nRx ∈ é chamado um ponto interior viável, ou solução interior, do problema de

programação linear, se 0Px ∈ . Durante o desenvolvimento deste trabalho para garantir a existência de pontos interiores, faremos sempre uma suposição fundamental:

Ø0 ≠/P Há diversas maneiras de se encontrar uma solução interior de um problema de programação

linear. Os detalhes serão discutidos mais tarde. Por enquanto, suponha-se simplesmente que uma solução

interior inicial 0x está disponível e analisa-se as idéias básicas do algoritmo Primal – Afim.

4.1.1 Idéias Básicas do Algoritmo Primal – Afim

Considera-se os princípios fundamentais observados por Karmakar na definição de seu algoritmo para a análise dos algoritmos afins, dados por:

(1) se a solução interior atual estiver perto do centro do politopo, então faz sentido mover-se numa direção de descida relacionada ao gradiente da função objetivo para conseguir um valor de mínimo;

(2) sem grandes alterações no problema original, uma transformação apropriada pode ser aplicada ao espaço solução tal que a solução interior atual seja levada para perto do centro definido no espaço transformado.

Na formulação de Karmarkar, a estrutura especial e simples de definir os pontos Δ∈x , tais que:

� { }nxxxRx inn ,....,1,0,1.../ 1 ≥=++∈= ;

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

Page 14: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

14

determinava o ponto Tnnnne )/1,....,/1,/1(/ = como o ponto central de Δ , e esta condição foi

introduzida propositadamente obedecendo os princípios (1) e (2) supracitados. Quando se trabalha diretamente no problema na forma padrão, a estrutura simples adotada por Karmarkar está longe de ser conseguida, e o domínio viável poderia transformar-se num conjunto poliedral ilimitado. Toda a estrutura

a ser obedecida pela formatação padrão consiste na interseção do espaço { }bAxRx n =∈ / , formado

pelas restrições explícitas, com o conjunto definido pelo octante positivo { }0/ ≥∈ xRx n , requerido

pelas restrições não-negativas. É óbvio que o octante não-negativo não tem um ponto "central" real. Entretanto, se através de alguma transformação feita se conseguir posicionar o centro no ponto

T1) ...., 1, 1, ,1(=e , ao menos conseguirá manter-se a uma distância igual de cada face, do octante

não-negativo. Isto ocorre, desde que, a distância de movimento de qualquer ponto que se move do ponto central e é sempre menor que 1 e permanece no interior do octante não negativo. Conseqüentemente, se pudermos encontrar uma transformação apropriada que trace uma solução interior atual ao ponto e , então, analogamente ao algoritmo de transformação projetiva de Karmarkar, podemos indicar uma estratégia modificada como segue:

"Assumindo uma solução interior, aplique uma transformação apropriada ao espaço de soluções de tal forma a colocar a solução corrente em e no espaço transformado, e então caminhe na direção de descida máxima no espaço nulo (núcleo) da matriz das restrições explícitas transformadas, mas controlando o tamanho do passo relativo às restrições não-negativas a fim de permanecer em uma solução interior do espaço transformado. Então examina-se a transformação inversa para traçar posteriormente a solução encontrada ao espaço solução original, como uma nova solução interior. Repete-se este processo até a otimalidade ou quando as condições de parada forem satisfeitas."

Uma transformação apropriada neste caso foi aquela denominada de transformação Afim. A

partir desta, os pesquisadores denominaram os algoritmos variantes desta transformação com algoritmos afins. Quando a transformação é aplicada diretamente ao problema primal na forma padrão, denomina-se algoritmo Primal – Afim. E para o problema no formato dual de algoritmo Dual – Afim.

• A Transformação afim no octante não negativo. Seja nk Rx ∈ um ponto interior do

octante não negativo 0 ,é isto , >ki

n xR para i =1,....,n. Definiremos uma matriz diagonal nn

k RX ×∈ por:

�����

�����

==

)(00

0)(0

00)(

)( 2

1

kn

k

k

kk

x

x

x

xdiagX

���

(4.3)

Note que a matriz kX é não singular e admite uma matriz inversa 1−kX , que é também uma

matriz diagonal mas com kix/1 como seu i -ésimo elemento diagonal, para i =1,...., n.

A transformação afim é definida no octante não negativo nR+

por, nn RRT ++ →: , tal que:

xXxTy kk1)( −==

(4.4) A transformação (4.4) simplesmente reescala a i -ésima componente de x por um número

positivo kix . Geometricamente ela transforma pontos e segmentos de reta do espaço original para pontos

e segmentos de retas no espaço transformado. Daí a denominação de transformação Afim. A Figura 4.1 ilustra o esboço geométrico da transformação no espaço bidimensional. Note que, para o caso de as restrições bidimensionais de desigualdade, representadas na figura 4.1, as variáveis escaladas incluem as

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

Page 15: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

15

variáveis de folga, também. De fato, cada borda do polígono corresponde a uma variável de folga que está sendo ajustada em zero. Entretanto, é difícil representar o esboço completo numa mesma figura.

FIGURA 4.1 - Esboço geométrico da transformação Afim no espaço bidimensional

As seguintes propriedades de KT pode-se facilmente serem verificadas:

(T1) kT é uma aplicação bem definida de nR+ a nR+ , e se kx for um ponto interior de nR+ ,

então, ky é um ponto interior do nR+ .

(T2) exT kk =)(

(T3) )(xTk é um vértice de nR+ se x for um vértice.

(T4) )(xTk está na fronteira do octante nR+ se x for um ponto da fronteira.

(T5) )(xTk é um ponto interior de nR+ se x for um ponto interior.

(T6) kT é uma transformação biunívoca, a qual admite uma transformação inversa 1−kT tal

que:

xyXyT kk ==− )(1 para cada nRy +∈ (4.5)

Suponha que uma solução interior kx do problema de programação linear (4.1a,b) é dada. Pode-

se aplicar a transformação afim kT para "centrar" sua imagem em e . Pela relação yXx k= , mostrada

em (4.5), no espaço solução transformado, tem-se um problema de programação linear correspondente a:

ycMinimizar Tk )( (4.6a)

ksujeito a : A y b, y 0= ≥ (4.6b)

onde cXc kk = e .kk AXA =

No problema (4.6), a imagem de kx , isto é, )( kk

k xTy = , torna-se e , que mantêm a

distância unitária da fronteira definida no octante não-negativo. Se movermos ao longo de uma direção kyd que se encontre no espaço nulo da matriz kk AXA = , com um comprimento de passo apropriado,

0>kα , então o novo ponto kyk

k dey α+=+1 permanece interior e viável para o problema (4.6). Além

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

Page 16: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

disso, sua imagem inversa 1+ =kxproblema (4.1a,b).

Desde que nosso objetivo

procedimento de máxima descida é

espaço nulo da matriz kA , e criar um

espaço transformado. Para este fim,

kTkk AAAIP (−=

Então, a direção de movime

cPd kk

ky )( =−=

Note que a matriz proje

completo m e 0>kx . É também

projeção.

FIGURA 4.2 – Esboço da projeção

Agora tem-se a condição

eyk = ao longo da direção kyd , p

valor da função objetivo. Fazendo

apropriado, tal que:

Observe que, se 0≥kyd

permanecendo no interior da região.

inicialmente considerando as razões

Desta forma pode-se escolh

= mkα

111 )( ++− == kk

kk yXyT torna-se uma nova solução int

o é minimizar o valor da função objetivo, a estratégia

é indicada. Ou seja, quer-se projetar o gradiente negati

ma direção factível kyd , que melhora ou diminui a funçã

define-se primeiramente a matriz nula da projeção do esp

kT

kT

kkTk AXAAXAXIAA 121 )() −− −=

ento kyd , é dada por:

cXAXAAXAXI kkT

kT

k ])([ 12 −−−=

eção kP é bem definida ao longo de A sempre qu

m fácil verificar que 0=kkdAX . A Figura 2.2 mostra

o do vetor direção do Método Primal – Afim no espaço bi

de mudar, no espaço solução transformado, a solução

ara uma nova solução interior 01 >+ky , garantindo o de

o assim, tem-se que escolher um comprimento do pas

01 >+=+ kyk

kk dyy α

, então kα poderá ser escolhido como qualquer núm

. Note que, se 0)( <ikyd , para algum i, então kα deve s

:

ikyi

ky

ki

dd

y

)(

1

)( −=

her 10 <α< e aplicar o teste de raio mínimo

��

���

<��

���

−0)(

)(min i

ky

iky

id

d

α ;

16

terior para o

de adotar o

ivo kc− no

o objetivo no

paço por:

(4.7)

(4.8)

ue tem posto

a o esboço da

dimensional

interior atual

ecréscimo do

sso 0>kα ,

mero positivo,

ser escolhido,

(4.9)

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

Page 17: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

17

para determinar um comprimento do passo apropriado, que garanta a positividade de 1+ky . Quando α

está perto de 1, a solução atual é movida quase sempre para a fronteira mais próxima do octante positivo para definir uma nova solução interior no espaço transformado. Esta mudança de solução é ilustrada também na figura 4.2.

Nossa próxima tarefa é transformar a nova solução 1+ky para o espaço solução original, para

obter uma solução melhorada 1+kx para o problema (4.1a,b). Isto poderá ser feito aplicando a

transformação inversa 1−

kT a 1+ky . Em outras palavras, tem-se:

1111 )( ++−+ == kk

kk

k yXyTx

kykk

k dXx α+=

cXPXx kkkkk α−=

[ ] cXAXAAXAXIXx kkTT

kkk

kk

12 )( −−α−=

[ ]cAXAAXAcXx kT

kT

kkk 2122 )( −−α−=

[ ]kT

kkk wAcXx −−= 2α (4.10)

onde cAXAAXw k

T

k

k 212 )( −= (4.11)

Isto significa que a direção de movimento no espaço solução original é [ ]kT

k

kx wAcXd −−= 2

e o comprimento do passo é kα , quando [ ]kT

kky wAcXd −−= no espaço transformado. Diversas

observações importantes podem ser feitas aqui:

Observação 1. Note que k

Kky cPd −= e

kyk

kx dXd = , onde kP é uma matriz de projeção

vista em (4.7). O decréscimo da função objetivo é demostrado a partir de: kyk

Tk

kTkT dXcxcxc α+=+1

ky

Tkk

kT dcxc )(α+=

ky

Tkyk

kT ddxc )(α−=

2k

ykkT dxc α−=

(4.12)

Isto implica que 1+kx é certamente uma solução de decréscimo da função objetivo se a direção

de movimento 0≠kyd . Além disso, têm-se os seguintes lemas que podem ser encontrados em [FANG e

PUTHENPURA – 1993]:

Lema 4.1. Se existir um 0Pxk ∈ com 0>kyd , então o problema de programação linear

(4.1a,b) é ilimitado.

Prova. Desde que kyd está no espaço nulo da matriz restrição kAX e 0>k

yd , sabe-se que

kyk

kk dyy α+=+1 é viável ao problema (4.6), para todo 0>kα . Consequentemente, pode-se escolher

kα sendo infinitamente positivo, então a Equação (4.12) implica que o limite de 1+kT xc se aproxima de

∞− , neste caso,para PdXxx kykk

kk ∈+=+ α1 . �

Lema 4.2. Se existe um 0Pxk ∈ com 0=kyd , então toda solução viável do problema de

programação linear (4.1a,b) é ótima.

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

Page 18: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

18

Prova. Recorde que kP é uma matriz projeção do espaço nulo. Para 0=−= cXPd kkky , sabe-

se que cX k está no complemento ortogonal do espaço nulo da matriz kAX . Desde que o complemento

ortogonal neste caso é o espaço definido pelo número de linhas da matriz kAX , existe um vetor ku tal

que

cXuAX kkT

k =)( ou kT

kTk XcAXu =)(

Desde que 1−kX existe, segue que TTk cAu =)( . Agora para toda a solução viável x ,

buAxuxc TkTkT )()( ==

Desde que bu Tk )( não depende de x , o valor de xcT permanece constante em P. �

Lema 4.3. Se o problema de programação linear (4.1a,b) for inferiormente limitado e sua função

objetivo não for constante, então a seqüência ...} ,2 ,1{ =kxc kT é bem definida e estritamente

decrescente. Prova. Esta é uma conseqüência direta dos Lemas 4.1, 4.2 e Equação (4.12). �

Observação 2. Se kx for realmente um ponto do vértice, então a expressão (4.11) pode ser

reduzida a BTk cBw 1)( −= , o qual é definido como o " vetor Dual" para o Método Dual – Simplex.

Assim denomina-se kw como estimador dual (correspondente à solução primal kx ) no algoritmo Primal – Afim. Além disso, neste caso, o vetor:

kTk wAcr −= (4.13)

reduz-se a BTT cBAc 1)( −− que é o conhecido vetor custo reduzido ou custo relativo no Método

Simplex. Daí chama-se kr de vetor custo reduzido ou relativo associado a kx no algoritmo afim.

Observe que quando 0≥kr , a estimativa dual kw se transforma numa solução viável dual e k

kTkTk rXerx =)( transforma a folga complementar no par de solução viável ),( kk wx , isto é,

kk

TkTkT rXewbxc =− (4.14)

No caso de 0=kk

T rXe com 0≥kr , tem-se conseguido então a factibilidade primal de kx ,

a factibilidade dual de kw , e as condições de folgas complementares. Ou seja, kx é ótimo primal e kw é ótimo dual.

Baseado na discussão acima, esboça-se aqui um procedimento iterativo do algoritmo Primal – Afim.

4.1.2 Algoritmo Primal – Afim.

Passo 1 (inicialização): Estabelecemos k=0 e 00 >x tal que bAx =0 (Detalhe a ser discutido mais tarde). Passo 2 (Cálculo do vetor estimativa dual): Calcular o vetor estimativa Dual.

cAXAAXw kT

kk 212 )( −=

onde kX é a matriz diagonal visto em (4.3) cujos elementos são as componentes de xk .

Passo 3 (Cálculo do vetor custo relativo): Calcular o vetor custo reduzido.

kTk wAcr −=

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

Page 19: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

19

Passo 4 (Teste para otimalidade): Se 0≥kr e ε≤kk

T rXe (um número positivo pequeno

fixo), então PARE, kx é ótimo primal e kw é ótimo dual. Caso contrário, vá para o passo seguinte.

Passo 5 (Direção de translação): Calcule a direção

kk

ky rXd −=

Passo 6 (Teste para ilimitariedade e valor objetivo constante): Se 0>kyd , então PARE, o

problema é ilimitado. Se 0=kyd , então também PARE, kx é ótimo primal. Caso contrário vá

para o Passo 7. Passo 7 (Cálculo do comprimento do passo): Calcule o comprimento do passo

��

���

<��

��� α−

=α 0) que tal,)(

min iky

iky

ki

ik d

d

y onde 10 << α

Passo 8 (Determinação de uma nova solução): Atualize kykk

kk dXxx α+=+1

Faça 1+← kk e vá para o passo 2 O Algoritmo Primal – Afim, visto nesta seção, implementado em Linguagem Pascal 7.0 é

utilizado no exemplo numérico 4.1, dado a seguir, para ilustrar este algoritmo Exemplo 4.1 Considera-se o Problema de Programação Linear:

212x- xMinimizar +

1 2

2

1 2

sujeito a : x x 15

x 15

x , x 0

− ≤

(4.1.1)

Este, na forma canônica é expresso por:

212x- xMinimizar +

1 2 3

2 4

1 2 3 4

sujeito a : x x x 15

x x 15

x , x , x , x 0

− + =

+ =

(4.1.2)

O método Primal – Afim será testado para o problema dado na forma canônica, ou seja, o problema (4.1.2) a qual está definido com restrições de igualdade.

Neste caso,

��

���

�=

10

01

10

1-1A , [ ]TB 1515= , e [ ]Tc 0012-=

Assume-se [ ]Tx 1372100 = , a qual é uma solução interior factível. Daí:

����

����

=

13000

0700

0020

00010

0X e cAXAAXw T 20

120

0 )( −= [ ]000,00771-1,33353-=

Além disso,

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

Page 20: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

20

[ ]TT wAcr 00771.033535.132582.066647.000 −−−=−=

Desde que algumas componentes de 0r são negativas e 1187.200 =rXeT , sabe-se que a

solução atual é não ótima. Conseqüentemente prossegue-se para sintetizar a direção de busca com

[ ]Ty rXd 1002.03475.96516.06647.600

0 −=−=

Suponha que é escolhido 99.0=α , então o comprimento do passo

1059.03475.9

99.00 ==α

Conseqüentemente, a nova solução é:

[ ]86178.1207000.013822.206822.170001 =α+= o

ydXxx

Observe que o valor da função objetivo foi melhorada de 18− para 99822.31− . Fazendo-se

mais iterações, verifica-se que o processo iterativo converge à solução ótima [ ]Tx 001530=∗

com o valor da função objetivo 45− . O resultados obtidos, e a interpretação geométrica do problema dado e das soluções encontradas

pelo algoritmo, são 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)

Iteração

k

ix

Função Objetivo

1

16.782336515 2.132636515 0.3499999999 12.867363485

-31.432636515

2

23.0731155942 8.0906559421

0.0175 6.9093440579

-38.055655943

3

29.637182208 14.654532797 0.0173505898

0.34546720289

-44.619831618

4

29.967032773 14.982726640 0.056938811 0.017273360

-44.951338906

5

29.9900972523 14.991757223

0.00078469405 0.00824276980

-44.990187824

6

29.998945353 14.999587895

0.00064276173 0.00412138490

-44.998302811

7

29.999687342 14.999713389

0.00003213808 0.00286613571

-44.999661295

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

Page 21: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

21

A solução ótima encontrada computacionalmente foi

999687342.2971 =x 999713389.147

2 =x

e o valor da função objetivo é 999661295.447 −=z

Na implementação feita do algoritmo Primal – Afim não foi utilizado, como critério de parada, o critério das folgas complementares. Nesta optou-se por utilizar o critério simples de mn − componentes

tenderem a zero, o que determina um vértice do problema, para uma precisão 310−=ε .

FIGURA 4.3 – Interpretação geométrica para o problema (ex.4.1a) e das soluções obtidas pelo algoritmo

Primal – Afim

• A convergência do algoritmo Primal – Afim. Nosso objetivo é mostrar que a

seqüência }{ kx gerada pelo algoritmo Primal – Afim (sem parar na etapa 6) converge a uma solução

ótima do problema de programação linear (4.1a,b). A fim de simplificar a prova, faz-se as seguintes suposições: 1. O problema de programação linear em consideração tem um domínio viável limitado com interior

não-vazio; 2. O problema de programação linear é não-degenerado primal e não degenerado dual.

A primeira suposição retira a possibilidade de se terminar o algoritmo Primal – Afim com ilimitariedade, e pode ser posteriormente mostrado que estas duas suposições implicam que:

(i) a matriz kAX é de posto completo s)L.I. colunas ( 'm , para cada Pxk ∈ ;

(ii) o vetor estimador dual kr têm no máximo m zeros para cada mk Rw ∈ . A seguir serão revistos alguns Lemas simples, mas importante para nossa análise de

convergência.

Lema 4.4 - Quando aplica-se o algoritmo Primal – Afim tem-se que 0lim =∞→

kk

krX .

Prova. Desde que a seqüência }{ KT xc é monotonicamente decrescente e é limitada

inferiormente (pela primeira suposição), então a mesma é convergente. Daí as equações (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 1439

Page 22: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

22

221 limlim)(lim0 kyk

yk

kyk

k

kTkT

kd

ddxcxc

αα

∞→∞→

+

∞→≥=−=

Observe que 0>α e 0≥kyd , logo tem-se:

0limlim ==∞→∞→

kk

k

ky

krXd

E a prova do resultado é imediata. �

Note que o resultado acima é exatamente a condição das folgas complementares. Definindo PC ⊂ , como sendo o conjunto em que se verificam as folgas complementares, ou

seja:

}0/{ =∈= kk

k rXPxC ;

(4.15) além disso, introduzindo PD ⊂ , como sendo o conjunto em que a condição viável dual se verifica, isto é,

}0/{ ≥∈= kk rPxD ;

(4.16) e, considerando-se as condições de otimalidade do problema de programação linear, é fácil provar o seguinte resultado:

Lema 4.5 - Para todo DCx ∩∈ , x é uma solução ótima do problema de programação linear (4.1a,b).

Agora está-se pronto para provar que a seqüência }{ kx gerada pelo algoritmo Primal – Afim

converge para uma solução ótima do problema (4.1). Primeiramente, mostra-se que:

Teorema 4.1 - Se }{ kx convergir então k

kxx

∞→

∗ = lim é uma solução ótima para problema

(4.1a,b)

Prova – Prova-se este resultado pela contradição. Primeiramente note que quando }{ Kx

convergir para ∗x , ∗x deve ser viável primal. Entretanto, para provar este resultado assume-se que ∗xnão é ótimo primal.

Desde que (.)kr é uma função contínua de x a kx , sabe-se que k

krr

∞→

∗ = lim é bem definido.

Além disso, o Lema 4.4 implica que:

0lim ==∞→

∗∗ kk

krXrX

Daí tem-se Cx ∈∗ . Por suposição e Lema 4.5, sabe-se que Dx ∉∗ . Consequentemente, existe

ao menos um índice j tal que 0<∗jr . Recordando que Cx ∈∗ , tem-se 0=∗

jx . Devido à continuidade

de kr , existe um inteiro K tal que para todo 0}{, <≥ kjrKk . Entretanto, considere que:

kj

kjk

kj

k

j rxxx 21)(α−=

+

Desde que 0)( 2 <kj

kj rx , temos Kkxx k

j

k

j ≥∀>>+

,01

, o que contradiz o fato que

0=→ ∗jxxk

j . Daí, chega-se a uma contradição de nossa hipótese. Portanto, ∗x é ótimo primal.

O trabalho restante deve mostrar que a seqüência }{ kx certamente converge.

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

Page 23: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

23

Teorema 4.2 - A seqüência }{ kx gerada pelo algoritmo Primal – Afim é convergente.

Prova. Desde que o domínio viável é não-vazio, fechado e limitado, devido a compacidade do

conjunto P a seqüência }{ kx tem ao menos um ponto de acumulação em P, dito ∗x . Nosso objetivo é

mostrar que ∗x é também o único ponto de acumulação de }{ kx e daí este é o limite da seqüência gerada

}{ kx .

Observando-se que (.)kr é uma função contínua em kx e aplicando-se o Lema 4.4, pode-se

concluir que Cx ∈∗ . Além disso, a suposição de não-degeneração implica que cada elemento em C

incluindo ∗x deve ser uma solução viável básica (vértice de P). Daí podemos denotar suas variáveis não

básicas por ∗jx , e define-se Ñ como o índice para se ajustar estas variáveis não básicas. Além disso,

para todo 0>δ , define-se uma bola de raio 0>δ , ao redor de ∗x dada por :

}/{ exPxB kN

k δδ <∈=

Assume-se que ∗r seja o vetor custo reduzido correspondente a ∗x . A não degeneração primal

e dual assegura-nos encontrar um 0>ε tal que

ε>∗

∈j

Njr~min

Recorde que a suposição de não-degeneração implica em cada membro de C ser um vértice de P e há somente um número finito dos vértices em P. Daí C tem um número finito de elementos e pode-se

escolher um apropriado 0>δ tal que

∗=∩ xCB iδ (4.17a)

e

δε BxrjNj

∈∀>∗

k~ ,min (4.17b)

Recordando que

0limlim22

==∞→∞→

kk

k

ky

KrXd

tem-se

[ ] 0lim2

=∞→

kj

kj

Krx

Devido à condição de P ser limitado, sabe-se que o comprimento do passo kα em cada iteração

é um número positivo e limitado. Conseqüentemente, para ε e δ apropriadamente escolhidos, se

δBxk ∈ , que é suficientemente próximo de ∗x , vê-se que ][ δεα 2

<kj

kjk rx . Daí pode-se definir um

conjunto

[ ] }~

, {2

, NjrxBxS kj

kjkk

k ∈∀δε<α∈=δε (4.18)

Agora, para todo δε∈ ,Sxk, (4.18) implica que

[ ] Njrx kji

kjk

~ , )(

2∈∀δ<α

e que, além disso,

[ ] Njrxxx kj

kjk

kj

kj

~ ,2)( 21 ∈∀δ<α−=+

Isto mostra que ,�kk

j SxBx εδ+ ∈∈ se 2

1

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

Page 24: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

24

Agora pode-se mostrar que ∗x é o único ponto de acumulação de }{ Kx . Por contradição,

supõe-se que a seqüência }{ kx tem mais de um ponto de acumulação. Desde que ∗x é um ponto de

acumulação, a seqüência }{ kx pertence a δε ,S sempre que (4.17b) está satisfeita. Mas, como ∗x não é o

único ponto de acumulação, a seqüência é alterada sempre que se aproxima de um novo ponto e satisfaz

(4.17b). Entretanto, cada vez que a seqüência é alterada δε ,S , ela permanece em δεδ ,2 / SB .

Conseqüentemente, infinitos elementos de }{ kx , permanecem em δεδ ,2 / SB . Note que estes diferentes

conjuntos tem um fecho compacto, e a subseqüência de }{ kx que pertence a δεδ ,2 / SB deve ter um

ponto de acumulação no fecho compacto. Devido à definição de C, sabe-se que cada ponto de

acumulação de }{ kx deve pertencer-lhe. Entretanto, C é disjunto do fecho de δεδ ,2 / SB . Este fato, junto

com a Equação (4.17), causa uma contradição. Assim ∗x certamente é o limite da seqüência }{ kx .

Mais resultados a respeito da convergência do algoritmo Afim sob a condição de degeneração tem aparecido recentemente.

4.1.3 Implementando o Algoritmo Primal – Afim

As implementações feitas necessitam de um ponto interior inicial para serem aplicadas. Nesta seção, será definido um procedimento para determinação de uma solução factível inicial, bem como, a verificação da ocorrência de otimalidade e da busca de uma solução básica viável básica ótima.

• Iniciando o algoritmo Primal – Afim. De maneira análoga aquela estabelecida para o Método Simplex Revisado [LUENBERGER – 1984], será introduzido aqui dois mecanismos, a saber, o Método Big-M e o Método Duas-Fases para encontrar uma solução viável interior inicial. O primeiro método é executado mais facilmente e apropriado para a maioria das aplicações. Entretanto, uma execução comercial mais séria considera freqüentemente o segundo método devido a sua estabilidade.

• Método Big-M. Neste método, adiciona-se uma variável artificial ax associado com

um número positivo grande M ao programa linear original para fazer que 1R1,....,1) ,1( +∈ n se

transforme numa solução viável interior inicial para o seguinte problema: aT MxxcMinimizar + (4.19a)

[ | a

a

xsujeito a : A b Ae] b, x 0 x 0

x

� �− = ≥ ≥� �� �

(4.19b)

onde nT Re ∈= )1 ..., ,1 ,1( .

Comparando o Método Big-M com o Método Simplex Revisado, tem-se aqui somente n+1 variáveis, 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 viável, chega-se em uma solução ótima ao problema Big-M ou conclui-se que o problema é ilimitado. Se a variável artificial permanecer positiva na

solução final ),( axx∗ do problema Big-M, então o problema de programação linear original é infactível.

Caso contrário, ou o problema original é inferiormente ilimitado, ou ∗x é a solução ótima do problema de programação linear original.

Após as considerações dos mecanismos iniciais vê-se os critérios de parada para a implementação do algoritmo Primal – Afim.

Teorema 1.3.: (Condições de Otimalidade de Karush-Kunh-Tucker - KKT)

Considere os problemas (4.1a,b) e o problema no formato dual (4.1c). O vetor *x é uma solução

ótima do problema (4.1a,b) e ( )**,sw é solução ótima para o Problema Dual (4.1c) se, e somente se:

bAx = , 0≥x (factibilidade primal)

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

Page 25: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

25

cswAT =+ , 0≥s (factibilidade dual)

0=XSe (folgas complementares)

onde ( )nxxxX ,,,diag 21 �= , ( )nsssS ,,,diag 21 �= e ( )Te 1 , ,1 ,1 �= .

Do teorema 4.3 tem-se que o vetor ( )*** ,, swx é solução ótima do sistema acima se, e somente

se *x é solução ótima de (4.1a,b) e ( )**,sw é solução ótima do (4.1c). O vetor ( )*** ,, swx é chamado

de solução Primal-Dual.

• Critérios de Parada. Como mencionado anteriormente, uma vez que as condições de K-K-T são encontradas, um par de soluções ótima está encontrado. Daí usa-se as condições (I) da factibilidade primal, (II) da factibilidade dual e (III) das folgas complementares como critérios de parada. Entretanto, em execuções reais estas circunstâncias são algumas vezes relaxadas para acomodar as difículdades numéricas devido às limitações da exatidão da máquina.

Assumindo que kx é uma solução atual obtida aplicando o algoritmo Primal – Afim. As condições primal da factibilidade requerem que

(I) factibilidade primal

0, ≥= kk xbAx (4.20)

Na prática, a factibilidade primal é medida freqüentemente por:

0 com 1

≥+

−= k

k

p xb

bAxσ (4.21)

Note que para 0 ≥kx , se pσ for bastante pequeno, pode-se aceitar k x para ser viável

primal. Somando-se 1 no denominador de (4.21) é assegurar-se a estabilidade numérica na computação.

(II) factibilidade dual A factibilidade dual requer a não-negatividade dos custos reduzidos, isto é,

0≥−= kTk wAcr (4.22)

onde kw é a estimativa dual definida na equação (4.11). Uma medida prática da factibilidade dual poderia ser definida como

1+

=c

r k

dσ (4.23)

onde c e kr são calculados somente para i tal que o 0<kir . Quando dσ é

suficientemente pequeno, pode-se afirmar quer a factibilidade dual está satisfeita para kw .

(III) folgas complementares A condição de folga complementar requer que

0)( == kk

kTk reXrx (4.24)

Desde que

kk

TkTkT rXewbxc =− (4.25)

onde kx é primal viável e kw é dual viável, pode-se definir

kTkTc wbxc −=σ (4.26)

para medir a condição de folga complementar.

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

Page 26: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

26

Na prática, escolhe-se pd c e �, �� como números positivos suficientemente pequenos e os

utiliza-se então para decidir se a iteração atual satisfaz o critério de parada. De acordo com [FANG e PUTHENPURA - 1993], tem-se observado o seguinte comportamento para o algoritmo Primal – Afim:

1. Em cada iteração, o engarrafamento computacional é devido ao cálculo das estimativas duais kw . 2. Embora a condição primal é mantida teoricamente, o truncamento numérico e os erros de

arredondamento dos computadores poderiam ainda causar infactibilidade. Conseqüentemente, a factibilidade primal necessita ser verificada com cuidado. Uma vez que a infactibilidade é detectada, pode-se aplicar o procedimento "dinâmico de correção da infactibilidade" da Fase-I para restaurar a factibilidade primal.

3. O valor da função objetivo decresce nas iterações seguinte, mas tende a um decrescimento lento considerável quando a solução atual se torna mais perto da otimalidade.

4. O algoritmo é um tanto sensível ao primal degenerado, especialmente quando a iteração prossegue perto da otimalidade. Mas esta observação não é sempre verdadeira. Em muitos casos, igualmente com a presença do primal degenerado, o algoritmo se comporta bem.

• Encontrando uma solução viável básica. Observe que, exatamente como o algoritmo

de Karmarkar, em cada iteração, a solução atual do algoritmo Primal – Afim permanece sempre no interior do domínio viável P. A fim de obter uma solução viável básica, o esquema da depuração e as técnicas relacionadas ao Método Big-M e ou Método Duas-Fases podem ser aplicados aqui.

4.1.4 Complexidade Computacional

Comparado à transformação projetiva de Karmakar, a transformação Afim é menos complicada e mais natural. A execução do Primal – Afim é também bastante simples. Não necessita a suposição do "valor objetivo ótimo zero" nem requer a "estrutura simples" especial. Por distante, é um dos variantes mais populares do método de ponto interior. De acordo com [VANDERBEI et al – 1986], para problemas com matrizes de restrições densas, a implementação Primal – Afim é próxima de

1694.00187.03885.7 nm k− iterações para alcançar uma solução ótima para uma tolerância 310−=ε . O resultado foi derivado da análise da regressão de 131 problemas gerados aleatoriamente. Embora na prática o algoritmo Primal – Afim executa muito bem, nenhuma prova mostra que ele é um algoritmo de tempo polinomial.

• Método da função barreira logarítmica. Uma outra maneira de se permanecer longe da fronteira do octante positivo é incorporar uma função barreira, a qual assume valores extremamente

elevados ao longo dos limites }nj1 algum para ,0{ ≤≤=∈ jn xRx , na função objetivo original,

ou seja, penalizando os pontos do conjunto citado, analogamente aos resultados vistos na Seção 3.2. Minimizando esta nova função objetivo, consegue-se, automaticamente, garantir que uma solução qualquer seja definida distante da fronteira do octante positivo. O método barreira logarítmica considera o seguinte problema de otimização não-linear:

ln(x)1�

=

=n

jj

T xx-�cFMinimizar μ (4.27a)

sujeito a : Ax b, x 0= ≥ (4.27b)

onde 0>μ é um escalar. Se )(μ∗x é um solução ótima para o problema (4.27a,b), e se )(μ∗x tender

a um ponto ∗x quando μ tende para zero, então, ∗x é uma solução ótima do problema de programação

linear original. Observe também que a restrição de positividade 0>x está considerada na definição da função logarítmica. O PPL (4.27a,b) é equivalente ao seguinte problema Lagrangeano:

)(ln bAx xx-�c(x)FMinimizarn

jj

T −λ+= μ=

μ �1

(4.27c)

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

Page 27: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

27

onde, μλ é o vetor multiplicador d eLagrange.

Daí, para todo 0>μ fixo, a direção de busca de Newton μd em uma dada solução viável x é

obtida resolvendo o seguinte problema de otimização quadrática:

dxF (x)d FdMinimizar T��

T ))(((2

1 2 ∇+∇ (4.28a)

sujeito a : Ad 0= (4.28b)

onde μ−

μ λ−μ−=∇ TAeXcxF 1)( e -22 (x) XF μμ =∇ .

Em outras palavras, a direção de Newton está no espaço nulo da matriz A e minimiza a

aproximação de (x)μF .

As Condições de Primeira Ordem do problema (4.27a,b) em relação à variável d é:

��

���

=

=∇+∇ μμ

0

0)(2

Ad

xF (x)dF (4.28c)

Substituindo-se as expressões de )(F xμ∇ e (x)2μ∇ F , vistas em (4.28a, b) no sistema (4.28c)

tem-se:

��

���

=

=λ+μ−+μ

μ

μ−

μ−

0

0)( 12

Ad

AeXcdX T

Assume-se que μλ denota o vetor de multiplicadores de Lagrange, então μμλ e d satisfazem

ao seguinte sistema de equações:

���

����

� −−=��

����

����

����

� −−

0

0

12 eXcd

A

AX T μ

λ

μ

μ

μ

Multiplicando o sistema por X tem-se:

���

����

� μ−−=��

����

��

����

�μ

μ

μ−

0

0

1 eXcd

AX

XAX T

Assumindo μμ μφ dX 1−= , tem-se

���

����

� −−=��

����

����

����

�0

0

eXc

AX

XAI T μ

λ

φ

μ

μ

logo

e)]()([ 12 μφμ −−−= − XcAXAAXXAI TT (4.29)

e

e)]()([1 12 μμ

μ −−−= − XcAXAAXXAIXd TT (4.30a)

Fazendo a solução dada ser kxx = e comparando μd com a direção de busca Primal - Afim

kxd , tem-se:

eAXAAXAXIXdd kT

kT

kkkx ])([

1 12 −−+−=μ

μ (4.30b)

A componente adicional ePXeAXAAXAXIX kkkT

kT

kk =− − ])([ 12 pode ser vista como

uma força que afasta uma solução 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 1445

Page 28: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

28

de "força de centragem" e o método barreira logarítmica um "algoritmo Primal – Afim com força de

centragem”. A Figura 4.4 ilustra geometricamente a direção encontrada μd .

FIGURA 4.4 – Interpretação geométrica do vetor direção do Método Primal – Afim com

procedimento de centragem através do método de barreira logarítmica

Enquanto a teoria clássica da função barreira requer que kx resolva o problema (4.27a,b)

explicitamente antes que Kμμ = seja reduzido, em [GONZAGA – 1989] é demonstrado que existe

0 e 1,0 ,00 >α<ρ<>μ , tal que, escolhendo K

dμ por (4.29), k

kk

kdxx ρμ=μα+= +μ

+1k

1 e ,

o método verifica a convergência para uma solução ótima ∗x do problema original de programação

linear original em )( nLO iterações. Isto poderia resultar em um algoritmo Afim de tempo polinomial

com complexidade )( 3LnO . Uma simples e elegante prova é devido a C. Roos e J-Ph. Vial [ROOS e

VIAL – 1990], a qual é análoga aquela proposta por R. Monteiro e I. Adler [MONTEIRO e ADLER – 1990] para o algoritmo Primal – Dual.

4.2 O Método Dual-Afim para o Problema Primal

Considera-se um Problema de Programação Linear (PPL), em sua forma de desigualdade:

bAx

xcz T

≤≤≤≤

====

:asujeito

min (4.31a)

; c, ; , , onde é uma matriz de posto m.mxn n mA x b A∈ℜ ∈ℜ ∈ℜ

O seu PPL dual é expresso por:

0wc,wA

wbT

T

≥≥≥≥====:asujeito

max (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 variáveis de folga temos:

min z

sujeito a: 0

Tc x

Ax s b

s

=

+ =��

≥�

(4.32)

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

Page 29: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

29

Seja x um ponto interior factível para (4.31a), ou seja, Ax b= , logo 0s b Ax= − > é um ponto factível para (4.32).

Temos que o interior do PP, representado por Int(PP), é dado por:

{ }( ) / , 0nInt PP s R Ax s b s= ∈ + = >

Considerando a Iteração k+1, temos: 1k k k

xx x dβ+ = + (4.33a) 1k k k

ss s dβ+ = + (4.33b)

Deseja-se que: 1 1 1, s 0k k kAx s b+ + ++ = > (4.34a)

1T k T kc x c x+ ≤ (4.34b) Substituindo (4.33a,b) em (4.34a), temos que:

0 (direções factiveis)k kx sAd d+ = (4.35)

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

0 (condição para minimizar a função objetivo)T kxc d < (4.36)

Definindo a matriz ( )kk iS Diagonal s= , ou seja:

1 ... 0

... ... ...

0 ...k

m

s

S

s

� �� �

= � �� �� �

Podemos definir: 1 (variável do espaço transformado)ku S s−= (4.37)

1 = = k kkS s e u−

Portanto de (4.37), temos:

(direção factível no Espaço Transformadok ks k ud S d= (4.38)

Substituindo (4.38) em (4.35), temos: 1

k

k kx uS Ad d− = −

Multiplicando-se ambos lados por 1TkA S − , tem-se: 2 1

k k

T k T kx uA S Ad A S d− −= −

onde a matriz 2

k

TA S A− é simétrica e definida positiva, assim esta matriz é inversivel e

podemos expressar kxd da seguinte forma:

2 1 1( )k k

k T T kx ud A S A A S d− − −= − (4.39a)

Por definição 2 1 1( )

k k

T TkQ A S A A S− − −= , então (4.39a) pode ser escrito como:

k kx k ud Q d= − (4.39b)

Como kxd deve satisfazer 0T k

xc d ≤ , a melhor escolha para kxd é (4.39b).

A equação (4.39b) implica que kxd é determinada por k

ud no espaço transformado. Se

pudermos encontrar uma direção apropriada kud tal que (4.36), é satisfeita, então conseguimos nosso

objetivo. Nesse sentido, definimos:

k

k Tud Q c= (4.40a)

Então, temos:

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

Page 30: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

30

20

k

T k T k T T Tx k u k kc d c Q d c Q Q c c Q= − = − = − ≤

e assim a direção definida em (4.32a) satisfaz (4.36). Considerando (4.39b) e (4.40a), vemos que:

2 1( ) ck Tx kd A S A− −= − (4.40b)

Conseqüentemente, de (4.35), temos a seguinte direção de busca no espaço original: 2 1( ) ck k T

s x kd Ad A A S A− −= − = (4.40c)

Uma vez que a direção de busca ( kxd ; k

sd ) é determinada, o comprimento do passo kβ é

definido pela condição de não-negatividade de 1ks + e, da mesma forma que no algoritmo tem-se as seguintes condições:

1- Se 0ksd = , então o problema dual tem um valor objetivo constante em seu

conjunto de restrições viáveis e ( kx ; ks ) é ótimo de (4.31a);

2- Se 0ksd > , então o problema (4.31a) é ilimitado;

3- Caso contrário

min / ( ) 0 onde 0 < < 1( )

kki

k s ikis i

sd

d

αβ α

� �= − <� �

� �

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

k sw S d−= − (4.41)

então 2 -2 -2 -2 -1( )( )T k T k T k T Tk s k x k kA w A S d A S Ad A S A A S A c c−= − = = = . Portanto, kw pode ser visto

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

0kw ≥ , e considerando-se a solução factível primal kx , então, a folga complementar é definida por T k T kc x b w− . Além disso, se 0T k T kc x b w− = , então ( kx ; ks ) deve ser ótimo primal e kw ótimo

Dual. Esta informação pode ser usada para definir o critério de parada para o Algoritmo Dual-Afim de Pontos Interiores, ou seja, considerando-se 0ε > , uma pequena tolerância positiva, definimos este critério por: T k T kc x b w ε− < , 0ε > .

4.2.1 O Algoritmo Dual-Afim para o PPL em Formato Primal

Passo 1: Considere k = 0 e encontre uma solução inicial ( 0x ; 0s ) tal que 0 0 0 e 0Ax s b s+ = ≥

Passo 2 (Obter a direção de translação): Defina ( )kk iS Diagonal s= e calcule:

2 1( ) ck Tx kd A S A− −= − e k k

s xd Ad= −

Passo 3 (Teste para ilimitariedade): Se 0ksd = , então PARE. ( 0x ; 0s ) é ótimo dual. Se

0ksd > , então também PARE. O problema (4.31a) é ilimitado. Caso contrário vá para o passo 4;

Passo 4 (Cálculo do vetor estimativa dual): Calcule o vetor estimativa dual por:

2k kk sw S d−= −

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

Page 31: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

Passo 5 (Teste para otim

tolerância positiva, então PARE, wseguinte.

Passo 6 (Cálculo do com

Passo 7 (Determinação d

Faça 1k k← + e vá par

Exemplo 4.2:

Figu

Como podemos visualizar n

malidade): Se 0kx ≥ e T k T kc x b w ε− < , onde ε é ukw é ótimo dual e kx é ótimo primal. Caso contrário, vá

mprimento do passo): Calcule o comprimento do passo

min / ( ) 0 onde 0 < < 1( )

kki

k s ikis i

sd

d

αβ α

� �= − <� �

� �

de uma nova solução): Atualize:

1

1

k k kk x

k k kk s

x x d

s s d

β

β

+

+

= +

= +

ra o passo 2.

1 2

1

21

32

4

5

1 2 3 4 5

2

:

1 1 1

1 0 3

0 1 2

1 0 0

0 1 0

, , , , 0

Minimizar z x x

Sujeito a

s

sx

sx

s

s

s s s s s

− = − −

− � �� � � �� �� � � �� �� � � �� � � �� � � �+ =� � � �� � � �� �− � �� � � �� �� � � �−� � � �� �

>

ura 4.5- Interpretação geométrica do exemplo 4.2

na Figura 4.5 a solução do nosso PPL é o vértice (* 3x =

31

uma pequena

para o passo

)2 0 0 0 .

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

Page 32: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

32

Tabela 4.2 – resultados obtidos iterativamente pelo método Dual-Afim

Analisando a Tabela 4.2 podemos observar que a solução encontrada pelo Método Dual-Afim é

7x , que é aproximadamente x*. As mesmas conclusões feitas para o método Primal-Afim são válidas para o método Dual-Afim de pontos interiores, incluindo sua análise de convergência e complexidade polinomial, através do uso da função barreira logarítmica.

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

Page 33: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

33

5. O Algoritmo Primal-Dual de Pontos Interiores

Da mesma forma que no procedimento do algoritmo Primal – Dual Simplex, em adição 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 função barreira logarítmica. A idéia de se usar o método da função barreira logarítmica para problemas de programação convexa pôde ser feita baseando-se no método de K. R. Frisch de 1955. Depois que o algoritmo de Kamarkar foi introduzido em 1984, o método função barreira logarítmica foi ser reconsiderado para resolver problemas de programação lineares. P. E. Gill, W. Murray, M. A. Saunders, J. A. Tomlin, e M. H. Wright usaram este método para desenvolver um método barreira projetada de Newton e mostraram uma equivalência ao algoritmo projetivo de Kamarkar, em 1985. N. Megiddo forneceu uma análise teórica para o método barreira logarítmica e propôs 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 programação lineares em 1987. Estes

mostraram que seu algoritmo convergia em )(nLO iterações exigindo )( 3nO operações aritméticas por

iteração. Daí a complexidade total do mesmo ser de )( 4 LnO operações aritméticas. Mais tarde, R. C.

Monteiro e I. Adler [MONTEIRO e ADLER – 1989] refinaram o algoritmo Primal – Dual para convergir

em )( LnO iterações com )( 5.2nO operações aritméticas, exigidas por iteração, resultando num total

de )( 3 LnO operações aritméticas.

5.1 Idéias básicas do Algoritmo Primal – Dual

Considere o programa linear na forma padrão:

xMinimizar Tc

0, ≥= xbAxaSujeito (5.1)

e seu dual

wMinimizar Tb

0, ≥=+ scswAaSujeito T (5.2)

Impomos as seguintes hipóteses para o algoritmo Primal – Dual:

(A1) O conjunto { }0 >=∈≡ x,bAx/RxS n é não vazio.

(A2) O conjunto ( ){ }0s ,/ ; >=+×∈≡ cswARRswT Tnm é não vazio.

(A3) A matriz de restrições A tem posto completo e igual a m .

Sob estas suposições, tem-se do teorema da dualidade que os problemas (5.1) e (5.2) têm soluções ótimas com um valor comum. Além disso, os conjuntos das soluções ótimas de (5.1) e (5.2) são limitados.

Note que, para (5.1) em 0x >>>> , pode-se aplicar a técnica da função barreira logarítmica e

considerar a seguinte família de problemas de programação não-lineares ( )μP :

�−=

n

jj

T xlnxMinimizar1

c μ

0, >= xbAxaSujeito (5.3)

onde 0>μ é um parâmetro de barreira ou de penalidade.

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

Page 34: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

34

Como 0→μ , espera-se que as soluções ótimas do problema ( )μP convirja a uma solução

ótima do problema de programação linear (5.1). Afim de provar isto, primeiramente observe que a função

objetivo do problema ( )μP é uma função estritamente convexa, daí sabe-se que ( )μP tem pelo menos um

mínimo global. A teoria de programação convexa implica que o mínimo global, se existir, está caracterizado completamente pelas condições de Karush-Kuhn-Tucker (KKT):

0 x >= ,bAx (factibilidade primal) (5.4a)

0s >=+ ,cswAT (factibilidade dual) (5.4b)

0 =− eXSe μ (folgas complementares) (5.4c)

onde X e S são matrizes diagonais as quais utilizam as componentes dos vetores x e s como elementos diagonais, respectivamente.

Sob as hipóteses (A1) e (A2) e admitindo que (5.1) tem uma região factível limitada, então o

problema ( )μP é factível e possui um único mínimo em )(μx , para cada 0>μ . Conseqüentemente, o

sistema (5.4a,b,c) tem uma única solução ( ) nmn RRR;x ××∈s w; . Daí tem-se o seguinte lema:

Lema 2.1. Sob as hipóteses (A1) e (A2), o problema ( )μP e o sistema (5.4a,b,c) tem uma única

solução.

Observe que o sistema (5.4a,b,c) fornece também as condições necessárias e suficientes (as

condições de K-K-T) para ( ))s( );( μμx sendo uma solução que maximiza o seguinte problema ( )μD :

�+=

n

jj

T slnwMaximizar1

b μ

0,>s ,A a ujeito cswS T =+ (5.5)

Note que a Equação (5.4c) pode ser escrita em suas componentes como:

n, .......,j, 1 para sx jj == μ (5.6)

Conseqüentemente, quando a suposição (A3) é imposta, x determina unicamente w das

Equações (5.6) e (5.4b). Denotando ( )) w(;)s( );( μμμx como a solução única do sistema (5.4) para

cada 0>μ , então, tem-se que Sx ∈μ)( e ( ) Tx ∈μμ )s( );( . Além disso, a folga complementar

transforma-se em:

( ) )()(c =

)()()(T μμ−

μ−μ=μ

xAw

wbxcgT

TT

μμμ n)(x =T)s(= (5.7a)

Conseqüentemente, como 0→μ , a folga complementar )(g μ converge para zero. Isto

implica que )(μx e )(μw convergem às soluções ótimas dos problemas (5.1) e (5.2),

respectivamente. Daí tem-se o seguinte resultado: Lema 2.2. Sob as hipóteses (A1) - (A3), se 0→μ , )(μx converge à solução ótima do

programa (5.1) e )(μw converge à solução ótima do programa (5.2).

Para 0>μ , denotamos Γ como a curva, ou trajeto, que representa as soluções do sistema

(5.4a,b,c), isto é, {{{{ }}}} 0 todopara (5.4), satisfazem ))(s );(w );(x( | ))(s );(w );(x( >>>>==== μμμμμμμΓ (5.7b)

Quando 0→μ , a curva definida por Γ conduz à solução ótima primal ∗x e solução ótima

dual ( )∗∗ s ;w . Assim, seguir a trajetória descrita por Γ serviu para se definir uma classe de métodos

Primal – Dual de pontos interiores, para programação linear, denominados de métodos de trajetória

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

Page 35: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

35

central (path-following methods). Por esta razão, pode-se classificar a aproximação Primal – Dual como uma aproximação de trajetória central.

Dado um ponto inicial TSx ×∈)s ; w;( 000 , o algoritmo Primal – Dual gera uma seqüência de

pontos TSxk ×∈)s ; w;( kk pela escolha apropriada de uma direção de busca )d ;d ;( ks

kw

kxd e

comprimento de passo kβ , em cada iteração. Para medir um "desvio" da curva Γ em cada

)s ; w;( kkkx , introduz-se as seguintes notações, .....,,, 2 1 0k para = .

nisxki ..... ,2 ,1 para , k

iki ==φ (5.8a)

�φ=φ=

n

i

ki

kave

n 1

1

) de valoresdos

soma da aritmética (médiakiφ

(5.8b)

{ } ..... ,2 ,1 ;minmin niki

k =φ=φ (5.8c)

mink

kavek

φ

φ=θ (5.8d)

Obviamente, vê-se que 1≥θk e Γ∈)s ; w;( kkkx se e somente se 1=θk . Posteriormente

vê-se que quando o desvio 0θ no ponto inicial TSx ×∈)s ; w;( 000 é grande, o algoritmo Primal –

Dual reduz não somente a folga complementar, como também o desvio. Com os parâmetros

apropriadamente escolhidos, a seqüência de pontos { }TSxk ×∈)s ; w;( kk gerada pelo algoritmo

Primal – Dual satisfaz as desigualdades:

))()(

21( 11

1

11 kTkT

k

k+Tk+Tm

i

ki

ki wbxc

n�=wbxcsx −−−=�

=

++ (5.9a)

kkk+ <. se n+

�2)2�)()1(

11(2� 1 −−≤− (5.9b)

2 se 2 k1+k ≤θ≤θ (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 máximo

)ln( 0θnO iterações, e então, a folga complementar converge para zero linearmente, com a taxa de

convergência de no mínimo ���

���

−n3

21 .

5.2 - Direção e Comprimento do Passo de Movimento.

Está-se agora em condição para desenvolver as etapas do algoritmo Primal – Dual. Inicia-se

sintetizando a direção de translação (direção de busca) )d ;d ;( ks

kw

kxd em um ponto atual )s ; w;( kkkx ,

tal que, a translação é feita ao longo da curva Γ para um novo ponto )s ; w;( 1k1k1 +++kx . Esta tarefa é

aquela de aplicar o método de Newton ao sistema da equação (5.4a,b,c).

• Direção de Newton. O Método de Newton é um dos mais usados, geralmente, para encontrar uma solução de um sistema de equações não-lineares através de sucessivas aproximações do

sistema por equações lineares. Para ser mais específico, suponha que ( ) 0=zF é uma aplicação não-

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

Page 36: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

36

linear em pR e necessita-se encontrar um pRz ∈∗ tal que ( ) 0=∗zF . Usando a aproximação da

série de Taylor (para kzz = ), Obtém-se uma aproximação linear:

zzJzFzzF kkk Δ+≈Δ+ )()()( (5.10)

onde ( )kzJ é a matriz Jacobiana cujo ( )j ,i -ésimo elementos é dado por:

∗=���

���

zzj

i

z

zF )(

e zΔ é um vetor da translação. Como o lado esquerdo de (2.6) avalia uma solução para ( ) 0=zF , tem-

se um sistema linear:

)()( kk zFzzJ −=Δ (5.11)

Um vetor solução da equação (5.11) fornece uma iteração de Newton de kz

kk dzz +=+1kz a , com uma direção de Newton kzd e um comprimento do passo unitário. Quando

)( ∗zJ é não-singular e o ponto inicial 0z é "próximo o bastante" de ∗z , o método de Newton converge

quadraticamente para ∗z . Mas esta taxa de convergência é valida somente para um comportamento

"local". Para um aplicação não-linear geral )(zF , se 0z não for próximo o bastante de ∗z , a iteração de

Newton pode divergir. Focalizando-se no sistema não-linear (5.4a,b,c), supõe-se que se está em um ponto

)s ; w;( kkkx para algum 0>μk , tal que 0s k >⋅kx . A direção de Newton )d ;d ;( ks

ku

kxd é

determinada pelo seguinte sistema de equações:

���

���

−+

−=

���

���

���

���

e�eSX

cswA

bAx

d

d

d

XS

IA

A

kkk

kkT

k

ks

ku

kx

kk

T

0

0

00

(5.12)

onde kS e kX são as matrizes diagonais formadas por kis e k

ix , respectivamente, como seus elementos

diagonais. De (5.12) tem-se que:

)( bAxAd kkx −−=

kkTks

kw

T swAcddA −−=+

eSXevdXdS kkkkk

skkxk −μ==+

Por simplificação de notações, as equações acima são reescritas por: kk

x tAd = (5.13a)

kks

kw

T uddA =+ (5.13b)

kksk

kxk vdXdS =+ (5.13c)

onde,

kk Axbt −= kkTk swAcu −−= e eSXev kkkk −μ= (5.14)

Para resolver o sistema (5.12), isola-se ksd e multiplica-se ambos os lados da equação (2.9b) por

-1kkSXA . Então, tem-se:

kx

I

kkkkk

kkkks dSXSXAvXSAXdA

�������1111-1

kk SX −−−− −=

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

Page 37: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

37

�kk t

kx

p

kkkk

ks AdvXSAXdA −= −−

���11-1

kkSX

kkkk

ks tpSAXdA += −1-1

kkSX (5.15)

Então, tem-se:

kskk

kkk

kw

T dSAXuSAXdAA 11-1kkSX −− −= (5.16)

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

kkkk

kkk

kw

T tpSAXuSAXdAA +−= −− 11-1kkSX (5.17)

Isolando kwd tem-se:

[ ] ( )kkkk

kkk

Tkw tpSAXuSAXAAd +−= −−− 1111-

kkSX

[ ] ( )kkkkk

Tkk

kw tpuSAXASAXd +−= −− )( 1-11 (5.18a)

Uma vez que kwd é obtido, k

skx dd e pode ser prontamente calculado.

Para o cálculo de ksd isola-se a mesma da equação (5.13c) e assim tem-se:

kksk

kxk vdXdS =+

kskk

kk

kx dXSvSd 11 −− −=

( )ksk

kk

kx dXvSd −= −1 (5.18b)

Já para o cálculo de ksd isola-se a mesma da equação (5.13b) e assim tem-se:

kks

kw

T uddA =+

kw

Tkks dAud −= (5.18c)

Logo as direções são calculadas através de:

[ ] ( )kkkkk

Tkk

kw tpuSAXASAXd +−= −− )( 1-11 (5.18d)

kw

Tkks dAud −= (5.18e)

( )ksk

kk

kx dXvSd −= −1 (5.18f)

Novamente, para TSxk ×∈)s ; w;( kk , As equações (5.18d,e,f) são simplificadas por:

[ ] kk

Tk

kw vASADAd 112ˆ −−

−= (5.19a) kw

Tks dAd −= (5.19b)

][1 ksk

kk

kx dXvSd −= − (5.19c)

onde ( )kkkkk sxdiagSXD /D̂ e ˆ

k12 == −

É importante notar que kxd , k

wd e ksd em (5.19a,b,c) são determinadas correlativamente.

Denotando-se o vetor:

)(ˆ)( 1 μ=μ − kkk

k vDXr (5.20a)

e a matriz

kT

kT

k DAADAADQ ˆ)ˆ(ˆ 12 −=

então )( ks

kw

kx ; d; dd podem ser reescritas como

)()(ˆ μ−= kk

kw rQIDd (5.20b)

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

Page 38: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

38

)(ˆ )ˆ( 2 μ−= kk

Tk

ks rDAADAd (5.20c)

)(ˆ 1 μ= − kk

kx QrDd (5.20d)

Desde que a matriz Q é a matriz projeção ortogonal no espaço coluna da matriz Tk AD̂ , vê-se

que:

)(ˆˆ 2 μ=+ kksk

kxk rdDdD (5.21a)

0ˆ)ˆ()( 2 == ksk

Tksk

ks

Tkx dDdDdd (5.21b)

Após ter obtido uma direção de Newton na k -ésima iteração, o algoritmo Primal – Dual determina um novo ponto de acordo com a seguinte equação:

kx

kkk dxx β+=+1 ; kw

kkk dww β+=+1 ; ks

kkk dss β+=+1 ;

com um comprimento do passo kβ apropriadamente escolhido na k-ésima iteração tal que, Sxk ∈+1

e ( ) Tsw kk ∈++ 11 ; .

• Comprimento do passo e parâmetro de penalidade. Quando TSxk ×∈)s ; w;( kk ,

o algoritmo Primal – Dual necessita de dois parâmetros τσ e , tal que 10 <σ<τ≤ , o primeiro

para controlar o parâmetro de penalidade (ou barreira) kμ e o segundo, para controlar o comprimento do

passo kβ na k -ésima iteração. Para o parâmetro de penalidade, recordando as notações definidas em

(5.8a,b,c,d), desde que deseja-se reduzir a folga complementar, kavenφ , pode-se escolher o parâmetro de

penalidade para ser um número menor, ajustando:

n

kavek σφ

=μ (5.21c)

Desta maneira, a definição (5.15) implica que 0≤kv .

Para o comprimento do passo kβ , a escolha é feita por um valor próximo das folgas

complementares. Note que a Equação (5.13c) e (5.14) implica que ki

kk

ixki

k

iski dsdx φ−μ=+ . Daí a

folga complementar varia quadraticamente nos termos do comprimento do passo β , desde que

n , 2, 1,i ),()(

)( )()()()(kx

2ki

ki

11

i�=β+φ−μβ+φ=

β+β+≡βφ=ββ ++

ks

k

ks

ki

kx

ki

ki

ki

ki

i

ii

dd

dsdxsx (5.22a)

Além disso, desde que 0)( kx =k

sT dd , calculando-se a folga complementar média, tem-se que,

a folga complementar muda linearmente em β , isto é,

)(/)( )()( kave

kave φ−μβ+φ=β+β+=βφ kk

skTk

xki

kave ndsdx (5.22b)

Ignorando o termo quadrático de (5.22a) e reduzindo o valor kave

k σφ=μ por um fator σ<τ ,

pode-se definir uma função linear:

)()( kmin

kmin φ−τφβ+φ=βψ k

avek

(5.23)

A função )(βφki pode ser convexa ou côncava dependendo do valor do produto

ksi

dd ⋅kx i

.

Para a parte convexa, desde que 0kx i

≥⋅ ksi

dd , a curva de )(βφki está abaixo da curva de

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

Page 39: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

10 para )( ≤β≤βψk . Entret

mostrado na Figura 5.1. A fim de

complementar, escolhe-se:

{ (/max βφβ=α ki

k

Então o comprimento do pa

O significado geométrico d

a escolha de kβ depende da escolha

Figura 5.1 – Significado geom

Note que, quando xk w;(

(5.13a,b,c), com 0=kt e 0=ku

definição de kα em (5.24) implic

TSxk ×∈+++ )s ; w;( 1k1k1 .

5.3 Algoritmo Primal – Dual

Agora está-se pronto para e

Passo1 (Inicialização): Aj

Seja 0>ε uma tolerância

Passo 2 (Testando a otima

Passo 3 (encontrando a d

eSXev kkkk −μ= . Calcu

tanto, uma parte côncava de )(βφki pode cruzar ψ

e controlar o parâmetro de desvio kθ enquanto se re

)() βψ≥β k para todo ) ,0( β∈β , i e ,1 0 =<β<

asso kβ na k -ésima iteração é definido por

{ }k ,1min α=βk

de kα e

kβ é descrito na Figura 5.1. Vê-se claramente n

de 10 <τ< para assegurar a existência de kα .

métrico do comprimento do passo para o Método Primal –

TS ×∈)s ;w kk , desde que )( ks

kw

kx ; d; dd é uma

0 , sabemos que bAxk =+1 e cswA kkT =+ ++ 11 . A

ca, além disso que, 01 >+kx e 01 >+ks . Em out

enunciar os passos do algoritmo Primal – Dual, como segu

juste 0=k e encontre uma solução inicial x s ; w;( 00

a para a folga complementar e τσ, , parâmetros de contro

10 <σ<τ≤ ;

alidade): Se ε<− kTkT wbxc , então pare. Senão, cont

ireção de busca): Defina kaveφ e k

minφ por (5.8). Faça kμ

ule ks

kw

kx ; d; dd de acordo a (5.19a,b,c).

39

)(βψk como

eduz a folga

}n1, ��=

(5.24)

(5.25)

na figura que

– Dual

a solução de

Além disso, a

tras palavras,

ue:

TS ×∈)s0 .

ole, tal que:

tinue.

kave

k σφ= e

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

Page 40: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

40

Passo 4 (calculando o comprimento do passo): Calcular kα por (5.24) e kβ por (5.25).

Passo5 (movendo para uma nova solução): Faça

kx

kkk dxx β+=+1 kw

kkk dww β+=+1 ks

kkk dss β+=+1

Ajuste 1+→ kk e vá para o Passo 2.

5.4 Término do Algoritmo em Tempo Polinomial

Ao contrário 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 iteração conduz aos resultados

de convergência:

Teorema 5.1. Se o comprimento do passo 1<βk na k -ésima iteração, então:

kk

k

nn θσ+

τ−σ≥

σθ+σ−

τ−σ≥β

)1(

)(4

)21(

)(422

(5.26a)

))()1(1(11 kTkTkkTkT wbxcwbxc −βσ−−=− ++ (5.26b)

k1 / se )/)(1(/ θ<τστσ−θ−≤τσ−θ + kk v (5.26c)

τσ≤θτσ≤θ + / se / k1k (5.26d) onde:

ττ−σ+σ+

ττ−σ=

)(4)1(

)(42n

v

Por outro lado, se 1=βk , então:

)(11 kTkTkTkT wbxcwbxc −σ=− ++ (5.27a)

/1 τσ≤θ +k (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 iteração mais próxima em que τσ>θ∗

/k , então:

∗<∀τ

σ+���

���

τ

σ−θ−≤θ<

τ

σkkv kk ,)1( 0

e

∗≥∀τ

σ≤θ kkk ,

Se ∗k não existir, então τσ>θ /k , k∀ e

kv kk ∀τ

σ+���

���

τ

σ−θ−≤θ<

τ

σ ,)1( 0

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

{ } kk ∀θτσ≤θ ,,/max 0

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

Page 41: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

41

Então é possível ver que kθ torna-se menor que ( ) 1/ +τσ em no máximo )ln( 0θnO

iterações. Conseqüentemente, segue da equação (5.26a) que:

kk

n

k ˆ ,1)1(

))(1(4)1(

2

≥∀

���

���

σσ+

τ−σσ−≥βσ− (5.28)

Pela equação (5.26b), a folga de dualidade kTkT wbxc − atinge a precisão dada ε , satisfazendo o critério de parada em no máximo,

���

����

����

����

�ε

− 000

ln wbxc

nOT

iterações adicionais. Daí o algoritmo Primal – Dual é finalizado em, no máximo,

���

����

����

����

�ε

−+θ

0000 ln )ln(

wbxcnOnO

T

iterações.

Há várias maneiras de ajustar os parâmetros σ e τ tal que 10 <σ<τ≤ .

Como um caso especial, fazendo-se 2/1=σ e 4/1=τ , então:

k

k

nθ≥β

4

e (5.28) segue. Observe também que, em cada iteração do algoritmo Primal – Dual, a dificuldade

computacional está na inversão da matriz Tk ADA 2ˆ . Uma implementação direta requer )( 3nO operações

elementares para a inversão da matriz e os resultados em uma complexidade computacional )( 4LnO

para o algoritmo Primal – Dual. Definitivamente, esta complexidade pode ser reduzida para melhores e mais eficientes técnicas de implementação, tal como, a técnica de fatorização de Cholesky.

5.5. Iniciando o Algoritmo Primal – Dual

Para se aplicar o algoritmo Primal – Dual, inicia-se com um ponto arbitrário nmnRx ++∈)s ; w;( 000 tal que 00 >x e 0s 0 > .

No caso em que bAx =0 e cswAT =+ 00 , sabe-se que Sx ∈0 e T∈)s ;w( 00 e tem-se

uma solução inicial para o algoritmo Primal – Dual. Senão, considera-se o seguinte par de problemas lineares, primal e dual, artificiais:

1c +π+ nT xxMinimizar

bxAxbAxaSujeito n =−+ +10 )( (5.29a)

λ=+−+ +200 )(A n

TT xxcsw

0);;( 21 ≥++ nn xxx

onde 1+nx e 2+nx são duas variáveis artificiais e π e λ são números positivos suficientemente grandes,

para ser especificados posteriormente por:

1b +λ+ nT wwMaximizar

cswcswAwAaSujeito mTT =+−++ +1

00 )( (5.29b)

π=+ +10 )Ax-(b n

T sw

021 =+ ++ nm sw

0);;( 21 ≥++ nn sss

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

Page 42: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

42

onde 1+mw , 1+ns e 2+ns são variáveis artificiais

Observe que, escolhendo-se π e λ tal que: 00 )( wAxb T−>π (5.30a)

000 )( xcswA TT −+>λ (5.30b)

então ) ; ;( 0

2

01

0

++ nn xxx e )s ;s ;s ; w;( 02n

01

001

0+++ nmw são soluções factíveis aos problemas

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

1 01 =+nx

00002 )( xcswAx TT

n −+−λ=+

101 −=+nw

0001 )( wAxbs T

n −−π=+

102 =+ns

Neste caso, o algoritmo Primal – Dual pode ser aplicado aos problemas artificiais (5.29a) e (5.29b) com uma solução inicial conhecida. Conseqüentemente, as soluções ótimas de (5.29a) e (5.29b) estão relativamente próximas àquelas dos problemas originais (5.1) e (5.2).

O teorema seguinte descreve esta relação:

Teorema 5.2. Sejam ∗x e )s ;w( ∗∗ soluções ótimas dos problemas originais (5.1) e (5.2). Em

adição a (5.30a) e (5.30b), suponha que: ∗−+>λ xcswA TT )( 00 (5.30c)

e ∗−>π wAxb T)( 0 (5.30d)

Então as duas condições seguintes são verdadeiras:

(i) Uma solução factível ) ; ;(21 ++ n

xxx n de (5.29a), minimiza (5.29a), se, e somente se,

x resolve (5.1) e 0 1 =+nx .

(ii) Uma solução factível )s ;s ;s ;w ;( 2n11 +++ nmw de (5.29b), maximiza (5.29b)

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

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

5.6 Implementação Prática

Na implementação do algoritmo Primal – Dual, é uma tarefa muito difícil manter

TSxk ×∈)s ; w;( kk devido aos problemas de arredondamentos numéricos. Também, a escolha dos

parâmetros de controle influenciam no desempenho do algoritmo. Muito esforço tem sido dedicado para se conseguir uma versão do algoritmo Primal – Dual para uma implementação prática. Nesta seção, será

introduzida uma versão deste algoritmo que permita inicializá-lo com um ponto arbitrário )s ; w;( 000x

com 0s , 00 >x . Esta versão produz uma seqüência de iterações { })s ; w;( kkkx , com 0s , k >kx , a

qual leva para uma solução ótima, embora as mesmas não permaneçam ao longo da curva de TS × . É importante saber que, neste momento, não há nenhuma prova rigorosa da convergência para esta versão 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 1460

Page 43: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

43

• Direção de busca. Suponha que se tem um ponto )s ; w;( kkkx para algum 0>μk ,

tal que 0s ; k >kx . A direção de Newton )d ;d ;( ks

kw

kxd é determinada pela Equação (5.18a) - (5.18c).

Combinando (5.18a), (5.18b), e (5.18c), tem-se: kT

kT

kkkkkkkkkk

x tADAADcDPDeXDPDd 1221 )ˆ(ˆˆˆˆˆ −− +−μ= (5.31a)

onde 12ˆ −= kkk SXD e kT

kT

kk DAADAADIP ˆ)ˆ(ˆ 12 −−= , a qual é, a matriz de projeção no espaço

nulo da matriz kDA ˆ .

Se além disso, é definido:

,ˆˆ 1, eXDPDd kkkk

kkx

−μ μ= cDPDd kkk

kcx

ˆˆ, −= e kT

kT

kk

xxtADAADd k

122

,)ˆ(ˆ −=

então (5.31a) transforma-se em: k

tx

kcx

kx

kx kdddd

,,, ++= μ (5.31b)

O primeiro termo de (5.31b) é denominado de direção de centragem. O segundo termo é chamado de direção de redução da função objetivo primal. O terceiro termo é chamado de direção de

factibilidade, desde que kt é a medida de factibilidade primal. Note também que 0=kxAd e

0, =kcxAd . Daí, estas duas direções estão no espaço nulo da matriz A , e a factibilidade primal é

considerada unicamente por k

tx kd,

.

Na prática, iniciando-se com um ponto arbitrário )s ; w;( 000x com 0s , 00 >x , o valor de 0t

pode ser muito grande, desde que 0x poderia ser infactível. Neste caso, o esforço principal do algoritmo será o de encontrar um ponto factível próximo à trajetória central. Uma vez que uma solução factível é

encontrada (supondo-se, na k -ésima iteração), o algoritmo tentará manter 0=kt para todo kk ≥′ , à exceção do caso em que a factibilidade é perdida devido a erros de truncamento numérico ou a erro de

arredondamento. Desta forma, k

tx kd,

tenderá a zero sempre que 0→kt .

De maneira análoga pode-se realizar a análise das direções de busca kwd e k

sd .

• Comprimento do passo. Uma vez que a direção de busca é obtida, tem-se a condição

de mover-se para um novo ponto )s ; w;( 111 +++ kkkx com 01 >+kx e 01 >+ks .

Sendo assim, considera-se:

kxP

kk dxx β+=+1

(5.32a)

kwD

kk dww β+=+1 (5.32b)

ksD

kk dss β+=+1 (5.32c)

onde Pβ e Dβ são os comprimentos dos passos nos espaços primal e dual, respectivamente. As

exigências de não negatividade de 1+kx e 1+ks determinam a escolha do comprimento do passo Pβ e

Dβ . Uma forma simples de obtê-los é fazer:

{ }ki

kx

Pxd

iα−

=β/,1max

1 (5.33a)

e

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

Page 44: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

44

{ }ki

ks

Psd

iα−

=β/,1max

1 (5.33b)

onde ,1<α ( )i

kxd é a i -ésima componente de k

xd , kix é a i -ésima componente de

kx , ( )i

ksd é a i -

ésima componente de ksd , e k

is é a i -ésima componente de ks .

• Ajustando os parâmetros de penalidade e o critério de parada. Observe que a

direção de busca na k -ésima iteração é determinada pelo valor do parâmetro de penalidade kμ .

Estritamente falando, a translação descrita acima tem de ser realizada diversas vezes para um valor fixo

de kμ , de modo que os processos de Newton convirjam para a trajetória central ajustadas por

kμ .

Entretanto, procedendo-se assim seria necessário vários passos de Newton para se aproximar da trajetória.

Levando-se em conta que, a fim de satisfazer a folga complementar, kμ tende para zero,

conseqüentemente, em implementações práticas, o valor de kμ é reduzido iteração a iteração e somente

uma etapa de Newton é realizada para um valor dado de kμ , ainda que, não se consiga com este valor

permanecer exatamente na trajetória central.

A maneira na qual kμ pode ser reduzido em cada iteração é sugerida pelo próprio algoritmo. Da

equação (5.4c) vê-se que nxsT /=μ . Assim, na iteração k os valores de kx e ks nos dão uma

medida razoavelmente boa do parâmetro de penalidade para a solução corrente e, de acordo com a

experiência dos autores [FANG e PUTHENPURA - 1993], às vezes, um valor menor kμ , dito,

nxs kTk /])[(σ com 1<σ , poderia acelerar a convergência do algoritmo. Houve outras idéias

similares relatadas por vários outros autores na escolha de kμ . Não obstante, o critério simples acima

parece trabalhar bem para uma variedade de problemas práticos resolvidos pelos autores. Tão logo os critérios de parada sejam satisfeitos, pode-se verificar a factibilidade primal, a

factibilidade dual, e a folga complementar. Observe, que a factibilidade primal é medida por kt , a

factibilidade dual por kμ e a folga complementar por kv , como definido por (5.14).

• Procedimento Passo a Passo. Como um sumário da discussão feita, fornece-se agora

procedimentos, passo a passo, para a implementação do algoritmo Primal – Dual de Ponto Interior.

Passo 1 (iniciando o algoritmo): Ajuste 0=k . Escolha um ponto inicial arbitrário

)s ; w;( 000x com 00 >x e 0s 0 > , e escolha 321 , εεε e números positivos

suficientemente pequenos Passo 2 (Cálculos intermediários): Calcule

n

sx kTk

k

)(=μ

kk Axbt −= , kkTk swAcu −−= , eSXev kkkk −μ= , k

kk vXp 1−= e

12ˆ −= kkk SXD , onde kX e kS são as matrizes diagonais cujas componentes diagonais são kix

e kis , respectivamente.

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

Page 45: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

45

Passo 3 (Verificando a otimalidade): Se

1ε<μk , 21ε<

+b

t, e 31

ε<+c

u

então PARE. A solução é ótima. Caso contrário vá à etapa seguinte.

[ Obs.: u e c são calculados somente quando as restrições duais são violadas. Se

0=u , então não há necessidade de calcular esta medida de otimalidade.] Passo 4 (calculando as direções de translação): Calcule

( ) ( )kkkk

Tkw tpuDAADAd +−=

)(ˆˆ 212k

kw

Tk dAu −=ksd

)d(ˆ ks

2 −= kk

kx pDd

Passo 5 (Verificando a ilimitariedade): Se

0=kt , 0>kxd e 0dk

x <Tc

então o problema primal (5.1) é ilimitado. Se

0=ku , 0>ksd e 0dk

w >Tb

então o problema dual (5.2) é ilimitado. Se qualquer um destes casos acontecer, PARE. Senão, passe à etapa seguinte.

Passo 6 (Encontrando o comprimento do passo): Calcule o comprimento do passo primal e dual

{ }ki

kx

Pxd

iα−

=β/,1max

1

e

{ }ki

ks

Dsd

iα−

=β/,1max

1

onde 1<α (α = 0.995) Passo 7 (Determinando um novo ponto): Atualize os vetores solução

kxP

kk dxx β+←+1 kwD

kk dww β+←+1 ksD

kk dss β+←+1

Faça 1+← kk e volte para o Passo 2.

O Algoritmo Primal – Dual de Pontos Interiores, visto nesta seção, implementado em Linguagem Pascal 7.0, é utilizado no exemplo numérico 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 1463

Page 46: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

46

Exemplo 5.1

Considera-se o Problema de Programação Linear:

212x- xMinimizar +

0 , x

15 x

15 x

21

2

21

≤−

x

xaSujeito (5.1.1a)

Este, na forma canônica é expresso por:

212x- xMinimizar +

0 , , , x

15 x

15 x

4321

42

321

=+

=+−

xxx

x

xxaSujeito (5.1.1b)

O Problema Dual de (5.1.1a) é:

21 1515w wMaximizar +

����

����

�−

=

����

����

+��

���

����

����

�−

0

0

1

2

10

01

11

01

4

3

2

1

2

1

s

s

s

s

w

waSujeito (5.1.1c)

0,,, 4321 ≥ssss

Inicia-se o método com uma escolha arbitrária de [ ]Tx 11110 = , [ ]Tw 000 = ,

[ ]Ts 11110 = . Com esta informação, vê-se que 0X , 0S e 20D̂ são todos iguais à matriz identidade

I , e 10 =μ .

Calcula-se agora:

[ ]TAxbt 131400 =−= , [ ]TT swAcu 1103000 −−−=−−= ,

[ ]TeSXev 00000000 =−μ= , [ ]TvXp 000001

00 == −

Conseqüentemente,

( ) ( ) ��

���

�=�

���

���

���

�=+−=

2.0

4.6

12

10

6.02.0

2.04.0)(ˆˆ 0002

0

120

0 tpuDAADAd Tx

[ ]TwT dAu 2.104.78.24.9d 000

s −−−−=−=

[ ]Tx pDd 2.104.78.24.9)d(ˆ 0s

020

0 =−=

Embora 00 >xd e 00 <xT dc , observa-se por 0t que o primal é ainda infactível neste

momento. Daí prossegue-se os passos do algoritmo.

Escolhe-se 995.0=α . Usando a fórmula para calcular os comprimentos do passo, encontramos que 0.1=βP e 097959.030303.10/1 ==βD . Conseqüentemente a solução

atualizada é:

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

Page 47: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

47

[ ] [ ]

[ ]T

TTx

2.114.88.34.10

2.104.78.24.90.111111

=

×+=,

[ ] [ ]

[ ]T

TTs

00999.028176.072824.008765.0

2.104.78.24.9097059.011111

=

−−−−×+=.

e

[ ] [ ] [ ]TTTw 89294.062118.02.94.6097059.0001 =×+=

A nova solução 1x já é factível primal, a qual concorda com as discussões precedentes. Realizando mais iterações determina-se a solução ótima:

[ ]Tx 001530=∗ , [ ]Tw 12 −−=∗ e [ ]Ts 1200=∗

O resultados obtidos e a interpretação geométrica do problema dado e das soluções

encontradas pelo algoritmo são vistas, respectivamente, na Tabela 5.1 e na Figura 5.2. Tabela 5.1- Resultados obtidos pelo Algoritmo Primal – Dual de Pontos Interiores

ITERAÇÃO

kix

kiw

F. Objetivo

1

1.9211078431 1.2743725490 1.7251274510 1.9995000000

-

0.62713725490 -

0.90150980392

-2.5678431373

2

4.1686432021 1.3646996807

0.94817351297 3.1908375660

-

0.41022118941 -

0.78207052864

-6.9725867235

3

8.2861628984 1.9872467281 0.0047408675 4.9336155709

-

0.53324050754 -

0.46644541713

-14.585079069

4

14.077168253 7.3348158488 0.0054905422 0.0024668077

-

0.60949508777 -

0.38773135740

-20.819520656

5

23.356232468 11.784868297

0.00309055363 0.03426678921

-1.4230522398

-0.42305360564

-34.927596640

6

2.8704845732 1.4378350344

0.00404590917 0.00001713339

-2.0002700106 -1.0009569722

-43.031341121

7

2.9990354696 14.993571634

0.00321693878 0.00642836558

-2.0002120691 -1.0006301893

-44.987137757

8

2.9990443356 14.993630033

0.00318667619 0.00636996742

-2.0002125354 -1.0006376512

-44.987256680

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

Page 48: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

48

Figura 5.2 – Interpretação geométrica do exemplo 5.1. e das soluções obtidas pelo Algoritmo

Primal – Dual e Primal – Afim

5.6. Método Primal – Dual para Variáveis Canalizadas

Nesta seção faz-se uma extensão do Método Primal – Dual para Variáveis Canalizadas. O

desenvolvimento da extensão citada é feito baseando-se no trabalho realizado em [FANG e

PUTHENPURA, 1993].

Os métodos Primais – Duais são variações do Método de Newton obtidas a partir de

modificações na maneira de calcular a direção de busca ( ),, ks

kw

kx ddd , e o parâmetro que controla o

tamanho do passo em cada iteração kα . O valor de kα pode atuar no algoritmo de dois modos:

• Mantendo o novo ponto no interior da região viável e,

• Cuidando para que (x, z) permaneça “longe” das fronteiras do quadrante não-negativo, (x, z)

≥ 0. Direções calculadas a partir de pontos próximos a este quadrante tendem a ser

distorcidas levando a pouco, se algum, progresso [WRIGHT - 1997].

A idéia da trajetória central desempenha um papel fundamental no tratamento das questões

acima.

Considere o problema primal:

,0

ux

bAxaSujeito

xcMinimizar T

≤≤

= (5.34a)

onde nmRA ×∈ , mRb ∈ , nRucx ∈,, . Observe que não impõem-se uma restrição do tipo uxl ≤≤

pois ela pode ser facilmente transformada em ux ≤≤0 (será discutido posteriormente).

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

Page 49: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

49

Transformando a inequação ux ≤ , reescreve-se o problema (5,34) como segue:

.0z

0

a Sujeito

Minimizar

=+

=

x

uzx

bAx

xcT

(5.34b)

O problema dual de (5.34a) é:

0

a Sujeito

Maximizar

=−+

s

cyswA

yuwbT

TT

(5.34c)

onde mRw∈ e nRys ∈, .

As condições de otimalidade de KKT para os problemas (5.34a) e (5.34b) são:

cyswAT =−+ (5.35a)

bAx = (5.35b)

uzx =+ (5.35c)

0=μ− eSWe (5.35d)

0=μ− eXZe (5.35e)

onde X, Z, S e W são matrizes diagonais, ( )Te 1, ,1 �= e μ a métrica dual ou parâmetro de ajuste à

curva definida pela trajetória central.

O conjunto solução, 0Ω , para os problemas (5.34a) e (5.34b) será denotado aqui como:

( ) ( ){ }0,,, , , ,/,,,,0 >=+==−+=Ω syzxuzxbAxcyswAsyzwx T .

Considera-se ainda para a determinação de direções de busca que:

( ) 0,,,,)( =

������

������

−+

−−+

==

SZe

ZWe

uzx

cyswA

bAx

syzwxFhF

T

(5.36)

5.6.1 - Direções de Busca

Supondo em um passo k que as condições para uma solução corrente satisfaçam a (5.35), ou

seja, a viabilidade primal e dual.

A definição do novo ponto, na iteração 1+k , depende diretamente das direções de movimento e

comprimento de passo nesta direção.

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

Page 50: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

50

Sem se preocupar, em uma primeira análise, com o comprimento do passo, considera-se, na

iteração 1+k , o novo ponto definido por:

�������

�������

+

+

+

+

+

=

������

������

+

+

+

+

+

ks

k

ky

k

kz

k

kw

k

kx

k

k

k

k

k

k

ds

dydz

dw

dx

s

yz

w

x

1

1

1

1

1

(5.37a)

Assim, necessita-se determinar a direção ( )Tks

ky

kz

kw

kx

k dddddd ,,,,)( = para obter-se o novo

ponto.

Seguindo-se os passos do Método de Newton e considerando, de forma análoga a (5.10), a

equação (5.36), explicitamente, a direção de movimento )(kd pode ser obtida por:

),,,,(),,,,(1 syzwxFsyzwxJ

d

dd

d

d

kkkkkkkk

ks

ky

kz

kw

kx

−−=

�������

�������

(5.37b)

Mas não é usual, na prática, determinar-se )(kd através de (5.37b), pois a inversão de )( )(khJ é

inviável computacionalmente. Assim, determina-se )(kd resolvendo-se o seguinte sistema linear:

)()( )()()( kkk hFdhJ −= (5.37c)

É imediato que:

������

������

�−

==

XS

ZW

II

IIA

A

syzwxJhJ

T

kkkkk

000

000

000

00

0000

),,,,()( )( (5.37d)

Considerando-se (5.37d), então, reescreve-se (5.37c) da seguinte maneira:

������

������

=

�������

�������

������

������

�−

k

k

k

k

k

ks

ky

kz

kw

kx

T

v

qf

u

t

d

dd

d

d

XS

ZY

II

IIA

A

000

000

000

00

0000

(5.38)

onde,

kk Axbt −= ; kkkTk yswAcu +−−= ; kkk zxrf −−= ;

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

Page 51: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

51

eYZeq kkkk −μ= ; eSXev kk

kk −μ= .

Resolver o sistema linear (5.38) não é usual devido à estrutura esparsa e de blocos da matriz.

Assim, calcula-se kxd , k

wd , kzd , k

yd e ksd separadamente através das seguintes equações:

kkx tAd = (5.39a)

kky

ks

kw

T udddA =−+ (5.39b)

kkz

kx dd f=+ (5.39c)

kkyk

kzk qdZdY =+ (5.39d)

kksk

kxk vdXdS =+ (5.39e)

Desde que, em uma iteração k , a viabilidade depende de rzx kk =+ , então para as novas

soluções 1+kx e 1+kz deve-se garantir que rzx kk =+ ++ 11

Considerando-se kx

kk dxx +=+1 e kz

kk dzz +=+1 , chega-se à condição:

0=+ kz

kx dd

Portanto,

kx

kz dd −= (5.40a)

Agora, isola-se kyd e k

sd de (5.39d) e (5.39e) , respectivamente:

kk

ykkzk qdZdY =+

)(1 kzk

kk

ky dYqZd −= −

(5.40b)

kk

skkxk vdXdS =+

)(1 kxk

kk

ks dSvXd −= − (5.40c)

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

(5.39), são determinados as direções de movimento kx

kw dd e :

kky

ks

kw

T udddA =−+

kkzk

kk

kxk

kk

kw

T udYqZdSvXdA =−−−+ −− )()( 11

kkzkk

kk

kxkk

p

kk

kw

T udYZqZdSXvXdAk

=+−−+ −−−− 1111

���

kk

kxkk

kxkk

kkkw

T qZdYZdSXpudA 111 −−− +−+−=

kxkkkk

kk

kkkw

T dYZSXqZpudA )( 111 −−− +++−= (5.41d)

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

Page 52: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

52

Tomando 111 )( −−− +=θ kkkk YZSX e multiplicando θA em ambos os lados tem-se:

kx

kkk

kkw

T dAuqZpAdAA 11 )( −− θθ+++−θ=θ

�kt

kx

kkk

kkw

T AduqZpAdAA +++−θ=θ − )( 1

[ ]kkkk

kTkw tuqZpAAAd +++−θθ= −− )()( 11 (5.41e)

Reconsiderando-se (5.41d) tem-se:

kkk

kxkk

kxkk

kkw

T uqZdYZdSXpdA =+−−+ −−− 111

kkxkkkk

kk

kkw

T udYZSXqZpdA =+−−+ −−− )( 111

Tomando 111 )( −−− +=θ kkkk YZSX

kk

kkw

Tkkx qZpdAud 11 −− +−−=θ−

kkk

kkw

Tkx uqZpdAd −−+=θ −− 11

)( 1 kkk

kkw

Tkx uqZpdAd −−+θ= − (5.41f)

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

[ ]kkkk

kTkw tuqZpAAAd +++−θθ= −− )()( 11

)( 1 kkk

kkw

Tkx uqZpdAd −−+θ= −

kx

kz dd −= (5.42)

)(1 kzk

kk

ky dYqZd −= −

)(1 k

xkk

kks dSvXd −= −

5.6.2 Comprimento do Passo de Movimento

Uma vez que a direção de busca é obtida, tem-se a condição de mover-se para um novo ponto

);;z ; w;( 11111 +++++ kkkkk syx garantindo-se que com 01 >+kx , 01 >+ks e 01 >+kz . A restrição

de não-negatividade destas variáveis requer um controle do passo a ser dado em cada direção obtida,

assim, reconsidera-se (3.3a) reescrita por:

kxP

kk dxx β+=+1 (5.43a)

kwD

kk dww β+=+1 (5.43b)

ksD

kk dss β+=+1 (5.43c)

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

Page 53: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

53

kyD

kk dyy β+=+1 (5.43d)

kzP

kk dzz β+=+1 (5.43e)

onde Pβ e Dβ são os comprimentos dos passos nos espaços primal e dual, respectivamente. As

exigências de não negatividade de 1+kx e 1+ks determina a escolha do comprimento do passo Pβ e

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

��

���

��

���

−α

−=β 0, que tal,,1 kz

kxk

z

ki

kx

ki

P ii

ii

ddd

z

d

xMin (5.44a)

e

��

���

��

���

−=β 0 que tal,1 ksk

s

ki

D i

i

dd

sMin (5.44b)

onde 1<α

5.6.3. Critério de Parada

Ao contrário do método Simplex, o algoritmo de Ponto Interior Primal – Dual nunca encontra

uma solução exata para o problema (5.34a). Por isso, o algoritmo precisa usar um critério de parada para

decidir quando a iteração corrente está próxima o suficiente da solução ótima [WRIGHT - 1997].

Muitos algoritmos consideram uma boa solução aproximada àquela solução que possui os

resíduos, primal, Axbt −= , dual, yzwAcu T +−−= e a métrica dual μ suficientemente

pequenos. Para esse fim pode-se usar medidas relativas diminuindo os problemas de escala dos dados

[WRIGHT - 1997]. Testes típicos para uma solução ( )zyx , , são:

111ε≤

+

−=

+ b

Axb

b

t (5.45a)

211ε≤

+

+−−=

+ c

yswAc

c

uT

(5.45b)

31

)(ε≤

+

−−

xc

yuwbxcT

TTT

(5.45c)

onde 1ε , 2ε e 3ε são tolerâncias pré-definidas. Naturalmente outros critérios podem ser adotados em

concordância com a aplicação a um problema específico. Para outros tipos de critério de parada, veja

[FANG e PUTHENPURA, 1993] e [BORCHES e MITCHELL - 1992].

Após a discussão 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 1471

Page 54: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

54

5.6.4 Algoritmo de Pontos Interiores Primal – Dual para Variáveis Canalizadas

Passo 1 (iniciando o algoritmo): Ajuste 0=k . Escolha um arbitrário

000000 ),,z ; w;( Ω∈syx e 321 , εεε e números positivos suficientemente pequenos

Passo 2 (Cálculos intermediários): Calcule

kk Axbt −= , kkkTk yswAcu +−−= , eSXev kkkk −μ= , k

kk vXp 1−= ,

eZYeq kkkk −μ= e 111 )( −−− +=θ kkkk YZSX , onde kX , kS , kZ e kY são as matrizes

diagonais cujas componentes diagonais são kix , k

is , kiz e k

iy respectivamente.

Observação: para melhor desempenho e convergência do método é interessante considerar

n

sx kTk

k

)(1 =μ ; n

yz kTk

k

)(2 =μ e fazer { }21 , kkk Min μμ=μ

Passo 3 (Verificando a otimalidade): Se

1ε<μk , 21ε<

+b

t, e 31

ε<+c

u

então PARE. A solução é ótima. Caso contrário vá para à etapa seguinte.

[ Obs.: u e c são calculados somente quando as restrições duais são violadas. Se

0=u , então não há necessidade de calcular esta medida de otimalidade.]

Passo 4 (calculando as direções de translação): Calcule kxd , k

wd , kzd , k

yd e ksd através de

(5.42).

Passo 5 (Verificando a ilimitariedade): Se

0=kt , 0>kxd e 0dk

x <Tc

então o problema primal (5.34a) é ilimitado. Se

0=ku , 0>ksd e 0dk

w >Tb

então o problema dual (5.34b) é ilimitado. Se qualquer um destes casos acontecer, PARE. Senão,

passe à etapa seguinte.

Passo 6 (Encontrando o comprimento do passo): Calcule o comprimento do passo primal e

dual:

��

���

��

���

−α

−=β 0, que tal,,1 kz

kxk

z

ki

kx

ki

P ii

ii

ddd

z

d

xMin

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

Page 55: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

55

��

���

��

���

−=β 0 que tal,1 ksk

s

ki

D i

i

dd

sMin

onde 1<α (utiliza-se 995.0=α )

Passo 7 (Determinando um novo ponto): Atualize os vetores solução

kxP

kk dxx β+←+1

kwD

kk dww β+←+1

ksD

kk dss β+←+1

kyD

kk dyy β+←+1

kzP

kk dzz β+←+1

Faça 1+← kk e volte para o Passo 2.

Uma implementação computacional do algoritmo visto nesta seção foi feita e aplicada ao

exemplo 5.2, seguinte.

Exemplo 5.2.

Considere o exemplo 5.1 agora com as seguintes canalizações de variáveis :

300 1 ≤≤ x e 150 2 ≤≤ x

Inicia-se com uma escolha arbitrária de [ ]Tx 11110 = , [ ]Tw 000 = , [ ]Ts 11110 = ,

[ ]Ty 11030 = e [ ]Tu 2215300 = . Com esta informação, vê-se que 0X , 0S e 20D̂

são todos iguais à matriz identidade I , e 10 =μ .

Calcula-se agora:

[ ]TAxbt 131400 =−=

[ ]TT yswAcu 00000000 =+−−= ,

[ ]TeSXev 00000000 =−μ= ,

[ ]TvXp 0000010

0 == −

[ ]TeZYeq 1860000 −=−μ=

����

����

=+=θ −−−

5.0000

05.000

0010

00090625.0

)( 10

100

10 YZSX

Conseqüentemente,

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

Page 56: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

56

��

���

�=

361847733.16

471343028.11kwd

[ ]Tkxd 1809238666.87356715141.58190761334.4083404619.13=

[ ]Tkzd 1809238666.87356715141.58190761334.4083404619.13 −−−−=

[ ]Tkyd 180923866.87356715141.5290714285714.06120615911.1−=

[ ]Tksd 1809238666.87356715141.58190761334.4083404619.13 −−−−=

Embora 00 >xd e 00 <xT dc , observa-se por

0t que o primal é ainda infactível neste

momento. Daí prossegue-se os passos do algoritmo.

Escolhe-se 995.0=α . Usando a fórmula para calcular os comprimentos do passo, encontramos

que 21221744654.0=βP e 150763944882.0=βD .

Conseqüentemente a solução atualizada é:

[ ]Tx 995.1700752601.15887680504.15984579652.21 = ,

[ ]Tw 2499549838.188763473797.01 =

[ ]Ty 6249774919.14381736899.15580054567491.08768473798.21 =

[ ]Ts 3750225080.015618263101.026318791451.00005.01 =

[ ]Tz 0005.072992473989.041123195.13401542035.271 = .

A nova solução 1x já é factível primal, a qual concorda com as discussões precedentes.

Realizando mais iterações determina-se a solução ótima:

[ ]Tx 001530=∗ , [ ]Tw 12 −−=∗ e [ ]Ts 1200=∗

O resultados obtidos e, a interpretação geométrica do problema dado e das soluções

encontradas pelo algoritmo são vistas, respectivamente, na Tabela 5.2 e na Figura 5.2.

Tabela de resultados a partir do ponto [ ]Tx 11110 = , [ ]Tw 000 = e [ ]Ts 11110 = ,

[ ]Ty 11030 = e [ ]Tu 2215300 = .

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

Page 57: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

57

Tabela 5.2 – Resultados obtidos pelo Algoritmo Primal – Dual Para Variáveis Canalizadas

ITERAÇÃO kix

kiw

F. Objetivo

1

2.598457965

1.5887680504

1.7007526010

1.9995000000

-0.8763473797

-1.2499549838

-

3.6081478800

2

29.86299229

14.855658598

1.3657116986

1.5338114226

-

0.80630955056

-1.8178679067

-

4.5116939860

.

.

.

.

.

.

.

.

.

.

.

.

8

29.999476361

14.994765238

0.0000162123

0.0052347623

-1.7000346124

-

0.69984483598

-

44.994761995

9

29.9998855128

14.999997383

0.00114225472

0.000002617381

-1.7056292241

-

0.47713125530

-

4.4997712873

Figura 5.2 – Interpretação geométrica do exemplo 5.2. e das soluções obtidas pelo Algoritmo

Primal – Dual Para Variáveis Canalizadas

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

Page 58: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

58

5.6.5 Variáveis Limitadas Inferiormente

No início da seção 5.6 citou-se que uma restrição do tipo uxl ≤≤ pode ser facilmente

transformada em ux ≤≤0 . Discuti-se aqui esta afirmação.

A restrição uxl ≤≤ pode ser considerada no problema da seguinte maneira:

ux ≤ e lx ≥ . Mas esta não é a maneira usual de se resolver o problema devido à dificuldade computacional

em estabelecer limitantes para lx ≥ .

Considerando-se bAx = , a matriz de restrições e uxl ≤≤ a restrição adicional, então:

uxl ≤≤ ⇔ lulxll −≤−≤− ⇔ lulx −≤−≤0 .

Tomando: luu −= e lxx −= ou lxx += , tem-se: ux ≤≤0 . Substituindo no problema original, tem-se:

bAx = , ux ≤≤0 � ( ) blxA =+ � AlbxA −= .

Observe que fazer este tipo de transformação tem um custo de 2n operações.

Uma outra forma, mais simples, de se explorar a canalização de variáveis uxl ≤≤ é, ao

determinar o tamanho do passo Pβ , considerar:

��

���

��

���

<−

−=β 0/)(1 k

xkx

ki

ki

P i

i

dd

lxMin ;

��

���

��

���

<−μ

−=β 0/)(2 k

xkx

ki

ki

P i

i

dd

xMin

{ }21 , PPP Min ββ=β

Esta definição de Pβ é a mais simples pois não requer nenhuma mudança de variável no PPL

original implicando diretamente na economia das 2n operações citadas exigidas pela mudança anterior

feita e no desempenho do método.

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

Page 59: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

59

6. O Algoritmo Primal-Dual de Pontos Interiores para Programação Quadrática

Convexa com variáveis canalizadas

6.1 Problema de Programação Quadrática

O problema de minimização de funções quadráticas, com restrições de igualdade e variáveis canalizadas, denominado de PPQ, é expresso de maneira geral por:

uxlbAx

xcQxx TT

≤≤=

+

; : a Sujeito2

1 Minimizar (6.1)

em que nmRA ×∈ , tal que posto A é n, mRb ∈ , nRucx ∈,, e nxnRQ∈ é uma matriz simétrica e

definida positiva. O problema (6.1) é equivalente a:

0

0

: a Sujeito2

1 Minimizar

≥=−

≥=+

=

+

l; rr x

u; zzx

bAx

xcQxx TT

(6.2)

em que nRrz ∈ , são variáveis de excesso e folga, respectivamente.

O PPQ Dual de (6.2) é expresso por:

0 ;0

: a Sujeito

2

1 Maximizar

≥≥

=−++−

+−+−

ys

cysw AQv

slyuwbQvv

T

TTTT

(6.3)

em que nRv ∈ , mRw ∈ e nRys ∈, .

Para um escalar 0>μ , pode-se incorporar à (6.2) uma função barreira logarítmica resultando no seguinte problema de otimização não-linear:

;

;

; : a Sujeito

lnln2

1)(F Minimizar

11

lrx

u zx

bAx

zrxcQxxxn

jj

n

jj

TT

=−

=+

=

−−+= ��==

μμμ

(6.4)

O problema dual de (6.4) é:

cyswAv

ysslyuwbQvv

T

n

jj

n

jj

TTTT

;Q- : a Sujeito

lnln2

1- Maximizar

11

=−++

−−+−+ ��==

μμ

(6.5)

Considerando-se a hipótese de que v = x em (6.5) e sob as condições previamente assumidas em (6.1), então, as condições de otimalidade de Karush-Kuhn-Tucker (KKT) para os problemas (6.4) e (6.5) são:

cyswAQx T =−++− (6.6a)

bAx = (6.6b) uzx =+ (6.6c) lrx =− (6.6d)

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

Page 60: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

60

0=− eZYe μ (6.6e)

0=− eRSe μ (6.6f)

onde R, Z, S e Y são matrizes diagonais, ( )Te 1, ,1 �= e μ é a métrica dual ou parâmetro de ajuste à curva

definida pela trajetória central.

6.2 Direções de busca – Tipo Previsor

Supondo em um passo k que as condições de otimalidade (6.6) satisfaçam à viabilidade primal e dual, então, a definição do novo ponto, na iteração k+1, depende diretamente das direções de movimento e comprimento de passo nesta direção. Sem se preocupar, em uma primeira análise, com o comprimento do

passo, considera-se, na iteração 1+k , o novo ponto 1+kh definido por:

��������

��������

+

+

+

+

+

+

=

��������

��������

=

+

+

+

+

+

+

+

ks

k

ky

k

kr

k

kz

k

kw

k

kx

k

k

k

k

k

k

k

k

ds

dy

dr

dz

dw

dx

s

y

rz

w

x

h

1

1

1

1

1

1

1 . (6.7)

Assim necessita-se determinar a direção de movimento )(kd para obter-se o novo ponto 1+kh .

Seguindo-se os passos do Método de Newton , de forma análoga a (5.10) e (5.11), a direção )(kd pode ser obtida resolvendo-se o seguinte sistema:

)()( )()()( kkk hFdhJ −= ; (6.8)

tal que (6.8) é equivalente ao seguinte sistema linear de equações:

��������

��������

=

��������

��������

��������

��������

−−

k

k

k

k

k

k

ks

ky

kr

kz

kw

kx

T

v

q

o

f

g

t

d

d

d

d

d

d

RS

ZY

II

II

IIAQ

A

0000

0000

0000

0000

00

00000

(6.9)

em que: kk Axbt −= ; kkkTkk yswAcQxg +−−+= ; kkk zxuf −−= ; (6.10a)

kkk rxlo +−= eYZeq kkkk −= μ ; eSRev kk

kk −= μ . (6.10b)

A maneira como foram definidos os resíduos kt , kg , kf , ko , kq , kv em (6.10) é o que evidencia,

no algoritmo proposto neste trabalho, a diferenciação entre o passo previsor e corretor do método. As direções a serem determinadas a seguir, no passo previsor, utilizam os resíduos definidos em

(6.10). Para determinar as direções no passo previsor existem duas formas distintas na literatura: i) o sistema (6.9) é resolvido diretamente pelo método de Newton, a qual é a estratégia usual dos métodos de pontos interiores clássicos; ii) resolver o sistema linear (6.9) utilizando a sua estrutura esparsa e de blocos da matriz, a qual é a estratégia dos métodos de pontos interiores variantes de Karmarkar . Baseando-se em

ii), calcula-se kxd , k

wd , kzd , k

rd , kyd e k

sd separadamente, através das seguintes equações:

kk

x tAd = (6.11a)

kky

ks

kw

Tkx gdddAQd =−++− (6.11b)

kkz

kx dd f=+ (6.11c)

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

Page 61: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

61

kkr

kx dd o=− (6.11d)

kkyk

kzk qdZdY =+ (6.11e)

kksk

kbk vdRdS =+ (6.11f)

Das equações (6.11c) e (6.11d) tem-se, respectivamente, que:

kkx

kz fdd +−= (6.12a)

kkx

kr odd += (6.12b)

Agora, isola-se kyd e k

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

)(1 kzk

kk

ky dYqZd −= − (6.12c)

)(1 krk

kk

ks dSvRd −= − (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:

111 )( −−− ++= QYZSR kkkkθ (6.12e)

tem-se:

[ ]kkkTkw tpgAAAd ++= − )()( 1 θθ (6.12f)

)( kkkw

Tkx pgdAd −−= θ ; (6.12g)

onde,

)()( 11 kk

kk

kkkk

k fYqZvoSRp −+−= −− . (6.12h)

Devido ao fato da matriz (Aθ AT) ser simétrica e definida positiva em (6.12f) (considerando a matriz

Q, simétrica e definida positiva), então, kwd é determinado utilizando a Decomposição de Cholesky.

As direções de busca e o algoritmo a serem vistos a seguir baseiam-se em [Wu et al, 1994].

6.3 Direções de Busca -Tipo Corretor

Analogamente ao procedimento realizado na seção em 5.6.1 determina-se a direção de busca do passo

corretor, denominada de )(~ kd , resolvendo-se o seguinte sistema linear:

)(~~

)( )()()( kkk hFdhJ −= ; (6.13)

onde, )(~ )(khF é obtida considerando-se aproximações de 2ª ordem em (2.7a), a partir do passo previsor,

tal que (6.13) é equivalente a:

��������

��������

=

��������

��������

��������

��������

−−

k

k

k

k

k

k

ks

ky

kr

kz

kw

kx

T

v

q

o

f

g

t

d

d

d

d

d

d

RS

ZY

II

II

IIAQ

A

~

~~

~

~

~

~

~

0000

0000

0000

0000

00

00000

; (6.14)

em que: kk Axbt −= ; kkkTkk yswAcQxg +−−+= ; kkk zxuf −−= ; kkk rxlo +−= ;

eDDeYZeq ky

kzkk

kk −−= μ~ ; eDDeSRev ks

kxkk

kk −−= μ~ (6.15)

As matrizes kxD , k

zD , kyD e k

sD são matrizes diagonais, cujos elementos diagonais são ( )ikxd ,

( )ikzd , ( )

i

kyd e ( )ik

sd , ni ,,1�= ,respectivamente.

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

Page 62: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

62

Note que, no passo corretor, as direções kxd , k

zd , kyd e k

sd definidas no passo previsor são utilizadas

para a redefinição dos resíduos kq~ e kv~ em (6.15).

A partir de (6.14), (6.15) e seguindo-se os mesmos passos realizados para a determinação das

direções do passo previsor vistos na seção 6.2, calculam-se kxd

~, k

wd~

, kzd

~, k

rd~

, kyd

~ e k

sd~

através das

seguintes equações:

[ ]kkkTkw tpgAAAd ++= − )~()(

~ 1 θθ ; (6.16a)

)~~(

~ kkkw

Tkx pgdAd −−= θ ; (6.16b)

kkx

kz fdd +−=

~~; (6.16c)

kkx

kr odd +=

~~; (6.16d)

)~~(

~ 1 kzk

kk

ky dYqZd −= − ; (6.16e)

)~~(

~ 1 krk

kk

ks dSvRd −= − ; (6.16f)

onde,

)~()~(~ 11 kk

kk

kkkk

k fYqZvoSRp −+−= −− . (6.16g)

6.4 Comprimento do passo

Uma vez que as direções de busca do tipo corretor são determinadas em (6.16), tem-se a condição de

se mover para um novo ponto ),,,,,( 111111 ++++++ kkkkkk syrzwx garantindo-se que 01 >+ks , 01 >+kz ,

01>

+ky e 01 >+kr . Para garantir a restrição de não-negatividade destas variáveis um controle do passo

a ser dado em cada direção é necessário, assim, consideram-se as variáveis definidas no passo previsor por:

kxk

kk dxx α~1 +=+ ; (6.17a)

kwk

kk dww α~1 +=+ ; (6.17b)

kzk

kk dzz α~1 +=+ ; (6.17c)

krk

kk drr α~1 +=+ ; (6.17d)

kyk

kk dyy α~1 +=+ ; (6.17e)

ksk

kk dss α~1 +=+ ; (6.17f)

onde: )},,{~

BUDPk Min αααα = (6.17g)

tal que, para 10 << α :

i) pela condição de factibilidade Primal: ��

���

��

���

<−−= 0, que tal , ,1 kr

kzk

r

ki

kz

ki

P ii

ii

ddd

r

d

zMin

ααα (6.17h)

ii) pela condição de factibilidade Dual: ��

���

��

���

<−−= 0; que tal ,,1 ky

ksk

y

ki

ks

ki

D ii

ii

ddd

y

d

sMin

ααα (6.17i)

iii) pela estratégia de busca unidimensional de Armijo BUα é determinado sob a seguinte condição:

kBU αα = tal que kx

Tkk

kk dxFxFxF )()()( 1μμμ α ∇+≤+ ; (6.17j)

ou seja, é um método de busca unidimensional finito que, neste caso, considera somente as variáveis

primais e que busca, a partir de um ponto kx , um novo ponto 1+kx , na direção kxd , tal que a função Fμ

definida em (6.4) decresça, sem preocupar-se em minimizá-la. O método de Armijo procura determinar

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

Page 63: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

63

BUα de tal forma que a redução de Fμ seja garantida. A escolha inicial de BUα não deve ser muito

grande, evitando comportamento oscilatório do método, nem muito pequena, evitando uma parada prematura do método. Desta forma, ajusta-se 10 =α e caso (6.17j) não seja satisfeita BUα é atualizado

através da seguinte seqüência:

δ

αα k

k =+1 , k = 0,1...; com δ > 1 usualmente ajustado para δ = 2.

Para a análise de (6.17j) utilizou-se:

eZRcQxxF kkkkk )()( 11 −− +−+=∇ μμ (6.17k)

com kμ determinado na seção 6.5.1.

Analogamente, no passo corretor o cálculo do comprimento do passo é definido considerando-se

as variáveis:

kxk

kk dxx~~1 β+=+

; (6.18a)

kwk

kk dww~~1 β+=+ ; (6.18b)

ksk

kk dss~~1 β+=+ ; (6.18c)

krk

kk drr~~1 β+=+

; (6.18d)

kyk

kk dyy~~1 β+=+

; (6.18e)

kzk

kk dzz~~1 β+=+ . (6.18f)

onde: },,{

~BUDPk Min ββββ = (6.18g)

tal que, BUDP βββ ,, , são obtidos de maneira análoga às condições vistas de (6.17h) a (6.17k),

considerando-se as expressões obtidas no passo corretor, kxd

~, k

wd~

, kzd

~, k

rd~

, kyd

~ e k

sd~

, vistas em

(6.16a) a (6.16g).

6.5 Critério de Parada

Os algoritmos de pontos interiores não encontram soluções exatas para os problemas de programação linear ou quadrática. Por isso, necessita-se de um critério de parada para decidir quando, em uma iteração corrente, a solução obtida está próxima o suficiente de uma solução ótima. Neste trabalho o critério de parada é determinado baseado em [Wright, 1997].

Muitos algoritmos consideram uma boa solução aproximada aquela que possui os resíduos, primal,kt , dual, kg e a métrica dual kμ suficientemente pequenos. Para esse fim pode-se usar medidas relativas

diminuindo os problemas de escala dos apresentados em [Wright, 1997]. Testes típicos para garantir que

uma solução ( )ks , ,,,, kkkkk yrzwx é uma solução ótima loca, são:

i) Factibilidade primal: 111ε≤

+

−=

+ b

Axb

b

t kk

; (6.19a)

ii) Factibilidade Dual: 2

11ε≤

++

+−−+=

++ cQx

yswAcQx

cQx

u

k

kkkTk

k

k

; (6.19b)

iii) Folgas Complementares: 33 )()( εε ≤≤ kTkkTk yzesr (6.19c)

onde 1ε , 2ε e 3ε são tolerâncias pré-definidas. Naturalmente outros critérios podem ser adotados em

concordância com a aplicação a um problema específico, 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 1481

Page 64: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

64

6.5.1 Atualização do parâmetro de barreira

De acordo com [Wright, 1997], a atualização do parâmetro de barreira é feita através de um

produto escalar que envolve as variáveis primais kr e kz e as variáveis duais ks e ky , a partir das

equações (6.6e) e (6.6f). Neste trabalho, seguindo-se a atualização citada, o parâmetro de barreia kμ foi calculado para

que as restrições do problema fossem satisfeitas, então, a atualização foi feita de maneira a se preservar a factibilidade dos problemas primal e dual em relação ao passo previsor e passo corretor por:

n

sr kTk

k

)(1 =μ ; n

yz kTk

k

)(2 =μ (6.20)

e então kμ foi calculado por:

{ }21 , kkk Min μμμ = . (6.21)

Esta maneira de atualizar o parâmetro de barreira, de acordo com [Wright, 1997], auxilia na prova teórica de convergência e complexidade do método prima-dual.

6.6 Algoritmo Primal-Dual para Variáveis Canalizadas com Procedimento Previsor-Corretor e

Busca Unidimensional. (PDPCBU)

PASSO 1 (inicializando o algoritmo): Ajuste 0=k . Escolha um ponto arbitrário:

00000000 ),,,,z ; w;( Ω∈syryx e escolha 1ε e 2ε números positivos suficientemente pequenos.

PASSO 2 (Cálculos intermediários - Previsor): Calcule: kt ; kg ; kf ; ko ; kq ; kv através de (6.11)

e kμ através de (6.20) e a matriz θ através de (6.12e).

PASSO 3 (direções de movimento - previsor): Determine as direções de busca kxd , k

wd , kzd , k

rd , kyd

e ksd do passo previsor através de (6.12).

PASSO 4 (comprimento do passo - previsor): Calcule o comprimento do passo kα~ através de (6.17g) e

atualize as soluções do passo previsor de acordo com (6.17a) a (6.17f). PASSO 5 (atualização dos parâmetros): Calcule os parâmetros primal e dual respectivamente através de (6.21) para a determinação de novas direções e soluções.

PASSO 6 (atualização de resíduos - corretor): Calcule kv~ e kq~ através de (6.15),utilizando-se as

variáveis definidas por (6.17a) a (6.17f). PASSO 7 (direções de translação - corretor): Calcule as direções de busca do passo corretor através de (6.16).

PASSO 8 (Comprimento do passo): Calcule o comprimento do passo primal kPβ

~ e dual k

Dβ~

através de

(6.18a) e (6.18b), utilizando 995,0=α .

PASSO 9 (Novo ponto): Atualize 1+kx ; 1+kw ; 1+ks ; 1+ky ; 1+kz

e 1+kr através de (6.18).

PASSO 10 (Teste de otimalidade): Se algum dos critérios de parada definidos em (6.19) for satisfeito, então PARE. A solução é ótima. Caso contrário:

Faça 1+← kk e volte para o Passo 2.

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

Page 65: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

65

7. O Modelo de Despacho Econômico (PDE)

O modelo de otimização para o Despacho Econômico Clássico visto em [Steinberg e Smith,

1943] é apresentado por:

maxkk

mink

L

n

1kDk

PPP

)1.7(PPP

a sujeito

Femin

≤≤≤≤≤≤≤≤

++++���� ========

onde, Fe é a função custo total de geração do DE sem considerar o ponto de válvula, e é dada por:

kkkk

n

kk

n

iPVk cPbPaFeFe ++== ��

==

2

11 com:

- FePVk representando os custos de cada unidade geradora i não considerando o efeito do ponto de válvula;

- ak, bk, e ck são os coeficientes característicos da função custo não considerando o efeito do ponto de válvula;

- Pk’s correspondem às potências nas quais as unidades geradoras devem operar; - PD é o valor da demanda de energia. - PL representa as perdas na transmissão. - Pk

min e Pkmax são, respectivamente, os limites operacionais inferiores e superiores de saída

das unidades de geração termoelétrica. Trata-se de um Problema de Programação Quadrática com restrições de igualdade e variáveis

canalizadas. A seguir são apresentados os resultados pelos métodos aqui abordados: Primal-Afim para

Programação Quadrática com variáveis canalizadas, O método Primal-Dual de pontos interiores previsor-corretor (PDPC) e o método Primal-Dual de pontos interiores com procedimento previsor-corretor e busca unidimensional (PDPCBU) ao Problema Despacho Econômico da Engenharia Elétrica.

7.1 Aplicação ao Modelo de Despacho Econômico

O modelo geral de otimização para o Despacho Econômico Clássico, o qual é definido sem se

considerar pontos de válvula, é apresentado em (7.1).

Afim de testar a implementação feita dos algoritmos vistos nas seções 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 são equivalentes àqueles vistos em (7.1), os quais são encontrados em [Samed, 2004].

Nestas tabelas encontram-se, para efeito de comparação, as soluções obtidas pelo Método Primal-Afim para Programação Quadrática (PAPQ), pelo Método Primal-Dual com procedimento Previsor-Corretor e procedimento de Busca Unidimensional (PDPCBU) e aquelas encontradas pelos métodos, Primal-Dual com procedimento Previsor-Corretor (PDPC), visto em [Balbo et al, 2007]; pelo Algoritmo Genético Híbrido (AGH) e Algoritmo Genético Co-Evolutivo (AGHCOE), vistos em [Samed, 2004].

A implementação computacional elaborada para os métodos foram feitas utilizando-se a linguagem de programação Pascal 7.0. Optou-se por não colocar-se nesta tabela os tempos de CPU, pois estes são insignificantes para os sistemas abordados.

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

Page 66: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

66

7.2 - Adaptação do Problema de Despacho Econômico ao algoritmo proposto.

Para o Problema de Despacho Econômico (7.1) serão feitas as seguintes definições, no sentido de adaptar este problema aos algoritmos apresentados nas seções 4.4.3 e 6.6:

iii aQ 2, = e jiQ ji ≠= se ,0,

ii xP = ; iMIn

i lP = e i

Maxi uP =

1, =iiA e jiA ji ≠= se ,0, ; onde i, j = 1, ..., n;

LD PPb += .

7.3. PDE com 3 Geradores

Os coeficientes da função geração de energia, da restrição de igualdade e os limites operacionais de saída das unidades geradoras para o PDE com 3 geradores estão definidos na Tabela 7.1. Tabela 7.1 – Características do Sistema.

Gerador Pmín (MW) Pmáx (MW) A B c 1 100 600 0,001562 7,92 561 2 50 200 0,004820 7,97 78 3 100 400 0,001940 7,85 310

Consideram-se as seguintes soluções para a inicialização do método: 850=+= LD PPb , onde

850=DP é o valor da demanda e 0=LP , ou seja, não há perda na transmissão. Com estes dados o

seguinte PPQ é definido:

Minimizar { 2 2 21 2 3 1 2 30.001562 0.00482 0.00194 7.92 7.97 7.85 561 78 310P P P P P P+ + + + + + + + }

Sujeito a

1 2 3

1

2

3

850

100 600

50 200

100 400

P P P

P

P

P

+ + =

≤ ≤

≤ ≤

≤ ≤

�������

(7.3.1)

Podemos observar que:

[ ] [ ]7.92 0.003124 0 0

1 1 1 , 850 , 7.97 0 0.00964 0

7.85 0 0 0.00388

A B c e Q

� � � �� � � �= = = =� � � �� � � �� � � �

Os métodos (PAPQ) e (PDPCBU) foram testados utilizando a seguinte solução inicial e a

respectiva precisão:

( ) 300 100, ,4500 =x

0) 0, ,0(0 =w ;

0) 0, ,0(0 =y .

310−=ε

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

Page 67: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

67

Tabela 7.2 – Soluções obtidas pelos métodos. Resultados AGH AGHCOE PDPC PAPQ PDPCBU

P1 (MW) 470,8421 344,7295 374,5555 392,9308 348,4714 P2 (MW) 109,4012 193,9445 75,4444 122,6578 200,0000 P3 (MW) 269,7567 311,3260 399,9999 334,4113 301,5286

Σ Pi (MW) 850,0000 850,0000 850,0000 850,000 850,000

Tabela 7.3 – Comparação de Valores da Função Objetivo.

Resultados Função 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 métodos Primal-Afim de pontos interiores para

Programação Quadrática (PAPQ) e Primal-Dual Previsor-Corretor (PDPCBU) para a resolução do PDE (7.3.1) com 03 geradores.

A Tabela 7.3 mostra o bom desempenho dos métodos, Primal-Afim de pontos interiores para Programação Quadrática (PAPQ) e Primal-Dual Previsor-Corretor (PDPCBU)), quando comparados com os resultados obtidos pelo Algoritmo Genético Híbrido (AGH) e algoritmo Genético Co-Evolutivo (AGHCOE), vistos em [Samed, 2004].

8. Considerações Finais

Neste minicurso apresentamos uma introdução aos métodos Primal-Dual de Pontos Interiores,

que estão inseridos na Área de Otimização e realizamos uma aplicação destes ao Problema de Despacho Econômico, estudado na área Sistemas de Energia, em Engenharia Elétrica. Nosso principal objetivo foi de fazer com que os participantes tivessem um primeiro contato com os métodos em destaque, despertando-os, dessa forma, para realizarem novas pesquisas nesta área.

Dentre os Métodos destacados, foram analisados aqueles que iniciaram essa metodologia,

denominados de Métodos Afins, mais especificamente, o Método Primal-Afim e o Método Dual-Afim de Pontos Interiores e estendemos o Método Primal-Afim para a resolução de Problemas de Programação Quadrática convexa com restrições lineares e, posteriormente, para variáveis canalizadas. Analisamos sua aplicação utilizando-se de Problemas de Programação Quadrática com dimensão pequena, incluindo um modelo simples de Despacho Econômico.

Em seguida foi realizada a análise do Método Pimal-Dual de Pontos Interiores com restrições

lineares, incluindo o caso de variáveis canalizadas, feita a sua extensão para Problemas de Programação Quadrática convexa com variáveis canalizadas e feita a sua aplicação a um problema simples de Despacho Econômico, encontrado na Engenharia Elétrica.

Os resultados obtidos mostraram o bom desempenho destes métodos quando comparados com

outros métodos encontrados na literatura. 9. Agradecimentos

Os autores agradecem ao CNPq (Conselho Nacional de Desenvolvimento Científico e

Tecnológico) e à Fapesp (Fundação de Amparo à Pesquisa do Estado de São Paulo) pelo apoio financeiro concedido.

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

Page 68: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

68

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., Métodos primal-dual de pontos interiores aplicados à resolução de problemas de despacho econômico: sobre a influência da solução inicial In: XL SBPO - Simpósio Brasileiro de Pesquisa Operacional, 2008,. XL SBPO (João 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 método de geração 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 Função Barreira Modificada e o Problema de Fluxo de Potência Ó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 L’etude 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 1486

Page 69: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

69

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(n3L) operations. In: Progress in Mathematical Programming: Interior-Point and Related Methods, ed. N. Megido, Springer-Verlag, 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, 373-395, 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 1487

Page 70: MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL … · 2010-11-25 · 1 MINICURSO MINISTRADO NO DINCON’2010 INTRODUÇÃO AOS MÉTODOS PRIMAL-DUAL DE

70

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, 1179-1183, 2000. POLYAK, R.. Modified barrier functions. Mathematical Programming, 54, 2, 177-222, 1992. RENEGAR, J. A polynomial-time algorithm based on Newton´s 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 Química, 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 Karmarkar’s 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 1488