• Nenhum resultado encontrado

MODELO NÃO LINEAR DE FLUXO EM REDE PARA MÚLTIPLOS PRODUTOS USANDO GRADIENTE CONJUGADO E DECOMPOSIÇÃO DE CHOLESKY

N/A
N/A
Protected

Academic year: 2021

Share "MODELO NÃO LINEAR DE FLUXO EM REDE PARA MÚLTIPLOS PRODUTOS USANDO GRADIENTE CONJUGADO E DECOMPOSIÇÃO DE CHOLESKY"

Copied!
11
0
0

Texto

(1)

MODELO NÃO LINEAR DE FLUXO EM REDE PARA MÚLTIPLOS PRODUTOS USANDO GRADIENTE CONJUGADO E DECOMPOSIÇÃO DE CHOLESKY

LUIS ERNESTO TORRES GUARDIA

Universidade Federal Fluminense.

Departamento de Engenharia de Produção Rua Passo da Pátria 156, São Domingos

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

RESUMO

Neste trabalho, apresentamos o estudo e a implementação numérica do método de pontos interiores primal – dual para o problema não linear convexo de fluxo em rede para múltiplos produtos com custo separável e crescente. Em cada iteração do método primal - dual, resolve-se o correspondente sistema reduzido de equações lineares usando o método do gradiente conjugado pré-condicionado, em combinação com o método de decomposição de Cholesky. Realizamos alguns experimentos numéricos para redes de diferentes dimensões e vários produtos para algumas funções não lineares. Os resultados computacionais mostram a eficiência deste método de pontos interiores para o caso do problema de fluxo em rede para múltiplos produtos.

Palavras-chave: Programação não Linear. Método de Pontos Interiores Primal-Dual. Fluxo em Rede. Programação Matemática

ABSTRACT

In this work, we present the study and the numerical implementation of the primal-dual interior-point method for the solution of the convex nonlinear multicommodity network flow problem with separable increasing cost. At each iteration of the interior-point method, we solve the corresponding normal linear equations by using the preconditioned conjugate gradient method combined with the Cholesky factorization algorithm. We conduct some numerical experiments for networks of different dimensions and numbers of products and for some nonlinear costs. The computational results show the effectiveness of the interior-point method for this class of network problem.

Keywords: Nonlinear Programming. Primal – Dual Interior-Point Method. Network flow. Mathematical Programming.

(2)

1. INTRODUÇÃO

Neste trabalho estamos interessados na resolução numérica do problema de otimização não linear de fluxo em rede para o caso de múltiplos produtos, no qual diferentes produtos compartilham um mesmo arco capacitado.

O custo associado a um arco da rede é uma função não linear e crescente que depende do fluxo que atravessa esse arco, isto é, a função é separável.

Tais problemas de múltiplos produtos aparecem principalmente na área de transporte e telecomunicações. No setor de transporte, o custo é denominado de custo de congestão, no conceito de alocação de tráfego no problema de equilíbrio de tráfego. No setor de telecomunicações o custo é denominado retardo, o problema não linear modela a congestão nas redes de transmissão.

Existem vários estudos relacionados ao problema não linear de fluxo em rede para múltiplos produtos. Goffin, et al. (1996) usando um método de decomposição, resolvem um problema linear com uma técnica de geração de colunas. Ourou, et al. (2000) realizam um survey de algoritmos sem incluir o método de pontos interiores. Ourou (2000) usa dois diferentes funções de Lagrange aumentado definido no problema primal e dual. Lawphongpanich (2000) usa um esquema simplicial de decomposição. Recentemente, Babonneau e Vial (2005) apresentam um método o qual combina o método de plano de corte com a idéia de centro analítico

Ao contrário dos trabalhos anteriormente descritos, que se desenvolvem em função de fluxos nos caminhos, neste trabalho formularemos o problema não linear de fluxo para múltiplos produtos em função dos fluxos nos arcos da rede.

Devido ao sucesso computacional do método de pontos interiores, iniciado pelo algoritmo de Karmarkar (1984) na área da programação linear, por causa de sua complexidade polinomial de solução, e posteriormente na programação não linear, sendo em ambos os casos, principalmente aplicado a problemas de grande porte, aplicaremos neste trabalho o método de pontos interiores primal –dual para resolver o problema não linear de fluxo em rede para múltiplos produtos. Para uma melhor compreensão da teoria de fluxo em rede, pode-se consultar o livro de Ahuja, et al. (1993). Para a teoria de pontos interiores primal – dual, analisar o livro de Wright (1997).

Cada iteração do método de pontos interiores requer a solução de um sistema de equações lineares, sendo este um passo crucial em termos computacionais. A solução desse sistema linear pode ser obtida usando diferentes métodos de solução, quer usando métodos diretos ou métodos iterativos, dependendo da forma como é representado o sistema linear, quer seja na forma de equações normais ou como um sistema aumentado. Neste trabalho, o sistema será representado na forma de equações normais. Aplicaremos o algoritmo do gradiente conjugado pré-condicionado para determinar a solução do respectivo sistema normal, combinado com a decomposição do algoritmo de Cholesky.

O trabalho é organizado como segue. A seção 2 descreve brevemente o método de pontos interiores primal-dual. Na seção 3 apresenta-se a formulação matemática do problema não linear de fluxo nos arcos de uma rede para múltiplos produtos, com capacidade nos arcos. Na seção 4, desenvolve-se uma especialização do método de pontos interiores para o problema em estudo, considerando o sistema linear normal. Na seção 5, apresentamos os resultados numéricos do método de pontos interiores para o caso de redes de diferentes dimensões e número de produtos. Finalmente, na última seção temos as conclusões.

2. MÉTODO DE PONTOS INTERIORES PRIMAL-DUAL

Apresentamos a seguir uma breve descrição do método de pontos interiores primal-dual para resolver o problema de programação não linear com restrições lineares dado por:

minimizar f(x) (1.1) sujeito a: Ex = b (1.2) x ≥ 0, (1.3)

(3)

onde x ∈ Rn é a variável de decisão, b ∈Rm , sendo E uma matriz de ordem m x n, (m < n), e de posto completo. Assume-se que a função f : Rn → R é convexa e possui segunda derivada continua.

A função de Lagrange associada ao problema (1) é:

L(w) = f(x) + ( Ex – b )t y – zt x,

onde w = (x,y,z)t e y ∈ Rm é o multiplicador de Lagrange associado às restrições de igualdades e z ∈ R+n às restrições de desigualdades. As variáveis x e z são denominadas de

variáveis primais, e a variável y é denominada de variável dual.

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

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

Aqui, ∇x L(x,y,z) é o gradiente de L(x,y,z) em relação a variável x e ∇f(x) é o gradiente de f , e X e Z são matrizes diagonais tendo como componentes os elementos do vetor x e z respectivamente. As equações em (2.1) representam as condições primal, dual e de complementaridade respectivamente.

Para μ > 0, as condições perturbadas de KKT associadas com o problema (1) são dadas por:

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

μ

) , , ( = 0 (3.1) e x > 0, z > 0, (3.2) onde μ é o parâmetro de barreira. Estas modificações (3) são equivalentes às condições de primeira ordem de KKT para a função de barreira, ver El Bakry et al. (1996), Wachter e Biegler (2006): minimizar ψμ (x) := f(x) – μ

=1ln( ) n i xi sujeito a: E x = b x > 0.

As condições (3) 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), 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.

(4)

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

F′μ (w) Δw = - Fμ (w) (4) isto é:

X

Z

E

I

E

x

f

t

0

0

0

)

(

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

μ

) , , ( (5)

onde para o caso particular, quando a função f é separável, temos que ∇2x L(w) foi substituído por ∇2 f(x), sendo este a matriz Hessiana de f(x). Assumimos que a matriz do sistema (5) é não singular.

Seja Δwk = (Δxk,Δyk,Δzk)t a solução do sistema (5), obtida por algum processo de resolução. Em uma nova iteração, determina-se um novo ponto wk+1 = ( xk+1, yk+1, zk+1 )t o qual é dado por: xk+1 = xk + αk Δxk, (6)

yk+1 = yk + αk Δyk, (7) zk+1 = zk + αk Δzk, (8)

sendo αk o tamanho de passo determinado por um procedimento apropriado de busca de linha. Devido a que o sistema de restrições do problema (1) é linear, usamos o seguinte esquema para determinar αk , similar ao usado em programação linear:

αkmax = min{ mini{-(xk)i /(Δxk)i / (Δxk)i<0}, mini{ -(zk)i/(Δzk)i /(Δzk)i<0}}, e αk = β α′k , α′k = min { αkmax, 1 } para β ∈ (0,1) e próximo de 1.

Com este novo ponto wk+1, atualiza-se o parâmetro de barreira μ segundo certas regras, depois forma-se um novo sistema (5), o qual é resolvido usando qualquer processo de solução, e o processo continua até que um critério de parada do algoritmo de pontos interiores seja satisfeito. Apresentamos a seguir, um resumo do método de pontos interiores primal-dual, ver por exemplo El Bakry et al. [1996].

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

Passo 1. Determinar μk .

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.

No passo 3, a função de mérito é: φ(w) = ½ ⎢⎢F(w) ⎢⎢2, de tal modo do método ter robustez. Talvez o maior esforço computacional requerido no método de pontos interiores primal-dual é no passo 2, isto é, determinar a solução do sistema de equações dadas em (5). Existem várias formas de expressar esse sistema de equações, quer seja na forma de equações normais ou como um sistema aumentado. Existem também diferentes métodos de obter a solução do correspondente sistema de equações, sejam métodos diretos ou métodos iterativos. Para uma melhor compreensão das vantagens de se expressar o sistema de equações quer seja na forma de

(5)

equações normais ou na forma de sistema simétrico aumentado, pode-se consultar o livro de Wright (1997). Para analisar os diferentes métodos de solução do correspondente sistema linear, consultar o livro de Nocedal e Wright (1999)

3. FORMULAÇÃO DE FLUXO EM REDES PARA MULTI-PRODUTOS

Consideremos um grafo dirigido G = (N,E ) , onde N é o conjunto de nós e E é o conjunto de arcos. O grafo representa uma rede no qual K produtos podem ser enviados de certos origens até certos destinos. Para cada arco na rede, está associado um custo de transporte não linear e o objetivo é determinar a melhor forma de transporte dos produtos de tal modo a minimizar seu custo total na rede. O problema não linear de fluxo em rede para K produtos é formulado, na forma fluxo-arco, como segue:

Minimizar f(x) =

= K k 1 fk( xk ) (9.1) sujeito a: A xk = bk , k = 1,...,K (9.2)

= K k 1 xk+xν= bmc, (9.3) xk ≥ 0, xν ≥ 0, k = 1,...,K. (9.4) Aqui, A∈Rmxn é a matriz de incidência nó-arco da rede, e bk ∈ Rm é o vetor de requerimento de suprimento/procura para cada produto k. A coordenada bik se positiva, representa o suprimento do produto k no nó i e, bik se negativa, representa a procura do produto k no nó i. O vetor bmc ∈ Rn é um vetor da capacidade máxima correspondente a cada arco na rede. O vetor xk = (xk

a), a ∈ E representa o fluxo do produto k nos arcos da rede e xν ∈ Rn é o vetor de variável de folga. Supõe-se que a matriz de incidência A é de posto completo. Se não for, podem-se remover linhas dessa matriz até que o seja.

A função fk : Rn → R é suposta convexa e com segunda derivada continua e, como expresso em (9.1), a função f é separável.

A relação (9.1) expressa a função objetiva a minimizar. A relação (9.2) é a restrição de conservação de fluxo da rede enquanto a relação (9.3) é conhecida como a restrição de capacidade, que especifica o fluxo total máximo de todos os produtos para cada arco. A restrição (9.4) expressa o fato de que os fluxos devem ser não negativos.

4. O MÉTODO PRIMAL - DUAL APLICADO AO PROBLEMA DE FLUXO PARA MÚLTIPLOS PRODUTOS

Nesta seção, aplicaremos o método de pontos interiores primal – dual apresentado na seção 3 para o problema de fluxo de múltiplos produtos definido no problema (9).

Usando o lado direito do sistema (5), define-se

ξc = ∇x L(w) = ∇f(x) + Ety – z,

ξb = Ex – b,

ξμ = XZe - μe.

Uma forma de determinar a solução do sistema da relação (5) é dada por: { E [ ∇2 f(x) + X-1 Z ]-1 Et } Δy = - E [ ∇2 f(x) + X-1Z ]-1 (ξc + X -1 ξ μ ) + ξb . (10) Δx = - [ ∇2 f(x) + X-1 Z ]-1 (Et Δy + ξc + X-1 ξμ ). (11) Δz = -X-1 ( ξ μ + Z Δx ). (12) O sistema dado na relação (10) é conhecido como de equações normais.

Iniciamos o processo, apresentando as matrizes X e Z para o caso de múltiplos produtos. Estas matrizes são diagonais de blocos, de modo que:

(6)

X = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ υ X X X K . . 1 , Z = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ υ Z Z Z K . . 1 ,

Sendo cada sub-matriz Xk , k = 1,...,K uma matriz diagonal com componentes x ki , i = 1,...,n para cada produto k, e Xν é a matriz diagonal com componentes da variável de folga xν. Uma estrutura similar é dada para a matriz Z.

A matriz de restrições do problema não linear de fluxo (9) é, neste caso, visualizada como segue: E =

I

I

I

I

O

A

O

O

A

O

O

O

O

A

.

.

.

.

.

.

.

.

.

.

.

(13)

onde cada bloco A corresponde à matriz de incidência nó-arco para cada produto k, k=1,...,K. As matrizes de identidade I da última linha correspondem às restrições de capacidade.

Seja D uma matriz diagonal de blocos dada por:

D = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ν D D D K . . 1 (14)

As matrizes Dk são definidas por Dk = [ Hk + Xk-1 Zk ] , k=1,...,K, onde por simplicidade

define-se Hk = 2 f(xk) uma matriz diagonal por ser a função f separável. Por serem Xk e Zk

matrizes diagonais, Dν = Xν-1 Zν é matriz diagonal. Por isso, D é uma matriz diagonal.

Para resolver o sistema dado em (10), e as observações dadas em (14), fazemos então as multiplicações de blocos para determinar a matriz (E D-1 Et ) a qual tem a seguinte estrutura:

ED-1 Et =

+

= − − − − − − − − K k k t K t K t K t

D

D

A

D

A

D

AD

A

AD

O

AD

O

O

A

AD

1 1 1 1 1 1 1 1 1 1 1 1

.

.

.

.

.

.

ν (15)

Denomina-se B como a matriz diagonal de blocos Bk sendo que Bk = A Dk-1At para k = 1,..., K, e C a matriz tal que Ct = [D1-1At, . . . , DK-1 At] e F a matriz diagonal dada pela expressão F = Dν-1+

=

K k 1Dk

1. A matriz F é diagonal já que D

(7)

Então, da relação (15), usando as notações anteriores, temos que: E D-1 Et =

F

C

C

B

t (16)

Agora, o sistema (10), e usando (16), pode ser expresso como segue:

F

C

C

B

t ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ Δ Δ 2 1 y y = ⎦ ⎤ ⎢ ⎣ ⎡ 2 1 h h (17) sendo Δy = [Δy1 , Δy2 ]t e h = [ h

1 , h2]t onde h = -E D-1 [ ξc + X-1 ξμ ] + ξb.

O sistema linear anterior (17) pode ser expresso como: [ F – Ct B-1 C ] Δy2 = h

2 –Ct B-1 h1 (18) B Δy1 = h

1 – C Δy2, (19) onde a matriz (F – Ct

B-1 C) é conhecida como o complemento de Schur. Seja h1 = [ h11 , . . . , h1K ]t. De (18), temos que:

[ F - Ct B-1 C ] Δy2 = h 2 -

=1( −1 k−1) t K k Dk A B h1k (20) onde F – Ct B-1 C = (D-1 ν +

=K k 1Dk 1 - ( 1 1) 1 1 − − = −

k k t K k Dk A B AD (21)

Para resolver o sistema dado em (20), precisamos calcular a inversa da matriz Bk = ADk-1At , k=1,...,K, a qual pode ser determinada usando vários métodos. Neste trabalho usamos a decomposição de Cholesky da matriz Bk, ver por exemplo Nocedal e Wright (1999), de tal forma que:

Bk= Ukt Uk, k = 1, . . . , K (22) onde Uk é uma matriz triangular superior.

O sistema (20) expresso agora na forma: [ F - Ct B-1 C ] Δy2 = h 2 - 1( 1 k1 kt) t K k Dk AU U − − = −

h1k (23) pode ser resolvido, dentre outros métodos, usando o algoritmo do gradiente conjugado pré-condicionado (GCP), aplicado de tal modo a reduzir o número de iterações para obter a solução aproximada do respectivo sistema. Esse algoritmo do gradiente conjugado requer só o produto de matriz – vetor. Detalhes deste algoritmo do gradiente conjugado podem-se obter, por exemplo, em Nocedal e Wright (1999). Usamos neste trabalho como matriz condicionadora simplesmente a inversa da matriz diagonal F.

Uma vez determinada Δy2, o sistema B Δy1 = h

1 – C Δy2 de (19) pode ser resolvido da seguinte forma: Δy1 = B-1 (h 1 – C Δy2) ou usando (22) Δyk1 = ( Uk-1Uk-t ) [ h1k – ( A Dk-1 ) Δy2 ], k = 1,...,K (24)

onde Δy1 = [Δy

(8)

Tanto na equação (23) como em (24) precisamos realizar a operação ( Uk-1Uk-t ) g = s , sendo g um vetor conhecido e s o vetor por ser determinado.

Procedemos esta operação usando o seguinte esquema, sem calcular a matriz inversa de Uk: i) Resolver Ukt w = g , para obter w.

ii) Resolver Uk s = g , para obter s .

A solução em cada sistema em (i) ou (ii) é facilmente obtida devido a que são sistemas triangulares.

Por sua vez, determinada Δy = [Δy1, Δy2]t , usando (23) e (24), podemos a seguir calcular as outras variáveis Δx e Δz usando as relações (11) e (12) respectivamente e um novo ponto interior w = (x,y,z) é determinado usando a expressão dada em (7) e (8) respectivamente.

5. EXPERIÊNCIA COMPUTACIONAL

Nesta seção, apresentamos os resultados das computações para determinar a solução do problema não linear de fluxo em rede para múltiplos produtos, de diferentes dimensões, para diversos produtos e diferentes funções de custo não lineares e separáveis. Os experimentos foram realizados usando o método de pontos interiores primal – dual, cujo correspondente sistema linear foi resolvido usando o algoritmo do gradiente conjugado pré-condicionado, combinado com o algoritmo de decomposição de Cholesky, isto é, a matriz (A Dk-1 At ) é decomposta na forma:

(A Dk-1 At ) = UktUk

sendo a matriz simétrica (A Dk-1 At ) armazenada em um vetor. Da mesma forma, a matriz U é armazenada em outro vetor, usando a seqüência u11, u12, u22, u13, u23, etc. A implementação do algoritmo de Cholesky segue o trabalho de Healy (1985).

Todos os experimentos foram realizados em um microcomputador PC Duron, plataforma Windows XP, de 512 MB de RAM e 1600 Mhz de freqüência. Os códigos computacionais foram totalmente escritos em FORTRAN. Dupla precisão foi usada em todos os cálculos computacionais. O tempo de execução do programa é dado em segundos.

Na aplicação do método primal- dual, a seqüência do parâmetro de barreira { μk } deve convergir a zero tão rápido como seja possível. Várias regras foram estudadas para o decrescimento desse parâmetro μ, ver, por exemplo, os trabalhos de Waltz et al. (2005), Wachter e Biegler (2006), Yamashita e Yabe (2005), entre outros. Aqui usamos a estratégia adotada por Luksan et al. (2005), que, segundo os autores, desenvolve-se bem na prática. A regra é a seguinte:

μ = σ xt z / n onde σ = 0,1 min {0,05 (1- ρ)/ρ , 2}3 e ρ = n z x z x t i i / ) min(

sendo n o número de variáveis.

Redes de diversas dimensões foram analisadas baseadas na rede básica do trabalho de Nagurney (1984), p. 476. Essa rede consiste de 20 nós e 28 arcos e é usada para determinar a solução do problema de equilíbrio de tráfego em rede de transporte. Essa rede foi depois estendida para formar redes de grande porte. Para isso, foi implementado um programa especifico na linguagem FORTRAN, para determinar a dimensão da nova rede, isto é, o número de arcos e de nós e os dois vetores que determinam a origem e o destino que definem cada arco da rede.

Um ponto inicial é dado no método primal –dual, o qual não necessariamente é viável. Para determinar o tamanho de passo α, foi usado, em todos os testes computacionais, o valor

(9)

β=0,9995. Neste caso, aceitamos o primeiro passo α, sem usar qualquer função de mérito nem qualquer filtro, como é usado em problemas gerais da programação não linear.

O critério de parada do método de pontos interiores é estabelecido em termos de proximidade do valor da função objetivo no ponto atual e no ponto anterior. Exige-se que a diferença absoluta desses valores das funções objetivo seja menor ou igual a 10-8 e o valor do parâmetro μ seja próximo a zero. Foram realizados os cálculos para um número de produtos variando de 20 a 1000 produtos. Como cada variável de decisão xk, k=1,...,K tem dimensão igual ao numero de arcos, então a dimensão total de todas essas variáveis de decisão x = ( xk )

k=1,...,K é igual ao número de arcos da rede multiplicado pelo número de produtos. Aqui, não estamos contando com o número de componentes da variável de folga xν . Assim, por exemplo, o número total de variáveis para a rede de 390 arcos e 210 nós e 1000 produtos, como é um dos casos estudados, é de 390.000 variáveis.

No presente trabalho, lidamos com dois tipos de funções de custo encontrados na literatura. a) f(x) = xlog(x), x > 0,

b) f(x) = x/(c – x), c > x > 0.

A seguir apresentamos os resultados computacionais para a primeira função não linear:

a) f(x) = xlog(x), x > 0 Tabela 1. Rede 105 arcos e 60 nós

número produtos μ tempo(seg) valor f. o. número iter.

20 10-13 0,34 79180,95573819 12

50 10-13 0,75 197952,38934547 12

100 10-13 1,39 395904,77869095 11

500 10-13 7,19 1979523,8934547 12

1000 10-13 14,23 3959047,78690950 12

Tabela 2. Rede 390 arcos e 210 nós

número produtos μ tempo(seg) valor f. o. número iter.

20 10-13 6,25 135234,89792918 12 50 10-13 14,26 338087,24482349 11 100 10-13 28,47 676174,48964660 11 500 10-13 141,36 3380872,44823150 11 1000 10-13 282,89 6761744,89646246 11 b) f(x) = x/(c –x ), c > x > 0 Tabela 3. Rede 105 arcos e 60 nós

número produtos μ tempo(seg) valor f. o. número iter.

20 10-13 0,50 157,35692581 18

50 10-13 1,00 393,39231454 16

100 1013 1,96 786,78462906 17

500 10-13 9,05 3933,92314528 16

(10)

Tabela 4. Rede 390 arcos e 210 nós

número produtos μ tempo(seg) valor f. o. número iter.

20 10-13 8,4 312,87830498 18

50 10-13 20,78 782,19576246 18

100 10-13 45,67 1564,39152488 20

500 10-13 206,52 7821,95762441 18

1000 10-13 413,51 15643,91524882 18

Pode-se observar dos resultados anteriores que o valor do parâmetro μ é um valor bastante pequeno, próximo a zero. O algoritmo primal – dual, considerando também o número de iterações, comportou-se muito bem quando o sistema linear correspondente é resolvido usando o algoritmo do gradiente conjugado pré-condicionada combinado com o algoritmo de Cholesky. 5. CONCLUSÕES

Apresentamos neste trabalho, o método de pontos interiores primal-dual para o problema de fluxo nos arcos em uma rede para múltiplos produtos. O sistema de equações envolvido em cada iteração do método primal-dual foi resolvido usando o método do gradiente conjugado pré-condicionado combinado com o algoritmo de decomposição de Cholesky, para cada sub-matriz do produto k, isto é, para ADk-1 At , k=1,...,K. Experiências computacionais foram realizadas em redes de diferentes dimensões e em número de produtos, e mostram a eficiência do método apresentado.

6. REFERÊNCIAS

[1] Ahuja, A., Magnanti, T. e Orlin, J., (1993), Network Flows : Theory, Algorithms and Applications, Prentice-Hall, Inc. New Jersey.

[2] Babonneau, F. e Vial, J., (2005), ACCPM with a nonlinear constraint and active set strategy to solve nonlinear multicommodity flow problems, Disponivel em http://www.optimization- online.org/DB_HTML/2005/06/1148.html. p. 1 -29.

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

[4] Goffin, J., Gondzio, J., Sarkissian, R. e Vial , J., (1996), Solving Nonlinear Multicommodity Flow Problems by the Analytic Center Cutting Plane Method, Mathematical Programming, v. 76, p. 131 – 154.

[5] Healy, M. (1985), “ Triangular Decomposition of a Symmtric Matrix”, In: Applied Statistics Algorithms [editado por P. Griffiths e I. Hill], Royal Statistical Society / Ellis Horwood Limited, p. 43 - 46.

[6] Karmarkar, N. , (1984), A New Polinomial Time Algorithm for Linear Programming, Combinatoria, v. 4, p. 373 – 395.

[7] Lawphongpanich, S., (2000), Simplicial with Truncated Dantzig – Wolfe Decomposition for Nonlinear Multicommodity Network Flow Problems with Side Constraints, Operations Research Letters, v. 26 p. 33 – 41.

[8] Luksan, L., Matonoba, C. e Vlcek, J., (2005), Interior Point Methods for Large Scale Nonlinear Programming, Optimization Methods and Software, v. 20, no. 4 -5, p. 569 – 582. [9] Nagurney, A., (1984), Comparative Tests of Multimodal Traffic Equilibrium Methods, Transportation Research, v. 18B, p. 469 – 485.

[10] Nocedal, J. e Wright, S., (1999), Numerical Optimization, Springer.

[11] Ouorou, A., Mahey, P. e Vial, J., (2000), A Survey of Algorithms for Convex Multicommodity Flow Problems, Management Science, v. 46, no. 1, p. 126 – 147.

[12] Ouorou, A., (2000), A Primal - Dual Algorithm for Monotropic Programming and its Applications to Network Optimization, Computational Optimization and Applications, v. 15, p. 125 – 143.

(11)

[13] Wachter, A. e Biegler, L. (2006), “On the Implementation of an Interior-Point Filter Line- Search Algorithm for Large - Scale Nonlinear Programming”, Mathematical Programming, Serie A, v. 106, no. 1, p. 25 – 57.

[14] Waltz, R. , Morales, J, Nocedal, J. e Orban, D., (2005), “ An Interior Algorithm for Nonlinear Optimization that Combines Line Search and Trust Region Steps”, Mathematical Programming, Serie A, v. 107, no. 3 p. 391 – 408.

[15] Wright, S., (1997), Primal-Dual Interior-Point Methods, SIAM, Philadelphia, PA.

[16] Yamashita, H. e Yabe, H., (2005), “ Quadratic Convergence of a Primal -Dual Interior Point Method for Degenerate Nonlinear Optimization Problems”, Computational Optimization and Applications, v. 31, p. 123 – 143.

Referências

Documentos relacionados

Analysis of relief and toponymy of the landscape based on the interpretation of the military topographic survey: Altimetry, Hypsometry, Hydrography, Slopes, Solar orientation,

Ninguém quer essa vida assim não Zambi.. Eu não quero as crianças

O modelo Poisson obteve

Compreendemos que na Educa¸c˜ ao B´ asica, particularmente no Ensino M´ edio, a falta de pr´ e-requisitos b´ asicos de Matem´ atica acarreta a dificuldade de aprendizagem do estudo

Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for

[r]

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

O bloqueio intempestivo dos elementos de transmissão de energia entre os equipamentos e acessórios ou reboques está impedido ou se não está existem medidas que garantem a segurança