• Nenhum resultado encontrado

Segunda Fase: Encontrar Solu¸c˜ oes Eficientes N˜ ao-Suportadas

A segunda fase do m´etodo tem por objetivo encontrar solu¸c˜oes eficientes n˜ao- suportadas entre as solu¸c˜oes suportadas, e assim aumentar o n´umero de solu¸c˜oes no con- junto de solu¸c˜oes eficientes. Esse processo se d´a atrav´es da utiliza¸c˜ao de um procedimento de Pareto Local Search (PLS) (Se¸c˜ao 3.4.2). Ele ´e apresentado no Algoritmo 11 e ao ser utilizado no trabalho de Lust e Teghem (2009), levou a resultados muito satisfat´orios para o Problema do Caixeiro-Viajante.

O Algoritmo 11 leva `a obten¸c˜ao de Conjunto de ´Otimos Locais de Pareto e foi proposto por Paquete et al (2004). Este procedimento recebe uma popula¸c˜ao inicial P0 e

retorna uma aproxima¸c˜ao do conjunto de solu¸c˜oes eficientes.

O m´etodo inicia-se com uma popula¸c˜ao P , que ´e composta por potenciais solu¸c˜oes eficientes contidas na popula¸c˜ao inicial P0. Esse conjunto de solu¸c˜oes eficientes foi gerado

Durante a execu¸c˜ao do procedimento, todos os vizinhos p′ para cada uma das solu¸c˜oes p∈ P s˜ao gerados. Se uma solu¸c˜ao p′ gerada n˜ao for fracamente dominada por p, tenta-se adicion´a-la ao conjunto de solu¸c˜oes eficientes. ´E importante notar que o m´etodo AddSo- lution n˜ao s´o adiciona novas solu¸c˜oes ao conjunto de solu¸c˜oes eficientes, como tamb´em remove solu¸c˜oes presentes em ˆXE, que passam a ser dominadas. Pode-de verificar ainda

que n˜ao apenas solu¸c˜oes suportadas podem dar origem a novas solu¸c˜oes. Sempre que uma solu¸c˜ao p′ ∈ N ´e adicionada ao conjunto de solu¸c˜oes eficientes, ela ´e tamb´em colocada em uma lista de solu¸c˜oes que ser´a analisada uma vez que todas as solu¸c˜oes da atual popula¸c˜ao tenham sido exploradas.

Algoritmo 11 Pareto Local Search

1: Parˆametros↓: Uma popula¸c˜ao inicial P0 e as matrizes de custo C1 e C2 do b-PRP 2: Parˆametros↑: Uma aproxima¸c˜ao ˆXE do conjunto de solu¸c˜oes eficientes

3: XˆE ← P0 ⊲Inicializa¸c˜ao do ˆXE e de uma popula¸c˜ao P com a popula¸c˜ao inicial P0

4: P ← P0 ⊲ Inicializa¸c˜ao de uma popula¸c˜ao auxiliar Pa

5: Pa ← ∅

6: enquanto P 6= ∅ fa¸ca

7: para todo p∈ P fa¸ca ⊲ Gera¸c˜ao de todos os vizinhos p′ de cada solu¸c˜ao p ∈ P 8: para todo p′ ∈ N (p) fa¸ca

9: se z(p) z(p′) ent˜ao

10: AddSolution( ˆXE l, p′ ↓, z(p′)↓, Added l) 11: se Added = true ent˜ao

12: AddSolution(Pa l, p′ ↓, z(p′)↓)

13: fim se

14: fim se

15: fim para

16: fim para

17: P ← Pa ⊲ P ´e composto pelas novas potenciais solu¸c˜oes eficientes

18: Pa← ∅ ⊲Reinicializa¸c˜ao da Pa

19: fim enquanto

Embora esta fase seja simples do ponto de vista conceitual, alguns cuidados de- vem ser tomados quando da avalia¸c˜ao das novas solu¸c˜oes. Como descrito na Se¸c˜ao 5.1, o b-PRP ´e um problema cujas vari´aveis de decis˜ao dizem respeito aos arcos que v˜ao estar presentes na solu¸c˜ao e `as velocidades que devem ser utilizadas em cada arco. Dessa forma, a determina¸c˜ao de uma nova solu¸c˜ao para o b-PRP consistir´a n˜ao apenas na determina¸c˜ao de um novo conjunto de rotas, como tamb´em, na defini¸c˜ao das velocidades a serem empre-

gadas em cada um dos arcos da solu¸c˜ao (Figura 6.3). Esta segunda etapa pode resultar em um aumento consider´avel no tempo de execu¸c˜ao do algoritmo e portanto deve ser bem gerenciada.

+

Figura 6.3: Caracteriza¸c˜ao de uma nova solu¸c˜ao para o b-PRP durante o procedimento de PLS

No PLS, um novo conjunto de rotas pode ser determinado a partir da aplica¸c˜ao de alguma estrutura de vizinhan¸ca. ´E importante ressaltar que, a cada simples mudan¸ca da ordem dos clientes na rota dos ve´ıculos, uma nova solu¸c˜ao ´e gerada (Figura 6.4). Dessa forma, n˜ao se faz necess´ario que toda uma estrutura de vizinhan¸ca seja utilizada para se dar origem a uma nova solu¸c˜ao, isto ´e, emprega-se uma estrat´egia de first improvement ao inv´es de uma de best improvement (Hansen e Mladenovi´c, 2006). Nesta fase, o intuito n˜ao ´e encontrar uma solu¸c˜ao que domine todas as outras, mas sim uma solu¸c˜ao que n˜ao seja dominada, que ainda n˜ao tenha sido explorada e que possa contribuir para a composi¸c˜ao do conjunto de solu¸c˜oes. 0 1 2 3 4 0 0 5 6 7 8 0 Solução Original 0 2 3 0 0 5 6 7 8 0 Nova Solução 1 0 1 2 5 4 0 0 3 6 7 8 0 Nova Solução 2

Figura 6.4: Processo de forma¸c˜ao de uma nova solu¸c˜ao durante durante o procedimento de PLS

Uma vez que uma nova ordem para os clientes tenha sido estabelecida, se faz ne- cess´ario que as velocidades nos arcos da solu¸c˜ao sejam determinadas, e isto se d´a atrav´es da utiliza¸c˜ao do SOP. O processo de cria¸c˜ao, avalia¸c˜ao e adi¸c˜ao de uma nova solu¸c˜ao ao conjunto ˆXE pode ser sumarizado na Figura 6.5 e recebe o nome de Avalia¸c˜ao Dinˆamica.

Determinação de uma nova solução

Aplicando uma vizinhança ao conjunto de rotas existentes Otimizando as velocidades da rota Adicionar solução na lista NDS? Adicionar na lista de soluções auxiliares Fim do procedimento de determinação de uma nova solução Nova solução não-dominada? Não Sim Sim Não

Figura 6.5: Avalia¸c˜ao Dinˆamica

Determinação de uma nova solução

Aplicando uma vizinhança ao conjunto de rotas existentes Cálculo do custo da solução considerando a velocidade máxima da instância Adicionar solução na lista NDS? Adicionar na lista de soluções auxiliares Fim do procedimento de determinação de uma nova solução Nova solução não-dominada? Não Sim Sim Não Otimizando as velocidades da rota Nova solução não-dominada? Otimizando as velocidades da rota Sim Não

Embora o procedimento de avalia¸c˜ao dinˆamica represente a ordem na qual as opera- ¸c˜oes devam ser executadas, a depender do tamanho da instˆancia e do n´umero de estruturas de vizinhan¸ca empregadas nessa fase, a utiliza¸c˜ao de um algoritmo PLS para b-PRP pode se tornar invi´avel no que diz respeito ao tempo computacional.

Como discutido em Hvattum et al (2013), o SOP apresenta uma complexidade O(n2). Por sua vez, as estruturas de vizinhan¸ca empregadas tamb´em possuem complexi-

dade O(n2). Desse modo, empregar o SOP cada vez que alguma mudan¸ca na ordem dos

clientes ´e feita, elevaria consideravelmente o tempo de execu¸c˜ao.

A fim de se viabilizar a gera¸c˜ao de novas solu¸c˜oes durante essa fase do m´etodo, um mecanismo de avalia¸c˜ao das novas solu¸c˜oes baseado na estimativa das velocidades em cada arco ´e empregado. Essa nova metodologia pode ser visualizada na Figura 6.6 e recebe o nome de Avalia¸c˜ao Est´atica. Nesse procedimento, sempre que uma nova ordem dos clientes ´e determinada, o valor da solu¸c˜ao ´e avaliado considerando-se que todos os arcos da solu¸c˜ao possuem a velocidade m´axima da instˆancia. Caso a solu¸c˜ao obtida seja um ´Otimo Local de Pareto, o SOA ´e empregado e os valores das velocidades nos arcos s˜ao determinados. Apesar da simplicidade da abordagem, essa estrat´egia reduz consideravelmente o n´umero de chamadas do SOA, tornando o procedimento de busca local mais barato computacional. Uma ressalva que pode ser feita quanto ao uso da Avalia¸c˜ao Dinˆamica ou Est´atica ´e que, mesmo que o custo computacional elevado, o esquema dinˆamico pode ser empregado quando instˆancias de pequeno porte s˜ao resolvidas. Para esses casos, a utiliza¸c˜ao de uma abordagem dinˆamica pode ser inclusive desej´avel devido ao espa¸co de solu¸c˜oes reduzido.