• Nenhum resultado encontrado

Como observado em Toth e Vigo [49] nos últimos anos vem sendo proposto várias metaheurís- ticas para PRV. São procedimentos gerais que exploram o espaço de solução para identificar boas soluções e muitas vezes incorporam algumas das heurísticas de construção de rotas ou refinamento apresentadas anteriormente. Na maioria das abordagens clássicas, metaheurísticas permitem de- compor ou soluções intermediárias não factíveis no processo de busca. As metaheurísticas mais conhecidas para PRV procuram identificar os ótimos locais, mas tendem a exigir tempo computa- cional maior.

Nesta seção serão comentados seis tipos de metaheurísticas aplicadas ao PRV: Arrefecimento Simulado; Arrefecimento Determinístico; Busca Tabu; Algoritmos Genéticos; Colônias de Formigas e Redes Neurais. Os três primeiros algoritmos começam a partir de uma solução inicial 𝑥1 e muda

a cada iteração 𝑡 de 𝑥𝑡para 𝑥𝑡+1 em uma vizinhança 𝑁 (𝑥𝑡) de 𝑥𝑡, até que uma condição de parada

seja satisfeita. Se 𝑓 (𝑥) indica o custo de 𝑥, então 𝑓 (𝑥𝑡+1) não é necessariamente menor do que 𝑓(𝑥𝑡). Enquanto que AG examina a cada passo uma população de soluções, em que cada população

é originada da anterior utilizando os melhores elementos e descartando os piores. Por outro lado CF é um método construtivo em que várias novas soluções são criadas a cada iteração usando algumas informações reunidas em iterações anteriores. E RN é um mecanismo de aprendizado que se ajusta gradualmente um conjunto de pesos até que uma solução aceitável seja encontrada. As regras que regem a busca diferem em cada caso e que devem ser adaptados a forma do problema em questão. As descrições dos procedimentos abaixo se baseiam no proposto por Toth e Vigo [49].

3.3.1 Arrefecimento simulado AS

Na iteração 𝑡 de AS, uma solução 𝑥 é feita por sorteio em 𝑁 (𝑥𝑡). Se 𝑓 (𝑥) ≤ 𝑓 (𝑥𝑡), então é

definido 𝑥𝑡+1 := 𝑥; caso contrário,

𝑥𝑡+1:= ⎧ ⎨ ⎩ 𝑥 com probabilidade 𝑝𝑡, 𝑥𝑡 com probabilidade 1 − 𝑝𝑡.

Sendo que 𝑝𝑡 usualmente é uma função decrescente de 𝑡 e de 𝑓 (𝑥) − 𝑓 (𝑥𝑡). É comum definir 𝑝𝑡 como: 𝑝𝑡= exp (︃ −[𝑓 (𝑥) − 𝑓 (𝑥𝑡)] 𝜃𝑡 )︃ , (3.3.1)

sendo que 𝜃𝑡 a temperatura da iteração 𝑡. A regra para definir 𝜃𝑡 é conhecida como cronograma

de resfriamento. Tipicamente, 𝜃𝑡 é uma função decrescente ao passo de 𝑡: primeiramente, 𝜃𝑡 é

ajustado igual a um valor dado 𝜃1 >0 e é multiplicado por um fator 𝛼 (0 < 𝛼 < 1) após algumas

iterações 𝑇 , de modo que a probabilidade de aceitar uma solução pior deve diminuir com o tempo. É muito comum utilizar os seguintes critérios de parada 𝑓* que depende de 𝑥* que não seja menor

que o mínimo 𝜋1% para pelo menos 𝑘1 ciclos consecutivos de 𝑇 iterações; o número de movimentos

aceitos tenha sido menor que 𝜋2% de 𝑇 para 𝑘2 ciclos consecutivos de 𝑇 iterações; e 𝑘3 ciclos de 𝑇

3.3.2 Arrefecimento determinístico AD

AD é muito similar ao AS, em que uma regra determinística é utilizada para a validação de um movimento. Duas implementações padrão dessa técnica são threshold accepting (TA) e record-

to-record travel (RRT). Em um algoritmo TA a cada iteração 𝑡, a solução 𝑥𝑡+1 é considerada se

𝑓(𝑥𝑡+1) > 𝑓 (𝑥𝑡) + 𝜃1, em que 𝜃1 é um parâmetro controlado pelo usuário. Por outro lado RRT é

gravada a melhor solução 𝑥* encontrada durante uma busca. A cada iteração 𝑡, a solução 𝑥

𝑡+1 é

considerada se 𝑓 (𝑥𝑡+1) < 𝜃2· 𝑓(𝑥𝑡), em que 𝜃2 é um parâmetro controlado pelo usuário, em geral,

um pouco maior que 1.

3.3.3 Busca tabu BT

Nessa metodologia as sequências de solução são examinadas como AS, mas o próximo passo é feito para o melhor vizinho da solução atual 𝑥𝑡. Para evitar um movimento cíclico as soluções que

foram recentemente analisadas são proibidas para um número de iterações, essas soluções proibidas são denominadas soluções Tabu. Para amenizar os requisitos de memória, é natural registrar um atributo de soluções Tabu e não as próprias soluções. O mecanismo básico de BT pode se reforçado por vários recursos computacionais, tais como estratégias de diversificação e intensificação.

3.3.4 Algoritmos genéticos AG

Um AG é uma técnica de pesquisa global randomizada que resolve problemas, imitando os processos observados durante a evolução natural. Essa técnica foi proposta inicialmente por Hol- land [78]. Um AG puro é um método de solução genérico que utiliza pouca informação heurística do problema, e portanto, pode ser aplicado a diversos tipos de problemas mal definidos que não existem métodos específicos para solução. Basicamente, um AG evolui uma população de cadeias de bits, ou cromossomos, onde cada cromossomo codifica uma solução para um caso particular, em que essa evolução acontece através da aplicação de operadores que imitam fenômenos naturais observados na natureza, tais como, reprodução e mutação. A seguir é descrito um AG simples e como essa metodologia pode ser aplicada a PRV.

A partir de uma população inicial gerada a partir de forma aleatória de cromossomos 𝑋1 =

{𝑥1

1, . . . , 𝑥1𝑛}. A cada iteração 𝑡 = 1, . . . , 𝑇 em que é aplicado 𝑘 vezes os passos 1 ao 3

(︁

𝑘 ≤ 𝑛2)︁,

então aplique o passo 4.

Passo 1 Reprodução - Selecione dois cromossomos pais de 𝑋𝑡;

Passo 2 Recombinação - Gerar dois filhos a partir dos cromossomos pais selecionados no Passo 1

utilizando um operador cruzado;

Passo 3 Mutação - Aplique uma mutação aleatória para cada filho (com uma pequena probabili-

dade);

Passo 4 Substituição de população - Criar 𝑋𝑡+1 de 𝑋𝑡 removendo 2𝑘 piores soluções de 𝑋𝑡 e

No algoritmo o parâmetro 𝑇 é o número de gerações e 𝑘 é o número de escolhas por geração. A melhor solução produzida ao longo das gerações 𝑇 é o resultado final deste algoritmo. Observe que no Passo 1 a seleção dos pais é parcialmente probabilística em favor dos melhores cromossomos. No Passo 2 os novos descendentes são produzidos através de cruzamento pela troca de sub cadeias de bits encontrados nos dois pais. No Passo 3, cada descendente pode ser ligeiramente modificado atribuindo um valor de bit de zero a um, ou a partir de um a zero, com uma pequena probabi- lidade em cada posição. E finalmente, no Passo 4 é feita a substituição da população. Através desse processo espera-se que uma população inicial de cromossomos gerados aleatoriamente seja melhorada com a substituição dos pais por cromossomos filhos melhores.

Como Toth e Vigo [49] comenta, o desenvolvimento de AG para PRV é escasso. Em que difere da situação de PCV ou variantes mais complexas de PRV como PRVJT e restrições de prece- dência. No primeiro caso, a grande quantidade de pesquisa para PCV se deve ao fato de que é um conhecido problema canônico. No segundo caso, há limitações que complicam, em particular PRVJT. Com problemas mais complexos, viu-se uma oportunidade para encontrar resultados mais competitivos com o uso de AG, pelo fato de sua força relativa a restrições complexas. Na litera- tura há implementações muito eficazes para PRVJT como os trabalhos de Potvin e Bengio [79], Thangiah [80], usando AG para PRVC que inclui a distância percorrida ou alguma variante com limitações de tempo, foi principalmente destinado a avaliar o impacto de diferentes componentes no algoritmo sobre a eficiência da pesquisa. Trabalhos como de Van Breedam [81] compara AG com RS e BT para diferentes tipos de PRV incluindo PRVC, fazendo uma análise estatística de incidência de vários parâmetros sobre a qualidade da solução de AG e RS. As soluções para PRV são feitas de múltiplas rotas (diferenciando do PCV), o caminho de representação da solução é estendido e contém múltiplas cópias do depósito, com cada cópia atuando como um separador entre duas rotas. Por exemplo a figura 3.10 representa um sistema de solução para PRV feita em três rotas: a primeira contém os vértices 1 e 2, a segunda rota contém os vértices 3 e 4 e a última rota contém o vértice 5.

Caminho : 0 1 2 0 3 4 0 5

Figura 3.10: Solução AG para PRV

3.3.5 Colônias de formigas CF

Os métodos de solução por CF são inspirados no comportamento de colônias de formigas reais a procura de alimentos. Na busca por alimentos, formigas liberam um aroma chamado de feromônio por onde andam, a quantidade de feromônio colocado em um percurso depende da distância percorrida e da qualidade da fonte de alimento e esse feromônio fornece informações a outras formigas que são atraídas por ele. Caminhos que produzem fontes de alimentos mais interessantes são marcados com mais feromônio, aqueles caminhos mais próximos da colônia e

com maior quantidade de alimento. Em geral, esse processo leva a um procedimento eficiente de aquisição de alimentos para a colônia de formigas.

Por meio de observações, Colorni, Dorigo, Maniezzo et al. [82] desenvolveram uma nova classe de metaheurísticas para solucionar problemas combinatórios tendo os seguintes critérios como base: 1. formigas artificiais procurando uma solução simulam formigas reais explorando seu ambiente; 2. valores da função objetivo são associados com a qualidade da fonte de alimentos;

3. valores registrados em uma memória adaptiva imitam as trilhas de feromônio.

Para exemplificar os princípios básicos do método, segue, abaixo como Colorni, Dorigo, Mani- ezzo et al. [82] descrevem de modo simples um procedimento para PCV, sendo o primeiro problema que essa metodologia foi aplicada. Para cada aresta (𝑖, 𝑗) é associado dois valores: a visibilidade

𝑛𝑖𝑗 (o inverso do comprimento da aresta), que é um valor estático e a trilha de feromônio Γ𝑖𝑗, que é

atualizado dinamicamente à medida que o algoritmo é executado. A cada iteração, formigas artifi- ciais a partir de cada vértice do grafo constroem 𝑛 novas rotas usando uma heurística probabilística de vizinho mais próximo com uma medida de distância modificada. Esse medida é derivada de 𝑛𝑖𝑗

e Γ𝑖𝑗 para favorecer a seleção de cidades que estão mais próximas ligadas por arestas e com uma

alta concentração de feromônio. No final de cada iteração, os valores do rastro são atualizados pela primeira permitindo a utilização de parâmetro (1 − 𝜌), denominado parâmetro de evaporação, em que 0 ≤ 𝜌 ≤ 1, do antigo feromônio para evaporar e o novo feromônio das arestas das rotas construídas na iteração. Se a aresta (𝑖, 𝑗) foi utilizada pela formiga 𝑘 e o comprimento dessa rota construída pela formiga é 𝐿𝑘, a quantidade de feromônio é aumentada na rota, esse aumento é

dado por △𝑘 𝑖𝑗 = 1 𝐿𝑘 .

O valor do rastro no arco (𝑖, 𝑗) é atualizado da seguinte maneira: Γ𝑖𝑗 := 𝜌Γ𝑖𝑗 + 𝑛 ∑︁ 𝑘=1𝑘 𝑖𝑗,

em que 𝑛 é o número de formigas. Esse processo de construção de rotas e atualização de rastro é repetido para um número fixo de iterações. É importante notar o papel do parâmetro de evaporação (1 − 𝜌) impede que solução ruins iniciais sejam utilizadas nas fases posteriores do algoritmo.

3.3.6 Redes neurais RN

Redes Neurais RN são modelos computacionais composto de unidades que são interligadas através de conexões ponderadas, como neurônios no cérebro humano, em que um sinal é enviado de uma unidade para outra ao longo de uma conexão e é modulada através de um peso associado. Embora superficialmente relacionada com a parte oposta biológica, em redes neurais artificiais apresentam características relacionadas à cognição humana. Geralmente, redes neurais artificiais aprendem com experiências e podem induzir conceitos gerais de exemplos específicos de um ajuste

incremental de seus pesos. Estes modelos foram aplicados inicialmente para tarefas associadas a inteligência humana, onde a computação tradicional é ineficiente como visão artificial e compreen- são da fala. Há pouco tempo foram aplicados a problemas combinatórios como o trabalho pioneiro de Hopfield e Tank [83]. O PCV tem sido objeto de muitos estudos como o modelo de Hopfield- Tank (HT), rede elástica de (RE) Durbin e Willshaw [84] e o mapa de auto-organização (MAO) de Kohonen [85]. RE e MAO são muito distantes de RN clássicas, mas que provaram ser muito efica- zes em comparação com o modelo HT que utiliza RN clássicas. Como Toth e Vigo [49] comenta em seu livro, nenhum deste métodos é mais competitivo em relação a outras metaheurísticas.

RE e MAO são modelos deformáveis que se ajustam em torno dos vértices para resolver o PCV, ilustrado na figura 3.11. Os círculos em azul são os vértices e os pequenos círculos em vermelho são unidades do modelo. Estas unidades estão ligadas para formar uma rota. A partir de algumas configurações arbitrárias, a localização de cada unidade em que a rota é ajustada de modo incremental (como os pesos das ligações na RN nos modelos clássicos) e esse procedimento ocorre até que pelo menos uma unidade torne-se suficiente próxima de cada vértice. No final cada vértice é atribuído à unidade mais próxima, através dessa atribuição, a ordenação das unidades ao longo da rota determina uma ordenação dos vértices da rota.

Apenas recentemente há estudos para solução PRV utilizando RN, na maioria dos trabalhos são variantes baseadas em MAO como os trabalhos de H [86], Ghazlrl [87], Ghaziri [88], Matsuyama [89], Schumann e Retzko [90]. Utilizando vários modelos deformáveis, um para cada rota, é possível generalizar modelos de PCV para PRV. Normalmente os modelos são executados com um aumento de número de rotas até que uma solução factível seja encontrada, assim, como várias rotas estão presentes na rede, há uma competição entre elas para obter uma parcela igual de vértices. Um procedimento sugerido por Ghazlrl [87] segue abaixo:

Etapa 1 (Competição de rotas e migração) Repetir até que uma unidade esteja suficiente próximo

de cada vértice:

1. Considere o próximo vértice e defina-o como vértice atual; 2. Associar uma probabilidade de seleção para cada rota;

3. Definir uma rota de acordo com a distribuição de probabilidade definida no passo 2. 4. Experimentalmente, atribua o vértice atual para a unidade mais próxima na rota sele-

cionada e desloque a unidade (bem como alguns de seus vizinhos na rota) em direção do vértice atual.

Etapa 2 (Atribuição de vértice) De modo permanente atribua a cada vértice a unidade mais

próxima, com o objetivo de produzir uma solução.

A probabilidade associada a cada rota é ajustada dinamicamente no decorrer do processo do algoritmo. Note que, no início, a distância entre o vértice e a unidade atual mais próxima desem- penha um papel dominante, posteriormente não são consideradas as rotas que violem a restrição de capacidade (devida a atribuição de vértices por experimentação), tornando cada vez menor a possibilidade de escolha dessas rotas. No final apenas rotas factíveis devem ser selecionadas.

Capítulo 4

O estudo de caso

Neste capítulo apresentamos o nosso estudo de caso divididos em duas etapas. Primeiro, estudamos a quantidades necessária de veículos para que o transporte escolar seja realizado satis- fatoriamente em toda a cidade de Coxim - MS. Em seguida, definimos um planejamento logístico para o transporte de estudantes do turno matutino do IFMS da cidade de Coxim. Nesta última, usamos duas metodologias de busca de resolução utilizando o Simplex: uma baseada no método branch-and-cut; e outra que utiliza uma heurística de projeção do pacote GLPK.

Documentos relacionados