• Nenhum resultado encontrado

A.1

Aplicação do ScA ao PCA

As soluções são representadas com 2 vetores, como mostrado na Figura 17, em que as cidades são os números e os carros as letras. Na solução mostrada na Figura 17, o carro a, alugado na cidade 1, passa pelas cidades 4 e 5, e é entregue na cidade 2. O carro b, alugado na cidade 2, passa por 8, 7 e 9, e é entregue na cidade 3. O carro c, alugado na cidade 3, passa por 6, e é entregue na cidade 1. As soluções são geradas aleatoriamente, o tamanho da população inicial foi o mesmo usado em Asconavieta, Goldbarg e Goldbarg (2011) em que o valor era de 100 soluções candidatas.

Figura 17: Representação de um pesquisador.

A literatura consiste em listas, Li, de 10 cidades cada correspondentes para cada

vértice i do grafo. Inicialmente, os elementos das listas são gerados aleatoriamente. As listas são atualizadas durante a execução do algoritmo. Uma cidade de uma lista de Li é

substituída pela cidade anterior de i na melhor solução encontrada.

O tema é um conjunto de cidades construídas, aleatoriamente, com probabilidade p para conter uma cidade em G. Se o número de cidades for menor ou igual a 50, p = 0, 3, caso contrário, p = 0, 8. A Figura 18 mostra a representação de um tema. As variáveis consideradas são duas: as arestas conectadas às cidades no tema e o aluguel dos carros nessas cidades. Por exemplo, na Figura 17, as arestas que conectam as cidades do tema são (6,1), (1,4), (2,8), (8,7), (9,3) e (3,6), e o aluguel dos carros correspondem às cidades 1,8 e 3.

Figura 18: Representação de um tema.

Na hipótese, para construir uma solução considerando um pesquisador, usa-se um dos 4 operadores construtivos: γ1,γ2,γ3 e γ4. A maneira de selecionar um operador é aleatória.

O operador γ1 cria uma cópia de um pesquisador. O objetivo é que o pesquisador seja

otimizado, diretamente, pelo método de verificação de hipóteses.

Os operadores γ2,γ3 e γ4 removem as cidades do tema no pesquisador (com suas

respectivas arestas), criando uma nova aresta entre a cidade anterior e posterior da cidade removida. Por exemplo, a Figura 19 mostra uma solução incompleta depois de remover as cidades do tema da Figura 18, na solução da Figura 17.

Figura 19: Representação de uma hipótese.

O método de reinserção utilizado pelo operador γ2 se baseia no algoritmo de reinserção

aleatória para o PCV (GUTIN, 2002). Uma das cidades é escolhida, aleatoriamente, e reinserida em uma posição que produz o menor aumento de custo usando o mesmo carro da cidade anterior. O procedimento é repetido até que todas as cidades sejam reinseridas. A Figura 20 mostra a reintegração da cidade 8, após a cidade 5 na solução incompleta da Figura 19. Observe que o carro usado em 5 é o mesmo usado em 4.

Figura 20: Representação do operador γ2.

do algoritmo científico. Para cada cidade i do tema, este procedimento tenta inserir i no caminho após o vértice em Li que gera o menor aumento no custo (o carro utilizado

na cidade i é o mesmo que na cidade anterior). Se uma cidade não puder ser reinserida usando o operador γ3, o operador γ2 é usado.

O método de reinserção utilizado pelo operador γ4 se baseia na colaboração entre

pesquisadores. Seja Sa uma solução aleatória de uma população. Para cada cidade i no

tema, tenta-se inserir i na posição anterior à i em Sa (usando o mesmo veículo da cidade

anterior). Se uma cidade não puder ser reinserida usando o operador γ3, o operador γ2 é

usado.

Na verificação da hipótese são utilizados 5 operadores de melhoria, λ1, λ2, λ3, λ4,

λ5 (em sequência aleatória).

O operador λ1 insere um novo carro na hipótese. Para cada cidade i no tema, o

operador λ1 verifica a variação no custo do aluguel de cada um dos carros não alugados em

i (o carro alugado é entregue em alguma cidade j). Se o custo da hipótese for melhorado, a solução é atualizada com o novo carro alugado. A Figura 5 mostra um exemplo desse operador, no qual o carro e é alugado na cidade 8 da solução mostrada na Figura 17.

Figura 21: Representação do operador λ1.

O operador λ2 visa ampliar a rota de um carro na hipótese. O operador λ2 verifica a

variação no custo de antecipar o aluguel do próximo carro para cada cidade i no tema. Se a hipótese for melhorada, a solução é atualizada com o carro alugado em i. A Figura 22 mostra um exemplo desse operador atuando na cidade 8 da solução da Figura 17. A primeira solução antecipa o aluguel do carro c para o vértice 8 e a segunda solução atrasa o aluguel do carro a para a cidade 8.

O operador λ3 tem como objetivo mudar a posição de uma cidade na hipótese. Para

cada cidade i do tema, λ3 remove i do caminho (removendo suas respectivas arestas) e

adiciona uma nova aresta entre as cidades anterior e posterior. A cidade i é reinserida com a solução que gera o menor aumento no custo. A Figura 23 mostra um exemplo desse operador, que altera a posição da cidade 7 na Figura 17.

Figura 22: Representação do operador λ2.

Figura 23: Representação do operador λ3.

O operador λ4 inverte um intervalo da hipótese. λ4 considera 2 cidades a e b no tema,

de modo que o caminho entre elas seja percorrido por um único carro. Esse caminho é revertido e o custo da alteração da direção é verificado. Se a hipótese for melhorada, a nova solução é atualizada. A Figura 24 mostra um exemplo desse operador que inverte o caminho nas cidades 2 e 9 na solução da Figura 17.

Figura 24: Representação do operador λ4.

O operador λ5 muda a posição de 2 intervalos diferentes da hipótese. λ5 considera

2 pares de cidades (a, b) e (c, d) no tema, de modo que um único carro atravesse os caminhos entre (a, b) e (c, d). O custo da mudança de posição dessas arestas é verificado. Se a hipótese for melhorada, a nova solução será atualizada. A Figura 9 mostra um exemplo desse operador em que os caminhos entre (2, 8) e (7, 9) na solução da Figura 17 são alterados.

Figura 25: Representação do operador λ5.

zação da literatura verifica se a cidade anterior i, na hipótese, c, já está em Li. Se essa

cidade (c) não estiver lá, o procedimento insere c em Li e remove a cidade que foi atua-

lizada com a solução de custo mais alto (uma estrutura auxiliar é usada para armazenar os custos de cada solução).

A.2

Parâmetros do EA

Valores e descrição de todos os parâmetros do EA são apresentados na Tabela 35. Esses valores foram definidos após vários testes preliminares com vários outros valores candidatos, buscando um bom equilíbrio entre desempenho e tempo computacional gasto (SILVA; OCHI, 2016).

Tabela 35: Parâmetros do EA

Parâmetro Valor Descrição

r 20% Porcentagem de cidades escolhidas aleatoriamente para criar um indivíduo.

totalIndiv 2000 Número total de indivíduos criados em uma população inicial.

popSize 150 Número de indivíduos que compõem cada geraçãode EA. probMut 5% Probabilidade de um indivíduo ser mutado. sameLambda 50 Número de gerações consecutivas que têm o

mesmo valor de lambda.

incLambda 1 .04 Aumento em Lambda após sameLambda gerações.

intGen 100 Número de gerações entre dois mecanismos deintensificação. upperIndiv 3 Número de melhores indivíduos em que aintensificação ocorre.

Documentos relacionados