Uma Abordagem Híbrida para Resolver o Problema da Escala de Motoristas de Ônibus Urbano

Tamanho: px
Começar a partir da página:

Download "Uma Abordagem Híbrida para Resolver o Problema da Escala de Motoristas de Ônibus Urbano"

Transcrição

1 UNIVERSIDADE FEDERAL DE OURO PRETO Uma Abordagem Híbrida para Resolver o Problema da Escala de Motoristas de Ônibus Urbano Danilo Santos Souza Universidade Federal de Ouro Preto Orientador: Gustavo Peixoto Silva Coorientador: Haroldo Gambini Santos Dissertação submetida ao Instituto de Ciências Exatas e Biológicas da Universidade Federal de Ouro Preto para obtenção do título de Mestre em Ciência da Computação Ouro Preto, Julho de 2014

2 Uma Abordagem Híbrida para Resolver o Problema da Escala de Motoristas de Ônibus Urbano Danilo Santos Souza Universidade Federal de Ouro Preto Orientador: Gustavo Peixoto Silva Coorientador: Haroldo Gambini Santos

3 S729a Souza, Danilo Santos. Uma abordagem híbrida para resolver o problema da escala de motoristas de ônibus urbano [manuscrito] / Danilo Santos Souza 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. Catalogação: sisbin@sisbin.ufop.br CDU:

4

5 Dedico este trabalho a você que sempre me fez acreditar na realização dos meus sonhos e trabalhou muito para que eu pudesse realizá-los, Mãe. 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é aqui. ii

6 iii Uma Abordagem Híbrida para Resolver o Problema da Escala de Motoristas de Ônibus Urbano Resumo A alocação da tripulação (motoristas e cobradores) é uma etapa muito importante no planejamento operacional do Sistema de Transporte Público visto que custo operacional representado pelas escalas de trabalho compõe uma parcela significativa nos custos totais de uma empresa de transporte público. A redução dos custos das escalas de trabalho afetam não só as empresas operadoras, mas também os usuários deste serviço, pois com esta redução há a possibilidade de um maior investimento na qualidade do transporte público e a redução dos preços dos bilhetes. Estes custos, estão estritamente relacionados as normas operacionais impostas pelas empresas e legislações trabalhistas que se refletem na definição das jornadas de trabalho dos motoristas e cobradores. Esse trabalho tem a finalidade de propor um novo método computacional capaz de auxiliar o processo da programação da tripulação em empresas de transporte público de ônibus urbano. Os métodos apresentados nesta pesquisa são baseados no uso de um modelo de programação linear inteira, ainda inédito na literatura, se diferindo dos demais pelo fato de que cada jornada é gerada diretamente a partir das tarefas a serem alocadas. Uma metaheurística Late Acceptance Hill Climbing (LAHC) também foi utilizada com o objetivo de resolver problemas de maiores dimensões. Um método híbrido, utilizando o método exato e a metaheurística LAHC, é proposto com o objetivo de obter um refinamento das soluções obtidas pela metaheurística, de modo a reduzir os custos das jornadas geradas. Para avaliar as abordagens apresentadas foram utilizadas instâncias geradas a partir de dados reais de uma empresa do setor de transporte público da cidade de Belo Horizonte/MG. Os modelos computacionais propostos apresentaram resultados satisfatórios, sendo que os custos finais foram reduzidos para a maioria dos testes realizados. Por outro lado, há a necessidade de novos estudos sobre os métodos apresentados, a fim de que os mesmos se tornem mais eficientes. Palavras-chave: Matheurística, Problema de Programação de Tripulações, Metaheurística.

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 operational planning of Public Transit System once the operational 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. Keywords: Matheuristic, Crew Scheduling Problem, Metaheuristic.

8 v Declaração Esta dissertação é resultado de meu próprio trabalho, exceto onde referência explícita é feita ao trabalho de outros, e não foi submetida para outra qualificação nesta nem em outra universidade. Danilo Santos Souza

9 vi Agradecimentos Primeiramente agradeço à Deus por me amparar nos momentos difíceis e me dar força para superar as dificuldades. Aos meus pais, Gilsa e Denildo, e a meu irmão Diego, pelo incentivo, apoio e afeto. A minha avó Carmelita, pelo exemplo de dedicação e por ser uma mãe pra mim. Ao meu Tio Denilson, por sempre acreditar em mim quando alguns não acreditavam, e por ser um exemplo de pai e homem. À toda minha família, pelo carinho e força. Agradeço ao meu orientador Gustavo Peixoto Silva pela oportunidade concedida, pela impecável orientação e pelo apoio no desenvolvimento do trabalho. Agradeço ainda ao meu Coorientador Haroldo Gambini Santos pelas valiosas contribuições 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ça, fundamentais para que eu conseguisse chegar até aqui. À República Navio Pirata, Moradores e Ex-alunos, por me acolherem, pelo companheirismo e amizade, tornando esta minha segunda casa. Ao CNPq, à FAPEMIG, à CAPES e à UFOP pelo apoio recebido no desenvolvimento deste trabalho. Ao PPGCC - UFOP, professores e técnicos, em especial aos professores Fabrício, Gustavo e Haroldo, e a Mariana pela ajuda sempre que fez-se necessário. Enfim, agradeço a todos que, de alguma forma, acreditaram e torceram por mim, participaram de minha vida e ajudaram na realização deste trabalho.

10 Sumário Lista de Figuras ix Lista de Tabelas x Lista de Algoritmos xiii Nomenclatura 1 1 Introdução Objetivo Geral Objetivos Específicos Organização do Trabalho Revisão Bibliográfica Métodos Exatos para Resolver o PPT Metaheurísticas para Resolver o PPT Métodos Híbridos para resolver o PPT Problema de Programação da Tripulação de Ônibus Urbano Restrições do Problema Métodos Propostos Estruturas para a Representação do Problema Modelo Matemático Proposto Parâmetros e Conjuntos vii

11 viii SUMÁRIO Variáveis de Decisão Função Objetivo Conjunto de Restrições A Metaheurística LAHC Função Objetivo Geração da Solução Inicial Estrutura de Vizinhança Realoca-Troca Matheurística Particionamento da Solução Resultados e Discussão Resultados Obtidos pelo Modelo Exato Resultados Obtidos pelo LAHC e a Matheurística Calibração da Metaheurística Comparação entre a Matheurística, LAHC e demais Metaheurísticas Conclusões e Trabalhos Futuros 59 A Apêndices 62 A.1 Publicações Referências Bibliográficas 63

12 Lista de Figuras 4.1 Movimentos de realocação e troca de uma tarefa da jornada j para a jornada k Representação da Matheurística implementada para o Problema de Programação da Tripulação ix

13 Lista de Tabelas 4.1 Estrutura de uma tarefa Estrutura de uma jornada Características dos problemas gerados para o caso Resultados do modelo exato para os problemas para o caso Características dos problemas gerados para o caso Resultados do modelo exato para os problemas do caso Características dos problemas gerados para o caso Resultados do modelo exato para os problemas para o caso Características dos problemas gerados para o caso Resultados do modelo exato para os problemas para o caso Tabela com as informações de cada instância, contendo a quantidade de tarefas a serem realizadas e quantos veículos são utilizados Resultados do primeiro teste de calibração da Metaheurística LAHC para os valores de tamanho de lista: 10, 20, 30, 40, 50, 100 e Resultados do primeiro teste de calibração da Metaheurística LAHC para os valores de tamanho de lista: 200, 250, 300, 350, 400, 450 e Resultados do segundo teste de calibração da Metaheurística LAHC para os valores de tamanho de lista: 40, 50, 100 e Características dos melhores resultados para a instância 01 com custo 600 para jornadas do tipo dupla pegada Melhorias da Matheurística em relação aos métodos LAHC, VNS, VNS- VLNS, ILS e ILS - VLNS para a instância 01 com custo 600 para jornadas do tipo dupla x

14 LISTA DE TABELAS xi 5.15 Características dos melhores resultados para a instância 02 com custo 600 para jornadas do tipo dupla pegada Melhorias da Matheurística em relação aos métodos LAHC, VNS, VNS- VLNS, ILS e ILS-VLNS para a instância 02 com custo 600 para jornadas do tipo dupla pegada Características dos melhores resultados para a instância 03 com custo 600 para jornadas do tipo dupla pegada Melhorias da Matheurística em relação aos métodos LAHC, VNS, VNS- VLNS, ILS e ILS-VLNS para a instância 03 com custo 600 para jornadas do tipo dupla pegada Características dos melhores resultados para a instância 04 com custo 600 para jornadas do tipo dupla pegada Melhorias da Matheurística em relação aos métodos LAHC, VNS, VNS- VLNS, ILS e ILS-VLNS para a instância 04 com custo 600 para jornadas do tipo dupla pegada Características dos melhores resultados para a instância 05 com custo 600 para jornadas do tipo dupla pegada Melhorias da Matheurística em relação aos métodos LAHC, VNS, VNS- VLNS, ILS e ILS-VLNS para a instância 05 com custo 600 para jornadas do tipo dupla pegada Características dos melhores resultados para a instância 06 com custo 600 para jornadas do tipo dupla pegada Melhorias da Matheurística em relação aos métodos LAHC, VNS, VNS- VLNS, ILS e ILS-VLNS para a instância 06 com custo 600 para jornadas do tipo dupla pegada Características dos melhores resultados para a instância 07 com custo 600 para jornadas do tipo dupla pegada Melhorias da Matheurística em relação aos métodos LAHC, VNS, VNS- VLNS, ILS e ILS-VLNS para a instância 07 com custo 600 para jornadas do tipo dupla pegada Valores da função objetivo para os melhores resultados obtidos para todas as instâncias e com peso 600 para as jornadas do tipo dupla pegada Características dos melhores resultados para a instância 01 com custo para jornadas do tipo dupla pegada

15 xii LISTA DE TABELAS 5.29 Melhorias da Matheurística em relação aos métodos LAHC, VNS e VNS- VLNS para a instância 01 com custo para jornadas do tipo dupla pegada Características dos melhores resultados para a instância 02 com custo para jornadas do tipo dupla pegada Melhorias da Matheurística em relação aos métodos LAHC, VNS e VNS- VLNS para a instância 02 com custo para jornadas do tipo dupla pegada Características dos melhores resultados para a instância 03 com custo para jornadas do tipo dupla pegada Melhorias da Matheurística em relação aos métodos LAHC, VNS e VNS- VLNS para a instância 03 com custo para jornadas do tipo dupla Características dos melhores resultados para a instância 04 com custo para jornadas do tipo dupla pegada Melhorias da Matheurística em relação aos métodos LAHC, VNS e VNS- VLNS para a instância 04 com custo para jornadas do tipo dupla pegada Características dos melhores resultados para a instância 05 com custo para jornadas do tipo dupla pegada Melhorias da Matheurística em relação aos métodos LAHC, VNS e VNS- VLNS para a instância 05 com custo para jornadas do tipo dupla pegada Características dos melhores resultados para a instância 06 com custo para jornadas do tipo dupla pegada Melhorias da Matheurística em relação aos métodos LAHC, VNS e VNS- VLNS para a instância 06 com custo para jornadas do tipo dupla pegada Características dos melhores resultados para a instância 07 com custo para jornadas do tipo dupla pegada Melhorias da Matheurística em relação aos métodos LAHC, VNS e VNS- VLNS para a instância 07 com custo para jornadas do tipo dupla pegada Melhores resultados obtidos da função objetivo para todas as instâncias com peso para as jornadas do tipo dupla pegada

16 Lista de Algoritmos 4.1 Implementação do LAHC para um problema de minimização Particionamento da solução xiii

17 Talvez não tenha conseguido fazer o melhor, mas lutei para que o melhor fosse feito. Não sou o que deveria ser, mas Graças a Deus, não sou o que era antes. Marthin Luther King xiv

18 Nomenclatura GRASP ILS LAHC MPL PPT VND VNS VLNS Greedy Randomized Adaptive Search Procedure Iterated Local Search Late Acceptance Hill Climbing Mathematical Programming Language Problema de Programação de Tripulações Variable Neighborhood Descent Variable Neighborhood Search Very Large-Scale Neighborhood Search 1

19 Capítulo 1 Introdução Atualmente no ramo empresarial há uma necessidade cada vez maior pela utilização de ferramentas computacionais para auxiliar no processo de tomada de decisões. Tal fato acontece devido à possibilidade de redução nos custos da empresa, seja no nível estratégico, tático ou operacional. No setor de logística, são exemplos de decisões operacionais: i) a definição de rotas de transporte para entrega de cargas, ii) a quantidade de matéria prima a ser utilizada no processo de produção, iii) a alocação e programação das máquinas no processo de produção, entre outros (Novaes 2001). Nas empresas de transporte publíco, a utilização de ferramentas computacionais para dimensionar suas frotas ainda é pequena, assim como para alocar seus motoristas e cobradores de maneira econômica e equilibrada (Silva 2001). Desta forma, surge a importância de estudar e aplicar métodos de otimização, nesta fase do processo de planejamento das empresas de transporte público, para permitir a redução dos seus custos operacionais. O ônibus ainda é o meio de transporte público de passageiros mais utilizado nas cidades, sendo que em algumas delas ele é o único meio de transporte público. Assim, o planejamento da operação das empresas deste ramo deve ser muito preciso para que a demanda dos usuários seja atendida prontamente e com o menor custo possível. A redução dos custos, decorrente de um melhor planejamento, é de fundamental importância para as empresas. Além de um fator de sobrevivência, essa economia pode ser reinvestida em outras áreas, como na qualificação dos seus funcionários, na manutenção da frota, entre outros. Desta forma, a qualidade do serviço pode ser melhorada, assim como o retorno à empresa. Logo, a utilização de técnicas e ferramentas computacionais podem trazer benefícios para as empresas deste setor (Wren 2004). 2

20 Introdução 3 O desenvolvimento e a utilização de sof twares para auxiliar o processo de tomada de decisão, em empresas de transporte público brasileiro, tem um histórico de pouca utilização (Silva 2001). Isso ocorre por que tais métodos requerem a obtenção de dados precisos da operação das frotas, o cumprimento de regras específicas, o treinamento do pessoal, entre outros outros fatores que geram custos adicionais e requerem a mudança na forma de operação das empresas. Mesmo com essas dificuldades, é importante que métodos de otimização adequados à realidade brasileira sejam elaborados e sua utilização disseminada entre as empresas de transportes público, propiciando benefícios tanto para as empresas como para os usuários do sistema. O planejamento de transporte público urbano é uma tarefa muito delicada pois o mesmo envolve tanto o poder público quanto as empresas de prestação de serviço. Uma série de decisões operacionais devem ser tomadas neste planejamento. Primeiramente, deve-se definir quais as linhas de transporte que irão operar, ou seja, definir quais serão as rotas das linhas necessárias para cobrir todas as regiões desejadas de uma determinada cidade, definindo também os pontos de parada de cada rota. Com a definição da trajetória das linhas a serem operadas, deve-se então definir o horário de partida de cada viagem em cada linha sob a responsabilidade da empresa. Isto é, deve-se definir o quadro de horários das linhas para os dias úteis, os sábados e os domingos/feriados. A variação no quadro de horários se deve pela variação na demanda nos diferentes dias da semana. Numa segunda etapa deve-se fazer a alocação dos veículos que realizarão as viagens de cada linha. Este problema é conhecido na literatura como Problema de Programação dos Veículos. Nesta etapa procura-se definir a quantidade mínima de veículos necessários para realizar todas as viagens previstas no quadro de horários de cada linha, gerado na etapa anterior, e especificar o veículo que realizará cada viagem. A resolução deste problema procura minimizar não apenas o número de veículos, mas também 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ão alocados de modo a cobrir todas as viagens dos veículos em operação. Desta forma são definidas as jornadas que cada tripulação da empresa deverá cumprir em um dia de trabalho. Este problema é denominado Problema de Programação da Tripulação e tem como objetivo minimizar o total de tripulantes e o custo com horas extras e ociosas contidas na escala diária. A última etapa consiste em definir o rodízio das tripulações. Esta etapa tem como

21 4 Introdução objetivo gerar as escalas mensais das tripulações de modo a cobrir todas as jornadas respeitando as regras especificas para a atividade, como por exemplo as folgas da tripulação, o número máximo de dias trabalhados consecutivamente, entre outras. Este problema é conhecido na literatura como Problema do Rodízio das Tripulações. Nesta etapa é possível realizar a compensação de horas extras com horas ociosas, realizadas no mesmo mês, por uma determinada tripulação. A definição das linhas e do quadro de horários é de responsabilidade do poder público, enquanto a programação dos veículos e tripulações e o rodízio das tripulações ficam a cargo das empresas de transporte público. O processo de planejamento operacional descrito acima é geralmente realizado na ordem apresentada e a solução de cada etapa é usada como dado de entrada da etapa seguinte. A abordagem de todos os problemas do sistema de transporte em um único modelo pode ser uma tarefa computacionalmente impossível. Logo, este trabalho dedica-se exclusivamente ao tratamento do Problema de Programação da Tripulação (PPT). Devido às restrições operacionais vigentes, restrições das empresas e das leis trabalhistas, este problema especificamente torna-se de grande complexidade. O problema pode ser modelado como um problema de particionamento ou de recobrimento com variáveis binárias, o que o torna NP-hard, para o qual não existe algoritmo de complexidade polinomial que obtenha a solução ótima (Fischetti et al. 1987). Este problema vem sendo estudado desde a década de 60, tendo Elias (1964) como trabalho pioneiro. Devido às constantes mudanças no sistema de transporte público, várias pesquisas são realizadas ainda hoje para representar e resolver o problema de forma mais precisa e eficiente. Devido à complexidade deste problema, a utilização de métodos exatos fica restrita, impossibilitando a resolução de problemas reais, que normalmente são de grandes dimensões. Assim, os métodos heurísticos se tornam uma alternativa e são amplamente utilizados para resolver o problema (Ernst et al. 2004b). O presente trabalho apresenta um modelo de programação linear inteira ainda inédito na literatura. Para agilizar a resolução de problemas de grande porte, foi utilizada uma abordagem híbrida que combina a heurística Late Acceptance Hill Climbing (LAHC) com o modelo exato proposto. O modelo exato consiste em gerar jornadas de trabalho a partir das viagens a serem realizadas. Desta forma, o modelo não utiliza a formulação de particionamento de conjuntos. Este modelo é inédito e não necessita gerar as jornadas previamente, como acontece no modelo de particionamento.

22 Introdução Objetivo Geral Este trabalho tem como objetivo resolver o Problema da Programação de Tripulação de Ônibus Urbano de modo a reduzir o máximo possível os custos operacionais na atribuição das viagens às tripulações, utilizando técnicas exatas e heurísticas. Assim foi implementado um modelo exato de programação linear inteira, uma metaheurística e a combinação de ambos, resultando em um modelo do tipo Matheurística. Os métodos foram avaliados quanto às vantagens e desvantagens destas abordagens na resolução de problemas reais. 1.2 Objetivos Específicos Resolver o PPT utilizando um modelo exato e verificar a dimensão máxima do problema que o método é capaz de resolver; Resolver o PPT utilizando a metaheurística Late Acceptance Hill Climbing LAHC; Resolver o PPT utilizando uma abordagem híbrida, que é a combinação da metaheurística LAHC e do modelo exato; Avaliar os resultados obtidos com resultados da literatura e das soluções apresentadas pela empresa. 1.3 Organização do Trabalho Os demais capítulos deste trabalho estão organizados da seguinte forma: No Capítulo 2 é apresentada uma revisão bibliográfica do problema, abordando alguns métodos de fundamental importância para este trabalho. No Capítulo 3 é descrito o Problema de Programação da Tripulação para Ônibus de Transporte Público Urbano. No Capítulo 4 são apresentadas as metodologias implementadas para resolver o problema trabalhado. No Capítulo 5 são apresentados os resultados e suas considerações para o problema. No Capítulo 6 são apresentadas as conclusões finais e propostas de trabalhos futuros.

23 Capítulo 2 Revisão Bibliográfica O PPT é um problema clássico, sobre o qual existem diversos trabalhos que exploram diferentes técnicas de programação linear inteira para resolvê-lo. Entre estas técnicas são destacadas o Branch-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 resolver problemas de grande porte. Dentre essas pode-se destacar: Algoritmos Genéticos, GRASP, Busca Tabu, Simulated Annealing, entre outros (Lourenço et al. 2001, Shen and Kwan 2001, Silva and da Cunha 2010, Souza et al. 2004). Com o emprego destas meta-heurísticas foi possível obter resultados muito satisfatórios para o problema, embora a otimalidade das soluções não sejam garantidas. O trabalho de Ernst et al. (2004a) apresenta uma série de problemas relacionados à alocação de pessoal em diversas áreas, incluindo motoristas e cobradores de sistemas de transportes. Neste contexto, os autores descrevem problemas de alocação de funcionários em seus diferentes modais de transportes, ou seja, no aeroviário, ferroviário, transporte urbano e no transporte interurbano. No trabalho é apresentada uma revisão sobre as principais pesquisas tanto para o problema de programação da tripulação, como para o problema do rodízio das tripulações. No trabalho é mencionado também que a complexidade dos problemas dependem do tipo de transporte, da categoria da tripulação, dos tipos de frotas, das regras e regulamentações, 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ção das tripulações é aquela que o decompõe nas seguintes etapas: geração das jornadas, otimização das jornadas e definição do rodizio da tripulação. Desta forma, a complexidade do problema é reduzida, permitindo sua 6

24 Revisão Bibliográfica 7 resolução de forma satisfatória. Algumas destas técnicas de otimização são utilizadas em pacotes comerciais voltadas para a área de programação de veículos e tripulações. Uma metaheurística do tipo runcutting foi utilizada para resolver o problema no pacote RUCUS (Luedtke 1985, Wilhelm 1975), desenvolvido nos Estados Unidos da América a partir da década de 70, e um algoritmo desenvolvido por Parker and e Smith (1981) foi utilizado no sistema TRACS, o qual simulava o processo manual de alocação da tripulação. A formulação de recobrimento de conjuntos foi usada no pacote IMPACS do sistema BUSMAN e no pacote Crew-opt, que posteriormente foi utilizado na versão inicial do HASTUS que substituiu o TRACS (Wren 2004). A empresa brasileira Wplex, desenvolvedora de sistemas no âmbito de transporte, desenvolveu um sistema WplexON (Fournier 2009) para tratar problemas de alocação de tripulação. Neste trabalho a empresa utiliza a abordagem de Branch-and-Price para solucionar o problema modelado como particionamento de conjuntos, sendo que o conjunto de Jornada de Trabalho é gerada a partir do movimento de inserção de tarefas. Estas soluções obtidas pela Wplex são utilizadas em empresas no estado de Santa Catarina. Nas subseções a seguir são apresentados alguns trabalhos que utilizam abordagens Exatas, Metaheurísticas e Heurísticas Híbridas. 2.1 Métodos Exatos para Resolver o PPT Os métodos exatos se mostram mais eficiente quando utilizados para resolução de problemas de otimização combinatória quando os problema são de pequena dimensão ou não são NP-Completo. No entanto, estes métodos podem ser ineficientes para problemas NP-Completos de grande dimensão, uma vez que o tempo de execução aumenta exponencialmente à medida que as instâncias aumentam. Ainda assim, existem várias abordagens exatas descritas na literatura para resolver o problema. Entre elas podemos citar a Programação Dinâmica, a Programação Linear e Inteira, Relaxação Lagrangeana, Programação por Restrições, entre outros. Muitas destas técnicas são flexíveis e independentes de domínio, e podem ser aplicadas à maioria dos problemas práticos (Stefanello 2011). Em Desrochers and Soumis (1989) é proposta uma abordagem de geração de colunas para resolver o Problema de Programação da Tripulação. Nesta abordagem o problema

25 8 Revisão Bibliográfica é dividido em dois: um problema de cobertura de conjunto e um problema de caminho mínimo com limitação de recurso. O problema de cobertura de conjuntos escolhe uma escala de trabalho viável já conhecida. O problema de caminho mínimo é usado para propor novas escalas de trabalho para melhorar a solução obtida pelo problema de cobertura de conjuntos. Para o problema de cobertura de conjuntos, o método de geração de colunas é representado por linhas e colunas, onde as colunas representam uma escala viável 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ém as novas escalas são geradas usando um algoritmo de caminho mínimo com restrição de recursos. Cada caminho viável, da origem ao consumidor, representa uma jornada de trabalho viável, ou seja, uma nova coluna para o problema de cobertura de conjuntos. O método proposto apresenta resultados satisfatório para resolver problemas considerados pequenos, compostos de 167 e 235 tarefas. Fores et al. (1999) apresentam um sistema baseado em programação linear inteira, como melhoria do sistema TRACS II desenvolvido pela Universidade de Leeds, Inglaterra. Diferente da abordagem utilizada no TRACS II, que utilizava duas funções objetivos para calcular as penalidades impostas na solução, o modelo proposto por Fores et al. (1999) utiliza uma função objetivo composta, e o método de geração de colunas para obter a sua solução final. Os testes computacionais mostram que o modelo proposto consegue resultados melhores do que o modelo utilizado pelo sistema TRACS II, e obteve uma redução média de 41% no tempo de processamento para o mesmo conjunto de dados. A abordagem branch-and-price é utilizada por Freling et al. (2004) para resolver tanto o problema de alocação quando o problema do rodízio de tripulação. Para resolver o problema, os autores utilizaram uma abordagem do tipo Geração de Colunas onde inicialmente é escolhido um conjunto de jornadas (colunas) e então é resolvido o problema relaxando a condição de integralidade da solução. Em seguida são geradas novas colunas que podem ser inseridas no conjunto, substituindo outra, caso esta inserção consiga reduzir o custo da solução. Esta operação se repete até que nenhuma jornada que reduza o custo seja encontrada. Se na etapa de geração de novas colunas não for encontrada nenhuma jornada que reduza o custo, a operação branch-and-bound é realizada. No inicio, uma solução (nó) é gerada para realizar o branch, calculando novos limites inferiores das duas soluções, a primeira gerada na resolução do problema com conjunto de jornadas e a outra após o processo de geração de colunas. Logo após, verifica-se se o novo custo é menor do que o melhor custo. Então o método verifica se

26 Revisão Bibliográfica 9 todas as restrições estão sendo atendidas e o processo de branch-and-bound é iniciado novamente até que a condição de parada seja atendida. Os testes foram realizado em problemas de alocação de tripulações de aeronaves para instâncias pequenas. O modelo teve como objetivo minimizar o número de tarefas descobertas e o número de tripulantes. Santos and Mateus (2007) utilizam uma abordagem exata de Geração de Colunas combinada com a metaheurística populacional Algoritmos Genéticos para resolver o PPT. Na geração de colunas, o problema é subdividido em dois: problema mestre e subproblema. O problema mestre seleciona as jornadas que serão realizadas pela tripulação em um conjunto de jornadas viáveis, de modo a conseguir cobrir todas as viagens necessárias. Já o subproblema é responsável por gerar novas jornadas (colunas). Estas jornadas são adicionadas ao problema mestre se possibilitarem a melhoria da solução. Para a resolução do subproblema é utilizado um Algoritmo Genético. Os resultados obtidos mostram que a utilização do Algoritmo Genético, em comparação com outras metaheurísticas, destaca-se pelo fato da possibilidade de geração de um conjunto maior de jornadas viáveis para a inclusão no problema mestre e consequentemente possibilita reduzir o tempo de processamento quando lida com grandes instâncias. 2.2 Metaheurísticas para Resolver o PPT Lourenço et al. (2001) utilizam duas metaheurísticas multiobjetivos para solucionar o PPT, a Busca Tabu e um Algoritmo Genético. Na abordagem apresentada, são consideradas duas funções objetivo, uma com os custos operacionais do problema ao que se refere a quantidade de tripulantes e tempo operacional, e custos por quebra de restrições operacionais, por exemplo exceder o máximo de trocas de veículos. Na Busca Tabu, os autores consideram duas listas tabu, uma de inserção e outra de remoção de jornadas. A primeira contém a lista de jornadas que foram removidas e não podem ser inseridas e a segunda lista contém as jornadas incluídas que não podem ser removidas. A Busca Tabu é realizada para cada função objetivo e posteriormente é aplicada com a função de soma ponderada das duas funções objetivos. Um processo para otimizar a solução é proposto, onde a Busca Tabu é realizada com varias iterações com objetivo de encontrar soluções viáveis, utilizando somente de inserção de tarefas, e a metaheurística GRASP é utilizada para selecionar as melhores jornadas geradas no processo de Busca Tabu. No algoritmo genético, a criação de novas populações se baseia na escolha aleatória de uma das funções objetivo para conseguir uma diversificação maior da população. A utilização

27 10 Revisão Bibliográfica de um método de cruzamento entre duas populações é proposto, utilizando GRASP para tentar resolver este cruzamento como um subproblema e encontrar uma população dita perfeita. Os teste foram comparados com dados utilizados em uma empresa de Portugal e um método de programação linear proposto por Beasley (1987). Um Algoritmo Genético Híbrido para resolver o problema de programação da tripulação foi proposto por Li and Kwan (2003). Em sua abordagem os testes foram realizados tanto com instâncias de problemas de ônibus urbano quanto de linhas de trem, com dados reais de empresas inglesas. Uma heurística gulosa é utilizada para construir uma escala, onde as jornadas são selecionados sequencialmente de um conjunto grande de potenciais jornadas viáveis geradas previamente. As jornadas individuais e a escala devem ser avaliadas como um único processo. A teoria do conjunto fuzzy é aplicada sobre tais avaliações. Para jornadas individuais a sua viabilidade é avaliada por critérios identificados a partir do conhecimento prático do problema. O Algoritmo Genético é usado para gerar uma distribuição de pesos quase ótimos entre os critérios, onde uma avaliação ponderada de um único valor pode ser computada para cada jornada. A programação construída a partir da distribuição dos pesos gerados é avaliada pela função de aptidão do Algoritmo Genético. Para essa função, são utilizados os objetivos de minimizar jornadas e minimizar o custo total formulados como uma meta fuzzy. Este apresentou um algoritmo inédito baseado na teoria dos conjuntos fuzzy para resolver o Problema de Programação da Tripulação. A partir dos resultados apresentados o algoritmo proposto consegue resolver problemas de tamanho reais. Uma utilização da metaheurística Busca Tabu para resolver o PPT da realidade brasileira foi apresentada em Marinho et al. (2004). Nesta implementação foram utilizadas duas estruturada de vizinhança, uma de realocação e outra de troca de tarefas entre jornadas. Esta mesma estrutura foi adotada no presente trabalho. A Lista Tabu tem como finalidade evitar que a heurística entre em um ciclo durante a busca do melhor vizinho. A lista é utilizada para armazenar as últimas soluções avaliadas, de modo a não permitir que o método volte para uma solução anteriormente avaliada. Três implementação da Busca Tabu foram abordadas no trabalho: a Busca Tabu com o primeiro vizinho de melhora em uma porcentagem da vizinhança; a Busca Tabu com o melhor vizinho em uma vizinhança variável e a Busca Tabu com o primeiro vizinho de melhora em uma porcentagem da vizinhança com diversificação, onde após executar um certo número de iterações sem encontrar uma solução viável, o procedimento é reiniciado. Os testes realizados com os três tipos de busca obtiveram resultados relevantes ao serem comparados com outra heurística abordada na literatura e com dados de um empresa.

28 Revisão Bibliográfica 11 Em Silva and da Cunha (2010) o PPT é resolvido pela combinação da metaheurística GRASP (Greedy Randomized Adaptive Search Procedure) com o método de busca em vizinhança 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ável e com bom resultados, devido a possibilidade de explorar vizinhanças com um número muito grande de soluções adjacentes. Os resultados apresentados referem-se à resolução de problemas reais de uma empresa de Belo Horizonte-MG. Para todos os testes realizados, a abordagem utilizada consegue melhorias significativas na programação da tripulação em relação à solução adotada pela empresa. Gonçalves (2010) propõe um estudo comparativo entre as metaheurísticas Busca Tabu e Iterated Local Search (ILS) e uma metodologia exata de programação matemática. Para a utilização das metaheurísticas foi necessário a geração de uma solução inicial, onde esta foi gerada de forma sequencial. A cada iteração, uma tarefa é escolhida sequencialmente e alocada à jornada existente, desde que a jornada permaneça viável. Como estrutura de vizinhança foram utilizados os movimentos de troca e realocação de tarefas, os mesmo utilizados no presente trabalho. Na Buca Tabu, a lista tabu é definida como uma fila circular, onde os vizinhos mais antigos são eliminados à medida em que os novos são adicionados e a fila está cheia. A metaheurística ILS é combinada com a metaheurística Variable Neighborhood Descent (VND), onde o VND é utilizado como método de busca local do ILS. Na utilização do ILS um processo de pertubação é apresentado, onde sucessivos movimentos aleatórios baseados na estrutura de vizinhança são empregados. Como critério de aceitação, uma nova solução é aceita se ela for melhor do que a melhor solução encontrada. Para as metaheurísticas a função de avaliação proposta leva em consideração soluções viáveis e inviáveis. As soluções inviáveis são penalizadas de forma a privilegiar a eliminação destas da solução final. A metodologia exata proposta utiliza a abordagem de geração de colunas onde as colunas são geradas a partir de Enumeração Exaustiva. No modelo exato só são aceitas soluções que atendam todas as restrições, ou seja soluções viáveis. Os resultados apresentados mostram que os métodos propostos obtêm soluções muito próximas e provou-se otimalidade em 93, 75% dos casos de teste considerados. No trabalho de Reis and Silva (2011) é apresentada a utilização da metaheurística VNS (Variable Neighborhood Search) combinada com dois métodos de busca distintos, o método clássico VND (Variable Neighborhood Descent) e o método de busca em vizinhança de grande porte VLNS (Very Large-scale Neighborhood Search). A metaheurística VNS é iniciada com uma solução factível (solução corrente) e um conjunto

29 12 Revisão Bibliográfica de estruturas de vizinhança é definido sequencialmente. Com a primeira estrutura de vizinhança, é gerado um vizinho da solução corrente. Em seguida é realizada uma busca local a partir deste vizinho. Se ao final da busca local for encontrado um valor melhor do que o da solução corrente então a solução é atualizada e o procedimento se repete considerando a estrutura de vizinhança inicial. Caso o valor da solução encontrada na busca local seja pior do que o valor atual, um novo vizinho é gerado considerando a próxima estrutura de vizinhança, e o procedimento de busca local é novamente realizado. O procedimento se repete até que a condição de parada seja atingida. Como procedimento de busca local foram utilizados o VND e o VLNS. Ambas as implementações foram testadas considerando que as tripulações podem realizar no máximo uma troca e duas trocas de veículos durante a jornada. Os custos para jornadas do tipo dupla pegada também foram variados na realização dos testes, assumindo os valores de 500 e Os mesmos pesos também foram utilizados no presente trabalho. Ambos os métodos 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ão utilizados como base de comparação para os métodos propostos neste trabalho. 2.3 Métodos Híbridos para resolver o PPT Uma abordagem híbrida é apresentada em Yunes et al. (2005) para resolver tanto o problema de programação da tripulação como o problema de rodízio das tripulações. Os autores utilizam as seguintes técnicas para resolver os problemas: programação inteira, programação por restrição e geração de colunas, utilizando a abordagem de caminho mínimo com restrição em um grafo acíclico dirigido. Este subproblema é resolvido com um algoritmo de programação dinâmica. Devido ao tamanho das instâncias abordadas, a utilização destas técnicas, de forma única, se torna inviável. Logo, a combinação entre elas é considerada para resolver instâncias de grande porte. Para resolver o PPT, inicialmente foi utilizada a técnica de relaxação linear para encontrar bons limites inferiores. Esses limites são utilizados na geração de colunas com o objetivo de gerar novas jornadas viáveis com custo reduzido negativo. Ao encontrar um novo conjunto de jornadas o problema de escalonamento é resolvido por programação linear. Este processo é repetido até que uma condição de parada seja alcançada ou o processo de geração de colunas não encontre nenhuma jornada com custo reduzido negativo. Neste último caso, a otimalidade da solução está provada. Os resultados apresentados mostram que foi possível encontrar a otimalidade em um tempo razoável com instâncias de até 100

30 Revisão Bibliográfica 13 viagens. Mauri and Lorena (2007) apresentam um método híbrido utilizando algoritmo de treinamento populacional e programação linear para gerar os horários dos motoristas em um sistema de transporte público. O método utiliza o modelo clássico de particionamento, onde os custos que compõem a função objetivo levam em consideração 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ários tamanhos de vizinhança, gerando assim um grande número de jornadas de modo a cobrir todas as tarefas. Em seguida é utilizado um modelo de programação linear para reduzir os custos das jornadas de modo que todas as tarefas sejam realizadas. De acordo com os autores os resultados apresentados são considerados bons e em tempo de execução razoável se comparado com Simulated Annealing apresentados em Mauri and Souza (2003). No trabalho de Gonçalves et al. (2008) é proposta uma metodologia para resolver o PPT utilizando a metaheurística Busca Tabu combinada com Programação Matemática. Nesta implementação uma solução inicial é gerada utilizando um algoritmo guloso, de modo a criar jornadas que operem sempre com os mesmos veículos. Após essa fase, é definida uma estrutura de vizinhança onde o conjunto de vizinhos são jornadas que possam ter suas tarefas realocadas ou trocadas entre elas. Após a geração da vizinhança, com tamanho predeterminado, a Busca Tabu é executada para melhorar a solução atual. Se esta melhora não acontecer em um número predeterminado de iterações um procedimento remove algumas tarefas alocadas de modo a gerar um subproblema que é resolvido de forma exata. As tarefas são removidas das jornadas que possuem os maiores tempos de trabalho. Os resultados apresentados mostram que o método híbrido consegue reduzir os custos das horas extras consideravelmente quando comparando com outros métodos que utilizam somente a abordagem heurística.

31 Capítulo 3 Problema de Programação da Tripulação de Ônibus Urbano Neste trabalho é abordado o Problema de Programação das Tripulações de Ônibus Urbano (PPT), também conhecido na literatura como Crew Scheduling Problem. O PPT tem como dados de entrada a solução do Problema de Programação dos Veículos, que corresponde ao sequenciamento das viagens a serem realizadas por cada ônibus em operação, de uma empresa, num determinado dia da semana. Cada viagem a ser realizada apresenta um horário de início e de fim, além do seu ponto inicial e ponto final. O conjunto de todas as viagens realizadas por um veículo constitui seu bloco de viagens. Desta forma é possível prever o horário 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ção. As viagens de cada veículo são agrupadas em tarefas. Uma tarefa é a sequência de viagens consecutivas que deve ser executada por um único condutor, uma vez que entre estas viagens não existe tempo suficiente para que ocorra a troca da tripulação. Cada jornada corresponde a um conjunto de tarefas que serão realizadas por uma tripulação ao longo de um dia. As jornadas são formadas a partir da atribuição das tarefas, a composição destas jornadas devem respeitar o pontos de trocas, a utilização dos veículos, o tempo máximo de trabalho,entre outros. Desta forma, podemos identificar uma jornada como uma tripulação e vice-versa, pois cada tripulante receberá uma jornada a ser realizada durante um dia útil de trabalho. As jornadas também devem respeitar as restrições impostas pela empresa, pelas leis trabalhistas e convenções coletivas. No problema abordado, são considerados dois tipos de jornadas. A dupla pegada 14

32 Problema de Programação da Tripulação de Ônibus Urbano 15 é uma jornada caracterizada por um conjunto de tarefas que têm um intervalo, entre duas tarefas, maior ou igual a um valor estipulado, no caso de duas horas. Este tipo de jornada é utilizado para a condução dos veículos que só operam durante os horários de pico, o que ocorre principalmente no início da manhã e no final da tarde. O intervalo entre os dois pedaços de jornada não é contabilizado como hora trabalhada. Em uma jornada do tipo pegada simples os intervalos entre as tarefas são menores do que o valor estipulado para a dupla pegada. Independentemente do tipo de jornada, as horas extras correspondem ao tempo trabalhado além do tempo normal, que no caso é de seis horas e quarenta minutos. Por outro lado, se uma jornada durar menos do que o tempo normal de trabalho, então a diferença entre o tempo normal de trabalho e a duração da jornada é o tempo ocioso ou a ociosidade da jornada. A resolução do PPT tem como objetivo atribuir as tarefas às tripulações de modo que cada tarefa seja realizada por uma única tripulação, as restrições do problema sejam atendidas e que o custo total composto pelo número de tripulações e a quantidade de horas extras seja minimizado. Além das restrições mencionadas, as jornadas devem obedecer as restrições impostas pelas empresas, as leis trabalhistas e os acordos contidos nas convenções coletivas de trabalho. Entre essas regras podem se citadas: a carga horária máxima de trabalho de cada tripulante, o tempo mínimo de descanso de cada tripulação, o tempo mínimo para a realização da troca da tripulação, a possibilidade de troca de veículos durante a jornada, entre outras. Nas subseções seguintes são apresentadas as restrições consideradas neste trabalho e uma abordagem matemática clássica de particionamento de conjuntos normalmente utilizada para resolver o problema. 3.1 Restrições do Problema Para a construção das jornadas de trabalho foram levadas em consideração as seguintes restrições operacionais e trabalhistas: Sobreposição: Dada duas tarefas, i e j realizadas consecutivamente por uma mesma tripulação, então o horário de início do tarefa j deve ser posterior ao final da tarefa i;

33 16 Problema de Programação da Tripulação de Ônibus Urbano Hora Extra: A duração de uma jornada deve conter no máximo 2 horas a mais da duração de trabalho regular, sendo este tempo de excesso contabilizado como hora extra; Intervalo de Descanso: Cada tripulação tem direito a no mínimo 30 minutos particionado ou não de folga (descanso, almoço, etc.). Esse tempo não é aplicado quando a jornada for do tipo dupla pegada; Troca de Terminal: Dada duas tarefas, i e j realizadas consecutivamente por uma tripulação, então o ponto final da tarefa i deve ser igual ao ponto inicial da tarefa j. Para as jornadas do tipo dupla pegada esta troca é permitida se o intervalo de tempo entre o término da tarefa i e o início da tarefa j for superior a 2 horas; Intervalo de Descanso Diário: Considerando que uma jornada pode ser executada pela mesma tripulação em dias consecutivos, então 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 empresariais, pode ter como restrição um número limitado de troca de veículos; Minimização de Hora Extra: O tempo excedente da hora de trabalho normal será contabilizado em horas extras e o mesmo deve ser minimizado; Minimização do Número de Duplas Pegadas: Deve ser minimizado o número de jornadas do tipo dupla pegada o tanto quanto possível; Número de Jornadas: A quantidade de jornadas de trabalho deve ser mínimo, cobrindo todas as tarefas as diárias; Tempo Ocioso: Deve ser minimizado, tanto quanto possível, o tempo total ocioso das tripulações;

34 Capítulo 4 Métodos Propostos Neste capítulo são apresentados os métodos utilizados para a resolução do PPT. A resolução 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ções consideradas para o problema (3.1). Inicialmente é apresentado o Modelo de Programação Inteira proposto neste trabalho, o qual modela o problema por meio de uma série de restrições lineares. Posteriormente é apresentado como a metaheurística LAHC foi implementada para resolver o problema, e finalmente segue a descrição da implementação da Matheurística que combina a LAHC com o modelo exato. Para tanto, a seguir são descritas as estruturas utilizadas para representar os principais elementos que compõem uma solução do PPT. 4.1 Estruturas para a Representação do Problema Tarefa Identificador Horário de Início Horário de Fim Terminal de Início Terminal de Fim Número do Veículo Tabela 4.1: Estrutura de uma tarefa A Tabela 4.1 apresenta os dados de cada tarefa a ser alocada. O campo Identificador 17

35 18 Métodos Propostos recebe um inteiro que identifica unicamente cada tarefa. Os campos Horário de Início e Horário de Fim correspondem ao instante estimado em que a tarefa se inicia e se encerra, respectivamente. No campo Terminal de Início é atribuído um número inteiro para identificar o terminal onde a tarefa se inicia, e no campo Terminal de Fim um número inteiro para identificar o terminal onde a tarefa se encerra. O campo Veículo recebe um número inteiro que identifica qual veículo realiza a tarefa. Estes campos são as características relevantes de uma tarefa para a resolução do PPT. Jornada Identificador Horário de Início Horário de Fim Horas Extras Horas Ociosas Dupla Pegada Troca de Veículos Lista das Tarefas Tabela 4.2: Estrutura de uma jornada Na Tabela 4.2 é apresentada a estrutura de uma jornada, sendo que para cada jornada é atribuído um número inteiro único ao campo Identificador. Os campos Horário de Início e Horário de Fim recebem o instante estimado em que a jornada se inicia e instante que ele termina, respectivamente. No campo Horas Ociosas é atribuída a soma do tempo de Ociosidade Interna e Ociosidade Externa. Onde a ociosidade interna é a soma das ociosidade entre duas tarefas consecutivas. A ociosidade externa contém a ociosidade que ocorre quando uma jornada tem duração inferior ao tempo normal de trabalho. Portanto, a ociosidade externa é igual ao tempo normal de trabalho menos a duração da jornada. No campo Hora Extra é atribuído o valor do tempo de trabalho superior ao tempo normal de trabalho, ou seja, a duração da jornada menos o tempo normal de trabalho, quando houver. No campo Dupla Pegada é indicado se a jornada é do tipo dupla pegada ou não. A Troca de Veículos corresponde ao número de vezes que a tripulação deve trocar de veículo durante a jornada. O conjunto das tarefas a serem realizadas na jornada é armazenado na Lista de Tarefas.

36 Métodos Propostos Modelo Matemático Proposto Nesta seção é apresentado o modelo matemático proposto para a resolução do Problema de Programação da Tripulação. Este modelo, ainda inédito na literatura, difere dos demais pelo fato de que as jornadas são geradas a partir das tarefas a serem alocadas. Nos modelos matemáticos apresentados na literatura, a solução do problema é alcançada selecionando as melhores jornadas dentro de um conjunto de jornadas previamente geradas, sendo que as jornadas selecionadas devem cobrir todas as tarefas. No método proposto neste trabalho, as jornadas são geradas durante a resolução do modelo, a partir do conjunto de tarefas a ser designado e o conjunto de restrições que devem ser atendidas. Desta forma não é necessário 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 A modelagem é apresentada nas subseções a 4.2.4, onde são descritos os parâmetros e conjuntos utilizados, as variáveis de decisão, as restrições e as duas funções objetivo consideradas Parâmetros e Conjuntos Seja qt o parâmetro de entrada que corresponde à quantidade de tarefas do problema, logo tem-se o conjunto de tarefas T, onde T = qt. O parâmetro qj se refere ao número máximo de jornadas na solução, que gera o conjunto de possíveis jornadas J, com J qj. O número máximo de tarefas alocadas a uma jornada é dado pelo valor Max T ar. Uma constante suficientemente grande M (Big M ) é utilizada na modelagem de algumas restrições. Os parâmetros T emp Max J e T emp Max HE correspondem respectivamente à duração máxima de uma jornada de trabalho e ao tempo máximo de horas extras que uma jornada pode conter. Os parâmetros Custo J, Custo HE, Custo OC e Custo DP representam o custo fixo de uma jornada e os custos variávies devido às horas extras, ao tempo ocioso e ao fato da jornada ser do tipo dupla pegada, respectivamente. Quant M ax DP e Quant M ax T V são parâmetros que correspondem à quantidade máxima de duplas pegadas contidas na solução e de trocas de veículos realizadas em cada jornada. O parâmetro Inter Min DP é o tempo de intervalo mínimo entre duas tarefas que caracterizam uma jornada do tipo dupla pegada, e Inter Min T corresponde ao tempo mínimo de descanso/alimentação da tripulação durante a realização da jornada. Este tempo só é necessário para jornadas do tipo pegada simples.

37 20 Métodos Propostos Vale ressaltar que os parâmetros acima são valores inteiros e positivos. Para cada tarefa t T, temos st t o horário de início da tarefa, et t o horário de término, sl t o terminal de saída, el t o terminal de chegada e vc t o veículo que realiza a tarefa. Dadas duas tarefas t 1 e t 2 T, P os T V t1 t 2 identifica se entre as duas tarefas existe a possibilidade da tripulação realizar a troca entre os respectivos veículos, ou seja, P os T V t1 t 2 = 1 se vc t1 vc t2, el t1 = sl t2 e st t2 et t1 > 0, caso contrário P os T V t1 t 2 = 0. E P os DP t1 t 2 identifica se entre as duas tarefas existe um intervalo que possibilita a ocorrência de uma jornada do tipo dupla pegada. Desta forma P os DP t1 t 2 = 1 se st t2 et t1 > Inter Min DP, caso contrário P os DP t1 t 2 = Variáveis de Decisão Para modelar o PPT, além das variáveis de alocação das tarefas às jornadas, são necessárias algumas variáveis auxiliares para que sejam geradas soluções viáveis para o problema. As soluções viáveis devem satisfazer ao conjunto das restrições implementas que serão apresentadas nas próximas subseções. Tais restrições matemáticas são utilizadas para modelar as regras impostas para que uma jornada de trabalho seja viável. Seja j J,onde J é aproximadamente 30% do total de tarefas, t T e p P, P = 8, onde J, T e P são os conjuntos de jornadas, tarefas e posições (corresponde a ordem que cada tarefa esta alocada, onde para cada jornada, uma tarefa será alocada a uma posição, sempre em ordem crescente) das tarefas nas jornadas respectivamente, então a variável binária x jtp assume valor 1 se a tarefa t for alocada à jornada j na posição p. Vale ressaltar que esta é a variável que apresentará a solução do problema. A variável y j é utilizada para identificar se a jornada j tem alguma tarefa alocada a ela, recebendo o valor 1, caso contrário seu valor será 0. A variável ini j receberá o valor do horário de início da jornada j, fim j receberá o valor do horário de término da jornada j e OC int j terá o valor do tempo total de ociosidade interna, ou seja, a soma dos intervalos ociosos entre as tarefas atribuídas à jornada j. A variável auxiliar OC ext j receberá o tempo de ociosidade externa quando houver, que é dado pelo intervalo que falta para concluir a carga horária normal de uma jornada de trabalho, e Qnt HE j receberá a quantidade de horas extras da jornada, quando houver. Considerando j J, t 1, t 2 T e p 1, p 2 P, então a variável T roca V jt1 t 2 p 1 p 2 tem como objetivo verificar se existe uma troca de veículo entre as tarefas t 1 e t 2 localizadas nas posições p 1 e p 2 da jornada j. As variáveis DP jt1 t 2 p 1 p 2 e Dupla j são utilizadas,

38 Métodos Propostos 21 respectivamente, para verificar as posições e marcar se uma jornada é do tipo dupla pegada ou não. A variável Desc DP j contém a amplitude do intervalo não remunerado para as jornadas do tipo dupla pegada. Esse valor é descontado da remuneração da jornada Função Objetivo Duas funções objetivo são propostas neste trabalho, sendo que a primeira, dada pela expressão (4.1), minimiza o número de duplas pegadas e não utilizando a restrição (4.15) para limitar o número máximo de jornadas do tipo dupla pegada. A segunda função objetivo, expressa em (4.2), não minimiza o número de duplas pegadas, porém limita o número de jornadas deste tipo considerando a restrição (4.15). Ambas são apresentadas abaixo e foram testadas separadamente. fo 1 = j J (Custo J y j + Custo OC (OC ext j + OC int j ) +Custo HE Qnt HE j + Custo DP Dupla j ) (4.1) fo 2 = j J (Custo J y j + Custo OC (OC ext j + OC int j ) +Custo HE Qnt HE j ) (4.2) Nas expressões (4.1) e (4.2) o Custo J se refere ao custo fixo de cada jornada, Custo OC é o custo de cada hora ociosa, Custo HE é o custo de cada hora extra e Custo DP é o custo associado a cada jornada do tipo dupla pegada, quando esta componente fizer parte da função objetivo. Desta forma são minimizados os custos fixos, as horas extras, as horas ociosas e as duplas pegadas, quando considerada, de uma solução Conjunto de Restrições As restrições foram consideradas e implementadas de acordo com as características descritas anteriormente para o PPT estudado. Devido ao grande número de restrições, estas são apresentadas em blocos, respeitando suas similaridades.

39 22 Métodos Propostos x jtp 1, j J, p P (4.3) t T j J,p P x jtp = 1, t T (4.4) x jt2 p, j J, p P {1} (4.5) x jt1 (p+1) t 1 T t 2 T y j x jtp, j J, t T, p P (4.6) A restrição (4.3) garante que em cada posição de cada jornada só sera alocada uma única tarefa; (4.4) garante que cada tarefa seja alocada somente a uma jornada. A restrição (4.5) garante que as tarefas sejam alocadas às jornadas em posições contíguas, salvo a primeira posição. A restrição (4.6) verifica se a jornada esta sendo utilizada ou não, fazendo com que o valor da variável y j assuma o valor 1 se alguma tarefa for alocada à jornada j, e 0 caso contrário. As cinco restrições apresentadas estão relacionadas à alocação das tarefas, garantindo assim que estas sejam designadas de forma coerente, gerando soluções factíveis e que cobrem todas as tarefas informadas. ini j = t T st t x jt1, j J (4.7) fim j et t M(1 x jtp ), j J, t T, p P (4.8) P os DP t1 t 2 + x jt1 p (4.9) +x jt2 (p+1) DP jt1 t 2 p(p+1) 2, j J, t 1, t 2 T, p P 1 DP jt1 t 2 p(p+1) x jt1 p, j J, t 1, t 2 T, p P 1, t 2 > t 1 (4.10) DP jt1 t 2 p(p+1) x jt2 (p+1), j J, t 1, t 2 T, p P 1, t 2 > t 1 (4.11)

40 Métodos Propostos 23 DP jt1 t 2 p(p+1) = 0, j J, t 1, t 2 T, p P 1, P os DP t1 t 2 = 0 (4.12) DP jt1 t 2 p(p+1) 1, j J (4.13) t 1,t 2 T,p P 1 Dupla j = DP jt1 t 2 p(p+1), j J (4.14) t 1,t 2 T,p P 1 Dupla j Qnt Max DP (4.15) j J Desc DP j = DP jt1 t 2 p(p+1) (st t2 et t1 ), j J (4.16) t 1,t 2 T,p P 1 fim j ini j Desc DP j T emp Max J + T emp Max HE, j J (4.17) fim j ini j 780, j J (4.18) As restrições (4.7) e (4.8) são responsáveis por atribuir os valores de ini j, início da jornada e fim j, fim da jornada, para cada jornada j. Estas informações são utilizados nas outras restrições para garantir a consistência temporal das soluções. As restrições apresentadas de (4.9) a (4.16) são utilizadas para identificar e calcular o intervalo das jornadas do tipo dupla pegada, sendo que em (4.9) é verificado se duas tarefas são executadas em ordem consecutiva, e se entre elas ocorre uma dupla pegada. Em caso afirmativo, a variável DP jt1 t 2 p(p+1) recebe o valor 1, indicando assim que naquela jornada haverá dupla pegada entre as tarefas t 1 e t 2, que se localizam entre as posições p e p + 1. As restrições (4.10) e (4.11) garantem que a variável DP receba valor um se as duas tarefas t 1 e t 2 foram alocadas àquela jornada. O conjunto de restrições em (4.12) garante que se duas tarefas t 1 e t 2 não forem candidatas a dupla pegada então a variável DP jt1 t 2 p(p+1) nunca receberá valor 1 para estas tarefas. As restrições em (4.13) garantem que cada jornada pode ter no máximo um intervalo de tempo do tipo dupla pegada. As restrições em (4.14) verificam se existe dupla pegada em uma jornada, atribuindo o valor 1 à variável Dupla j e 0 caso contrário. Em (4.15) é limitado o número total de duplas pegadas pelo parâmetro Qnt Max DP, e em (4.16) é atribuído, como desconto de tempo, o valor do intervalo da dupla pegada à variável Desc DP j para que possa ser descontado no cálculo da remuneração da jornada. As restrições em (4.17) garantem que nenhuma jornada pode ultrapassar o tempo máximo de trabalho acrescido das horas extras. Em (4.18) é garantido que o tempo entre o final da jornada e seu início no dia seguinte seja superior a 11 horas. As tarefas que são terminadas em um dia posterior, é considerado o tempo posterior o dia na constagem das horas de descanso diário.

41 24 Métodos Propostos OC ext j y j T emp Max J (fim j ini j Desc DP j ), j J (4.19) OC int j (fim j ini j Desc DP j ) (et t st t )x jtp, j J (4.20) t T,p P OC int j (1 Dupla j ) Inter Min T, j J (4.21) Qnt HE j (fim j ini j Desc DP j ) T emp Max J, j J (4.22) As restrições (4.19) e (4.20) calculam a ociosidade externa e interna de uma jornada. O intervalo de descanso da tripulação durante a realização das tarefas é garantido pela restrição (4.21). O cálculo da quantidade de horas extras é realizado em (4.22). x jt1 p + x jt2 (p+1) 1, j J, t 1, t 2 T, p P {1} (4.23) x jt1 p + x jt2 (p+1) (4.24) DP jt1 t 2 p(p+1) 1, j J, t 1, t 2 T, p P {1}, sl t2 el t1 x jt1 p + x jt2 (p+1) (4.25) T V jt1 t 2 p(p+1) 1, j J, t 1, t 2 T, p P {1}, P os T V t1 t 2 T V jt1 t 2 p(p+1) x jt1 p, j J, t 1, t 2 T, p P {1}, t 2 > t 1 (4.26) T V jt1 t 2 p(p+1) x jt2 (p+1), j J, t 1, t 2 T, p P {1}, t 2 > t 1 (4.27) T V jt1 t 2 p(p+1) Qnt Max T V, j J (4.28) t 1,t 2 T,p P 1 A (4.23) é responsável 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ção (4.24). As restrições (4.25), (4.26), (4.27) e (4.28) são responsáveis por garantir as regras de possíveis trocas de veículos. Este modelo tem como característica um grande número de restrições pois é por meio delas que as soluções são montadas de acordo com as características desejadas. Portanto, quanto maior for o problema a ser resolvido, maior será o número de restrições e variáveis, tornando assim ineficiente computacionalmente para problemas práticos de grande porte. Para superar esta limitação foi considerada a implementação de uma metaheurística e sua combinação com o modelo proposto acima.

42 Métodos Propostos A Metaheurística LAHC A metaheurística Late Acceptance Hill Climbing-LAHC, proposta por Burke and Bykov (2008), trata-se de uma adequação do método Hill Climbing Clássico (Russell and Norvig 2002). Segundo Burke and Bykov (2012), essa metaheurística foi criada tendo em mente três objetivos: ser um procedimento de busca local que não exige um processo de resfriamento artificial, como acontece no Simulated Annealing; usar eficientemente a informação coletada durante iterações anteriores da busca, e; aplicar um novo mecanismo simplificado de aceitação de soluções candidatas. O objetivo desta metaheurística é comparar o valor da função objetivo (fitness) de uma solução candidata com o fitness de uma solução armazenada em uma lista de soluções encontradas em iterações anteriores. Desta forma, a solução não é comparada necessariamente com a melhor solução conhecida, mas com uma solução que foi armazenada em uma certa posição da lista em uma determinada iteração anterior. Vale ressaltar que existe a possibilidade de uma solução candidata ser aceita mesmo não sendo a melhor solução encontrada até a sua iteração. Isto pode ocorrer uma vez que a comparação não é feita com a melhor solução conhecida, e sim com a solução armazenada numa determinada posição da lista. Esta metaheurística tem como único parâmetro o tamanho da lista onde serão armazenados os valores de função objetivo de diferentes soluções encontradas. Esta lista, denotada por f, tem comprimento Lfa. Seja a lista f = {f 1, f 2,..., f Lfa }, onde, inicialmente, todas as suas posições são preenchidas com o custo da solução inicial C(s), ou seja, f k C(s), k {1, 2,..., Lfa}. A cada iteração i, uma solução candidata s é gerada na vizinhança de s. Uma solução candidata é aceita se o seu fitness for melhor ou igual ao fitness armazenado na posição v da lista f, onde v = i mod Lfa. Em caso afirmativo, a posição v da lista f é atualizada: f v f(s ). Além disso, se essa solução for melhor do que a melhor solução encontrada s, s é atualizada, ou seja, s s. Esse procedimento continua até que a condição de parada seja alcançada. Como pode ser visto no Algoritmo 4.1, o LAHC é de fácil implementação, porém algumas fases do algoritmo são de fundamental importância para o bom desempenho do mesmo. Estas fases são apresentadas nas próximas seções.

43 26 Métodos Propostos Algoritmo 4.1: Implementação do LAHC para um problema de minimização Entrada: Solução inicial s e o parâmetro Lfa. Saída: Melhor solução s encontrada. f k C(s) k {1, 2,..., Lfa}; s s; i 0; enquanto Condição de parada não atendida faça Gere um candidato s na vizinhança de s; v i mod Lfa; se f(s ) f v então s s ; se f(s) < f(s ) então s s; f v f(s); i i + 1; retorna s ; Função Objetivo Como função objetivo da metaheurística LAHC, foi utilizada a mesma função objetivo apresentada em que minimiza o número de duplas pegadas. Esta é apresentada abaixo. fo lahc = j J (Custo J y j + Custo OC (OC ext j + OC int j )+ Custo HE Qnt HE j + Custo DP Dupla j ) (4.29) Na expressão (4.29) o Custo J se refere ao custo fixo de cada jornada, Custo OC é o custo de cada hora ociosa, Custo HE é o custo de cada hora extra e Custo DP é o custo associado a cada jornada do tipo dupla pegada. Desta forma são minimizados os custos fixos, as horas extras, as horas ociosas e as duplas pegadas Geração da Solução Inicial Conforme exposto na seção 4.3, um fase importante da metaheurística LAHC é a geração da solução inicial. Para se obter uma solução inicial, foi utilizado um método construtivo

44 Métodos Propostos 27 guloso, onde o critério adotado é a ordem das tarefas, estas ordenadas a partir do tempo de inicio. Os dados de entrada, ou seja, as tarefas a serem programadas, são armazenadas na ordem crescente de seus horários de início, e em caso de empate, pelo horário de fim. A construção da solução é iniciada com uma jornada vazia, dita jornada corrente. A primeira tarefa k ainda não alocada é inserida nessa jornada. A partir de então, enquanto for possível, são inseridas as próximas tarefas ainda não alocadas, que pertencem ao mesmo veículo da tarefa k e que não geram inviabilidade na jornada corrente. Quando não for possível inserir qualquer tarefa na jornada corrente, uma nova jornada vazia é inicializada e o processo se repete até que todas as tarefas tenham sido alocadas a alguma jornada Estrutura de Vizinhança Realoca-Troca Os dois tipos de movimentos que caracterizam a estrutura de vizinhança adotada foram a realocação ou a troca de uma tarefa entre duas jornadas, sem gerar inviabilidade. Estes movimentos são realizados para encontrar um vizinho de uma solução corrente. Exemplificando, considere duas jornadas i e j, escolhidas aleatoriamente. Então é sorteada uma tarefa a ser retirada da jornada i e introduzida na jornada j. Logo, pode ocorrer uma das seguintes situações: 1. A tarefa retirada de i pode ser introduzida em j sem a necessidade de remover qualquer tarefa da jornada j. Neste caso é realizado um movimento de realocação, e a nova solução será avaliada. 2. A introdução da tarefa em j exige a retirada de uma ou mais tarefas desta jornada. Neste caso, se a(s) tarefa(s) removida(s) de j puder(em) ser inserida(s) na jornada i, sem haver qualquer sobreposição com as tarefas remanescentes em i, então o movimento é aceito, caso contrário ele é descartado. Este é um movimento de troca. Em ambos os casos, as modificações são aceitas se e somente se as jornadas resultantes respeitarem todas as restrições do problema. Uma representação gráfica do movimento é apresentada na figura 4.1.

45 28 Métodos Propostos Figura 4.1: Movimentos de realocação e troca de uma tarefa da jornada j para a jornada k 4.4 Matheurística A utilização de métodos exatos em conjuntos com as heurísticas vem sendo uma crescente tendência em otimização. Este processo de hibridização de métodos é também conhecido como Matheurística (Maniezzo et al. 2009). Os modelos apresentados nas seções 4.2 e 4.3 fazem parte da abordagem do tipo Matheurística proposta neste trabalho para a resolução do PPT. A Matheurística desenvolvida neste trabalho parte de uma solução viável gerada pela metaheurística LAHC e particiona os componentes da solução em subconjuntos menores de tal forma que gera subproblemas de dimensões menores do que o probema original. Assim, cada partição está associada a um problema menor e apresenta uma solução inicial, a qual pode ser melhorada utilizando o modelo exato. Devido ao tamanho reduzido dos subproblemas, é possível encontrar a solução ótima para cada partição. Neste trabalho, a solução otimizada inicial é produzida a partir da execução da metaheurística LAHC apresentada na seção 4.3. Esta solução é particionada em problemas com no máximo seis jornadas de trabalho. O procedimento adotado para realizar o par-

46 Métodos Propostos 29 ticionamento da solução é apresentado com maiores detalhes na próxima seção. Após o particionamento, cada partição ou subproblema é resolvido pelo modelo exato descrito na seção 4.2, onde tenta-se melhorar a solução inicial para cada partição ou demonstrar a sua otimilidade. Na Figura 4.2 é apresentado um diagrama com os métodos que compõe a abordagem proposta neste trabalho. Figura 4.2: Representação da Matheurística implementada para o Problema de Programação da Tripulação Particionamento da Solução A seguir é apresentado o procedimento adotado para realizar o particionamento da solução em subproblemas, de tal forma que seja possível empregar o modelo exato e obter a solução ótima. Para escolher as jornadas pertencentes a cada partição foram utilizadas como atributos a quantidade de horas extras, quantidade de horas ociosas e os veículos utilizados nas jornadas envolvidas. Para cada partição do problema, foram selecionadas no máximo seis jornadas. Uma primeira partição vazia é criada, e esta partição recebe a jornada com maior número de horas extras e que ainda não foi incluída em nenhuma partição. Em seguida, é verificado qual é o veículo utilizado na primeira tarefa da jornada inserida. Assim, será inserida na partição a jornada com o maior número de horas ociosas que inicie com o mesmo

UM MODELO EXATO PARA RESOLVER O PROBLEMA DA ESCALA DE MOTORISTAS DE ÔNIBUS URBANO

UM MODELO EXATO PARA RESOLVER O PROBLEMA DA ESCALA DE MOTORISTAS DE ÔNIBUS URBANO UM MODELO EXATO PARA RESOLVER O PROBLEMA DA ESCALA DE MOTORISTAS DE ÔNIBUS URBANO Danilo S. Souza Universidade Federal de Ouro Preto Departamento de Computação ICEB danilo.gdc@gmail.com Gustavo P. Silva

Leia mais

METAHEURÍSTICA VARIABLE NEIGHBORHOOD SEARCH NA OTIMIZAÇÃO DE ESCALAS DE MOTORISTAS DE TRANSPORTE PÚBLICO URBANO

METAHEURÍSTICA VARIABLE NEIGHBORHOOD SEARCH NA OTIMIZAÇÃO DE ESCALAS DE MOTORISTAS DE TRANSPORTE PÚBLICO URBANO METAHEURÍSTICA VARIABLE NEIGHBORHOOD SEARCH NA OTIMIZAÇÃO DE ESCALAS DE MOTORISTAS DE TRANSPORTE PÚBLICO URBANO Eduardo Luis Festa (UFSC) eduardoluisfesta@gmail.com Christiane Wenck Nogueira fernandes

Leia mais

Solução Parcial Para o Problema do Rodízio de de Tripulação

Solução Parcial Para o Problema do Rodízio de de Tripulação Solução Parcial Para o Problema do Rodízio de de Tripulação Suelaine Andrade Orientador: Gustavo Peixoto Departamento de Computação UFOP 07 de Junho de 2011 1 Sumário Inrodução Planejamento do Transporte

Leia mais

Gustavo Peixoto Silva Universidade Federal de Ouro Preto Campus Morro do Cruzeiro Bauxita, Ouro Preto - MG.

Gustavo Peixoto Silva Universidade Federal de Ouro Preto Campus Morro do Cruzeiro Bauxita, Ouro Preto - MG. META-HEURÍSTICA STEP COUNTING HILL CLIMBING (SCHC) PARA RESOLVER O PROBLEMA DE ALOCAÇÃO DA TRIPULAÇÃO DE ÔNIBUS URBANO Danilo Santos Souza Faculdade de Tecnologia de Alagoas Av. Presidente Roosevelt, 1200

Leia mais

MÉTODO HEURÍSTICO PARA O PROBLEMA DE PROGRAMAÇÃO DE TRIPULAÇÃO NO TRANSPORTE PÚBLICO URBANO DE JOINVILLE

MÉTODO HEURÍSTICO PARA O PROBLEMA DE PROGRAMAÇÃO DE TRIPULAÇÃO NO TRANSPORTE PÚBLICO URBANO DE JOINVILLE 916 MÉTODO HEURÍSTICO PARA O PROBLEMA DE PROGRAMAÇÃO DE TRIPULAÇÃO NO TRANSPORTE PÚBLICO URBANO DE JOINVILLE Silvia Lopes de Sena Taglialenha Universidade Federal de Santa Catarina - Centro Tecnológico

Leia mais

Um estudo das heurísticas Simulated Annealing e VNS aplicadas ao problema de programação de tripulações

Um estudo das heurísticas Simulated Annealing e VNS aplicadas ao problema de programação de tripulações Um estudo das heurísticas Simulated Annealing e VNS aplicadas ao problema de programação de tripulações Marcone Jamilson Freitas Souza (UFOP) marcone@iceb.ufop.br Margarida Maria Silva Rodrigues (UFOP)

Leia mais

RESOLVENDO O PROBLEMA DE PROGRAMAÇÃO DE TRIPULAÇÕES DE ÔNIBUS URBANO COM A METAHEURÍSTICA GUIDED LOCAL SEARCH

RESOLVENDO O PROBLEMA DE PROGRAMAÇÃO DE TRIPULAÇÕES DE ÔNIBUS URBANO COM A METAHEURÍSTICA GUIDED LOCAL SEARCH RESOLVENDO O PROBLEMA DE PROGRAMAÇÃO DE TRIPULAÇÕES DE ÔNIBUS URBANO COM A METAHEURÍSTICA GUIDED LOCAL SEARCH Tiago Alves Silva Gustavo Peixoto Silva Universidade Federal de Ouro Preto Departamento de

Leia mais

Branch-and-Bound para problemas de Otimização Combinatória

Branch-and-Bound para problemas de Otimização Combinatória para problemas de Otimização Combinatória Rafael Antônio Marques Gomes Orientador: Haroldo Gambini Santos Departamento de Computação UFOP 26 de julho de 2011 Rafael Antônio Marques Gomes BB para problemas

Leia mais

UM ALGORITMO HEURÍSTICO PARA O PROBLEMA DE GERENCIAMENTO DE ESCALA OPERACIONAL DE CONTROLADORES DE TRÁFEGO AÉREO

UM ALGORITMO HEURÍSTICO PARA O PROBLEMA DE GERENCIAMENTO DE ESCALA OPERACIONAL DE CONTROLADORES DE TRÁFEGO AÉREO UM ALGORITMO HEURÍSTICO PARA O PROBLEMA DE GERENCIAMENTO DE ESCALA OPERACIONAL DE CONTROLADORES DE TRÁFEGO AÉREO Bruno Mota Avelar Almeida, Túlio Ângelo Machado Toffolo, Marcone Jamilson Freitas Souza

Leia mais

O uso da metaheurística Guided Local Search para resolver o problema de escala de motoristas de ônibus urbano

O uso da metaheurística Guided Local Search para resolver o problema de escala de motoristas de ônibus urbano O uso da metaheurística Guided Local Search para resolver o problema de escala de motoristas de ônibus urbano Tiago Alves Silva 1, Gustavo Peixoto Silva 2 Resumo: Neste artigo é aplicada a metaheurística

Leia mais

Métodos exatos para resolver o problema de programação da tripulação

Métodos exatos para resolver o problema de programação da tripulação Métodos exatos para resolver o problema de programação da tripulação Gustavo Peixoto Silva 1 ; Marcone Jamilson Freitas Souza 2 ; Jorge von Atzingen 3 Resumo: Este trabalho tem como obetivo implementar

Leia mais

Pesquisa Operacional Aplicada à Mineração

Pesquisa Operacional Aplicada à Mineração Pesquisa Operacional Aplicada à Mineração Módulo de Otimização Parte II-b Prof. Marcone J. F. Souza Prof. Túlio A. M. Toffolo marcone.freitas@yahoo.com.br tulio@toffolo.com.br Departamento de Computação

Leia mais

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves CAP 254 CAP 254 Otimização Combinatória Professor: Dr. L.A.N. Lorena Assunto: Metaheurísticas Antonio Augusto Chaves Conteúdo C Simulated Annealing (2//7). C2 Busca Tabu (22//7). C3 Colônia de Formigas

Leia mais

Problemas de otimização

Problemas de otimização Problemas de otimização Problemas de decisão: Existe uma solução satisfazendo certa propriedade? Resultado: sim ou não Problemas de otimização: Entre todas as soluções satisfazendo determinada propriedade,

Leia mais

UMA APLICAÇÃO DA METAHEURÍSTICA GUIDED LOCAL SEARCH AO PROBLEMA DE PROGRAMAÇÃO DE MOTORISTAS DE ÔNIBUS URBANO

UMA APLICAÇÃO DA METAHEURÍSTICA GUIDED LOCAL SEARCH AO PROBLEMA DE PROGRAMAÇÃO DE MOTORISTAS DE ÔNIBUS URBANO UMA APLICAÇÃO DA METAHEURÍSTICA GUIDED LOCAL SEARCH AO PROBLEMA DE PROGRAMAÇÃO DE MOTORISTAS DE ÔNIBUS URBANO Gustavo Peixoto Silva Universidade Federal de Ouro Preto Departamento de Computação Campus

Leia mais

XLVII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL

XLVII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL UMA APLICAÇÃO DA METAHEURÍSTICA GUIDED LOCAL SEARCH AO PROBLEMA DE PROGRAMAÇÃO DE MOTORISTAS DE ÔNIBUS URBANO Gustavo Peixoto Silva Universidade Federal de Ouro Preto Departamento de Computação Campus

Leia mais

JORGE VON ATZINGEN DOS REIS

JORGE VON ATZINGEN DOS REIS JORGE VON ATZINGEN DOS REIS HEURÍSTICAS BASEADAS EM BUSCA EM VIZINHANÇA VARIÁVEL PARA O PROBLEMA DE PROGRAMAÇÃO INTEGRADA DE VEÍCULOS E TRIPULAÇÕES NO TRANSPORTE COLETIVO URBANO POR ÔNIBUS Dissertação

Leia mais

Iterated Local Search. Helena R. Lorenço, Olivier Martinz and THOMAS STUTZLE

Iterated Local Search. Helena R. Lorenço, Olivier Martinz and THOMAS STUTZLE I Iterated Local Search Helena R. Lorenço, Olivier Martinz and THOMAS STUTZLE Idéias Metaheurística deve ser simples, eficiente e mais genérica possível. Problema específico deve ser incorporado à metaheurística.

Leia mais

METAHEURÍSTICA Encontrar soluções boas ou até mesmo ótima

METAHEURÍSTICA Encontrar soluções boas ou até mesmo ótima METAHEURÍSTICAS METAHEURÍSTICA Encontrar soluções boas ou até mesmo ótima Consiste em aplicar iterativamente uma heurística subordinada (busca local) Tem algum mecanismo para escapar de ótimos locais (vales)

Leia mais

Ummétodohíbridoparaescalonar turnosdeenfermeiras

Ummétodohíbridoparaescalonar turnosdeenfermeiras Ummétodohíbridoparaescalonar turnosdeenfermeiras Alexandre Luiz J. H. Albano e Marcio Oshiro Universidade de São Paulo Instituto de Matemática e Estatística Departamento de Ciência da Computação Um método

Leia mais

4 Métodos Existentes. 4.1 Algoritmo Genético

4 Métodos Existentes. 4.1 Algoritmo Genético 61 4 Métodos Existentes A hibridização de diferentes métodos é em geral utilizada para resolver problemas de escalonamento, por fornecer empiricamente maior eficiência na busca de soluções. Ela pode ser

Leia mais

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial Algoritmos Genéticos Aula I Introdução Roteiro Introdução Computação Evolutiva Algoritmos

Leia mais

Resumo Expandido INTRODUÇÃO:

Resumo Expandido INTRODUÇÃO: Resumo Expandido Título da Pesquisa (Português): Pesquisa Operacional aplicada ao problema de alocação de caminhões em uma mina a céu aberto. Título da Pesquisa (Inglês): Operations Research applied to

Leia mais

O USO DA HEURÍSTICA ADAPTIVE LARGE NEIGHBORHOOD SEARCH PARA RESOLVER O PROBLEMA DE PROGRAMAÇÃO DE TRIPULAÇÕES

O USO DA HEURÍSTICA ADAPTIVE LARGE NEIGHBORHOOD SEARCH PARA RESOLVER O PROBLEMA DE PROGRAMAÇÃO DE TRIPULAÇÕES O USO DA HEURÍSTICA ADAPTIVE LARGE NEIGHBORHOOD SEARCH PARA RESOLVER O PROBLEMA DE PROGRAMAÇÃO DE TRIPULAÇÕES Leandro do Carmo Martins Universidade Federal de Ouro Preto Departamento de Computação Campus

Leia mais

Otimização Combinatória - Parte 4

Otimização Combinatória - Parte 4 Graduação em Matemática Industrial Otimização Combinatória - Parte 4 Prof. Thiago Alves de Queiroz Departamento de Matemática - CAC/UFG 2/2014 Thiago Queiroz (DM) Parte 4 2/2014 1 / 33 Complexidade Computacional

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DE JOINVILLE ENGENHARIA DE TRANSPORTES E LOGÍSTICA ISADORA DE ALBUQUERQUE RODRIGUES

UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DE JOINVILLE ENGENHARIA DE TRANSPORTES E LOGÍSTICA ISADORA DE ALBUQUERQUE RODRIGUES UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DE JOINVILLE ENGENHARIA DE TRANSPORTES E LOGÍSTICA ISADORA DE ALBUQUERQUE RODRIGUES UM MÉTODO HEURÍSTICO PARA O PROBLEMA DE ALOCAÇÃO DE TRIPULAÇÃO

Leia mais

Modelos de Fluxo em Redes para o Problema de Escala de Motoristas de Ônibus Urbano

Modelos de Fluxo em Redes para o Problema de Escala de Motoristas de Ônibus Urbano Modelos de Fluxo em Redes para o Problema de Escala de Motoristas de Ônibus Urbano Gustavo P. Silva, Aloísio de C. Gomes, Marcone J. F. Souza Depto de Computação, ICEB, UFOP, 35400-000, Ouro Preto, MG

Leia mais

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

HEURÍSTICAS GRASP E RECONEXÃO POR CAMINHOS APLICADAS AO PROBLEMA DE ESCALONAMENTO DE TRIPULAÇÕES HEURÍSTICAS GRASP E RECONEXÃO POR CAMINHOS APLICADAS AO PROBLEMA DE ESCALONAMENTO DE TRIPULAÇÕES Hugo Vinícius Bassi Universidade Federal de Ouro Preto hugoufop@gmail.com Gustavo Peixoto Silva Universidade

Leia mais

XLVI Pesquisa Operacional na Gestão da Segurança Pública

XLVI Pesquisa Operacional na Gestão da Segurança Pública MODELOS DE PROGRAMAÇÃO INTEIRA PARA O PROBLEMA DO RODÍZIO DE TRIPULAÇÕES DE ÔNIBUS URBANO Matheus Guedes Vilas Boas Universidade Federal de Ouro Preto (UFOP) Ouro Preto - Brasil matheusgueedes91@gmail.com

Leia mais

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo Francisco Henrique de Freitas Viana Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento de Informática

Leia mais

3 Extensões dos modelos matemáticos

3 Extensões dos modelos matemáticos 3 Extensões dos modelos matemáticos Os modelos matemáticos definidos por (2-1) (2-6) e (2-7) (2-13), propostos por Achuthan e Caccetta e apresentados no Capítulo 2, são reforçados neste trabalho através

Leia mais

DEPARTAMENTO DE COMPUTAÇÃO D E C O M

DEPARTAMENTO DE COMPUTAÇÃO D E C O M DEPARTAMENTO DE COMPUTAÇÃO D E C O M Problema da Programação da Tripulação de um sistema de transporte público via Método de Pesquisa em Vizinhança Variável (VNS) Euler Horta Marinho 99.1.4024 Prof. Dr.

Leia mais

Marcone Jamilson Freitas Souza

Marcone Jamilson Freitas Souza Otimização: Algumas aplicações Marcone Jamilson Freitas Souza Departamento de Computação Programa de Pós-Graduação em Ciência da Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/prof/marcone

Leia mais

Programação integrada de veículos e tripulações de ônibus urbano

Programação integrada de veículos e tripulações de ônibus urbano UNIVERSIDADE FEDERAL DE OURO PRETO INSTITUTO DE CIÊNCIAS EXATAS E BIOLÓGICAS DEPARTAMENTO DE COMPUTAÇÃO Programação integrada de veículos e tripulações de ônibus urbano Marcone Jamilson Freitas Souza /DECOM/UFOP

Leia mais

Aprimorando o Corte Peças com Forma Irregular em Chapas Retangulares

Aprimorando o Corte Peças com Forma Irregular em Chapas Retangulares Aprimorando o Corte Peças com Forma Irregular em Chapas Retangulares Leandro Resende Mundim, leandroresendemundim@gmail.com Thiago Alves de Queiroz, th.al.qz@catalao.ufg.br Resumo: Esta pesquisa lida com

Leia mais

1 Introdução 1.1 Motivação

1 Introdução 1.1 Motivação 13 1 Introdução 1.1 Motivação O planejamento de tarefas é um trabalho de resultados economicamente importantes mas de uma dificuldade computacional muito grande. Os problemas de planejamento podem ser

Leia mais

Um Estudo Empírico de Hiper-Heurísticas

Um Estudo Empírico de Hiper-Heurísticas Flávio Soares Corrêa da Silva (Orientador) Instituto de Matemática e Estatística Universidade de São Paulo Julho de 2007 Definição de Hiper-Heurística Para Que Servem Dois Exemplos Definição Uma hiper-heurística

Leia mais

DECISÕES SOBRE TRANSPORTES (PARTE III) Mayara Condé Rocha Murça TRA-53 Logística e Transportes

DECISÕES SOBRE TRANSPORTES (PARTE III) Mayara Condé Rocha Murça TRA-53 Logística e Transportes DECISÕES SOBRE TRANSPORTES (PARTE III) Mayara Condé Rocha Murça TRA-53 Logística e Transportes Agosto/2013 Problemas de roteirização e programação de veículos (RPV) Objetivo geral: Determinar rotas de

Leia mais

Nuno Miguel Duarte Sequeira André VARIABLE NEIGHBOURHOOD SEARCH

Nuno Miguel Duarte Sequeira André VARIABLE NEIGHBOURHOOD SEARCH Nuno Miguel Duarte Sequeira André VARIABLE NEIGHBOURHOOD SEARCH Optimization and decision support techniques PDEEC 2007 Introdução A meta-heurística VNS (Variable Neighbourhood Search) é bastante recente

Leia mais

3 Metaeurísticas e Resolvedores MIP

3 Metaeurísticas e Resolvedores MIP 3 Metaeurísticas e Resolvedores MIP A combinação entre metaeurísticas e resolvedores MIP é uma estratégia relativamente recente, tendo seus primeiros estudos realizados ao longo da última década. O survey

Leia mais

6 Experimentos realizados

6 Experimentos realizados 6 Experimentos realizados 6.1 Considerações iniciais Resolvemos os modelos de PLIM utilizando o resolvedor CPLEX, baseado no método de branch-and-bound. Resolvemos as relaxações lineares dos mesmos modelos

Leia mais

SIMULATED ANNEALING APLICADO À PROGRAMAÇÃO DA TRIPULAÇÃO NO SISTEMA DE TRANSPORTE PÚBLICO

SIMULATED ANNEALING APLICADO À PROGRAMAÇÃO DA TRIPULAÇÃO NO SISTEMA DE TRANSPORTE PÚBLICO SIMULATED ANNEALIN APLICADO À PRORAMAÇÃO DA TRIPULAÇÃO NO SISTEMA DE TRANSPORTE PÚBLICO Prof. Dr. ustavo Peixoto Silva Departamento de Engenharia de Produção, Administração e Economia Universidade Federal

Leia mais

Buscas Informadas ou Heurísticas - Parte III

Buscas Informadas ou Heurísticas - Parte III Buscas Informadas ou Heurísticas - Parte III Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Mestrado em Ciência da Computação / 2006 BUSCA SMA* (Simplified Memory-Bounded A*) BUSCA SMA* (Simplified

Leia mais

Exemplo do jogo dos fósforos Terça-feira, 9 de maio. Exemplo para o Problema do Corpo de Bombeiros. Exemplo: Localidade do Corpo de Bombeiros

Exemplo do jogo dos fósforos Terça-feira, 9 de maio. Exemplo para o Problema do Corpo de Bombeiros. Exemplo: Localidade do Corpo de Bombeiros 15.053 Terça-feira, 9 de maio Busca Heurística: métodos para resolver problemas de otimização difíceis Distribuir: Anotações da Aula Veja a introdução ao trabalho Very Large Scale Neighborhood Search (está

Leia mais

Um Estudo Empírico de Métodos Hiper-Heurísticos

Um Estudo Empírico de Métodos Hiper-Heurísticos Um Estudo Empírico de Métodos Hiper-Heurísticos Igor Ribeiro Sucupira (Aluno de Mestrado) Flávio Soares Corrêa da Silva (Orientador) Departamento de Ciência da Computação Instituto de Matemática e Estatística

Leia mais

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves CAP 254 CAP 254 Otimização Combinatória Professor: Dr. L.A.N. Lorena Assunto: Metaheurísticas Antonio Augusto Chaves Conteúdo C01 Simulated Annealing (20/11/07). C02 Busca Tabu (22/11/07). C03 Colônia

Leia mais

MODELAGEM E SOLUÇÃO DO PROBLEMA DE SELEÇÃO DE PONTOS DE PARADA DE ÔNIBUS CONTRATADOS PARA TRANSPORTE DE FUNCIONÁRIOS

MODELAGEM E SOLUÇÃO DO PROBLEMA DE SELEÇÃO DE PONTOS DE PARADA DE ÔNIBUS CONTRATADOS PARA TRANSPORTE DE FUNCIONÁRIOS MODELAGEM E SOLUÇÃO DO PROBLEMA DE SELEÇÃO DE PONTOS DE PARADA DE ÔNIBUS CONTRATADOS PARA TRANSPORTE DE FUNCIONÁRIOS Denis Ferreira da Silva Filho 1 ; Tatiana Balbi Fraga 2 1 Estudante do Curso de Engenharia

Leia mais

Aula 13: Branch-and-bound

Aula 13: Branch-and-bound Aula 13: Branch-and-bound Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computação UFOP Previously... Modelagem em PI / Problemas Combinatórios

Leia mais

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho Pesquisa Operacional Introdução Profa. Alessandra Martins Coelho agosto/2013 Operational Research Pesquisa Operacional - (Investigação operacional, investigación operativa) Termo ligado à invenção do radar

Leia mais

Pedro Tiago Barbosa do Couto. Resolução de problemas de transporte rodoviário de cargas utilizando programação inteira DISSERTAÇÃO DE MESTRADO

Pedro Tiago Barbosa do Couto. Resolução de problemas de transporte rodoviário de cargas utilizando programação inteira DISSERTAÇÃO DE MESTRADO Pedro Tiago Barbosa do Couto Resolução de problemas de transporte rodoviário de cargas utilizando programação inteira DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE ENGENHARIA ELÉTRICA Programa de Pós graduação

Leia mais

DEPARTAMENTO DE COMPUTAÇÃO D E C O M. Resolução do problema de programação de tripulações de um sistema de transporte público via Simulated Annealing

DEPARTAMENTO DE COMPUTAÇÃO D E C O M. Resolução do problema de programação de tripulações de um sistema de transporte público via Simulated Annealing DEPARTAMENTO DE COMPUTAÇÃO D E C O M Resolução do problema de programação de tripulações de um sistema de transporte público via Simulated Annealing Geraldo Regis Mauri 99.1.4040 Marcone Jamilson Freitas

Leia mais

MODELO DE PROGRAMAÇÃO LINEAR INTEIRA MISTA PARA MINIMIZAÇÃO DOS ADIANTAMENTOS E ATRASOS EM FLOW SHOP COM SETUP DEPENDENDE DA SEQUÊNCIA

MODELO DE PROGRAMAÇÃO LINEAR INTEIRA MISTA PARA MINIMIZAÇÃO DOS ADIANTAMENTOS E ATRASOS EM FLOW SHOP COM SETUP DEPENDENDE DA SEQUÊNCIA MODELO DE PROGRAMAÇÃO LINEAR INTEIRA MISTA PARA MINIMIZAÇÃO DOS ADIANTAMENTOS E ATRASOS EM FLOW SHOP COM SETUP DEPENDENDE DA SEQUÊNCIA Cristiano Marinho Vaz, cmv02@hotmail.com Vinícius Ferreira da Silva

Leia mais

O USO DA HEURÍSTICA ADAPTIVE LARGE NEIGHBORHOOD SEARCH PARA RESOLVER O PROBLEMA DE PROGRAMAÇÃO DE TRIPULAÇÕES

O USO DA HEURÍSTICA ADAPTIVE LARGE NEIGHBORHOOD SEARCH PARA RESOLVER O PROBLEMA DE PROGRAMAÇÃO DE TRIPULAÇÕES O USO DA HEURÍSTICA ADAPTIVE LARGE NEIGHBORHOOD SEARCH PARA RESOLVER O PROBLEMA DE PROGRAMAÇÃO DE TRIPULAÇÕES Leandro do Carmo Martins Universidade Federal de Ouro Preto Departamento de Computação Campus

Leia mais

UM ALGORITMO PARA O PROBLEMA DE ESCALONAMENTO DE TRIPULAÇÃO EM EMPRESAS DE ÔNIBUS

UM ALGORITMO PARA O PROBLEMA DE ESCALONAMENTO DE TRIPULAÇÃO EM EMPRESAS DE ÔNIBUS ROGÉRIO CALVI UM ALGORITMO PARA O PROBLEMA DE ESCALONAMENTO DE TRIPULAÇÃO EM EMPRESAS DE ÔNIBUS MARINGÁ 2005 Livros Grátis http://www.livrosgratis.com.br Milhares de livros grátis para download. ROGÉRIO

Leia mais

BCC204 - Teoria dos Grafos

BCC204 - Teoria dos Grafos BCC204 - Teoria dos Grafos Marco Antonio M. Carvalho (baseado nas notas de aula do prof. Haroldo Gambini Santos) Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal

Leia mais

Redução de custos da programação diária de tripulações de ônibus urbano via metaheurísticas

Redução de custos da programação diária de tripulações de ônibus urbano via metaheurísticas Universidade Federal de Ouro Preto - UFOP Escola de Minas Departamento de Engenharia de Produção, Administração e Economia DEPRO Campus Morro do Cruzeiro Ouro Preto Minas Gerais - Brasil Redução de custos

Leia mais

Algoritmos de Escalonamento do Preactor. Algoritmos de Escalonamento do Preactor. INESC Porto Unidade de Engenharia de Sistemas de Produção

Algoritmos de Escalonamento do Preactor. Algoritmos de Escalonamento do Preactor. INESC Porto Unidade de Engenharia de Sistemas de Produção Algoritmos de Escalonamento do Preactor INESC Porto Unidade de Engenharia de Sistemas de Produção Identificação do Documento: Código do Documento Nome do Documento Nome do Ficheiro RI.03 Algoritmos de

Leia mais

Branch and Bound - Ramicar e Limitar

Branch and Bound - Ramicar e Limitar Programação Linear Inteira Branch and Bound Haroldo Gambini Santos Universidade Federal de Ouro Preto - UFOP 30 de agosto de 2011 1 / 19 Branch and Bound - Ramicar e Limitar Idéia Básica O algoritmo roda

Leia mais

Uma Introdução à Busca Tabu André Gomes

Uma Introdução à Busca Tabu André Gomes Uma Introdução à Busca Tabu André Gomes Departamento de Ciência da Computação, Instituto de Matemática e Estatística, Universidade de São Paulo, SP, Brasil Novembro de 2009 INTRODUÇÃO Método de Busca Local

Leia mais

UM MODELO HÍBRIDO DE FLUXO EM REDES PARA RESOLVER O PROBLEMA DO RODÍZIO DE TRIPULAÇÕES

UM MODELO HÍBRIDO DE FLUXO EM REDES PARA RESOLVER O PROBLEMA DO RODÍZIO DE TRIPULAÇÕES UM MODELO HÍBRIDO DE FLUXO EM REDES PARA RESOLVER O PROBLEMA DO RODÍZIO DE TRIPULAÇÕES Suelaine Débora Gonçalves de Andrade Universidade Federal de Ouro Preto Departamento de Computação - ICEB suelaine.andrade@gmail.com

Leia mais

Departamento de Informática Universidade Estadual de Maringá (UEM) Avenida Colombo, Bloco C56 PR Brasil 1

Departamento de Informática Universidade Estadual de Maringá (UEM) Avenida Colombo, Bloco C56 PR Brasil 1 COMPARAÇÃO DE ALGORITMOS HEURÍSTICOS PARA UM PROBLEMA DE PLANEJAMENTO OPERACIONAL DE TRANSPORTE PÚBLICO Douglas Baroni Rizzato 1, Rubens Zenko Sakiyama 2, Ademir Aparecido Constantino 3, Wesley Romão 4

Leia mais

Computação Evolucionária: Conceitos Básicos de Otimização

Computação Evolucionária: Conceitos Básicos de Otimização Computação Evolucionária: Conceitos Básicos de Otimização Prof. Dr. Rafael Stubs Parpinelli E-mail: rafael.parpinelli@udesc.br Otimização Min ou Max Sujeito a Otimização Função objetivo A qual se quer

Leia mais

MODELO PARA PROGRAMAÇÃO DE ATIVIDADES E A ALOCAÇÃO DE TÉCNICOS PARA A INSTALAÇÃO E ASSISTÊNCIA TÉCNICA DE EQUIPAMENTOS

MODELO PARA PROGRAMAÇÃO DE ATIVIDADES E A ALOCAÇÃO DE TÉCNICOS PARA A INSTALAÇÃO E ASSISTÊNCIA TÉCNICA DE EQUIPAMENTOS MICHELE BIAGIONI JUNIOR MODELO PARA PROGRAMAÇÃO DE ATIVIDADES E A ALOCAÇÃO DE TÉCNICOS PARA A INSTALAÇÃO E ASSISTÊNCIA TÉCNICA DE EQUIPAMENTOS SÃO PAULO 2008 MICHELE BIAGIONI JUNIOR MODELO PARA PROGRAMAÇÃO

Leia mais

Aplicação de um algoritmo genético ao problema de rodízio de tripulações do sistema de transporte público urbano

Aplicação de um algoritmo genético ao problema de rodízio de tripulações do sistema de transporte público urbano Aplicação de um algoritmo genético ao problema de rodízio de tripulações do sistema de transporte público urbano Leandro do Carmo Martins 1 e Gustavo Peixoto Silva 2 Resumo: Este trabalho aborda a resolução

Leia mais

Tópicos em Métodos Heurísticos META-HEURÍSTICAS

Tópicos em Métodos Heurísticos META-HEURÍSTICAS Tópicos em Métodos Heurísticos META-HEURÍSTICAS MÉTODOS HEURÍSTICOS QUE PERMITEM A CONTINUIDADE DAS EXPLORAÇÕES ALÉM DA OTIMALIDADE LOCAL, EM PARTICULAR, SUPERPONDO-SE A HEURÍSTICAS DE BUSCA LOCAL I) SIMULATED

Leia mais

3 Decisões de Localização de Instalações

3 Decisões de Localização de Instalações 3 Decisões de Localização de Instalações Historicamente, o estudo contemporâneo dos problemas de localização foi iniciado por Alfred Weber, que estudou a localização de uma fábrica com o objetivo de minimizar

Leia mais

6 ESCALONAMENTO DE CPU

6 ESCALONAMENTO DE CPU 6 ESCALONAMENTO DE CPU O escalonamento de CPU é ponto chave da multiprogramação. Ela permite que haja mais de um processo em execução ao mesmo tempo. Em ambientes com um único processador, o escalonador

Leia mais

3. Resolução de problemas por meio de busca

3. Resolução de problemas por meio de busca Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por

Leia mais

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS Rosiana da Silva Lopes Danilo César Rodrigues Azevedo rosianalopes16@gmail.com danilo.azevedo@ufpi.edu.br.com

Leia mais

Método de Geração de Colunas e Meta heurísticas para Alocação de Tripulação

Método de Geração de Colunas e Meta heurísticas para Alocação de Tripulação André Gustavo dos Santos Método de Geração de Colunas e Meta heurísticas para Alocação de Tripulação Tese apresentada ao Curso de Pós Graduação em Ciência da Computação da Universidade Federal de Minas

Leia mais

Situação Ideal. Algoritmos Aproximados - Motivação

Situação Ideal. Algoritmos Aproximados - Motivação Situação Ideal Desejamos algoritmos que: encontrem a solução ótima em tempo polinomial para qualquer instância do problema que estamos trabalhando Universidade Federal de Ouro Preto Departamento de Computação

Leia mais

NOVAS HEURÍSTICAS PARA O PROBLEMA DE ESCALONAMENTO DE TRIPULAÇÕES

NOVAS HEURÍSTICAS PARA O PROBLEMA DE ESCALONAMENTO DE TRIPULAÇÕES INPE-13602-TDI/1041 NOVAS HEURÍSTICAS PARA O PROBLEMA DE ESCALONAMENTO DE TRIPULAÇÕES Geraldo Regis Mauri Dissertação de Mestrado do Curso de Pós-Graduação em Computação Aplicada, orientada pelo Dr. Luiz

Leia mais

3. Resolução de problemas por meio de busca

3. Resolução de problemas por meio de busca Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por

Leia mais

Aplicação da Técnica de Busca em Vizinhança de Grande Porte para Otimizar a Frota de Empresas de Transporte Público

Aplicação da Técnica de Busca em Vizinhança de Grande Porte para Otimizar a Frota de Empresas de Transporte Público Aplicação da Técnica de Busca em Vizinhança de Grande Porte para Otimizar a Frota de Empresas de Transporte Público Gustavo Peixoto Silva Universidade Federal de Ouro Preto (UFOP) Departamento de Computação

Leia mais

5 VNS com Filtro e Reconexão por Caminhos

5 VNS com Filtro e Reconexão por Caminhos 5 VNS com Filtro e Reconexão por Caminhos A metaheurística VNS (Variable Neighborhood Search) foi proposta por Mladenović e Hansen [40] e possui como idéia básica a mudança de vizinhanças realizada da

Leia mais

Métodos Exatos para PI - Parte 1: Branch-and-Bound

Métodos Exatos para PI - Parte 1: Branch-and-Bound Introdução à Otimização Combinatória Métodos Exatos para PI - Parte 1: Professora: Rosiane de Freitas (rosiane@icomp.ufam.edu.br) Bruno Raphael Cardoso Dias Prof. Estágio em Docência (bruno.dias@icomp.ufam.edu.br)

Leia mais

Abordagem heurística para resolução do problema de programação mensal de tripulações de ônibus urbano

Abordagem heurística para resolução do problema de programação mensal de tripulações de ônibus urbano Abordagem heurística para resolução do problema de programação mensal de tripulações de ônibus urbano Marcone Jamilson Freitas Souza, Gustavo Peixoto Silva, Túlio Ângelo M. Toffolo Departamento de Computação,

Leia mais

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 Metaheurística: São técnicas de soluções que gerenciam uma interação entre técnicas de busca local e as estratégias de nível superior para criar um processo de

Leia mais

Grafos e Caminhos Mínimos na Modelagem e Determinação de Custos Improdutivos em Alocação de Frotas no Transporte Coletivo de Passageiros

Grafos e Caminhos Mínimos na Modelagem e Determinação de Custos Improdutivos em Alocação de Frotas no Transporte Coletivo de Passageiros 19 a 21 de mar o de 2010 112 Grafos e Caminhos Mínimos na Modelagem e Determinação de Custos Improdutivos em Alocação de Frotas no Transporte Coletivo de Passageiros Daniel de Oliveira 1, Thiago Kramer

Leia mais

Formulações de Programação Matemática para o Problema de Seqüenciamento em uma Máquina com Janelas de Entrega Distintas e Tempo de Preparação

Formulações de Programação Matemática para o Problema de Seqüenciamento em uma Máquina com Janelas de Entrega Distintas e Tempo de Preparação Anais do CNMAC v.2 ISSN 1984-820X Formulações de Programação Matemática para o Problema de Seqüenciamento em uma Máquina com Janelas de Entrega Distintas e Tempo de Preparação Dependente da Seqüência de

Leia mais

Planejamento para fundições: uma aplicação do método das K-melhores mochilas. 1 Introdução

Planejamento para fundições: uma aplicação do método das K-melhores mochilas. 1 Introdução Planejamento para fundições: uma aplicação do método das K-melhores mochilas Murilo S. Pinheiro, Franklina M.B. Toledo, Instituto de Ciências Matemáticas e de Computação, Universidade de São Paulo, Av.

Leia mais

APLICAÇÃO DE UM ALGORITMO GENÉTICO AO PROBLEMA DE RODÍZIO DE TRIPULAÇÕES DO SISTEMA DE TRANSPORTE PÚBLICO URBANO

APLICAÇÃO DE UM ALGORITMO GENÉTICO AO PROBLEMA DE RODÍZIO DE TRIPULAÇÕES DO SISTEMA DE TRANSPORTE PÚBLICO URBANO APLICAÇÃO DE UM ALGORITMO GENÉTICO AO PROBLEMA DE RODÍZIO DE TRIPULAÇÕES DO SISTEMA DE TRANSPORTE PÚBLICO URBANO Leandro do Carmo Martins Gustavo Peixoto Silva Universidade Federal de Ouro Preto Departamento

Leia mais

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco.

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco. CONCEITOS DE REDE Uma rede é formada por um conjunto de nós, um conjunto de arcos e de parâmetros associados aos arcos. Nós Arcos Fluxo Interseções Rodovias Veículos Rodoviários Aeroportos Aerovia Aviões

Leia mais

BUSCA LOCAL (PARTE 4 Resolução de problemas por meio de busca) (C)Russell & Norvig, capítulo 4

BUSCA LOCAL (PARTE 4 Resolução de problemas por meio de busca) (C)Russell & Norvig, capítulo 4 BUSCA LOCAL (PARTE 4 Resolução de problemas por meio de busca) (C)Russell & Norvig, capítulo 4 1 Roteiro Algoritmos de Busca Local Subida de encosta (Hill-climbing) Têmpera Simulada (Simulated Anealing)

Leia mais

PCC104 - Projeto e Análise de Algoritmos

PCC104 - Projeto e Análise de Algoritmos PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 1 de novembro de 2018 Marco Antonio

Leia mais

Relatório Técnico: Busca Tabu Aplicada ao Problema do Caixeiro Viajante

Relatório Técnico: Busca Tabu Aplicada ao Problema do Caixeiro Viajante Relatório Técnico: Busca Tabu Aplicada ao Problema do Caixeiro Viajante André Britto de Carvalho, Rodolfo Barriveira, Carlos Tavares, Kelly Rodrigues, Frederico Losco Resumo. Este relatório apresenta uma

Leia mais

META-HEURÍSTICAS BASEADAS EM BUSCA EM VIZINHANÇA VARIÁVEL APLICADAS A PROBLEMAS DE OPERAÇÃO DE TRANSPORTES

META-HEURÍSTICAS BASEADAS EM BUSCA EM VIZINHANÇA VARIÁVEL APLICADAS A PROBLEMAS DE OPERAÇÃO DE TRANSPORTES JORGE VON ATZINGEN DOS REIS META-HEURÍSTICAS BASEADAS EM BUSCA EM VIZINHANÇA VARIÁVEL APLICADAS A PROBLEMAS DE OPERAÇÃO DE TRANSPORTES Tese apresentada à Escola Politécnica da Universidade de São Paulo

Leia mais

Flávia Barbosa UNICAMP Antônio Carlos Moretti UNICAMP

Flávia Barbosa UNICAMP Antônio Carlos Moretti UNICAMP O Problema de Alocação de Berços: Aspectos Teóricos e Computacionais Flávia Barbosa UNICAMP flaflabarbosa0@gmail.com Antônio Carlos Moretti UNICAMP moretti@ime.unicamp.br Luiz Leduíno de Salles Neto UNIFESP

Leia mais

Novas Soluções para o Problema de Escalonamento de Tripulações

Novas Soluções para o Problema de Escalonamento de Tripulações Novas Soluções para o Problema de Escalonamento de Tripulações Geraldo Regis Mauri Luiz Antonio Nogueira Lorena Instituto Nacional de Pesquisas Espaciais Laboratório Associado de Computação e Matemática

Leia mais

Análise da Performance de um Modelo de Escalonamento Baseado em Pesquisa Tabu Aplicado em um Sistema de Manufatura Flexível

Análise da Performance de um Modelo de Escalonamento Baseado em Pesquisa Tabu Aplicado em um Sistema de Manufatura Flexível Análise da Performance de um Modelo de Escalonamento Baseado em Pesquisa Tabu Aplicado em um Sistema de Manufatura Flexível Antonio G. RODRIGUES, Leandro T. HOFFMANN e Arthur T. GÓMEZ Universidade do Vale

Leia mais

1 Introdução. 1.1 Contextualização e motivação

1 Introdução. 1.1 Contextualização e motivação 1 Introdução 1.1 Contextualização e motivação Segundo Novaes (2004), no final da década de 1970, significativas mudanças econômicas passaram a afetar as sociedades comercialmente desenvolvidas e industrializadas.

Leia mais

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho Pesquisa Operacional Introdução Profa. Alessandra Martins Coelho julho/2014 Operational Research Pesquisa Operacional - (Investigação operacional, investigación operativa) Termo ligado à invenção do radar

Leia mais

RESOLUÇÃO DO PROBLEMA DE RODÍZIO DE TRIPULAÇÕES DE ÔNIBUS URBANO VIA SIMULATED ANNEALING E ITERATED LOCAL SEARCH

RESOLUÇÃO DO PROBLEMA DE RODÍZIO DE TRIPULAÇÕES DE ÔNIBUS URBANO VIA SIMULATED ANNEALING E ITERATED LOCAL SEARCH RESOLUÇÃO DO PROBLEMA DE RODÍZIO DE TRIPULAÇÕES DE ÔNIBUS URBANO VIA SIMULATED ANNEALING E ITERATED LOCAL SEARCH Túlio Ângelo Machado Toffolo Marcone Jamilson Freitas Souza Gustavo Peixoto Silva Departamento

Leia mais

Uso da técnica de busca em vizinhança de grande porte para a programação da escala de motoristas de ônibus urbano

Uso da técnica de busca em vizinhança de grande porte para a programação da escala de motoristas de ônibus urbano Uso da técnica de busca em vizinhança de grande porte para a programação da escala de motoristas de ônibus urbano Gustavo Peixoto Silva 1 ; Claudio Barbieri da Cunha 2 Resumo: Este artigo apresenta uma

Leia mais

Notas. Notas. encontrem a solução ótima em tempo polinomial para qualquer instância do problema que estamos trabalhando 2 / 19.

Notas. Notas. encontrem a solução ótima em tempo polinomial para qualquer instância do problema que estamos trabalhando 2 / 19. Projeto e Análise de Algoritmos Algoritmos Aproximados Haroldo Gambini Santos Universidade Federal de Ouro Preto - UFOP 2 de maio de 2013 1 / 19 Situação Ideal Desejamos algoritmos que: encontrem a solução

Leia mais

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial Algoritmos Genéticos Texto base: Stuart Russel e Peter Norving - Inteligência Artificial junho/2007 Algoritmo Genético Uma variante da busca em feixe estocástica Estado sucessor gerado pela combinação

Leia mais

TP052-PESQUISA OPERACIONAL I Introdução. Prof. Volmir Wilhelm Curitiba, Paraná, Brasil

TP052-PESQUISA OPERACIONAL I Introdução. Prof. Volmir Wilhelm Curitiba, Paraná, Brasil TP052-PESQUISA OPERACIONAL I Introdução Prof. Volmir Wilhelm Curitiba, Paraná, Brasil TP052-PESQUISA OPERACIONAL I Ementa Revisão de Álgebra Linear. Modelos de Programação Linear. O Método Simplex. O Problema

Leia mais

MÉTODO INTERATIVO PARA RESOLUÇÃO DO PROBLEMA DE ESCALONAMENTO DE TRIPULAÇÕES

MÉTODO INTERATIVO PARA RESOLUÇÃO DO PROBLEMA DE ESCALONAMENTO DE TRIPULAÇÕES MÉTODO INTERATIVO PARA RESOLUÇÃO DO PROBLEMA DE ESCALONAMENTO DE TRIPULAÇÕES Geraldo Regis Mauri Laboratório Associado de Computação e Matemática Aplicada Instituto Nacional de Pesquisas Espaciais 2.227-00,

Leia mais

UM ALGORITMO HEURÍSTICO HÍBRIDO PARA O PLANEJAMENTO OPERACIONAL DE LAVRA

UM ALGORITMO HEURÍSTICO HÍBRIDO PARA O PLANEJAMENTO OPERACIONAL DE LAVRA Anais do IX Congresso Brasileiro de Redes Neurais / Inteligência Computacional (IX CBRN) Ouro Preto 25-28 de Outubro de 2009 c Sociedade Brasileira de Redes Neurais UM ALGORITMO HEURÍSTICO HÍBRIDO PARA

Leia mais