Acessibilidade / Reportar erro

Resolução de um caso real do problema dial-a-ride multicritério via clustering search

Solving a real case of the multicriteria dial-a-ride problem via a clustering search

Resumos

Este artigo apresenta um clustering search (CS) para o problema dial-a-ride (DARP) multicritério presente na cidade de Vitória (ES). Em Vitória, os usuários especificam requisições de transporte entre origens e destinos com janelas de tempo para os horários de embarque e desembarque; o transporte é realizado por uma frota homogênea de veículos localizados inicialmente em uma mesma garagem; busca-se assim definir um conjunto de rotas de atendimento que minimize o custo de transporte (normalmente, tempo ou distância), o número de veículos utilizados e o tempo total de espera dos usuários, respeitando restrições como as de capacidade dos veículos e de precedência (o embarque de um usuário deve preceder o seu destino em uma rota). Dessa forma, o CS aqui proposto foi capaz de tratar as particularidades do caso de Vitória, ES. Bons resultados computacionais são apresentados considerando instâncias reais obtidas na Secretaria de Transportes, Trânsito e Infraestrutura Urbana de Vitória, ES.

Dial-a-ride; Clustering search; Multicritério


This paper presents a clustering search (CS) algorithm for the multicriteria dial-a-ride problem (DARP) from Vitória, Espírito Santo State, Brazil. In Vitória, users submit pickup and delivery requests for transportation between various origins and destinations with time windows for the pickup and delivery; these requests are serviced by a homogeneous fleet of vehicles based at the same depot. The aim is to plan a set of vehicle routes to service all requests while minimizing the transportation cost (commonly length or travel times), the number of vehicles used and the total waiting time inside the vehicles, under constraints such as vehicle capacities and precedence (the origin of a user must precede his/her destination on the route). Our CS was able to handle the particularities present in Vitória. Good computational results are reported for practical instances provided by the Department of Transportation, Traffic and Urban Infrastructure of Vitória.

Dial-a-ride; Clustering search; Multicriteria


Resolução de um caso real do problema dial-a-ride multicritério via clustering search

Solving a real case of the multicriteria dial-a-ride problem via a clustering search

Patrícia Perretto RodriguesI; Rodrigo de Alvarenga RosaII; Leandro Colombi ResendoIII; Geraldo Regis MauriIV; Glaydston Mattos RibeiroV, ** UFRJ, Rio de Janeiro, RJ, Brasil

Ipatriciapr@petrobras.com.br, Petrobras, Brasil

IIrodrigo.a.rosa@ufes.br, UFES, Brasil

IIIleandro@ifes.edu.br, IFES, Brasil

IVmauri@cca.ufes.br, UFES, Brasil

Vglaydston@pet.coppe.ufrj.br, UFRJ, Brasil

RESUMO

Este artigo apresenta um clustering search (CS) para o problema dial-a-ride (DARP) multicritério presente na cidade de Vitória (ES). Em Vitória, os usuários especificam requisições de transporte entre origens e destinos com janelas de tempo para os horários de embarque e desembarque; o transporte é realizado por uma frota homogênea de veículos localizados inicialmente em uma mesma garagem; busca-se assim definir um conjunto de rotas de atendimento que minimize o custo de transporte(normalmente, tempo ou distância), o número de veículos utilizados e o tempo total de espera dos usuários, respeitando restrições como as de capacidade dos veículos e de precedência (o embarque de um usuário deve preceder o seu destino em uma rota). Dessa forma, o CS aqui proposto foi capaz de tratar as particularidades do caso de Vitória, ES. Bons resultados computacionais são apresentados considerando instâncias reais obtidas na Secretaria de Transportes, Trânsito e Infraestrutura Urbana de Vitória, ES.

Palavras-chave: Dial-a-ride. Clustering search. Multicritério.

ABSTRACT

This paper presents a clustering search (CS) algorithm for the multicriteria dial-a-ride problem (DARP) from Vitória, Espírito Santo State, Brazil. In Vitória, users submit pickup and delivery requests for transportation between various origins and destinations with time windows for the pickup and delivery; these requests are serviced by a homogeneous fleet of vehicles based at the same depot. The aim is to plan a set of vehicle routes to service all requests while minimizing the transportation cost (commonly length or travel times), the number of vehicles used and the total waiting time inside the vehicles, under constraints such as vehicle capacities and precedence (the origin of a user must precede his/her destination on the route). Our CS was able to handle the particularities present in Vitória. Good computational results are reported for practical instances provided by the Department of Transportation, Traffic and Urban Infrastructure of Vitória.

Keywords: Dial-a-ride. Clustering search. Multicriteria.

1. Introdução

No problema dial-a-ride (DARP), vários usuários realizam requisições de transporte para que possam ser transportados entre origens e destinos. Tradicionalmente, no DARP, um usuário típico faz duas requisições para um mesmo dia: uma de saída de sua residência até o seu destino e outra de retorno. Essas requisições são atendidas por uma frota de veículos que estão inicialmente localizados em um único depósito e apresentam restrições de capacidade. O problema clássico envolve projetar um conjunto de rotas de custo mínimo para os veículos de tal maneira que todos os usuários sejam atendidos (todas as requisições sejam satisfeitas) e todas as restrições existentes sejam atendidas. Normalmente, as restrições consideradas são as de capacidade dos veículos, de duração das rotas, de janelas de tempo e de tempo máximo de permanência no veículo ao longo das rotas (CORDEAU; LAPORTE, 2003).

No DARP tradicional, as janelas de tempo são normalmente impostas no desembarque das viagens de saída e no embarque das viagens de retorno. O DARP pode ser ainda classificado como estático ou dinâmico. O problema é considerado estático se todas as requisições de transporte são conhecidas no momento do planejamento das rotas, já no caso dinâmico as requisições são reveladas ao longo do tempo, durante a operação dos veículos (PARRAGH; DOERNER; HARTL, 2008). Recentemente, Berbeglia, Cordeau e Laporte (2010) apresentaram uma boa revisão sobre o DARP.

O DARP surgiu de uma aplicação prática na qual os usuários telefonavam requisitando o serviço de transporte porta a porta. Ele é voltado ao transporte de pessoas, podendo ser de cadeirantes, idosos, pessoas com dificuldade de mobilidade e que não apresentam condições de locomoção com autonomia nos meios de transportes coletivos convencionais (CUNHA, 2000;KARABUK, 2009).

Existem na literatura diversas aplicações do DARP, como em Madson, Ravn e Rygaard (1995), Toth e Vigo (2006, 1997), Karabuk (2009) e Paquette et al. (2012a, 2012b). Paquette et al. (2012b) acreditam que serviços dial-a-ride ganhem importância nos próximos anos devido ao envelhecimento da população e, assim, faz-se necessário desenvolver algoritmos especializados para resolver os diversos casos práticos do DARP, uma vez que o problema é NP-Hard (CORDEAU, 2006).

Devido ao DARP ser voltado ao transporte de pessoas, muitos trabalhos na literatura destacam que apenas minimizar o custo de transporte (normalmente tempo ou distância) pode não representar as reais necessidades dos usuários e que se faz necessário avaliar a qualidade do serviço (JORGENSEN; LARSEN; BERGVINSDOTTIR, 2007). Alguns autores, como Jorgensen, Larsen e Bergvinsdottir (2007) e Coslovich, Pesenti, Ukovich (2006), indicam que a qualidade do serviço pode ser medida pela diferença entre o horário desejado de chegada do usuário no destino final e o horário realmente obtido. Outros autores sugerem outros critérios de qualidade, como o tempo de viagem do usuário (JORGENSEN; LARSEN; BERGVINSDOTTIR, 2007), o tempo médio de viagem (PARRAGH et al., 2009), a razão entre o tempo de viagem direto e o tempo de viagem real obtido (WOLFLER-CALVO; COLORNI, 2007), o número máximo de paradas enquanto um usuário está a bordo (ARMSTRONG; GARFINKEL, 1982) e o tempo de espera pelo serviço dentro da janela de tempo (PAQUETTE et al., 2012b).

Muitos dos critérios citados acima são considerados como restrições ou como termos em uma função objetivo, tornando o problema multicritério. Este trabalho segue a segunda alternativa, dadas as condições existentes no DARP de Vitória, ES, apresentadas a seguir.

A Secretaria de Transportes, Trânsito e Infraestrutura Urbana de Vitória (Setran), estado do Espírito Santo, possui um serviço conhecido como Porta a porta. A Setran conta com uma frota homogênea de veículos que, em média, é composta por seis minivans adaptadas com elevador, local para amarração das cadeiras e assento para acompanhantes, as quais atendem a uma média de 200 requisições de transporte por semana, ou seja, 40 por dia (VITÓRIA, 2010). Os usuários especificam janelas de tempo para o embarque e desembarque das viagens requisitadas.

O operador do sistema de transporte busca atender todas as requisições diárias e, também, minimizar a distância total percorrida e o número total de veículos utilizados. Ao mesmo tempo, como critério de qualidade do serviço, ele busca garantir, por meio das janelas de tempo, que os horários de embarque e de desembarque solicitados pelos usuários não sejam ultrapassados em mais de 40 minutos, sendo 20 minutos antes e 20 minutos depois do horário agendado. Esse critério é tratado por meio de restrições, porém ele impacta negativamente no tempo de espera dos usuários, pois um usuário já embarcado no veículo pode, eventualmente, ficar aguardando o início da janela de tempo para atendimento do próximo usuário. Resultados computacionais mostrados mais adiante apresentam claramente esse problema. E, assim, o operador do sistema de transporte também busca minimizar o tempo total de espera dos usuários.

Este artigo tem como objetivo apresentar um modelo matemático para o DARP de Vitória, ES, baseado em trabalhos encontrados na literatura e que busca uma solução de compromisso entre o custo total de transporte, o número de veículos utilizados e o tempo total de espera dos usuários dentro do veículo. Como o modelo gerado apresenta uma complexidade computacional considerável,mesmo para solvers comerciais largamente utilizados como o CPLEX, este artigo também tem como objetivo apresentar um algoritmo clustering search (CS) baseado no trabalho de Kaiser (2009), que foi capaz de gerar soluções de boa qualidade para o caso prático de Vitória-ES.

O restante deste artigo estáestruturado da seguinte forma: na seção 2 é apresentado o modelo matemático do DARP multicritério. A seção 3 apresenta em detalhes a estrutura do CS implementado. Testes computacionais com instâncias reais da Setran são apresentados na seção 4. Por último, a seção 5 apresenta as considerações finais do artigo.

2. DARP multicritério: modelo matemático

O DARP multicritério considerado neste artigo pode ser modelado como um problema de programação linear inteira mista. Para isso, a formulação proposta por Mauri e Lorena (2009) pode ser utilizada. O modelo matemático dos autores, apresentado a seguir, foi obtido com base nos trabalhos de Bergvinsdottir (2004) e Cordeau (2006).

Seja n o número de usuários solicitando requisições de transporte e m o número de veículos disponíveis. Cada requisição de transporte possui um local de embarque i - {1,2,..., n} e um de desembarque n + i. Seja K o conjunto dos veículos disponíveis (|K| = m), G - o conjunto de depósitos de origem (de onde os veículos saem para executar suas rotas), G+ o conjunto de garagens de destino (para onde os veículos se deslocam após realizar o último desembarque previsto em sua rota), P o conjunto dos locais de embarque, U o conjunto dos locais de desembarque e N = G - PUG+ o conjunto com todos os locais (vértices).

Cada vértice i - P apresenta o número de pessoas qi a serem embarcadas, ou seja, o número de assentos a serem ocupados no veículo, e também uma janela de tempo [ei, li], ou seja, um intervalo de horário no qual os usuários qi desejam embarcar na sua origem. Por outro lado, o vértice n + i - U, que representa o desembarque dos usuários embarcados no vértice i - P, apresenta o número de pessoas ( - qi) a serem desembarcadas e uma janela de tempo para o desembarque [en+i,ln+i].

Cada veículo k E K tem uma capacidade conhecida , que e definida como sendo a quantidade de assentos disponiveis no veiculo k. Alem disso, cada veiculo k E K ainda possui um tempo maximo de duracao da rota T"k (horizonte de planejamento) associado a sua rota, que inicia em um deposito especifico termina em outro gG,+ podendo gk. ser igual a gk+. Todos os depositos ainda possuem suas proprias janelas de tempo na origem das viagens (nos depositos de origem) e no retorno (nos depositos de retorno).

Todos os clientes embarcados no vértice i - P possuem associado um tempo máximo de viagem R"i. Cada vértice i - {PU} possui associado um tempo máximo de espera W"i , ou seja, o tempo máximo em que os veículos poderão ficar esperando até iniciar o "serviço". Considera-se como serviço o embarque ou desembarque de um usuário em um determinado local, sendo atribuído um tempo definido como si. Por fim, dados os locais referentes aos depósitos e aos pontos de embarque e desembarque, têm-se as distâncias dij e as durações das viagens tij entre os pontos i - N e j - N (i j).

Sendo assim, o modelo de Mauri e Lorena (2009) busca minimizar os custos operacionais e a "insatisfação" dos clientes. Sob o ponto de vista de custos, o modelo busca minimizar a distância total percorrida em quilômetros pelos veículos e o número de veículos utilizados na solução do problema. Sob o ponto de vista de qualidade do serviço, o modelo busca minimizar a duração das rotas, o tempo de viagem dos clientes e o tempo de espera nos locais de embarque e desembarque.

Por outro lado, existe ainda um conjunto de requisitos essenciais que devem ser obedecidos, sendo eles:

• A duração da rota executada pelo veículo k - K não deve exceder o tempo máximo permitido ;

• O tempo de viagem do cliente i - P não deve exceder o tempo máximo de viagem permitido R"i;

• O tempo de espera no local i - {PU} não deve exceder o tempo máximo de espera permitido W"i;

• A capacidade Q"kk - K não pode ser excedida;

• O início do serviço em todos os locais i - N deve estar dentro dos intervalos pré-estabelecidos [ei, li].

Com as informações acima, podem-se definir as variáveis de decisão, então seja:

Ai o horário de chegada do veículo no vértice i - N que fará o atendimento, sendo Ai = 0 se i - G - ;

Di o horário de partida do veículo que atende o vértice i - N, sendo Di = 0 se i - G+ e Di = Bi + si se i - {PU} e Di = Bi se i - {G-};

Bi o horário de início do serviço no vértice i - N, sendo Bi = Di se i - G - e Bi = max{ei, Ai} se i - {PUG+};

Wi o tempo de espera antes do início do serviço no local i - N, sendo Wi = 0 se i - G - e Wi = Bi - Ai se i - {PUG+};

Qi a carga (número de assentos ocupados) do veículo que atende o vértice i - N, após o término do serviço, sendo Qi = 0 se i - {G - G+};

Ri o tempo de viagem do cliente i - P, sendo Ri = Bn+i - Di; e

xkij uma variável binária que, se igual a 1, indica que o veículo k - K deixa o vértice i - N em direção ao vértice j - N, sendo i j.

As variáveis que definem os horários de chegada e a carga dos veículos precisam ser atualizadas conforme a rota programada. Assim, considere Rk = (v1, v2, ..., vu) a rota programada para o veículo k - K. Sendo assim, para todo e para todo . Dessa maneira, a formulação matemática de Mauri e Lorena (2009) é apresentada a seguir:

Minimizar

A função objetivo (1) está dividida em cinco termos principais ponderados pelos pesos ω0, ω1, ω2, ω3 e ω4. O primeiro representa a distância total percorrida pelos veículos, o segundo indica o número de veículos utilizados para atender a todos os clientes, o terceiro representa o tempo total de duração das rotas, o quarto calcula o tempo total de viagem dos usuários e o último representa o tempo total de espera dos usuários. As restrições (2) e (3) garantem, respectivamente, que cada veículo deixa seu depósito de origem e chega a seu depósito de destino. As restrições (4) garantem que cada usuário será atendido uma única vez, por apenas um veículo. As restrições (5) garantem que um local de embarque estará sempre na mesma rota que seu respectivo local de desembarque. Já as restrições (6) e (7) são restrições tradicionais de fluxo. As restrições (8) determinam o horário de início do serviço em cada local de embarque e desembarque. Como mostrado em Cordeau (2006), essas restrições, em conjunto, garantem a eliminação de sub-rotas (sub-tours) no caso do DARP. A restrição (9) determina a carga dos veículos em cada local, enquanto as restrições (10), (11) e (12) garantem, respectivamente, os horários de chegada, de partida e os tempos de viagem dos usuários. A restrição (13) define valores iniciais para as variáveis associadas aos depósitos. As restrições (14)-(17) garantem, respectivamente, que o tempo total da rota deve respeitar o limite máximo indicado, que o tempo de viagem de um usuário deve respeitar um limite máximo, que o tempo de espera de um usuário deve respeitar um limite máximo e que o número de usuários embarcados deve respeitar a capacidade do veículo. A restrição (18) garante as janelas de tempo e, por fim, a restrição (21) indica que as variáveis de decisão i, j - N | i 1j, k - K, sejam todas binárias, enquanto as restrições (19) e (20) garantem que as demais variáveis sejam irrestritas.

Mauri e Lorena (2009) indicam que o modelo matemático (1)-(21) pode representar diversas variações do DARP como, por exemplo, problemas com garagem única e frota homogênea. A estrutura da função objetivo permite ponderar cinco objetivos conflitantes por meio de pesos, tornando o modelo multicritério. Em seu trabalho, Mauri e Lorena (2009) apresentam uma relaxação do modelo (1)-(21) de maneira que violações nas restrições (14)-(18) são permitidas. Mais detalhes sobre esse modelo são apresentados em Mauri e Lorena (2009).

Na seção 4 é apresentado como o modelo matemático (1)-(21) foi adaptado para representar o problema de Vitória (ES).

3. Clustering Search - CS

Como mencionando anteriormente, o CS implementado neste trabalho é baseado no trabalho de Kaiser (2009). O CS é uma meta-heurística híbrida proposta por Oliveira e Lorena (2007) que emprega agrupamentos para detectar regiões promissoras do espaço de busca. O CS generaliza a meta-heurística busca evolutiva por agrupamentos (evolutionary clustering search) proposta por Oliveira e Lorena (2004), substituindo o algoritmo evolutivo por outras meta-heurísticas, como simulated annealing (SA), GRASP ou Busca Tabu.

No CS, as soluções são agrupadas em clusters e cada nova solução é associada (direcionada) ao "melhor" cluster de acordo com uma métrica de distância. Um cluster é definido por meio de uma tupla (ςi, τi, βi), na qual ςi, τi e βi representam o centro, o volume e a ineficiência do cluster i, respectivamente. O centro ςi é uma solução que representa o cluster i, o volume τi define o número de soluções associadas ao cluster i e βi controla a estratégia de busca, indicando o número de vezes consecutivas que uma busca local foi aplicada no cluster i e não melhorou a principal solução do cluster, ou seja, o seu centro.

Basicamente, o CS trabalha da seguinte maneira: uma meta-heurística gera soluções que são agrupadas nos clusters. Quando uma nova solução é então gerada, ela é enviada ao cluster mais próximo. Esse processo ativa o cluster escolhido, causando um distúrbio e, assim, um processo de assimilação é iniciado. Em intervalos regulares, todos os clusters são avaliados a fim de identificar-se um que seja promissor. Se algum cluster se torna promissor, uma estratégia de busca é aplicada sobre o seu centro. Se a estratégia de busca é aplicada βmax vezes sem sucesso (sem melhorar o centro do cluster), um distúrbio é aplicado no centro do cluster. Isso evita intensificar a busca em áreas que já foram suficientemente exploradas.

O CS para o DARP multicritério apresentado neste artigo é composto de seis elementos principais: gerador de soluções, agrupamento iterativo, função objetivo penalizada, processo de assimilação, processo de análise e estratégia de busca. A seguir, são apresentados cada um destes elementos.

3.1. Gerador de soluções

O simulated annealing (SA) proposto por Mauri e Lorena (2009) é usado como gerador de soluções para o agrupamento. A partir de uma solução inicial, o SA executa pequenos movimentos na vizinhança da solução atual. A solução inicial é gerada pelas heurísticas de distribuição e de programação apresentadas em Mauri e Lorena (2009).

Três vizinhanças N1, N2 e N3 são utilizadas: a vizinhança N1 consiste em reordenar uma rota; a vizinhança N2 consiste em realocar um vértice de uma rota para outra; e a vizinhança N3 consiste em trocar vértices entre duas rotas. Essas vizinhanças são similares às utilizadas por Mauri e Lorena (2009) e são baseadas nos trabalhos de Cordeau e Laporte (2003), Jorgensen, Larsen e Bergvinsdottir (2007), Savelsbergh (1992) e Toth e Vigo (1997).

3.2. Agrupamento iterativo

Considerando o número de clusters g, uma nova solução s, gerada pelo SA, é atribuída ao cluster i mais próximo, de acordo com a distância de Hamming Hi (HAMMING, 1950), que indica o número de arcos diferentes entre as soluções s e ζi. Assim, nesse processo, a solução s é atribuída ao cluster i que minimiza a função

3.3. Função objetivo penalizada

A função objetivo utilizada no CS é similar à utilizada por Mauri e Lorena (2009), na qual as restrições (14)-(18) são relaxadas por meio de um vetor de penalizações θ = {θ0, θ1, θ2, θ3, θ4} e adicionadas à função objetivo (1). Assim, uma solução s é avaliada por meio da seguinte função:

3.4. Processo de assimilação

Definido o cluster i para o qual uma solução s deverá ser assimilada, o centro desse cluster ςi e seu volume τi são atualizados. Neste trabalho, um path-relinking (GLOVER, 1996) é aplicado entre as soluções s e ςi. Essa estratégia explora diversas soluções intermediárias, intensificando e diversificando a busca dentro do cluster i. O path-relinking foi implementado de forma inversa, partindo da solução ςi (sinicial) para a solução s (sfinal). O processo inicia pelo cálculo da diferença simétrica entre as soluções D(sinicial, sfinal), i.e., o número de movimentos necessários para alcançar a solução sfinal a partir da solução sinicial. A cada passo, cada vértice é alterado de sua posição para a posição indicada em sfinal. Assim, o movimento que resultar na melhor solução é aplicado em s e o conjunto de movimentos possíveis é atualizado. O processo termina quando não existir mais movimentos possíveis, ou seja, quando a solução final sfinal for obtida. Por fim, a melhor solução obtida durante todo o processo passa a ser o novo centro do cluster i. Esse processo é ilustrado na Figura 1.


3.5. Processo de análise

O nível de atividade de cada cluster i é indicado pelo seu volume τi e, quando esse volume atinge um limite τmax, o cluster i deve ser investigado por uma estratégia de busca, pois o mesmo se tornou promissor. Segundo Chaves e Lorena (2010), a estratégia de busca deve ser específica ao problema e deve ser aplicada ao centro do cluster ςi.

3.6. Estratégia de busca

Uma busca local é usada para intensificar a exploração do cluster mais promissor. Neste trabalho, a busca local é baseada na retirada de uma requisição (vértices de embarque e desembarque) de uma rota e na inserção dessa requisição em outra rota, nas melhores posições possíveis para seus vértices. Esse processo é repetido até que nenhuma melhora seja obtida. Caso a ineficiência do cluster ii) alcance o limite βmax, que indica o número de vezes que a busca local é aplicada sem melhoras, uma perturbação é aplicada em ςi por meio da vizinhança N2.

A partir desses seis elementos, tem-se o CS implementado (Figura 2), que utiliza como base no trabalho de Kaiser (2009) o SA proposto por Mauri e Lorena (2009).


4. Experimentos computacionais

O CS foi implementado em C++ e os experimentos computacionais realizados em um computador equipado com processador Pentium Core 2 Duo de 2.0 GHz, com 3 GB de memória RAM e sistema operacional Windows.

O CS foi testado com as instâncias reais da cidade de Vitória (ES) apresentadas por Rodrigues (2011) e disponíveis em http://www.grmauri.pro.br/problems.html. Estão disponíveis 56 instâncias (Vit1-Vit56), com o número de usuários variando entre 10 e 50 (20 e 100 pontos de embarque e desembarque), com o número de veículos variando entre 2 e 6 e com a capacidade variando entre 3 e 6 usuários por veículo. Todas as instâncias contam com um único depósito, frota homogênea e não consideram tempo máximo de espera. Assim, o modelo matemático (1)-(21) pode ser facilmente adaptado às instâncias consideradas, como mostrado a seguir.

Para representar as necessidades da Setran, os seguintes valores foram utilizados para os pesos da função objetivo multicritério definida em (1): (ω0, ω1, ω2, ω3, w4) = (1, 10, 0, 0, 1). No problema prático da Setran, o custo diário para utilizar um veículo é superior ao custo do quilômetro rodado. Assim, optou-se por "calibrar" esses valores adotando o peso ω1 = 10, visando minimizar o número de veículos utilizados e também minimizar a distância total percorrida pelos veículos. Além disso, também foi considerada a qualidade do serviço prestado, por meio da minimização do tempo de espera dos usuários dentro dos veículos (w4 = 1). Esta configuração é denominada Cenário multicritério.

Optou-se também por realizar experimentos minimizando apenas o custo de transporte considerado pela Setran, ou seja, com (ω0, ω1, ω2, ω3, w4) = (1, 0, 0, 0, 0), minimizando a distância total percorrida. Essa configuração é denominada Cenário distância.

A comparação entre esses dois cenários será útil para avaliar os resultados obtidos pela configuração Cenário multicritério em relação aos parâmetros de qualidade definidos pela Setran. As denominações Cenário multicritério e Cenário distância são utilizadas nas tabelas da seção 4.2 para indicar qual configuração foi considerada.

4.1. Calibração do CS

Para ajustar os parâmetros do CS, cinco instâncias foram selecionadas aleatoriamente (Vit3, Vit8, Vit19, Vit44 e Vit52) e, com base na fase de implementação, alguns valores foram testados de maneira a obter os melhores resultados para essas instâncias. A metodologia utilizada por Ropke e Pisinger (2006) para definir os parâmetros da adaptive large neighborhood search (ALNS), proposta pelos autores para resolver vários problemas de roteamento de veículos, foi seguida para ajuste do CS. Essa metodologia também foi seguida por Ribeiro, Laporte e Mauri (2012). No caso do CS, os parâmetros a serem ajustados são: g, τmax, βmax, T0, TC, a e SAmax. Especial atenção foi dada aos pesos θ0, θ1, θ2, θ3 e θ4 (θ = {1,5 × 103; 1,5 × 103; 1,5 × 103; 1,5 × 103; 1,5 × 103}), que penalizam as violações das restrições como apresentado na seção 3.3. Valores elevados para esses parâmetros deixam a busca estagnada em ótimos locais de baixa qualidade. Para essa fase de ajuste, foi considerada a configuração Cenário multicritério.

Sendo assim, o ajuste dos parâmetros foi realizado da seguinte maneira: cada parâmetro ajustado recebeu vários valores, enquanto os demais foram mantidos fixos. Os valores utilizados inicialmente para os parâmetros foram aqueles considerados durante o processo de implementação do CS. O CS então foi executado cinco vezes para cada configuração e aquele valor que resultasse no melhor resultado médio era então escolhido. Uma vez definido o valor ideal do parâmetro em fase de ajuste, outro parâmetro era então avaliado, seguindo a mesma metodologia, até que todos fossem fixados. A Tabela 1 apresenta os melhores valores encontrados para todos os parâmetros.

4.2. Resultados computacionais

Esta seção apresenta os resultados computacionais do CS. O algoritmo foi aplicado 10 vezes para cada instância e os resultados médios estão nas Tabelas 2 a 7, sendo que as colunas indicam:

• CAP: capacidade dos veículos;

• VU: número de veículos utilizados;

• DST: distância total percorrida em quilômetros pela frota;

• DUR: duração total das rotas em termos de tempo;

• TTE: tempo total de espera (em minutos); e

• T(s): tempo computacional médio necessário para execução do algoritmo.

O CPLEX 12.2 foi utilizado na configuração Cenário distância e todas as instâncias com 10 usuários foram resolvidas otimamente em um tempo computacional médio de 408,12 segundos. Para essas instâncias, o CS apresentou um erro médio de 0,03% e suas soluções foram obtidas em 14,42 segundos. O CPLEX ainda conseguiu resolver as instâncias Vit12 e Vit16 com 15 clientes e, nesse caso, o tempo computacional médio foi de 2.987,03 segundos. Para essas instâncias, o CS apresentou um erro médio de 1,74% e suas soluções foram obtidas em 33,10 segundos. Por último, o CPLEX ainda obteve êxito nas instâncias Vit21 e Vit26 com 20 clientes, com tempo computacional médio de 2.878,88 segundos. O CS obteve um erro médio de 0,98% e suas soluções foram obtidas em 48,51 segundos. As demais instâncias, o CPLEX não conseguiu resolvê-las dentro do tempo limite estipulado de 2 horas (7.200 segundos). Esse valor de duas horas foi adotado com base no tempo disponível que o operador do programa Porta a porta tem para programar e enviar as rotas aos veículos que irão circular.

Analisando globalmente as Tabelas 2 a 7, percebe-se que à medida que as instâncias aumentam de tamanho, em termos de número de usuários e de veículos disponíveis, o tempo total de espera aumenta consideravelmente para a configuração Cenário distância. Por exemplo, para instâncias com 30 usuários (Tabela 5), o tempo total de espera é de 540 minutos em média, o que equivale a 18 minutos por usuário. Entretanto, ao analisar as soluções obtidas (as rotas geradas), percebe-se que existem usuários aguardando mais de 30 minutos dentro do veículo para que a janela de tempo do próximo usuário seja atendida.

Ao analisar a configuração Cenário multicritério, verifica-se que a duração total das rotas e o tempo total de espera reduzem significativamente em função de um aumento na distância total percorrida e no número de veículos. Por exemplo, novamente para as instâncias com 30 usuários, percebe-se que o tempo total de espera é de aproximadamente 10 minutos, o que equivale a 20 segundos em média, ou seja, praticamente não há espera nos pontos de embarque e desembarque. A duração total média das rotas é de 727 minutos, contra 1.177 minutos da configuração Cenário distância. Por outro lado, o número de veículos utilizados e a distância total percorrida foram iguais a 3,56 veículos e 535,98 km, respectivamente, contra 3,54 veículos e 456,68 km, também em relação à configuração "Custo".

A Figura 3 apresenta um resumo dos resultados obtidos com base nas variáveis analisadas (VU, DST, DUR, TTE e T(s)) para as instâncias com diferentes números de requisições, conforme legenda. Para a construção dessa figura, foram consideradas apenas as médias de cada métrica avaliada para todos os tamanhos de instâncias analisados, para as configurações Cenário multicritério (Figura 3a) e Cenário distância (Figura 3b). Além disso, cabe destacar que cada cliente gera duas requisições e, para melhor visualização, os resultados da variável VU (veículos utilizados) foram multiplicados por 100.


Com base na Figura 3 pode-se perceber que no Cenário distância ocorre um crescimento quase exponencial das variáveis DUR e TTE. Isso se deve ao fato de que nesse cenário a função objetivo minimiza apenas a distância total percorrida. Assim, como não está sendo considerado o tempo da rota ou tempo de espera dos usuários, observa-se que as configurações geradas pelo Cenário distância apresentam um grande tempo de espera para os usuários, ou seja, um usuário já embarcado fica aguardando a janela de tempo de outro. Além disso, pode-se perceber que DUR está diretamente relacionado a DST e a TTE.

Por outro lado, no Cenário multicritério, o crescimento de DUR é quase linear e de TTE é insignificante, como mencionado. Isso ocorre porque, nesse caso, além de DST, também está prevista a minimização de TTE e VU. Assim, a variável DUR dependerá basicamente de DST, que apresenta um resultado similar em ambos os casos. A contrapartida da redução do número de veículos no Cenário multicritério se dá com o aumento de DST, embora pequeno. Tal aumento na variável DST já era esperado pois, como o problema descrito se assemelha ao m-TSP (multiple traveling salesman problem), esse fenômeno já foi descrito por Bektas (2006).

5. Conclusões

Tendo em vista a importância dos programas públicos de inclusão social de pessoas com deficiência de locomoção e o alto custo de implantação e manutenção deles pelas prefeituras, são importantes estudos de modelos e métodos que visem reduzir os custos para perenizar todos os programas.

Assim, este artigo apresentou um modelo matemático e uma heurística que busca reduzir custos e manter a qualidade de um programa de inclusão de pessoas com deficiência de locomoção, o Porta a porta, de Vitória (ES).

Uma importante contribuição deste trabalho está relacionada à aplicação prática do DARP, visando solucionar um problema de transporte importante para a inclusão social de pessoas com deficiência de locomoção. Como esse programa é de custo zero para os usuários, uma forma de torná-lo perene é reduzir seus custos, para que as prefeituras consigam mantê-los. Este estudo proporciona às prefeituras a oportunidade de executar um programa social a custos mais baixos e, sobretudo, mantendo a qualidade necessária para atender o caráter social do programa.

Outra contribuição é a aplicação da meta-heurística CS a um problema prático com bons resultados, se comparados com os obtidos com o CPLEX. Dado que o operador de transporte tem duas horas por dia, no máximo, para elaborar as rotas, inviabilizando a solução por técnicas exatas, o CS surge como uma ferramenta interessante de apoio ao processo de tomada de decisão, uma vez que os seus tempos computacionais não passaram de 2 mil segundos, ou seja, pouco mais de 30 minutos. Com isso, o tempo restante, cerca de uma hora e meia, poderá ser utilizado para orientar melhor os motoristas.

Agradecimentos

Os autores agradecem ao Conselho Nacional de Desenvolvimento Científico e Tecnológico - CNPq (processos 300747/2010-1, 477148/2011-5 e 307002/2011-0) e à Fundação de Amparo à Pesquisa do Espírito Santo - FAPES (Processo 53630742/2011), pelo apoio financeiro. Os autores também agradecem a Setran pelos dados disponibilizados. Os autores ainda agradecem aos revisores anônimos pelas ótimas sugestões fornecidas.

Recebido 17/02/2012

Aceito 01/09/2012

  • ARMSTRONG, G. R.; GARFINKEL, R. S. Dynamic programming solution of the single and multiple vehicle pickup and delivery problem with application to dial-a-ride Universidade do Tennessee, 1982. Working paper n. 162.
  • BEKTAS, T. The multiple traveling salesman problem: an overview of formulations and solution procedures. Omega, v. 34, p. 209-219, 2006. http://dx.doi.org/10.1016/j.omega.2004.10.004
  • BERBEGLIA, G.; CORDEAU, J. F.; LAPORTE, G. Dynamic pickup and delivery problems. European Journal of Operational Research, v. 202, p. 8-15, 2010. http://dx.doi.org/10.1016/j.ejor.2009.04.024
  • BERGVINSDOTTIR, K. B. The genetic algorithm for solving the dial-a-ride problem 2004. 150 f. Dissertation (Master of Science in Engineering)-Technical University of Denmar, Lyngby, 2004.
  • CHAVES, A. A.; LORENA, L. A. N. Clustering search algorithm for the capacitated centered clustering problem. Computers & Operations Research, v. 37, p. 552-558, 2010. http://dx.doi.org/10.1016/j.cor.2008.09.011
  • CORDEAU, J.-F.; LAPORTE, G. A tabu search heuristic for the static multi-vehicle dial-a-ride problem. Transportation Research Part B, v. 37, p. 579-594, 2003. http://dx.doi.org/10.1016/S0191-2615(02)00045-0
  • CORDEAU, J.-F. A branch-and-cut algorithm for the dial-a-ride problem. Operations Research, v. 54, p. 573-586, 2006. http://dx.doi.org/10.1287/opre.1060.0283
  • COSLOVICH, L.; PESENTI, R.; UKOVICH, W. A two-phase insertion technique of unexpected customers for a dynamic dial-a-ride problem. European Journal of Operational Research, v. 175, p. 1605-1615, 2006. http://dx.doi.org/10.1016/j.ejor.2005.02.038
  • CUNHA, C. B. Aspectos práticos da aplicação de modelos de roteirização de veículos a problemas reais. Transportes, v. 8, p. 51-74, 2000.
  • GLOVER, F. Tabu search and adaptive memory programming: advances, applications and challenges. In: BARR, R.; HELGASON, R.; KENNINGTON, J. (Eds.). Interfaces in Computer Science and Operations Research Boston: Kluwer, 1996. p. 1-75. PMid:8842811.
  • HAMMING, R. W. Error detecting and error correcting codes. Bell System Technical Journal, v. 26, p. 147-160, 1950.
  • JORGENSEN, R. M.; LARSEN, J.; BERGVINSDOTTIR, K. B. Solving the dial-a-ride problem using genetic algorithms. Journal of the Operational Research Society, v. 58, p. 1321-1331, 2007. http://dx.doi.org/10.1057/palgrave.jors.2602287
  • KAISER, M. S. Aplicação de metaheurística híbrida na resolução do problema dial-a-ride 2009. 83 f. Dissertação (Mestrado em Engenharia de Transportes)-Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2009.
  • KARABUK, S. A nested decomposition approach for solving the paratransit vehicle scheduling problem. Transportation Research Part B, v. 43, p. 448-465, 2009. http://dx.doi.org/10.1016/j.trb.2008.08.002
  • MADSON, O. B. G.; RAVN, H. F.; RYGAARD, J. M. A heuristic algorithm for the dial-a-ride problem with time windows, multiple capacities and multiplie objectives. Annals of Operations Research, v. 60, p. 193-208, 1995. http://dx.doi.org/10.1007/BF02031946
  • MAURI, G. R.; LORENA, L. A. N. Uma nova abordagem para o problema dial-a-ride. Produção, v. 19, p. 41-54, 2009. http://dx.doi.org/10.1590/S0103-65132009000100004
  • OLIVEIRA, A. C. M.; LORENA, L. A. N. Detecting promising areas by evolutionary clustering search. In: BAZZAN, A. L. C.; LABIDI, S. Advances in Artificial Intelligence SBIA 2004. Lecture Notes in Computer Science, v. 3171, p. 318-323, 2004.
  • OLIVEIRA, A. C. M.; LORENA, L. A. N. Hybrid evolutionary algorithms and clustering search. Hybrid Evolutionary Algorithms, Studies in Computational Intelligence, v. 75, p. 77-99, 2007. http://dx.doi.org/10.1007/978-3-540-73297-6_4
  • PAQUETTE, J. et al. Measuring quality of service in dial-a-ride operations: the case of a Canadian city. Transportation, p. 1-26, 2012a. http://dx.doi.org/10.1007/s11116-011-9375-4
  • PAQUETTE, J. et al. Combining multicriteria analysis and tabu search for dial-a-ride problems. Transportation Research Part B, 2012b. Submetido.
  • PARRAGH, S. N.; DOERNER, K. F.; HARTL, R. F. A survey on pickup and delivery problems Part II: transportation between pickup and delivery locations. Journal für Betriebswirtschaft, v. 58, p. 81-117, 2008. http://dx.doi.org/10.1007/s11301-008-0036-4
  • PARRAGH, S. N. et al. A heuristic two-phase solution approach for the multi-objective dial-a-ride problem. Networks, v. 54, p. 227-242, 2009. http://dx.doi.org/10.1002/net.20335
  • RIBEIRO, G. M.; LAPORTE, G.; MAURI, G. R. A comparison of three metaheuristics for the workover rig routing problem. European Journal of Operational Research, v. 220, n. 1, p. 28-36, 2012. http://dx.doi.org/10.1016/j.ejor.2012.01.031
  • RODRIGUES, P. P. Proposta de um modelo matemático para o problema dial-a-ride aplicado ao transporte de cadeirantes 2011. 148 f. Dissertação (Mestrado em Engenharia Civil - Transportes)-Universidade Federal do Espírito Santo, Vitória, 2011.
  • ROPKE, S.; PISINGER, D. An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows. Transportation Science, v. 40, p. 455-472, 2006. http://dx.doi.org/10.1287/trsc.1050.0135
  • SAVELSBERGH, M. W. P. The vehicle routing problem with time windows: minimizing route duration. ORSA Journal on Computing, v. 4, p. 146-154, 1992. http://dx.doi.org/10.1287/ijoc.4.2.146
  • TOTH, P.; VIGO, D. Fast local search algorithms for the handicapped persons transportation problem. In: OSMAN, I. H.; KELLY, J. P. (Eds.). Meta-heuristics: Theory and Applications. Boston: Kluwer, 2006. p. 60-71.
  • TOTH, P.; VIGO, D. Heuristic algorithms for the handicapped persons transportation problem. Transportation Science, v. 31, p. 60-71, 1997. http://dx.doi.org/10.1287/trsc.31.1.60
  • VITÓRIA (Município). Secretaria de Transportes, Trânsito e Infraestrutura Urbana - SETRAN. Cadeirantes contam com transporte porta a porta Disponível em: <http://www.vitoria.es.gov.br/setran.php?pagina=transporteportaaporta> Acesso em: 07 abril 2010.
  • WOLFLER-CALVO, R.; COLORNI, A. An effective and fast heuristic for the dial-a-ride problem. 4OR: A Quarterly Journal of Operations Research, v. 5, p. 61-73, 2007.
  • *
    UFRJ, Rio de Janeiro, RJ, Brasil
  • Datas de Publicação

    • Publicação nesta coleção
      23 Jul 2013
    • Data do Fascículo
      Set 2014

    Histórico

    • Aceito
      01 Set 2012
    • Recebido
      17 Fev 2012
    Associação Brasileira de Engenharia de Produção Av. Prof. Almeida Prado, Travessa 2, 128 - 2º andar - Room 231, 05508-900 São Paulo - SP - São Paulo - SP - Brazil
    E-mail: production@editoracubo.com.br