Algoritimo Para Programação Integrada de Linhas e Veiculos

108
ALGORITMO PARA PROGRAMAÇÃO INTEGRADA DE VEÍCULOS E TRIPULAÇÕES NO SISTEMA DE TRANSPORTE PÚBLICO POR ÔNIBUS

description

Algoritimo para programação integrada de linhas e veiculos ideal para programadores

Transcript of Algoritimo Para Programação Integrada de Linhas e Veiculos

  • ALGORITMO PARA PROGRAMAO

    INTEGRADA DE VECULOS E TRIPULAES

    NO SISTEMA DE TRANSPORTE PBLICO POR

    NIBUS

  • EMILIANA MARA LOPES SIMESOrientador: Geraldo Robson Mateus

    Co-orientador: Marcone Jamilson Freitas Souza

    ALGORITMO PARA PROGRAMAO

    INTEGRADA DE VECULOS E TRIPULAES

    NO SISTEMA DE TRANSPORTE PBLICO POR

    NIBUS

    Dissertao apresentada ao Programa dePs-Graduao em Cincia da Computaoda Universidade Federal de Minas Geraiscomo requisito parcial para a obteno dograu de Mestre em Cincia da Computao.

    Belo Horizonte

    Agosto de 2009

  • c 2009, Emiliana Mara Lopes Simes.Todos os direitos reservados.

    Simes, Emiliana Mara LopesS593a Algoritmo para programao integrada de veculos e

    tripulaes no sistema de transporte pblico por nibus/ Emiliana Mara Lopes Simes. Belo Horizonte, 2009

    xx, 86 f. : il. ; 29cm

    Dissertao (mestrado) Universidade Federal deMinas Gerais

    Orientador: Geraldo Robson MateusCo-orientador: Marcone Jamilson Freitas Souza

    1. Otimizao. 2. Transporte - Planejamento.3. Metaheursticas. I. Ttulo.

    CDU 519.6*61

  • Dedico este trabalho aos meus inesquecveis avs, V Lopes e V Mms, dos quaissempre recebi um amor incondicional, acalentador e encorajador.

    v

  • Agradecimentos

    com grande alegria que agradeo a todos que, direta ou indiretamente, contriburampara a realizao desse trabalho.

    Em especial agradeo a Deus pelas bnos concedidas.Aos professores Robson e Marcone pela orientao, compreenso e apoio. Ao Pro-

    grama de Ps-graduao em Cincia da Computao da Universidade Federal de MinasGerais - PPGCC e Coordenao de Aperfeioamento de Pessoal de Nvel Superior -CAPES pela oportunidade.

    minha me, Maria Noeme, e s minhas irms, Mariana e Carla, pelo amor, apoio eincentivo. Aos meus queridos e inesquecveis avs, Geraldo Lopes (V Lopes) e NoemeLopes (V Mms), exemplos de coragem, fora e dignidade e, que muito contriburampara a minha criao e formao.

    Aos demais familiares, especialmente s primas Luciana e Cristiane pela convivn-cia, carinho e amizade durante todo este meu perodo de estudos em Belo Horizonte.

    Aos novos e antigos amigos com os quais pude contar.Muito obrigada a todos. Esta conquista nossa!

    vii

  • Tudo do pai!Toda honra e toda glria,

    dele a vitria alcanada em minha vida.(Frederico Cruz)

    ix

  • Resumo

    Este trabalho aborda dois dos problemas envolvidos no processo de planejamento doSistema de Transporte Pblico de nibus Urbano: o Problema de Programao deVeculos (PPV) e o Problema de Programao de Tripulaes (PPT). O PPV consisteem criar uma rotina diria de operao para uma frota de veculos, dado um conjuntode viagens a serem obrigatoriamente realizadas. Na resoluo do PPT so definidasas jornadas dirias de trabalho para motoristas e cobradores, de maneira que todosos deslocamentos dos veculos estejam sob responsabilidade de alguma tripulao. Oobjetivo reduzir os custos envolvidos em tais atividades, fazendo o melhor aprovei-tamento da frota e da mo-de-obra, mas ao mesmo tempo obedecendo legislaotrabalhista e as regras operacionais vigentes.

    Normalmente, devido complexidade destes problemas, eles so resolvidos sepa-radamente e seqencialmente (abordagem seqencial tradicional, ou seja, primeiroresolve-se o PPV e logo em seguida o PPT). Porm, dada a forte dependncia en-tre PPV e PPT, espera-se que a resoluo integrada dos mesmos possa proporcionarconsidervel reduo dos custos. Assim, dadas as expectativas atuais acerca dessa novametodologia, neste trabalho desenvolvida uma heurstica, baseada na metaheursticaBusca Local Iterada, para resoluo do Problema de Programao Integrada de Vecu-los e Tripulaes (PPVT). No PPVT as rotinas de operao dos veculos e as jornadasde trabalho das tripulaes so definidas simultaneamente. Trata-se de um problemaaltamente combinatrio e que se enquadra na classe de problemas NP-difceis, nohavendo, portanto, algoritmos em tempo polinomial para encontrar solues timas.

    Com o intuito de analisar o desempenho da abordagem integrada, PPV e PPTtambm so resolvidos de forma iterativa, seqencial tradicional e independente (PPVe PPT so resolvidos separadamente, em qualquer ordem e de forma a no se relacio-narem). Para validar os mtodos propostos so apresentados experimentos com dadosreais de uma empresa de transporte pblico da cidade de Belo Horizonte. Os resul-tados encontrados confirmam as expectativas e mostram que as solues geradas pelaheurstica integrada so melhores do que as obtidas de forma seqencial.

    xi

  • Abstract

    This work deals with two of the problems involved in the planning process of the publicmass transit: the Vehicle Scheduling Problem (VSP) and the Crew Scheduling Problem(CSP). The VSP is a way to create a daily operation routine for a fleet of vehicles,given a set of trips required to be performed. In the resolution of CSP the daily workduty for the drivers and collectors are defined, so that all displacements of the vehiclesare in charge of a crew. This paper aimed to investigate how to reduce costs involvedin such activities for the best use of the fleet and labor force, but also comply with thepublic policies of labor laws and operational rules.

    These problems has been usually treated separately and sequentially due to theircomplexity (traditional sequential approach, in other words, first VSP is solved andthen CSP). However, since there is a strong dependence between VSP and CSP, itis expected that the integrated resolution of them could provide considerable costreduction. Thus, given the current expectations about this new methodology, in thiswork heuristics are developed, based on the Iterated Local Search metaheuristic tosolve the Integrated Vehicle and Crew Scheduling Programing (VCSP). In the VCSPthe routines of vehicle operation and the crew work duty are defined simultaneously.This is a highly combinatorial problem, which is inserted in the class of NP-hardproblems, having not polynomial-time algorithms to find optimal solutions.

    To analyze the efficiency of the performance of the integrated approach, both VSPand CSP are solved in the traditional sequential and independent way (VSP and CSPare solved separately, in any order and in an unrelated way). The proposed methodswere validated with real data from a Public Transport Company of Belo Horizonte city.The results obtained signalize that the solutions generated by the integrated heuristicsare better than those obtained in sequential order.

    xiii

  • Sumrio

    1 Introduo 11.1 Justificativa e Objetivos do Trabalho . . . . . . . . . . . . . . . . . . . 31.2 Organizao do Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2 Reviso Bibliogrfica 7

    3 Programaes Tradicional e Independente de Veculos e Tripulaes 153.1 Heursticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    3.1.1 Mtodo de Descida . . . . . . . . . . . . . . . . . . . . . . . . . 163.1.2 Busca Local Iterada . . . . . . . . . . . . . . . . . . . . . . . . 18

    3.2 Descrio do Problema de Programao de Veculos . . . . . . . . . . . 193.3 Mtodo de Soluo do PPV . . . . . . . . . . . . . . . . . . . . . . . . 21

    3.3.1 Representao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3.2 Estruturas de Vizinhana . . . . . . . . . . . . . . . . . . . . . 223.3.3 Funo de Avaliao . . . . . . . . . . . . . . . . . . . . . . . . 243.3.4 Procedimento de Gerao da Soluo Inicial . . . . . . . . . . . 253.3.5 Algoritmo de Resoluo . . . . . . . . . . . . . . . . . . . . . . 25

    3.4 Descrio do Problema de Programao de Tripulaes . . . . . . . . . 283.5 Mtodo de Soluo do PPT . . . . . . . . . . . . . . . . . . . . . . . . 31

    3.5.1 Representao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.5.2 Estruturas de Vizinhana . . . . . . . . . . . . . . . . . . . . . 323.5.3 Funo de Avaliao . . . . . . . . . . . . . . . . . . . . . . . . 343.5.4 Procedimento de Construo das Tarefas . . . . . . . . . . . . . 343.5.5 Procedimento de Gerao da Soluo Inicial . . . . . . . . . . . 353.5.6 Algoritmo de Resoluo . . . . . . . . . . . . . . . . . . . . . . 36

    3.6 Programao Independente de Veculos e Tripulaes . . . . . . . . . . 38

    4 Programao Integrada de Veculos e Tripulaes 414.1 Descrio do Problema de Programao Integrada de Veculos e Tripu-

    laes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    xv

  • 4.2 Mtodo de Soluo Iterativa do PPV e PPT . . . . . . . . . . . . . . . 444.2.1 Representao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.2.2 Funo de Avaliao . . . . . . . . . . . . . . . . . . . . . . . . 454.2.3 Algoritmo de Resoluo . . . . . . . . . . . . . . . . . . . . . . 46

    4.3 Mtodo de Soluo do PPVT . . . . . . . . . . . . . . . . . . . . . . . 484.3.1 Representao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.3.2 Estruturas de Vizinhana . . . . . . . . . . . . . . . . . . . . . 534.3.3 Funo de Avaliao . . . . . . . . . . . . . . . . . . . . . . . . 574.3.4 Procedimento de Gerao da Soluo Inicial . . . . . . . . . . . 584.3.5 Algoritmo de Resoluo . . . . . . . . . . . . . . . . . . . . . . 58

    5 Experimentos Computacionais 635.1 Descrio das Instncias . . . . . . . . . . . . . . . . . . . . . . . . . . 635.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    6 Concluses e Trabalhos Futuros 79

    Referncias Bibliogrficas 83

    xvi

  • Lista de Figuras

    1.1 Planejamento do sistema de transporte pblico. . . . . . . . . . . . . . . . 1

    3.1 Exemplo de uma soluo sv para o PPV. . . . . . . . . . . . . . . . . . . . 223.2 Estruturas de vizinhana do PPV. . . . . . . . . . . . . . . . . . . . . . . 233.3 Bloco de veculo particionado em tarefas. . . . . . . . . . . . . . . . . . . . 303.4 Exemplo de uma soluo st para o PPT. . . . . . . . . . . . . . . . . . . . 323.5 Estruturas de vizinhana do PPT. . . . . . . . . . . . . . . . . . . . . . . . 33

    4.1 Bloco de veculo particionado em tarefas. . . . . . . . . . . . . . . . . . . . 454.2 Representao de um bloco de veculo. . . . . . . . . . . . . . . . . . . . . 454.3 Bloco de Veculo - 1 e o seu particionamento em tarefas. . . . . . . . . . . 504.4 Viagens expandidas obtidas do Bloco de Veculo - 1 da Figura 4.3. . . . . . 514.5 Representao de uma soluo para o PPVT com definio das viagens

    expandidas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.6 Soluo para o PPVT utilizada para exemplicar as estruturas de vizinhana. 554.7 Exemplo do movimento realocao PPV. . . . . . . . . . . . . . . . . . . . 554.8 Exemplo do movimento realocao PPT. . . . . . . . . . . . . . . . . . . . 554.9 Exemplo do movimento super realocao. . . . . . . . . . . . . . . . . . . . 564.10 Exemplo do movimento troca PPV. . . . . . . . . . . . . . . . . . . . . . . 564.11 Exemplo do movimento troca PPT. . . . . . . . . . . . . . . . . . . . . . . 564.12 Exemplo do movimento super troca. . . . . . . . . . . . . . . . . . . . . . 57

    xvii

  • Lista de Tabelas

    3.1 Tabela de horrios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    5.1 Descrio das instncias utilizadas nos experimentos. . . . . . . . . . . . . 645.2 Penalizaes utilizadas no PPV e seus respectivos valores. . . . . . . . . . 655.3 Penalizaes utilizadas no PPT e seus respectivos valores. . . . . . . . . . 665.4 Resultados considerando os custos das solues obtidas pelas abordagens

    independente, seqencial, iterativa e integrada. . . . . . . . . . . . . . . . . 665.5 Detalhamento das melhores solues obtidas pelas abordagens indepen-

    dente, seqencial, iterativa e integrada. . . . . . . . . . . . . . . . . . . . . 72

    xix

  • Captulo 1

    Introduo

    Devido sua complexidade o processo de planejamento do sistema de transporte p-blico normalmente decomposto em subproblemas menores, conforme mostrado naFigura 1.1.

    Figura 1.1. Planejamento do sistema de transporte pblico.

    O conjunto de viagens, que compe a tabela de horrios, definido a partir dasrotas a serem percorridas e a freqncia com que as mesmas sero atendidas. Estasdecises devem ser tomadas com base na disponibilidade de infra-estrutura, nos servios

    1

  • 2 Captulo 1. Introduo

    requeridos pelos usurios e em aspectos de demanda.Dada a tabela de horrios passa-se resoluo do Problema de Programao de

    Veculos (PPV), que consiste em determinar uma rotina diria de operao para umafrota de veculos, tendo por objetivo fazer o seu melhor aproveitamento. Como resul-tado, obtm-se os chamados blocos de veculos. Cada bloco corresponde ao conjuntode viagens realizadas por um mesmo veculo ao longo do dia e mantm informaesrelativas seqncia de execuo das viagens, seus horrios e locais de incio e tr-mino, os tempos destinados para embarque e desembarque de passageiros e os temposde espera e de deslocamento fora de operao do veculo.

    Uma vez que deve haver uma tripulao (motorista e cobrador) responsvel por cadadeslocamento realizado por um veculo, o Problema de Programao de Tripulaes(PPT) trata da alocao das atividades a serem realizadas por cada tripulao noperodo de um dia, definindo assim as chamadas jornadas de trabalho das tripulaes.Para resoluo do PPT, inicialmente os blocos de veculos provenientes da soluodo PPV so simplificados em tarefas. Cada tarefa engloba viagens consecutivas deum mesmo veculo e entre as quais no pode ocorrer a troca de tripulaes devido alimitaes de tempo e espao. Portanto, a soluo do PPT um conjunto de jornadasdirias de trabalho, em que cada jornada consiste em uma seqncia de tarefas a seremrealizadas por uma mesma tripulao e que satisfaz a legislao trabalhista e as regrasoperacionais da empresa.

    Resolvido o PPT para cada dia, o problema seguinte o do Rodzio das Tripulaes(PRT). Esse problema consiste em atribuir uma jornada de trabalho mensal para cadatripulao, considerando certas regras trabalhistas relativas a longos perodos de tempoe que, portanto, no foram contempladas na programao diria.

    Este trabalho trata especificamente da definio das programaes de veculos etripulaes, que juntas, concentram a maior parte dos gastos das empresas do setorde transporte pblico por nibus. Comumente PPV e PPT so resolvidos de formaseqencial tradicional, isto , primeiro definido o modo de operao da frota e, emseguida, as jornadas de trabalho das tripulaes. Nesta metodologia a resoluo doPPT torna-se totalmente dependente da programao de veculos a partir da qual obtida e isto pode ser visto como uma desvantagem, pois em muitas situaes prticasos gastos das empresas com tripulantes superam aqueles relativos aos veculos.

    Outras abordagens para tratar PPV e PPT encontradas na literatura so:

    1. Seqencial Inversa: Primeiro resolvido o PPT e em seguida, utilizando os resul-tados obtidos, solucionado o PPV [Haase et al., 2001; Reis, 2008; Bassi et al.,2007]. Nesta abordagem priorizada a melhora da qualidade da programao detripulaes e restringe-se a definio da programao dos veculos. Os resultados

  • 1.1. Justificativa e Objetivos do Trabalho 3

    encontrados normalmente no so bons, pois o nmero de veculos necessrioscostuma aumentar drasticamente;

    2. Independente: PPV e PPT so resolvidos separadamente, em qualquer ordem ede forma a no se relacionarem [Freling et al., 2003; Reis, 2008]. Geralmente os re-sultados obtidos so inviveis do ponto de vista prtico, pois dificilmente as solu-es para PPV e PPT so compatveis. A principal finalidade desta abordagem a determinao de uma melhor programao para as tripulaes desconsiderandoos veculos e de uma melhor programao para os veculos desconsiderando astripulaes;

    3. Integrada: PPV e PPT so resolvidos simultaneamente [Haase e Friberg, 1999;Freling et al., 1999, 2003; Reis et al., 2006; Reis, 2008]. Trata-se de uma aborda-gem promissora, uma vez que a forte dependncia entre estes problemas sugereque uma resoluo integrada possa resultar em considerveis redues de custo.

    1.1 Justificativa e Objetivos do Trabalho

    Segundo Sampaio et al. [2006] o transporte pblico considerado uma prioridade go-vernamental em todo o mundo, pois trata-se de uma necessidade para locomoo daspessoas, predominantemente, mas no exclusivamente, para as de renda mais baixa.Alm disso, o transporte coletivo atende a um nmero mais amplo de passageiros que otransporte individual, sem sobrecarregar a infra-estrutura rodoviria e permite substan-ciais redues nas emisses de poluentes ao meio ambiente, dada a menor quantidadede veculos por passageiros.

    Mais especificamente, nas cidades brasileiras observa-se que juntamente com o cres-cimento da populao urbana vem aumentando a demanda por um servio de trans-porte pblico barato, eficiente e de qualidade. Conforme a ANTP [1999], para queocorra a democratizao do acesso ao transporte pblico, deve haver a garantia detarifas tolerveis para os usurios, o que depende em grande parte do aumento daeficincia e reduo de custos por parte das organizaes do setor. Justifica-se assim,qualquer iniciativa que venha a proporcionar melhora no planejamento do sistema detransporte pblico.

    No que se refere ao Sistema de Transporte Pblico de nibus Urbano, determinaruma rotina diria de operao para uma frota de veculos de uma empresa bem comodefinir as jornadas de trabalho de suas tripulaes (motoristas e cobradores) so tare-fas muito complexas. Quando estas so realizadas de forma manual, requerem grandeesforo e tempo dos profissionais e nem sempre as programaes geradas so de quali-

  • 4 Captulo 1. Introduo

    dade. As dificuldades inerentes resoluo destes problemas devem-se principalmentea uma infinidade de restries e objetivos a serem alcanados e que so fortemente de-pendentes das polticas operacionais e das leis trabalhistas consideradas. Evidencia-seassim, a necessidade da utilizao de recursos computacionais.

    Normalmente, no processo de planejamento do sistema de transporte pblico, aprogramao de veculos realizada de forma independente e em uma etapa anterior programao de tripulaes. Nesta metodologia a resoluo do PPT torna-se total-mente condicionada programao de veculos a partir da qual ser obtida e, portanto,este pode ser um dos fatores que limita a melhora da qualidade da programao detripulaes. Esta abordagem foi fortemente criticada por Ball et al. [1983], que aoestudar uma empresa de transporte pblico da Amrica do Norte verificou que o custoassociado programao das tripulaes supera o custo relacionado programao dosveculos, e em muitos casos chega a corresponder a mais de 80% do custo operacionaltotal.

    Portanto, neste trabalho proposta uma estratgia para resoluo do Problemade Programao Integrada de Veculos e Tripulaes (PPVT). No PPVT so geradassimultaneamente as programaes dos veculos e dos tripulantes possibilitando encon-trar solues com custo operacional menor que aquele obtido pela soluo seqencialdo PPV e PPT. Alm disso, com o intuito de identificar a efetividade da abordagemintegrada no que diz respeito qualidade das solues geradas, PPV e PPT tambmso resolvidos de forma seqencial tradicional, independente e iterativa (em que, ora abusca por melhora se concentra especificamente no PPV e ora no PPT). O objetivo avaliar a metodologia proposta, a fim de que seja encontrada uma maneira eficiente deespecificar a forma de utilizao da frota e da mo-de-obra de uma empresa de trans-porte pblico, de modo a minimizar os custos envolvidos em tal atividade, respeitandoas regras operacionais e as leis trabalhistas intrnsecas ao problema. Para tanto, so re-solvidos problemas reais referentes ao Sistema de Transporte Pblico da cidade de BeloHorizonte, capital do estado de Minas Gerais, permitindo que seja adquirido conheci-mento sobre as caractersticas e dificuldades da aplicao da metodologia integrada realidade brasileira.

    1.2 Organizao do Texto

    A seguir, no Captulo 2, feita uma reviso da literatura sobre o problema que norteiatodo esse trabalho, o Problema de Programao Integrada de Veculos e Tripulaes(PPVT). Modelos e algoritmos propostos para tratar o PPVT so apresentados.

    O Captulo 3 trata separadamente dos problemas de Programao de Veculos

  • 1.2. Organizao do Texto 5

    (PPV) e de Programao de Tripulaes (PPT), considerando duas abordagens distin-tas, a seqencial tradicional e a independente. O objetivo descrever detalhadamenteos problemas e a metodologia utilizada para resolv-los.

    O Captulo 4 apresenta o Problema de Programao Integrada de Veculos e Tripu-laes. Inicialmente proposto um mtodo que aborda PPV e PPT de forma iterativae, em um segundo passo, apresentada uma estratgia de resoluo totalmente inte-grada dos problemas.

    No Captulo 5 so descritos, respectivamente, as instncias utilizadas e os resulta-dos obtidos nos experimentos realizados, considerando as abordagens apresentadas noscaptulos 3 e 4.

    Por fim, no Captulo 6, so apresentados as concluses e os trabalhos futuros.

  • Captulo 2

    Reviso Bibliogrfica

    Embora haja um entendimento de que a resoluo integrada das programaes deveculos e tripulaes seja vantajosa, a maioria dos trabalhos encontrados na literaturasegue a abordagem seqencial na qual a programao de veculos definida a priori eindependentemente da programao de tripulaes.

    O Problema de Programao de Veculos h muito tempo vem sendo pesquisadoe resolvido com o auxlio de computadores. Os primeiros trabalhos tratavam o PPVtanto utilizando mtodos exatos [Kirkman, 1968] quanto procedimentos heursticos[Saha, 1970; Wren, 1972]. O Problema de Programao de Tripulaes tambm temrecebido considervel ateno na literatura e estudado desde a dcada de 60, sendoElias [1964] um dos precursores. Pesquisas mais recentes para resoluo do PPV podemser encontradas em Baita et al. [2000], Silva [2001] e Souza et al. [2007] e para o PPTem Shen e Kwan [2001], Daduna e Voss [2001], Marinho [2005] e em Santos e Mateus[2009].

    O Problema de Programao Integrada de Veculos e Tripulaes somente come-ou a ser estudado recentemente, uma vez que devido sua grande complexidade,o custo computacional desta metodologia sempre foi restritivo. Ball et al. [1983] fo-ram os primeiros a propor um mtodo de resoluo para o PPVT. O procedimentoapresentado pelos autores envolve a definio de uma rede de programao, consis-tindo de vrtices indicando viagens que devem ser executadas por um veculo e umatripulao (vrtices d-trip), e dois outros vrtices s e t representando a garagem. Di-versos tipos de arcos podem ser agrupados em duas categorias, aqueles que indicamque uma tripulao e veculo seguem de uma d-trip para outra e aqueles que indicamque apenas a tripulao realiza este deslocamento (arcos crew-only). O procedimentode resoluo decomposto em trs componentes. Inicialmente so criadas partes dejornadas de trabalho, limitadas por uma durao mxima dada por uma constante T. importante relembrar que uma jornada corresponde s atividades a serem realizadas

    7

  • 8 Captulo 2. Reviso Bibliogrfica

    por uma mesma tripulao em um dia de trabalho. Em seguida, aquelas partes dejornadas obtidas que apresentam pequena durao so colocadas aos pares, formandoassim, jornadas parciais. Por fim, longas partes de jornadas e jornadas parciais socombinadas resultando em um conjunto de jornadas de trabalho para as tripulaes(soluo do PPT). A programao dos veculos gerada simultaneamente ignorandoos arcos exclusivos das tripulaes (arcos crew-only) presentes na soluo. Heursticassimilares so propostas por Tosini e Vercellis [1988] e Patrikalakis e Xerocostas [1992].

    A primeira formulao matemtica para o PPVT foi proposta em Patrikalakis eXerocostas [1992]. No entanto, este modelo era apenas para fins ilustrativos sendocomputacionalmente intratvel [Freling et al., 1999]. Assim, considera-se que Frelinget al. [1995] foram os pioneiros em propor uma formulao de programao inteirapara o problema e deram origem a uma srie de pesquisas desenvolvidas por Frelinge co-autores sobre o tema, tais como: Freling [1997], Freling et al. [1999] e Frelinget al. [2003]. As formulaes apresentadas nestes trabalhos so similares e constitudasbasicamente de duas partes:

    1. Uma formulao de quase atribuio baseada em uma rede G(V, A) que asse-gura a viabilidade do Problema de Programao de Veculos. Nesta rede, V oconjunto de todas as viagens a serem realizadas e mais dois ns, s (origem) e t(destino), ambos representando a garagem. O conjunto A corresponde aos arcosque conectam s e t a todos os demais ns em V e aos arcos que ligam viagenscompatveis, isto , viagens que podem ser realizadas por um mesmo veculo.Desta forma, uma soluo vivel para o PPV um conjunto de caminhos disjun-tos de s para t na rede G, de tal forma que cada n viagem em V seja cobertoexatamente uma vez;

    2. Restries de particionamento de conjunto que garantem que cada viagem e cadadeslocamento realizado pelo veculo fora de operao, que faam parte da soluodo PPV, sejam cobertos pela jornada de trabalho de alguma tripulao.

    Em Haase e Friberg [1999] foi apresentada a primeira abordagem de soluo exatapara o Problema Integrado de Programao de Veculos e Tripulaes. O modelo pro-posto combina as abordagens de Desrochers e Soumis [1989] e Ribeiro e Soumis [1994],em que o PPVT formulado como um problema de particionamento de conjuntos comrestries adicionais que so utilizadas para relacionar as programaes de veculos ede tripulaes. Na metodologia proposta uma coluna no modelo representa o blocode um veculo ou a jornada de trabalho de uma tripulao. Estas colunas correspon-dem a caminhos em dois grafos, um para a programao de veculos e outro para aprogramao das tripulaes. Destaca-se que restries de recursos foram inseridas

  • 9

    no grafo relacionado s tripulaes com o intuito de limitar o tempo de trabalho e onmero de paradas em uma jornada. Solues timas so obtidas por um algoritmobranch-and-price-and-cut em que a tcnica de gerao de colunas utilizada para deter-minar tanto blocos de veculos, quanto jornadas de trabalho para as tripulaes. Como objetivo de melhorar os limites inferiores obtidos pela relaxao linear do problema,cortes polidricos como propostos em Hoffman e Padberg [1993] so considerados paraos veculos. A modelagem proposta suficientemente genrica para ser estendida paramltiplas garagens e pode receber restries adicionais; porm, somente pequenas ins-tncias envolvendo no mximo 20 viagens so resolvidas na otimalidade em um temporazovel de CPU.

    Em Freling et al. [2003] foram apresentadas trs metodologias para resoluo dosproblemas de Programao de Veculos e Programao de Tripulaes: A abordagemseqencial em que primeiro resolve-se o PPV e a partir da soluo obtida o PPT solucionado; a programao independente das tripulaes, isto , o PPT resolvidosem considerar a soluo obtida no PPV; e a abordagem integrada em que PPV e PPTso resolvidos simultaneamente. Procurou-se neste trabalho identificar os benefciosda programao integrada de veculos e tripulaes em comparao com a seqencial.Para tanto, foram considerados problemas reais de uma empresa de transporte pblicoda Holanda e avaliou-se tanto a situao em que uma tripulao pode realizar trocade veculos durante sua jornada de trabalho, quanto a situao em que esta troca deveculos no permitida. Modelos matemticos so apresentados para as trs abor-dagens: Seqencial, independente e integrada. Para resoluo do PPVT foi propostauma heurstica lagrangeana que faz uso da tcnica de gerao de colunas no processo deresoluo do problema relaxado. Nesta abordagem o subproblema lagrangeano conside-rado o problema de programao de veculos com uma nica garagem, que resolvidopelo algoritmo proposto em Freling et al. [2001]. Durante o processo de resoluo doproblema relaxado o conjunto de jornadas de trabalho das tripulaes atualizado,de tal forma que todas as jornadas com custo reduzido negativo sejam consideradas.Como no possvel gerar todas as jornadas das tripulaes de imediato (no se temuma programao de veculos previamente definida), isto feito dinamicamente a par-tir de um processo que inicialmente cria partes de jornadas e em seguida combina estaspartes formando jornadas. Neste contexto, uma parte de jornada entendida comouma seqncia de tarefas provenientes de um mesmo bloco de veculo e que podemser realizadas por uma mesma tripulao sem interrupes. Destaca-se que cada ta-refa continua sendo definida como o agrupamento de viagens de um mesmo veculoque devem ser obrigatoriamente realizadas por uma mesma tripulao. Resultadoscomputacionais mostram a eficincia da abordagem integrada em diferentes situaes,

  • 10 Captulo 2. Reviso Bibliogrfica

    principalmente naquelas em que uma tripulao no pode trocar de veculo.Reis [2008] prope heursticas baseadas na metaheurstica Busca em Vizinhana

    Varivel - VNS (Variable Neighborhood Search) para definio das programaes deveculos e tripulaes considerando problemas reais de uma empresa brasileira de trans-porte pblico por nibus. Alm das abordagens seqencial tradicional e independente(descritas anteriormente) foram analisadas pelo autor outras trs metodologias de re-soluo, so elas:

    1. Abordagem Seqencial Inversa: Primeiro resolve-se o PPT e depois, a partir doresultado obtido, o PPV solucionado. Para tanto, considerou-se que durante aresoluo do PPT cada viagem manipulada separadamente, isto , correspondea exatamente uma tarefa. Com o intuito de evitar alteraes na soluo do PPT,antes de iniciar a definio da programao de veculos a jornada de trabalho decada tripulao considerada como uma nica viagem (para jornadas com umnico turno de trabalho) ou como duas viagens (para jornadas com dois turnosde trabalho, sendo cada turno uma viagem). Alm disso, aps a soluo do PPVos deslocamentos fora de operao realizados pelos veculos so adicionados programao de tripulaes j definida;

    2. Abordagem Integrada Nvel 1: Consiste na definio da programao dos veculosconsiderando caractersticas da tripulao e em seguida, com base na soluodo PPV, resolvido o PPT. O objetivo obter uma soluo para o PPV quefavorea de alguma forma a posterior resoluo do PPT. Nesta estratgia algumasrestries referentes aos tripulantes precisam ser atendidas pela programao dosveculos e o no atendimento destas restries penalizado;

    3. Abordagem Integrada Nvel 2: As programaes de veculos e tripulaes soobtidas simultaneamente. As estruturas de vizinhana utilizadas na resoluo doPPVT consideram tanto movimentos que alteram exclusivamente a programaodas tripulaes quanto os que modificam a programao de veculos e que podemcausar mudanas na programao de tripulaes (devido dependncia existenteentre PPV e PPT).

    Os resultados obtidos pelo autor comprovaram a eficincia da abordagem integradano que diz respeito reduo dos custos operacionais do sistema de transporte p-blico. Observou-se que quanto maior a dimenso do problema em termos do nmerode viagens dirias a serem realizadas, maior ser a dependncia entre PPV e PPT.Dessa forma, ficou evidenciada a importncia da resoluo integrada principalmentepara tratar problemas de grandes dimenses como os encontrados na realidade dascidades brasileiras.

  • 11

    Assim como em Reis [2008], no presente trabalho tambm so desenvolvidas heurs-ticas utilizando diferentes abordagens para resoluo do PPV e do PPT considerandoproblemas pertencentes ao cenrio do transporte pblico brasileiro. A principal contri-buio desse trabalho em comparao com o de Reis [2008] apresentar uma estratgiatotalmente nova de resoluo do PPVT. Alm disso, elaborada uma funo de avalia-o (funo que quantifica a qualidade de uma soluo) mais voltada para a integraoe que relaciona diretamente os custos relativos ao PPV e ao PPT.

    Laurent e Hao [2007] tratam do problema particular de uma companhia de aluguelde limousines que atua na cidade de Paris (Frana). Dado um conjunto de viagensdirias, com seus respectivos horrios e locais de incio e trmino e nmero de passa-geiros, deseja-se alocar simultaneamente, veculos e motoristas, de tal forma que sejamatendidas tantas viagens demandadas quanto possvel. Destaca-se que cada viagem, noproblema abordado, requer um motorista que tenha certa aptido e um veculo com de-terminadas caractersticas. Outra particularidade refere-se ao fato da carga de trabalhoda companhia ser dinmica, pois constantemente viagens so agendadas, canceladas emodificadas, conforme necessidades dos clientes. Assim, o objetivo , ao fim de cadadia, determinar as jornadas de trabalho dos veculos e motoristas visando otimizar autilizao de recursos disponveis, atender certas restries e ao mesmo tempo priorizara qualidade do servio considerando as viagens at ento agendadas para o prximo dia.Dessa forma, posteriores mudanas no quadro de viagens so tratadas manualmente.Para resolver o problema foi utilizado um algoritmo de duas fases. Inicialmente umasoluo obtida utilizando a tcnica de programao por restries [Tsang, 1993], daseguinte forma: um procedimento construtivo guloso primeiramente dispe as viagensem ordem decrescente de durao e, em seguida, seqencialmente determina um parmotorista-veculo para realizar cada uma delas. Aps cada atribuio, um procedi-mento prev futuros conflitos e elimina as possibilidades dos mesmos ocorrerem. Estafase de construo finalizada quando h um par motorista-veculo alocado a cada vi-agem ou quando nenhuma atribuio pode mais ser realizada sem que haja violao dealguma restrio. Na segunda fase a soluo gerada melhorada por um procedimentobaseado na metaheurstica Simulated Annealing. Para tanto, foram elaborados cincomecanismos de explorao da vizinhana sendo o espao de busca composto apenaspor solues viveis. A avaliao de uma soluo feita considerando vrios objetivos,cada qual com um peso associado. Este peso definido a partir de um parmetro deentrada que reflete a importncia do objetivo ao qual se refere em conjunto com ummtodo de aprendizagem que, a partir de vrias execues de diferentes instncias,estima os valores dos atributos da soluo baseado no seu nmero de viagens. Testesforam realizados com 10 quadros de viagens diferentes da companhia de aluguel de li-

  • 12 Captulo 2. Reviso Bibliogrfica

    mousines. Os resultados obtidos foram comparados com aqueles gerados manualmentee constatou-se que utilizando menos tempo o algoritmo proposto foi capaz de gerarprogramaes de qualidade muito superior.

    Outra variao do PPVT aparece quando este resolvido considerando que a frotade veculos, disponvel para realizao das viagens, se encontra espalhada em diferentesgaragens. Tal problema conhecido na literatura inglesa como Multiple-Depot Vehicleand Crew Scheduling Problem - MDVCSP.

    Em Mesquita e Paias [2008] so propostas duas formulaes para o MDVCSP. Aprimeira (SP-VCSP) similar a uma apresentada em Huisman et al. [2005], pormcom um menor nmero de restries e variveis de deciso. Esta formulao combinadois modelos, um de fluxos em rede multi-produto para a programao de veculos eoutro de particionamento de conjunto para a programao de tripulaes. A segundaformulao (SPC-VCSP) uma extenso da anterior em que algumas restries de par-ticionamento de conjunto so trocadas por restries de cobertura de conjunto. Estamodificao tornou o modelo mais flexvel e viabilizou as situaes em que era permi-tido tripulao trocar de veculos durante a sua jornada de trabalho sem, contudo,aumentar a complexidade do problema. A metodologia de resoluo proposta pelasautoras consiste em quatro etapas:

    1. Definio do conjunto de tarefas: Para formao das tarefas (agrupamento deviagens que devem ser realizadas por uma mesma tripulao) primeiramente necessrio definir a programao de veculos. Desconsiderando a necessidade deum veculo retornar sempre para a garagem de origem, o Problema de Programa-o de Veculos com Mltiplas Garagens conforme formulado no trabalho pdeser resolvido em tempo polinomial (problema de atribuio). Assim, cada blocode veculo obtido analisado separadamente de tal forma que duas viagens con-secutivas so agrupadas em uma nica tarefa sempre que o tempo compreendidoentre elas seja inferior a um dado valor e no se viole nenhuma restrio relativaa uma jornada da tripulao;

    2. Obteno do conjunto de jornadas inicial: Um conjunto inicial de jornadas detrabalho para as tripulaes se faz necessrio para que seja resolvido o problemade pricing no processo de gerao de colunas (etapa 3). Estas jornadas tambmforam obtidas resolvendo o Problema de Programao de Veculos com MltiplasGaragens sem a restrio de que os veculos retornem garagem de origem. Noentanto, nesta abordagem manipulam-se tarefas ao invs de viagens e se obtmjornadas no lugar de blocos de veculos. Ressalta-se que neste processo jornadasinviveis podem ser construdas, assim aqueles blocos que excedem a durao

  • 13

    mxima permitida para uma jornada so particionados e os blocos que violemqualquer outra restrio so mantidos, porm atribui-se um custo elevado a eles;

    3. Resoluo da relaxao linear do problema utilizando a tcnica de gerao decolunas: definida uma Rede Jornada, em que um caminho na rede correspondea uma jornada vivel. A jornada com o menor custo reduzido um caminhomnimo na Rede Jornada. Assim, como se deseja inserir vrias colunas (jorna-das) no problema mestre a cada iterao, o problema de pricing resolvido porprogramao dinmica. Nesta abordagem, com o intuito de agilizar o processo deresoluo, durante os estgios da programao dinmica so eliminados algunsestados, de duas maneiras: (i) Sempre que o custo reduzido da jornada sendoformada exceder um dado valor pr-definido e (ii) De forma randmica;

    4. Aplicao de um procedimento de branch-and-bound caso a soluo obtida naetapa anterior no seja inteira: Basta realizar branching sobre as variveis re-ferentes programao de veculos ou programao de tripulaes, conformeprovado no trabalho.

    Ao analisar esse e outros trabalhos encontrados na literatura que abordam os pro-blemas de programao de veculos e programao de tripulaes observa-se que apesarde tratarem do mesmo tema eles se diferem bastante conforme as regras operacionaise as leis trabalhistas que so contempladas. Por exemplo, em algumas situaes podeser de interesse de uma empresa que cada tripulao conduza o mesmo veculo durantetoda a sua jornada de trabalho, isto , a troca de veculos seja proibida. Com issoespera-se um comprometimento maior com a conservao do veculo e uma conduomais cautelosa por parte do motorista; por outro lado, restringe-se ainda mais a soluodo PPT. Estas duas situaes so apresentadas em Freling et al. [2003]. Outro fatointeressante refere-se troca ou no de linha (trajeto percorrido durante uma viagem),para algumas empresas desejvel que um motorista troque de linha a fim de que otrabalho no se torne montono e repetitivo. Contrariamente pode-se querer evitaras trocas com o intuito de agilizar o tempo de viagem (uma vez que o trajeto bemconhecido pelo motorista) e de estreitar o vnculo entre a tripulao e os passageirosque utilizam a linha. Freling et al. [2003] e Reis [2008] consideram, respectivamente,problemas em que a troca de linhas proibida e permitida. Assim, torna-se difcilcomparar os resultados obtidos nos diferentes trabalhos dadas as particularidades decada um e que interferem diretamente nas caractersticas das solues geradas.

  • Captulo 3

    Programaes Tradicional eIndependente de Veculos eTripulaes

    Conforme mencionado anteriormente existem diferentes maneiras de tratar os proble-mas de Programao de Veculos e Programao de Tripulaes. Nesse captulo, PPVe PPT so resolvidos seguindo as estratgias seqencial tradicional e independente.

    Na abordagem seqencial tradicional inicialmente definida a forma de operaodos veculos e, em seguida, baseando-se na programao obtida para o PPV, so defini-das as jornadas de trabalho dos tripulantes. Essa metodologia de resoluo, por si s,j interessante visto que PPV e PPT so problemas de grande relevncia, havendoinclusive, muitos trabalhos na literatura que tratam dos mesmos separadamente. Almdisso, as idias aqui apresentadas se mostram importantes uma vez que so exploradasno decorrer de todo o trabalho e permitem comparar os desempenhos das aborda-gens, seqencial e integrada, para definio das programaes de veculos e tripulaesconsiderando problemas reais.

    Esse captulo est organizado conforme descrito a seguir. Inicialmente, na seo 3.1,so definidos conceitos bsicos sobre o desenvolvimento de heursticas e apresentadaa metaheurstica de Busca Local Iterada, ou seja, so abordadas as tcnicas utilizadasnesse trabalho. Nas sees 3.2 e 3.3 so descritos, respectivamente, o Problema deProgramao de Veculos e a metodologia utilizada para resolv-lo. Na seo 3.4 apresentado o Problema de Programao de Tripulaes e, posteriormente, na seo3.5, o mtodo de resoluo proposto para o PPT mostrado. Por fim, a seo 3.6 tratado Problema de Programao Independente de Veculos e Tripulaes, em que PPV ePPT so resolvidos separadamente e sem se relacionarem.

    15

  • 16Captulo 3. Programaes Tradicional e Independente de Veculos e

    Tripulaes3.1 Heursticas

    Observa-se que no PPV e PPT o nmero de combinaes, em termos de blocos deveculos e jornadas das tripulaes, cresce exponencialmente com o tamanho da ins-tncia sendo considerada. Tratam-se de problemas altamente combinatrios e quese enquadram na classe de problemas NP-difceis [Huisman e Wagelmans, 2006], nohavendo, portanto, algoritmos em tempo polinomial para encontrar solues timas.Dessa forma, torna-se necessria uma abordagem heurstica para soluo de problemasmaiores.

    As heursticas so algoritmos exploratrios que visam obter uma boa soluo a umcusto computacional aceitvel, sem contudo, garantir a otimalidade ou quo prximadela a soluo se encontra.

    As heursticas so classificadas em construtivas ou de melhoria. Uma heursticaconstrutiva tem por objetivo determinar uma soluo, elemento por elemento. A formade escolha de cada elemento a ser inserido na soluo pode variar e depende da estra-tgia de construo adotada. As heursticas de melhoria, por sua vez, tm a finalidadede melhorar uma soluo construda e normalmente so baseadas no conceito de vi-zinhana. Sendo S o espao de pesquisa de um problema de otimizao, a funo Nassocia a cada elemento s S um conjunto N(s) S. O conjunto N(s) chamado devizinhana de s e cada soluo s N(s) chamada de vizinha de s. Cada soluo s

    obtida de s a partir de uma operao chamada de movimento, que define a transioentre solues atravs de pequenas modificaes.

    Dados os bons resultados encontrados na literatura brasileira que trata o PPV eo PPT utilizando procedimentos baseados em metaheursticas que fazem uso da tc-nica de busca local [Souza et al., 2007; Marinho, 2005; Reis, 2008] e considerando agrande semelhana dos problemas tratados nestes trabalhos com os que aqui so abor-dados, optou-se por iniciar essa pesquisa utilizando um mtodo de resoluo baseado nametaheurstica Busca Local Iterada. Como os primeiros resultados obtidos foram satis-fatrios, manteve-se a tcnica utilizada. Porm, devido representao elaborada paraos problemas, os procedimentos desenvolvidos nesse trabalho so facilmente adapt-veis para considerar outras metaheursticas baseadas em busca local, tais como: BuscaTabu, Simulated Annealing, GRASP e Mtodo de Busca em Vizinhana Varivel.

    3.1.1 Mtodo de Descida

    O Mtodo de Descida uma tcnica iterativa que partindo de uma soluo inicialqualquer explora toda a vizinhana de diferentes solues, at atingir um timo local,do qual o mtodo no capaz de escapar.

  • 3.1. Heursticas 17

    Inicialmente, o Mtodo de Descida explora toda a vizinhana de sua soluo cor-rente. Se o melhor vizinho encontrado proporcionar um aprimoramento no valor dafuno de avaliao (funo que quantifica a qualidade de uma soluo) at ento co-nhecido, ele aceito como a nova soluo a ser explorada. Caso contrrio, um timolocal foi alcanado e a soluo corrente retornada. Informaes adicionais sobreeste mtodo e outros procedimentos de busca local podem ser encontradas em Aarts eLenstra [2003] e Hoos e Stuzle [2005].

    O Algoritmo 1 mostra o pseudocdigo do Mtodo de Descida, cujo objetivo mi-nimizar uma funo de avaliao f.

    Algoritmo 1: Mtodo de Descida.Seja s0 uma soluo inicial conhecida1s s0, onde s a soluo corrente2s melhorV izinho(s), onde s o melhor dentre todos os vizinhos de uma3dada soluo senquanto f(s) < f(s) faa4

    s s5s melhorV izinho(s)6

    Retorna a melhor soluo encontrada, s7

    O Mtodo Randmico de Descida uma variante do Mtodo de Descida e suafinalidade evitar, a cada iterao, a busca exaustiva em toda a vizinhana da soluocorrente.

    A idia bsica dessa tcnica obter, a cada iterao, um vizinho qualquer da soluocorrente, admitindo-o como nova soluo corrente caso ele proporcione melhora no valorda funo de avaliao. Caso contrrio, a soluo corrente mantida inalterada. Esseprocedimento se repete at que uma condio de parada seja satisfeita.

    No Algoritmo 2 apresentado o pseudocdigo do Mtodo Randmico de Descidaaplicado minimizao de uma funo de avaliao f .

    Algoritmo 2: Mtodo Randmico de Descida.Seja s0 uma soluo inicial conhecida1s s0, onde s a soluo corrente2enquanto condio de parada no for satisfeita faa3

    Seja s N(s) um vizinho qualquer da soluo s4se f(s) < f(s) ento5

    s s6

    Retorna a melhor soluo encontrada, s7

  • 18Captulo 3. Programaes Tradicional e Independente de Veculos e

    Tripulaes3.1.2 Busca Local Iterada

    As metaheursticas podem ser vistas como sendo heursticas genricas mais sofistica-das, que visam explorar inteligentemente as instncias do problema e o seu espao desolues. Elas se caracterizam pela habilidade de escapar de timos locais.

    A metaheurstica Busca Local Iterada - ILS (Iterated Local Search) [Loureno et al.,2003] tem como idia principal focar a pesquisa por melhora apenas no subespaodefinido pelas solues que so localmente timas segundo um dado procedimento deotimizao, e no em todo o espao de solues. Para tanto proposto o uso deum mtodo de busca local combinado com a aplicao de perturbaes (modificaesrealizadas em uma soluo).

    Assim, a cada iterao do ILS, realizada uma perturbao sobre a soluo correnteseguida de um procedimento de busca local para melhorar a soluo perturbada. Essanova soluo ento avaliada e caso seja satisfeito o critrio de aceitao (por exemplo,se houve melhora na funo de avaliao), ela ser considerada a soluo corrente. Casocontrrio, a soluo corrente mantida inalterada. Esse procedimento repetido atque a condio de parada seja satisfeita.

    No Algoritmo 3 apresentada a metaheurstica ILS bsica em que se identificamquatro componentes:

    1. geraSolucaoInicial : que gera uma soluo inicial s0 para o problema;

    2. buscaLocal : que retorna uma soluo melhorada s aps gerao da soluo iniciale outra s aps perturbao;

    3. perturbacao: que modifica a soluo corrente s guiando a uma soluo interme-diria s. Uma perturbao eficiente aquela que no altera drasticamente asoluo corrente, mas, ainda assim, permite que a busca local explore diferentesregies;

    4. criterioAceitacao: deciso que se refere tanto aceitao da soluo perturbadacomo soluo corrente, quanto quo intensa ser a prxima perturbao a seraplicada (isto , determinao do nvel de perturbao).

    Destaca-se que algoritmos mais eficientes so obtidos quando tanto a perturbaoquanto o critrio de aceitao dependem das solues obtidas em iteraes anteriores,ou seja, utiliza-se do recurso de memria (representada pelo historico no Algoritmo 3).

  • 3.2. Descrio do Problema de Programao de Veculos 19

    Algoritmo 3: ILS - Busca Local Iterada.s0 geraSolucaoInicial()1s buscaLocal(s0), onde s a soluo corrente2enquanto condio de parada no for satisfeita faa3

    s perturbacao(historico, s)4s buscaLocal(s)5s criterioAceitacao(s, s, historico)6

    Retorna a soluo s7

    3.2 Descrio do Problema de Programao de

    Veculos

    O Problema da Programao de Veculos (PPV) consiste em criar uma rotina diriade operao para uma frota de veculos disponibilizada para uso de uma empresa, demodo que todas as viagens a ela responsabilizadas sejam realizadas e a programaogerada no viole as regras operacionais e as limitaes de tempo e espao existentes.

    A programao dos veculos feita a partir de uma tabela de horrios que definidaem uma etapa anterior a resoluo do PPV e na qual se encontram todas as viagens aserem realizadas em um determinado dia por uma empresa. A Tabela 3.1 ilustra umfragmento de uma tabela de horrios.

    Tabela 3.1. Tabela de horrios.

    Nmero Horrio Ponto Horrio Ponto Linha Tempo de Tempo deda de Inicial de Final Embarque DesembarqueViagem Incio Trmino1 5 30 70 30 30.4 1 12 5 302 38 302 302.4 1 13 20 30 76 30 30.4 1 14 240 302 265 302 302.4 1 15 255 30 309 30 30.3 1 26 260 302 281 302 302.1 1 17 270 305 335 305 305.1 1 28 270 30 331 30 30.3 1 29 270 326 300 326 326.1 1 210 280 30 340 30 30.3 1 2

    Na tabela de horrios, cada viagem identificada univocamente por meio de umconjunto de caractersticas que consistem em informaes relevantes no processo deresoluo do problema. Organizados em colunas e aparecendo seqencialmente natabela, temos: o nmero da viagem, horrio de incio da viagem (em minutos), o pontoinicial que corresponde ao local de incio da viagem, horrio de trmino da viagem (em

  • 20Captulo 3. Programaes Tradicional e Independente de Veculos e

    Tripulaesminutos), o ponto final que se refere ao local em que a viagem termina, a linha a qual aviagem pertence, e finalmente as duas ltimas colunas que se referem respectivamenteaos tempos destinados ao embarque e desembarque de passageiros, dados em minutos,e que no necessariamente so iguais, sendo o primeiro dependente do horrio de incioda viagem e o segundo do horrio de fim da mesma.

    Para exemplificar, considere a primeira viagem 1 apresentada na Tabela 3.1. Essaviagem comea no ponto 30 aos 5 minutos do dia, ou seja, s 00:05 horas e finalizadano ponto 30 aos 70 minutos do dia, que corresponde s 01:10 horas. As duas ltimascolunas indicam que o veculo que far a viagem 1 permanecer um minuto no ter-minal para embarque e aps chegar ao destino mais um minuto de terminal dever sercumprido para permitir o desembarque de passageiros.

    Alm do conjunto de viagens, devem ser fornecidas tambm informaes relativasaos tempos de deslocamento entre os vrios pontos de parada dos veculos, incluindo agaragem. De posse dessas informaes possvel determinar o tempo que um veculogasta fora de operao, ou seja, sem passageiros, para sair de um ponto e chegar aoutro. A este tipo de deslocamento dado o nome de viagem morta.

    Para que a programao de atividades da frota seja factvel necessrio atender auma srie de restries, as quais podem variar conforme as polticas operacionais queregem o Sistema de Transporte Pblico Urbano por nibus no qual a empresa atua.No problema sendo abordado (de empresas de transporte pblico que atuam na cidadede Belo Horizonte) considerado que todos os veculos da frota so idnticos e quepartem de uma mesma garagem. As restries que sero levadas em considerao soas seguintes:

    (a) Todas as viagens de responsabilidade de uma empresa, sem excees, devem serrealizadas por algum veculo da frota;

    (b) Antes de se iniciar e aps finalizar uma viagem, um veculo deve obrigatoriamentecumprir um tempo mnimo no terminal, que corresponde ao tempo necessriopara o embarque e desembarque dos passageiros;

    (c) Um mesmo veculo somente poder realizar duas viagens, i e j, consecutivamente,se o intervalo de tempo existente entre elas for suficiente para que o veculodesloque do ponto final da viagem i para o ponto inicial da viagem j, respeite ostempos destinados para embarque e desembarque de passageiros e inicie a viagemj sem atrasos. Caso contrrio, ocorrer uma sobreposio de horrios entre asviagens;

    (d) Um veculo no deve ficar mais de duas horas em um terminal esperando paraexecutar a sua prxima viagem. Se o tempo de espera exceder esse limite, o

  • 3.3. Mtodo de Soluo do PPV 21

    veculo dever se deslocar para a garagem. Diz-se, nesse ltimo caso, que oveculo est realizando uma dupla pegada;

    (e) O nmero de duplas pegadas da programao no pode exceder 60% do tamanhoda frota;

    (f) Todo veculo deve iniciar e terminar a sua jornada de trabalho na garagem;

    (g) Todo veculo deve permanecer, no mnimo, trinta minutos consecutivos na gara-gem, por dia, para que ocorra a sua manuteno e limpeza. Este tempo podeser cumprido quando o veculo pra na garagem durante uma dupla pegada oumesmo depois de completada toda a sua jornada operacional diria.

    Neste trabalho o objetivo obter uma programao de veculos em que o tamanhoda frota utilizada e os deslocamentos dos veculos fora de operao (deslocamentos queno equivalem a nenhuma viagem) sejam minimizados.

    A soluo para o Problema de Programao de Veculos consiste, portanto, em atri-buir um conjunto de viagens para um nmero de veculos menor ou igual frota dis-ponvel pela empresa, considerando as restries apresentadas acima, de tal forma quetodas as viagens sejam realizadas com o menor custo operacional possvel. Este custo estipulado por uma funo que penaliza as caractersticas indesejveis da programao.Ao se resolver o PPV tem-se como resultado os chamados blocos dos veculos. Cadaum destes blocos corresponde a um conjunto de viagens que sero executadas por ummesmo veculo.

    3.3 Mtodo de Soluo do PPV

    Nesta seo apresentada a metodologia proposta para resolver o PPV. Na subseo3.3.1 mostra-se como uma soluo para o problema representada. Na subseo 3.3.2so apresentadas as estruturas de vizinhana desenvolvidas para explorar o espao debusca. Na subseo 3.3.3 mostrada a funo de avaliao que foi elaborada paraquantificar a qualidade de uma soluo. Descreve-se na subseo 3.3.4 o procedimentode gerao da soluo inicial. Por fim, na subseo 3.3.5, apresentado o algoritmoproposto para resolver o problema.

    3.3.1 Representao

    Uma soluo sv para o PPV consiste em uma lista de veculos, sendo que a cadaveculo est associada uma lista de viagens a serem por ele executadas durante um

  • 22Captulo 3. Programaes Tradicional e Independente de Veculos e

    Tripulaesdia de trabalho. pertinente ressaltar que as viagens realizadas por cada veculo somantidas ordenadas por seus horrios de incio. Esta abordagem importante, umavez que atravs dela ser possvel avaliar a jornada de trabalho de um veculo sob vriosaspectos, tais como: tempo de locomoo fora de operao (viagem morta), tempo deespera no terminal e total de retornos garagem.

    A Figura 3.1 ilustra uma soluo sv para o PPV, na qual uma frota de quatroveculos deve executar doze viagens a ela alocadas.

    Figura 3.1. Exemplo de uma soluo sv para o PPV.

    3.3.2 Estruturas de Vizinhana

    Para explorar o espao de solues do PPV foram utilizados trs tipos de movimentosque definem, respectivamente, as estruturas de vizinhana V N (R), V N (T ) e V N (RT ),so eles: realocao de viagem, troca de viagens e realocao-troca de viagens. Arealocao consiste em transferir uma viagem pertencente a um veculo para outroveculo. O movimento de troca corresponde em permutar uma viagem de um dadoveculo com uma viagem pertencente a outro veculo. J o movimento de realocao-troca de viagens envolve trs veculos, v1, v2 e v3, o veculo v1 tem uma de suas viagenstransferida para o veculo v2 e o veculo v2, por sua vez, cede uma de suas viagens (desdeque no seja a viagem proveniente de v1) para o veculo v3. Portanto, neste movimento oveculo v2 troca uma de suas viagens a partir de duas realocaes sucessivas, justificandoassim, o nome dado ao movimento.

    Na Figura 3.2 esto ilustrados estes movimentos.

  • 3.3. Mtodo de Soluo do PPV 23

    Figura 3.2. Estruturas de vizinhana do PPV.

    Em algumas situaes desejado avaliar o efeito de um dado movimento sobre afuno que quantifica a qualidade da soluo sem, contudo, efetivar este movimento.Tal situao ocorre, por exemplo, em heursticas de busca local baseadas no mtodode descida (apresentado na subseo 3.1.1) que a cada iterao exploram toda a vizi-nhana da soluo corrente, porm apenas um ou nenhum dos movimentos testados aceito. Assim, com o objetivo de obter algoritmos mais eficientes em termos de tempocomputacional a execuo de um movimento decomposta em duas etapas:

    1. Avaliao do custo da programao supondo que o movimento foi realizado, isto, sem real alterao da soluo;

  • 24Captulo 3. Programaes Tradicional e Independente de Veculos e

    Tripulaes2. Efetivao do movimento com a transferncia das viagens envolvidas para os seus

    novos veculos.

    Esta estratgia foi aplicada em todos os movimentos explorados no decorrer destetrabalho.

    3.3.3 Funo de Avaliao

    A funo elaborada para quantificar a qualidade de uma soluo para o PPV baseadana penalizao dos atributos indesejveis da programao. Portanto, uma soluo sv

    para o Problema de Programao de Veculos avaliada com base na seguinte funo,a qual deve ser minimizada:

    f v(sv) = totalV eiculos custoUsoV eiculo+ tempoV iagemMorta custoV iagemMorta+ totalExcessoDP pesoInviabilidade+ tempoSobreposicao pesoInviabilidade

    (3.1)

    em que:

    (a) totalVeiculos a quantidade de veculos utilizados;

    (b) custoUsoVeiculo o custo associado ao uso de um veculo;

    (c) tempoViagemMorta o tempo total, em minutos, que foi despendido com osdeslocamentos realizados fora de operao (viagem morta), considerando todosos veculos da frota;

    (d) custoViagemMorta o custo associado a cada minuto de viagem morta realizadapor um veculo;

    (e) totalExcessoDP a quantidade de duplas pegadas da programao que superaum certo nmero admissvel, previamente definido;

    (f) tempoSobreposicao a soma, dada em minutos, de todos os intervalos de tempoem que h sobreposio de horrios entre viagens de um mesmo veculo da pro-gramao. Tambm considerado sobreposio, o tempo faltante para que sejamcompletados os trinta minutos dirios na garagem de cada veculo que no con-temple esta restrio. Destaca-se que na sobreposio de horrios entre duasviagens esto embutidos os tempos para embarque e desembarque de passageirose de deslocamento do veculo que no foram respeitados;

    (g) pesoInviabilidade o peso dado a cada inviabilidade presente na soluo.

  • 3.3. Mtodo de Soluo do PPV 25

    3.3.4 Procedimento de Gerao da Soluo Inicial

    A programao de veculos inicial gerada por uma heurstica construtiva gulosa. Emheursticas deste tipo uma soluo construda iterativamente, elemento por elemento,tomando-se a cada passo a melhor deciso segundo um dado critrio. No algoritmoproposto, inicia-se com uma frota formada por um nico veculo com jornada vazia eum conjunto de viagens a serem realizadas, dispostas ordenadas crescentemente pelohorrio de incio. A cada passo, remove-se a primeira viagem do conjunto e a aloca najornada de trabalho diria de algum veculo da frota. Esta combinao deve ser a queimplique no menor custo possvel de operao determinado pela aplicao da funode avaliao descrita anteriormente pela expresso (3.1). medida que a soluo vaisendo gerada novos veculos so criados dinamicamente, de tal maneira que sempre sejaavaliada a atribuio de uma viagem a um veculo com jornada vazia. Este processo repetido at que no haja mais viagens a serem alocadas.

    O Algoritmo 4, a seguir, mostra o pseudocdigo da heurstica construtiva gulosautilizada no PPV.

    3.3.5 Algoritmo de Resoluo

    Na resoluo do PPV foram utilizados procedimentos de busca local baseados no M-todo de Descida e no Mtodo Randmico de Descida, descritos na subseo 3.1.1 napgina 16, so eles:

    1. DescidaComRealocacao_PPV e DescidaRandomicaComRealocacao_PPV queconsideram durante as buscas a estrutura de vizinhana V N (R) (realocao deviagem);

    2. DescidaComTroca_PPV e DescidaRandomicaComTroca_PPV que consideramdurante as buscas a estrutura de vizinhana V N (T ) (troca de viagens).

    Destaca-se que os mtodos DescidaRandomicaComRealocacao_PPV e DescidaRan-domicaComTroca_PPV foram utilizados com o intudo de introduzir uma certa ale-atoriedade ao processo de busca por melhora e, ao mesmo tempo, torn-lo menosdispendioso em relao ao tempo de processamento. Para tanto, as escolhas dos vecu-los e das viagens manipulados nos movimentos so feitas de forma aleatria e a soluocorrente atualizada sempre que a soluo vizinha tenha reduzido o valor da melhorfuno de custo at ento obtida. Alm disso, a condio de parada destes procedimen-

  • 26Captulo 3. Programaes Tradicional e Independente de Veculos e

    Tripulaes

    Algoritmo 4: Heurstica para gerao de uma soluo inicial para o PPV.Seja T o conjunto de viagens a serem realizadas, com T ordenado1crescentemente por horrio de incio de suas viagensSeja F o conjunto de veculos da empresa, inicialmente F possui um nico2veculo sem qualquer viagemenquanto T 6= faa3

    t primeira viagem de T4melhorDelta, onde melhorDelta a melhor variao ocorrida na5funo de avaliao ao se alocar a viagem tpara cada veculo v F faa6

    custoAnterior custo do veculo v antes de receber a viagem t7custoPosterior novo custo do veculo v caso a viagem t seja inserida8em sua jornada de trabalho diriaCalcule a variao de custo do veculo v caso ele receba a viagem t:9 custoPosterior custoAnteriorse < melhorDelta ento10

    melhorDelta 11melhorV eiculo info(v), isto , armazene uma informao que12permita identificar o veculo da frota que ir contribuir menos para ovalor da funo de avaliao ao receber a viagem t

    se melhorV eiculo no possui viagens ento13Crie um novo veculo sem viagens e adicione ao conjunto F . (criao14dinmica de veculo, mantendo sempre um veculo sem viagens em F )

    Aloque a viagem t ao veculo da frota F indicado por melhorV eiculo15fo fo + melhorDelta, ou seja, atualize o valor da funo de avaliao16Remova t de T17

    Retorne, como soluo, a programao da frota F da empresa18

    tos determinada pelo nmero de iteraes sem melhora na soluo corrente, conformeexpresso (3.2) a seguir:

    itMaxPPV = (total_viagens (total_veiculos 1)) 0, 6 (3.2)

    onde:

    (a) itMaxPPV o nmero mximo de iteraes sem melhora na soluo corrente;

    (b) total_viagens o nmero de viagens a serem realizadas;

    (c) total_veiculos o nmero de veculos sendo empregados na programao.

    Dessa forma, o nmero mximo de iteraes sem melhora, itMaxPPV , ser iguala 60% do total de possveis realocaes de viagens considerando a programao de

  • 3.3. Mtodo de Soluo do PPV 27

    veculos atual. Tal percentual foi definido empiricamente de forma a encontrar umaboa relao entre o tempo de execuo da busca e a qualidade da soluo obtida. Estaestratgia interessante, uma vez que relaciona o valor de itMaxPPV com o tamanhodo problema sendo considerado.

    O procedimento proposto neste trabalho para resolver o Problema de Programaode Veculos, cujo pseudocdigo apresentado pelo Algoritmo 5, baseado na metaheu-rstica Busca Local Iterada.

    Uma soluo inicial para o PPV obtida pela heurstica construtiva gulosa descritaanteriormente na subseo 3.3.4. Em seguida, com o objetivo de melhorar a quali-dade da programao, foram utilizados os procedimentos de busca local DescidaRan-domicaComRealocacao_PPV, DescidaRandomicaComTroca_PPV, DescidaComRealo-cacao_PPV e DescidaComTroca_PPV.

    As perturbaes correspondem a movimentos realizados sobre a soluo corrente eque envolvem veculos e viagens aleatoriamente selecionados na programao. H cinconveis de perturbao, so eles: nvel 1 - um movimento de realocao de viagem, nvel2 - um movimento de troca de viagens, nvel 3 - dois movimentos de realocao deviagem, nvel 4 - dois movimentos de troca de viagens e nvel 5 - um movimento derealocao-troca de viagens.

    Os procedimentos de busca local utilizados para refinar a soluo perturbadafundamentam-se no Mtodo Randmico de Descida, so eles: DescidaRandomicaCom-Realocacao_PPV e DescidaRandomicaComTroca_PPV.

    Uma nova soluo para o PPV somente ser aceita se ela for de qualidade melhor ouigual a da soluo corrente (linhas 15 e 18). No primeiro caso, o nvel de perturbao reiniciado de forma a intensificar a busca na nova soluo obtida. Nas demaissituaes o nvel de perturbao aumentado em um ou reiniciado (caso j se estejano nvel de perturbao mais alto).

  • 28Captulo 3. Programaes Tradicional e Independente de Veculos e

    Tripulaes

    Algoritmo 5: Algoritmo de resoluo do PPV.

    Seja T o tempo de processamento corrente do algoritmo e Tmax o tempo1mximo admissvel de processamentoSeja nivel o nvel de perturbao corrente2T 03nivel 14Gere uma soluo inicial sv a partir da heurstica construtiva gulosa descrita5pelo Algoritmo 4, na pgina 26sv DescidaRandomicaComRealocacao_PPV (sv)6sv DescidaRandomicaComTroca_PPV (sv)7sv DescidaComRealocacao_PPV (sv)8sv DescidaComTroca_PPV (sv)9sv sv, onde sv a melhor soluo encontrada at ento10enquanto T < Tmax faa11

    sv perturbacao(sv, nivel)12sv DescidaRandomicaComRealocacao_PPV (sv)13sv DescidaRandomicaComTroca_PPV (sv)14se f v(sv) < f v(sv) ento15

    sv sv, ou seja, atualize a melhor soluo at ento encontrada16nivel 117

    se f v(sv) = f v(sv) ento18sv sv, ou seja, atualize a melhor soluo at ento encontrada19nivel nivel + 120

    se f v(sv) > f v(sv) ento21nivel nivel + 122

    se nivel > numNiveis ento23nivel 1, onde numNiveis o nmero mximo de nveis de perturbao24

    Retorne a soluo sv25

    3.4 Descrio do Problema de Programao de

    Tripulaes

    Em um Sistema de Transporte Pblico de nibus Urbano, todo deslocamento realizadopor um veculo envolve a mo-de-obra de uma tripulao constituda normalmente por

  • 3.4. Descrio do Problema de Programao de Tripulaes 29

    dois funcionrios: um motorista e um cobrador. O Problema de Programao deTripulaes (PPT) consiste em criar jornadas dirias de trabalho para os motoristase cobradores de tal forma a viabilizar a execuo de todas as viagens da empresa.Alm disso, esta distribuio de trabalho deve ser realizada de maneira a minimizaros custos com mo-de-obra e ao mesmo tempo obedecer legislao trabalhista e asregras operacionais sob as quais a empresa atua.

    Uma limitao para a resoluo do PPT o fato de que no entre quaisquerviagens de um veculo que poder haver a troca de tripulao. Esta s ocorrer naschamadas oportunidades de troca, ou seja, em locais e em intervalos de tempo quepossibilitem a mudana de tripulao e a reviso do veculo (verificao do estado emque a tripulao anterior deixou o nibus).

    Assim, na abordagem seqencial tradicional, antes de efetivamente se gerar a pro-gramao de tripulaes, os blocos de veculos so quebrados em tarefas. Uma tarefaengloba viagens consecutivas, de um mesmo veculo, entre as quais no h nenhumaoportunidade de troca e caracterizada pelos seguintes atributos: veculo ao qual per-tence, horrio de incio, horrio de trmino, ponto inicial, ponto final, folga acumulada(isto , tempo ocioso da tripulao no decorrer da tarefa) e durao.

    Esta estratgia de construir tarefas facilita a resoluo do PPT, pois mantm asviagens que obrigatoriamente devem ser realizadas por uma mesma tripulao juntas,evitando dessa forma que as solues do PPV e PPT sejam incompatveis.

    Supondo que para ocorrer a troca de tripulao necessrio um tempo maior ouigual a seis minutos entre as viagens, um exemplo de um bloco de veculo particionadoem tarefas mostrado na Figura 3.3 a seguir. Alm dos atributos normais de umaviagem, no exemplo, as colunas Viagem Morta e Tempo de Terminal apresentam,respectivamente, os tempos em minutos, de deslocamento do veculo fora de operao ede espera no terminal aguardando o horrio de incio da prxima viagem programada.

    Nesta figura observa-se, por exemplo, que a Tarefa 5 engloba as viagens 101,120 e 149 por no haver um tempo suficiente entre elas para que ocorra a troca detripulao. Esta tarefa iniciar s 15:15 horas, no ponto 3055, e ser finalizada nestemesmo ponto s 20:04 horas. Assim sendo, a Tarefa 5 possui uma durao de 4 horase 49 minutos e sua folga acumulada de quatro minutos.

    Vale ressaltar que as tarefas so construdas de tal forma a cobrir no apenas asviagens operacionais dos veculos, mas como tambm os deslocamentos sem passageirosdos mesmos, conforme pode ser notado nas estruturas das tarefas Tarefa 1, Tarefa3 e Tarefa 6 do exemplo. A tarefa 1 considera o deslocamento do veculo dagaragem para o ponto de incio de sua primeira viagem, a tarefa 3 contempla oreposicionamento do veculo do ponto 3050 (local de fim da viagem 60) para o

  • 30Captulo 3. Programaes Tradicional e Independente de Veculos e

    Tripulaesponto 3055 (local de incio da prxima viagem, viagem 87) e a Tarefa 6 cobre oretorno do veculo garagem ao fim de sua jornada de trabalho.

    Figura 3.3. Bloco de veculo particionado em tarefas.

    Na resoluo do PPV a unidade manipulada a viagem, j no PPT a tarefa (amenor poro de uma jornada de trabalho de uma tripulao). As jornadas geradaspela resoluo do PPT podem ser de dois tipos: pegada simples ou dupla pegada.Uma jornada do tipo pegada simples aquela em que todos os intervalos entre suastarefas consecutivas so inferiores a duas horas, ou seja, a tripulao responsvel poressa jornada trabalhar um nico turno. Aquelas jornadas que possuem um intervalode tempo, entre duas de suas tarefas consecutivas, igual ou superior a duas horas,so classificadas como do tipo dupla pegada e so realizadas em dois turnos, sendoesta extensa pausa entre tarefas no remunerada pela empresa. No problema sendoabordado (de empresas de transporte pblico que atuam na cidade de Belo Horizonte),a durao normal de uma jornada seja ela de pegada simples ou de dupla pegada de6:40 horas de efetivo trabalhado. No caso de pegada simples, a tripulao tem direitoa um intervalo de 20 minutos para descanso e/ou alimentao. Assim, a durao desua jornada estende-se a 7:00 horas.

    Na formao das jornadas a legislao trabalhista e as regras operacionais devemser obrigatoriamente satisfeitas para que uma soluo para o PPT seja vivel. Asrestries que sero levadas em considerao so as seguintes:

    (a) Uma tripulao no pode executar duas tarefas simultaneamente, isto , em ne-nhuma jornada poder ocorrer coincidncias de horrio entre quaisquer de suastarefas;

  • 3.5. Mtodo de Soluo do PPT 31

    (b) Uma tripulao somente poder realizar a troca de veculos nas seguintes cir-cunstncias: nas situaes em que os veculos envolvidos se encontram em ummesmo terminal no momento da troca, basta que a tripulao tenha um pequenointervalo ocioso (cinco minutos no mnimo) para que ela abandone um veculo edesloque rapidamente para assumir o outro. Caso contrrio, se os veculos envol-vidos esto em terminais distintos, a troca somente poder ocorrer no intervaloentre os turnos de uma jornada do tipo dupla pegada. Esta ltima condiose faz necessria devido ao fato de a distncia entre os diferentes terminais sergrande. Vale ressaltar que um terminal o local de disposio dos vrios pontosde parada dos veculos e onde ocorre o embarque e desembarque de passageiros;

    (c) Uma tripulao pode extrapolar, no mximo, duas horas dirias de trabalho almda durao normal de sua jornada, sendo este tempo excedente considerado horaextra;

    (d) Toda jornada do tipo pegada simples deve ter uma folga mnima de 20 minutos,podendo esta ser fracionada em dois intervalos, tendo cada um uma durao igualou superior a 10 minutos;

    (e) O intervalo mnimo entre o final de uma jornada e o incio da mesma no diaseguinte dever ser de 11:00 horas;

    (f) O nmero de jornadas de trabalho do tipo dupla pegada no pode exceder a 20%do total de tripulaes da programao.

    Neste trabalho o objetivo obter uma programao de tripulaes que priorize adiminuio dos custos com mo-de-obra. importante destacar que isto no implicaem apenas reduzir ao mximo o nmero de tripulantes empregados, mas baseando-senos gastos envolvidos com a contratao e extenso da jornada (hora extra) de umfuncionrio, obter a melhor distribuio de trabalho em termos financeiros.

    Portanto, uma soluo para o PPT um conjunto de jornadas de trabalho, sendocada uma delas realizada por uma tripulao pertencente ao quadro de funcionrios daempresa. O objetivo minimizar o custo com a remunerao das tripulaes, mas aomesmo tempo cumprir as regras de carter operacional e jurdico envolvidos.

    3.5 Mtodo de Soluo do PPT

    A metodologia adotada neste trabalho para resoluo do PPT anloga quela apre-sentada anteriormente para abordar o PPV, conforme poder ser observado no decorrer

  • 32Captulo 3. Programaes Tradicional e Independente de Veculos e

    Tripulaesdesta seo. Na subseo 3.5.1 mostra-se como uma soluo para o PPT represen-tada. Em seguida, na subseo 3.5.2, so descritos os tipos de movimentos utilizadospara explorar o espao de busca. Mostra-se na subseo 3.5.3 como se avalia uma solu-o do problema. O procedimento de construo das tarefas detalhado na subseo3.5.4. Os algoritmos para gerao das solues inicial e final para o PPT so descritos,respectivamente, nas subsees 3.5.5 e 3.5.6.

    3.5.1 Representao

    Uma soluo st para o PPT consiste em uma lista de jornadas, sendo que a cadajornada est associada uma lista de tarefas a serem executadas por uma mesma tri-pulao, durante um dia de trabalho, ordenadas crescentemente por seus horrios deincio. Esta disposio ordenada das tarefas se faz necessria, pois atravs dela pos-svel determinar caractersticas relevantes da jornada, tais como: nmero de trocas deveculos realizadas, tempo de ociosidade, tipo de jornada (pegada simples ou dupla) eexistncia de sobreposio entre tarefas.

    Figura 3.4. Exemplo de uma soluo st para o PPT.

    3.5.2 Estruturas de Vizinhana

    Para explorao do espao de solues do PPT foram utilizados, assim como no PPV,trs tipos de movimentos: realocao de tarefa, troca de tarefas e realocao-troca detarefas. A realocao de tarefa consiste em transferir uma tarefa pertencente jornadade trabalho de uma dada tripulao para a jornada de outra tripulao. O movimentode troca de tarefas corresponde a permutar uma tarefa de uma dada jornada com umatarefa pertencente outra jornada. J o movimento de realocao-troca de tarefasenvolve trs jornadas, j1, j2 e j3, a jornada j1 tem uma de suas tarefas transferida para

  • 3.5. Mtodo de Soluo do PPT 33

    a jornada j2 e a jornada j2, por sua vez, cede uma de suas tarefas (desde que no sejaa tarefa proveniente de j1) para a jornada j3. Portanto, neste movimento a jornada j2troca uma de suas tarefas a partir de duas realocaes sucessivas, justificando assim,o nome dado ao movimento.

    Portanto, foram definidas para o PPT as estruturas de vizinhana CN (R) que serefere ao movimento de realocao de tarefa, CN (T ) associada ao movimento de trocade tarefas e CN (RT ) relacionada ao movimento de realocao-troca de tarefas.

    Os movimentos de realocao, troca e realocao-troca de tarefas esto representa-dos na Figura 3.5.

    Figura 3.5. Estruturas de vizinhana do PPT.

  • 34Captulo 3. Programaes Tradicional e Independente de Veculos e

    Tripulaes3.5.3 Funo de Avaliao

    Uma soluo st para o Problema de Programao de Tripulaes avaliadapenalizando-se os seus atributos indesejveis. Portanto, o PPT nesta abordagem tratado como um problema de minimizao, cujo custo associado calculado pelafuno f t, conforme apresentado a seguir pela expresso (3.3).

    f t(st) = totalTripulacoes custoUsoTripulacao+ tempoHoraExtra custoHoraExtra+ totalExcessoDP pesoInviabilidade+ tempoSobreposicao pesoInviabilidade

    (3.3)

    em que:

    (a) totalTripulacoes o nmero de tripulaes empregadas na programao;

    (b) custoUsoTripulacao o custo associado a cada tripulao sendo utilizada;

    (c) tempoHoraExtra o tempo total de horas extras, em minutos, considerando todasas tripulaes da programao;

    (d) custoHoraExtra o custo associado a cada minuto de hora extra realizada poruma tripulao;

    (e) totalExcessoDP a quantidade de duplas pegadas da programao que superaum certo nmero admissvel, previamente definido;

    (f) tempoSobreposicao a soma, dada em minutos, de todos os intervalos de tempoem que h sobreposio de horrios entre tarefas de uma mesma tripulao daprogramao. Destaca-se que, tambm ser considerado sobreposio, o tempofaltante para que sejam completadas as 11:00 horas de intervalo entre o final deuma jornada e o incio da mesma no dia seguinte;

    (g) pesoInviabilidade o peso dado a cada inviabilidade presente na soluo.

    3.5.4 Procedimento de Construo das Tarefas

    Para construo das tarefas cada bloco de veculo em uma soluo para o PPV considerado separadamente. Como as viagens em um bloco encontram-se ordenadascrescentemente pelos seus horrios de incio, o processo comea da primeira viagemdo veculo no dia e sistematicamente vai percorrendo toda a sua jornada de operao,viagem por viagem. Neste procedimento, a cada iterao, dadas a viagem i atualmentesendo analisada e a tarefa t em formao, so executados os seguintes passos:

  • 3.5. Mtodo de Soluo do PPT 35

    1. Se i a primeira viagem do veculo, ento a tarefa t inicia na garagem, cobrindoassim, o deslocamento fora de operao realizado da garagem para o ponto deincio da viagem i ;

    2. Se i a ltima viagem do veculo, ento a tarefa t finalizada na garagem, apscobrir a viagem i, e no h mais tarefas a serem construdas. Caso contrrio, seaps a viagem i o veculo realiza a viagem j (que ser a viagem a ser analisadana prxima iterao), tem-se que:

    a) Se entre as viagens i e j no houver uma oportunidade de troca, ambassero agrupadas na tarefa t e a folga acumulada da tarefa t ser acrescidado tempo de ociosidade do veculo entre as viagens i e j. Neste caso, a tarefat continua em processo de construo;

    b) Se entre as viagens i e j o veculo retorna garagem (ou seja, entre estasviagens houver uma dupla pegada), a tarefa t finalizada na garagem apscobrir a viagem i e uma nova tarefa t iniciar na garagem. Assim, a novatarefa em formao ser t e esta cobrir o deslocamento fora de operaorealizado da garagem para o ponto de incio da viagem j ;

    c) Se entre as viagens i e j houver uma oportunidade de troca e, o veculo norealizar dupla pegada entre elas, a tarefa t cobre a viagem i e finalizada noponto de incio da viagem j. Dessa forma, convencionou-se que caso ocorradeslocamento fora de operao entre as viagens i e j, ele ser sempre cobertopela tarefa t. Em seguida, inicia-se uma nova tarefa, t, no ponto de incioda viagem j e esta passa a ser a tarefa em construo.

    Conforme pode ser observado o procedimento de construo das tarefas contem-pla todos os deslocamentos realizados pelos veculos e engloba, em uma nica tarefa,viagens que devem ser realizadas por uma mesma tripulao.

    3.5.5 Procedimento de Gerao da Soluo Inicial

    Antes de dar incio ao processo de resoluo do PPT, dada a programao de vecu-los, devem ser definidas as suas tarefas. Para tanto, foi utilizado o procedimento deconstruo das tarefas descrito anteriormente na subseo 3.5.4.

    A programao de tripulaes inicial gerada por uma heurstica construtiva gulosa(Algoritmo 6). O algoritmo proposto consiste na alocao, a cada passo, de uma novatarefa na jornada de trabalho diria de alguma tripulao. Esta combinao (tarefa-jornada) deve ser a que implique no menor custo possvel, determinado pela aplicaoda funo de avaliao apresentada anteriormente pela expresso (3.3).

  • 36Captulo 3. Programaes Tradicional e Independente de Veculos e

    TripulaesDestaca-se que, durante a definio da programao, jornadas so criadas dinami-

    camente conforme demanda por mo-de-obra (linhas 13 e 14, no Algoritmo 6).

    Algoritmo 6: Heurstica para gerao de uma soluo inicial para o PPT.Seja T o conjunto de tarefas obtidas pelo procedimento de construo de tarefas1descrito na subseo 3.5.4, na pgina 34. Em T , tarefas de um mesmo veculo seencontram dispostas seqencialmente e ordenadas crescentemente por horrio deincioSeja J o conjunto de jornadas dirias de trabalho, inicialmente J possui uma2nica jornada sem qualquer tarefaenquanto T 6= faa3

    t primeira tarefa de T4melhorDelta, onde melhorDelta a melhor variao ocorrida na5funo de avaliao ao se alocar a tarefa tpara cada jornada j J faa6

    custoAnterior custo da jornada j antes de receber a tarefa t7custoPosterior custo da jornada j caso a tarefa t passe a pertencer a8elaCalcule a variao de custo da jornada j aps receber a tarefa t:9 custoPosterior custoAnteriorse < melhorDelta ento10

    melhorDelta 11melhorJornada info(j), isto , armazene uma informao que12permita identificar a jornada que ir contribuir menos para o valor dafuno de avaliao ao receber a tarefa t

    se melhorJornada no possui tarefas ento13Crie uma nova jornada sem tarefas e adicione ao conjunto J . (criao14dinmica de jornada, mantendo sempre uma jornada sem tarefas em J)

    Aloque a tarefa t jornada do conjunto J indicada por melhorJornada15fo fo + melhorDelta, ou seja, atualize o valor da funo de avaliao16Remova t de T17

    Retorne, como soluo, o conjunto de jornadas J18

    3.5.6 Algoritmo de Resoluo

    A heurstica proposta para resoluo do PPT utiliza as mesmas idias apresentadasanteriormente para tratar o PPV. O seu pseudocdigo apresentado a seguir pelo Al-goritmo 7. Trata-se de um procedimento fundamentado na metaheurstica Busca LocalIterada em que, primeiramente, uma soluo inicial gerada pela heurstica construtivagulosa descrita na subseo 3.5.5. Com o objetivo de melhorar a qualidade das soluesobtidas, foram utilizados procedimentos de busca local baseados no Mtodo de Descida

  • 3.5. Mtodo de Soluo do PPT 37

    e no Mtodo Randmico de Descida, so eles: DescidaComRealocacao_PPT e Desci-daRandomicaComRealocacao_PPT que consideram durante as buscas a estrutura devizinhana CN (R) (realocao de tarefa), e DescidaComTroca_PPT e DescidaRando-micaComTroca_PPT que limitam suas pesquisas ao conjunto de solues dado porCN (T ) (troca de tarefas).

    Algoritmo 7: Algoritmo de resoluo do PPT.Seja T o tempo de processamento corrente do algoritmo e Tmax o tempo1mximo admissvel de processamentoSeja nivel o nvel de perturbao corrente2T 03nivel 14Gere uma soluo inicial st a partir da heurstica construtiva gulosa descrita pelo5Algoritmo 6, na pgina 36st DescidaRandomicaComRealocacao_PPT (st)6st DescidaRandomicaComTroca_PPT (st)7st DescidaComRealocacao_PPT (st)8st DescidaComTroca_PPT (st)9st st, onde st a melhor soluo encontrada at ento10enquanto T < Tmax faa11

    st perturbacao(st, nivel)12st DescidaRandomicaComRealocacao_PPT (st)13st DescidaRandomicaComTroca_PPT (st)14se f t(st) < f t(st) ento15

    st st, ou seja, atualize a melhor soluo at ento encontrada16nivel 117

    se f t(st) = f t(st) ento18st st, ou seja, atualize a melhor soluo at ento encontrada19nivel nivel + 120

    se f t(st) > f t(st) ento21nivel nivel + 122

    se nivel > numNiveis ento23nivel 1, onde numNiveis o nmero mximo de nveis de perturbao24

    Retorne a soluo st25

    Nos mtodos DescidaRandomicaComRealocacao_PPV e DescidaRandomicaCom-Troca_PPV a condio de parada determinada pelo nmero de iteraes sem melhorana soluo corrente, conforme expresso (3.4) a seguir:

    itMaxPPT = (total_tarefas (total_jornadas 1)) 0, 6 (3.4)

    onde:

  • 38Captulo 3. Programaes Tradicional e Independente de Veculos e

    Tripulaes(a) itMaxPPT o nmero mximo de iteraes sem melhora na soluo corrente;

    (b) total_tarefas o nmero de tarefas a serem realizadas;

    (c) total_jornadas o nmero de jornadas da programao.

    Dessa forma, o nmero mximo de iteraes sem melhora, itMaxPPT , correspondera 60% do total de possveis realocaes de tarefas, considerando a programao detripulaes atual.

    As perturbaes, neste contexto, correspondem a movimentos de realocao, trocae realocao-troca envolvendo tripulaes e tarefas aleatoriamente selecionadas na pro-gramao. H cinco nveis de perturbao, so eles: nvel 1 - um movimento derealocao de tarefa, nvel 2 - um movimento de troca de tarefas, nvel 3 - dois movi-mentos de realocao de tarefas, nvel 4 - dois movimentos de troca de tarefas e nvel5 - um movimento de realocao-troca de tarefas.

    Uma nova soluo para o PPT somente ser aceita se ela possuir um custo menor ouigual ao custo da soluo corrente. No primeiro caso, o nvel de perturbao reiniciadode forma a intensificar a busca na nova soluo obtida. Nas demais situaes o nvel deperturbao aumentado em um ou reiniciado (caso j se esteja no nvel de perturbaomais alto).

    3.6 Programao Independente de Veculos e

    Tripulaes

    Verifica-se que na abordagem seqencial tradicional a soluo do PPV impe restri-es adicionais resoluo do PPT. Este fato claramente evidenciado na formaodas tarefas, pois estas contemplam os deslocamentos fora de operao dos veculos eaglomeram viagens que obrigatoriamente devero ser realizadas pela mesma tripula-o, devido impossibilidade dos veculos de efetivarem a troca entre algumas de suasviagens.

    Na abordagem independente, PPV e PPT so resolvidos separadamente, em qual-quer ordem e de forma a no se relacionarem. Para tanto, a estratgia de resoluoadotada igual apresentada anteriormente, na abordagem seqencial, exceto pelofato de que cada tarefa no PPT passa a corresponder a exatamente uma viagem. Almdisso, supe-se que todas as tarefas so realizadas por um mesmo veculo para que nohaja a necessidade de contemplar trocas de veculos na programao de tripulaes.Assim, so eliminados todos os vnculos entre as programaes de veculos e tripulaese ambas passam a ser definidas a partir do conjunto de viagens.

  • 3.6. Programao Independente de Veculos e Tripulaes 39

    Dificilmente a programao independente de veculos e tripulaes gera soluespara PPV e PPT que sejam compatveis e factveis na prtica. A principal finalidadedesta metodologia a determinao de uma melhor programao para as tripulaesdesconsiderando, para tanto, a programao dos veculos. Desta forma, uma compa-rao entre as solues obtidas nessa abordagem e na seqencial tradicional permiteidentificar os possveis benefcios de se resolver PPV e PPT de forma integrada.

    Segundo Freling et al. [2003], se ao comparar os custos das solues obtidas nasabordagens seqencial tradicional e independente houver uma grande diferena entreestes valores (o custo da soluo independente muito menor) espera-se que a quali-dade da programao de tripulaes seja melhorada significativamente quando esta fordefinida de forma integrada ao invs de seqencial. Por outro lado, se os custos dassolues esto prximos, presume-se que a abordagem integrada no ser promissora,no havendo, portanto, a necessidade de aplic-la.

  • Captulo 4

    Programao Integrada de Veculos eTripulaes

    Apesar de os dois problemas, PPV e PPT, normalmente serem abordados separada-mente, h uma relao de dependncia entre eles. Os custos das programaes podemser inclusive antagnicos, ou seja, uma caracterstica favorvel a uma soluo para oPPV nem sempre reflete de forma satisfatria no PPT e vice-versa. Assim, conclui-seque na abordagem seqencial tradicional priorizada a resoluo do PPV uma vez queeste tratado em uma etapa anterior ao PPT.

    Como no contexto do Sistema de Transporte Pblico de nibus Urbano comumenteos gastos das empresas com tripulantes superam os gastos com veculos, presume-seque a metodologia de resoluo integrada dos problemas poder produzir resultadosmelhores do que aqueles gerados pela abordagem seqencial. Alm disso, destaca-seque o PPT um problema mais restrito do que o PPV, por envolver limitaes tantode carter operacional quanto trabalhista, o que justifica ainda mais a relevncia daintegrao.

    Portanto, a finalidade desse captulo apresentar estratgias para resoluo doProblema de Programao Integrada de Veculos e Tripulaes (PPVT) de maneiraque, posteriormente, se possa verificar a efetividade dessa abordagem comparando-acom a seqencial tradicional.

    Esse captulo est organizado conforme descrito a seguir. Na seo 4.1 o Problemade Programao Integrada de Veculos e Tripulaes detalhado. Na seo 4.2 apresentado um mtodo iterativo em que as buscas por melhora so alternadamenterealizadas nos espaos de solues do PPV e PPT. Por fim, na seo 4.3, um proce-dimento fundamentado na definio de uma nova estrutura (a viagem expandida) proposto para resoluo do PPVT.

    41

  • 42 Captulo 4. Programao Integrada de Veculos e Tripulaes

    4.1 Descrio do Problema de Programao

    Integrada de Veculos e Tripulaes

    O Problema de Programao Integrada de Veculos e Tripulaes (PPVT) consiste emdefinir simultaneamente, as rotinas de operao dos veculos e as jornadas de trabalhodas tripulaes, de tal forma a minimizar os custos envolvidos e ao mesmo tempoviabilizar a execuo de todas as viagens sob responsabilidade da empresa.

    Destaca-se que os mesmos conceitos considerados para definir PPV e PPT, separa-damente, so vlidos no PPVT. Ou seja, bloco de veculo, veculo com dupla pegada,viagem morta, tarefa, jornada com pegada simples, jornada com dupla pegada,dentre outros, so termos que continuaro sendo usados na abordagem integrada e semalterao de seus significados.

    Neste trabalho, na resoluo do PPVT foram consideradas conjuntamente asrestries do PPV e PPT. Estas se encontram exatamente como foram descritas