• Nenhum resultado encontrado

HEURÍSTICAS GRASP E RECONEXÃO POR CAMINHOS APLICADAS AO PROBLEMA DE ESCALONAMENTO DE TRIPULAÇÕES

N/A
N/A
Protected

Academic year: 2021

Share "HEURÍSTICAS GRASP E RECONEXÃO POR CAMINHOS APLICADAS AO PROBLEMA DE ESCALONAMENTO DE TRIPULAÇÕES"

Copied!
12
0
0

Texto

(1)

HEURÍSTICAS GRASP E RECONEXÃO POR CAMINHOS APLICADAS

AO PROBLEMA DE ESCALONAMENTO DE TRIPULAÇÕES

Hugo Vinícius Bassi

Universidade Federal de Ouro Preto hugoufop@gmail.com

Gustavo Peixoto Silva

Universidade Federal de Ouro Preto gustavo@iceb.ufop.br

Euler Horta Marinho

Universidade Federal de Ouro Preto euler@decea.ufop.br

Marcone Jamilson Freitas Souza

Universidade Federal de Ouro Preto marcone@iceb.ufop.br

RESUMO

Este trabalho aborda o Problema da Programação de Tripulações (PPT) do sistema de transporte público. Tradicionalmente, ele é resolvido a partir da solução do Problema de Programação dos Veículos (PPV), ou seja, da frota em operação. Assim, a solução do PPT depende da programação adotada para os veículos, a qual restringe o método de otimização na busca por soluções de menores custos para as tripulações. Este trabalho é inovador uma vez que o PPT é resolvido a partir do quadro de horários das viagens, isto é, antes de realizar a programação dos veículos. Para tanto, foram implementadas três versões da metaheurística GRASP, duas das quais utilizando o mecanismo de Reconexão por Caminhos. Os algoritmos foram testados com dados de um conjunto de empresas que atuam em Belo Horizonte MG e os resultados mostram que a abordagem proposta é superior ao método clássico de resolução do PPT.

PALAVRAS-CHAVE: Programação de Tripulações de Ônibus, GRASP, Metaheurística. ABSTRACT

This work tackles the Crew Scheduling Problem (CSP) from the mass transit system. Traditionally, this problem is solved bearing in mind the solution for the Vehicle Scheduling Problem (VSP). Therefore, the solution for the CSP is highly dependent from the vehicle schedule adopted, which constraints the optimization method in the search for the crews lower cost solutions. This work is novel once the CSP is solved directly from the trip time table, before the vehicle schedule is defined. In order to solve the problem, three versions from the GRASP algorithm (Greedy Randomized Adaptive Search Procedure) were developed, two of them making use from Path-Relinking technique. The model was tested with data from a set of companies that operates in Belo Horizonte city and the results show that the proposed methodology provides solution with higher quality then the classical one can produce.

(2)

1. Introdução

Devido à complexidade do planejamento de um Sistema de Transporte Público, ele é dividido em algumas etapas, sendo que os dados de saída de uma servem como entrada para a etapa subseqüente. As principais etapas deste processo são: o planejamento das rotas, a definição da tabela de horários, a programação dos veículos, a programação das tripulações e, finalmente, o rodízio das tripulações. Neste trabalho, estamos preocupados em aumentar a utilização da mão de obra operacional, ou seja, das tripulações uma vez que esta é a componente de maior peso na planilha de custos do sistema (Bouzada 2003).

Na literatura são mencionados três tipos de abordagens para a resolução dos problemas de programação dos veículos e das tripulações: Tradicional, Integrada e Independente. A abordagem tradicional foi a primeira a ser estudada e é normalmente adotada pelas empresas. Ela consiste em resolver o Problema da Programação de Veículos (PPV) e em seguida, considerando a solução deste, resolver o Problema da Programação de Tripulações (PPT) dependente. Sua maior utilização se deu a partir de 1960, no Reino Unido, com as atividades de Antony Wren com o desenvolvimento, testes e implementação de soluções computacionais no âmbito da programação de ônibus, trens e suas tripulações (Wren, 2004). Em 1963, seu primeiro trabalho, na área de programação de trens para British Railways, o número de locomotivas foi reduzido de 15 para 12, mesmo sofrendo resistência na aceitação de seu método e a falta de prova que o mesmo chegava a uma solução próxima do ótimo. Para a programação das tripulações dos trens, o maior problema enfrentado envolveu 15 estações de trem e mais de 400 turnos diários: o sistema desenvolvido, denominado TRACS, indicou economias entre 5 a 10% no número de turnos.

Recentemente têm surgido na literatura modelos do segundo tipo, ou seja, modelos que consideram a integração completa da programação dos veículos e de suas tripulações. A primeira formulação matemática foi proposta por Freling et al. (1995) que se baseia na geração de colunas aplicada a um modelo de particionamento. Haase e Friberg (1999) propuseram um algoritmo exato que modela a programação dos veículos e das tripulações por meio de restrições de particionamento de conjuntos. Os autores propõem um algoritmo do tipo branch-and-cut-and-price, no qual a geração de colunas e a geração de cortes são combinadas em um algoritmo do tipo branch-and-bound. O problema mestre da geração de colunas corresponde à relaxação do modelo de programação linear, enquanto o problema de pricing corresponde a um problema de caminho mínimo para gerar a programação dos veículos e um problema de caminho mínimo com restrições de recursos para gerar a programação das tripulações.

Outro tipo de abordagem utilizada para a resolução do PPV e do PPT é a Independente. Nessa abordagem, o PPV é resolvido ignorando-se a programação dos tripulantes, e em seguida resolve-se o PPT independentemente dos resultados alcançados para o PPV. Geralmente, os resultados obtidos por essa abordagem são inviáveis do ponto de vista prático, pois, apesar de obter soluções com os menores custos para o PPV e para o PPT, dificilmente as soluções são compatíveis entre si. Uma referência para a abordagem independente é o trabalho de Yunes (2000). Nele, foram estudadas diversas técnicas como algoritmos de Programação por Restrições, branch-and-bound, branch-and-price com Programação Dinâmica, branch-and-price com Programação por Restrições e heurística Lagrangeana aplicadas aos problemas de programação e rodízio de tripulações. No caso da programação de tripulações, a interação entre Programação Linear Inteira e Programação por Restrições (mecanismo híbrido) produziram resultados altamente satisfatórios, provando a otimalidade para instâncias maiores do problema em tempos de execução mais curtos. Para o caso do rodízio de tripulações, somente por meio do mesmo tipo de modelo (híbrido) foi possível encontrar soluções de fato ótimas, porém para instâncias de pequeno porte.

Em relação às metaheurísticas utilizadas na resolução de problemas combinatoriais de grande porte, tem-se observado uma atenção especial dada às aplicações de algoritmos GRASP - Greedy Randomized Adaptive Search Procedure (Feo e Resende 1995) com a técnica de Reconexão por Caminhos. Um exemplo disso é o artigo de Resende e Ribeiro (2005), que aborda os avanços recentes em tal metodologia. Entre eles, são citados os problemas de

(3)

Roteamento de Circuitos Virtuais Privados, designação a uma rede 2-caminho, problema da p-mediana e problema de atribuição a três índices. Para o caso do problema da p-p-mediana, foi mostrado que o algoritmo que utiliza GRASP com Reconexão por Caminhos é robusto e que sua performance é pelo menos tão boa quanto os demais métodos, e frequentemente melhor em termos tanto de qualidade quanto de tempo de execução. Em todos os casos, as soluções obtidas através de GRASP com Reconexão por Caminhos estiveram dentro das 0,1% melhores limites superiores conhecidos.

Neste trabalho é apresentada a primeira etapa de um modelo que inverte a seqüência de resolução dos problemas de programação dos veículos e tripulações. Assim, o PPT é resolvido a partir do quadro de horários, anteriormente à definição da frota que será utilizada na operação. A partir da solução do PPT é que será resolvido o PPV tendo como entrada a programação das tripulações. Para a resolução do PPT foram implementadas três versões da metaheurísitca GRASP, duas delas utilizando a técnica de Reconexão por Caminhos. As versões foram testadas com os dados de um conjunto de empresas de transporte público que atuam na região do Barreiro, em Belo Horizonte. Os resultados foram comparados com aqueles obtidos pela resolução do PPT Tradicional e se mostraram bem superiores.

Este artigo está organizado como segue. Na seção 2 é descrito o problema abordado. A seção 3 apresenta a metodologia adotada, incluindo a forma de representação do problema e de construção de uma solução inicial, além da estrutura de vizinhança, a função de avaliação e a adaptação das técnicas heurísticas GRASP e Reconexão por Caminhos ao problema. A seção 4 mostra os resultados encontrados e a seção 5 conclui o trabalho e aponta os trabalhos futuros.

2. Descrição do Problema Abordado

Neste trabalho, a Programação de Tripulações é feita a partir do quadro de viagens conforme exemplificado na Tabela 1. Nesta tabela se encontram os dados das viagens a serem realizadas por uma certa empresa em um dado dia da semana. Neste quadro, cada viagem é identificada pelo seu número, horário e ponto de partida, horário e ponto de término, linha a que pertence e o tempo mínimo de embarque e desembarque da viagem.

Tabela 1: Exemplo de um quadro de viagens e suas características Viagem Horário de partida Horário de chegada Ponto de partida Ponto de chegada Linha Tempo de embarque - desembarque 1 10:05 11:10 A A 30 1-1 2 10:05 10:38 B B 302 1-1 3 10:20 11:16 A A 30 1-1 4 14:00 14:25 B B 302 1-1 5 14:15 15:09 A A 30 1-2 6 14:20 14:41 B B 302 1-1

A programação de uma tripulação consiste em um conjunto de viagens que formam uma Jornada. As jornadas são divididas em dois tipos: Pegada Simples ou Pegada Dupla. No primeiro tipo, as viagens são realizadas de uma única vez e os intervalos de tempo entre elas são sempre menores que duas horas. A duração normal de uma jornada do tipo Pegada Simples é de 7:00 horas. Caso ocorra um intervalo maior ou igual a duas horas entre duas viagens a jornada é classificada como Pegada Dupla. Este tipo de jornada ocorre freqüentemente para cobrir a demanda extra existente nos horários de pico. O intervalo livre entre as duas pegadas não é contabilizado na remuneração da tripulação. A duração normal de uma jornada do tipo Pegada Dupla é de 6:40 horas.

Ao reunir as viagens formando as jornadas, deve-se minimizar o custo envolvido na execução da escala diária da empresa, levando-se em conta as restrições operacionais e trabalhistas. As restrições essenciais são aquelas que devem ser obrigatoriamente atendidas. São elas: (1) uma tripulação não pode executar duas viagens ao mesmo tempo (sobreposição de

(4)

viagens), (2) uma tripulação não pode realizar duas viagens consecutivas onde o ponto final da primeira esteja em um terminal diferente do ponto inicial da segunda e o intervalo entre elas seja menor do que duas horas, (3) uma tripulação pode exercer, no máximo, duas horas extras de trabalho diário, (4) toda jornada do tipo Pegada Simples deve ter uma folga mínima de 20 minutos, podendo ser fracionada em dois intervalos maiores ou iguais a 10 minutos corridos, (5) o intervalo mínimo entre o final de uma jornada e o seu início no dia seguinte deverá ser de 11 horas e (6) o total de tripulações com jornadas do tipo Pegada Dupla não pode exceder um certo número pré-fixado.

As restrições não essenciais visam melhorar a qualidade da solução. São elas: (1) o número de trocas permitidas de pontos, contidos na escala das tripulações deve ser minimizado, (2) o total de horas extras deve ser minimizado, (3) a ociosidade, representada pela quantidade de tempo em que uma tripulação não realiza qualquer atividade produtiva, dever ser reduzida tanto quanto possível e (4) o total de jornadas de trabalho deve ser minimizado.

3. Metodologia

A dificuldade de resolver o PPT se deve ao grande número de combinações possíveis das viagens, o que inviabiliza a resolução de problemas reais por meio de um método exato de otimização. Essa dificuldade computacional se deve ao fato deste problema pertencer à classe NP-difícil, uma vez que o PPT pode ser representado como um problema de particionamento de conjuntos, o qual é NP-difícil (Garey e Johnson 1979). Sendo assim, a forma mais conveniente para resolver o PPT para casos práticos é por meio de heurísticas. Dessa maneira, este trabalho aborda o PPT Independente utilizando a metaheurística GRASP. Adicionalmente, utilizou-se o mecanismo de Reconexão por Caminhos como forma de melhorar a qualidade da solução obtida pela metaheurística.

3.1. Representação da Solução do Problema

Os elementos básicos para a formação de uma jornada são as viagens. E uma solução completa representa uma escala para as tripulações da empresa, sendo constituída por uma lista de jornadas. A seguir, na figura 1, estão apresentadas as referidas entidades com seus respectivos atributos.

SOLUÇÃO

Número de jornadas Número de duplas pegadas

Figura 1. Elementos para a representação computacional de uma solução do PPT.

Cada viagem tem um número para a sua identificação interna. O grupo da viagem mostra qual o terminal onde estão localizados os seus pontos iniciais e finais. Os pontos iniciais e finais localizam os pontos de parada, dentro do terminal, onde são feitos os embarques e desembarques da viagem. As jornadas são identificadas de forma única e cada jornada contém as seguintes informações: i) sobreposição que se refere ao tempo em que a tripulação executa mais de uma viagem ao mesmo tempo, ii) horas extras que totaliza as horas extras contida na jornada, iii) horas excedentes referente o tempo que ultrapassa o tempo máximo permitido de trabalho, iv) ociosidade é o tempo improdutivo contido na jornada. v) tempo entre jornada é o intervalo de

VIAGEM

Id-Número Grupo Horário Inicial Horário Final

Ponto Inicial Ponto Final Linha

JORNADA

Id-Número Sobreposição Horas Extras Horas Excedentes

Ociosidade Tempo entre Jornadas Troca de Pontos Proibida Troca de Pontos Permitida Viagem 1 Viagem 2 ... Viagem N

(5)

tempo entre o final da jornada e o seu início no dia seguinte. Uma troca de ponto é dita proibida quando ocorre em uma jornada simples e entre pontos de terminais distintos. Se os pontos forem do mesmo terminal então ela é permitida. Cada jornada contém uma lista com todas as viagens a serem executadas por ela. Uma solução representa a escala de todas as tripulações da empresa e portanto este elemento contém o número total de jornadas e quantas delas são do tipo dupla pegada. As jornadas que compõem a solução são armazenadas em uma lista.

3.2. Construção de uma solução inicial

A solução inicial é obtida a partir de uma heurística construtiva que, a cada iteração, insere um novo elemento à solução corrente, segundo um critério desejado. Como neste trabalho a construção refere-se à fase inicial de um procedimento GRASP, ela apresenta como parâmetro de entrada um valor alfa (α), pertencente ao intervalo [0,100] que representa a porcentagem relativa ao nível de aleatoriedade na escolha dos elementos a serem inseridos na solução. Assim, dado um conjunto C de possíveis elementos candidatos a serem inseridos em uma dada iteração, a partir do valor de α é construída uma Lista Restrita de Candidatos (LRC), que agrupa os (α% × ⎪C⎪) melhores elementos de C.

Para valores de α próximos de zero a lista LRC se torna mais restrita e a qualidade das soluções finais se torna muito próxima daquela obtida de forma puramente gulosa, com um baixo esforço computacional. Quando α = 0, ⎪LRC⎪ = 1. Por outro lado, este valor leva a uma baixa diversidade de soluções construídas. Já uma escolha de α próxima de 100 produz um comportamento puramente aleatório com uma grande diversidade nas soluções construídas. Por outro lado, muitas soluções apresentam qualidade inferior tornando mais lento o processo de busca local. Quando α = 100, ⎪LRC⎪ = ⎪C⎪. O objetivo é conjugar bons aspectos dos algoritmos puramente gulosos com características interessantes dos procedimentos aleatórios de construção de soluções.

O procedimento funciona da seguinte forma: dado um conjunto de viagens, a cada iteração o algoritmo procura atribuir uma viagem a uma jornada, enquanto a sua duração máxima não for ultrapassada. Caso isso ocorra, uma nova jornada é criada e o processo se repete para a mesma.

Quanto ao mecanismo de escolha da viagem a ser atribuída a uma jornada, a cada iteração, uma nova lista C é formada. A lista C é construída da seguinte maneira: cada viagem pertencente a C deve ter o seu horário de início maior do que o horário de fim da última viagem adicionada e ambas devem pertencer ao mesmo terminal. Assim, a partir do valor de α, a lista LRC é construída e a viagem é selecionada aleatoriamente dentre aquelas presentes na LRC. 3.3. Estrutura de Vizinhança

Seja S o espaço de soluções a ser pesquisado para o Problema da Programação de Tripulações relativo a uma instância qualquer. A função N associa a cada solução s ∈ S, sua vizinhança N(S) ⊆ S. Cada solução s´ ∈ N(s) é chamada de vizinho de s. Denomina-se movimento a modificação m que transforma uma solução s em outra s´ que esteja em sua vizinhança. Representa-se essa operação por s´ ← s ⊕ m.

Para definir a vizinhança N(s) de uma dada solução s foram implementados dois tipos de movimento. O primeiro caracteriza-se pela realocação de uma viagem de uma determinada jornada para outra jornada. Então, define-se a vizinhança N(R)(s) como o conjunto de todas as soluções s´ geradas a partir de s por meio de movimentos de realocação. O segundo movimento é caracterizado pela troca de viagens entre duas jornadas. Assim, define-se a vizinhança N(T)(s) como o conjunto de todas as soluções s´ geradas a partir de s por meio de movimentos de troca. Uma solução s´ é dita vizinha de s se for obtida desta a partir de um movimento de realocação ou de troca de viagens, isto é, s´ ∈ N(s) = N (R)

(s) U N (T) (s). A figura a seguir exemplifica os dois tipos de movimento para duas jornadas quaisquer i e j pertencentes a uma mesma solução s que contém seis viagens representadas pelos retângulos numerados.

(6)

Figura 2. Movimentos de realocação e troca para uma dada solução s

Na Figura 2, a solução apresentada em a) decorre da realocação da viagem 2 da jornada i para a jornada j e a solução em b) corresponde à troca das viagens 3 e 5 entre as jornadas i e j.

3.4. Função de Avaliação

A função de avaliação considerada para o PPT é baseada na penalização dos requisitos essenciais e não essenciais apresentados anteriormente. Aos requisitos essenciais aplica-se um peso maior do que aos requisitos não-essenciais. Uma solução s é avaliada de acordo com a expressão (1). f(s) = RE(s) + RNE(s) RE(s) =

= m i 1 αi

×

Restrição Essencial i (s) RNE(s) =

= n j 1

βj

×

Restrição não Essencial j (s)

O objetivo consiste em minimizar o total das penalidades referentes às restrições essenciais e não essenciais. A expressão (2) apresenta o somatório das m penalidades referentes às restrições essenciais e a expressão (3), o somatório das n penalidades referentes às restrições não essenciais. Os coeficientes das penalizações essenciais e não essenciais são dados pelos valores nos vetores α e β respectivamente.

3.5. GRASP aplicado ao PPT

A metaheurística GRASP é um método iterativo que consiste de duas fases: uma fase de construção de uma solução inicial e outra de busca local, na qual é pesquisado um ótimo local na vizinhança da solução construída. Com a finalidade de escapar dos ótimos locais, esse procedimento se repete ao longo de GRASPmax iterações, parâmetro de entrada do método ou por um certo intervalo de tempo. A melhor solução encontrada é então retornada pelo algoritmo.

Quanto ao método de busca local, foi utilizado o Método Randômico de Descida. A cada iteração, o método analisa um vizinho qualquer e somente o aceita caso seja estritamente melhor do que a solução corrente. Caso isso não ocorra, a solução corrente permanece inalterada e outro vizinho é gerado. O procedimento é interrompido após um número fixo de iterações (iterMax) sem melhora no valor da melhor solução obtida.

3.5.1. Reconexão por Caminhos

A técnica de Reconexão por Caminhos (Path Relinking) foi proposta por Glover (1996) como uma estratégia de intensificação, explorando trajetórias que conectavam soluções elite obtidas pelas metaheurísticas Busca Tabu (Glover 1986; Hansen 1986) e Scatter Search (Glover i j i j i j 1 2 3 4 1 4 1 4 3 3 5 2 2 5 5 6 6 6 Solução s a) N(R)(s) b) N(T)(s) (1) (2) (3)

(7)

e Laguna 1997). A estratégia desta técnica consiste em gerar e explorar caminhos no espaço de soluções partindo de uma solução inicial chegar a uma solução guia no espaço de soluções do problema. Partindo da solução inicial, a cada iteração um atributo da solução guia é incorporado à solução corrente e é feita uma busca local mantendo inalterados os atributos da solução guia atribuídos à solução corrente. Deste modo, a Reconexão por Caminhos transforma gradualmente a solução inicial na solução guia e realiza buscas locais ao longo desta transformação.

O funcionamento desta técnica é ilustrado na Figura 3 onde cada quadro representa uma solução, sendo que cada linha do quadro constitui uma jornada e cada elemento desta linha representa uma viagem atribuída à jornada. No exemplo, são nove viagens (1 a 9) e três jornadas com três viagens cada jornada.

Figura 3. O mecanismo de Reconexão por Caminhos.

Inicialmente, computa-se o conjunto diferença entre a solução guia e a solução inicial, verificando quais as jornadas da solução guia que não se encontram na solução inicial. Após esta verificação, a cada iteração incorpora-se na solução inicial uma jornada presente na solução guia. Com isso, deve-se fazer a consistência das viagens, eliminando-se as viagens redundantes, conforme é mostrado na Figura 3 (a). Cada solução intermediária é então submetida a uma busca local para ser avaliada e melhorada Figura 3 (b). É importante ressaltar que durante o procedimento de busca local as jornadas incorporadas a partir da solução guia não podem ser alteradas. O algoritmo prossegue a partir da melhor solução intermediária encontrada e a melhor solução obtida ao longo da trajetória é retornada pelo algoritmo. O procedimento de busca local utilizado é o Método Randômico de Descida, o mesmo empregado para o GRASP, cujo parâmetro de entrada é iterMaxPR iterações sem melhora. Para computar a diferença entre a solução inicial e a solução guia, é verificado se cada jornada da solução guia está na solução inicial. É utilizado o seguinte esquema de comparação entre jornadas:

1. Compara-se, inicialmente, o valor da função de avaliação de cada jornada envolvida. Se forem diferentes, então as jornadas são diferentes. Caso contrário, passa-se para o passo seguinte;

2. Compara-se o número de viagens de cada jornada envolvida. Se forem diferentes, então as jornadas são diferentes. Caso contrário, analisa-se o passo seguinte;

3. Compara-se as viagens de cada jornada envolvida. Se houver alguma viagem diferente, então as jornadas são diferentes; caso contrário, as jornadas são iguais.

8 2 4 3 7 5 1 6 9 8 2 4 3 7 5 1 6 9 1 8 6 8 2 4 3 7 5 1 6 9 5 2 4 8 2 4 3 7 5 1 6 9 9 3 7 1 8 6 5 2 4 9 3 7 9 2 4 3 7 5 1 8 6 Busca Local 3 7 8 1 6 9 5 2 4 Busca Local 8 2 4 1 6 5 9 3 7 Busca Local 3 7 8 1 6 9 5 2 4 1 8 6 3 7 8 1 6 9 5 2 4 9 3 7 9 3 7 5 2 4 1 8 6 1 8 6 5 2 4 9 3 7 Busca Local Busca Local Solução inicial Solução guia (a) (b)

(8)

Na metodologia utilizada neste trabalho, a Reconexão por Caminhos é utilizada compondo dois métodos distintos. No primeiro, denominado GRASP-PRP, adota-se uma estratégia de pós-otimização: ao final da execução do procedimento GRASP para a resolução do PPT Independente, aplica-se a Reconexão por Caminhos entre a melhor solução obtida pela metaheurística, tratada como solução inicial, e a melhor solução obtida pela abordagem do PPT Tradicional, a solução guia. Essa medida deriva do fato que, como apenas uma trajetória é investigada, melhores soluções podem ser obtidas quando a Reconexão por Caminhos adota como solução inicial a melhor solução dentre a inicial e a guia (Rosseti, 2003).

No segundo método, chamado GRASP-PRI, o algoritmo é aplicado como uma estratégia de intensificação. Logo, a cada iterationsPR iterações sem melhora na melhor solução obtida pelo GRASP executa-se a operação de Reconexão por Caminhos. Para tanto, é mantido um conjunto com as k melhores soluções obtidas no decorrer da busca, denominado conjunto de soluções elite. A Reconexão por Caminhos se dá entre a solução inicial, que consiste naquela obtida pela busca local do procedimento GRASP, e uma solução guia escolhida aleatoriamente do conjunto de soluções elite.

A aplicação da Reconexão por Caminhos como um procedimento de pós-otimização, utilizando-se por base a melhor solução obtida pela abordagem do PPT Tradicional, é justificada pelo fato de que esse trabalho trata da primeira etapa de um projeto mais amplo que propõe uma metodologia integrada para a resolução dos problemas de programação dos veículos e das tripulações no sistema de transporte público.

4. Resultados

Os algoritmos foram implementados na linguagem C++ e testados em um microcomputador PC Intel Pentium 4, 2.4 GHz, com 2 GB de RAM, sob o sistema operacional Windows XP Service Pack 2.

A região do Barreiro, em Belo Horizonte, tinha seus serviços de transporte público via ônibus urbano operados por 8 empresas. Entretanto, com a finalidade de se verificar o comportamento do método para problemas de portes distintos, as instâncias foram divididas nos seguintes níveis: pequeno, médio e grande. Tal classificação se baseia no número de viagens totais a serem cumpridas em cada instância, de maneira que cada nível abrange 1/3 do intervalo total compreendido entre o número de viagens da maior e da menor instância. Assim, foi escolhida apropriadamente uma empresa de cada nível, que corresponde àquelas que estão apresentadas na Tabela 2.

Tabela 2. Número de viagens por empresa que opera na região do Barreiro Empresa Tipo de dia Número de

viagens Classificação Dia útil 98 Sábado 69 G27 Domingo 52 Pequeno Dia útil 505 Sábado 372 G46 Domingo 286 Médio Dia útil 1.038 Sábado 769 G61 Domingo 538 Grande

Inicialmente, procedeu-se ao ajuste dos parâmetros da metaheurística GRASP. Para tal, foram realizados experimentos com a maior das instâncias contempladas: G61 para dias úteis. Assim, foram avaliados o número máximo de iterações sem melhora da busca local e o parâmetro alfa que controla o nível de aleatoriedade da fase de construção. Para diferentes números máximos de iterações foram realizadas 10 execuções, cada qual partindo de uma semente distinta de números aleatórios utilizando-se um dentre os três valores de alfa testados: 0%, 0,5% e 1%. O

(9)

tempo total de processamento foi fixado em uma hora. Os resultados das soluções médias são ilustrados pelo gráfico da Figura 4.

Figura 4. Comportamento da função de avaliação em função dos parâmetros do GRASP.

Conforme pode ser observado na Figura 4, à medida que o número máximo de iterações sem melhora aumenta, constata-se que as soluções médias para os valores de alfa (0% e 0,5%) tornam-se muito próximos. Isso é explicado pelo fato de que a busca local implementada como o Método Randômico de Descida tende a se aproximar de um método de descida completa. O menor valor médio alcançado para a função objetivo, f(s) = 1.780, corresponde aos parâmetros alfa = 0,5% e iterMax = 140.000. Tendo por base estes resultados, optou-se por estabelecer para as demais instâncias o mesmo valor para alfa e iterMax, mantendo as devidas proporções do problema, tendo como referência o produto do número de viagens pelo número de tripulantes escalonados na contrução inicial.

Para a versão GRASP-PRI, constata-se um conflito existente entre os parâmetros iterationsPR e iterMaxPR durante a Reconexão por Caminhos. Um maior valor para iterMaxPR implica maior profundidade na busca por um ótimo local. Por outro lado, isso compromete o tempo de processamento e a oportunidade de se encontrar uma solução mais próxima do ótimo global, cujo número de tentativas é inversamente proporcional ao valor de iterationsPR. Dessa forma, ambos os parâmetros devem ser calibrados para que a busca explore eficientemente o espaço de soluções, mas sem demandar muito tempo a fim de que outros ótimos locais possam ser explorados. O parâmetro iterMaxPR foi estipulado em 100 iterações para todas as instâncias, e o valor de iterationsPR foi escolhido de acordo com a seguinte lógica: quanto maior a magnitude do problema, há menos iterações GRASP, pois mais tempo se despende na busca local, e portanto, menor deve ser o valor de IterationsPR, já que o tempo total de processamento é o mesmo para todas as instâncias. Uma observação deve ser feita ao parâmetro iterMaxPR: seu valor é bem inferior em relação a iterMax, o que pode ser explicado pelo fato de que a Reconexão por Caminhos realiza várias buscas locais por iteração, ao passo que o procedimento GRASP realiza uma única busca local por iteração.

Para a versão GRASP-PRP, há somente um parâmetro para a Reconexão por Caminhos, iterMaxPR já que, sendo esse um procedimento de pós-otimização, não é utilizada uma lista de soluções elite. Logo, quanto maior seu valor, melhor é a qualidade da solução. Porém mais tempo de processamento é demandado. Assim, seu valor foi convenientemente adotado em 500 iterações para todas as instâncias.

Os melhores resultados dos três algoritmos propostos foram comparados com os valores obtidos pelo PPT Tradicional utilizando-se Busca Tabu e presentes no trabalho de Fonseca et al. (2006), representados na Tabela 3 a seguir. Deve-se novamente frisar que o tempo de processamento para todos os algoritmos foi mantido em uma hora.

(10)

Tabela 3: Quadro comparativo das melhores soluções obtidas pela abordagem do PPT Tradicional e pelas metodologias propostas neste trabalho.

PROGRAMAÇÃO DE TRIPULAÇÕES

Abordagem proposta (Independente) Abordagem

Tradicional

GRASP GRASP-PRP GRASP-PRI DU SAB DOM DU SAB DOM DU SAB DOM DU SAB DOM Função de aval. 338 287 143 219 150 135 184 149 120 179 148 119 Tripulações 27 16 12 25 16 12 24 16 12 24 16 11 Hora ociosa 25:37 15:02 12:17 25:20 15:27 15:27 18:48 15:27 15:34 18:46 15:27 09:55 Hora extra 04:11 07:32 00:40 00:00 00:00 00:05 00:08 00:00 00:12 00:06 00:00 01:16 Duplas pegadas 4 2 2 4 2 2 4 2 2 4 2 2 Trocas de linha 0 0 0 0 0 0 0 0 0 0 0 0 Empresa G27 Trocas de ponto 0 0 0 0 0 0 0 0 0 0 0 0

DU SAB DOM DU SAB DOM DU SAB DOM DU SAB DOM Função de aval. 1.463 995 927 1.138 713 575 1.133 708 553 1.100 692 546 Tripulações 97 63 45 99 70 52 100 69 51 96 70 51 Hora ociosa 126:16 44:21 36:15 146:28 87:20 65:41 151:23 81:49 59:54 127:05 86:52 59:20 Hora extra 21:10 16:59 27:07 04:14 01:11 00:18 02:19 02:30 01:53 04:50 00:32 00:57 Duplas pegadas 13 8 6 13 8 6 13 8 6 13 8 6 Trocas de linha 13 15 4 3 0 0 3 0 0 4 0 0 Empresa G46 Trocas de ponto 2 4 1 3 0 0 3 0 0 4 0 0

DU SAB DOM DU SAB DOM DU SAB DOM DU SAB DOM Função de aval. 3.659 1.927 1.715 1.769 1.414 996 1.766 1.406 986 1.753 1.362 975 Tripulações 138 95 59 151 109 72 151 109 72 151 108 72 Hora ociosa 122:58 95:33 77:18 233:05 187:29 144:18 233:05 186:10 144:07 233:09 179:49 143:57 Hora extra 15:58 26:26 31:28 00:56 02:56 00:39 00:56 01:41 00:36 00:32 02:00 00:29 Duplas pegadas 36 12 6 36 12 6 36 12 6 44 12 6 Trocas de linha 102 59 58 3 3 0 3 2 0 3 2 0 Empresa G61 Trocas de ponto 59 8 10 3 3 0 3 2 0 3 2 0

Para comparar os resultados das duas abordagens, foi necessário efetuar algumas adaptações nas soluções do PPT Tradicional, como o desmembramento das tarefas em viagens e a eliminação das viagens ociosas ou improdutivas. Estas são as viagens realizadas quando um veículo se desloca de um ponto a outro, ou mesmo de um ponto para a garagem sem transportar passageiros. Foram mantidas as mesmas penalizações para os requisitos essenciais e não essenciais, além do mesmo número de duplas pegadas permitido nas soluções.

Conforme se pode observar na Tabela 3, as metodologias propostas obtiveram redução na função de avaliação em todos os problemas testados. Uma redução ainda maior foi alcançada com a introdução da Reconexão por Caminhos nos algoritmos GRASP-PRP e GRASP-PRI. Utililzando somente GRASP, as melhorias giram em torno de 5,59% em DOM G27 a 51,65% em DU G61. Aplicando-se a Reconexão por Caminhos em GRASP-PRP como instrumento de pós-otimização, tal melhora aumenta para 16,08% em DOM G27 a 51,73% em DU G61. Ao utilizar a reconexão por caminhos como intensificação em GRASP-PRI, os ganhos foram de 16,78% em DOM G27 a 52,09% em DU G61. É interessante observar que os valores percentuais acima refletem o maior ganho obtido pela abordagem proposta para instâncias maiores, nas quais está envolvido um número maior de viagens.

Com relação ao aspecto qualitativo das programações geradas, no que tange ao problema resolvido, a superioridade das soluções obtidas verifica-se através da sensível redução das trocas de linhas e de pontos. Com relação às quantidades de hora extra e ociosidade, verifica-se que, em geral, a redução de horas extras provocou um aumento na ociosidade. Constata-se, finalmente, que a melhoria de todos esses atributos levou a um aumento do número de tripulações na solução.

(11)

Comparando-se o desempenho dos métodos, é verificada a superioridade da Reconexão por Caminhos como instrumento de intensificação presente em GRASP-PRI em relação à pós-otimização realizada em GRASP-PRP, conforme previsto no trabalho de Rosseti (2003). Além disso, relativamente ao GRASP, ambos os métodos com Reconexão por Caminhos apresentaram melhor desempenho para instâncias de pequeno porte. A seguir, a Figura 5 apresenta uma outra visão dos resultados, o que auxilia a verificação das análises.

Figura 5. Comparação do desempenho dos algoritmos propostos em relação à abordagem do PPT Tradicional.

5. Conclusão e Trabalhos Futuros

Este trabalho apresenta uma aplicação da metaheurística GRASP conjugada com a técnica de Reconexão por Caminhos na resolução do Problema da Programação de Tripulações independentemente da frota a ser alocada à operação. Os resultados obtidos foram comparados com aqueles obtidos pela resolução do PPT Tradicional, podendo-se concluir que a resolução independente gera soluções com custos inferiores à resolução tradicional, o que se deve à flexibilização do problema em relação à frota empenhada. Assim, é permitido ao algoritmo efetuar a busca em um espaço mais amplo de soluções viáveis.

Foi mostrado que a Reconexão por Caminhos trata-se de uma técnica que melhora as soluções geradas, no caso pela metaheurística GRASP para a resolução do PPT. O estudo realizado comprova a teoria de que a Reconexão por Caminhos utilizada como instrumento de intensificação é mais eficiente do que como pós-otimização.

Quanto à estrutura de vizinhança adotada, foi verificado que o movimento de realocação apresenta resultados mais expressivos, já que possibilita a redução do número de tripulações utilizadas, fato que não foi verificado com o movimento de troca. Entretanto, o movimento de troca também se mostra importante, pois é através dele que se consegue reduzir a ociosidade das tripulações.

Este trabalho é de grande importância, pois explora uma estratégia inovadora que é a inversão da seqüência de resolução dos problemas de programação dos veículos e tripulações de tal forma a aproveitar ao máximo o recurso mão de obra, uma vez que este se constitui na componente de maior custo do sistema de transporte público. A continuidade do trabalho consiste em, por meio do procedimento GRASP-PRP, determinar a frota mínima de veículos em operação a partir de cada solução intermediária do PPT encontrada ao longo da trajetória de reconexão entre PPT Independente (resolvido por GRASP) e PPT Tradicional (resolvido por Busca Tabu). O melhor par de programações encontradas (para veículos e tripulações) será então retornado pelo método. Com esse procedimento será possível a integração total do sistema, ou seja, a resolução dos problemas de programação de veículos e tripulações de forma simultânea.

(12)

Agradecimentos

Os autores agradecem à FAPEMIG, à UFOP pelo apoio dado ao desenvolvimento deste trabalho, bem como à BHTRANS por fornecer os dados e participar da análise dos resultados obtidos.

Referências

Bouzada, C. F. (2003) Custo do Transporte Coletivo por Ônibus. Editora C/Arte. Belo

Horizonte.

Feo, T. A. e Resende, M. G. C. (1995) Greedy randomized adaptive search procedures. Journal of Global Optimization, v. 6, p. 109-133.

Fonseca, G. S., Silva, G. P. Marinho, E. H., Simões, E. L. e Souza, M. J. F. (2006) Otimização

no Sistema de Transporte Público. In: Simpósio de Pesquisa Operacional e Logística da Marinha – SPOLM.

Freling, R., Boender, C. G. E. e Paixão, J. M. P. (1995) An integrated approach to the vehicle

and crew scheduling. Technical Report 9503/A. Econometric Institute, Erasmus University Rotterdam, Rotterdam.

Garey, M.R. e Johnson, D.S. (1979) Computers and Intractability – A Guide to the Theory of NP-Completeness. W. H. Freeman, New York.

Glover, F. (1986) Future paths for integer programming and artificial intelligence. Computers and Operations Research, v.13(5), p. 533-549.

Glover, F. (1996) Tabu search and adaptive memory programming – advances, applications and

challenges. In: Barr, R., Helgason, R., Kennington, J. (Ed.). Intefaces in Computer Science and Operations Research, p. 1-75.

Glover, F. e Laguna, M. (1997) Tabu Search. Kluwer Academic Publishers.

Haase, K. e Friberg, C. (1999) An Exact Branch and Cut Algorithm for the Vehicle and Crew

Scheduling Problem. In: Computer-Aided Transit Scheduling, N. H. M. Wilson (ed.), Springer-Verlag, Berlin, p. 63-80.

Hansen, P. (1986) The steepest ascent mildest descent heuristic for combinatorial programming.

In: Congress on Numerical Methods in Combinatorial Optimization.

Resende, M.G.C. e Ribeiro, C.C. (2005) GRASP with path-relinking: Recent advances and

applications. In: T. Ibaraki, K. Nonobe, M. Yagiura (Eds.), Metaheuristics: Progress as Real Problem Solvers, Springer, p. 29–63.

Rosseti, I. C. M. (2003) Estratégias sequenciais e paralelas de GRASP com reconexão por

caminhos para o problema de síntese de redes a 2-caminhos. Tese de doutorado, Pontifícia Universidade Católica do Rio de Janeiro, Rio de Janeiro.

Yunes, T. H. (2000) Problemas de Escalonamento no Transporte Coletivo: Programação por

Restrições e outras técnicas. Dissertação de Mestrado, Instituto de Computação, Universidade de Campinas.

Wren, A. (2004) Scheduling Vehicles and Their Drivers – Forty Years’ Experience. In: 9th International Conference on Computer-Aided Scheduling of Public Transport – CASPT.

Referências

Documentos relacionados

— Valores LD/LC50 relevantes para a classificação: Não existe mais nenhuma informação relevante disponível. — Lesões oculares graves/irritação ocular

Nesse contexto, este estudo, em síntese, apresenta o atual cenário político brasileiro quanto à corrupção, disserta sobre valor público, evidencia as principais influências

atentos e vigilantes em relação aos nossos corpos. Inclusive, na oração do “Pai nosso”, Jesus também mencionou: “Não nos deixeis cair em tentação”. Enfim,

Maria Alice Biscaro de Bakker A Justiça e a Misericórdia como mensagem de Salvação Universal: análise exegética de Jn 4,1-11 em seu contexto histórico e

É indispensável que ambas as espécies envolvidas em acasalamentos híbridos possuam o mesmo Imprinting, caso contrário à corte não será aceita pela fêmea de gênero diferente

Fundamental na intermediação dos referenciais simbólicos que utilizamos para compreender a vida cotidiana, o jornalismo também está sendo fortemente impactado por

Sob pena de desclassificação do certame, a licitante melhor classificada na fase de lances deverá entregar, juntamente com a proposta atualizada e os documentos

 Terra, trabalho e capital  Limitação do governo  Dinâmicas da economia Karl Marx (1818-1883) (Disponível em: