• Nenhum resultado encontrado

MÉTODO DE PONTOS INTERIORES PARA PROGRAMAÇÃO NÃO LINEAR EM REDES

N/A
N/A
Protected

Academic year: 2021

Share "MÉTODO DE PONTOS INTERIORES PARA PROGRAMAÇÃO NÃO LINEAR EM REDES"

Copied!
7
0
0

Texto

(1)

MÉTODO DE PONTOS INTERIORES PARA PROGRAMAÇÃO NÃO

LINEAR EM REDES

Luis Ernesto Torres Guardia Mestrado em Engenharia de Produção

Universidade Federal Fluminense Rua Passo da Pátria 156, São Domingos

24210-240, Niterói, R.J., Brasil tepletg@vm.uff.br

Resumo

Neste trabalho, apresentamos a solução de um problema de otimização convexa não linear e restrições lineares. A técnica de solução do anterior problema é o método de pontos interiores primal – dual. Esse método causou um grande sucesso computacional na solução de problemas de programação linear, principalmente para problemas de grande porte. Para o caso não linear, a solução do respectivo sistema linear simétrico indefinido, que aparece nesse método primal-dual, é determinada usando uma aplicação apropriada do algoritmo do gradiente conjugado pré – condicionado. Como ilustração, o método primal – dual é aplicado em modelos de fluxo em rede e neste caso não precisamos armazenar a matriz associada ao sistema linear. Experimentos numéricos são apresentados e confirmam a robustez do método para todos os casos testados.

Palavras-chave: Problema de Programação Não Linear. Método de Pontos Interiores Primal - Dual. Problema de Fluxo em Rede.

Abstract

In this work, the solution of linearly - constrained nonlinear optimization with convex cost is studied. For solving the above problem, we use the primal – dual interior point algorithm. This algorithm made a computational success for solving large-scale linear programming problems. The solution of the respective symmetric indefinite system of linear equations is obtained by using a preconditioned conjugate gradient algorithm. As an illustration, the primal – dual algorithm is applied on nonlinear network flow problems and in this case we do not store the respective matrix of the symmetric indefinite linear system. Numerical experiments are presented and confirm the effectiveness the algorithm in all instances cases.

Keywords: Nonlinear Programming Problem. Primal – Dual Interior Point Method. Network Flow Problem.

1. Introdução

Depois do anuncio do primeiro método de pontos interiores com complexidade polinomial, publicado por Karmarkar [1984], para resolver originalmente problemas de programação linear de grande porte, esse método mostrou-se ser de grande sucesso e eficiente técnica de resolução, se observado seu impressionante desenvolvimento computacional. Depois esses métodos de pontos interiores foram aplicados também com sucesso para problemas de complementaridade linear, de complementaridade não linear e outras classes de problemas relacionados à otimização. O método primal – dual foi que atraiu maior atenção entre os diferentes métodos de pontos interiores. Experiências computacionais e desenvolvimentos teóricos mostrarão que eles se desempenham muito melhor que os outros métodos de pontos interiores. Por isso, é natural que pesquisadores colocarão suas atenções para aplicar esses métodos para uma área geralmente mais complexa como da programação não linear com restrições não lineares, cuja solução originalmente era determinada usando o método seqüencial de programação quadrática. Várias experiências numéricas, deste último método seqüencial, foram realizadas para resolver esse problema de otimização com restrições mas a solução do problema quadrático poderia ser caro especialmente para problemas de grande porte. Foi assim que o sucesso computacional do método primal-dual em programação linear deu lugar para um substancial interesse na aplicação para a programação quadrática e a programação não linear, demonstrando que o método de pontos interiores

(2)

primal-dual pode resolver esses problemas eficientemente, como atualmente está sendo provado numericamente.

Neste trabalho, apresentamos o problema não linear com restrições lineares de fluxo em rede, e cuja solução é determinada usando o método de pontos interiores primal-dual de tal forma a explorar a estrutura da rede devido à matriz envolvida nas restrições ser esparsa. Tais problemas de otimização não linear com restrições de fluxo em rede aparecem em uma ampla variedade de aplicações, por exemplos em planejamento de rede de transporte, ver Nagurney [1984], em redes de telecomunicações , ver o trabalho de Ouorou, et el, [2000], entre outras aplicações.

O trabalho é organizado como segue. Na seção 2, o método de pontos interiores primal-dual é apresentado para resolver um problema de programação não linear com restrições lineares. A solução, do sistema linear simétrico indefinido, que aparece nesse método de pontos interiores, é obtida usando o algoritmo do gradiente conjugado pré - condicionado. Na seção 3, apresentamos a aplicação do método primal-dual quando as restrições lineares são de conservação de fluxo em uma rede para um único produto, para diferentes funções não lineares e redes de diferentes portes. Finalmente, algumas conclusões são dadas na seção 4.

2.Método de Pontos Interiores Primal-Dual

Consideremos o seguinte problema de otimização não linear restringido linearmente:

minimizar f(x) (1.1)

sujeito a h(x) = 0 (1.2) x ≥ 0. (1.3)

Assume-se que a função f: Rn → R é convexa e com segunda derivada continua. A função h(x ) é dada pelas restrições lineares do tipo:

h(x) = Ax – b

sendo A uma matriz, A ∈ Rmxn , m < n, e de posto completo e b ∈ Rm .

O caso geral, quando as restrições são não lineares é tratado nos trabalhos de Yamashita [1998], El-Bakry, et al. [1996], entre outros trabalhos. O presente artigo segue o trabalho desses autores para o caso particular de h(x) ser uma função linear.

Seja a função Lagrangeano associada com o problema acima (1) definida por:

L(w) = f(x) + yt h(x) –zt x,

onde w = (x,y,z)t e y ∈ Rm e z ∈ Rn são os vetores multiplicadores Lagrangeanos associados às restrições de igualdades e desigualdades respectivamente.

As condições de Karush – Kuhn – Tucker (KKT) de otimalidade do problema (1) são dadas por:

F(w) = ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎝ ⎛∇ XZe x h z y x L x ) ( ) , , ( = 0 (2.1) e x ≥ 0 , z ≥ 0. (2.2) sendo: ∇x L(x,y,z) = ∇f(x) + ∇h(x)t y – z = ∇f(x) + At y – z, X = diag(x1,x2,...,xn), Z = diag(z1,z2,...,zn), e = (1,1,...,1)t ∈ Rn ,

e ∇x L(x,y,z) é a gradiente de L(x,y,z) em relação a variável x e ∇f(x) e ∇h(x) são as gradientes de f e de h respectivamente e X e Z são matrizes diagonais com diagonal (xi ) e (zi) . Eles representam as condições primal, dual e de complementaridade respectivamente.

(3)

Para resolver o problema (1) usando o método de pontos interiores primal – dual, os pesquisadores aplicam o método de Newton às condições perturbadas de KKT (de barreira) e dadas por:

(w) = ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎝ ⎛ − ∇ e XZe x h z y x L x

μ

) ( ) , , ( = 0 (3.1) e x > 0, z > 0, (3.2) onde μ > 0 é o parâmetro de barreira e x > 0 significa xi > 0 para todo i.

As condições (3.1) são denominadas as condições de KKT de barreira e um ponto w(μ) = (x(μ),y(μ),z(μ)) que satisfaça essas condições é denominado de ponto KKT de barreira. O método de pontos interiores usado serve para alcançar um ponto que aproximadamente satisfaça as condições acima (3.1), e finalmente obter um ponto que satisfaça as condições de KKT fazendo μ → 0. Isto significa que forçamos x e z sejam estritamente positivos durante as iterações.

Para determinar um ponto KKT de barreira aproximado para um μ dado, μ > 0, usamos o método perturbado de Newton. Seja a direção de Newton Δw = (Δx,Δy,Δz)t definida pela solução do sistema de equações: F′μ (w) Δw = - Fμ (w) (4.1) onde F′μ(w) =

X

Z

x

h

I

x

h

w

L

t x

0

0

0

)

(

)

(

)

(

2 =

X

Z

A

I

A

x

f

t

0

0

0

)

(

2 . (4.2)

sendo ∇2x L(w) a matriz Hessiana de L(w) e neste caso particular temos que ∇2x L(w) = ∇2 f(x) sendo ∇2 f(x) a matriz Hessiana de f(x). Assim, a relação (4.1) toma a seguinte forma:

X

Z

A

I

A

x

f

t

0

0

0

)

(

2 . ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎝ ⎛ Δ Δ Δ z y x = - ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎝ ⎛ − − ∇ e XZe b Ax z y x L x

μ

) , , ( (5) Seja ξc = x L(w) = ∇f(x) + Aty – z, ξb = Ax – b, ξμ = XZe - μe.

Usando a terceira equação de (5), podemos eliminar a variável Δz , dada por:

Δz = - X-1 ( ξμ + Z Δx ), (6) e assim temos o seguinte sistema simétrico aumentado indefinido de equações lineares:

⎦ ⎤ ⎢ ⎣ ⎡∇ + − 0 ) ( 1 2 A A Z X x f t

⎟⎟

⎜⎜

Δ

Δ

y

x

= - ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ + − b c X

ξ

ξ

ξ

1 μ (7)

O sistema (7) poderia ser resolvido sem maiores problemas se fosse convertido no sistema tradicional de equações normais se a matriz [∇2 f(x) + X-1 Z ] fosse bem condicionada, mas no caso do método de pontos interiores a matriz associada em (7) é simétrica aumentada indefinida, por causa da presença da matriz X-1

(4)

trabalhos de Keller et al. [2000], de Golub et al. [2001], de Bai e Li [2003], de Durazzi e Ruggiero [2003], de Bergamaschi et al. [2004], entre outros artigos.

Seja Δwk = (Δxk,Δyk,Δzk)t a solução do sistema (4.1), então uma nova iteração é realizada da seguinte forma:

wk+1 = wk + αk Δwk,

onde αk é o tamanho de passo determinado por um procedimento de busca de linha e descrito a continuação.

No ponto wk = ( xk, yk, zk )t calculamos o máximo passo permitido à fronteira da região viável e dado por:

αkmax = min{ mini{-(xk)i / (Δxk)i / (Δxk)i<0}, mini{ -(zk)i/(Δzk)i / (Δzk)i<0} }.

Para ter robustez do método de pontos interiores primal – dual, um passo na iteração seguinte é dado por:

αk = α′k βj , α′k = min { γαkmax, 1 },

onde γ ∈ (0,1) e β∈ (0,1) são escalares fixos, e j = jk e o menor inteiro não negativo tal que: φ(wk + αkΔwk, μk) - φ(wk, μk) ≤ ταk∇φ(wk, μk)tΔwk,

onde τ ∈ (0,1), e sendo φ(w,μ) a função de mérito definida por: φ(w,μ) = ½ ⎢⎢Fμ(w) ⎢⎢2.

Apresentamos a seguir, um resumo do método de pontos interiores primal-dual.

Considerar um ponto interior inicial w0 = (x0,y0,z0) tal que (x0,z0) > 0, τ ∈ (0,1), β ∈ (0,1), e γ∈(0,1). Para k=0,1,2,... até a convergência, realizar os seguintes passos:

Passo 1. Fazer μk = σk(xktzk)/n, σk ∈ (0,1).

Passo 2. Resolver o seguinte sistema linear para determinar Δwk : F′uk(wk) Δwk = - Fμk(wk). Passo 3. Calcular αk usando a função de mérito φ(w,μ). Passo 4. Fazer wk+1 = wk + αk Δwk.

Talvez o maior esforço computacional requerido no anterior método de pontos interiores primal – dual é no passo 2, isto é, a solução do sistema simétrico aumentado indefinido de equações lineares, dada em (7), que por facilidade podemos escrever da seguinte forma:

⎦ ⎤ ⎢ ⎣ ⎡ 0 A A D t

⎟⎟

⎜⎜

Δ

Δ

y

x

= ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ 2 1 v v (8) onde v1 = - (ξc + X -1ξ u); v2 = - ξb e D = ∇2 f(x) + X-1 Z

A solução do sistema simétrico indefinido (8) é determinada usando o algoritmo do gradiente conjugado pré – condicionado apresentado por Durazzi e Ruggiero [2003] e cujo esquema é o seguinte:

. Seja Δx(0) , Δy(0) os vetores iniciais, Δx(0) ∈ Rn , Δy(0) ∈ Rm

. r1(0) = v1 - D Δx(0) - At Δy(0) ; r2(0) = v2 - A Δx(0) ;

. z2(0) = R-1 (-r2(0) + A D-1 r1(0) ); z1(0) = D-1 (r1(0) - A z2(0) ); . p1(0) = z1(0); p2(0) = z2(0) ;

. num = (z1(0) )t r1(0) + (z2(0) )t r2(0) ; . Para i = 0,1,...

(5)

- t1(i) = D p1(i) + At p2(i) ; t2(i) = A p1(i) ; - den = (p1(i) )t t1(i) + (p2(i) )t t2(i) ; - α = num/den;

- Δx(i+1) = Δx(i) + α p

1(i) ; Δy(i+1) = Δy(i) + α p2(i) ; - r1(i+1) = r1(i) - α t1(i) ; r2(i+1) = r2(i) - α t2(i) ; - Se o critério de parada é satisfeito, parar;

- z2(i+1) = R-1 ( -r2(i+1) + A D-1 r1(i+1) ); - z1(i+1) = D-1 ( r1(i+1) - At z2(i+1) ); - den = num;

- num = (z1(i+1) )t r1(i+1) + (z2(i+1))t r2(i+1) ; - β = num/dem ;

- p1(i+1) = z1(i+1) + β p1(i) ; p2(i+1) = z2(i+1) + β p2(i) ; . final

A matriz R de ordem mxm é uma aproximação da matriz (AD -1 A T ) . Uma escolha típica de R é R = AKAT , onde K é uma matriz esparsa aproximada da matriz D -1 . Neste trabalho, adotamos a matriz K -1 = diag(D).

Vale mencionar também que a solução do sistema que aparece em um dos passos do algoritmo anterior, dada por:

z2 (i+1) = R-1 (-r2 (i+1) + A D-1 r1(i+1) ),

é determinada usando uma aproximação da matriz inversa de R = (AKA T ) , ver Benzi et al. [2000], de tal forma que:

R-1≅ ZP-1Zt

sendo R é uma matriz simétrica e definida positiva e Z uma matriz triangular superior com elementos na diagonal de 1´s, e P uma matriz diagonal. Esse algoritmo determina as matrizes Z e P diretamente usando a matriz R por meio de um processo incompleto de R- ortogonal aplicado aos vetores conjugados de Gram – Schmidt, neste caso a vetores unitários. Para nossa aplicação de fluxo em rede, o algoritmo de Benzi et al [2000] não precisa armazenar a matriz R nem a matriz A, portanto pode ser aplicado a problemas de grande porte.

3. Experiência Numérica

Para ilustrar a eficiência do método de pontos interiores primal-dual, agora apresentamos sua aplicação a diversas redes de fluxo.

Consideremos o problema não linear de fluxo em redes para um único produto com custos não lineares nos arcos. Este problema é definido por um grafo direcionado G=(N, A) onde N é o conjunto de nós com ⎥⎜N⎥⎜= n e A é o conjunto de arcos com ⎥⎜ A ⎥⎜= m. Para cada nó i ∈ N, um escalar si é associado, onde si é a oferta/procura nó i, dependendo se seu valor é maior/menor que zero. Para cada arco (i,j) ∈ A, uma função convexa, fij; R→R , com segunda derivada continua e conhecida.

Seja xij o número de unidades de fluxo através do arco (i,j) ∈ A, do nó i ao nó j, e x = (xij) O problema de fluxo em rede, com custo não linear nos arcos, é dado por:

minimizar f(x) (9.1) sujeito a:

∈ } ) , ( : {j i j A ij x -

∈ } ) , ( : {j j i A ji x = si , i ∈ N, (9.2) x ij≥ 0, (i,j) ∈ A. (9.3) A função objetiva (9.1) é uma função de custo não linear. A equação (9.2) é denominada de restrição de conservação de fluxo de rede. A restrição (9.3) é a condição de não negatividade de fluxo. O problema (9) é um problema de programação não linear com restrições lineares equivalente ao problema (1). As restrições (9.2) que formam a matriz A do problema (1.2) são armazenadas só em dois vetores. A componente do primeiro vetor representa a origem do arco e a componente respectiva do segundo vetor representa o destino do arco.

(6)

Na literatura existente para resolver o problema não linear de fluxo em rede (9) podemos mencionar os seguintes trabalhos, entre outros: de Marín [1995], usa o método de decomposição resolvendo um subproblema linear e um problema mestre; de Bertsekas et al. [1997], usam o método ∈ - relaxação, método aproximado à solução sob uma certa tolerância pré – definida; de Ourou [2002], aplicando o algoritmo primal – dual para programação monotrópica; de Beraldi et al. [2001] usando igualmente o método ∈ - relaxação; de Garcia et al. [2003], usam um esquema de geração de colunas.

Para ilustrar o método de pontos interiores primal – dual para resolver o problema de fluxo em rede com função não linear apresentado em (9), consideramos a rede da figura 1, p. 197 do artigo de García et al. [2003] e a rede figura 1, p. 476 e figura 3, p. 479 do trabalho de Nagurney [1984].

A rede apresentada em García consiste de 22 nós e 120 arcos. As redes apresentadas em Nagurney consistem de 20 nós e 28 arcos e 40 nós e 66 arcos respectivamente.

O método de pontos interiores primal – dual foi inteiramente codificado usando a linguagem FORTRAN com dupla precisão. Todos os experimentos foram realizados em um microcomputador PC Duron com 512 MB de RAM e 1600 MHZ de freqüência rodando a plataforma Windows XP. As funções de custo estudadas, ver Shi(2004), são:

Prob1. f(x) =

n= j 1

x

j 2 +

≤ < ≤i j n

x

i

x

j 1 Prob2. f(x) =

n= j 1

x

j 4 + ½

= n j 1

x

j 2 +

≤ < ≤i j n

x

i

x

j 1

A seguir, apresentamos o seguinte resultado computacional:

func. obj. Valor fun. obj. ⎪⎜Fμ(w) ⎜⎜ Nro. iterações Rede Prob1 25373,1624023 0,0000009 7 Nagurney p.476 Prob2 379653,2974926 0,0000357 19 Nagurney p.476 Prob1 34647,2496424 0,0006587 6 Nagurney p.479 Prob2 255499,8311281 0,0000937 25 Nagurney p.479 Prob1 860,5 0,0000023 4 García et al. Prob2 163520,16 0,0000002 10 García et al.

O ponto inicial para cada problema não é necessariamente um ponto viável do conjunto de restrições e dependendo desse ponto inicial varia o número de iterações. Os resultados computacionais obtidos mostram a robustez do método de pontos interiores primal – dual como também em relação a resolução do sistema simétrico indefinido e em relação à decomposição da matriz R-1. Vale mencionar que outros pré – condicionadores indefinidos poderiam adotar-se, ver

Durazzi e Ruggiero [2003]

assim como também outros tipos de decomposição da matriz R, digamos por exemplo usar o algoritmo de Cholesky.

4.Conclusões

Este artigo apresenta o problema não linear de fluxo em rede que pela sua estrutura é um problema de grande porte. O método de pontos interiores primal – dual é apresentado de tal forma a explorar a estrutura da rede sem armazenar as matrizes envolvidas no problema, neste caso A e AKAt . A solução numérica do sistema simétrico indefinido, que aparece no método primal – dual, é determinada usando o algoritmo do gradiente conjugado pré – determinado conjuntamente com o uso de um algoritmo de decomposição do tipo ZP-1

Zt . Os resultados numéricos realizados em algumas redes de fluxo de diferentes dimensões confirmam a eficiência de tal algoritmo.

5.Referências Bibliográficas

Bai, Z. e G. Li, (2003), “ Restrictively Preconditioned Conjugate Gradient Methods for

Systems of Linear Equations”, IMA Journal of Numerical Analysis, v. 23, p. 561 – 580.

(7)

Benzi, M., J. Cullum e M. Tuma, (2000), “Robust Approximate Inverse Preconditioning for the Conjugate Gradient Method”, SIAM Journal on Scientific Computing, v. 22, no. 4, p. 1318- 1332.

Beraldi, P., F. Guerriero e R. Musmanno, (2001), “Parallel Algorithms for Solving the Convex Minimum Cost Flow Problem”, Computational Optimization and Applications, v. 18. no. 2, p. 175 – 190.

Bergamaschi, L., J. Gondzio e G. Zilli, (2004), “Preconditioning Indefinite Systems in Interior Point Methods for Optimization”, Computational Optimization and Applications, v. 28, p. 149- 171. Bertsekas, D., L. Polymenakos e P. Tseng, (1997), “An ∈-Relaxations Method for Convex Network Optimization Problems”, SIAM Journal on Optimization, v. 7, p. 853 – 870.

El-Bakry, A., R. Tapia, T. Tsuchiya e Y. Zhang, (1996), “On the Formulation and Theory of the Newton Interior-Point Method for Nonlinear Programming”, Journal of Optimization Theory and Applications, v. 89, no. 3, p. 507 – 541.

Durazzi, C. e V. Ruggiero, (2003), “Indefinitely Preconditioned Conjugate Gradient Method for Large Sparse Equality and Inequality Constrained Quadratic Problems”, Numerical Linear Algebra with Applications, v. 10, p. 673 – 688.

García, R., A. Marín e M. Patriksson, (2003), “Column Generation Algorithms for Nonlinear Optimization, I: Convergence Analysis”, Optimization, v. 52, no. 2, p. 171 – 200.

Golub, G., X. Wu e J. Yuan, (2001), “Sor-Like Methods for Augmented Systems”, BIT, v. 41, no. 1, p. 71 – 85.

Karmarkar, N. (1984), “A Polynomial-Time Algorithm for Linear Programming”, Combinatorica, v. 4, p. 373 – 395.

Keller, C., N. Gould e A. Wathen, (2000), “Constraint Preconditioning for Indefinite Linear Systems”, SIAM Journal of Matrix Analysis and Applications, v. 21, no. 4, p. 1300 – 1317.

Marín, A., (1995), “Restricted Simplicial Decomposition with Side Constraints”, Networks, v. 26, p. 199 – 215.

Nagurney, A. (1984), “Comparative Tests of Multimodal Traffic Equilibrium Methods”, Transportation Research, v. 18B, no. 6, p. 469- 485.

Ouorou, A., (2000), “A Primal – Dual Algorithm for Monotropic Programming and its Application to Network Optimization”, Computational Optimization and Applications, v. 15, p.125 – 143. Shi, Y., (2004), “A Projected – Steepest - Descent Potential - Reduction Algorithm for Convex Programming Problems”, Numerical Linear Algebra with Applications”, v. 11, no. 10, p. 883 – 893.

Yamashita, H., (1998), “A Globally Convergence Primal - Dual Interior Point for Constrained Optimization”, Optimization Methods and Software, v. 10, p. 443- 469.

Referências

Documentos relacionados

O modelo Poisson obteve

Um exame comparativo, mesmo superficial, dos grandes dicionários que circulam em nosso país acusa vários tipos de discrepâncias no tratamento das palavras gramaticais, 3 e aqui

An approach towards overall supply chain efficiency, A future oriented solution and analysis in inbound process, Graduate Business School, Goteborg University, Logistics and

Em confirmação da hipótese inicialmente formulada, foi possível verificar neste experimento, a existência de comportamentos morfológicos, fisiológicos e bioquímicos

Director Regional de Educação, em reuniões realizadas, dado orientação a todos os órgãos de gestão das escolas para que, desde que existam condições, as escolas do 2.º e

2008, pois também observou interação significativa entre lâminas de irrigação e densidades de plantas, sendo que, uma taxa de irrigação de 100% da Etc com uma densidade de 71

(No caso dos doentes com insuficiência hepática grave, ver Não tome Meloxicam Labesfal nas seguintes situações).

O registro das audiências e sessões telepresenciais dar-se-á preferencialmente na Plataforma Emergencial de Videoconferência para Atos Processuais, instituída