CONTRIBUIÇÃO AO PROBLEMA DE PROJETO DE REDES DE TRÁFEGO: ALGORITMOS PARA CALCULAR UMA SOLUÇÃO PEDRO CANALES GARCÍA Tese apresentada ao Centro de Ciências e Tecnologia, da Universidade Estadual do Norte Fluminense, como parte das exigências para obtenção do grau de Doutor em Ciências de Engenharia. Orientadora: Profa. Gudélia Morales Boluarte CAMPOS DOS GOYTACAZES – RJ FEVEREIRO – 2002 ii CONTRIBUIÇÃO AO PROBLEMA DE PROJETO DE REDES DE TRÁFEGO: ALGORITMOS PARA CALCULAR UMA SOLUÇÃO PEDRO CANALES GARCÍA Tese apresentada ao Centro de Ciências e Tecnologia, da Universidade Estadual do Norte Fluminense, como parte das exigências para obtenção do grau de Doutor em Ciências de Engenharia. Aprovada em...................................................................... Comissão Examinadora: Profa . Gudélia Morales Boluarte D.Sc., UENF (Presidente) Prof. Amaranto Lopes Pereira D.Sc., UFRJ Prof. José Ramón Arica Chávez D.Sc., UENF Prof. Geraldo Galdino de Paula Júnior, D.Sc., UENF iii Agradecimentos À Profa. Morales, minha orientadora, por sua dedicação na orientação deste trabalho. Ao Prof. Arica, pelas dicas, observações e o acompanhamento no desenvolvimento deste trabalho. Aos membros de minha família, por sua infinita paciência em me esperar até chegar ao final de meu trabalho. À FENORTE pelo suporte financeiro prestado. Aos profissionais e colegas que contribuíram com informações para o desenvolvimento deste trabalho. À Universidad Nacional de Ingeniería de Lima-Perú, pelo apoio financeiro y liberação para realizar esta pesquisa na UENF. iv Tese apresentada ao CCT/UENF como parte das exigências para a obtenção do grau de Doutor em Ciências de Engenharia. CONTRIBUIÇÃO AO PROBLEMA DE PROJETO DE REDES DE TRÁFEGO: ALGORITMOS PARA CALCULAR UMA SOLUÇÃO Pedro Canales García Fevereiro/2002 Orientadora : Profa. Gudelia Morales Área de Concentração: Engenharia de Produção RESUMO Neste trabalho estuda-se um dos problemas de transporte conhecido como Projeto de Redes de Tráfego (PRT). Este problema considera o interesse do administrador do sistema de transporte, de melhorar o desempenho do sistema, e o interesse dos usuários, de minimizar seus tempos (custos) generalizados de viagem. O problema PRT é modelado como um problema conhecido em otimização como de Programação de Dois Níveis Generalizado, onde no primeiro nível minimiza-se uma função que representa o custo do sistema e no segundo nível se resolve um problema de equilíbrio de tráfego (ET) modelado como uma desigualdade variacional (DV). Alguns resultados da teoria não diferenciável são considerados com o intuito de ter uma alternativa de solução dos problemas PRT, pois nestes casos as funções envolvidas são não diferenciáveis. Para o cálculo de uma solução do PRT propomos um algoritmo que denominamos de Projeto-Alocação e outro de Penalidades. Adicionalmente alguns resultados computacionais sobre redes de tráfego de tipo acadêmico são apresentados. v Thesis submited to the CCT/UENF in partial fulfillment of the requeriments for the degree of Doctor of Sciences of Engineering CONTIBUTION TO TRAFFIC NETWORK DESIGN PROBLEM: ALGORITHMS FOR CALCULATE A SOLUTION Pedro Canales García February/2002 Advisor: Profa. Gudelia Morales Boluarte Major Subjet: Production Engineering ABSTRACT This work studies the transportation problem know as Network Design Problem (NDP). This problem consider the interest of the management transportation system for improve the network performance, and the user’s interest minimum travel time. The problem NDP is formulated as a problem know in mathematical optimization as Generalized Bilevel Programming Problem, where the first level minimize a function of the costs system and the second level solve the equilibrium traffic problem, formulated as a variational inequality (VI). Some results of the nondifferentiable theory are considered for alternative solutions of the network design problem, hence functions envolved are nondifferentiable. To obtention of a numerical solution of NDP, we consider an algorithm called Design-Assignment and another considering one Penalties. We also present some computational results on network traffic simulated. vi SUMÁRIO Capítulo 1 – Introdução 1 Capítulo 2 – Referencial Histórico 7 Capítulo 3 – Alguns resultados da teoria diferenciável e não diferenciável 17 3.1 – Conceitos Básicos 18 3.2 – Condições de Otimalidade 26 3.3 – Linearização de Problemas sem Restrições 28 3.4 – Métodos para Problemas de Otimização não Diferenciável 31 3.4.1 – Métodos Sub-gradientes 31 3.4.2 – Métodos de Feixes 34 3.5 – A função Valor 38 Capítulo 4 – Formulação do Problema de Projeto de Redes de Tráfego 41 4.1 – Preliminares 41 4.1.1 – O Problema de Projeto de Redes de Tráfego (PRT) 42 4.1.2 – O fluxo de equilíbrio do usuário e o fluxo ótimo do sistema para um modelo de dois níveis do PRT 43 4.2 – Formulação do Problema PRT 44 4.3 – Metodologia 47 Capítulo 5 – Algoritmo de Projeto-Alocação e de Penalidade 50 5.1 – Algoritmo Projeto-Alocação (P-A) para o projeto de redes de tráfego 51 5.2 – Adaptação do algoritmo de minimização da função gap, para resolver um problema de equilíbrio de tráfego formulado como uma DV 52 5.3 – Sequência de problemas aproximados que resolvem o problema (P) 54 5.4 – Passos do algoritmo de minimização da função gap 54 vii 5.5 – Algoritmo de Penalidade para o problema PRT 55 5.6 – Teoremas de existência e unicidade da solução do problema de equilíbrio de tráfego 59 5.6.1 – Existência e unicidade da solução no caso equilíbrio de tráfego 62 5.6.2 – Propriedade de monotonia estrita da função de tipo BPR 70 5.7 – Exemplos de Problemas de Tráfego 71 5.7.1 – Exemplo 1 71 5.7.2 – Resultados computacionais para o exemplo 1 73 5.7.3 – Exemplo 2 74 5.7.4 – Exemplo 3 75 5.7.5 – Exemplos para o problema PRT formulados como um programa matemático de dois níveis generalizado (PDNG) 80 Capítulo 6 – Conclusões 94 Referências 97 viii 1 CAPÍTULO 1 Introdução 1 Os Problemas de Transporte Ninguém duvida que o transporte é um sistema importante do mundo moderno que envolve muitos problemas sociais, econômicos, ambientais e tecnológicos. Com o desenvolvimento da tecnologia, cresceram ainda mais os desafios para serem resolvidos neste sistema. Uma maior dificuldade acontece quando se trata de modelar um problema que tome em consideração as condições de saturação da rede. Por exemplo, quando a função de custo de viagem em uma via (arco) depende, além do fluxo da própria via, dos fluxos das outras vias. Isto geralmente acontece em vias de tráfego de mão dupla, ou pela formação de filas nas interseções sinalizadas, ou pelos tempos de espera nas paradas, ou outros incidentes. Nos últimos tempos, o incremento desmesurado de veículos motorizados tem piorado o congestionamento no tráfego, o incremento dos tempos de viagens e de espera nas paradas de ônibus, a insegurança dos usuários, etc. A demanda por serviço é cada vez maior, entretanto a oferta de facilidades físicas não aumenta na mesma proporção. Para acomodar níveis crescentes de demanda para viagens na rede, usualmente se costuma aumentar a capacidade das vias já existentes ou, quando possível, construir novas vias ou rotas. Nestes casos, um problema crucial é saber como escolher a locação dessas vias de transporte (arcos), ou como aumentar a capacidade delas sob orçamentos limitados do sistema. Para tomar uma decisão, deverá ser considerado o interesse dos usuários que é, minimizar o custo total de viagem. Este problema é conhecido como problema de Projeto de Redes de Tráfego (PRT). Segundo Meng et al., (2000) este problema pode-se classificar em: - PRT discreto trata com o problema de achar locações ótimas das novas vias (arcos) a serem adicionadas (nos modelos cada via é representada por variáveis de decisão inteiras 0-1). 2 - PRT contínuo determina a capacidade ótima a ser aumentada para um subconjunto de vias (arcos) existentes (representadas por variáveis de decisão reais positivas). - PRT misto combina ambos os problemas acima. Outras classificações são possíveis, por exemplo, Chen e Alfa, (1991) classificam o problema PRT da seguinte maneira: a) PRT definido com funções objetivo lineares, b) PRT definido com funções objetivo não lineares e as soluções satisfazem um critério ótimo do sistema, e c) PRT com funções objetivo não lineares e soluções que satisfazem um critério de equilíbrio ótimo do usuário. Além do problema PRT no transporte urbano de pessoas e bens, aparecem outros problemas (atualmente motivo de inúmeras pesquisas) como o Controle do Tráfego (CT), o Equilíbrio de fluxos de Tráfego (ET), e principalmente a Estimação da matriz de viagem Origem/Destino (O/D). Destes problemas, um dos que tem chamado a atenção dos pesquisadores desde a década dos 70, foi o problema de equilíbrio do tráfego. A idéia do equilíbrio de tráfego teve origem no ano 1924 quando Knight, deu uma descrição simples e intuitiva de um postulado sobre escolha de rota pelos usuários sob condições de congestionamento, ver Florian (1999), que “grosso modo” diz: Supor que entre um par origem-destino existem duas rotas, uma das quais é de pobre qualidade mas de ampla capacidade, entretanto a outra é de boa qualidade, embora de capacidade muito estreita. Se um grande número de motoristas de caminhões opera entre esse par O/D e tem liberdade para escolher uma das rotas, a tendência será uma distribuição do número de motoristas de caminhões entre ambas rotas em tal proporção que, o custo unitário de transporte será o mesmo para cada caminhão sobre ambas rotas. Explicando, isto é assim porque no inicio, será preferida a rota de melhor qualidade até que ela ficar saturada, então a rota de menor qualidade torna-se igualmente procurada. Mais tarde em 1952, Wardrop formalizou a noção de equilíbrio de tráfego e de minimização do tempo de viagem na seguinte proposição: No equilíbrio, 3 o custo médio de viagem das rotas que tem fluxo positivo são iguais, e igual ao custo mínimo (este é conhecido como o primeiro principio de Wardrop). O problema de ET consiste em encontrar os fluxos e tempos de viagem ou custos generalizados de acordo com o primeiro principio de Wardrop. Os fluxos que satisfazem este principio, chamam-se de fluxos ótimos do usuário. Os primeiros modelos matemáticos para o problema de equilíbrio de tráfego foram formulados pelo ano 1956 por Beckmann et al., como referido em Florian (1999). Segundo Dafermos (1980), podem-se diferenciar duas abordagens para este problema: Modelo de equilíbrio de tráfego padrão (ou sem congestionamento), nele, a função de custo de viagem em arcos, depende somente do fluxo no próprio arco, e a demanda de viagem associada com um par origem/destino (O/D) pode ser constante ou variável (caso seja variável chama-se de demanda elástica). Modelo de equilíbrio de tráfego geral (ou com congestionamento), neste modelo a função de custo de viagem em arcos depende, em geral, dos fluxos de outros arcos da rede, e a demanda é considerada constante. Em um problema PRT trata-se fundamentalmente de melhorar o desempenho de um sistema de transporte. Considera-se que o administrador do sistema tem o interesse de minimizar o custo de investimento na rede. Embora, o sistema não prescreva o comportamento do usuário na escolha de rotas e modos de viagem, e com freqüência essas escolhas entrem em conflito com o que seria ótimo para o administrador do sistema. Assim, estes problemas podem ser modelados considerando uma classe de problemas hierárquicos, compostos de dois níveis de decisão. São os modelos conhecidos em otimização como Problemas de Programação de Dois Níveis, onde a tomada de decisão do primeiro nível (nível superior, corresponde às decisões do administrador) estará limitada pela tomada de decisão do segundo nível (nível inferior, correspondente às decisões do usuário). Como veremos no seguinte capítulo, vários modelos e conseqüentemente métodos de solução foram desenvolvidos para o problema ET e PRT. 4 2 Objetivo da Tese Neste trabalho, estuda-se um problema do transporte urbano conhecido como de Projeto de Redes de Tráfego (PRT). Para este problema se faz uma formulação de um modelo de Programação de Dois Níveis Generalizado, onde no primeiro nível uma função T(f,s) representa o custo do sistema de transporte, que depende do fluxo f e da capacidade s da rede. No segundo nível, é considerado um problema de equilíbrio de tráfego, onde a função de custo de viagem é estritamente ou fortemente monótona. Neste nível, o problema de ET é formulado como uma desigualdade variacional (DV). Segundo a classificação de Meng et al., (2000), neste trabalho aborda-se o problema PRT continuo ( i.e, as funções envolvidas são continuas em seus domínios de definição), e o problema de equilíbrio de tráfego é o geral. Para o cálculo de uma solução do PRT, foram propostos dois algoritmos. O primeiro tem a estrutura do algoritmo chamado de Projeto-Alocação, Bell M.G. e Iida Y. (1997), onde o problema de equilíbrio formulado como uma DV, é resolvido por uma adaptação do algoritmo da minimização da função gap, Arica et al. (1996). O segundo algoritmo de solução do PRT calcula aproximações ao valor ótimo da função objetivo do PRT penalizando a função gap. Resultados numéricos de alguns testes computacionais são reportados no último capítulo. 3 Importância do Trabalho Como veremos no referencial histórico, existem diferentes formulações para o problema PRT, e uma variedade de métodos para sua solução. Devido à característica hierárquica do problema PRT, alguns pesquisadores consideram que uma formulação de dois níveis para este problema é um modelo apropriado. Este tipo de modelo permite ademais um avanço na procura da solução do PRT, a pesar que devido a sua grande complexidade, constitue atualmente um desafio para os pesquisadores dedicados aos problemas de transporte, Yang e Bell (2001). Quando num problema PRT, a função de custo de viagem deve modelar fatos reais como a interação de fluxos de arcos, a matriz Jacobiana desta função resulta não 5 simétrica. Neste caso, o problema de equilíbrio é modelado como uma DV, e não tem uma formulação equivalente ao de minimização de uma função convexa. Nesse contexto então, este trabalho é uma alternativa de solução de uma DV. 4 Estrutura da Tese No capítulo 1, foi descrito o problema de transporte urbano abordado na tese, o objetivo, sua importância e, a seguir finaliza-se com a descrição do corpo da tese. No capítulo 2, apresentam-se comentários sobre enfoques, e abordagem existente na literatura do problema de equilíbrio de tráfego, o problema de PRT, e suas diferentes formulações e métodos de solução empregados. No capítulo 3, apresentam-se as definições relacionadas, alguns resultados da teoria de otimização não diferenciável e métodos de solução de um problema não diferenciável necessários na verificação e justificativa do algoritmo proposto na tese para resolver o problema PRT. No capítulo 4, apresentam-se a formulação do PRT, sua abordagem como um problema de programação de dois níveis generalizado, e metodologia de solução. No capítulo 5, apresentam-se o algoritmo P-A e o algoritmo de Penalidades. Exemplos de aplicação do algoritmo são testados. Dois exemplos são tomados da literatura para testar o algoritmo na fase de equilíbrio, um terceiro exemplo é proposto para o problema de equilíbrio numa rede onde a função de custo de viagem modela a interseção de fluxos nos arcos. Para o problema de PRT são apresentados três exemplos, um com uma função de custo de viagem de tipo BPR (uso da função gap primal para resolver a DV), e os outros dois com uma função de custo de viagem modelando a interação dos fluxos em vias da rede de mão dupla (uso da função gap primal e a função gap dual para resolver a DV). Adicionalmente são relatados resultados numéricos usando tabelas ilustrativas sobre os exemplos testados. 6 No Capítulo 6, apresentam-se as conclusões, recomendações e propostas de pesquisas futuras. 7 CAPÍTULO 2 Referencial Histórico A seguir apresentamos um histórico do problema de Projeto de Redes de Tráfego (PRT) e métodos de solução relacionando-o com o problema de Equilíbrio de Tráfego (ET). Existindo uma vasta literatura para estes problemas, aqui apenas mencionaremos as que são de nosso interesse para o presente trabalho. É conhecido que, sob a hipótese que o custo de viagem sobre uma via (arco de uma rede) depende apenas do fluxo do próprio arco, a matriz Jacobiana da função de custo de viagem, resulta simétrica e o problema do ET pode ser formulado como um modelo de otimização convexa. Em geral, essa hipótese não é realista, então outras formulações são necessárias. Na literatura, o problema do ET tem sido formulado como um problema de programação não linear (PNL) por Beckman et al. (1956); como um problema de Complementaridade Não Linear (CNL) por Aashtiani e Magnanti (1981); como um problema de Ponto Fixo (PF), por Asmuth (1978); e, tanto Dafermos (1980), Smith (1979), como Fisk e Boyce (1983) o formularam como uma Desigualdade Variacional (DV). A utilização da programação matemática para obter aproximações do equilíbrio de tráfego (em particular urbano), originou-se pelo ano 1956, quando Beckman et al. (1956) formularam um modelo para as condições de equilíbrio de tráfego, como sendo as condições de otimalidade de um problema de otimização equivalente. Para este modelo estabeleceram três hipóteses: - Modo simples de viagem (isto é, supõe-se que o usuário viaja segundo um dos modos, individual (carro, motocicleta, bicicleta, etc.), ou coletivo (ônibus, metrô, trem, etc). - Demanda entre cada par O/D dependendo do tempo mínimo de viagem. - As funções de custo de viagem são separáveis, isto significa que o custo de viagem em cada arco depende somente do fluxo total desse arco. Formulações posteriores seguiram essas hipóteses, e métodos de solução para problemas de programação 8 matemática convexa foram aplicados com sucesso, por exemplo ver Aashtiani e Magnanti, (1981). A realidade mostrou que era necessário estender este modelo, para incluir situações de tráfego como congestionamento e outros incidentes que acontecem nas vias urbanas. Foi assim que, em 1979 Smith formula um modelo para o problema de equilíbrio como uma desigualdade variacional. Neste modelo se considera a interação entre os fluxos dos diferentes arcos da rede, resultando a matriz Jacobiana da função de custo de viagem não simétrica. Resolver um problema de ET formulado por uma DV (no caso não simétrico), em geral é muito complicado, motivo pelo qual o desenvolvimento de algoritmos eficientes para a solução é ainda hoje, matéria de pesquisa para os pesquisadores em problemas de transporte urbano. Montero (1995) relata que os primeiros algoritmos aplicados à solução do problema ET, no caso geral, na formulação de DV finito dimensional foram baseados num modelo equivalente a problemas de ponto fixo (PF). Afirma também: (a) que estes algoritmos são de difícil adaptação para um problema ET, devido principalmente ao requerimento de uma grande capacidade de memória para execução do algoritmo, e (b) que os diferentes métodos empregados para resolver um problema de ET geral, formulado como uma DV, podem ser agrupados nas seguintes classes metodológicas: 1 Métodos de aproximação linear. O esquema geral destes métodos algorítmicos pode-se expressar na seguinte forma: Sejam x k∈K, K⊂R n sub-conjunto convexo e compacto, e f k : R aplicação de aproximação para f no ponto xk . O seguinte ponto n → R n uma iterado x k+1 é solução da desigualdade variacional f k(x)(y – x) ≥0 , ∀y∈K , isto é x k+1 satisfaz f k(x k+1)(y – x k+1) ≥0 , O método acima é chamado de aproximação linear se f k ∀y∈K, é expressado na forma f k(x) = f(x k) + A k(x - x k), onde A k é uma matriz constante nxn na iteração k. 9 O método é chamado não linear se f k é não linear, por exemplo o f k(x) quadrático, onde f k(x) = f(x k) + A k(x - x k) + (1/2)(x - x k)T H k(x - x k), onde A k e Hk são definidas a partir da função f e são constantes na iteração k. Entre estes métodos podem ser citados os seguintes: Método de Newton, caso em que a função f é diferenciável, define-se A k como a k primeira derivada de f no ponto x . Método quase-Newton, no qual Ak é uma aproximação da primeira derivada da função f(x k). Métodos de sobre-relaxação sucessiva, onde Ak pode-se assumir como Lk+(Dk/ w*), ou Uk+(Dk/w*), com w*∈〈0,2〉, e Dk, Lk, U k são respectivamente a matriz diagonal, triangular inferior e triangular superior da primeira derivada de f k em caso f possua derivada. Método de Jacobi linearizado, no qual Ak= Dk. Métodos de projeção, nos quais se faz Ak=G para todas as iterações, onde para cada k, a matriz G é alguma matriz simétrica fixa (Dafermos, 1980). A denominação de projeção desta última família de métodos, é devida a uma simples interpretação geométrica que se explica a seguir. Seja K um conjunto convexo e fechado, e a matriz Ak = G simétrica definida positiva. Dado o k+1 que resolve a DV é justamente a projeção do ponto (x ponto x k , o vetor x k - G-1 f(x k)) sobre o conjunto K, i. é x k+1 = Proj K (x k - G-1 f(x k)). Para um vetor z, y* = Proj K (z) é o único vetor em K que resolve o programa, min z-y G = z-y* G y∈ K onde x G é a norma com relação a G, i. e, . G = (x T G x) ½. Portanto, no presente caso o seguinte ponto iterado será 10 x k+1 := min (1/2) x k - G-1f(x k) - y 2G y∈ K 2 Métodos de diagonalização O que caracteriza esta família de métodos é o fato que, entre cada iteração blocos de variáveis são retiradas, pois quando se aplica métodos de diagonalização a desigualdades variacionais, estes tornam-se extensões dos métodos de Jacobi e Gauss-Seidel para equações lineares e não lineares. Neste caso (diagonalização para uma DV), o método corresponde à classificação (d) anterior já que em cada iteração a função vetorial do custo de viagem é diagonalizada para produzir um problema simétrico. 3 Métodos de decomposição simplicial O fundamento destes métodos se baseia em assumir o conjunto K como um poliedro, portanto, K pode ser representado por uma combinação convexa de seus pontos extremos e direções extremas. Segundo o principio de decomposição de Dantzig-Wolfe (1961), estes pontos extremos não são conhecidos previamente, embora sejam identificados como as soluções básicas viáveis de um problema de programação linear definido sobre o conjunto viável original K. Logo, cada ponto extremo achado é associado a uma variável do problema mestre, e este é resolvido sobre a envoltória convexa destes pontos extremos. A seguir apresentam-se alguns detalhes de pesquisas sobre o problema de Equilíbrio de Tráfego relacionando-o com a classificação anterior. Um problema de programação de dois níveis, onde o segundo nível está formulado por uma DV, vai ser chamado, como na literatura de programação matemática, de Problema de Programação de Dois Níveis Generalizado (PDNG). Num problema de PRT, formulado como de programação de dois níveis generalizado, a solução da DV é a parte do problema de maior dificuldade. Outro método de solução para a DV que utiliza uma função associada a ela, aparece pela primeira vez no 11 trabalho de Zuhovickii et al. (1969), onde se define uma função chamada função gap associada à DV. Segundo Lo e Chen, (2000), a aplicação da função gap para resolver um problema de equilíbrio na sua formulação de DV, foi feita primeiro no ano 1983 por Smith. A função gap em geral é uma função não diferenciável (pois está definida como o valor de uma minimização ou maximização) e/ou não convexa. Em Lo e Chen, (2000) um modelo de equilíbrio de tráfego é formulado como um problema de complementaridade não linear (CNL), para o qual é definida uma função gap diferenciável, associada ao problema a qual será apresentada mais na frente. Os trabalhos a seguir apresentaram resultados sobre o problema de Equilíbrio de Tráfego, considerando formulações de minimização convexa ou como uma desigualdade variacional: Dafermos, (1980): O trabalho considera um modelo geral do problema de equilíbrio numa rede, onde o custo de viagem de cada arco depende do fluxo na rede, i. e., esta se considerando a interação entre os fluxos dos diferentes arcos. Usando uma formulação do problema de equilíbrio como uma DV e a teoria relacionada estabelece existência do fluxo de equilíbrio. Supõe-se que a função de custo de viagem tem a forma especial C(f)= Gf+h, onde G é uma matriz semidefinida positiva. Em geral a matriz G pode ser escolhida como a parte simétrica da matriz Jacobiana [ ∂ C(f)/∂f]. Com relação à classificação de Montero acima, não pode-se dizer que corresponda a uma delas em especial. Em Aashtiani e Magnanti, (1981): Os autores, usando o teorema de ponto fixo de Brouwer estabelecem a existência da solução do problema de ET. Sob condições de monotonia nas funções de custo e demanda, provam a unicidade dos fluxos e dos tempos de viagem em arcos. Florian M. e Spiess H., (1982): Este artigo apresenta condições suficientes para a convergência dos algoritmos de diagonalização, para resolver o problema de alocação do tráfego de equilíbrio. 12 Considerou uma função de custo de viagem em arcos não linear, que tem Jacobiana não simétrica. Demonstrou um teorema de convergência local, para funções que só dependem dos fluxos. Nguyen e Dupuis, (1984): Este trabalho tratou um modelo para o problema ET considerando diferentes modos de transporte e interação de fluxos de diferentes arcos. Embora, para a análise restringiram-se ao caso do problema de um modo de transporte só. A demanda considerada foi fixa e o conjunto de fluxos viáveis utilizado foi um poliedro compacto e convexo. A formulação do problema de ET foi feita por uma DV, sendo a função (custo de Viagem) que define a DV, uma função continua e estritamente monótona. Para resolver o problema utilizaram uma função do tipo conhecida como função gap associada à DV, a que neste caso é definida como uma minimização da forma g(u)= min{ C ( x), x − u } , x∈Ω resultando a função g côncava e não positiva. Então, o problema se transforma em achar o zero desta função. O processo de solução consiste em resolver uma seqüência de problemas de aproximação, cada um dos quais tem um número finito de restrições. Os autores afirmam que para a convergência do algoritmo somente é requerida a monotonia estrita e a continuidade da função de custo, embora seja uma convergência fraca em relação à convergência de outros métodos. Smith, (1992): Este trabalho apresenta um modelo dinâmico para a determinação dos fluxos de equilíbrio num período pico em uma rede urbana congestionada, e inclui restrições de capacidade. O modelo respeita a disciplina FIFO (o primeiro que entra é o primeiro que sai) de filas de tráfego nas vias, e a capacidade de saída nos arcos. Métodos para a determinação dos fluxos dinâmicos são fornecidos, os que envolvem equações diferenciais parciais para a formulação do chamado modelo simples contínuo. Joaquin e Fernandez, (1993): Os autores fazem uma formulação do problema de alocação de tráfego usando o conceito de rota de trânsito. Consideram o fenômeno de congestionamento como concentrado nos pontos de parada, pelo que os tempos de 13 viagem dependem também dos tempos de espera. A formulação foi feita como uma desigualdade variacional e para sua solução usaram o método de diagonalização. Philippe, (1993): Este artigo apresenta um modelo de equilíbrio de tráfego com alto grau de congestionamento. Considera várias vias de ingresso a uma rede e uma saída só. Levando em consideração que os usuários atuam de modo racional na presencia de pedágios, formula o problema como de minimização convexa. Codina (1994): Neste trabalho considera-se um modelo para alocação de tráfego dinâmico numa rede com vários destinos. O fluxo dinâmico do modelo foi considerado uma extensão do modelo contínuo para fluxos compostos por diferentes classes de bens, tendo iguais características de propagação. Sob a hipótese que a velocidade de propagação dos fluxos é constante, o modelo foi aproximado por outro de controle ótimo. Hong et al., (2000): No trabalho, se faz uso de uma função gap diferenciável, proposta por (Facchine e Soares, 1995) para transformar a formulação de complementaridade não linear do problema de equilíbrio, a um problema equivalente de programação matemática sem restrições. Nesta formulação, as variáveis de decisão são os fluxos em rota e os custos de viagem O/D. Por ser de interesse a função gap associada à CNL proposta neste trabalho, é apresentada a seguir: Seja ψ:R 2 → R , definida por ψ(a,b)= a 2 + b 2 − (a + b) , que tem a propriedade ψ(a,b) = 0 ⇔ a ≥ 0 , b ≥ 0, a b=0; e define-se ϕ (a,b)=(1/2) ψ 2(a,b). Então, a função gap associada ao problema de CNL é definida por G : R n → R n, G(x) = n ∑ ϕ ( x , F ( x)) , i =1 i i onde F : R n → R n , F(x)=(F i (x)) ni=1 . A seguir apresenta-se um resumo dos trabalhos pesquisados que estão relacionados ao problema de projeto de redes de tráfego (PRT) e a dois níveis: 14 Marcotte, (1984): O autor formula o problema PRT como sendo um problema de programação de dois níveis generalizado. Sob hipóteses de diferenciabilidade, separabilidade e convexidade sobre a função objetivo do primeiro nível, e considerando uma função de tipo BPR para representar o custo de viagem do problema de ET, transforma o problema para uma minimização convexa de dois níveis. Calcula soluções usando métodos de natureza heurística, sendo que nosso trabalho considera o algoritmo de Projeto-Alocação que é de natureza exata. Fisk, (1987): O trabalho mostra a forma como uma formulação de dois níveis para a estimação da matriz de viagem, pelo método de máxima entropia, proposto por Willumsen, o qual considera no segundo nível um modelo de alocação de tráfego, como por exemplo SATURN (Simulated and Assignment of Traffic on Road Network Urban), ver Van Vliet (1982), permite transformar o problema para outro de um nível só. O problema ET neste trabalho é formulado como uma DV. Isto caracteriza o modelo como de programação de dois níveis generalizado. O autor faz uma analise dos procedimentos de solução. Neste trabalho não se considera o problema de melhorar o desempenho da rede através do incremento das capacidades dos arcos da rede. Isto marca a diferença com a nossa proposta na tese. Nguyen, (1987): O Trabalho desenvolve um esquema teórico-gráfico para redes de tráfego de grande porte, e provê uma metodologia para resolver o problema ET. São apresentados formulações equivalentes de DV para o problema ET. São discutidos algoritmos (como o que denomina algoritmo de direções viáveis, e outro de algoritmo do hiper-caminho mínimo) para o cálculo dos fluxos de equilíbrio. Não são fornecidos resultados computacionais. Ben-Ayed, et al., (1998): Os autores apresentam uma formulação de dois níveis para o problema PRT. Fazem uma análise para o problema considerando os casos côncavo e convexo da função do líder, e linear a função do seguidor. As restrições no nível inferior são lineares. Para calcular a solução empregam um método de linearização por partes da função objetiva do líder, a qual é aproximada por pequenos segmentos que unem pontos em acordo com a partição do domínio. Não reportam resultados computacionais. 15 Michael et al. , (1999): Este trabalho apresenta um algorítmico para a estimação da matriz de viagem origem/destino, e o controle de sinais de tráfego em redes viarias congestionadas. Ambos dos problemas são formulados como programas de dois níveis, sendo o segundo nível um problema de equilíbrio estocástico do usuário. Nos dois níveis os problemas são de minimização convexa, e as funções de custo de viagem de tipo BPR (Bureau of Public Roads). Exemplos teste são apresentados. Suh, (1999): O autor faz uma formulação de dois níveis para o controle de sinais de tráfego e para a obtenção dos fluxos de equilíbrio. O problema de equilíbrio é formulado como uma DV. A função de mérito no nível superior é não convexa, embora diferenciável, pelo que só pode-se atingir soluções locais. Usa o método de projeção do gradiente para determinar a direção de descida, logo os passos de avanço ótimos são dados nessa direção mantendo viavilidade, o que permite obter pontos que satisfazem as condições de Karush-Kuhn-Tucker os que são identificados como ótimos locais. Ressaltamos que nossa proposta de dois níveis neste trabalho considera no nível superior, o problema de minimizar uma função de custo de viagem e investimentos, podendo ser esta função não convexa e não diferenciável, neste último caso, deve-se aplicar a teoria desenvolvida no capítulo 3 sobre problemas de otimização não diferenciável. Meng et al. , (2000): Os autores caracterizam o problema PRT por um modelo de programação de dois níveis. O nível superior representa o problema de minimizar o custo total do sistema, e o nível inferior é um problema de otimização convexa que consiste em determinar o vetor de fluxo de equilíbrio do usuário (deterministico ou estocástico). A formulação de dois níveis do PRT é transformado para um problema de um nível só, através do uso de uma função marginal do segundo nível, isto é, para o problema de equilíbrio do usuário. Prova-se que esta função marginal é continuamente diferenciável, pelo que a formulação resulta num problema de otimização não convexa, embora diferenciável. O problema é resolvido aplicando um método de Lagrangiano aumentado para o nível superior, localmente convergente. A direção de descida é achada em cada iteração pelo método pratico conhecido como de alocação tudo ou 16 nada. Reportam-se resultados numéricos que são comparados com exemplos já existentes na literatura. Com relação a nosso trabalho, formula-se o problema de equilíbrio como uma DV o que permite considerar a interação de fluxos dos arcos, o que não é possível numa formulação de otimização convexa. 17 CAPÍTULO 3 Alguns resultados da Teoria diferenciável e não diferenciável Neste capítulo são apresentamos algumas definições e resultados necessários da analise diferenciável e não diferenciável, e a relação entre eles. São descritos brevemente alguns métodos de otimização não diferenciável (o método sub-gradiente e o método de linearização). Basicamente, como nos métodos de PNL, apresenta-se a forma como estes métodos geram direções de descida. Na seção 3, se introduze o conceito de função valor que é utilizado para transformar um problema de programação matemática de dois níveis em um problema de programação matemática de um nível só, que resulta um problema não diferenciável. A teoria clássica de otimização teve seus melhores resultados assumindo condições de diferenciabilidade para todas as funções envolvidas. Apesar de que a hipótese de diferenciabilidade não se apresente completamente apropriada para aplicações práticas, devido a que funções que modelam fenômenos da vida real, são, em geral, não continuas e/ou não diferenciáveis nas suas definições. Por exemplo, na definição de preços de um produto, estão condicionados ao volume de venda, o mesmo acontece com as taxas de impostos, etc. A busca de modelos apropriados para representar estas situações reais, levou ao desenvolvimento da análise não diferenciável, a partir dos anos 70. Em problemas de otimização, conseguiram-se resultados importantes quando para as funções envolvidas se consideraram propriedades de convexidade. Por esta razão, a teoria não diferenciável foi desenvolvida primeiro para funções convexas. Uma interpretação geométrica da derivada de uma função qualquer em um ponto, é a possibilidade de alcançar uma linearização local (Ver Figura 1), no sentido que o hiperplano gerado pela derivada da função no ponto, o gradiente é tangente ao gráfico 18 da função nesse ponto, é uma boa aproximação à função numa vizinhança do ponto de tangência. Esta idéia foi generalizada para funções convexas não diferenciáveis definindo o conceito de sub-gradiente e sub-diferencial. Geometricamente, um sub-gradiente num ponto do gráfico de uma função, é um vetor tal que o hiperplano nesse ponto, gerado por esse vetor é uma aproximação à função, isto é, aproxima-se a f nesse ponto (embora essa aproximação possa ser melhorada com o cone tangente como veremos depois). (∇f(x),1) T (∇f(x),-1) x0 x1 x2 x3 -ε x3 x3 + ε Fig. 1 O hiperplano T no ponto (x3 ,f(x3)) é uma aproximação inferior à parte convexa da função f na vizinhança (x3 -∈ , x3 +∈ ). A função f é não convexa para x∈[x0,x2]. Para lidar com funções convexas não diferenciáveis, são necessários alguns conceitos prévios que relacionamos em continuação. 3.1 Conceitos Básicos Definição 3.1 Seja C um sub-conjunto não vazio de R n . 1. C é um conjunto convexo se para quaisquer pontos x e y em C, 19 (1-λ)x+λy ∈C , para todo λ∈[0,1]. 2. C é um cone se λc∈C para qualquer c∈C e qualquer λ ≥ 0 , (1-λ)x+λy ∈C , para todo λ∈[0,1]. Definição 3.2 Uma função f : R n → R se diz convexa, se dados x,y em Rn , cumprese: f(λx +(1-λ)y) ≤ λf(x)+(1-λ)f(y), para todo λ∈[0,1]. Se a desigualdade estrita se cumpre para x≠y e para todo λ∈(0,1), então f se diz estritamente convexa. Uma classe de funções que aparecem em muitas aplicações, caracterizadas por ter uma taxa de variação limitada em vizinhanças de um ponto, denomina-se de funções Lipschitz em torno de um ponto. Definição 3.3 Uma função f : R n → R se diz Lipschitz em torno do ponto x∈Rn, com constante K, se existe ε > 0 tal que f(y)-f(z) ≤ K y-z , ∀ y,z∈B(x;ε), onde B(x;ε) = { y∈R n/ y-x <ε } representa uma vizinhança do ponto x. O teorema seguinte mostra a relação entre uma função convexa sobre R n e sua variação limitada em cada ponto. Teorema 3.4 Seja f: R n → R uma função convexa. Então para qualquer x∈Rn, f é Lipschitz em torno do de x. Prova: Ver Teorema 2.1.2, Makela, (1992). A seguir se define a extensão de derivada de uma função convexa não diferenciável. Definição 3.5 Seja f: R n → R uma função convexa. O sub-diferencial de f num ponto x∈Rn é o conjunto 20 ∂C f(x)={ξ∈Rn / f(y) ≥ f(x) + 〈ξ,y-x〉 , ∀y∈R n}. Cada ξ∈∂C f(x) é chamado um sub-gradiente de f em x, e a notação ∂C f(x) refere-se ao conjunto sub-diferencial de uma função convexa. Em continuação se apresenta a derivada e o relacionamento com o sub-gradiente de uma função convexa. Definição 3.6 Seja f: R n → R. A derivada direcional de f em x , na direção do vetor v∈ R n, é definida como f '( x; v) = lim h↓0 f ( x + h v) − f ( x) , h se este limite existe. Observação 3.7 Um resultado do cálculo diferencial de varias variáveis refere que: quando f é diferenciável em x, a derivada direcional pode-se expressar como f ’(x;v) = ∇ f(x)T v , onde ∇ f(x)∈R n representa o gradiente da função f em x. Teorema 3.8 Seja f: Rn → R convexa. Então, para cada x∈R cumpre-se i) f ’(x;v)=max {〈ξ,v〉 / ξ∈∂C f(x)}, ∀ v∈R n ii) ∂C f(x)={ ξ∈Rn / f ’(x;v) ≥ 〈ξ,v〉 , ∀ v∈R n}, iii) ∂C f(x) é um conjunto não vazio, compacto e convexo tal que ∂C f(x)⊂ B(0;K) , onde K é a constante de Lipschitz de f em x. Prova: Teorema 2.1.5, Makela e Neittaanmaki (1992). 21 Observação 3.9 Quando f é convexa e diferenciável tem-se ∂C f(x)={ ∇ f(x)} e f(y) ≥ f(x) + ∇ f(x)T(y-x) , ∀ y∈Rn A seguinte propriedade mostra como se calcula o valor de uma função convexa em um ponto usando a família de aproximações lineares ao redor de um ponto não diferenciável x. Teorema 3.10 Seja f: R n → R convexa. Então para toda y∈R n, f(y) = max {f(x) + 〈ξ x ,y-x〉 / x∈R n , ξ x∈∂C f(x)} A prova a seguir é alternativa à do Teorema 2.1.7, em Makela e Neittanmaki (1992). Prova: Sejam y, x∈R n e ξ x∈ ∂C f(x), quaisquer. Então f(y) ≥ f(x) + 〈ξ x , y - x 〉 , ⇒ ∀ y∈R n f ( y ) ≥ max { f ( x) + ξ x , y − x }, x ∈ R n qualquer fixo, ξ x ∈∂C f ( x ) então, f ( y ) ≥ max { f ( x) + ξ x , y − x , x ∈ R n } ξ x ∈∂ C f ( x ) (a) Quando em particular x=y , se tem: max { f ( x) + ξ x , y − x , x ∈ R n } ≥ f ( y ) ξ x ∈∂C f ( x ) De (a) e (b) f(y) = max {f(x) + 〈ξ x ,y-x〉 / x∈R n , ξ x∈∂C f(x)}. (b) 22 Definição 3.11 O cone normal do conjunto convexo C, no ponto x ∈ C , onde C denota o fecho de C, é definido como NC (x):={z∈R n/〈 z , x –y 〉 ≥ 0 , ∀ y∈C}. Observação 3.12 Existe o cone normal ainda para pontos que não pertencem ao conjunto convexo C, i.e., quando x ∈ C, NC (x) =φ. Definição 3.13 O cone tangente ao conjunto convexo C, no ponto ponto x ∈C é definido como TC (x):={v∈R n/〈 v , z〉 ≤ 0 , ∀ z∈ NC (x)}. TC (x) e NC (x) são cones convexos. Os elementos de NC (x) e TC (x) são chamados vetores normais e tangentes respectivamente. C TC(x) X NC(x) Fig. 2 Cones tangente e normal ao conjunto C convexo e fechado no ponto x 23 Definição 3.14 O cone tangente (de Clarke) a um conjunto φ ≠G ⊂R n qualquer, no ponto x ∈ G é o conjunto seguinte (ver Figura 3): TG(x):={v∈R n / se t i ↓ 0 e x i → x , x i∈G ⇒ ∃ v i → v , com (x i +t iv i )∈G, ∀ i }. O cone normal a G no ponto x é o conjunto NG(x):={w∈R n / 〈 w , v〉 ≤ 0, ∀ v∈ TG(x)}. TG(x) x NG(x) Fig. 3 Cones tangente e normal ao conjunto G aberto e não convexo no ponto x ∈ G O fato de que para funções Lipschitz não convexas, não necessariamente existam as derivadas direcionais ordinárias, leva-nos a considerar algumas generalizações dos conceitos de derivada direcional e do sub-diferencial de funções convexas. Neste caso o sub-diferencial de f no ponto x, será denotado simplesmente por ∂ f(x). Definição 3.15 (Clarke, 1983). Seja f : R n → R uma função Lipschitz ao redor do ponto x∈R n. A derivada direcional generalizada de f em x, na direção de v∈Rn é definida por 24 f 0 ( x; v) = lim sup y → x; t ↓ 0 f ( y + tv) − f ( y ) , t onde lim sup g ( y ) = inf[sup{g ( y ) / y ∈ B ( x; ε )}]. y→x ε >0 Observação 3.16 Da definição no caso f diferenciável, tem-se f 0 (x,v) ≥ f ’ (x,v) Teorema 3.17 Seja f : R n → R uma função Lipschitz ao redor do ponto x, com constante de Lipschitz K. Então, i) A função v → f 0(x;v) é positivamente homogênea, sub-aditiva sobre R n e f 0(x ;v)≤ Kv ii) f 0(x ;-v) = (-f )0(x ;v) Prova: Ver Proposição 2.1.1, em Clarke (1993) e Makela (1992). Definição 3.18 Seja f : R n → R Lipschitz ao redor do ponto x∈R n. O Sub-diferencial de f no ponto x é o conjunto ∂ f(x):={ξ∈R n/ f o(x;v) ≥ 〈ξ , v〉 , ∀ v∈ R n}. Cada elemento ξ∈∂ f(x) é chamado um sub-gradiente de f em x, ou um gradiente generalizado, pelo que o conjunto ∂ f(x) será também chamado de conjunto gradiente generalizado. O operador ∂ f(.) pode-se considerar uma aplicação ponto - conjunto, n ∂f (.) : R n → 2 R , que associa a cada x ∈ R n um subconjunto de R n . 25 Proposição 3.19 Seja f Lipschitz ao redor do ponto x, com constante de Lipschitz K. Então, 1) ∂ f(x) é um conjunto não vazio, convexo, compacto tal que ∂ f(x)⊂ B(0;K) 2) f o(x;v) = max {〈ξ , v〉 /ξ∈ ∂ f(x)} , ∀ v∈ R n. Prova: Ver Proposição 2.1.2, em Clarke, (1993). Observação 3.20 Quando f é Lipschitz ao redor do ponto x e diferenciável em x, então ∇ f(x) ∈∂ f(x). Com efeito, se ∇ f(x)∉ ∂ f(x) ⇒∃ vo∈R n / f o(x;vo)< 〈∇ f(x);vo〉 ⇒ f o(x;v) < f ‘(x;vo). O que contradiz f o(x;v) ≥ f ’ (x;v), ∀ v∈R n. Teorema 3.21 Se f é continuamente diferenciável em x, então f é localmente Lipschitz em x e ∂ f(x)={∇ f(x)} Prova: Ver Teorema 3.1.7, em Makela, (1992). O seguinte teorema mostra que o sub-diferencial de funções somente Lipschitz ao redor de um ponto é uma generalização do sub-diferencial das funções Lipschitz convexas num ponto. Proposição 3.22 Se a função f :R n → R é convexa e localmente Lipschitz no ponto x. Então, a) f o(x;v) = f ‘ (x;v) , ∀ v∈R n , e b) ∂ f(x) = ∂C f(x) Prova: Ver Proposição 2.2.7, em Clarke, (1983). Definição 3.23 O epigrafo de uma função f :R n → R é o seguinte subconjunto de Rnx R : epi f :={(x,r) ∈ R n x R / r ≥ f(x) }. 26 Proposição 3.24 O epigrafo de uma função convexa f :R n → R é um conjunto fechado de R n x R. O epigrafo da função v → f ’(x;v) é um cone fechado. Prova: Ver Teorema 2.3.7, em Makela, (1992). epi f f Tepi f Hiperplanos de suporte do epi f, no (x,f(x)) ponto (x,f(x)) são da forma f(x) + 〈ξ, y – x)〉, ξ∈∂ f(x) (ξ,-1)∈N epi f Fig. 4 O epigrafo de f e o cone normal a epi f . Note que Tepi f (x,f(x)) pode ser considerado uma aproximação poliedral a epi f no ponto (x,f(x)). Proposição 3.25 Se a função f :R n → R é convexa, então ∂C f(x) = {ξ∈R n / (ξ ,-1)∈N epi f (x,f(x))} Prova: Teorema 2.3.9, Makela e Neittaanmaki (1992). 3.2 Condições de otimalidade Nesta seção apresentam-se condições necessárias para o mínimo local, de um problema de otimização sem restrições. Considera-se que a função a minimizar é 27 Lipschitz ao redor dos pontos de interesse. Para o caso de funções convexas estas condições também são suficientes e o mínimo resulta ser um mínimo global. Teorema 3.26 Seja f :R n → R Lipschitz ao redor do ponto x. Se x é um mínimo local de f , então 0 ∈∂ f(x) , e f o(x;v) ≥ 0, ∀ v∈R n Prova: Ver Teorema 2.3.2, em Clarke, (1983). Proposição 3.27 Se f :R n → R é uma função convexa, então as seguintes condições são equivalentes: 1) A função f atinge sue mínimo global no ponto x, 2) 0 ∈∂C f(x), f ‘(x ;v)≥ 0 , ∀ v∈R n Prova: Ver Teorema 5.1.2, em Makela, (1992). Para um problema de otimização com restrições, tem-se: Proposição 3.28 Se f :R n → R é Lipschitz ao redor do ponto x e atinge seu mínimo local sobre o conjunto G ⊂ R n no ponto x, então 0 ∈∂ f(x) + NG(x). Prova: Ver Teorema 5.1.6, em Makela, (1992). Proposição 3.29 Se f :R n → R é convexa e G ⊂ Rn um conjunto convexo, então as seguintes condições são equivalentes: 1) 0 ∈∂C f(x) + NG(x) 2) f atinge seu mínimo global sobre G no ponto x. Prova: Ver Teorema 5.1.7, Makela (1992). 28 3.3 Linearização de Problemas sem restrições Nesta seção se definem algumas noções de linearização de funções Lipschitz. Estas linearizações permitem uma aproximação local linear por partes à função. Esta aproximação será usada em métodos de otimização para gerar principalmente uma direção de descida para um ubproblema geral: (P): min f(x) , x∈R n Definição 3.30 Seja f :R n → R uma função Lipschitz ao redor de cada ponto x∈Rn, e ξ∈∂f(x) um sub-gradiente arbitrário de f no ponto x. A ξ-linearização de f no ponto x é a função f –ξ (.) :R n → R definida por f –ξ (y) :=f(x) + 〈ξ , y - x〉 , ∀ y∈R n, e a linearização de f em x é a função f =(x;.) :R n → R definida com f =(x ;y) = max { f –ξ (y) / ξ∈∂ f(x)}, ∀ y∈R n. f –ξ1 (y;x1) f –ξ3 (y;x3) f (ξ1,-1) f – ξ2 (y;x2) x1 x2 x3 Fig. 5 Uma função f e uma ξ-linearização em cada um dos pontos x1, x2 , x3 29 epi f f f =(y; x1) x1 x2 Fig. 6 A linearização de f em relação ao ponto x1 . epi f f f =(y; x2) x2 Fig. 7 A linearização de f em relação ao ponto x2 . 30 f =(y;x) epi f x Fig. 8 A linearização de f em relação ao ponto x. Teorema 3.31 Seja f : R n → R Lipschitz ao redor do ponto x. Então, a função de linearização f =(.; x) de f é convexa e 1) f =(x ; x) =f(x) ; 2) f =( y;x) =f(x) + f o(x;y – x) , ∀ y∈R n ; 3) ∂C f =(x ; x) = ∂ f(x). Prova: Ver Teorema 5.2.2, em Makela, (1992). Teorema 3.32 Seja f : R n → R uma função convexa. Então, 1) f(y) = max { f =(y ; x) / x∈R n } , para cada ponto y∈R n; 2) f =( y; x) ≤ f(y) , ∀ y∈R n ; 3) epi f (.) ⊂ epi f =(. ; x). Prova: Ver Teorema 5.2.3 em Makela, (1992). Teorema 3.33 Seja f : R n → R Lipschitz ao redor do ponto x. A direção d∈R n é uma direção de descida para f em x, se qualquer uma das seguintes proposições se verifica, 1) f o(x ; d) < 0 ; 2) 〈ξ , d〉 < 0 , ∀ξ∈ ∂ f(x) ; 31 3) d é uma direção de descida para f =(. ; x) no ponto x. Prova: Ver Teorema 5.2.5, em Makela, (1992). 3.4 Métodos para problemas de Otimização não diferenciável Nesta seção são apresentados dois métodos para calcular a solução de um problema de otimização não diferenciável. Segundo Makela e Neittaanmaki (1992), os métodos para otimização não diferenciável podem ser divididos em duas classes principais: os métodos de sub-gradientes e os métodos de feixes. Para estes métodos, supõe -se que as funções do problema são continuas e Lipschitz ao redor dos pontos considerados, e que pode-se avaliar cada função e conhecer um sub-gradiente arbitrário em cada ponto considerado. É claro que as funções não precisam ser diferenciáveis ou convexas. Primeiro se apresenta uma breve descrição de um método sub-gradiente e de um método de feixes, enfatizando principalmente a forma como são geradas as direções de descida. 3.4.1 Métodos de Sub-gradientes A idéia fundamental do método de sub-gradientes é generalizar o método para problemas diferenciáveis, substituindo, até onde for possível, o gradiente pelo subgradiente. Seja o seguinte problema não diferenciável: (P): minimizar f(x) (3.1) s. a . x∈R n A generalização do método do gradiente conduziria a substituir o gradiente pelo subgradiente. Assim, se ξ k∈∂ f(x k) é um sub-gradiente, então uma direção de descida determinada pelo sub-gradiente seria 32 dk = − ξk . ξk (3.2) Sabe-se que no caso diferenciável, a direção oposta do gradiente é uma direção de descida. Seguidamente os tamanhos do passo de avanço são encontrados minimizando a função objetivo nessa direção, entanto a norma do sub-gradiente vai para zero. Infelizmente, no caso não diferenciável, isto não necessariamente é assim. Por exemplo, a função valor absoluto sobre os reais. Esta função atinge seu mínimo global em zero, que é um ponto de não diferenciabilidade, e tanto no ponto zero como numa vizinhança do zero um sub-gradiente é 1 ou –1, ambos diferentes de 0. Uma outra dificuldade, é que não é aplicável o critério de parada padrão, pois um subgradiente arbitrário não fornece informação para usar o critério de ótimo ∇ f(x)=0. Por outro lado, nem sempre d k=-ξ k , com ξ k∈∂ f(xk) é uma direção de descida para f a partir de x k. Por exemplo, consideremos a função f(x1,x2) = 3x1-2)+x2 - 3, cujas curvas de nível são mostradas na Figura 9. Observamos que a direção oposta do subgradiente ξ=(1,1)∈∂ f (2,6),não é uma direção de descida. X2 ξ =(1,1) 6 -ξ ponto mínimo x* 3 x1 2 Fig. 9 Curvas de nível de f, a direção - ξ não é de descida. Estes fatos, levam a fazer uma escolha prévia do tamanho do passo t k , para evitar a busca linear e facilitar o critério de parada. Assim, dado um ponto inicial x 0, fazemos 33 k=1, e escolhemos o tamanho de passo t k > 0 apropriado, então definimos o próximo ponto como, xk +1 := xk − tk ξk , ξk onde ξ k ∈ ∂f ( xk ). (3.3) A seguinte proposição da uma justificação teórica para uma escolha possível do tamanho do passo. Proposição 3.34 Seja x* uma solução do problema P, (3.1). Supor que x solução. Escolhendo t k , tal que 0 < tk < 2 [ f ( xk ) − f ( x*)] ξk k não é , temos que x k+1 – x* < x k – x* . Prova: Ver Lemaréchal, (1989). Observação 3.35 Para obter convergência da seqüência {x k }, é necessário que o tamanho do passo cumpra: t k ↓ 0 quando k → ∞. Algumas dificuldades podem aparecer. Por exemplo, a redução do tamanho dos passos poderia ser lenta, ou, se S = ∑ ∞k=0 t k é finita, a seqüência {x k} tem um limite x - , mas se min x k – x* > S, então x -∉X* x*∈X*. (onde X* é o conjunto de pontos mínimos de f ). Para garantir convergência global devem cumprir-se as seguintes condições: t k ↓ 0 quando k → +∞ e ∑ ∞k=0 t k = +∞. Ver Makela, (1992), e Shor, (1985) e (1998). 34 3.4.2 Métodos de Feixes Dado o problema P, (3.1), a seguinte hipótese é comum em otimização não diferenciável: em cada ponto x∈R n pode-se avaliar a função f(x) e pelo menos um subgradiente ξ∈∂ f(x) . As seguintes tarefas são características dos métodos de feixes: 1-Os sub-gradientes das iterações passadas podem ser reunidos em um conjunto que chama-se feixes de subgradientes; 2-Desde que as direções fornecidas pelos sub-gradientes não são necessariamente direções de descida, a busca linear é substituída pela realização do que vai-se chamar de um passo serio ou um passo nulo, dependendo da diminuição da função objetivo, segundo a regra a seguir: Seja y k+1 = x k + t k d k , para algum t k >0 , d k é a direção do sub-gradiente dk∈co{ξk} e ξ k+1∈∂ f(yk+1) . Então, se f(yk+1) ≤ f(x k) - δ k , para algum δ k>0, fazemos um passo serio: x k+1 := y k+1 . Em outro caso, fazemos um passo nulo: x k+1 := x k . Em ambos os casos ξ k+1 deve ser adicionado ao pacote de feixes. 3.4.2.1 Método do Plano de Corte Generalizado de Kiwiel. Este método de feixes baseia-se no método clássico de plano de corte. Vamos considerar o método para o caso de funções convexas. A idéia fundamental, é formar uma aproximação linear por partes à função objetiva usando a linearização gerada pelos sub-gradientes. O método permite encontrar uma direção de descida iteração k. Definição 3.36 Seja f : R n → R e ξ∈∂ f(y), i)A linearização de f no ponto y, f –(. ;y ) : R n → R, é definida por d k na 35 f –(x; y) = f(y) + 〈ξ , x-y〉 , x∈R n. ii) O erro de linearização se define como α (x ; y) = f(x) - f –(x; y). Quando f é convexa, α ( y; x) ≥ 0 (ver Figura 10). f f –( x; y) f(x) α (y; x) y x Fig. 10 O erro de linearização α ( y; x) para uma função convexa no ponto x. Observação 3.37 Pelo Teorema 3.28-1, uma função convexa f tem a representação, f(x) = max { f –(y ;x) / ξ∈∂ f(y) , y∈R n} , x∈R n Já que nesta representação, é preciso conhecer os conjuntos sub-diferenciais para cada y∈R n, considera-se somente alguns pontos auxiliares yj∈R n ∂f(y) e os sub- gradientes ξ j∈∂ f(yj ) , para j∈Jk ⊆ {1,2,...,k}, J k≠φ. A seguir definimos uma aproximação linear por partes para a função f na iteração k, como segue 36 f k=(x):= max { f –( x; y) / j∈Jk } , ∀x∈R n, (ver Figura 11). f 3=(x) f y1 y2 y3 Fig.11 A aproximação linear por partes f 3=(x) à função f usando pontos auxiliares Lema 3.38 Para todo ponto x∈R n e j∈Jk temos 1) f k=(x) ≤ f(x), 2) f k=(yj ) = f(yj ), 3) f k=(x) = max{−α ( y j ; xk ) + ξ j , x − xk } + f ( xk ) j∈J k Prova: Ver Lema 2.3.1.1, Makela, (1992). Vamos usar a aproximação linear por partes f k= da função f para gerar uma direção de descida. No caso diferenciável, quando o ponto x k ∈R n não é ótimo, então existe uma direção 0≠d ∈R n tal que f ’(x k;d) < 0. Pelo desenvolvimento de Taylor truncado de primeira ordem, tem-se que f ‘(x k;d) = f(x k + d ) – f(x k). Assim, o objetivo é encontrar uma direção d k∈R n tal que f(x k + d ) < f(x k). O problema de encontrar esta direção d k a partir do ponto x como: k , pode ser formulado 37 min f (xk + d) – f(xk). (3.4) d∈R n Como no ponto (xk + d) as funções f e f k= coincidem, então podemos substituir f(xk + d) por f k=(x k + d). Assim, obtemos o seguinte problema: min f k=(xk + d) – f(xk) (Q): (3.5) d∈R n Pelo Lema 3.38-3, f k=(x) = max{−α ( y j ; xk ) + ξ j , x − xk } + f(x k) , e fazendo x - x k = d, j∈J k f k=(x k + d) = max{−α ( y j ; xk ) + ξ j , d } + f(x k) j∈J k Substituindo no problema Q, obtemos: min f k=(xk + d) – f(xk) = min max {-α kj + 〈ξ j , d 〉 } d∈ R n onde (3.6) d∈Rn j∈Jk -α kj = α (xk ;yj ) definindo v := max {-α kj + 〈ξ j , d 〉 }, j∈Jk transforma-se o problema Q para o problema de plano de corte com um número finito de restrições lineares (PC): minimizar v (3.7) (d,v)∈Rn+1 s. a. -α kj + 〈ξ j , d 〉 ≤ v , ∀ j∈Jk Para assegurar solução única do problema Q, (Makela, 1992), adicionamos um termo de penalidade, (1/2) d 2 à função do problema. Obtém-se minimizar f k=(xk + d) + (1/2) d d∈ R n 2 – f (xk) (3.8) 38 e de modo equivalente, temos o problema minimizar v + (1/2) d 2 (3.9) (d,v)∈Rn+1 s. a. -α kj + 〈ξ j , d 〉 ≤ v , ∀ j∈Jk Por dualidade, este problema equivale a encontrar os multiplicadores λkj para j em Jk que resolvem o problema, ( PD) : 1 min λ 2 s. a . 2 ∑λ j∈J k j ξ j + ∑ λ j α kj j∈J k ∑ λ j = 1, j∈Jk λ j ≥ 0, ∀j∈Jk (3.10) Se os multiplicadores λkj resolvem o problema PD na iteração k, então obtêm-se a direção de busca d k = − ∑ λ kj ξ j . (3.11) j∈J k 3.5 A função valor Nesta seção se introduz o conceito de função valor e algumas de suas propriedades. Estas funções aparecem em problemas de otimização que tem estrutura de problemas de programação de dois níveis (PDN). Um programa matemático de dois níveis é um problema de otimização no qual uma das restrições está definida pelas soluções de um outro problema de otimização. Os problemas que podem ser modelados como um problema de Programação de Dois Níveis (PDN), tem algumas características como: - Apresentam estrutura hierárquica nas tomadas de decisões, por exemplo: decisões gerenciais nas empresas em relação aos departamentos de produção; nos bancos e 39 suas agencias, políticas de juros em relação à clientela; nos sistemas de transporte, na administração em relação aos usuários, etc. - As decisões são feitas em dois níveis, e não necessariamente são concordantes. Quando existe acordo ou comunicação entre os níveis, se diz que se trata de um caso cooperativo de PDN. - Cada nível tem controle somente sobre algumas variáveis, e as decisões do segundo nível são executadas depois e de acordo com as decisões do primeiro nível. O problema matemático que deu origem o PDN foi proposto por H. Stackelberg em 1952, formulado para um modelo econômico (Shimizu et al., 1997). O problema de dois níveis tem a seguinte formulação: (PD N ) m in F ( x , y ) (3 .1 2 ) (x,y ) s .a . G ( x , y ) ≤ 0 , o n d e y r e s o lv e m in f ( x , y ) ( 3 .1 3 ) y s. a . g(x,y) ≤ 0 (x,y)∈AxB onde f, F : R n x R m → R, G : R nx Rm → Rp , g : R n x R m → R q , e A⊂Rn , B⊂R m . Observar que, no problema PDN o problema do nível superior minimiza apenas na variável x. Com freqüência o problema do nível superior chama-se de problema do líder, e o problema do nível inferior, de problema do seguidor. Assim, x é chamada variável (ou parâmetro) de decisão do nível superior, e o y a variável de decisão do nível inferior. A formulação do PDN faz necessário definer os seguintes conjuntos: Conjunto viável do problema do seguidor 40 S(x):= { y∈R n/ g(x,y) ≤ 0, (x,y)∈AxB }. Conjunto de soluções ótimas do seguidor Y(x):= argmin { f(x,y) / y∈S(x)}={ y*∈B / f(x,y*) =min f(x,y) , y∈S(x)}. Conjunto viável do problema de dois níveis (ou conjunto das reações racionais) ψ = {(x,y*) / G(x,y*) ≤ 0, y*∈Y(x)}. O problema PDN pode ser formulado de outra forma, definindo uma função associada ao problema do nível inferior, denominada de função valor (ou função marginal). A função v : R n → R∪{- ∞, +∞} definida por: v( x) = min f ( x, y ) y∈B é conhecida como função valor, e quando S(x)=φ então v(x)= +∞. A função valor, em geral, é não convexa e/ou não diferenciável, ainda que as funções f e g do problema sejam convexas e/ou diferenciáveis. Considerando a definição da função valor, o problema PDN pode agora ser formulado como um problema equivalente de um nível só: (PDN-V): min F(x,y) (3.14) (x,y) s. a . G(x,y) ≤ 0 f(x,y) - v(x) ≤ 0 (3.15) (x,y) ∈ AxB O problema PDN-V em geral, é um problema não convexo e/ou não diferenciável. Para sua solução pode-se aplicar a teoria e métodos de otimização não diferenciável, como por exemplo os descritos na seção anterior, Bard (1999). 41 CAPÍTULO 4 Formulação do Problema de Projeto de Redes de Tráfego Neste capítulo se apresenta a formulação do problema de transporte abordado neste trabalho, chamado de Projeto de Redes de Tráfego (PRT). Como foi exposto no CAPÍTULO 1, o problema de projeto de redes de tráfego a ser considerado é o PRT continuo. Embora, segundo Bell e Iida, (1997) essa classificação não é absoluta, pois o variável continua que representa a capacidade de arco pode ser usado para remover arcos de uma rede. Na tese, se considera a variável de capacidade contínua para permitir pequenas mudanças destas capacidades na rede. 4.1 Preliminares Neste trabalho se considera um sistema de transporte sob a administração de um decisor, que identificaremos como o administrador da rede. Em geral o administrador tem objetivos específicos, os que podem ser dar segurança no transporte, evitar congestionamentos, controlar a poluição do ar, etc. Pode-se resumir estes objetivos afirmando que o interesse do administrador é otimizar investimentos para dotar a rede de um melhor desempenho. Dizemos, usuário da rede a todo aquele que trafega pela rede fazendo uso de diferentes modos de transporte. A seguinte notação será utilizada: fi : fluxo sobre o arco i si : capacidade do arco i f = (fi) m i=1 , vetor de fluxos sobre arcos s =(si) m i=1 , vetor das capacidades dos arcos. 42 Uma função C : RmxRm → Rm , que representa os tempos generalizados (custos) de viagem sobre arcos que assume-se uma aplicação contínua. Se f =( f1 ,...,fm)∈R m é um vetor de fluxo na rede, então o custo total de viagem será definida por: 〈 f ,C(f,s)〉 = f1.C1(f,s) + ...+ fm.Cm(f,s) = ∑ mj=1 fj Cj(f,s), (4.1) Para cada arco i da rede , associa-se também uma função Ii: R → R, que representará uma função de custos de investimentos para o arco i, dependendo da capacidade si sobre o arco. Assume-se esta função crescente em relação à variável si e como em Migdalas (1995), é considerada linear. Logo, define-se uma função real de variável vetorial q: R m → R, com q(s) = ∑ m i=1 Ii (si ). (4.2) O fato de ser definida q desse modo vai dar à função o nome de função separável sobre arcos. A função q representa de um modo geral, o capital investido e os custos de operação sobre a rede. Considerando as notações acima então a função do custo total de viagem na rede pode ser exprimida de forma mais enxuta T(f,s) = ∑ m i=1 [ Ii(si) + fi . Ci(f,s) ] = 〈 f , C(f,s)〉 + q(s) (4.3) 4.1.1 O Problema de Projeto de Redes de Tráfego De modo geral, como acabamos de ver, o administrador (ou planejador) dos transportes tenta minimizar uma função T(f,s), que representa o custo total do sistema (custo de viagem e de investimentos). Esta função depende do fluxo e da capacidade da rede. O fluxo f pode ser obtido sob determinadas hipóteses teóricas e técnicas. 43 No caso em que os usuários escolhem (escolha que pode ser feita sob duas hipóteses de comportamento do usuário: determinístico ou estocástico) suas rotas e modos de viagem no interesse de minimizar seus custos individuais de viagem, o fluxo resultante é chamado fluxo de equilíbrio do usuário. Os custos em rotas (ou arcos) associados a esses fluxos, são chamados de custos de equilíbrio, e são caracterizados pelo fato que nenhum usuário pode melhorar seu custo de viagem escolhendo unilateralmente outra rota (ou modo). Como o fluxo de equilíbrio é conseqüência da escolha da rota e modo de viagem do usuário, não necessariamente corresponde à maneira mais eficiente de usar a rede de transporte, (do ponto de vista do interesse social, que é o de minimizar o custo total do sistema). Por isto, o administrador tenta influenciar as decisões dos usuários através de medidas de controle (por exemplo, impondo limites de velocidade, pedágios, sinais de tráfego, etc.), ou melhorando as rotas (maior capacidade, menor poluição, maior segurança, etc.) e desta forma fazer algumas rotas mais atrativas do que outras. Quando se encontra o custo total mínimo do sistema, o nível de fluxo correspondente é chamado fluxo ótimo do sistema. 4.1.2 O Fluxo de equilíbrio do usuário e o fluxo ótimo do sistema para um modelo de dois níveis do PRT O problema de projeto de redes de tráfego (PRT), formulado como um problema de programação matemática de dois níveis, no primeiro nível minimiza-se a função do custo total do sistema, e no segundo nível resolve-se o problema de equilíbrio do usuário. A solução do problema do segundo nível (problema de equilíbrio do usuário), isto é, o fluxo ótimo do usuário f, não necessariamente minimiza a função do primeiro nível (problema do líder ou administrador). Neste caso, o administrador tentará obter outro fluxo, para o qual apresentará um novo plano reajustando sua variável de decisão, a capacidade s, afetando assim os usuários. No caso que a função do administrador seja minimizada, o processo termina. Caso contrario, o processo continua. É neste processo, que o fluxo de equilíbrio do usuário tende para o fluxo ótimo do sistema. 44 Quando a escolha das rotas e modos de viagem por parte dos usuários é feita baseada somente na percepção, e sob a hipótese do pleno conhecimento das condições das rotas (como por exemplo, qualidade das vias, sinalização, congestionamento, poluição, pedágios, etc.), os usuários tem comportamentos semelhantes em relação a essa escolha. O fluxo resultante é conhecido como fluxo determinístico ótimo do usuário (e o modelo que permite achar esse fluxo, é chamado de problema de equilíbrio determinístico do usuário). Se a informação previa sobre as condições das rotas não é suficiente, cada usuário terá percepções diferentes sobre os tempos generalizados de viagem das rotas. Isto quer dizer que uma mesma rota poderia ter, para diferentes usuários, diferentes tempos generalizados de viagem. O fluxo resultante desta forma é chamado de fluxo estocástico ótimo do usuário (o modelo para determinar esse fluxo é chamado de problema de equilíbrio estocástico do usuário, que se caracteriza por considerar funções de probabilidade na escolha de rota e modo de viagem). Cabe mencionar que o problema de equilíbrio aparece em outros contextos, por exemplo, na Teoria de Jogos, em Economia (Bastos,1999 ) e em Desenho de Estruturas. 4.2 Formulação do problema PRT Quando se faz uma formulação do problema de Projeto de Redes de Tráfego contínuo, se modela, de um lado, o interesse do administrador de minimizar o custo total do sistema; de outro lado, o usuário escolhe rotas O/D levando em consideração a minimização do seu tempo (generalizado) de viagem. Em resumo, o problema de projeto de redes de tráfego, consiste em: determinar um vetor de capacidades s- ≥ 0 e um vetor de fluxo de tráfego f* que resolvem a desigualdade variacional 〈 C(f*,s- ) , f - f*〉 ≥ 0, ∀ f ∈Ω (4.4) tal que o par (f*,s-) minimize a função T definida na relação (4.3). O problema então, se diz que é formulado como problema de programação de dois níveis generalizado. Na literatura, este modelo também é chamado Problema de Programação Matemática com 45 uma Restrição de Equilíbrio, ou Problema de Dois Níveis Generalizado, Morales, (1997), e tem a forma seguinte: (PDNG): minimizar T(f,s) = 〈 f , C(f,s)〉 + q(s) (4.5) f,s≥ 0 s. a . f ∈Ω resolve: 〈 C(f ,s ) , g - f 〉 ≥ 0 , ∀ g∈Ω, (4.6) onde Ω é o conjunto de fluxos viáveis da rede que satisfazem restrições de: de conservação de fluxo, e b) de não negatividade, apresentadas a seguir. Na seguinte formulação das restrições, os índices i, j, k denotarão nós origem ou destinos. Para k∈O e i∈N, temos: a) ∑ j∈Ei f kij - ∑ j∈Ii f kji = ∑ l∈D d il , se i=k∈O - d kl , se i∈D 0 , se i∉O∪D , b) f kij ≥ 0 , ∀ i, j, k , onde O : conjunto de nós origem D : conjunto de nós destinos N: conjunto de nós na rede de transporte Ei= { j / o arco (i,j) sai do nó i } Ii = { j / o arco (j,i) ingressa no nó i } dkl :demanda de viagem O/D entre os nós k∈O e l∈D f kij : fluxo que provêm do nó k∈O e percorre o arco (i,j) N : conjunto de nós na rede de transporte, N⊇O∪D. 46 Observar que, condição (a) relaciona demandas e fluxos sobre arcos do percurso de uma rota que envolve uma origem ou um destino k, além de respeitar a condição de passagem só. A solução do problema de equilíbrio de tráfego (a desigualdade variacional (4.6)) é única, no caso em que fixada uma capacidade s -, a função C resulte estritamente monótona em relação à variável de fluxo f, isto é, se cumpre que, 〈 C(f1,s -) –C (f2 ,s-) , f1 –f2 〉 > 0 , para qualquer par (f1,f2)∈Ω, f1 ≠ f2 , Cabe mencionar que, em geral, a função de custo do sistema, T(f,s) = 〈 f , C(f,s)〉 + q(s) é não convexa. Embora, sob hipóteses restritivas para C, como por exemplo, que as funções componentes Ca para cada arco a, dependam somente do fluxo fa e da capacidade sa do próprio arco (do qual resulta que sua Jacobiana é simétrica), que cada função Ca seja positiva, crescente, continuamente diferenciável e convexa; e que a função q(s) seja convexa, então T resulta também convexa. Neste caso, o problema de achar o ótimo do sistema é um problema de programação convexa. Neste trabalho, para a aplicação do algoritmo de Projeto-Alocação (ver seguinte seção) para resolver o PRT, se considera o caso mais geral, onde a função C tem Jacobiana na simétrica (fato que permite modelar a interação de fluxos em arcos da rede), é estritamente ou fortemente monótona, e a função objetiva T(f,s) do líder é continua, diferenciável, embora não necessariamente convexa. 47 4.3 Metodologia No problema Projeto de Redes de Tráfego contínuo, formulado como um Problema de Dois Níveis Generalizado (4.5)-(4.6), onde a Desigualdade Variacional modela um problema de equilíbrio de tráfego, considera-se para o Equilíbrio de Tráfego (ET), tanto o modelo padrão como o modelo geral. Sabe-se que no caso geral, não é possível uma representação do ET como um problema de otimização convexa, pelo que a formulação do PRT como PDNG é apropriada e inevitável. Na formulação de PRT como um PDNG, dada uma capacidade s, deve-se resolver a DV para achar o fluxo de equilíbrio correspondente. Como assinalado por Marcotte, (1984), a solução da DV sempre foi a parte mais complicada de resolver, e da literatura existente pode-se dizer que ainda hoje a maioria dos modelos de ET evita uma formulação de DV. Na presente tese, para resolver o problema PRT propomos um algoritmo que tem um esquema iterativo denominado de Projeto-Alocação (P-A), e outro de natureza de penalidades. No algoritmo de P-A, fixada uma capacidade na função do líder, o problema de equilíbrio de tráfego (a DV 4.6) é solucionado utilizando um algoritmo que é uma adaptação para o caso do ET, do algoritmo encontrado no trabalho de Arica et al., (1996), e que, para resolver uma DV usa a definição de função gap associada à DV. As seguintes são definições necessárias para o método de solução de um PRT proposto neste trabalho. Dado um vetor s- de capacidades dos arcos, a função gap: R m →R, associada à desigualdade variacional (4.6) é definida como gap s − ( f ) = sup{〈C(f ,s- ) , f - g〉 , g∈Ω }, onde s- é um parâmetro fixo na definição da função gap. Esta função é não negativa e indica uma certa medida do afastamento entre o fluxo atual f e o fluxo de equilíbrio, solução da DV. Aqui, Ω é um conjunto convexo compacto dos possíveis fluxos, então o cálculo do supremo pode ser substituído pelo cálculo do máximo, i.e. 48 gap s − ( f ) = max{〈C(f ,s- ) , f - g〉 , g∈Ω }. (4.7) Observação 4.1 A solução da DV (4.6) no problema PDNG fornecerá características não convexas e não diferenciáveis ao modelo PRT, o que fica evidenciado ao empregar a função gap associada à desigualdade variacional, pois é um caso de função valor, ver seção 3.5, pág. 37. As seguintes propriedades da função gap são estabelecidas em Larsson e Patriksson (1993), e Morales (1996): gap s − ( f ) ≥ 0, ∀ f∈Ω , s-> 0 ; (4.8) gap s − ( f ) =0 se, e somente se, f resolve a DV (4.6) . (4.9) Desde que gap s − ( f ) ≥ 0, um algoritmo que minimize a função gap permitirá achar o zero desta função, isto é, em um processo iterativo achar-se-ia uma aproximação a dito zero. Assim, o algoritmo de Projeto-Alocação de minimização da função gap permitirá resolver a DV, e a solução (vetor de fluxos de equilíbrio), por sua vez, será usada no nível superior para determinar uma aproximação ao vetor ótimo de capacidades. Em Marcotte e Dussault (1989), apresentam-se as funções gap primal e gap dual definidas como: gapP ( x) = max F ( x), x − y , (4.10) e gapD ( x) = max F ( y ), x − y . (4.11) y∈φ y∈φ Pela Propriedade (4.9), tem-se que uma desigualdade variacional (DV) pode ser resolvida pela seguinte sequência de problemas de aproximação, associados à função gap P (x), ver seção (5.4), 49 ( Pk ) : min α ( x ,α ) s.a. F ( x), x − y j ≤ α , j = 1,..., k . Analogamente, associados à função gap dual gapD(x), podem-se utilizar os problemas de aproximação seguintes: ( Pk ) : min α ( x ,α ) s.a. F ( y j ), x − y j ≤ α , j = 1,..., k . Destas duas funções, Arica et al. (1996) utiliza a formulação gap dual para resolver uma desigualdade variacional definida por uma aplicação Ponto- Conjunto. Observação 4.2 Utilizando as idéias de Arica et al. (1996) para resolver uma DV, neste trabalho se resolve o problema de equilíbrio de tráfego formulado como uma DV, fazendo notar que nos problemas Pk cada restrição é não linear. Observação 4.3 No caso que a desigualdade variacional esteja definida por uma aplicação Ponto a Ponto, o método de solução usando as funções gap primal e gap dual garantam convergência global ao ponto de mínimo que é o valor zero, Larsson e Patriksson (1993). 50 CAPÍTULO 5 Algoritmo de Projeto – Alocação e de Penalidade Neste capítulo, apresenta-se a descrição do algoritmo de Projeto – Alocação (P-A) para calcular uma aproximação da solução do modelo de programação de dois níveis generalizado do problema de Projeto de Redes de Tráfego (PRT). Neste modelo, o segundo nível representa um problema de equilíbrio de tráfego (ET), e está modelado por uma desigualdade variacional (DV), o que permite considerar o caso de interação de fluxos de diferentes arcos da rede. Considera-se o caso, como já foi assinalado, de uma matriz Jacobiana da função tempo de viagem generalizado não simétrica, então o problema de ET não tem uma formulação equivalente com um problema de otimização, isto é feito com o intuito de fazer uma modelagem mais geral do problema. Também será apresentado um método (aqui será chamado de método da minimização da função gap) para resolver o problema de ET formulado como uma DV, que é uma adaptação do algoritmo em Arica et al. (1996), para resolver uma DV, e as demonstrações dos teoremas de convergência, existência e unicidade da solução de alguns casos do problema de ET. Cinco exemplos serão apresentados no final do capítulo, os dois primeiros testam o método da minimização da função gap, comparando-o com exemplos da literatura em quanto ao número de iterações que se emprega para encontrar o fluxo de equilíbrio de tráfego. Um terceiro exemplo para o problema ET considera uma função que modela a interação dos fluxos em arcos. Para o problema de PRT, formulado como um problema de dois níveis generalizado o qual é mostrado a seguir, se propõem dois exemplos, e se encontra uma aproximação ao par solução (f,s) do problema, onde f é o vetor de fluxo e s é o vetor das capacidades. Na formulação do problema de ET, no caso sem 51 interação de fluxos entre arcos, a função que define a DV é uma função do tipo BPR (Bureau of Public Roads) que tem a propriedade de ser estritamente monótona, e para o caso com interação de fluxos, a função é fortemente monótona. Lembrar que o problema de Projeto de Redes de Tráfego neste trabalho é formulado como um Programa matemático de Dois Níveis Generalizado (PDNG), e tem a forma seguinte: (PDNG) min T ( f , s ) (5.1) ( f , s )≥0 s.a. f∈Ω resolve: 〈 C(f,s) , g - f 〉 ≥ 0 , ∀ g∈Ω, (5.2) onde T ( f , s ) = f , C ( f , s ) + q ( s) 5.1 Algoritmo Projeto-Alocação (P-A) para o Projeto de Redes de Tráfego Este algoritmo na sua estrutura considera-se formado por duas fases. A fase de equilíbrio (ou do segundo nível) e a fase do líder (ou do primeiro nível). Na fase de equilíbrio, para um vetor de capacidades fixo, o algoritmo de minimização da função gap, encontra uma aproximação ao zero dessa função, o que resulta uma aproximação ao fluxo de equilíbrio do usuário. Na fase do líder, com um fluxo de equilíbrio fixo encontrado na fase de equilíbrio, o algoritmo encontra uma nova capacidade. Uma iteração do algoritmo de P-A consta das duas fases Seja V o valor da função objetivo T(f,s) a ser atingido pelo administrador. Passo (0) - Escolher um vetor s- de capacidades positivas, isto é s- = (s-i) e s-i >0, i = 1,...,m , e um número ε > 0, que é o parâmetro de precisão usado no algoritmo. Passo (1) - Resolver a desigualdade variacional (5.2): Encontrar f∈Ω , tal que 〈C(f ,s- ) , g - f 〉 ≥ 0, ∀ g∈Ω. 52 Seja f* solução da DV (5.2). Passo (2) –Resolver o problema do líder (L): (L): minimizar T(f*,s) = 〈 f* , C(f* ,s)〉 + q(s) (5.3) s≥ 0 Seja s* a solução de (L). Se T(f*,s -) ≤ V, então PARAR. A solução do problema PDNG é (f*,s-) . Em outro caso, fazer s- ← s* e ir ao Passo (1). Observação 5.1 O vetor fixo de capacidades s - representa o plano inicial do administrador. Observação 5.2 A desigualdade variacional no Passo 1, será resolvida pelo método do algoritmo da minimização da função gap, apresentado mais adiante. Observação 5.3 No Passo 2, o valor V da função objetivo do líder, pode ser interpretado como o monto do investimento do qual o administrador dispõe para fazer melhorias na rede de tráfego. No algoritmo, o valor V será usado para compará-lo com os valores de T(f,s) obtidos nas iterações e parar o processo iterativo quando se cumpra que T(f*,s -) ≤ V. A estimação do valor de V a priori pode ser feita considerando um resultado em Marcotte (1984) que detalhamos na observação (5.16) 5.2 Adaptação do algoritmo de minimização do gap, para resolver um problema de equilíbrio de tráfego formulado como uma DV. Lembremos as propriedades (4.8) e (4.9) da função gap mencionadas no Capítulo 4. A relação (4.9) é a seguinte: gap s − ( f *) =0 se, e somente se, f* resolve a DV (4.6). Esta 53 relação permite formular o problema do cálculo da solução da DV como o seguinte problema de minimização equivalente: f * resolve a DV ⇔ min gaps− ( f ) = gaps− ( f *) f ∈Ω Por tanto, a minimização de = 0. (5.4) gaps − ( f ) , f ∈ Ω, fornecerá o fluxo de equilíbrio ótimo f*∈Ω.. O problema de minimização (5.4) se resolve empregando um artifício conhecido no ambiente da programação matemática. Este consiste em utilizar a seguinte variável auxiliar: α = gap s − ( f ) = max { 〈C( f,s-) , f - g 〉, g∈Ω } (5.5) para transformar o problema (5.4) , no seguinte problema equivalente: (P): min α (5.6) ( f ,α )∈R n+1 s. a . o fluxo f ∈Ω satisfaz 〈C( f,s-) , f - g 〉 ≤ α , ∀ g∈Ω. (5.7) O Problema (P) que aparentemente apresenta uma restrição só, é conhecido como de programação semi-infinita, pois tem de ser satisfeita para cada elemento g∈Ω , isto é, possui infinitas restrições. Pode ser resolvido utilizando uma seqüência de problemas aproximados como mostrado em Arica, et al. (1996). Deste modo, o passo (1) do algoritmo P-A, o de resolver a DV consistirá em resolver o problema (P) por aproximações sucessivas. Na seguinte seção apresentamos a seqüência de problemas, que por aproximações sucessivas resolvem o problema (P). 54 5.3 Sequência de problemas aproximados que resolvem o problema (P) Dados (Pk): {g i }ik=1 ∈ Ω, considere o seguinte problema: min α (5.8) ( f ,α )∈ R n+1 s. a . o fluxo f ∈Ω satisfaz 〈C( f,s-) , f – g i 〉 ≤ α , i = 1,2,...,k. (5.9) O problema (Pk) é chamado problema aproximado ao Problema (P). O algoritmo no processo de solução, calculará em cada iteração o valor da função gap no vetor f de fluxo atual, para o qual encontra o vetor g que fornece esse valor. Os pontos gerados por estes problemas além de se aproximar da região viável, também se aproximam do conjunto solução. Por esta razão, o critério de parada é a viabilidade do par solução (f*, α * ) para o problema (P) (Lema 2.1, Arica et al., 1996). 5.4 Passos do Algoritmo da Minimização da função gap Passo (0). Escolher um fluxo viável g 1∈Ω. k:=1. Passo (1). Resolver o problema (Pk): min α (5.10) ( f ,α )∈ R n+1 s. a . o fluxo f ∈Ω satisfaz 〈 C( f,s-) , f – g 1 〉 ≤ α , i = k. Seja (f k, αk ) a solução de Pk . Para f k encontrar o fluxo g k+1∈Ω tal que (5.11) 55 gap s− ( f k ) = max { 〈 C(f k, s -), f k - g〉 } = 〈 C(f k, s -), f k – g k+1 〉 g ∈Ω (5.12) Passo (2) Se gap s − ( f k ) ≤ α k , (5.13) o par (f k, αk) é viável para o problema P. Então PARAR, o par (f k, αk) é solução ótima do problema P. Caso contrario, montar o problema Pk+1 (Pk+1): min α (5.14) ( f ,α )∈ R n+1 s. a . o fluxo f ∈Ω satisfaz 〈C( f,s-) , f – g i 〉 ≤ α , i = 1,2,...,k, k+1, (5.15) Fazer k:=k+1 e voltar ao Passo 1. Observar que: - No Passo (0), é fácil conseguir um fluxo que satisfaça a viabilidade, isto é g 1∈Ω. - Todas as restrições são não lineares, e em cada problema aumentam segundo o valor de k . - No Passo (2), o Critério de Parada significa que tem-se encontrado uma aproximação ao zero da função gap, em conseqüência f k será uma solução de equilíbrio da DV, que neste caso é única. 5.5 Algoritmo de Penalidade para o problema PRT Uma metodologia que é usada para resolver problemas de dois níveis sugere penalizar às restrições de maior complexidade. Incorporando esta técnica aos resultados e propriedades da função gap, (4.8) e (4.9) apresentadas no capítulo 4; chega-se a mostra que o problema de dois níveis generalizado (PDNG) é equivalente ao problema (Pgap) que por sua vez será aproximado pelo problema (Pµ). Assim 56 ( Pgap ) : min T ( f , s ) ( f ,s ) ≥ 0 s.a. gap ( f , s ) = 0. Onde gap ( f , s ) = max C ( g , s ), f − g . g∈Ω Dado µ > 0, o problema (Pgap) pode-se formular como: min T ( f , s ) + µ gap 2 ( f , s ) . ( Pµ ) : ( f ,s ) ≥ 0 Utilizando o Teorema 9.2.2, Capítulo 9, Bazaraa et al. (1979), pode-se assegurar que : Se (f µ ,s µ ) ≥ 0 é tal que T ( f µ , sµ ) = min T ( f , s ) + µ gap 2 ( f , s ) , f ,s ≥ 0 então, dado (f - ,s - ) limite de qualquer subseqüência convergente de {f µ ,s µ }µ≥ 0 , temse que (f - ,s - ) é solução ótima do problema (Pgap) e gap(f - ,s - ) = 0. Por outro lado, dado µ >0, temos que se cumpre a seguinte equivalência: ( Pµ ) : min T ( f , s ) + µ gap 2 ( f , s ) ⇔ ( P1µ ) : min T ( f , s ) + µ α 2 ( f , s ) ≥ 0, α ( f ,s ) ≥ 0 s.a. C ( g , s ), f − g ≤ α , ∀ g ∈ Ω. Para resolver o problema semi infinito (P1µ) considera-se então, que para cada µ fixo e dado {g1 , ... , gk } ∈Ω, se calcula (f µk+1 ,s µk+1 , α µk+1 ) solução de ( P1µ ) k : min T ( f , s ) + µ α 2 ( f , s ) ≥ 0,α s.a. C ( gi , s ), f − gi ≤ α , i = 1,..., k 57 µ µ µ então, T ( f k +1 , sk +1 ) + µ (α k +1 ) ≤ T ( f *, s*) + µ gap ( f *, s*), ∀( f *, s*) ∈ Ω x Ω. . 2 2 A seguinte proposição, estabelece a relação entre (f µ k+1 , s µ k+1 , α µ ) solução de k+1 (P1µ)k , e a solução de (Pµ). Proposição 5.4 (f µ k+1 , s µ k+1 , α Seja (f µk+1 , s µk+1 , α µk+1 ) solução do problema (P1µ)k . Então, se µ k+1 ) é viável para o problema (P1µ) , tem-se que (f µ k+1 , s µ k+1) é solução de (Pµ). Prova Seja (f µk+1 , s µk+1 , α µk+1 ) solução de (P1µ)k . Então, C ( g j , skµ+1 ), f kµ+1 − g j ≤ α kµ+1 , j = 1,..., k . Suponha que (f µk+1 , s µk+1 , α µk+1 ) é viável para o problema (P1µ) , mas não é ótimo para (Pµ). Então, existe um ponto (f*, s*, α*) com f*, s* ≥ 0, tal que i) ii) 〈 C(g,s*), f* - g 〉 ≤ α* , ∀ g∈Ω, e T(f* ,s*) + µ α* 2 < T(f µk+1 ,s µk+1 ) + µ (α µ k+1) 2 Desde que (i) vale para todo g ∈Ω , em particular vale para g i∈Ω , i=1,...,k; i. e. (f* ,s* , α*) é viável para (P1µ)k ; mas, de (ii), temos que existe um ponto viável para (P1µ)k , com valor da função objetivo menor, que é uma contradição. Portanto, fica provada a proposição O Algoritmo de Penalidades Note-se que, se (f µ k+1 , s µ k+1 , α equivalentemente para (P1µ), temos que µ k+1 ) não é viável para o problema (Pµ), 58 gap ( f kµ+1 , skµ+1 ) = max C ( g , skµ+1 ), f kµ+1 − g = C ( g k +1 , skµ+1 ), f kµ+1 − g k +1 > α k +1. g∈Ω Portanto, o ponto (f µ k+1 , s µ k+1 , α µ k+1 ) não é viável para o problema ( P1µ ) k +1 : min T ( f , s ) + µ α 2 ( f , s ) ≥ 0,α s.a. C ( gi , s ), f − gi ≤ α , i = 1,..., k + 1. Destes resultados, podes-se formular o seguinte algoritmo para resolver o problema (P1µ) que é equivalente a (Pµ). Passos do Algoritmo Passo (0): Determinar uma penalidade µ>0 apropriado, ε >0 parâmetro de tolerância e um ponto g 1 ∈Ω . Fazer k:=1. Passo (1): Resolver o problema: ( P1µ ) k : min T ( f , s ) + µ α 2 ( f , s ) ≥ 0,α s.a. C ( gi , s ), f − gi ≤ α , i = 1,..., k . Seja (f µk+1 , s µk+1 , α µk+1 ) solução de (P1µ)k . Passo (2): (TESTE DE PARADA) Se gap(f µk+1 , s µk+1) - α µk+1 ≤ ε , PARAR, o ponto (f µk+1 , s µk+1 , α µk+1 ) é solução do problema (Pµ). Em outro caso, fazer k:=k+1 e ir para o Passo 1. Observar que: - No Passo (0), não é difícil conseguir um fluxo que satisfaça a viabilidade, isto é, g 1∈Ω. - No Passo (1), o problema (Pµ)k é problema diferenciável sendo resolvido por qualquer pacote de programação não linear e será uma aproximação de tipo do problema (P1µ). 59 - No Passo (2), o Critério de Parada significa encontrado uma aproximação ao zero da função gap, em conseqüência f k será uma solução de equilíbrio da DV, que neste caso é única. - Não se menciona no algoritmo as repetições necessárias do mesmo para outros valores do parâmetro µ conducentes a obter as condições do Teorema 9.2.2, Bazaraa et al. (1979). 5.6 Teoremas de Existência e Unicidade da solução do problema de Equilíbrio de Tráfego O algoritmo iterativo de Projeto – Alocação (P-A) pode-se considerar composto de duas fases: a fase de minimização (problema do líder), e a fase de cálculo do fluxo de equilíbrio (problema do usuário). Lembrar que a formulação do PDNG é a seguinte: (PDNG) Min T( f,s) (5.16) f,s ≥ 0 s. a . f ∈ Ω resolve a desigualdade variacional 〈 C( f,s) ,g-f 〉 ≥ 0 , (5.17) ∀ g ∈ Ω. O algoritmo proposto, na fase de equilíbrio, resolve a (DV) (5.17) mediante um algoritmo de tipo planos de corte em Arica et al. (1996), que usa o conceito de função gap associada a DV (foi feito uma adaptação para o caso do problema de ET). Sob a hipótese de monotonia estrita para a função de custos de viagens C : ℜ n xℜ n → ℜ n , ver Dafermos (1980) e também Aastiani e Magnanti (1981) estabeleceram a unicidade da solução da DV. Sob hipóteses de continuidade e não negatividade das componentes da função C, foi mostrada existência da solução por Aashtiani e Magnanti (1981) usando uma formulação como problema de complementaridade não linear (CNL), que é equivalente à DV. Neste trabalho, 60 fornecemos demostrações dos teoremas para o caso de demanda fixa (chamada de demanda não elástica, ver seção 5.5.1). O algoritmo que resolve a DV, procede a encontrar um zero da função gap resolvendo uma sequência de problemas aproximados com um número finito de restrições, porem crescentes, determinados por um esquema de planos de corte. O Teorema 2.3 em Arica et al. (1996) garante a convergência do algoritmo no caso de uma aplicação ponto-conjunto, monótona maximal, convexa e fechada. No caso do problema PDNG , a função C é ponto a ponto, estritamente monótona como função da variável dos fluxos f∈Ω , e continua em relação à variável das capacidades s∈Ω (onde Ω é um conjunto compacto ). Assim, o Teorema 2.3, neste caso, também garante que, para cada s fixa, a sequência de pontos { f k} gerada pelo algoritmo converge a um único ponto limite f* , o qual é solução da DV. Uma demonstração do teorema, para este caso é apresentado mais na frente. O algoritmo P-A na fase do líder, usa como dado o vetor de fluxos f k obtido na iteração k-1 na fase de equilíbrio. Na iteração k o algoritmo acha o vetor das capacidades s k (líder) e o correspondente fluxo f k+1 (equilíbrio). Assim, sendo f k a solução da DV encontrada na (k-1)-éssima iteração, o algoritmo P-A na fase do líder resolve o problema: min T( f k,s) (5.18) s∈Ω Sendo sk a solução do problema (5.18), o algoritmo P-A procede a resolver o problema de equilíbrio para achar o fluxo f problema PDNG. k+1 . Acha-se então, o par viável ( f k+1 , sk) para o O processo iterativo é repetido até encontrar uma aproximação ( f*, s*) do problema PDNG. A seguir apresentamos uma reformulação e prova do teorema 2.3 em (Arica et al., 1996) para o caso de uma aplicação C ponto a ponto, estritamente monótona, que define a DV. 61 Teorema 5.5. Seja Ω⊂R n um conjunto convexo e compacto e C:ΩxΩ → Ω , uma aplicação que define a DV, estritamente monótona. Então, a sequência { f k, α k } gerada pelo algoritmo da minimização da função gap contém uma sub- sequência que converge a uma solução do problema min gap s − ( f ) (5.19) f ∈Ω Prova Dado g1∈Ω , o algoritmo de minimização do gap gera uma sequência da forma {(f k,αk)} tal que gaps− ( f k+1) = C( f k+1, s− ), f k+1 − gk+1 = max C( f k+1, s− ), f k+1 − g , ∀k g∈Ω (5.20) para algum g k+1∈Ω . Sabemos, do Lema 2.1, Arica et al. (1996), que (f k+1, αk+1) é solução do problema (P): min α (5.21) (f,α)∈R n+1 〈C(f,s -), f - g〉 ≤ α , ∀g∈Ω, se gaps− ( f k +1 ) = C( f k +1 , s− ), f k +1 − g k +1 ≤ α k +1 . (5.22) Suponha-se que dada qualquer sub-sequência de { f k, α k }, (5.22) não é satisfeita, i.e., existe ε >0, tal que gaps − ( f j ) > α j + ε > α j , ∀j De Morales (1997), temos que i.e., gaps− ( f k +1 ) + C( f k +1 C ( f k +1 , s − ) ∈ ∂ gaps − ( f k +1 ), , s− ), g − f k +1 ≤ gaps− (g), ∀ g . Então, g=f j , usando (5.20), temos que (5.23) 62 gaps − ( f k +1 ) − C ( f k +1 ), f k +1 − f j ≤ gaps − ( f j ) = C ( f j , s − ), f j − g j , ∀ j = 1,..., k . Então, de (5.23), para j=k+1 , e a desigualdade anterior, cumpre-se que 0<ε< gaps − ( f k +1 ) - αk+1 ≤ 〈 C( f j,s- ), f j- g j〉 +〈 C( f k+1,s -),f k+1- f j〉 - αk+1 ,∀ j=1,...,k, Logo, desde que (f k+1,αk+1) é viável para (Pk) e a desigualdade de Schwartz, temos que ε < 〈 C( f j,s-) , f j- f k+1〉 + 〈 C( f k+1,s -) , f k+1- f j 〉 , ∀ j=1,..., k = 〈 C( f j,s -) - C( f k+1,s -) , f j- f k+1 〉 , ∀ j=1,..., k ≤ C( f j,s -) - C( f k+1,s -) f j- f k+1 , ∀ j=1,..., k Como C(Ω) é compacto, existe K >0 tal que C(f,s -) ≤ K, ∀ f∈Ω. Então, f j- f k ≥ ε / 2K , ∀ j=1,..., k , (5.24) o que contradiz o fato de ser Ω compacto. Portanto, existe uma sub-sequência de {(f k,αk)} convergente a um ponto ( f*,α*) que satisfaz (5.22). 5.6.1 Existência e Unicidade da solução do caso ET A seguir prova-se o teorema de existência e unicidade da solução do problema de equilíbrio do tráfego, sob hipóteses de demanda fixa e interação de fluxos dos arcos. A formulação a considerar para este problema é uma desigualdade variacional e formará uma restrição do problema PRT objetivo central da tese. Alguns resultados prévios que necessitamos serão apresentados a seguir. Observação 5.6 As condições de equilíbrio de Wardrop podem ser representadas por uma DV, Aastiani e Magnanti (1981). Nesse trabalho também formulam-se as condições de equilíbrio de Wardrop como um problema de Complementaridade Não Linear. Observação 5.7 Segundo a Proposição 2.1, em Harker e Pang (1990), tem-se que: Se X é um cone convexo e F : R n → R n uma aplicação. Então, o ponto x*∈X é uma 63 solução do problema de complementaridade não linear F(x*).x* = 0, F(x*) ≥ 0 , se e somente se x* é solução da D. V. F(x*).(x-x*) ≥ 0, ∀x∈X. As condições de equilíbrio de tráfego de Wardrop, a satisfação da demanda e a não negatividade, podem-se formular no seguinte modelo, ver Aashtiani e Magnanti (1981): (E1): (Cp (h) – u i) hp = 0 , Cp (h) – u i ≥ 0 , ∑ hp – d i = 0 , ∀ p∈Pi e i∈I (5.25) ∀ p∈Pi e i∈I (5.26) ∀ p∈Pi e i∈I (5.27) h ≥0 , u ≥0 (5.28) onde: h=(hp) p∈P ∈ R n1 , é o vetor de fluxos em rotas, I : conjunto de pares Origem-Destino (O/D) na rede ( I = n2 , é o número de elementos em I ), Pi é o conjunto de rotas no par i origem-destino; P=∪Pi é o conjunto de rotas na rede, i∈I ( P =n1 ), u = (ui ) i∈ I ∈R n2 , é o vetor de tempos de viagem mínimos generalizados, nos pares O/D i , Cp : R n1+ → R+ , é a função de tempo de viagem generalizado para a rota p, di : é a demanda de viagem para o par O /D i , e se assume constante para cada i∈I. A : conjunto de arcos na rede. A seguir, se considerará que a rede é fortemente conexa, isto é, que para qualquer par de nós, existe pelo menos um arco que une o par. Observação 5.8 Um caso especial do problema de equilíbrio (E1), é o modelo aditivo, que consiste em definir o tempo de viagem na rota p separável por arcos como 64 Cp(h) = ∑ δap C ia(h) , ∀ p∈Pi , i∈I , (5.29) a∈A onde A é o conjunto de arcos da rede, e δap =1 , se o arco a∈p, e δap=0 em outro caso, e C i a :R n1 → R+ , é a função de tempo de viagem generalizado no arco a, no par O/D i. Observação 5.9 A relação 5.25 expressa o fato que no equilíbrio, as rotas com fluxo positivo tem custo de viagem igual ao custo mínimo. A relação 5.26, diz que todos as demais rotas terão custo de viagem maior o igual ao custo mínimo. A relação 5.27 estabelece a satisfação da demanda de viagem no par i O/D através das rotas p∈Pi . Deseja-se expressar as condições (E1) na forma de equações de complementaridade, para o qual fazemos as seguintes notações: Seja x=(h,u)∈Rn , onde n=n1 + n2 , (5.30) f p(x) = Cp(h) – u i , ∀ p∈Pi e i∈I , (5.31) g i(x) = ∑ hp – di , (5.32) ∀ i∈I p∈Pi F(x)=[ f p(x) , g i(x)]p,i ∈Rn , p∈Pi , i∈I , (5.33) Usando a notação acima, podemos expressar o modelo (E1) na forma, (E2): f p(x) hp= 0 , ∀ p∈Pi , i∈I , (5.34) f p(x) ≥ 0 , ∀ p∈Pi , i∈I , (5.35) g i(x) ui = 0 , ∀ i∈I (5.36) g i(x) ≥ 0 , ∀ i∈I (5.37) 65 x≥0 (5.38) Proposição 5.10 Supor que para toda p∈P , Cp : R n1+ → R+ , é uma função positiva. Então, o sistema de equilíbrio (E1) é equivalente ao sistema de complementaridade (E2). Prova. Ver Proposição 4.1, em Aashtiani e Magnanti (1981). Na prova do teorema de existência usaremos uma transformação φ, que permite transformar o sistema de complementaridade não linear (E2) do problema de equilíbrio de tráfego, em um problema de ponto fixo de Brouwer, ver Kosniowski (1992). Seja φ : R n → R n , uma aplicação definida através de suas componentes, como φ j (x) = [x j – F j(x)] + , j=1,...,n , onde [y] + = max {0,y}. (5.39) Então x* é um ponto fixo de φ , isto é, x* é solução do problema de complementaridade: x ≥ 0 , F(x) ≥ 0, xt F(x) = 0 ⇔ x* = φ(x*), Aashtiani e Magnanti (1981). 5.6.1.1 Existência da solução Nas condições acima estabelecidas da formulação do problema ET refere-se o seguinte resultado: Teorema 5.11 Seja Cp : R n1+ → R , uma função continua não negativa para cada rota p∈P. Então o problema de complementaridade não linear (E2) tem uma solução. Prova. 66 Seja Gi : R n1+ → R , a função definida por Gi (h) = ∑ hp , que representa a p∈Pi soma dos fluxos nas rotas p para o par i O/D. Provaremos que o seguinte problema de complementaridade, tem solução: (E3): (Cp (h) – u i) h p = 0 , ∀ p∈Pi e i∈I (5.40) (Gi (h) – d i) u i = 0 , ∀ p∈Pi e i∈I (5.41) Cp (h) – u i ≥ 0 , ∀ p∈Pi e i∈I (5.42) G i (h) – d i ≥ 0 , ∀ p∈Pi e i∈I (5.43) h p ≥ 0 , u i≥ 0 , ∀ p∈Pi e i∈I (5.44) Seja K1 > 0 tal que K1 > max i∈I d i , e supor que K2 ≥ K1 tal que K 2 > max p∈P (5.45) max C p (h) (5.46) 0 ≤ h ≤ K1e onde e=(1,...., 1)∈R n1 . Notar que K1 existe por ser o máximo de constantes di , ∀ i∈I positivas, e K2 existe porque Cp (h) é continua sobre um conjunto compacto. Define-se uma aplicação continua φ : B → B , por φ p(h,u) = min { K1 , [h p + u i - Cp(h)] + } , ∀ p∈Pi , ∀ i∈I , e (5.47) φ i(h,u) = min { K2 , [u i + d i – Gi (h)] + } , ∀ i∈I. (5.48) onde B = { (h,u) / 0 ≤ h ≤ K1e , 0 ≤ u ≤ K2 ê } , e ê =(1,...,1)∈Rn2 Pelo teorema de ponto fixo de Brouwer, ver Kosniowski (1992): Se ψ: S⊂R n →S , é uma aplicação continua em S, onde S é um subconjunto convexo compacto de Rn, então existe um ponto x0 ∈S tal que ψ(x0) = x0 . 67 Assim, tem-se que φ tem um ponto fixo (ĥ,û); isto é, a nossa hipótese a considerar é, ĥ p = φ p(ĥ p , û ) e û i = φ i (ĥ,û) , ∀ p∈Pi , ∀ i∈I . (5.49) Provemos que este ponto fixo (ĥ,û) é solução do problema de complementaridade (E3); para isto mostraremos que para toda p∈Pi e toda i∈I , tem-se ĥ p =[ĥ p + û i – Cp(ĥ)] + , e ûi = [ûi + di – Gi (ĥ)] +. (5.50) Notar que û i < K2 , ∀ i∈I, pois de não ser assim, existiria algum i tal que û i = K2 e como K2 > max max Cp(h) , p∈P 0≤h≤K1e então K2 - Cp(h) > 0 e ĥ p + û i – Cp(ĥ) > ĥ p ĥ p =φ p(ĥ p ,û ) = min { K1 ,[ĥ p + û i – Cp(ĥ)] +} , então ĥ p = K1 , Como ainda K1 > max di e Gi(ĥ) = ∑ ĥ p p∈Pi Gi(ĥ) > ĥ p = K1> d i ⇒ Gi (ĥ) > d i ⇒ [ûi + di –Gi (ĥ)] < ûi. então Sendo que então ûi = φ i (ĥ,û) = min {K2 ,[ûi + di – Gi (ĥ)]+} =ûi + di – Gi (ĥ) , û i =0 , o que contradiz ûi= K2 > 0. ûi = [ûi + di – Gi (ĥ)] + Portanto (5.51) Agora, quando ĥ p = K1 para algum i∈I e p∈Pi , então Gi (ĥ) > d i e ûi=0, como Cp(ĥ) ≥ 0 , então ĥ p + û i – Cp(ĥ) ≤ ĥ p . Logo, para ter obtém-se ĥ p + û i – Cp(ĥ) = φ i (ĥ,û) = ĥ p = K1> 0 , deve ser Cp(ĥ) = 0. Daqui, 68 ĥ p =[ ĥ p + û i – Cp(ĥ)] +. (5.52) Considerando os casos ĥ p > 0 ou ĥ p = 0 , e û i > 0 ou e û i = 0, vemos que o par (ĥ,û) resolve o problema de complementaridade (E3). Portanto, pelo Teorema 1 em Fisk e Boyce (1983), tem-se que x=(ĥ,û) é solução da desigualdade variacional 〈C(x), y-x〉 ≥ 0 , ∀x∈R n . 5.6.1.2 Unicidade da solução As condições de equilíbrio do tráfego, podem ser formuladas como em Aashtiani e Magnanti (1981), do modo seguinte: (∆t C(f) - Λ u) h = 0 (E4): (5.53) ∆t C(f) - Λ u ≥ 0 onde ∆ (5.54) Λh–d=0 (5.55) h≥0, u≥0 (5.56) é a matriz de incidência arco/rota, Λ é a matriz de incidência O-D/rota, f =∆ h é o vetor de fluxos em arcos, d∈Rn2 o vetor fixo de demanda, e C: R A → R A , (5.57) é a função de tempo generalizado de viagem em arcos. Se fazemos, definida por x=(h,u) t. A aplicação F : Rn+ → Rn , F(x) = (∆t C(f) - Λ u , Λ h – d) , resulta não negativa. Assim, o sistema (E4) (5.58) (5.59) é uma versão de um modelo de complementaridade não linear semelhante a (E3). Observação 5.12 Em (5.59), a expressão ∆t C(f) representa o vetor de custos em rota, e Λ h é a soma dos fluxos em rotas para satisfazer a demanda de viagem. 69 Teorema 5.13 Suponha-se que a aplicação C é estritamente monótona em relação à variável do vetor de fluxos em arcos. Então o par (f,u) é solução do problema de complementaridade (E4). Prova. Suponha-se que x1=(h1, u1) e x2=(h2, u2) , x 1 ≠ x 2 , são duas soluções do problema de equilíbrio (E4). De x1 ≥ 0 , x2 ≥ 0 , F(x1) ≥ 0 e F(x2) ≥ 0 obter-se x1 F(x1) - x2 F(x1) - x1 F(x2) + x2 F(x2) = (x1 - x2) (F(x1) - F(x2)) ≤ 0, substituindo x1 , x2 , F(x1) e F(x2) , na desigualdade acima , (h1 - h2 , u 1 - u2) (∆t C(∆ h1) - Λ u 1 - ∆t C(∆ h2) +Λ u 2 , Λ th 1 – d - Λt h 2 + d) = = (h1 - h2) (∆t C(∆ h1) - Λ u 1 - ∆t C(∆ h2) +Λ u 2) + (u 1 - u2) (Λ th 1 – Λt h2 ) ≤ 0 Simplificando, tem-se (∆ h1 - ∆ h 2) t (C(∆ h 1) - C(∆ h 2) ≤ 0 , ou (f 1 – f 2 ) (C(f 1) – C( f 2)) ≤ 0. Como C é estritamente monótona, então (f 1 – f 2 ) (C(f 1) – C( f 2)) = 0., daqui f 1 = f 2 . (5.60) A unicidade do fluxo f implica que o tempo de viagem C a (f) sobre cada arco a também é único, isto é equivalente a que o tempo generalizado de viagem em rota Gp(h) , também é único para cada rota e cada par O/D i. Como d > 0 e ∑ hp = d , então hp > 0, para algum p∈Pi e cada par i O/D . p∈Pi Logo Gp(h) = ui . Obtendo-se, deste modo que o vetor u é único . 70 5.6.2 Propriedade de Monotonia estrita da função do tipo BPR Nesta seção apresenta-se a prova da propriedade de que a aplicação C do tipo BPR, é estritamente monótona. Este fato dará mais uma garantia da unicidade da solução à DV definida sobre um conjunto X que não necessariamente é um cone. Proposição 5.14 Seja X ⊂ Rm um conjunto compacto e convexo. Se F:X → Rm é uma aplicação estritamente monótona. Então, a solução x*∈X da desigualdade variacional 〈 F(x*), x -x*〉 ≥ 0 , ∀ x∈X, é única. Prova. Ver Teorema 1.6 Auslender, (1976). Proposição 5.15 Uma aplicação do tipo BPR da forma C = [Ci (fi , s-i)=τ i(1+ δ( fi /s-i ) β)] mi =1 , definida em Ω⊂ Rm sub-conjunto compacto e convexo, é estritamente monótona em relação à variável f, isto é, verifica 〈 C(f,s - ) – C(h,s - ), ( f – h)〉 > 0, ∀ f ≠ h em Ω, onde s- é o vetor das capacidades. Prova Como C(f,s - ) = (τ1 (1+ δ( f1 /s-1 ) β),. . ., τ m(1+ δ( fm /s-m ) β)), C(h,s - ) = (τ1 (1+ δ( h1 /s-1 ) β),. . ., τ m(1+ δ( hm /s-m ) β)), então 〈C(f,s - ) - C(h,s - ), (f – h)〉 = 〈[ (τ1 (1+ δ( f1 /s-1 ) β), . . ., τ m(1+ δ( fm /s-m ) β)) - (τ1 (1+ δ( h1 /s-1 ) β),. . ., τ m(1+ δ( hm /s-m ) β))], (f1 –h1 ,..., fm –hm)〉 = ∑mi = 1 (δ τ i /s- β i )( f βi – h βi )( f i – h i ). (5.61) 71 Deve-se provar que ( f βi – h βi )( f i – h i )> 0. Desde que ( f βi – h βi )= ( f i – h i ) ( f β -1i + f β -2i h i + ... + f i h β -2i + h β -1i ) De (5.68), 〈 C(f,s - ) – C(h,s - ), ( f – h)〉 = = ∑mi = 1 (δ τ i /s- β i ) ( f β -1i + f β -2i h i + ... + f i h β -2i + h β -1i )( f i – h i )2 e ∑mi = 1 (δ τ i /s- β i ) ( f β -1i + f β -2i h i + ... + f i h β -2i + h β -1i )( f i – h i )2 > 0. Portanto a função C do tipo BPR é estritamente monótona. Em conseqüência, aplicando a proposição 5.14, existe um único ponto de equilíbrio para a DV. 5.7 Exemplos de Problemas de Tráfego A seguir apresentam-se os exemplos. No caso do problema de equilíbrio de tráfego o método para resolvé-lo é o de minimização da função gap. O primeiro exemplo é para um problema de ET onde não há interação dos fluxos de arcos, neste caso o problema de ET é formulado via uma DV, sob as hipóteses de demanda fixa e a função de tempo de viagem do tipo BPR. A comparação do número de iterações é feita em relação ao exemplo que se encontra em Kriseida (1998). Para todos os exemplos, o algoritmo foi rodado usando o aplicativo MATLAB versão 5.1, num micro computador Pentium II- 366 Mb de RAM. 5.7.1 Exemplo 1 A função do tipo BPR neste caso tem a forma C i ( f i,s i) = τ i (1 + δ (f i / s i) β, onde C i ( f i,s i) : é a função de tempo de viagem no arco i , τ i : é o tempo de viagem de fluxo livre ( corresponde a fluxo zero), f i : é o fluxo no arco i ; δ : é uma constante chamada parâmetro da via, e β ∈ Z + . 72 A rede seguinte tem um par O/D, três arcos que conectam o par de O para D. A demanda de O para D é de 10, os tempos de fluxo livre são 10, 20, 25 respectivamente, e o vetor das capacidades s- é fixado em s- = (2, 4, 3). A rede mostra-se na Figura 5.1seguinte: C i (f1, s-1 ) C 2 (f2, s-2 ) Origem O Destino D C 3 (f3, s-3 ) Fig. 5.1 Rede com um só par O/D, três vias que a conectam e as funções de tempo generalizado de viagem. Pelos dados considerados, a função de tempo generalizado é a seguinte: C(f, s- ) = (10(1 + (0.15/16) f14 ), 20(1 + (0.15/256) f24 ), 25(1 + (0.15/81) f34 )), onde se assume δ =0.15, e β=4. O conjunto Ω dos fluxos viáveis é um conjunto convexo e compacto, é o seguinte: Ω = { f∈R3 / f1 + f2 + f3 = 10, (f1, f2 , f3 ) ≥ 0 , f ≠ 0 }. O problema da desigualdade variacional a resolver é: determinar um fluxo f*∈Ω , tal que se cumpra (DV): 10(1 + (0.15/16) f*14 )(g1 –f *1) + 20(1 + (0.15/256) f*24 ) (g2 –f*2) + 25(1 + (0.15/81) f*34 )(g3 –f*3) ≥ 0 , ∀ g∈Ω 73 A função gap associada à DV, é gaps − ( f ) = max{10(1 + g∈Ω 0.15 4 0.15 4 0.15 4 f1 )( f1 − g1 ) + 20(1 + f 2 )( f 2 − g 2 ) + 25(1 + f3 )( f3 − g3 ) 16 256 81 Encontrar o fluxo f* tal que gaps − ( f ) =0, é equivalente a resolver o problema seguinte: (G) min gaps− ( f ) f∈Ω Isto equivale a resolver o problema conhecido como problema semi-infinito min α (P) ( f , α )∈ R 4 s. a . o fluxo f∈Ω satisfaz (10(1+(0.15/16)f14)(f1-g1)+20(1+(0.15/256)f24)(f2 –g2)+ 25(1+(0.15/81)f34)(f3 –g3)) ≤ α , ∀g∈Ω A solução do problema P pode ser aproximada iterativamente, resolvendo problemas de programação Pk não lineares, com k restrições (Pk ) min α ( f ,α )∈ R 4 s. a . o fluxo f∈Ω satisfaz (10(1+(0.15 /16)f14)(f1 -g i1 ) +20(1+(0.15 / 256)f24)(f2 –g i2) +25(1+(0.15 / 81)f34)(f3 –g i3)) ≤ α , i=1,...,k. 5.7.2 Resultados computacionais para o exemplo 1 Escolheu-se um vetor inicial de fluxos f=(2.5, 3. 5, 4.), um valor αo=2, e g1∈Ω , como sendo o fluxo g1 = (1.0, 6.0, 3.0). O valor limite para α próximo de zero, se considerou igual a 10 -3, e se observou que na primeira iteração, esse valor foi atingido. 74 A tabela 1 a seguir, resume os resultados comparativos do método da Minimização da Função Gap (F-Gap), em relação aos métodos Médias Sucessivas (MS), Aproximação Linear (AL), Frank e Wolfe (F-W), em quanto aos fluxos de equilíbrio, tempos generalizados de viagem, e número de iterações obtidos por esses diferentes métodos. Observar a rapidez do método de minimização da função gap (G-Gap). Método Fluxo de equilíbrio Empregado Tempo generalizados No. De de viagem Iterações M-S f*MS =(3.61, 4.65, 1.74) (25.92, 25.48, 25.42) 45 A-L f*AL =(3.59, 4.66, 1.75) (25.57, 25.53, 25.43) 15 F-W f*FW =(3.59, 4.70, 1.71) (25.60, 25.70, 25.40) 5 F-Gap f*FG =(3.58, 4.65, 1.77) (25.40, 25.48, 25.45) 3 Tabela 1 Fluxos de equilíbrio, custos e número de iterações dos diferentes métodos 5.7.3 Exemplo 2 O seguinte exemplo do problema de equilíbrio encontra-se em Dafermos, (1980), considera o caso de interação dos fluxos de arcos. A demanda de viagem é fixa, na origem A é de 210 e em B de 120, a função de tempo de viagem é C(f)=(10f1 +5f4 +1000, 15f2+5f5+950, 20f3+3000, 20f4+2f1+1000, 25f5+f2+1300). A rede tem um par O/D, duas faixas de sentidos opostos e uma de um sentido só, como se mostra na Figura 5.2 75 C4(f4, f1 ) C1(f1, f4 ) C5(f5, f2 ) A B C2(f2, f5 ) C3(f3 ) Fig. 5.2 Rede de tráfego com interação de fluxos em dois vias Neste exemplo a função C(f) tem Jacobiana não simétrica e é fortemente monótona. Os fluxos devem cumprir f1 +f2 +f3 = 210 , e f4 +f5 = 120, fi ≥ 0, i=1,...,5. A tabela 2 fornece os resultados comparativos do método da minimização da função gap em relação ao método de Dafermos, (1980). Método f*1 f*2 f*3 f*4 f*5 DAF Fluxo 120.00 90.00 0.00 70.00 50.00 10 Iter. Custo 2550.00 2550.00 3000.00 2640.00 2640.00 F-Gap Fluxo 119.9999 4 Iter. Custo 2549.9999 90.0000 2550.00 0.0001 70.0000 3000.0002 2639.9998 50.0000 2640.00 Tabela 2 Fluxos, custos e iterações no caso de interação de fluxos. 5.7.4 Exemplo 3 O seguinte exemplo é inédito, pode-se considerar uma extensão do exemplo 2, onde se considera que todas as vias apresentam interação de fluxos em arcos. Neste caso a função de custo de viagem considerada é a seguinte: 76 C(f) =(10f 1 + 5f 4 +1000;15 f 2 + 5 f 5 + 850;20f 3 + 8f 6 + 3000; 20f 4 + 2f 1 + 2000;25f 5 + f 2 + 2300;10f 6 + 5f 3 + 800). A demanda de viagem é d AB = 350 e d BA = 300. A rede se mostra na Figura 5.3. C4(f4, f1 ) C1(f1, f4 ) C5(f5, f2 ) A B C2(f2, f5 ) C6 (f6, f3) C3(f3 ) Fig. 5.3 Rede de tráfego com interação de fluxos nas três vias 5.7.4.1 Iterações Para rodar o programa o fluxo inicial se escolheu como o vetor f = [ 90 180 g1 = [100 80 110 100 150 90 100], o valor de α igual a 2, e 80 90 130] . Para o teste de parada se escolheu uma tolerância de ε = 0.00001 e se comparou com a expressão utilizou a relação αk - gap(f k) ≤ ε . Iteração 1 αk - gap(f k) , isto é se 77 Solução do problema P1 . Primeiro candidato a fluxo de equilíbrio f 1 = [ 90.0 180.0 80.0 110.0 90.0 100.0], α1 = 0.0001. Cálculo do gap (f 1) = max { 〈 C(f 1), f 1 - g〉 , g∈Ω }. Obtêm-se g 2 = [349.9998 0.0001 0.0001 0.0001 0.0001 299.9998]. Avaliação da função gap(f 1) gap(f 1) = 9.8250e+005 Teste de viabilidade. Conferir se gap(f 1) ≤ α1 . No caso, verificar se α1 - gap(f 1) = -9.8250e+005 ≤ ε = 0.00001. CONTINUAR. Iteração 2 Solução do problema P2 que tem uma restrição a mais que P1 . f 2 =[214.2709 114.6906 21.0385 75.4478 14.7348 209.8174], α2 = 0.0001. Cálculo do gap (f 2) = max { 〈 C(f 2), f 2 - g〉 , g∈Ω }. Obtêm-se g 3 = [0.0001 349.9998 0.0001 0.0001 299.9998 0.0001] 2 Avaliação da função gap(f ) gap(f 2) = 3.7266e+005 Teste de viabilidade. Conferir se gap(f 2) ≤ α2 . No caso, verificar se α2 - gap(f 2) = -3.7266e+005 ≤ ε = 0.00001. CONTINUAR. Iteração 3 Solução do problema P3 que tem duas restrições a mais que P1 . f 3 = [216.8460 129.0742 4.0798 53.1005 39.5791 207.3205], α3 = 0.0001. Cálculo do gap (f 3) = max { 〈 C(f 3), f 3 - g〉 , g∈Ω }. Obtêm-se g 4 = [0.0001 349.9998 0.0001 0.0001 0.0001 299.9998]. Avaliação da função gap(f 3) gap(f 3) = 1.5748e+005 Teste de viabilidade. Conferir se gap(f 3) ≤ α3 . 78 No caso, verificar se α3 - gap(f 3) = -1.5748e+005 ≤ ε = 0.00001. CONTINUAR. Iteração 4 Solução do problema P4 que tem três restrições a mais que P1 . f 4 = [ 203.1848 146.8151 0.0001 34.5554 30.4795 234.9651], α4 = 0.0001. Cálculo do gap (f 4) = max { 〈 C(f 4), f 4 - g〉 , g∈Ω }. Obtêm-se g 5 = [0.0001 349.9998 0.0001 299.9998 0.0001 0.0001]. Avaliação da função gap(f 4) gap(f 4) = 1.5652e+004 Teste de viabilidade. Conferir se gap(f 4) ≤ α4 . No caso, verificar se α4 - gap(f 4) = -1.5652e+004 ≤ ε = 0.00001. CONTINUAR. Iteração 5 Solução do problema P5 que tem quatro restrições a mais que P1 . f 5 = [ 202.1644 147.8355 0.0001 37.1862 28.0087 234.8052], α5 = 0.0001 Cálculo do gap (f 5) = max { 〈 C(f 5), f 5 - g〉 , g∈Ω }. Obtêm-se g 6 = [0.0001 349.9998 0.0001 0.0001 0.0001 299.9998]. Avaliação da função gap(f 5) gap(f 5) = 9.0140e-005 Teste de viabilidade. Conferir se gap(f 5) ≤ α5 . No caso, ver se α5 - gap(f 5) = 9.8596e-006 ≤ ε = 0.00001. PARAR, o vetor f 5 é o fluxo de equilíbrio ótimo do usuário. Assim, f * = f 5 = [ 202.1644 147.8355 0.0001 37.1862 28.0087 234.8052]. Os custos unitários de viagens nos arcos são: Custo = 1.0e+003 * [ 3.2076, 3.2076, 4.8784, 3.1481, 3.1481, 3.1481]. 79 A Tabela 3 seguinte resume os resultados obtidos para este exemplo. Os valores iniciais considerados foram: fluxo=(90, 180, 80, 110, 90, 100); α = 2; ε = 0.00001; g 1 = (100, 100, 150, 80, 90, 130). Iter. 1 Fluxos fk g k+1 90 349.9998 180 0.0001 80 0.0001 110 0.0001 90 0.0001 100 2 αk gap (f k ) α k - gap (f k ) 0.0001 982500 982500 0.0001 372660 372660 0.0001 157480 157480 0.0001 15652 15652 299.9998 214.2709 0.0001 114.6906 349.9998 21.385 0.0001 75.4478 0.0001 14.7348 294.9998 3 209.8174 0.0001 216.8460 0.0001 129.742 349.9998 4.0798 0.0001 53.1005 0.0001 39.5791 0.0001 207.3205 299.9998 4 203.1848 0.0001 146.8151 349.9998 0.0001 34.5554 0.0001 299.9998 80 30.4795 0.0001 23.9651 0.0001 Iter. Fluxos fk 5 g k+1 αk gap (f k ) α k - gap (f k ) 202.1644 0.0001 0.0001 0.000009 0.000009 147.8355 349.9998 0.0001 0.0001 37.1862 0.0001 28.0087 0.0001 234.8052 299.9998 Como cumpre-se: 0.000009 < 0.00001 PARAR. Fluxo de equilíbrio f* Custo de 202.1644 Equilíbrio: C 147.8355 3207.6 0.0001 3207.6 37.1862 4878.4 28.0087 3148.1 234.8052 3148.1 3148.1 Tabela 3. Fluxos, custos de equilíbrio e valores da função gap 81 5.7.5 Exemplos para o problema de PRT formulado como um Programa Matemático de Dois Níveis Generalizado (PDNG) Nos exemplos a seguir, na fase de equilíbrio, para a solução do problema de encontrar o fluxo ótimo do usuário (solução da DV) utiliza-se o método da minimização da função gap. Observação 5.16 Seja (f -,s -) solução do problema min T ( f , s ) ( f , s )≥0 (f,s)∈Ω x Ω, e (f*,s*) solução do problema de dois níveis PRT, onde T(f,s) é a função objetivo do administrador e Ω é o conjunto viável dos fluxos e capacidades. Então, se cumpre que T(f -,s -) ≤ T(f*,s*) ≤ T(f(s -),s -), Marcotte, (1984). O resultado acima permite escolher previamente um valor da função objetivo do administrador, o T(f,s), o qual, nos exemplos será usado como critério para obter uma solução do problema PRT, isto é, uma solução que satisfaz tanto aos usuários como ao administrador. No exemplo 4 seguinte, se escolheu o valor V=540, que encontra-se entre os valores inferior (470.3205) e superior (14 195.00) de T(f,s). Assim, quando na iteração k tem-se T(f k,s k) ≤ V, o ponto (f k,s k) será uma solução do problema PRT. Mais detalhes sobre o cálculo dos valores inferior e superior de T(f,s) serão apresentados no exemplo 5. Exemplo 4 A seguir propomos o seguinte exemplo. Este refere-se a um problema de Projeto de Redes de Tráfego (PRT). Nele, considera-se uma rede que tem dois pares O/D: O1-D1; 82 O1-D2, com demandas dO1 D1 = 20 e dO1 D2 = 15 , em veículos por minutos. As variáveis de decisão são o fluxo e a capacidade. A rede mostra-se na Figura 5.4 seguinte: a2 D1 a1 a3 O1 a4 a5 a6 a8 a7 D2 a9 Fig. 5.4 Rede de tráfego com dois pares O/D, cinco rotas e nove arcos. As rotas O/D são: O1-D1; r1: a1 , a2 r2: a1 , a3 , a4 O1-D2; r3: a5 , a6 r4: a6 , a7 , a8 r5 : a7 , a9 . 83 Os tempos de fluxos livre estão dados no vetor ϒ =(10, 12, 18, 8, 15). Para começar a execução do algoritmo de P-A , na fase de equilíbrio, o Líder fixa o vetor das capacidades em rotas como o vetor s0 =[15, 5, 12, 2, 1] , se escolhe α0=2, e g1=[7, 13, 4, 7, 4]. A função C(f,s) de tempos generalizados de viagens em rotas é de tipo BPR, onde o custo sobre cada rota depende apenas do fluxo e da capacidade da própria rota, a função é f 4 C ( f i , s i ) = p i (1 + 0.15 4i ) , e a função que representa custos de investimentos s i i =1,...,5 se definiu como q(s) = s1 + s2 + s3 + s4 + s5 . Aqui, deve-se ter presente que para obter o custo real de investimento, após ter obtido o vetor S, se deve empregar um fator de conversão para a correspondente unidade monetária. Na fase de equilíbrio (solução da desigualdade variacional pelo método da minimização da função gap) considerou-se uma tolerância de ε = 0.01. Primeira iteração do algoritmo de P-A Fase de Equilíbrio. Após quatro iterações encontrou-se o fluxo de equilíbrio ótimo do usuário f 1 * = [16.7382 3.2618 10.2970 3.5161 1.1868 ] , e os custos de viagem no equilíbrio como o vetor Custo=[12.3257 12.3260 19.4638 19.4638 19.4638]. Fase do Líder. Minimização da Função do Líder. Com f 1 * fixo encontra-se o vetor solução das novas capacidades s1 = [16.6374 3.3626 10.7030 3.1076 1.1894]. O valor da função do líder (L) no ponto viável (f 1 *, s0) é LD = 573.4727. Como LD>V . Continuar. 84 Segunda iteração do algoritmo de P-A Com s0 = s1 , repetimos a fase de equilíbrio. Após quatro iterações encontrou-se o fluxo de equilíbrio ótimo do usuário f 2 * = [18.1990 1.8010 8.2310 5.4004 1.3686] , e os custos de viagem no equilíbrio como o vetor Custo=[12.1476 12.1481 18.9444 18.9444 18.9444]. Fase do Líder. Minimização da Função do Líder. Com f 2 * fixo encontra-se o vetor solução das novas capacidades s 2 = [18.1384 1.8616 8.7301 4.8703 1.3996]. O valor da função do líder (L) no ponto viável (f 2 *, s1) é LD = 562.1178. Como LD>V . Continuar. Terceira iteração do algoritmo de P-A Com s0 = s2 , repetimos a fase de equilíbrio. Após quatro iterações encontrou-se o fluxo de equilíbrio ótimo do usuário f 3 * = [ 19.5075 0.4925 5.1175 8.3401 1.5424], e os custos de viagem no equilíbrio como o vetor Custo=[12.0068 12.0088 18.3188 18.3188 18.3188]. Fase do Líder. Minimização da Função do Líder. Com f 3 * fixo encontra-se o vetor solução das novas capacidades s 3 = [19.4896 0.5104 5.6047 7.7665 1.6288]. O valor da função do líder (L) no ponto viável (f 3 *, s2) é LD = 549.9188.Como LD>V . Continuar. Quarta iteração do algoritmo de P-A Com s0 = s3 , repetimos a fase de equilíbrio. Após três iterações encontrou-se o fluxo de equilíbrio ótimo do usuário 85 f 4 * = [19.9990 0.0010 0.0619 13.1902 1.7479], e os custos de viagem no equilíbrio como o vetor Custo=[11.6631 12.0000 18.0000 17.9836 17.9836]. Fase do Líder. Minimização da Função do Líder. Com f 4 * fixo encontra-se o vetor solução das novas capacidades s 4 = [19.9990 0.0010 0.07507 12.3878 1.8614]. 4 O valor da função do líder (L) no ponto viável (f , s3) é LD = 538.0164. Como LD < V, este é um valor que satisfaz o interesse do administrador, em conseqüência a solução correspondente do problema projeto de redes de tráfego (PRT) é o par (f *,s *) = (f 4 *, s4). A seguir, pela formula (fluxo em arcos) = (matriz arco/rota)x(fluxo em rota), obtêm-se o vetor de fluxos de equilíbrio em arcos, seguinte: u*=[20.0000, 19.9957, 0.0043, 0.0043, 0.0011, 8.7868, 14.9989, 8.7857, 6.2132]. Observação 5.17 Nas iterações, para cada vetor de capacidade s fixo, o algoritmo encontra rapidamente o fluxo de equilíbrio f, e fornece os custos de viagens correspondentes. Os resultados são apresentados na Tabela 4. Dados iniciais: capacidade s o = (15, 5, 12, 2, 1); αo = 2; ε = 0.01 ; g1=(7, 13, 4, 7, 4); escolheu-se o valor comparativo V = 540. A função de tempo de viagem foi de tipo BPR. Iter. Equilíbrio fk 1 Custos C(k) Líder (capac.) sk 16.7382 12.3257 16.6374 3.2618 12.3260 3.3626 10.2970 19.4638 10.7030 3.5161 19.4638 3.1076 T(f k , sk-1) 573.4727 86 1.1868 Iter. Equilíbrio fk 2 3 4 19.4638 Custos C(k) 1.1894 Líder (capac.) sk 18.1990 12.1476 18.1384 1.8010 12.1481 1.8616 8.2310 18.9444 8.7301 5.4004 18.9444 4.8703 1.3686 18.9444 1.3996 19.5075 12.0068 19.4896 0.4925 12.0068 0.5104 5.1175 18.3188 5.6047 8.3401 18.3168 7.7665 1.5424 18.3168 1.6288 19.9990 11.9661 0.0010 12.0000 0.0010 0.0619 18.0000 0.0750 13.0902 18.0000 12.3878 1.7479 18.0000 1.8614 19.999 T(f k , sk-1) 562.1178 549.9188 538.0164 Como cumpre-se: 538.0164 < V. PARAR. Fluxo de equilíbrio Custos de equilíbrio f* Custos Capacidades Valor ótimo do Ótimas: s* Administrador T(f*, s*) 19.9990 11.9661 19.999 87 0.0010 12.0000 0.0010 0.0619 18.0000 0.0750 13.0902 18.0000 12.3878 1.7479 18.0000 1.8614 538.0164 Tabela 4. Solução do problema PRT com função de custo de tipo BPR Exemplo 5 Lembrar que da Observação 5.15, no ponto solução (f*,s*) do problema PRT se cumpre T(f -,s -) ≤ T(f*,s*) ≤ T(f(s -),s -). No cálculo do valor inferior, obteve-se como resultado o vetor de fluxo f - =(0.0236, 73.0288, 6.9476, 49.9990, 0.0010) e o vetor de capacidades s -=(1.0592, 75.6909, 5.2499, 51.8377, 0.1623), correspondendo o valor T(f -,s -)=5 319.90. No cálculo do valor superior, considerou-se a capacidade s – achada e resolveu-se o problema de equilíbrio para encontrar o fluxo f(s -) associado. Obtevese f(s -) = (2.6356, 66,8446, 10.5198, 49.6681, 0.3319), o valor correspondente foi T(f(s -),s -)=21 157. Portanto, escolheu-se V=8000. Em geral, é possível que o valor T(f*, s*) seja igual ao valor superior T(f -,s -). Por isto, para fazer com que o critério de parada T(f k,s k) ≤ V na iteração k seja cumprida, pode-se escolher o valor de V igual ou suficientemente próximo do valor superior. Neste exemplo que propomos, as demandas de viagem são d AB =80 e d AB =50, e se considera a seguinte função de custo generalizado de viagem, a qual tem Jacobiana não simétrica: C = [ p 1(1 + f12 s 12 +2 f 42 s 42 ), p 2 (1 + 3 p 4 (1 + 3 f 42 s 42 +5 f 22 s 22 f 12 s 12 + f 52 s 52 ), p 3 (1 + ), p 5 (1 + 4 f 52 s 52 f 32 s 32 + ), f 22 s 22 )]. 88 A rede para o exemplo é a seguinte: via 1 C4 via 2 C1 A C5 B C2 via 3 C3 Fig. 5.5 Par origem-destino conectados por três vias, duas das quais são de mão dupla Como se pode observar, a função de custo generalizado de viagem expressa o fato da rede ter duas vias de mão dupla, pelo que a interação dos fluxos nessas vias deve ser modelado através das funções de custo de viagem tanto da origem A em direção ao destino B como de B para A. Por exemplo, na via 1, o custo de viagem expressa a interação dos fluxos 1 e 4, e na via 2 se expressa a interação dos fluxos 2 e 5. Neste exemplo, como no caso do exemplo 4, se escolheu V=8000 como o valor da função objetivo do líder que satisfaz o interesse do administrador. 89 Os tempos de fluxo livre estão dados no vetor τ = (10, 12, 18, 8, 15), a capacidade inicial s0 = (23, 38, 19, 14, 36), g 1= (27, 38, 15, 20, 30), e α0 = 2. A função dos custos de investimentos é I(s)= s1 + s2 + s3 + s4 + s5 , e na fase de equilíbrio a tolerância é de ε = 0.01. Primeira iteração Fase de Equilíbrio. Após seis iterações o fluxo de equilíbrio ótimo do usuário 1 encontrado é f * = [17.7199 35.8292 26.4509 19.0292 30.9708], e os custos de viagem em rotas o vetor Custo=[52.8857 52.8857 52.8857 76.0826 72.7421]. Fase do Líder. Minimização da função do administrador. Com f 1* fixo encontra-se o vetor solução das novas capacidades, o qual resulta o vetor s 1 =[20.2120 39.1437 20.6443 25.5238 24.4762], e o valor da função do administrador avaliado no ponto viável (f 1*, s0) é lid=T(f 1*, s0) = 8061.5 > V. Continuar. Segunda iteração Fase de Equilíbrio. Com s0 = s 1 fixo repetimos a fase de equilíbrio. Após cinco iterações o fluxo de equilíbrio ótimo do usuário encontrado é f 2* = [30.3654 24.5717 25.0630 19.7374 30.2626], e os custos de viagem em rotas o vetor Custo=[44.5300 44.5301 44.5300 112.6330 112.6330]. Fase do Líder. Minimização da função do administrador. Com f 2* fixo encontra-se o vetor solução das novas capacidades, o qual resulta o vetor s2 =[21.1381 22.3068 36.5551 41.6680 8.3320], e o valor da função do administrador avaliado no ponto viável (f 2*, s1) é lid=T(f 2*, s1) = 9324.1 > V. Continuar. Terceira iteração 90 Fase de Equilíbrio. Com s0 = s 2 fixo repetimos a fase de equilíbrio. Após cinco iterações o fluxo de equilíbrio ótimo do usuário encontrado é: f 3* = [22.2014 16.0707 41.7279 42.1068 7.8932], e os custos de viagem em rotas o vetor Custo=[41.4547 41.4548 41.4547 76.6334 76.6334]. Fase do Líder. Minimização da função do administrador. Com f 2* fixo encontra-se o vetor solução das novas capacidades, o qual resulta o vetor S3 =[27.2898 22.2405 30.4697 39.4328 3 10.5672], e o valor da função do 2 administrador avaliado no ponto viável (f *, s ) é lid=T(f 3*, s2) = 7280. Como se cumpre T(f 3*, s2) = 7280 < 8000, o par (f 3*, s2) é uma solução do problema PRT. Os resultados apresentam-se na Tabela 5, seguinte: Dados iniciais: so = (23, 38, 19, 14, 36); αo = 2 ; ε = 0.01 ; g1=(27, 38, 15, 20, 30), e o valor comparativo V=8000. A função de custo de viagem é não simétrica. Iter. Equilíbrio f k Custos Líder Valor da função C(k) (capacidade) Administrador: k s 1 2 3 17.7199 52.8857 20.2120 35.8292 52.8857 39.1437 26.4509 52.8857 20.6443 19.0292 76.0826 25.5238 30.9708 72.7421 24.4762 30.3654 44.5300 21.1381 24.5717 44.5301 22.3068 25.0630 44.5300 36.5551 19.7374 112.6330 41.6680 30.2626 112.6330 8.3320 22.2014 41.4547 27.2898 16.0707 41.4548 22.24.2405 T(f k, s k -1) 8061.5 9324.1 7280 91 41.7279 41.4547 30.4697 42.1068 76.6334 39.4328 7.8932 76.6334 10.5672 Custo de Capacidades Valor ótimo do equilíbrio ótimas administrador 7280 < V. Parar Fluxo f* Tabela 5. Solução do problema Projeto de Redes de Tráfego (PRT) com função de custo de viagem não simétrico (uso da função gap primal) Observação 5.18 Nas iterações, para cada vetor de capacidade s fixo, o algoritmo encontra rapidamente o fluxo de equilíbrio f, e os custos de viagens correspondentes são obtidos. Por outro lado, se observa que os vetores s das capacidades, tem um comportamento mais irregular, o qual foi notado quando se tento utilizar como critério de parada do algoritmo P-A na fase do líder, a proximidade destes vetores. Exemplo 6 Neste exemplo, para encontrar fluxos e capacidades ótimas, e os custos de equilíbrio usa-se o método de penalidades. Considera-se uma rede com interação de fluxos em vias de mão dupla. As demandas de viagem são dAB =80 e dB A=50, o parâmetro de penalidade µ = 200, o vetor de tempos de fluxo livre p=[16, 25, 18, 8, 11], o parâmetro de tolerância ε = 0.0015, e a função de custos generalizados de viagem seguinte: C = [ p 1(1 + f12 s 12 + f 42 s 42 ), p 2 (1 + 4 p 4 (1 + 3 f 42 s 42 f 22 s 22 +5 + f 12 s 12 f 52 s 52 ), p 3 (1 + ), p 5 (1 + 4 f 52 s 52 f 32 s 32 + ), f 22 s 22 )]. 92 Após cinco iterações obteve-se os seguintes resultados: Custos de Equilíbrio: 19.1527 26.1801 19.1527 12.7300 12.7300 Fluxos de equilíbrio: 0.001 0.001 79.998 49.9989 0.0011 Capacidades ótimas: 0.1295 0.0187 316.1180 112.6532 0.0056 Valor da função objetivo do Líder: T=2 597.7 Estes valores foram atingidos com o valor da função gap de: gap=0.0006022, e o valor de: α = 0.0018. A Tabela 6 apresenta os resultados do exemplo 6. Valores iniciais: g 1 = (27, 38, 15, 20, 30); µ = 200; ε = 0.0015 ; α o = 2. C(k) T(f k, s k) αk g( f k ,s k) Difer. 1 79.91221 17.5608 3522.6 2x10-6 0.4516 0.4516 0.0010 25.3207 0.0869 18.9219 0.9603 11.8976 49.0397 11.5487 2509.1 1x10-8 195.1054 195.1054 k ( f k , s k) 256.2207 0.1026 0.3841 57.8796 439.5631 2 0.0010 17.212 0.0010 36.9894 79.9980 19.651 49.9990 9.8187 0.0010 26.6641 93 0.1587 0.0047 264.1484 181.7087 0.0017 3 0.0010 17.2115 0.0010 28.5163 79.9980 19.6509 49.9990 9.8175 0.0010 13.7205 2509.2 3x10-7 195.1448 195.1448 0.3372 0.0059 264.1492 181.7094 0.0043 k ( f k , s k) C(k) T(f k, s k) αk g( f k ,s k) Difer. 4 0.0010 19.1527 2597.7 0.0018 0.0033 0.0014 0.0010 26.1462 79.9974 19.1527 49.9990 12.7300 0.0010 12.7300 0.1294 0.0322 316.1200 112.6500 0.0051 94 5 0.0010 19.1527 0.0010 26.1801 79.9980 19.1527 49.9980 12.7300 0.0011 12.7300 2597.7 0.0018 0.0006 0.0012 0.1295 0.0187 316.1180 112.6532 0.0056 (f * ,s*) c* T(f*,s*) Tabela 6. Solução do problema PRT pelo algoritmo de Penalidades (gap dual) CAPÍTULO 6 Conclusões O problema de projeto de redes de tráfego (PRT) contínuo considerado na tese é reconhecido como um dos problemas mais difíceis segundo Meng et al., (2000), e constitui um desafio para os profissionais da engenharia de transporte. A principal 95 dificuldade decorre da formulação utilizada como um modelo de programação de dois níveis, considerado por sua complexidade computacional um problema NP-difícil. Este modelo é em geral, um problema de programação não convexo e não diferenciável por esta a razão, somente se garante soluções locais sob hipóteses de continuidade diferenciabilidade das funções envolvidas. Na tese, se formulou o problema PRT como um problema de programação matemática de dois níveis generalizado. Este modelo adotado para o problema PRT considerou-se uma boa opção para descrever tanto a característica hierárquica do problema quanto uma representação mais geral do fenômeno de equilíbrio de tráfego. Assim tem-se, no segundo nível uma desigualdade variacional (DV) modelando o problema de equilíbrio ótimo do usuário (caráter determinístico) e no primeiro nível representando os interesses do administrador da rede. Para resolver a (DV) foi adaptado um algoritmo baseado na técnica de planos de corte, (Arica et al., 1996 e 1997) para o caso do problema de equilíbrio de tráfego. Esta técnica se usa com conceito de função gap dual associada à desigualdade variacional. A função gap estende o conhecido conceito da Programação Linear que fornece a diferencia entre o valor ótimo e o valor aproximado de um problema de PL. A função gap dual (gap primal) se define como a função valor de uma família de problemas de programação linear (não linear) com restrições. Associada à DV considerou-se uma aplicação de custo generalizado de viagem estritamente monótona (ou fortemente monótona) inspirado na função de tipo BPR. Com esta hipótese foi possível obter em cada iteração soluções únicas da DV (os fluxos ótimos do usuário). Baseados na informação do fluxo ótimo, um dos algoritmos desenvolvidos chamado de Projeto-Alocação, simplifica a tomada de decisão do administrador, pois apenas terá de minimizar sua função de custos com uma única variável de decisão, o vetor de capacidade, deixando fixo o vetor dos fluxos. Os resultados numéricos obtidos de fluxos de equilíbrio nos diferentes testes realizados, para resolver a (DV), mostraram-se coerentes em relação ao Principio de Equilíbrio de Wardrop, isto é, que no estado de equilíbrio de tráfego, as rotas mais caras não levam fluxo. 96 Formulou-se e Implementou-se em Matlab, sem dificuldades, dois algoritmos que aproximam soluções ao problema PRT: o algoritmo de Projeto-Alocação e um algoritmo de Penalidade. Para o primeiro algoritmo é necessário estimar o valor da função objetivo do administrador (isto é, a quantidade orçamental para investir na melhoria da rede), que é usado como referência no teste no parada. Este valor encontra-se garantido, pois sempre será possível achar um limite inferior e um limite superior do valor da função objetivo, dependente das restrições do modelo, Marcotte (1981). Nos exemplos testados tanto para o problema de equilíbrio, como para o problema de Projeto de Redes de Tráfego, foram consideradas funções de custo de viagem generalizado, que modelam o caso de uma rede com interação de fluxos, isto é, uma situação onde a rede tem vias de mão dupla que é um caso real comum nas redes urbanas. No algoritmo de Penalidades, para resolver o problema PRT utilizou-se a função gap dual. Neste algoritmo, não se fixa nenhum das variáveis (fluxo e capacidade) no processo de solução, e como o algoritmo de Projeto-Alocação, tem natureza de planos de corte. Ambos dos algoritmos mostraram-se rápidos em atingir as soluções. Em quanto à complexidade, o problema de Projeto de Redes de Tráfego pertença ao tipo de problemas classificados como de NP - difícil. Outra das dificuldades em um problema PRT, vem de considerar no equilíbrio uma aplicação que representa o custo generalizado de viagem para modelar a interação de fluxos, sendo que a função objetiva do administrador, em geral é não convexa. Embora, o método do algoritmo de P-A apresentado na tese é uma opção para se aproximar a uma solução do problema, ainda nos casos assinalados, como foi mostrado nos exemplos. No problema de Projeto de Redes de Tráfego, a abordagem de Dois Níveis Generalizado para o PRT feita na tese, permite considerar o caso geral para o problema de equilíbrio de tráfego, fornecendo uma solução que é de interesse tanto do 97 administrador como dos usuários. Neste contexto, a Tese aporta uma contribuição para a abordagem destes problemas envolvendo situações bem próximas da vida real. Propostas de Pesquisas Futuras Como já foi assinalado, são muitos os problemas de transporte que no momento preocupam aos pesquisadores na área do transporte. Estes problemas são complexos na sua formulação e na abordagem da solução, alguns deles propomos como pesquisas futuras ou continuação do presente trabalho. Problema de Projeto de Redes de Tráfego contínuo estocástico, onde o problema de equilíbrio considera no modelo uma função de probabilidade para a escolha de rota e/ou modo de viagem. Problema de Projeto de Redes de Tráfego discreto determinístico, onde o problema do administrador considera a possibilidade de adicionar novas vias na rede. Problema de Projeto de Redes de Tráfego com demanda elástica e efeitos de congestionamento. Neste caso a função de custo generalizado de viagem terá Jacobiana não simétrica e a função de demanda dependerá do custo mínimo de viagem entre cada par origem-destino. Algumas das propostas de trabalho acima assinalados, podem-se formular como programas Matemáticos de Dois Níveis Generalizado. Isto permitiria, como no caso do trabalho pesquisado, modelar fatos mais em concordância com a realidade. 98 Referências Aashtiani H.Z. Magnanti, T., (1981). “Equilibria on a Congested Transportation Network”, SIAM J. Algebraic Discrete Methods 2, 213-226. 99 Arica J., Morales G., Scheimberg S., (1996) “A Cutting Plane Algorithm to solve the Generalized Variational Inequality Ploblem for convex constrain set”, No. 12/ 96, LCENG/ CCT / UENF Arica J., Morales, G., Scheimberg S., (1997) “Desigualdades Variacionais Generalizadas. Um Algoritmo de Planos de Corte”, XX CNMAC da Sociedade Brasileira de Matemática Aplicada e Computacional, Gramado, 1997. Asmuth R.L., (1978) “Traffic Network Equiluibria”, Ph.D. Thesis, Stanford University. Auslender A., (1976) Optimisation: Méthodes Numériques, MASSON S.A. 120 Bd Saint-Germain, Paris-6 Bard J. F., (1999) “Practical Bilevel Optimization: Algorithms and Applications”. Kluwer Academic Publishers. Bastos C. A., (1999), “Equilíbrio Geral Calculável: Um Algoritmo de Planos de Corte para uma Formulação Variacional”, Tese de Mestrado, LEPROD/Universidade Estadual do Norte Fluminense –RJ. Bazaraa M.S., Sherali H.D., Shetly C.M., (1979), “Nonlinear Programming: Theory and Algorithms”, John Wiley & Sons, Inc. , New York. Beckmann, M.J., Mc Guire C.B., e Winsten C.B., (1956) “Studies in the Economics of Transportation”, Yale University Press, New Haven. Bell M.G. e Iida Y., (1997), Transportation Network Analysis , John Willey & Sons, New York. Bem-Ayed O., Boyce D. e Blair C., (1998), “A General Bilevel Linear Programming Formulation of the Network Design Problem”, Transportation Research. B Vol. 22B, No. 4, pp. 311-318. 100 Chen M. E Alfa A.S., (1991), “A Network Design Algorithm using a Stochastic Incremental Traffic Assignment Approach”, Transportation Science 25, pp 215 – 224. Claude B. , (1994), “Topological Spaces”. Dover Publications, INC. Mineola, New York Clarke F. H., (1983), “Optimization and Nonsmooth Analysis”. John Wiley & Sons, New York. Chiou S.-W., (1999), “Optimization of Area Traffic Control for Equilibrium Network Flows”. Transportation Science. Vol. 33, No .3. Codina, E. e Barcelos, J., (1995), “A System Optimal Traffic Assignment Model wifh Distributed Parameters”. Departamento d’Estadística i Investigació Operativa. Universidad Politécnica de Catalunya, Spain. Dafermos S. C., (1980) “Traffic Equilibrium and Variational Inequalities”, Transportation Science, 14, 42-54. Dantzig G. B. Wolfe D. (1961) “The Descomposition Algorithm for Linear Programs”, Econometric, 29(4) pp. 767-778. De Cea, J., Fernandez E., (1993), “Transit Assignment for Congested Public Transport Systems: An Equilibrium Model”, Transportation Science, Vol. 27, No 2. Fisk C., Boyce D., (1983), “Alternative Variational Inequality Formulations of the Equilibrium Travel-choice Problem”, Transportation Science 17, 454-463. Fisk, C., (1987), “On Combining Maximum Entropy Trip Matrix Estimation with User Optimal Assignment”, Transportation Reserch, B Vol. 22B, No 1. pp. 69-79. Florian, M. (1999), Untangling Traffic Congestion, ORMS. 101 Florian, M., Spiess, H., (1982) “The Convergence of Diagonalization Algorithms for Network Equilibrium Problems”, Transportation Research, B 16B, 447 – 483. Harker P. T., Pang J. S., (1990) ”Finite Dimensional Inequality and Nonlinear Complementarity Problems: A survey Of Theory, Algorithms and Applications”, Mathematical Programming 48, pp. 161-220. North-Holland. Jehiel P., (1993) “Equilibrium on a Traffic Corritor with Several Congested Modes”, Transportation Science, Vol. 27, No 1. Kosniowski A., (1992) “Topologia Algebraica”, Editorial Reverté, S. A. Kriseida C., (1998) “Gerenciamento Dinâmico de Tráfego por Indução dos Fluxos de Equilíbrio no caso da ocorrência de um Incidente”, Tese M.Sc. UFRJ- COPPE. Larsson T., Patriksson M., (1994) “A class of gap function for variational inequalities”, Matematical Programming 64, pp. 53-79. Lemaréchal, C. e Hiriart-Urruty J.B. (1993), “Convex Analysis and Minimization Algorithms II. Advanced Theory and Bundle Methods”, Springer Verlag Berlin Heidelberg Lo H., (1999), “A Novel Traffic Signal Control Formulation”, Transportation Research Part A 33, 433-448. Lo H., Chen, A., (2000) Traffic Equilibrium Problem with route specific costs: Formulation and Algorithms, Transportation Research, Part B 34, 494-513. Lou Z-Q., Pang J-S, Ralph D., Wu S-Q., (1996) “Exact Penalization and Stationary Condition of Mathematical Programs with Equilibrium Constraints”. Mathematical Programming 75, pp. 19-76. 102 Makela M., Neittaanmaki P., (1992) “Nonsmooth optimization”, Published by Word Scientific Publishing Co. Pte. Ltd. Marcotte P., (1984) "Network Design Problem with Congestion Effects: A case of Bilevel Programming", Matematical Programming 34, 142-162 North- Holland. Marcotte P., Dussault J., (1989) “A Sequential Linear Programming Algorithm for Solving Monotone Variational Inequalities”, SIAM J. Control and Optimization, Vol. 27, No 6, 1260-1278, November. Migdalas A., (1995), “Bilevel Programming in Traffic Planning: Models, Methods and Challenger”, Journal of Global Optimization, 7: 381-405. Meng Q., Yang H., e Bell M., ( 2000) “An equivalent continuously differentiable model And a locally convergent algorithm for the continuous network design problem”, Transportation Research Part B: Methodological Volume 35, Isue 1, page 83-105. Michael J.M., Xiaoyan Z., Dirk V.V.,(1999) “Bilevel Programming Approach for Trip Matrix Estimation and Traffic Control Problems with Stochastic user Equilibrium Link Flows”, Transportation Research, Part B 35, 23 – 40. Morales G., (1997) “O Problema de Programação Matemática com restrições Generalizadas de Equilíbrio”, Tese de Doutorado, COPEE/ Sistemas, UFRJ. Montero L., (1995) The Traffic Assignment Problem: Resolution Algorithms. State of the Art Survey (II). Nguyen S., Pallottino S., (1987) “Equilibrium Traffic Assignment for Large Scale Transit Network”, Elsevier Science Publishers B.V. (North-Holland). 103 Nguyen S., Dupuis C., (1984) “An Efficient Method for Computing Traffic Equilibria in Network with asynmetric Transportation Costs”, Transportation Science, 18, 185– 202. Pang J.S., Chan D. (1982), “Iterative Methods for Variational and Complementary Problems”. Mathematical Programming 24, 284-313, North-Holland, Publishing Company. Peng J. M., (1997) “Global Method for Monotone Variational Inequality Problems with Inequality Constraints”. Journal of Optimization Theory and Aplications: Vol. 95, No 2. pp 419-430. Smith M. J., (1979) “The existence Uniqueness and Stability of Traffic Equilibria”, Transportation Research, Vol. 13B, pp. 295-304. Shor N. Z., (1985) “Minimization Methods for Non Differentiable Functions”. SpringerVerlag. New York. Shor, N.Z., (1998) “Nondiferentiable Optimization and Polynomial Problems”, ISBN 07923-2785-3. Smith M. J., (1992) “A New Dynamic Traffic Model and the existence and calculation of dynamic user equilibrium on congested capacity-constrained roads networks”, Transportation Research, Vol. 27B, No 1, pp. 49-63. Shimizu K., Ishizuka Y., Bard J.F., (1997) “Nondiferentiable and two level mathematical programming”. Kluwer Academic Publishers. Suh W.C., (1999) “Optimization of area traffic control for equilibrium network flows”, Transportation Science, Vol. 33, No 3. Vyacheslav , Kalashnikov V., Kalashnikova N. I. (1996), “Solving Two-Level Variational Inequality”, Journal of Global Optimization 8: 289-294. 104 Van V.D., (1982) ”SATURN - a modern assignment model. Traffic Engineering and Control”, 23:578-581. Wardrop J. G. (1952), “Some theoretical aspects of road traffic research”, Proceedings of thee Institute of Civil Engineers, Part II 1, 325-378. Yang H., Bell, M., (2001) “An equivalent continuously diferentiable model a locally convergent algorithm for the continuous network design problem”. Transportation Research Part B: Methodogical Vol. 35, Isue 1, pp83-105. Yang H., Yagar, S. (1995) “Traffic Assgnment and Signal Control in Saturated Road Network”. Transportation Research - A . Vol. 29A , No . 2, pp. 125-139. Ye, J.J., Zhu, D.L., (1995), “Optimality Conditions for Bilevel Programming Ploblems”, Optimization, 33, pp 9-27. Zuhovickii, S., Poliak R. A., Primak M. E., (1969), “Two Methods of Search of Equilibrium of n Person-concave-Games”, Soviet Math. Dokl. 10, 2.