• Nenhum resultado encontrado

REPOSITORIO INSTITUCIONAL DA UFOP: Uma abordagem híbrida para resolver o problema da escala de motoristas de ônibus urbano.

N/A
N/A
Protected

Academic year: 2019

Share "REPOSITORIO INSTITUCIONAL DA UFOP: Uma abordagem híbrida para resolver o problema da escala de motoristas de ônibus urbano."

Copied!
83
0
0

Texto

(1)

Uma Abordagem H´ıbrida para Resolver

o Problema da Escala de Motoristas de

ˆ

Onibus Urbano

Danilo Santos Souza

Universidade Federal de Ouro Preto

UNIVERSIDADE FEDERAL DE OURO PRETO

Orientador: Gustavo Peixoto Silva

Coorientador: Haroldo Gambini Santos

Disserta¸c˜ao submetida ao Instituto de Ciˆencias Exatas e Biol´ogicas da Universidade Federal de Ouro Preto para obten¸c˜ao do t´ıtulo de Mestre em Ciˆencia da Computa¸c˜ao

(2)

Uma Abordagem H´ıbrida para Resolver

o Problema da Escala de Motoristas de

ˆ

Onibus Urbano

Danilo Santos Souza

Universidade Federal de Ouro Preto

Orientador: Gustavo Peixoto Silva

(3)

Catalogação: sisbin@sisbin.ufop.br

S729a Souza, Danilo Santos.

Uma abordagem híbrida para resolver o problema da escala de motoristas de ônibus urbano [manuscrito] / Danilo Santos Souza. – 2014.

83 f.: il. color., grafs., tabs.

Orientadores: Prof. Dr. Gustavo Peixoto Silva e Haroldo Gambini Santos.

Dissertação (Mestrado) - Universidade Federal de Ouro Preto. Instituto de Ciências Exatas e Biológicas. Departamento de Computação.

Área de concentração: Otimização e inteligência computacional.

1. Metaheurísticas - Teses. 2. Inteligência artificial - Teses. I. Silva, Gustavo Peixoto. II. Santos, Haroldo Gambini. III. Universidade Federal de Ouro Preto. IV. Título.

(4)
(5)

Dedico este trabalho a vocˆe que sempre me fez acreditar na realiza¸c˜ao dos meus sonhos e trabalhou muito para que eu pudesse realiz´a-los, M˜ae. A minha fam´ılia e amigos que sempre me apoiaram nas horas dif´ıceis. Ao meu pai, que mesmo distante influenciou para que pudesse chegar at´e aqui.

(6)

iii

Uma Abordagem H´ıbrida para Resolver o Problema da

Escala de Motoristas de ˆ

Onibus Urbano

Resumo

A aloca¸c˜ao da tripula¸c˜ao (motoristas e cobradores) ´e uma etapa muito importante no planejamento operacional do Sistema de Transporte P´ublico visto que custo operacional representado pelas escalas de trabalho comp˜oe uma parcela significativa nos custos totais de uma empresa de transporte p´ublico. A redu¸c˜ao dos custos das escalas de trabalho afetam n˜ao s´o as empresas operadoras, mas tamb´em os usu´arios deste servi¸co, pois com esta redu¸c˜ao h´a a possibilidade de um maior investimento na qualidade do transporte p´ublico e a redu¸c˜ao dos pre¸cos dos bilhetes. Estes custos, est˜ao estritamente relacionados as normas operacionais impostas pelas empresas e legisla¸c˜oes trabalhistas que se refletem na defini¸c˜ao das jornadas de trabalho dos motoristas e cobradores.

Esse trabalho tem a finalidade de propor um novo m´etodo computacional capaz de auxiliar o processo da programa¸c˜ao da tripula¸c˜ao em empresas de transporte p´ublico de ˆonibus urbano. Os m´etodos apresentados nesta pesquisa s˜ao baseados no uso de um modelo de programa¸c˜ao linear inteira, ainda in´edito na literatura, se diferindo dos demais pelo fato de que cada jornada ´e gerada diretamente a partir das tarefas a se-rem alocadas. Uma metaheur´ıstica Late Acceptance Hill Climbing (LAHC) tamb´em foi utilizada com o objetivo de resolver problemas de maiores dimens˜oes. Um m´etodo h´ıbrido, utilizando o m´etodo exato e a metaheur´ıstica LAHC, ´e proposto com o objetivo de obter um refinamento das solu¸c˜oes obtidas pela metaheur´ıstica, de modo a reduzir os custos das jornadas geradas. Para avaliar as abordagens apresentadas foram utilizadas instˆancias geradas a partir de dados reais de uma empresa do setor de transporte p´ublico da cidade de Belo Horizonte/MG. Os modelos computacionais propostos apresentaram resultados satisfat´orios, sendo que os custos finais foram reduzidos para a maioria dos testes realizados. Por outro lado, h´a a necessidade de novos estudos sobre os m´etodos apresentados, a fim de que os mesmos se tornem mais eficientes.

(7)

iv

A Hybrid Approach to Solve the Problem of Scale for

Urban Bus Drivers

Abstract

The allocation of crew (drivers and collectors) is a quite important stage of opera-tional planning of Public Transit System once the operaopera-tional cost represented by the work schedules consist in a significant portion of total costs in a public transit company. Cost reduction of work schedules affects not only the operating company but also the users of this service since there is chance of higher investments in transit quality and reduction of ticket prices because of this cost-cutting. These costs are strictly related to the operational rules established by companies and work laws which reflects themselves in the transit drivers and collectors work schedule definition.

The goal of this work is to propose a new computational method able to assist the crew planning process in urban bus public transit companies. The methods presented in this work are based on use of an integer linear programming method even unpublished in literature, being different from others due the fact that each schedule is created directly from tasks to be allocated. A metaheuristic Late Acceptance Hill Climbing (LAHC) was also utilized with the purpose of solving bigger problems. A hybrid method using the exact method and the metaheuristic LAHC is proposed with the goal of refining solutions gotten through metaheuristic, reducing created schedule costs. To evaluate the presented approaches, problems generated from real data from a public transit company from Belo Horizonte/MG city were used. The proposed computational methods presented satisfactory results and final costs were reduced for most tests performed. On the other hand, other researches about the presented methods are necessary in order that they become more efficient.

(8)

v

Declara¸

ao

Esta disserta¸c˜ao ´e resultado de meu pr´oprio trabalho, exceto onde referˆencia expl´ıcita ´e feita ao trabalho de outros, e n˜ao foi submetida para outra qualifica¸c˜ao nesta nem em outra universidade.

(9)

vi

Agradecimentos

Primeiramente agrade¸co `a Deus por me amparar nos momentos dif´ıceis e me dar for¸ca para superar as dificuldades.

Aos meus pais,Gilsa e Denildo, e a meu irm˜ao Diego, pelo incentivo, apoio e afeto. A minha av´oCarmelita, pelo exemplo de dedica¸c˜ao e por ser uma m˜ae pra mim. Ao meu TioDenilson, por sempre acreditar em mim quando alguns n˜ao acreditavam, e por ser um exemplo de pai e homem.

`

A toda minha fam´ılia, pelo carinho e for¸ca.

Agrade¸co ao meu orientadorGustavo Peixoto Silva pela oportunidade concedida, pela impec´avel orienta¸c˜ao e pelo apoio no desenvolvimento do trabalho. Agrade¸co ainda ao meu Coorientador Haroldo Gambini Santos pelas valiosas contribui¸c˜oes para o presente trabalho.

Aos meus amigos Bruna, Priscilla, Gabriela, Thayane, Lorran, Aristides, Alisson, Pereira, Lucas, Marco, Emilia, Danielle e Flavio pela ajuda, pelas longas horas de estudo, amizade, carinho e for¸ca, fundamentais para que eu conseguisse chegar at´e aqui.

`

A Rep´ublica Navio Pirata, Moradores e Ex-alunos, por me acolherem, pelo compa-nheirismo e amizade, tornando esta minha segunda casa.

AoCNPq, `aFAPEMIG, `aCAPES e `aUFOP pelo apoio recebido no desenvolvimento deste trabalho.

Ao PPGCC - UFOP, professores e t´ecnicos, em especial aos professores Fabr´ıcio, Gustavo e Haroldo, e a Mariana pela ajuda sempre que fez-se necess´ario.

(10)

Sum´

ario

Lista de Figuras ix

Lista de Tabelas x

Lista de Algoritmos xiii

Nomenclatura 1

1 Introdu¸c˜ao 2

1.1 Objetivo Geral . . . 5 1.2 Objetivos Espec´ıficos . . . 5 1.3 Organiza¸c˜ao do Trabalho . . . 5

2 Revis˜ao Bibliogr´afica 6

2.1 M´etodos Exatos para Resolver o PPT . . . 7 2.2 Metaheur´ısticas para Resolver o PPT . . . 9 2.3 M´etodos H´ıbridos para resolver o PPT . . . 12

3 Problema de Programa¸c˜ao da Tripula¸c˜ao de ˆOnibus Urbano 14

3.1 Restri¸c˜oes do Problema . . . 15

4 M´etodos Propostos 17

4.1 Estruturas para a Representa¸c˜ao do Problema . . . 17 4.2 Modelo Matem´atico Proposto . . . 19 4.2.1 Parˆametros e Conjuntos . . . 19

(11)

viii SUM ´ARIO

4.2.2 Vari´aveis de Decis˜ao . . . 20

4.2.3 Fun¸c˜ao Objetivo . . . 21

4.2.4 Conjunto de Restri¸c˜oes . . . 21

4.3 A Metaheur´ıstica LAHC . . . 25

4.3.1 Fun¸c˜ao Objetivo . . . 26

4.3.2 Gera¸c˜ao da Solu¸c˜ao Inicial . . . 26

4.3.3 Estrutura de Vizinhan¸ca Realoca-Troca . . . 27

4.4 Matheur´ıstica . . . 28

4.4.1 Particionamento da Solu¸c˜ao . . . 29

5 Resultados e Discuss˜ao 31 5.1 Resultados Obtidos pelo Modelo Exato . . . 31

5.2 Resultados Obtidos pelo LAHC e a Matheur´ıstica . . . 37

5.2.1 Calibra¸c˜ao da Metaheur´ıstica . . . 37

5.2.2 Compara¸c˜ao entre a Matheur´ıstica, LAHC e demais Metaheu-r´ısticas . . . 40

6 Conclus˜oes e Trabalhos Futuros 59 A Apˆendices 62 A.1 Publica¸c˜oes . . . 62

(12)

Lista de Figuras

4.1 Movimentos de realoca¸c˜ao e troca de uma tarefa da jornada j para a jornada k . . . 28 4.2 Representa¸c˜ao da Matheur´ıstica implementada para o Problema de

Pro-grama¸c˜ao da Tripula¸c˜ao . . . 29

(13)

Lista de Tabelas

4.1 Estrutura de uma tarefa . . . 17

4.2 Estrutura de uma jornada . . . 18

5.1 Caracter´ısticas dos problemas gerados para o caso 1 . . . 33

5.2 Resultados do modelo exato para os problemas para o caso 1 . . . 33

5.3 Caracter´ısticas dos problemas gerados para o caso 2 . . . 34

5.4 Resultados do modelo exato para os problemas do caso 2 . . . 34

5.5 Caracter´ısticas dos problemas gerados para o caso 3 . . . 35

5.6 Resultados do modelo exato para os problemas para o caso 3 . . . 35

5.7 Caracter´ısticas dos problemas gerados para o caso 4 . . . 36

5.8 Resultados do modelo exato para os problemas para o caso 4 . . . 36

5.9 Tabela com as informa¸c˜oes de cada instˆancia, contendo a quantidade de tarefas a serem realizadas e quantos ve´ıculos s˜ao utilizados. . . 37

5.10 Resultados do primeiro teste de calibra¸c˜ao da Metaheur´ıstica LAHC para os valores de tamanho de lista: 10, 20, 30, 40, 50, 100 e 150 . . . 38

5.11 Resultados do primeiro teste de calibra¸c˜ao da Metaheur´ıstica LAHC para os valores de tamanho de lista: 200, 250, 300, 350, 400, 450 e 500 . . . . 39

5.12 Resultados do segundo teste de calibra¸c˜ao da Metaheur´ıstica LAHC para os valores de tamanho de lista: 40, 50, 100 e 300 . . . 40

5.13 Caracter´ısticas dos melhores resultados para a instˆancia 01 com custo 600 para jornadas do tipo dupla pegada . . . 42

5.14 Melhorias da Matheur´ıstica em rela¸c˜ao aos m´etodos LAHC, VNS, VNS-VLNS, ILS e ILS - VLNS para a instˆancia 01 com custo 600 para jornadas do tipo dupla . . . 43

(14)

LISTA DE TABELAS xi

5.15 Caracter´ısticas dos melhores resultados para a instˆancia 02 com custo 600 para jornadas do tipo dupla pegada . . . 43

5.16 Melhorias da Matheur´ıstica em rela¸c˜ao aos m´etodos LAHC, VNS, VNS-VLNS, ILS e ILS-VLNS para a instˆancia 02 com custo 600 para jornadas do tipo dupla pegada . . . 44

5.17 Caracter´ısticas dos melhores resultados para a instˆancia 03 com custo 600 para jornadas do tipo dupla pegada . . . 44

5.18 Melhorias da Matheur´ıstica em rela¸c˜ao aos m´etodos LAHC, VNS, VNS-VLNS, ILS e ILS-VLNS para a instˆancia 03 com custo 600 para jornadas do tipo dupla pegada . . . 45

5.19 Caracter´ısticas dos melhores resultados para a instˆancia 04 com custo 600 para jornadas do tipo dupla pegada . . . 45

5.20 Melhorias da Matheur´ıstica em rela¸c˜ao aos m´etodos LAHC, VNS, VNS-VLNS, ILS e ILS-VLNS para a instˆancia 04 com custo 600 para jornadas do tipo dupla pegada . . . 46

5.21 Caracter´ısticas dos melhores resultados para a instˆancia 05 com custo 600 para jornadas do tipo dupla pegada . . . 46

5.22 Melhorias da Matheur´ıstica em rela¸c˜ao aos m´etodos LAHC, VNS, VNS-VLNS, ILS e ILS-VLNS para a instˆancia 05 com custo 600 para jornadas do tipo dupla pegada . . . 47

5.23 Caracter´ısticas dos melhores resultados para a instˆancia 06 com custo 600 para jornadas do tipo dupla pegada . . . 47

5.24 Melhorias da Matheur´ıstica em rela¸c˜ao aos m´etodos LAHC, VNS, VNS-VLNS, ILS e ILS-VLNS para a instˆancia 06 com custo 600 para jornadas do tipo dupla pegada . . . 48

5.25 Caracter´ısticas dos melhores resultados para a instˆancia 07 com custo 600 para jornadas do tipo dupla pegada . . . 48

5.26 Melhorias da Matheur´ıstica em rela¸c˜ao aos m´etodos LAHC, VNS, VNS-VLNS, ILS e ILS-VLNS para a instˆancia 07 com custo 600 para jornadas do tipo dupla pegada . . . 49

5.27 Valores da fun¸c˜ao objetivo para os melhores resultados obtidos para todas as instˆancias e com peso 600 para as jornadas do tipo dupla pegada . . . 49

(15)

xii LISTA DE TABELAS

5.29 Melhorias da Matheur´ıstica em rela¸c˜ao aos m´etodos LAHC, VNS e VNS-VLNS para a instˆancia 01 com custo 5.000 para jornadas do tipo dupla pegada . . . 51 5.30 Caracter´ısticas dos melhores resultados para a instˆancia 02 com custo

5.000 para jornadas do tipo dupla pegada . . . 51 5.31 Melhorias da Matheur´ıstica em rela¸c˜ao aos m´etodos LAHC, VNS e

VNS-VLNS para a instˆancia 02 com custo 5.000 para jornadas do tipo dupla pegada . . . 52 5.32 Caracter´ısticas dos melhores resultados para a instˆancia 03 com custo

5.000 para jornadas do tipo dupla pegada . . . 53 5.33 Melhorias da Matheur´ıstica em rela¸c˜ao aos m´etodos LAHC, VNS e

VNS-VLNS para a instˆancia 03 com custo 5.000 para jornadas do tipo dupla . 53 5.34 Caracter´ısticas dos melhores resultados para a instˆancia 04 com custo

5.000 para jornadas do tipo dupla pegada . . . 54 5.35 Melhorias da Matheur´ıstica em rela¸c˜ao aos m´etodos LAHC, VNS e

VNS-VLNS para a instˆancia 04 com custo 5.000 para jornadas do tipo dupla pegada . . . 54 5.36 Caracter´ısticas dos melhores resultados para a instˆancia 05 com custo

5.000 para jornadas do tipo dupla pegada . . . 55 5.37 Melhorias da Matheur´ıstica em rela¸c˜ao aos m´etodos LAHC, VNS e

VNS-VLNS para a instˆancia 05 com custo 5.000 para jornadas do tipo dupla pegada . . . 55 5.38 Caracter´ısticas dos melhores resultados para a instˆancia 06 com custo

5.000 para jornadas do tipo dupla pegada . . . 56 5.39 Melhorias da Matheur´ıstica em rela¸c˜ao aos m´etodos LAHC, VNS e

VNS-VLNS para a instˆancia 06 com custo 5.000 para jornadas do tipo dupla pegada . . . 56 5.40 Caracter´ısticas dos melhores resultados para a instˆancia 07 com custo

5.000 para jornadas do tipo dupla pegada . . . 57 5.41 Melhorias da Matheur´ıstica em rela¸c˜ao aos m´etodos LAHC, VNS e

VNS-VLNS para a instˆancia 07 com custo 5.000 para jornadas do tipo dupla pegada . . . 57 5.42 Melhores resultados obtidos da fun¸c˜ao objetivo para todas as instˆancias

(16)

Lista de Algoritmos

4.1 Implementa¸c˜ao do LAHC para um problema de minimiza¸c˜ao . . . 26 4.2 Particionamento da solu¸c˜ao . . . 30

(17)

“Talvez n˜ao tenha conseguido fazer o melhor, mas lutei para que o melhor fosse feito. N˜ao sou o que deveria ser, mas Gra¸cas a Deus, n˜ao sou o que era antes.”

— Marthin Luther King

(18)

Nomenclatura

GRASP Greedy Randomized Adaptive Search Procedure

ILS Iterated Local Search

LAHC Late Acceptance Hill Climbing

MPL Mathematical Programming Language

PPT Problema de Programa¸c˜ao de Tripula¸c˜oes

VND Variable Neighborhood Descent

VNS Variable Neighborhood Search

VLNS Very Large-Scale Neighborhood Search

(19)

Cap´ıtulo 1

Introdu¸

ao

Atualmente no ramo empresarial h´a uma necessidade cada vez maior pela utiliza¸c˜ao de ferramentas computacionais para auxiliar no processo de tomada de decis˜oes. Tal fato acontece devido `a possibilidade de redu¸c˜ao nos custos da empresa, seja no n´ıvel estrat´egico, t´atico ou operacional. No setor de log´ıstica, s˜ao exemplos de decis˜oes ope-racionais: i) a defini¸c˜ao de rotas de transporte para entrega de cargas,ii) a quantidade de mat´eria prima a ser utilizada no processo de produ¸c˜ao,iii) a aloca¸c˜ao e programa¸c˜ao das m´aquinas no processo de produ¸c˜ao, entre outros (Novaes 2001). Nas empresas de transporte publ´ıco, a utiliza¸c˜ao de ferramentas computacionais para dimensionar suas frotas ainda ´e pequena, assim como para alocar seus motoristas e cobradores de maneira econˆomica e equilibrada (Silva 2001). Desta forma, surge a importˆancia de estudar e aplicar m´etodos de otimiza¸c˜ao, nesta fase do processo de planejamento das empresas de transporte p´ublico, para permitir a redu¸c˜ao dos seus custos operacionais.

O ˆonibus ainda ´e o meio de transporte p´ublico de passageiros mais utilizado nas cidades, sendo que em algumas delas ele ´e o ´unico meio de transporte p´ublico. Assim, o planejamento da opera¸c˜ao das empresas deste ramo deve ser muito preciso para que a de-manda dos usu´arios seja atendida prontamente e com o menor custo poss´ıvel. A redu¸c˜ao dos custos, decorrente de um melhor planejamento, ´e de fundamental importˆancia para as empresas. Al´em de um fator de sobrevivˆencia, essa economia pode ser reinvestida em outras ´areas, como na qualifica¸c˜ao dos seus funcion´arios, na manuten¸c˜ao da frota, entre outros. Desta forma, a qualidade do servi¸co pode ser melhorada, assim como o retorno `a empresa. Logo, a utiliza¸c˜ao de t´ecnicas e ferramentas computacionais podem trazer benef´ıcios para as empresas deste setor (Wren 2004).

(20)

Introdu¸c˜ao 3

O desenvolvimento e a utiliza¸c˜ao de sof twares para auxiliar o processo de tomada de decis˜ao, em empresas de transporte p´ublico brasileiro, tem um hist´orico de pouca utiliza¸c˜ao (Silva 2001). Isso ocorre por que tais m´etodos requerem a obten¸c˜ao de dados precisos da opera¸c˜ao das frotas, o cumprimento de regras espec´ıficas, o treinamento do pessoal, entre outros outros fatores que geram custos adicionais e requerem a mudan¸ca na forma de opera¸c˜ao das empresas. Mesmo com essas dificuldades, ´e importante que m´etodos de otimiza¸c˜ao adequados `a realidade brasileira sejam elaborados e sua utiliza¸c˜ao disseminada entre as empresas de transportes p´ublico, propiciando benef´ıcios tanto para as empresas como para os usu´arios do sistema.

O planejamento de transporte p´ublico urbano ´e uma tarefa muito delicada pois o mesmo envolve tanto o poder p´ublico quanto as empresas de presta¸c˜ao de servi¸co. Uma s´erie de decis˜oes operacionais devem ser tomadas neste planejamento. Primeiramente, deve-se definir quais as linhas de transporte que ir˜ao operar, ou seja, definir quais ser˜ao as rotas das linhas necess´arias para cobrir todas as regi˜oes desejadas de uma determi-nada cidade, definindo tamb´em os pontos de parada de cada rota. Com a defini¸c˜ao da trajet´oria das linhas a serem operadas, deve-se ent˜ao definir o hor´ario de partida de cada viagem em cada linha sob a responsabilidade da empresa. Isto ´e, deve-se definir o

quadro de hor´arios das linhas para os dias ´uteis, os s´abados e os domingos/feriados. A varia¸c˜ao no quadro de hor´arios se deve pela varia¸c˜ao na demanda nos diferentes dias da semana.

Numa segunda etapa deve-se fazer a aloca¸c˜ao dos ve´ıculos que realizar˜ao as viagens de cada linha. Este problema ´e conhecido na literatura comoProblema de Programa¸c˜ao dos Ve´ıculos. Nesta etapa procura-se definir a quantidade m´ınima de ve´ıculos necess´arios para realizar todas as viagens previstas no quadro de hor´arios de cada linha, gerado na etapa anterior, e especificar o ve´ıculo que realizar´a cada viagem. A resolu¸c˜ao deste problema procura minimizar n˜ao apenas o n´umero de ve´ıculos, mas tamb´em as viagens ociosas e o tempo ocioso dos ve´ıculos nos terminais.

Na etapa seguinte deve ser definida a quantidade m´ınima de tripulantes (motorista e cobrador) e como estes ser˜ao alocados de modo a cobrir todas as viagens dos ve´ıculos em opera¸c˜ao. Desta forma s˜ao definidas as jornadas que cada tripula¸c˜ao da empresa dever´a cumprir em um dia de trabalho. Este problema ´e denominadoProblema de Programa¸c˜ao da Tripula¸c˜ao e tem como objetivo minimizar o total de tripulantes e o custo com horas extras e ociosas contidas na escala di´aria.

(21)

4 Introdu¸c˜ao

objetivo gerar as escalas mensais das tripula¸c˜oes de modo a cobrir todas as jornadas respeitando as regras especificas para a atividade, como por exemplo as folgas da tri-pula¸c˜ao, o n´umero m´aximo de dias trabalhados consecutivamente, entre outras. Este problema ´e conhecido na literatura como Problema do Rod´ızio das Tripula¸c˜oes. Nesta etapa ´e poss´ıvel realizar a compensa¸c˜ao de horas extras com horas ociosas, realizadas no mesmo mˆes, por uma determinada tripula¸c˜ao.

A defini¸c˜ao das linhas e do quadro de hor´arios ´e de responsabilidade do poder p´ublico, enquanto a programa¸c˜ao dos ve´ıculos e tripula¸c˜oes e o rod´ızio das tripula¸c˜oes ficam a cargo das empresas de transporte p´ublico. O processo de planejamento operacional descrito acima ´e geralmente realizado na ordem apresentada e a solu¸c˜ao de cada etapa ´e usada como dado de entrada da etapa seguinte.

A abordagem de todos os problemas do sistema de transporte em um ´unico modelo pode ser uma tarefa computacionalmente imposs´ıvel. Logo, este trabalho dedica-se ex-clusivamente ao tratamento do Problema de Programa¸c˜ao da Tripula¸c˜ao (PPT). Devido `as restri¸c˜oes operacionais vigentes, restri¸c˜oes das empresas e das leis trabalhistas, este problema especificamente torna-se de grande complexidade. O problema pode ser mode-lado como um problema de particionamento ou de recobrimento com vari´aveis bin´arias, o que o torna NP-hard, para o qual n˜ao existe algoritmo de complexidade polinomial que obtenha a solu¸c˜ao ´otima (Fischetti et al. 1987). Este problema vem sendo estudado desde a d´ecada de 60, tendo Elias (1964) como trabalho pioneiro. Devido `as constantes mudan¸cas no sistema de transporte p´ublico, v´arias pesquisas s˜ao realizadas ainda hoje para representar e resolver o problema de forma mais precisa e eficiente.

Devido `a complexidade deste problema, a utiliza¸c˜ao de m´etodos exatos fica restrita, impossibilitando a resolu¸c˜ao de problemas reais, que normalmente s˜ao de grandes di-mens˜oes. Assim, os m´etodos heur´ısticos se tornam uma alternativa e s˜ao amplamente utilizados para resolver o problema (Ernst et al. 2004b).

(22)

Introdu¸c˜ao 5

1.1

Objetivo Geral

Este trabalho tem como objetivo resolver o Problema da Programa¸c˜ao de Tripula¸c˜ao de ˆOnibus Urbano de modo a reduzir o m´aximo poss´ıvel os custos operacionais na atribui¸c˜ao das viagens `as tripula¸c˜oes, utilizando t´ecnicas exatas e heur´ısticas. Assim foi implementado um modelo exato de programa¸c˜ao linear inteira, uma metaheur´ıstica e a combina¸c˜ao de ambos, resultando em um modelo do tipo Matheur´ıstica. Os m´etodos foram avaliados quanto `as vantagens e desvantagens destas abordagens na resolu¸c˜ao de problemas reais.

1.2

Objetivos Espec´ıficos

• Resolver o PPT utilizando um modelo exato e verificar a dimens˜ao m´axima do problema que o m´etodo ´e capaz de resolver;

• Resolver o PPT utilizando a metaheur´ısticaLate Acceptance Hill Climbing LAHC;

• Resolver o PPT utilizando uma abordagem h´ıbrida, que ´e a combina¸c˜ao da me-taheur´ıstica LAHC e do modelo exato;

• Avaliar os resultados obtidos com resultados da literatura e das solu¸c˜oes apresen-tadas pela empresa.

1.3

Organiza¸

ao do Trabalho

(23)

Cap´ıtulo 2

Revis˜

ao Bibliogr´

afica

O PPT ´e um problema cl´assico, sobre o qual existem diversos trabalhos que exploram diferentes t´ecnicas de programa¸c˜ao linear inteira para resolvˆe-lo. Entre estas t´ecnicas s˜ao destacadas oBranch-and-Bound (Fores et al. 1999, Smith and Wren 1988), Branch-and-Price (Barnhart et al. 1998, Desrochers and Soumis 1989) e Branch-and-Cut (Friberg and Haase 1999). Por outro lado, diversas metaheur´ısticas foram implementadas para re-solver problemas de grande porte. Dentre essas pode-se destacar: Algoritmos Gen´eticos, GRASP, Busca Tabu, Simulated Annealing, entre outros (Louren¸co et al. 2001, Shen and Kwan 2001, Silva and da Cunha 2010, Souza et al. 2004). Com o emprego des-tas meta-heur´ısticas foi poss´ıvel obter resultados muito satisfat´orios para o problema, embora a otimalidade das solu¸c˜oes n˜ao sejam garantidas.

O trabalho de Ernst et al. (2004a) apresenta uma s´erie de problemas relacionados `a aloca¸c˜ao de pessoal em diversas ´areas, incluindo motoristas e cobradores de sistemas de transportes. Neste contexto, os autores descrevem problemas de aloca¸c˜ao de funcion´arios em seus diferentes modais de transportes, ou seja, no aerovi´ario, ferrovi´ario, transporte urbano e no transporte interurbano. No trabalho ´e apresentada uma revis˜ao sobre as principais pesquisas tanto para o problema de programa¸c˜ao da tripula¸c˜ao, como para o problema do rod´ızio das tripula¸c˜oes. No trabalho ´e mencionado tamb´em que a complexidade dos problemas dependem do tipo de transporte, da categoria da tripula¸c˜ao, dos tipos de frotas, das regras e regulamenta¸c˜oes, da regularidade das viagens e dos custos a serem considerados. Segundo Ernst et al. (2004a), uma das abordagens mais utilizadas para resolver os problemas de programa¸c˜ao das tripula¸c˜oes ´e aquela que o decomp˜oe nas seguintes etapas: gera¸c˜ao das jornadas, otimiza¸c˜ao das jornadas e defini¸c˜ao do rodizio da tripula¸c˜ao. Desta forma, a complexidade do problema ´e reduzida, permitindo sua

(24)

Revis˜ao Bibliogr´afica 7

resolu¸c˜ao de forma satisfat´oria.

Algumas destas t´ecnicas de otimiza¸c˜ao s˜ao utilizadas em pacotes comerciais voltadas para a ´area de programa¸c˜ao de ve´ıculos e tripula¸c˜oes. Uma metaheur´ıstica do tipo run-cutting foi utilizada para resolver o problema no pacote RUCUS (Luedtke 1985, Wilhelm 1975), desenvolvido nos Estados Unidos da Am´erica a partir da d´ecada de 70, e um al-goritmo desenvolvido por Parker and e Smith (1981) foi utilizado no sistema TRACS, o qual simulava o processo manual de aloca¸c˜ao da tripula¸c˜ao. A formula¸c˜ao de reco-brimento de conjuntos foi usada no pacote IMPACS do sistema BUSMAN e no pacote Crew-opt, que posteriormente foi utilizado na vers˜ao inicial do HASTUS que substituiu o TRACS (Wren 2004). A empresa brasileira Wplex, desenvolvedora de sistemas no ˆambito de transporte, desenvolveu um sistema WplexON (Fournier 2009) para tratar problemas de aloca¸c˜ao de tripula¸c˜ao. Neste trabalho a empresa utiliza a abordagem de

Branch-and-Price para solucionar o problema modelado como particionamento de con-juntos, sendo que o conjunto de Jornada de Trabalho ´e gerada a partir do movimento de inser¸c˜ao de tarefas. Estas solu¸c˜oes obtidas pela Wplex s˜ao utilizadas em empresas no estado de Santa Catarina.

Nas subse¸c˜oes a seguir s˜ao apresentados alguns trabalhos que utilizam abordagens Exatas, Metaheur´ısticas e Heur´ısticas H´ıbridas.

2.1

etodos Exatos para Resolver o PPT

Os m´etodos exatos se mostram mais eficiente quando utilizados para resolu¸c˜ao de pro-blemas de otimiza¸c˜ao combinat´oria quando os problema s˜ao de pequena dimens˜ao ou n˜ao s˜ao NP-Completo. No entanto, estes m´etodos podem ser ineficientes para proble-mas NP-Completos de grande dimens˜ao, uma vez que o tempo de execu¸c˜ao aumenta exponencialmente `a medida que as instˆancias aumentam. Ainda assim, existem v´arias abordagens exatas descritas na literatura para resolver o problema. Entre elas podemos citar a Programa¸c˜ao Dinˆamica, a Programa¸c˜ao Linear e Inteira, Relaxa¸c˜ao Lagrange-ana, Programa¸c˜ao por Restri¸c˜oes, entre outros. Muitas destas t´ecnicas s˜ao flex´ıveis e independentes de dom´ınio, e podem ser aplicadas `a maioria dos problemas pr´aticos (Stefanello 2011).

(25)

8 Revis˜ao Bibliogr´afica

´e dividido em dois: um problema de cobertura de conjunto e um problema de caminho m´ınimo com limita¸c˜ao de recurso. O problema de cobertura de conjuntos escolhe uma escala de trabalho vi´avel j´a conhecida. O problema de caminho m´ınimo ´e usado para propor novas escalas de trabalho para melhorar a solu¸c˜ao obtida pelo problema de co-bertura de conjuntos. Para o problema de coco-bertura de conjuntos, o m´etodo de gera¸c˜ao de colunas ´e representado por linhas e colunas, onde as colunas representam uma escala vi´avel e as linhas as tarefas a serem realizadas. O modelo deve selecionar as melhores escalas de modo que todas as tarefas de um dia de trabalho sejam cobertas. Por´em as novas escalas s˜ao geradas usando um algoritmo de caminho m´ınimo com restri¸c˜ao de recursos. Cada caminho vi´avel, da origem ao consumidor, representa uma jornada de trabalho vi´avel, ou seja, uma nova coluna para o problema de cobertura de conjuntos. O m´etodo proposto apresenta resultados satisfat´orio para resolver problemas considerados pequenos, compostos de 167 e 235 tarefas.

Fores et al. (1999) apresentam um sistema baseado em programa¸c˜ao linear inteira, como melhoria do sistema TRACS II desenvolvido pela Universidade de Leeds, Ingla-terra. Diferente da abordagem utilizada no TRACS II, que utilizava duas fun¸c˜oes ob-jetivos para calcular as penalidades impostas na solu¸c˜ao, o modelo proposto por Fores et al. (1999) utiliza uma fun¸c˜ao objetivo composta, e o m´etodo de gera¸c˜ao de colunas para obter a sua solu¸c˜ao final. Os testes computacionais mostram que o modelo pro-posto consegue resultados melhores do que o modelo utilizado pelo sistema TRACS II, e obteve uma redu¸c˜ao m´edia de 41% no tempo de processamento para o mesmo conjunto de dados.

A abordagem branch-and-price ´e utilizada por Freling et al. (2004) para resolver tanto o problema de aloca¸c˜ao quando o problema do rod´ızio de tripula¸c˜ao. Para re-solver o problema, os autores utilizaram uma abordagem do tipo Gera¸c˜ao de Colunas onde inicialmente ´e escolhido um conjunto de jornadas (colunas) e ent˜ao ´e resolvido o problema relaxando a condi¸c˜ao de integralidade da solu¸c˜ao. Em seguida s˜ao geradas novas colunas que podem ser inseridas no conjunto, substituindo outra, caso esta in-ser¸c˜ao consiga reduzir o custo da solu¸c˜ao. Esta opera¸c˜ao se repete at´e que nenhuma jornada que reduza o custo seja encontrada. Se na etapa de gera¸c˜ao de novas colunas n˜ao for encontrada nenhuma jornada que reduza o custo, a opera¸c˜ao branch-and-bound

(26)

Revis˜ao Bibliogr´afica 9

todas as restri¸c˜oes est˜ao sendo atendidas e o processo de branch-and-bound ´e iniciado novamente at´e que a condi¸c˜ao de parada seja atendida. Os testes foram realizado em problemas de aloca¸c˜ao de tripula¸c˜oes de aeronaves para instˆancias pequenas. O modelo teve como objetivo minimizar o n´umero de tarefas descobertas e o n´umero de tripulantes.

Santos and Mateus (2007) utilizam uma abordagem exata de Gera¸c˜ao de Colunas combinada com a metaheur´ıstica populacional Algoritmos Gen´eticos para resolver o PPT. Na gera¸c˜ao de colunas, o problema ´e subdividido em dois: problema mestre e sub-problema. O problema mestre seleciona as jornadas que ser˜ao realizadas pela tripula¸c˜ao em um conjunto de jornadas vi´aveis, de modo a conseguir cobrir todas as viagens ne-cess´arias. J´a o subproblema ´e respons´avel por gerar novas jornadas (colunas). Estas jornadas s˜ao adicionadas ao problema mestre se possibilitarem a melhoria da solu¸c˜ao. Para a resolu¸c˜ao do subproblema ´e utilizado um Algoritmo Gen´etico. Os resultados obtidos mostram que a utiliza¸c˜ao do Algoritmo Gen´etico, em compara¸c˜ao com outras metaheur´ısticas, destaca-se pelo fato da possibilidade de gera¸c˜ao de um conjunto maior de jornadas vi´aveis para a inclus˜ao no problema mestre e consequentemente possibilita reduzir o tempo de processamento quando lida com grandes instˆancias.

2.2

Metaheur´ısticas para Resolver o PPT

(27)

10 Revis˜ao Bibliogr´afica

de um m´etodo de cruzamento entre duas popula¸c˜oes ´e proposto, utilizando GRASP para tentar resolver este cruzamento como um subproblema e encontrar uma popula¸c˜ao dita perfeita. Os teste foram comparados com dados utilizados em uma empresa de Portugal e um m´etodo de programa¸c˜ao linear proposto por Beasley (1987).

Um Algoritmo Gen´etico H´ıbrido para resolver o problema de programa¸c˜ao da tri-pula¸c˜ao foi proposto por Li and Kwan (2003). Em sua abordagem os testes foram rea-lizados tanto com instˆancias de problemas de ˆonibus urbano quanto de linhas de trem, com dados reais de empresas inglesas. Uma heur´ıstica gulosa ´e utilizada para construir uma escala, onde as jornadas s˜ao selecionados sequencialmente de um conjunto grande de potenciais jornadas vi´aveis geradas previamente. As jornadas individuais e a escala devem ser avaliadas como um ´unico processo. A teoria do conjuntofuzzy´e aplicada sobre tais avalia¸c˜oes. Para jornadas individuais a sua viabilidade ´e avaliada por crit´erios iden-tificados a partir do conhecimento pr´atico do problema. O Algoritmo Gen´etico ´e usado para gerar uma distribui¸c˜ao de pesos quase ´otimos entre os crit´erios, onde uma avalia¸c˜ao ponderada de um ´unico valor pode ser computada para cada jornada. A programa¸c˜ao constru´ıda a partir da distribui¸c˜ao dos pesos gerados ´e avaliada pela fun¸c˜ao de aptid˜ao do Algoritmo Gen´etico. Para essa fun¸c˜ao, s˜ao utilizados os objetivos de minimizar jor-nadas e minimizar o custo total formulados como uma meta fuzzy. Este apresentou um algoritmo in´edito baseado na teoria dos conjuntos fuzzy para resolver o Problema de Programa¸c˜ao da Tripula¸c˜ao. A partir dos resultados apresentados o algoritmo proposto consegue resolver problemas de tamanho reais.

(28)

Revis˜ao Bibliogr´afica 11

Em Silva and da Cunha (2010) o PPT ´e resolvido pela combina¸c˜ao da metaheur´ıstica GRASP (Greedy Randomized Adaptive Search Procedure) com o m´etodo de busca em vizinhan¸ca de grande porte, o VLNS (Very Large-Scale Neighborhood Search). Esta abordagem permite que sejam resolvidos problemas reais em empresas de grande porte, em um tempo consider´avel e com bom resultados, devido a possibilidade de explorar vi-zinhan¸cas com um n´umero muito grande de solu¸c˜oes adjacentes. Os resultados apresen-tados referem-se `a resolu¸c˜ao de problemas reais de uma empresa de Belo Horizonte-MG. Para todos os testes realizados, a abordagem utilizada consegue melhorias significativas na programa¸c˜ao da tripula¸c˜ao em rela¸c˜ao `a solu¸c˜ao adotada pela empresa.

Gon¸calves (2010) prop˜oe um estudo comparativo entre as metaheur´ısticas Busca Tabu e Iterated Local Search (ILS) e uma metodologia exata de programa¸c˜ao ma-tem´atica. Para a utiliza¸c˜ao das metaheur´ısticas foi necess´ario a gera¸c˜ao de uma solu¸c˜ao inicial, onde esta foi gerada de forma sequencial. A cada itera¸c˜ao, uma tarefa ´e escolhida sequencialmente e alocada `a jornada existente, desde que a jornada permane¸ca vi´avel. Como estrutura de vizinhan¸ca foram utilizados os movimentos de troca e realoca¸c˜ao de tarefas, os mesmo utilizados no presente trabalho. Na Buca Tabu, a lista tabu ´e definida como uma fila circular, onde os vizinhos mais antigos s˜ao eliminados `a medida em que os novos s˜ao adicionados e a fila est´a cheia. A metaheur´ıstica ILS ´e combinada com a metaheur´ıstica Variable Neighborhood Descent (VND), onde o VND ´e utilizado como m´etodo de busca local do ILS. Na utiliza¸c˜ao do ILS um processo de pertuba¸c˜ao ´e apre-sentado, onde sucessivos movimentos aleat´orios baseados na estrutura de vizinhan¸ca s˜ao empregados. Como crit´erio de aceita¸c˜ao, uma nova solu¸c˜ao ´e aceita se ela for melhor do que a melhor solu¸c˜ao encontrada. Para as metaheur´ısticas a fun¸c˜ao de avalia¸c˜ao proposta leva em considera¸c˜ao solu¸c˜oes vi´aveis e invi´aveis. As solu¸c˜oes invi´aveis s˜ao penalizadas de forma a privilegiar a elimina¸c˜ao destas da solu¸c˜ao final. A metodologia exata proposta utiliza a abordagem de gera¸c˜ao de colunas onde as colunas s˜ao geradas a partir de Enumera¸c˜ao Exaustiva. No modelo exato s´o s˜ao aceitas solu¸c˜oes que atendam todas as restri¸c˜oes, ou seja solu¸c˜oes vi´aveis. Os resultados apresentados mostram que os m´etodos propostos obtˆem solu¸c˜oes muito pr´oximas e provou-se otimalidade em 93,75% dos casos de teste considerados.

(29)

12 Revis˜ao Bibliogr´afica

de estruturas de vizinhan¸ca ´e definido sequencialmente. Com a primeira estrutura de vizinhan¸ca, ´e gerado um vizinho da solu¸c˜ao corrente. Em seguida ´e realizada uma busca local a partir deste vizinho. Se ao final da busca local for encontrado um valor melhor do que o da solu¸c˜ao corrente ent˜ao a solu¸c˜ao ´e atualizada e o procedimento se repete consi-derando a estrutura de vizinhan¸ca inicial. Caso o valor da solu¸c˜ao encontrada na busca local seja pior do que o valor atual, um novo vizinho ´e gerado considerando a pr´oxima estrutura de vizinhan¸ca, e o procedimento de busca local ´e novamente realizado. O pro-cedimento se repete at´e que a condi¸c˜ao de parada seja atingida. Como propro-cedimento de busca local foram utilizados o VND e o VLNS. Ambas as implementa¸c˜oes foram testadas considerando que as tripula¸c˜oes podem realizar no m´aximo uma troca e duas trocas de ve´ıculos durante a jornada. Os custos para jornadas do tipo dupla pegada tamb´em foram variados na realiza¸c˜ao dos testes, assumindo os valores de 500 e 6000. Os mesmos pesos tamb´em foram utilizados no presente trabalho. Ambos os m´etodos utilizados obtiveram melhores resultados quando comparados com os custos adotados pela empresa da cidade de Belo Horizonte-MG que forneceu os dados. Estes resultados ser˜ao utilizados como base de compara¸c˜ao para os m´etodos propostos neste trabalho.

2.3

etodos H´ıbridos para resolver o PPT

(30)

Revis˜ao Bibliogr´afica 13

viagens.

Mauri and Lorena (2007) apresentam um m´etodo h´ıbrido utilizando algoritmo de treinamento populacional e programa¸c˜ao linear para gerar os hor´arios dos motoristas em um sistema de transporte p´ublico. O m´etodo utiliza o modelo cl´assico de particiona-mento, onde os custos que comp˜oem a fun¸c˜ao objetivo levam em considera¸c˜ao o total de condutores, de horas extras e de horas ociosas. No algoritmo de treinamento foi utilizada uma busca local, de modo a avaliar v´arios tamanhos de vizinhan¸ca, gerando assim um grande n´umero de jornadas de modo a cobrir todas as tarefas. Em seguida ´e utilizado um modelo de programa¸c˜ao linear para reduzir os custos das jornadas de modo que todas as tarefas sejam realizadas. De acordo com os autores os resultados apresentados s˜ao considerados bons e em tempo de execu¸c˜ao razo´avel se comparado com Simulated Annealing apresentados em Mauri and Souza (2003).

(31)

Cap´ıtulo 3

Problema de Programa¸

ao da

Tripula¸

ao de ˆ

Onibus Urbano

Neste trabalho ´e abordado o Problema de Programa¸c˜ao das Tripula¸c˜oes de ˆOnibus Ur-bano (PPT), tamb´em conhecido na literatura como Crew Scheduling Problem. O PPT tem como dados de entrada a solu¸c˜ao do Problema de Programa¸c˜ao dos Ve´ıculos, que cor-responde ao sequenciamento das viagens a serem realizadas por cada ˆonibus em opera¸c˜ao, de uma empresa, num determinado dia da semana. Cada viagem a ser realizada apre-senta um hor´ario de in´ıcio e de fim, al´em do seu ponto inicial e ponto final. O conjunto de todas as viagens realizadas por um ve´ıculo constitui seubloco de viagens. Desta forma ´e poss´ıvel prever o hor´ario de partida do ve´ıculo da garagem e o seu retorno ao final do dia, assim como o detalhamento de todas as viagens e eventuais pausas realizadas pelo ve´ıculo ao longo da opera¸c˜ao. As viagens de cada ve´ıculo s˜ao agrupadas emtarefas. Uma tarefa ´e a sequˆencia de viagens consecutivas que deve ser executada por um ´unico condutor, uma vez que entre estas viagens n˜ao existe tempo suficiente para que ocorra a troca da tripula¸c˜ao. Cada jornada corresponde a um conjunto de tarefas que ser˜ao realizadas por uma tripula¸c˜ao ao longo de um dia. As jornadas s˜ao formadas a partir da atribui¸c˜ao das tarefas, a composi¸c˜ao destas jornadas devem respeitar o pontos de tro-cas, a utiliza¸c˜ao dos ve´ıculos, o tempo m´aximo de trabalho,entre outros. Desta forma, podemos identificar uma jornada como uma tripula¸c˜ao e vice-versa, pois cada tripulante receber´a uma jornada a ser realizada durante um dia ´util de trabalho. As jornadas tamb´em devem respeitar as restri¸c˜oes impostas pela empresa, pelas leis trabalhistas e conven¸c˜oes coletivas.

No problema abordado, s˜ao considerados dois tipos de jornadas. A dupla pegada

(32)

Problema de Programa¸c˜ao da Tripula¸c˜ao de ˆOnibus Urbano 15

´e uma jornada caracterizada por um conjunto de tarefas que tˆem um intervalo, entre duas tarefas, maior ou igual a um valor estipulado, no caso de duas horas. Este tipo de jornada ´e utilizado para a condu¸c˜ao dos ve´ıculos que s´o operam durante os hor´arios de pico, o que ocorre principalmente no in´ıcio da manh˜a e no final da tarde. O intervalo entre os dois peda¸cos de jornada n˜ao ´e contabilizado como hora trabalhada. Em uma jornada do tipo pegada simples os intervalos entre as tarefas s˜ao menores do que o valor estipulado para a dupla pegada. Independentemente do tipo de jornada, as horas extras correspondem ao tempo trabalhado al´em do tempo normal, que no caso ´e de seis horas e quarenta minutos. Por outro lado, se uma jornada durar menos do que o tempo normal de trabalho, ent˜ao a diferen¸ca entre o tempo normal de trabalho e a dura¸c˜ao da jornada ´e otempo ocioso ou a ociosidade da jornada.

A resolu¸c˜ao do PPT tem como objetivo atribuir as tarefas `as tripula¸c˜oes de modo que cada tarefa seja realizada por uma ´unica tripula¸c˜ao, as restri¸c˜oes do problema sejam atendidas e que o custo total composto pelo n´umero de tripula¸c˜oes e a quantidade de horas extras seja minimizado.

Al´em das restri¸c˜oes mencionadas, as jornadas devem obedecer as restri¸c˜oes impostas pelas empresas, as leis trabalhistas e os acordos contidos nas conven¸c˜oes coletivas de trabalho. Entre essas regras podem se citadas: a carga hor´aria m´axima de trabalho de cada tripulante, o tempo m´ınimo de descanso de cada tripula¸c˜ao, o tempo m´ınimo para a realiza¸c˜ao da troca da tripula¸c˜ao, a possibilidade de troca de ve´ıculos durante a jornada, entre outras.

Nas subse¸c˜oes seguintes s˜ao apresentadas as restri¸c˜oes consideradas neste trabalho e uma abordagem matem´atica cl´assica de particionamento de conjuntos normalmente utilizada para resolver o problema.

3.1

Restri¸

oes do Problema

Para a constru¸c˜ao das jornadas de trabalho foram levadas em considera¸c˜ao as seguintes restri¸c˜oes operacionais e trabalhistas:

(33)

16 Problema de Programa¸c˜ao da Tripula¸c˜ao de ˆOnibus Urbano

• Hora Extra: A dura¸c˜ao de uma jornada deve conter no m´aximo 2 horas a mais da dura¸c˜ao de trabalho regular, sendo este tempo de excesso contabilizado como hora extra;

• Intervalo de Descanso: Cada tripula¸c˜ao tem direito a no m´ınimo 30 minutos par-ticionado ou n˜ao de folga (descanso, almo¸co, etc.). Esse tempo n˜ao ´e aplicado quando a jornada for do tipo dupla pegada;

• Troca de Terminal: Dada duas tarefas,i ej realizadas consecutivamente por uma tripula¸c˜ao, ent˜ao o ponto final da tarefai deve ser igual ao ponto inicial da tarefa

j. Para as jornadas do tipo dupla pegada esta troca ´e permitida se o intervalo de tempo entre o t´ermino da tarefa i e o in´ıcio da tarefa j for superior a 2 horas;

• Intervalo de Descanso Di´ario: Considerando que uma jornada pode ser executada pela mesma tripula¸c˜ao em dias consecutivos, ent˜ao o intervalo entre o fim da jornada e o seu in´ıcio no dia seguinte deve ser superior a 11 horas.

• Troca de Ve´ıculo: Em uma jornada de trabalho, dependendo das regras empresa-riais, pode ter como restri¸c˜ao um n´umero limitado de troca de ve´ıculos;

• Minimiza¸c˜ao de Hora Extra: O tempo excedente da hora de trabalho normal ser´a contabilizado em horas extras e o mesmo deve ser minimizado;

• Minimiza¸c˜ao do N´umero de Duplas Pegadas: Deve ser minimizado o n´umero de jornadas do tipo dupla pegada o tanto quanto poss´ıvel;

• N´umero de Jornadas: A quantidade de jornadas de trabalho deve ser m´ınimo, cobrindo todas as tarefas as di´arias;

(34)

Cap´ıtulo 4

etodos Propostos

Neste cap´ıtulo s˜ao apresentados os m´etodos utilizados para a resolu¸c˜ao do PPT. A resolu¸c˜ao do PPT consiste em encontrar um conjunto de jornadas de tal forma que todas as tarefas sejam realizadas com o menor custo poss´ıvel e que sejam atendidas todas as restri¸c˜oes consideradas para o problema (3.1). Inicialmente ´e apresentado o Modelo de Programa¸c˜ao Inteira proposto neste trabalho, o qual modela o problema por meio de uma s´erie de restri¸c˜oes lineares. Posteriormente ´e apresentado como a metaheur´ıstica LAHC foi implementada para resolver o problema, e finalmente segue a descri¸c˜ao da implementa¸c˜ao da Matheur´ıstica que combina a LAHC com o modelo exato. Para tanto, a seguir s˜ao descritas as estruturas utilizadas para representar os principais elementos que comp˜oem uma solu¸c˜ao do PPT.

4.1

Estruturas para a Representa¸

ao do Problema

Tarefa Identificador

Hor´ario de In´ıcio Hor´ario de Fim Terminal de In´ıcio Terminal de Fim

N´umero do Ve´ıculo

Tabela 4.1: Estrutura de uma tarefa

A Tabela 4.1 apresenta os dados de cada tarefa a ser alocada. O campoIdentificador

(35)

18 M´etodos Propostos

recebe um inteiro que identifica unicamente cada tarefa. Os campos Hor´ario de In´ıcio

e Hor´ario de Fim correspondem ao instante estimado em que a tarefa se inicia e se encerra, respectivamente. No campo Terminal de In´ıcio ´e atribu´ıdo um n´umero inteiro para identificar o terminal onde a tarefa se inicia, e no campo Terminal de Fim um n´umero inteiro para identificar o terminal onde a tarefa se encerra. O campo Ve´ıculo

recebe um n´umero inteiro que identifica qual ve´ıculo realiza a tarefa. Estes campos s˜ao as caracter´ısticas relevantes de uma tarefa para a resolu¸c˜ao do PPT.

Jornada Identificador

Hor´ario de In´ıcio Hor´ario de Fim Horas Extras Horas Ociosas Dupla Pegada Troca de Ve´ıculos

Lista das Tarefas

Tabela 4.2: Estrutura de uma jornada

(36)

M´etodos Propostos 19

4.2

Modelo Matem´

atico Proposto

Nesta se¸c˜ao ´e apresentado o modelo matem´atico proposto para a resolu¸c˜ao do Problema de Programa¸c˜ao da Tripula¸c˜ao. Este modelo, ainda in´edito na literatura, difere dos demais pelo fato de que as jornadas s˜ao geradas a partir das tarefas a serem alocadas. Nos modelos matem´aticos apresentados na literatura, a solu¸c˜ao do problema ´e alcan¸cada selecionando as melhores jornadas dentro de um conjunto de jornadas previamente ge-radas, sendo que as jornadas selecionadas devem cobrir todas as tarefas. No m´etodo proposto neste trabalho, as jornadas s˜ao geradas durante a resolu¸c˜ao do modelo, a par-tir do conjunto de tarefas a ser designado e o conjunto de restri¸c˜oes que devem ser atendidas. Desta forma n˜ao ´e necess´ario gerar jornadas previamente.

Para modelar o problema de forma exata foi utilizada a linguagem Mathematical Programming Language (Fourer et al. 1990) no ambiente de desenvolvimento Gusek. O modelo final foi resolvido pelo Cplex 12.5. A modelagem ´e apresentada nas subse¸c˜oes 4.2.1 a 4.2.4, onde s˜ao descritos os parˆametros e conjuntos utilizados, as vari´aveis de decis˜ao, as restri¸c˜oes e as duas fun¸c˜oes objetivo consideradas.

4.2.1

Parˆ

ametros e Conjuntos

Seja qt o parˆametro de entrada que corresponde `a quantidade de tarefas do problema, logo tem-se o conjunto de tarefas T, onde |T| = qt. O parˆametro qj se refere ao n´umero m´aximo de jornadas na solu¸c˜ao, que gera o conjunto de poss´ıveis jornadas J, com |J| ≤qj. O n´umero m´aximo de tarefas alocadas a uma jornada ´e dado pelo valor

M ax T ar. Uma constante suficientemente grandeM (Big M) ´e utilizada na modelagem

de algumas restri¸c˜oes. Os parˆametros T emp M ax J e T emp M ax HE correspondem respectivamente `a dura¸c˜ao m´axima de uma jornada de trabalho e ao tempo m´aximo de horas extras que uma jornada pode conter. Os parˆametros Custo J, Custo HE,

Custo OC e Custo DP representam o custo fixo de uma jornada e os custos vari´avies

(37)

20 M´etodos Propostos

Vale ressaltar que os parˆametros acima s˜ao valores inteiros e positivos.

Para cada tarefa t ∈ T, temos stt o hor´ario de in´ıcio da tarefa, ett o hor´ario de

t´ermino, slt o terminal de sa´ıda, elt o terminal de chegada e vct o ve´ıculo que realiza

a tarefa. Dadas duas tarefas t1 e t2 ∈ T, P os T Vt1t2 identifica se entre as duas tarefas

existe a possibilidade da tripula¸c˜ao realizar a troca entre os respectivos ve´ıculos, ou seja, P os T Vt1t2 = 1 sevct1 6=vct2,elt1 =slt2 e stt2−ett1 >0, caso contr´arioP os T Vt1t2 = 0.

E P os DPt1t2 identifica se entre as duas tarefas existe um intervalo que possibilita a

ocorrˆencia de uma jornada do tipo dupla pegada. Desta forma P os DPt1t2 = 1 se

stt2 −ett1 > Inter M in DP, caso contr´ario P os DPt1t2 = 0.

4.2.2

Vari´

aveis de Decis˜

ao

Para modelar o PPT, al´em das vari´aveis de aloca¸c˜ao das tarefas `as jornadas, s˜ao ne-cess´arias algumas vari´aveis auxiliares para que sejam geradas solu¸c˜oes vi´aveis para o problema. As solu¸c˜oes vi´aveis devem satisfazer ao conjunto das restri¸c˜oes implementas que ser˜ao apresentadas nas pr´oximas subse¸c˜oes. Tais restri¸c˜oes matem´aticas s˜ao utiliza-das para modelar as regras impostas para que uma jornada de trabalho seja vi´avel.

Seja j ∈ J ,onde |J| ´e aproximadamente 30% do total de tarefas , t ∈ T e p ∈ P,

|P| = 8 , onde J, T e P s˜ao os conjuntos de jornadas, tarefas e posi¸c˜oes (corresponde a ordem que cada tarefa esta alocada, onde para cada jornada, uma tarefa ser´a alocada a uma posi¸c˜ao, sempre em ordem crescente) das tarefas nas jornadas respectivamente, ent˜ao a vari´avel bin´aria xjtp assume valor 1 se a tarefa t for alocada `a jornada j na

posi¸c˜ao p. Vale ressaltar que esta ´e a vari´avel que apresentar´a a solu¸c˜ao do problema. A vari´avel yj ´e utilizada para identificar se a jornadaj tem alguma tarefa alocada a ela,

recebendo o valor 1, caso contr´ario seu valor ser´a 0. A vari´avel inij receber´a o valor do

hor´ario de in´ıcio da jornadaj,f imjreceber´a o valor do hor´ario de t´ermino da jornadaj e

OC intj ter´a o valor do tempo total de ociosidade interna, ou seja, a soma dos intervalos

ociosos entre as tarefas atribu´ıdas `a jornada j. A vari´avel auxiliar OC extj receber´a o

tempo de ociosidade externa quando houver, que ´e dado pelo intervalo que falta para concluir a carga hor´aria normal de uma jornada de trabalho, e Qnt HEj receber´a a

quantidade de horas extras da jornada, quando houver.

Considerando j ∈ J, t1, t2 ∈ T e p1, p2 ∈ P, ent˜ao a vari´avel T roca Vjt1t2p1p2 tem

como objetivo verificar se existe uma troca de ve´ıculo entre as tarefas t1 et2 localizadas

(38)

M´etodos Propostos 21

respectivamente, para verificar as posi¸c˜oes e marcar se uma jornada ´e do tipo dupla pegada ou n˜ao. A vari´avel Desc DPj cont´em a amplitude do intervalo n˜ao remunerado

para as jornadas do tipo dupla pegada. Esse valor ´e descontado da remunera¸c˜ao da jornada.

4.2.3

Fun¸

ao Objetivo

Duas fun¸c˜oes objetivo s˜ao propostas neste trabalho, sendo que a primeira, dada pela express˜ao (4.1), minimiza o n´umero de duplas pegadas e n˜ao utilizando a restri¸c˜ao (4.15) para limitar o n´umero m´aximo de jornadas do tipo dupla pegada. A segunda fun¸c˜ao objetivo, expressa em (4.2), n˜ao minimiza o n´umero de duplas pegadas, por´em limita o n´umero de jornadas deste tipo considerando a restri¸c˜ao (4.15). Ambas s˜ao apresentadas abaixo e foram testadas separadamente.

f o1 =

X

j∈J

(Custo J ∗yj +Custo OC∗(OC extj+OC intj)

+Custo HE∗Qnt HEj+Custo DP ∗Duplaj)

(4.1)

f o2 =

X

j∈J

(Custo J ∗yj +Custo OC∗(OC extj+OC intj)

+Custo HE∗Qnt HEj)

(4.2)

Nas express˜oes (4.1) e (4.2) o Custo J se refere ao custo fixo de cada jornada,

Custo OC ´e o custo de cada hora ociosa, Custo HE ´e o custo de cada hora extra e

Custo DP ´e o custo associado a cada jornada do tipo dupla pegada, quando esta

com-ponente fizer parte da fun¸c˜ao objetivo. Desta forma s˜ao minimizados os custos fixos, as horas extras, as horas ociosas e as duplas pegadas, quando considerada, de uma solu¸c˜ao.

4.2.4

Conjunto de Restri¸

oes

(39)

22 M´etodos Propostos

X

t∈T

xjtp ≤ 1,∀j ∈J, p∈P (4.3)

X

j∈J,p∈P

xjtp = 1,∀t∈T (4.4)

X

t1∈T

xjt1(p+1) ≤

X

t2∈T

xjt2p,∀j ∈J, p∈P − {1} (4.5)

yj ≥ xjtp,∀j ∈J, t∈T, p∈P (4.6)

A restri¸c˜ao (4.3) garante que em cada posi¸c˜ao de cada jornada s´o sera alocada uma ´

unica tarefa; (4.4) garante que cada tarefa seja alocada somente a uma jornada. A restri¸c˜ao (4.5) garante que as tarefas sejam alocadas `as jornadas em posi¸c˜oes cont´ıguas, salvo a primeira posi¸c˜ao. A restri¸c˜ao (4.6) verifica se a jornada esta sendo utilizada ou n˜ao, fazendo com que o valor da vari´avelyj assuma o valor 1 se alguma tarefa for alocada

`a jornada j, e 0 caso contr´ario. As cinco restri¸c˜oes apresentadas est˜ao relacionadas `a aloca¸c˜ao das tarefas, garantindo assim que estas sejam designadas de forma coerente, gerando solu¸c˜oes fact´ıveis e que cobrem todas as tarefas informadas.

inij =

X

t∈T

sttxjt1,∀j ∈J (4.7)

f imj ≥ ett−M(1−xjtp),∀j ∈J, t∈T, p ∈P (4.8)

P os DPt1t2 +xjt1p (4.9)

+xjt2(p+1)−DPj t1t2p(p+1) ≤ 2,∀j ∈J, t1, t2 ∈T, p∈P −1

DPj t1t2p(p+1) ≤ xjt1p,∀j ∈J, t1, t2 ∈T, p ∈P −1, t2 > t1 (4.10)

(40)

M´etodos Propostos 23

DPj t1t2p(p+1) = 0,∀j ∈J, t1, t2 ∈T, p ∈P −1, P os DPt1t2 = 0 (4.12)

X

t1,t2∈T,p∈P−1

DPj t1t2p(p+1) ≤ 1,∀j ∈J (4.13)

Duplaj =

X

t1,t2∈T,p∈P−1

DPj t1t2p(p+1),∀j ∈J (4.14)

X

j∈J

Duplaj ≤ Qnt M ax DP (4.15)

Desc DPj =

X

t1,t2∈T,p∈P−1

DPj t1t2p(p+1)∗(stt2 −ett1),∀j ∈J (4.16)

f imj −inij −Desc DPj ≤ T emp M ax J +T emp M ax HE,∀j ∈J (4.17)

f imj −inij ≤ 780,∀j ∈J (4.18)

As restri¸c˜oes (4.7) e (4.8) s˜ao respons´aveis por atribuir os valores de inij, in´ıcio da

jornada e f imj, fim da jornada, para cada jornada j. Estas informa¸c˜oes s˜ao utilizados

nas outras restri¸c˜oes para garantir a consistˆencia temporal das solu¸c˜oes. As restri¸c˜oes apresentadas de (4.9) a (4.16) s˜ao utilizadas para identificar e calcular o intervalo das jornadas do tipo dupla pegada, sendo que em (4.9) ´e verificado se duas tarefas s˜ao executadas em ordem consecutiva, e se entre elas ocorre uma dupla pegada. Em caso afirmativo, a vari´avelDPj t1t2p(p+1)recebe o valor 1, indicando assim que naquela jornada

haver´a dupla pegada entre as tarefast1 et2, que se localizam entre as posi¸c˜oespep+ 1.

As restri¸c˜oes (4.10) e (4.11) garantem que a vari´avel DP receba valor um se as duas tarefas t1 e t2 foram alocadas `aquela jornada . O conjunto de restri¸c˜oes em (4.12)

garante que se duas tarefast1 et2 n˜ao forem candidatas a dupla pegada ent˜ao a vari´avel

DPj t1t2p(p+1)nunca receber´a valor 1 para estas tarefas. As restri¸c˜oes em (4.13) garantem

que cada jornada pode ter no m´aximo um intervalo de tempo do tipo dupla pegada. As restri¸c˜oes em (4.14) verificam se existe dupla pegada em uma jornada, atribuindo o valor 1 `a vari´avel Duplaj e 0 caso contr´ario. Em (4.15) ´e limitado o n´umero total de

duplas pegadas pelo parˆametro Qnt M ax DP, e em (4.16) ´e atribu´ıdo, como desconto de tempo, o valor do intervalo da dupla pegada `a vari´avel Desc DPj para que possa

(41)

24 M´etodos Propostos

OC extj ≥ yj ∗T emp M ax J −(f imj −inij −Desc DPj),∀j ∈J (4.19)

OC intj ≥ (f imj −inij −Desc DPj)−

X

t∈T,p∈P

(ett−stt)xjtp,∀j ∈J (4.20)

OC intj ≥ (1−Duplaj)∗Inter M in T,∀j ∈J (4.21)

Qnt HEj ≥ (f imj −inij −Desc DPj)−T emp M ax J,∀j ∈J (4.22)

As restri¸c˜oes (4.19) e (4.20) calculam a ociosidade externa e interna de uma jornada. O intervalo de descanso da tripula¸c˜ao durante a realiza¸c˜ao das tarefas ´e garantido pela restri¸c˜ao (4.21). O c´alculo da quantidade de horas extras ´e realizado em (4.22).

xjt1p+xjt2(p+1) ≤ 1,∀j ∈J, t1, t2 ∈T, p ∈P − {1} (4.23)

xjt1p+xjt2(p+1) (4.24)

−DPj t1t2p(p+1) ≤ 1,∀j ∈J, t1, t2 ∈T, p ∈P − {1}, slt2 6=elt1

xjt1p+xjt2(p+1) (4.25)

−T Vj t1t2p(p+1) ≤ 1,∀j ∈J, t1, t2 ∈T, p ∈P − {1}, P os T Vt1t2

T Vj t1t2p(p+1) ≤ xjt1p,∀j ∈J, t1, t2 ∈T, p ∈P − {1}, t2 > t1 (4.26)

T Vj t1t2p(p+1) ≤ xjt2(p+1),∀j ∈J, t1, t2 ∈T, p ∈P − {1}, t2 > t1(4.27)

X

t1,t2∈T,p∈P−1

T Vj t1t2p(p+1) ≤ Qnt M ax T V,∀j ∈J (4.28)

A (4.23) ´e respons´avel por garantir que nenhuma tarefa possa ser iniciada antes que a anterior tenha terminado, em uma mesma jornada. Para permitir que haja troca de terminal somente em jornadas do tipo dupla pegada, foi implementada a restri¸c˜ao (4.24). As restri¸c˜oes (4.25), (4.26), (4.27) e (4.28) s˜ao respons´aveis por garantir as regras de poss´ıveis trocas de ve´ıculos.

(42)

M´etodos Propostos 25

4.3

A Metaheur´ıstica LAHC

A metaheur´ısticaLate Acceptance Hill Climbing-LAHC, proposta por Burke and Bykov (2008), trata-se de uma adequa¸c˜ao do m´etodo Hill Climbing Cl´assico (Russell and Nor-vig 2002). Segundo Burke and Bykov (2012), essa metaheur´ıstica foi criada tendo em mente trˆes objetivos: ser um procedimento de busca local que n˜ao exige um processo de resfriamento artificial, como acontece noSimulated Annealing; usar eficientemente a in-forma¸c˜ao coletada durante itera¸c˜oes anteriores da busca, e; aplicar um novo mecanismo simplificado de aceita¸c˜ao de solu¸c˜oes candidatas.

O objetivo desta metaheur´ıstica ´e comparar o valor da fun¸c˜ao objetivo (fitness) de uma solu¸c˜ao candidata com o fitness de uma solu¸c˜ao armazenada em uma lista de solu¸c˜oes encontradas em itera¸c˜oes anteriores. Desta forma, a solu¸c˜ao n˜ao ´e comparada necessariamente com a melhor solu¸c˜ao conhecida, mas com uma solu¸c˜ao que foi armaze-nada em uma certa posi¸c˜ao da lista em uma determiarmaze-nada itera¸c˜ao anterior. Vale ressaltar que existe a possibilidade de uma solu¸c˜ao candidata ser aceita mesmo n˜ao sendo a me-lhor solu¸c˜ao encontrada at´e a sua itera¸c˜ao. Isto pode ocorrer uma vez que a compara¸c˜ao n˜ao ´e feita com a melhor solu¸c˜ao conhecida, e sim com a solu¸c˜ao armazenada numa determinada posi¸c˜ao da lista.

Esta metaheur´ıstica tem como ´unico parˆametro o tamanho da lista onde ser˜ao ar-mazenados os valores de fun¸c˜ao objetivo de diferentes solu¸c˜oes encontradas. Esta lista, denotada por f, tem comprimento Lf a. Seja a lista f ={f1, f2, ..., fLf a}, onde,

inicial-mente, todas as suas posi¸c˜oes s˜ao preenchidas com o custo da solu¸c˜ao inicial C(s), ou seja, fk ← C(s), ∀k ∈ {1, 2,..., Lf a}. A cada itera¸c˜ao i, uma solu¸c˜ao candidata s′ ´e

gerada na vizinhan¸ca de s. Uma solu¸c˜ao candidata ´e aceita se o seu fitness for melhor ou igual ao fitness armazenado na posi¸c˜ao v da lista f, onde v =i mod Lf a. Em caso afirmativo, a posi¸c˜ao v da lista f ´e atualizada: fv ←f(s

). Al´em disso, se essa solu¸c˜ao for melhor do que a melhor solu¸c˜ao encontrada s∗, s´e atualizada, ou seja, s s. Esse procedimento continua at´e que a condi¸c˜ao de parada seja alcan¸cada.

(43)

26 M´etodos Propostos

Algoritmo 4.1: Implementa¸c˜ao do LAHC para um problema de minimiza¸c˜ao Entrada: Solu¸c˜ao inicial s e o parˆametro Lf a.

Sa´ıda: Melhor solu¸c˜ao s∗

encontrada. fk ←C(s)∀k ∈ {1, 2,...,Lf a};

1

s∗

←s;

2

i←0;

3

enquantoCondi¸c˜ao de parada n˜ao atendida fa¸ca

4

Gere um candidato s′ na vizinhan¸ca de s;

5

v ←i mod Lf a;

6

se f(s′

)≤fv ent˜ao

7

s ←s′

;

8

se f(s)< f(s∗

) ent˜ao

9

s∗

←s;

10

fv ←f(s);

11

i←i+ 1;

12

retornas∗ ;

13

4.3.1

Fun¸

ao Objetivo

Como fun¸c˜ao objetivo da metaheur´ıstica LAHC, foi utilizada a mesma fun¸c˜ao objetivo apresentada em 4.2.3 que minimiza o n´umero de duplas pegadas. Esta ´e apresentada abaixo.

f olahc=

X

j∈J

(Custo J ∗yj +Custo OC∗(OC extj+OC intj)+

Custo HE∗Qnt HEj+Custo DP ∗Duplaj)

(4.29)

Na express˜ao (4.29) o Custo J se refere ao custo fixo de cada jornada, Custo OC ´e o custo de cada hora ociosa, Custo HE ´e o custo de cada hora extra e Custo DP ´e o custo associado a cada jornada do tipo dupla pegada. Desta forma s˜ao minimizados os custos fixos, as horas extras, as horas ociosas e as duplas pegadas.

4.3.2

Gera¸

ao da Solu¸

ao Inicial

(44)

M´etodos Propostos 27

guloso, onde o crit´erio adotado ´e a ordem das tarefas, estas ordenadas a partir do tempo de inicio. Os dados de entrada, ou seja, as tarefas a serem programadas, s˜ao armazenadas na ordem crescente de seus hor´arios de in´ıcio, e em caso de empate, pelo hor´ario de fim. A constru¸c˜ao da solu¸c˜ao ´e iniciada com uma jornada vazia, dita jornada corrente. A primeira tarefakainda n˜ao alocada ´e inserida nessa jornada. A partir de ent˜ao, enquanto for poss´ıvel, s˜ao inseridas as pr´oximas tarefas ainda n˜ao alocadas, que pertencem ao mesmo ve´ıculo da tarefa k e que n˜ao geram inviabilidade na jornada corrente. Quando n˜ao for poss´ıvel inserir qualquer tarefa na jornada corrente, uma nova jornada vazia ´e inicializada e o processo se repete at´e que todas as tarefas tenham sido alocadas a alguma jornada.

4.3.3

Estrutura de Vizinhan¸

ca Realoca-Troca

Os dois tipos de movimentos que caracterizam a estrutura de vizinhan¸ca adotada foram a realoca¸c˜ao ou a troca de uma tarefa entre duas jornadas, sem gerar inviabilidade. Estes movimentos s˜ao realizados para encontrar um vizinho de uma solu¸c˜ao corrente. Exem-plificando, considere duas jornadas i e j, escolhidas aleatoriamente. Ent˜ao ´e sorteada uma tarefa a ser retirada da jornada i e introduzida na jornada j. Logo, pode ocorrer uma das seguintes situa¸c˜oes:

1. A tarefa retirada de i pode ser introduzida em j sem a necessidade de remover qualquer tarefa da jornadaj. Neste caso ´e realizado um movimento de realoca¸c˜ao, e a nova solu¸c˜ao ser´a avaliada.

2. A introdu¸c˜ao da tarefa emj exige a retirada de uma ou mais tarefas desta jornada. Neste caso, se a(s) tarefa(s) removida(s) dej puder(em) ser inserida(s) na jornada i, sem haver qualquer sobreposi¸c˜ao com as tarefas remanescentes em i, ent˜ao o movimento ´e aceito, caso contr´ario ele ´e descartado. Este ´e um movimento de troca.

(45)

28 M´etodos Propostos

Figura 4.1: Movimentos de realoca¸c˜ao e troca de uma tarefa da jornadaj para a jornada k

4.4

Matheur´ıstica

A utiliza¸c˜ao de m´etodos exatos em conjuntos com as heur´ısticas vem sendo uma crescente tendˆencia em otimiza¸c˜ao. Este processo dehibridiza¸c˜aode m´etodos ´e tamb´em conhecido como Matheur´ıstica (Maniezzo et al. 2009). Os modelos apresentados nas se¸c˜oes 4.2 e 4.3 fazem parte da abordagem do tipo Matheur´ıstica proposta neste trabalho para a resolu¸c˜ao do PPT.

A Matheur´ıstica desenvolvida neste trabalho parte de uma solu¸c˜ao vi´avel gerada pela metaheur´ıstica LAHC e particiona os componentes da solu¸c˜ao em subconjuntos menores de tal forma que gera subproblemas de dimens˜oes menores do que o probema original. Assim, cada parti¸c˜ao est´a associada a um problema menor e apresenta uma solu¸c˜ao inicial, a qual pode ser melhorada utilizando o modelo exato. Devido ao tamanho reduzido dos subproblemas, ´e poss´ıvel encontrar a solu¸c˜ao ´otima para cada parti¸c˜ao.

(46)

par-M´etodos Propostos 29

ticionamento da solu¸c˜ao ´e apresentado com maiores detalhes na pr´oxima se¸c˜ao. Ap´os o particionamento, cada parti¸c˜ao ou subproblema ´e resolvido pelo modelo exato descrito na se¸c˜ao 4.2, onde tenta-se melhorar a solu¸c˜ao inicial para cada parti¸c˜ao ou demonstrar a sua otimilidade.

Na Figura 4.2 ´e apresentado um diagrama com os m´etodos que comp˜oe a abordagem proposta neste trabalho.

Figura 4.2: Representa¸c˜ao da Matheur´ıstica implementada para o Problema de Pro-grama¸c˜ao da Tripula¸c˜ao

4.4.1

Particionamento da Solu¸

ao

A seguir ´e apresentado o procedimento adotado para realizar o particionamento da solu¸c˜ao em subproblemas, de tal forma que seja poss´ıvel empregar o modelo exato e obter a solu¸c˜ao ´otima. Para escolher as jornadas pertencentes a cada parti¸c˜ao foram utilizadas como atributos a quantidade de horas extras, quantidade de horas ociosas e os ve´ıculos utilizados nas jornadas envolvidas.

(47)

30 M´etodos Propostos

ve´ıculo da jornada j´a inserida na parti¸c˜ao. Quando n˜ao houver nenhuma jornada que utilize o mesmo ve´ıculo, ser´a inserida a jornada com o maior n´umero de horas ociosas independente do ve´ıculo utilizado na primeira jornada. Esse processo ´e realizado at´e que cada parti¸c˜ao receba no m´aximo seis jornadas e que todas as jornadas sejam alocadas em uma ´unica parti¸c˜ao. O fato de escolher jornadas que conduzem o mesmo ve´ıculo se deve `a possibilidade de realoca¸c˜ao das tarefas, visto que desta forma as tarefas estar˜ao associadas aos mesmos terminais.

Algoritmo 4.2: Particionamento da solu¸c˜ao

Entrada: Lista de Jornadas Ordenadas por Horas Extras LHe Entrada: Lista de Jornadas Ordenadas por Horas Ociosas LHo Sa´ıda: Conjunto de parti¸c˜oes P

Pk← ⊘ ∀k;

1

i←0;

2

n←1;

3

enquanto LHe6=⊘ e LHo6=⊘ fa¸ca

4

enquanto (n <= 6)&&(n <= Tamanho de LHe + Tamanho de LHo) fa¸ca

5

Pi ←LHe1;

6

n ←n+ 1;

7

remove a jornada LHe1 das ListasLHe e LHo;

8

se V e´ıculoLHe1 =V e´ıculoLhok ∀k ent˜ao

9

Pi ←LHok;

10

n ←n+ 1;

11

remove a jornada LHok das ListasLHe e LHo;

12

sen˜ao

13

Pi ←LHo1;

14

n ←n+ 1;

15

remove a jornada LHo1 das Listas LHee LHo;

16

i←i+ 1;

17

retornas∗;

(48)

Cap´ıtulo 5

Resultados e Discuss˜

ao

Inicialmente foram realizados testes com o Modelo Exato para medir a dimens˜ao dos problemas que este pode resolver. Para estes testes, foram geradas instˆancias a partir de dados reais de uma empresa de transporte p´ublico que opera na regi˜ao metropolitana de Belo Horizonte MG. As caracter´ısticas destes problemas e os resultados obtidos s˜ao apresentados na se¸c˜ao 5.1. Cada problema foi resolvido pelosolver do pacote computa-cional CPLEX 12.5.

Na segunda fase de experimentos, a metaheur´ıstica LAHC e a Matheur´ıstica foram testada em um conjunto de sete instˆancias referentes a uma semana de opera¸c˜ao de uma empresa que atua na cidade de Belo Horizonte-MG. A metaheur´ıstica LAHC e o processo de particionamento das jornadas foram implementados na linguagem C/C++. Ap´os o particionamento das jornadas, cada subproblema foi resolvido pelo solver do pacote computacional CPLEX 12.5.

Todos os testes foram executados em um microcomputador com processador Intel(R) Core(TM) i7-2600, com clock de 3.40GHz, 8 GB de mem´oria RAM, sob plataforma Windows Seven Professional.

Neste Cap´ıtulo s˜ao apresentados os resultados obtido pelo modelo exato, pela me-taheur´ıstica LAHC e pela Matheur´ıstica. Na se¸c˜ao 5.1 s˜ao apresentadas os resultados obtidos pelo m´etodo exato. Em 5.2 ´e mostrado os resultados do LAHC, incluindo a fase de calibra¸c˜ao, os resultados da matheur´ıstica e uma compara¸c˜ao com outras me-taheur´ısticas abordadas na literatura.

5.1

Resultados Obtidos pelo Modelo Exato

Para testar o modelo foram gerados 4 casos com caracter´ısticas particulares. Os proble-mas resolvidos tˆem as seguintes caracter´ısticas:

• Caso 1: modelo completo com todas as restri¸c˜oes e a fun¸c˜ao objetivo 4.1. Dados

Imagem

Figura 4.1: Movimentos de realoca¸c˜ao e troca de uma tarefa da jornada j para a jornada k
Figura 4.2: Representa¸c˜ao da Matheur´ıstica implementada para o Problema de Pro- Pro-grama¸c˜ao da Tripula¸c˜ao
Tabela 5.2: Resultados do modelo exato para os problemas para o caso 1
Tabela 5.4: Resultados do modelo exato para os problemas do caso 2
+7

Referências

Documentos relacionados

A pesquisa pode ser caracterizada como exploratória e experimental em uma primeira etapa (estudo piloto), na qual foram geradas hipóteses e um conjunto de observáveis, variáveis

A partir da idempotência, podemos obter uma melhor compreensão do modo como os extremos se fundem ao longo das escalas.. Este resultado pode ser associado, por exemplo,

Dentre as misturas binárias estudados foi possível observar que a associação entre prednisona e ciclobenzaprina é provavelmente a mais instável devido ao aquecimento, dados este

mesonoto esparsamente umbilicado, tal que lobo mediano com cerca de 12 umbílicos na linha transversal-média (Fig. 11); mesoscuto levemente convexo (como na figura 12);

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

GUIÃO DE EDUCAÇÃO GÉNERO E CIDADANIA 1º ciclo... Ficha

Para analisar as Componentes de Gestão foram utilizadas questões referentes à forma como o visitante considera as condições da ilha no momento da realização do

In: VI SEMINÁRIO NACIONAL DE PESQUISADORES DA HISTÓRIA DAS COMUNIDADES TEUTO-BRASILEIRAS (6: 2002: Santa Cruz do Sul).. BARROSO, Véra Lúcia