• Nenhum resultado encontrado

Variantes do Problema do Caixeiro Viajante

2 O CONTEXTO DA PESQUISA

2.4 Variantes do Problema do Caixeiro Viajante

O clássico Problema do Caixeiro Viajante (PCV) ou como é mais conhecido na literatura, Traveling Salesman Problem (TSP), é um dos problemas mais estudados de programação matemática. Dado um grafo ponderado G=(N, M) onde N={1,...n} representa o conjunto de vértices do grafo e M ={1,...,m} o conjunto de arestas, o objetivo da otimização é encontrar um ciclo hamiltoniano de menor custo, ou seja, uma rota entre os vértices, que inicia e termina em um mesmo ponto, sem nunca repetir uma visita, e cuja soma das arestas percorridas resulte a de menor valor.

O PCV, segundo Goldbarg & Luna (2005), é um dos mais tradicionais e conhecidos problemas de programação matemática. Os problemas de roteamento lidam em sua maior parte com passeios ou tours sobre pontos de demanda ou oferta. Esses pontos podem representar cidades, postos de trabalho ou atendimento, depósitos etc. O modelo do caixeiro viajante possui um grande potencial para solucionar problemas de roteamento e roteamento com programação de tarefas.

A importância do modelo do PCV é indiscutível, tanto sob o aspecto prático como teórico, e é justificada por pelo menos três de suas características (GOLDBARG & LUNA, 2005):

1. Grande aplicação prática;

2. Uma enorme relação com outros modelos; e 3. Grande dificuldade de solução exata.

A complexidade de um algoritmo é medida pela quantidade de operações necessárias para se resolver o problema e, examinar todas as possibilidades de um PCV requer visitar n cidades em (n 1)! rotas, logo, muitos casos não podem ser resolvidos por algoritmos em tempo polinomial e são ditos computacionalmente intratáveis. Estes casos são estudados pela teoria NP completude onde o PCV é considerado NP difícil (GAREY & JOHNSON, 1979).

A maior instância não trivial do PCV solucionada de forma exata evoluiu de 318 cidades na década de 80 (CROWDER & PADBERG, 1980),

para 7397 cidades em meados dos anos 90 (APPLEGATE et al., 1994) e 24978 cidades em 2004. A melhor marca foi obtida em abril de 2006 na solução de uma instância de 85900 cidades (APPLEGATE et al., 2006).

Conforme Goldbarg e Luna (2005), o estudo do PCV é de relevante importância e milhares de pesquisadores no mundo inteiro têm dedicado esforços na resolução do problema e na formulação de problemas correlatos, na literatura também chamados de variantes PCV.

Entre as variantes PCV mais conhecidas e publicadas, destacam se as seguintes com as suas respectivas abordagens:

a) O Problema dos Múltiplos Caixeiros Viajantes (PMCV)

O Problema dos Múltiplos Caixeiros Viajantes (PMCV) ou The Multiple Traveling Salesperson Problem (MTSP) (CARTER, 2006) envolve a programação de m > 1 caixeiros os quais devem visitar um conjunto de n > m locais sendo que cada local seja visitado exatamente uma vez, minimizando a distância total (ou máxima) percorrida pelos caixeiros. O PMCV é uma variante do PCV, com a complicação adicional que cada local poderá ser visitado por qualquer um dos caixeiros.

O Problema dos Múltiplos Caixeiros Viajantes (PMCV) pode ser usado para modelar muitos problemas práticos. O PMCV é semelhante ao PCV, que busca um percurso ótimo de n cidades, visitando cada cidade exatamente uma vez, sem sub percursos. No PMCV, as n cidades devem ser divididas em m percursos, resultando em um PCV para cada caixeiro. O PCMC é mais difícil do que o PCV porque requer que se determine quais cidades serão atribuídas a cada vendedor, bem como a ordem ótima das cidades em cada percurso dos caixeiros.

Talvez uma das mais tradicionais aplicações do PMCV esteja na área de agendamento. O agendamento de tarefas em uma linha de produção é frequentemente modelado como um PCV. Se a produção se expandiu a múltiplas linhas paralelas para que as tarefas possam ser atribuídas, o problema pode ser modelado como um PMCV (CARTER & RAGSDALE, 2006).

Outro problema que muitas vezes é modelado como um PMCV é o problema de agendamento de veículo (PAV). O PAV consiste no agendamento de um conjunto de veículos, todos partem de e regressam para uma garagem comum, para visitar uma série de localidades de modo que cada local seja visitado exatamente uma vez (PARK, 2001).

A variante do PCV que também pode ser modelada como um PMCV envolve um vendedor para visitar n cidades em uma série m de pequenos percursos. Esta variante descreve o problema de agendamento do pessoal de

venda / serviço que visitam n cidades ao longo de um período de tempo, mas viajam durante a semana e regressam pra casa no fim de semana.

b) O Problema do Caixeiro Viajante Competitivo (PCVC)

No Problema do Caixeiro Viajante Competitivo (PCVC) ou The Competitive Travelling Salesman Problem (CTSP) (AVERBAKH, 2006) apresentam se um caixeiro principal e um caixeiro competidor. Ambos partem simultaneamente e na mesma velocidade em busca de clientes. O caixeiro lucra quando chega primeiro do que o concorrente no cliente, portanto o caixeiro deve encontrar uma seqüência ótima de clientes, antecipando se ao concorrente, com o objetivo de maximizar o lucro em sua pior hipótese.

Como variações do problema os caixeiros podem dar partida no mesmo domicílio ou em domicílios diferentes, o percurso do caixeiro é escolhido a priori e não pode ser alterado ou este percurso pode ser dinâmico e dependente das ações do concorrente.

O modelo possui uma série de aplicações práticas, por exemplo, uma análise da complexidade do problema do roteamento ótimo de um servidor sobre uma rede de transportes, na presença de um servidor concorrente. O servidor que atinge um nó recebe primeiro o lucro a partir do nó.

Um tipo de situação concorrente é onde as empresas provedoras de expedição (por exemplo, vendedores ou técnicos) que oferecem produtos ou serviços no local. O pressuposto é que os produtos ou serviços são oferecidos aos clientes, sem planejamento prévio ou anúncio telefônico, pois um cliente tende mais a aceitar o serviço ou o produto em uma situação cara a cara e não por telefone, ou porque o produto precisa de uma demonstração. Se houver duas ou mais empresas que oferecem serviços similares, logo o cliente aceita o serviço da empresa cujo representante (servidor) atingi lo em primeiro lugar.

Então, se as empresas concorrentes expedirem os servidores simultaneamente, os seus lucros dependem dos percursos (sequências de visita aos clientes) que eles escolhem para os seus servidores.

c) O Problema do Caixeiro Viajante Dinâmico (PCVD)

Na maioria dos estudos de otimização as variáveis de decisão são determinísticas e possuem valor cujo cálculo independe das etapas de solução do problema. Contudo, não raramente, tanto os valores das variáveis quanto as restrições do problema podem ser alteradas ao longo do próprio processo de solução. Esses tipos de problemas são denominados usualmente de dinâmicos.

Em um Problema do Caixeiro Viajante Dinâmico (PCVD) ou The Dynamic Travelling Salesman Problem (DTSP) (YAN, 2004; HUANG, 2001), o número de cidades e a matriz de custos (distâncias) variam no tempo. Isto

significa que o número de cidades n(t) e a matriz de custo são dependentes do tempo (1) algumas cidades podem aparecer, (2) e algumas podem desaparecer (3) os locais de alguns podem ser modificados com o passar do tempo. Estes são os três tipos de ações para um DTSP.

A solução de um DTSP poderá ser designada como otimização de problemas bi objetivo. Um objetivo é minimizar o tamanho de janela de tempo. O segundo objetivo é encontrar o melhor percurso na janela de tempo mínimo. Se este objetivo não pode ser satisfeito, é possível fazer uma inversão entre eles.

d) O problema do Caixeiro Viajante Seletivo (PCVS)

Dado um grafo ponderado com lucros associados aos vértices, o problema do caixeiro viajante seletivo (ou problema orientado) consiste em selecionar um simples percurso de máximo lucro total, onde a distância do percurso não exceda a um limite pré determinado.

O problema do Caixeiro Viajante Seletivo (PCVS) ou The Selective Traveling Salesman Problem (STSP) (LAPORTE, 1990) consiste na busca de uma rota que visite um subconjunto de cidades, não excedendo um limite de custos previamente escolhido.

O STSP também é conhecido como Problema de Orientação (PO), Problema do Caixeiro Viajante Coletor de Prêmios (PCVCP), Problema do Percurso Orientado (PPO).

Existe um bônus em cada cidade, porém o caixeiro não pode ultrapassar o limite estabelecido de cidades, ou seja, deve se visitar um numero x de cidades de forma a obter se um máximo de bônus.

e) O Problema do Caixeiro Viajante Robusto com Intervalo de Dados

O Problema do Caixeiro Viajante Robusto com Intervalo de Dados ou The Robust Traveling Salesman Problem With Interval Data (MONTEMANNI et al., 2007) é uma extensão para o problema básico PCV em que os tempos de viagem são especificados como uma faixa de valores possíveis. Este modelo reflete as dificuldades intrínsecas para se estimar os tempos de viagem exatamente na realidade. O critério de desvio robusto é adotado para dirigir a otimização durante o problema do intervalo de dados assim obtidos.

A variação é motivada pela constatação de que a estimativa exata dos tempos de viagem é muitas vezes uma tarefa difícil, uma vez que eles dependem de muitos fatores que são difíceis de prever. A incerteza quanto aos dados deve ser consequentemente levada em conta.

Um percurso robusto é, intuitivamente, uma turnê que minimiza o desvio máximo do ótimo percurso sobre todas as realizações de custos das arestas. O objetivo da otimização é encontrar um ciclo Hamiltoniano (percurso), com o mínimo de custos, de acordo com a função dos custos associada com a noção de desvio robusto.

f) O Problema do Caixeiro Viajante com Backhauls (TSPB)

O Problema do Caixeiro Viajante com Backhauls (TSPB) ou The Traveling Salesman Problem with Backhauls (GENDREAU, 1996a) é um problema de roteamento de um único veículo em que os clientes são divididos em linehaul e backhaul. O problema consiste em projetar um percurso de custo mínimo no qual todos os clientes linehaul são visitados proximamente antes de todos os clientes backhaul. Esta é a forma com que várias operações de coleta e distribuição estão organizadas.

Neste problema o objetivo é determinar um percurso hamiltoniano de menor custo através de um conjunto de clientes backhaul e linehaul, de forma que todos os clientes backhaul sejam visitados contiguamente após os clientes linehaul.

g) O Problema do Caixeiro Viajante Branco e Preto (PCVBP)

O Problema do Caixeiro Viajante Branco e Preto (PCVBP) ou The Black and White Traveling Salesman Problem (BWTSP) (BOURGEOIS, 2003) é definido em um grafo G cujo conjunto de vértices está dividido em vértices pretos e brancos. O objetivo é desenhar o menor percurso Hamiltoniano em G sujeito a duas restrições: o número de vértices brancos e o comprimento do percurso entre dois vértices pretos consecutivos.

Consiste em desenhar um percurso contendo vértices pretos e brancos com restrições de comprimento e cardinalidade. Sujeito às seguintes limitações: (1) Restrição de Cardinalidade: o número de vértices brancos entre quaisquer dois vértices pretos consecutivos não pode ultrapassar um número inteiro positivo Q; (2) restrição de comprimento: a distância entre quaisquer dois vértices pretos consecutivos não pode exceder a um valor positivo L.

Encontrar um caminho hamiltoniano de menor distância sujeito a restrições adicionais de cardinalidade e comprimento. Estas restrições estão relacionadas respectivamente, ao maior número de vértices brancos (Q) e a maior distância percorrida (L) entre dois vértices pretos consecutivos em uma solução viável.

2.5 Algoritmos Metaheurísticos na Solução do PCV e suas Variantes