Anda di halaman 1dari 831

RELATRIO TCNICO-CIENTFICO DE PROJETO DE PESQUISA

Processo 474831/2007-8

EDITAL MCT/CNPq 15/2007 Universal

Algoritmos eficientes para resoluo de problemas combinatrios


rea: Engenharia de Produo Local de realizao: Universidade Federal de Ouro Preto

Coordenador: Prof. Dr. Marcone Jamilson Freitas Souza Equipe: Prof. MSc. Alexandre Xavier Martins Prof. MSc. Euler Horta Marinho Profa. MSc. Geiza Cristina da Silva Prof. Dr. Luiz Henrique de Campos Merschmann Prof. Dr. Luiz Satoru Ochi Prof. Dr. Marcone Jamilson Freitas Souza Profa. MSc. Tatiana Alves Costa MSc. Tlio ngelo Machado Toffolo Janeiro de 2010

UNIVERSIDADE FEDERAL DE OURO PRETO

ndice

NDICE...................................................................................................................................... 2 1 2 INTRODUO ................................................................................................................ 3 PRODUO CIENTFICA ............................................................................................ 4 2.1 2.2 2.3 2.4 2.5 3 4 ARTIGOS EM EVENTOS NACIONAIS ............................................................................... 4 ARTIGOS EM EVENTOS INTERNACIONAIS...................................................................... 6 ARTIGOS SUBMETIDOS A PERIDICOS INTERNACIONAIS ............................................... 6 DISSERTAES DE MESTRADO ..................................................................................... 7 RELATRIOS TCNICOS ................................................................................................ 8

SISTEMAS DESENVOLVIDOS .................................................................................... 9 ANEXOS ......................................................................................................................... 10

1 Introduo
Este relatrio apresenta os resultados do desenvolvimento de tcnicas eficientes para resoluo de problemas combinatrios. Para avaliar as tcnicas desenvolvidas foram considerados os seguintes problemas: 1) Alocao Dinmica de Espaos (ADE); 2) Diversidade Mxima (DM); 3) Planejamento Operacional de Lavra (POLAD); 4) Programao Integrada de Veculos e Tripulaes no Sistema de Transporte Pblico (PPVT); 5) Seqenciamento em Uma Mquina com penalidades por Antecipao e Atraso da produo (PSUMAA); 6) Roteamento de veculos com coleta e entrega simultnea (PRVCES); 7) Recobrimento de Rotas com Coleta de Prmios (PRRCP) 8) rvore Geradora Mnima Capacitada em Nveis (MLCMST) 9) Fluxo de Produo em Minerao (FPM)

O trabalho est organizado como segue. Na seo 2 listada a produo cientfica gerada. Na seo 3 so enumerados os sistemas computacionais desenvolvidos. Na ltima seo so anexados todos os trabalhos produzidos.

2 Produo cientfica
Com relao produo cientfica, todos os objetivos traados foram alcanados, tendo-se, inclusive, superado a produo originalmente proposta.

2.1 Artigos em eventos nacionais


Propostos: 04 Apresentados e publicados: 11

1) ADE-SBPO2009.pdf: Silva, G. C.; Boaventura, P. O; Bahiense, L.; Ochi, L. S. O problema de alocao dinmica de espaos: aplicao das metaheuristicas GRASP e Busca Tabu. Anais do XLI Simposio Brasileiro de Pesquisa Operacional (XLI SBPO) (CD-ROM) - Porto Seguro/BA - 2009.

2) DM-SBPO2008.pdf: Duarte, I. L.; Silva, G. C.; Costa, T. A. Algoritmos Heursticos para o Problema da Diversidade Mxima. In: XL Simpsio de Pesquisa Operacional, 2008, Joo Pessoa. Anais do XL SBPO, 2008.

3) POLAD-SBPO2009.pdf: Ribas, S.; Coelho, I. M.; Souza, M. J. F.; Menotti, D. Parallel Iterated Local Search aplicado ao planejamento operacional de lavra In: XLI Simpsio Brasileiro de Pesquisa Operacional, 2009, Porto Seguro. Anais do XLI SBPO. Rio de Janeiro: SOBRAPO, 2009. v.1. p. 2037-2047.

4) POLAD-CBRN2009.pdf: Ribas, S.; Coelho, I. M., Souza, M. J. F., Coelho, V. N. Um algoritmo hbrido, baseado em GRASP, VND e Iterated Local Search para o planejamento operacional de lavra In: IX Congresso Nacional de Redes Neurais e Inteligncia Computacional, 2009, Ouro Preto. Anais do IX CBRN. SBRN, 2009. v.1. 5 p.

5) POLAD-IBRAM2008.pdf: Arajo, F. C. R.; Souza, M. J. F. Planejamento operacional de lavra com alocao dinmica de caminhes: abordagens exata e heurstica In: V Congresso Brasileiro de Mina a Cu Aberto, 2008, Belo Horizonte. Anais do V CBMCA. Belo Horizonte: IBRAM, 2008. v.1. 14 p.

6) POLAD-SIMPEP2008.pdf: Coelho, I. M.; Ribas, S.; Souza, M. J. F. Um algoritmo baseado 4

em GRASP, VND e Iterated Local Search para a resoluo do Problema de Planejamento Operacional de Lavra In: XV Simpsio de Engenharia de Produo, 2008, Bauru. Anais do XV SIMPEP. Bauru (SP): UNESP, 2008. v.1. 12 p.

7) PPVT-SBPO2008.pdf: Souza, M. J. F., Ribas, S.; Coelho, I. M. Um algoritmo heurstico hbrido para resoluo do problema de programao integrada de veculos e tripulaes In: XL Simpsio Brasileiro de Pesquisa Operacional, 2008, Joo Pessoa (PB). Anais do XL SBPO. Rio de Janeiro: Instituto de Lgica, Filosofia e Teoria da Cincia, 2008. v.1. p.1871 1882.

Alm da produo anterior, tambm foram geradas duas dissertaes de mestrado tratando do tema Roteirizao, com co-orientao do coordenador do presente projeto. Desses dois trabalhos foram gerados dois artigos, um dos quais ganhou o prmio de produo acadmica 2009, concedido pela Confederao Nacional do Transporte (CNT) e Associao Nacional de Pesquisa e Ensino em Transportes (ANPET):

8) PRRCP-CBRN2009.pdf: SILVA, M. S. A.; Mine, M. T.; Ochi, L. S.; Souza, M. J. F. Um algoritmo evolutivo hbrido para o problema de recobrimento de rotas com coleta de prmios In: IX Congresso Nacional de Redes Neurais e Inteligncia Computacional, 2009, Ouro Preto. Anais do IX CBRN. SBRN, 2009. v.1. 5 p.

9) PRVCES-ANPET2009.pdf: Mine, M. T.; Silva, M. S. A.; Ochi, L. S.; Souza, M. J. F. O Problema de Roteamento de Veculos com Coleta e Entrega Simultnea: Uma Abordagem Via Iterated Local Search e GENIUS. Captulo de livro a ser publicado na srie Transporte em transformao IX: trabalhos vencedores do prmio CNT de Produo Acadmica 2009.

Vinculado s dissertaes de mestrado orientadas ao tema Seqenciamento em uma mquina foram publicados vrios trabalhos completos, dos quais xx so listados a seguir. 10) PSUMAA-SBPO2009.pdf: Rosa, B. F.; Souza, M. J. F.; Souza, S. R. Uma nova formulao de programao matemtica indexada no tempo para uma classe de problemas de seqenciamento em uma mquina. In XLI Simpsio Brasileiro de Pesquisa Operacional, 2009, Porto Seguro. Anais do XLI SBPO, SOBRAPO, p. 2898-2909.

11) PSUMAA-CNMAC2009.pdf: Rosa, B. F.; Souza, S. R.; Souza, M. J. F. Formulaes de Programao Matemtica para o Problema de Sequenciamento em uma Mquina com Janelas 5

de Entrega Distintas e Tempo de Preparao Dependente da Sequncia de Produo. In XXXII Congresso Nacional de Matemtica Aplicada e Computacional, 2009, Cuiab. Anais do XXXII CNMAC, SBMAC, 7 p.

2.2 Artigos em eventos internacionais


Propostos: 00 Apresentados e publicados: 03

1) POLAD-CILAMCE2009.pdf: Coelho, I. M.; Ribas, S.; Souza, M. J. F., Coelho, V. N., Ochi, L. S. A hybrid heuristic algorithm based on GRASP, VND and Path Relinking for the open-pit-mining problem In: XXX Iberian Latin America Congress on Computational Methods in Engineering, 2009, Bzios (RJ). Proceedings of the XXX CILAMCE. Rio de Janeiro: UFRJ, 2009. v.1. 14p.

2) PPVT-EngOpt2008.pdf: Souza, M. J. F.; Silva, G. P.; Ribas, S.; Coelho, I. M. An algorithm based on Iterated Local Search, Variable Neighborhood Descent and Tabu Search for the Integrated Vehicle and Crew Scheduling Problem In: International Conference on Engineering Optimization, 2008, Rio de Janeiro. Proceedings of the EngOpt 2008. Rio de Janeiro: UFRJ, 2008. v.1. 9 p..

3) ADE-EngOpt2008.pdf: Silva, G. C.; Ferreira, T. G.; Costa, T. A.; Boaventura, P. O., and O, L. S. A Tabu Search Heuristic for the Dynamic Space Allocation Problem. Proc. of the International Conference on Engineering Optimization (EngOpt2008). Sponsoring Societies: Mathematical Programming Society (MPS), ISSMO, EUROPT, ABCM.

2.3 Artigos submetidos a peridicos internacionais


Proposto: 02 Realizado: 02

1) POLAD-EJOR-S-09-00886: Souza, M. J. F.; Coelho, I. M.; Ribas, S. A hybrid heuristic algorithm for the open-pit-mining operational planning problem. Submetido a European Journal of Operational Research, 2009. Em processo de reviso.

2) MLCMST-JournalOfHeuristics2009.pdf: Martins, A. X.; de Souza, M. C.; Souza, M. J. F.; Toffolo, T. A. M. GRASP with hybrid heuristic-subproblem optimization for the multi-level capacitated minimum spanning tree problem. Journal of Heuristics, v. 15, p. 133-151, DOI: 10.1007/s10732-008-9079-x. 6

Encontra-se em fase final de reviso o artigo A hybrid metaheuristic algorithm for the Integrated Vehicle and Crew Scheduling Problem para submisso a peridico de circulao internacional (arquivo PPVT-COR-2010.pdf)

2.4 Dissertaes de mestrado


Proposta: 01 Realizada: 05

1) POLAD--Dissertacao-Araujo-2009.pdf: Arajo, F. C. Planejamento operacional de lavra com alocao dinmica de caminhes: abordagens exata e heurstica. Dissertao de mestrado, Programa de Ps-Graduao em Engenharia Mineral, Universidade Federal de Ouro Preto, 2008. Orientador: Marcone Jamilson Freitas Souza.

2) PPVT--Dissertacao-Simoes-2009.pdf: Simes, E. M. L. Algoritmo para programao integrada de veculos e tripulaes no sistema de transporte pblico por nibus. Dissertao de mestrado, Programa de Ps-Graduao em Cincia da Computao, Universidade Federal de Minas Gerais, 2009. Orientador: Geraldo Robson Mateus, Co-orientador: Marcone Jamilson Freitas Souza.

3) FluxoProdutos--Dissertacao-Toffolo-2009.pdf: Toffolo, T. A. M. Otimizao do fluxo de produtos em uma empresa mineradora. Dissertao de mestrado, Programa de Ps-Graduao em Cincia da Computao, Universidade Federal de Minas Gerais, 2009. Orientador: Geraldo Robson Mateus, Co-orientador: Marcone Jamilson Freitas Souza.

4) PSUMAA-Dissertacao-Penna-2009.pdf: Penna, P. H. V. Um algoritmo heurstico hbrido para minimizar os custos com a antecipao e o atraso da produo em ambientes com janela de entrega e tempos de preparao dependentes da sequncia de produo. Programa de PsGraduao em Engenharia Mineral, Universidade Federal de Ouro Preto, 2009. Orientador: Marcone Jamilson Freitas Souza.

5) PSUMAA--Dissertacao-Rosa-2009.pdf: Rosa, B. F. Heursticas para o problema de seqenciamento em uma mquina com penalidades por antecipao e atraso da produo. Programa de Ps-Graduao em Modelagem Matemtica e Computacional, Centro Federal de Educao Tecnolgica CEFET-MG, 2009. Orientador: Marcone Jamilson Freitas Souza. 7

2.5 Relatrios tcnicos


Foram disponibilizados os seguintes relatrios tcnico-cientficos na pgina do coordenador (endereo http://www.iceb.ufop.br/decom/prof/marcone/Publicacoes/Publicacoes.htm):

PPVT-RelatorioTecnico-2009.pdf: Souza, M. J. F. Programao integrada de veculos e tripulaes de nibus urbano. Relatrio tcnico-cientfico CNPq, processo 474831/2007-8, 2009. POLAD-RelatorioTecnico-2009.pdf: Souza, M. J. F. Planejamento operacional de lavra. Relatrio tcnico-cientfico CNPq, processo 474831/2007-8, 2009.

3 Sistemas desenvolvidos
Foram desenvolvidos os seguintes produtos computacionais, relativos aos problemas tratados: 1) Algoritmo GVILS, combinando as tcnicas GRASP, Variable Neighborhood Descent e Iterated Local Search para resolver o Problema de Planejamento Operacional de Lavra (POLAD); 2) Algoritmo H-GVILS, combinando mdulo de programao matemtico (acionando otimizador GLPK) com as tcnicas GRASP, Variable Neighborhood Descent e Iterated Local Search para resolver o Problema de Planejamento Operacional de Lavra (POLAD); 3) Algoritmo ILS-VND-BTRA, combinando as tcnicas heursticas Iterated Local Search, Variable Neighborhood Descent e Busca Tabu com Relaxao Adaptativa, para resolver o Problema de Programao Integrada de Veculos e Tripulaes (PPVT); 4) Framework OptFrame, de cdigo aberto, sob licena de uso GNU LGPLv3, para desenvolvimento de algoritmos de otimizao (disponvel em http://sourceforge.net/projects/optframe); 5) Algoritmos GRASP e TABU para resoluo do problema de Alocao Dinmica de Espaos (ADE); 6) Algoritmos ILS1, ILS2 e ILS3, baseados em Iterated Local Search, para resoluo do problema da Diversidade Mxima; 7) Algoritmo heurstico GRASP integrado com otimizador baseado em programao matemtica para resolver o problema da rvore geradora mnima capacitada em nveis (MLCMST) 8) Algoritmo BT-VND-PR, combinando as tcnicas Busca Tabu, Variable Neighborhood Descent e Path Relinking para resolver o problema de seqenciamento em uma mquina com penalidades por antecipao e atraso da produo. 9) Algoritmo GPV, combinando as tcnicas GRASP, Princpio da Otimalidade Prxima e Variable Neighborhood Descent para resolver o problema de seqenciamento em uma mquina com penalidades por antecipao e atraso da produo.

4 Anexos
Seguem os relatrios tcnico-cientficos, artigos e dissertaes produzidas durante a execuo do projeto.

10

UMA NOVA FORMULAO DE PROGRAMAO MATEMTICA INDEXADA NO TEMPO PARA UMA CLASSE DE PROBLEMAS DE SEQUENCIAMENTO EM UMA MQUINA
Bruno Ferreira Rosa Centro Federal de Educao Tecnolgica de Minas Gerais (CEFET-MG) Programa de Ps-Graduao em Modelagem Matemtica e Computacional Av. Amazonas, 7675 - CEP 30510-000, Belo Horizonte - MG brunofazmat@dppg.cefetmg.br Marcone Jamilson Freitas Souza Universidade Federal de Ouro Preto (UFOP) ICEB, Programa de Ps-Graduao em Engenharia Mineral CEP 35400-000, Ouro Preto - MG marcone@iceb.ufop.br

RESUMO Este trabalho trata do problema de sequenciamento de tarefas em uma mquina. Considera-se o tempo de preparao da mquina dependente da sequncia de produo e que cada tarefa est associada a um tempo de processamento e uma janela de tempo, dentro da qual ela deve ser preferencialmente concluda. O objetivo minimizar a soma ponderada dos atrasos e das antecipaes na execuo de tais tarefas. Prope-se um modelo de programao linear inteira mista indexado no tempo para representar o problema. A estimativa do horizonte de planejamento, a qual faz parte dos dados de entrada do modelo, obtida pela aplicao de um algoritmo heurstico baseado nos procedimentos GRASP, Princpio da Otimalidade Prxima e Descida em Vizinhana Varivel. Experimentos computacionais mostram que o modelo utilizado, associado ao algoritmo heurstico proposto, permite resolver problemas maiores e com maior eficincia, quando comparado com outra formulao de programao matemtica da literatura. PALAVRAS CHAVE. Sequenciamento em uma mquina. Programao linear inteira mista. Formulao indexada no tempo. Otimizao Combinatria.

ABSTRACT This work deals with the problem of job scheduling in a single-machine. In the problem considered, the machines setup time is sequence-dependent and each job has a processing time and a due window in which it should preferably be completed. The objective is to minimize the weighted sum of the tardiness and earliness in the execution of such jobs. A time-indexed mixed integer linear programming model is proposed to represent the problem. The estimate of the planning horizon, which is part of the models inputs, it is obtained by an algorithm based on GRASP, Proximate Optimality Principle and Variable Neighborhood Descent. Computational experiments show that the new formulation, associated with the proposed algorithm, solves problems of larger dimension and with better efficiency, when compared with a model of the literature. KEYWORDS. Single-machine sequencing. Mixed Integer Linear Programming. Time-indexed Formulation. Combinatorial Optimization.

1. Introduo O surgimento do sistema de administrao Just in Time (JIT), que ocorreu nos meados da dcada de 70, evidenciou a importncia de um planejamento criterioso das atividades produtivas. Visando a reduo dos custos provenientes de processos produtivos, a filosofia JIT desencoraja, alm dos atrasos, tambm as antecipaes das tarefas. H antecipao de uma tarefa quando ela concluda antes da data desejada para sua entrega e h atraso quando ela concluda aps tal data. Deste modo, ambas as situaes acarretam penalidades. Segundo Liaw (1999), concluir uma tarefa com atraso pode resultar em multas contratuais, perda de credibilidade da empresa ou reduo de vendas. Do mesmo modo, concluir uma tarefa antecipadamente pode resultar em custos financeiros extras pela necessidade de disponibilizao antecipada de capital, necessidade de espao para armazenamento ou necessidade de outros recursos para manter e gerenciar o estoque (FRANA FILHO, 2007). O problema de sequenciamento em uma mquina com penalidades por antecipao e atraso da produo, de agora em diante denotado por PSUMAA, consiste em sequenciar e determinar o momento em que as tarefas devem ser executadas em uma mquina, com o objetivo de minimizar a soma ponderada das antecipaes e dos atrasos na produo de tais tarefas. Tal problema, segundo Baker e Scudder (1990), reflete melhor ambientes de produo administrados de acordo com a filosofia JIT. Com relao s datas de entrega das tarefas, o PSUMAA pode ser dividido em trs variantes: i) datas de entrega comuns (common due date): todas as tarefas devem ser preferencialmente concludas em uma nica data pr-determinada; ii) datas de entrega distintas (distinct due dates): existe uma data de entrega especfica associada a cada tarefa, na qual a tarefa deve ser preferencialmente concluda; iii) janelas de entrega distintas (distinct due windows): h um determinado perodo de tempo associado a cada tarefa, dentro do qual a tarefa deve ser preferencialmente concluda. O caso de janelas de entrega distintas ocorre quando existem tolerncias em torno das datas desejadas para a entrega de cada tarefa (KOULAMAS, 1996). Estas tolerncias esto relacionadas s caractersticas individuais das tarefas e influenciam nos tamanhos das janelas de entrega. As tarefas concludas dentro de suas respectivas janelas de entrega no incorrem nenhum custo. J aquelas concludas fora de suas janelas de entrega, so penalizadas. A produo de bens perecveis um exemplo relacionado. Assuma que um fabricante de produtos qumicos combina certa substncia A, que deteriora rapidamente, com uma segunda substncia B para produzir um produto C. Se A for produzida suficientemente antes de B, ela se deteriorar. Por outro lado, se A for produzida muito depois de B, o custo da produo de C ser maior. Nas indstrias em que so produzidos diferentes tipos de produtos e existe uma troca frequente do tipo de tarefa executada em uma mquina, aps a concluso de uma tarefa, geralmente necessrio preparar a mquina antes do incio da execuo da tarefa seguinte. Este tempo de preparao, chamado tempo de setup, inclui os tempos gastos para trocar as ferramentas, preparar o material, limpar a mquina, etc. A maioria dos trabalhos em problemas de sequenciamento assume que os tempos de setup so independentes da sequncia de produo, isto , que eles so desprezveis ou podem ser acrescentados aos tempos de processamento das tarefas (GUPTA e SMITH, 2006). No entanto, de acordo com Panwalkar et al. (1973), apud Gupta e Smith (2006), em grande parte das situaes prticas, tais tempos so dependentes da sequncia de produo. Christofoletti (2002) cita o exemplo de uma fbrica de papel que produz diversos tipos de folhas com diferentes cores, espessuras e texturas e que realiza frequentemente a preparao das mquinas para obter os diferentes tipos de produtos. Em problemas como este, os tempos de setup variam de acordo com sequncia de produo e representam uma parcela de tempo considervel em relao ao tempo total de processamento. Portanto, eles no podem ser desconsiderados. Consideraes sobre a continuidade do funcionamento da mquina tambm podem ser impostas ao PSUMAA. Parte dos trabalhos da literatura no permite a insero de tempos ociosos na sequncia de produo (CHANG, 1999). Conforme Li (1997), existem casos em que o custo

por manter a mquina inativa maior que o preo pago pela antecipao de uma tarefa e, neste caso, vale a pena antecipar a produo. Outra situao em que isto ocorre quando a capacidade da mquina inferior demanda. No entanto, h casos em que vale a pena manter a mquina parada, mesmo que exista uma tarefa disponvel para ser processada (SOUZA et al., 2008b). O PSUMAA possui muitas aplicaes prticas em indstrias metalrgicas, txteis, de tintas, entre outras. O caso real de uma indstria siderrgica tratado por Bustamante (2006). Em tal trabalho, uma mquina considerada como sendo uma sequncia de laminadores e cada tarefa representa a produo de um determinado produto (barra chata, cantoneira, vergalho etc.). Antes da fabricao de cada produto necessrio realizar um conjunto de ajustes de mesma natureza na sequncia de laminadores. Estes ajustes dependem do produto a ser fabricado e do produto fabricado anteriormente. Como cada ajuste exige um tempo de execuo, a soma destes tempos configura o tempo de setup. Este trabalho trata o PSUMAA com janelas de entrega distintas, tempo de preparao dependente da sequncia de produo e so permitidos tempos ociosos entre as execues de tarefas consecutivas. Para evitar dvidas, o PSUMAA com tais caractersticas ser doravante denotado por PSUMAA-JE-TP. Dentre os trabalhos que tratam este problema, a maioria tem seu foco em procedimentos heursticos para resolv-lo. Apenas nos trabalhos de Bustamante (2006) e Gomes Jr. et al. (2007) so propostos mtodos exatos para resolv-lo. Neste trabalho, um modelo de programao linear inteira mista indexado no tempo utilizado para representar o PSUMAA-JE-TP. Para mensurar o horizonte de planejamento de tal modelo, prope-se um algoritmo heurstico baseado nos mtodos GRASP (FEO e RESENDE, 1995), Princpio da Otimalidade Prxima - POP (GLOVER e LAGUNA, 1997) e Variable Neighborhood Descent - VND (MLADENOVIC e HANSEN, 1997). O referido modelo resolvido pelo otimizador CPLEX e comparado com outra formulao da literatura. O restante deste trabalho est organizado como segue. Na Seo 2 so apresentados trabalhos relacionados ao PSUMAA-JE-TP. Na Seo 3 faz-se uma descrio detalhada do problema tratado. A formulao de programao matemtica indexada no tempo descrita na Seo 4 e na seguinte detalha-se o algoritmo proposto para determinar o horizonte de planejamento de tal formulao. Na Seo 6 so apresentados e discutidos os resultados computacionais, enquanto a Seo 7 conclui o trabalho. 2. Trabalhos Relacionados Alm de possuir um grande nmero de aplicaes prticas, problemas de sequenciamento em uma mquina com penalidades por antecipao e atraso da produo so difceis de ser resolvidos na otimalidade (ALLAHVERDI et al., 1999). Tal dificuldade cresce explosivamente na medida em que se aumenta a quantidade de tarefas a serem sequenciadas. Esta unio entre aplicabilidade e dificuldade de resoluo motiva a pesquisa de algoritmos eficientes para a resoluo desta classe de problemas. Deste modo, muitos trabalhos so encontrados na literatura com o objetivo de resolver casos particulares do PSUMAA-JE-TP tratado neste trabalho. Uma breve descrio de trabalhos correlatos apresentada a seguir. Alidaee e Dragan (1997) tratam do caso com datas de entrega comuns. Estes autores consideram as penalidades por antecipao e por atraso da produo proporcional ao tempo de processamento da tarefa e iguais para a mesma tarefa. Os autores propem um algoritmo de complexidade O ( n log n) que resolve este problema na otimalidade. Ying (2008) e Rabadi et al. (2004) tambm trataram do PSUMAA com datas de entrega comuns. O primeiro autor resolve o problema com tempos de setup independentes da sequncia de produo por meio de um algoritmo branch-and-bound que faz uso de um procedimento Recovering Beam Search para caminhar na rvore de busca. No segundo trabalho proposto um algoritmo branch-and-bound para obter solues do caso com tempos de setup dependentes da sequncia de produo e com soma dos tempos de processamento das tarefas no maior que a data de entrega. Os autores resolveram problemas-teste com at 25 tarefas em tempo

computacional aceitvel, o que representou um avano para a poca, j que os algoritmos exatos de ento resolviam, na otimalidade, apenas problemas desta classe com at 8 tarefas. Li (1997) estudou o PSUMAA com datas de entrega distintas, tempos de setup independentes da sequncia de produo e sem a permisso de tempos ociosos na mquina. O problema decomposto em dois subproblemas com estruturas mais simples. O limite inferior do problema , ento, dado pela soma dos limites inferiores dos dois subproblemas, cada qual obtido por relaxao lagrangeana. Tambm so desenvolvidos dois procedimentos de ajuste de multiplicadores, com complexidade O(n log n), para resolver os duais dos subproblemas. Um algoritmo branch-and-bound baseado nesses procedimentos apresentado e utilizado para resolver problemas-teste com at 50 tarefas, dobrando a dimenso dos problemas resolvidos na otimalidade por algoritmos exatos at aquela data. O autor tambm props uma heurstica baseada em busca local para resolver problemas-teste com at 3000 tarefas. Valente e Alves (2005) propuseram duas novas heursticas, sendo uma regra de despacho e um procedimento guloso, para o mesmo problema. Tambm so utilizadas regras de dominncia, visto que elas melhoram os resultados das heursticas e demandam pouco tempo adicional. Lee e Choi (1995) abordaram o PSUMAA com datas de entrega distintas, tempos de setup independentes da sequncia de produo e com permisso de tempos ociosos. apresentado um algoritmo de complexidade polinomial para determinar a data tima de incio de uma tarefa em uma dada sequncia de produo. Um Algoritmo Gentico que faz uso deste algoritmo de data tima tambm apresentado. O mesmo problema estudado por Mazzini e Armentano (2001). Uma heurstica construtiva que determina a sequncia de produo e, simultaneamente, insere tempos ociosos proposta por estes autores. No trabalho de Bustamante (2006) estudado o PSUMAA com tempos de setup dependentes da sequncia de produo, datas de entrega distintas e permitida a ociosidade de mquina. So desenvolvidos dois modelos de programao linear inteira mista, sendo que tais modelos exigem que os tempos de setup satisfaam a desigualdade triangular. O autor tambm sugere alteraes nos modelos que permitem resolver o caso com janelas de entrega distintas, mas os testes computacionais foram realizados apenas em problemas-teste com datas de entrega distintas. Foram resolvidos na otimalidade problemas com at 10 tarefas, por meio do software de otimizao GLPK, verso 4.8. Wan e Yen (2002) trataram o PSUMAA com janelas de entrega distintas, tempos de setup independentes da sequncia de produo, permitindo tempos ociosos de mquina. Primeiramente, foi apresentada uma formulao matemtica do problema junto com vrias propriedades importantes para sua resoluo. Em seguida, foi proposto um procedimento de complexidade polinomial para determinar a data de concluso tima de processamento de cada tarefa em uma dada sequncia, sendo este procedimento uma extenso do algoritmo proposto por Lee e Choi (1995). Por fim, uma Busca Tabu (Tabu Search, TS), que faz uso do procedimento de datas timas, proposta para resolver o problema. Foram realizados testes em problemas envolvendo at 80 tarefas. Koulamas (1996) focou o problema com janelas de entrega distintas, porm com uma sensvel distino dos demais trabalhos da literatura em relao antecipao. Em seu trabalho, h antecipao de uma tarefa quando seu processamento iniciado antes do incio de sua janela de entrega. O restante da literatura considera que h antecipao quando uma tarefa concluda antes do incio de tal janela. O autor tambm considerou tempos de setup independentes da sequncia de produo, sendo permitida a ociosidade de mquina. O autor adaptou heursticas j utilizadas em outros casos do PSUMAA e as aplicou nessa verso. Tambm foi proposto um algoritmo que insere tempos ociosos, de modo timo, em uma dada sequncia de produo. Foram realizados testes em problemas com at 200 tarefas. Gomes Jr. et al. (2007), Souza et al. (2008a) e Souza et al. (2008b) foram os nicos trabalhos encontrados para resolver o PSUMAA-JE-TP. No primeiro trabalho proposto um modelo de programao matemtica para representar o problema, no qual deixa de ser necessrio que o problema satisfaa a desigualdade triangular. Tambm proposto um mtodo heurstico baseado em GRASP, Iterated Local Search e Descida em Vizinhana Varivel (Variable Neighborhood

Descent, VND). Para cada sequncia de tarefas gerada pela heurstica proposta, utilizado um algoritmo de complexidade polinomial que determina a data tima de incio de processamento das tarefas na sequncia dada, sendo este algoritmo uma extenso daquele proposto por Wan e Yen (2002). So realizados experimentos computacionais em problemas-teste com os tempos de setup simtricos e com at 75 tarefas, utilizando a heurstica, e at 12 tarefas, utilizando o modelo matemtico. O segundo trabalho apresenta uma heurstica baseada em GRASP, VND, TS e Reconexo por Caminhos (Path Relinking, PR); enquanto no terceiro so apresentados os resultados detalhados do algoritmo proposto. Nos dois ltimos trabalhos so realizados experimentos nos mesmos problemas-teste utilizados por Gomes Jr. et al. (2007), sendo mostrada a superioridade do algoritmo proposto em relao a este ltimo. 3. Descrio do Problema O PSUMAA-JE-TP abordado neste trabalho possui as seguintes caractersticas: i) Uma mquina deve processar um conjunto I de n de tarefas; ii) Associado a cada tarefa i I est: a) Um tempo de processamento Pi; b) Uma janela de entrega [Ei, Ti], dentro da qual esta tarefa deve ser preferencialmente concluda; c) Um custo i por unidade de tempo de antecipao; d) Um custo i por unidade de tempo de atraso; iii) H antecipao de uma tarefa i I quando seu processamento concludo antes de Ei; iv) H atraso de uma tarefa i I quando seu processamento concludo depois de Ti; v) As tarefas que forem concludas dentro de suas respectivas janelas de entrega no geram penalidades; vi) A mquina executa no mximo uma tarefa por vez e, uma vez iniciado o processamento de uma tarefa, no permitida a sua interrupo; vii) Todas as tarefas esto disponveis para processamento na data 0; viii) Entre duas tarefas i e j I consecutivas, necessrio um tempo Sij de preparao da mquina, chamado tempo de setup. Assume-se que o tempo de preparao da mquina para o processamento da primeira tarefa na sequncia igual a zero; ix) permitido tempo ocioso entre a execuo de duas tarefas consecutivas. O objetivo determinar uma sequncia de produo e as datas de incio de produo das tarefas de sorte a minimizar a soma ponderada das antecipaes e atrasos. 4. Formulao Matemtica O modelo de programao matemtica utilizado para representar o PSUMAA-JE-TP baseado na formulao indexada no tempo proposta em de Paula (2008). Este modelo, doravante denotado por MPMDT, faz uma discretizao do tempo e pode ser descrito como segue. Considere que o conjunto H = {h0, h1, h2,..., hL} representa o horizonte de planejamento para o processamento das tarefas e sejam xih variveis binrias que determinam a sequncia de produo, sendo 1, se a tarefa i programada pra iniciar na data h; xih 0, caso contrrio. para todo i I e para todo h H. Se ei e ti representam, respectivamente, as unidades de tempo de antecipao e de tempo de atraso da tarefa i I, o MPMDT pode ser formulado pelas equaes (1) a (8).

min s. a.

z ( i ei i ti )
i 1

(1) i , j I , h H e i j i I i I i I i I i I i I e h H (2) (3) (4) (5) (6) (7) (8)

xih

min( h Pi S ij 1, H L )

uh

x ju 1, 1,

h H 0

HL

ih

hH0 HL

hx
h H 0

HL

ih

Pi ei Ei , Pi t i Ti , ei 0, ti 0, xih {0,1},

hx

ih

A funo objetivo, representada pela equao (1), tem como critrio de otimizao a minimizao da soma ponderada das antecipaes e dos atrasos. As restries (2) garantem que existe tempo suficiente para executar uma tarefa i e preparar a mquina antes do incio do processamento da tarefa seguinte j . As restries (3) garantem que cada tarefa seja executada uma, e somente uma vez. As restries (4) e (5) definem as antecipaes e os atrasos de acordo com as respectivas janelas de entrega de cada tarefa. As restries (6), (7) e (8) esto associadas aos domnios das variveis do problema. importante observar que esta formulao somente vlida se o problema satisfizer a desigualdade triangular, ou seja, se as condies (9) a seguir forem satisfeitas: (9) Sik Sij S jk Pj , i , j , k I , i j , i k e j k No PSUMAA-JE-TP abordado, a execuo de qualquer tarefa pode ser iniciada em qualquer momento futuro. Portanto, caso se tenha a garantia de que na sequncia tima o incio do processamento da primeira tarefa no ocorre antes de hinf e que o incio do processamento da ltima tarefa no mximo hsup, conveniente adotar H = {hinf, hinf+1, hinf+2, ..., hsup}. Deste modo, como o MPMDT fortemente sensvel cardinalidade do conjunto H, quanto menor for o intervalo [hinf, hsup], menor ser o nmero de variveis do modelo. 5. Determinao do Conjunto H O MPMDT fortemente dependente do conjunto H = [hinf, hsup], visto que ele representa o horizonte de planejamento e, consequentemente, determina o nmero de variveis e restries deste modelo. Sendo assim, de fundamental importncia escolher tal conjunto de modo a facilitar a obteno da soluo tima. Para tanto, a amplitude desse intervalo no deve ser muito grande, para que no se tenha muitas restries, variveis e um modelo mais difcil de ser resolvido na otimalidade. Para determinar os limites do conjunto H da formulao MPMDT, desenvolveu-se o algoritmo heurstico GPV, descrito pelo pseudocdigo da Figura 1. Este algoritmo combina os procedimentos GRASP (FEO e RESENDE, 1995), Princpio da Otimalidade Prxima - POP (GLOVER e LAGUNA, 1997) e VND (MLADENOVIC e HANSEN, 1997), e composto de duas fases. Na primeira (linhas 1 a 12 da Figura 1), gera-se uma soluo com base na metaheurstica GRASP (GRASPMax um parmetro do mtodo). Na segunda (linha 13), faz-se o ps-refinamento da soluo proveniente da fase anterior. Os valores de hinf e de hsup (linha 14) so dados, respectivamente, pela data de incio da primeira tarefa e pela

data de concluso da ltima tarefa na sequncia v*. O detalhamento deste algoritmo apresentado nas subsees seguintes.
Algoritmo GPV () 1 f* ; 2 Iter 0; 3 enquanto (Iter < GRASPMax) faa 4 Iter Iter + 1; 5 v0 ConstruaSolucao(); 6 v VND1(v0); 7 se (f(v) < f*) ento 8 v* v; 9 f* f(v); 10 Iter 0; 11 fim-se; 12 fim-enquanto; 13 v* VND2(v*); 14 Retorne v*, hinf, hsup; Fim GPV;

Figura 1: Algoritmo GPV 5.1. Representao de uma Soluo Uma soluo (sequncia) para o PSUMAA-JE-TP com n tarefas representada por um vetor v de n posies, onde cada posio i = 1, 2,..., n indica a ordem de produo da tarefa vi. Por exemplo, dada a sequncia v = {4, 6, 1, 5, 3, 2}, para o PSUMAA-JE-TP com 6 tarefas, a tarefa 4 a primeira a ser realizada e a tarefa 2, a ltima. 5.2. Vizinhana de uma Soluo Para explorar o espao de solues, so usados trs tipos de movimentos: troca da ordem de processamento de duas tarefas da sequncia de produo, realocao de uma tarefa para outra posio da sequncia e realocao de um bloco com duas ou mais tarefas. Esses movimentos definem, respectivamente, as vizinhanas NT, NR e NRB. Sendo assim, para uma soluo do PSUMAA-JE-TP com n tarefas, h n(n-1)/2 vizinhos na vizinhana NT, (n-1)2 vizinhos na vizinhana NR e (n-1)(n-2)(n-3)/6 vizinhos na vizinhana NRB. 5.3. Funo de Avaliao Como os movimentos utilizados no geram solues inviveis, uma sequncia avaliada pela prpria funo objetivo, dada pela expresso (1) do MPMDT. Para determinar os valores de ei e ti utilizado o algoritmo de determinao das datas timas de incio de processamento (ADDOIP) proposto por Gomes Jr. et al. (2007). 5.4. Construo de uma Soluo Nesta etapa da primeira fase do algoritmo (linha 5 da Figura 1), uma soluo formada, tarefa por tarefa, de forma parcialmente gulosa, seguindo as ideias da fase de construo do algoritmo GRASP. A cada iterao, as tarefas que ainda esto fora da soluo so avaliadas por uma funo g, que estima o benefcio associado sua incluso na soluo parcial. As tarefas j que possurem g(j) menor ou igual a gmin + (gmax gmin), com [0, 1], so inseridas em uma Lista Restrita de Candidatos (LRC). Desta lista escolhida aleatoriamente uma, a qual adicionada soluo parcial. Para estimar o benefcio da insero de cada tarefa j ainda no sequenciada, em cada iterao i, utiliza-se uma das quatro seguintes funes como critrio de seleo:

(1) g1 (t ) = 2 E j / max{Ek | k C} 2T j / max{Tk | k C } j / max{ k | k C}

j / max{ k | k C} Pj / max{Pk | k C } Si-1,j /max{Si-1,k | k C}, onde C representa o conjunto das tarefas ainda no sequenciadas at a i-sima iterao (para i = 1, utilizado mdia{Skj | k I e k j} / max{Skl | k , l I e k l} no lugar de
Si-1,j /max{Si-1,k | k C} );

(2) g 2 ( j ) T j ; (3) g 3 ( j ) ( j E j jT j ) /( j j ) ; (4) g 4 ( j ) E j . As funes g so utilizadas conforme a ordem anterior. Nas quatro primeiras iteraes, ou seja, na primeira vez em que cada funo g utilizada, faz-se = 0. Nas demais iteraes, selecionado aleatoriamente dentro de um conjunto , sendo um parmetro. Ainda na etapa de construo, aplicado o Princpio da Otimalidade Prxima (POP). Este princpio baseado na idia de que boas solues em um nvel esto prximas de boas solues em um nvel adjacente (GLOVER e LAGUNA, 1997). Assim, sempre que uma nova tarefa inserida na soluo em formao, esta submetida a uma busca local. A busca local utilizada consiste em uma Descida Randmica em relao vizinhana NR. Dada uma soluo, aleatoriamente escolhe-se uma tarefa na sequncia e uma nova posio para ela. Se a nova sequncia produzir uma soluo com um valor menor para a funo objetivo, a nova sequncia aceita e passa a ser a soluo corrente; caso contrrio, testada outra realocao. A busca interrompida aps MRDMax realocaes consecutivas sem melhora na funo objetivo, sendo MRDMax um parmetro do procedimento. O pseudocdigo da fase de construo de uma soluo apresentado na Figura 2.
Procedimento ConstruaSolucao(); 1 v ; 2 Inicialize o conjunto C de tarefas candidatas; 3 enquanto C faa g min min{g (t ) | t C}; 4 5 6 7 8 9 10 11 12

g max max{g (t ) | t C};


LRC = { t C | g(t) g min ( g max g min ) }; Selecione, aleatoriamente, uma tarefa t LRC; v v {t}; Atualize o conjunto C de tarefas candidatas; v MRD(v, NR(.), MRDMax); fim-enquanto; Retorne v;

Fim ConstruaSolucao;

Figura 2: Procedimento para Construir uma Soluo 5.5. VND1 Para refinar as solues geradas na primeira fase do algoritmo (linha 6 da Figura 1), utiliza-se a Busca em Vizinhana Varivel (Variable Neighborhood Descent - VND). Proposto por Mladenovic e Hansen (1997), o VND um mtodo de busca local que consiste em explorar o espao de busca por meio de trocas sistemticas de estruturas de vizinhanas. Basicamente, o procedimento utilizado consiste em trs passos:

(1) Mtodo Randmico de Descida (MRD) com a vizinhana NT; (2) MRD com a vizinhana NR; (3) MRD com a vizinhana NRB. Cada passo constitudo de iteraes que geram vizinhos aleatrios, com relao respectiva estrutura de vizinhana. Sempre que uma soluo de melhora encontrada, volta-se ao primeiro passo. Quando um dos MRD's atinge MRDmax iteraes sem melhora, passa-se para o passo seguinte. Estando-se no ltimo passo, ento o procedimento interrompido e a melhor soluo encontrada retornada. 5.6. VND2 Como a soluo proveniente da primeira fase do algoritmo GPV (Figura 1) no necessariamente um timo local em relao s vizinhanas adotadas, ela submetida a uma busca local mais efetiva, no caso, tambm baseada na Busca em Vizinhana Varivel (VND2). Nesta, a explorao do espao de solues realizada de acordo com os seguintes passos: (1) Descida Completa (DC) com relao vizinhana NT; (2) DC com relao vizinhana NR; (3) DC na vizinhana NRB. No passo (3), em que so realizadas realocaes de blocos de tarefas, inicialmente testam-se todas as realocaes com blocos de duas tarefas possveis e quando no for mais possvel melhorar a soluo com um determinado tamanho de bloco, passa-se a explorar movimentos com blocos de tamanho imediatamente maior. Sempre que uma soluo de melhora encontrada, volta-se ao passo (1). Se em um determinado passo, todos os vizinhos com relao respectiva estrutura de vizinhana no so de melhora, passa-se para o passo seguinte. O procedimento interrompido quando um timo local com relao s trs vizinhanas encontrado. 6. Resultados Computacionais Para testar o modelo proposto, foram gerados problemas-teste baseados nos trabalhos de Wan e Yen (2002) e Rabadi et al. (2004), conforme a seguir se descreve. Dada uma tarefa i, o tempo de processamento (Pi), o custo por unidade de atraso (i) e o custo por unidade de antecipao (i) so nmeros inteiros selecionados aleatoriamente dentro dos intervalos [1, 40], [1, 10] e [1, i], respectivamente. O centro da janela de entrega da tarefa i um valor inteiro aleatrio no intervalo [(1 - FA - VRJ / 2) TTP, (1 - FA + VRJ / 2) TTP], sendo TTP o tempo total de processamento de todas as tarefas, FA o fator de atraso e VRJ a variao relativa da janela de entrega. O tamanho da janela de entrega um valor inteiro selecionado aleatoriamente no intervalo [0, TTP/n], sendo n o nmero de tarefas do problema. Para toda tarefa j i, o tempo de setup (Sij) um nmero inteiro aleatrio dentro do intervalo [5, 15]. Desta forma, os tempos de setup no so necessariamente simtricos, como em Gomes Jr. et al. (2007). Foram gerados conjuntos de problemas-teste com 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 e 16 tarefas, respectivamente, sendo utilizados os valores 0,1; 0,3; 0,5 e 0,8 para FA e 0,4; 0,7; 1,0 e 1,3 para VRJ. Sendo assim, h 16 problemas-teste em cada conjunto. Se um problema gerado no satisfazia a desigualdade triangular, ele era descartado e outro com os mesmos valores para FA e VRJ era gerado. Assim, todos os problemas dessa base de dados satisfazem a desigualdade triangular. O AMPL foi utilizado para implementar as formulaes MPMDT e a de Gomes Jr. et al. (2007). Estes modelos de programao matemtica foram resolvidos pelo otimizador CPLEX, verso 10.1, da ILOG. O algoritmo para determinao do conjunto H utilizado no MPMDT (GPV) foi implementado na linguagem C, usando-se o compilador Dev-C++, verso 2.9.9.2. Os testes foram realizados em um computador AMD Turion(tm) 64 X2 TL-58 1900 MHz, com 2 GB de RAM, sob sistema operacional Windows XP. Os parmetros do algoritmo GPV foram calibrados empiricamente, sendo GRASPMax = 16 e MRDMax = 7n. O conjunto utilizado o mesmo de Gomes Jr. et al. (2007), ou seja, = {0,02; 0,04; 0,12; 0,14}. Considerou-se, ainda, o limite de 3600 segundos para o CPLEX obter cada soluo. Para os

problemas em que este limite de tempo foi atingido, a soluo retornada no necessariamente tima; porm, retornado, pelo CPLEX, um limite inferior para o timo de tal problema. Este limite foi utilizado para mensurar a qualidade da soluo retornada, sendo o gap calculado como: gap ( f CPLEX L ) L 100% (10)

em que

f CPLEX e L representam, respectivamente, o valor da soluo e o limite inferior encontrados pelo otimizador. Se a soluo tima encontrada, tem-se gap = 0. Os resultados encontrados para o MPMDT e para o modelo de Gomes Jr. et al. (2007) so resumidos na Tabela 1. Na primeira coluna indica-se o nmero de tarefas do grupo de problemasteste e na segunda, o tempo mdio despendido pelo algoritmo GPV para mensurar o conjunto H do MPMDT. Para cada um dos modelos so apresentadas as mdias dos gaps encontrados e as mdias dos tempos demandados pelo CPLEX.

Tabela 1: Comparao modelo proposto por Gomes Jr. et al. (2007) MPMDT Nmero de Tarefas 06 07 08 09 10 11 12 13 14 GPV Tempo Mdio (s) 0,13 0,11 0,21 0,30 0,47 0,63 1,03 1,53 2,23 MPMDT Mdia dos gaps Tempo (%) Mdio (s) 0,00 5,40 0,00 15,74 0,00 34,64 0,00 56,30 0,00 149,00 0,00 412,47 1,45 862,03 1,77 1296,35 1,56 2052,93 Gomes Jr. et al. (2007) Mdia dos gaps Tempo (%) Mdio (s) 0,00 0,18 0,00 1,69 0,00 16,51 0,00 226,25 14,99 1809,11 41,59 2628,39 66,88 3378,70 68,42 3075,20 71,57 3267,77

Pela Tabela 1, observa-se que, por meio do modelo de programao matemtica proposto por Gomes Jr. et al. (2007), o CPLEX somente conseguiu encontrar a soluo tima de todos os problemas-teste com at 9 tarefas. Para os problemas-teste com 10 tarefas, apesar da mdia dos gaps ser 14,99%, a soluo tima foi encontrada apenas em 62,5% dos problemas. Para os problemas-teste com mais de 10 tarefas, a mdia dos gaps foi sempre superior a 41% e a soluo tima foi encontrada em, no mximo, 31,25% dos problemas. Por outro lado, usando-se a formulao MPMDT proposta, combinada com o algoritmo GPV, o CPLEX conseguiu encontrar todas as solues timas dos problemas-teste com at 11 tarefas. Alm disso, o tempo computacional demandado foi menor para a resoluo de problemas com 9 ou mais tarefas, mesmo adicionando-se o tempo gasto pelo algoritmo para determinar o horizonte de planejamento. Finalmente, para os casos em que a formulao proposta no foi capaz de gerar a soluo tima no tempo limite estabelecido, a mdia dos gaps foi bem menor; no caso, menor ou igual a 1,77%, contra 71,57% da formulao anterior. Os resultados dos problemas-teste envolvendo 15 e 16 tarefas no foram apresentados porque o CPLEX aplicado formulao MPMDT associada ao algoritmo GPV sequer foi capaz de encontrar uma soluo vivel em 12,5% dos problemas-teste com 15 tarefas, bem como em 31,25% dos problemas-teste com 16 tarefas. Contudo, para os casos em que essa formulao conseguiu gerar uma soluo vivel, os gaps finais mdios foram bem baixos (2,66% em problemas com 15 tarefas e 4,39% nos de 16 tarefas), se comparados com aqueles produzidos pela formulao de Gomes Jr. et al. (2007), os quais foram sempre superiores a 70%. 7. Concluses Este trabalho tratou o problema de sequenciamento em uma mquina com penalidades por

antecipao e atraso da produo (PSUMAA-JE-TP), considerando janelas de entrega distintas e tempo de preparao da mquina dependente da sequncia de produo. Foi utilizado um modelo de programao matemtica (MPMDT), o qual faz uma discretizao do tempo. Para mensurar o horizonte de planejamento H a ser utilizado na formulao MPMDT, foi proposto um algoritmo heurstico, denominado GPV, baseado nos procedimentos GRASP, Princpio da Otimalidade Prxima e Busca em Vizinhana Varivel. O otimizador CPLEX 10.1 foi utilizado para resolver o MPMDT e tambm o modelo de programao inteira mista proposto por Gomes Jr. et al. (2007) e foi aplicado em problemas-teste com at 16 tarefas e com tempos de setup no necessariamente simtricos, o que torna a base de dados mais genrica que a utilizada por Gomes Jr. et al. (2007). Ambos os modelos permitiram ao CPLEX encontrar a soluo tima em todos os problemas-teste com at 9 tarefas. O MPMDT associado ao algoritmo GPV se mostrou mais eficiente que o modelo de Gomes Jr. et al. (2007) na resoluo de problemas com at 14 tarefas, visto que, para os problemas-teste com mais de 9 tarefas, o MPMDT com o algoritmo GPV proporcionou ao CPLEX encontrar solues de melhor qualidade e em menor tempo computacional que o modelo anterior da literatura. Isto permite concluir, tambm, que o GPV capaz de encontrar, em pouco tempo computacional, bons limites para o conjunto H, apesar de no garantir que a soluo tima est contida dentro dos limites retornados. Para os problemas com mais de 14 tarefas, os dois modelos no permitiram ao otimizador encontrar bons resultados sempre, sendo que a formulao MPMDT no foi capaz em alguns casos de encontrar uma soluo vivel para o problema. Apesar disso, para os problemasteste em que uma soluo vivel foi encontrada, o procedimento proposto proporcionou gaps mdios bem baixos (no mximo 1,77%), quando comparados com a formulao de Gomes Jr. et al. (2007), que chegou a encontrar gap mdio de 71,57%. Agradecimentos O primeiro autor agradece ao CEFET-MG pela bolsa de pesquisa e o terceiro, ao CNPq (processo 474831/2007-8) e FAPERJ (processo E-26/101.023/2007), pelo apoio ao desenvolvimento da presente pesquisa. Referncias Alidaee, B. e Dragan, I. (1997) A note on minimizing the weighted sum of tardy and early completion penalties in a single machine: A case of small common due date, European Journal of Operational Research, 96, 559-563. Allahverdi, A., Gupta, J. N. D. e Aldowaisan, T. (1999), A review of scheduling research involving setup considerations, Omega: The International Journal of Management Science, 27, 219-239. Baker, K. R. e Scudder, G. D. (1990), Sequencing with earliness and tardiness penalties: A review, Operations Research, 38, 2236. Bustamante, L. M., Minimizao do Custo de Antecipao e Atraso para o Problema de Sequenciamento de uma Mquina com Tempo de Preparao Dependente da Sequncia: Aplicao em uma Usina Siderrgica, Dissertao de mestrado, Programa de Ps-Graduao em Engenharia de Produo, UFMG, Belo Horizonte, 2006. Chang, P. C. (1999), A Branch and Bound Approach for Single Machine Scheduling with Earliness and Tardiness Penalties, Computers & Mathematics with Applications, 37, 133-144. Christofoletti, L. M., Mtodos de Reincio Aplicados ao Sequenciamento em Uma Mquina com Tempos de Preparao e Datas de Entrega, Dissertao de mestrado, Faculdade de Engenharia Eltrica e de Computao, UNICAMP, Campinas, 2002. de Paula, M. R., Heursticas para a Minimizao dos Atrasos em Sequenciamento de Mquinas Paralelas com Tempos de Preparao Dependentes da Sequncia, Dissertao de Mestrado, Programa de Ps-Graduao em Cincias da Computao, UFMG, Belo Horizonte, 2008. Feo, T. A. e Resende, M. G. C. (1995), Greedy randomized adaptive search procedures, Journal of Global Optimization, 6, 109-133.

Frana Filho, M. F., GRASP e Busca Tabu aplicados a problemas de programao e tarefas em mquinas paralelas, Tese de doutorado, Departamento de Engenharia de Sistemas, UNICAMP, Campinas, 2007. Glover, F. e Laguna, M. (1997), Tabu Search, Kluwer Academic Publishers. Gomes Jr., A. C., Carvalho, C. R. V., Munhoz, P. L. A. e Souza, M. J. F. (2007), Um mtodo heurstico hbrido para a resoluo do problema de sequenciamento em uma mquina com penalidades por antecipao e atraso da produo, In Anais do XXXIX Simpsio Brasileiro de Pesquisa Operacional, SBPO, 649-1660. Gupta, S. R. e Smith, J. S. (2006), Algorithms for single machine total tardiness scheduling with sequence dependent setups, European Journal of Operational Research, 175, 722-739. Koulamas, C. (1996), Single-machine scheduling with time windows and earliness/tardiness penalties, European Journal of Operational Research, 91, 190-202. Lee, C. Y. e Choi, J. Y. (1995), A Genetic Algorithm for Job Sequencing Problems with Distinct Due Dates and General Early-Tardy Penalty Weights, Computers & Operations Research, 22, 857-869. Li, G. (1997), Single Machine Earliness and Tardiness Scheduling, European Journal of Operational Research, 96, 546558. Liaw, C.-F. (1999), A branch-and-bound algorithm for the single machine earliness and tardiness scheduling problem, Computers & Operations Research, 26, 679-693. Mazzini, R. e Armentano, V. A. (2001), A Heuristic for Single Machine Scheduling with Early and Tardy Costs, European Journal of Operational Research, 128, 129-146. Mladenovic, N. e Hansen, P. (1997), Variable Neighborhood Search, Computers and Operations Research, 24, 1097-1100. Panwalkar, S. S., Dudek, R. A. e Smith, M. L. (1973), Sequencing research and the industrial scheduling problem, In Elmaghraby SE (Eds), Symposium on the Theory of Scheduling and its Applications. Springer: Berlin, 29-38. Rabadi, G., Mollaghasemi, M. e Anagnostopoulos, G. C. (2004), A Branch-and-Bound Algorithm for the Early/Tardy Machine Scheduling Problem with a Common due-date and Sequence-Dependent Setup Time, Computers & Operations Research, 31, 17271751. Souza, M. J. F., Penna, P. H. V. e Gonalves, F. A. C. A. (2008a), GRASP, VND, Busca Tabu e Reconexo por Caminhos para o problema de sequenciamento em uma mquina com tempos de preparao dependentes da sequncia da produo, janelas de entrega distintas e penalidades por antecipao e atraso da produo, In Anais do XL Simpsio Brasileiro de Pesquisa Operacional, SBPO, 1320-1331. Souza, M. J. F., Penna, P. H. V., Gonalves, F. A. C. A. e Ochi, L. S. (2008b), Uma heurstica hbrida para minimizar custos com antecipao e atraso em sistemas de produo com janelas de entrega e tempos de preparao dependentes da sequncia, In Anais do XI Simpsio de Pesquisa Operacional e Logstica da Marinha, SPOLM, CD-ROM, 16 p. Valente, J. M.S. e Alves, R. A. F. S. (2005), Improved heuristics for the early/tardy scheduling problem with no idle time, Computers & Operations Research, 32, 557-569. Wan, G. e Yen, B. P. C. (2002), Tabu Search for Single Machine Scheduling with Distinct Due Windows and Weighted Earliness/Tardiness Penalties, European Journal of Operational Research, 142, 271-281. Ying, K. C. (2008), Minimizing earlinesstardiness penalties for common due date singlemachine scheduling problems by a recovering beam search algorithm, Computers & Industrial Engineering, 55, 494-502.

Formulaes de Programao Matemtica para o Problema co ca a de Seq enciamento em uma Mquina com Janelas de u a Entrega Distintas e Tempo de Preparao ca Dependente da Seqncia de Produo ue ca
Bruno F. Rosa, Srgio R. de Souza, e
Programa de Ps-graduaao em Modelagem Matemtica e Computacional, CEFET-MG, o c a 30510-000, Belo Horizonte, MG E-mail: brunofazmat@dppg.cefetmg.br, sergio@dppg.cefetmg.br

Marcone J. F. Souza
UFOP - Departamento de Computaao c Campus Universitrio a 35.400-000, Ouro Preto, MG E-mail: marcone@iceb.ufop.br.

Resumo: Este trabalho trata do problema de seqenciamento em uma mquina em que o tempo u a de preparaao depende da seqncia de produao. No problema abordado, cada tarefa possui c ue c uma janela de tempo, dentro da qual deve ser preferencialmente conclu da. O objetivo a ser satisfeito minimizar a soma ponderada dos atrasos e antecipaoes na produao de tais tarefas. e c c Duas novas formulaoes de programaao matemtica so propostas para representar o problema, c c a a sendo a primeira delas um aperfeioamento de uma formulaao da literatura, e, a outra, uma c c formulaao indexada no tempo. Experimentos computacionais mostram que a formulaao indec c xada no tempo possibilita encontrar soluoes de melhor qualidade em menor tempo que as outras c duas formulaoes. c Palavras-chave: Seqenciamento em Uma Mquina, Penalidades por Antecipaao e Atraso, u a c Modelagem Matemtica Indexada no Tempo. a

Introduo ca

O problema de seqenciamento em uma mquina com penalidades por antecipao e atraso u a ca da produo (PSUMAA) consiste em seqenciar e determinar o momento em que as tarefas ca u devem ser executadas em uma mquina, com o objetivo de minimizar a soma ponderada das a antecipaes e dos atrasos na produo de tais tarefas. Neste problema, cada tarefa est assoco ca a ciada a um tempo de processamento e a uma data desejada para sua entrega. Alm disso, aps e o a concluso de uma tarefa, necessrio preparar a mquina para a execuo da tarefa seguinte. a e a a ca Segundo [1], o tempo de preparao da mquina, tambm conhecido como tempo de setup, ca a e aparece em um grande nmero de aplicaes do PSUMAA. Este tempo de preparao ocorre u co ca principalmente em empresas que produzem diversos tipos de produtos, sendo, assim, necessria a a troca do tipo de tarefa executada na mquina. Nele so inclu a a dos os tempos gastos para trocar as ferramentas, preparar os materiais, limpar a mquina, dentre outras questes. A maioria dos a o trabalhos em problemas de seqenciamento assume que os tempos de setup so independentes da u a seqncia de produo, ou seja, que esses tempos so ou desprez ue ca a veis ou podem ser acrescentados aos tempos de processamento das tarefas. Apesar disso, em grande parte das situaes prticas, co a os tempos de setup so dependentes da seqncia de produo [6]. a ue ca As datas de entrega podem ser comuns (common due date) ou distintas (distinct due dates). Uma abordagem genrica do PSUMAA considera a existncia de janelas de entrega distintas, e e

em que h um determinado per a odo de tempo associado a cada tarefa, dentro do qual a tarefa deve ser preferencialmente conclu da. De acordo com [9], este ultimo caso ocorre quando existem tolerncias em torno das datas desejadas para a entrega de cada tarefa. Deste modo, as tarefas a conclu das dentro de suas respectivas janelas de entrega no ocasionam penalidades, ao contrrio a a daquelas conclu das fora de suas janelas de entrega. Existem trabalhos sobre o PSUMAA nos quais a ociosidade da mquina no permitida. a a e Conforme [7], h situaes em que manter a mquina parada mais custoso que a antecipao a co a e ca de uma tarefa, ou outras, em que a demanda superior ` capacidade da mquina. Por outro e a a lado, [4] arma que h casos em que manter a mquina inativa vantajoso, ainda que exista a a e uma tarefa dispon para processamento. vel Na literatura, so encontrados muitos trabalhos com o objetivo de resolver o PSUMAA. Isto a se deve ao fato de ser um problema com muitas aplicaes industriais, de um lado, e, de outro, co dif de ser resolvido na otimalidade, dado que se trata de um problema NP-dif [1]. cil cil Neste trabalho, estudado o PSUMAA com janelas de entrega distintas, tempo de preparao e ca da mquina dependente da seqncia de produo, sendo permitidos tempos ociosos entre as a ue ca execues de tarefas consecutivas. Apesar de ser uma generalizao do PSUMAA, esta verso co ca a tem recebido pouca ateno. Dentre os trabalhos que tratam desta verso generalizada do ca a problema, a maioria tem seu foco em procedimentos heur sticos para resolv-lo. Apenas no e trabalho de [2] e no trabalho de [5] so propostos mtodos exatos para resolver tal problema. a e Em [2] estudado o caso real de uma indstria siderrgica, em que uma mquina consie u u a e derada como sendo uma seqncia de laminadores e cada tarefa representa a produo de um ue ca determinado produto (barra chata, cantoneira, vergalho, etc.). So desenvolvidos dois modelos a a de programao linear inteira mista (PLIM), os quais, no entanto, exigem que os tempos de ca setup satisfaam ` desigualdade triangular. Apesar de ser considerado o caso com janelas de c a entrega, os testes computacionais foram realizados em problemas-teste com datas de entrega distintas. Foram resolvidos na otimalidade problemas com at 10 tarefas por meio do software e de otimizao GLPK, verso 4.8. ca a J em [5] proposto um modelo de PLIM baseado em uma das formulaes de programao a e co ca matemtica apresentadas por [2]. Porm, este modelo no exige que os tempos de setup saa e a tisfaam ` desigualdade triangular. Por meio do otimizador CPLEX, verso 9.1, foram enconc a a trados os timos em problemas-teste com at 12 tarefas e com tempos de setup simtricos. Os o e e autores propem tambm um algoritmo heur o e stico, baseado em GRASP, Iterated Local Search e Variable Neighborhood Descent. Para cada seqncia de tarefas gerada por esse algoritmo, ue e acionado um procedimento de complexidade polinomial para determinar a data tima de in o cio de processamento das tarefas na seqncia dada. ue No presente trabalho, proposta uma formulao matemtica indexada no tempo para repree ca a sentar o problema em foco. E apresentado tambm um novo modelo de PLIM, baseado naquele e proposto por [5], com menor nmero de variveis e restries. Estes dois modelos, bem como u a co o modelo proposto por [5], so utilizados para resolver problemas-teste por meio do otimizador a CPLEX, verso 10.1, sendo realizada uma comparao entre os resultados encontrados. a ca Este trabalho est organizado do seguinte modo. Na Seo 2 feita uma descrio detalhada a ca e ca do problema estudado. O modelo de PLIM proposto por [5], um modelo de PLIM baseado neste ultimo e uma formulao de programao matemtica indexada no tempo so apresentados ca ca a a nas Sees 3, 4 e 5, respectivamente. Na Seo 6 so apresentados e discutidos os resultados co ca a encontrados, enquanto a Seo 7 conclui o trabalho. ca

Descrio do problema ca

O PSUMAA abordado neste trabalho possui as seguintes caracter sticas: (i ) Uma mquina a deve processar um conjunto I de n tarefas; (ii ) A cada tarefa i I est associado um tempo de a processamento Pi ; uma janela de entrega [Ei , Ti ], na qual a tarefa i deve ser preferencialmente conclu da; um custo i por unidade de tempo de antecipao; e um custo i por unidade de ca tempo de atraso. H antecipao de uma tarefa i I quando seu processamento conclu a ca e do

antes de Ei e h atraso quando seu processamento conclu depois de Ti ; (iii ) As tarefas que a e do forem conclu das dentro de suas respectivas janelas de entrega no geram custo; (iv ) A mquina a a executa no mximo uma tarefa por vez e, uma vez iniciado o processamento de uma tarefa, no a a permitida a sua interrupo; (v ) Todas as tarefas esto dispon e ca a veis para processamento na data 0; (vi ) Entre duas tarefas i e j consecutivas necessrio um tempo Sij de preparao da e a ca mquina, chamado tempo de setup; (vii ) Assume-se que o tempo de preparao da mquina a ca a para o processamento da primeira tarefa na seqncia igual a 0; (viii ) E permitido tempo ue e ocioso entre a execuo de duas tarefas consecutivas. ca O objetivo determinar a seqncia de produo e as datas de in de produo das tarefas, e ue ca cio ca de forma a minimizar a soma ponderada das antecipaes e dos atrasos. co

Modelo MPLIM-G

Nesta seo, apresenta-se o modelo de programao linear inteira mista (PLIM) proposto ca ca por [5], doravante denotado por MPLIM-G. Para auxiliar na modelagem, so utilizadas duas a tarefas ct cias, 0 (zero) e n + 1, que devem ser seqenciadas necessariamente na primeira e na u ultima posio, respectivamente. Admite-se que P0 e Pn+1 so iguais a zero e que S0i = Si0 = 0 ca a e Si,n+1 = Sn+1,i = 0, i I. A data de in do processamento da tarefa j I {0, n + 1} e os cio tempos de antecipao e atraso da tarefa i I so representados por si , ei e ti , respectivamente. ca a Sejam yij variveis que determinam a sequncia de produo, sendo yij = 1 se a tarefa j a e ca for sequenciada imediatamente aps a tarefa i e yij = 0, caso contrrio, i, j I {0, n + 1}. o a Considere, ainda, uma constante M de valor sucientemente grande. O modelo MPLIM-G e representado pelas n equaes (1)-(10): co min Z=
i=1

(i ei + i ti ) sj = 1 = 1

(1) i I {0}, j I {n + 1} e i = j (2) i I {0} j I {n + 1} iI iI i I {0, n + 1} i I iI (3) (4) (5) (6) (7) (8) (9) (10)

s.a. si + Pi + yij (M + Sij ) M


n+1

yij
j=1, j=i n

yij
i=0, i=j

si + Pi + ei Ei si + Pi ti Ti si 0 ei 0 ti 0 yij

{0, 1} i, j I {0, n + 1} e i = j

A funo objetivo, representada pela equao (1), busca a minimizao da soma ponderada das ca ca ca antecipaes e atrasos. As restries (2) garantem que existe tempo suciente para executar co co uma tarefa i e preparar a mquina antes do in do processamento da tarefa seguinte j. As a cio restries (3) e (4) garantem que cada tarefa ter apenas uma tarefa imediatamente sucessora co a e uma tarefa imediatamente antecessora, respectivamente. As restries (5) e (6) denem as co antecipaes e os atrasos de acordo com as respectivas janelas de entrega de cada tarefa. As co restries (7), (8), (9) e (10) dizem respeito ao tipo de variveis. co a

Modelo MPLIM-BG

O modelo de programao linear inteira mista (PLIM) apresentado a seguir baseado no ca e proposto por [5] (ver Seo 3) e ser denotado por MPLIM-BG. Diferentemente de tais autores, ca a utilizada apenas uma tarefa ct e cia, denominada 0 (zero), para auxiliar na modelagem. Esta tarefa sequenciada duas vezes, sendo uma na primeira posio e outra na ultima. Considera-se e ca que P0 = 0 e que S0i = Si0 = 0, i I.

Considerando as denies de si , ei , ti e yij tal como no MPLIM-G, tem-se que as variveis co a yn+1,i e yi,n+1 , i I {0}, e sn+1 deixam de ser necessrias no MPLIM-BG. Sendo assim, se a comparado ao MPLIM-G, no MPLIM-BG h reduo de 2n + 3 variveis e n + 1 restries, com a ca a co n representando o nmero de tarefas a serem sequenciadas. u Finalmente, o MPLIM-BG obtido do MPLIM-G substituindo-se as restries (2), (3), (4), e co (7) e (10) pelas restries (11), (12), (13), (14) e (15), respectivamente, apresentadas a seguir: co si + Pi + yij (M + Sij ) M
n

sj = 1 = 1

i I {0}, i I {0} j I {0} i I {0}

j I e i = j

(11) (12) (13) (14)

yij
j=0, j=i n

yij
i=0, i=j

si 0 yij

{0, 1} i, j I {0} e

i=j

(15)

Modelo MPLIM-IT

Prope-se, a seguir, um modelo de programao linear inteira mista (PLIM) indexado no o ca tempo para representar o PSUMAA abordado. Tal modelo, doravante denotado por MPLIM-IT, baseado no trabalho de [3], que utilizou a discretizao do tempo para modelar o problema de e ca minimizao dos atrasos em seqenciamento de mquinas paralelas com tempos de preparao ca u a ca dependentes da seqncia. O MPLIM-IT descrito a seguir. ue e Seja H = {h0 , h1 , h2 , . . . , hL } o conjunto com as poss veis datas de in de processamento cio das tarefas e considere xih variveis binrias, sendo xih = 1 se a tarefa i programada para a a e iniciar na data h e xih = 0, caso contrrio, i I e h H. a Se ei e ti representam, respectivamente, as unidades de tempo de antecipao e tempo de ca atraso da tarefa i I, a formulao MPLIM-IT pode ser escrita como: ca
n

min

Z=
i=1

(i ei + i ti ) xju 1
u=h HL

(16)

min(h+Pi +Sij 1,HL )

s.a. xih +

i, j I, h H e i = j iI iI iI i I iI

(17) (18) (19) (20) (21) (22) (23)

xih = 1
h=H0 HL

xih h + Pi + ei Ei
h=H0 HL

xih h + Pi ti Ti
h=H0

ei 0 ti 0 xih

{0, 1} i I e h H

A funo objetivo representada pela equao (16) tem como critrio de otimizao a minimizao ca ca e ca ca da soma ponderada das antecipaes e dos atrasos. As restries (17) garantem que existe tempo co co suciente para executar uma tarefa i e preparar a mquina antes do in do processamento da a cio tarefa seguinte j. As restries (18) garantem que cada tarefa seja executada uma unica vez. As co restries (19) e (20) denem as antecipaes e os atrasos de acordo com as respectivas janelas co co de entrega de cada tarefa. As restries (21), (22) e (23) determinam os dom co nios das variveis a do problema.

E importante observar que, diferentemente do MPLIM-G e do MPLIM-BG, o MPLIM-IT somente vlido se a desigualdade triangular for satisfeita pelos dados do problema, ou seja, se e a as condies (24) forem satisfeitas: co Sik Sij + Sjk + Pj i, j, k I, i = j, i = k e j = k (24)

No PSUMAA abordado neste trabalho, a execuo de qualquer tarefa pode ser iniciada em ca qualquer momento futuro e, portanto, caso tenha-se a garantia de que na seqncia tima de ue o um determinado problema o in cio do processamento da primeira tarefa no ocorre antes de a hinf e que o in do processamento da ultima tarefa no mximo hsup , conveniente tomar cio e a e H = {hinf , hinf + 1, hinf + 2, . . . , hsup }. Assim, como o MPLIM-IT fortemente sens e vel ` a cardinalidade de H, quanto menor o intervalo [hinf , hsup ], menor o nmero de variveis ter o u a a modelo.

Experimentos computacionais

Os modelos matemticos apresentados nas sees 3, 4 e 5 foram implementados usando o a co modelador AMPL e resolvidos pelo otimizador CPLEX, verso 10.1, da ILOG. Os testes foram a realizados em um computador AMD Turion(tm) 64 X2 TL-58 1900 MHz, com 2 GB de RAM, sob plataforma Windows XP. Foram gerados problemas-teste baseados nos trabalhos de [8] e [9], conforme a seguir se descreve. Dada uma tarefa i, o tempo de processamento (Pi ), o custo por unidade de atraso (i ) e o custo por unidade de antecipao (i ) so nmeros inteiros selecionados aleatoriamente ca a u dentro dos intervalos [1, 40], [1, 10] e [1, i ], respectivamente. O centro da janela de entrega de i e um valor inteiro aleatrio dentro do intervalo [(1F AVRJ/2)TTP, (1FA+VRJ/2)TTP], o em que TTP o tempo total de processamento de todos as tarefas, FA o fator de atraso e e e VRJ a variao relativa da janela de entrega. O tamanho da janela de entrega um valor e ca e inteiro selecionado aleatoriamente no intervalo [0, TTP/n], sendo n o nmero de tarefas. Para u toda tarefa j = i, o tempo de setup (Sij ) um nmero inteiro aleatrio pertencente ao intervalo e u o [5, 15]. Assim, diferentemente de [5], os tempos de setup no so necessariamente simtricos. a a e Foram gerados conjuntos de problemas-teste com 6, 7, 8, 9, 10, 11, 12, 13 e 14 tarefas, respectivamente, sendo utilizados os valores 0,1; 0,3; 0,5 e 0,8 para FA e 0,4; 0,7; 1,0 e 1,3 para VRJ. Sendo assim, h 16 problemas-teste em cada conjunto. Durante a geraao dos problemas-teste, a c sempre que um problema gerado no satisfazia a desigualdade triangular, ele era descartado a e outro problema com os mesmos valores para FA e VRJ era gerado. Desta forma, todos os problemas da base de dados satisfazem ` desigualdade triangular. a Para os modelos MPLIM-G e MPLIM-BG, foi utilizado M = 1000. Para cada problemateste, o conjunto H do MPLIM-IT foi determinado pelas expresses (25) e (26): o
hinf = max 0, min Ti | i I
iI

+ min Sij | i, j I e i = j Pi
iI

(25)

max Sij | j I e i = j max Sij | j I e i = j


iI

hsup

max Ei | i I

+
iI

Pi +

min Sij | i, j I e i = j

min Pi | i I

(26)

min min Pi | i I , max Ei | i I

em que hinf garante que todas as tarefas podem ser conclu das sem atraso (ou o processamento da primeira tarefa iniciado na data 0) e hsup assegura que todas as tarefas podem ser executadas e sem antecipao. Portanto, tem-se a garantia de que as datas de in de processamento das ca cio tarefas na seqncia tima pertencem ao conjunto H = {hinf , hinf + 1, hinf + 2, , hsup }. ue o Considerou-se, ainda, o limite de 3600 segundos para resoluo de cada problema pelo ca CPLEX. Para os problemas em que este limite de tempo atingido, a soluo retornada no e ca a e

necessariamente tima; porm, retornado, pelo CPLEX, um limite inferior para o timo do o e e o mesmo. Este limite utilizado para medir a qualidade da soluo retornada, dada pela equao: e ca ca gap = (f CPLEX L) 100% L (27)

em que f CPLEX e L representam o valor da soluo e o limite inferior encontrados, respectivaca mente. Se uma soluo tima encontrada, tem-se gap = 0. ca o e Os resultados encontrados para o MPLIM-G, para o MPLIM-BG e para o MPLIM-IT so a resumidos na Tabela 1, na qual a primeira coluna indica o nmero de tarefas existentes em cada u conjunto de problemas-teste. Para cada conjunto de problemas, as colunas Otimos Encontrados mostram (em porcentagem) em quantos problemas o CPLEX encontrou uma soluo tima ca o para os respectivos modelos, as colunas gap mostram as mdias dos gaps para os respectivos e modelos e as colunas Tempo mostram as mdias dos tempos (em segundos) demandados por e tal otimizador na resoluo dos problemas-teste com os respectivos modelos. ca Tabela 1: Comparaao MPLIM-G MPLIM-BG MPLIM-IT. c MPLIM-G MPLIM-BG MPLIM-IT
Otimos gap Tarefas Encontrados

Tempo

Otimos gap Encontrados

Tempo

Otimos gap Encontrados

Tempo

06 07 08 09 10 11 12

(%) 100,00 100,00 100,00 100,00 62,50 31,25 6,25

(%) 0,00 0,00 0,00 0,00 14,99 41,59 66,88

(s) 0,18 1,69 16,51 226,25 1809,11 2628,39 3378,70

(%) 100,00 100,00 100,00 100,00 68,75 31,25 6,25

(%) 0,00 0,00 0,00 0,00 14,84 40,61 67,03

(s) 0,16 1,78 19,00 249,67 1796,76 2658,07 3380,08

(%) 100,00 100,00 100,00 100,00 100,00 100,00 93,75

(%) 0,00 0,00 0,00 0,00 0,00 0,00 0,38

(s) 8,77 20,96 34,67 79,24 196,17 453,88 845,25

Pela Tabela 1, observa-se que o MPLIM-G e o MPLIM-BG apresentaram comportamentos bem semelhantes. Usando-se esses dois modelos, o CPLEX foi capaz de resolver na otimalidade somente problemas-teste com at 9 tarefas. Por outro lado, com o modelo MPLIM-IT, e o CPLEX conseguiu resolver na otimalidade todos os problemas-teste de at 11 tarefas. Alm e e disso, enquanto as duas primeiras formulaes permitiam ao CPLEX resolver na otimalidade co apenas 6,25% dos problemas-teste envolvendo 12 tarefas, utilizando-se a formulao MPLIM-IT ca foi poss vel solucionar na otimalidade 93,75% do mesmo conjunto de problemas. Esta ultima formulao tambm exigiu, na maioria dos casos, um menor tempo computacional para se alca e canar a otimalidade. De fato, ` exceo dos trs primeiros conjuntos de problemas-teste, a c a ca e formulao MPLIM-IT demandou aproximadamente de 3 a 9 vezes menos tempo que as demais ca formulaes. Ainda na Tabela 1, nota-se que a formulao MPLIM-IT permitiu determinar, co ca para os problemas-teste com 12 tarefas, dentro do limite de tempo adotado, solues tendo gap co de 0,38%, em contraste ao valor obtido pelas duas outras formulaes avaliadas (MPLIM-G e co MPLIM-BG), que obtiveram gap de 66,88% e 67,03%, respectivamente. Apesar de no ser mostrado na Tabela 1, o CPLEX com o MPLIM-IT no conseguiu sequer a a encontrar uma soluo vivel, dentro do limite de tempo adotado, em 6,25% dos problemas-teste ca a com 13 tarefas e em 56,25% dos problemas-teste com 14 tarefas. Com os outros dois modelos, o gap retornado para estes problemas foi superior a 68%.

Concluses o

Este trabalho tratou o problema de sequenciamento em uma mquina com penalidades por a antecipao e atraso da produo (PSUMAA), considerando janelas de entrega distintas e tempo ca ca de preparao da mquina dependente da seqncia. Foi apresentada uma nova formulao de ca a ue ca programao matemtica para o problema (MPLIM-BG), a qual exige um nmero menor de ca a u

variveis e restries em relao `quela proposta por [5] (MPLIM-G). Props-se, tambm, uma a co ca a o e formulao matemtica indexada no tempo (MPLIM-IT) para representar o PSUMAA. ca a O otimizador CPLEX 10.1 foi utilizado para resolver as trs formulaes matemticas em e co a tela, aplicadas em problemas-teste com at 14 tarefas. Os resultados computacionais mostram e que as formulaes MPLIM-G e MPLIM-BG proporcionam resultados semelhantes e que a forco mulao MPLIM-IT mais eciente que estas duas na resoluo de problemas com at 12 tarefas, ca e ca e visto que esta ultima proporcionou ao CPLEX encontrar solues com garantia de melhor qua co lidade e com menor tempo mdio de processamento que as demais. Para os problemas-teste e com mais de 12 tarefas, devido ao limite de tempo estabelecido para o CPLEX retornar uma soluo, os resultados obtidos no permitem uma comparao efetiva entre os trs modelos. ca a ca e Como trabalhos futuros, sugere-se o estudo de propriedades do PSUMAA que permitam reduzir a cardinalidade do conjunto H da formulao MPLIM-IT, dado que a mesma fortemente ca e dependente de tal conjunto.

Agradecimentos
O primeiro autor agradece ao CEFET-MG pela bolsa de pesquisa e o terceiro, ao CNPq (processo 474831/2007-8) e ` FAPERJ (processo E-26/101.023/2007), pelo apoio ao desenvolvimento a da presente pesquisa.

Referncias e
[1] A. Allahverdi, J. N.D. Gupta e T. Aldowaisan, A review of scheduling research involving setup considerations, Omega: International Journal of Management Science, 27 (1999) 219-239. [2] L. M. Bustamante, Minimizao do custo de antecipao e atraso para o problema de ca ca sequenciamento de uma mquina com tempo de preparao dependente da sequncia: a ca e aplicao em uma usina siderrgica, Dissertao de Mestrado, DEP-UFMG, 2007. ca u ca [3] M. R. de Paula, Heur sticas para a minimizao dos atrasos em seqenciamento de ca u mquinas paralelas com tempos de preparao dependentes da seqncia, Dissertao de a ca ue ca Mestrado, DCC-UFMG, 2008. [4] M. F. Frana Filho, GRASP e Busca Tabu aplicados a problemas de programao de c ca tarefas em mquinas paralelas, Tese de Doutorado, FEEC-Unicamp, 2007. a [5] A. C. Gomes Jnior, C. R. V. Carvalho, P. L. A. Munhoz e M. J. F. Souza, Um mtodo u e heur stico h brido para a resoluo do problema de sequenciamento em uma mquina com ca a penalidades por antecipao e atraso da produo, em Anais do XXXIX Simpsio Brasica ca o leiro de Pesquisa Operacional, pp. 1649-1660, SOBRAPO, Fortaleza, 2007. [6] S. R. Gupta e J. S. Smith, Algorithms for single machine total tardiness scheduling with sequence dependent setups, European Journal of Operational Research, 175 (2006) 722-739. [7] G. Li, Single machine earliness and tardiness scheduling, European Joumal of Operational Research, 96 (1997) 546-558. [8] G. Rabadi, M. Mollaghasemi e G. C. Anagnostopoulos, A branch-and-bound algorithm for the early/tardy machine scheduling problem with a common due-date and sequencedependent setup time, Computers & Operations Research, 31 (2004) 1727-1751. [9] G. Wan e B. P.-C. Yen, Tabu search for single machine scheduling with distinct due windows and weighted earliness/tardiness penalties, European Journal of Operational Research, 142 (2002) 271-281.

A hybrid heuristic algorithm based on GRASP, VND, ILS and Path Relinking for the open-pit-mining operational planning problem Igor Machado Coelho Sabir Ribas imcoelho@ic.uff.br sribas@ic.uff.br Fluminense Federal University, Computer Science Institute, Niter i, 24210-240, RJ, Brazil o Marcone Jamilson Freitas Souza Vitor Naz rio Coelho a marcone@iceb.ufop.br vncoelho@gmail.com Federal University of Ouro Preto, Department of Computer Science, Ouro Preto, 35400-000, MG, Brazil Luiz Satoru Ochi satoru@ic.uff.br Fluminense Federal University, Computer Science Institute, Niter i, 24210-240, RJ, Brazil o Abstract. This work deals with dynamic truck allocation in open-pit-mining operational planning. The objective is to optimize mineral extraction in the mines by minimizing the number of mining trucks used to meet production goals and quality requirements. According to literature, this problem is NP-hard, therefore heuristic strategies are justied. We present a hybrid algorithm that combines the power of three metaheuristics, Greedy Randomized Adaptive Search Procedure, Variable Neighborhood Descent and Iterated Local Search, as well as a mathematical programming module that is triggered periodically to solve smaller parts of the problem in optimality, and a post optimization module based on Path Relinking approach. The proposed algorithm was tested in a set of instances based on real-life problems and the results were compared with other metaheuristics-based strategies available in the literature and with an optimization solver. The computational experiments show that the developed algorithm is competitive, since it can obtain good quality solutions in an acceptable execution time. Keywords: Open-pit-mining, Metaheuristics, Iterated Local Search, GRASP, Path Relinking

1.

INTRODUCTION

This work deals with dynamic truck allocation in Open-Pit-Mining Operational Planning (OPMOP). The situation involves mineral extraction (ore and waste rocks), as well as the equipment (shovels and mining trucks) used in the operation. Also taken into consideration are several ore control parameters (e.g., % iron, % silica, and water). The objective is to determine the extraction rate at each pit in a way that production and quality goals are satised, and to minimize the number of trucks needed for the process. The problem considers that only mining trucks are used to transport the material from the loading points (pits) to the unloading points (either the crusher or the waste rock deposit). It is considered, too, that there are shovels of different productivities and their set is smaller than the number of pits they can be allocated to. Given the high cost of a shovel, a minimum quantity of extrac mineral is required to justify its use. In the dynamic allocation system, the trucks are not xed to a specic shovel/or pit. They can be directed to different pits, which increases the eet productivity, reducing the amount of equipment needed to maintain a certain level of production. In this system it is also possible to decrease the time of the queue, since the truck can be allocated to different loading points. The disadvantages of dynamic vehicle allocation are: the demand for a greater number of operations; and a computerized dispatching system for the mining trucks. The problem in focus has the Multiple Knapsack Problem (MKP) as a subproblem. In fact, the analogy can be made by considering each shovel like a knapsack and the loads (ore or waste rock) of the trucks as the items. In this analogy, the goal is to determine which loads are the most attractive to allocate to each knapsack, respecting its capacity (productivity). Thus, as MKP belongs to the NP-hard class (Papadimitriou and Steiglitz, 1998), OPMOP does too. Since in real cases the decision must be fast and it is unlikely that optimum solutions would be obtained by exact techniques in a short space of time, it is proposed to nd sub-optimal solutions for the problem by means of heuristic techniques. The proposed heuristic algorithm is based on the procedures Greedy Randomized Adaptive Search Procedures - GRASP (Feo and Resende, 1995), Variable Neighborhood Descent - VND (Mladenovic and Hansen, 1997) and Iterated Local Search - ILS (Lourenco et al., 2003). To test its efciency, the results from this algorithm were compared to those achieved by a market optimization software applied to a mathematical programming model also proposed in this work. The contribution of this work is the presentation of a more complete mathematical programming model of OPMOP than those found in literature. This model seeks to more faithfully depict a real operational mining industry environment. Moreover, it presents a new heuristic model not yet found in literature in order to solve the problem in focus. This paper is organized as follows. Section 2 shows the related work. Section 3 presents a mathematical programming formulation to OPMOP, while Section 4 presents a heuristic approach to the problem in focus. The testing scenarios are described in Section 5, while in the following section, the computational experiments are presented and analyzed. Section 7 concludes the work. 2. RELATED WORKS

White and Olson (1986) proposed an algorithm that is the basis for the DISPATCH System, which operates in many mines around the world. A solution is obtained in two steps. The rst, based on linear programming, handles the problem of ore mixture optimizing by minimizing costs considering the mining rate, the quality of the mixture, the ore feed rate to the plant for beneciation, and the material handling. The restrictions of the model are related to the pro-

duction capacity of the shovels, the quality of the mixture and the minimum feeding rate to the processing plant. The second stage of the algorithm, which is solved by dynamic programming, uses a model similar to White et al. (1982), differing from this by using a decision variable for the volume of material transported per hour on a given route, instead of the truck working rate per hour. Also considered is the presence of storage piles. In this second stage of the algorithm, the objective is to minimize material transportation in the mine. Sgurev et al. (1989) describe an automated system for real-time control of truck haulage in open-pit mines. This system is called TRASY and it is designed towards the improvement of the technical-economical indices of the loading-unloading process in open-pit mines where trucks are used as vehicles. The authors describe the two ways of organizing the trucks work: on a closed-circuit system and on an open-circuit system, so called dynamic allocation system in the present paper. The benets of the open-circuit system are shown and the authors describe the four modules of the TRASY system: conguration, control, monitoring and report. The authors conclude that the increase of the operation productivity in open-pit mines may be achieved by improving the effectiveness of the loading-haulage process control, so the introduction of automated systems for haulage vehicles control is one way to accomplish this goal. However, this system does not take into account the quality goals of the ore control parameters. Chanda and Dagdelen (1995) developed a linear programming model that solves the problem of mixed minerals in the short-term planning of a coal mine. The objective function of this model is the weighted sum of three distinct objectives: to maximize an economic criterion, to minimize production deviations, and to minimize quality deviations from the desired values of the control parameters. No allocation for the loading and transport equipment was considered in this model. Ezawa and Silva (1995) developed a system for dynamic truck allocation with the objective of reducing variability in the levels of the ore and increasing transport productivity. The system uses a heuristic to sequence the trucks in order to minimize changes in the levels. To validate it, the authors used a simulation and the theory of graphs for the mathematical modeling of the mine. Deploying this system transport productivity increased by 8% and management obtained more accurate data in real time. Alvarenga (1997) developed a program for the optimal dispatch of trucks in the iron mining of an open pit mine, with the objectives of minimizing the queue time of the trucks in the eet, increasing productivity and improving the quality of the extracted ore. In the work, which is the basis of the SMART MINE system widely used in various Brazilian mines, a technique of stochastic optimization was applied, using the genetic algorithm with parallel processing. Basically, the problem is to indicate the best point of tipping or loading and the trajectory for the movement, when there is a situation of choice to be made. The author pointed to productivity gains of 5% to 15%, proving the validity of the proposal. Merschmann (2002) developed an optimization system and simulation for analyzing the production scenario in open pit mines. The system, called OTISIMIN (Simulator and Optimizer for Mining), was developed in two modules. The rst is the optimization module where a linear programming model is constructed and solved, while the second is a simulation module that allows the user to use the results obtained by solving the linear programming model as input for the simulation. The optimization module was developed with the aim of optimizing the process of mixing the ores from the mining of several pits in order to meet the quality specications imposed by the treatment plant and allocating the equipment (trucks, shovels and / or excavators) to the pits, considering both static and dynamic truck allocation. The developed model does not consider production optimization and quality targets, or reduction of the number of trucks required by the production system.

Godoy and Dimitrakopoulos (2004) deals with the open pit mine design and production scheduling problem, with a view to nd the most protable mining sequence over the life of a mine. According to the authors the dynamics of mining ore and waste and the spatial grade uncertainty make predictions of the optimal mining sequence a challenging task. The authors show a risk-based approach to life-of-mine production scheduling, including the determination of optimum mining rates for the life of mine, whilst considering ore production, stripping ratios, investment in equipment purchase and operational costs; and the generation of a detailed mining sequence from the previously determined mining rates, focusing on spatial evolution of mining sequences and equipment utilization. The production scheduling stage uses a speciallydeveloped combinatorial optimization algorithm based on the Simulated Annealing metaheuristic. A new risk-based, multistage optimization process for long-term production scheduling is presented, and the results show the potential to considerably improve the valuation and forecasts for life-of-mine schedule. Guimaraes et al. (2007) presents a computational simulation model to validate the results obtained by applying a mathematical programming model to determine the mining rate in open pit mines. LINGO solver, version 7.0, is used for optimizing the problem and ARENA, version 7.0, simulate the solvers solution. Contrary to belief, the modeling demonstrate that by increasing the number of vehicles, the production goal is not met and is further deterred due to increased queue time. Thus, increasing the number of vehicles does not necessarily optimize mining operations. Boland et al. (2009) deals with the open pit mining production scheduling problem. The treated problem consists of nding the sequence in which the blocks should be removed from the pit, over the lifetime of the mine, such that the net present value (NPV) of the operation is maximized. Due to the large number of blocks and precedence constraints linking them, blocks are aggregated to form larger scheduling units. The authors investigated the characteristics of the problem and showed how the aggregates can be systematically divided into bins (groups of blocks) so that the solution of the linear programing (LP) relaxation with all processing decision variables fully disaggregated to block level (D-LP) can be recovered from the solution of our compactly disaggregated LP relaxation (B-LP) with processing decisions made at the level of bins. As the number of bins is much smaller than the number of blocks, using their binning approach, D-LP can be solved to optimality for much larger data instances than by a direct disaggregation approach. They showed that their approach can lead to signicant improvements in NPV. Coelho et al. (2008) presents a metaheuristics based algorithm to solve the OPMOP. It is also presented a more complete formulation of the mathematical programming model to solve the problem. The proposed model is an extension of the model of Costa (2005). Computational experiments compare the solutions of the metaheuristics approach and the mathematical programming model using the CPLEX solver. Results show that the metaheuristics approach can nd good solutions with low variability quickly, what did not occur with CPLEX in the computational experiments. Since the decision maker needs fast answers the proposed algorithm is validated to real applications. Ribas et al. (2009) proposes a parallel version of the Iterated Local Search metaheuristic to solve the OPMOP. The authors compare the sequential and parallel versions of the proposed algorithm, as well as with a metaheuristic-based algorithm from literature (Coelho et al., 2008). Also, a comparision was performed between the solutions found by the parallel algorithm and those obtained by a mathematical programming model. The results show the efciency of the parallel implementation since it solves the OPMOP with gains in the solutions quality of up to 242,13%.

3.

MATHEMATICAL FORMULATION

This section presents a mixed integer programming (MIP) model based on goal programming (Romero, 2004) to solve OPMOP. This model was proposed by Coelho et al. (2008) and it is an extension of the model of Costa (2005). The model refers to production planning for an hour, replicated while there isnt any exhausted pit and operational conditions of the mine remain the same. The objective is to minimize the deviations of the production and quality goals and to reduce the number of vehicles required for the operation. Let the parameters be: O : W : F : P : S : T : Or : Ol : Ou : Wr : Wl : Wu : : + : : + : pij : prj : plj : puj : : j + : j l : Qui : Txl : Slk : Suk : capl : ctil : glk : Set of ore pits; Set of waste rock pits; Set of ore and waste rock pits, ie, F = O W ; Set of control parameters analysed in the ore (% Fe, SiO2 , etc); Set of shovels; Set of mining trucks; Recommended rate of mining for ore (ton/h); Minimum rate of mining for ore (ton/h); Maximum rate of mining for ore (ton/h); Recommended rate of mining for waste rocks (ton/h); Minimum rate of mining for waste rocks (ton/h); Maximum rate of mining for waste rocks (ton/h); Penalty for negative deviation from the production of ore; Penalty for positive deviation from the production of ore; Penalty for negative deviation from the production of waste rocks; Penalty for positive deviation from the production of waste rocks; Percentage of the control parameter j in pit i (%); Recommended percentage for the control parameter j in the mixture (%); Minimum allowable percentage for the control parameter j in the mixture (%); Maximum allowable percentage for the control parameter j in the mixture (%); Penalty for a negative deviation of the control parameter j in the mixture; Penalty for a positive deviation of the control parameter j in the mixture; Penalty for use of the l-th truck; Maximum rate of mining for the pit i (ton/h); Maximum rate of use for the truck l (%); Minimum productivity for the shovel k (ton/h); Maximum productivity for the shovel k (ton/h); Capacity of truck l (ton); Total cycle time of the truck l in the pit i (min); 1, if the truck l is compatible with the shovel k; and 0, otherwise.

Consider also the following variables of decision: xi yik nil Do + Do Dw + Dw : : : : : : : Mining rate of the pit i (ton/h); 1, if the shovel k operates in the pit i; e 0, otherwise. Number of trips that a truck l performs to the pit i; Negative deviation from the recommended ore production (ton/h); Positive deviation from the recommended ore production (ton/h); Negative deviation from the recommended waste rock production (ton/h); Positive deviation from the recommended waste rock production (ton/h);

d : Negative deviation of the control parameter j in the mixture (ton/h); j d+ : Positive deviation of the control parameter j in the mixture (ton/h); j Ul : 1, if the truck l is being used; and 0, otherwise. Next, the equations (1)-(26) present the MIP model for the problem in focus.
min
jP

d + j j
jP

+ + + d+ + Do + + Do + Dw + + Dw + j j lT

l Ul

(1)

(pij puj )xi 0


iO

j P j P j P

(2) (3) (4) (5) (6) (7) (8) (9) (10)

(pij plj )xi 0


iO

(pij prj )xi + d d+ = 0 j j


iO

xi Ou
iO

xi Ol
iO

xi +
iO

Do

+ Do = Or

xi Wu
iW

xi Wl
iW + xi + Dw Dw = Wr iW

xi Qui xi + dj , dj + Do , Do + Dw , Dw
kS

i F i F j P

(11) (12) (13) (14) (15)

0 0 0 0

yik 1 yik 1
iF

i F k S i F, k S i F i F i F, l T i F i F

(16) (17) (18) (19) (20) (21) (22) (23)

yik xi
kS

{0, 1}

Cuk yik 0 Clk yik 0


kS

xi nil ctil 60

yik 0
kS, glk =1

xi
lT

nil capl = 0 nil ctil Txl


lT

1 60

Ul

1 60

nil ctil 0
lT

i F i F, l T l T

(24) (25) (26)

nil Ul

Z+ {0, 1}

The objective function (1) seeks to minimize the differences with regard to production goals of ore and waste rock, quality targets of the mixture, as well as to reduce the number of trucks used. The constraints (2)-(15) model the classic problem of blending with goals. In this group, the constraints (7) and (10) relate respectively to the care of the production targets of ore and waste rock, while the constraints (11) limit the maximum mining rate dened by the user for each pit. The other constraints which complement the model can be divided into two groups. The rst concerns the allocation of shovels and productivity range in order to justify the equipment use. The second is related to the allocation of trucks for material transport in the mine. For the rst group, the constraints (16) dene that at most one shovel can be allocated to each pit, while the constraints (17) dene that each shovel can be allocated to one pit at most. The constraints (18) dene that the variables yik are binary. The constraints (19) and (20) limit respectively the maximum and minimum mining rate dened by the shovel allocated to the pit. In the second group of constraints, each constraint (21) forces the truck to only perform trips where there is compatible shovel allocated. The constraints (22) are such that the mining rate of a pit is equal to the total production of the trucks allocated to the pit. The constraints (23) ensure that each truck l is in operation for at most Txl % in an hour. The constraints (24), together with the objective function, force the number of trucks used to be penalized. The constraints (25) force the number of trips that a truck performs to a pit to be a positive integer value. The constraints (26) indicate that the variables Ul are binary. 4. HEURISTIC MODEL

4.1 Representation of a Solution A solution is represented by a matrix R = [Y | N ], where Y is a matrix |F | 1 and N is a matrix |F | |T |. Each cell yi of the matrix Y|F |1 represents a shovel k allocated to the pit i. A value 1 means that there isnt any shovel allocated to that pit. If there arent any trips made to a pit i, the shovel k associated to that pit is considered inactive and it isnt penalized for a production below the minimum for a shovel (restrictions (18) of the mathematical programming model). In the matrix N|F ||T | , each cell nil represents the number of trips that each truck l T performs to a pit i F . A value 0 (zero) means that there arent any trips allocated to that truck, while a value 1 indicates that the truck and the shovel allocated to that pit arent compatible. From Y , N and the cycle times from the matrix CT (|F | |T | dimensional) the extraction rate at each pit is determined, as well as the sum of the cycle times for each truck. 4.2 Neighborhood To explore the solution space of the problem, eight movements were developed and are presented below. Each movement is associated to a neighborhood dened by the function N (.). Movement Number of Trips - N N T (s). This movement increases or decreases the number of trips of a truck l to a pit i where theres an allocated compatible shovel. Thus, in this movement, a cell nil of the matrix N has its value increased or decreased by one trip.

Movement Load - N L (s). Consists of changing two separate cells yi and yk of the matrix Y , i.e. exchanging the shovels that operate in the pits i and k, if both pits have allocated shovels. If only one of the two pits has an allocated shovel and the other is available, this movement will relocate the shovel to the available pit. In order to maintain compatibility between shovels and trucks, the trips made to the pit are relocated along with the shovel. Movement Relocate Trip from a Truck - N T T (s). Consists of choosing two cells nil and nkl from the matrix N and passing a trip from nil to nkl . Thus, in this movement, a truck l ceases to do a trip to a pit i and does it at another pit k. Compatibility restrictions between equipment are respected in this movement, so the trip relocation is only done when theres compatibility between them. Movement Relocate Trip from a Pit - N T P (s). Two cells nil and nik from the matrix N are chosen and a unit of nil is relocated to nik . So this movement consists of relocating a trip from a truck l to a truck k that are both working at the pit i. Compatibility restrictions between equipment are respected in this movement, so the trip relocation is only done when theres compatibility between them. Movement Pit Operation - N P O (s). Consists of removing from operation the shovel that is allocated to the pit i. The movement removes all the trips made to this pit, leaving this shovel inactive. The shovel is again put in operation as soon as a new trip is associated to it. Movement Truck Operation - N T O (s). Consists of selecting a cell nil from the matrix N and zero-ll its content, meaning that the truck l doesnt operate in the pit i anymore. Movement Swap Trips - N ST (s). Two cells of the matrix N are selected and a trip is relocated between them. This movement can occur in any cell of the matrix N if compatibility restrictions between equipment are respected. Movement Swap Shovels - N SS (s). Consists of swapping two separate cells yi and yk from the matrix Y , i.e. changing the shovels that operate in the pits i and k. This movement is similar to the movement L, because the shovels are also exchanged, but the trips made to the pits are not exchanged. To maintain compatibility between the shovels and trucks, the trips made to incompatible equipment are removed. 4.3 Evaluation of a Solution As the developed movement can generate infeasible solutions, a solution is evaluated by a single-objective function f : S R, where S represents the set of all possible s solutions generated from the movements developed in the previous section. This function f , dened by Eq. (27), to be minimized, consists of two parts: rst, the objective function itself (Eq. (1) from the mathematical programming model) and second, a group of functions that penalize the occurrence of infeasibility in the current solution.
f (s) = f M P (s) + f p (s) +
jP q fj (s) + lT

flu (s) +
kS

c fk (s)

(27)

In Eq. (27), f M P (s) is the objective function from the mathematical programming model given by Eq. (1), i.e. f M P (s) evaluates s S considering the production and quality goals, as well as the number of trucks used; f p (s) evaluates s for disrespect of the production limits

established for the ore and waste rock; fjq (s) evaluates s considering the infeasibility of the j-th control parameter; flu (s) evaluates s regarding disrespect of the maximum use rate of the l-th c truck; and fk (s) evaluates s for disrespect of the productivity limits of the shovel k. 4.4 Initial Solution Generation An initial solution to the problem is obtained by a partially greedy constructive procedure, similar to the construction phase of GRASP (Feo and Resende, 1995). The construction is done in two steps. The allocation of the shovels and the distribution of trips to the pits are done in the rst step for the waste rock pits, and secondly, for the ore pits. This strategy is adopted because in the waste rock pits, it is important to meet production and not necessary to observe the quality of the control parameters. The classication of the candidate elements to be inserted in the solution is made considering that for the waste rock pits, the best is the pit that has the greatest mass, the best is the shovel that provides the greatest production and the best is the truck that is the largest. For the ore pits, it is considered that the best pit is the one that has the least deviation of the control parameter levels in relation to the targets, the best is the shovel that provides the greatest production and the best is the truck that has the smallest capacity. The choice of the ore pit in the second stage of the construction is done by a guide function, as in Bresina (1996). First, all pit candidates are sorted with respect to the deviation values of the quality goals. To the r-th better classied pit, that pit is associated to the guide function bias(r) = 1/(2r). Each candidate pit is chosen with probability p(r) = bias(r)/ bias(r). In this strategy, it is more likely to choose the pit that best helps to minimize the deviations from the quality targets. 4.5 A Hybrid Algorithm We present a hybrid algorithm, called H-GVILS, that combines the power of the heuristic procedures GRASP (Feo and Resende, 1995), Variable Neighborhood Descent - VND (Mladenovic and Hansen, 1997) and Iterated Local Search - ILS (Lourenco et al., 2003), with a math ematical programming based module. When ILS reaches a certain level of perturbation, this module is triggered to solve smaller parts of the problem in optimality. Figure 1 shows the H-GVILS algorithm. Algorithm 1: H-GVILS
Input: sets M, E, T, C, V (See parameters in Section 3.) - Output: Solution s
1 2 3 4 5 6 7 8 9 10 11

s0 BuildWasteSolution() s0 BuildOreSolution(s0 ) s VND(s0 ) while stop criterion not satised do s Perturbation(s, level p) s VND(s ) if f (s ) < f (s) then s s end end return s Figure 1: H-GVILS Algorithm

Building an initial solution s0 (lines 1 and 2 of the Algorithm in Fig. 1) is made by the procedure described in Subsection 4.4. The local search (line 3 of the Algorithm in Fig. 1), in turn, uses the VND procedure with the movements described in Subsection 4.2. Strategically, the local search operates in the neighborhoods in a pre-dened order, beginning from the ones requiring less computational effort to those that require more effort. As in the preliminary tests some neighborhoods did not produce great local optimums or spend too much processing time to achieve a local optimum; only a small group of neighborhoods has been used in the local search. Thus, the VND uses the following order for the exploration of the neighborhoods: N L , N N T , N T T and N T P . The movements on neighborhoods N SS , N T O , N P O and N ST were used only as a disturbance, or perturbation, of the current solution. The objective of the perturbation is to diversify the search, generating a different solution, which becomes increasingly distant from the current location in the search space. To fulll this mission, different levels of disturbance are set. For a given level p of perturbation, p + 2 movements are applied to the current solution, each movement randomly chosen among 6 of those described in Subsection 4.2. Each movement is chosen according to a certain probability, given by: 30% for N N T , 20% for N ST , 20% for N L , 10% for N SS , 10% for N P O and 10% for N T O . This probability varies due to the greater inuence of changing the number of trips, exchanging the trips and exchanging the equipment (mining trucks and shovels) in the quality of the nal solution. The local search applied on the disrupted solution is based on the procedure VND (line 6 of the Algorithm in Fig. 1). After IterMax iterations without improvement in a given level, this level increases by one unit. If the local search method nds a better solution, the perturbation returns to the lowest level, in this case, p = 0. When the perturbation level p reaches a limit H, the Mathematical Programming Module (MPM) is triggered to solve smaller parts of the problem in optimality. Initially, 90% of the pits are locked and the mathematical programming module nds the optimal solution of this reduced solutions space. At each step it considers 10% more pits until p reaches H + 9 and the complete mathematical programming model is solved. The MPM stops in two situations: (i) after nding the optimal solution or (ii) after seconds. 4.6 Post Optimization: Path Relinking The Path Relinking technique was proposed by Glover (1996) as an intensication strategy to explore links between elite solutions generated during Tabu Search or Scatter Search (Glover and Laguna, 1997) metaheuristics. This search consists in generating and exploring paths in the solution space, starting from one or more solutions (called base solutions) in direction to other elite solutions (called guide solutions). In our case, the base solution is the nal solution generated by the H-GVILS procedure (Section 4.5) and the guide solution is the initial solution generated by GRASP procedure (lines 1 and 2 of the Algorithm in Fig. 1), as presented in Section 4.4. Our Path Relinking approach is based on attributes locking and the considered attribute was the shovel position in the solution. At each step, the procedure selects a pit in the guide solution and moves the shovel k (the one assigned to the selected pit) to the same pit in the base solution. The trips made to that pit are also exchanged to keep compatability between shovels and trucks. Finally, a new local search is made in the base solution having both shovel k and its trips locked during the search procedure. The process is repeated until the base solution has all guide solution attributes, i.e., all the shovels and trips of the base solution are assigned to the same pits and trucks of the guide solution. The local search is also based on the VND procedure of the H-GVILS algorithm (line 6 of the Algorithm in Fig. 1) and the same order of exploration of neighborhoods is used. However,

in this case these neighborhoods have an extra ability of preserving the locked attributes in the solution during the search. 5. SCENARIOS DESCRIPTION

The scenarios utilized for the tests refer to an iron mining company located in the state of Minas Gerais, Brazil, and it was considered an 85% maximum utilization rate for the trucks. Instances are available at http://www.decom.ufop.br/prof/marcone/projects/mining.html. Considered were four scenarios, giving origin to the instances OPM01, OPM02, OPM03 e OPM04. On the two rst instances, there are 17 pits, 8 shovels and 30 mining trucks available. The trucks from 1 to 15 have 50-ton capacity and are compatible with shovels Car01 to Car04, while the other trucks have 80-ton capacity and are compatible with shovels Car05 to Car08. For the instances OPM03 and OPM04, there are 32 pits, 7 shovels and 30 mining trucks, with all trucks having a 50-ton capacity and compatibility with all the shovels. Ten control parameters (chemical and/or granulometric) are considered in all instances. 6. COMPUTATIONAL RESULTS AND ANALYSIS

The proposed algorithm, so-called H-GVILS-PR, is composed by the H-GVILS algorithm (Section 4.5) and the Post Optimization Module based on the Path Relinking procedure (Section 4.6). H-GVILS-PR was coded in C++ programming language using the g++ 4.0 compiler and the IDE Eclipse 3.1. The mathematical programming model was done in AMPL and solved by CPLEX solver, version 11. The hybrid Mathematical Programming Module used the GLPK solver, version 4.29. Both heuristic and exact models were tested in a PC Intel Core 2 Quad (Q9550), 2.83 GHz, with 8 GB of RAM, running Ubuntu 9.04 kernel 2.6.28-15. The H-GVILS-PR algorithm was applied 30 times for each instance and it was interrupted after 2 and 15 minutes of processing. The CPLEX solver also was interrupted within this time limit. This strategy was adopted because the time for the decision maker is small and 2-15 minutes is a typical value for the maximum tolerance in a real case. The following weights were adopted in the evaluation function: = + = = + = 100, = + = 1 j T , l = 1 l V , Txl = 85% l V . After a preliminary sequence j j of tests the three parameters of the proposed algorithm, IterMax, H and were set to: 60, 8 and 30, respectively. Results were also compared to a pure metaheuristic version of the algorithm found in the literature, so-called GVILS (Coelho et al., 2008). This version of the algorithm is also based on the GRASP, VND and ILS metaheuristics, without the Post Optimization Module and the Mathematical Programming Module. The only parameter of the algorithm IterM ax was also set to 60 after a preliminary set of tests. Tables 1 and 2 compare the results found by the CPLEX, GVILS and H-GVILS-PR algorithms. In these tables, Instance column means the analyzed instance; Best Known represents the best known value found in literature for the instance; CPLEX indicates the value (upper bound) found by CPLEX; Best and Average indicate the best and average values, respectively, in thirty executions of both GVILS and H-GVILS-PR algorithms; Gap for CPLEX, GVILS and H-GVILS-PR are calculated as equations (28), (29) and (30), and indicate the deviation between the CPLEX, GVILS and H-GVILS-PR solutions, respectively, in relation to the best known results. Column Imp measures the improvement of the GVILS (or H-GVILS-PR), in terms of average value, over the CPLEX value. gapCPLEX = i fiCPLEX fi fi (28)

gapGVILS = i

fiGVILS fi fi fiH-GVILS-PR fi fi

(29)

gapH-GVILS-PR = i

(30)

In Eq. (29) and Eq. (30), for each instance i, fiGVILS is the average value found in thirty H-GVILS-PR executions by the GVILS algorithm; and fi is the average value for the thirty H-GVILS PR executions; and fi is the best known value. In Eq. (28), fiCPLEX represents the upper bound found in instance i within the time limit.
Table 1: Results comparison between CPLEX and GVILS
Instance Time (min) OPM01 2 OPM02 2 OPM03 2 OPM04 2 OPM01 15 OPM02 15 OPM03 15 OPM04 15 Best Known 227.12 252.41 164029.15 164054.04 227.12 252.41 164029.15 164054.04 CPLEX value Gap (%) 227.90 0.34 254.06 0.66 164029.76 0.00 164054.04 0.00 227.90 0.34 254.06 0.66 164029.76 0.00 164054.04 0.00 Best 227.12 253.37 164044.41 164106.14 227.12 252.41 164040.91 164100.21 GVILS Average Gap (%) 227.44 0.14 259.68 2.88 164099.43 0.04 164204.60 0.09 227.16 0.02 253.32 0.36 164059.98 0.02 164121.80 0.04 Imp. (%) 0.00 -0.38 -0.01 -0.03 0.00 0.00 -0.01 -0.03

Table 2: Results comparison between CPLEX and H-GVILS-PR


Instance Time (min) OPM01 2 OPM02 2 OPM03 2 OPM04 2 OPM01 15 OPM02 15 OPM03 15 OPM04 15 Best Known 227.12 252.41 164029.15 164054.04 227.12 252.41 164029.15 164054.04 CPLEX value Gap (%) 227.90 0.34 254.06 0.66 164029.76 0.00 164054.04 0.00 227.90 0.34 254.06 0.66 164029.76 0.00 164054.04 0.00 H-GVILS-PR Imp. Best Average Gap (%) (%) 227.12 227.15 0.01 0.00 225.28 225.39 -10.71 10.75 164017.23 164017.28 -0.01 0.01 164017.66 164018.22 -0.02 0.02 227.12 227.14 0.01 0.00 225.27 225.28 -10.75 10.75 164017.18 164017.29 -0.01 0.01 164017.68 164017.88 -0.02 0.02

As can be observed in Tab. 1, the H-GVILS-PR algorithm was able to generate better solutions than the best known solutions available in the literature for the instances OPM02, OPM03 and OPM04, with the best improvement of 10.75% (OPM02). Both heuristic algorithms GVILS and H-GVILS-PR had obtained gaps up to 2.88%. In addition, H-GVILS-PR was found capable to obtain better solutions when compared to CPLEX in all instances. Finally, H-GVILS-PR produced better results than the GVILS algorithm, with respect to the quality of the nal solutions and with smaller gaps.

7.

CONCLUSIONS

This work dealt with the operational planning of mines considering the dynamic allocation of trucks. Because of the complexity of this combinatorial problem, we proposed a hybrid heuristic algorithm, called H-GVILS-PR, which combines the heuristic procedures GRASP, Variable Neighborhood Descent and Iterated Local Search, with a Mathematical Programming Module and a Post Optimization Module based on Path Relinking to solve it. Using instances from literature, the proposed heuristic algorithm was compared to the optimizer CPLEX 11.0 applied to a mathematical programming model, also developed in this work. It was found that the H-GVILS-PR algorithm is competitive with CPLEX 11.0 solver, since H-GVILS-PR is able to nd good quality solutions quickly with low variability. The proposed algorithm is also compared to its pure heuristic version (GVILS) and shows better results than this one. Since staff decisions have to be made quickly, the results validate the use of the proposed algorithm, as a tool for decision support. Acknowledgements The authors acknowledge CNPq (process 474831/2007-8) and FAPEMIG (process CEX 2991-06.1/07) for supporting the development of this research. REFERENCES Alvarenga, G. B., 1997. Optimal dispatch of trucks in an iron mine using genetic algorithms with parallel processing (in portuguese). Masters thesis, Programa de P s-Graduacao em o Engenharia El trica, Escola de Engenharia, UFMG, Belo Horizonte, Minas Gerais, Brazil. e Boland, N., Dumitrescu, I., Froyland, G., & Gleixner, A. M., 2009. Lp-based disaggregation approaches to solving the open pit mining production scheduling problem with block processing selectivity. Computers and Operations Research, vol. 36, pp. 10641089. Bresina, J. L., 1996. Heuristic-biased stochastic sampling. In Proceedings of the 13th National Conference on Articial Intelligence, AAAI Press, pp. 271278, Portland. Chanda, E. K. C. & Dagdelen, K., 1995. Optimal blending of mine production using goal programming and interactive graphics systems. International Journal of Surface Mining, Reclamation and Environment, vol. 9, pp. 203208. Coelho, I. M., Ribas, S., & Souza, M. J. F., 2008. Um algoritmo baseado em grasp, iterated local search para a otimizacao do planejamento operacional de lavra. In Proceedings of the XI Encontro de Modelagem Computacional, pp. 8 p., Volta Redonda (RJ). Costa, F. P., 2005. Aplicacoes de t cnicas de otimizacao a problemas de planejamento op e eracional de lavras em mina a c u aberto. Masters thesis, Programa de P -Graduacao em e o Engenharia Mineral, Escola de Minas, UFOP, Ouro Preto. Ezawa, L. & Silva, K. S., 1995. Dynamic allocation of trucks aiming quality (in portuguese). In Proceedings of the VI Congresso Brasileiro de Mineracao, pp. 1519, Salvador, Bahia, Brazil. Feo, T. A. & Resende, M. G. C., 1995. Greedy randomized adaptive search procedures. Journal of Global Optimization, vol. 6, pp. 109133.

Glover, F., 1996. Tabu Search and adaptive memory programming - advances, applications and challenges. In Barr, R., Helgason, R., & Kennington, J., eds, Interfaces in Computer Sciences and Operations Research, pp. 175. Kluwer Academic Publishers. Glover, F. & Laguna, M., 1997. Tabu Search. Kluwer Academic Publishers, Boston. Godoy, M. & Dimitrakopoulos, R., 2004. Managing risk and waste mining in long-term production scheduling of open-pit mines. SME Transactions, vol. 316, pp. 4350. Guimaraes, I. F., Pantuza, G., & Souza, M. J. F., 2007. A computational simulation model to validate results by dynamic allocation of trucks in open-pit mines (in portuguese). In Proceedings of the XIV Simp sio de Engenharia de Producao (SIMPEP), pp. 11, Bauru, S o o a Paulo, Brazil. Lourenco, H. R., Martin, O. C., & St tzle, T., 2003. Iterated local search. In Glover, F. & u Kochenberger, G., eds, Handbook of Metaheuristics. Kluwer Academic Publishers, Boston. Merschmann, L. H. C., 2002. Development of an optimization and simulation system for the analysis of production scenarios in open-pit mines (in portuguese). Masters thesis, Programa de Engenharia de Producao/COPPE, UFRJ, Rio de Janeiro, Brazil. Mladenovic, N. & Hansen, P., 1997. A variable neighborhood search. Computers and Operations Research, vol. 24, pp. 10971100. Papadimitriou, C. H. & Steiglitz, K., 1998. Combinatorial Optimization: Algorithms and Complexity. Dover Publications, Inc., New York. Ribas, S., Coelho, I. M., Souza, M. J. F., & Menotti, D., 2009. Parallel iterated local search aplicado ao planejamento operacional de lavra. In Proceedings of the XLI SBPO, pp. 12 p., Porto Seguro (BA). Romero, C., 2004. A general structure of achievement function for a goal programming model. European Journal of Operational Research, vol. 153, pp. 675686. Sgurev, V., Vassilev, V., Dokev, N., Genova, K., Drangajov, S., Korsemov, C., & Atanassov, A., 1989. Trasy - an automated system for real-time control of the industrial truck haulage in open-pit mines. European Journal of Operational Research, vol. 43, pp. 4452. White, J. W., Arnold, M. J., & Clevenger, J. G., 1982. Automated open-pit truck dispatching at Tyrone. Engineering and Mining Journal, vol. 183, n. 6, pp. 7684. White, J. W. & Olson, J. P., 1986. Computer-based dispatching in mines with concurrent operating objectives. Mining Engineering, vol. 38, n. 11, pp. 10451054.

EngOpt 2008 - International Conference on Engineering Optimization


Rio de Janeiro, Brazil, 01 - 05 June 2008.

An algorithm based on Iterated Local Search, Variable Neighborhood Descent and Tabu Search for the Integrated Vehicle and Crew Scheduling Problem
Marcone Jamilson Freitas Souza, Gustavo Peixoto Silva, Sabir Ribas, Igor Machado Coelho Programa de Ps-Graduao em Engenharia Mineral, Departamento de Computao Universidade Federal de Ouro Preto Campus Universitrio, 35.400-000 Ouro Preto, Minas Gerais, Brazil {marcone, gustavo}@iceb.ufop.br, {sabirribas, igor.machado}@yahoo.com.br Abstract This work deals with the Integrated Vehicle and Crew Scheduling Problem (VCSP) in urban mass transit. The Vehicle Scheduling Problem (VSP) consists in creating a daily routine of operation for a fleet of vehicles of a company so that all timetabled trips are covered and the operational costs of such activity reduced, making the best use of the fleet. In the Crew Scheduling Problem (CSP) each crew corresponds to a duty, and the goal is the generation of its schedule, satisfying a set of labor agreement and operational rules of the company, as well as the workforce optimization. Traditionally, the VSP and the CSP are solved independently, e.g., by vehicles-first duties-second approach, but these methodologies do not explore the link between both problems. The difficulty of solving VCSP is greater than the isolated problems since it contains all the degrees of freedom of vehicle scheduling and all the degrees of freedom of crew scheduling. Since VCSP is NP-hard, an algorithm based on metaheuristics approaches is proposed here. This algorithm combines Iterated Local Search (ILS), Variable Neighborhood Descent (VND) and Tabu Search (TS). In order to explore the solution space, some moves based on reallocation and swap of both, trips of the vehicles schedule and tasks of the duties schedule are used. The algorithm was tested with real data provided by BHTRANS, the manager of the transit mass system of the city of Belo Horizonte, Brazil. The results show the effectiveness of the proposed approach. Keywords: Vehicle Scheduling, Crew Scheduling, Integrated Vehicle and Crew Scheduling, Public Transport, Metaheuristics 1. Introduction The public transportation system planning is a very complex activity. Thus it is generally divided into five main stages, which are: route planning, timetables defining, vehicle scheduling, crew scheduling and crew rostering. In general, the output of one stage is the input for the subsequent one. This work deals with the integration of two stages, the vehicle and crew scheduling problems. According to Freling et al. (2003), there are three different approaches to solve the vehicle and crew scheduling: Sequential, Independent and Integrated. In the sequential approach, the vehicle and crew scheduling problems are solved separately and the solution of one is used as input for the other. The sequential approach, in turn, can be classified as Traditional or Reverse. The traditional sequential approach was the first one to be studied and it is widely adopted by the companies. It consists in solving the vehicle scheduling problem (VSP) and then, considering this solution as input, the crew scheduling problem (CSP) is solved. This approach has the inconvenience that the vehicle scheduling solution guides the crew scheduling solution (FREELING et al., 2003), which has the most relevant cost among the ones involved in the system (BOUZADA, 2003). An alternative to solve it is to apply the traditional sequential approach, but considering the crew features during the vehicle scheduling solution. Even though the vehicle scheduling costs increase, it becomes easier to solve the CSP and much probably the total cost will be lower than the traditional approach. Scott (1985), Darby-Dowman (1988) and Reis (2006, 2007) use this strategy for solving the problem involving vehicle and crew scheduling. In the reverse sequential approach, the CSP is solved first and then, considering this solution as input, the VSP is solved. This strategy is justified for two main motives: 1) the crew costs are higher than vehicle costs and 2) the set of vehicle restrictions is much smaller, which suggests solving CSP first, because it has fewer alternatives for solution. Bassi et al. (2007) propose a GRASP heuristic to solve the independent crew scheduling problem (ICSP), which builds the crew duties directly from the timetable, independently of the vehicle scheduling. In a second stage, the vehicle schedule problem is solved having as input the driver shifts already defined. A path-relinking mechanism was also implemented in order to improve the ICSP solution. The heuristic was implemented for several transport companies and the results were compared with the traditional approach. According to the authors, it can be concluded that this strategy is able to produce solutions with lower costs than the traditional process. In the independent approach the vehicle schedule and the crew schedule are built directly from trip timetables. Therefore, in this approach the vehicle schedule is built without considering any crew characteristics and the crew schedule is obtained without considering vehicle constraints. Generally, the results obtained by this approach are not feasible in practice, because some vehicle trips will not have a driver, and some drivers will operate virtual vehicles that are not in the vehicle schedule. This approach is used to determine lower bounds for VSP and CSP.

In the integrated approach both problems are solved together in the same model. As both problems are NP-hard (GAREY and JOHNSON, 1979), then Vehicle and Crew Scheduling Problem (VCSP) is NP-hard. It is obvious than the difficult of solving VCSP is bigger because the solution space is huge, since VCSP contains all the degrees of freedom of vehicle scheduling and all the degrees of freedom of crew scheduling. However, with the improvement in the CPU speed of the computers, combined with algorithm progress, the research has taken up this topic recently. Freling et al. (1995), Haase and Friberg (1999) and Freling et al. (1999) use this type of approach. See Borndrfer et al. (2006) and Freeling et al. (2003) for a survey and experience about this topic. This paper proposes an algorithm which combines Iterated Local Search, Variable Neighborhood Descent and Tabu Search heuristics for solving VCSP. This heuristic strategy is justified because VCSP is NP-hard and according to the literature these approaches are able to produce good solutions for each problem, considered individually (See Souza et al, 2007 and Marinho et al, 2004). The rest of the paper is organized as follows. Section 2 describes the problem. Section 3 presents the proposed methodology, including the representation of the problem, the procedure employed for generating an initial solution, the neighborhood structure, the evaluation function and finally the adaptation of the Iterated Local Search, VND and Tabu Search heuristics to the problem. Section 4 shows the results achieved in this study and discusses the improvement obtained. Section 5 brings the concluding remarks of this work. 2. Problem definition According to Freeling et al. (2003), the Vehicle and Crew Scheduling Problem (VCSP) is defined as follows. Given a set of trips within a fixed planning horizon, the objective is to find a minimum cost schedule for the vehicles and the crews, such that both the vehicle and the crew schedules are feasible and mutually compatible. Each trip has fixed starting and ending times, and the traveling times between all pairs of location are known. A vehicle schedule is feasible if (1) each trip is assigned to a vehicle, and (2) each vehicle performs a feasible sequence of trips, where a sequence of trips is feasible if a vehicle can execute each pair of consecutive trips in the sequence. Some trips do not belong to any route and these are called the dead trips. A dead trip time is the time a vehicle takes to travel between two locations (terminals or depots) that do not belong to any route. This is necessary in order to move the vehicle from an ending point to the next starting point, so that the vehicle can start the next trip. A vehicle schedule defines which trips have to be performed by the same vehicle and this defines the so-called blocks. If there is enough time between one trip and the next, a change of driver may occur, and these are called relief points, defined by location and time. The blocks are divided by relief points, and each part is the so-called task, that is defined by two consecutive relief points and represents the minimum piece of work that can be assigned to a crew. These tasks have to be assigned to crew members, and the tasks of a crew member define a crew duty. All the duties constitute a crew schedule. Such schedule is feasible if (1) each task is assigned to one duty, and (2) each duty is a sequence of tasks that can be performed by a single crew, both from a physical and a legal point of view. In particular, each duty must satisfy several complicated constraints corresponding to work load regulations for the crews. Typical examples of such constraints are the maximum working time without a break, minimum break duration and maximum total working time. The cost of a duty is usually a combination of fixed costs such as wages, and variable costs such as overtime payment. The subsection 3.4 details the considered requirements in this work. It is assumed that there is only one depot and all vehicles are always available. 3. Proposed methodology In this section is presented a hybrid heuristic, which combines Iterated Local Search, Variable Neighborhood Descent and Tabu Search for reaching suboptimal solutions to the VCSP. 3.1. A solution representation to the problem A solution s to the VCSP consists in a (sV, sC) pair, where sV represents a solution to the VSP and sC represents a solution to the CSP. The sV solution consists in a set of vehicles, where each one has an associated list of trips to be realized during a day. The sC solution consists in a set of crew duties, where each one is associated to a list of tasks to be carried out daily. 3.2. Construction of an initial solution An initial solution to the VCSP is made by a sequential mechanism. To begin with, an initial solution for the vehicle scheduling is built. Later, from this vehicle solution, a crew scheduling solution is generated. Both solutions are built by a greedy heuristic. An initial solution to the VSP is obtained by applying a constructive heuristic where at each iteration, a new trip not yet assigned is added to the current schedule of the best vehicle, in accordance to the value of the evaluation function relative to each vehicle scheduling (see eq. (2) in subsection 3.4). The choice of the trip to be added to the vehicle schedule is totally greedy, which means that the trip with lower cost will be chosen. The approach ends when all the trips are allocated. The trips belonging to each vehicle are known as the blocks of the vehicle. From the blocks of each vehicle, a solution for the CSP is built. Initially, for each block, the trips are grouped in a task until a relief point is found. A relief point is defined by location and time, where and when a change of driver may occur. Next, the tasks are ordered by their starting time. At each step, there is a set of non-empty duties and a duty without tasks. The constructive procedure works as follows. The first task is assigned to the first duty, the empty one. Next, for each task of the sequence, we evaluate its insertion for all the duties and also for a new duty without tasks. The evaluation of each crew duty is carried out according to the eq. (8), relative to the crew scheduling (see subsection 3.4). The task is assigned to the duty with the

lowest cost. The crew schedule stops when all the tasks are allocated. 3.3. Neighborhood Structure With a view to defining the neighborhoods of a given solution s six moves were applied. The NVR, NVS, NCR and NCS neighborhoods use moves based on reallocation and swap of both, trips of the vehicles schedule and tasks of the crew duties schedule, respectively. The NVRP and NVSP neighborhoods consist in reassigning and swapping the trips of vehicles followed by the reconstruction of the duties affected by the moves according to the previous subsection, respectively. 3.4. Evaluation function The cost function of VCSP is computed by the eq. (1):
f ( s ) = fV ( s ) + f C ( s ) (1)

where fV(s) represents the component of f that evaluates s with respect to the vehicle scheduling (see eq. (2)), fC(s) evaluates s with respect to the duty scheduling (see eq. (8)) and and are weights.

fV ( s) = f Vk ( s ) + CR ChangeRoutes + ESB ExcSplitBlocks


kF

(2)

In the eq. (2), fVk (s ) is the cost of the vehicle k of the fleet, obtained through the eq. (3), ChangeRoutes is the total number of changes of routes made by all the vehicles, CR is the penalty associated to it, ExcSplitBlocks represents the excess of times that each vehicle returns to the depot and stays there more than 120 minutes and, finally, ESB is the respective penalty. By operational restrictions, we observe that the maximum number of times that it can occur is 60% of the fleet size.

fVk ( s ) =

( i , j )T

ij

+ CDd 1 + CDnd

(3)

In the eq. (3), T is the set of n trips of the vehicle k, Cij is obtained by the eq. (4) and represents the cost to perform the consecutive trips i and j; CDd1 is the transportation cost of the vehicle k from the depot to the its first trip and CDnd is the transportation cost of the vehicle k between its last trip and the depot.

CDij + CCij Cij = CTij + CDij CD + CD dj id

if tij < 0 if 0 tij MaxTimeTerm if tij > MaxTimeTerm

(4)

In the eq. (4), CTij, CDij and CCij represent, respectively, the time that the vehicle stays at the terminal between trips i and j, the time of a dead trip and the time in minutes that a trip i coincides with a trip j. In the eq. (4), MaxTimeTerm is the maximum time that a vehicle can stay at the terminal, established according to the operational politics of the Public Transport System and tij is the time, in minutes, that the vehicle is idle (i.e., without productive activity) between the trips i and j. Therefore tij is the time between the beginning of the trip j and the ending of the trip i minus the time of the dead trip if this one is necessary to reposition the vehicle. The CDij and CTij costs are obtained as follows:
dtij 1 CDij = 1 dtij TD t CTij = 2 ij t ij TT

if dtij TimeLimitDeadTrip if dtij > TimeLimitDeadTrip

(5)

if t ij TimeLimitTerm if t ij > TimeLimitTerm

(6)

where: dtij is the time of dead trip between the trips i and j; TimeLimitDeadTrip means the maximum time of the company schedule in which a dead trip can be done, wTD is the weight admitted if the dead trip time is greater than TimeLimitDeadTrip, TimeLimitTerm is the maximum time of the company schedule that a vehicle stays at the terminal; wTT is the weight considered if the vehicle stays at the terminal more than TimeLimitTerm minutes, 1 [0, 1] and 1 [0, 1] are weights utilized to adjust the costs in eqs. (5) and (6), respectively. The conflict CCij between trips i and j is evaluated by the eq. (7), as follows:
CC ij = (t ij ) TC

(7)

where wTC is the weight associated to this infeasibility.

Let R = {r1, r2, , r|R|} be the set of routes of the company and S1, S2, , S|S| subsets of R, called groups of routes, with R = S1 S2 S|S| and S1 S2 S|S| = . The evaluation of the duty scheduling is given by the eq. (8), which must be minimized:
f C (s) =

iDuties

(PenaltyIdleTime + PenaltyOvertime +
i i

3 ChangeVehiclesi + 4 ChangeRoutesi + 5 TerminalChangei + 1 ConflictTimei + 2 ExcTimei + 3 DutyTimeInsuf i + 4 ChangeVehiclesFori + 5 ChangeRoutesFori + 6 TerminalChangeFori ) + 7 ExcessSplitDuty + nDuties
where: (i) (ii) (iii) (iv) (v) (vi) (vii)

(8)

(viii) (ix)

(x)

(xi) (xii) (xiii) (xiv)

(xv)

Duties represents the set of duties; i and i are the penalties applied to the constraints and objectives, respectively; PenaltyIdleTimei assumes the value 1 if the idleness of the crew on the duty i is greater than two hours and 0.347 IdleTimei0.8, otherwise, where IdleTimei corresponds to the time that each crew is idle on the duty i; PenaltyOverTimei assumes 2 when the overtime is greater than 120 minutes and 1.357 Overtimei0.6, otherwise, where Overtimei indicates the time, in minutes, that the crew i is in overtime payment; ChangeVehiclesi indicates the number of times that the crew is reassigned to a different vehicle during the duty i and there is enough time to do the changes; ChangeRoutesi indicates the number of times that the crew assigned to a duty i in the route rj is reassigned to a another route rk , and both routes must belong to the same group, i.e., rj Sm R and rk Sm; TerminalChangei indicates the number of times that the crew is reassigned to a different terminal during the duty i. This crew reassignment is allowed in the following situations: (1) if the terminal involved belongs to the same group of terminals; (2) if the involved tasks belong to the same vehicle and (3) if there is at least 120 minutes of idleness between two consecutive tasks of the duty i, that is, in a split duty, a crew reassignment to a different terminals is always allowed. On the other hand, a crew reassignment is forbidden if the reallocation does not satisfy none of the three items previously described; ConflictTimei represents the total time, in minutes, with respect to the duty i, that there are tasks in conflict, for example, two consecutive tasks of the same crew, when the second starts before the first ends; ExcTimei represents the time, in minutes, with respect to the duty i, that surpasses nine hours of daily work. The worked time in each duty i is computed as follows: WorkedTimei = (final time of the last task of the duty i) (the initial time of the first task) (the duration of the split, if the duty is classified as split duty); DutyTimeInsufi = max {0, 1160 (1440 time in which duty i ends + time in which duty i begins)}. It occurs because between two consecutive labor days must be 11 hours of resting. Therefore, this factor represents the amount of time, in minutes, in respect to the duty i, in which this labor law is not verified; ChangeVehiclesFori indicates the number of times that the crew is reassigned to a different vehicle during the duty i and there are not enough time to do the changes; ChangeRoutesFori indicates the number of times that a crew allocated to a route rj in a duty i is also allocated to another route rk not belonging to the same group, i.e., rj Sm R and rk Sm; TerminalChangeFori represents the number of times during the duty i that there are forbidden reassignments in relation with terminals (See item (vii)); ExcSplitDuty represents the number of split duties in the solution that is greater than 1.25 (fleet size). It represents an estimative of the company that assumes that at most 50% of the crews are necessary to realize split duties. nDuties represents the number of duties and is the penalty applied to minimize the number of duties in the schedule;

3.5. The ILS-VND-TSAR algorithm With an aim to introduce the Variable Neighborhood Descent VND (Hansen and Mladenovic, 2003), let Nk (k=1,,kmax) be a finite set of pre-selected neighborhood structures, and Nk(s) the set of solutions in the kth neighborhood of s. Neighborhoods Nk may be induced from one or more metric (or quasi-metric) functions introduced into a solution space S. An optimal solution is a feasible solution where a minimum of the evaluated function f is reached. There is a local minimum s of f with respect to Nk(s), if there is no solution s Nk(s) such that f(s) < f(s). Metaheuristics based on local search procedures try to continue the search by other means after finding the first local minimum. VND is based on three simple facts: (1) A local minimum with respect to one neighborhood structure is not necessary so with another; (2) A global minimum is a local minimum with respect to all possible neighborhood structures; and (3) For many problems local minimum with respect to one or several are relatively close to each other. According to these authors, this last observation, which is empirical, implies that a local optimum often provides some information about the global one. This may for instance be several variables with the same value in both. However, it is usually not known which ones are such. An organized study of the neighborhood of this local optimum is therefore in order, until a better one is found. The Variable Neighborhood Descent (VND) approach is obtained if a change of neighborhoods is performed in a deterministic way

and its main steps are presented in Figure 1. Procedure VND 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: Input: s, f(.),the set of neighborhood structures Nk, for k = 1, , kmax, that will be used in the search k1 while k kmax do Find the best neighbor s Nk(s) if f(s) < f(s) then s s k1 else kk+1 end if end while return s Figure 1 Basic VND procedure

For large instances, finding the best neighbor at each iteration (line 4 of Figure 1) is quite costly. In these cases, a random approach is normally used and this is what is done here. A classical Random Descent (RD) procedure works as follows. A point s is generated at random from the kth neighborhood of s (line 4 of Figure 1). If s is better than the incumbent, then s is updated to s (s s) and the search continues from s. If there are not any improvements in DescentMax iterations, then the search stops. Therefore, the procedure can return not necessarily a local optimum. In case of improvement, the search starts from the first neighborhood (k 1). This mechanism is justified because the neighborhoods are nested such that Nk+1 is more computationally complex than Nk. The proposed procedure to do a local search in the solution space of the VCSP, called VND_2_LEVELS, is described in the Figure 2. This procedure is based on the ideas of the VND heuristic in the sense that not only the neighborhoods are changed, but also the local search procedures. In this procedure, s0 is a resulting solution of the perturbation in a local optimum. The RDVVP (s0, NVRP) is the Random Descent Procedure that makes use of reallocation movements belonging to the NVRP neighborhood structure, and the tasks of the crews are allocated in a greedy way, ignoring the weights of the crew scheduling, that is, = 0 in equation (1). The RDVVP (s1, NVSP) is the Random Descent Algorithm that makes swapping movements of the NVSP neighborhood, ignoring the weights of the crew scheduling function. The RDVVI (s4, NVRP) and RDVVI (s5, NVSP) are similar to the RDVVP (s0, NVRP) and RDVVP (s1, NVSP), respectively, but in these cases the weights of the crew scheduling function are computed. These random approaches are interrupted if no improvements are found in DescentMax iterations. The TSAR_R and TSAR_S are algorithms based on Tabu Search metaheuristic with Adaptive Relaxation (Glover, 1996) that makes use of the neighborhoods NCR and NCS, respectively. These algorithms consist in changing the weights of the infeasibilities periodically during the search, either promoting the generation of infeasible solutions or feasible solutions in order to explore other regions not yet visited in the solution space. These algorithms were used by Marinho et al. (2004) to solve the Crew Scheduling Problem (CSP) and a detailed description can be found in their work. Procedure Inicialization Step 1 VND_2_LEVELS Let s0 be a initial solution s1 RDVVP (s0, NVRP) s2 RDVVP (s1, NVSP) If the value of s2 is lower than s0, do s0 s2 and return to the beginning of the Step 1
s3 TSAR_R (s2) s4 TSAR_S (s3) If s4 is better than s2, do s2 s4 and run the Step 2 again s5 RDVVI (s4, NVRP) s6 RDVVI (s5, NVSP) If s6 is better than s4, do s4 s6 and executes again the Step 3 If there was some improvement in this step, return to the Step 2

Step 2

Step 3

Step 4

Return s6 Figure 2 VND_2_LEVELS procedure applied to the VCSP

The Iterated Local Search ILS procedure (Loureno, Martin and Sttzle, 2003) is a metaheuristic with four basic components: GenerateInitialSolution, LocalSearch, Perturbation and AcceptanceCriterion. The GenerateInitialSolution is a module that consists in building a good solution to the problem. LocalSearch is the module that starts the search from a solution and returns a local optimum. Perturbation consists in realizing modifications on the local optimum in order to escape from it. Finally, the procedure AcceptanceCriterion consists in determining whether the new solution is accepted or not as the new current solution. According to the authors, a reasonable first guess for the acceptance criterion is to force the cost to decrease. AcceptanceCriterion has a strong influence on the nature and effectiveness of the walk in the space of solutions. Roughly, it can be used to control the balance between intensification and diversification of that search.

The Figure 3 presents the pseudo-code of ILS-VND-TSAR, an ILS procedure combined with VND and Tabu Search, applied to the VCSP. Algorithm ILS-VND-TSAR 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: Input: s, f(.) , LevelMax , ILSmax , TimeMax s* s level 0 while level < LevelMax do iter 0 while iter < ILSmax and time < TimeMax do s Perturbation(s, level) s VND_2_LEVELS(s) if f(s) < f(s*) then s* s level 0 iter 0 else s s* iter iter + 1 end if end while level level +1 end while return s* Figure 3 ILS-VND-TSAR algorithm applied to the VCSP

Six levels of perturbations have been considered. A perturbation of level i consists in realizing i + 2 random movements in the NVRP neighborhood. 4. Computational results The proposed algorithm, so-called ILS-VND-TSAR, was implemented in C++ language using the Borland C++ Builder environment, version 5.0 and tested in a PC Intel Pentium IV, with 3.0 GHz and 1 GB of RAM running Windows XP Professional Edition. Preliminary tests were performed to calibrate the parameters of the ILS-VND-TSAR algorithm. The number of iterations without improvement of the ILS (ILSmax) was fixed at 50. The number of iterations without improvement of the TSAR (BTmax) was fixed at 500. The LevelMax value was fixed at 6 and the number of iterations without improvement of the Random Descent approaches (DescentMax) was fixed as number of trips number of vehicles. The total processing time was limited to half an hour. The first phase of the traditional sequential approach uses ILS algorithm described in Souza et al. (2007) and second one uses the TSAR algorithm described in Marinho et al. (2004). Both algorithms stop after 15 minutes of execution. In order to test the algorithms, we examined scheduling problems for one public transportation company that operates in the city of Belo Horizonte, Brazil. Tables (1) and (2) show the value of the parameters used in the evaluation function, described in section 3.4. In the Table (1), the values of the parameters TimeLimDeadTrip and TimeLimTerm are linked to each instance and represent the maximum time of a dead trip and the maximum waiting time of the vehicles at the terminal, respectively, in minutes, found in the solution utilized by the company.

Table 1 Instances and their respective time limits with respect to the VSP Instances TimeLimDeadTrip TimeLimTerm G02_SUN_90V 18 83 GO2_MON_260V 18 82 G02_FRI_260V 18 77 G02_SAT_172V 18 75

Table 2 Parameters of the VCSP evaluation function Parameter Value Parameter

Value 18 40 19 5 5 40 40 40 45 35 35 45

MaxTimeTerm 1 1 2 2 TD TT TC ESB CR

119 minutes 2 ln (16) / ln (1 x TimeLimDeadTrip ) 1 ln (16) / ln (2 x TimeLimTerm ) 50 40 80 80 5 100 1 2.5

1 2 3 4 5 1 2 3 4 5 6 7

Table 3 contains the evaluation function values of the traditional sequential and integrated approaches. It can be observed that both best and average values were reduced in all cases analyzed and the gap between these values in each instance is also small, ratifying that the proposed algorithm is robust. In addition, there was an improvement of up to 4.19% if compared to the best solution found in the sequential approach. Table 3: Evaluation function values from the traditional sequential and integrated approaches Sequential Approach Integrated Approach Instance Best Value Average Value Gap Best Value Average Value Gap Improvement G02_SUN_90V 7036 7160,35 6,47% 6725,5 6841,5 1,72% 4,41% G02_MON_260V 22507,5 22828,55 8,26% 21087,5 21297,7 1,00% 6,31% G02_FRI_260V 23045,5 23354,1 7,50% 21724,5 21910,1 0,85% 5,73% G02_SAT_172V 12938,5 13260,5 8,51% 12220 12468,05 2,03% 5,55%

Table 4 presents the details from the best solutions found on each instance, in respect of the sequential and integrated approaches. Table 4: Schedules from the sequential and integrated approaches

Sequential Approach SUN MON FRI SAT Number of trips 90 260 260 172 Number of vehicles 11 40 40 23 Vehicle waiting time (hh:mm) 16:13 22:26 5:56 21:02 Dead trip time (hh:mm) 8:24 12:50 12:14 16:48 Number of split blocks 3 21 20 5 Number of split duties 12 50 50 16 Number of crews 21 62 63 37 Crew idleness (hh:mm) 15:13 15:04 9:23 15:44 Overtime payment (hh:mm) 5:04 6:44 7:34 20:08 Change of routes 1 5 7 1 Change of terminals 2 18 19 9 Change of vehicles 6 62 66 11 fV 841 2510 2553 1491 fC 2478 7999 8197 4579 7036 22507.5 23045.5 12938.5 f = f V + 2.5 f C G02 Company

Integrated Approach SUN MON FRI SAT 90 260 260 172 11 40 39 23 13:44 8:12 22:14 21:02 9:50 15:06 14:58 18:36 5 24 24 8 7 49 43 20 19 62 63 34 11:07 7:52 6:28 15:12 14:58 8:28 12:31 19:44 4 4 6 2 3 11 8 10 2 34 34 15 893 2740 2887 1585 2333 7339 7535 4254 6725.5 21087.5 21724.5 12220

From Table 4 it can be verified that the proposed algorithm was able to reduce the number of crews (From 21 to 19 on Sunday, from 37 to 35 on Saturday), the waiting time of the vehicles at the terminals (From 16:13 to 15:31 on Sunday, from 22:26 to 21:12 on Monday, from 5:56 to 2:24 on Friday and from 21:02 to 20:23 on Saturday), the crew idleness on Sunday (From 15:13 to 10:47) and the number of changes of terminals on Monday and Friday (From 18 to 13 on Monday and from 19 to 14 on Friday). It can be

observed that the number of crews grew up on Friday, but on the other hand there was a reduction on the overtime payment and on the number of changes of routes and terminals. Soares et al. (2006) has shown that there is a trade-off between, on the one hand, the number of trips plus crew idleness and, on the other hand, the overtime payment. This trade-off can be handled by manipulating the weights of the evaluation function. Also, it is important to observe that the integrated approach produces worst vehicle schedule, but its crew schedule are better than the ones produced by the sequential approach. 7. Conclusions This paper dealt with the Integrated Vehicle and Crew Scheduling Problem. In order to solve it, an algorithm based on Iterated Local Search, Variable Neighborhood Descent and Tabu Search with Adaptive Relaxation, so-called ILS-VND-TSAR, is proposed. It is an adaptation of the ILS algorithm described in Souza et al. (2007) for solving the vehicle scheduling problem and the TSAR algorithm developed by Marinho et al. (2004) for the crew scheduling problem. Two new neighborhoods are introduced, which consist in reassigning and swapping the trips of vehicles followed by the reconstruction of the duties affected by the moves. A comparison between the integrated approach and the traditional sequential one is performed. The first considers both problems simultaneously, while the later first solves the vehicle scheduling and then solves the crew scheduling. The results showed that the integrated approach was able to produce better results, with global improvement of up to 4.19%. In addition, it can be verified that the proposed algorithm is robust since the maximum variation of the final solutions is quite small, namely, 1.96%. It is important to point out that the integrated approach produced a worst vehicle schedule, but its crew schedule was better than the traditional sequential one. This fact clearly illustrates that producing a good quality solution to the vehicle scheduling may not necessarily lead to a good quality solution to the crew scheduling. 8. Acknowledgements The authors thank FAPEMIG (grant TEC 679/06), CNPq (grant 474831/2007-8) and the Federal University of Ouro Preto for the support given to the development of this study, as well as to BHTRANS for providing the data. 9. References 1. Bassi, H. V., Silva, G. P., Marinho, E. H., Souza, M. J. F. (2007) GRASP and Path-relinking Applied to the Independent Crew Scheduling Problem, In: International Conference on Computers in Urban Planning and Urban Management, 2007, Foz do Igua, Brazil, Reviewed papers in the Conference Proceedings of CUPUM 2007, v. 1, p.1 11. 2. Borndrfer, R.; Grtschel, M. and Pfetsch, M. (2006) Public transport to the fORe!, ORMS Today, v. 33(2), p. 30-40. 3. Bouzada, C.F. (2003) Costs of the Public Transport System by Bus (in portuguese), Editora C/Arte, Belo Horizonte, Brazil. 4. Darby-Dowman, K., Jachnik, J. K.; Lewis, R. L. and Mitra, G. (1988) Integrated decision support systems for urban transport scheduling: Discussion of implementation and experience, in J. R. Daduna and A. Wren (eds.), Computer-Aided Transit Scheduling: Proceedings of the Fourth International Workshop, Springer Verlag, Berlin, p. 226-239. 5. Feo, T. A., Resende, M. G. C. (1995) Greedy randomized adaptive search procedures, Journal of Global Optimization, v. 6, p. 109-133. 6. Freeling, R. C.; Boender, G. E. and Paixo, J. M. P. (1995) An integrated approach to vehicle and crew scheduling, Technical Report 9503/A, Econometric Institute, Erasmus University Rotterdam, Rotterdam. 7. Freling, R., Huisman, D., Wagelmans, A. (2003) Models and Algorithms for Integration of Vehicle and Crew Scheduling, Journal of Scheduling, v. 6(1), p. 6385. 8. Freeling, R.; Wagelmans, A. P. M. and Paixo, J. M. P. (1999) An overview of models and techniques for integrating vehicle and crew scheduling, in N. H. M. Wilson (ed.), Computer-Aided Transit Scheduling, Springer Verlag, Berlin, p. 441-460. 9. Garey, M. R., Johnson, D. S. (1979) Computers and Intractability, In W. H. Freeman (ed.), A Guide to the Theory of NPCompleteness, New York. 10. Glover, F. (1986) Future paths for integer programming and artificial intelligence, Computers and Operations Research, v. 13(5), p. 533-549. 11. Glover, F. (1996) Tabu search and adaptive memory programming advances, applications and challenges, In R. Barr, R. Helgason, J. Kennington (Eds.), Interfaces in Computer Science and Operations Research, p. 1-75. 12. Glover, F., Kockenberger, G. (2003) Handbook of Metaheuristics, Kluwer Academic Publishers. 13. Glover, F., Laguna, M. (1997) Tabu Search, Kluwer Academic Publishers. 14. Haase, K. and Friberg, C. (1999) An exact branch and cut algorithm for the vehicle and crew scheduling problem, in N. H. M. Wilson (ed.), Computer-Aided Transit Scheduling, Springer Verlag, Berlin, p. 63-80. 15. Hansen, P.; Mladenovic, N. (2003) Variable neighborhood search: Principles and applications, European Journal of Operations Research, v. 130, p. 449-467. 16. Loureno, H. R.; Martin, O.; Sttzle, T. (2003) Iterated Local Search, In F. Glover and G. Kochenberger, editors, Handbook of Metaheuristics, Kluwer Academic Publishers. 17. Marinho, E. H., Ochi, L. S., Drummond, L. M. A., Souza, M. J. F. and Silva, G. P. (2004) Tabu Search Applied to the Bus Driver Scheduling Problem (in portuguese), In Simpsio Brasileiro de Pesquisa Operacional, 2004, So Joo Del Rey, Brazil, Proceedings of the XXXVI SBPO, Rio de Janeiro: SOBRAPO, 2004, v. 1. p. 1471 1482. 18. Reis, J. v. A. (2007) Integrated Vehicle and Bus Driver Scheduling (in portuguese) Exame de qualificao de mestrado, Programa de ps-graduao em Engenharia de Transportes, So Paulo: Escola Politcnica da Universidade de So Paulo, Brazil. 19. Reis, J. v. A. (2006) Optimization techniques applied to the daily vehicle and crew scheduling (in portuguese) Monografia de graduao em Engenharia de Produo, Departamento de Computao, Ouro Preto, Brazil: Universidade Federal de Ouro Preto, 70 p.

20.

21. 22.

Soares, G. F., Silva, G. P. Marinho, E. H., Simes, E. L., Souza, M. J. F. (2006) Optimization in the Public Transport System (in portuguese). Proceedings of the 16th Simpsio de Pesquisa Operacional e Logstica da Marinha SPOLM, Escola de Guerra e Mar, Brazil. Scott, D. (1985) A large linear programming approach to the public transport scheduling and cost model, in J. M. Rousseau (ed.), Computer Scheduling of Public Transport 2, North Holland, Amsterdan, p. 473-491. Souza, M. J. F., Silva, G. P., Simes, E. M. L. (2007) Vehicle Scheduling: an heuristic approach (in portuguese) In: Transporte em transformao XI: trabalhos vencedores do prmio CNT de Produo Acadmica 2006. Braslia: Positiva, 2007, v. 1, p. 3957.

2008
, , 01 05 2008.



37, 115 35930970 {, }.. ...


, 113 21949900 ..


156 328 24210240 .. () . . . . . : , , . 1. ( 2004): ; , . () , . , , , . . 2. () : , . , . , , , . , , . , , ,

. , . , , () (). [6]. . , . . , , . . [9] . . [8] . . : , , ; ( ), , , . . , . , , . , . : , , , , . , 1 3 , 4 8 . Table 1. Scheduling of activities 1 2 3 1 2 2 3 3 4 4,5,8 1,23 1,23 6,7 6,7 4,8 6,7 4,5,8 1,2,3,5

2 , 1 3 4 6 . 3 . 2. 1 1 2 3 4 5 6 0 1 2 1 2 3 2 1 0 1 2 1 2 3 2 1 0 3 2 1 4 5 1 2 2 1 3 2 0 1 1 0 2 1 6 3 2 1 2 1 0

3 4 10 . 3 () 4 ().

3. 2 1

1 2 3

1 1(4,5,8)

2 2(1,23) 2(1,23)

3(6,7) 3(6,7)

4(4,8)

4. 2 3 1 1 2 3 3. : : = ( = 1, 2, ..., ); = ( = 1, 2, ..., ); = ( = 1, 2, ..., ); = ( ); = , || = ( = 1, 2, ..., ); = , ( ); = , ( ) = ; = ; = ; = . : = ; = ; = . : :


1

6,7 4,5,8 5 1,2,3

!!!!
=1 =1 =1 =1

+1

(1)

= 1, , ,
, , ,

(2) (3) (4) (5)

= 1, ,
1, , ,

= , , , ,

(6) (7) (8)

= 0 1, , , ,
= 0 1, , .

(1) . (2)

(3) . (4) (5) . (6) . (7) (8) . 4. . () [10]. , , , . , (), [8] . : . () . : , . . , , %. , %. , . , . . , . . , , . . 5. [8]. 1 . 2 . 3 1 2. , : , ; , ; . . . [1]; [5]; [2]; [3]. , . . , . 6. , , 96 (0196) [8], . 4.0.3 . 4 3192 1010 , 6.0.4. , . ( ) [8]. , , . 5 6, 12, 20 30 . 2 . 5. 6 1,010 1,057 12 2,548 1,931 20 3,482 3,752 32 5,734 7,238 11,764 13,978 , 1204 . 12

. . 25 96 (01 24 27). 5 , , 4 .
8000 7000 6000 5000 4000 3000 2000 1000 0 6 12 20 32

Figure 1. AHRC versus RC results , ( ). 2. ! 0.7 1.1 100 25% 1% 10

2. , = , () . 6 242 , , 2.5 . 20 32 ( 3). 6. + + 6 977 969 12 2,203 1,898 20 2,918 2,989 32 4,593 5,247 9,987 10,134 6 242 , , 2.5 . 20 32 . 35 96 , +.

6000

5000

4000

3000

2000

1000

0 6 12 20 32

Figure 3. Results of PA compared with RC+TS 4 7 , 6, 12, 20 32 , . , . 12 . , , : 5 , 12 , , . , . , 140 .


80 70 60 50 40 30 20 10 0 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Figure 4. Results for 6-location problems


250 200 150 100 50 0 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 71 48 72

Figure 5. Results for 12-location problems


400 350 300 250 200 150 100 50 0 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70

Figure 6. Results for 20-location problems

600 500 400 300 200 100 0 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

Figure 7. Results for 32-location problems 7. . . , . , .

This research has been partially supported by the CT-Info/MCT/CNPq Universal 15/2007. The first author is grateful to CAPES and FAPEMIG for financial support.
[1] , . 1986. . 5: 553549. [2] , . 1990. : . 20: 7494. [3] , . , . 1998. . , . [4] , . , . (2000). , 29: 653684. [5] , . 1986. . : , , . [6] , ..; , ...; , ..., , .. , . 2007. , 176: 657690. [7] , .. 2004. : . . [8] , .. & , .. 2006. . & 33: 768789. [9] , ..; , .. & , .. 2006. . & 32: 107125. [10] , .. , .. 2006. . 26: 255294 (. ; ).

J Heuristics (2009) 15: 133151 DOI 10.1007/s10732-008-9079-x

GRASP with hybrid heuristic-subproblem optimization for the multi-level capacitated minimum spanning tree problem
Alexandre X. Martins Mauricio C. de Souza Marcone J.F. Souza Tlio A.M. Toffolo
Received: 16 February 2007 / Revised: 6 February 2008 / Accepted: 24 April 2008 / Published online: 8 May 2008 Springer Science+Business Media, LLC 2008

Abstract We propose a GRASP using an hybrid heuristic-subproblem optimization approach for the Multi-Level Capacitated Minimum Spanning Tree (MLCMST) problem. The motivation behind such approach is that to evaluate moves rearranging the conguration of a subset of nodes may require to solve a smaller-sized MLCMST instance. We thus use heuristic rules to dene, in both the construction and the local search phases, subproblems which are in turn solved exactly by employing an integer programming model. We report numerical results obtained on benchmark instances from the literature, showing the approach to be competitive in terms of solution quality. The proposed GRASP have in fact improved the best known upper bounds for almost all of the considered instances. Keywords Multi-level capacitated minimum spanning tree problem Network design GRASP Subproblem optimization Local search

A.X. Martins Departamento de Cincias Exatas e Aplicadas, Universidade Federal de Ouro Preto, Joo Monlevade, MG, Brazil e-mail: xmartins@decea.ufop.br M.C. de Souza ( ) Departamento de Engenharia de Produo, Universidade Federal de Minas Gerais, Caixa Postal 4006, cep: 31250-970, Belo Horizonte, MG, Brazil e-mail: mauricio.souza@pq.cnpq.br M.J.F. Souza Departamento de Computao, Universidade Federal de Ouro Preto, Ouro Preto, MG, Brazil e-mail: marcone@iceb.ufop.br T.A.M. Toffolo Departamento de Cincia da Computao, Universidade Federal de Minas Gerais, Belo Horizonte, MG, Brazil e-mail: tuliotoffolo@yahoo.com.br

134

A.X. Martins et al.

1 Introduction Capacitated trees arise in the context of centralized network design problems when constraints limit the trafc transmission supported by a link. These problems consist of nding a minimal cost spanning tree rooted at a central node such that the amount of trafc to be transferred from the central to the other nodes is bounded by edge capacities. Applications can be found, for instance, in communication networks, e.g., Esau and Williams (1966), Gavish (1982, 1991), Rothfarb and Goldstein (1971). Esau and Williams (1966) were the rst, to our knowledge, to introduce the Capacitated Minimum Spanning Tree (CMST) problem. Let G = (V , E) be a connected undirected graph, where V is the set of nodes and E is the set of edges. Non-negative costs cij and weights bi are associated respectively to each edge (i, j ) E and to each node i V . Given an integer Q and a central node r V , the CMST problem consists of nding a minimum spanning tree T of G such that the sum of the node weights in each connected component of the subgraph induced in T by V {r} is less than or equal to Q. The CMST problem is NP-Hard for 3 Q |V | , Papadim2 itriou (1978). Both exact and heuristic methods have been developed for the CMST problem, see for instance Ahuja et al. (2001), Amberg et al. (1996), Gavish (1982), Gouveia (1995), Gouveia and Martins (2000, 2005), Hall (1996), Martins (2007), Sharaiha et al. (1997), Souza et al. (2003) and Uchoa et al. (2008). In the CMST problem, a capacity Q is installed on every edge (i, j ) composing a feasible tree T , paying thus its full cost cij no matter the trafc to be transferred between nodes i and j . A natural extension to the CMST problem is to consider that between each pair of nodes a feasible set of capacities with different costs is available. This means that instead of installing a capacity Q on every edge of T , choice can be made among different values of capacities and respective costs. This problem has been recently treated by Gamvros et al. (2003, 2006) as the Multi-Level Capacitated Minimum Spanning Tree (MLCMST) problem. Other problems having characteristics in common with the MLCMST problem have been treated in the literature. Rothfarb and Goldstein (1971) have treated in the early seventies a similar problem, denoted one-terminal telpak problem. That work concerns a network design problem in which requirements from locations to a common facility must be satised minimizing a nonlinear neither convex nor concave but piecewise linear cost function. Network design problems related to the MLCMST can be found in telecommunications, see Berger et al. (2000) and Gavish (1991), and in gas and oil pipeline systems, see Brimberg et al. (2003). In this paper we propose a GRASP for the MLCMST problem that exploits an hybrid heuristic-subproblem optimization scheme. Let us consider a collection = {Si } of nonempty sets forming a partition of V {r} such that uSi bu Q for each Si belonging to , and let Gi be the subgraph of G induced by Si {r}. The motivation to employ subproblem optimization is that while in the CMST problem an instance dened by Gi reduces to the MST problem, this is not the case for the MLCMST problem. Indeed, for the MLCMST problem, to nd a minimum cost capacitated spanning tree of a subgraph induced in G by Si {r} may be itself a MLCMST instance. Gamvros et al. (2002, 2006), in their genetic algorithm, exploited this fact by partitioning V {r} and then trying to locally optimize each subproblem. We exploit this same search structure, but in our GRASP, heuristics are used to construct

GRASP with hybrid heuristic-subproblem optimization

135

and rearrange a partition of V {r} generating smaller-sized MLCMST subproblems which are independently solved to optimality. The paper is organized as follows. In the next section we dene the MLCMST problem and present recent advances and an integer programming formulation as well. In Sects. 3 and 4, respectively, we describe the proposed GRASP and report computational experiments on benchmark instances. We make concluding remarks in the last section.

2 Problem denition The MLCMST problem can be stated as follows. Let G = (V , E) be a connected undirected graph, where V denotes the set of nodes and E denotes the set of edges. Let us consider L different capacities of value zl , l = 1, . . . , L, such that 0 < z1 < z2 < < zL , which are available to be installed on each edge (i, j ) E l with a cost cij . We consider that only one capacity can be installed on an edge. denotes the capacity installed on edge Given a spanning tree T = (V , E) of G, zl
(i,j ) l (i, j ) E. The cost of T is given by (i,j )E cij . A non-negative weight bi is as sociated to each node i V . The tree T being rooted at a central node r V , the predecessor p(i) of a node i V {r} is the rst node in the path from i to r in T . We denote by Ti the connected component containing node i in the forest obtained by removing edge (p(i), i) of T . The MLCMST problem consists of nding a minimum cost spanning tree T of G such that the sum of the node weights in each Ti , l i V {r}, is less than or equal to the capacity z(p(i),i) installed on edge (p(i), i). This problem clearly reduces to the CMST if only one capacity of value Q is available.

2.1 Recent advances The MLCMST have been treated considering a cost structure that reects the economies of scale effect, i.e., zij > zi,j , for l = 1, . . . , L 1, and for all (i, j ) E. l l+1 Gamvros et al. (2002) proposed a mixed-integer programming model for the MLCMST problem in which each node i V {r} is the source of a commodity with unitary demand, and the central node is the destination of all the |V | 1 commodities. They also developed a genetic algorithm that split the MLCMST into two separate subproblems: a grouping problem and a network design problem. The grouping problem consists of assigning nodes to components to be connected to the central node such that the components node weights sum does not exceed the highest capacity zL . The network design problem is in the worst-case a MLCMST instance in the subgraph induced by the nodes of a group together with the central node. As proposed by Falkenauer (1996), the chromosome represents a solution by breaking it up into two parts: a group part and an item part which are associated with the grouping and network design subproblems respectively. A crossover operator similar to that of Falkenauer (1996) and a mutation operator are applied.
cl cl+1

136

A.X. Martins et al.

Martins et al. (2005) conducted computational experiments on solving with a commercial package the MLCMST problem. In that work, three integer programming models for MLCMST were compared on instances adapted from benchmark ones introduced by Gouveia (1995) for the CMST. Two models are mixed integer ow formulations: the single commodity formulation due to Gavish (1982), and the multicommodity formulation proposed by Gamvros et al. (2002). The remaining model is a pure integer programming formulation: the 2n constraint formulation due to Gouveia (1995), i.e., |V | = n. The models due to Gavish (1982) and to Gouveia (1995) were originally proposed to the CMST problem, and they are straightforwardly adapted to the MLCMST. The 2n constraint model, in the CMST context, uses binary variables that limit to l, l = 1, . . . , Q bi (br is assumed to be 0), the ow on edge (i, j ). This leads to what we call a capacity-indexed model for the MLCMST problem. The capacity-indexed model has shown to be the most effective for the purpose of solving MLCMST instances to optimality, though the multicommodity ow model proposed by Gamvros et al. (2002) seems to provide tighter linear relaxation lower bounds. The capacity-indexed model was the only one able to solve instances up to 30 nodes in less than one hour (quite often in few seconds) and obtaining less than 10% of optimality gap for instances up to 40 nodes, running LINGO version 7.0 on a Pentium IV 1,8 GHz with 256 MB of RAM memory (Martins et al. 2005). Gamvros et al. (2006) performed recently a comprehensive study on the MLCMST problem. The authors compared in terms of lower bounds two ow-based mixed integer programming formulations: a strengthened formulation of the single commodity ow model by Gavish (1982), denoted by ESCF, and a strengthened formulation of the multicommodity ow model (Gamvros et al. 2002), denoted by MCF. Computational experiments with medium-sized instances (up to 30 nodes) showed that for bounding purposes ESCF is most useful than MCF. The linear relaxation of ESCF is rapidly solved, while the relaxation of MCF generates more difcult linear programs providing only slightly better bounds. Gamvros et al. (2006) also developed heuristic procedures. A saving construction heuristic starts with a star network in which each node i V {r} is connected to 1 r with capacity z(i,r) . Then, based upon savings in joining nodes in a same component, some edge capacities are upgraded from z1 to zL . When no more savings with capacity zL are possible, the procedure searches for savings in upgrading from z1 to zL1 , and so on. As observed in the CMST problem with the classical Esau and Williams heuristic (Esau and Williams 1966), the proposed saving heuristic obtain good upper bounds for the MLCMST in reduced computational times. Gamvros et al. (2006) exploited the node-based, multi-exchange neighborhood structures developed by Ahuja et al. (2001) in two local search procedures for MLCMST problem. The cyclic and path exchanges dene neighborhoods of exponential size which are explored by constructing an improvement graph. In the rst variant, local search is directly applied to a solution obtained with the saving construction heuristic. In the second variant, called Randomized Start Local Search, different starting solutions are obtained by running the saving construction heuristic on perturbed cost versions of the original graph. Local search is then independently applied to each starting solution. The authors improved the genetic algorithm proposed in Gamvros et al. (2002) by applying a mutation operator based upon the cyclic and path exchange neighborhoods. Computational experiments were conducted on graphs with up to 150 nodes.

GRASP with hybrid heuristic-subproblem optimization

137

Three capacities with costs proportional to the Euclidean distances by factors reecting economies of scale were considered. Numerical results obtained with the saving heuristic, the two local search procedures, and the genetic algorithm showed average gaps from lower bounds ranging from 6.09% to 9.91%, see Gamvros et al. (2006). 2.2 Capacity-indexed model We now present the capacity-indexed formulation for the MLCMST problem. This model was originally proposed by Gouveia (1995), and has recently been used with success by Uchoa et al. (2008) in a branch-and-cut-and-price algorithm for the CMST. Based on our previous computational experience reported in Martins et al. (2005), we have chosen this model to solve to optimality the subproblems generated by the proposed GRASP. The capacity-indexed model requires the following assumptions: (i) z1 = 1 and (ii) capacities increase from 1 to zL by unitary increments. This however may not be found in ordinary practice. In case conditions (i) and (ii) do not hold, we create articial capacities z. The number of different capacities available is set to P = zL , p and then z1 = 1, z2 = 2, . . . , zP = zL . Given an edge (i, j ), the cost cij associated to each articial capacity zp , p = 1, . . . , P , is then set to cij =
p 1 cij , p = 1, . . . , z1 , l cij , p = zl1 + 1, . . . , zl , l = 2, . . . , L.

Although the MLCMST problem is dened on an undirected graph, we describe a model that works on a directed graph generated by replacing an edge (i, j ) in the original graph by two arcs (i, j ) and (j, i) keeping the same cost structure, e.g., (Gamvros et al. 2006; Martins et al. 2005; Uchoa et al. 2008). A binary variable l xij , i V , j V {r}, and l = 1, . . . , L is dened such that
l xij =

1, 0,

if capacity l is installed on arc (i, j ), otherwise.

The capacity-indexed formulation is then written as:


P

min
p=1 iV j V {r} P p

cij xij

p p

(1)

s.t.
p=1 iV P

xij = 1 j V {r},
P

(2)

zij xij
p=1 iV p p=1 iV {r}

p p

zj i xj i = bi

j V {r},

(3) (4)

xij {0, 1} i V , j V {r}, p = 1, . . . , P .

138

A.X. Martins et al.

Constraints Eq. 2 and Eq. 3 are respectively the in-degree constraint for an arborescence rooted at r and the capacity-balance constraint. These constraints together guarantee an arborescence feasible to the MLCMST problem, since Eqs. 2 and 3 prevent both cycles and sub-arborescences rooted at a node i V {r} with node weights exceeding arc (p(i), i) capacity.

3 GRASP with hybrid heuristic-subproblem optimization The proposed GRASP employs an hybrid heuristic-subproblem optimization scheme. Heuristic rules are used both to do a partition of V {r} and to decide whether to call an exact method within the construction and the local search phases. GRASP is a multi-start metaheuristic proposed by Feo and Resende (1995) which has been widely used to obtain good quality solutions for many combinatorial problems. The reader is referred to Festa and Resende (2001, 2004) and Resende and Ribeiro (2003) for in-depth surveys covering GRASP from basic scheme to recent enhancements, implementation strategies and successful applications. A GRASP iteration consists basically of two subsequent phases: construction phase and local search phase. The construction phase builds a feasible solution. The local search starts off with the solution built in the former phase and tries, by investigating neighborhoods, to achieve improvements until a local minima. The procedure returns the best solution found after Max_It iterations. 3.1 Construction phase The construction phase builds in two steps a feasible solution to the MLCMST problem. We rst use a greedy randomized heuristic to do a partition of V {r} in Rk , k = 1, . . . , K subsets. This step has an input parameter w zL that limits the cardinality of each subset in the partition, thus K = |V {r}| in the unitary node weights w case. We build one subset of the partition at a time. Let S denote the candidate nodes to be inserted in subset Rk being built, initially we set S = V {r} and k = 1. The procedure starts an iteration by removing a node i at random from S and inserting it in Rk . While |Rk | < w and S = the procedure moves one node after the other from S to Rk . Thus, all nodes remaining in S are candidates to be inserted in Rk . We create then a restricted candidate list (RCL) formed by the best elements given by a greedy evaluation function. The RCL is formed by those nodes whose incorporation to Rk results in the smallest incremental cost according to Prims algorithm to compute a MST, see for instance (Ahuja et al. 1993). Let dj , for a node j S, be a label dened 1 as dj = min{cij : i Rk }. We then set dmin and dmax respectively to the minimum and maximum values of dj , j S. Given a parameter [0, 1], RCL is dened as RCL = {j S : dj dmin + (dmax dmin )}. The element to be moved from S to Rk is randomly selected from those in the RCL, and labels dj are updated for the nodes remaining in S following Prims algorithmic logic (Ahuja et al. 1993). When w nodes are inserted in Rk , we increment k and proceed until a partition of V {r} is done.

GRASP with hybrid heuristic-subproblem optimization

139

At this point, there are K subproblems consisting each of an independent MLCMST instance on the subgraph induced in G by Rk {r}, k = 1, . . . , K. In the second step, we solve independently each of the K subproblems to optimality, and we have thus a feasible solution to the original MLCMST instance. For this purpose we employ the capacity-indexed model, cf., Sect. 2.2, by making calls to an optimization package. Note that by solving exactly the subproblems, nodes grouped in one subset Rk of the partition can actually form two or more components connected to r. 3.2 Local search phase The local search phase tries to improve a feasible solution by re-arranging nodes of different components connected to r. Let us consider, in the sequel of this section, a spanning tree T = (V , E) feasible to the MLCMST problem. Let us also designate a connected component of the forest obtained by the elimination of r and its incident edges from T as a component of T . A move is then dened by combining two or more components. The value of applying a move to T in order to generate a neighbor l l l T = (V , E ) is given by = (i,j )E cij (i,j )E cij , where cij denotes the
l cost of capacity z(i,j ) installed on edge (i, j ) E, cf., Sect. 2. The value of is computed by obtaining the best way to connect to r the nodes of the components involved. As mentioned before, evaluate this kind of move means solving a smallersized MLCMST instance in the worst-case. Thus, we limit the size of the subproblem induced in G by the components dening a move. We make within the local search calls to an optimization package to solve exactly each MLCMST instance modeled with the capacity-indexed formulation. We propose thus heuristic rules to form the subproblems. The rationale of the heuristic is to identify a local gain in connecting two nodes that are in different components of T . Given a node i, let us dene by Vi the set of nodes in the component containing i, and let us also denote by c(Ti ) the cost of the subgraph induced in T by Vi {r} with the respectively installed capacities. Figure 1 shows in details the local search procedure. We consider the set S of non-leaf nodes in T as candidates to be reference nodes to form a subproblem. At each iteration of the local search, a node i is chosen at random from S. The procedure then starts to build a subset of nodes P which may induce a subproblem in G. Initially P is set to Vi {r}, and the gain is set to c(Ti ). The set S contains the nodes that connect the other components to r. The parameter h, which limits the cardinality of P , is chosen at random from the interval [h, h], where h and h are positive integers. We try then to add the nodes of one or more components to P so as to build a subproblem. A node j is chosen at random from S, and the procedure looks for a node u belonging to Vj that could be connected to i with the capacity l installed on edge (p(u), u) at a smaller cost. The component Vj is included in the subproblem being built if both there exists such a node and the cardinality of Vj P does not exceed h. In this case the gain is increased by adding c(Tj ) to . Node j is removed from S and the procedure continues trying to enlarge the subproblem until either the cardinality of P is h or S is empty.

140

A.X. Martins et al.

At this point, a subproblem has been built if P contains also nodes other than the ones in Vi {r}. We then solve to optimality the subproblem induced in G by P . That is, we try to re-arrange in an optimal manner the components of T selected to be included in P . Let us suppose that the optimal solution of the subproblem has a value of , note that cannot be greater than . If is smaller than , an improving move with value = has been found, and the current solution T is updated. The set S of candidates to be reference nodes is also recongured. We include in (resp. remove from) S the non-leaf (resp. leaf) nodes of the optimal solution of the subproblem that are not (reps. are) already in it. The choice of a node i from S at the beginning of an iteration may not lead to an improving move for two reasons: the move value is zero or none of the components has been added to P . In the rst case the optimal solution of the subproblem has the same conguration the components involved already had in T , and we remove from S all the nodes of component Vi . In the second case the exact method has not been called, and we remove from S only the node i. The procedure iterates while S in not empty.

4 Computational results In order to measure the potential of the proposed GRASP in nding good quality solutions, we conducted computational experiments on benchmark instances for the MLCMST problem. We report in this section numerical results on instances introduced in the literature by Gamvros et al. (2006). The authors introduced small instances with 20 and 30 nodes plus the central node, and larger ones with 50, 100 and 150 nodes plus the central node. These are unitary demand instances in which the nodes, except the central, are randomly distributed in a 40 40 square grid. There are three problem types for each size, according to the location of the central node: in the center, at the edge, and randomly located. For each problem type and size, 50 instances were generated. In all instances, three different capacities are available and their values are the same for every edge: z1 = 1, z2 = 3, and z3 = 10. For each edge 1 (i, j ), the cost cij of the rst facility is equal to Euclidean distance between their extremities (not rounded), and the cost of the second and third facilities are respectively 3 2 1 1 cij = 2cij and cij = 3cij . Regarding the larger instances, Gamvros et al. (2006) have reported, for each combination number of nodeslocation of the central node, aggregated percentage gaps (average, min and max) with respect to the lower bounds obtained by the LP relaxation of ESCF. For the 50 and 100 nodes instances, the authors have reported results for all the methods developed by them: the construction heuristic, the two local search procedures, and the genetic algorithm (Gamvros et al. 2006), cf., Sect. 2.1. The genetic algorithm seems to perform better, since it obtained the smallest average gaps for all the six problem type size pairs of the instances of 50 and 100 nodes. For the 150 nodes instances, Gamvros et al. (2006) have reported results for the construction heuristic and the rst variant of the local search, cf., Sect. 2.1. We considered in this study the three problem type instances with 50 nodes, and the central node located in the center instances with 100 and 150 nodes, resulting in a total of 250 instances. This option is due to the large computational times needed

GRASP with hybrid heuristic-subproblem optimization

141

procedure Local_Search 1 Set S as the set of non-leaf nodes in T ; 2 while (S = ) do 3 Select at random a node i from S. 4 c(Ti ) 5 P Vi {r} 6 S {j V P | (j, r) E} 7 Chose at random h [h, h] 8 while (|P | < h) and (S = ) do 9 Select at random a node j from S. For each node u Vj let l be the capacity installed on edge (p(u), u) l l 10 if (there exists a node u Vj such that ciu < cp(u),u ) and (|Vj | + |P | h) then 11 P P Vj 12 + c(Tj ) 13 end-if 14 S S {j } 15 end-while 16 if (|P | > |Vi | + 1) then 17 Solve to optimality the subproblem induced in G by P , and let be the value of its optimal solution. 18 if ( < ) then 19 Update the current solution T . Let I and I be respectively the set of non-leaf and leaf nodes in the optimal solution of the subproblem. 20 S (S I ) I ; 21 end-if 22 else 23 S S Vi ; 24 end-else 25 end-if 26 else 27 S S {i}; 28 end-else 29 end-while end-procedure
Fig. 1 Pseudo-code of the local search

to run our approach on the central node located at the edge and randomly. To run our GRASP approach on the 100 and 150 nodes instances with the central node located at the edge and randomly we shall develop extensions such as elimination tests. The heuristic procedures were coded in C++, using compiler mingw32. CPLEX version 9.1 was used to solve all the subproblems to optimality. The 50 and 150 nodes instances were ran on a Pentium 4, 2.5 GHz, with 1 GB of RAM memory. The

142 Table 1 Results for the instances with 50 nodes, central node located in the center Best known (Raghavan 2007) Instance 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 UB 572.286 541.608 563.120 566.703 542.397 609.805 574.594 587.016 622.000 639.954 560.428 597.520 633.220 545.470 570.354 561.199 581.043 576.984 612.073 609.880 564.933 595.280 570.357 575.103 629.089 559.847 575.675 568.571 583.516 575.400 605.376 587.130 595.326 565.632 600.291 576.653 582.251 529.314 598.707 549.914 LB 533.417 500.122 525.770 525.203 511.112 570.393 524.273 549.233 587.959 599.071 528.558 563.720 593.333 501.707 533.994 531.141 541.948 539.608 566.167 572.305 515.615 555.307 533.678 527.074 584.053 539.019 532.307 531.626 549.753 535.022 570.623 545.171 558.370 531.286 553.032 532.293 535.656 498.100 558.825 509.313 g(%) 7.29 8.30 7.10 7.90 6.12 6.91 9.60 6.88 5.79 6.82 6.03 6.00 6.72 8.72 6.81 5.66 7.21 6.93 8.11 6.57 9.57 7.20 6.87 9.11 7.71 3.86 8.15 6.95 6.14 7.55 6.09 7.70 6.62 6.46 8.55 8.33 8.70 6.27 7.14 7.97 GRASP UB 568.476 540.621 558.659 564.283 541.677 608.158 571.427 580.527 616.956 635.477 557.311 592.567 630.495 541.065 565.960 560.875 577.772 570.136 605.112 608.206 561.301 593.014 565.352 573.494 623.627 554.543 570.778 564.583 581.974 572.327 601.977 582.820 591.413 562.659 596.988 574.187 579.590 525.880 595.329 549.045 Time (s) 2073.375 1811.016 1717.453 2087.125 1182.516 1270.328 5721.984 1163.516 1075.734 999.641 1987.359 1132.719 1727.406 1865.031 2296.625 1933.500 1901.578 1138.922 1288.203 1647.266 2946.375 2327.422 2047.984 2200.922 1498.594 2212.188 899.422 1076.750 2180.656 2128.484 1419.344 2425.828 2155.375 903.203 1728.234 2422.344 1301.953 1266.328 3557.641 5646.625 it 1 2 1 2 2 1 2 1 8 1 3 1 1 3 2 1 1 2 3 1 9 1 1 2 1 3 4 1 1 1 1 12 1 2 8 2 3 2 1 1

A.X. Martins et al.

g (%) 6.57 8.10 6.26 7.44 5.98 6.62 8.99 5.70 4.93 6.08 5.44 5.12 6.26 7.84 5.99 5.60 6.61 5.66 6.88 6.27 8.86 6.79 5.93 8.81 6.78 2.88 7.23 6.20 5.86 6.97 5.49 6.91 5.92 5.91 7.95 7.87 8.20 5.58 6.53 7.80

Improved? yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes

GRASP with hybrid heuristic-subproblem optimization Table 1 (Continued) Best known (Raghavan 2007) Instance 40 41 42 43 44 45 46 47 48 49 Average UB 559.654 582.251 588.473 585.324 585.415 585.161 581.248 626.617 586.974 559.967 580.910 LB 521.103 544.404 541.122 547.437 558.671 543.586 546.615 574.898 542.572 532.136 542.075 g(%) 7.40 6.95 8.75 6.92 4.79 7.65 6.34 9.00 8.18 5.23 7.13 GRASP UB 554.145 578.868 581.187 581.138 584.498 581.792 575.617 622.094 579.057 559.609 577.265 Time (s) 1436.578 2082.656 1047.781 1813.766 1257.313 1911.250 1447.938 3655.563 1429.844 1129.094 1891.729 it 2 1 1 1 3 2 1 1 2 1 g (%) 6.34 6.33 7.40 6.16 4.62 7.03 5.31 8.21 6.72 5.16 6.45

143

Improved? yes yes yes yes yes yes yes yes yes yes

100 nodes instances were ran on a Athlon 64 3200+, 2 GHz, with 512 Mb of RAM memory. We ran GRASP for a number of Max_It equal to 15 iterations and 10 iterations for respectively the 50 nodes instances and the 100 and 150 nodes instances, since for the larger instances a larger number of subproblems are created increasing the time spent in each iteration. In the construction phase, was chosen at random in the interval [0.1, 0.4], and the parameter w, which limits the cardinality of each set in the partition, was set to 10. In the local search phase, the value of h was chosen at random from the interval [16, 31]. We report in Tables 1 to 5 numerical results for each of the 250 instances considered. Tables 1, 2 and 3 correspond to the 50 nodes instances with central node located respectively in the center, at the edge and randomly. Tables 4 and 5 correspond respectively to the 100 and 150 nodes instances. In each table, the rst column presents the instance identication. We then show the best known upper bound so far, the lower bound given by the linear relaxation of ESCF, and the gap with respect to the lower bound, i.e., ublb %. The best known upper bounds and the lower bounds were lb informed to us by Raghavan (2007). we report in the next columns results obtained by the proposed GRASP. We show the upper bound, the time in seconds to perform Max_It iterations, the iteration the best solution was found, and the gap with respect to the lower bound given by the linear relaxation of ESCF. In the last column we inform whether GRASP improved (case yes) or not (case no) the value of the best upper bound known so far. We display average results on the last line of each table. Numerical results have shown the proposed hybrid strategy to be very efcient in nding good quality solutions for the MLCMST problem. GRASP using hybrid heuristic-subproblem optimization was able to improve the best known upper bounds for 247 out of 250 instances. The only instances for which the solution obtained by GRASP did not improved the best known value are the indexed by 13 and 41 with 50 nodes and central node located at the edge, and the one indexed by 34 with 100 nodes. Computational times are relatively large since the approach has to solve smaller-sized

144 Table 2 Results for the instances with 50 nodes, central node located at the edge Best known (Raghavan 2007) Instance 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 UB 1117.320 1152.570 1011.130 1089.590 1124.930 1097.488 1006.158 1046.880 1079.360 1123.570 1122.596 1093.840 1020.390 1158.830 1097.010 1088.038 1048.104 1065.522 1076.144 1048.350 1043.620 1141.432 1111.630 1024.092 1067.950 1034.200 1126.770 945.774 1064.890 1130.400 1047.546 1111.790 1138.346 1072.710 1030.482 1045.550 1067.570 1006.294 1081.320 1041.820 LB 1068.715 1106.826 969.158 1042.383 1080.000 1052.866 960.042 994.715 1036.033 1066.439 1065.632 1042.840 969.542 1120.440 1047.044 1037.810 1007.032 1014.985 1025.321 998.147 1008.909 1093.608 1064.362 976.259 1029.884 985.120 1082.106 902.381 1016.481 1087.191 1006.175 1071.455 1090.908 1020.903 983.065 1001.190 1014.803 959.416 1030.120 993.939 g (%) 4.55 4.13 4.33 4.53 4.16 4.24 4.80 5.24 4.18 5.36 5.35 4.89 5.24 3.43 4.77 4.84 4.08 4.98 4.96 5.03 3.44 4.37 4.44 4.90 3.70 4.98 4.13 4.81 4.76 3.97 4.11 3.76 4.35 5.07 4.82 4.43 5.20 4.89 4.97 4.82 GRASP UB 1108.674 Time (s) 4939.016 it 1 1 1 3 10 3 1 4 11 1 1 1 2 3 3 1 2 3 5 9 2 1 14 4 1 1 1 7 1 12 2 9 4 15 2 6 5 3 4 7

A.X. Martins et al.

g (%) 3.74 3.71 3.93 4.00 4.00 4.12 4.40 4.42 4.05 4.89 4.70 4.85 5.02 3.43 4.41 4.24 3.68 4.32 4.67 4.13 3.33 4.12 4.10 4.48 3.40 4.60 3.65 4.34 4.27 3.76 3.83 3.59 4.09 4.67 4.23 3.81 4.23 4.38 4.93 4.47

Improved? yes yes yes yes yes yes yes yes yes yes yes yes yes no yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes

1147.926 45926.094 1007.268 17089.469 1084.108 8939.922 1123.234 13108.781 1096.208 12027.750 1002.304 19471.266 1038.709 11485.844 1077.996 15925.734 1118.622 17105.969 1115.708 50987.828 1093.425 54976.344 1018.228 1158.830 1093.222 2256.859 6380.422 8038.391

1081.795 13872.750 1044.068 10578.953 1058.846 17435.656 1073.228 1039.356 1042.514 1138.702 1107.963 1020.009 1030.405 1121.626 941.540 1128.082 1044.712 1109.926 1068.535 1024.628 1039.296 1001.467 1080.916 1038.405 9574.797 8240.891 5688.469 7677.422 3579.891 6712.328 3755.047 3691.234 5145.250 6261.453 8275.469 3436.719 4951.891 4875.438 6268.766 6612.141 4030.422 9547.359

1064.896 20781.875

1059.916 13199.000

1135.531 34444.250

1057.711 29760.641

GRASP with hybrid heuristic-subproblem optimization Table 2 (Continued) Best known (Raghavan 2007) Instance 40 41 42 43 44 45 46 47 48 49 Average UB 1051.422 1051.030 1058.582 1052.962 1018.830 1064.190 1112.650 1119.244 1034.750 1101.820 1070.848 LB 1001.262 1000.015 1010.345 1005.704 974.004 1017.711 1059.193 1065.072 988.710 1051.821 1023.538 g (%) 5.01 5.10 4.77 4.70 4.60 4.57 5.05 5.09 4.66 4.75 4.60 GRASP UB 1046.796 1051.428 1052.056 1017.236 1062.960 1106.692 1028.043 Time (s) 9388.578 6526.375 6826.547 4810.297 6587.734 5963.859 9018.047 it 10 15 1 3 8 3 10 2 4 9 g (%) 4.55 5.14 4.13 4.22 4.44 4.45 4.48 4.57 3.98 4.45 4.21

145

Improved? yes no yes yes yes yes yes yes yes yes

1048.190 16615.703

1113.767 10856.734 1098.593 54296.188 1066.781 13141.269

instances of an NP-Hard problem to evaluate a move. Indeed, more than 95% of the computational time effort on each instance is spent to solve exactly the subproblems. This inhibit running the method for more iterations, which could perhaps lead to further improvements in the best known upper bounds. Nevertheless, it is worth noting that, apart the instances with central node located at the edge, GRASP was able to improve the best upper bound for 187 out of 200 instances in less than one hour of CPU time. As already noted by other authors working with the CMST problem, the instances where the central node is located at the edge are in fact harder ones. This seems to also be true in the MLCMST context, as GRASP spent much more time in this type of instances because CPLEX had much more difcult in solving the subproblems to optimality.

5 Concluding remarks and extensions The MLCMST problem possesses a structure that even simple moves dened as a reconguration of a subset of nodes may lead to a smaller-sized instance of the problem itself. This fact makes MLCMST a quite challenging problem for local search based algorithms. In this paper we proposed so an hybrid heuristic-subproblem optimization strategy for the MLCMST problem. Heuristics are used to build subproblems, which are in turn solved to optimality by an exact method. We embedded this scheme in a GRASP framework. The proposed GRASP has shown to be quite competitive. Considering 250 benchmark instances, it was able to improve almost all the best known upper bounds obtained by the powerful methods developed by Gamvros et al. (2006). The main direction of further research is related to heuristic rules to speed up the search. Elimination tests and move value estimations shall be developed to reduce the number of times the local search make calls to the exact method. These extensions, if successfully managed, can enable GRASP to perform much more iterations in acceptable computational time.

146 Table 3 Results for the instances with 50 nodes, central node randomly located Best known (Raghavan 2007) Instance 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 UB 596.700 737.906 705.761 683.067 866.084 961.915 768.232 744.171 688.182 831.260 856.208 675.777 718.659 795.780 791.095 874.707 704.393 591.825 692.904 816.991 881.706 801.536 691.108 724.777 813.879 625.558 853.640 702.418 774.331 1065.210 717.690 736.650 977.977 976.020 796.694 552.085 700.238 770.738 663.472 689.381 LB 557.138 693.221 667.657 645.708 822.798 910.483 730.783 702.911 649.021 794.448 813.103 638.062 672.276 752.459 745.260 828.337 663.789 550.665 660.101 768.450 842.081 764.734 657.499 683.482 769.352 590.817 818.897 667.857 731.137 1019.436 679.062 689.199 933.054 929.517 754.480 522.575 664.150 730.834 622.798 650.206 g (%) 7.10 6.45 5.71 5.79 5.26 5.65 5.12 5.87 6.03 4.63 5.30 5.91 6.90 5.76 6.15 5.60 6.12 7.47 4.97 6.32 4.71 4.81 5.11 6.04 5.79 5.88 4.24 5.17 5.91 4.49 5.69 6.88 4.81 5.00 5.60 5.65 5.43 5.46 6.53 6.03 GRASP UB 591.991 737.046 701.633 676.355 859.786 958.692 767.158 742.123 684.667 829.176 850.330 670.775 715.212 790.461 786.882 872.357 702.672 585.497 690.706 811.374 879.342 797.794 688.662 720.743 809.756 625.111 853.640 694.711 773.762 1062.234 712.625 729.420 973.967 970.959 792.202 551.251 698.521 769.785 657.630 687.322 Time (s) 2763.495 1698.13 2855.06 3432.59 2034.48 9046.31 2464.86 2763.63 1161.94 2782.61 2763.50 637.77 4266.78 1455.67 3103.08 1910.34 969.58 530.19 1050.86 3220.55 4848.55 1154.78 876.70 1240.91 2016.31 1005.27 9867.516 1212.938 2037.203 6316.703 2188.734 1765.141 4454.375 2810.750 2566.891 977.688 1407.859 4535.516 2455.500 1205.813 it 1 10 6 1 4 2 1 3 1 1 4 15 2 14 2 3 2 2 1 2 3 3 1 1 3 5 2 1 3 1 5 9 7 2 1 2 1 4 1 5

A.X. Martins et al.

g (%) 6.26 6.32 5.09 4.75 4.50 5.29 4.98 5.58 5.49 4.37 4.58 5.13 6.39 5.05 5.58 5.31 5.86 6.33 4.64 5.59 4.42 4.32 4.74 5.45 5.25 5.80 4.24 4.02 5.83 4.20 4.94 5.84 4.38 4.46 5.00 5.49 5.18 5.33 5.59 5.71

Improved? yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes

GRASP with hybrid heuristic-subproblem optimization Table 3 (Continued) Best known (Raghavan 2007) Instance 40 41 42 43 44 45 46 47 48 49 Average UB 650.031 790.728 536.435 720.548 627.707 800.358 550.632 767.506 686.307 629.679 743.394 LB 611.928 747.924 505.561 687.324 590.234 758.279 514.568 732.944 644.523 598.730 703.636 g (%) 6.23 5.72 6.11 4.83 6.35 5.55 7.01 4.72 6.48 5.17 5.68 GRASP UB 649.141 788.533 535.245 719.962 621.563 800.283 547.649 766.440 684.083 628.967 740.224 Time (s) 1117.766 1207.609 613.656 1258.297 605.031 3250.391 705.734 3746.797 909.844 729.688 2358.306 it 3 14 1 1 1 5 4 8 2 1 g (%) 6.08 5.43 5.87 4.75 5.31 5.54 6.43 4.57 6.14 5.05 5.22

147

Improved? yes yes yes yes yes yes yes yes yes yes

Table 4 Results for the instances with 100 nodes, central node located in the center Best known (Raghavan 2007) Instance 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 UB 1083.450 1117.510 1118.070 1105.440 1079.160 1117.620 1051.260 1138.590 1112.700 1155.010 1047.700 1061.080 1111.580 1084.010 1057.480 1100.650 1092.330 1206.120 LB 1024.191 1048.661 1051.477 1047.969 1017.385 1054.653 985.254 1078.650 1050.654 1077.064 992.060 993.088 1042.317 1015.896 999.349 1036.539 1032.529 1134.773 g (%) 5.79 6.57 6.33 5.48 6.07 5.97 6.70 5.56 5.91 7.24 5.61 6.85 6.65 6.70 5.82 6.19 5.79 6.29 GRASP UB 1076.434 1104.727 1110.312 1096.077 1074.979 1106.464 1043.467 1136.636 1106.025 1140.360 1044.391 1048.174 1101.045 1078.415 1053.560 1098.935 1083.318 1196.739 Time (s) 1801.177 1828.250 1245.278 1658.452 1995.801 1648.595 1070.935 1594.024 2118.244 888.275 1427.077 3658.813 1479.012 2595.106 1422.297 2158.163 2190.453 1527.039 it 7 2 9 1 10 6 4 9 6 3 4 3 3 7 6 6 8 3 g (%) 5.10 5.35 5.60 4.59 5.66 4.91 5.91 5.38 5.27 5.88 5.28 5.55 5.63 6.15 5.42 6.02 4.92 5.46 Improved? yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes

148

A.X. Martins et al.

Table 4 (Continued) Best known (Raghavan 2007) Instance 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 Average UB 1111.210 1071.840 1112.400 1092.440 1036.480 1101.340 1104.400 1095.780 1062.130 1075.840 1077.270 1150.040 1041.360 1072.380 1069.780 1118.910 1072.150 1142.252 1130.150 1126.950 1132.680 1102.900 1098.310 1081.720 1009.950 1069.070 1105.940 1149.150 1124.670 1142.940 1075.840 1039.850 1095.056 LB 1055.557 1010.115 1053.188 1029.058 974.752 1031.378 1035.416 1030.565 999.691 1011.056 1011.218 1076.069 988.261 1010.986 998.009 1050.361 1020.362 1073.319 1063.698 1058.023 1071.240 1041.975 1030.333 1016.515 951.936 1005.234 1045.801 1073.378 1061.748 1075.421 1013.634 977.940 1030.994 g (%) 5.27 6.11 5.62 6.16 6.33 6.78 6.66 6.33 6.25 6.41 6.53 6.87 5.37 6.07 7.19 6.53 5.08 6.42 6.25 6.51 5.74 5.85 6.60 6.41 6.09 6.35 5.75 7.06 5.93 6.28 6.14 6.33 6.19 GRASP UB 1107.420 1066.128 1103.919 1083.063 1027.713 1092.071 1097.585 1090.636 1059.917 1069.501 1073.943 1137.530 1036.628 1064.187 1060.309 1111.018 1074.551 1128.925 1127.004 1114.458 1124.892 1097.777 1087.756 1072.136 1008.490 1061.292 1098.635 1137.514 1122.407 1133.873 1062.411 1034.727 1087.784 Time (s) 1751.125 5288.727 2050.216 1186.734 2435.408 1190.802 2037.423 2278.575 2116.016 1594.648 1588.139 1765.426 1693.930 1704.863 1864.445 1654.515 3057.399 1265.307 2542.987 1235.497 1722.432 2023.678 1189.118 1318.062 1724.516 1722.712 2845.270 1442.134 2106.192 1241.770 1265.299 1230.213 1829.977 it 8 2 6 10 8 4 3 10 1 3 2 1 8 5 3 3 3 1 4 10 1 4 7 5 8 5 1 3 1 7 1 1 g (%) 4.91 5.55 4.82 5.25 5.43 5.88 6.00 5.83 6.02 5.78 6.20 5.71 4.89 5.26 6.24 5.77 5.31 5.18 5.95 5.33 5.01 5.36 5.57 5.47 5.94 5.58 5.05 5.98 5.71 5.44 4.81 5.81 5.48 Improved? yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes no yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes

GRASP with hybrid heuristic-subproblem optimization Table 5 Results for the instances with 150 nodes, central node located in the center Best known (Raghavan 2007) Instance 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 UB 1580.940 1656.710 1644.040 1613.520 1659.450 1681.760 1580.190 1614.120 1616.600 1575.550 1692.590 1560.320 1630.830 1640.320 1623.600 1612.230 1575.520 1662.970 1656.130 1690.210 1540.850 1627.950 1633.970 1643.040 1664.360 1616.310 1587.260 1691.870 1599.100 1607.750 1608.570 1629.970 1640.740 1667.140 1548.240 1648.000 1551.870 1598.370 1546.380 1604.670 LB 1483.970 1569.578 1550.347 1509.925 1555.021 1583.078 1486.176 1520.713 1513.958 1477.302 1589.691 1468.010 1526.610 1548.118 1520.679 1522.013 1466.952 1566.313 1548.836 1600.140 1452.732 1542.231 1539.500 1538.718 1552.271 1512.606 1485.253 1581.592 1506.521 1502.692 1511.768 1529.406 1519.517 1572.180 1451.053 1548.540 1456.257 1509.759 1441.415 1520.043 g (%) 6.53 5.55 6.04 6.86 6.72 6.23 6.33 6.14 6.78 6.65 6.47 6.29 6.83 5.96 6.77 5.93 7.40 6.17 6.93 5.63 6.07 5.56 6.14 6.78 7.22 6.86 6.87 6.97 6.15 6.99 6.40 6.58 7.98 6.04 6.70 6.42 6.57 5.87 7.28 5.57 GRASP UB 1555.086 1639.308 1624.750 1586.540 1633.248 1658.822 1560.927 1601.457 1584.621 1551.760 1670.655 1536.382 1600.248 1620.416 1596.448 1591.070 1546.311 1642.191 1627.517 1674.517 1614.360 1615.515 1611.305 1626.808 1588.242 1660.209 1573.735 1580.154 1585.971 1608.105 1599.565 1646.669 1523.056 1626.485 1525.583 1576.402 1584.219 Time (s) 4088.422 8907.453 7602.703 7786.656 4725.172 6100.688 5875.156 6128.094 6723.203 5727.875 7285.422 4121.359 4777.875 6793.125 6998.672 5340.594 4744.141 7605.047 6613.781 8642.484 7018.938 4026.125 6657.594 6818.172 5791.656 6437.563 7968.938 4740.234 7222.000 4494.375 6046.578 7204.375 6650.594 8050.063 4232.906 7346.703 4259.750 it 4 7 8 6 5 3 1 6 8 4 3 7 1 4 3 8 7 4 6 8 1 4 5 2 3 8 3 6 2 2 6 1 5 8 3 7 10 6 8 3 g (%) 4.79 4.44 4.80 5.07 5.03 4.78 5.03 5.31 4.67 5.04 5.09 4.66 4.82 4.67 4.98 4.54 5.41 4.84 5.08 4.65 4.93 4.68 4.94 4.72 4.80 5.00 5.32 4.97 4.46 5.15 4.91 5.15 5.27 4.74 4.96 5.03 4.76 4.41 5.45 4.22

149

Improved? yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes

1524.373 22588.672

1564.279 11945.141

1519.990 12916.313

150 Table 5 (Continued) Best known (Raghavan 2007) Instance 40 41 42 43 44 45 46 47 48 49 Average UB 1701.160 1625.390 1654.450 1634.980 1643.670 1653.450 1669.640 1637.750 1613.150 1687.700 1625.220 LB 1595.441 1530.982 1554.185 1539.881 1546.491 1554.087 1567.323 1534.329 1523.084 1588.236 1526.607 g (%) 6.63 6.17 6.45 6.18 6.28 6.39 6.53 6.74 5.91 6.26 6.44 GRASP UB Time (s) it 10 9 9 6 5 9 2 5 3 10

A.X. Martins et al.

g (%) 4.87 5.08 4.68 4.55 4.34 4.90 4.75 4.99 4.86 5.06 4.86

Improved? yes yes yes yes yes yes yes yes yes yes

1673.146 11445.047 1608.741 1626.899 1610.013 1613.592 1630.234 1641.708 1610.863 1597.074 1668.591 1601.140 7715.984 6533.875 4597.219 5924.797 5386.359 4399.047 8037.734 6040.188 5103.953 6827.744

Acknowledgements We are in debt with S. Raghu Raghavan and Ioannis Gamvros for kindly making available their instances and bound values. We also wish to thank Eduardo Uchoa and Haroldo Santos for useful discussions. The second author was supported by CNPq grant 301603/2006-5, Brazil.

References
Ahuja, R.V., Magnanti, T.L., Orlin, J.B.: Network Flows: Theory, Algorithms and Applications. PrenticeHall, Englewood Cliffs (1993) Ahuja, R.K., Orlin, J.B., Sharma, D.: Multi-exchange neighborhood structures for the capacitated minimum spanning tree problem. Math. Program. 91, 7197 (2001) Amberg, A., Domschke, W., Voss, S.: Capacitated minimum spanning tree: Algorithms using intelligent search. Comb. Optim.: Theory Pract. 1, 940 (1996) Berger, D., Gendron, B., Potvin, J.Y., Raghavan, S., Soriano, P.: Tabu search for a network loading problem with multiple facilities. J. Heuristics 6, 253267 (2000) Brimberg, J., Hansen, P., Lih, K.-W., Mladenovi , N., Breton, M.: An oil pipeline design problem. Oper. c Res. 51, 228239 (2003) de Souza, M.C., Duhamel, C., Ribeiro, C.C.: A GRASP heuristic for the capacitated minimum spanning tree problem using a memory-based local search strategy. In: Resende, M.G.C., De Sousa, J.P. (eds.) Metaheuristics: Computer Decision-Making, pp. 627657. Kluwer Academic, Dordrecht (2003) Falkenauer, E.: A hybrid grouping genetic algorithm for bin packing. J. Heuristics 2, 530 (1996) Esau, L.R., Williams, K.C.: On teleprocessing system design. IBM Syst. J. 5, 142147 (1966) Feo, T.A., Resende, M.G.C.: Greedy randomized adaptive search procedures. J. Glob. Optim. 6, 109133 (1995) Festa, P., Resende, M.G.C.: GRASP: An annotated bibliography. In: Ribeiro, C.C., Hansen, P. (eds.) Essays and Surveys in Metaheuristics, pp. 325367. Kluwer Academic, Dordrecht (2001) Festa, P., Resende, M.G.C.: An annotated bibliography of GRASP. AT&T Labs Research Technical Report, TD-5WYSEW (2004) Gamvros, I., Raghavan, S., Golden, B.L.: An evolutionary approach for the multi-level capacitated minimum spanning tree. Technical Research Report TR 2002-18, Institute for Systems Research, University of Maryland (2002) Gamvros, I., Raghavan, S., Golden, B.L.: An evolutionary approach for the multi-level capacitated minimum spanning tree. In: Anandalingam, G., Raghavan, S. (eds.) Telecommunications Network Design and Management, pp. 99124. Kluwer Academic, Dordrecht (2003)

GRASP with hybrid heuristic-subproblem optimization

151

Gamvros, I., Golden, B.L., Raghavan, S.: The multi-level capacitated minimum spanning tree. INFORMS J. Comput. 18, 348365 (2006) Gavish, B.: Topological design of centralized computer networks: Formulations and algorithms. Networks 12, 355377 (1982) Gavish, B.: Topological design of telecommunication networks-local access design methods. Ann. Oper. Res. 33, 1771 (1991) Gouveia, L.: A 2n formulation for the capacitated minimal spanning tree problem. Oper. Res. 43, 130141 (1995) Gouveia, L., Martins, P.: A hierarchy of hop-indexed models for the capacitated minimum spanning tree problem. Networks 35, 116 (2000) Gouveia, L., Martins, P.: The capacitated minimum spanning tree problem: revisiting hop-indexed formulations. Comput. Oper. Res. 32, 24352452 (2005) Hall, L.: Experience with a cutting plane approach for the capacitated spanning tree problem. INFORMS J. Comput. 8, 219234 (1996) Martins, P.: Enhanced second order algorithm applied to the capacitated minimum spanning tree problem. Comput. Oper. Res. 34, 24952519 (2007) Martins, A.X., Souza, M.J.F., de Souza, M.C.: Modelos matemticos para o problema da rvore geradora mnima capacitada em nveis. In: Anais do XXXVII Simpsio Brasileiro de Pesquisa Operacional, pp. 19711982. Gramado, Brazil (2005) (in Portuguese) Papadimitriou, C.: The complexity of the capacitated tree problem. Networks 8, 217230 (1978) Raghavan, S.: Personal communication, 2007 Resende, M.G.C., Ribeiro, C.C.: Greedy randomized adaptive search procedures. In: Glover, F., Kochenberger, G. (eds.) Handbooks of Metaheuristics, pp. 219249. Kluwer Academic, Dordrecht (2003) Rothfarb, B., Goldstein, M.: The one-terminal telpak problem. Oper. Res. 19, 156169 (1971) Sharaiha, Y., Gendreau, M., Laporte, G., Osman, I.: A tabu search algorithm for the capacitated shortest spanning tree problem. Networks 29, 161171 (1997) Uchoa, E., Fukasawa, R., Lysgaard, J., Pessoa, A., Poggi de Arago, M., Andrade, D.: Robust branchcut-and-price for the capacitated minimum spanning tree problem over a large extended formulation. Math. Program. 112, 443472 (2008)

A hybrid metaheuristic algorithm for the Integrated Vehicle and Crew Scheduling Problem
M.J.F.Souza,1 , S.Ribas,2 , I.M.Coelho,3
Federal University of Ouro Preto, Department of Computer Science, Ouro Preto, Minas Gerais, Brazil 35400-000

Abstract This work deals with the Integrated Vehicle and Crew Scheduling Problem (VCSP) in urban mass transit. The Vehicle Scheduling Problem (VSP) consists in creating a daily routine of operation for a eet of vehicles of a company so that all timetabled trips are covered and the operational costs of such activity reduced, making the best use of the eet. In the Crew Scheduling Problem (CSP) each crew corresponds to a duty, and the goal is the generation of its schedule, satisfying a set of labor agreement and operational rules of the company, as well as the workforce optimization. Traditionally, the VSP and the CSP are solved sequentially by the vehicles-rst duties-second approach, but these methodologies do not explore the link between both problems. The diculty of solving VCSP is greater than the individual problems since it contains all the degrees of freedom of vehicle scheduling and all the degrees of freedom of crew scheduling. Since VCSP is NP-hard, an algorithm based on metaheuristics approaches is proposed here. This algorithm combines Iterated Local Search (ILS), Variable Neighborhood Descent (VND) and Tabu Search with Adaptive Relaxation (TSAR). In order to explore the solution space, we dened six movements based on relocation and swap of both, trips of the vehicles schedule and tasks of the duties schedule. The algorithm was tested with real data of a Brazilian city. The results show the eectiveness of the proposed approach. Key words: Vehicle Scheduling, Crew Scheduling, Integrated Vehicle and Crew Scheduling, Public Transport, Metaheuristics

1. INTRODUCTION The public transportation system planning is a very complex activity. Thus it is generally divided into ve main stages, which are: route planning, timetables dening, vehicle scheduling, crew scheduling and crew rostering. Figure 1 shows the traditional stages of public transportation system planning, where the output of one stage is the input for the subsequent one.
Principal

Corresponding

corresponding author author 1 marcone@iceb.ufop.br 2 imcoelho@iceb.ufop.br 3 sabir@iceb.ufop.br

Preprint submitted to Elsevier

January 12, 2010

Figure 1: Stages of public transportation system planning

This work deals with the third and fourth stages, the vehicle and crew scheduling problems. According to Freling et al. (2003), there are three dierent approaches to solve the vehicle and crew scheduling: Sequential, Independent and Integrated. In the sequential approach, the vehicle and crew scheduling problems are solved separately and the solution of one is used as input for the other. The sequential approach, in turn, can be classied as Traditional or Reverse. The traditional sequential approach was the rst one to be studied and it is widely adopted by the companies. It consists in solving the vehicle scheduling problem (VSP) and then, considering this solution as input, the crew scheduling problem (CSP) is solved. This approach has the inconvenience that the vehicle scheduling solution guides the crew scheduling solution (Freling et al., 2003), which has the most relevant cost among the ones involved in the system (Bouzada, 2003). An alternative to solve it is to apply the traditional sequential approach, but considering the crew features during the vehicle scheduling solution. Even though the vehicle scheduling costs increase, it becomes easier to solve the CSP and much probably the total cost will be lower than the traditional approach. Scott (1985), Darby-Dowman et al. (1988), Reis (2008) use this strategy for solving the problem involving vehicle and crew scheduling. In the reverse sequential approach, the CSP is solved rst and then, considering this solution as input, the VSP is solved. This strategy is justied for two main motives: 1) the crew costs are higher than vehicle costs and 2) the set of vehicle restrictions is much smaller, which suggests solving CSP rst, because it has fewer alternatives for solution. In the independent approach the vehicle schedule and the crew schedule are built directly from trip timetables. Therefore, in this approach the vehicle schedule is built without considering any crew characteristics and the crew schedule is obtained without considering vehicle constraints. Generally, the results obtained by this approach are not feasible in practice, because some vehicle trips will not have a driver, and some drivers will operate virtual vehicles that are not in the vehicle schedule. This approach is used to determine lower bounds for VSP and CSP. In the integrated approach both problems are solved together in the same model. As both problems are NP-hard (Garey and Johnson, 1979), then Vehicle and Crew Scheduling Problem (VCSP) is NP-hard. It is obvious than the dicult of solving VCSP is bigger because the solution space is huge, since VCSP contains all the degrees of freedom of vehicle scheduling and all the degrees of freedom of crew scheduling. However, with the improvement in the CPU speed of the computers, combined with algorithm progress, the research has taken up this topic recently. Freling et al. (1995), Haase and Friberg (1999) and Freling et al. (1999) use this type of approach. See Borndrfer et al. (2006) and Freling et al. (2003) for a survey and experience about this topic. This paper proposes an algorithm, named ILS-VND-TSAR, which combines

Iterated Local Search, Variable Neighborhood Descent and Tabu Search heuristics for solving VCSP. This heuristic strategy is justied because VCSP is NPhard and according to the literature these approaches are able to produce good solutions for each problem, considered individually (See Souza et al. (2007) and Marinho et al. (2004)). The rest of the paper is organized as follows. Section 2 describes the problem. Section 3 presents the proposed methodology, including the representation of the problem, the procedure employed for generating an initial solution, the neighborhood structures, the evaluation function and nally the adaptation of the Iterated Local Search, Variable Neighborhood Descent and Tabu Search heuristics to the problem. Section 4 shows the results achieved in this study and discusses the improvement obtained. Section 5 brings the concluding remarks of this work. 2. Problem denition According to Freling et al. (2003), the Vehicle and Crew Scheduling Problem (VCSP) is dened as follows. Given a set of trips within a xed planning horizon, the objective is to nd a minimum cost schedule for the vehicles and the crews, such that both the vehicle and the crew schedules are feasible and mutually compatible. Each trip has xed starting and ending times, and the traveling times between all pairs of location are known. A vehicle schedule is feasible if (1) each trip is assigned to a vehicle, and (2) each vehicle performs a feasible sequence of trips, where a sequence of trips is feasible if a vehicle can execute each pair of consecutive trips in the sequence. Some trips do not belong to any route and these are called the dead trips. A dead trip time is the time a vehicle takes to travel between two locations (terminals or depots) that do not belong to any route. This is necessary in order to move the vehicle from an ending point to the next starting point, so that the vehicle can start the next trip. A vehicle schedule denes which trips have to be performed by the same vehicle and this denes the so-called blocks. If there is enough time between one trip and the next, a change of driver may occur, and these are called relief points, dened by location and time. The blocks are divided by relief points, and each part is the so-called task, that is dened by two consecutive relief points and represents the minimum piece of work that can be assigned to a crew. These tasks have to be assigned to crew members, and the tasks of a crew member dene a crew duty. All the duties constitute a crew schedule. Such schedule is feasible if (1) each task is assigned to one duty, and (2) each duty is a sequence of tasks that can be performed by a single crew, both from a physical and a legal point of view. In particular, each duty must satisfy several complicated constraints corresponding to work load regulations for the crews. Typical examples of such constraints are the maximum working time without a break, minimum break duration and maximum total working time. The cost of a duty is usually a combination of xed costs such as wages, and variable costs such as overtime payment. The subsection 3.4 details the considered requirements in this work. It is assumed that there is only one depot and all vehicles are always available. We assumed too that from 05:00 to 08:00 and from 16:00 to 19:00 two minutes are necessary for a change of driver, while in the other periods, only one minute is necessary.

3. Proposed methodology A solution s to the VCSP consists in a (sv , sc ) pair, where sv represents a solution to the VSP and sc represents a solution to the CSP. The sv solution consists in a set of vehicles, where each one has an associated list of trips to be done during a day. The sc solution consists in a set of crew duties, where each one is associated to a list of tasks to be carried out daily. Figure 2 shows an example.

Figure 2: Solution representation

In the Figure 2 there are two vehicles and three crew duties. The Vehicle 1 performs the trips 1, 3, 4, 7 and 8. The crew 0 performs the tasks 0, makes a vehicle change and performs the task 4. Just remembering, some trips are grouped in the same task because there is not enough time to make a vehicle change. We observe that the solution representation adopted allows a vehicle to make more than one trip at the same moment, and a crew to make more than one task at the same time. To eliminate these practical inconsistencies, our evaluation function penalize these occurrences. 3.1. Evaluation function The cost of VCSP is calculated by equation (1), that we try to minimize. In this equation, fv (s) represents the component of f that evaluates the solution s with respect to the vehicle scheduling and fc (s) evaluates the solution s with respect to the duty scheduling. f (s) = fv (s) + fc (s) (1)

3.1.1. Vehicle schedule evaluation In this work we try to minimize the follow items about the vehicle schedule: Number of vehicles Down time, i.e., the time that a vehicle is idle Dead trip time, i.e., the time that a vehicle performs trips without passengers According to the companies that we contacted, a solution can not be used if more than 60% of the vehicles comes back to the depot during its duties. Thus, a vehicle scheduling is feasible if: There are no conict time in the vehicle schedule 4

The number of split vehicle duties is less than 60% of the number of vehicle duties The vehicle schedule cost is given by equation (2): fv (s) = f (sv ) =
iQv v i qi (sv ) + iOv

i ov (sv ) i

(2)

where Qv and Ov are the quality and the operational requirements of the vehicle schedule, respectively; i and i are the penalties applied to the quality and the v operational requirements of a vehicle solution sv , respectively; and qi and ov are i the values of the ith quality and operational vehicle requirement, respectively. 3.1.2. Crew evaluation In relation to the crew schedule, we try to minimize the follow items: Number of crew duties Overtime payment Crew idleness time According to the Brazilian labor laws, the crews can not work more than nine hours in one day. Moreover, there can be no less than eleven hours between the end of a workday and the beginning of the next day journey. We also consider the following operational restriction: a solution can not be used if more than 25% of the crew comes back to the depot during its duties. Thus, a crew scheduling is feasible if: There is no conict time in the crew schedule There is no crew working more than 9 hours per day There is no duty having less than 11 hours between its ending time and its next starting time The number of split crew duties is less than 25% of the number of crew duties The crew schedule cost is given by equation (3): fc (s) = f (sc ) =
iQc c i qi (sc ) + iOc

i oc (sc ) i

(3)

where Qc and Oc are the quality and the operational requirements of the crew schedule, respectively; i and i are the penalties applied to the quality and the c operational requirements of a crew solution sc , respectively; and qi and oc are i the values of the ith quality and operational crew requirement, respectively.

Table 1: Used data on the weights calculation

Description Driver payment (month) Ticket collector payment Crew payment Crew payment + taxes (38%) Crew workdays in a month Work time during a day (minutes) Payment about one work minute Payment of one overtime minute Payment of one workday Fixed cost of one vehicle Vehicle workdays in a month Vehicle cost daily Average velocity (km/h) Cost for kilometer Cost of one minute of dead trip Variable cost of one kilometer Cost of one minute of downtime

Value R$ 1000,99 R$ 600,59 R$ 1601,58 R$ 2210,18 24 430 R$ 0,21 R$ 0,32 R$ 92,09 R$ 13415,58 30 R$ 447,19 20 R$ 2,64 R$ 0,88 R$ 0,78 R$ 0,26

3.1.3. Dening weights to the evaluation function The objective of the evaluation function is to evaluate the quality of a solution. As we saw in previous sections, this function considers requirements that must to be minimized and some of these requirements are relatively more important than others. To contemplate the relative importance of the requirements, our the weight used are based on real costs of a Brazilian city company, as used in Reis (2008). The Table 1 presents the data used to calculate the evaluation function weights, where R$ means Brazilian currency. The Table 2 presents the weights of the VCSP evaluation function. The quality weights are based on the real costs presented in the Table 1, while the operational weights are empirical and its values are greater than the quality ones. The last column of this table give us the characteristics of an example solution. The equations (4), (5), (6), (7), (8) and (9) show how is made the evaluation the solution of the Table 2. f (s) = fv (s)+fc (s) =
iQv v i qi (sv )+ iOv

i ov (sv )+ i
iQc

c i qi (sc )+ iOc

i oc (sc ) i (4)

v i qi (sv ) = 447.19 5 + 0.26 1700 + 0.88 161 = 2819.63 iQv

(5) (6)

i ov (sv ) = 4000 0 + 1000 0 = 0 i


iOv c i qi (sc ) = 92.09 11 + 0.21 1702 + 0.32 815 = 1631.21 iQc

(7)

Table 2: Weights of the VCSP evaluation function

Type Quality Quality Quality Quality Quality Quality Operational Operational Operational Operational Operational Operational

Refers to Vehicles Vehicles Vehicles Crews Crews Crews Vehicles Vehicles Crews Crews Crews Crews

Requirement Number of vehicles Down time Dead trip time Number of crews duties Crew idleness time Overtime payment Conict time Excess of split duties Conict time Excess of split duties Insucient time between duties Excess time worked

Weight 447.19 0.26 0.88 92.09 0.21 0.32 4000 1000 4000 1000 4000 4000

Example of s 5 1700 161 11 1702 815 0 0 0 0 0 0

i oc (sc ) = 4000 0 + 1000 0 + 4000 0 + 4000 0 = 0 i


iOc

(8) (9)

f (s) = 2819.63 + 1631.21 = 4450.84 3.2. Constructing an initial solution

An initial solution to the VCSP is made by a sequential mechanism. To begin with, an initial solution for the vehicle scheduling is built. Later, from this vehicle solution, a crew scheduling solution is generated. Both solutions are built by a greedy heuristic. An initial solution to the VSP is obtained by applying a constructive heuristic where at each iteration, a new trip not yet assigned is added to the current schedule of the best vehicle, in accordance to the value of the evaluation function relative to each vehicle scheduling (see eq. (2) in subsection 3.1.1). The choice of the trip to be added to the vehicle schedule is totally greedy, which means that the trip with lower cost will be chosen. The approach ends when all the trips are allocated. The trips belonging to each vehicle are known as the blocks of the vehicle. From the blocks of each vehicle, a solution for the CSP is built. Initially, for each block, the trips are grouped in a task until a relief point is found. A relief point is dened by location and time, where and when a change of driver may occur. Next, the tasks are ordered by their starting time. At each step, there is a set of non-empty duties and a duty without tasks. The constructive procedure works as follows. The rst task is assigned to the rst duty, the empty one. Next, for each task of the sequence, we evaluate its insertion for all the duties and also for a new duty without tasks. The evaluation of each crew duty is carried out according to the eq. (3), relative to the crew scheduling (see subsection 3.1.2). The task is assigned to the duty with the lowest cost. The crew schedule is interrupted when all the tasks are allocated.

3.3. Neighborhood Structure The heuristic methods used in this work are based on making modications in a given solution to improve the quality. These modications are so-called movements and we can apply dierent types of movements in a solution. A neighborhood structure is dened by a type of movement. A neighbor of a given solution s is dened by applying a movement in the solution s. Applying dierent movements the heuristic methods are able to explore dierent regions of the solution space. With a view to explore the solutions space we dene six neighborhood structures, which are based on relocation (R) and swap (S) of both, trips of the vehicles (v) schedule and tasks of the duties (c) schedule are used. S R Two of them (Nv and Nv ) do modications only on the vehicles, ignoring the repercussions of these movements in the crew scheduling, which creates, possibly infeasible solutions. R S Two other structures (Nc and Nc ) only modify the crew scheduling, preserving the compatibility between vehicles and crews. RP SP The third pair of neighborhood structures (Nv and Nv ) is integrated and modies both items, vehicles and crews. These last two structures are to relocate or to change the vehicles trips followed by a reconstruction of the duties to make the schedules of vehicles and crews compatible. For each vehicle involved in the modication, all tasks that belong to these vehicles are removed from the crew scheduling. Then, from the new conguration of the blocks of the involved vehicles, the new tasks are generated. These tasks, in turn, are added to any crew member, in accordance with the greedy procedure described in the RP SP previous section. For these two structures, Nv and Nv , the change made is spread for the crews. 3.4. The Proposed Algorithm To solve the VCSP we propose the ILS-VND-TSAR algorithm, which is described in section 3.4.5. The following sections show the components of this algorithm. 3.4.1. The Vehicle Random Descent Procedure For large instances, nding the best neighbor at each iteration is a costly operation. In these cases, a random approach is normally used. A classical Random Descent (RD) procedure works as follows. A point s is generated at random from the kth neighborhood of s. If s is better than the incumbent, then s is updated to s (s s ) and the search continues from s. If there are not any improvements in RDmax iterations, then the search stops. Therefore, the procedure can return not necessarily a local optimum. When it comes to integrated problems, nding the best neighbor at each iteration is a much more costly operation. This is due to the fact that in RP SP integrated neighborhoods considered (Nv and Nv ), each modication in the vehicle schedule is reected in the crew scheduling. To reduce the number of spreadings of these modications in the crew scheduling, the Vehicle Random Descent (VRD) procedure is proposed as described in Algorithm 1. The working principle of this algorithm is quite simple and it is similar to the classic random descent. The main dierence is that in this new algorithm, only

the changes made in vehicles (relocation or swap) that improve the evaluation function fv are propagated in the crew scheduling. In the Algorithm 1, s is a solution formed by the pair of solutions sv and sc , V RDmax is the maximum number of iterations without improvement, Nv is an specic neighborhood structure (relocation or swap) for the vehicles, m is the P movement made in the considered structure, Nv is the neighborhood structure (relocation or swap) with the spreading in accordance to the movement m and fv is the function that evaluates the part sv of the solution s. It is observed that the nal solution of this algorithm can, not necessarily be better than the initial solution in relation to the integrated function f since the vehicles evaluation function fv is the only one used. Algorithm 1: RDP Input: Solution s, Integer V RDmax, Neighborhood Nv (.), P Neighborhood Nv (.), Function fv (.) Output: Solution s better than or equal to s according to the function fv iter 1; while (iter V RDmax) do m randomMovement(s, Nv ); s neighbor(s, m); if s better than s according to the function fv then P s neighbor(s, Nv , m); iter 0; end iter iter + 1; end s s; return s ;

3.4.2. The Integrated Vehicle and Crew Random Descent Procedure This strategy is similar to the one presented in the previous section. There are two basic dierences. The rst one is that only the movements that produce better solutions with respect to vehicles are candidates (better than fv ) or worse than fv in at most ( 1) 100%. The second dierence is that it considers both the costs of sv and the sc , which is not the case of the Vehicle Random Descent that only considers the cost of sv when applied to solving the VCSP. The objective of this algorithm is rening a solution s using integrated movements without unduly burdening the processing, as may happen if the renement was done by classical Random Descent algorithm using only integrated movements. The Algorithm 2 presents the Integrated Vehicle and Crew Random Descent Procedure (IRD). In this algorithm, s is a solution formed by the pair of the mutually compatible solutions sv and sc , IRDmax is the number of iterations without improvement in f , m is a movement made in the vehicles in accordance P with the neighborhood Nv (relocation or swap), Nv is the neighborhood structure (relocation or swap), with spreading in accordance with the modication m, fv is the function that evaluates sv and , with 1, is a value used to 9

determine if it worth processing the most expensive part of the renement, the construction and the spreading of a integrated movement, in the absence of improvement. For example, = 1.01 implies that if a movement generates a solution s which costs more than 1% of the cost of sv , the method does not v test the movement of spreading. Otherwise, the test is performed and, if the resulting solution s of the movement of spreading is better than s, then the solution s is updated, that is, s s . Tests have shown that for the instances examined, 1.01 is a good value for and this is the value used in this work. Algorithm 2: IRD Input: Solution s, Integer IRDmax, Neighborhood Nv (.), Neighborhood P Nv (.), Function f (.), Real Output: Solution s better than or equal to s according to the function f iter 1; while (iter IRDmax) do m randomMovement(s, Nv ); s neighbor(s, m); if fv (s ) fv (s) then P s neighbor(s, Nv , m); if s better than s according to the function f then s s ; iter 0; end end iter iter + 1; end s s; return s ;

3.4.3. The Tabu Search with Adaptative Relaxation Procedure The Tabu Search methods (Glover and Kockenberger, 2003) is an iterative procedure for solving combinatorial optimization problems, which accepts nonimprovement movements to avoid be trapped in optima local. Starting from an initial solution s0 , the method explores, at each iteration, a subset V of the neighborhood N (s), of current solution s. The member s V with the best evaluation according to the function f (s ) became the current solution, even if s is worst than s. This strategy, however, can led the search process to visit solutions already reached before. In order to prevent cycles, short term memory is employed, usually in the form of a Tabu List, which forbids undoing the last movements. Movements remain in the tabu list for a given number of iterations (tabu tenure). Since this strategy can be too restrictive, in order to not disregard high quality solutions, movements with tabu status can be accepted if the produced solution satises an aspiration criterion, which usually considers the cost of the best solution found so far, that is, if the produced solution is better than the best solution found so far, the movement can be accepted. With the aim of reducing the risk of revisiting the same solutions, we use a dynamic tabu list, in our case, the tabu tenure value is selected from an interval, which 10

denes a set of possible values {minTabuTenure, , maxTabuTenure}. The procedure TSAR (Tabu Search with Adaptive Relaxation), proposed in Marinho et al. (2004), is applied for solving the Crew Scheduling Problem. Its pseudo-code is presented at Algorithm 3. In the TSAR procedure we seek for the First Improvement in a subset of the R S neighborhoods Nc or Nc , or if there is not a improvement, it returns the best neighbor in this subset. This procedure also incorporates an Adaptive Relaxation (AR) mechanism. This mechanism consists in changing the weights of the infeasibilities periodically during the search, either promoting the generation of infeasible solutions or feasible solutions in order to explore other regions not yet visited in the solution space. Our AR implementation is based on the proposal of Schaerf (1996), where weights of each source of infeasibility are dynamically updated, as originally proposed by Gendreau et al. (1994). For each source of infeasibility i, the corresponding weight i in the objective function fc is multiplied by a factor i , which is updated as follows: 1. In the beginning of the search set i 1. 2. At every k movements: if all k visited solutions are feasible considering constraint i then i i /; if all k are infeasible considering constraint i then i i ; if part of k solutions are feasible, and another part is infeasible considering constraint i, i keeps unchanged. The parameter is randomly selected in the interval [1.8, 2.2]. As observed in Schaerf (1996), this strategy tends to avoid deterministic ratios which could bias the search. Each value of i is bounded by two constants i,min and i,max , which prevents the adaptive relaxation from indenitely increasing/decreasing weights for constraints which are always unsatised/satised. In the Algorithm 3, UpdateIteration() indicates when the dynamic weights must be updated (In our case, every k = 10 iterations). In our implementation, the subset V consists in 50% of the number of crews, selected at random. 3.4.4. The Two Levels Variable Neighborhood Descent With an aim to introduce the Variable Neighborhood Descent - VND (Hansen and Mladenovic, 2001; Hansen et al., 2008), let N k (k = 1, ..., kmax ) be a nite set of pre-selected neighborhood structures, and N k (s) the set of solutions in the kth neighborhood of s. Neighborhoods N k may be induced from one or more metric (or quasi-metric) functions introduced into a solution space S. An optimal solution is a feasible solution where a minimum of the evaluated function f is reached. There is a local minimum s of f with respect to N k (s), if there is no solution s N k (s ) such that f (s) < f (s ). Metaheuristics based on local search procedures try to continue the search by other means after nding the rst local minimum. VND is based on three simple facts: (1) A local minimum with respect to one neighborhood structure is not necessary so with another; (2) A global minimum is a local minimum with respect to all possible neighborhood structures; and (3) For many problems local minimum with respect to one or several are relatively close to each other. 11

Algorithm 3: TSAR
R S Input: Solution s, Integer TStime, Neighborhood Nc (Nc or Nc ), Function fc (.) Output: Solution s better than or equal to s according to the function fc s s; T abuList ; repeat Dene subset V Nc (s) bestM ovement RandomM ovement(V ) bestCost for all Movement m V do if fc (s m) < fc (s ) then bestM ovement m break end else if m T abuList then / if fc (s m) < fc (s) then bestM ovement m break end else if DynamicWeightsCost(s m) < bestCost then bestM ovement m bestCost DynamicWeightsCost(s m) end end end end end s s bestM ovement if fc (s) < fc (s ) then s s end U pdateT abuList() if UpdateIteration() then UpdateDynamicWeights() end until TStime reached ; return s

12

According to these authors, this last observation, which is empirical, implies that a local optimum often provides some information about the global one. This may for instance be several variables with the same value in both. However, it is usually not known which ones are such. An organized study of the neighborhood of this local optimum is therefore in order, until a better one is found. The Variable Neighborhood Descent (VND) approach is obtained if a change of neighborhoods is performed in a deterministic way. The proposed procedure to do a local search in the solution space of the VCSP, called Two Levels Variable Neighborhood Descent (VND2L), is described in the Algorithm 4. Algorithm 4: VND2L Input: Solution s, Function f (.), Function fv (.), Function fc (.) Output: Solution s better than or equal to s according to the function f s0 s; R RP s1 VRD(s0 , V RDmax, Nv , Nv , fv ); [Step1] S SP s2 VRD(s1 , V RSmax, Nv , Nv , fv ); if s2 better than s0 according to the fv then s0 s2 and go back to Step1; end R s3 TSAR(s2 , T Stime, Nc , fc ); [Step2] S s4 TSAR(s3 , T Stime, Nc , fc ); if s4 better than s2 according to the function fc then s2 s4 and go back to Step2; end R RP s5 IRD(s4 , IRDmax, Nv , Nv , f, ); [Step3] S SP s6 IRD(s5 , IRDmax, Nv , Nv , f, ); if s6 better than s4 according to the f then s4 s6 and go back to Step3; end if there is an improvement in the Step3 then Go back to Step2; end s s6 ; return s ; The algorithm 4 is based on the ideas of the VND heuristic in the sense that not only the neighborhoods are changed, but also the local search procedures. There are two levels because this procedure has intern levels and an extern one. The intern levels consist in three VND applications. The rst one has the objective of improve the vehicles; the second one, to improve the crews and, the last one, to improve both, vehicles and crews. The extern level is an application of VND considering that each intern level is an iteration of the external part of the VND2L. In this algorithm, s, as we will see in the section 3.4.5, is a resulting solution

13

of the perturbation in a local optimum. The VRD is the Vehicle Random Descent procedure described in the section 3.4.1. The IRD is the Integrated Vehicle and Crew Random Descent Procedure presented in the section 3.4.2. These random approaches, VRD and IRD, are interrupted if no improvements are found in V RDmax and IRDmax iterations, respectively. The TSAR is the Tabu Search with Adaptive Relaxation procedure, described in the section 3.4.3. 3.4.5. The proposed algorithm for solving VCSP The proposed algorithm for solving VCSP is based on Iterated Local Search (ILS) metaheuristic. ILS (Loureno et al., 2003; Sttzle, 2006) is a metaheuristic with four basic components: GenerateInitialSolution, LocalSearch, Perturbation and AcceptanceCriterion. The GenerateInitialSolution is a module that consists in building a good solution to the problem. LocalSearch is the module that starts the search from a solution and returns a local optimum. Perturbation consists in realizing modications on the local optimum in order to escape from it. Finally, the procedure AcceptanceCriterion consists in determining whether the new solution is accepted or not as the new current solution. According to these authors, a reasonable rst guess for the acceptance criterion is to force the cost to decrease. AcceptanceCriterion has a strong inuence on the nature and eectiveness of the walk in the space of solutions. Roughly, it can be used to control the balance between intensication and diversication of that search. In our case, a perturbation of level i consists in making i + 2 random movements in a given neighborhood structure. The Algorithm 5 presents the ILS-VND-TSAR algorithm applied to solve the VCSP. In this algorithm, s is the initial solution; ILStime denes the time limit; ILSmax is the maximum number of iterations without improvement in the same level and f is the function to be minimized. We observe that whenever there are some improvement in the current solution, the parameter level returns to its rst value. 4. Computational results The proposed algorithm, so-called ILS-VND-TSAR, was implemented in C++ language using the Borland C++ Builder environment, version 5.0 and tested in a PC Intel Pentium IV, with 3.0 GHz and 1 GB of RAM running Windows XP Professional Edition. Preliminary tests were performed to calibrate the parameters of the proposed algorithm. The number of iterations without improvement of the ILS (ILSmax) was xed at 50, as well as the number of iterations without improvement of IRD (IRDmax). The number of iterations without improvement of VRD (VRDmax) was xed at 100. The time limit to apply TSAR was xed at 20 seconds. The total processing time was limited to 20 minutes. The rst phase of the traditional sequential approach uses ILS algorithm described in Souza et al. (2007) and second one uses the TSAR algorithm described in Marinho et al. (2004). Both algorithms stop after 10 minutes of execution. In this approach, ILSmax was xed at 50, and one perturbation of R level i made applying i + 2 moves at the neighborhood Nv , the local search R of ILS uses two nestled random descents, the rst using the neighborhood Nv S and the second, Nv . 14

Algorithm 5: ILS-VND-TSAR Input: Solution s, Integer ILStime, Integer ILSmax, Function f (.) Output: Solution s better than or equal to s according to the function f s VND2L(s, f, fv , fc ); level 0; while ILStime not satised do iter 0; while iter < ILSmax and ILStime not satised do s perturbation(s , level); s VND2L(s , f, fv , fc ); if s better than s according to the function f then s s ; level 0; iter 0; end else iter iter + 1; end end level level + 1; end return s ;

In order to test the algorithms, we examined twelve scheduling problems for nine public transportation company that operates in a Brazilian city. The data are available at http://www.decom.ufop.br/prof/marcone/pt/instances/VC.zip. Tables 1 and 2 show the value of the parameters used in the evaluation function, described in section 3.1.3. Table 3 contains the evaluation function values of the traditional sequential and integrated approaches. The two rst columns Best show the best value for f found in 20 runs of the algorithms, while the two rst columns Avg. indicate the average value in these runs. Column Gap means the gap between the average value and the best known value to the respective instance. The last columns Best and Avg. indicate the improvement of the integrated approach over the sequential one with respect to the best and average solution found for each algorithm, respectively. It can be observed that the proposed algorithm was able to reduce both best and average values, as well the gap between the average value and the best known value to each instance. In addition, the gap is also small, ratifying that the proposed algorithm is robust, and there was an improvement of up to 1.64% if compared to the best solution found in the sequential approach and up to 2.39% if compared to the average one. Tables 4 to 7 present some characteristics of the best solutions found on each instance, in respect of the sequential (Seq.) and integrated (Int.) approaches. From these tables it can be veried that the proposed algorithm was able to reduce the number of crews in one unit in the instances VC52, VC260a and VC498. In the instances VC90 and VC639a, the number of crews increased in one unit; however, there was a signicative reduction on the overtime payment

15

Table 3: Evaluation function values from the traditional sequential and integrated approaches

Instance VC52 VC90 VC98a VC98b VC260a VC260b VC498 VC538 VC639a VC639b VC1036 VC1038

Sequential Best Avg. 3936.96 3988.46 7519.20 7561.96 9638.79 9675.39 9500.16 9514.50 28479.80 28714.00 28064.80 28215.82 32673.50 32756.81 18917.00 18964.83 39478.10 39586.00 42557.60 42608.22 48764.60 48840.86 49223.90 49335.35

Gap 2.97 1.14 1.16 1.47 1.43 0.54 0.26 0.25 0.27 0.12 0.16 0.23

Integrated Best Avg. 3873.31 3895.43 7476.57 7518.14 9564.95 9594.67 9376.67 9398.28 28310.50 28329.11 27921.40 27950.78 32500.10 32612.90 18887.20 18939.01 39301.30 39398.46 42336.20 42436.66 48669.10 48778.18 49085.40 49140.27

Gap 0.57 0.56 0.31 0.23 0.07 0.11 0.35 0.27 0.25 0.24 0.22 0.11

Improvement Best Avg 1.64 2.39 0.57 0.59 0.77 0.84 1.32 1.24 0.60 1.36 0.51 0.95 0.53 0.44 0.16 0.14 0.45 0.48 0.52 0.40 0.20 0.13 0.28 0.40

Table 4: Best schedules to instances VC52, VC90 and VC98a

Instance Algorithm Number of vehicles Vehicle waiting time (hh:mm) Dead trip time (hh:mm) Number of split blocks Number of crews Crew idleness (hh:mm) Overtime payment (hh:mm) Number of split duties fv fc fv + fc

VC52 Seq. Int. 5 5 12:57 12:57 03:50 03:50 0 0 12 11 11:31 08:31 02:25 05:52 2 2 2640.4 2640.4 1296.6 1232.9 3937.0 3873.3

VC90 Seq. Int. 10 10 16:13 16:13 08:24 08:24 4 4 20 21 18:44 14:28 14:13 10:00 1 3 5168.4 5168.4 2350.8 2308.2 7519.2 7476.6

VC98a Seq. Int. 13 13 11:58 11:58 15:20 15:20 7 7 27 27 17:05 13:29 06:38 05:09 7 7 6809.8 6809.8 2829.0 2755.2 9638.8 9565.0

and on the crew idleness. For the other instances, o number of crews was the same in both algorithms. An interesting observation is that the integrated approach produced worse solutions to instances VC498 and VC538, but on the other hand the crew solution was better, resulting in a schedule with smaller cost. Also, the nal solution produced by the integrated approach was better than the sequential one in all the instances. 5. Conclusions This paper dealt with the Integrated Vehicle and Crew Scheduling Problem. In order to solve it, an algorithm based on Iterated Local Search, Variable Neighborhood Descent and Tabu Search with Adaptive Relaxation, so-called ILS-VND-TSAR, is proposed. It is an adaptation of the ILS algorithm described in Souza et al. (2007) for solving the vehicle scheduling problem and the TSAR algorithm developed by Marinho et al. (2004) for the crew scheduling problem. Two new neighborhoods are introduced, which consist in reassigning and swapping the trips of vehicles followed by the reconstruction of the duties aected by the moves.

16

Table 5: Best schedules to instances VC98b, VC260a and VC260b

Instance Algorithm Number of vehicles Vehicle waiting time (hh:mm) Dead trip time (hh:mm) Number of split blocks Number of crews Crew idleness (hh:mm) Overtime payment (hh:mm) Number of split duties fv fc fv + fc

VC98b VC260a VC260b Seq. Int. Seq. Int. Seq. Int. 13 13 40 40 39 39 10:21 10:21 19:15 19:15 13:22 22:02 14:34 14:34 37:54 37:54 37:54 37:54 6 6 22 22 23 23 25 25 76 75 76 76 12:50 09:29 91:31 83:03 84:10 79:07 15:13 10:59 07:14 08:46 11:28 07:19 5 5 17 17 17 17 6744.1 6744.1 20189.0 20189.0 19785.3 19785.3 2756.1 2632.6 8290.8 8121.5 8279.5 8136.19 9500.2 9376.7 28479.8 28310.5 28064.8 27921.4

Table 6: Best schedules to instances VC498, VC538 and VC639a

Instance VC498 VC538 VC639a Algorithm Seq. Int. Seq. Int. Seq. Int. Number of vehicles 47 47 24 24 55 55 Vehicle waiting time (hh:mm) 37:38 39:27 65:26 65:28 50:36 51:45 Dead trip time (hh:mm) 23:36 24:48 18:59 20:23 52:03 52:37 Number of split blocks 25 26 3 3 25 25 Number of crews 94 93 53 53 109 110 Crew idleness (hh:mm) 55:03 44:51 50:55 47:57 57:47 51:29 Overtime payment (hh:mm) 24:36 22:17 33:17 29:48 30:10 17:48 Number of split duties 19 19 2 2 22 22 fv 22851.1 22942.8 12755.6 12830.1 28133.0 28180.9 fc 9822.4 9557.3 6161.4 6057.1 11345.1 11120.3 fv + fc 32673.5 32500.1 18917.0 18887.2 39478.1 39301.3

A comparison between the integrated approach and the traditional sequential one was performed. The rst considers both problems simultaneously, while the later rst solves the vehicle scheduling and then solves the crew scheduling. The results showed that the integrated approach was able to produce better results, with global improvement of up to 1.64% in relation to the best solution and up to 2.39% in relation to the average solution. In addition, it can be veried that the proposed algorithm is robust since the maximum variation of the nal solutions is quite small, namely, 0.57%. 6. AKNOWLEGEMENTS The authors thank CNPq (process 474831/2007-8), FAPEMIG (grant CEX 00357/09) and the Federal University of Ouro Preto for the support given to the development of this study. References Borndrfer, R., Grtschel, M., Pfetsch, M., 2006. Public transport to the fore! ORMS Today 33 (2), 3040.

17

Table 7: Best schedules to instances VC639b, VC1036 and VC1038

Instance VC639b VC1036 VC1038 Algorithm Seq. Int. Seq. Int. Seq. Int. Number of vehicles 60 60 69 69 70 70 Vehicle waiting time (hh:mm) 50:42 52:16 66:07 69:13 67:41 69:10 Dead trip time (hh:mm) 32:59 56:06 50:28 51:41 50:32 51:46 Number of split blocks 25 27 35 35 32 33 Number of crews 116 116 136 136 137 137 Crew idleness (hh:mm) 59:44 49:23 67:57 60:41 78:26 67:10 Overtime payment (hh:mm) 31:06 22:01 43:20 37:16 30:50 26:25 Number of split duties 24 24 28 27 28 28 fv 30525.4 30608.8 34552.2 34664.8 35027.3 35115.6 fc 12032.2 11727.4 14212.4 14004.4 14196.6 13969.8 fv + fc 42557.6 42336.2 48764.6 48669.1 49223.9 49085.4

Bouzada, C. F., 2003. Costs of the Public Transport System by Bus (in portuguese). FUMEC, Brazil. Darby-Dowman, K., Jachnik, J. K., Lewis, R. L., Mitra, G., 1988. Integrated decision support systems for urban transport scheduling: Discussion of implementation and experience. In: Daduna, J. R., Wren, A. (Eds.), ComputerAided Transit Scheduling: Proceedings of the Fourth International Workshop. Springer Verlag, Berlin, pp. 226239. Freling, R., Huisman, D., Wagelmans, A., 2003. Models and algorithms for integration of vehicle and crew scheduling. Journal of Scheduling 6 (1), 63 85. Freling, R., Wagelmans, A. P. M., ao, J. M. P. P., 1999. An overview of models and techniques for integrating vehicle and crew scheduling. In: Wilson, N. H. M. (Ed.), Computer-Aided Transit Scheduling. Springer Verlag, Berlin, pp. 441460. Freling, R. C., Boender, G. E., ao, J. M. P. P., 1995. An integrated approach to vehicle and crew scheduling. Tech. Rep. 9503/A, Econometric Institute, Erasmus University Rotterdam, Rotterdam. Garey, M. R., Johnson, D. S., 1979. A Guide to the Theory of NP-Completeness. W. H. Freeman and Company, New York. Gendreau, M., Hertz, A., Laporte, G., 1994. A tabu search heuristic for the vehicle routing problem. Management science 40 (10), 12761290, linthicum. Glover, F., Kockenberger, G., 2003. Handbook of Metaheuristics. Kluwer Academic Publishers. Haase, K., Friberg, C., 1999. An exact branch and cut algorithm for the vehicle and crew scheduling problem. In: Wilson, N. H. M. (Ed.), Computer-Aided Transit Scheduling. Springer Verlag, Berlin, pp. 6380. Hansen, P., Mladenovic, N., 2001. Variable neighborhood search: Principles and applications. European Journal of Operational Research 130, 449467.

18

Hansen, P., Mladenovic, N., Prez, J. A. M., 2008. Variable neighborhood search. European Journal of Operational Research (191), 593595. Loureno, H. R., Martin, O. C., Sttzle, T., 2003. Iterated local search. In: Glover, F., Kochenberger, G. (Eds.), Handbook of Metaheuristics. Kluwer Academic Publishers, Boston. Marinho, E. H., Ochi, L. S., Drummond, L. M. A., Souza, M. J. F., Silva, G. P., 2004. Tabu search applied to the bus driver scheduling problem (in portuguese). In: Proceedings of the XXXVI SBPO. So Joo Del Rey, Brazil, pp. 14711482. Reis, J. V. A., 2008. Heuristics based on variable neighborhood search for the bus vehicle crew scheduling problem (in portuguese). Masters thesis, Escola Politcnica da USP, So Paulo, Brazil. Schaerf, A., 1996. Tabu search techniques for large high-school timetabling problems. In: IEEE Transactions on Systems, Man, and Cybernetics. pp. 363368. Scott, D., 1985. A large linear programming approach to the public transport scheduling and cost model. In: Rousseau, J. M. (Ed.), Computer Scheduling of Public Transport 2. North Holland, Amsterdan, pp. 473491. Souza, M. J. F., Silva, G. P., oes, E. M. L. S., 2007. Vehicle scheduling: an heuristic approach (in portuguese). In: Transporte em transformao XI: trabalhos vencedores do prmio CNT de Produo Acadmica 2006. Positiva, Braslia, Ch. 2, pp. 3957. Sttzle, T., 2006. Iterated local search for the quadratic assignment problem. European Journal of Operational Research 174, 15191539.

19

Ministrio da Educao e do Desporto Escola de Minas da Universidade Federal e Ouro Preto Departamento de Engenharia de Minas Programa de Ps-Graduao em Engenharia Mineral

PLANEJAMENTO OPERACIONAL DE LAVRA COM ALOCAO DINMICA DE CAMINHES: ABORDAGENS EXATA E HEURSTICA

Autor: Francisco Csar Rodrigues de Arajo

Orientador: Prof. Dr. Marcone Jamilson Freitas Souza

Dissertao apresentada ao Programa de Ps-Graduao em Engenharia Mineral do Departamento de Engenharia de Minas da Escola de Minas da Universidade Federal de Ouro Preto, como parte integrante dos requisitos para obteno do ttulo de Mestre em Engenharia Mineral, rea de concentrao: Lavra de Minas.

Ouro Preto, 27 de junho de 2008

A827u

Arajo, Francisco Csar Rodrigues de. Um mtodo heurstico baseado em Iterated Local Search aplicado ao planejamento operacional de lavra com alocao dinmica de caminhes [manuscrito]. / Francisco Csar Rodrigues de Arajo. 2008. xi, 128f. : il. color., graf., tabs. rea de concentrao: Lavra de Minas. Orientador: Prof. Dr. Marcone Jamilson Freitas Souza. Dissertao (Mestrado) Universidade Federal de Ouro Preto. Escola de Minas. Departamento de Engenharia de Minas. Programa de ps-graduao em Engenharia Mineral. 1.. Engenharia de Minas - Teses. 2. Lavra a cu aberto - Teses. 3. Programao linear. Teses. 4. Minrios de Ferro - Misturas - Teses. 5. Minrios de Ferro Planejamento de lavra Teses. I. Universidade Federal de Ouro Preto. Escola de Minas. Departamento de Engenharia de Minas. Programa de Ps-graduao em Engenharia Mineral. II. Ttulo. CDU: 622.27

Catalogao: sisbin@sisbin.ufop.br

PLANEJAMENTO OPERACIONAL DE LAVRA COM ALOCAO DINMICA DE CAMINHES: ABORDAGENS EXATA E HEURSTICA

Francisco Csar Rodrigues de Arajo

Esta dissertao foi apresentada em sesso pblica e aprovada em 27 de junho de 2008, pela Banca Examinadora composta pelos seguintes membros:

_____________________________________________________ Prof. Dr. Marcone Jamilson Freitas Souza (Orientador/UFOP)

_____________________________________________________ Prof. Dr. Luiz Henrique de Campos Merschmann (UFOP)

_____________________________________________________ Prof. Dr. Luiz Satoru Ochi (UFF)

ii

Agradecimentos
A Deus, por tudo. A meu orientador, Professor Marcone Jamilson Freitas Souza, minha referncia no s pela capacidade intelectual incomparvel, mas principalmente como pessoa, pela amizade e apoio demonstrados ao longo dos anos. A meus pais pelo exemplo de vida. Aos filhos, Marcella e Giuliano, pela compreenso e carinho que nunca faltaram. Llian, pelo incentivo. Aos colegas professores Ronaldo Trindade e Adolfo Baudson, pela colaborao sempre que solicitados. s empresas mineradoras da regio do quadriltero ferrfero pelo suporte. FAPEMIG e ao CNPq pelo apoio ao desenvolvimento deste trabalho. UFOP e ao CEFET Ouro Preto pela oportunidade e por fazerem parte da minha vida. A todos que, de alguma maneira, ajudaram-me a concluir esse trabalho.

iii

Resumo
Este trabalho trata do planejamento operacional de lavra com alocao dinmica de caminhes. Este problema consiste em determinar o nmero de viagens que cada caminho deve fazer a cada frente de lavra, bem como decidir em quais frentes de lavra alocar as carregadeiras, de sorte a atender s metas de produo e qualidade requeridas para o minrio a ser produzido, fazendo o melhor aproveitamento da frota de veculos disponvel. Dada sua complexidade combinatria, o problema abordado por um procedimento heurstico baseado na metaheurstica Iterated Local Search. Tambm formulado um modelo de programao matemtica, o qual serve para validar o mtodo heurstico proposto. Os modelos propostos so testados por meio da utilizao de dados reais em um software desenvolvido para este fim.

Palavras-Chave: Planejamento de lavra em minas a cu aberto, Alocao Dinmica de Caminhes, Planejamento da produo, Iterated Local Search, Programao Linear por Metas, Metaheursticas.

iv

Abstract
This work deals with the Operational Mining Planning in open pit mines with equipment dynamic allocation. This problem consists in determining the number of trips that each truck would do in each mining site as well as deciding in which mining site to allocate the loaders machines, in order to attend the production and quality goals required to the ore production, doing the best utilization of the available vehicle fleet. Due to the combinatorial complexity of the problem, it is solved using a heuristic procedure based on the Iterated Local Search metaheuristic. Also it is proposed a model of mathematical programming, which serves to validate the proposed metaheuristic method. The proposed models are validated by the utilization of real data in a software developed for this purpose.

Keywords: Operational Mining Planning in open pit mines, Equipment Dynamic Allocation, Production planning, Iterated Local Search, Goal Programming, Metaheuristics.

Sumrio
AGRADECIMENTOS ................................................................................................ III RESUMO.......................................................................................................................IV ABSTRACT.................................................................................................................... V SUMRIO .....................................................................................................................VI LISTA DE FIGURAS................................................................................................VIII LISTA DE TABELAS ................................................................................................... X LISTA DE SIGLAS E ABREVIATURAS..................................................................XI 1. PRELIMINARES ................................................................................................... 1 1.1 1.2 1.3 INTRODUO ..................................................................................................... 1 JUSTIFICATIVA ................................................................................................... 2 ESTRUTURA DO TRABALHO ............................................................................... 3

2. PROBLEMA DE PLANEJAMENTO DE LAVRA COM ALOCAO DINMICA DE CAMINHES .................................................................................... 4 2.1 PLANEJAMENTO DE LAVRA ................................................................................ 4 2.1.1 Introduo................................................................................................. 4 2.1.2 Descrio do Planejamento...................................................................... 5 2.2 ALOCAO DE CAMINHES .............................................................................. 12 2.2.1 Alocao Esttica de Caminhes ........................................................... 14 2.2.2 Alocao Dinmica de Caminhes......................................................... 15 2.3 CARACTERSTICAS DO PROBLEMA DE ALOCAO ABORDADO ........................ 16 3. REVISO BIBLIOGRFICA ............................................................................ 18 3.1 INTRODUO ................................................................................................... 18 3.2 PROGRAMAO POR METAS ............................................................................ 22 3.3 O MODELO DE ALOCAO DINMICA DE COSTA ET AL. (2004) ....................... 25 3.4 HEURSTICAS ................................................................................................... 29 3.4.1 Introduo............................................................................................... 29 3.4.2 Metaheursticas....................................................................................... 31 4. MODELAGEM DO PROBLEMA ABORDADO ............................................. 35 4.1 INTRODUO ................................................................................................... 35 4.2 MODELO DE PROGRAMAO MATEMTICA .................................................... 35 4.3 MODELO HEURSTICO ...................................................................................... 40 4.3.1 Dados de Entrada ................................................................................... 40 4.3.2 Representao de uma Soluo .............................................................. 40

vi

4.3.3 Gerao de uma Soluo Inicial ............................................................ 42 4.3.4 Avaliao de uma Soluo...................................................................... 48 4.3.5 Movimentos e Estruturas de Vizinhanas............................................... 52 4.3.6 Mtodos de Busca Local Aplicados ao Planejamento de Lavra ............ 59 4.3.7 Perturbaes ........................................................................................... 67 4.3.8 Iterated Local Search (ILS) .................................................................... 81 4.4 IMPLEMENTAO COMPUTACIONAL ................................................................ 88 4.4.1 Tela de abertura...................................................................................... 88 4.4.2 Tela principal do sistema........................................................................ 89 4.4.3 Tela de relatrio das solues inicial e final.......................................... 90 4.4.4 Tela de relatrio do nmero de viagens de cada caminho................... 91 4.4.5 Tela do Tempo de Ciclo dos Caminhes ................................................ 92 4.4.6 Tela de Compatibilidade entre Caminhes e Carregadeiras ................. 92 4.4.7 Tela com a Capacidade Mxima de cada Caminho. ............................ 93 4.4.8 Tela com a Capacidade Mnima de cada Carregadeira. ....................... 94 4.4.9 Tela com a Capacidade Mxima de cada Carregadeira........................ 94 5. RESULTADOS COMPUTACIONAIS............................................................... 96 5.1 5.2 5.3 6. INTRODUO ................................................................................................... 96 RESULTADOS OBTIDOS ..................................................................................... 99 DISCUSSO DOS RESULTADOS ........................................................................ 106

CONCLUSES E TRABALHOS FUTUROS ................................................. 109

REFERNCIAS BIBLIOGRFICAS...................................................................... 112 ANEXO I: PROBLEMAS-TESTE............................................................................ 115 ANEXO II: MODELO DE PROGRAMAO MATEMTICA ......................... 119 ANEXO III: PUBLICAES ................................................................................... 123

vii

Lista de Figuras
Figura 2.1 Modelo de Carregadeira (L1850) ................................................................. 6 Figura 2.2 Modelo de Caminho ................................................................................... 7 Figura 2.3 Pilha de Estoque ........................................................................................... 8 Figura 2.4 Britador......................................................................................................... 9 Figura 2.5 Correia transportadora ................................................................................ 10 Figura 2.6 Modelo de Caminho Pipa ......................................................................... 11 Figura 2.7 Modelo de Motoniveladora ........................................................................ 11 Figura 2.8 Processo Produtivo de uma mineradora do Quadriltero Ferrfero............ 12 Figura 2.9 Equipamentos de Transporte e de Carga .................................................... 13 Figura 2.10 Alocao Esttica de Caminhes ............................................................. 14 Figura 2.11 Alocao Dinmica de Caminhes........................................................... 15 Figura 3.1 Mtodo da Descida..................................................................................... 30 Figura 3.2 Mtodo Randmico de Descida ................................................................. 31 Figura 3.3 Pseudocdigo para o procedimento ILS ..................................................... 33 Figura 3.4 Pseudocdigo do algoritmo VND .............................................................. 34 Figura 4.1 Representao de uma Soluo .................................................................. 41 Figura 4.2 Alocao Aleatria das Carregadeiras ....................................................... 43 Figura 4.3 Nmero de Viagens de cada Caminho s diversas Frentes ...................... 44 Figura 4.4 Massa Lavrvel em cada Frente ................................................................. 44 Figura 4.5 Somatrio dos Tempos de Ciclo por Caminho......................................... 45 Figura 4.6 Reparador de Inviabilidade do Nmero de Viagens .................................. 46 Figura 4.7 Reparador de Inviabilidade de Massa Lavrvel ......................................... 47 Figura 4.8 Movimento Retirar_uma_viagem............................................................... 53 Figura 4.9 Movimento Retirar_duas_viagens.............................................................. 53 Figura 4.10 Movimento Realocar uma Viagem mantendo o caminho ...................... 54 Figura 4.11 Movimento Realocar uma Viagem mantendo a frente............................. 55 Figura 4.12 Movimento Realocar Carregadeira .......................................................... 55 Figura 4.13 Movimento Ativar Carregadeira .............................................................. 56 Figura 4.14 Movimento Desativar Carregadeira ......................................................... 57 Figura 4.15 Movimento Inserir uma viagem ............................................................... 58 Figura 4.16 Movimento Retirar Viagens ..................................................................... 58 Figura 4.17 Movimento Trocar Carregadeira .............................................................. 59 Figura 4.18 Descida_tirar_uma_viagem...................................................................... 60 Figura 4.19 Descida_tirar_duas_viagens ..................................................................... 61 Figura 4.20 Descida_realocao_de_viagem_mantendo_caminho ........................... 62 Figura 4.21 Descida_realocao_de_viagem_mantendo_frente ................................. 63 Figura 4.22 Descida_inserir_uma_viagem .................................................................. 64 Figura 4.23 Descida_tirar_viagens .............................................................................. 65 Figura 4.24 Descida_desativar_carregadeira ............................................................... 66 Figura 4.25 Descida_realocar_carregadeira ................................................................ 67 Figura 4.26 Perturbao_Retirar_uma_viagem ........................................................... 68 Figura 4.27 Perturbao Retirar_duas_viagens ........................................................... 69

viii

Figura 4.28 Perturbao Realocar uma Viagem mantendo o caminho...................... 71 Figura 4.29 Perturbao Realocar uma Viagem mantendo a frente ............................ 72 Figura 4.30 Perturbao Realocar Carregadeira .......................................................... 74 Figura 4.31 Perturbao Desativar Carregadeira......................................................... 75 Figura 4.32 Perturbao Ativar Carregadeira .............................................................. 76 Figura 4.33 Perturbao Trocar Carregadeira.............................................................. 78 Figura 4.34 Perturbao_tirar_viagens ........................................................................ 79 Figura 4.35 Perturbao_Retirar_uma_viagem ........................................................... 80 Figura 4.36 Iterated Local Search ............................................................................... 81 Figura 4.37 Nveis de perturbao do ILS ................................................................... 82 Figura 4.38 Perturbao desativar uma carregadeira................................................... 83 Figura 4.39 Perturbao_n1......................................................................................... 83 Figura 4.40 Perturbao_n2......................................................................................... 84 Figura 4.41 Perturbao tirar todas as viagens ............................................................ 84 Figura 4.42 Perturbao_n3......................................................................................... 85 Figura 4.43 Perturbao ativar uma carregadeira ........................................................ 86 Figura 4.44 Perturbao trocar carregadeira ativa/inativa ........................................... 86 Figura 4.45 Algoritmo VND........................................................................................ 87 Figura 4.46 Tela de abertura do sistema ...................................................................... 88 Figura 4.47 Tela principal............................................................................................ 89 Figura 4.48 Tela das solues inicial e final................................................................ 90 Figura 4.49 Tela do nmero de viagens de cada caminho ......................................... 91 Figura 4.50 Tela do tempo de ciclo dos caminhes..................................................... 92 Figura 4.51 Tela de compatibilidade entre caminhes e carregadeiras ....................... 93 Figura 4.52 Tela com a capacidade mxima de cada caminho .................................. 93 Figura 4.53 Tela com a capacidade mnima de cada carregadeira .............................. 94 Figura 4.54 Tela com a capacidade mxima de cada carregadeira.............................. 95

ix

Lista de Tabelas
Tabela 5.1 Problemas-teste .......................................................................................... 96 Tabela 5.2 Metas de produo e qualidade, nmero de equipamentos disponveis e prioridades .............................................................................................................. 97 Tabela 5.3 Parmetros utilizados ................................................................................. 98 Tabela 5.4 Caractersticas dos melhores resultados obtidos........................................ 99 Tabela 5.5 Desvios percentuais dos parmetros de controle da melhor soluo em relao s metas estabelecidas .............................................................................. 100 Tabela 5.6 Valores mdios obtidos............................................................................ 100 Tabela 5.7 Desvios percentuais encontrados para algumas caractersticas das solues. .............................................................................................................................. 101 Tabela 5.8 Caractersticas das solues do otimizador no tempo da melhor soluo do ILS ........................................................................................................................ 102 Tabela 5.9 Caractersticas das solues do otimizador no tempo mdio do ILS....... 102 Tabela 5.10 Percentual de melhora do ILS em relao ao LINGO no tempo da melhor soluo do ILS ...................................................................................................... 103 Tabela 5.11 Percentual de melhora do ILS em relao ao LINGO no tempo mdio de processamento do ILS........................................................................................... 104 Tabela 5.12 Caractersticas das solues obtidas pelo otimizador em uma hora de processamento....................................................................................................... 105 Tabela 5.13 Caractersticas das solues obtidas pelo otimizador em 20 horas de processamento....................................................................................................... 105 Tabela 5.14 Comparao entre o LINGO e o melhor desempenho do ILS............... 106

Lista de Siglas e Abreviaturas


AG ARENA BT CVRD CSN GRASP ILS LINGO NP OTISIMIN PCV PO SA VNS VND Algoritmo Gentico Software de Simulao Busca Tabu Companhia Vale do Rio Doce Companhia Siderrgica Nacional Greedy Randomized Adaptive Search Procedures Interated Local Search Modelador e Otimizador de Programao Linear e Inteira No Polinomial Otimizador e Simulador para Minerao Problema do Caixeiro Viajante Pesquisa Operacional Simulated Annealing Variable Neighborhood Search Variable Neighborhood Descent

xi

1. Preliminares
1.1 Introduo
A Pesquisa Operacional (PO) uma cincia aplicada voltada para a resoluo de problemas reais envolvendo situaes de tomada de deciso, atravs de modelos matemticos habitualmente processados computacionalmente. Ela aplica conceitos e mtodos de outras disciplinas cientficas na concepo, no planejamento ou na operao de sistemas para atingir seus objetivos. Procura, assim, introduzir elementos de objetividade e racionalidade nos processos de tomada de deciso, sem descuidar, no entanto, dos elementos subjetivos e de enquadramento organizacional que caracterizam os problemas. O termo Pesquisa Operacional, do ingls Operations Research, foi empregado pela primeira vez em 1939 como uma tentativa de englobar, sob uma nica denominao, todas as tcnicas existentes ou que viriam a ser desenvolvidas e que tinham o mesmo objetivo citado. De uma maneira geral, todas as disciplinas que constituem a PO se apiam em quatro cincias fundamentais: Economia, Matemtica, Estatstica e Informtica. O objetivo principal da Pesquisa Operacional encontrar a melhor utilizao de recursos limitados procurando determinar o uso otimizado de atividades ou recursos, fornecendo um conjunto de procedimentos e mtodos quantitativos para tratar de forma sistmica problemas que envolvam a utilizao de recursos escassos. Dentre as aplicaes da PO, inclui-se sua utilizao em planejamento de lavra a cu aberto, em especial, na alocao de mquinas e caminhes s frentes de lavra. Estudos como os de Chanda e Dagdelen (1995), Alvarenga (1997), Pinto e Merschmann (2001), Merschmann (2002), Pinto et al. (2003), Costa et al. (2004) e Costa (2005) tm utilizado a Pesquisa Operacional com o objetivo de aplicar metodologias para a soluo de problemas inerentes ao planejamento de lavra. Tais esforos se concentraram na aplicao de tcnicas de otimizao (programao linear e mtodos heursticos).

Nesta investigao trata-se o problema de planejamento operacional de lavra com alocao dinmica de caminhes. O objetivo aperfeioar o modelo de programao matemtica de Costa et al. (2004), incluindo uma nova restrio relativa utilizao dos caminhes, bem como apresentar um novo modelo heurstico. A utilizao de tcnicas heursticas para resolver este problema se justifica face sua natureza combinatria. Este fato torna proibitiva sua resoluo por tcnicas exatas quando o nmero de variveis elevado e o tempo para a tomada de deciso baixo. O modelo heurstico proposto baseado na metaheurstica Iterated Local Search (LOURENO, MARTIN e STTZLE, 2003). Apesar de estas tcnicas heursticas no garantirem a otimalidade da soluo, elas conseguem, em geral, produzir solues de boa qualidade rapidamente. Dentre as heursticas, destacam-se as chamadas metaheursticas, as quais, ao contrrio das heursticas convencionais, tm carter geral e so providas de mecanismos para tentar escapar de timos locais, ainda distantes de um timo global (SOUZA, 2007). O modelo heurstico proposto ser validado pelo modelo de programao matemtica.

1.2 Justificativa
As solues para o problema de planejamento de lavra com alocao dinmica de caminhes podem ser encontradas utilizando diversos mtodos. O primeiro deles, ainda utilizado em algumas empresas de minerao, o manual. uma tarefa rdua, dado o elevado nmero de combinaes a testar e o pouco tempo que se tem para a tomada de deciso. Outra forma de se encontrar uma soluo para este problema formul-lo como um modelo de programao matemtica e resolv-lo por um software de otimizao, como por exemplo, o LINGO, o CPLEX e o XPRESS. O inconveniente neste caso o alto custo associado utilizao desta metodologia. Alm disso, o problema da classe NP-difcil, o que significa que esta metodologia pode no conseguir resolver em tempo hbil casos reais deste problema. O mtodo proposto e modelado no captulo 4 uma alternativa aos mtodos atualmente utilizados na alocao dinmica de caminhes em lavra de mina a cu aberto. Em vista do potencial das metaheursticas e a facilidade de sua implementao, a

expectativa que solues de melhor qualidade sejam produzidas a um custo de desenvolvimento mais baixo.

1.3 Estrutura do Trabalho


Este trabalho est organizado como segue. No presente captulo foi contextualizada a pesquisa operacional nas aplicaes em empresas de minerao e apresentada a justificativa do presente trabalho. No captulo 2 descrito em detalhes o problema abordado. No captulo 3 feita uma reviso bibliogrfica de aplicaes de pesquisa operacional na minerao, bem como de tcnicas de programao matemtica e de tcnicas heursticas. No captulo 4 apresentada uma modelagem de programao matemtica para o problema abordado e, ainda, uma modelagem heurstica e sua implementao computacional. No captulo 5 so apresentados, discutidos e analisados os resultados obtidos pela aplicao do modelo proposto a um conjunto de diferentes cenrios. O captulo 6 conclui o trabalho e apresenta propostas para trabalhos futuros.

2. Problema de Planejamento de Lavra com Alocao Dinmica de Caminhes


2.1 Planejamento de Lavra
2.1.1 Introduo

Em praticamente todas as empresas de minerao, principalmente as de mdio e grande porte, h a necessidade de se fazer um planejamento estratgico de retirada (explotao) de minrio para atender s necessidades do mercado. Isto se deve ao fato de que nessas situaes o ser humano no consegue analisar todos os cenrios possveis e detectar as melhores opes em tempos compatveis. Para executar essa tarefa, conhecida como Planejamento de Lavra, necessrio se conhecer com riqueza de detalhes a rea a ser explorada e explotada. Normalmente, um planejamento elaborado considerando-se trs fases: longo, mdio e curto prazo. Na primeira fase, a de longo prazo, faz-se um planejamento mais amplo. Por exemplo, pensa-se na mina para alguns anos. Na segunda, a de mdio prazo, faz-se um planejamento para at um ano e na terceira fase, a de curto prazo, trabalha-se num planejamento dirio, mensal e at trimestral. importante salientar que esses intervalos de tempo no so rgidos e, portanto, podem variar de uma empresa para outra. O planejamento de curto prazo normalmente realizado por profissionais de Geologia, Engenharia de Minas, Qualidade, Produo e Administrao. Esta equipe se interage com o objetivo final de atender ao cliente e a mais exigida tendo em vista a necessidade de se cumprir tudo aquilo que fora pr-estabelecido pelas equipes responsveis pelo longo e mdio prazo. Mostra-se, a seguir, o processo produtivo de uma empresa mineradora de ferro, situada no Quadriltero Ferrfero, na regio central do Estado de Minas Gerais.

2.1.2

Descrio do Planejamento

De posse dos dados relativos quantidade e qualidade do minrio disponvel na mina, pode-se falar em vida til desta. Essa uma tarefa das equipes de mdio e longo prazo, que objetivam fazer o planejamento para atender ao mercado por um dado perodo. Evidentemente que, em funo do avano da tecnologia, esse tempo pode variar para mais ou para menos. Material antes considerado estril poder, no futuro, ser economicamente aproveitado como minrio. Em contra-partida, equipamentos de melhor qualidade e softwares mais eficazes podero fazer com que a mina seja exaurida mais rapidamente. De posse dessas informaes, a equipe de curto prazo da empresa analisada planeja como atender s necessidades por um perodo de at 3 meses. O planejamento feito para o dia, o ms e o trimestre. Com a ajuda de softwares elaborados para este fim, a equipe do planejamento determina aos diversos setores envolvidos (Qualidade, Sistema de Despacho e Produo) quais so as frentes a serem lavradas bem como quais e quantos equipamentos sero envolvidos (operao de alocao de mquinas e caminhes). O objetivo elaborar um plano dirio de tal forma que ao final do ms e tambm do trimestre, as metas sejam atingidas tanto em qualidade quanto em quantidade. Aps se escolher as frentes de lavra, os equipamentos de carga e de transporte, inicia-se todo o processo que comea na mina com a extrao do material (minrio e estril), passando pelo(s) britador(es) e terminando nas pilhas de homogeneizao. O processo produtivo dessa empresa mineradora se desenvolve a partir da execuo das aes elaboradas por uma equipe formada por profissionais de diversas reas. Os operadores, com a ajuda de softwares, repassam as informaes equipe da produo (tcnicos, operadores das mquinas, operadores dos caminhes). Esses, por sua vez, fazem o minrio chegar ao(s) britador(es) ou s pilhas de estoque.

Os equipamentos de carga e descarga trabalham sob orientao da equipe responsvel pelo sistema de despacho. A Figura 2.1 mostra um tipo de equipamento utilizado para o carregamento de minrio e estril da mina.

Figura 2.1 Modelo de Carregadeira (L1850) A partir do carregamento, o condutor do veculo responsvel pelo transporte do material recebe instrues da equipe de despacho para fazer o descarregamento. A Figura 2.2 mostra um tipo de equipamento utilizado para transporte de minrio e estril.

Figura 2.2 Modelo de Caminho Esse material pode ser transportado diretamente at ao britador ou depositado em pilhas denominadas de pilhas de estoque. A Figura 2.3 mostra uma pilha de estoque sendo formada.

Figura 2.3 Pilha de Estoque A Figura 2.4 mostra o minrio sendo depositado diretamente no britador.

Figura 2.4 Britador Aps passar pelo(s) britador(es), o minrio transportado por caminhes ou correias transportadoras at as pilhas de homogeneizao. A Figura 2.5 mostra o minrio sendo conduzido por correias transportadoras at s pilhas de homogeneizao.

Figura 2.5 Correia transportadora A todo momento, equipamentos responsveis pela manuteno das vias (estradas) de acesso ao britador e s pilhas de homogeneizao (caminhes pipa e motoniveladora, por exemplo) entram em ao para minimizar os problemas causados pela poeira e pelos borrachudos, denominao dada s salincias no piso ocasionadas pelo intenso trfego de mquinas de grande porte nas estradas. A Figura 2.6 mostra um equipamento responsvel pela minimizao da poeira e a Figura 2.7 mostra uma motoniveladora, responsvel pela correo do solo.

10

Figura 2.6 Modelo de Caminho Pipa

Figura 2.7 Modelo de Motoniveladora

11

Todo esse processo produtivo supervisionado pela equipe de operao, responsvel pelo sistema de despacho, que segue orientaes da equipe responsvel pela qualidade do minrio. Por isso, necessrio que haja uma sintonia entre todos os setores envolvidos sob pena de no se conseguir atingir as metas dirias. A Figura 2.8 mostra o fluxograma do processo produtivo de uma outra empresa de minerao do quadriltero ferrfero.

Figura 2.8 Processo Produtivo de uma mineradora do Quadriltero Ferrfero

2.2 Alocao de caminhes


No Planejamento de Lavra a Cu Aberto, em especial, na alocao de mquinas e caminhes em uma frente de lavra (Figura 2.9), cada frente contm uma determinada quantidade de minrio, com caractersticas fsicas, qumicas e econmicas diferenciadas, denominadas parmetros de controle.

12

Figura 2.9 Equipamentos de Transporte e de Carga Para satisfazer as especificaes exigidas pelos clientes, necessrio selecionar as frentes a serem lavradas e determinar seu ritmo de lavra. Para a operao de minrio e estril, a mina conta com uma frota limitada de equipamentos de carga, os quais devem ser alocados s frentes de lavra e operarem em uma faixa de produtividade que torne vivel sua utilizao (COSTA, 2005). O transporte do material retirado da frente de lavra realizado por uma frota de caminhes com capacidades de carga diferentes. O ritmo de lavra determinado pelas capacidades de operao dos equipamentos de carga e transporte alocados s diversas frentes. Em minas a cu aberto, so utilizados dois critrios para a alocao de caminhes: alocao esttica e alocao dinmica.

13

2.2.1

Alocao Esttica de Caminhes O problema da mistura de minrio com alocao esttica de caminhes

geralmente adotado devido simplificao das operaes e ao custo relativo implantao de um sistema de despacho computadorizado de caminhes. Na alocao esttica (Figura 2.10), um caminho alocado a uma nica rota, ou seja, permanece se deslocando entre dois pontos fixos, um de basculamento e outro de carga, onde esteja alocado um equipamento de carga compatvel. Desta forma, o ritmo de lavra de uma frente depender da capacidade de produo dos caminhes e do equipamento de carga alocados frente.

Alocao Esttica de Caminhes


DESCRIO
carregadeiras
Frente 1 Carregadeira 1 Frente 2 Carregadeira 2 Frente 3 Caminho 4 Caminho 3 Caminho 2

Caminho 1

Mistura
Desejada

frentes = m in erio esteril

ca m in hoes

Figura 2.10 Alocao Esttica de Caminhes

14

2.2.2

Alocao Dinmica de Caminhes No sistema de alocao dinmica (Figura 2.11), os caminhes no ficam fixos a

uma determinada frente de lavra, como no modelo esttico. Eles podem ser direcionados a diferentes frentes de lavra compatveis, aumentando a produtividade da frota e proporcionando, segundo Costa (2005), um aumento na capacidade de produo da mina ou a reduo do nmero de equipamentos necessrios para manter um determinado nvel de produo. Como desvantagens da alocao dinmica, apontam-se exigncia de um maior nmero de operaes e de um sistema de despacho de caminhes computadorizado. Nesse sistema tambm possvel diminuir o tempo de fila, uma vez que o caminho pode ser alocado a pontos de carga diferentes.

Alocao Dinmica de Caminhes


DESCRIO
carregadeiras
Frente 1 Carregadeira 1 Frente 2 Carregadeira 2 Frente 3 Caminho 4 Caminho 3 Caminho 2

Caminho 1

Mistura
Desejada

frentes = min erio esteril

ca min hoes

Figura 2.11 Alocao Dinmica de Caminhes

15

2.3 Caractersticas do Problema de Alocao Abordado


O problema abordado o de Planejamento Operacional de Lavra com alocao dinmica de caminhes, onde h dois pontos de descarga: um para minrio e outro para estril. Na realidade, apesar de ser considerado um nico ponto de descarga para o minrio, que normalmente acontece no britador, possvel que esta seja feita em um ponto prximo ao britador. Isto , considera-se que a distncia das frentes ao britador e seus pontos prximos a mesma. Este procedimento normalmente admitido nas mineraes para evitar fila na descarga junto ao britador. O caminho encontrando fila no britador descarrega em uma pilha em um ponto prximo do britador e, posteriormente, esse material retomado para descarga no britador. Considera-se tambm que o transporte do material s frentes e ao britador feito somente por caminhes, no caso de capacidades diferentes. Sendo a alocao dinmica, ao descarregar o material, seja no britador (ou pilhas de estoque prximas ao britador) ou na pilha de estril, o caminho direcionado a uma frente, no necessariamente a mesma da viagem anterior. Admite-se, tambm, que h um conjunto de carregadeiras de diferentes capacidades de carregamento, sendo este conjunto menor que o conjunto das frentes s quais elas sero alocadas. Considera-se, tambm, o planejamento para uma hora de produo, o qual aplicado at uma frente exaurir ou ocorrer uma parada de equipamento, seja por quebra ou manuteno, situao na qual deve ser feito outro planejamento. Dado o elevado custo de uma carregadeira, normalmente impe-se uma quantidade mnima a ser extrada para justificar economicamente sua utilizao. desejvel no planejamento de lavra considerar, tambm, uma taxa mxima de utilizao para os caminhes, ou seja, pode-se desejar que cada caminho utilizado no transporte de minrio e estril tenha uma produtividade mxima. Por exemplo, supondo uma taxa mxima de utilizao de 85%, um caminho (l), com capacidade de 80 t, deveria trabalhar 51 (0,85 60) minutos, no mximo, em uma hora. Supondo que o

16

tempo mdio de ciclo (TMC) deste caminho (l) s diversas frentes seja de 7 minutos por viagem, o nmero de viagens que esse caminho conseguiria fazer em 51 minutos 7. Transformando em toneladas, esse caminho poderia transportar cerca de 560 t em uma hora (7 80), caso atingisse os 85% de desempenho. Com a introduo desta restrio, o nmero de caminhes utilizados no transporte do material poder ser, naturalmente, menor do que aquele conseguido sem a imposio desta taxa.

17

3. Reviso Bibliogrfica
3.1 Introduo
A Pesquisa Operacional tem sido utilizada ultimamente de modo eficaz na resoluo de problemas de planejamento de lavra a cu aberto utilizando-se tcnicas de otimizao, dentre elas a programao linear e os mtodos heursticos. Mutmansky (1979), apud Costa (2005), relatou que a programao linear a tcnica de pesquisa operacional mais aplicada aos problemas de planejamento de produo em minerao, sendo adotada principalmente pelas mineraes a cu aberto, devido maior complexidade de suas operaes em relao s de minas subterrneas. White et al. (1982), apud Rodrigues (2006), propem um modelo baseado em programao matemtica que minimiza o nmero de caminhes necessrios atravs de restries relacionadas continuidade do fluxo de material pelos pontos de carga e descarga e as capacidades de produo dos pontos de carga. White e Olson (1986), apud Rodrigues (2006), propuseram um algoritmo que a base para o sistema Dispatch, que vem operando em muitas minas. Esse modelo utiliza programao linear e dinmica. A programao linear dividida em duas partes. Na primeira parte do modelo, realiza-se a otimizao do problema da mistura conseguindo, atravs disso, a minimizao do remanuseio, forando uma soluo prxima das restries crticas de blendagem (mistura) e satisfazendo a necessidade de alimentao da planta. A segunda parte do modelo otimiza o transporte na mina por meio da minimizao da necessidade de transporte, gerando o fluxo timo de transporte no caminho. A programao dinmica usa o fluxo timo no caminho obtido na programao linear, uma lista formada pelos caminhes a serem alocados, os tempos de viagem e as distncias atuais entre os pontos de carga e descarga e executada a cada necessidade de alocao de caminho. Mais especificamente, para cada caminho a ser alocado, determina-se uma medida de tempo para cada caminho existente na mina e aloca-se o caminho ao caminho que apresentar o menor valor.

18

Segundo Munirathinam e Yingling (1994), vrios modelos propostos na literatura, entre os quais os de White e Olson (1986), ignoram a natureza estocstica das operaes de transporte, carregamento e descarregamento, os quais tendem a introduzir aumento no tempo de espera, em virtude do aumento do nmero de caminhes alocados a um determinado equipamento de carga. Chanda & Dagdelen (1995) apresentam um modelo de programao linear por metas aplicado resoluo de um problema de blendagem de minrios no planejamento de curto prazo em uma mina de carvo. O objetivo maximizar um critrio econmico e minimizar a soma dos desvios dos parmetros individuais de qualidade e da tonelagem em relao aos valores desejados. Os modelos so analisados, comparando-os com os pertencentes a um sistema baseado em grficos interativos. Melhorias na qualidade dos resultados de planejamento podem ser obtidas, segundo alguns estudos, atravs da combinao dessas duas tcnicas. Merschmann (2002) desenvolveu um sistema de otimizao e simulao para anlise de cenrio de produo em minas a cu aberto. O sistema denominado OTISIMIN (Otimizador e Simulador para Minerao) foi desenvolvido em dois mdulos. O primeiro corresponde ao mdulo de otimizao onde um modelo de programao linear foi construdo e resolvido e o segundo a um mdulo de simulao que permite ao usurio utilizar os resultados obtidos na resoluo do modelo de programao linear como dados de entrada para a simulao. O mdulo de otimizao foi elaborado com o objetivo de otimizar o processo de mistura de minrios oriundos das vrias frentes de lavra de forma a atender as especificaes de qualidade impostas pela usina de tratamento e realizar a alocao de equipamentos (caminhes, carregadeiras e/ou escavadeiras) s frentes de lavra, considerando tanto alocao dinmica quanto esttica dos caminhes. Os modelos de otimizao de Merschmann (2002) foram aperfeioados por Costa et al. (2004, 2005). Nesses trabalhos, so apresentadas modelagens de programao matemtica que reduzem significativamente o nmero de restries. Alm disso, os modelos incluem o atendimento s metas de produo e qualidade por meio da minimizao, na funo objetivo, dos desvios de atendimento s restries de meta.

19

Moraes (2005) tratou o problema de blendagem de produtos de minrio de ferro, estocados nos ptios da mina Cau, da empresa Companhia Vale do Rio Doce (CVRD), em Minas Gerais, visando a composio de lotes. proposto um modelo de programao linear por metas que visa determinar os locais de retomada do produto estocado, de tal forma que a mistura atenda aos limites de especificaes de qualidade e quantidade preestabelecidos pelo cliente e satisfaa as restries operacionais do ptio. O modelo de programao matemtica desenvolvido foi implementado no modelador e otimizador LINGO 9.0, interfaceando com planilhas do EXCEL 2000, o que possibilitou a utilizao e exportao de dados em um ambiente familiar empresa de minerao. O sistema desenvolvido foi validado comparando-se os resultados obtidos com os produzidos manualmente pela empresa. Os resultados computacionais apresentados comprovaram que possvel prover uma melhora na composio dos lotes atravs do modelo proposto. Muitos problemas de minerao, como o de planejamento operacional de lavra com alocao dinmica de caminhes, em geral, somente podem ser resolvidos na otimalidade, com o uso de mtodos de programao matemtica, quando o nmero de variveis do modelo pequeno. Isto se deve ao fato de que este problema de natureza combinatria, pertencente classe NP-difcil (COSTA, 2005). Assim, a utilizao de mtodos de programao matemtica para resolver problemas deste tipo no indicada para a maioria dos casos reais, que envolvem um nmero elevado de variveis. Alm do mais, nestas situaes, mtodos de programao matemtica podem no encontrar solues viveis em tempos computacionais aceitveis. Uma alternativa comumente adotada para resoluo de problemas combinatrios a utilizao de heursticas. Estas tcnicas no garantem a otimalidade da soluo produzida para o problema; no entanto, produzem resultados muitos bons a um custo computacional baixo devido sua fcil implementao e a uma maior flexibilidade na modelagem das restries em comparao aos mtodos exatos. Assim, vm conquistando cada vez mais espao na resoluo de problemas de planejamento de produo em minerao. Ezawa e Silva (1995), apud Rodrigues (2006), desenvolveram um sistema de alocao dinmica de caminhes s frentes de lavra com o objetivo de reduzir a variabilidade dos teores do minrio e aumentar a produtividade do sistema de

20

transporte. O sistema utiliza uma heurstica para gerar as decises que tm como resultado um seqenciamento de caminhes que minimiza a variao dos teores. Para validar esse modelo foi utilizado simulao e para o modelamento matemtico da mina a teoria dos grafos. Com a implantao do sistema, foi obtido um aumento de 8% na produtividade do sistema de transporte e o gerenciamento passou a ter em mos dados mais precisos e em tempo real. Alvarenga (1997) desenvolveu um programa para o despacho timo de caminhes em uma minerao de ferro, a cu aberto, com o objetivo de minimizar o tempo de filas para as frotas de caminhes, aumentar a produtividade da frota e melhorar a qualidade do minrio lavrado com relao ao atendimento da qualidade requerida. No trabalho desenvolvido, que base do sistema SMART MINE, foi aplicada uma tcnica estocstica de otimizao, o algoritmo gentico com processamento paralelo, em um caso real da Minerao Casa de Pedra, uma empresa do grupo CSN Companhia Siderrgica Nacional. O problema se resume em sugerir qual o ponto de basculamento ou carregamento ideal e a trajetria para o deslocamento, no momento em que h uma situao de escolha a ser realizada. Enquanto os ganhos com a qualidade foram mais difceis de serem quantificados, os resultados numricos mostraram ganhos de 5% a 15% de produtividade, comprovando a validade da proposta. Costa (2005) aborda problemas de planejamento operacional de lavra em minas a cu aberto. So apresentados e modelados problemas relativos mistura de minrios provenientes de vrias frentes de lavra, levando-se em considerao metas de produo e qualidade, restries operacionais e a alocao dos equipamentos de carga e transporte necessrios ao processo. So considerados trs problemas: mistura de minrios, mistura de minrios com alocao dinmica de caminhes e mistura de minrios com alocao esttica de caminhes. Cada problema resolvido por duas metodologias, uma baseada em tcnicas de programao matemtica e outra em tcnicas heursticas. Observa-se que o modelo de programao matemtica, no entanto, no considera taxa de utilizao de caminhes. Dada a NP-completude do problema de mistura de minrios com alocao dinmica e/ou esttica de caminhes, foi utilizada a metaheurstica Variable Neighborhood Search (VNS), a qual permite escapar de timos locais ainda distantes do timo global. Para explorar o espao de solues, o autor utiliza seis tipos de

21

movimentos: a) realocar equipamentos de carga; b) retomar ou parar a operao em uma frente; c) acrescentar ou diminuir o nmero de viagens de um caminho em uma frente; d) realocar o nmero de viagens de um caminho em frentes diferentes; e) realocar o nmero de viagens realizadas em uma frente para caminhes diferentes; f) retomar ou parar a operao de um caminho em uma frente. Experimentos computacionais realizados com dados reais e instncias hipotticas baseadas nesses dados validam os modelos propostos. Pelos experimentos realizados, o modelo heurstico capaz de gerar solues de melhor qualidade em um menor tempo de processamento que aquelas obtidas pelo modelo de programao matemtica. Rodrigues (2006) fez uma anlise comparativa de vrias metodologias utilizadas para o despacho de caminhes em minas a cu aberto. As metodologias testadas, baseadas em Programao Linear, Programao Dinmica e em Heursticas, so aquelas consideradas as bases de algoritmos utilizados em sistemas de despacho

comercializados no Brasil. As solues finais geradas por essas metodologias foram simuladas usando-se o ambiente ARENA, com o objetivo de reproduzir o comportamento das operaes de lavra. Os resultados obtidos mostraram o desempenho dos algoritmos utilizando as metodologias sob diferentes condies em minas a cu aberto. A autora, porm, afirma que no se pode, atravs dos resultados obtidos, concluir pela superioridade de uma delas. A seguir, feita uma reviso da programao linear por metas, do mtodo de Costa et al. (2004), bem como das heursticas utilizadas neste trabalho.

3.2 Programao por Metas


Programao por metas (Goal Programming) um mtodo para se resolver um problema de otimizao multiobjetivo. Segundo Arenales et al (2007), a programao por metas estabelece a priori um conjunto de valores (metas) aceitveis para cada funo objetivo, para encontrar uma soluo de compromisso entre os objetivos conflitantes.

22

Considere o seguinte problema de otimizao linear multiobjetivo (por simplicidade, sero considerados trs objetivos): Maximizar f1(x) = cTx Minimizar f2(x) = dTx Minimizar f3(x) = eTx Ax = b x 0, ou seja, buscam-se solues viveis que faam com que o valor de f1(x) seja o maior possvel e f2(x) e f3(x) sejam pequenos. Supe-se que o decisor (pessoa responsvel pela implementao da soluo) fique satisfeito com qualquer soluo que atenda: f1(x) 1, sendo 1 o valor mnimo para f1(x) que se deseja maximizar, f2(x) 2, sendo 2 o valor mximo para f2(x) que se deseja minimizar, f3(x) = 3, sendo 3 o valor ideal para f3(x), Nas relaes acima, i so chamadas metas. As desigualdades e a igualdade anteriores so definidas pelo decisor. Desta forma, o problema de otimizao linear reformulado como um problema de encontrar uma soluo factvel para o sistema: f1(x) 1 f2(x) 2 f3(x) = 3 Ax = b x 0. Tal problema, entretanto, pode ser infactvel, indicando que o decisor deve abrir mo de uma ou mais metas. Supe-se que as restries originais do problema Ax = b, x 0, gerem solues factveis, caso contrrio o problema multiobjetivo no tem qualquer soluo. Para formalizar essa flexibilizao das restries-meta, so introduzidas novas variveis nas restries-meta:

23

f1(x) + y1 1 f2(x) y2 2 f3(x) + y3+ y3- = 3, em que y1 0, y2 0, y3+ 0, y3- 0. Tais variveis so chamadas variveis de desvio porque representam os desvios acima ou abaixo dos valores das metas. Por exemplo, se uma soluo factvel x tal que f1(x) < 1, ento, com y1 = 1 - f1(x) > 0, a restriometa flexibilizada satisfeita. Dois mtodos so comumente utilizados para otimizar um modelo de programao de metas: (i) o mtodo dos pesos e (ii) o mtodo hierrquico (em ingls, preemptive). Ambos baseiam-se na estratgia de converter mltiplos objetivos em um nico objetivo. O mtodo dos pesos considera que as solues de interesse do decisor so aquelas em que as variveis de desvio ou flexibilizao assumem valores o mais prximo possvel de zero. Portanto, o seguinte problema deve ser resolvido: Minimizar (x,y) = w1y1 + w2y2 + w3(y3+ + y3-) f1(x) + y1 1 f2(x) y2 2 f3(x) + y3+ y3- = 3 Ax = b x 0, y1 0, y2 0, y3+ 0, y3- 0, em que w1 + w2 + w3 so os pesos (positivos) das metas, respectivamente, representando a importncia relativa entre elas para o decisor. Por exemplo, se wi = 1, i = 1, 2, 3, ento todas as metas tm a mesma importncia para o decisor, ou se w1 > w2 > w3 ento a meta 1 mais importante que a meta 2, e esta mais importante que meta 3. No mtodo hierrquico, os objetivos so tomados em ordem de prioridade, um aps o outro. Por exemplo, suponha que o objetivo 1 o mais importante para o decisor, o objetivo 2 o segundo mais importante, o objetivo 3 o terceiro mais importante, e assim por diante. Ento, primeiro minimiza-se o desvio y1 do primeiro objetivo. A seguir, minimiza-se o desvio y2 do segundo objetivo, sujeito condio de que o desvio

24

do primeiro objetivo seja mnimo (isto , o valor y1 fixado no valor mnimo obtido anteriormente). Posteriormente, minimiza-se o desvio y3 do terceiro objetivo, sujeito condio de que os desvios do primeiro e do segundo objetivos sejam mnimos (isto , os valores y1 e y2 so fixados nos valores mnimos j obtidos anteriormente), e assim por diante. Os mtodos de programao de metas procuram uma soluo que satisfaa as metas do problema sem se preocupar com a otimizao do problema. Em outras palavras, se houver vrias solues que satisfaam todas as metas, esses mtodos no determinam a melhor delas do ponto de vista da otimizao dos objetivos originais do problema, f1, f2, f3. Isso pode ser contornado adicionando-se s funes objetivos dos modelos de programao de metas, mltiplos positivos e pequenos dos objetivos originais a serem minimizados, ou subtraindo-se mltiplos positivos e pequenos, se originalmente desejava-se maximizar. Por exemplo, no mtodo dos pesos, conveniente considerar: minimizar (x,y) = w1y1 + w2y2 + w3(y3+ + y3-) - 1f1(x) + 2f2(x) + 3f3(x). A programao de metas tambm pode ser aplicada a problemas de otimizao discreta e otimizao no-linear. No caso de otimizao linear, o mtodo Simplex pode ser especializado para resolver os modelos de programao de metas.

3.3 O modelo de Alocao Dinmica de Costa et al. (2004)


Costa et al. (2004) utilizou a tcnica de pesquisa operacional conhecida como programao por metas (Goal Programming), para modelar a alocao dinmica de caminhes no planejamento de lavra. No modelo destes autores o objetivo minimizar os desvios das metas de produo, bem como os desvios das metas de qualidade. O modelo, apresentado pelas equaes (3.1)-(3.22), considera os seguintes dados de entrada:

M : Conjunto de frentes de minrio; E : Conjunto de frentes de estril;

25

F : Conjunto de frentes formado por M E; T : Conjunto de parmetros de qualidade analisados no minrio; C : Conjunto de equipamentos de carga; V : Conjunto de equipamentos de transporte; Pr: Ritmo de lavra recomendado (t/h); Pl: Ritmo de lavra mnimo (t/h); Pu: Ritmo de lavra mximo (t/h); - : Penalidade por desvio negativo da produo; + : Penalidade por desvio positivo da produo; tij : Valor do parmetro de qualidade j na frente i (%); trj : Valor recomendado para o parmetro de qualidade j na mistura (%); tlj : Valor mnimo admissvel para o parmetro de qualidade j na mistura (%); tuj :Valor mximo admissvel para o parmetro de qualidade j na mistura (%);

:Penalidade por desvio negativo para o parmetro de qualidade j na mistura; + :Penalidade por desvio positivo para o parmetro de qualidade j na mistura;
Qli :Ritmo de lavra mnimo para a frente i (t/h); Qui :Ritmo de lavra mximo para a frente i (t/h); rem :Relao estril/minrio requerida; Clk :Produo mnima do equipamento de carga k (t/h); Cuk : Produo mxima do equipamento de carga k (t/h); capl : Capacidade do caminho l (t); tcil : Tempo total de ciclo do caminho l na frente i (min); 1 se o caminho l compatvel com o equipamento de carga k , g lk = 0 caso contrrio

26

e as seguintes variveis de deciso: xi : Ritmo de lavra da frente i (t/h);

1 se o equipamento de carga k opera na frente i; yik = 0 caso contrrio nil : Nmero de viagens que um caminho l realiza na frente i em uma hora; dj- : Desvio negativo do parmetro j na mistura (t/h); dj+ : Desvio positivo do parmetro j na mistura (t/h); P : Desvio negativo do ritmo de lavra em relao ao recomendado (t/h); P + : Desvio positivo do ritmo de lavra em relao ao recomendado (t/h). O modelo de programao matemtica relativo alocao dinmica de uma frota heterognea de caminhes e equipamentos de carga, levando-se em considerao metas de produo e qualidade de minrio, apresentado pelas equaes (3.1)-(3.22).

min j d + j+ d + + P + + P + j j
j T j T

3.1

s.a:
iM

(t
iM

ij

tu j ) xi 0 j T

3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9

(t

ij

tl j ) xi 0 j T

iM

(t

ij

tr j ) xi + d d + = 0 j T j j

iM

x
iM

Pu
i

Pl

iM

+ P P + = Pr xi Qu i i F xi Ql i i F

27

xi 0 i F

3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22

d + , d 0 j T j j
P+ , P 0

x
iE

rem xi 0
iM

y
kC

ik

1 i F 1 k C

y
iF

ik

yik {0,1} i F , k C xi xi -

Cu
kC

yik 0 i F y ik 0 i F

Cl
kC

niltcil-60

ik kC , g lk 0

y
il il

0 i F , l V

n tc
iF

60 l V
l

xi -

n cap
lV il

= 0 i F

nil + i F , l V

Observa-se que (3.2)-(3.12) so restries que juntamente com a funo objetivo (3.1) formam o modelo de mistura de minrios com metas. A restrio (3.13) diz respeito ao atendimento da relao estril/minrio mnima requerida. As demais restries que complementam o modelo podem ser divididas em dois grupos. O

primeiro diz respeito alocao de equipamentos de carga e a faixa de produtividade que torne vivel a utilizao desses equipamentos. O conjunto de restries (3.14) define que cada frente deve ser alocado, no mximo, um nico equipamento de carga, enquanto que as restries (3.15) definem que cada equipamento de carga opera em uma nica frente. As restries (3.16) definem que as variveis yik so binrias. As restries (3.17) e (3.18) limitam, respectivamente, o ritmo de lavra mximo e mnimo.

28

O segundo grupo de restries est relacionado ao transporte de material na mina e a alocao dos caminhes. Cada restrio (3.19) faz com que um caminho somente realize viagens a uma frente onde esteja alocado um equipamento de carga compatvel. As restries (3.20) definem que cada caminho opere no mximo sessenta minutos. As restries (3.21) fazem com que o ritmo de lavra de uma frente seja igual produo realizada pelos caminhes alocados frente. As restries (3.22) determinam que o nmero de viagens que um caminho faz uma frente um valor inteiro positivo.

3.4 Heursticas
3.4.1 Introduo Muitos problemas prticos so classificados na literatura como NP-completos ou NP-difceis, isto , so problemas para os quais ainda no existem algoritmos que os resolvam em tempo polinomial. Um exemplo clssico o conhecido Problema do Caixeiro Viajante (PCV). O PCV descrito por um conjunto de n cidades e uma matriz de distncia entre elas, tendo o seguinte objetivo: o caixeiro viajante deve sair de uma cidade chamada origem, visitar cada uma das cidades restantes (n-1) apenas uma nica vez e retornar cidade origem percorrendo a menor distncia possvel. Em outras palavras, deve ser encontrado um ciclo hamiltoniano (ciclo fechado) de comprimento mnimo que passe exatamente uma nica vez por cada cidade. No PCV simtrico, situao na qual a distncia da cidade i para a cidade j igual distncia da cidade j para a cidade i, h (n-1)!/2 rotas possveis para serem analisadas. Neste problema, o uso de mtodos de programao matemtica, dito exatos, se torna bastante restrito, uma vez que demandam tempos proibitivos para encontrar a melhor soluo ou mesmo uma soluo vivel para valores elevados de n. Por outro lado, na prtica, em geral, suficiente encontrar uma boa soluo para o problema, ao invs do timo global, o qual, s vezes, somente pode ser encontrado aps um considervel esforo computacional. Este o motivo pelo qual os pesquisadores tm concentrado esforos na utilizao de outros procedimentos para solucionar problemas desse nvel de

29

complexidade. Dentre esses procedimentos, destacam-se as heursticas. Uma heurstica pode ser definida como uma tcnica, normalmente inspirada em processos intuitivos, que procura uma boa soluo a um custo computacional aceitvel, sem, no entanto, estar capacitada a garantir sua otimalidade, bem como garantir quo prximo se est da soluo tima. O desafio produzir, em tempo mnimo, solues to prximas quanto possveis da soluo tima. As heursticas podem ser construtivas ou de refinamento. No primeiro caso, o objetivo construir uma soluo, elemento por elemento, adicionando-se a cada passo, um nico elemento, normalmente aquele que tem o valor mais favorvel da funo guiadora da construo. J as heursticas de refinamento consistem em melhorar uma soluo por meio de modificaes realizadas nesta. Nas heursticas clssicas, apenas as modificaes que produzirem os melhores resultados so aceitos, sendo os mtodos interrompidos quando se alcana o primeiro timo local. Como exemplos clssicos de heursticas convencionais tm-se o Mtodo da Descida e o Mtodo Randmico de Descida, a seguir apresentados.

3.4.1.1 Mtodo da Descida/Subida (Descent/Uphill Method) A idia desta tcnica partir de uma soluo inicial qualquer e a cada passo analisar todos os seus possveis vizinhos, movendo somente para aquele que representar uma melhora no valor atual da funo de avaliao. Dessa forma, o mtodo pra quando um timo local encontrado. A Figura 3.1 mostra o pseudocdigo do Mtodo de Descida aplicado minimizao de uma funo de avaliao f a partir de uma conhecida soluo inicial s e considerando a busca em uma dada vizinhana N(.). procedimento Descida(f(.),N(.), s); 1. V = {s N(s) | f(s) < f(s)}; 2. enquanto (|V | > 0) faa 3. Selecione s V , onde s = arg min{f(s) | s V }; 4. s s ; 5. V = { s N(s) | f(s) < f(s)}; 6. fim-enquanto; 7. Retorne s; fim Descida; Figura 3.1 Mtodo da Descida

30

3.4.1.2 Mtodo Randmico de Descida O Mtodo de Descida/Subida requer a explorao de toda a vizinhana. Outro mtodo alternativo, que evita essa pesquisa exaustiva o Mtodo Randmico de Descida/Subida (Random Descent/Uphill Method). Ele consiste em analisar um vizinho qualquer e o aceitar somente se ele for estritamente melhor que a soluo corrente; no o sendo, a soluo corrente permanece inalterada e outro vizinho gerado. O procedimento interrompido aps um nmero fixo de iteraes sem melhora no valor da melhor soluo obtida at ento. O mtodo Randmico de Descida/Subida tambm fica preso no primeiro timo local encontrado (SOUZA, 2007). Na Figura 3.2 mostra-se o pseudocdigo do Mtodo Randmico de Descida aplicado ao refinamento de uma soluo s em um problema de minimizao de uma funo f(.), utilizando uma estrutura de vizinhana N(.). Nessa figura, IterMax representa o nmero mximo de iteraes sem melhora no valor da funo de avaliao.

procedimento RandomicoDescida(f(.),N(.), IterMax, s); 1. Iter = 0; {Contador de iteraes sem melhora } 2. enquanto (Iter < IterMax) faa 3. Iter Iter + 1; 4. Selecione aleatoriamente s N(s); 5. se (f(s) < f(s)) ento 6. Iter = 0; 7. s s; 8. fim-se; 9. fim-enquanto; 10. Retorne s; fim RandomicoDescida; Figura 3.2 Mtodo Randmico de Descida 3.4.2 Metaheursticas A maioria das heursticas desenvolvidas muito especfica para um problema particular, no sendo eficientes (ou mesmo aplicveis) na resoluo de uma classe mais ampla de problemas.

31

Somente a partir da dcada de 1980 intensificaram-se os estudos no sentido de se desenvolver procedimentos heursticos com uma certa estrutura terica e com carter mais geral, sem prejudicar a principal caracterstica destes, que a flexibilidade. Esta meta tornou-se mais realista a partir da reunio de conceitos das reas de Otimizao e Inteligncia Artificial, viabilizando a construo das chamadas melhores estratgias ou dos mtodos inteligentemente flexveis, comumente conhecidos como metaheursticas. As metaheursticas so procedimentos destinados a encontrar uma boa soluo, eventualmente a tima, consistindo na aplicao, em cada passo, de uma heurstica subordinada, a qual tem que ser modelada para cada problema especfico. Contrariamente s heursticas convencionais, as metaheursticas so de carter geral e tm condies de escapar de timos locais (SOUZA, 2007). Dentre os procedimentos enquadrados como metaheursticas que surgiram ao longo das ltimas dcadas, destacam-se: Algoritmos Genticos (AGs), Redes Neurais, Simulated Annealing (SA), Busca Tabu (BT), GRASP, VND, VNS, ILS, Colnia de Formigas etc.

3.4.2.1 Iterated Local Search O mtodo Iterated Local Search (ILS) baseado na idia de que um procedimento de busca local pode ser melhorado gerando-se novas solues de partida, as quais so obtidas por meio de perturbaes na soluo tima local. A perturbao precisa ser suficientemente forte para permitir que a busca local explore diferentes solues, mas tambm fraca o suficiente para evitar um reincio aleatrio (LOURENO et al., 2003). O mtodo ILS , portanto, um mtodo de busca local que procura focar a busca no no espao completo de solues, mas em um pequeno subespao definido por solues que so timas locais de determinado procedimento de otimizao (LOURENO et al., 2003).

32

Para aplicar um algoritmo ILS, quatro componentes tm que ser especificadas: (a) Procedimento GeraSolucaoInicial(), que gera uma soluo inicial s para o problema; (b) Procedimento BuscaLocal, que retorna a melhor soluo s de uma dada vizinhana; (c) Procedimento Perturbao, que modifica a soluo corrente s guiando a uma soluo intermediria s e (d) Procedimento CritrioAceitao, que decide de qual soluo a prxima perturbao ser aplicada. A Figura 3.3 ilustra o pseudocdigo do algoritmo ILS bsico. Procedimento ILS() 1. s0 GeraSolucaoInicial(); 2. s BuscaLocal(s0); 3. iter 0; 4. enquanto (iter < itermax) 5. iter iter + 1; 6. s Perturbao(nvel, s); 7. s BuscaLocal(s); 8. s CritrioAceitao(s); 9. fim-enquanto; 10. retorne s; fim ILS; Figura 3.3 Pseudocdigo para o procedimento ILS De acordo com Loureno et al. (2003), o sucesso do ILS centrado no conjunto de amostragem de timos locais, juntamente com a escolha do mtodo de busca local, das perturbaes e do critrio de aceitao. Em princpio, qualquer mtodo de busca local pode ser usado, mas o desempenho do ILS com respeito qualidade da soluo final e a velocidade de convergncia depende fortemente do mtodo escolhido. Normalmente um mtodo de descida usado, mas tambm possvel aplicar algoritmos mais sofisticados, tais como Busca Tabu ou outras metaheursticas. O mecanismo de perturbao deve ser forte o suficiente para permitir escapar do timo local corrente e permitir explorar diferentes regies do espao de solues. Ao mesmo tempo, a modificao precisa ser fraca o suficiente para guardar caractersticas do timo local corrente. O critrio de aceitao usado para decidir de qual soluo se continuar a explorao, bem como qual ser a perturbao a ser aplicada. Um aspecto importante do

33

critrio de aceitao e da perturbao que eles induzem aos procedimentos de intensificao e diversificao. A intensificao consiste em permanecer na regio do espao onde a busca se encontra, procurando explor-la de forma mais efetiva; enquanto a diversificao consiste em se deslocar para outras regies do espao de solues. A intensificao da busca ao redor da melhor soluo encontrada obtida, por exemplo, pela aplicao de pequenas perturbaes sobre ela. A diversificao, por sua vez, pode ser realizada aceitando-se quaisquer solues s e aplicando-se grandes perturbaes na soluo tima local.

3.4.2.2 Mtodo de Descida em Vizinhana Varivel O Mtodo de Descida em Vizinhana Varivel (Variable Neighborhood Descent, VND), de acordo com Mladenovic e Hansen (1997), um mtodo de busca local que consiste em explorar o espao de solues atravs de trocas sistemticas de estruturas de vizinhana, aceitando somente solues de melhora da soluo corrente e retornando primeira estrutura quando uma soluo melhor encontrada. Apresenta-se, a seguir, o pseudocdigo desse algoritmo para um problema de minimizao.

Seja r o nmero de estruturas de vizinhana distintas s s 0 , onde s0 a soluo inicial e s a soluo corrente k 1 , onde k a estrutura de vizinhana corrente enquanto (k r ) faa a) encontre o melhor vizinho s ' N k ( s ) , onde k a ksima estrutura de vizinhana b) se f ( s ' ) < f ( s ) , ento s s ' e k 1 c) caso contrrio, k k + 1 5) retorne a soluo s Figura 3.4 Pseudocdigo do algoritmo VND

1) 2) 3) 4)

34

4. Modelagem do Problema Abordado


4.1 Introduo
Para resolver o problema de planejamento de lavra com alocao dinmica de caminhes, so apresentados dois modelos: um de programao matemtica e outro heurstico. Dada sua complexidade combinatria, uma vez que o mesmo se reduz ao problema da mochila mltipla, o qual NP-difcil (COSTA, 2005), o primeiro modelo servir para validar o segundo e ser aplicado a instncias de pequeno porte. Para problemas de porte mais elevado, o primeiro modelo, em geral, no capaz de resolvlos na otimalidade, em virtude do tempo proibitivo de execuo.

4.2 Modelo de Programao Matemtica


Para a modelagem exata desse problema, ser utilizada a tcnica de pesquisa operacional conhecida como programao por metas (Goal Programming), descrita na Seo 3.2. O modelo proposto de alocao dinmica de caminhes uma adaptao daquele de Costa et al. (2004). Especificamente, a equao referente relao estril/minrio substituda por uma equao de meta de produo de estril. Esta substituio feita apenas para clareza de entendimento. Assim so criadas variveis de desvio relativas ao no atendimento desta meta. Adicionalmente so includas restries relativas s taxas de utilizao dos veculos de transporte, bem como uma componente de avaliao do nmero de veculos usados. Tal como em Costa et al. (2004), o planejamento da produo feito para uma hora, sendo replicado enquanto no houver frente exaurida e as condies operacionais forem as mesmas. O objetivo do modelo minimizar os desvios das metas de produo, bem como os das metas de qualidade.

35

Para a apresentao do modelo, sejam os seguintes parmetros de entrada: M : Conjunto de frentes de minrio; E : Conjunto de frentes de estril; F : Conjunto de frentes formado por M E; T : Conjunto de parmetros de controle1 analisados no minrio; C : Conjunto de equipamentos de carga; V : Conjunto de equipamentos de transporte; Pr: Ritmo de lavra recomendado relativo a minrio (t/h); Pl: Ritmo de lavra mnimo relativo a minrio (t/h); Pu: Ritmo de lavra mximo relativo a minrio (t/h); Er: Ritmo de lavra recomendado relativo a estril (t/h); - : Penalidade por desvio negativo da produo de minrio; + : Penalidade por desvio positivo da produo de minrio;

- : Penalidade por desvio negativo da produo de estril; + : Penalidade por desvio positivo da produo de estril;
tij : Valor do parmetro j na frente i (%); trj : Valor recomendado para o parmetro de controle j na mistura (%); tlj : Valor mnimo admissvel para o parmetro de controle j na mistura (%); tuj :Valor mximo admissvel para o parmetro de controle j na mistura (%);

:Penalidade por desvio negativo para o parmetro de controle j na mistura; + :Penalidade por desvio positivo para o parmetro de controle j na mistura;
Qui :Ritmo de lavra mximo para a frente i (t/h);
Teores de Fe, Al2O3 etc e granulometria. A granulometria ou anlise granulomtrica dos solos o processo que visa definir, para determinadas faixas pr-estabelecidas de tamanhos de gros, a percentagem em peso que cada frao possui em relao massa total da amostra em anlise (http://wikipedia.org/wiki/granulometria, acessado em julho de 2008)
1

36

Clk :Produo mnima do equipamento de carga k (t/h); Cuk : Produo mxima do equipamento de carga k (t/h); capl : Capacidade do caminho l (t); tcil : Tempo total de ciclo do caminho l na frente i (min);

l : Peso associado importncia da utilizao do caminho l;


TxMaxl : Taxa mxima de utilizao admitida para o caminho l; 1 se o caminho l compatvel com o equipamento de carga k , g lk = 0 caso contrrio e as seguintes variveis de deciso: xi : Ritmo de lavra da frente i (t/h);

1 se o equipamento de carga k opera na frente i; yik = 0 caso contrrio nil : Nmero de viagens que um caminho l realiza na frente i em uma hora;

d : Desvio negativo do parmetro de controle j na mistura (t/h); j d + : Desvio positivo do parmetro de controle j na mistura (t/h); j
P : Desvio negativo do ritmo de lavra de minrio em relao ao recomendado (t/h); P + : Desvio positivo do ritmo de lavra de minrio em relao ao recomendado (t/h).
Pe : Desvio negativo do ritmo de lavra de estril em relao ao recomendado (t/h); Pe + : Desvio positivo do ritmo de lavra de estril em relao ao recomendado (t/h). usoul: Varivel binria que assume valor l se o caminho l usado e 0, caso contrrio.

A seguir, apresentado pelas equaes (4.1)-(4.24) o modelo de programao matemtica relativo alocao dinmica de uma frota heterognea de caminhes e equipamentos de carga, levando-se em considerao metas de produo e qualidade de minrio.

37

min j d + j+ d + + P + + P + + Pe + + Pe + + l usou l j j
j T j T l V

4.1

s.a:
iM

(t
iM

ij

tu j ) xi 0 j T
tl j ) xi 0 j T

4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20

(t

ij

iM

(t

ij

tr j ) xi + d d + = 0 j T j j

iM

x
iM

Pu
i

Pl

iM

x
i

+ P P + = Pr

x
iE

+ Pe Pe + =Er xi Qu i i F xi 0 i F

d + , d 0 j T j j
P+ , P 0 Pe + , Pe 0
kC

y
iF

ik

1 i F 1 k C

y Cu
kC

ik

yik {0,1} i F , k C xi xi kC k

yik 0 i F y ik 0 i F

Cl

niltcil-60

ik kC , g lk 0

0 i F , l V

1 nil tcil TxMaxl l V 60 iF

38

xi -

n cap
lV il

= 0 i F
l V

4.21 4.22 4.23 4.24

usou l

1 nil tcil 60 iF

nil + i F , l V usoul {0,1} l V

O modelo de mistura de minrios com metas formado pelas restries (4.2)(4.13) e pela funo objetivo (4.1). As restries (4.7) e (4.8) dizem respeito, respectivamente, aos atendimentos das metas de produo de minrio e estril. As demais restries que complementam o modelo podem ser divididas em dois grupos. O primeiro diz respeito alocao de equipamentos de carga e a faixa de produtividade que torne vivel a utilizao desses equipamentos. O segundo grupo de restries est relacionado ao transporte de material na mina e a alocao e utilizao dos caminhes. Em relao ao primeiro grupo de restries, o conjunto (4.14) define que em cada frente pode ser alocado, no mximo, um nico equipamento de carga, enquanto que as restries (4.15) definem que cada equipamento de carga pode operar, no mximo, em uma nica frente. As restries (4.16) definem que as variveis yik so binrias. As restries (4.17) e (4.18) limitam, respectivamente, o ritmo de lavra mximo e mnimo, definido pela carregadeira alocada frente. J as restries (4.9) limitam o ritmo de lavra mximo definido pelo usurio. No segundo grupo de restries, que est relacionado ao transporte de material na mina e a alocao e utilizao dos caminhes, cada restrio (4.19) faz com que um caminho somente realize viagens uma frente onde esteja alocado um equipamento de carga compatvel. As restries (4.20) definem que cada caminho opere no mximo
TxMaxl% em uma hora. As restries (4.21) fazem com que o ritmo de lavra de uma

frente seja igual produo realizada pelos caminhes alocados frente. As restries (4.22), juntamente com a funo objetivo, foram com que os caminhes usados sejam penalizados. As restries (4.23) determinam que o nmero de viagens que um

39

caminho faz a uma frente um valor inteiro positivo. As restries (4.24) indicam que as variveis usoul so binrias.

4.3 Modelo Heurstico


4.3.1 Dados de Entrada Sejam: F o conjunto de frentes, V o conjunto de veculos, C o conjunto de equipamentos de carga, T o conjunto dos parmetros de controle (teores de Fe, Al2O3 e etc e granulometria) presentes nas frentes, qui a quantidade mxima de massa lavrvel em cada frente i, tcil o tempo de ciclo de cada veculo l a cada frente i, tij o percentual do parmetro de controle j presente na frente i, Compatib|C|x|V| a matriz que representa a compatibilidade entre os equipamentos de carga k e os caminhes l, capl a capacidade de cada caminho l, Clk a capacidade mnima de cada carregadeira k e Cuk a capacidade mxima de cada carregadeira k e TxMaxl a taxa de utilizao mxima permitida para o l-simo caminho. Descreve-se, a seguir, a representao de uma soluo para o problema, a funo de avaliao de uma soluo, os movimentos e as tcnicas heursticas utilizadas na explorao do espao de solues do problema.

4.3.2

Representao de uma Soluo Uma soluo representada por uma matriz R|F|(1+V) formada pelas matrizes

Y|F|1 e N|F||V| , em que: yik : representa a alocao do equipamento de carga k frente i, observando-se o estado ativo ou inativo de cada equipamento; nil : representa o nmero de viagens do caminho l frente i.

R|F|x(1+V) = [Y|F|1 | N|F||V|]

4.25

40

A partir de Y, N e os tempos de ciclo da matriz Tc|F||V| so determinados S|F|1 e Tcv1|V| , os quais representam, respectivamente, a quantidade de massa lavrada em cada frente e o somatrio dos tempos de ciclo de cada veculo. A Figura 4.1 exemplifica uma soluo para uma instncia do problema, considerando |F| frentes e |V| caminhes. As linhas representam as frentes de lavra (F). A coluna Carreg (Y|F|1) representa a alocao das carregadeiras s frentes. As outras colunas (N|F||V|) representam as viagens realizadas pelos caminhes (Cam) em cada frente.

Y Carreg F1 F2 F3 F4 . . . F|F| (5 , 1 ) (3 , 0) (-1 , 0) (6 , 1) . . . (2 , 1) Cam1 5 -1 0 7 . . . 4 Cam2 0 -1 0 -1 . . . 0

N ... ... ... ... ... . . . ... Cam|V| 2 0 -1 0 . . . 1

Figura 4.1 Representao de uma Soluo

Cada clula da matriz Y|F|1 composta de duas informaes: a primeira diz respeito ao nmero da carregadeira k alocada frente i. O valor 1 significa que no existe carregadeira alocada. A segunda informao diz se a carregadeira est ativa (1) ou no (0). Na matriz N|F||V|, cada clula composta do nmero de viagens de um caminho l a uma frente i. O valor 0 (zero) significa que no h nenhuma viagem para aquele

41

caminho. O valor 1 informa a incompatibilidade entre o caminho e a carregadeira alocados quela frente. Exemplificando, a linha 1 diz respeito frente F1 onde est alocada a carregadeira de nmero 5 que se encontra ativa (5 , 1). J na frente F2, a carregadeira 3 est alocada, mas no se encontra em operao no momento (3 , 0). Entretanto, na frente F3 no existe carregadeira alocada no momento (-1 , 0). Em relao matriz N|F||V|, que se refere ao nmero de viagens de um caminho l a uma determinada frente i, a linha 4 mostra que o caminho Cam1 realizar 7 viagens frente F4, o caminho Cam2 incompatvel com a carregadeira de nmero 6 alocada frente e o caminho Cam|V| no far nenhuma viagem esta frente. 4.3.3 Gerao de uma Soluo Inicial Para se gerar a soluo inicial necessrio se construir as matrizes Y|F|1, N|F||V|, S|F|1e Tcv1|V|. A Figura 4.2 mostra o pseudocdigo da gerao da matriz Y (alocao das carregadeiras). Inicialmente, atribui-se o valor 1 para todas as carregadeiras, ou seja, considera-se que no existe carregadeira alocada a nenhuma frente. Atribui-se, tambm, o valor 0 (zero) para o status de cada carregadeira informando a inatividade de cada uma delas em cada frente. Em seguida, as carregadeiras so alocadas aleatoriamente a cada uma das frentes disponveis. Para estas carregadeiras, atribui-se o status ativo (1), inicialmente.

42

Procedimento Gera_Carreg( Y ); Variveis i,k:inteiro; Incio MaxFr no mximo de frentes; Ncarreg no total de carregadeiras; Para i 1 at maxFr y[i].n_carr -1; {nmero da carregadeira} y[i].n_ativo 0; {status da carregadeira} Fim para Para k 1 at Ncarreg Repita i aleatrio(maxFr); se y[i].n_carr = -1{no existe carregadeira alocada} y[i].n_carr k; y[i].n_ativo 1; at y[i].n_car <>-1 Fim para Fim{Gera_Carreg} Figura 4.2 Alocao Aleatria das Carregadeiras

A Figura 4.3 mostra o pseudocdigo da gerao da matriz N|F||V| (nmero de viagens de cada caminho l s diversas frentes i). O nmero de viagens em cada clula da matriz N|F||V| gerado aleatoriamente. Para cada clula nil verificado inicialmente o nmero mximo (nv_max) de viagens, por hora, em funo do tempo de ciclo (Tc) de cada caminho l s diversas frentes i. gerado, ento, de forma aleatria, um nmero compreendido entre 0 e o nmero mximo de viagens (nv_max). Posteriormente, verificado se existe carregadeira alocada a essa frente. Se existir, verifica-se se h compatibilidade entre a carregadeira k e o caminho alocado l. Caso afirmativo, verifica-se se a carregadeira k alocada frente i encontra-se ativa ou no. Estando ativa, considera-se o nmero aleatrio calculado anteriormente como sendo o nmero de viagens do caminho l frente i. No estando ativa ou no havendo compatibilidade entre a carregadeira e o caminho ou, ainda, no havendo carregadeira alocada frente, no atribudo a esse caminho nenhuma viagem nesta frente. O procedimento repetido para todas as clulas da matriz N|F||V|.

43

Procedimento Gera_Viagens( N ); Variveis i,l,nv,nv_max:inteiro; Incio MaxFr no mximo de frentes; Ncam no total de caminhes; Para i 1 at MaxFr Para l 1 at Ncam nv_max int(60/Tc[i,l]); nv aleatrio(nv_max); se carregadeira_alocada se houver_compatib_Carreg_Cam se carregadeira_ativa n[i,l] nv; Fim para Fim para Fim{Gera_Viagens} Figura 4.3 Nmero de Viagens de cada Caminho s diversas Frentes A Figura 4.4 mostra o pseudocdigo da gerao da matriz S|F|1 (quantidade de massa lavrvel em cada frente). A quantidade de massa lavrvel (si) em cada frente gerada da seguinte forma: para cada frente i, gerado si como sendo o somatrio dos produtos das matrizes N|F||V| e Cap|V|, ou seja, entre o nmero de viagens (nil) e a capacidade de cada caminho (capl).

Procedimento Gera_Massa_Lavrvel( S, N, Cap ); Variveis i,l:inteiro; Incio MaxFr no mximo de frentes; Ncam no total de caminhes; Para i 1 at MaxFr Para l 1 at Ncam Se n[i,l] > 0 s[i] (n[i,l] * capl); Fim para Fim para Fim{Gera_Massa_Lavrvel} Figura 4.4 Massa Lavrvel em cada Frente A Figura 4.5 mostra o pseudocdigo da gerao da matriz Tcv1|V| (somatrio dos tempos de ciclo por caminho). Para cada caminho, calculado o somatrio do

44

produto entre o nmero de viagens (nil) e o tempo de ciclo Tcil nas diversas frentes, gerando a matriz Tcv1|V|.

Procedimento Gera_Tempo_Cam( Tcv, N, Tc ); Variveis i,l:inteiro; Incio MaxFr no mximo de frentes; Ncam no total de caminhes; Para l 1 at Ncam Para i 1 at MaxFr Se n[i,l] > 0 tcv[l] (n[i,l] * tc[i,l]); Fim para Fim para Fim{Gera_Tempo_Cam} Figura 4.5 Somatrio dos Tempos de Ciclo por Caminho Mesmo com a gerao de todas essas matrizes, conveniente verificar se existem inviabilidades na soluo inicial gerada. A correo das mesmas propicia uma soluo inicial de melhor qualidade diminuindo o esforo computacional exigido no refinamento dessa soluo. O procedimento verifica a existncia de duas inviabilidades. A primeira diz respeito ao somatrio dos tempos de ciclo por caminho. O tempo de ciclo acumulado de cada caminho no poder exceder a 60 minutos. Como o objetivo fornecer uma soluo em uma hora, h a necessidade de se fazer uma correo na soluo. A Figura 4.6 mostra o pseudocdigo referente ao Reparador de Inviabilidade do Nmero de Viagens que tem como objetivo refinar o nmero de viagens do caminho l todas as frentes, fazendo com que o somatrio dos tempos de ciclo seja inferior ou, no mximo, igual a 60 minutos. O pseudocdigo da Figura 4.6 mostra que, para cada caminho l, verificado se o tempo de ciclo acumulado (tcvl) superior a 60 minutos. Caso seja, escolhida uma frente i, aleatoriamente, e retirada uma viagem do caminho l, caso exista. Em seguida, subtrai-se o tempo de ciclo (tci,l) correspondente. O procedimento repetido, para cada caminho, at que o tempo acumulado seja inferior ou igual a 60 minutos.

45

Procedimento Refina_N(N,Tc,Tcv); Variveis i,l:inteiro; Incio MaxFr no mximo de frentes; Ncam no total de caminhes; Para l 1 at Ncam enquanto Tcv[l]>60 i aleatrio(maxFr); Se n[i,l] > 1 n[i,l] n[i,l]-1; tcv[l] tcv[l] - tc[i,l]); Fim enquanto Fim para Fim{ Refina_N } Figura 4.6 Reparador de Inviabilidade do Nmero de Viagens Aps aplicar este reparador de inviabilidade, necessrio reconstruir a matriz S|F|1 (massa lavrvel em cada frente), como mostrado na Figura 4.4. A segunda inviabilidade diz respeito quantidade de massa lavrvel, por frente. Mesmo com a correo da primeira inviabilidade, no h garantias de que a massa lavrvel, calculada atravs da aplicao do pseudocdigo mostrado na fig. 4.4, seja inferior quantidade mxima lavrvel (Qu) existente em cada frente. Sendo superior, h a necessidade de se fazer a correo como explicitado no pseudocdigo mostrado na Figura 4.7. Essa correo tambm dever ser realizada caso a quantidade de massa lavrvel calculada seja maior que a capacidade mxima de produo da carregadeira em uma hora.

46

Procedimento Refina_S(S, N, Qu, Tc, Tcv, Cu, Y, Cap ); Variveis i,l:inteiro; Incio MaxFr no mximo de frentes; Ncam no total de caminhes; Para i 1 at MaxFr Enquanto (s[i]>qu[i]) ou (s[i]>cu[Y[i].N_carr]) l aleatrio(Ncam); Se n[i,l] > 0 n[i,l] n[i,l]-1; tcv[l] tcv[l] - tc[i,l]); s[i] s[i] cap[l]; se minrio t t - cap[l] seno est est - cap[l]; Fim enquanto Fim para Fim{ Refina_S } Figura 4.7 Reparador de Inviabilidade de Massa Lavrvel

O pseudocdigo mostrado na Figura 4.7 mostra que, para cada frente, verificado se a quantidade de massa lavrvel calculada inicialmente superior quantidade mxima (Qu) existente na frente i e superior capacidade mxima de produo da carregadeira alocada frente i, por hora. Se pelo menos uma das duas situaes acontecer, escolhido, aleatoriamente, um caminho l. Caso haja viagens desse caminho l frente i, retirada uma viagem e recalculados o tempo total (tcv) do caminho l e a quantidade de massa lavrvel si. atualizada tambm a varivel que corresponde somatria de todas as massas lavrveis, seja de minrio (t), seja de estril (est). Esse procedimento repetido para todas as frentes at que no haja mais nenhuma inviabilidade. Esse processo de gerao de uma soluo inicial repetido IterConstr vezes e, em cada vez, aplica-se o mtodo da descida em vizinhana varivel (VND), descrito na Figura 4.45 da seo 4.3.8, e a melhor soluo obtida utilizada como soluo inicial para o ILS. Este procedimento tem a vantagem de produzir uma soluo inicial de boa qualidade rapidamente, j que a busca local exige pouco esforo computacional.

47

4.3.4

Avaliao de uma Soluo Uma soluo s avaliada com relao aos desvios das metas de produo e

qualidade. Considerando que o modelo heurstico pode gerar inviabilidades, alm da funo objetivo do modelo de programao matemtica, descrito na equao (4.1), so acrescentadas outras parcelas para penalizar tais ocorrncias. Adicionalmente, so utilizados, tambm, componentes na funo de avaliao para guiar a busca no espao de solues. Assim, uma soluo s avaliada em funo da produo, da qualidade do produto final e da alocao dos equipamentos utilizados (carga e transporte), de acordo com a equao a seguir: f(s) = f p (s) +

f
jT

q j

(s ) + f l (s ) +

f
lV

u l

( s) +

kC

c k

(s)

4.26

em que: f p (s) : funo que avalia s quanto produo;

f jq (s ) : funo que avalia s quanto qualidade do j-simo parmetro de controle;


f l u (s ) : funo que avalia s quanto ao atendimento da taxa de utilizao mxima do lsimo caminho.

f l (s ) : funo que avalia s quanto ao nmero de caminhes utilizados.


f kc (s ) : funo que avalia s quanto produtividade da carregadeira k.

As duas ltimas parcelas da funo de avaliao so usadas apenas para guiar a busca no espao de solues e so desconsideradas na apresentao dos resultados de forma a permitir uma comparao com a funo objetivo do modelo de programao matemtica. A seguir, mostrada a avaliao de cada um dos componentes da funo f(s):

Produo de Minrio e Estril


A Produo de minrio e estril avaliada pela equao 4.27.

48

f p (s) = (|Pr - P| + |Pre - Pe|)

4.27

onde: P : Produo de minrio (t); Pr : Meta de Produo de Minrio (t); Pe : Produo de Estril (t); Pre : Meta de Produo de Estril (t);

: Penalidade por no atendimento meta de minrio; : Penalidade por no atendimento meta de estril.
A Produo P calculada segundo a equao 4.28, ou seja, obtida pela multiplicao do nmero de viagens dos caminhes s frentes, pela capacidade de carga de cada caminho.

P=

iM lV

n cap
il

4.28

onde: M : conjunto de frentes de minrio; V : conjunto de equipamentos de transporte; nil : nmero de viagens de um caminho l frente i; capl : capacidade do caminho l (t); Para o clculo de Pe, substitui-se o conjunto das frentes de minrio M pelo conjunto E das frentes de estril e aplica-se a frmula 4.28.

Qualidade da Mistura A qualidade da mistura avaliada segundo a equao 4.29.

49

f jq (s ) = q P j
onde :

| tr j tm j | 100

j T

4.29

tmj : Valor percentual encontrado para o parmetro j (%) na mistura; trj : Meta de qualidade para o parmetro j (%); P : Produo de minrio (t);

q : Penalidade por no atendimento meta de qualidade do parmetro de controle j; j


O valor tmj calculado atravs da mdia ponderada entre tij e a produo (em uma hora) de cada frente i de minrio, conforme mostrado na equao 4.30.

tmj=

iM

t x x
ij iM i

j T

4.30

onde o ritmo de lavra em cada frente i calculado com base na equao a seguir:

xi =

n cap
lV il

4.31

Taxa de utilizao dos caminhes A utilizao dos caminhes avaliada pela equao 4.32.
f l u ( s ) = | Txl TxMaxl | l V 4.32

onde:

: Penalidade por se ultrapassar a taxa mxima de utilizao dos caminhes;


TxMaxl : Taxa mxima permitida de utilizao do caminho l; Txl : Taxa de utilizao do caminho l, dada por:

50

Txl = nil tcil


iF

l V

4.33

sendo nil o nmero de viagens realizadas pelo caminho l frente i e tcil o tempo de ciclo do caminho l frente i. So utilizados dois valores para o peso na expresso (4.32): um valor alto ( A ) caso a quantidade transportada esteja acima da mxima permitida e outro valor, mais baixo ( B ), caso a quantidade transportada esteja abaixo da mxima permitida.

Nmero de caminhes utilizados A avaliao do nmero de caminhes utilizados feita com base na equao 4.34.

f l ( s ) = Txl
lV

4.34

onde:

: Penalidade pela utilizao de caminhes;

Txl : Funo que assume valor igual a 1 se o caminho l for utilizado;


Avaliao da produtividade das carregadeiras A produtividade das carregadeiras avaliada pela equao 4.35.

(Cu k prod k ) se Cl k prod k Cu k f kc ( s ) = (Cl k prod k ) se prod k < Cl k

k C

4.35

onde:

: Penalidade por no se atingir a produtividade mxima da carregadeira k; : Penalidade por utilizar uma carregadeira k com uma produtividade inferior mnima;

51

4.3.5

Movimentos e Estruturas de Vizinhanas Seja s uma soluo vizinha de uma dada soluo s, e seja movimento alguma

alterao que proporcione mudana na soluo corrente. A construo de s determinada aps se aplicar um ou mais movimentos. Foram desenvolvidos vrios tipos de movimentos, aplicveis tanto para as frentes de minrio quanto para as de estril: Retirar uma viagem de um caminho em uma frente qualquer (Retirar_Viagem); Retirar duas viagens de um caminho em uma frente qualquer

(Retirar_Duas_Viagens); Realocar uma viagem a uma frente diferente, mantendo o caminho (Realocar_Viagem_mc); Realocar uma viagem a um caminho diferente, mantendo a frente (Realocar_Viagem_mf); Realocar um equipamento de carga, uma nica vez (Realocar_Carregadeira); Ativar um equipamento de carga (Ativar_Carregadeira); Desativar um equipamento de carga (Desativar_Carregadeira); Inserir uma viagem de um caminho em uma frente (Inserir_Viagem); Retirar todas as viagens de um caminho em todas as frentes (Retirar_Viagens); Trocar carregadeira inativa por uma ativa (Trocar_carregadeira); Esses movimentos definem as estruturas de vizinhana e so detalhados a seguir.

4.3.5.1 Movimento Retirar_Viagem O movimento Retirar Viagem consiste em retirar uma viagem de um determinado caminho, ou seja, seleciona-se uma clula nil da matriz N e subtrai-se uma viagem do caminho l na frente i. A Figura 4.8 ilustra o movimento relatado acima.

52

Antes do Movimento
1 1 2 3 F 2 3 4 5 ... V

Depois do Movimento
1 2 3 4 5 ... V

2 0 -1 1

0 3 -1 0

1 5 -1 2

4 1 -1 5

1 0 -1 2

...

1 4 -1 0

2 0 -1 1

0 3 -1 0

1 4 -1 2

4 1 -1 5

1 0 -1 2

...

1 4 -1 0

Figura 4.8 Movimento Retirar_uma_viagem Nessa figura o caminho de nmero 3 realiza 5 viagens frente 2, inicialmente. Aps a implementao desse movimento, este caminho passa a realizar 4 viagens frente 2.

4.3.5.2 Movimento Retirar_Duas_Viagens Nesse movimento, o procedimento anlogo ao mostrado no item 4.3.5.1. Consiste em retirar duas viagens de um determinado caminho, ou seja, seleciona-se uma clula nil da matriz N e subtraem-se duas viagens do caminho l na frente i. A Figura 4.9 ilustra o movimento relatado acima. Antes do Movimento
1 1 2 3 F 2 3 4 5 ... V 1 2

Depois do Movimento
3 4 5 ... V

2 0 -1 1

0 3 -1 0

1 5 -1 2

4 1 -1 5

1 0 -1 2

1 4 -1 0

2 0 -1 1

0 3 -1 0

1 5 -1 2

2 1 -1 5

1 0 -1 2

1 4 -1 0

Figura 4.9 Movimento Retirar_duas_viagens

53

Nessa figura o caminho de nmero 4 realiza 4 viagens frente 1, inicialmente. Aps a implementao desse movimento, este caminho passa a realizar 2 viagens frente 1. 4.3.5.3 Movimento Realocar_Viagem_mc O movimento Realocar_Viagem_mc consiste em transferir uma viagem de uma frente i para uma outra frente i, mantendo o mesmo caminho l, isto , selecionase uma clula nil da matriz N, retira-se uma viagem, seleciona-se outra clula nil da matriz N e faz-se a transferncia da viagem. A Figura 4.10 ilustra este movimento. Antes do Movimento
1 1 2 3 F 2 3 4 5 ... V 1 2

Depois do Movimento
3 4 5 ... V

2 0 -1 1

0 3 -1 0

1 5 -1 2

4 1 -1 5

1 0 -1 2

1 4 -1 0

2 0 -1 1

0 3 -1 0

1 5 -1 2

4 1 -1 5

1 1 -1 1

1 4 -1 0

Figura 4.10 Movimento Realocar uma Viagem mantendo o caminho Na Figura 4.10 o caminho de nmero 5 realiza 2 viagens frente F e nenhuma viagem frente 2, inicialmente. Aps a implementao deste movimento, este caminho passa a realizar 1 viagem frente F e 1 viagem frente 2. 4.3.5.4 Movimento Realocar_Viagem_mf O movimento Realocar_Viagem_mf consiste em transferir uma viagem de um caminho l para um outro caminho l, mantendo a mesma frente i, isto , seleciona-se uma clula nil da matriz N, retira-se uma viagem, seleciona-se outra clula nil da matriz N e faz-se a transferncia da viagem.

54

A Figura 4.11 ilustra este movimento. Antes do Movimento


1 1 2 3 F 2 0 -1 1 2 0 3 -1 0 3 1 5 -1 2 4 4 1 -1 5 5 1 0 -1 2 ... ... V 1 4 -1 0 1 2 0 -1 1 2 0 2 -1 0

Depois do Movimento
3 1 5 -1 2 4 4 2 -1 5 5 1 0 -1 2 ... ... V 1 4 -1 0

Figura 4.11 Movimento Realocar uma Viagem mantendo a frente Nessa figura o caminho de nmero 2 realiza 3 viagens frente 2 e o caminho 4 realiza 1 viagem frente 2, inicialmente. Aps a implementao desse movimento, o caminho 2 passa a realizar 2 viagens e o caminho 4 realiza tambm 2 viagens frente 2. 4.3.5.5 Movimento Realocar_Carregadeira No movimento Realocar_Carregadeira, procede-se da seguinte forma: a carregadeira k e todas as viagens alocadas frente i so transferidas para uma outra frente i. Da mesma forma, a carregadeira k e todas as viagens alocadas frente i so transferidas para a frente i (se houver carregadeira alocada frente i). A Figura 4.12 ilustra este movimento. Antes do Movimento
Carreg 1 (3 , 1) 2 (6 , 1) 3 (-1,0) 1 2 0 -1 1 2 0 3 -1 0 3 1 5 -1 2 4 4 1 -1 5 5 1 0 -1 2 ... ... V 1 4 -1 0 Carreg (-1,0) (6 , 1) (3 , 1) (1 , 1) 1 -1 0 2 1

Depois do Movimento
2 -1 3 0 0 3 -1 5 1 2 4 -1 1 4 5 5 -1 0 1 2 ... ... V -1 4 1 0

F (1 , 1)

Figura 4.12 Movimento Realocar Carregadeira

55

A Figura 4.12 mostra o movimento Realocar_Carregadeira efetuado nas frentes 1 e 3. A carregadeira de nmero 3 alocada frente 1 transferida para a frente 3 bem como todas as viagens alocadas essa frente. Mesmo no havendo carregadeira alocada frente 3, inicialmente, todos os dados relativos a essa frente so transferidos frente 1. 4.3.5.6 Movimento Ativar_Carregadeira Esse movimento consiste em ativar uma carregadeira, isto , seleciona-se uma carregadeira, verifica-se se ela encontra-se desativada e, caso esteja, muda-se o seu estado para ativada. Se a carregadeira selecionada no estiver desativada, repete-se o procedimento um certo nmero de vezes at que se encontre uma desativada ou at que se ultrapasse esse nmero de vezes, no caso, dado pelo produto do nmero de frentes pelo nmero de caminhes. A Figura 4.13 mostra o movimento Ativar_Carregadeira efetuado na frente 2. A carregadeira de nmero 6 alocada na frente 2 que estava desativada passa a estar ativa. Isso significa que, a partir daquele momento, essa frente estar em atividade podendo, portanto, ter caminhes alocados a ela. Antes do Movimento
Carreg 1 (3 , 1) 2 (6 , 0) 3 (-1,0) 1 2 0 -1 1 2 0 0 -1 0 3 1 0 -1 2 4 4 0 -1 5 5 1 0 -1 2 ... ... V 1 0 -1 0 Carreg (3, 1) (6 , 1) (-1,0) (1 , 1) 1 2 0 -1 1

Depois do Movimento
2 0 0 -1 0 3 1 0 -1 2 4 4 0 -1 5 5 1 0 -1 2 ... ... V 1 0 -1 0

F (1 , 1)

Figura 4.13 Movimento Ativar Carregadeira 4.3.5.7 Movimento Desativar_Carregadeira O movimento Desativar_Carregadeira consiste em desativar uma carregadeira, isto , seleciona-se uma carregadeira, verifica-se se ela encontra-se ativada e, caso

56

esteja, muda-se o seu estado para desativada. Caso no esteja, repete-se o procedimento at encontrar uma carregadeira ativa. Encontrando, retiram-se todas as viagens alocadas aos caminhes que trabalham naquela frente. A Figura 4.14 ilustra este movimento. Antes do Movimento
Carreg 1 (3 , 1) 2 (6 , 1) 3 (-1,0) 1 2 3 -1 1 2 0 0 -1 0 3 1 1 -1 2 4 4 0 -1 5 5 1 1 -1 2 ... ... V 1 0 -1 0

Depois do Movimento
Carreg (3, 1) (6 , 0) (-1,0) (1 , 1) 1 2 0 -1 1 2 0 0 -1 0 3 1 0 -1 2 4 4 0 -1 5 5 1 0 -1 2 ... ... V 1 0 -1 0

F (1 , 1)

Figura 4.14 Movimento Desativar Carregadeira A Figura 4.14 mostra o movimento Desativar_Carregadeira efetuado na frente 2. A carregadeira de nmero 6 alocada na frente 2 que estava ativada passa a estar desativada. Observa-se que todas as viagens foram zeradas a partir do momento em que a carregadeira foi desativada.

4.3.5.8 Movimento Inserir_Viagem O movimento Inserir_Viagem consiste em inserir uma viagem para um determinado caminho, ou seja, seleciona-se uma clula nil da matriz N e adiciona-se uma viagem do caminho l na frente i. A Figura 4.15 ilustra este movimento.

57

Antes do Movimento
1 1 2 3 F 2 0 -1 1 2 0 3 -1 0 3 1 5 -1 2 4 4 1 -1 5 5 1 0 -1 2 ... ... V 1 4 -1 0

Depois do Movimento
1 2 0 -1 1 2 0 3 -1 0 3 1 5 -1 2 4 5 1 -1 5 5 1 0 -1 2 ... ... V 1 4 -1 0

Figura 4.15 Movimento Inserir uma viagem Nessa figura o caminho de nmero 4 realiza 4 viagens frente 1, inicialmente. Aps a implementao desse movimento, este caminho passa a realizar 5 viagens frente 1.

4.3.5.9 Movimento Retirar_Viagens O movimento Retirar_Viagens consiste em selecionar um caminho e retirar todas as viagens alocadas a esse caminho em todas as frentes. A Figura 4.16 mostra o movimento Retirar Viagens efetuado na frente 5. Observa-se que todas as viagens foram zeradas nessa frente.

Antes do Movimento
Carreg 1 (3 , 1) 2 (6 , 1) 3 (-1,0) 1 2 3 -1 1 2 0 0 -1 0 3 1 1 -1 2 4 4 0 -1 5 5 1 1 -1 2 ... ... V 1 0 -1 0

Depois do Movimento
Carreg (3, 1) (6 , 1) (-1,0) (1 , 1) 1 2 3 -1 1 2 0 0 -1 0 3 1 1 -1 2 4 4 0 -1 5 5 0 0 -1 0 ... ... V 1 0 -1 0

F (1 , 1)

Figura 4.16 Movimento Retirar Viagens

58

4.3.5.10 Movimento Trocar_carregadeira Esse movimento consiste em trocar de carregadeira em uma determinada frente. Inicialmente, procura-se uma carregadeira inativa. Esse procedimento repetido at que se encontre tal carregadeira ou se atinja um certo nmero de vezes, dado por pelo produto do nmero de frentes pelo nmero de caminhes. Caso exista uma carregadeira inativa, procura-se, agora, uma que esteja ativa e que possua capacidade de produo inferior inativa. Se encontrar, faz-se a troca das carregadeiras sem trocar as respectivas viagens. Caso no se encontre uma carregadeira inativa, o movimento no realizado. A Figura 4.17 ilustra este movimento. Antes do Movimento
Carreg 1 (3 , 1) 2 (4 , 0) 3 (-1,0) 1 2 0 -1 1 2 0 0 -1 0 3 1 0 -1 2 4 4 0 -1 5 5 1 0 -1 2 ... ... V 1 0 -1 0

Depois do Movimento
Carreg (4 , 1) (3 , 0) (-1,0) (1 , 1) 1 2 0 -1 1 2 0 0 -1 0 3 1 0 -1 2 4 4 0 -1 5 5 1 0 -1 2 ... ... V 1 0 -1 0

F (1 , 1)

Figura 4.17 Movimento Trocar Carregadeira A Figura 4.17 mostra o movimento Trocar Carregadeira efetuado nas frentes 1 e 2. A carregadeira de nmero 4, inativa, alocada frente 2 transferida para a frente 1 e a carregadeira 3, alocada frente 1 e de capacidade inferior carregadeira 4 transferida para a frente 2. Com isso, aps a troca, a carregadeira 4 passa a ter o status de ativa, ao contrrio da carregadeira 3 que torna-se inativa.

4.3.6

Mtodos de Busca Local Aplicados ao Planejamento de Lavra As tcnicas de busca local, tambm conhecidas como heursticas de refinamento

em problemas de otimizao, so baseadas na noo de vizinhana.

59

Essa classe de heurstica parte de uma soluo inicial qualquer e caminha, a cada iterao, de vizinho para vizinho de acordo com a definio de vizinhana adotada. Para explorar o espao de solues do Problema de Alocao Dinmica de Caminhes em questo, foram utilizados os mtodos de busca local mostrados a seguir.

4.3.6.1

Descida com retirada de uma viagem Este mtodo consiste em aplicar o mtodo da Descida utilizando o movimento

retirar uma viagem, descrito na seo 4.3.5.1. A Figura 4.18 ilustra o pseudocdigo desta busca local. Neste procedimento, para cada caminho com alguma viagem retirada uma viagem e analisada sua funo de avaliao. A retirada que produzir a melhor funo de avaliao realizada, desde que represente uma melhora global.

Procedimento Descida_tirar1_Viagem(N, Tcv, Tc, S, fo, Cap); Variveis i,l,fo:inteiro; Melhorou:lgico; Incio Melhorou verdadeiro; Repita fo fo; {guardar a soluo corrente} escolher_melhor_vizinho(fo,i,l); se fo < fo {se melhorou} fo fo; n[i,l] n[i,l] 1; {tirar uma viagem} tcv[l] tcv[l] tc[i,l]; {atualizar tempo caminho} s[i] s[i] cap[l]; {atualizar massa lavrada na frente} se minrio {atualizar massa lavrada geral de minrio ou estril} t t Cap[l] seno est est Cap[l]; seno melhorou falso; fim se at no melhorou; Fim{ Descida_tirar1_viagem } Figura 4.18 Descida_tirar_uma_viagem

60

4.3.6.2 Descida com retirada de duas viagens Este mtodo consiste na aplicao do mtodo da Descida utilizando o movimento retirar duas viagens, descrito na seo 4.3.5.2. A Figura 4.19 ilustra o pseudocdigo desta busca local. Neste procedimento, para cada caminho com duas ou mais viagens so retiradas duas viagens e analisada sua funo de avaliao. A retirada que produzir a melhor funo de avaliao realizada, desde que represente uma melhora global.

Procedimento Descida_tirar2_Viagens(N, Tcv, Tc, S, fo, Cap); Variveis i,l,fo:inteiro; Melhorou:lgico; Incio Melhorou verdadeiro; Repita fo fo; {guardar a soluo corrente} escolher_melhor_vizinho(fo,i,l); se fo < fo {se melhorou} fo fo; n[i,l] n[i,l] 2; {tirar uma viagem} tcv[l] tcv[l] 2*(tc[i,l]); {atualizar tempo caminho} s[i] s[i] 2*(cap[l]); {atualizar massa lavrada na frente} se minrio {atualizar massa lavrada geral de minrio ou estril} t t Cap[l] seno est est 2*Cap[l]; seno melhorou falso; fim se at no melhorou; Fim{ Descida_tirar2_viagens } Figura 4.19 Descida_tirar_duas_viagens

4.3.6.3 Descida com realocao de uma viagem mantendo o caminho Esse mtodo consiste em aplicar o mtodo da Descida utilizando o movimento realocar uma viagem_mc, descrito na seo 4.3.5.3. A Figura 4.20 ilustra o pseudocdigo desta busca local.

61

Procedimento Descida_Realocar_uma_Viagem_mc(N, Tcv, Tc, S, fo, Cap); Variveis i,l,i,fo:inteiro; Melhorou:lgico; Incio Melhorou verdadeiro; Repita fo fo; {guardar a soluo corrente} escolher_melhor_vizinho(fo,i,l,i); se fo < fo {se melhorou} fo fo; n[i,l] n[i,l] 1; {tirar uma viagem} tcv[l] tcv[l] tc[i,l]; {atualizar tempo caminho} s[i] s[i] Cap[l]; {atualizar massa lavrada na frente i} se minrio {atualizar massa lavrada geral de minrio ou estril} t t Cap[l] seno est est Cap[l]; n[i,l] n[i,l] + 1; {realocar uma viagem} tcv[l] tcv[l] + tc[i,l]; {atualizar tempo caminho} s[i] s[i] + Cap[l]; {atualizar massa lavrada na frente i} se minrio {atualizar massa lavrada geral de minrio ou estril} t t + Cap[l] seno est est + Cap[l]; seno melhorou falso; fim se at no melhorou; Fim{ Descida_Realocar_uma_Viagem_mc } Figura 4.20 Descida_realocao_de_viagem_mantendo_caminho Neste procedimento, para cada caminho com alguma viagem realocada uma viagem para outra frente e analisada sua funo de avaliao. Aquela que produzir a melhor funo de avaliao feita, desde que represente uma melhora global.

4.3.6.4 Descida com realocao de uma viagem mantendo a frente Este mtodo consiste na aplicao do mtodo da Descida utilizando o movimento realocar uma viagem_mf, descrito na seo 4.3.5.4. A Figura 4.21 ilustra o pseudocdigo desta busca local.

62

Procedimento Descida_Realocar_uma_Viagem_mf(N, Tcv, Tc, S, fo, Cap); Variveis i,l,l,fo:inteiro; Melhorou:lgico; Incio Melhorou verdadeiro; Repita fo fo; {guardar a soluo corrente} escolher_melhor_vizinho(fo,i,l,l); se fo < fo {se melhorou} fo fo; n[i,l] n[i,l] 1; {tirar uma viagem} tcv[l] tcv[l] tc[i,l]; {atualizar tempo caminho} s[i] s[i] cap[l]; {atualizar massa lavrada na frente i} se minrio {atualizar massa lavrada geral de minrio ou estril} t t cap[l] seno est est cap[l]; n[i,l] n[i,l] + 1; {realocar uma viagem} tcv[l] tcv[l] + tc[i,l]; {atualizar tempo caminho} s[i] s[i] + cap[l]; {atualizar massa lavrada na frente i} se minrio {atualizar massa lavrada geral de minrio ou estril} t t cap[l] seno est est cap[l]; seno melhorou falso; fim se at no melhorou; Fim{ Descida_Realocar_uma_Viagem_mf } Figura 4.21 Descida_realocao_de_viagem_mantendo_frente Neste procedimento, para cada frente, realocada uma viagem de um caminho para outro, caso exista alguma viagem e analisada sua funo de avaliao. Aquela que produzir a melhor funo de avaliao realizada, desde que represente uma melhora global.

4.3.6.5 Descida inserir uma viagem Este mtodo consiste em aplicar o mtodo da Descida utilizando o movimento inserir uma viagem, descrito na seo 4.3.5.8. A Figura 4.22 ilustra o pseudocdigo desta busca local.

63

Procedimento Descida_Inserir1_Viagem(N, Tcv, Tc, S, fo, Cap); Variveis i,l,fo:inteiro; Melhorou:lgico; Incio Melhorou verdadeiro; Repita fo fo; {guardar a soluo corrente} escolher_melhor_vizinho(fo,i,l); se fo < fo {se melhorou} fo fo; n[i,l] n[i,l] + 1; {inserir uma viagem} tcv[l] tcv[l] + tc[i,l]; {atualizar tempo caminho} s[i] s[i] + cap[l]; {atualizar massa lavrada na frente} se minrio {atualizar massa lavrada geral de minrio ou estril} t t + cap[l] seno est est + cap[l]; seno melhorou falso; fim se at no melhorou; Fim{ Descida_inserir1_viagem } Figura 4.22 Descida_inserir_uma_viagem Neste procedimento, para cada caminho inserida uma viagem e analisada sua funo de avaliao. Aquela que produzir a melhor funo de avaliao realizada, desde que represente uma melhora global.

4.3.6.6 Descida tirar viagens Este mtodo consiste na aplicao do mtodo da Descida utilizando uma adaptao do movimento retirar_viagens, descrito na seo 4.3.5.9. A Figura 4.23 ilustra o pseudocdigo desta busca local.

64

Procedimento Descida_Tirar_Viagens(N, Tcv, Tc, S, fo, Cap); Variveis i,l,fo:inteiro; Melhorou:lgico; Incio Melhorou verdadeiro; Repita fo fo; {guardar a soluo corrente} escolher_melhor_vizinho(fo,i,l); se fo < fo {se melhorou} fo fo; se n[i,l] > 0 tcv[l] tcv[l] (n[i,l]*tc[i,l]); {atualizar tempo caminho} s[i] s[i] (n[i,l]*cap[l]); {atualizar massa lavrada na frente} se minrio {atualizar massa lavrada geral de minrio ou estril} t t (n[i,l]*cap[l]) seno est est - (n[i,l]*cap[l]); n[i,l]:=0; {atualizar (zerar) viagens} seno melhorou falso; fim se at no melhorou; Fim{ Descida_tirar_viagens } Figura 4.23 Descida_tirar_viagens Neste procedimento, para cada caminho com uma ou mais viagens em uma determinada frente, so retiradas todas as viagens e analisada sua funo de avaliao. A retirada que produzir a melhor funo de avaliao realizada, desde que represente uma melhora global.

4.3.6.7 Descida desativar carregadeira Este mtodo consiste na aplicao do mtodo da Descida utilizando o movimento desativar_carregadeira, descrito na seo 4.3.5.7. A Figura 4.24 ilustra o pseudocdigo desta busca local.

65

Procedimento Descida_Desativar_Carregadeira(N, Tcv, Tc, S, fo, Cap); Variveis i,l,fo:inteiro; Melhorou:lgico; Incio Ncam no total de caminhes; Melhorou verdadeiro; Repita fo fo; {guardar a soluo corrente} escolher_melhor_vizinho(fo,i); se fo < fo {se melhorou} fo fo; para l de 1 at Ncam se n[i,l] > 0 tcv[l] tcv[l] (n[i,l]*tc[i,l]); {atualizar tempo caminho} s[i] s[i] (n[i,l]*cap[l]); {atualizar massa lavrada na frente} se minrio {atualizar massa lavrada geral de minrio ou estril} t t (n[i,l]*cap[l]) seno est est - (n[i,l]*cap[l]); n[i,l] 0; {atualizar (zerar) viagens} seno melhorou falso; fim se at no melhorou; Fim{ Descida_Desativar_Carregadeira } Figura 4.24 Descida_desativar_carregadeira Neste procedimento, para cada frente onde exista uma carregadeira ativa, so retiradas todas as viagens de todos os caminhes e analisada sua funo de avaliao. A retirada que produzir a melhor funo de avaliao realizada, desde que represente uma melhora global.

4.3.6.8 Descida realocar carregadeira Este mtodo consiste na aplicao do mtodo da Descida utilizando o movimento realocar_carregadeira, descrito na seo 4.3.5.5. A Figura 4.25 ilustra o pseudocdigo desta busca local.

66

Procedimento Descida_Realocar_Carregadeira(N, Tcv, Tc, S, fo, Y, Cap); Variveis i,l,fo,aux:inteiro; Melhorou:lgico; Incio Ncam no total de caminhes; Melhorou verdadeiro; Repita fo fo; {guardar a soluo corrente} escolher_melhor_vizinho(fo,i,k); se fo < fo {se melhorou} fo fo; // troca viagens para l de 1 at Ncam aux n[i,l]; n[i,l] n[k,l]; n[k,l] aux; // troca carregadeiras aux y[i].N_carr ; y[i].N_carr y[k].N_carr; y[k].N_carr aux; aux Y[i].N_ativo ; y[i].N_ativo y[k].N_ativo; y[k].N_ativo aux; Gera_nova_massa_lavrvel_por_frente; Gera_novo_tempo_por_caminho; Gera_total_de_massa_lavrvel; Gera_novas_percentagens; seno melhorou falso; fim se at no melhorou; Fim{ Descida_Realocar_Carregadeira } Figura 4.25 Descida_realocar_carregadeira Neste procedimento, para cada frente onde exista uma carregadeira ativa, feita a inverso dessa carregadeira com as seguintes trocando tambm as viagens de cada caminho e analisada sua funo de avaliao. A inverso que produzir a melhor funo de avaliao realizada, desde que represente uma melhora global.

4.3.7

Perturbaes Para tentar escapar de timos locais, ainda distante do timo global, o mtodo

Iterated Local Search, que ser descrito na seo 4.3.8, utiliza-se de mecanismos de

67

perturbaes. Foram desenvolvidas as seguintes perturbaes para o mtodo ILS aplicado ao planejamento de lavra:

4.3.7.1 Perturbao Retirar uma viagem Nessa perturbao, utilizado o movimento Retirar uma Viagem, descrito na seo 4.3.5.1. So gerados aleatoriamente dois valores (i,l). O primeiro se refere frente i e o segundo, ao caminho l. Se houver viagens alocadas para o caminho l, retirada uma viagem da clula nil da matriz N; caso contrrio, o procedimento repetido at que se encontre um caminho l com pelo menos uma viagem frente i. A Figura 4.26 mostra o pseudocdigo referente perturbao Retirar uma Viagem no qual as frentes e os caminhes so escolhidos de forma aleatria at que se encontre viagens alocadas.

Procedimento Perturbao_Retirar_uma_viagem(N); Variveis i,l:inteiro; Incio MaxFr no mximo de frentes; Ncam no total de caminhes; Repita i aleatrio(MaxFr); l aleatrio(Ncam); at n[i,l] > 0; n[i,l] n[i,l] -1; se minrio {atualizar massa lavrada geral de minrio ou estril} t t cap[l] seno est est cap[l]; Fim{ Perturbao_Retirar_uma_viagem } Figura 4.26 Perturbao_Retirar_uma_viagem 4.3.7.2 Perturbao Retirar duas viagens Esta perturbao utiliza-se do movimento Retirar duas Viagens descrito em 4.3.5.2, anlogo ao mostrado no item 4.3.7.1. So gerados dois valores (i,l), de forma aleatria, representando a frente i e o caminho l. Se houver viagens alocadas para esse

68

caminho, so retiradas duas viagens da clula nil da matriz N. Caso contrrio, so gerados outros valores (i,l) at que se encontre uma clula nil que possua pelo menos duas viagens alocadas. A Figura 4.27 mostra o pseudocdigo referente perturbao Retirar duas Viagens.

Procedimento Perturbao_Retirar_duas_viagens(N); Variveis i,l:inteiro; Incio MaxFr no mximo de frentes; Ncam no total de caminhes; Repita i aleatrio(MaxFr); l aleatrio(Ncam); at n[i,l] >= 2; n[i,l] n[i,l]-2; se minrio {atualizar massa lavrada geral de minrio ou estril} t t cap[l] seno est est 2*cap[l]; Fim {Perturbao_ Retirar_duas_viagens} Figura 4.27 Perturbao Retirar_duas_viagens

4.3.7.3 Perturbao Realocar_Viagem_mc Na perturbao Realocar uma Viagem mantendo caminho utiliza-se o movimento Realocar_Viagem_mc, descrito em 4.3.5.3. Geram-se inicialmente dois valores (i,l), aleatoriamente. O primeiro diz respeito frente i e o segundo, ao caminho l. Para o primeiro valor i, verifica-se se existe um equipamento de carga alocado frente i e, tambm, se este est ativo. Na inexistncia de um equipamento satisfazendo essas condies, o procedimento repetido at que a condio seja satisfeita. De posse do segundo valor l, verifica-se se existe viagem alocada clula nil da matriz N. Inexistindo um veculo com pelo menos uma viagem, procura-se aleatoriamente um novo veculo. Este procedimento repetido at que seja encontrado um veculo com pelo menos uma viagem, interrompendo-se a busca caso ela no seja bem sucedida aps um determinado nmero de iteraes. Nesta ltima situao, nova frente gerada

69

aleatoriamente. Este procedimento se encerra quando gerada uma frente i e um caminho l tal que nil > 0. Em seguida, gera-se um outro valor, aleatoriamente, correspondente a uma outra frente i, diferente da primeira i e que possua equipamento de transporte compatvel com o equipamento de carga. Caso contrrio, a frente i gerada novamente at que as condies acima sejam satisfeitas. De posse de i, l e i, ou seja, das frentes i e i e do caminho l, realoca-se uma viagem da clula nil para a clula nil, pertencentes matriz N, isto , o caminho l deixa de fazer uma viagem frente i para realiz-la na frente i. Esse movimento poder ser desfeito caso a quantidade total de massa lavrada da frente i (si) seja superior quantidade mxima de produo da carregadeira ou, ento, o tempo total utilizado pelo caminho l para realizar todas as viagens seja superior a uma hora. A Figura 4.28 mostra o pseudocdigo referente perturbao Realocar uma Viagem mantendo o caminho.

70

Procedimento Perturbao_Realocar_uma_Viagem_mc(N, S, Cu, Cap, Tcv, Y ); Variveis i,l,i,cont:inteiro; Achou:lgico; Incio MaxFr no mximo de frentes; Ncam no total de caminhes; Cont 0; Achou falso; Repita Repita i aleatrio(MaxFr); at encontrar carregadeira alocada e ativa; Repita l aleatrio(Ncam); cont cont + 1; se n[i,l] > 0 ento Achou verdadeiro; at Achou ou cont > MaxFr * Ncam; at Achou; Repita i' aleatrio(MaxFr); at (n[i,l] <> -1) e (i <> i); n[i,l] n[i,l] - 1; se minrio {atualizar massa lavrada geral de minrio ou estril} t t cap[l] seno est est cap[l]; n[i,l] n[i,l] + 1; se minrio {atualizar massa lavrada geral de minrio ou estril} t t + cap[l] seno est est + cap[l]; se (s[i] > cu[Y[i]]) ou (tcv[l] > 60) {desfaz movimento} n[i,l] n[i,l] + 1; se minrio {atualizar massa lavrada geral de minrio ou estril} t t + cap[l] seno est est + cap[l]; n[i,l] n[i,l] - 1; se minrio {atualizar massa lavrada geral de minrio ou estril} t t cap[l] seno est est cap[l]; Fim{ Perturbao_Realocar_uma_Viagem_mc } Figura 4.28 Perturbao Realocar uma Viagem mantendo o caminho

71

4.3.7.4 Perturbao Realocar_Viagem_mf A Figura 4.29 mostra o pseudocdigo referente perturbao Realocar uma Viagem mantendo a frente. Procedimento Perturbao_Realocar_uma_Viagem_mf(N, S, Cu, Cap, Tcv, Y); Variveis i,l,l,cont:inteiro; Achou:lgico; Incio MaxFr no mximo de frentes; Ncam no total de caminhes; Cont 0; Achou falso; Repita Repita i aleatrio(MaxFr); at encontrar carregadeira alocada e ativa; Repita l aleatrio(Ncam); cont cont + 1; se n[i,l] > 0 ento Achou verdadeiro; at (Achou) ou (cont > (MaxFr * Ncam)); at Achou; Repita l' aleatrio(Ncam); at (n[i,l] <> -1) e (l <> l); n[i,l] n[i,l] - 1; se minrio {atualizar massa lavrada geral de minrio ou estril} t t cap[l] seno est est cap[l]; n[i,l] n[i,l] + 1; se minrio {atualizar massa lavrada geral de minrio ou estril} t t + cap[l] seno est est + cap[l]; se (s[i] > cu[y[i].N_carr]) ou (Tcv[ll] > 60) {desfaz movimento} n[i,l] n[i,l] + 1; se minrio {atualizar massa lavrada geral de minrio ou estril} t t + cap[l] seno est est + cap[l]; n[i,l] n[i,l] - 1; se minrio {atualizar massa lavrada geral de minrio ou estril} t t cap[l] seno est est cap[l]; Fim{ Perturbao_Realocar_uma_Viagem_mf } Figura 4.29 Perturbao Realocar uma Viagem mantendo a frente

72

Esta perturbao utiliza o movimento Realocar_Viagem_mf descrito em 4.3.5.4. De posse de uma frente i com uma carregadeira alocada e ativa e de dois caminhes l e l, realocada uma viagem da clula nil para a clula nil, pertencentes matriz N, isto , uma viagem transferida do caminho l para o caminho l, mantendose a frente i.

4.3.7.5 Perturbao Retirar_Viagem_2x Na perturbao Retirar uma Viagem, duas vezes, todo o procedimento explicitado no item 4.3.7.1 executado duas vezes.

4.3.7.6 Perturbao Retirar_Duas_Viagens_2x Essa perturbao similar ao descrito no item 4.3.7.2, bastando repetir todo o procedimento duas vezes.

4.3.7.7 Perturbao Realocar_Viagem_mc_2x Para se construir esta perturbao, basta repetir todo o procedimento descrito no item 4.3.7.3, duas vezes.

4.3.7.8 Perturbao Realocar_Viagem_mf_2x Na perturbao Realocar uma Viagem mantendo a frente, duas vezes, necessrio repetir o procedimento descrito no item 4.3.7.4, duas vezes.

4.3.7.9 Perturbao Realocar_Carregadeira Na perturbao Realocar_Carregadeira utiliza-se o movimento descrito na seo 4.3.5.5. Gera-se um valor referente frente i, verificando-se se h carregadeira alocada e se a mesma encontra-se ativa. Caso isso no ocorra, gera-se novamente um

73

novo valor de i at que as condies prvias sejam satisfeitas. Em seguida, gera-se um segundo valor i referente outra frente, diferente do primeiro. De posse dos valores de i e i, ou seja, das frentes i e i, efetua-se a troca entre as carregadeiras, isto , a carregadeira que se encontra na frente i realocada frente i e, caso haja carregadeira alocada frente i, esta transferida frente i. Tambm efetuamse as trocas referentes aos nmeros de viagens de cada caminho alocados s duas frentes. A Figura 4.30 mostra o pseudocdigo referente perturbao

Realocar_Carregadeira.

Procedimento Perturbao_Realocar_Carregadeira(N, S, Cu, Tcv, Y); Variveis i,l,ii,aux:inteiro; Incio MaxFr no mximo de frentes; Ncam no total de caminhes; Repita i aleatrio(MaxFr); at encontrar carregadeira alocada e ativa; ii aleatrio(MaxFr); {troca viagens} Para l 1 at Ncam faa aux n[i,l]; n[i,l] n[ii,l]; n[ii,l] aux; Fim para; {troca carregadeiras} aux y[i].n_carr; y[i].n_carr y[ii].n_carr; y[ii].n_carr aux; Fim{ Perturbao_Realocar_Carregadeira } Figura 4.30 Perturbao Realocar Carregadeira 4.3.7.10 Perturbao Desativar_Carregadeira Na perturbao Realocar_Carregadeira utiliza-se o movimento descrito na seo 4.3.5.7. Gera-se um valor referente carregadeira k, verificando-se se a mesma encontra-se ativa. Caso isso no ocorra, gera-se novamente um novo valor de k at que

74

as condies acima sejam satisfeitas. Em seguida, localiza-se em qual frente i a carregadeira k est operando. De posse desses valores, a carregadeira k desativada e so zeradas todas as viagens de cada caminho j na frente i onde opera a carregadeira k. A Figura 4.31 mostra o pseudocdigo referente perturbao

Desativar_Carregadeira. Procedimento Perturbao_Desativar_Carregadeira(N, S, Cu, Cap, Tcv, Y); Variveis i,l,ii,k:inteiro; achou:lgico; Incio Ncarreg no total de carregadeiras; MaxFr no mximo de frentes; Ncam no total de caminhes; achou falso; Repita k aleatrio(Ncarreg); i 1; Enquanto i < = MaxFr faa se y[i].N_carr = k se y[i].N_ativo = 1 {encontrou carregadeira ativa } y[i].N_ativo = 0; {muda status para inativa} ii i; achou verdadeiro fim se i MaxFr; fim se i i + 1; Fim enquanto at achou = verdadeiro; i ii; {retirar viagens} Para l 1 at Ncam faa se n[i,l] > 0 se minrio t t (n[i,l] * cap[l]) seno est est - (n[i,l] * cap[l]); fim se n[i,l] 0; fim se Fim para Fim{ Perturbao_Desativar_Carregadeira } Figura 4.31 Perturbao Desativar Carregadeira

75

4.3.7.11 Perturbao Ativar_Carregadeira Na perturbao Ativar_Carregadeira utiliza-se o movimento descrito na seo 4.3.5.6. Gera-se um valor referente carregadeira k, verificando-se se a mesma encontra-se inativa. Caso isso no ocorra, gera-se novamente um novo valor de k at que se encontre uma carregadeira inativa ou, um certo nmero de vezes, caso no exista nenhuma carregadeira inativa. De posse desses valores, a carregadeira k ativada e os caminhes j podem ser deslocados para esta frente de trabalho. A Figura 4.32 mostra o pseudocdigo referente perturbao

Ativar_Carregadeira.

Procedimento Perturbao_Ativar_Carregadeira(N, S, Cu, Tcv, Y); Variveis i,l,k,nv,x:inteiro; achou:lgico; Incio Ncarreg no total de carregadeiras; MaxFr no mximo de frentes; Ncam no total de caminhes; nv MaxFr* Ncam; x 0; achou falso; Repita x x+1; k aleatrio(Ncarreg); i 1; Enquanto i < = MaxFr faa se y[i].N_carr = k se y[i].N_ativo = 0 {encontrou carregadeira inativa } y[i].N_ativo = 1; {muda status para ativa} achou verdadeiro; fim se i MaxFr; fim se i i + 1; Fim enquanto at (achou = verdadeiro) ou (x > nv); Fim{ Perturbao_Ativar_Carregadeira } Figura 4.32 Perturbao Ativar Carregadeira

76

4.3.7.12 Perturbao Trocar_Carregadeira Na perturbao Trocar_Carregadeira utiliza-se o movimento descrito na seo 4.3.5.10. Gera-se um valor referente carregadeira k, verificando-se se a mesma encontra-se inativa. Caso isso no ocorra, gera-se novamente um novo valor de k at que se encontre uma carregadeira inativa ou que se atinja um certo nmero de vezes, dado pelo produto do nmero de frentes pelo nmero de caminhes. Nesta ltima situao, a perturbao no realizada. Encontrada a carregadeira inativa, armazena-se a frente onde exista uma carregadeira ativa com capacidade inferior inativa. De posse dessa frente e havendo compatibilidade entre a carregadeira e os caminhes alocados ela, faz-se a troca entre as duas carregadeiras sem trocar as viagens dos caminhes. A Figura 4.33 mostra o pseudocdigo referente perturbao

Ativar_Carregadeira.

77

Procedimento Perturbao_Trocar_Carregadeira(N, S, Cu, Y, Compatib); Variveis i,i,i,l,k,nv,x,aux:inteiro; ok,achou:lgico; Incio Ncarreg no total de carregadeiras; MaxFr no mximo de frentes; Ncam no total de caminhes; nv MaxFr* Ncam; x 0; achou falso; Repita x x+1; k aleatrio(Ncarreg); i 1; Enquanto i < = MaxFr faa se y[i].N_carr = k se y[i].N_ativo = 0 {encontrou carregadeira inativa } i i; achou verdadeiro; fim se i MaxFr; fim se i i + 1; Fim enquanto at (achou = verdadeiro) ou (x > nv); se x > nv abandone; nv 1; Enquanto nv < = Ncarreg faa i aleatrio(MaxFr); se (y[i].N_carr <> -1) e (Cu[y[i].N_carr] < Cu[y[i].N_carr]) se y[i].N_Ativo = 1 i i; ok falso; verifica_compatibilidade(ok,i,i,Y,N,Compatib); se ok ento // troca as carregadeiras aux y[i].N_carr; y[i].N_carr Y[i].N_carr; y[i].N_carr aux; fim se; nv Ncarreg; fim se fim se nv nv+1; Fim enquanto; Fim{ Perturbao_Trocar_Carregadeira }

Figura 4.33 Perturbao Trocar Carregadeira

78

4.3.7.13 Perturbao Tirar_Viagens Nesta perturbao, utilizado o movimento Retirar_Viagens, descrito na seo 4.3.5.9. gerado aleatoriamente um valor l que se refere a um caminho l. So retiradas todas as viagens alocadas para o caminho l em todas as frentes. A Figura 4.34 mostra o pseudocdigo referente perturbao Tirar_Viagens.

Procedimento Perturbao_Tirar_Viagens(N); Variveis i,l:inteiro; Incio MaxFr no mximo de frentes; Ncam no total de caminhes; l aleatrio(Ncam); Para i 1 at MaxFr faa se (n[i,l]>0) e (y[i].N_ativo=1) ento se minrio ento t t (n[i,l] * cap[l]) seno est est (n[i,l] * cap[l]) fim se n[i,l] 0; fim se Fim para Fim{ Perturbao_Tirar_Viagens } Figura 4.34 Perturbao_tirar_viagens 4.3.7.14 Perturbao Inserir_viagem Nesta perturbao, utilizado o movimento Inserir_Viagem, descrito na seo 4.3.5.8. So gerados aleatoriamente dois valores (i,l). O primeiro se refere frente i e o segundo, ao caminho l. Se houver carregadeira ativa nesta frente i e esta for compatvel com o caminho l, inserida uma viagem da clula nil da matriz N; caso contrrio, o procedimento repetido at que se encontre uma frente onde haja uma carregadeira trabalhando, ou se atinja um nmero de vezes, dado pelo produto do nmero de frentes pelo nmero de caminhes. Neste ltimo caso, a perturbao no realizada. A Figura 4.35 mostra o pseudocdigo referente perturbao Inserir uma Viagem.

79

Procedimento Perturbao_Inserir_uma_viagem(N,Y); Variveis i,l:inteiro; Incio MaxFr no mximo de frentes; Ncam no total de caminhes; vz MaxFr * Ncam; x 0; Repita x x+1; i aleatrio(MaxFr); l aleatrio(Ncam); at ((n[i,l] >= 0) e (y[i].N_Ativo=1)) ou (x = vz); se x=vz // incompatibilidade entre caminho e carregadeira Abandone; fim se; n[i,l] n[i,l] +1; se minrio {atualizar massa lavrada geral de minrio ou estril} t t + cap[l] seno est est + cap[l]; fim se Fim{ Perturbao_Inserir_uma_viagem } Figura 4.35 Perturbao_Retirar_uma_viagem

80

4.3.8

Iterated Local Search (ILS) A Figura 4.36 ilustra o pseudocdigo referente ao mtodo Iterated Local Search

adaptado ao Problema de Alocao Dinmica de Caminhes.

Procedimento ILS(fo,N,S,Qu,Cu,Cap,Tc,Tcv,Y,itermax, tempolimite); Variveis iter,nvel, iternivelsemmelhora:inteiro; fo':real; {funo objetivo} s:arranjo inteiro; Incio Iter 0; nvel 1; MaxFr no mximo de frentes; Ncam no total de caminhes; Enquanto (iter < itermax e tempo de processamento < tempolimite) faa Iternivelsemmelhora 0; Repita s' s; fo fo; perturbacao(s,nvel,Qu,N,Y,Cap,Cu); buscalocal_descidas(fo,s,Qu,N,Y,Cap,Cu); se fo < fo ento fo fo; nvel 1; iternivelsemmelhora 0; iter 0; s s; seno iternivelsemmelhora iternivelsemmelhora + 1; fim-se; at (iternivelsemmelhora > (10/100 * MaxFr* Ncam) ) ; nvel nvel + 1; iter iter +1; fim-enquanto; Fim{ ILS} Figura 4.36 Iterated Local Search Na adaptao proposta para o ILS, o mtodo parte de uma soluo inicial gerada conforme seo 4.3.3 e pra quando um tempo limite de processamento alcanado ou quando o nmero de iteraes atingir um valor limiar (Itermax). Para cada iterao, fazse uma perturbao na soluo corrente e, logo aps, uma busca local. Em seguida, verifica-se se houve melhora no valor da funo de avaliao (critrio de aceitao). Em havendo, guarda-se esta soluo como a melhor at o presente momento e volta-se ao

81

menor nvel de perturbao. No havendo, a soluo no armazenada e, neste caso, aplica-se a perturbao no nvel corrente soluo atual at que no haja melhora no valor da funo de avaliao (no caso, 10% do resultado de no de frentes no de caminhes). Decorrido esse nmero de iteraes sem melhora, o nvel de perturbao incrementado. A Figura 4.37 ilustra o pseudocdigo referente aos nveis de perturbao aplicados ao mtodo ILS descrito anteriormente. Procedimento Perturbao(S,nvel,Qu,N,Y,Cu,Cap); Incio Caso nvel seja 1: perturbao_cr(s,Qu,N,Y, Cu,Cap); 2: perturbao_n1(s,Qu,N,Y, Cu,Cap); 3: perturbao_n2(s,Qu,N,Y, Cu,Cap); 4: perturbao_nv(s,Qu,N,Y, Cu,Cap); 5: perturbao_n3(s,Qu,N,Y, Cu,Cap); 6: perturbao_acr(s,Qu,N,Y, Cu,Cap); 7: perturbao_ad(s,Qu,N,Y, Cu,Cap); 8: perturbao_ad(s,Qu,N,Y, Cu,Cap); 9: perturbao_ad(s,Qu,N,Y, Cu,Cap); 10:perturbao_ad(s,Qu,N,Y, Cu,Cap); seno perturbao_n2(s,Qu,N,Y, Cu,Cap); perturbao_n3(s,Qu,N,Y, Cu,Cap); fim-caso; Fim{ Perturbao } Figura 4.37 Nveis de perturbao do ILS O procedimento Perturbao desenvolvido no mtodo ILS e descrito anteriormente consiste na aplicao de vrios nveis de perturbao, as quais so dispostas de forma que as de menores ndices so as mais fracas no sentido de complexidade computacional. Aps a aplicao da perturbao de nvel 10 so aplicadas consecutivamente as perturbaes perturbao_n2 e perturbao_n3, as quais estabelecem um mecanismo de diversificao para o algoritmo. As figuras 4.38 a 4.44 ilustram os pseudocdigos referentes cada nvel de perturbao.

82

A Figura 4.38 mostra o pseudocdigo referente ao nvel 1 de perturbao.

Procedimento Perturbao_cr(S,Qu,N,Y,Cu,Cap); Incio {Perturbao: desativar uma carregadeira} movimento_desativar1_carregadeira(s,Qu,N,Y, Cu,Cap); Fim{ Perturbao_cr } Figura 4.38 Perturbao desativar uma carregadeira A perturbao de nvel 1 consiste em aplicar o movimento desativar uma carregadeira. A perturbao gerada resultante da aplicao deste movimento. A Figura 4.39 mostra o pseudocdigo referente ao nvel 2 de perturbao. Procedimento Perturbao_n1(S,Qu,N,Y, Cu,Cap); Var x:inteiro; Incio {Perturbaes: 1- tirar uma viagem; 2- tirar duas viagens; 3- realocar uma viagem mantendo a frente; 4- realocar uma viagem mantendo o caminho; } x aleatrio(4); Caso x seja 1: movimento_tirar1_viagem(s,Qu,N,Y, Cu,Cap); 2: movimento_tirar2_viagens(s,Qu,N,Y, Cu,Cap); 3: movimento_realocar1_viagem_mf(s,Qu,N,Y, Cu,Cap); 4: movimento_realocar1_viagem_mc(s,Qu,N,Y, Cu,Cap); fim-caso; Fim{ Perturbao_n1 } Figura 4.39 Perturbao_n1 A perturbao de nvel 2 consiste em aplicar um dos 4 movimentos a seguir: (a) tirar uma viagem; (b) tirar duas viagens; (c) realocar uma viagem mantendo a frente e (d) realocar uma viagem mantendo o caminho. Em seguida, gerado um nmero (entre 1 e 4) aleatoriamente referente a um dos movimentos citados acima. A perturbao gerada resultante da aplicao do movimento escolhido.

83

A Figura 4.40 mostra o pseudocdigo referente ao nvel 3 de perturbao.

Procedimento Perturbao_n2(S,Qu,N,Y, Cu,Cap); Var x:inteiro; Incio {Perturbaes: 1- tirar uma viagem, duas vezes; 2- tirar duas viagens, duas vezes; 3- realocar uma viagem mantendo a frente, duas vezes; 4- realocar uma viagem mantendo o caminho, duas vezes; } x aleatrio(4); Caso x seja 1: movimento_tirar1_viagem_2x(s,Qu,N,Y, Cu,Cap); 2: movimento_tirar2_viagens_2x (s,Qu,N,Y, Cu,Cap); 3: movimento_realocar1_viagem_mf_2x (s,Qu,N,Y, Cu,Cap); 4: movimento_realocar1_viagem_mc_2x (s,Qu,N,Y, Cu,Cap); fim-caso; Fim{ Perturbao_n2 } Figura 4.40 Perturbao_n2 A perturbao de nvel 3 consiste em se aplicar um dos 4 movimentos a seguir: (a) tirar uma viagem (duas vezes); (b) tirar duas viagens (duas vezes); (c) realocar uma viagem mantendo a frente (duas vezes) e (d) realocar uma viagem mantendo o caminho (duas vezes). Em seguida, gerado aleatoriamente um nmero entre 1 e 4 referente a um dos movimentos citados acima. A perturbao gerada resultante da aplicao do movimento escolhido. A Figura 4.41 mostra o pseudocdigo referente ao nvel 4 de perturbao.

Procedimento Perturbao_nv(S,Qu,N,Y, Cu,Cap); Incio {Perturbao: tirar viagens} movimento_tirar_viagens(s,Qu,N,Y, Cu,Cap); Fim{ Perturbao_nv } Figura 4.41 Perturbao tirar todas as viagens A perturbao de nvel 4 consiste em aplicar o movimento tirar todas as viagens. A perturbao gerada resultante da aplicao deste movimento.

84

A Figura 4.42 mostra o pseudocdigo referente ao nvel 5 de perturbao.

Procedimento Perturbao_n3(S,Qu,N,Y, Cu,Cap); Var k,k,l,aux:inteiro; Incio {movimento utilizado: realocar uma carregadeira, mudando a frente} repita k aleatrio(maxFr); at y[k] <> -1; {existir carregadeira alocada e ativa} repita k aleatrio(maxFr); at k <> k; {troca viagens} para l 1 at Ncam faa aux n[k,l]; n[k,l] n[k,l]; n[k,l] aux; fim para {troca carregadeiras} aux y[k]; y[k] y[k]; y[k] aux; Gera_nova_massa_lavrvel; Gera_novo_tempo_por_caminho; Gera_total_massa_lavrvel; Calcula_novas_percentagens; Fim{ Perturbao_n3 } Figura 4.42 Perturbao_n3 A perturbao de nvel 5 consiste em se aplicar o movimento realocar uma carregadeira, mudando a frente. Nessa perturbao, geram-se inicialmente duas frentes k e k, sendo k diferente de k. necessrio que exista carregadeira alocada e ativa pelo menos na frente k. Em seguida, faz-se a realocao das viagens e das carregadeiras.

85

A Figura 4.43 mostra o pseudocdigo referente ao nvel 6 de perturbao.

Procedimento Perturbao_acr(S,Qu,N,Y, Cu,Cap); Incio {Perturbao: ativar uma carregadeira} movimento_ativar1_carregadeira(s,Qu,N,Y, Cu,Cap); Fim{ Perturbao_acr } Figura 4.43 Perturbao ativar uma carregadeira A perturbao de nvel 6 consiste em aplicar o movimento ativar uma carregadeira. A perturbao gerada resultante da aplicao deste movimento. A Figura 4.44 mostra o pseudocdigo referente aos nvel 7, 8, 9 e 10 de perturbao.

Procedimento Perturbao_ad(S,Qu,N,Y, Cu,Cap); Incio {Perturbao: trocar uma carregadeira ativa por uma inativa invertendo as funes} movimento_trocar_carregadeira(s,Qu,N,Y, Cu,Cap); Fim{ Perturbao_ad } Figura 4.44 Perturbao trocar carregadeira ativa/inativa As perturbaes de nvel 7, 8, 9 e 10 consistem em aplicar o movimento trocar uma carregadeira ativa por uma inativa de capacidade de produo maior. A perturbao gerada resultante da aplicao deste movimento. A Figura 4.45 ilustra o pseudocdigo referente ao mtodo de busca local (VND) usado para refinar uma soluo do mtodo ILS.

86

Procedimento VND(fo,S,Qu,N,Y, Cu,Cap); Var k, nv:inteiro; fo:real; Incio k 1; nv 8; {quantidade de descidas} fo fo; enquanto k < = nv faa caso k seja 1:Descida_tirar1_viagem(fo,S,Qu,N,Y, Cu,Cap); 2:Descida_tirar_viagens(fo,S,Qu,N,Y, Cu,Cap); 3:Descida_inserir1_viagem(fo,S,Qu,N,Y, Cu,Cap); 4:Descida_realocar1_viagem_mf(fo,S,Qu,N,Y, Cu,Cap); 5:Descida_realocar1_viagem_mc(fo,S,Qu,N,Y, Cu,Cap); 6:Descida_realocar1_carregadeira(fo,S,Qu,N,Y, Cu,Cap); 7:Descida_desativar1_carregadeira(fo,S,Qu,N,Y, Cu,Cap); 8:Descida_tirar2_viagens(fo,S,Qu,N,Y, Cu,Cap); fim caso; // VND se fo < fo ento k 1; fo fo; seno k k + 1; fim se; fim enquanto; Fim{ VND } Figura 4.45 Algoritmo VND Nesse procedimento so executados oito tipos diferentes de busca local, todos j descritos no item 4.3.6: (a) descida_tirar1_viagem; (b) descida_tirar_viagens; (c) descida_inserir1_viagem; (d) descida_realocar1_viagem_mf; (e) descida_ realocar1_viagem_mc; (f) descida_realocar1_carregadeira; (g) descida_desativar1_carregadeira; (h) descida_tirar2_viagens.

87

4.4 Implementao Computacional


O algoritmo proposto foi implementado em Delphi, verso 7.0, interfaceando com planilhas do Excel. Mostram-se, a seguir, as principais telas do sistema desenvolvido. 4.4.1 Tela de abertura

Figura 4.46 Tela de abertura do sistema

88

A Figura 4.46 mostra a tela de abertura do sistema. No exemplo considerado, h 15 frentes de lavra, sendo 11 de minrio e 4 de estril. Esses dados so digitados diretamente numa planilha no software Excel que interage com o Delphi. Nesta Figura so mostrados os teores de cada parmetro nas diversas frentes de lavra. Por ela, observa-se, por exemplo, que na frente 2 o teor de ferro (Fe) de 39,92% e na frente 9 de 56,09%.

4.4.2

Tela principal do sistema A Figura 4.47 mostra a tela com os parmetros do mtodo e alguns resultados,

como o clculo da produo de minrio e tambm de estril, o clculo das percentagens de cada parmetro de controle e as diferenas, em toneladas, em relao meta.

Figura 4.47 Tela principal

89

Em relao aos parmetros do mtodo, destacam-se as metas de minrio e de estril que, no exemplo considerado, so de 4000 t e 1200 t, respectivamente, e as metas de qualidade (Fe=47%, Al2O3=0,32%, P=0,040%, PPC=2,35%, He=40%). So apresentadas tambm, nesta tela, as quantidades iniciais de minrio ou estril existente em cada frente, bem como o tipo de frente (1=minrio; 0=estril) e os pesos adotados para se calcular as penalidades no caso do no atendimento s metas de qualidade.

4.4.3

Tela de relatrio das solues inicial e final A Figura 4.48 mostra a tela com a alocao das carregadeiras nas diversas

frentes, bem como a tonelagem mxima a ser retirada de cada uma delas tanto para a soluo inicial e final da heurstica.

Figura 4.48 Tela das solues inicial e final

90

mostrado na Figura 4.48 que, na frente 11, deveriam ser retiradas 900 t de minrio pela carregadeira 1, inicialmente. J na soluo final, o mtodo prope que sejam retiradas 800 t de minrio pela carregadeira 1. A melhoria da soluo pode ser constatada pelo valor da funo objetivo (fo), que na soluo inicial era de 49.542,85 e na soluo final de 30.638,5, nesse exemplo.

4.4.4

Tela de relatrio do nmero de viagens de cada caminho A Figura 4.49 mostra a tela com o nmero de viagens de cada caminho, por

frente, o nmero total de viagens de cada caminho, o total de viagens considerando todos os caminhes, o tempo acumulado de viagem para cada caminho e a taxa de utilizao de cada caminho. A Figura 4.49 mostra o caminho 29 fazendo 3 viagens frente 3, totalizando 35,10 minutos de percurso com 58,50% de taxa de utilizao.

Figura 4.49 Tela do nmero de viagens de cada caminho

91

4.4.5

Tela do Tempo de Ciclo dos Caminhes A Figura 4.50 mostra a tela com o tempo de ciclo dos caminhes em cada frente.

Figura 4.50 Tela do tempo de ciclo dos caminhes

A Figura 4.50 mostra que na frente 7, o tempo de ciclo do caminho 11 8,7 minutos. Os dados dessa tabela so lidos diretamente de uma planilha em Excel.

4.4.6

Tela de Compatibilidade entre Caminhes e Carregadeiras A Figura 4.51 mostra a tela com a compatibilidade entre caminhes e

carregadeiras.

92

Figura 4.51 Tela de compatibilidade entre caminhes e carregadeiras

Na Figura 4.51, o nmero 1 significa que a carregadeira e o caminho so compatveis e 0, caso contrrio. Assim, mostra-se nesta Figura que a carregadeira 4 compatvel com o caminho 1. 4.4.7 Tela com a Capacidade Mxima de cada Caminho. A Figura 4.52 mostra a tela com a capacidade mxima de cada caminho.

Figura 4.52 Tela com a capacidade mxima de cada caminho

A Figura 4.52 mostra que o caminho 7 tem capacidade de 50 toneladas. Esses dados so disponibilizados por uma planilha em Excel.

93

4.4.8

Tela com a Capacidade Mnima de cada Carregadeira. A Figura 4.53 mostra a tela com a capacidade mnima de cada carregadeira.

Figura 4.53 Tela com a capacidade mnima de cada carregadeira A Figura 4.53 mostra que a carregadeira 1 para ser colocada em operao deve atingir um mnimo de 250 toneladas por hora.

4.4.9

Tela com a Capacidade Mxima de cada Carregadeira. A Figura 4.54 mostra a tela com a capacidade mxima de cada carregadeira.

94

Figura 4.54 Tela com a capacidade mxima de cada carregadeira A Figura 4.54 mostra que a carregadeira 7 trabalhar com um mximo de 1100 toneladas por hora.

95

5. Resultados Computacionais
5.1 Introduo
O algoritmo heurstico proposto foi desenvolvido na linguagem visual Delphi, verso 7 e o modelo de programao matemtica, adaptado de Costa et al. (2004), foi implementado no modelador e otimizador LINGO, verso 10.0. Ambos foram testados em um PC com processador AMD Turion64 Mobile, Technology MK-36, 2,01 GHz, com 1 GB de RAM. Foram considerados 8 problemas-teste, todos envolvendo 5 parmetros de controle (Fe, Al2O3, P, PPC, He), 15 frentes de lavra, sendo 11 de minrio e 4 de estril, com 30 caminhes e 8 carregadeiras disponveis. Cada problema-teste representa um cenrio diferente de uma minerao de ferro da regio de Ouro Preto e Mariana, em Minas Gerais, conforme Tabela 5.1 a seguir. Tabela 5.1 Problemas-teste
Problema-teste 1 2 3 4 5 F15_M11_E4_V30_C8.1 Base F15_M11_E4_V30_C8.2 Base, impondo taxa de utilizao de caminhes de at 85% F15_M11_E4_V30_C8.3 Base, sem limite mnimo para carregadeiras F15_M11_E4_V30_C8.4 Cenrio 3 com taxa de utilizao de caminhes de at 85% F15_M11_E4_V30_C8.5 Base, com compatibilidade total entre caminhes e carregadeiras Cenrio

6 7

F15_M11_E4_V30_C8.6 Cenrio 5, com taxa de utilizao de caminhes de at 85% F15_M11_E4_V30_C8.7 Base, com compatibilidade total entre caminhes e carregadeiras e sem limite mnimo para carregadeiras

F15_M11_E4_V30_C8.8 Cenrio 7, com taxa de utilizao de at 85%

96

Na Tabela 5.1, cada problema-teste da forma FX_MY_EZ_VT_CK.W, onde X representa o nmero de frentes de lavra, Y o de frentes de minrio, Z o de frentes de estril, T o nmero de caminhes, K o nmero de carregadeiras e W o cenrio. Como referncia para os demais, o cenrio 1 (base) leva em considerao a compatibilidade entre caminhes e carregadeiras, o limite mnimo para as carregadeiras e a no observncia da taxa de utilizao de caminhes. Na Tabela 5.2 so apresentadas as metas de produo e qualidade, bem como o nmero de equipamentos disponveis e as prioridades de cada parmetro de controle de qualidade. Nesta tabela, %Fe, %Al2O3, %P, %PPC e %He representam,

respectivamente, os percentuais de ferro, alumina, fsforo, perda por calcinao e hematita especulada, os quais representam os parmetros de controle. Minrio (t) e Estril (t) representam, respectivamente, as metas de produo de minrio e estril, em toneladas. Cam representa o nmero de caminhes e Carreg, o nmero de carregadeiras. Cada parmetro de controle classificado em cinco nveis de importncia: IR (irrelevante), I (importante), MI (muito importante), C (crtico) e MC (muito crtico).

Tabela 5.2 Metas de produo e qualidade, nmero de equipamentos disponveis e prioridades Item Meta / 47,000 # Equip. Prioridade MI I MC C I 0,320 0,040 2,350 40,000 4000 1200 30 8 % Fe % Al2O3 %P % PPC % He Minrio (t) Estril (t) Cam. Carreg.

Na Tabela 5.3 so apresentados os parmetros usados nas execues do algoritmo desenvolvido, os quais foram calibrados em uma bateria inicial de testes. Os pesos adotados consideram que o fsforo (P) o parmetro de controle mais crtico.

97

Tabela 5.3 Parmetros utilizados Parmetro


A

Significado
Penalidade por ultrapassar a taxa mxima de utilizao de um caminho Penalidade por no atingir a taxa mxima de utilizao de um caminho Penalidade pela utilizao de um caminho Penalidade pela produtividade da carregadeira ficar abaixo da mnima exigida Penalidade pela produtividade da carregadeira ter ficado acima da mxima imposta

Valor
1.000.000

100 1 10

1
q Fe =5 q Al O =100
2 3

q j

Penalidade por no atendimento meta de qualidade do jsimo parmetro de controle

q P =100.000 q PPC =1.000 q He =1

Penalidade por no atendimento meta de produo de minrio e estril, respectivamente Nmero de aplicaes do mtodo de construo da soluo inicial Nmero mximo de iteraes sem melhora do ILS Nmero mximo de nveis de perturbao do ILS

2.000.000

IterConstr IterMax NivelMax

100 50 10 10% do nmero

NumMaxVezes

Nmero mximo de vizinhos avaliados em um dado nvel de perturbao

de frentes nmero de caminhes

98

5.2 Resultados obtidos


Os dados de cada cenrio foram submetidos a dez execues do algoritmo proposto. Para as tabelas apresentadas a seguir, foram adotadas as seguintes notaes: Fe (ferro), Al2O3 (alumina), P (fsforo), PPC (perda por calcinao), He (Hematita especulada), minrio (quantidade em toneladas de minrio), estril (quantidade em toneladas de estril), fo (funo de avaliao, calculada conforme equao 4.26, seo 4.3.4), carregadeiras (nmero total de carregadeiras), caminhes (nmero total de caminhes), viagens (nmero total de viagens), tempo (tempo de execuo em segundos), TxUtil (taxa de utilizao mdia de caminhes, sendo a taxa de utilizao de cada caminho calculada conforme equao 4.33). As caractersticas da melhor soluo obtida para cada cenrio so apresentadas na Tabela 5.4. Tabela 5.4 Caractersticas dos melhores resultados obtidos
Cenrios 1 2 47,9825 0,3175 0,0419 2,9137 37,95 4000 1200
30.583,83

3 47,9825 0,3175 0,0419 2,9137 37,95 4000 1200


30.626,50

4 47,9825 0,3175 0,0419 2,9137 37,95 4000 1200


30.577,83

5 47,9889 0,3172 0,0419 2,9154 37,97 4000 1200


30.710,98

6 47,9825 0,3175 0,0419 2,9137 37,95 4000 1200


30.615,16

7 47,9825 0,3175 0,0419 2,9137 37,95 4000 1200


30.632,10

8 47,9825 0,3175 0,0419 2,9137 37,95 4000 1200


30.594,76

% Fe % Al2O3 %P % PPC % He minrio(t) estril (t) Fo


carregadeiras

47,9825 0,3175 0,0419 2,9137 37,95 4000 1200


30.630,50

6 27 89 62 54,19

6 20 92 161 76,98

6 26 92 67 58,78

6 21 89 216 73,13

7 28 86 143 52,73

6 21 89 171 71,81

6 24 89 121 59,56

6 21 89 177 72,18

caminhes viagens Tempo(s) % TxUtil

A Tabela 5.5 mostra, em cada clula, o desvio percentual encontrado para cada parmetro de controle referente melhor soluo obtida, tendo em vista as metas estabelecidas. O desvio calculado com base na expresso:

99

DesvioMeta =

Encontrado Meta Meta

em que Encontrado representa o valor encontrado para o parmetro de controle e Meta representa a meta estabelecida para o respectivo parmetro de controle.

Tabela 5.5 Desvios percentuais dos parmetros de controle da melhor soluo em relao s metas estabelecidas Cenrios 4
2,09 -0,78 4,75 23,99 -5,12 0,00 0,00

1 % Fe % Al2O3 %P % PPC % He minrio(t) estril (t)


2,09 -0,78 4,75 23,99 -5,12 0,00 0,00

2
2,09 -0,78 4,75 23,99 -5,12 0,00 0,00

3
2,09 -0,78 4,75 23,99 -5,12 0,00 0,00

5
2,10 -0,88 4,75 24,06 -5,08 0,00 0,00

6
2,09 -0,78 4,75 23,99 -5,12 0,00 0,00

7
2,09 -0,78 4,75 23,99 -5,12 0,00 0,00

8
2,09 -0,78 4,75 23,99 -5,12 0,00 0,00

Na Tabela 5.6 so apresentados os valores mdios obtidos nas dez execues do algoritmo para cada cenrio. Tabela 5.6 Valores mdios obtidos Cenrios 4
48,0044 0,3179 0,0420 2,9132 38,2775 4000 1200
30.862,02

1 % Fe % Al2O3 %P % PPC % He minrio(t) estril (t) Fo


carregadeiras 48,0294 0,3164 0,0419 2,9241 37,8053 4000 1200
31.207,84

2
48,0418 0,3165 0,0420 2,9227 38,0143 4000 1200
31.234,70

3
47,9974 0,3169 0,0419 2,9205 37,7995 4000 1200
31.057,22

5
48,0026 0,3165 0,0419 2,9248 37,9240 4000 1200
31.074,52

6
47,9942 0,3163 0,0419 2,9226 37,7885 4000 1200
30.850,68

7
47,9891 0,3169 0,0419 2,9179 37,8855 4000 1200
30.752,01

8
48,0008 0,3168 0,0419 2,9212 37,9420 4000 1200
30.929,69

6,4 26,6 89,6 78,9 55,951

6,3 20,9 90,2 148,3 72,909

6,3 25 91,1 70,3 60,361

6 20,6 90,5 151,2 74,381

6,5 26,8 87,2 109,9 54,342

6,5 21,5 89 185,9 69,911

6,4 26,5 88,4 110,2 55,249

6,2 21,1 88,4 211,7 71,126

caminhes Viagens tempo(s) % TxUtil

100

A Tabela 5.7 mostra, em cada clula, o desvio percentual encontrado para cada elemento de avaliao da Tabela 5.6. O desvio calculado com base na expresso:
Desvio = Mdia Melhor Melhor

em que Mdia representa o valor mdio encontrado nas dez execues do mtodo e Melhor representa o melhor valor encontrado nessas execues. Tabela 5.7 Desvios percentuais encontrados para algumas caractersticas das solues. Cenrios 4 5
0,93 0,00 -1,90 1,69 1,71 1,18 -7,14 -4,29 1,40 3,06

1 fo
carregadeiras 1,88 6,67 -1,48 0,67 3,25

2
2,13 5,00 4,50 -1,96 -5,29

3
1,41 5,00 -3,85 -0,98 2,69

6
0,77 8,33 2,38 0,00 -2,64

7
0,39 6,67 10,42 -0,67 -7,24

8
1,09 3,33 0,48 -0,67 -1,46

caminhes viagens % TxUtil

Na Tabela 5.7, um valor negativo para um elemento de avaliao indica que na melhor soluo, esse elemento de avaliao pior que o valor da soluo mdia. Por exemplo, para o cenrio 1, a mdia de caminhes utilizados foi de 26,6 e o nmero de caminhes utilizados considerando a melhor soluo obtida, foi de 27, o que proporcionou um desvio de 1,48%. Neste mesmo cenrio, no entanto, necessitou-se de 6 carregadeiras na melhor soluo, enquanto que na soluo mdia foram necessrias 6,4 carregadeiras, mostrando que com relao a este item de avaliao, a melhor soluo cerca de 6,67% melhor que a da soluo mdia. De forma a comparar o desempenho do mtodo heurstico proposto com o mtodo de programao matemtica, para cada cenrio, executou-se o otimizador LINGO, verso 10.0, sobre o modelo de programao matemtica da seo 4.2, interrompendo-se a execuo em duas situaes: (1) decorrido o tempo gasto pelo ILS para gerar a melhor soluo em cada cenrio, tempo esse dado pela Tabela 5.4; (2) decorrido o tempo mdio de processamento requerido pelo mtodo heurstico, dado pela Tabela 5.6. Esta comparao se justifica uma vez que o tempo para a tomada de deciso

101

relativamente curto, da ordem de minutos, compatveis com os tempos demandados pelo ILS. As caractersticas da soluo obtida pelo otimizador para cada cenrio na primeira opo, isto , decorrido o tempo gasto pelo ILS para gerar a melhor soluo, so apresentadas na Tabela 5.8. J na segunda opo, so apresentadas na Tabela 5.9.

Tabela 5.8 Caractersticas das solues do otimizador no tempo da melhor soluo do ILS
Cenrios

1 % Fe % Al2O3 %P % PPC % He minrio(t) Estril (t) Fo


carregadeiras 47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.638,50

2
47,9889 0,3173 0,04195 2,91548 37,97 4000 1200
30.812,70

3
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.638,50

4
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.655,50

5
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.638,50

6
47,9937 0,3166 0,04193 2,91968 37,87 4000 1200
30.811,74

7
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.638,50

8
47,9883 0,3173 0,04196 2,92163 37,81 4000 1200
31.002,45

Caminhes Viagens Tempo(s) % TxUtil

6 19 86 62 76,44

6 17 71 161 73,50

7 17 86 67 82,46

6 17 71 216 72,44

8 18 89 143 78,87

6 17 71 171 72,89

7 16 86 121 85,67

6 20 71 177 62,54

Tabela 5.9 Caractersticas das solues do otimizador no tempo mdio do ILS


Cenrios

1 % Fe % Al2O3 %P % PPC % He minrio(t) Estril (t) Fo


carregadeiras 47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.638,5

2
47,9937 0,3166 0,04193 2,91968 37,87 4000 1200
30.737,99

3
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.638,50

4
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.659,5

5
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.638,5

6
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.659,50

7
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.638,50

8
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.655,5

Caminhes Viagens Tempo(s) % TxUtil

8 16 89 78,9 88,54

6 19 74 148,3 67,19

7 17 86 70,3 82,46

6 20 74 151,2 62,96

6 16 89 109,9 89,38

6 20 74 185,9 63,11

7 16 86 110,2 85,67

8 17 71 211,7 73,11

102

A Tabela 5.10 mostra, para cada cenrio, o percentual de melhora proporcionado pelo mtodo heurstico ILS, em seu melhor comportamento (Tabela 5.4), comparado com a soluo produzida pelo otimizador LINGO no mesmo tempo de processamento do ILS. O percentual de melhora calculado com base na expresso:
GanhoMelhor = LINGO MelhorILS LINGO

em que MelhorILS representa o melhor valor da funo de avaliao (fo) encontrado nas dez execues do mtodo ILS e LINGO representa o resultado encontrado pelo otimizador LINGO no mesmo tempo de processamento do ILS (vide Tabela 5.4).

Tabela 5.10 Percentual de melhora do ILS em relao ao LINGO no tempo da melhor soluo do ILS Item 1 GanhoMelhor (%) Tempo de execuo (s)
62 161 67 216 143 171 121 177 0,03

Cenrios 2
0,74

3
0,04

4
0,25

5
-0,24

6
0,64

7
0,02

8
1,32

Na Tabela 5.10, um valor positivo em uma clula indica que o ILS produziu uma soluo de melhor qualidade que o otimizador LINGO. Por exemplo, para o cenrio 2, o ILS foi 0,74% melhor que o LINGO. J no cenrio 5, a soluo final do ILS foi 0,24% pior que aquela produzida pelo LINGO. A Tabela 5.11 mostra, para cada cenrio, o percentual de melhora proporcionado pelo mtodo heurstico ILS, em seu comportamento mdio (Tabela 5.6), comparado com a soluo produzida pelo otimizador LINGO nesse mesmo tempo de processamento. O percentual de melhora calculado com base na expresso:

103

GanhoMdio =

LINGO * MdiaILS LINGO *

em que MdiaILS representa o valor mdio da funo de avaliao (fo) encontrado nas dez execues do mtodo ILS e LINGO* representa o resultado encontrado pelo otimizador LINGO no tempo mdio de processamento do ILS (vide tempos mdios de processamento do ILS na Tabela 5.6).

Tabela 5.11 Percentual de melhora do ILS em relao ao LINGO no tempo mdio de processamento do ILS Item 1 GanhoMdio (%) Tempo de execuo (s)
78,9 148,3 70,3 151,2 109,9 185,9 110,2 211,7 -1,86

Cenrios 2
-1,62

3
-1,37

4
-0,66

5
-1,42

6
-0,62

7
-0,37

8
-0,89

Na Tabela 5.11, um valor negativo em uma clula indica que o otimizador LINGO produziu uma soluo de melhor qualidade que o ILS. Como se observa, o LINGO foi capaz de produzir solues de melhor qualidade que aquelas geradas pelo algoritmo ILS, sendo que esta melhora variou entre 0,37 e 1,86%. Para mostrar a eficincia do mtodo ILS, foram executados testes com o otimizador de programao matemtica, dando-se a este um maior tempo de processamento. A Tabela 5.12 mostra as caractersticas da soluo obtida pelo otimizador de programao matemtica em uma hora de processamento, enquanto a Tabela 5.13 mostra os resultados decorridos 20 horas de processamento.

104

Tabela 5.12 Caractersticas das solues obtidas pelo otimizador em uma hora de processamento 1 % Fe % Al2O3 %P % PPC % He minrio(t) estril (t) Fo
carregadeiras 47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.638,50

2
47,9889 0,3173 0,04195 2,91548 37,97 4000 1200
30.736,99

3
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.638,50

4
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.657,50

5
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.638,50

6
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.655,50

7
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.638,50

8
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.656,50

caminhes Viagens tempo(s) % TxUtil

6 19 86 3600 74,18

6 18 71 3600 69,42

7 17 86 3600 82,46

7 19 74 3600 66,95

6 16 89 3600 89,38

6 17 71 3600 73,11

7 16 86 3600 85,67

6 18 71 3600 69,05

Tabela 5.13 Caractersticas das solues obtidas pelo otimizador em 20 horas de processamento 1 % Fe % Al2O3 %P % PPC % He minrio(t) estril (t) Fo
carregadeiras 47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.638,50

2
47,9889 0,3173 0,04195 2,91548 37,97 4000 1200
30.735,99

3
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.638,50

4
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.655,50

5
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.638,50

6
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.655,50

7
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.638,50

8
47,9825 0,3175 0,04195 2,91375 37,95 4000 1200
30.655,50

caminhes Viagens tempo(h) % TxUtil

6 19 86 20 74,18

6 17 71 20 73,50

7 17 86 20 82,46

7 17 71 20 72,61

6 16 89 20 89,38

6 17 71 20 72,44

7 16 86 20 85,67

6 17 71 20 72,44

A Tabela 5.14 mostra, para cada cenrio, a distncia entre a soluo do LINGO em uma hora de processamento (respectivamente, 20 horas) e a gerada pelo mtodo heurstico ILS, em seu melhor desempenho (Tabela 5.4). Esta mtrica calculada com base na expresso:

105

Distancia =

LINGO ** 1 MelhorILS

em que MelhorILS representa o melhor valor para a funo de avaliao (fo) encontrado nas dez execues do mtodo ILS no tempo especificado na Tabela 5.4 e LINGO** representa o resultado encontrado pelo otimizador LINGO em uma hora de processamento (respectivamente, 20 horas). Tabela 5.14 Comparao entre o LINGO e o melhor desempenho do ILS Cenrios Descrio 1 Distancia (%)
0,0261 0,501 0,039 0,261 -0,236 0,132 0,021 0,201

em uma hora Distancia (%)


0,0261 0,498 0,039 0,254 -0,236 0,132 0,021 0,199

em 20 horas Tempo ILS (s)


62 161 67 216 143 171 121 177

Na Tabela 5.14, um valor positivo em uma clula indica que o ILS produziu uma soluo de melhor qualidade que o otimizador LINGO. Por exemplo, para o cenrio 4, a soluo do LINGO em uma hora distou da soluo do ILS em 0,261% e esta distncia diminuiu para 0,254% quando o LINGO foi processado em 20 horas. Como se observa, no houve melhora do LINGO nos cenrios mpares, onde no se considera a taxa de utilizao mxima para os caminhes. Apenas no cenrio 5, a soluo do LINGO foi melhor que a do ILS.

5.3 Discusso dos resultados


Pela Tabela 5.4, verifica-se que as solues produzidas pelo ILS so de valores muito prximos, independentemente de se considerar incompatibilidade entre

106

carregadeiras e caminhes e de se impor um limite mnimo de carregamento para as carregadeiras. Impondo-se uma taxa de utilizao para os caminhes (cenrios 2, 4, 6 e 8), h reduo significativa no nmero de veculos necessrios para atender a produo requerida. Por exemplo, para o cenrio 2 (vide Tabela 5.6), reduz-se, em relao ao cenrio 1, o nmero de veculos necessrios de 26,6 para 20,9, isto , uma reduo de cerca de 21,4% na mdia. Comparando-se os cenrios 7 e 8, verifica-se que no cenrio 8 h uma reduo de 20,4% no nmero mdio de caminhes necessrios, no caso, de 26,5 caminhes para 21,1 caminhes. Verifica-se, tambm, que impondo-se uma taxa mxima de 85% para a utilizao dos caminhes, a utilizao mdia de caminhes significativamente aumentada, fazendo com que a frota seja melhor aproveitada, com baixa ociosidade. Para exemplificar, no cenrio 1 a taxa de utilizao mdia dos caminhes de 55,951%, enquanto que no cenrio 2 essa taxa aumenta para 72,909%. Deve ser ressaltado que tal taxa de utilizao no a efetiva, uma vez que no se leva em considerao tempo de fila nas frentes. Nos cenrios 2, 4, 6 e 8, onde se aplica a taxa mxima de utilizao para os caminhes, percebe-se que o tempo computacional requerido para a execuo do algoritmo superior quele encontrado nos outros cenrios onde tal taxa no aplicada. Isso devido ao maior esforo computacional existente na execuo do algoritmo quando se aplica a taxa de utilizao de caminhes. Na Tabela 5.5, observa-se que o algoritmo proposto capaz de gerar solues bastante prximas das metas estabelecidas. A exceo ocorre com os parmetros de controle PPC, He e P. Por exemplo, no cenrio 1, apesar de o PPC ser considerado um parmetro crtico (com peso igual a 10), o parmetro de controle com maior desvio. Isso devido, no entanto, ao fato de existir apenas uma frente de minrio com menos de 2,35% (Figura 4.46: frente 4 com 1,74%), que o valor estabelecido como meta para este parmetro, sendo, portanto, impossvel seu atendimento. J o parmetro de controle He com 5,12% de desvio em relao meta estabelecida foi outro cujo desvio foi alto. Observa-se, no entanto, que tal parmetro tem baixa prioridade, no caso, ele

107

considerado com prioridade mnima (Importante, com valor 1). No caso do fsforo, P, que o parmetro que possui a maior prioridade, considerado Muito Crtico, com peso igual a 100, o desvio no ultrapassa 5% mas, pelos mesmos motivos elencados para o parmetro PPC, no possvel atender a meta com os recursos minerais disponveis. No caso do fsforo, mesmo nas melhores solues obtidas em cada cenrio (vide Tabela 5.4), no foi possvel atingir a meta. Apesar de os cenrios mais favorveis serem aqueles nos quais no h restries de compatibilidade entre caminhes e carregadeiras e nem imposio de limite mnimo de carregamento para as carregadeiras, o mtodo ILS proposto no explora tal caracterstica. Isto ocorre porque a funo de avaliao usada para guiar a busca procura fazer sempre o melhor aproveitamento tanto da frota de caminhes quanto das carregadeiras, penalizando uma baixa taxa de utilizao de caminhes e o no atendimento do carregamento mnimo. Nas solues produzidas pelo modelo LINGO, relativas a essas situaes, aparecem taxas de utilizao de caminhes de at 100% e carregamento inferior ao mnimo da carregadeira. Mesmo assim, o mtodo ILS consegue gerar solues ainda melhores que as produzidas pelo LINGO. A robustez do mtodo confirmada pelas tabelas 5.7, 5.11 e 5.14. Pela Tabela 5.7, observa-se que o desvio na funo de avaliao baixo, inferior a 2,13%, significando que partindo de uma soluo inicial qualquer, o mtodo em geral produz uma soluo final inferior a 2,13% do melhor resultado, na mdia. Pela Tabela 5.11 observa-se que, na mdia, o ILS produz solues piores que o LINGO, quando dado ao LINGO o tempo mdio de processamento do ILS. Entretanto, importante ressaltar que as solues do LINGO em geral no so factveis, como apontado no pargrafo anterior. Por outro lado, pela Tabela 5.14, que compara a distncia das solues produzidas pelo LINGO, em uma hora e 20 horas de processamento, com a melhor soluo do ILS, verifica-se que o ILS gera solues melhores, exceo do cenrio 5, apesar do pouco tempo de processamento (mximo de 216 segundos). As referidas distncias variam de 0,021% a 0,501% quando consideradas as solues do LINGO em uma hora de processamento. Quando o tempo dado ao LINGO aumentado para 20 horas de processamento, tais distncias so levemente reduzidas, variando de 0,021% a 0,498%.

108

6. Concluses e trabalhos futuros


Este trabalho tratou o problema de planejamento operacional de lavra considerando alocao dinmica de caminhes. Dada sua dificuldade de resoluo na otimalidade, foi desenvolvido um mtodo heurstico baseado na metaheurstica Iterated Local Search (ILS). Para gerar uma soluo inicial distribuem-se aleatoriamente carregadeiras s frentes de lavra, seguida da atribuio tambm aleatria de viagens aos diversos caminhes, respeitando-se a compatibilidade entre caminhes e carregadeiras. A seguir, utilizam-se dois reparadores para as inviabilidades que esta estratgia pode trazer. O primeiro reparador de inviabilidade procura solucionar o problema de a soma dos tempos de ciclo de cada caminho superar 60 minutos, enquanto o segundo visa a respeitar a capacidade mxima da carregadeira em uma hora de produo. A essa soluo gerada aplica-se um refinamento por meio do mtodo da descida em vizinhana varivel (VND), usando-se diferentes tipos de movimento para explorar o espao de busca. Este mtodo de construo e refinamento aplicado certo nmero de vezes e a melhor soluo construda utilizada como soluo inicial para o mtodo ILS. Essa soluo inicial representa um timo local com respeito a todas as vizinhanas consideradas, uma vez que feita a descida completa com relao a cada vizinhana. Para escapar do timo local produzido pelo mtodo VND, utilizou-se o mtodo Iterated Local Search (ILS). Nesse mtodo, cada perturbao consiste em promover modificaes na soluo tima local corrente. A soluo perturbada , ento, refinada pelo mtodo VND. Havendo melhora no timo local corrente, move-se para a melhor soluo; do contrrio, aumenta-se o nvel de perturbao. O nvel de perturbao mais baixo indica pequenas modificaes na soluo tima local corrente, enquanto nveis mais elevados consistem em promover modificaes mais acentuadas na soluo. O mtodo encerra-se aps um nmero mximo de iteraes sem melhora. Para testar o mtodo foram utilizados 8 cenrios relativo a um problema real de uma minerao de ferro. Para cada cenrio, foram comparadas as solues produzidas

109

pelo mtodo ILS proposto com aquelas produzidas por um otimizador aplicado a um modelo de programao matemtica desenvolvido. Os resultados obtidos mostraram que as melhores solues produzidas pelo mtodo heurstico proposto (ILS) so de melhor qualidade que aquelas produzidas pelo otimizador LINGO aplicado ao modelo de programao matemtica, mesmo considerando as dimenses relativamente modestas dos problemas-teste tratados. Adicionalmente, verificou-se que as solues de qualidade produzidas pelo ILS foram obtidas sem muito esforo computacional, ao contrrio daquelas geradas pelo otimizador. Este ltimo demandou tempos proibitivos para gerar solues prximas quelas geradas pelo ILS em poucos minutos, fato que valida a utilizao do mtodo proposto, enquanto ferramenta de apoio deciso. Com relao s caractersticas das solues produzidas pelo mtodo proposto nos diversos cenrios analisados, pode-se verificar que os valores dos parmetros de controle ficaram bem prximos das metas estabelecidas. As excees foram para o PPC e o fsforo (P), que s no obtiveram resultados melhores devido baixa qualidade dos recursos minerais existentes para esses parmetros. Em relao frota de veculos de transporte e de equipamentos de carga ficou constatado o bom aproveitamento dos mesmos. No caso dos equipamentos de carga conseguiu-se reduzir a quantidade desses, bem como utiliz-los prximos de suas capacidades mximas de produo. J no caso dos veculos de transporte, tambm houve reduo da quantidade de veculos necessrios, bem como um melhor aproveitamento desses, indicado pelas taxas de utilizao prximas meta. Esses resultados comprovam, portanto, a eficincia do mtodo heurstico proposto para a otimizao do planejamento operacional de lavra. Destaca-se, finalmente, que o mtodo ILS flexvel, no sentido de que outras restries podem ser facilmente incorporadas ao mtodo. Em relao a Costa (2005), este trabalho representa uma evoluo, no sentido de considerar nmero de caminhes e taxas de utilizao desses no modelo de programao matemtica, bem como um conjunto maior de movimentos para explorar o espao de solues no mtodo heurstico. Adicionalmente, apesar de a comparao

110

entre os mtodos no ser possvel devido s caractersticas diferentes dos problemas considerados, o procedimento de gerao da soluo inicial aqui proposto, com os reparadores de inviabilidade, mais eficiente, uma vez que no mtodo de Costa (2005) a soluo inicial totalmente aleatria. Experimentos relatados na literatura mostram que os mtodos heursticos, em especial Iterated Local Search, so altamente dependentes da qualidade da soluo inicial (Glover e Kochenberger, 2003). Como trabalhos futuros sugere-se a incorporao da tcnica Reconexo por Caminhos (Path Relinking), vide Glover e Kochenberger (2003), para melhorar ainda mais a qualidade das solues produzidas. Outra proposio a insero do otimizador para resolver partes menores do problema. Nesse caso, de cada soluo obtida pela heurstica, seria escolhido certo nmero de frentes, carregadeiras e caminhes e submetido ao otimizador o planejamento operacional dessa parte. Caso a soluo parcial obtida fosse melhor que aquela gerada pela heurstica, essa soluo parcial substituiria a da heurstica. Para a eficincia dessa estratgia necessrio que o tempo de resoluo da parte menor do problema pelo otimizador seja rpido.

111

Referncias Bibliogrficas
ALVARENGA, G. B. (1997). Despacho timo de caminhes numa minerao de ferro utilizando algoritmo gentico com processamento paralelo, Dissertao de mestrado, Programa de Ps-Graduao em Engenharia Eltrica, Universidade Federal de Minas Gerais. ARENALES, M.; ARMENTANO, V.; MORABITO, R.; YANASSE, H. (2007). Pesquisa Operacional para cursos de engenharia, Editora Campus, Rio de Janeiro. CHANDA, E. K. C.; DAGDELEN, K. (1995). Optimal blending of mine production using goal programming and interactive graphics systems, International Journal of Surface Mining, Reclamation and Enviroment, v. 9, p. 203-208. COSTA, F. P. (2005). Aplicaes de tcnicas de otimizao a problemas de planejamento operacional de lavras em mina a cu aberto, Dissertao de mestrado, Programa de Ps-Graduao em Engenharia Mineral, Universidade Federal de Ouro Preto, 141 p. COSTA, F. P.; SOUZA, M. J. F. e PINTO, L. R. (2004). Um modelo de alocao dinmica de caminhes, Revista Brasil Mineral, v. 231, p. 26-31. COSTA, F. P.; SOUZA, M. J. F. e PINTO, L. R. (2005). Um modelo de programao matemtica para alocao esttica de caminhes visando ao atendimento de metas de produo e qualidade, Revista da Escola de Minas, v. 58, p. 77-81. EZAWA, L. e SILVA, K. S. (1995). Alocao dinmica de caminhes visando qualidade. VI Congresso Brasileiro de Minerao, p. 1519, Salvador, Bahia. GLOVER, F.; KOCHENBERGER, G. (2003). Handbook of Metaheuristics. Kluwer Academic Publishers, Boston. LOURENO, H. R.; MARTIN, O. C.; STTZLE, T. (2003). Iterated Local Search. In Handbook of Metaheuristics, Glover, F. and Kochenberger, G. (Eds). Kluwer Academic Publishers, Boston.

112

MERSCHMANN, L. H. C. (2002). Desenvolvimento de um Sistema de Otimizao e Simulao para Cenrios de Produo em Minas a Cu Aberto, Dissertao de mestrado, COPPE/UFRJ, Rio de Janeiro, RJ, Brasil. MLADENOVIC, N. & HANSEN, P. (1997). A Variable Neighborhood Search. Computers and Operations Research, v. 24, p. 1097-1100. MORAES, E. F. (2005). Um modelo de programao matemtica para otimizar a composio de lotes de minrio de ferro na mina Cau da CVRD, Dissertao de mestrado, Programa de Ps-Graduao em Engenharia Mineral, Universidade Federal de Ouro Preto, 78 p. MUNIRATHINAM, M. e YINGLING, J. C. (1994). A review of computer-based truck dispatching strategies of surface mining operations, International Journal of Surface Mining, Reclamation and Environment, v. 8, p. 1-15. MUTMANSKY, J. M. (1979). Computing and operations research techniques for production scheduling. Computer methods for the 80s in the mineral industry, p. 615625, New York. PHPMETAR (2006). Pesquisa Operacional. Disponvel em phpmetar.incubadora. fapesp.br/portal/Faculdade/ Pesquisa%20Operacional. Acesso em 04/07/2006. PINTO, L.R.; MERSCHMANN, L. H. C. (2001). Planejamento operacional da lavra de mina usando modelos matemticos. Revista Escola de Minas, v. 54, n. 3, p. 211214. PINTO, L. R.; BIAJOLI, F. L. e MINE, O. M. (2003). Uso de otimizador em planilhas eletrnicas para auxlio ao planejamento de lavra. Relatrio tcnico, Programa de Ps-graduao em Engenharia Mineral, Universidade Federal de Ouro Preto, Ouro Preto, Minas Gerais. RODRIGUES, L. F. (2006). Anlise comparativa de metodologias utilizadas no despacho de caminhes em minas a cu aberto, Dissertao de mestrado, Programa de Ps-Graduao em Engenharia de Produo, Universidade Federal de Minas Gerais, 86 p.

113

SOUZA, M. J. F. (2006). Notas de aula do curso Pesquisa Operacional aplicada Minerao. Programa de Ps-Graduao em Engenharia Mineral, Universidade Federal de Ouro Preto. SOUZA, M. J. F. (2007). Notas de aula da disciplina Inteligncia Computacional para Otimizao. Departamento de Computao, Universidade Federal de Ouro Preto, disponvel em http://www.decom.ufop.br/prof/marcone/disciplinas/Inteligncia

Computacional/IntelignciaComputacional.pdf. Acesso em 08/05/2007. WHITE, J. W., ARNOLD, M. J. e CLEVENGER, J. G. (1982). Automatated open-pit truck dispatching at Tyrone, Engineering and Mining Journal, v. 183, n. 6, p. 76-84. WHITE, J. W. e OLSON, J. P. (1986). Computer-based dispatching in mines with concurrent operating objetives. Mining Engineering, v. 38, n. 11, p. 10451054.

114

Anexo I: PROBLEMAS-TESTE
So caracterizados, a seguir, os dados dos problemas-teste utilizados. Parmetros de Controle
Tipo Frente M E M M E M M M M E M M M M E Fe (%) 52,64 39,92 47,19 49,36 43,94 48,97 47,46 46,52 56,09 46,00 49,09 49,77 53,03 52,96 42,09 Al2O3 (%) 0,52 0,18 0,50 0,22 0,46 0,54 0,20 0,32 0,95 0,26 0,22 0,20 0,24 0,29 0,17 P (%) 0,084 0,029 0,050 0,039 0,032 0,057 0,047 0,039 0,059 0,031 0,040 0,047 0,047 0,052 0,031 PPC (%) 4,48 0,65 2,52 1,74 2,36 4,34 5,07 3,51 4,10 2,51 4,20 4,81 4,17 4,81 1,38 He (%) 45,0 97,0 52,0 78,0 41,0 90,0 9,0 4,0 80,0 21,0 12,0 12,0 1,0 1,0 47,0 Massa (t) 1500 2000 1700 1450 1250 1890 1640 1124 1990 900 1540 1630 1320 1245 1859

Frente1 Frente2 Frente3 Frente4 Frente5 Frente6 Frente7 Frente8 Frente9 Frente10 Frente11 Frente12 Frente13 Frente14 Frente15

Legenda: M = minrio; E = estril; Fe = ferro; Al2O3 = alumina, P = fsforo, PPC = perda por calcinao; He = hematita especulada. Tempo de Ciclo dos Caminhes, em minutos
Cam1 a Cam11 10,2 10,2 9,8 7,9 8,6 8 8,7 7,8 8,7 10,2 9,8 7,9 8,6 8 8,7 Cam12 a Cam30 12,2 12,2 11,7 11,1 10,5 10 10,3 10 10,2 12,2 12 10 10,3 10 10,5

Fr\Cam Frente1 Frente2 Frente3 Frente4 Frente5 Frente6 Frente7 Frente8 Frente9 Frente10 Frente11 Frente12 Frente13 Frente14 Frente15

Legenda: Fr = frente; Cam = caminho

115


1 2

Capacidade dos caminhes, em toneladas


3 4 5 ... 11 12 13 14 15 16 17 18 19 20 ... 29 30

50

50

50

50

50

...

50

50

50

50

50

80

80

80

80

80

...

80

80

Capacidade mxima e mnima das carregadeiras, em toneladas


C1 C2 C3 C4 C5 C6 C7 C8

Max Min

900 250

900 300

900 250

900 300

1000 350

1000 300

1100 400

1100 400

Legenda: Max = capacidade mxima; Min = capacidade mnima; c1 a c8 = carregadeiras

116

Matriz de compatibilidade entre caminhes e carregadeiras


C1 C2 C3 C4 C5 C6 C7 C8

CAM1 CAM2 CAM3 CAM4 CAM5 CAM6 CAM7 CAM8 CAM9 CAM10 CAM11 CAM12 CAM13 CAM14 CAM15 CAM16 CAM17 CAM18 CAM19 CAM20 CAM21 CAM22 CAM23 CAM24 CAM25

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

117

CAM26 CAM27 CAM28 CAM29 CAM30

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

1 1 1 1 1

1 1 1 1 1

1 1 1 1 1

1 1 1 1 1

Legenda: c1 a c8 = carregadeiras; CAM1 a CAM30: caminhes; 0 = incompatvel; 1 = compatvel

118

Anexo II: Modelo de Programao Matemtica


model: title: Alocao Dinmica de Caminhes; sets: parametros/@ole('Pilhas.xls','parametros')/: tl, ! Teor mnimo admissvel para o parmetro j (%); tu, ! Teor mximo admissvel para o parmetro j (%); tr, ! Teor recomendado para o parmetro j (%); wnm, ! Peso por desvio negativo para o parmetro j; wpm, ! Peso por desvio positivo para o parmetro j; dnm, ! Desvio negativo de meta do parmetro j (t/h); dpm; ! Desvio positivo de meta do parmetro j (t/h); frentes/@ole('Pilhas.xls','frentes')/: Qu, ! Massa disponvel na frente i (t); estMin, ! Se a frente i de minrio (1) ou estril (0); x; ! Ritmo de lavra para a frente i (t/h); carregadeiras/@ole('Pilhas.xls','carregadeiras')/: Cu, ! Produo mxima da carregadeira k (t/h); Cl; ! Produo mnima da carregadeira k (t/h); caminhoes/@ole('Pilhas.xls','caminhoes')/: capCam, ! Capacidade do caminho l (t); txMax, ! Taxa de utilizao mxima indicada para o caminho l (%); dnu, ! Desvio negativo de utilizao de caminhes; dpu, ! Desvio positivo de utilizao de caminhes; usou; ! Vale 1 se caminho l for usado; matriz1(frentes,parametros): t; ! Teor do parmetro j na frente i (%); matriz2(frentes,carregadeiras): y; ! Se a carregadeira k opera na frente i; matriz3(caminhoes,carregadeiras): comp; ! Se o caminho l compatvel (1) ou no (0) com a carregadeira k; matriz4(frentes,caminhoes): n, ! Nmero de viagens que o caminho l realiza a frente i; tempCiclo; ! Tempo de ciclo do caminho l frente i; endsets data: ! Produo mnima (t/h), Produo Mxima (t/h), Produo recomendada (t/h); pr, pe = @ole('Pilhas.xls','pr','pe'); ! Penalidade para o desvio negativo de produo, Penalidade para o desvio positivo de produo; wnp = @ole('Pilhas.xls','wnp');

119

! Teor mnimo, teor mximo, teor recomendado, teor; tr, t = @ole('Pilhas.xls','tr','t'); ! Penalidade por desvio negativo de meta de qualidade, penalidade por desvio positivo de meta de qualidade; wnm = @ole('Pilhas.xls','wnm'); ! Massa disponvel, vetor estril/minrio que vale 1 se minrio e 0 se estril; Qu , estMin = @ole('Pilhas.xls','Qu','estMin'); ! Capacidade mxima carregadeira e Capacidade mnima da carregadeira; Cu, Cl = @ole('Pilhas.xls','Cu','Cl'); ! Capacidade do caminho, vetor de compatibilidade (vale 1 se caminho compatvel com carregadeira), tempo de ciclo; capCam, comp, tempCiclo = @ole('Pilhas.xls','capCam','comp','tempCiclo'); ! Taxa de utilizao mxima permitida para cada caminho ; txMax = @ole('Pilhas.xls','txMax'); ! Peso para o desvio negativo de taxa de utilizao para os caminhes ; wnu = @ole('Pilhas.xls','wnu'); enddata [fo] min = @sum(parametros(j): wnm(j)*dnm(j) + wnm(j)*dpm(j)) + wnp*dnp + wnp*dpp + wnp*dne + wnp*dpe + @sum(caminhoes(l): usou(l)); ! O teor do parmetro j na mistura deve ser inferior ou igual ao teor mximo admitido; @for(parametros(j): @sum(frentes(i) | estMin(i) #eq# 1: (t(i,j) - tu(j))*x(i)) <= 0); ! O teor do parmetro j na mistura deve ser superior ou igual ao teor mnimo admitido; @for(parametros(j): @sum(frentes(i) | estMin(i) #eq# 1: (t(i,j) - tl(j))*x(i)) >= 0); ! A meta do parmetro j na mistura deve ser buscada sempre que possvel; @for(parametros(j): @sum(frentes(i) | estMin(i) #eq# 1: (t(i,j) - tr(j))*x(i)) + dnm(j) dpm(j) = 0); ! A produo total deve ser inferior ou igual produo mxima admitida; @sum(frentes(i) | estMin(i) #eq# 1: x(i)) <= pu; ! A produo total deve ser superior ou igual produo mnima admitida; @sum(frentes(i) | estMin(i) #eq# 1: x(i)) >= pl; ! A meta de produo de minrio deve ser buscada sempre que possvel; @sum(frentes(i) | estMin(i) #eq# 1: x(i)) + dnp - dpp = pr;

120

! A meta de produo de estril deve ser buscada sempre que possvel; @sum(frentes(i) | estMin(i) #eq# 0: x(i)) + dne - dpe = pe; ! Deve haver no mximo uma carregadeira k operando em cada frente i; @for(frentes(i): @sum(carregadeiras(k): y(i,k)) <= 1); ! Cada carregadeira k deve operar no mximo em uma frente i; @for(carregadeiras(k): @sum(frentes(i): y(i,k)) <= 1); ! O ritmo de lavra da frente i deve ser maior do que a produtividade mnima da carregadeira k alocada frente; @for(frentes(i): x(i) >= @sum(carregadeiras(k): Cl(k)*y(i,k))); ! O ritmo de lavra da frente i deve ser menor do que a produtividade mxima da carregadeira k alocada frente; @for(frentes(i): x(i) <= @sum(carregadeiras(k): Cu(k)*y(i,k))); ! Cada caminho l deve realizar viagens apenas uma frente i que esteja alocada uma carregadeira compatvel; @for(frentes(i): @for(caminhoes(l): n(i,l)*tempCiclo(i,l) <= 60*@sum(carregadeiras(k) | comp(l,k) #EQ# 1: y(i,k)) ) ); ! Cada caminho l deve operar no mximo 60*txMax(l) minutos; @for(caminhoes(l): @sum(frentes(i): n(i,l)*tempCiclo(i,l)) <= txMax(l)*60); ! O ritmo de lavra da frente i deve ser igual produo realizada pelos caminhes alocados frente; @for(frentes(i): x(i) = @sum(caminhoes(l): n(i,l)*capcam(l))); ! A taxa de utilizao de cada caminho l deve ser de, no mnimo, txMax(l)%; @for(caminhoes(l): @sum(frentes(i): n(i,l)*tempCiclo(i,l))/60 + dnu(l) = txMax(l)); ! Um caminho l usado se fizer alguma viagem uma frente qualquer; @for(caminhoes(l): usou(l) >= @sum(frentes(i): n(i,l)*tempCiclo(i,l))/60; @bin(usou(l)));

121

! A varivel y deve ser binria; @for(frentes(i): @for(carregadeiras(k): @bin(y(i,k)))); ! O nmero de viagens que cada caminho l faz frente i (varivel n) deve ser inteiro; @for(frentes(i): @for(caminhoes(l): @gin(n(i,l)))); ! Exporta resultados para a planilha; data: @ole('Pilhas.xls','n')=n; @ole('Pilhas.xls','x')=x; @ole('Pilhas.xls','y')=y; @ole('Pilhas.xls','dnm')=dnm; @ole('Pilhas.xls','dpm')=dpm; @ole('Pilhas.xls','dnp')=dnp; @ole('Pilhas.xls','dpp')=dpp; @ole('Pilhas.xls','dnu')=dnu; @ole('Pilhas.xls','usou')=usou; enddata end

122

Anexo III: Publicaes


Os trabalhos oriundos desta pesquisa que foram submetidos a peridicos de circulao nacional e internacional e/ou apresentados em eventos so listados a seguir.

ARAJO, F.C.R.; SOUZA, M.J.F.; TOLEDO, J.P. Um Mtodo Hbrido, Baseado em Simulated Annealing e Mtodo da Subida, para Resolver o Problema de Seleo de Projetos Mineiros Concorrentes: IV Congresso Brasileiro de Mina a Cu Aberto e IV Congresso Brasileiro de Mina Subterrnea. Belo Horizonte, 2006.

ARAJO, F.C.R.; SOUZA, M.J.F. Planejamento Operacional de Lavra com Alocao Dinmica de Caminhes: Abordagens Exata e Heurstica. V Congresso Brasileiro de Mina a Cu Aberto e V Congresso Brasileiro de Mina Subterrnea. Belo Horizonte, 2008.

ARAJO, Francisco Csar Rodrigues; SOUZA, Marcone Jamilson Freitas. Modelos exato e heurstico para o Planejamento de Lavra com Alocao Dinmica de Caminhes. Submetido para publicao na Revista Escola de Minas, julho de 2008.

123

ALGORITMO PARA PROGRAMAO INTEGRADA DE VECULOS E TRIPULAES NO SISTEMA DE TRANSPORTE PBLICO POR NIBUS

EMILIANA MARA LOPES SIMES Orientador: Geraldo Robson Mateus Co-orientador: Marcone Jamilson Freitas Souza

ALGORITMO PARA PROGRAMAO INTEGRADA DE VECULOS E TRIPULAES NO SISTEMA DE TRANSPORTE PBLICO POR NIBUS
Dissertao apresentada ao Programa de Ps-Graduao em Cincia da Computao da Universidade Federal de Minas Gerais como requisito parcial para a obteno do grau de Mestre em Cincia da Computao.

Belo Horizonte Agosto de 2009

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

Lopes Simes, Emiliana Mara D1234p ALGORITMO PARA PROGRAMAO INTEGRADA DE VECULOS E TRIPULAES NO SISTEMA DE TRANSPORTE PBLICO POR NIBUS / Emiliana Mara Lopes Simes. Belo Horizonte, 2009 xviii, 82 f. : il. ; 29cm Dissertao (mestrado) Universidade Federal de Minas Gerais Orientador: Geraldo Robson Mateus Co-orientador: Marcone Jamilson Freitas Souza 1. Programao Integrada de Veculos e Tripulaes. 2. Metaheursticas. 3. Busca Local Iterada. I. Ttulo. CDU 519.6*82.10

[Folha de Aprovao]
Quando a secretaria do Curso fornecer esta folha, ela deve ser digitalizada e armazenada no disco em formato grco. Se voc estiver usando o pdflatex, armazene o arquivo preferencialmente em formato PNG (o formato JPEG pior neste caso). Se voc estiver usando o latex (no o pdflatex), ter que converter o arquivo grco para o formato EPS. Em seguida, acrescente a opo approval={nome do arquivo} ao comando \ppgccufmg.

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

Tudo do pai! Toda honra e toda glria, dele a vitria alcanada em minha vida. (Frederico Cruz) vii

Resumo
Este trabalho aborda dois dos problemas envolvidos no processo de planejamento do Sistema de Transporte Pblico de nibus Urbano: o Problema de Programao de Veculos (PPV) e o Problema de Programao de Tripulaes (PPT). O PPV consiste em criar uma rotina diria de operao para uma frota de veculos, dado um conjunto de viagens a serem obrigatoriamente realizadas. Na resoluo do PPT so denidas as jornadas dirias de trabalho para motoristas e cobradores, de maneira que, todos os deslocamentos dos veculos estejam sob responsabilidade de alguma tripulao. O objetivo reduzir os custos envolvidos em tais atividades, fazendo o melhor aproveitamento da frota e da mo-de-obra, mas ao mesmo tempo obedecendo legislao trabalhista e as regras operacionais vigentes. Normalmente, devido complexidade destes problemas, eles so resolvidos separadamente e seqencialmente (abordagem seqencial tradicional, ou seja, primeiro resolve-se PPV e logo em seguida o PPT). Porm, dada a forte dependncia entre PPV e PPT, espera-se que a resoluo integrada dos mesmos possa proporcionar considervel reduo dos custos. Assim, dadas as expectativas atuais acerca dessa nova metodologia, neste trabalho desenvolvida uma heurstica, baseada na metaheurstica Busca Local Iterada, para resoluo do Problema de Programao Integrada de Veculos e Tripulaes (PPVT). No PPVT as rotinas de operao dos veculos e as jornadas de trabalho das tripulaes so denidas simultaneamente. Trata-se de um problema altamente combinatorial e que se enquadra na classe de problemas NP-difcil, no havendo, portanto, algoritmos em tempo polinomial para encontrar solues timas. Com o intuito de analisar o desempenho da abordagem integrada, PPV e PPT tambm so resolvidos de forma iterativa, seqencial tradicional e independente (PPV e PPT so resolvidos separadamente, em qualquer ordem e de forma a no se relacionarem). Para validar os mtodos propostos so apresentados experimentos com dados reais de uma empresa de transporte pblico da cidade de Belo Horizonte. Os resultados encontrados conrmam as expectativas e mostram que as solues geradas pela heurstica integrada so melhores do que as obtidas de forma seqencial.

ix

Abstract
This work deals with two of the problems involved in the planning process of the public mass transit: the Vehicle Scheduling Problem (VSP) and the Crew Scheduling Problem (CSP). The VSP is a way to create a daily operation routine for a eet of vehicles, given a set of trips required to be performed. In the resolution of CSP the daily work duty for the drivers and collectors are dened, so that all displacements of the vehicles are in charge of a crew. This paper aimed to investigate how to reduce costs involved in such activities for the best use of the eet and labor force, but also comply with the public policies of labor laws and operational rules. These problems has been usually treated separately and sequentially due to their complexity (traditional sequential approach, in other words, rst VSP is solved and then CSP). However, since the strong dependence between VSP and CSP, it is expected that the integrated resolution of them could provide considerable costs reduction. Thus, given the current expectations about this new methodology, in this work heuristics are developed, based on the Iterated Local Search metaheuristic to solve the Integrated Vehicle and Crew Scheduling Programing (VCSP). In the VCSP the routines of vehicles operation and the crews work duty are dened simultaneously. This is a highly combinatorial problem, which is inserted in the class of NP-hard problems, not having so, polynomial-time algorithms to nd optimal solutions. To analyze the eciency of the performance of the integrated approach, both VSP and CSP are solved in the traditional sequential and independent way (VSP and CSP are solved separately, in any order and in an unrelated way). The proposed methods can be validated with real data from a Public Transport Company of Belo Horizonte city. The results obtained signalize that the solutions generated by the integrated heuristics are better than those obtained in sequential order.

xi

Sumrio
1 Introduo 1.1 1.2 Justicativa e Objetivos do Trabalho . . . . . . . . . . . . . . . . . . . Organizao do Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 4 7

2 Reviso Bibliogrca

3 Programaes Tradicional e Independente de Veculos e Tripulaes 13 3.1 Heursticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 3.1.2 3.2 3.3 Mtodo de Descida . . . . . . . . . . . . . . . . . . . . . . . . . Busca Local Iterada . . . . . . . . . . . . . . . . . . . . . . . . 14 14 15 16 19 19 19 20 22 22 25 28 29 29 31 31 32 33 35 37 38

Descrio do Problema de Programao de Veculos . . . . . . . . . . . Mtodo de Soluo do PPV . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 Representao . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estruturas de Vizinhana . . . . . . . . . . . . . . . . . . . . . Funo de Avaliao . . . . . . . . . . . . . . . . . . . . . . . . Procedimento de Gerao da Soluo Inicial . . . . . . . . . . . Algoritmo de Resoluo . . . . . . . . . . . . . . . . . . . . . .

3.4 3.5

Descrio do Problema de Programao de Tripulaes . . . . . . . . . Mtodo de Soluo do PPT . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 Representao . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estruturas de Vizinhana . . . . . . . . . . . . . . . . . . . . . Funo de Avaliao . . . . . . . . . . . . . . . . . . . . . . . . Procedimento de Construo das Tarefas . . . . . . . . . . . . . Procedimento de Gerao da Soluo Inicial . . . . . . . . . . . Algoritmo de Resoluo . . . . . . . . . . . . . . . . . . . . . .

3.6

Programao Independente de Veculos e Tripulaes . . . . . . . . . .

4 Programao Integrada de Veculos e Tripulaes 4.1 Descrio do Problema de Programao Integrada de Veculos e Tripulaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

4.2

4.3

Mtodo de Soluo Iterativa do PPV e PPT . . . . 4.2.1 Representao . . . . . . . . . . . . . . . . . 4.2.2 Funo de Avaliao . . . . . . . . . . . . . 4.2.3 Algoritmo de Resoluo . . . . . . . . . . . Mtodo de Soluo do PPVT . . . . . . . . . . . . 4.3.1 Representao . . . . . . . . . . . . . . . . . 4.3.2 Estruturas de Vizinhana . . . . . . . . . . 4.3.3 Funo de Avaliao . . . . . . . . . . . . . 4.3.4 Procedimento de Gerao da Soluo Inicial 4.3.5 Algoritmo de Resoluo . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

40 40 41 42 44 45 49 53 54 54 59 59 62 75 79

5 Experimentos Computacionais 5.1 Descrio das Instncias . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Concluses e Trabalhos Futuros Referncias Bibliogrcas

xiv

Lista de Figuras
1.1 3.1 3.2 3.3 3.4 3.5 4.1 4.2 4.3 4.4 4.5 Planejamento do sistema de transporte pblico. . . . . . . . . . . . . . . . Exemplo de uma soluo sv para o PPV. Estruturas de vizinhana do PPV. . . . Bloco de veculo particionado em tarefas. Exemplo de uma soluo st para o PPT. Estruturas de vizinhana do PPT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 20 21 27 29 30 41 41 46 47 49 51 51 51 52 52 52 53

Bloco de veculo particionado em tarefas. . . . . . . . . . . . . . . . . . . . Representao de um bloco de veculo. . . . . . . . . . . . . . . . . . . . . Bloco de Veculo - 1 e o seu particionamento em tarefas. . . . . . . . . . . Viagens expandidas obtidas do Bloco de Veculo - 1 da Figura 4.3. . . . . . Representao de uma soluo para o PPVT com denio das viagens expandidas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Soluo para o PPVT utilizada para exemplicar as estruturas de vizinhana. 4.7 Exemplo do movimento realocao PPV. . . . . . . . . . . . . . . . . . . . 4.8 Exemplo do movimento realocao PPT. . . . . . . . . . . . . . . . . . . . 4.9 Exemplo do movimento super realocao. . . . . . . . . . . . . . . . . . . . 4.10 Exemplo do movimento troca PPV. . . . . . . . . . . . . . . . . . . . . . . 4.11 Exemplo do movimento troca PPT. . . . . . . . . . . . . . . . . . . . . . . 4.12 Exemplo do movimento super troca. . . . . . . . . . . . . . . . . . . . . .

xv

Lista de Tabelas
3.1 5.1 5.2 5.3 5.4 5.5 Tabela de horrios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descrio das instncias utilizadas nos experimentos. . . . . . . . . . . . . Penalizaes utilizadas no PPV e seus respectivos valores. . . . . . . . . . Penalizaes utilizadas no PPT e seus respectivos valores. . . . . . . . . . Resultados considerando os custos das solues obtidas pelas abordagens independente, seqencial, iterativa e integrada. . . . . . . . . . . . . . . . . Detalhamento das melhores solues obtidas pelas abordagens independente, seqencial, iterativa e integrada. . . . . . . . . . . . . . . . . . . . . 17 60 61 61 62 67

xvii

Captulo 1 Introduo
Devido sua complexidade o processo de planejamento do sistema de transporte pblico normalmente decomposto em subproblemas menores, conforme mostrado na Figura 1.1.

Figura 1.1. Planejamento do sistema de transporte pblico.

O conjunto de viagens, que compe a tabela de horrios, denido a partir das rotas a serem percorridas e a freqncia com que as mesmas sero atendidas. Estas decises devem ser tomadas com base na disponibilidade de infra-estrutura, nos servios 1

Captulo 1. Introduo

requeridos pelos usurios e em aspectos de demanda. Dada a tabela de horrios passa-se resoluo do Problema de Programao de Veculos (PPV), que consiste em determinar uma rotina diria de operao para uma frota de veculos, tendo por objetivo fazer o seu melhor aproveitamento. Como resultado, obtm-se os chamados blocos de veculos. Cada bloco corresponde ao conjunto de viagens realizadas por um mesmo veculo ao longo do dia e mantm informaes relativas seqncia de execuo das viagens, seus horrios e locais de incio e trmino, os tempos destinados para embarque e desembarque de passageiros e os tempos de espera e de deslocamento fora de operao do veculo. Uma vez que deve haver uma tripulao (motorista e cobrador) responsvel por cada deslocamento realizado por um veculo, o Problema de Programao de Tripulaes (PPT) trata da alocao das atividades a serem realizadas por cada tripulao no perodo de um dia, denindo assim as chamadas jornadas de trabalho das tripulaes. Para resoluo do PPT, inicialmente os blocos de veculos provenientes da soluo do PPV so simplicados em tarefas. Cada tarefa engloba viagens consecutivas de um mesmo veculo e entre as quais no pode ocorrer a troca de tripulaes devido a limitaes de tempo e espao. Portanto, a soluo do PPT um conjunto de jornadas dirias de trabalho, em que cada jornada consiste em uma seqncia de tarefas a serem realizadas por uma mesma tripulao e que satisfaz a legislao trabalhista e as regras operacionais da empresa. Resolvido o PPT para cada dia, o problema seguinte o da Rotao de Tripulaes (PRT). Esse problema consiste em atribuir uma jornada de trabalho mensal para cada tripulao, considerando certas regras trabalhistas relativas a longos perodos de tempo e que, portanto, no foram contempladas na programao diria. Este trabalho trata especicamente da denio das programaes de veculos e tripulaes, que juntas, concentram a maior parte dos gastos das empresas do setor de transporte pblico por nibus. Comumente PPV e PPT so resolvidos de forma seqencial tradicional, isto , primeiro denido o modo de operao da frota e, em seguida, as jornadas de trabalho das tripulaes. Nesta metodologia a resoluo do PPT torna-se totalmente dependente da programao de veculos a partir da qual obtida e isto pode ser visto como uma desvantagem, pois em muitas situaes prticas os gastos das empresas com tripulantes superam aqueles relativos aos veculos. Outras abordagens para tratar PPV e PPT encontradas na literatura so: 1. Seqencial Inversa: primeiro resolvido o PPT e em seguida, utilizando os resultados obtidos, solucionado o PPV. Nesta abordagem priorizada a melhora da qualidade da programao de tripulaes e restringe-se a denio da programao dos veculos. Os resultados encontrados normalmente no so bons, pois

1.1. Justificativa e Objetivos do Trabalho o nmero de veculos necessrios costuma aumentar drasticamente;

2. Independente: PPV e PPT so resolvidos separadamente, em qualquer ordem e de forma a no se relacionarem. Geralmente os resultados obtidos so inviveis do ponto de vista prtico, pois dicilmente as solues para PPV e PPT so compatveis. A principal nalidade desta abordagem a determinao de uma melhor programao para as tripulaes desconsiderando os veculos e de uma melhor programao para os veculos desconsiderando as tripulaes; 3. Integrada: PPV e PPT so resolvidos simultaneamente. Trata-se de uma abordagem promissora, uma vez que a forte dependncia entre estes problemas sugere que uma resoluo integrada possa resultar em considerveis redues de custo.

1.1

Justicativa e Objetivos do Trabalho

Segundo Sampaio et al. [2006] o transporte pblico considerado uma prioridade governamental em todo o mundo, pois trata-se de uma necessidade para locomoo das pessoas, predominantemente, mas no exclusivamente, para as de renda mais baixa. Alm disso, o transporte coletivo atende a um nmero mais amplo de passageiros que o transporte individual, sem sobrecarregar a infra-estrutura rodoviria e permite substanciais redues nas emisses de poluentes ao meio ambiente, dada a menor quantidade de veculos por passageiros. Mais especicamente, nas cidades brasileiras observa-se que juntamente com o crescimento da populao urbana vem aumentando a demanda por um servio de transporte pblico barato, eciente e de qualidade. Conforme a ANTP [1999], para que ocorra a democratizao do acesso ao transporte pblico, deve haver a garantia de tarifas tolerveis para os usurios, o que depende em grande parte do aumento da ecincia e reduo de custos por parte das organizaes do setor. Justicando assim, qualquer iniciativa que venha a proporcionar melhoras no planejamento do sistema de transporte pblico. No que se refere ao Sistema de Transporte Pblico de nibus Urbano, determinar uma rotina diria de operao para uma frota de veculos de uma empresa bem como denir as jornadas de trabalho de suas tripulaes (motoristas e cobradores) so tarefas muito complexas. Quando estas so realizadas de forma manual, requerem grande esforo e tempo dos prossionais e nem sempre as programaes geradas so de qualidade. As diculdades inerentes resoluo destes problemas devem-se principalmente a uma innidade de restries e objetivos a serem alcanados e que so fortemente de-

Captulo 1. Introduo

pendentes das polticas operacionais e das leis trabalhistas consideradas. Evidenciando assim, a necessidade da utilizao de recursos computacionais. Normalmente, no processo de planejamento do sistema de transporte pblico, a programao de veculos realizada de forma independente e em uma etapa anterior programao de tripulaes. Nesta metodologia a resoluo do PPT torna-se totalmente condicionada programao de veculos a partir da qual ser obtida e, portanto, este pode ser um dos fatores que limita a melhora da qualidade da programao de tripulaes. Esta abordagem foi fortemente criticada por Ball et al. [1983], que ao estudar uma empresa de transporte pblico da Amrica do Norte vericou que o custo associado programao das tripulaes supera o custo relacionado programao dos veculos, e em muitos casos chega a corresponder a mais de 80% do custo operacional total. Portanto, neste trabalho proposta uma estratgia para resoluo do Problema de Programao Integrada de Veculos e Tripulaes (PPVT). No PPVT so geradas simultaneamente as programaes dos veculos e dos tripulantes possibilitando encontrar solues com custo operacional menor que aquele obtido pela soluo seqencial do PPV e PPT. Alm disso, com o intuito de identicar a efetividade da abordagem integrada, PPV e PPT tambm so resolvidos de forma seqencial tradicional, independente e iterativa (em que, ora a busca por melhoras se concentra especicamente no PPV e ora no PPT). O objetivo avaliar a metodologia proposta, a m de que seja encontrada uma maneira eciente de especicar a forma de utilizao da frota e da mo-de-obra de uma empresa de transporte pblico, de modo a minimizar ao mximo os custos envolvidos em tal atividade, respeitando as regras operacionais e as leis trabalhistas intrnsecas ao problema. Para tanto, so resolvidos problemas reais referentes ao Sistema de Transporte Pblico da cidade de Belo Horizonte, capital do estado de Minas Gerais, permitindo que seja adquirido conhecimento sobre as caractersticas e diculdades da aplicao da metodologia integrada realidade brasileira.

1.2

Organizao do Texto

A seguir, no Captulo 2, feita uma reviso da literatura sobre o problema que norteia todo esse trabalho, o Problema de Programao Integrada de Veculos e Tripulaes (PPVT). Modelos e algoritmos propostos para tratar o PPVT so apresentados. O Captulo 3 trata separadamente dos problemas de Programao de Veculos (PPV) e de Programao de Tripulaes (PPT), considerando duas abordagens distintas, a seqencial tradicional e a independente. O objetivo descrever detalhadamente os problemas e a metodologia utilizada para resolv-los.

1.2. Organizao do Texto

O Captulo 4 apresenta o Problema de Programao Integrada de Veculos e Tripulaes. Inicialmente proposto um mtodo que aborda PPV e PPT de forma iterativa e, em um segundo passo, apresentada uma estratgia de resoluo totalmente integrada dos problemas. No Captulo 5 so descritos, respectivamente, as instncias utilizadas e os resultados obtidos nos experimentos realizados, considerando as abordagens apresentadas nos captulos 3 e 4. Por m, no Captulo 6, so apresentados as concluses e os trabalhos futuros.

Captulo 2 Reviso Bibliogrca


Embora haja um entendimento de que a resoluo integrada das programaes de veculos e tripulaes seja vantajosa, a maioria dos trabalhos encontrados na literatura segue a abordagem seqencial na qual a programao de veculos denida a priori e independentemente da programao de tripulaes. O Problema de Programao de Veculos h muito tempo vem sendo pesquisado e resolvido com o auxlio de computadores. Os primeiros trabalhos tratavam o PPV tanto utilizando mtodos exatos [Kirkman, 1968] quanto procedimentos heursticos [Saha, 1970; Wren, 1972]. O Problema de Programao de Tripulaes tambm tem recebido considervel ateno na literatura e estudado desde a dcada de 60, sendo Elias [1964] um dos precursores. Pesquisas mais recentes para resoluo do PPV podem ser encontradas em Baita et al. [2000], Silva [2001] e Souza et al. [2007] e para o PPT em Shen e Kwan [2001], Daduna e Voss [2001], Marinho [2005] e em Santos e Mateus [2009]. O Problema de Programao Integrada de Veculos e Tripulaes somente comeou a ser estudado recentemente, uma vez que devido sua grande complexidade, o custo computacional desta metodologia sempre foi restritivo. Ball et al. [1983] foram os primeiros a propor um mtodo de resoluo para o PPVT. O procedimento apresentado pelos autores envolve a denio de uma rede de programao, consistindo de vrtices indicando viagens que devem ser executadas por um veculo e uma tripulao (vrtices d-trip), e dois outros vrtices s e t representando a garagem. Diversos tipos de arcos podem ser agrupados em duas categorias, aqueles que indicam que uma tripulao e veculo seguem de uma d-trip para outra e aqueles que indicam que apenas a tripulao realiza este deslocamento (arcos crew-only). O procedimento de resoluo decomposto em trs componentes. Inicialmente so criadas partes de jornadas de trabalho, limitadas por uma durao mxima dada por uma constante T. importante relembrar que uma jornada corresponde s atividades a serem realizadas 7

Captulo 2. Reviso Bibliogrfica

por uma mesma tripulao em um dia de trabalho. Em seguida, aquelas partes de jornadas obtidas que apresentam pequena durao so colocadas aos pares, formando assim, jornadas parciais. Por m, longas partes de jornadas e jornadas parciais so combinadas resultando em um conjunto de jornadas de trabalho para as tripulaes (soluo do PPT). A programao dos veculos gerada simultaneamente ignorando os arcos exclusivos das tripulaes (arcos crew-only) presentes na soluo. Heursticas similares so propostas por Tosini e Vercellis [1988] e Patrikalakis e Xerocostas [1992]. A primeira formulao matemtica para o PPVT foi proposta em Patrikalakis e Xerocostas [1992]. No entanto, este modelo era apenas para ns ilustrativos sendo computacionalmente intratvel [Freling et al., 1999]. Assim, considera-se que Freling et al. [1995] foram os pioneiros em propor uma formulao de programao inteira para o problema e deram origem a uma srie de pesquisas desenvolvidas por Freling e co-autores sobre o tema, tais como: Freling [1997], Freling et al. [1999] e Freling et al. [2003]. As formulaes apresentadas nestes trabalhos so similares e constitudas basicamente de duas partes: 1. Uma formulao de quase atribuio baseada em uma rede G(V, A) que assegura a viabilidade do Problema de Programao de Veculos. Nesta rede V o conjunto de todas as viagens a serem realizadas e mais dois ns, s (origem) e t (destino), ambos representando a garagem. O conjunto A corresponde aos arcos que conectam s e t a todos os demais ns em V e aos arcos que ligam viagens compatveis. Salienta-se que duas viagens so compatveis se elas podem ser realizadas por um mesmo veculo. Desta forma, uma soluo vivel para o PPV um conjunto de caminhos disjuntos de s para t na rede G, de tal forma que cada n viagem em V seja coberto exatamente uma vez; 2. Restries de particionamento de conjunto que garantem que cada viagem e cada deslocamento realizado pelo veculo fora de operao, que faam parte da soluo do PPV, sejam cobertos pela jornada de trabalho de alguma tripulao. Em Haase e Friberg [1999] foi apresentada a primeira abordagem de soluo exata para o Problema Integrado de Programao de Veculos e Tripulaes. O modelo proposto combina as abordagens de Desrochers e Soumis [1989] e Ribeiro e Soumis [1994], em que o PPVT formulado como um problema de particionamento de conjunto com restries adicionais que so utilizadas para relacionar as programaes de veculos e de tripulaes. Na metodologia proposta uma coluna no modelo representa o bloco de um veculo ou a jornada de trabalho de uma tripulao. Estas colunas correspondem a caminhos em dois grafos, um para a programao de veculos e outro para a programao das tripulaes. Destaca-se que restries de recursos foram inseridas

9 no grafo relacionado s tripulaes com o intuito de limitar o tempo de trabalho e o nmero de paradas em uma jornada. Solues timas so obtidas por um algoritmo branch-and-price-and-cut em que a tcnica de gerao de colunas utilizada para determinar tanto blocos de veculos, quanto jornadas de trabalho para as tripulaes. Com o objetivo de melhorar os limites inferiores obtidos pela relaxao linear do problema, cortes polidricos como propostos em Homan e Padberg [1993] so considerados para os veculos. A modelagem proposta sucientemente genrica para ser estendida para mltiplas garagens e pode receber restries adicionais, porm, somente pequenas instncias envolvendo no mximo 20 viagens so resolvidas na otimalidade em um tempo razovel de CPU. Em Freling et al. [2003] foram apresentadas trs metodologias para resoluo dos problemas de Programao de Veculos e Programao de Tripulaes: A abordagem seqencial em que primeiro resolve-se o PPV e a partir da soluo obtida o PPT solucionado; a programao independente das tripulaes, isto , o PPT resolvido sem considerar a soluo obtida no PPV; e a abordagem integrada em que PPV e PPT so resolvidos simultaneamente. Procurou-se neste trabalho identicar os benefcios da programao integrada de veculos e tripulaes em comparao com a seqencial. Para tanto, foram considerados problemas reais de uma empresa de transporte pblico da Holanda e avaliou-se tanto a situao em que uma tripulao pode realizar troca de veculos durante sua jornada de trabalho, quanto a situao em que esta troca de veculos no permitida. Modelos matemticos so apresentados para as trs abordagens: Seqencial, independente e integrada. Para resoluo do PPVT foi proposta uma heurstica lagrangeana que faz uso da tcnica de gerao de colunas no processo de resoluo do problema relaxado. Nesta abordagem o subproblema lagrangeano considerado o problema de programao de veculos com uma nica garagem, que resolvido pelo algoritmo proposto em Freling et al. [2001]. Durante o processo de resoluo do problema relaxado o conjunto de jornadas de trabalho das tripulaes atualizado, de tal forma que todas as jornadas com custo reduzido negativo sejam consideradas. Como no possvel gerar todas as jornadas das tripulaes de imediato (no se tem uma programao de veculos previamente denida), isto feito dinamicamente a partir de um processo que inicialmente cria partes de jornadas e em seguida combina estas partes formando jornadas. Neste contexto, uma parte de jornada entendida como uma seqncia de tarefas provenientes de um mesmo bloco de veculo e que podem ser realizadas por uma mesma tripulao sem interrupes. Destaca-se que cada tarefa continua sendo denida como o agrupamento de viagens de um mesmo veculo que devem ser obrigatoriamente realizadas por uma mesma tripulao. Resultados computacionais mostram a ecincia da abordagem integrada em diferentes situaes,

10

Captulo 2. Reviso Bibliogrfica

principalmente naquelas em que uma tripulao no pode trocar de veculo. Laurent e Hao [2007] tratam do problema particular de uma companhia de aluguel de limousines que atua na cidade de Paris (Frana). Dado um conjunto de viagens dirias, com seus respectivos horrios e locais de incio e trmino e nmero de passageiros, deseja-se alocar simultaneamente, veculos e motoristas, de tal forma que sejam atendidas tantas viagens demandadas quanto possvel. Destaca-se que cada viagem, no problema abordado, requer um motorista que tenha certa aptido e um veculo com determinadas caractersticas. Outra particularidade refere-se ao fato da carga de trabalho da companhia ser dinmica, pois constantemente viagens so agendadas, canceladas e modicadas, conforme necessidades dos clientes. Assim, o objetivo , ao m de cada dia, determinar as jornadas de trabalho dos veculos e motoristas visando otimizar a utilizao de recursos disponveis, atender certas restries e ao mesmo tempo priorizar a qualidade do servio considerando as viagens at ento agendadas para o prximo dia. Dessa forma, posteriores mudanas no quadro de viagens so tratadas manualmente. Para resolver o problema foi utilizado um algoritmo de duas fases. Inicialmente uma soluo obtida utilizando a tcnica de programao por restries [Tsang, 1993], da seguinte forma: um procedimento construtivo guloso primeiramente dispe as viagens em ordem decrescente de durao e, em seguida, seqencialmente determina um par motorista-veculo para realizar cada uma delas. Aps cada atribuio, um procedimento prev futuros conitos e elimina as possibilidades dos mesmos ocorrerem. Esta fase de construo nalizada quando h um par motorista-veculo alocado a cada viagem ou quando nenhuma atribuio pode mais ser realizada sem que haja violao de alguma restrio. Na segunda fase a soluo gerada melhorada por um procedimento baseado na metaheurstica Simulated Annealing. Para tanto, foram elaborados cinco mecanismos de explorao da vizinhana sendo o espao de busca composto apenas por solues viveis. A avaliao de uma soluo feita considerando vrios objetivos, cada qual com um peso associado. Este peso denido a partir de um parmetro de entrada que reete a importncia do objetivo ao qual se refere em conjunto com um mtodo de aprendizagem que, a partir de vrias execues de diferentes instncias, estima os valores dos atributos da soluo baseado no seu nmero de viagens. Testes foram realizados com 10 quadros de viagens diferentes da companhia de aluguel de limousines. Os resultados obtidos foram comparados com aqueles gerados manualmente e constatou-se que utilizando menos tempo o algoritmo proposto foi capaz de gerar programaes de qualidade muito superior. Outra variao do PPVT aparece quando este resolvido considerando que a frota de veculos, disponvel para realizao das viagens, se encontra espalhada em diferentes garagens. Tal problema conhecido na literatura inglesa como Multiple-Depot Vehicle

11 and Crew Scheduling Problem - MDVCSP. Em Mesquita e Paias [2008] so propostas duas formulaes para o MDVCSP. A primeira (SP-VCSP) similar a uma apresentada em Huisman et al. [2005], porm com um menor nmero de restries e variveis de deciso. Esta formulao combina dois modelos, um de uxos em rede multi-produto para a programao de veculos e outro de particionamento de conjunto para a programao de tripulaes. A segunda formulao (SPC-VCSP) uma extenso da anterior em que algumas restries de particionamento de conjunto so trocadas por restries de cobertura de conjunto. Esta modicao tornou o modelo mais exvel e viabilizou as situaes em que era permitido tripulao trocar de veculos durante a sua jornada de trabalho sem, contudo, aumentar a complexidade do problema. A metodologia de resoluo proposta pelas autoras consiste em quatro etapas: 1. Denio do conjunto de tarefas: Para formao das tarefas (agrupamento de viagens que devem ser realizadas por uma mesma tripulao) primeiramente necessrio denir a programao de veculos. Desconsiderando a necessidade de um veculo retornar sempre para a garagem de origem, o Problema de Programao de Veculos com Mltiplas Garagens conforme formulado no trabalho pde ser resolvido em tempo polinomial (problema de atribuio). Assim, cada bloco de veculo obtido analisado separadamente de tal forma que duas viagens consecutivas so agrupadas em uma nica tarefa sempre que o tempo compreendido entre elas seja inferior a um dado valor e no se viole nenhuma restrio relativa a uma jornada da tripulao; 2. Obteno do conjunto de jornadas inicial: Um conjunto inicial de jornadas de trabalho para as tripulaes se faz necessrio para que seja resolvido o problema de pricing no processo de gerao de colunas (etapa 3). Estas jornadas tambm foram obtidas resolvendo o Problema de Programao de Veculos com Mltiplas Garagens sem a restrio de que os veculos retornem garagem de origem. No entanto, nesta abordagem manipulam-se tarefas ao invs de viagens e se obtm jornadas no lugar de blocos de veculos. Ressalta-se que neste processo jornadas inviveis podem ser construdas, assim aqueles blocos que excedem a durao mxima permitida para uma jornada so particionados e os blocos que violem qualquer outra restrio so mantidos, porm atribui-se um custo elevado a eles; 3. Resoluo da relaxao linear do problema utilizando a tcnica de gerao de colunas: denida uma Rede Jornada, tal que, um caminho na rede corresponde a uma jornada vivel. A jornada com o menor custo reduzido um caminho mnimo na Rede Jornada. Assim, como se deseja inserir vrias colunas (jorna-

12

Captulo 2. Reviso Bibliogrfica das) no problema mestre a cada iterao, o problema de pricing resolvido por programao dinmica. Nesta abordagem, com o intuito de agilizar o processo de resoluo, durante os estgios da programao dinmica so eliminados alguns estados, de duas maneiras: Sempre que o custo reduzido da jornada sendo formada exceder um dado valor pr-denido e de forma randmica; 4. Aplicao de um procedimento de branch and bound caso a soluo obtida na etapa anterior no seja inteira: Basta realizar branching sobre as variveis referentes programao de veculos ou programao de tripulaes, conforme provado neste trabalho.

Captulo 3 Programaes Tradicional e Independente de Veculos e Tripulaes


Conforme mencionado anteriormente existem diferentes maneiras de tratar os problemas de Programao de Veculos e Programao de Tripulaes. Nesse captulo, PPV e PPT, so resolvidos seguindo as estratgias seqencial tradicional e independente. Na abordagem seqencial tradicional inicialmente denida a forma de operao dos veculos e, em seguida, baseando-se na programao obtida para o PPV, so denidas as jornadas de trabalho dos tripulantes. Essa metodologia de resoluo, por si s, j interessante visto que PPV e PPT so problemas de grande relevncia, havendo inclusive, muitos trabalhos na literatura que tratam dos mesmos separadamente. Alm disso, as idias aqui apresentadas se mostram importantes uma vez que so exploradas no decorrer de todo o trabalho e permitem comparar os desempenhos das abordagens, seqencial e integrada, para denio das programaes de veculos e tripulaes considerando problemas reais. Esse captulo est organizado conforme descrito a seguir. Inicialmente, na seo 3.1, so denidos conceitos bsicos sobre o desenvolvimento de heursticas e apresentada a metaheurstica de Busca Local Iterada, tratam-se de tcnicas utilizadas nesse trabalho. Nas sees 3.2 e 3.3 so descritos, respectivamente, o Problema de Programao de Veculos e a metodologia utilizada para resolv-lo. Na seo 3.4 apresentado o Problema de Programao de Tripulaes e, posteriormente, na seo 3.5, o mtodo de resoluo proposto para o PPT mostrado. Por m, a seo 3.6 trata do Problema de Programao Independente de Veculos e Tripulaes, em que PPV e PPT so resolvidos separadamente e sem se relacionarem.

13

Captulo 3. Programaes Tradicional e Independente de Veculos e 14 Tripulaes

3.1

Heursticas

Observa-se que no PPV e PPT o nmero de combinaes, em termos de blocos de veculos e jornadas das tripulaes, cresce exponencialmente com o tamanho da instncia sendo considerada. Tratam-se de problemas altamente combinatoriais e que se enquadram na classe de problemas NP-difcil, no havendo, portanto, algoritmos em tempo polinomial para encontrar solues timas. Dessa forma, torna-se necessria uma abordagem heurstica para soluo de problemas maiores. As heursticas so algoritmos exploratrios que visam obter uma boa soluo a um custo computacional aceitvel, sem contudo, garantir a otimalidade ou quo prxima dela a soluo se encontra. As heursticas so classicadas em construtivas ou de melhoria. Uma heurstica construtiva tem por objetivo determinar uma soluo, elemento por elemento. A forma de escolha de cada elemento a ser inserido na soluo pode variar e depende da estratgia de construo adotada. As heursticas de melhoria, por sua vez, tm a nalidade de melhorar uma soluo construda e normalmente so baseadas no conceito de vizinhana. Sendo S o espao de pesquisa de um problema de otimizao, a funo N associa a cada elemento s S um conjunto N (s) S. O conjnto N(s) chamado de vizinhana de s e cada soluo s N (s) chamada de vizinha de s. Cada soluo s obtida de s a partir de uma operao chamada de movimento, que dene a transio entre solues atravs de pequenas modicaes.

3.1.1

Mtodo de Descida

O Mtodo de Descida uma tcnica iterativa que partindo de uma soluo inicial qualquer explora toda a vizinhana de diferentes solues, at atingir um timo local, do qual o mtodo no capaz de escapar. Inicialmente, o Mtodo de Descida explora toda a vizinhana de sua soluo corrente. Se o melhor vizinho encontrado proporcionar um aprimoramento no valor da funo de avaliao (funo que quantica a qualidade de uma soluo) at ento conhecido, ele aceito como a nova soluo a ser explorada. Caso contrrio, um timo local foi alcanado e a soluo corrente retornada. O Algoritmo 1 mostra o pseudo-cdigo do Mtodo de Descida, cujo objetivo minimizar uma funo de avaliao f. O Mtodo Randmico de Descida uma variante do Mtodo de Descida e sua nalidade evitar, a cada iterao, a busca exaustiva em toda a vizinhana da soluo corrente. A idia bsica dessa tcnica obter, a cada iterao, um vizinho qualquer da soluo

3.1. Heursticas Algoritmo 1: Mtodo de Descida. 1 Seja s0 uma soluo inicial conhecida 2 s s0 , onde s a soluo corrente 3 s melhorV izinho(s), onde s o melhor dentre todos os vizinhos de uma dada soluo s 4 enquanto f (s ) < f (s) faa 5 s s 6 s melhorV izinho(s)
7

15

Retorna a melhor soluo encontrada, s

corrente, admitindo-o como nova soluo corrente caso ele proporcione melhoras no valor da funo de avaliao. Caso contrrio, a soluo corrente mantida inalterada. Esse procedimento se repete at que uma condio de parada seja satisfeita. No Algoritmo 2 apresentado o pseudo-cdigo do Mtodo Randmico de Descida aplicado minimizao de uma funo de avaliao f . Algoritmo 2: Mtodo Randmico de Descida. 1 Seja s0 uma soluo inicial conhecida 2 s s0 , onde s a soluo corrente 3 enquanto condio de parada no for satisfeita faa 4 Seja s N (s) um vizinho qualquer da soluo s 5 se f (s ) < f (s) ento 6 s s
7

Retorna a melhor soluo encontrada, s

3.1.2

Busca Local Iterada

As metaheursticas podem ser vistas como sendo heursticas genricas mais sosticadas, que visam explorar inteligentemente as instncias do problema e o seu espao de solues. Elas se caracterizam pela habilidade de escapar de timos locais. A metaheurstica Busca Local Iterada - ILS (Iterated Local Search) tem como idia principal focar a pesquisa por melhoras apenas no subespao denido pelas solues que so localmente timas segundo um dado procedimento de otimizao, e no em todo o espao de solues. Para tanto proposto o uso de um mtodo de busca local combinado com a aplicao de perturbaes (modicaes realizadas em uma soluo). Assim, a cada iterao do ILS realizada uma perturbao sobre a soluo corrente seguida de um procedimento de busca local que melhorar a soluo perturbada. Essa nova soluo ento avaliada e caso seja satisfeito o critrio de aceitao (por exemplo, se houve melhora na funo de avaliao), ela ser considerada a soluo corrente. Caso

Captulo 3. Programaes Tradicional e Independente de Veculos e 16 Tripulaes contrrio, a soluo corrente mantida inalterada. Esse procedimento repetido at que a condio de parada seja satisfeita. No Algoritmo 3 apresentada a metaheurstica ILS bsica [Loureno et al., 2003] em que se identicam quatro componentes: 1. geraSolucaoInicial : que gera uma soluo inicial s0 para o problema; 2. buscaLocal : que retorna uma soluo melhorada s aps gerao da soluo inicial e outra s aps perturbao; 3. perturbacao: que modica a soluo corrente s guiando a uma soluo intermediria s. Uma perturbao eciente aquela que no altera drasticamente a soluo corrente, mas, ainda assim, permite que a busca local explore diferentes regies; 4. criterioAceitacao: deciso que se refere tanto aceitao da soluo perturbada como soluo corrente, quanto quo intensa ser a prxima perturbao a ser aplicada (isto , determinao do nvel de perturbao).

Algoritmo 3: ILS - Busca Local Iterada. 1 s0 geraSolucaoInicial() 2 s buscaLocal(s0 ), onde s a soluo corrente 3 enquanto condio de parada no for satisfeita faa 4 s perturbacao(historico, s) 5 s buscaLocal(s ) 6 s criterioAceitacao(s, s , historico)
7

Retorna a soluo s

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

3.2

Descrio do Problema de Programao de Veculos

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

3.2. Descrio do Problema de Programao de Veculos

17

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

Nmero da Viagem 1 2 3 4 5 6 7 8 9 10

Horrio de Incio 5 5 20 240 255 260 270 270 270 280

Ponto Inicial 30 302 30 302 30 302 305 30 326 30

Horrio de Trmino 70 38 76 265 309 281 335 331 300 340

Ponto Final 30 302 30 302 30 302 305 30 326 30

Linha 30.4 302.4 30.4 302.4 30.3 302.1 305.1 30.3 326.1 30.3

Tempo de Embarque 1 1 1 1 1 1 1 1 1 1

Tempo de Desembarque 1 1 1 1 2 1 2 2 2 2

Na tabela de horrios, cada viagem identicada univocamente por meio de um conjunto de caractersticas que consistem em informaes relevantes no processo de resoluo do problema. Organizados em colunas e aparecendo seqencialmente na tabela, temos: o nmero da viagem, horrio de incio da viagem (em minutos), o ponto inicial que corresponde ao local de incio da viagem, horrio de trmino da viagem (em minutos), o ponto nal que se refere ao local em que a viagem termina, a linha a qual a viagem pertence, e nalmente as duas ltimas colunas que se referem respectivamente aos tempos destinados ao embarque e desembarque de passageiros, dados em minutos, e que no necessariamente so iguais, sendo o primeiro dependente do horrio de incio da viagem e o segundo do horrio de m da mesma. Para exemplicar, considere a primeira viagem 1 apresentada na Tabela 3.1. Essa viagem comea no ponto 30 aos 5 minutos do dia, ou seja, s 00:05 horas e nalizada no ponto 30 aos 70 minutos do dia, que corresponde s 01:10 horas. As duas ltimas colunas indicam que o veculo que far a viagem 1 permanecer um minuto no terminal para embarque e aps chegar ao destino mais um minuto de terminal dever ser cumprido para permitir o desembarque de passageiros. Alm do conjunto de viagens, devem ser fornecidas tambm informaes relativas aos tempos de deslocamento entre os vrios pontos de parada dos veculos, incluindo a garagem. De posse dessas informaes possvel determinar o tempo que um veculo gasta fora de operao, ou seja, sem passageiros, para sair de um ponto e chegar a outro. A este tipo de deslocamento dado o nome de viagem morta.

Captulo 3. Programaes Tradicional e Independente de Veculos e 18 Tripulaes Para que a programao de atividades da frota seja factvel necessrio atender a uma srie de restries, as quais podem variar conforme as polticas operacionais que regem o Sistema de Transporte Pblico Urbano por nibus no qual a empresa atua. No problema sendo abordado considerado que todos os veculos da frota so idnticos e que partem de uma mesma garagem. As restries que sero levadas em considerao so as seguintes: (a) Todas as viagens de responsabilidade de uma empresa, sem excees, devem ser realizadas por algum veculo da frota; (b) Antes de se iniciar e aps nalizar uma viagem, um veculo deve obrigatoriamente cumprir um tempo mnimo no terminal, que corresponde ao tempo necessrio para o embarque e desembarque dos passageiros; (c) Um mesmo veculo somente poder realizar duas viagens, i e j, consecutivamente, se o intervalo de tempo existente entre elas for suciente para que o veculo desloque do ponto nal da viagem i para o ponto inicial da viagem j, respeite os tempos destinados para embarque e desembarque de passageiros e inicie a viagem j sem atrasos. Caso contrrio, ocorrer uma sobreposio de horrios entre as viagens; (d) Um veculo no deve car mais de duas horas em um terminal esperando para executar a sua prxima viagem. Se o tempo de espera exceder esse limite, o veculo dever se deslocar para a garagem. Diz-se, nesse ltimo caso, que o veculo est realizando uma dupla pegada; (e) O nmero de duplas pegadas da programao no pode exceder 60% do tamanho da frota; (f) Todo veculo deve iniciar e terminar a sua jornada de trabalho na garagem; (g) Todo veculo deve permanecer, no mnimo, trinta minutos consecutivos na garagem, por dia, para que ocorra a sua manuteno e limpeza. Este tempo pode ser cumprido quando o veculo pra na garagem durante uma dupla pegada ou mesmo depois de completada toda a sua jornada operacional diria. Neste trabalho o objetivo obter uma programao de veculos em que o tamanho da frota utilizada e os deslocamentos dos veculos fora de operao (deslocamentos que no equivalem a nenhuma viagem) sejam minimizados. A soluo para o Problema de Programao de Veculos consiste, portanto, em atribuir um conjunto de viagens para um nmero de veculos menor ou igual frota

3.3. Mtodo de Soluo do PPV

19

disponvel pela empresa, considerando as restries apresentadas acima, de tal forma que todas as viagens sejam realizadas com o menor custo operacional possvel. Ao se resolver o PPV tem-se como resultado os chamados blocos dos veculos. Cada um destes blocos corresponde a um conjunto de viagens que sero executadas por um mesmo veculo.

3.3

Mtodo de Soluo do PPV

Nesta seo apresentada a metodologia proposta para resolver o PPV. Na subseo 3.3.1 mostra-se como uma soluo para o problema representada. Na subseo 3.3.2 so apresentadas as estruturas de vizinhana desenvolvidas para explorar o espao de busca. Na subseo 3.3.3 mostrada a funo de avaliao que foi elaborada para quanticar a qualidade de uma soluo. Descreve-se na subseo 3.3.4 o procedimento de gerao da soluo inicial. Por m, na subseo 3.3.5, apresentado o algoritmo proposto para resolver o problema.

3.3.1

Representao

Uma soluo sv para o PPV consiste em uma lista de veculos, sendo que a cada veculo est associada uma lista de viagens a serem por ele executadas durante um dia de trabalho. pertinente ressaltar que as viagens realizadas por cada veculo so mantidas ordenadas por seus horrios de incio. Esta abordagem importante, uma vez que atravs dela ser possvel avaliar a jornada de trabalho de um veculo sob vrios aspectos, tais como: tempo de locomoo fora de operao (viagem morta), tempo de espera no terminal e total de retornos garagem. A Figura 3.1 ilustra uma soluo sv para o PPV, na qual uma frota de quatro veculos deve executar doze viagens a ela alocadas.

3.3.2

Estruturas de Vizinhana

Para explorar o espao de solues do PPV foram utilizados trs tipos de movimentos que denem, respectivamente, as estruturas de vizinhana V N (R) , V N (T ) e V N (RT ) , so eles: realocao de viagem, troca de viagens e realocao-troca de viagens. A realocao consiste em transferir uma viagem pertencente a um veculo para outro veculo. O movimento de troca corresponde em permutar uma viagem de um dado veculo com uma viagem pertencente a outro veculo. J o movimento de realocaotroca de viagens envolve trs veculos, v1 , v2 e v3 , o veculo v1 tem uma de suas viagens transferida para o veculo v2 e o veculo v2 , por sua vez, cede uma de suas viagens (desde

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

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

que no seja a viagem proveniente de v1 ) para o veculo v3 . Portanto, neste movimento o veculo v2 troca uma de suas viagens a partir de duas realocaes sucessivas. Na Figura 3.2 esto ilustrados estes movimentos.

3.3.3

Funo de Avaliao

A funo elaborada para quanticar a qualidade de uma soluo para o PPV baseada na penalizao dos atributos indesejveis da programao. Portanto, uma soluo sv para o Problema de Programao de Veculos avaliada com base na seguinte funo, a qual deve ser minimizada: f v (sv ) = totalV eiculos custoU soV eiculo + tempoV iagemM orta custoV iagemM orta + totalExcessoDP pesoInviabilidade + tempoSobreposicao pesoInviabilidade em que: (a) totalVeiculos a quantidade de veculos utilizados; (b) custoUsoVeiculo o custo associado ao uso de um veculo; (c) tempoViagemMorta o tempo total, em minutos, que foi despendido com os deslocamentos realizados fora de operao (viagem morta), considerando todos os veculos da frota;

(3.1)

3.3. Mtodo de Soluo do PPV

21

Figura 3.2. Estruturas de vizinhana do PPV.

(d) custoViagemMorta o custo associado a cada minuto de viagem morta realizada por um veculo; (e) totalExcessoDP a quantidade de duplas pegadas da programao que supera um certo nmero admissvel, previamente denido; (f) tempoSobreposicao a soma, dada em minutos, de todos os intervalos de tempo em que h sobreposio de horrios entre viagens de um mesmo veculo da programao. Tambm ser considerado sobreposio, o tempo faltante para que sejam completados os trinta minutos dirios na garagem de cada veculo que no contemple esta restrio. Destaca-se que na sobreposio de horrios entre duas

Captulo 3. Programaes Tradicional e Independente de Veculos e 22 Tripulaes viagens esto embutidos os tempos para embarque e desembarque de passageiros e de deslocamento do veculo que no foram respeitados; (g) pesoInviabilidade o peso dado a cada inviabilidade presente na soluo.

3.3.4

Procedimento de Gerao da Soluo Inicial

A programao de veculos inicial gerada por uma heurstica construtiva gulosa. Em heursticas deste tipo uma soluo construda iterativamente, elemento por elemento, tomando-se a cada passo a melhor deciso segundo um dado critrio. No algoritmo proposto, inicia-se com uma frota formada por um nico veculo com jornada vazia e um conjunto de viagens a serem realizadas, dispostas ordenadas crescentemente pelo horrio de incio. A cada passo, remove-se a primeira viagem do conjunto e a aloca na jornada de trabalho diria de algum veculo da frota. Esta combinao deve ser a que implique no menor custo possvel de operao determinado pela aplicao da funo de avaliao descrita anteriormente pela expresso (3.1). medida que a soluo vai sendo gerada novos veculos so criados dinamicamente, de tal maneira que, sempre seja avaliada a atribuio de uma viagem a um veculo com jornada vazia. Este processo repetido at que no haja mais viagens a serem alocadas. O Algoritmo 4, a seguir, mostra o pseudo-cdigo da heurstica construtiva gulosa utilizada no PPV.

3.3.5

Algoritmo de Resoluo

Na resoluo do PPV foram utilizados procedimentos de busca local baseados no Mtodo de Descida e no Mtodo Randmico de Descida, descritos na subseo 3.1.1 na pgina 14, so eles: 1. DescidaComRealocacao_PPV e DescidaRandomicaComRealocacao_PPV que consideram durante as buscas a estrutura de vizinhana V N (R) (realocao de viagem); 2. DescidaComTroca_PPV e DescidaRandomicaComTroca_PPV que consideram durante as buscas a estrutura de vizinhana V N (T ) (troca de viagens). Destaca-se que os mtodos DescidaRandomicaComRealocacao_PPV e DescidaRandomicaComTroca_PPV foram utilizados com o intudo de introduzir uma certa aleatoriedade ao processo de busca por melhoras e, ao mesmo tempo, torn-lo menos dispendioso em relao ao tempo de processamento. Para tanto, as escolhas dos veculos e das viagens manipulados nos movimentos so feitas de forma aleatria e a soluo

3.3. Mtodo de Soluo do PPV Algoritmo 4: Heurstica para gerao de uma soluo inicial para o PPV. 1 Seja T o conjunto de viagens a serem realizadas, com T ordenado crescentemente por horrio de incio de suas viagens 2 Seja F o conjunto de veculos da empresa, inicialmente F possui um nico veculo sem qualquer viagem 3 enquanto T = faa 4 t primeira viagem de T 5 melhorDelta , onde melhorDelta a melhor variao ocorrida na funo de avaliao ao se alocar a viagem t 6 para cada veculo v F faa 7 custoAnterior custo do veculo v antes de receber a viagem t 8 custoP osterior novo custo do veculo v caso a viagem t seja inserida em sua jornada de trabalho diria 9 Calcule a variao de custo do veculo v caso ele receba a viagem t: custoP osterior custoAnterior 10 se < melhorDelta ento 11 melhorDelta 12 melhorV eiculo info(v), isto , armazene uma informao que permita identicar o veculo da frota que ir contribuir menos para o valor da funo de avaliao ao receber a viagem t
13 14

23

15 16 17 18

se melhorV eiculo no possui viagens ento Crie um novo veculo sem viagens e adicione ao conjunto F . (criao dinmica de veculo, mantendo sempre um veculo sem viagens em F ) Aloque a viagem t ao veculo da frota F indicado por melhorV eiculo f o f o + melhorDelta, ou seja, atualize o valor da funo de avaliao Remova t de T Retorne, como soluo, a programao da frota F da empresa

corrente atualizada sempre que a soluo vizinha tenha reduzido o valor da melhor funo de custo at ento obtida. Alm disso, a condio de parada destes procedimentos determinada pelo nmero de iteraes sem melhoras na soluo corrente, conforme expresso (3.2) a seguir: itM axP P V = (total_viagens (total_veiculos 1)) 0, 6 onde: (a) itM axP P V o nmero mximo de iteraes sem melhoras na soluo corrente; (b) total_viagens o nmero de viagens a serem realizadas; (c) total_veiculos o nmero de veculos sendo empregados na programao. (3.2)

Captulo 3. Programaes Tradicional e Independente de Veculos e 24 Tripulaes Dessa forma, o nmero mximo de iteraes sem melhoras, itM axP P V , ser igual a 60% do total de possveis realocaes de viagens considerando a programao de veculos atual. Tal percentual foi denido empiricamente de forma a encontrar uma boa relao entre o tempo de execuo da busca e a qualidade da soluo obtida. Esta estratgia interessante, uma vez que, relaciona o valor de itM axP P V com o tamanho do problema sendo considerado. O procedimento proposto neste trabalho para resolver o Problema de Programao de Veculos, cujo pseudo-cdigo apresentado pelo Algoritmo 5, baseado na metaheurstica Busca Local Iterada. Uma soluo inicial para o PPV obtida pela heurstica construtiva gulosa descrita anteriormente na subseo 3.3.4. Em seguida, com o objetivo de melhorar a qualidade da programao, foram utilizados os procedimentos de busca local DescidaRandomicaComRealocacao_PPV, DescidaRandomicaComTroca_PPV, DescidaComRealocacao_PPV e DescidaComTroca_PPV. As perturbaes correspondem a movimentos realizados sobre a soluo corrente e que envolvem veculos e viagens aleatoriamente selecionados na programao. H cinco nveis de perturbao, so eles: nvel 1 - um movimento de realocao de viagem, nvel 2 - um movimento de troca de viagens, nvel 3 - dois movimentos de realocao de viagem, nvel 4 - dois movimentos de troca de viagens e nvel 5 - um movimento de realocao-troca de viagens. Os procedimentos de busca local utilizados para renar a soluo perturbada fundamentam-se no Mtodo Randmico de Descida, so eles: DescidaRandomicaComRealocacao_PPV e DescidaRandomicaComTroca_PPV. Uma nova soluo para o PPV somente ser aceita se ela for de qualidade melhor ou igual a da soluo corrente (linhas 15 e 18). No primeiro caso, o nvel de perturbao reiniciado de forma a intensicar a busca na nova soluo obtida. Nas demais situaes o nvel de perturbao aumentado em um ou reiniciado (caso j se esteja no nvel de perturbao mais alto).

3.4. Descrio do Problema de Programao de Tripulaes

25

Algoritmo 5: Algoritmo de resoluo do PPV.


1

2 3 4 5

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Seja T o tempo de processamento corrente do algoritmo e T max o tempo mximo admissvel de processamento Seja nivel o nvel de perturbao corrente T 0 nivel 1 Gere uma soluo inicial sv a partir da heurstica construtiva gulosa descrita pelo Algoritmo 4, na pgina 23 sv DescidaRandomicaComRealocacao_P P V (sv ) sv DescidaRandomicaComT roca_P P V (sv ) sv DescidaComRealocacao_P P V (sv ) sv DescidaComT roca_P P V (sv ) sv sv , onde sv a melhor soluo encontrada at ento enquanto T < T max faa sv perturbacao(sv , nivel) v s DescidaRandomicaComRealocacao_P P V (sv ) sv DescidaRandomicaComT roca_P P V (sv ) se f v (sv ) < f v (sv ) ento v v s s , ou seja, atualize a melhor soluo at ento encontrada nivel 1 se f v (sv ) = f v (sv ) ento v v s s , ou seja, atualize a melhor soluo at ento encontrada nivel nivel + 1 se f v (sv ) > f v (sv ) ento nivel nivel + 1 se nivel > numN iveis ento nivel 1, onde numN iveis o nmero mximo de nveis de perturbao Retorne a soluo sv

3.4

Descrio do Problema de Programao de Tripulaes

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

Captulo 3. Programaes Tradicional e Independente de Veculos e 26 Tripulaes onrios: um motorista e um cobrador. O Problema de Programao de Tripulaes (PPT) consiste em criar jornadas dirias de trabalho para os motoristas e cobradores de tal forma a viabilizar a execuo de todas as viagens da empresa. Alm disso, esta distribuio de trabalho deve ser realizada de maneira a minimizar os custos com mode-obra e ao mesmo tempo obedecer legislao trabalhista e as regras operacionais sob as quais a empresa atua. Uma limitao para a resoluo do PPT o fato de que no entre quaisquer viagens de um veculo que poder haver a troca de tripulao. Esta s ocorrer nas chamadas oportunidades de troca, ou seja, em locais e em intervalos de tempo que possibilitem a mudana de tripulao e a reviso do veculo (vericao do estado em que a tripulao anterior deixou o nibus). Assim, na abordagem seqencial tradicional, antes de efetivamente se gerar a programao de tripulaes, os blocos de veculos so quebrados em tarefas. Uma tarefa engloba viagens consecutivas, de um mesmo veculo, entre as quais no h nenhuma oportunidade de troca e caracterizada pelos seguintes atributos: veculo ao qual pertence, horrio de incio, horrio de trmino, ponto inicial, ponto nal, folga acumulada (isto , tempo ocioso da tripulao no decorrer da tarefa) e durao. Esta estratgia de construir tarefas facilita a resoluo do PPT, pois mantm as viagens que obrigatoriamente devem ser realizadas por uma mesma tripulao juntas, evitando dessa forma que as solues do PPV e PPT sejam incompatveis. Supondo que para ocorrer a troca de tripulao necessrio um tempo maior ou igual a seis minutos entre as viagens, um exemplo de um bloco de veculo particionado em tarefas mostrado na Figura 3.3 a seguir. Alm dos atributos normais de uma viagem, no exemplo, as colunas Viagem Morta e Tempo de Terminal apresentam, respectivamente, os tempos em minutos, de deslocamento do veculo fora de operao e de espera no terminal aguardando o horrio de incio da prxima viagem programada. Nesta gura observa-se, por exemplo, que a Tarefa 5 engloba as viagens 101, 120 e 149 por no haver um tempo suciente entre elas para que ocorra a troca de tripulao. Esta tarefa iniciar s 15:15 horas, no ponto 3055, e ser nalizada neste mesmo ponto s 20:04 horas. Assim sendo, a Tarefa 5 possui uma durao de 4 horas e 49 minutos e sua folga acumulada de quatro minutos. Vale ressaltar que as tarefas so construdas de tal forma a cobrir no apenas as viagens operacionais dos veculos, mas como tambm os deslocamentos sem passageiros dos mesmos, conforme pode ser notado nas estruturas das tarefas Tarefa 1, Tarefa 3 e Tarefa 6 do exemplo. A tarefa 1 considera o deslocamento do veculo da garagem para o ponto de incio de sua primeira viagem, a tarefa 3 contempla o reposicionamento do veculo do ponto 3050 (local de m da viagem 60) para o

3.4. Descrio do Problema de Programao de Tripulaes

27

ponto 3055 (local de incio da prxima viagem, viagem 87) e a Tarefa 6 cobre o retorno do veculo garagem ao m de sua jornada de trabalho.

Figura 3.3. Bloco de veculo particionado em tarefas.

Destaca-se que na resoluo do PPV a unidade manipulada a viagem, j no PPT a tarefa (a menor poro de uma jornada de trabalho de uma tripulao). As jornadas geradas pela resoluo do PPT podem ser de dois tipos: pegada simples ou dupla pegada. Uma jornada do tipo pegada simples aquela em que todos os intervalos entre suas tarefas consecutivas so inferiores a duas horas, ou seja, a tripulao responsvel por essa jornada trabalhar um nico turno. Aquelas jornadas que possuem um intervalo de tempo, entre duas de suas tarefas consecutivas, igual ou superior a duas horas, so classicadas como do tipo dupla pegada e so realizadas em dois turnos, sendo esta extensa pausa entre tarefas no remunerada pela empresa. No problema sendo abordado, a durao normal de uma jornada seja ela de pegada simples ou de dupla pegada de 6:40 horas de efetivo trabalhado. No caso de pegada simples, a tripulao tem direito a um intervalo de 20 minutos para descanso e/ou alimentao. Assim, a durao de sua jornada estende-se a 7:00 horas. Na formao das jornadas a legislao trabalhista e as regras operacionais devem ser obrigatoriamente satisfeitas para que uma soluo para o PPT seja vivel. As restries que sero levadas em considerao so as seguintes: (a) Uma tripulao no pode executar duas tarefas simultaneamente, isto , em nenhuma jornada poder ocorrer coincidncias de horrio entre quaisquer de suas tarefas;

Captulo 3. Programaes Tradicional e Independente de Veculos e 28 Tripulaes (b) Uma tripulao somente poder realizar a troca de veculos nas seguintes circunstncias: nas situaes em que os veculos envolvidos se encontram em um mesmo terminal no momento da troca, basta que a tripulao tenha um pequeno intervalo ocioso (cinco minutos no mnimo) para que ela abandone um veculo e desloque rapidamente para assumir o outro. Caso contrrio, se os veculos envolvidos esto em terminais distintos, a troca somente poder ocorrer no intervalo entre os turnos de uma jornada do tipo dupla pegada. Esta ltima condio se faz necessria devido ao fato de a distncia entre os diferentes terminais ser grande. Vale ressaltar que um terminal o local de disposio dos vrios pontos de parada dos veculos e onde ocorre o embarque e desembarque de passageiros; (c) Uma tripulao pode extrapolar, no mximo, duas horas dirias de trabalho alm da durao normal de sua jornada, sendo este tempo excedente considerado hora extra; (d) Toda jornada do tipo pegada simples deve ter uma folga mnima de 20 minutos, podendo esta ser fracionada em dois intervalos, tendo cada um, uma durao igual ou superior a 10 minutos; (e) O intervalo mnimo entre o nal de uma jornada e o incio da mesma no dia seguinte dever ser de 11:00 horas; (f) O nmero de jornadas de trabalho do tipo dupla pegada no pode exceder a 20% do total de tripulaes da programao. Neste trabalho o objetivo obter uma programao de tripulaes que priorize a diminuio dos custos com mo-de-obra. importante destacar que isto no implica em apenas reduzir ao mximo o nmero de tripulantes empregados, mas baseando-se nos gastos envolvidos com a contratao e extenso da jornada (hora extra) de um funcionrio, obter a melhor distribuio de trabalho em termos nanceiros. Portanto, uma soluo para o PPT um conjunto de jornadas de trabalho, sendo cada uma delas realizada por uma tripulao pertencente ao quadro de funcionrios da empresa. O objetivo minimizar o custo com a remunerao das tripulaes, mas ao mesmo tempo cumprir as regras de carter operacional e jurdico envolvidos.

3.5

Mtodo de Soluo do PPT

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

3.5. Mtodo de Soluo do PPT

29

desta seo. Na subseo 3.5.1 mostra-se como uma soluo para o PPT representada. Em seguida, na subseo 3.5.2, so descritos os tipos de movimentos utilizados para explorar o espao de busca. Mostra-se na subseo 3.5.3 como se avalia uma soluo do problema. O procedimento de construo das tarefas detalhado na subseo 3.5.4. Os algoritmos para gerao das solues inicial e nal para o PPT so descritos, respectivamente, nas subsees 3.5.5 e 3.5.6.

3.5.1

Representao

Uma soluo st para o PPT consiste em uma lista de jornadas, sendo que a cada jornada est associada uma lista de tarefas a serem executadas por uma mesma tripulao, durante um dia de trabalho, ordenadas crescentemente por seus horrios de incio. Apesar de ser computacionalmente custoso manter as tarefas ordenadas, esta disposio se faz necessria, pois atravs dela possvel determinar caractersticas relevantes da jornada, tais como: nmero de trocas de veculos realizadas, tempo de ociosidade, tipo de jornada (pegada simples ou dupla) e existncia de sobreposio entre tarefas.

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

3.5.2

Estruturas de Vizinhana

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

Captulo 3. Programaes Tradicional e Independente de Veculos e 30 Tripulaes a jornada j2 e a jornada j2 , por sua vez, cede uma de suas tarefas (desde que no seja a tarefa proveniente de j1 ) para a jornada j3 . Portanto, foram denidas para o PPT as estruturas de vizinhana CN (R) que se refere ao movimento de realocao de tarefa, CN (T ) associada ao movimento de troca de tarefas e CN (RT ) relacionada ao movimento de realocao-troca de tarefas. Os movimentos de realocao, troca e realocao-troca de tarefas esto representados na Figura 3.5.

Figura 3.5. Estruturas de vizinhana do PPT.

3.5. Mtodo de Soluo do PPT

31

3.5.3

Funo de Avaliao

Uma soluo st para o Problema de Programao de Tripulaes avaliada penalizando-se os seus atributos indesejveis. Portanto, o PPT nesta abordagem tratado como um problema de minimizao, cujo custo associado calculado pela funo f t , conforme apresentado a seguir pela expresso (3.3). f t (st ) = totalT ripulacoes custoU soT ripulacao + tempoHoraExtra custoHoraExtra + totalExcessoDP pesoInviabilidade + tempoSobreposicao pesoInviabilidade em que: (a) totalTripulacoes o nmero de tripulaes empregadas na programao; (b) custoUsoTripulacao o custo associado a cada tripulao sendo utilizada; (c) tempoHoraExtra o tempo total de horas extras, em minutos, considerando todas as tripulaes da programao; (d) custoHoraExtra o custo associado a cada minuto de hora extra realizada por uma tripulao; (e) totalExcessoDP a quantidade de duplas pegadas da programao que supera um certo nmero admissvel, previamente denido; (f) tempoSobreposicao a soma, dada em minutos, de todos os intervalos de tempo em que h sobreposio de horrios entre tarefas de uma mesma tripulao da programao. Destaca-se que, tambm ser considerado sobreposio, o tempo faltante para que sejam completadas as 11:00 horas de intervalo entre o nal de uma jornada e o incio da mesma no dia seguinte; (g) pesoInviabilidade o peso dado a cada inviabilidade presente na soluo.

(3.3)

3.5.4

Procedimento de Construo das Tarefas

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

Captulo 3. Programaes Tradicional e Independente de Veculos e 32 Tripulaes 1. Se i a primeira viagem do veculo, ento a tarefa t inicia na garagem, cobrindo assim, o deslocamento fora de operao realizado da garagem para o ponto de incio da viagem i; 2. Se i a ltima viagem do veculo, ento a tarefa t nalizada na garagem, aps cobrir a viagem i, e no h mais tarefas a serem construdas. Caso contrrio, se aps a viagem i o veculo realiza a viagem j (que ser a viagem a ser analisada na prxima iterao), tem-se que: a) Se entre as viagens i e j no houver uma oportunidade de troca, ambas sero agrupadas na tarefa t e a folga acumulada da tarefa t ser acrescida do tempo de ociosidade do veculo entre as viagens i e j. Neste caso, a tarefa t continua em processo de construo; b) Se entre as viagens i e j o veculo retorna garagem (ou seja, entre estas viagens houver uma dupla pegada), a tarefa t nalizada na garagem aps cobrir a viagem i e uma nova tarefa t iniciar na garagem. Assim, a nova tarefa em formao ser t e esta cobrir o deslocamento fora de operao realizado da garagem para o ponto de incio da viagem j ; c) Se entre as viagens i e j houver uma oportunidade de troca e, o veculo no realizar dupla pegada entre elas, a tarefa t cobre a viagem i e nalizada no ponto de incio da viagem j. Dessa forma, caso ocorra deslocamento fora de operao entre as viagens i e j, ele ser coberto pela tarefa t. Em seguida, inicia-se uma nova tarefa, t, no ponto de incio da viagem j e esta passa a ser a tarefa em construo. Conforme pode ser observado o procedimento de construo das tarefas contempla todos os deslocamentos realizados pelos veculos e engloba, em uma nica tarefa, viagens que devem ser realizadas por uma mesma tripulao.

3.5.5

Procedimento de Gerao da Soluo Inicial

Antes de dar incio ao processo de resoluo do PPT, dada a programao de veculos, devem ser denidas as suas tarefas. Para tanto, foi utilizado o procedimento de construo das tarefas descrito anteriormente na subseo 3.5.4. A programao de tripulaes inicial gerada por uma heurstica construtiva gulosa (Algoritmo 6). O algoritmo proposto consiste na alocao, a cada passo, de uma nova tarefa na jornada de trabalho diria de alguma tripulao. Esta combinao (tarefajornada) deve ser a que implique no menor custo possvel, determinado pela aplicao da funo de avaliao apresentada anteriormente pela expresso (3.3).

3.5. Mtodo de Soluo do PPT

33

Destaca-se que, durante a denio da programao, jornadas so criadas dinamicamente conforme demanda por mo-de-obra (linhas 13 e 14, no Algoritmo 6). Algoritmo 6: Heurstica para gerao de uma soluo inicial para o PPT. 1 Seja T o conjunto de tarefas obtidas pelo procedimento de construo de tarefas descrito na subseo 3.5.4, na pgina 31. Em T , tarefas de um mesmo veculo se encontram dispostas seqencialmente e ordenadas crescentemente por horrio de incio 2 Seja J o conjunto de jornadas dirias de trabalho, inicialmente J possui uma nica jornada sem qualquer tarefa 3 enquanto T = faa 4 t primeira tarefa de T 5 melhorDelta , onde melhorDelta a melhor variao ocorrida na funo de avaliao ao se alocar a tarefa t 6 para cada jornada j J faa 7 custoAnterior custo da jornada j antes de receber a tarefa t 8 custoP osterior custo da jornada j caso a tarefa t passe a pertencer a ela 9 Calcule a variao de custo da jornada j aps receber a tarefa t: custoP osterior custoAnterior 10 se < melhorDelta ento 11 melhorDelta 12 melhorJornada info(j), isto , armazene uma informao que permita identicar a jornada que ir contribuir menos para o valor da funo de avaliao ao receber a tarefa t
13 14

15 16 17 18

se melhorJornada no possui tarefas ento Crie uma nova jornada sem tarefas e adicione ao conjunto J. (criao dinmica de jornada, mantendo sempre uma jornada sem tarefas em J) Aloque a tarefa t jornada do conjunto J indicada por melhorJornada f o f o + melhorDelta, ou seja, atualize o valor da funo de avaliao Remova t de T Retorne, como soluo, o conjunto de jornadas J

3.5.6

Algoritmo de Resoluo

A heurstica proposta para resoluo do PPT utiliza as mesmas idias apresentadas anteriormente para tratar o PPV. O seu pseudo-cdigo apresentado a seguir pelo Algoritmo 7. Trata-se de um procedimento fundamentado na metaheurstica Busca Local Iterada em que, primeiramente, uma soluo inicial gerada pela heurstica construtiva gulosa descrita na subseo 3.5.5. Com o objetivo de melhorar a qualidade das solues obtidas, foram utilizados procedimentos de busca local baseados no Mtodo de Descida

Captulo 3. Programaes Tradicional e Independente de Veculos e 34 Tripulaes e no Mtodo Randmico de Descida, so eles: DescidaComRealocacao_PPT e DescidaRandomicaComRealocacao_PPT que consideram durante as buscas a estrutura de vizinhana CN (R) (realocao de tarefa), e DescidaComTroca_PPT e DescidaRandomicaComTroca_PPT que limitam suas pesquisas ao conjunto de solues dado por CN (T ) (troca de tarefas). Algoritmo 7: Algoritmo de resoluo do PPT. 1 Seja T o tempo de processamento corrente do algoritmo e T max o tempo mximo admissvel de processamento 2 Seja nivel o nvel de perturbao corrente 3 T 0 4 nivel 1 5 Gere uma soluo inicial st a partir da heurstica construtiva gulosa descrita pelo Algoritmo 6, na pgina 33 6 st DescidaRandomicaComRealocacao_P P T (st ) 7 st DescidaRandomicaComT roca_P P T (st ) 8 st DescidaComRealocacao_P P T (st ) 9 st DescidaComT roca_P P T (st ) 10 st st , onde st a melhor soluo encontrada at ento 11 enquanto T < T max faa 12 st perturbacao(st , nivel) 13 st DescidaRandomicaComRealocacao_P P T (st ) 14 st DescidaRandomicaComT roca_P P T (st ) se f t (st ) < f t (st ) ento 15 16 st st , ou seja, atualize a melhor soluo at ento encontrada 17 nivel 1
18 19 20 21 22 23 24 25

se f t (st ) = f t (st ) ento st st , ou seja, atualize a melhor soluo at ento encontrada nivel nivel + 1 se f t (st ) > f t (st ) ento nivel nivel + 1 se nivel > numN iveis ento nivel 1, onde numN iveis o nmero mximo de nveis de perturbao Retorne a soluo st

Destaca-se que nos mtodos DescidaRandomicaComRealocacao_PPV e DescidaRandomicaComTroca_PPV a condio de parada determinada pelo nmero de iteraes sem melhoras na soluo corrente, conforme expresso (3.4) a seguir: itM axP P T = (total_taref as (total_jornadas 1)) 0, 6 onde: (3.4)

3.6. Programao Independente de Veculos e Tripulaes

35

(a) itM axP P T o nmero mximo de iteraes sem melhoras na soluo corrente; (b) total_tarefas o nmero de tarefas a serem realizadas; (c) total_jornadas o nmero de jornadas da programao. Dessa forma, o nmero mximo de iteraes sem melhoras, itM axP P T , corresponder a 60% do total de possveis realocaes de tarefas, considerando a programao de tripulaes atual. As perturbaes, neste contexto, correspondem a movimentos de realocao, troca e realocao-troca envolvendo tripulaes e tarefas aleatoriamente selecionadas na programao. H cinco nveis de perturbao, so eles: nvel 1 - um movimento de realocao de tarefa, nvel 2 - um movimento de troca de tarefas, nvel 3 - dois movimentos de realocao de tarefas, nvel 4 - dois movimentos de troca de tarefas e nvel 5 - um movimento de realocao-troca de tarefas. Uma nova soluo para o PPT somente ser aceita se ela possuir um custo menor ou igual ao custo da soluo corrente. No primeiro caso, o nvel de perturbao reiniciado de forma a intensicar a busca na nova soluo obtida. Nas demais situaes o nvel de perturbao aumentado em um ou reiniciado (caso j se esteja no nvel de perturbao mais alto).

3.6

Programao Independente de Veculos e Tripulaes

Verica-se que na abordagem seqencial tradicional a soluo do PPV impe restries adicionais resoluo do PPT. Este fato claramente evidenciado na formao das tarefas, pois estas contemplam os deslocamentos fora de operao dos veculos e aglomeram viagens que obrigatoriamente devero ser realizadas pela mesma tripulao, devido impossibilidade dos veculos de efetivarem a troca entre algumas de suas viagens. Na abordagem independente PPV e PPT so resolvidos separadamente, em qualquer ordem e de forma a no se relacionarem. Para tanto, a estratgia de resoluo adotada igual apresentada anteriormente, na abordagem seqencial, exceto pelo fato de que cada tarefa no PPT passa a corresponder a exatamente uma viagem. Alm disso, supe-se que todas as tarefas so realizadas por um mesmo veculo para que no haja a necessidade de contemplar trocas de veculos na programao de tripulaes. Assim, so eliminados todos os vnculos entre as programaes de veculos e tripulaes e ambas passam a ser denidas a partir do conjunto de viagens.

Captulo 3. Programaes Tradicional e Independente de Veculos e 36 Tripulaes Dicilmente a programao independente de veculos e tripulaes gera solues para PPV e PPT que sejam compatveis e factveis na prtica. A principal nalidade desta metodologia a determinao de uma melhor programao para as tripulaes desconsiderando, para tanto, a programao dos veculos. Desta forma, uma comparao entre as solues obtidas nessa abordagem e na seqencial tradicional permite identicar os possveis benefcios de se resolver PPV e PPT de forma integrada. Segundo Freling et al. [2003], se ao comparar os custos das solues obtidas nas abordagens seqencial tradicional e independente houver uma grande diferena entre estes valores (o custo da soluo independente muito menor) espera-se que a qualidade da programao de tripulaes seja melhorada signicativamente quando esta for denida de forma integrada ao invs de seqencial. Por outro lado, se os custos das solues esto prximos, presume-se que a abordagem integrada no ser promissora. No havendo, portanto, a necessidade de aplic-la.

Captulo 4 Programao Integrada de Veculos e Tripulaes


Apesar dos dois problemas, PPV e PPT, normalmente serem abordados separadamente, h uma relao de dependncia entre eles. Os custos das programaes podem ser inclusive antagnicos, ou seja, uma caracterstica favorvel a uma soluo para o PPV nem sempre reete de forma satisfatria no PPT e vice-versa. Assim, conclui-se que na abordagem seqencial tradicional priorizada a resoluo do PPV uma vez que este tratado em uma etapa anterior ao PPT. Como no contexto do Sistema de Transporte Pblico de nibus Urbano comumente os gastos das empresas com tripulantes superam os gastos com veculos, presume-se que a metodologia de resoluo integrada dos problemas poder produzir resultados melhores do que aqueles gerados pela abordagem seqencial. Alm disso, destaca-se que o PPT um problema mais restrito do que o PPV, por envolver limitaes tanto de carter operacional quanto trabalhista, o que justica ainda mais a relevncia da integrao. Portanto, a nalidade desse captulo apresentar estratgias para resoluo do Problema de Programao Integrada de Veculos e Tripulaes (PPVT) de maneira que, posteriormente, possa-se vericar a efetividade dessa abordagem comparando-a com a seqencial tradicional. Esse captulo est organizado conforme descrito a seguir. Na seo 4.1 o Problema de Programao Integrada de Veculos e Tripulaes detalhado. Na seo 4.2 apresentado um mtodo iterativo em que as buscas por melhoras so alternadamente realizadas nos espaos de solues do PPV e PPT. Por m, na seo 4.3, um procedimento fundamentado na denio de uma nova estrutura (a viagem expandida) proposto para resoluo do PPVT.

37

38

Captulo 4. Programao Integrada de Veculos e Tripulaes

4.1

Descrio do Problema de Programao Integrada de Veculos e Tripulaes

O Problema de Programao Integrada de Veculos e Tripulaes (PPVT) consiste em denir simultaneamente, as rotinas de operao dos veculos e as jornadas de trabalho das tripulaes, de tal forma a minimizar os custos envolvidos e ao mesmo tempo viabilizar a execuo de todas as viagens sob responsabilidade da empresa. Destaca-se que os mesmos conceitos considerados para denir PPV e PPT, separadamente, so vlidos no PPVT. Ou seja, bloco de veculo, veculo com dupla pegada, viagem morta, tarefa, jornada com pegada simples, jornada com dupla pegada, dentre outros, so termos que continuaro sendo usados na abordagem integrada e sem alterao de seus signicados. Nesse trabalho, na resoluo do PPVT foram consideradas conjuntamente as restries do PPV e PPT. Estas se encontram exatamente como foram descritas anteriormente no captulo 3 e so reapresentadas a seguir. Restries para a programao de veculos: (a) Todas as viagens de responsabilidade de uma empresa, sem excees, devem ser realizadas por algum veculo da frota; (b) Antes de se iniciar e aps nalizar uma viagem, um veculo deve obrigatoriamente cumprir um tempo mnimo no terminal, que corresponde ao tempo necessrio para o embarque e desembarque dos passageiros; (c) Um mesmo veculo somente poder realizar duas viagens, i e j, consecutivamente, se o intervalo de tempo existente entre elas for suciente para que o veculo desloque do ponto nal da viagem i para o ponto inicial da viagem j, respeite os tempos destinados para embarque e desembarque de passageiros e inicie a viagem j sem atrasos. Caso contrrio, ocorrer uma sobreposio de horrios entre as viagens; (d) Um veculo no deve car mais de duas horas em um terminal esperando para executar a sua prxima viagem. Se o tempo de espera exceder esse limite, o veculo dever se deslocar para a garagem. Diz-se, nesse ltimo caso, que o veculo est realizando uma dupla pegada; (e) O nmero de duplas pegadas da programao no pode exceder 60% do tamanho da frota;

4.1. Descrio do Problema de Programao Integrada de Veculos e Tripulaes 39 (f) Todo veculo deve iniciar e terminar a sua jornada de trabalho na garagem; (g) Todo veculo deve permanecer, no mnimo, trinta minutos consecutivos na garagem, por dia, para que ocorra a sua manuteno e limpeza. Este tempo pode ser cumprido quando o veculo pra na garagem durante uma dupla pegada ou mesmo depois de completada toda a sua jornada operacional diria. Restries para a programao de tripulaes: (a) Uma tripulao no pode executar duas tarefas simultaneamente, isto , em nenhuma jornada poder ocorrer coincidncias de horrio entre quaisquer de suas tarefas; (b) Uma tripulao somente poder realizar a troca de veculos nas seguintes circunstncias: nas situaes em que os veculos envolvidos se encontram em um mesmo terminal no momento da troca, basta que a tripulao tenha um pequeno intervalo ocioso (cinco minutos no mnimo) para que ela abandone um veculo e desloque rapidamente para assumir o outro. Caso contrrio, se os veculos envolvidos esto em terminais distintos, a troca somente poder ocorrer no intervalo entre os turnos de uma jornada do tipo dupla pegada. Esta ltima condio se faz necessria devido ao fato de a distncia entre os diferentes terminais ser grande. Vale ressaltar que um terminal o local de disposio dos vrios pontos de parada dos veculos e onde ocorre o embarque e desembarque de passageiros; (c) Uma tripulao pode extrapolar, no mximo, duas horas dirias de trabalho alm da durao normal de sua jornada, sendo este tempo excedente considerado hora extra; (d) Toda jornada do tipo pegada simples deve ter uma folga mnima de 20 minutos, podendo esta ser fracionada em dois intervalos, tendo cada um, uma durao igual ou superior a 10 minutos; (e) O intervalo mnimo entre o nal de uma jornada e o incio da mesma no dia seguinte dever ser de 11:00 horas; (f) O nmero de jornadas de trabalho do tipo dupla pegada no pode exceder a 20% do total de tripulaes da programao. Atenta-se ao fato de que, alm da preocupao em manter as programaes de veculos e de tripulaes separadamente viveis, necessrio que elas sejam mutuamente compatveis para que a resoluo do PPVT torna-se aplicvel na prtica.

40

Captulo 4. Programao Integrada de Veculos e Tripulaes

O objetivo ao resolver o PPVT obter programaes em que o nmero de veculos e de tripulaes seja minimizado. Alm disso, devem-se reduzir os deslocamentos fora de operao realizados pelos veculos e as horas extras das tripulaes.

4.2

Mtodo de Soluo Iterativa do PPV e PPT

Como primeiro passo para o estudo do PPVT, nessa seo ser apresentada uma estratgia iterativa de resoluo em que, ora a busca por melhoras se concentra especicamente no PPV e ora no PPT. Porm, para permitir a avaliao das programaes dos veculos e das tripulaes conjuntamente, durante o processo a compatibilidade entre elas mantida. Na subseo 4.2.1 descrito como as solues para PPV e PPT so representadas. A funo usada para avaliar simultaneamente as programaes de veculos e de tripulaes mostrada na subseo 4.2.2. O algoritmo de resoluo do PPV e PPT iterativamente apresentado na subseo 4.2.3.

4.2.1

Representao

Assim como na abordagem seqencial, nesta metodologia, a cada jornada de trabalho est associada uma lista de tarefas. Conforme mencionado anteriormente, uma tarefa a associao de viagens de um mesmo veculo entre as quais no h nenhuma oportunidade de troca e que devem ser obrigatoriamente realizadas por uma mesma tripulao. Portanto, conclui-se que a formao das tarefas totalmente dependente de uma soluo para o Problema de Programao de Veculos. Na Figura 4.1 mostrado o particionamento de um bloco de veculo em trs tarefas, supondo que para ocorrer a troca de tripulao necessrio um tempo maior ou igual a seis minutos. Nota-se que remoes e/ou inseres de viagens na jornada de trabalho do veculo provavelmente iro alterar as tarefas obtidas a partir dele. Por exemplo, se a viagem 149 for removida do bloco de veculo, a tarefa Tarefa 2 ser suprimida e surgir uma nova tarefa que consistir apenas das viagens 101 e 120. Por outro lado, se uma viagem com os seguintes atributos (nmero da viagem: 90, Ponto inicial: 3055, Horrio de Incio: 14:28, Ponto Final: 3055, Horrio de Trmino: 15:09, Linha: 3055.1) for inserida neste bloco de veculo, uma nova tarefa ser criada entre as tarefas Tarefa 1 e Tarefa 2 e compreender apenas a viagem 90. Dessa forma, com o intuito de preservar a compatibilidade entre as programaes de veculos e de tripulaes sendo obtidas simultaneamente, foi associado a cada bloco de veculo, alm do seu conjunto de viagens, uma lista com as tarefas obtidas a partir dele.

4.2. Mtodo de Soluo Iterativa do PPV e PPT

41

Figura 4.1. Bloco de veculo particionado em tarefas.

Na Figura 4.2 est representado o bloco de veculo dado na Figura 4.1. Com esta nova representao as tarefas que surgem ou so suprimidas aps modicaes (remoes e/ou inseres de viagens) no bloco de um veculo sero determinadas da seguinte forma: a lista de viagens do veculo percorrida e suas tarefas so reconstrudas. Em seguida, compara-se o seu conjunto de tarefas anterior com o novo conjunto encontrado, identicando assim, as alteraes ocorridas.

Figura 4.2. Representao de um bloco de veculo.

4.2.2

Funo de Avaliao

Durante a resoluo iterativa as solues do PPV (sv ) e PPT (st ) so consideradas conjuntamente. Portanto, para avaliar as programaes obtidas foi denida a funo f vt dada a seguir pela expresso (4.1). f vt (sv , st ) = f v (sv ) + f t (st ) (4.1)

Nessa expresso, os valores retornados pelas funes f v e f t esto sendo somados e estes so calculados exatamente como descrito anteriormente, na abordagem seqencial, pelas expresses (3.1) e (3.3).

42

Captulo 4. Programao Integrada de Veculos e Tripulaes

4.2.3

Algoritmo de Resoluo

A seguir no Algoritmo 8 apresentado o pseudo-cdigo da heurstica desenvolvida para resolver iterativamente PPV e PPT. Destaca-se que este algoritmo tambm fundamentado na metaheurstica Busca Local Iterada. Alm disso, as estruturas de vizinhana e os procedimentos de busca local utilizados, so os mesmos que foram descritos anteriormente para tratar PPV e PPT separadamente. As solues iniciais para PPV e PPT so geradas pelos mesmos procedimentos descritos na abordagem seqencial (subsees 3.3.4 e 3.5.5, nas pginas 22 e 32). Em seguida, antes de se iniciar as iteraes do algoritmo, procura-se melhorar estas solues a partir de buscas locais realizadas considerando primeiramente as estruturas de vizinhana do PPT, e depois as do PPV (passos de 9 a 12 no Algoritmo 8). Salienta-se que nem sempre se alcana um aprimoramento das solues aps esta etapa, pois como as buscas so realizadas independentemente (procuras por melhoras so realizadas ora no PPT, ora no PPV), pode ocorrer de melhoras na programao de veculos ocasionarem pioras na programao de tripulaes e, ao nal, ocorrer um aumento na funo de custo considerando ambas as programaes. Foram denidos quatro nveis de perturbao, consecutivamente tem-se: nvel 1 uma realocao de tarefa, nvel 2 - uma realocao de viagem, nvel 3 - uma troca de tarefas e nvel 4 - uma troca de viagens. importante ressaltar que sempre que a programao de veculos for modicada necessrio compatibilizar a programao de tripulaes com esta nova soluo (funo compatibilizar(sv , st ) no Algoritmo 8 e cujo pseudo-cdigo dado pelo Algoritmo 9), isto , atualizaes sero realizadas de duas maneiras: 1. Remoo na soluo do PPT de tarefas que deixaram de existir, devido mudanas no PPV; 2. Insero na soluo do PPT de tarefas que surgiram, devido mudanas no PPV. Neste caso, esta insero realizada de forma gulosa, isto , cada tarefa alocada na jornada da tripulao que ao receb-la ir contribuir menos com o custo da programao de tripulaes corrente. Assim sendo, sempre que a perturbao for realizada sobre a programao de veculos, executam-se buscas locais nas solues do PPV e do PPT, pois ambas sero modicadas. Caso contrrio, restringem-se as buscas programao de tripulaes. Uma nova soluo (programaes de veculos e tripulaes) somente ser aceita se ela possuir um custo menor ou igual ao custo da soluo corrente. No primeiro caso, o nvel de perturbao reiniciado de forma a intensicar a busca na nova soluo

4.2. Mtodo de Soluo Iterativa do PPV e PPT Algoritmo 8: Algoritmo de resoluo iterativa do PPV e PPT. 1 Seja T o tempo de processamento corrente do algoritmo e T max o tempo mximo admissvel de processamento 2 Seja nivel o nvel de perturbao corrente 3 T 0 4 nivel 1 5 Gere uma soluo inicial sv , para o PPV, a partir da heurstica construtiva gulosa descrita pelo Algoritmo 4, na pgina 23 6 Dado sv gere uma soluo st para o PPT. Esta soluo inicial obtida a partir do mtodo guloso apresentado pelo Algoritmo 6, na pgina 33 7 sv sv , onde sv a melhor soluo encontrada at ento para o PPV 8 st sv , onde st a melhor soluo encontrada at ento para o PPT 9 st DescidaComRealocacao_P P T (st ) 10 st DescidaComT roca_P P T (st ) 11 sv DescidaComRealocacao_P P V (sv ) 12 sv DescidaComT roca_P P V (sv ) 13 st compatibilizar(sv , st ), isto , atualiza a soluo para o PPT a partir das modicaes realizadas no PPV 14 enquanto T < T max faa 15 se f vt (sv , st ) f vt (sv , st ) ento 16 sv sv 17 st st 18 se f vt (sv , st ) < f vt (sv , st ) ento 19 nivel 1
20 21 22 23 24 25 26

43

seno nivel nivel + 1 seno nivel nivel + 1 se nivel > numN iveis ento nivel 1, onde numN iveis o nmero mximo de nveis de perturbao sv perturbacao(sv , nivel) ou st perturbacao(st , nivel), conforme o nvel de perturbao modique PPV ou PPT se a perturbao realizada envolve apenas realocao ou troca de tarefas no PPT ento st DescidaRandomicaComRealocacao_P P T (st ) st DescidaRandomicaComT roca_P P T (st ) seno sv DescidaRandomicaComRealocacao_P P V (sv ) sv DescidaRandomicaComT roca_P P V (sv ) st compatibilizar(sv , st ), isto , atualiza a soluo para o PPT a partir das modicaes realizadas no PPV st DescidaRandomicaComRealocacao_P P T (st ) st DescidaRandomicaComT roca_P P T (st ) Retorne as solues sv e st

27

28 29 30 31 32 33

34 35 36

44

Captulo 4. Programao Integrada de Veculos e Tripulaes

Algoritmo 9: Funo compatibilizar(sv , st ). 2 1 v 1 Entrada: Uma soluo s2 para o PPV obtida a partir de modicaes em sv 1 Uma soluo st para o PPT que foi denida a partir da soluo sv 1 1 para o PPV 2 Sada: Uma soluo st para o PPT compatvel com a soluo sv para o PPV 2 2
3 4

5 6 7 8

9 10

11 12 13

st st 2 1 Seja tarefasCriadas uma lista com todas as tarefas que surgiram a partir das mudanas no PPV. Inicialmente esta lista est fazia Seja F a frota de veculos para cada veculo v F faa se v foi modicado na transio de sv para sv ento 1 2 Percorra a lista de viagens de v reconstruindo as suas tarefas e atualize as listas tarefasSuprimidas e tarefasCriadas. Sendo tarefasSuprimidas o conjunto de tarefas que deixaram de existir em v devido s mudanas para cada tarefa t tarefasSuprimidas faa j retornarJornada_T aref a(st , t), isto , encontre a jornada j da 2 soluo st que executa a tarefa t 2 Remova a tarefa t da jornada j em st 2 para cada tarefa t tarefasCriadas faa insercao_Gulosa(st , t), isto , alocar a tarefa t jornada do tripulante que 2 ao receb-la ir contribuir menos com o custo da programao Retorne a soluo st 2

14

obtida. Nas demais situaes o nvel de perturbao aumentado em um ou reiniciado (caso j se esteja no nvel de perturbao mais alto).

4.3

Mtodo de Soluo do PPVT

Nesta seo proposta uma metodologia de resoluo do PPVT com uma idia de integrao mais forte do que a apresentada anteriormente. Em tal estratgia no h mais a formao explcita de tarefas para denio de uma soluo para o PPT, porm, sugerida a criao de uma nova estrutura denominada viagem expandida e, tanto a programao de veculos quanto a programao de tripulaes, passam a ser determinadas a partir dela. Essa seo est organizada como segue. Uma descrio de como o problema representado dada na subseo 4.3.1. Na subseo 4.3.2 so apresentadas as estruturas de vizinhana desenvolvidas para explorar o espao de busca. Descreve-se na subseo 4.3.4 o procedimento de gerao da soluo inicial. Por m, na subseo 4.3.5, apresentado o algoritmo proposto para resolver o problema.

4.3. Mtodo de Soluo do PPVT

45

4.3.1

Representao

O elemento bsico manipulado nesta estratgia a viagem expandida. Esta corresponde a uma viagem convencional com propriedades adicionais que denem como ela deve ser considerada no PPT, dada a sua disposio no PPV. Assim, alm dos atributos normais de uma viagem (nmero da viagem, horrio de incio, ponto inicial, horrio de trmino, ponto nal, linha, tempo de embarque e tempo de desembarque) a viagem expandida agrega as seguintes informaes: identicador do veculo, horrio de incio expandido, ponto inicial expandido, horrio de trmino expandido, ponto nal expandido, dependncia esquerda e dependncia direita. Os atributos exclusivos das viagens expandidas consideram os deslocamentos fora de operao dos veculos e mantm um vnculo entre as viagens que obrigatoriamente devero ser realizadas pela mesma tripulao (devido impossibilidade dos veculos de efetivarem a troca entre elas). As regras gerais para denio destes atributos so descritas a seguir: 1. No entre quaisquer viagens que uma tripulao poder realizar a troca de veculos, pois esta operao requer um tempo. Dessa forma, cada viagem expandida deve indicar o veculo que a executa (identicador do veculo); 2. A tripulao responsvel pela viagem realizada por um veculo logo aps a sua sada da garagem, tambm dever conduzi-lo em seu deslocamento fora de operao da garagem para o ponto de incio da viagem. Assim, o horrio de incio expandido, da viagem, ser igual ao seu horrio de incio decrescido do tempo necessrio para posicionamento do veculo e, o seu ponto inicial expandido, ser a garagem; 3. A tripulao responsvel pela viagem realizada por um veculo imediatamente antes de seu retorno garagem, tambm dever conduzi-lo em seu deslocamento fora de operao do ponto de m da viagem para a garagem. Portanto, o horrio de trmino expandido, da viagem, ser igual ao seu horrio de trmino acrescido do tempo necessrio para retornar com o veculo para a garagem e, o seu ponto nal expandido, ser a garagem; 4. Sempre que houver troca de pontos entre duas viagens consecutivas, de um mesmo veculo, a tripulao que executar a primeira viagem dever posicionar o veculo no ponto de incio da segunda. Logo, o horrio de trmino expandido, da primeira viagem, ser igual ao seu horrio de trmino acrescido do tempo de deslocamento para reposicionamento do veculo e, o seu ponto nal expandido, corresponder ao ponto inicial da segunda viagem;

46

Captulo 4. Programao Integrada de Veculos e Tripulaes 5. Sempre que entre duas viagens consecutivas de um veculo no houver tempo suciente para a troca de tripulao, a dependncia direita da primeira viagem ser a segunda e a dependncia esquerda da segunda viagem ser a primeira. Isto , as dependncias esquerda e direita de uma viagem expandida determinam, respectivamente, quais viagens devero imediatamente preced-la e suced-la em uma mesma jornada no PPT.

Destaca-se que, a princpio, para uma viagem expandida tem-se que os atributos horrio de incio expandido, ponto inicial expandido, horrio de trmino expandido e ponto nal expandido assumem os mesmos valores, respectivamente, dos seus atributos horrio de incio, ponto inicial, horrio de trmino e ponto nal e, considerado que no h dependncias esquerda e direita. Assim, ser a aplicao das regras acima que modicar estes valores conforme a disposio da viagem expandida no bloco do veculo que a executa. A seguir, na Figura 4.3, mostrado como seria o particionamento, em tarefas, do primeiro bloco de veculo de uma soluo para o PPV. Em seguida, na Figura 4.4, so apresentadas as viagens expandidas denidas a partir deste mesmo bloco de veculo. Considera-se, nestes exemplos, que para ocorrer a troca de tripulao necessrio um tempo maior ou igual a seis minutos e que os tempos destinados para embarque e desembarque de passageiros so nulos para todas as viagens.

Figura 4.3. Bloco de Veculo - 1 e o seu particionamento em tarefas.

Observa-se que a Viagem expandida 87 dever cobrir a viagem morta realizada pelo veculo ao sair da garagem (regra 2). Logo, o seu ponto inicial expandido a garagem e o seu horrio de incio expandido antecede em 18 minutos o seu horrio de incio. Destaca-se que esta viagem no possui dependncias esquerda e direita e ela

4.3. Mtodo de Soluo do PPVT

47

Figura 4.4. Viagens expandidas obtidas do Bloco de Veculo - 1 da Figura 4.3.

realizada pelo bloco de veculo com identicador igual a 1, exatamente como descrito na Figura 4.4. Entre o horrio de trmino da viagem 101 e o horrio de incio da viagem 120 no h tempo ocioso do veculo, logo no ser possvel ocorrer a troca de tripulao entre elas e a dependncia direita, da viagem 101, ser a viagem 120 e a dependncia

48

Captulo 4. Programao Integrada de Veculos e Tripulaes

esquerda, da viagem 120, ser a viagem 101 (regra 5). O mesmo ocorrer entre as viagens 120 e 149, pois o intervalo ocioso do veculo entre elas menor que o tempo mnimo necessrio para a troca da tripulao. Dessa forma, percebe-se que ser criado um vnculo entre as viagens 101, 120 e 149 que, obrigatoriamente, devero ser realizadas pela mesma tripulao (denio implcita da tarefa Tarefa 2 da Figura 4.3). No bloco de veculo sendo considerado, as viagens 183 e 210 so realizadas consecutivamente. Porm, como o ponto nal da primeira viagem (ponto 3055) diferente do ponto inicial da segunda (ponto 2200), existe um deslocamento fora de operao do veculo entre elas (viagem morta de 5 minutos). Assim, o horrio de trmino expandido da viagem 183 ser o seu horrio de trmino normal incrementado do tempo de viagem morta do veculo entre os pontos 3055 e 2200 e, o seu ponto nal expandido ser o ponto 2200 (regra 4). Como o tempo do veculo parado no terminal, entre as viagens 183 e 210, tambm insuciente para a troca de tripulao, estabelece-se uma relao de dependncia entre elas (denio implcita da tarefa Tarefa 3 da Figura 4.3). Alm disso, uma vez que aps a viagem 210 o veculo retornar para a garagem, o horrio de trmino expandido da viagem 210 corresponder ao seu horrio de trmino aumentado do tempo de deslocamento do veculo, do ponto 2200 para a garagem, que ser de 20 minutos (regra 3). Dessa forma, o ponto nal expandido desta viagem ser a garagem. Pelo exposto, nota-se que os novos atributos das viagens permitem contemplar as mesmas condies asseguradas ao se formar tarefas na resoluo do PPT. Portanto, nesta abordagem, tanto os blocos dos veculos quanto as jornadas de trabalho das tripulaes sero denidos a partir das viagens expandidas. A seguir, na Figura 4.5, est ilustrada uma soluo para o PPVT com denio das viagens expandidas. Esta soluo composta pela programao dos veculos (svx ) e pela programao das tripulaes (stx ), sendo estas mutuamente compatveis. Pela Figura 4.5 observa-se que h dez viagens programadas. Estas esto alocadas a trs veculos e empregar a mo-de-obra de quatro tripulaes. A Jornada 1 cobrir as viagens Viagem Expandida 4 e Viagem Expandida 7 do Veculo 3. Em seguida, a tripulao responsvel por esta jornada trocar de veculo e a Viagem Expandida 10, do Veculo 2, ser executada. A Jornada 2 iniciar suas atividades com a Viagem Expandida 1, do Veculo 3, posteriormente ser realizada a Viagem Expandida 5, do Veculo 1, e por m retorna-se ao Veculo 3 para executar a Viagem Expandida 9. A Jornada 3 ser responsvel pelas viagens Viagem Expandida 3 e Viagem Expandida 6, ambas do Veculo 2, e a Jornada 4 pelas viagens Viagem Expandida 2 e Viagem Expandida 8 do Veculo 1.

4.3. Mtodo de Soluo do PPVT

49

Figura 4.5. Representao de uma soluo para o PPVT com denio das viagens expandidas.

4.3.2

Estruturas de Vizinhana

Para explorao do espao de solues do PPVT foram utilizados seis tipos de movimen(R) tos. Estes e suas respectivas estruturas de vizinhana so: realocao PPV (V Nx ), (R) (T ) (T ) realocao PPT (CNx ), troca PPV (V Nx ), troca PPT (CNx ), super realocao (R) (T ) (V CNx ) e super troca (V CNx ). Os movimentos de realocao manipulam uma nica viagem expandida modicando o seu veculo e/ou a sua tripulao: Realocao PPV: Modica o veculo que realizar a viagem;

50

Captulo 4. Programao Integrada de Veculos e Tripulaes Realocao PPT: Modica a tripulao responsvel pela viagem; Super realocao: Modica simultaneamente o veculo e a tripulao alocados viagem.

Os movimentos de troca manipulam duas viagens expandidas permutando os seus veculos e/ou as suas tripulaes: Troca PPV: Permuta o veculo de uma viagem com o veculo de outra viagem; Troca PPT: Permuta a tripulao de uma viagem com a tripulao de outra viagem; Super troca: Permuta simultaneamente o veculo e a tripulao alocados a uma viagem com o veculo e a tripulao alocados a outra viagem. Conforme exposto anteriormente, uma viagem expandida corresponde a uma viagem convencional com atributos adicionais que denem como ela deve ser considerada no PPT, dada a sua disposio no PPV. Portanto, importante destacar que movimentos que alteram a programao de veculos podem acarretar mudanas nos atributos exclusivos de algumas viagens expandidas. Assim, sempre que uma viagem expandida transferida de um veculo para outro, os seus atributos exclusivos, bem como os daquelas viagens que imediatamente a precedem e sucedem, no veculo antigo e no novo veculo, podero estar sendo modicados. Salienta-se que essas mudanas afetaro a soluo do PPT e, portanto, necessrio calcular as variaes de custo ocorridas nas jornadas das tripulaes que realizam as viagens expandidas que foram alteradas. Nas guras de 4.7 a 4.12 esto ilustrados os movimentos considerados no PPVT, estando estes aplicados a uma soluo dada na Figura 4.6. Nestas ilustraes as viagens que participam diretamente dos movimentos esto destacadas em cinza e as hachuradas so aquelas, cujos atributos, provavelmente foram modicados em decorrncia dos movimentos.

4.3. Mtodo de Soluo do PPVT

51

Figura 4.6. Soluo para o PPVT utilizada para exemplicar as estruturas de vizinhana.

Figura 4.7. Exemplo do movimento realocao PPV.

Figura 4.8. Exemplo do movimento realocao PPT.

52

Captulo 4. Programao Integrada de Veculos e Tripulaes

Figura 4.9. Exemplo do movimento super realocao.

Figura 4.10. Exemplo do movimento troca PPV.

Figura 4.11. Exemplo do movimento troca PPT.

4.3. Mtodo de Soluo do PPVT

53

Figura 4.12. Exemplo do movimento super troca.

4.3.3

Funo de Avaliao

Como na abordagem integrada a menor poro de trabalho que pode ser atribuda a uma tripulao a viagem expandida, e no mais a tarefa, surge uma nova possibilidade de construo de jornadas inviveis no PPT. Trata-se das situaes em que ocorre a separao (alocao em diferentes jornadas) das viagens que implicitamente estariam compreendidas em uma mesma tarefa, conforme a especicao de suas dependncias esquerda e direita. Portanto, para avaliar as programaes obtidas, foi denida a funo f vtx dada a seguir pela expresso (4.2). Nessa expresso, os valores retornados pelas funes f v e f t esto sendo somados e estes so calculados conforme descrito anteriormente, na abordagem seqencial. Porm, ao invs de viagens e tarefas, esto sendo consideradas as viagens expandidas, ou seja, as solues svx e stx .

f vtx (svx , stx ) = f v (svx ) + f t (stx ) + quebrasT aref as pesoInviabilidade em que:

(4.2)

(a) quebrasTarefas o nmero de vezes que, na soluo do PPT, uma viagem expandida encontra-se separada da viagem com a qual mantm uma dependncia esquerda ou direita; (b) pesoInviabilidade o peso dado a cada inviabilidade presente na soluo.

54

Captulo 4. Programao Integrada de Veculos e Tripulaes

4.3.4

Procedimento de Gerao da Soluo Inicial

A soluo inicial para o PPVT obtida por uma heurstica construtiva gulosa, em que as programaes dos veculos e das tripulaes vo sendo denidas simultaneamente, a cada iterao do processo de construo. No algoritmo proposto inicia-se com uma tripulao (um motorista e um cobrador), uma frota formada por um nico veculo e um conjunto de viagens a serem realizadas (dispostas ordenadas crescentemente pelo horrio de incio). A cada passo, remove-se a primeira viagem do conjunto e so especicados o veculo e a tripulao que iro realiz-la. Essa combinao deve ser a que implique no menor custo possvel determinado pela aplicao da funo de avaliao descrita anteriormente pela expresso (4.2). Portanto, a cada iterao so avaliadas todas as possibilidades de alocao da viagem, considerando conjuntamente a mo-de-obra e a frota disponveis. medida que a soluo vai sendo gerada novos veculos e tripulaes so criados dinamicamente, de tal maneira que, sempre haja um veculo e uma tripulao cujas jornadas esto vazias. Esse processo repetido at que todas as viagens estejam alocadas. O pseudo-cdigo da heurstica construtiva gulosa utilizada no PPVT descrita a seguir no Algoritmo 10.

4.3.5

Algoritmo de Resoluo

A seguir apresentado o pseudo-cdigo do algoritmo desenvolvido para resolver o PPVT (Algoritmo 11). Neste algoritmo foram utilizados seis procedimentos de busca local baseados no Mtodo Randmico de Descida, so eles: 1. DescidaRandomicaComRealocacaoX_PPV : Que considera durante as buscas a (R) estrutura de vizinhana V Nx (realocao PPV); 2. DescidaRandomicaComRealocacaoX_PPT : Que considera durante as buscas a (R) estrutura de vizinhana CNx (realocao PPT); 3. DescidaRandomicaComTrocaX_PPV : Que considera durante as buscas a estru(T ) tura de vizinhana V Nx (troca PPV); 4. DescidaRandomicaComTrocaX_PPT : Que considera durante as buscas a estru(T ) tura de vizinhana CNx (troca PPT); 5. DescidaRandomicaComRealocacaoX : Que considera durante as buscas as estru(R) (R) (R) turas de vizinhana V Nx , CNx e V CNx . Assim, a cada iterao do mtodo

4.3. Mtodo de Soluo do PPVT

55

Algoritmo 10: Heurstica para gerao de uma soluo inicial para o PPVT. 1 Seja Tx o conjunto de viagens a serem realizadas, com Tx ordenado crescentemente por horrio de incio de suas viagens 2 Seja F o conjunto de veculos da empresa, inicialmente F possui um nico veculo sem qualquer viagem 3 Seja J o conjunto de jornadas dirias de trabalho das tripulaes, inicialmente J possui uma nica jornada sem qualquer viagem 4 enquanto Tx = faa 5 tx primeira viagem de Tx 6 melhorDelta , onde melhorDelta a melhor variao ocorrida na funo de avaliao ao se alocar a viagem tx 7 para cada veculo v F faa 8 custoAnteriorVeic custo do veculo v antes de receber a viagem tx 9 custoPosteriorVeic novo custo do veculo v caso a viagem tx seja inserida em sua jornada de trabalho diria 10 para cada jornada j J faa 11 custoAnteriorJorn custo da jornada j antes de receber a viagem tx 12 custoPosteriorJorn custo da jornada j caso a viagem tx (supostamente j alocada ao veculo v) passe a pertencer a ela 13 Calcule a variao de custo ocorrida caso a viagem tx seja alocada ao veculo v e jornada j: 14 = (custoPosteriorVeic + custoPosteriorJorn) 15 - (custoAnteriorVeic + custoAnteriorJorn) 16 se < melhorDelta ento 17 melhorDelta 18 melhorV eiculo info(v) e melhorJornada info(j), isto , armazene as informaes que permitam identicar o veculo da frota e a jornada que iro contribuir menos para o valor da funo de avaliao ao receberem a viagem tx
19 20

21 22

23

24 25 26

se melhorV eiculo no possui viagens ento Crie um novo veculo sem viagens e adicione ao conjunto F . (criao dinmica de veculo, mantendo sempre um veculo sem viagens em F ) se melhorJornada no possui viagens ento Crie uma nova jornada sem viagens e adicione ao conjunto J. (criao dinmica de jornada, mantendo sempre uma jornada sem viagens em J) Aloque a viagem tx ao veculo da frota F indicado por melhorVeiculo e jornada do conjunto J indicada por melhorJornada f o f o + melhorDelta, ou seja, atualize o valor da funo de avaliao Remova tx de Tx Retorne a frota F e o conjunto de jornadas J da empresa

56

Captulo 4. Programao Integrada de Veculos e Tripulaes escolhido aleatoriamente um dos trs movimentos: realocao PPV, realocao PPT e super realocao; 6. DescidaRandomicaComTrocaX : Que considera durante as buscas as estruturas (T ) (T ) (T ) de vizinhana V Nx , CNx e V CNx . Assim, a cada iterao do mtodo escolhido aleatoriamente um dos trs movimentos: troca PPV, troca PPT e super troca;

As perturbaes correspondem a movimentos aleatrios realizados sobre a soluo corrente. Foram denidos quatro nveis de perturbao, consecutivamente tem-se: nvel 1 - uma realocao PPT, nvel 2 - uma realocao PPV, nvel 3 - uma troca PPT e nvel 4 - uma troca PPV.

4.3. Mtodo de Soluo do PPVT

57

Algoritmo 11: Algoritmo de resoluo do PPVT. 1 Seja T o tempo de processamento corrente do algoritmo e T max o tempo mximo admissvel de processamento 2 Seja nivel o nvel de perturbao corrente 3 T 0 4 nivel 1 5 Gere as solues iniciais svx para o PPV e stx para o PPT a partir do mtodo guloso descrito pelo Algoritmo 10, na pgina 55 6 svx svx , onde svx a melhor soluo encontrada at ento para o PPV 7 stx stx , onde stx a melhor soluo encontrada at ento para o PPT 8 stx DescidaRandomicaComRealocacaoX_P P T (stx ) 9 stx DescidaRandomicaComT roca_P P T (stx ) 10 (svx , stx ) DescidaRandomicaComRealocacaoX_P P V (svx , stx ) 11 (svx , stx ) DescidaRandomicaComT rocaX_P P V (svx , stx ) 12 (svx , stx ) DescidaRandomicaComRealocacaoX(svx , stx ) 13 (svx , stx ) DescidaRandomicaComT rocaX(svx , stx ) 14 enquanto T < T max faa 15 (svx , stx ) perturbacao(svx , stx , nivel) ou stx perturbacao(stx , nivel), conforme o nvel de perturbao modique PPV e/ou PPT 16 se a perturbao realizada envolve apenas realocao ou troca de viagens no PPT ento 17 stx DescidaRandomicaComRealocacaoX_P P T (stx ) 18 stx DescidaRandomicaComT rocaX_P P T (stx ) 19 seno 20 (svx , stx ) DescidaRandomicaComRealocacaoX_P P V (svx , stx ) 21 (svx , stx ) DescidaRandomicaComT rocaX_P P V (svx , stx )
22 23 24 25 26 27 28 29 30 31 32 33 34 35

(svx , stx ) DescidaRandomicaComRealocacaoX(svx , stx ) (svx , stx ) DescidaRandomicaComT rocaX(svx , stx ) se f vt (svx , stx ) f vt (svx , stx ) ento svx svx stx stx se f vt (svx , stx ) < f vt (svx , stx ) ento nivel 1 seno nivel nivel + 1 seno nivel nivel + 1 se nivel > numN iveis ento nivel 1, onde numN iveis o nmero mximo de nveis de perturbao Retorne as solues svx e stx

Captulo 5 Experimentos Computacionais


5.1 Descrio das Instncias

Para validar a metodologia proposta foram disponibilizadas pela empresa responsvel pelo gerenciamento do Sistema de Transporte Pblico da cidade de Belo Horizonte, capital do estado de Minas Gerais, problemas reais de uma dada regio da cidade. As tabelas de horrios das viagens aqui consideradas so relativas ao ms de maio de 2005. H 8 empresas responsveis pela realizao de todas as viagens desta regio. Juntamente elas prestam servios em 40 linhas de nibus classicadas em dois tipos: troncais e alimentadoras. As linhas troncais operam em reas onde h alta demanda e tm como objetivo realizar o deslocamento de passageiros entre a estao de nibus e o centro da cidade. As linhas alimentadoras, que possuem uma abrangncia local, tm a funo primordial de captar e distribuir a demanda atendida pelas linhas troncais, realizando a ligao bairro-estao-bairro. A seguir, na Tabela 5.1, apresentada uma descrio das instncias utilizadas nos experimentos. Para cada empresa foram considerados separadamente os quatro dias da semana que apresentam quadros de horrios distintos: segunda-feira, sexta-feira, sbado e domingo. Assim, cada instncia identicada univocamente atravs do dia da semana e da empresa aos quais se refere. As empresas sero aqui tratadas pelos seguintes nomes ctcios: G01, G02, G03, G04, G05, G06, G07 e G08. Nesta tabela, aps o nome de cada instncia esto listados, respectivamente, o seu nmero de viagens, o tempo total despendido com a execuo das mesmas (em horas e minutos) e a durao mdia de suas viagens (em horas e minutos). Observa-se que as empresas G01, G02 e G08 so responsveis por poucas viagens, porm sendo estas de longa durao. J as empresas G03, G04, G05, G06, G07 atendem muitas viagens, no entanto, estas so viagens menores. Por m, bom ressaltar que o tempo total em viagem dado na Tabela 5.1 sempre 59

60

Captulo 5. Experimentos Computacionais

menor do que o tempo real de operao da frota, pois o primeiro no inclui as viagens mortas e as esperas nos terminais realizadas pelos veculos.
Tabela 5.1. Descrio das instncias utilizadas nos experimentos.

Empresa

Instncia SEG-G01 SEX-G01 SAB-G01 DOM-G01 SEG-G02 SEX-G02 SAB-G02 DOM-G02 SEG-G03 SEX-G03 SAB-G03 DOM-G03 SEG-G04 SEX-G04 SAB-G04 DOM-G04 SEG-G05 SEX-G05 SAB-G05 DOM-G05 SEG-G06 SEX-G06 SAB-G06 DOM-G06 SEG-G07 SEX-G07 SAB-G07 DOM-G07 SEG-G08 SEX-G08 SAB-G08 DOM-G08

G01

G02

G03

G04

G05

G06

G07

G08

Nmero Tempo Total de em Viagens Viagem (hh:mm) 260 348:10 260 362:17 172 217:16 90 124:27 98 141:20 98 147:05 69 91:13 52 64:33 505 516:56 498 539:49 372 379:55 286 281:17 468 387:05 468 397:35 359 282:50 298 221:04 1038 773:58 1036 803:53 769 541:49 538 336:21 639 622:30 639 660:44 441 410:20 332 316:15 293 253:34 292 267:55 191 147:36 115 60:13 206 296:41 203 295:18 130 182:50 108 147:14

Durao Mdia das Viagens (hh:mm) 1:20 1:24 1:16 1:23 1:27 1:30 1:19 1 14 1:01 0:43 1:01 0:59 0:50 0:51 0:47 0:45 0:45 0:47 0:42 0:38 0:58 1:02 0:56 0:57 0:52 0:55 0:46 0:31 1:26 1:27 1:24 1:22

Todos os algoritmos propostos neste trabalho foram desenvolvidos na linguagem C++ e compilados com a verso 4.3.2 do gcc. Os experimentos foram realizados em um microcomputador PC Intel Core 2 Quad, com processador de 2.5 GHz, 4 GB de memria RAM e sob o sistema operacional Linux Ubuntu Hardy Heron 8.04.

5.1. Descrio das Instncias

61

Objetivando estabelecer uma proporo entre os gastos da empresa relativos programao de veculos e programao de tripulaes, foram criados dois custos fundamentais a partir dos quais so denidos todos os demais, so eles: 1. Custo da Unidade de Tempo do Veculo - CUTV: que representa o custo para a empresa do minuto de operao do veculo; 2. Custo da Unidade de Tempo da Tripulao - CUTT: que representa o custo para a empresa do minuto de trabalho de uma tripulao. Destaca-se que custo nesse contexto, no necessariamente se refere a valores monetrios, embora estes possam ser usados. Por exemplo, se em uma dada situao o minuto de trabalho de uma tripulao duas vezes mais caro que o minuto de operao de um veculo, as atribuies CUTV = 1 e CUTT = 2 poderiam ser realizadas. Observe que neste caso no foi considerado o valor real gasto pela empresa com uma tripulao ou veculo, mas foi mantida uma proporcionalidade entre estes custos. Nos experimentos realizados considerou-se CUTT = 5 e CUTV = 1. Na Tabela 5.2 so apresentados os valores dos pesos utilizados para o clculo da funo de avaliao referente programao de veculos, dada pela expresso 3.1 apresentada na subseo 3.3.3. Nessa tabela tempoMaxOperacao corresponde ao tempo mximo de operao diria do veculo, em minutos. Nos testes, tempoMaxOperacao igual a 1410 minutos, ou seja, 23 horas e 30 minutos.
Tabela 5.2. Penalizaes utilizadas no PPV e seus respectivos valores.

Penalizao custoUsoVeiculo custoViagemMorta pesoInviabilidade

Valor tempoMaxOperacao CU T V CUTV 1,5 CU T V

Os valores dos pesos utilizados na composio da funo de avaliao para a programao de tripulaes, apresentada na subseo 3.5.3 e dada pela expresso 3.3, so mostrados na Tabela 5.3. Nessa tabela duracaoMaxJornada corresponde ao tempo mximo, sem horas extras, efetivamente trabalhado por uma tripulao (em minutos). Nos testes, duracaoMaxJornada igual a 400 minutos, isto , 6 horas e 40 minutos.
Tabela 5.3. Penalizaes utilizadas no PPT e seus respectivos valores.

Penalizao custoUsoTripulacao custoHoraExtra pesoInviabilidade

Valor duracaoMaxJornada CU T T 0,75 CUTT 1,5 CU T T

62

Captulo 5. Experimentos Computacionais

O tempo de execuo dos algoritmos foi xado em 10 minutos para todas as instncias. Nas abordagens independente e seqencial tradicional foram despendidos tempos iguais para resolver separadamente, PPV e PPT, ou seja, 5 minutos para cada.

5.2

Resultados

A Tabela 5.4 mostra uma comparao entre os custos das solues obtidas pelas quatro metodologias apresentadas nesse trabalho para denio das programaes de veculos e tripulaes, so elas: independente, seqencial tradicional, iterativa e integrada. Nesta tabela, Melhor FO e FO Mdio so, respectivamente, o menor custo e a mdia dos custos obtidos pelos mtodos desenvolvidos em 10 execues, considerando PPV e PPT. A Melhoria representa o aprimoramento, em percentual, do valor da melhor soluo encontrada em cada abordagem comparada com o custo da melhor soluo obtida na abordagem seqencial. O Desvio corresponde ao desvio mdio de cada abordagem em relao ao valor da melhor soluo encontrada nos testes, isto :

desvio =

F OM edio M elhorF O M elhorF O

(5.1)

Por m, so apresentadas na Tabela 5.4 as mdias para o desvio e a melhoria, considerando todas as instncias. importante frisar que os problemas sendo tratados so de minimizao, ou seja, o objetivo reduzir os custos das solues. Tabela 5.4: Resultados considerando os custos das solues obtidas pelas abordagens independente, seqencial, iterativa e integrada. Intncia Avaliao Melhor FO FO Mdio Desvio (%) Melhoria (%) Abordagens Independente Seqencial Iterativa 188184 188212 0.02 8.83 206401 207752 0.65 0.00 198690 200878 1.10 3.74

Integrada 199071 199486 0.21 3.55

SEG-G01

5.2. Resultados Intncia Avaliao Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Abordagens Independente Seqencial Iterativa 186960 194633 4.10 9.01 104029 104181 0.15 9.40 52785 53622 1.59 6.63 64143 64245 0.16 7.79 64338 64999 1.03 8.33 39122 39216 0.24 6.45 27823 27863 0.14 8.15 234780 237778 1.28 12.24 205476 206860 0.67 0.00 114821 118892 3.55 0.00 56533 57822 2.28 0.00 69561 70335 1.11 0.00 70188 70562 0.53 0.00 41818 42668 2.03 0.00 30291 30857 1.87 0.00 267525 272265 1.77 0.00 197726 199879 1.09 3.77 113601 113991 0.34 1.06 56355 57119 1.35 0.31 69103 69207 0.15 0.66 69454 69663 0.30 1.05 41023 41123 0.24 1.90 28507 29321 2.85 5.89 260576 266441 2.25 2.60

63

Integrada 198022 201015 1.51 3.63 109976 111540 1.42 4.22 56207 56368 0.29 0.58 69328 69782 0.65 0.33 68597 69510 1.33 2.27 39863 39920 0.14 4.68 29685 29833 0.50 2.00 252235 252888 0.26 5.72

SEX-G01

SAB-G01

DOM-G01

SEG-G02

SEX-G02

SAB-G02

DOM-G02

SEG-G03

64 Intncia Avaliao Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%)

Captulo 5. Experimentos Computacionais Abordagens Independente Seqencial Iterativa 240457 241628 0.49 10.27 151853 152896 0.69 12.33 116330 117416 0.93 11.50 163948 165729 1.09 13.54 167986 168576 0.35 10.76 116263 117397 0.98 12.96 92377 92990 0.66 11.85 346752 347752 0.29 13.50 267965 272355 1.64 0.00 173211 177362 2.40 0.00 131449 133678 1.70 0.00 189628 193688 2.14 0.00 188238 193709 2.91 0.00 133575 138047 3.35 0.00 104791 108095 3.15 0.00 400873 403410 0.63 0.00 267924 271511 1.34 0.02 169502 171261 1.04 2.14 128258 130658 1.87 2.43 188030 193302 2.80 0.84 193405 194888 0.77 -2.74 130764 131423 0.50 2.10 104560 105246 0.66 0.22 404482 416529 2.98 -0.90

Integrada 257405 257756 0.14 3.94 164866 165222 0.22 4.82 124673 126119 1.16 5.15 175311 175976 0.38 7.55 177275 177492 0.12 5.82 126656 128722 1.63 5.18 98676 98885 0.21 5.84 377157 378377 0.32 5.92

SEX-G03

SAB-G03

DOM-G03

SEG-G04

SEX-G04

SAB-G04

DOM-G04

SEG-G05

5.2. Resultados Intncia Avaliao Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Abordagens Independente Seqencial Iterativa 353728 354856 0.32 11.61 223336 223880 0.24 12.98 137572 138775 0.87 13.37 280346 281366 0.36 10.58 295477 299173 1.25 11.71 165118 166562 0.87 14.46 129604 130094 0.38 14.13 117124 118978 1.58 11.24 400175 408269 2.02 0.00 256646 260492 1.50 0.00 158808 162009 2.02 0.00 313502 321166 2.44 0.00 334657 338795 1.24 0.00 193037 195165 1.10 0.00 150935 153483 1.69 0.00 131954 134641 2.04 0.00 416129 420943 1.16 -3.99 255575 261490 2.31 0.42 157053 157967 0.58 1.11 312840 319985 2.28 0.21 339962 344935 1.46 -1.59 188598 192456 2.05 2.30 145810 146001 0.13 3.40 128405 133693 4.12 2.69

65

Integrada 381173 381818 0.17 4.75 241439 241985 0.23 5.93 149947 150879 0.62 5.58 303197 303786 0.19 3.29 322667 323311 0.20 3.58 179639 179997 0.20 6.94 140249 141200 0.68 7.08 126023 126240 0.17 4.49

SEX-G05

SAB-G05

DOM-G05

SEG-G06

SEX-G06

SAB-G06

DOM-G06

SEG-G07

66 Intncia Avaliao Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Melhor FO FO Mdio Desvio (%) Melhoria (%) Desvio (%) Melhoria (%)

Captulo 5. Experimentos Computacionais Abordagens Independente Seqencial Iterativa 124389 125668 1.03 8.85 65074 65238 0.25 8.38 30875 31123 0.80 7.70 137326 138364 0.76 7.59 137141 141077 2.87 10.92 77555 77705 0.19 11.31 64171 65009 1.31 13.00 0.85 10.67 136460 138069 1.18 0.00 71026 72410 1.95 0.00 33450 34064 1.84 0.00 148608 150788 1.47 0.00 153945 155694 1.14 0.00 87444 90141 3.08 0.00 73763 75332 2.13 0.00 1.85 0.00 132810 135559 2.07 2.67 69286 70224 1.35 2.45 32084 33147 3.31 4.08 145909 150006 2.81 1.82 149802 152879 2.05 2.69 85303 86307 1.18 2.45 71370 71820 0.63 3.24 1.54 1.53

Integrada 129068 129832 0.59 5.42 68426 68581 0.23 3.66 32014 32137 0.38 4.29 144207 144723 0.36 2.96 152010 153518 0.99 1.26 85896 86313 0.49 1.77 72581 72669 0.12 1.60 0.50 4.18

SEX-G07

SAB-G07

DOM-G07

SEG-G08

SEX-G08

SAB-G08

DOM-G08

Mdia

Com base nos resultados da Tabela 5.4, verica-se que como era de se esperar as melhores solues foram obtidas pela abordagem independente, porm, conforme alertado anteriormente, as programaes dos veculos e das tripulaes encontradas so incompatveis e, portanto, impraticveis. A abordagem independente est sendo usada

5.2. Resultados

67

apenas para indicar o quo promissora a resoluo integrada do PPV e PPT, uma vez que considera isoladamente os dois problemas, quebrando dessa forma as limitaes que a resoluo do PPV impe ao PPT e vice-versa. Considerando as demais abordagens, a que obteve melhor resultado foi a integrada, e em seguida a iterativa, evidenciando assim, a relevncia da integrao. O pior desempenho foi do mtodo de resoluo seqencial. Dentre as 32 instncias consideradas, em 25 delas o mtodo integrado encontrou os melhores resultados e para as demais 7 instncias (SEG-G01, SEX-G01, SEG-G02, DOM-G02, SEX-G08, SAB-G08, DOM-G08) o mtodo de resoluo iterativa teve melhor desempenho, alcanando os menores custos. Destaca-se que para as instncias SEX-G04, SEG-G05, SEX-G05 e SEX-G05 a abordagem iterativa no conseguiu melhorar os resultados gerados de forma seqencial, por outro lado, a abordagem integrada foi capaz de aprimorar o custo de todas as solues obtidas seqencialmente. Ainda na Tabela 5.4, analisando os valores de desvio constata-se a robustez dos mtodos desenvolvidos e, dentre os quais, o procedimento de resoluo integrada se mostrou o mais estvel. Na Tabela 5.5 as melhores solues obtidas pelas diferentes abordagens so detalhadas. Nessa tabela, a Melhoria representa o aprimoramento, em percentual, do valor da melhor soluo encontrada em cada abordagem comparada com o custo da melhor soluo obtida na abordagem seqencial (similar Tabela 5.4) e, em seguida, esto listados os atributos das programaes, so eles: o nmero de veculos e tripulaes utilizados, o tempo total de viagens mortas dos veculos e o tempo total de horas extras das tripulaes. Por m, nessa tabela, tambm so apresentados os valores totais dos atributos das programaes e, os tempos mdios de viagens mortas por veculo e de horas extras por tripulao, considerando todas as instncias. Salienta-se que todos os tempos so dados em horas e minutos (formato hh:mm). Tabela 5.5: Detalhamento das melhores solues obtidas pelas abordagens independente, seqencial, iterativa e integrada. Intncia Atributos Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Abordagens Independente Seqencial Iterativa 8.83 40 65 29:44 00:00 0.00 40 74 30:12 01:03 3.74 40 70 31:52 02:06

Integrada 3.55 40 70 36:04 02:49

SEG-G01

68 Intncia Atributos Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras

Captulo 5. Experimentos Computacionais Abordagens Independente Seqencial Iterativa 9.01 39 65 30:56 00:38 9.40 23 35 13:48 04:17 6.63 10 18 06:00 12:55 7.79 13 22 09:58 06:45 8.33 13 22 09:58 07:50 6.45 7 14 05:22 05:10 8.15 5 10 03:50 03:01 0.00 39 74 30:20 03:42 0.00 23 40 13:48 08:41 0.00 10 20 06:00 11:31 0.00 13 25 09:58 03:31 0.00 13 25 09:58 07:00 0.00 7 15 05:22 09:02 0.00 5 11 03:50 05:37 3.77 39 70 33:54 03:54 1.06 23 40 14:16 01:45 0.31 10 20 06:56 10:13 0.66 13 25 10:44 00:43 1.05 13 25 10:44 02:40 1.90 7 15 05:22 04:37 5.89 5 10 03:50 06:49

Integrada 3.63 39 70 37:08 04:28 4.22 23 37 16:36 14:10 0.58 10 20 07:10 09:19 0.33 13 25 10:44 01:58 2.27 13 24 10:44 09:01 4.68 7 14 05:22 09:17 2.00 5 11 03:50 02:15

SEX-G01

SAB-G01

DOM-G01

SEG-G02

SEX-G02

SAB-G02

DOM-G02

5.2. Resultados Intncia Atributos Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Abordagens Independente Seqencial Iterativa 12.24 47 83 16:35 08:25 10.27 47 86 15:33 06:58 12.33 27 52 08:42 51:27 11.50 21 41 06:28 24:04 13.54 31 57 12:25 30:31 10.76 31 59 12:30 30:42 12.96 20 41 07:39 31:08 0.00 47 100 16:16 01:33 0.00 47 100 15:33 04:14 0.00 27 65 08:08 25:51 0.00 21 50 06:24 08:05 0.00 31 72 12:07 06:37 0.00 31 70 12:37 20:57 0.00 20 51 07:33 16:14 2.60 47 96 19:17 06:23 0.02 47 100 17:40 03:18 2.14 27 64 09:42 15:50 2.43 21 48 07:14 12:18 0.84 31 71 14:10 08:10 -2.74 31 74 14:39 04:32 2.10 20 50 09:20 11:08

69

Integrada 5.72 48 90 27:58 15:59 3.94 48 93 24:47 12:26 4.82 27 60 18:28 31:36 5.15 21 45 13:05 23:46 7.55 31 62 20:59 35:14 5.82 31 62 21:25 46:00 5.18 20 46 16:45 30:17

SEG-G03

SEX-G03

SAB-G03

DOM-G03

SEG-G04

SEX-G04

SAB-G04

70 Intncia Atributos Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras

Captulo 5. Experimentos Computacionais Abordagens Independente Seqencial Iterativa 11.85 16 32 06:18 30:13 13.50 70 122 30:05 12:29 11.61 70 125 30:42 17:42 12.98 42 75 17:01 72:45 13.37 24 46 09:53 61:53 10.58 55 99 36:26 14:30 11.71 60 103 39:32 13:55 0.00 16 40 06:23 10:16 0.00 70 150 29:49 02:08 0.00 70 148 30:21 20:18 0.00 42 96 16:56 24:30 0.00 24 60 10:21 24:09 0.00 55 116 35:55 09:59 0.00 60 123 38:49 09:36 0.22 16 40 06:47 08:51 -0.90 70 151 34:17 09:35 -3.99 70 157 34:30 07:33 0.42 42 96 18:05 18:10 1.11 24 60 12:03 13:50 0.21 55 115 41:25 15:35 -1.59 60 125 46:55 14:09

Integrada 5.84 16 35 11:56 30:00 5.92 70 135 44:33 32:08 4.75 70 137 44:01 32:24 5.93 42 85 25:57 59:14 5.58 24 53 20:45 49:14 3.29 55 109 47:15 26:44 3.58 60 115 51:09 27:46

DOM-G04

SEG-G05

SEX-G05

SAB-G05

DOM-G05

SEG-G06

SEX-G06

5.2. Resultados Intncia Atributos Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Abordagens Independente Seqencial Iterativa 14.46 30 55 18:17 65:07 14.13 23 44 13:51 46:21 11.24 24 41 11:12 03:24 8.85 25 44 11:08 02:37 8.38 12 23 04:42 10:24 7.70 5 11 01:10 09:45 7.59 26 49 43:20 00:22 0.00 30 73 18:00 20:19 0.00 23 58 13:39 09:22 0.00 24 48 11:11 08:01 0.00 25 50 10:40 03:10 0.00 12 26 04:48 10:06 0.00 5 13 01:10 01:50 0.00 26 53 43:20 18:36 2.30 30 71 20:56 16:54 3.40 23 54 17:40 24:00 2.69 24 46 13:24 09:47 2.67 25 48 13:30 04:10 2.45 12 25 05:50 11:12 4.08 5 12 01:53 05:07 1.82 26 52 43:20 14:43

71

Integrada 6.94 30 63 26:41 54:06 7.08 23 50 22:01 36:06 4.49 24 45 15:50 06:51 5.42 25 45 16:32 15:42 3.66 12 24 09:20 16:22 4.29 5 12 01:34 04:50 2.96 26 51 45:00 15:49

SAB-G06

DOM-G06

SEG-G07

SEX-G07

SAB-G07

DOM-G07

SEG-G08

72 Intncia Atributos Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Melhoria (%) Veculos Tripulaes Viagens mortas Horas extras Veculos Tripulaes Viagens mortas Horas extras Viagens mortas por veculo Horas extras por tripulao

Captulo 5. Experimentos Computacionais Abordagens Independente Seqencial Iterativa 10.92 28 47 46:40 04:47 11.31 14 27 23:20 13:25 13.00 13 21 21:40 14:07 911 1634 554:45 617:37 00:37 00:22 0.00 28 55 46:40 09:15 0.00 14 32 23:20 12:48 0.00 13 26 21:40 11:51 911 1959 551:08 339:52 00:36 00:10 2.69 28 52 46:40 19:34 2.45 14 31 23:20 12:01 3.24 13 25 21:40 09:40 911 1938 611:55 309:17 00:40 00:10

Integrada 1.26 28 54 50:00 08:30 1.77 14 32 23:20 04:12 1.60 13 26 21:40 05:17 913 1800 748:39 673:50 00:49 00:22

SEX-G08

SAB-G08

DOM-G08

Total

Mdia

A partir da Tabela 5.5 observa-se que os tempos totais de viagens mortas obtidos nas abordagens independente e seqencial foram menores do que os encontrados de forma iterativa ou integrada. Este era um resultado previsvel, uma vez que diferentemente do que ocorre na resoluo seqencial, no PPVT limita-se o aprimoramento da programao de veculos ao considerar os efeitos que esta melhoria ir provocar na programao de tripulaes. Porm, ainda assim, o nmero de veculos utilizados manteve-se o mesmo em todas as abordagens, exceto para as instncias SEG-G03 e SEX-G03 em que a resoluo integrada implicou na utilizao de um veculo a mais. As melhorias proporcionadas pelas abordagens iterativa e integrada esto concentradas nas solues para o PPT. Observa-se que o ganho se d, principalmente, em relao ao nmero de tripulaes empregadas. Nesse sentido, interessante relembrar que

5.2. Resultados

73

uma tripulao envolve a mo-de-obra de dois funcionrios, um motorista e um cobrador. Portanto, ao analisar na Tabela 5.5 o total de tripulaes utilizadas, verica-se que comparadas com a abordagem seqencial, a abordagem iterativa proporciona uma reduo de 21 tripulaes, ou seja, 42 funcionrios e a abordagem integrada evita a utilizao de 159 tripulaes que correspondem a 318 funcionrios. Destaca-se que o objetivo primordial dos testes realizados foi a reduo do nmero de veculos e tripulantes empregados, conforme pode ser observado pelos custos dados aos atributos das programaes. Secundariamente, visou-se reduzir as horas extras das tripulaes e os deslocamentos fora de operao realizados pelos veculos.

Captulo 6 Concluses e Trabalhos Futuros


Esse trabalho abordou o Problema de Programao Integrada de Veculos e Tripulaes (PPVT) considerando um cenrio real envolvendo empresas do sistema de transporte pblico por nibus da cidade de Belo Horizonte. Esse um problema de grande importncia, uma vez que atravs da sua resoluo as empresas do setor podem reduzir custos operacionais, aprimorar processos produtivos e, conseqentemente, oferecer um servio de qualidade, eciente e mais barato aos usurios. A denio simultnea da rotina de operao da frota de veculos e das jornadas de trabalho das tripulaes uma metodologia ainda pouco explorada na literatura devido sua complexidade, mas considerada promissora no que diz respeito qualidade das solues geradas. Portanto, a principal contribuio desse trabalho foi propor uma nova estratgia para tratar o PPVT e vericar a sua efetividade na resoluo de problemas reais. Foram propostas heursticas, baseadas na metaheurstica Busca Local Iterada, para denio das programaes de veculos e tripulaes considerando quatro abordagens distintas: 1. Abordagem Seqencial Tradicional: Primeiro resolvido o PPV, cuja soluo consiste em um conjunto de blocos de viagens, sendo cada bloco a jornada diria de trabalho de um veculo. Antes de ser iniciada a resoluo do PPT, os blocos de viagens so simplicados em tarefas. Cada tarefa consiste em um conjunto de viagens entre as quais no possvel realizar a troca de tripulaes e onde so contemplados os deslocamentos do veculo que no correspondem a viagens; 2. Abordagem Independente: PPV e PPT so resolvidos separadamente, em qualquer ordem e de forma a no se relacionarem. Nesta abordagem tanto a programao de veculos quanto a programao de tripulaes so determinadas a partir das viagens a serem realizadas, no havendo a formao de tarefas. Assim, 75

76

Captulo 6. Concluses e Trabalhos Futuros dicilmente as solues obtidas so compatveis e factveis na prtica. A principal nalidade desta metodologia independente a determinao de uma melhor programao para as tripulaes desconsiderando os veculos. Desta forma, uma comparao entre as solues obtidas nesta abordagem e na seqencial tradicional permite identicar os possveis benefcios de se resolver PPV e PPT de forma integrada; 3. Abordagem Seqencial Iterativa: Como primeiro passo para a integrao entre PPV e PPT foi desenvolvida uma estratgia iterativa de resoluo destes problemas em que, ora a busca por melhoras se concentra especicamente no PPV e ora no PPT. Nesta abordagem a principal preocupao manter as programaes de veculos e tripulaes compatveis entre si; 4. Abordagem Integrada: PPV e PPT so resolvidos de forma simultnea. O desao encontrado , durante a resoluo, encontrar uma maneira de manter as programaes de veculos e tripulaes sendo geradas compatveis. Neste sentido, foi elaborada uma representao baseada na denio de uma nova estrutura denominada viagem expandida. Uma viagem expandida corresponde a uma viagem com atributos adicionais que denem como ela deve ser considerada no PPT, dada a sua disposio no PPV. Os novos atributos das viagens permitem contemplar as mesmas condies asseguradas ao se formar tarefas na abordagem seqencial. Nesta estratgia tanto a programao de veculos quanto a programao de tripulaes so determinadas a partir das viagens expandidas, criando grande exibilizao para obteno da soluo.

Testes foram realizados com instncias reais relativas aos quatro dias da semana com quadros de horrios das viagens distintos (segunda-feira, sexta-feira, sbado e domingo) de 8 empresas do sistema de transporte pblico por nibus da cidade de Belo Horizonte. Dentre as 32 instncias consideradas, em 25 delas o mtodo integrado encontrou os melhores resultados e para as demais 7 instncias o mtodo de resoluo iterativa teve melhor desempenho, alcanando os menores custos, evidenciando assim, a relevncia da integrao. Como continuidade deste trabalho pode-se propor, primeiramente, realizar experimentos alterando a funo de avaliao de forma a priorizar outras mtricas. Lembrando que, nos testes apresentados, o objetivo primordial foi a reduo do nmero de veculos e tripulantes empregados. Outro aprimoramento seria comparar as solues obtidas pela heurstica integrada proposta com solues timas geradas por um mtodo exato. Destaca-se que para as instncias estudadas, provavelmente no seria possvel

77 obter solues timas em um tempo aceitvel, portanto instncias ctcias menores precisariam ser criadas. Outra extenso deste trabalho pode considerar a integrao entre os problemas de denir a tabela de horrios das viagens, a programao dos veculos e a programao das tripulaes. Assim, a tabela de horrios seria denida de forma a estrategicamente reduzir o custo operacional das programaes de veculos e tripulaes, alm de considerar a disponibilidade de infra-estrutura, os servios requeridos pelos usurios e os aspectos de demanda. A Programao Integrada de Veculos e Tripulaes com Mltiplas Garagens tambm uma proposta a ser considerada para a continuidade da pesquisa. Esse problema resolvido considerando que a frota de veculos, disponvel para realizao das viagens, se encontra espalhada em diferentes garagens e os veculos no necessitam iniciar e terminar a sua rotina de operao diria em uma mesma garagem.

Referncias Bibliogrcas
ANTP (1999). Associao Nacional dos Transportes Pblicos. Disponvel na internet. URL: http://www.antp.org.br. Acessado em 17/10/2007. Baita, F.; Pesenti, R.; Ukovich, W. e Favaretto, D. (2000). A comparison of dierent solution approaches to the vehicle scheduling problem in a practical case. Computers and Operations Research, 27:12491269. Ball, M. O.; Bodin, L. D. e Dial, R. (1983). A matching based heuristic for scheduling mass transit crew and vehicles. Transportation Science, 1(17):431. Daduna, J. R. e Voss, S. (2001). Lecture notes in economics and mathematical systems. Computer-Aided Scheduling of Public Transport, 505. Berlim: Springer Publishers. Desrochers, M. e Soumis, F. (1989). A column generation approach to the urban transit crew scheduling problem. Transportation Science, 23:113. Elias, S. E. G. (1964). The use of digital computers in the economic scheduling for both man and machine in public transportation. Manhattan, Kansas. Freling, R. (1997). Models and techniques for integrating vehicle and crew scheduling. PhD thesis, Erasmus University Rotterdam, Amsterdam. Freling, R.; Boender, C. G. E. e Paixo, J. M. P. (1995). An integrated approach to vehicle and crew scheduling. Technical Report 9503/A. Econometric Institute, Erasmus University Rotterdam, Rotterdam. Freling, R.; Huisman, D. e Wagelmans, A. P. M. (2003). Models and algorithms for integration of vehicle and crew scheduling. Journal of Scheduling, 6(1):6385. Freling, R.; Paixo, J. M. P. e Wagelmans, A. P. M. (2001). Models an algorithms for vehicle scheduling. Transportation Science, 35:165180. Freling, R.; Wagelmans, A. P. M. e Paixo, J. M. P. (1999). An overview of models and techniques for integrating vehicle and crew scheduling. Computer-Aided Transit Scheduling, 471:441460. 79

80

Referncias Bibliogrficas

Haase, K. e Friberg, C. (1999). An exact branch and cut algorithm for the vehicle and crew scheduling problem. Computer-Aided Transit Scheduling, pp. 6380. Homan, K. L. e Padberg, M. (1993). Solving airline crew scheduling problems by branch-and-cut. Management Science, 39:657682. Huisman, D.; Freling, R. e Wagelmans, A. P. M. (2005). Multiple-depot integrated vehicle and crew scheduling. Transportation Science, 39(4):491502. Kirkman, F. (1968). Problems of innovation in the transport industry: a bus scheduling program. In Proceedings of PTRC Public Transport Analysis Seminar, Planning and Transport Research and Computation Co. Ltd., volume 1, pp. 115. Laurent, B. e Hao, J. (2007). Simultaneous vehicle and driver scheduling: A case study in a limousine rental company. Computers and Industrial Engineering, 53(3):542 558. Loureno, H. R.; Martin, O. C. e Stutzle, T. (2003). Iterated local search. In Glover, F. e Kochenberger, G., editores, Handbook of Metaheuristics. Springer. Marinho, E. H. (2005). Heursticas busca tabu para o problema de programao de tripulaes de nibus urbano. Dissertao de mestrado. Universidade Federal Fluminense, Niteri - RJ. Mesquita, M. e Paias, A. (2008). Set partitioning/covering-based approaches for the integrated vehicle and crew scheduling problem. Computers and Operations Research, 35(5):15621575. Patrikalakis, I. e Xerocostas, D. (1992). A new decomposition scheme of the urban public transport scheduling problem. In Computer-Aided Transit Scheduling: Proceedings of the Fifth International Workshop, pp. 407425. Ribeiro, C. C. e Soumis, F. (1994). A column generation approach to the multiple-depot vehicle scheduling problem. Operations Research, 42:4152. Saha, J. L. (1970). An algorithm for bus scheduling problems. Operational Research Quarterly, 21:463474. Sampaio, R. B.; Sampaio, Y. e Sampaio, L. M. B. (2006). Ecincia de sistemas de transporte pblico no nordeste com anlise envoltria de dados (DEA). Revista Econmica do Nordeste, 37(2):261275.

Referncias Bibliogrficas

81

Santos, A. G. e Mateus, G. R. (2009). General hybrid column generation algorithm for crew scheduling problems using genetic algorithm. In 2009 IEEE Congress on Evolutionary Computation, pp. 17991806. Shen, Y. e Kwan, R. S. K. (2001). Tabu search for driver scheduling. Computer-Aided Scheduling of Public Transpor, pp. 121135. Silva, G. P. (2001). Uma metodologia baseada na tcnica de gerao de arcos para o problema de programao de veculos. Tese de doutorado. Escola Politcnica da USP, So Paulo - SP. Souza, M. J. F.; Silva, G. P. e Simes, E. M. L. (2007). Programao de nibus urbano: Uma abordagem heurstica. In Transporte em transformao XI: Trabalhos vencedores do prmio CNT de Produo Acadmica 2006, volume 1, pp. 3957. Positiva. Tosini, E. e Vercellis, C. (1988). An interactive system for extra-urban vehicle and crew scheduling problems. In Computer-Aided Transit Scheduling: Proceedings of the Fourth International Workshop, pp. 4153. Tsang, E. (1993). Foundations of constraint satisfaction. Academic press. Wren, A. (1972). Bus scheduling: an interactive computer method. Transportation Planning and Technology, 1:115122.

Artigo apresentado e publicado nos Anais do XLI Simpsio Brasileiro de Pesquisa Operacional (XLI SBPO) - 2009

O PROBLEMA DA ALOCAO DINMICA DE ESPAOS: APLICAO DAS METAHEURSTICAS GRASP E BUSCA TABU
Geiza Cristina da Silva1
Departamento de Cincias Exatas e Aplicadas Universidade Federal de Ouro Preto e-mail: geiza@decea.ufop.br

Paulo Oswaldo Boaventura-Netto Laura Bahiense


Programa de Engenharia de Produo, COPPE Universidade Federal do Rio de Janeiro e-mails: boaventu@pep.ufrj.br, laura@pep.ufrj.br

Luiz Satoru Ochi


Instituto de Computao Universidade Federal Fluminense e-mail: satoru@ic.uff.br

Resumo
Neste trabalho abordado o Problema da Alocao Dinmica de Espaos onde um projeto dividido por um nmero de perodos consecutivos e, em cada um deles, uma quantidade de atividades realizada. Os recursos necessrios para as atividades devem estar disponveis em espaos de trabalho e os recursos ociosos no perodo devem ser guardados em espaos de armazenamento. Este problema contm o Problema Quadrtico de Alocao (PQA) como um caso particular e, portanto, pertence a classe NP-difcil. Neste contexto a dificuldade em encontrar solues timas, mesmo para instncias de mdia dimenso, justifica o uso de mtodos heursticos. Este trabalho prope algoritmos de construo e heursticas baseados no GRASP e Busca Tabu para a obteno de solues aproximadas. Os resultados computacionais obtidos mostram que os mtodos propostos so competitivos na resoluo das instncias do problema existentes na literatura.

Palavras-chave: Metaheursticas, Otimizao Combinatria, Problema Quadrtico de Alocao.

Abstract
This work is dedicated to the Dynamic Space Allocation Problem, where a project is divided in a number of consecutive periods, each of them associated to a number of activities. The resources required by the activities have to be available in the corresponding workspaces and those staying idle during a period have to be stored in depots. This problem contains the Quadratic Assignment Problem (QAP) as a particular case, which puts it in the NP-hard class. In this context, the difficulty to identify optimal solutions, even for instances of medium size, justify the use of heuristics. This work proposes construction algorithms and heuristics based on GRASP and Tabu Search for finding approximate solutions. Computational results show the proposed methods as being competitive with relation to the literature instances and the existing techniques.

Keywords: Metaheuristics, Combinatorial Optimization, Quadratic Assignment Problem.

Agradecemos ao CNPq/(CT-Info e Universal), CAPES, FAPEMIG e FAPERJ pelo apoio a este trabalho.

Artigo apresentado e publicado nos Anais do XLI Simpsio Brasileiro de Pesquisa Operacional (XLI SBPO) - 2009

1 Introduo
O Problema da Alocao Dinmica de Espaos (PADE) relativamente novo na literatura e foi inspirado na necessidade de se otimizar os custos de realocao dos recursos necessrios para a realizao de atividades em projetos, em princpio relacionados com o manejo de equipamentos e de outros recursos. Como custos de realocao so considerados, alm da distncia percorrida pelos recursos, o custo de preparao dos recursos para serem movimentados. Um projeto dividido em um nmero de perodos de tempo consecutivos e, em cada um deles, um determinado nmero de atividades deve ser realizado. Um recurso chamado de recurso necessrio quando necessrio para a realizao de uma atividade em um dado perodo e ocioso, quando no for usado por uma das atividades do perodo. O local de realizao do projeto dividido em espaos de trabalho e espaos de armazenamento, ou depsitos. As atividades e seus recursos so associados a espaos de trabalho e os recursos ociosos, a espaos de armazenamento. O conjunto de perodos, com suas atividades e os respectivos recursos necessrios e ociosos, constitui a agenda do projeto. O objetivo do problema alocar os recursos de maneira que a distncia total percorrida por estes seja minimizada durante os perodos de tempo associados ao projeto. A Figura 1 apresenta um pequeno problema-exemplo do PADE. A agenda, consta de 4 perodos, 5 atividades e 9 recursos. Na segunda tabela da Figura 1, apresentado o layout dos espaos: na primeira linha, so localizados 3 espaos de trabalho (E1 a E3) e, na segunda, 3 espaos de armazenamento (E4 a E6). A mtrica de Manhattan utilizada na determinao da distncia entre os espaos. Por exemplo, a distncia entre os espaos E1 e E2 de 1 unidade, enquanto entre E1 e E6 ela de 3 unidades. A capacidade de cada espao de 3 recursos.
Perodos 1 2 3 4 Atividades (rec. necessrios) A1 (6,7) A2 (1,5) A2 (1,5) A3 (3,4) A4 (2,8) A4 (2,8) A5 (6,9) E1 E4 E2 E5 E3 E6 Recursos ociosos 2,3,4,8,9 2,6,7,8,9 1,3,4,5,6,7,9 1,3,4,5,7

Figura 1: Uma pequena instncia do PADE: agenda e layout dos espaos Para que uma soluo seja considerada vivel, as seguintes condies devem ser consideradas: A cada perodo, somente uma atividade pode ser realizada em um espao de trabalho; uma atividade deve ser associada a um nico espao de trabalho, isto , se uma atividade for realizada em perodos consecutivos, ela deve permanecer no espao de trabalho onde se encontra; a capacidade do espao de trabalho ao qual uma atividade associada deve ser suficiente para guardar seus respectivos recursos; a capacidade dos depsitos deve ser respeitada. A Figura 2 ilustra uma soluo tima para o problema-exemplo da Figura 1, onde a distncia total percorrida pelos recursos de 12 unidades.

Artigo apresentado e publicado nos Anais do XLI Simpsio Brasileiro de Pesquisa Operacional (XLI SBPO) - 2009

A2(1,5) 2,8

3,4

A1(6,7) 9

A2(1,5) 2,8

A3(3,4) 6,7,9

Perodo 1
A4(2,8) 1,5 3,4 6,7,9

Perodo 2
A4(2,8) 1,5 3,4 A5(6,9) 7

Perodo 3

Perodo 4

Figura 2: Uma soluo para a instncia exemplo O presente trabalho utiliza uma formulao matemtica do problema para obter solues timas, ou limites inferiores, para algumas instncias da literatura. Em termos de algoritmos, so propostas heursticas baseados nos conceitos do GRASP e da Busca Tabu. A seo 2 apresenta uma reviso bibliogrfica. A seo 3 dedicada formulao matemtica do PADE. A seo 4 descreve os algoritmos propostos. Os resultados computacionais obtidos so mostrados na seo 5, aps a qual se apresentam as concluses.

2 Literatura
O PADE, embora seja aplicvel em muitas situaes prticas, ainda no apresenta muitas contribuies na literatura. Ele foi originalmente proposto por McKendall Jr. et al. (2005) que o associaram ao problema de minimizar o custo do transporte de recursos dados equipamentos, ferramentas e peas de reposio, entre outros na ocorrncia de desligamentos planejados em centrais de energia eltrica. Na literatura, esses custos tm sido diretamente associados s distncias percorridas pelos recursos. Os autores tambm apresentam uma formulao matemtica (apresentada na Seo 3) e duas heursticas do tipo simulated annealing. Em McKendall Jr. e Jaramillo (2006) foram apresentadas cinco heursticas de construo e uma busca tabu (Tabu I). Neste trabalho, uma nova restrio incorporada ao problema: recursos que se apresentam ociosos em perodos de tempo consecutivos devem permanecer em um mesmo depsito, o que razovel em termos de custo e diminui o espao de busca da soluo. Tabu I mantm duas listas tabu: uma para os movimentos de atividades e outra, para os movimentos de recursos ociosos. A cada iterao, o melhor movimento escolhido e a soluo resultante tornase corrente para a prxima iterao. Atravs de testes comparativos dos mtodos anteriores com os propostos, os autores concluram que a combinao das heursticas de construo com a busca tabu proporcionou melhor performance, tanto em termos de qualidade das solues como em tempo de computao. Em McKendall Jr. (2008), um modelo matemtico modificado e trs diferentes heursticas baseadas em busca tabu so propostos. A primeira heurstica (Tabu II) uma busca tabu simples que se diferencia de Tabu I somente na maneira como os recursos ociosos so explorados. Em Tabu II os recursos ociosos so movimentados individualmente. Na segunda heurstica deste trabalho (Tabu III) as listas tabu tm seus tamanhos recalculados a cada iterao e consideram ainda estratgias de intensificao e diversificao. A terceira, Tabu IV, semelhante a Tabu II diferindo em como o movimento a ser executado na soluo corrente escolhido: todos os possveis movimentos so avaliados e ordenados; os melhores M movimentos so considerados e selecionados para fazer parte de uma lista de movimentos candidatos (LMC). A partir da considerado o primeiro movimento de LMC. Este aceito com uma probabilidade p. Se o movimento for aceito, a soluo resultante passa a ser corrente para a prxima iterao. Caso contrrio, o prximo movimento considerado e aceito com uma probabilidade p, sendo este passo repetido at que um movimento seja selecionado. Se nenhum dos movimento de LMC for aceito, o melhor movimento da lista escolhido. A metodologia apresentada comparada com os algoritmos da literatura e os resultados reportados apontam a segunda heurstica como o melhor mtodo dentre os que figuraram na comparao.

Artigo apresentado e publicado nos Anais do XLI Simpsio Brasileiro de Pesquisa Operacional (XLI SBPO) - 2009

Apesar de sua definio recente, o PADE pode ser correlacionado com outros problemas muito estudados na rea de Pesquisa Operacional. A tarefa de associar atividades a espaos de trabalho corresponde ao Problema Quadrtico de Alocao (PQA) (Koopmans, 1957; Loiola. et al., 2007). No entanto, o PADE prope que a alocao de atividades deva ocorrer em mltiplos perodos de tempo, recaindo exatamente na definio do Problema Dinmico de Layout de Facilidades (PDFL) (Rosenblatt, 1986). J o sub-problema do PADE, de associao dos recursos ociosos a depsitos, associado ao Problema Quadrtico de Alocao Generalizado (PQAG) (Lee e Ma, 2005). Este sub-problema de complexidade no menor que a do PQAG uma vez que a associao dos recursos ociosos deve ocorrer em mais de um perodo. 3 Modelo Matemtico Na definio formal do PADE, os seguintes ndices e parmetros necessrios devem ser considerados: ndices: J = nmero total de atividades (j = 1, 2, ..., J); R = nmero total de recursos (r = 1, 2, ..., R); P = nmero total de perodos (p = 1, 2, ..., P); N = nmero total de locaes (espaos de trabalho e de armazenamento); L = conjunto de locaes, |L| = N (l = 1, 2, ..., N); W = conjunto de espaos de trabalho, W L (w W); S = conjunto de depsitos, S L (s S) e W S = L; Rj = conjunto de recursos necessrios para realizar a atividade j; Ip = conjunto de recursos ociosos no perodo p; Ap = conjunto de atividades no perodo p. Parmetros: dkl = distncia entre as locaes k e l; Cs = capacidade do depsito s. Deve-se considerar ainda a varivel de deciso xprk que se torna 1 se no perodo p, o recurso r associado ao depsito k e 0 caso contrrio; e a varivel de deciso yjw que assume valor 1 se a atividade j realizada no espao de trabalho w e 0 caso contrrio. O modelo matemtico proposto em McKendall et al. (2005) definido como: Minimizar: (1) Sujeito a: (2) (3) (4) (5) (6) (7) (8)


R N N r =1 k =1 l =1

P p =1

d kl x prk x p +1rl

sS j
rI p

x prs = 1, p P, r I p ,
x prs C s , s S , p P,

wW

y jw = 1,j J ,
y jw 1, w W , p P,

jAp rR j

x prk =| R j | y jw , p P, j Ap , w W ,

x prk = 0 ou 1, p P, r R, k L, y jw = 0 ou 1, j J , w W .

Artigo apresentado e publicado nos Anais do XLI Simpsio Brasileiro de Pesquisa Operacional (XLI SBPO) - 2009

A funo objetivo (1) minimiza a distncia percorrida pelos recursos ao longo dos perodos em que o projeto realizado. As restries (2) garantem que todos os recursos ociosos em cada perodo sejam associados a um nico depsito e as (3) asseguram que a capacidade dos depsitos seja respeitada em cada perodo de tempo. As restries (4) e (5) garantem, respectivamente, que toda atividade seja associada a um nico espao de trabalho e que cada espao de trabalho tenha no mximo uma atividade associada. As restries (6) garantem que todos os recursos necessrios realizao de uma atividade sejam associados ao mesmo espao de trabalho ao qual a atividade tenha sido associada. Finalmente, as restries (7) e (8) determinam que as variveis de deciso so binrias. Esta formulao claramente quadrtica, tem sua forma linearizada substituindo-se a funo objetivo (1) pelo termo (1), onde wp+1prkl uma varivel de deciso binria. Alm disso, as restries 9 11 devem ser acrescentadas. (1) (9) (10) (11)


R N N r =1 k =1 l =1

P 1 p =1

d kl w p +1 prkl

x prk + x p +1rl 1 w p +1 prkl , p P, r R, k , l L, l k ,

x prk + x p +1rl 2w p +1 prkl , p P, r R, k , l L, l k ,


w p +1 prkl = 0 ou 1, p P, r R, k , l L, l k .

4 Algoritmos Propostos Neste trabalho so propostos algoritmos construtivos e heursticas usando o conceito de GRASP e Busca Tabu. A escolha destas metaheursticas, em parte se deve aos bons resultados que as mesmas tm mostrado em diferentes problemas de otimizao combinatria (Santos et al. 2005; Silva et al. 2007). 4.1 Algoritmos de Construo So propostos dois algoritmos de construo, ambos obtendo uma soluo a partir da execuo de duas etapas: na primeira delas, ocorre a associao das atividades a espaos de trabalho e, em seguida, a associao dos recursos ociosos a depsitos. Os dois algoritmos propostos diferem um do outro na segunda etapa e so doravantes denotados por: Construo Proposta 1 (C1) e Construo Proposta 2 (C2). Na primeira fase de C1 e C2, consideremos J, o nmero de atividades e W, o conjunto de espaos de trabalho. Inicialmente, os espaos de trabalho so ordenados, a partir do espao mais bem localizado, formando uma lista inicial de candidatos (LIC). O tamanho de LIC , portanto, |W|. A LIC tem, ento, os espaos de trabalho ordenados do mais bem localizado para o pior e para cada atividade os elementos de LIC que esto disponveis so selecionados para compor a LRC. A soluo ento construda iterativamente, a cada iterao uma atividade a sendo associada a um espao de trabalho. Para isto, criada uma lista restrita de candidatos (LRC), um espao de trabalho escolhido aleatoriamente da LRC e associado a a. Na construo da LRC, a LIC percorrida para que se verifique se, em todos os perodos onde a ocorre, o espao de trabalho escolhido no ocupado por alguma outra atividade. Se essa ocupao no ocorrer, ele ser includo na LRC. O tamanho da LRC determinado por: min (n_disp, |W|), onde n_disp o nmero de espaos de trabalho disponveis e um parmetro. Na segunda etapa, C1 a implementao da Randomized Storage Policy (RSP) (McKendall Jr. et al., 2006) que associa cada recurso ocioso ao depsito mais prximo do espao de trabalho onde a atividade que o requer estiver alocada, dando maior prioridade para os recursos que so usados

Artigo apresentado e publicado nos Anais do XLI Simpsio Brasileiro de Pesquisa Operacional (XLI SBPO) - 2009

mais cedo e C2 uma adaptao de RSP por considerar a associao de recursos feita no perodo anterior. 4.2 Estruturas de Vizinhana Dada uma soluo s, so utilizadas as estruturas de vizinhanas NA(s), definida sobre a parte da soluo que se refere associao de atividades e NR(s), que corresponde parte dos recursos ociosos. Um movimento de troca em NA(s) consiste em permutar os espaos de trabalho de duas atividades e um movimento de realocao, consiste em retirar uma atividade de um espao de trabalho ao qual est associada e reassoci-la a outro espao de trabalho at ento vazio. Os possveis movimentos de recursos ociosos em NR(s) consistem em trocar os depsitos de dois (ou mais) recurso(s) em todos os perodos consecutivos nos quais este(s) permanea(m) ocioso(s) e em remover um (ou mais) recurso(s) de um depsito em todos os perodos consecutivos no qual este(s) permanea(m) ocioso(s) e realoc-lo(s) a um depsito at ento vazio. 4.3 GRASP Proposto (GRASP) Na fase de construo, GRASP obtm uma soluo inicial por meio de C1. Na fase de busca local, a cada iterao, so realizados todos os movimentos de atividades e de recursos ociosos na soluo corrente, descritos em 4.2. O melhor movimento que represente uma melhora executado e a soluo obtida torna-se corrente para a prxima iterao. A busca termina quando a soluo corrente no puder mais ser melhorada. O algoritmo GRASP retorna a melhor soluo obtida em um nmero dado de iteraes. 4.4 Busca Tabu Proposta (Tabu)
Tabu executa os seguintes passos at um dado nmero de iteraes sem melhora: no incio, o

algoritmo avalia todos os possveis movimentos de atividades. Para cada um deles, a heurstica RSP executada para realocar os recursos ociosos de acordo com a nova matriz de atividades. O movimento no tabu que, quando executado seguido de RSP, gerar a melhor soluo feito e a soluo correspondente torna-se corrente para a prxima iterao. O critrio de aspirao permite que um movimento tabu possa ser realizado se a soluo gerada por sua execuo seguida de RSP tiver menor custo que a melhor soluo. Uma lista tabu de tamanho dinmico utilizada para armazenar os movimentos recentes de atividades. O tempo que um movimento considerado tabu determinado pelo tamanho da lista tabu. Inicialmente e a cada iteraes sem melhora, o tamanho da lista escolhido aleatoriamente dentro de um limite inferior (li) e limite superior (ls). A maior diferena entre a Tabu aqui proposta e as heursticas apresentadas na literatura est nos movimentos usados (somente de atividades) enquanto as buscas tabu propostas em McKendall e Jaramillo (2006) e McKendall (2008) executam o melhor movimento (de atividade ou de recursos ociosos) e no uso da heurstica RSP para a gerao de uma soluo parcial de recursos ociosos. Deve-se notar ainda que tanto as buscas tabu da literatura, como a aqui apresentada, podem ser consideradas implementaes simples. Entretanto, conforme mostrado na prxima seo, o mtodo proposto capaz de um desempenho na mdia superior para as instncias do problema testadas. Este mesmo resultado, a partir de uma busca tabu simples, foi obtido no estudo de Santos et al. (2005), mostrando com isso, que para obter bons resultados a heurstica no precisa necessariamente ser muito sofisticada. 5 Resultados Computacionais Nos testes computacionais foram utilizadas as instncias da literatura propostas em McKendall et al. (2005). Todos os parmetros envolvidos nos mtodos propostos foram empiricamente definidos atravs de testes preliminares. Os testes foram realizados em um Computador Intel

Artigo apresentado e publicado nos Anais do XLI Simpsio Brasileiro de Pesquisa Operacional (XLI SBPO) - 2009

Quad Core 2 com 2394 Mhz e 3278 Mb de memria RAM usando o sistema operacional Linux Ubuntu na verso 2.6.24-19. A Tabela 1 apresenta os resultados para as instncias com 6 e 12 locaes e a Tabela 2, com 20 e 32 locaes, totalizando 96 instncias testadas. Foram computadas para cada instncia o melhor valor de funo objetivo obtido de um total de 10 execues dos algoritmos Tabu e GRASP (Colunas Tabu e GRASP), o valor mdio das execues (arredondado para inteiro superior) (M_Tabu e M_GRASP), o tempo de processamento, em segundos, da melhor soluo (Tempo(s)) e o tempo mdio das execues (M_Tempo(s)). Reportamos tambm, para cada mtodo proposto, a diferena percentual entre o valor da melhor soluo obtida pelo mtodo e o valor da melhor soluo conhecida (Dif.) e a diferena percentual entre a mdia de valores de solues obtidas pelo mtodo e o valor da melhor soluo conhecida (M_Dif.).

Inst. P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24 P25 P26 P27 P28 P29 P30 P31 P32 P33 P34 P35 P36 P37 P38 P39 P40 P41 P42 P43 P44 P45 P46 P47 P48

Lit. 16 25 18 25 16 27 16 31 25 46 32 41 28 45 35 49 35 60 46 60 46 67 55 74 *30 *42 43 *54 29 50 42 *66 53 72 68 90 47 77 67 104 78 104 110 137 66 111 111 169

Tabu 16 26 18 26 16 27 16 31 25 46 32 43 28 45 35 49 35 62 46 63 48 67 56 74 31 43 43 55 29 49 42 69 52 72 73 95 48 83 69 108 78 102 110 140 66 116 115 171

Dif. 0,0 3,8 0,0 3,8 0,0 0,0 0,0 0,0 0,0 0,0 0,0 4,7 0,0 0,0 0,0 0,0 0,0 3,2 0,0 4,8 4,2 0,0 1,8 0,0 0,0 0,0 0,0 0,0 0,0 -2,0 0,0 0,0 -1,9 0,0 6,8 5,2 2,1 7,2 2,9 3,7 0,0 -2,0 0,0 2,1 0,0 4,3 3,5 1,2

Tempo(s) 0,1 0,1 0,1 0,0 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,7 0,4 0,5 0,3 0,4 0,5 0,4 0,2 1,3 0,7 1,1 0,4 0,7 0,6 1,1 0,5

M_Tabu 16 26 18 26 16 27 16 31 25 46 32 43 28 45 35 49 35 62 46 63 48 67 56 74 31 43 43 55 29 49 42 69 53 72 73 95 48 83 69 108 78 103 110 140 66 116 115 171

M_Dif. 0,0 3,8 0,0 3,8 0,0 0,0 0,0 0,0 0,0 0,0 0,0 4,7 0,0 0,0 0,0 0,0 0,0 3,2 0,0 4,8 4,2 0,0 1,8 0,0 3,2 2,3 0,0 0,0 0,0 -2,0 0,0 0,0 0,0 0,0 6,8 5,3 2,1 7,2 2,9 3,7 0,0 -1,0 0,0 2,1 0,0 4,3 3,5 1,2

M_Tempo(s) 0,1 0,1 0,1 0,1 0,2 0,2 0,1 0,1 0,1 0,1 0,2 0,1 0,4 0,3 0,4 0,3 0,4 0,4 0,4 0,3 0,9 0,8 0,9 0,5 0,9 0,7 1,0 0,5

GRASP 16 26 18 26 16 27 16 31 25 46 32 43 28 45 35 49 35 62 46 63 48 67 56 74 31 43 43 55 29 49 43 69 54 74 73 95 48 83 69 108 80 102 110 140 68 118 115 172

Dif 0,0 3,8 0,0 3,8 0,0 0,0 0,0 0,0 0,0 0,0 0,0 4,7 0,0 0,0 0,0 0,0 0,0 3,2 0,0 4,8 4,2 0,0 1,8 0,0 3,2 2,3 0,0 1,8 0,0 -2,0 2,3 4,3 1,9 2,7 6,8 5,2 2,1 7,2 2,9 3,7 2,5 -2,0 0,0 2,1 2,9 5,9 3,5 1,7

Tempo(s) 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,2 0,2 0,2 0,1 0,2 0,2 0,2 0,2 0,5 0,6 0,5 0,5 0,4 0,6 0,5 0,4 1,8 1,9 1,9 1,4 1,9 1,8 1,9 1,4 4,3 4,2 4,2 3,0 4,8 4,1 4,2 3,1

M_GRASP 16 26 18 26 16 27 16 32 25 47 32 44 28 46 36 49 36 64 46 64 49 68 57 74 31 45 43 56 29 50 43 70 56 77 75 97 51 88 73 111 84 111 113 145 76 122 120 175

M_ Dif. 0,0 3,8 0,0 3,8 0,0 0,0 0,0 3,1 0,0 2,1 0,0 6,8 0,0 2,2 2,8 0,0 2,8 6,3 0,0 6,3 6,1 1,5 3,5 0,0 0,0 4,4 0,0 1,8 0,0 0,0 2,3 1,4 5,4 6,5 9,3 7,2 7,8 12,5 8,2 6,3 7,1 6,3 2,7 5,5 13,2 9,0 7,5 3,4

M_Tempo(s) 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,2 0,2 0,2 0,1 0,2 0,2 0,2 0,2 0,5 0,6 0,6 0,5 0,4 0,5 0,6 0,4 1,8 2,0 1,9 1,4 1,9 1,8 2,0 1,4 4,3 4,3 4,3 3,0 4,7 4,1 4,1 3,1

Tabela 1: Resultados para as instncias de 6 e 12 locaes

Artigo apresentado e publicado nos Anais do XLI Simpsio Brasileiro de Pesquisa Operacional (XLI SBPO) - 2009

Inst. P49 P50 P51 P52 P53 P54 P55 P56 P57 P58 P59 P60 P61 P62 P63 P64 P65 P66 P67 P68 P69 P70 P71 P72 P73 P74 P75 P76 P77 P78 P79 P80 P81 P82 P83 P84 P85 P86 P87 P88 P89 P90 P91 P92 P93 P94 P95 P96

Mck 45 63 55 98 49 67 63 97 67 106 101 159 82 129 121 190 105 156 157 234 112 178 170 265 74 97 110 155 73 101 110 175 119 176 192 282 125 192 193 302 171 262 284 395 189 281 318 464

Tabu 44 60 54 89 47 62 60 89 66 101 93 153 74 112 118 175 101 150 145 218 114 166 162 251 71 90 102 144 70 92 99 163 109 161 185 268 117 181 180 275 162 251 271 388 178 270 298 437

Dif. -2,3 -5,0 -1,9 -10,1 -4,3 -8,1 -5,0 -9,0 -1,5 -5,0 -8,6 -3,9 -10,8 -15,2 -2,5 -8,6 -4,0 -4,0 -8,3 -7,3 1,8 -7,2 -4,9 -5,6 -4,2 -7,8 -7,8 -7,6 -4,3 -9,8 -11,1 -7,4 -9,2 -9,3 -3,8 -5,2 -6,8 -6,1 -7,2 -9,8 -5,6 -4,4 -4,8 -1,8 -6,2 -4,1 -6,7 -6,2

Tempo(s) 1,5 1,8 1,1 0,7 2,2 1,6 2,2 0,8 5,2 3,1 4,1 1,4 6,0 5,2 6,0 2,0 10,7 7,3 6,5 3,3 12,1 9,1 2,2 6,3 8,0 7,0 12,7 5,2 9,1 23,9 8,4 7,0 44,9 38,9 30,1 21,2 39,8 30,1 41,5 44,8 58,9 81,9 68,1 20,5 81,3 87,6 69,7 43,1

M_Tabu 44 60 54 89 47 63 60 90 67 103 95 154 76 114 120 177 103 154 148 222 118 170 167 255 71 93 104 148 70 96 101 166 113 167 193 278 121 187 186 282 167 259 283 399 186 281 312 458

M_Dif. -2,3 -5,0 -1,9 -10,1 -4,3 -6,3 -5,0 -7,8 0,0 -2,9 -6,3 -3,2 -7,9 -13,2 -0,8 -7,3 -1,9 -1,3 -6,1 -5,4 5,1 -4,7 -1,8 -3,9 -4,2 -4,3 -5,8 -4,7 -4,3 -5,2 -8,9 -5,4 -5,3 -5,4 0,5 -1,4 -3,3 -2,7 -3,8 -7,1 -2,4 -1,2 -0,4 1,0 -1,6 0,0 -1,9 -1,3

M_Tempo(s) 1,3 1,3 1,1 0,9 1,4 1,4 1,4 1,1 4,0 3,2 3,6 1,8 4,6 5,0 4,2 3,0 10,1 6,1 7,3 3,7 10,7 9,7 13,2 6,5 7,0 8,4 9,6 6,7 7,9 10,6 10,1 8,3 29,4 24,5 31,8 18,5 34,2 28,6 32,2 30,5 67,7 57,7 54,2 25,4 73,6 74,4 76,8 41,769

GRASP 44 60 56 92 47 64 62 89 68 106 100 156 79 119 127 182 109 163 150 231 121 183 182 259 71 95 109 155 70 102 108 174 124 179 206 285 135 202 201 297 188 273 303 409 196 301 344 478

Dif -2,3 -5,0 1,8 -6,5 -4,3 -4,7 -1,6 -9,0 1,5 0,0 -1,0 -1,9 -3,8 -8,4 4,7 -4,4 3,7 4,3 -4,7 -1,3 7,4 2,7 6,6 -2,3 -4,2 -2,1 -0,9 0,0 -4,3 1,0 -1,9 -0,6 4,0 1,7 6,8 1,1 7,4 4,6 4,0 -1,7 9,0 4,0 6,3 3,4 3,6 6,6 7,6 2,9

Tempo(s) 6,3 7,0 7,0 4,5 6,5 7,3 7,8 6,4 23,4 21,4 20,2 13,3 28,3 28,2 25,7 20,2 51,4 47,9 45,1 30,4 65,7 65,0 62,8 47,6 50,8 61,7 6,0 48,7 51,7 65,8 85,9 67,3 229,8 215,8 235,4 168,7 234,9 228,4 262,0 202,2 612,7 553,6 568,7 402,5 652,5 613,0 663,8 456,7

M_ GRASP 44 64 58 94 48 68 66 97 70 111 107 163 82 129 132 191 116 169 161 238 129 189 192 280 71 99 114 164 72 105 115 181 129 188 220 304 141 215 214 315 198 290 319 421 209 317 362 502

M_Dif. -2,3 1,6 5,2 -4,3 -2,1 1,5 4,5 0,0 4,3 4,5 5,6 2,5 0,0 0,0 8,3 0,5 9,5 7,7 2,5 1,7 13,2 5,8 11,5 5,4 -4,2 2,0 3,5 5,5 -1,4 3,8 4,3 3,3 7,8 6,4 12,7 7,2 11,3 10,7 9,8 4,1 13,6 9,7 11,0 6,2 9,6 11,4 12,2 7,6

Tempo(s) 6,4 7,1 6,9 4,6 6,5 7,4 7,5 6,4 23,3 21,7 20,6 13,2 28,0 27,6 25,9 20,6 51,6 48,0 45,8 29,9 64,8 64,5 63,7 47,9 50,7 61,3 67,3 48,9 51,3 66,4 84,3 65,5 234,1 221,8 234,4 167,0 237,3 230,1 263,9 201,3 618,2 556,5 572,2 381,0 636,6 603,9 668,8 471,3

Tabela 2: Resultados para as instncias de 20 e 32 locaes Procurou-se resolver exatamente instncias de pequeno e mdio porte, atravs do modelo discutido na Seo 3. Dos 96 problemas-testes disponveis, a literatura reporta os limites inferiores P1 at P24 e P27, num total de 25 problemas. A formulao matemtica foi processada no CPLEX 11 e alm dos timos j conhecidos, outras instncias foram resolvidas de forma exata, a saber: P25, P26, P28, P29, P31 e P32. Os valores destacados em itlico, na Tabela 1, indicam o valor timo. O uso da tcnica exata foi abandonado a partir do problema P32 visto que neste o tempo computacional j era demasiadamente elevado. Surpreendentemente, nas instncias P25, P26, P28 e P32, os melhores valores reportados na literatura (McKendall, 2008) so menores que o timo, o que mostra equvocos destes resultados da literatura. Estes valores equivocados esto destacados com um asterisco (*). Em relao ao desempenho dos algoritmos propostos, Tabu chegou ao timo em 24 e a heurstica GRASP, em 23 instncias diferentes. Verificamos ainda que nas instncias onde o timo no foi alcanado, os mtodos estiveram no mximo a 4,8% do timo. Para as 64 instncias cujo timo desconhecido (P30 e P33 - P96), as heursticas propostas foram comparadas com os melhores resultados da literatura. Tabu obteve melhores solues em 50 instncias mostrando uma reduo mdia de -2,5% e a maior reduo (- 15,2%) foi obtida na instncia P62. O algoritmo foi capaz de manter o resultado da literatura em 5 instncias e, nas demais, a maior diferena percentual entre Tabu e o melhor da literatura foi de 7,2%. GRASP foi

Artigo apresentado e publicado nos Anais do XLI Simpsio Brasileiro de Pesquisa Operacional (XLI SBPO) - 2009

capaz de melhorar o resultado conhecido 24 vezes, empatou 3 vezes com a literatura e chegou a reduzir o melhor custo da instncia P56 em -9,0%. No entanto, forneceu, em mdia, solues de custo 3,0% maior do que os da literatura. As Figuras 3 e 4 mostram as diferenas percentuais entre o melhor resultado da literatura e a mdia dos resultados obtidos pelos algoritmos propostos para as instncias das Tabelas 1 e 2.
14

12

10

8 Percentual

-2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Instncia GRASP Tabu

Figura 3: Grfico de diferenas percentuais para as instncias de 6 e 12 locaes

10

5 Percentual

-5

-10

49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Instncia GRASP Tabu

Figura 4: Grfico de diferenas percentuais para as instncias de 20 e 32 locaes Em tempo computacional, o algoritmo Tabu se mostrou mais eficiente que o GRASP para os parmetros utilizados. No foi feita a comparao de tempo entre os algoritmos da literatura e propostos, visto que os algoritmos foram executados em mquinas de poder computacional diferente. Atravs dos resultados empricos apresentados nota-se que Tabu mostra eficincia maior em instncias com 20 e 32 locaes, o que, na prtica, mostra que o algoritmo proposto menos mope que a verso da literatura. Em relao ao mtodo GRASP, pela maneira simples que foi

Artigo apresentado e publicado nos Anais do XLI Simpsio Brasileiro de Pesquisa Operacional (XLI SBPO) - 2009

implementado, acredita-se que este pode ser melhorado a partir de um estudo mais amplo do fator de determinao de gulosidade/aleatoriadade do algoritmo de construo (valor de ) cuja escolha determinante para o bom desempenho da metaheurstica, como pode ser visto em (Resende, 2008). Neste mesmo sentido, acredita-se que seria interessante a aplicao dos conceitos de GRASP Reativo que tem sido frequentemente utilizado com sucesso para outros problemas de semelhante complexidade, como em Silva et al. (2007). 6 Concluses Neste trabalho, o Problema da Alocao Dinmica de Espaos estudado. Este problema relativamente novo na literatura mas, embora de definio recente, tem sua importncia justificada por poder ser aplicado a casos nos quais mover um recurso uma tarefa difcil ou dispendiosa. Alm disso, o PADE pode ser correlacionado a um dos problemas mais examinados da rea, o PQA, alm do PDFL e o PQAG. Dois algoritmos baseados em GRASP e Busca Tabu so propostos e os resultados so comparados com os resultados timos (quando estes esto disponveis) e com os melhores resultados da literatura. Nesta comparao nota-se que a heurstica baseada em busca tabu , na mdia, capaz de produzir solues de custos melhores que os demais em questo, para o conjunto de instncias testadas. Outra contribuio do trabalho tambm est na correo dos limites inferiores das instncias P25, P26, P28 e P32, apresentados incorretamente na literatura, alm de resolver instancias da literatura que estavam em aberto. Referncias Koopmans, T. C. e Beckmann, M. (1957). Assignment problems and the location of economic activities. Econometrica, 25, 53-76. Lee, C-G, e Ma, Z., The generalized quadratic assignment problem, Working paper, U. of Toronto, Dept. of Mechanical and Industrial Engineering, 2005. Loiola, E. M., Abreu, N. M. M. A., Boaventura-Netto, P. O., Hahn, P. e Querido, T.M. (2007), A survey for the quadratic assignment problem, European Journal of Operational Research, 176, 657690. McKendall Jr., A. (2008), Improved tabu search heuristic for the dynamic space allocation problem, Computers & Operations Research, 35, 33473359. McKendall Jr., A. e Jaramillo, J. (2006). A tabu search heuristic for the dynamic space allocation problem, Computers & Operations Research, 33, 768789. McKendall Jr., A., Noble, J. e Klein, C. (2005). Simulated annealing heuristics for managing resources during planned outages at electric power plants, Computers & Operations Research, 32, 107125. Resende, M. G. C. (2008). Metaheuristic hybridization with Greedy Randomized Adaptive Search Procedures. TutORials in Operations Research, Zhi-Long Chen and S. Raghavan (Eds.), 295-319, INFORMS, 2008 Rosenblatt, M. J. (1986), The dynamics of plant layout, Management Science, 32, 7686. Santos, H. G., Ochi, L. S. e Souza, M. J. F. (2005). A Tabu Search Heuristic with Efficient Diversification Strategies for the Class/Teacher Timetabling Problem, The ACM Journal of Experimental Algorithmics, 10, 1-16. Silva, G. C., de Andrade, M. R. Q., Ochi, L. S., Martins, S. L. e Plastino, A. (2007). New heuristics for the maximum diversity problem, Journal of Heuristics, 13, 315-336.

10

OTIMIZACAO DO FLUXO DE PRODUTOS DE UMA EMPRESA MINERADORA

TULIO ANGELO MACHADO TOFFOLO Orientador: Geraldo Robson Mateus

OTIMIZACAO DO FLUXO DE PRODUTOS DE UMA EMPRESA MINERADORA

Dissertaao apresentada ao Programa de c Ps-Graduao em Cincia da Computao o ca e ca da Universidade Federal de Minas Gerais como requisito parcial para a obtenao do c grau de Mestre em Cincia da Computao. e ca

Belo Horizonte Maio de 2009

2009, Tlio Angelo Machado Toolo. u Todos os direitos reservados.

Toolo, Tlio Angelo Machado u Otimizao do Fluxo de Produtos de uma Empresa ca Mineradora / Tlio Angelo Machado Toolo. Belo u Horizonte, 2009 xviii, 77 f. : il. ; 29cm Dissertaao (mestrado) Universidade Federal de Minas c Gerais Orientador: Geraldo Robson Mateus 1. Pesquisa Operacional. 2. Otimizao. 3. Mineraao. ca c I. T tulo.

[Folha de Aprovao] ca
Quando a secretaria do Curso fornecer esta folha, ela deve ser digitalizada e armazenada no disco em formato grco. a Se voc estiver usando o pdflatex, e armazene o arquivo preferencialmente em formato PNG (o formato JPEG pior neste caso). e Se voc estiver usando o latex (no o pdflatex), e a ter que converter o arquivo grco para o formato EPS. a a Em seguida, acrescente a opao approval={nome do arquivo} c ao comando \ppgccufmg.

Aos meus pais.

Agradecimentos
Agradeo, em primeiro lugar, a Deus, pela sade e oportunidades que me zeram chegar c u at aqui. e Aos meus orientadores, Prof. Geraldo Robson Mateus e Prof. Marcone Jamilson Freitas Souza, pelos quais tenho grande admirao, gostaria de prestar minha sincera ca gratido pelos ensinamentos, e, sobretudo, pela compreenso e amizade demonstrados a a nos momentos mais dif ceis. Aos meus pais Rodrigo e Renata, agradeo pelo amor e carinho, no s durante a c a o realizao deste trabalho, mas por toda a minha vida. Eu denitivamente no seria ca a ningum sem meus pais, as pessoas mais importantes da minha vida. e Ao meu irmo e melhor amigo Rodrigo, pelo eterno apoio, amizade e pacincia. a e Ao DCC da UFMG e seus professores, que no mediram esforos para me ajudar a c em todo o mestrado e que com grande sabedoria me conduziram por todo este tempo para que eu chegasse at aqui. e Agradeo a todos meus amigos que me encorajaram nos momentos mais dif c ceis desta trajetria, em especial ` Rinat, aos companheiros da Optilog, Fred, Reinaldo, o a Jos Maria e Cec e aos colegas do LaPo. Obrigado queridos amigos! e lia Agradeo tambm ` minha av, tios, primos e todos os demais que direta ou indic e a o retamente contribu ram para a minha formao tanto como prossional quanto como ca pessoa.

vii

Resumo
E notria a importncia do setor de extrao mineral para o Brasil, tendo este geo a ca rado apenas em Minas Gerais uma receita de cerca de R$ 29 bilhes em 2008. Neste o contexto o desenvolvimento de tecnologias que aprimorem este setor de grande relee vncia. Periodicamente, as mineradoras devem tomar decises relacionadas ` produao a o a c e transporte dos minrios, tomando como base suas capacidades log e sticas e produtivas, bem como demandas dos mercados interno e externo (exportaao). Estas decises c o geram um plano de uxo dos produtos, que consiste em determinar o curso dos mine rios provenientes das diferentes minas, desde a produao at a venda, com o objetivo c e de maximizar o atendimento `s metas de qualidade dos clientes e, ao mesmo tempo, a otimizar toda a cadeia log stica. Neste processo, a escolha do minrio a ser utilizado na e composiao dos produtos e uma complexa malha de transporte que inclui mineriodutos, c correias de longa distncia, terminais ferrovirios, rodovirios e porturios devem ser a a a a considerados. Esta dissertao prope algoritmos para o Problema do Planejamento do Fluxo dos ca o Produtos (FP), que engloba alguns problemas clssicos da literatura de forma intea grada, tais como Mistura de Minrios, Planejamento de Transporte e Planejamento e e Sequenciamento da Produao. O FP foi tratado em diferentes horizontes de planejac mento: anual, trimestral, mensal e dia-a-dia. Um modelo multi-objetivo baseado em programaao linear por metas foi proposto, sendo capaz de resolver apenas instncias c a dos horizontes anual e mensal em tempo aceitvel. Para tratar as instncias do diaa a a-dia, foram desenvolvidos algoritmos heur sticos baseados nas tcnicas relax-and-x, e GRASP e ILS. As diferentes metodologias foram validadas atravs de testes em inse tncias geradas a partir da realidade de uma empresa mineradora brasileira de grande a porte.

ix

Abstract
It is well-known that mineral extraction industry is very important to Brazil, having raised R$ 29 billions only in Minas Gerais, during the year of 2008. In this context, the development of technologies that can help these industries is of great relevance. Periodically, the mining companies make decisions related to their production and the transportation of the minerals, considering their logistic and productivity capacities as well as the demands of the market. Such decisions generate a plan of products ow, which consists in determining the ow of the minerals produced in the dierent mines, from production to distribution, having the goals to minimize the quality gap between the demanded and the delivered produtct and to optimize the logistics chain. In this process, the quality of the minerals to be used in the composition of the products to be sold and a complex transport system that includes mine pipes, long-distance belts, roads, railroads terminals and harbors must be considered. This dissertation proposes algorithms to deals with the Product Flow Problem, which includes some classic problems in the literature, such as the Ore Blending Problem, Transport Planning Problem and Sequence Production Planning Problem. The problem was considered in dierent planning horizons: annual, monthly and day-byday. A multiobjective model based on goal programming was proposed for the problem, being able to solve only annual and monthly term instances in acceptable time. To deal with the day-by-day instances, heuristics algorithms based on relax-and-x, GRASP and ILS techniques were developed. The dierent methodologies were validated through tests on instances based on the reality of a huge Brazilian mining company.

xi

Sumrio a
1 Introduo ca 1.1 1.2 Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ca Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 1.2.2 1.3 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . Objetivos Espec cos . . . . . . . . . . . . . . . . . . . . . . . . 3 3 5 5 5 6 7 7 11 12 21 23 29 31 31 32 34 34 35

Organizaao da Dissertaao . . . . . . . . . . . . . . . . . . . . . . . . c c

2 Trabalhos Relacionados 2.1 2.2 Mistura de Minrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . e Planejamento de Transporte . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 2.3 Transporte Ferrovirio de Minrio da MBR . . . . . . . . . . . . a e

Planejamento e Sequenciamento da Produao . . . . . . . . . . . . . . c 2.3.1 Planejamento de Produao e Vendas da MBR . . . . . . . . . . c

2.4

Outros Trabalhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Descrio do Problema ca 3.1 O Processo Produtivo da Empresa Mineradora . . . . . . . . . . . . . . 3.1.1 3.1.2 3.1.3 3.1.4 Fase de Lavra . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fase de Beneciamento . . . . . . . . . . . . . . . . . . . . . . . Estocagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Movimentaao . . . . . . . . . . . . . . . . . . . . . . . . . . . . c

xiii

3.2

O Fluxo de Produtos da Empresa Mineradora . . . . . . . . . . . . . .

36 41 41 42 44 45 55 55 56 57 60 62 63 64 64 65 66 67 68 69 71 73

4 Formulao Matemtica ca a 4.1 Otimizao Multiobjetivo . . . . . . . . . . . . . . . . . . . . . . . . . ca 4.1.1 4.1.2 4.2 Conjunto Pareto-timo . . . . . . . . . . . . . . . . . . . . . . . o Formas de Resoluao . . . . . . . . . . . . . . . . . . . . . . . . c

Modelo Matemtico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a

5 Algoritmos Heur sticos 5.1 Conceitos Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 5.1.2 5.1.3 5.1.4 5.2 5.3 Relax-And-Fix . . . . . . . . . . . . . . . . . . . . . . . . . . . GRASP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ILS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Heur stica Relax-And-Fix aplicada ao FP . . . . . . . . . . . . . . . . . Heur stica GRASP-ILS aplicada ao FP . . . . . . . . . . . . . . . . . . 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 Representao de uma Soluao ca c . . . . . . . . . . . . . . . . . .

Gerao de Soluoes Iniciais . . . . . . . . . . . . . . . . . . . . ca c Estruturas de Vizinhana . . . . . . . . . . . . . . . . . . . . . c Busca Local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Avaliaao Multiobjetivo . . . . . . . . . . . . . . . . . . . . . . c

6 Resultados Obtidos 7 Consideraes Finais co Referncias Bibliogrcas e a

xiv

Lista de Figuras
2.1 2.2 3.1 3.2 3.3 3.4 3.5 4.1 4.2 4.3 Sistema produtivo da MBR. . . . . . . . . . . . . . . . . . . . . . . . . . . Representaao do problema de transporte de minrios na MBR. . . . . . . c e Processo de Produao de ROM . . . . . . . . . . . . . . . . . . . . . . . . c Processo de Gerao do Produto Primrio . . . . . . . . . . . . . . . . . . ca a Representaao do FP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c Representaao do FP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c Entrada e Sa do FP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . da Espao de solues unidimensional (otimizaao mono-objetivo) . . . . . . . c co c Espao de solues multidimensional (otimizaao multiobjetivo) . . . . . . c co c Conjunto de soluoes Pareto-timas . . . . . . . . . . . . . . . . . . . . . . c o 13 14 33 34 37 38 40 41 42 43

xv

Lista de Tabelas

xvii

Lista de Algoritmos
5.1 5.2 5.3 5.4 5.5 5.6 5.7 Procedimento RelaxAndF ix Bsico . . . . . . . a Procedimento GRASP Bsico . . . . . . . . . . a Procedimento Construcao() do GRASP . . . . Procedimento BuscaLocal(N (.), s0 ) do GRASP Procedimento ILS Bsico . . . . . . . . . . . . . a VND Bsico . . . . . . . . . . . . . . . . . . . . a Procedimento de Avaliao de Solues . . . . . ca co . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 58 59 59 61 62 68

Cap tulo 1 Introduo ca


Este cap tulo tem por objetivo apresentar a motivaao que impulsionou a realizaao c c deste trabalho (seo 1.1) bem como expor, em linhas gerais, os objetivos que se pretenca deu alcanar ao planej-lo (seao 1.2). Por m, o contedo de cada cap c a c u tulo descrito e sucintamente (seo 1.3). ca

1.1

Motivao ca

Uma das maiores reservas de minrio do mundo est localizada no Brasil. De acordo e a com o IBRAM [Instituto Brasileiro de Mineraao, 2009], a produo mineral brasileira c ca em 2008 foi de cerca de R$ 54 bilhes e mais de 160 mil postos de trabalho foram o gerados, sendo que Minas Gerais foi o maior produtor de bens minerais do Brasil (53,9%). Assim, o desenvolvimento de tecnologias que permitam melhorar atividades relacionadas ` extraao, transporte ou venda de minrios de grande interesse no a c e e cenrio nacional, com destaque para o estado de Minas Gerais. a Grandes mineradoras possuem diversas minas com diferentes capacidades, instalacoes de tratamento de minrio (ITM), reas de estocagem, usinas de pelotizaao, alm e a c e de uma complexa malha de transporte que pode incluir mineriodutos, correias de longa distncia, terminais ferrovirios, rodovirios e porturios. Periodicamente, as mineraa a a a doras devem tomar decises relacionadas com a produao e transporte dos minrios, o c e

Cap tulo 1. Introdu ao c

tomando como base suas capacidadas produtivas e demandas dos mercados interno e externo (exportao). Estas decises geram um plano de Fluxo de Produtos (FP). No ca o caso de uma empresa mineradora, o FP consiste em um plano de mdio prazo com o e objetivo de determinar o uxo dos minrios produzidos, desde a extrao at a venda. e ca e Cada minrio possui diferentes caracter e sticas f sicas e qu micas, e deve contribuir com uma qualidade apropriada para que o produto nal de venda esteja o mais prximo o poss das metas previamente denidas. O planejamento do FP envolve os custos com vel deslocamento do minrio e o atendimento `s demandas de massa e qualidade sujeitos a e a restrioes de produao e escoamento. Assim, cabe ao planejador decidir quais minrios c c e extrair e beneciar, a quantidade, a forma como se dar o transporte, e quando estes a devero ser utilizados para formar os produtos de venda. a O FP responde a importantes questes: o A capacidade atual de escoamento suciente para atendimento ` demanda? e a Levando em conta massa (quantidade) e qualidade, a produo da mineradora ca e capaz de atender `s demandas? Se no, quais demandas podem ser atendidas de a a forma satisfatria? o Se a demanda for menor do que a produao, ento em que, onde e de quanto a c a produo deve ser reduzida? ca Existem hoje diversas aplicaoes de Pesquisa Operacional na indstria da minerac u cao, mas poucas tratam o uxo dos minrios considerando quantidade e qualidade de e forma integrada. Os poucos que realizam este tratamento [Alves et al., 2007] ignoram restrioes operacionais que inuenciam de forma signicativa todo o processo. No que c diz respeito ` resoluao do FP, a literatura ainda mais escassa, sendo que os trabalhos a c e encontrados apresentam modelos que ignoram restrioes operacionais que simplesmente c inviabilizam sua utilizaao pela maioria das empresas brasileiras. c O planejamento do FP uma tarefa complexa. A forma como ele resolvido e e atualmente por algumas empresas, sem o amparo de nenhum modelo de otimizaao, c resulta em soluoes de qualidade questionvel. Como o nmero de variveis elevado, c a u a e

1.2. Objetivos

e devido ` natureza combinatria do problema, praticamente imposs a o e vel ao olhar humano detectar as melhores soluoes. Na realidade, detectar uma unica soluao vivel c c a j por si s uma tarefa rdua, que requer vrios dias de dedicaao por parte dos a e o a a c prossionais responsveis pelo planejamento. Alm disso, pela maneira como o FP a e vem sendo resolvido, dif estudar quantidade e qualidade ao mesmo tempo. Por e cil estes motivos, modelos de otimizaao capazes de encontrar soluoes de boa qualidade c c para o FP so muito desejados pelas empresas mineradoras. a

1.2
1.2.1

Objetivos
Objetivo Geral

O presente trabalho tem por objetivo geral o desenvolvimento de sistemas computacionais que possibilitem uma maior ecincia na tomada de deciso do planejamento e a do Fluxo de Produtos de uma empresa mineradora. Para tanto, foram desenvolvidos modelos de otimizaao baseados em programaao matemtica e em tcnicas heur c c a e sticas.

1.2.2

Objetivos Espec cos

Estudar o problema do planejamento do Fluxo de Produtos em uma empresa mineradora. Avaliar diversos modelos de otimizaao propostos na literatura, reunindo-os em c modelos mais amplos, de forma a contemplar os requisitos t picos de uma mineradora. Elaborar um modelo matemtico de otimizaao para o Problema do Fluxo de a c Produtos de uma empresa mineradora, buscando metas de qualidade e quantidade e levando em consideraao as restries de capacidade e operacionais de produo c co ca e escoamento.

Cap tulo 1. Introdu ao c

Aplicar as metaheur sticas Greedy Randomized Adaptative Search Procedure (GRASP) e Iterated Local Search (ILS) na resoluao do problema. c Desenvolver uma metodologia heur stica h brida relax-and-x para o problema abordado. Testar as metodologias desenvolvidas.

1.3

Organizao da Dissertao ca ca

Esta dissertaao est organizada como se segue. No cap c a tulo 2 so apresentados traa balhos e problemas correlatos. O cap tulo 3 apresenta o processo produtivo de uma empresa mineradora e detalha o problema abordado por esta dissertao. ca O cap tulo 4, por sua vez, destina-se a apresentar o modelo de programaao inteira c multi-objetivo desenvolvido e detalhes de sua implementaao. c No cap tulo 5 as metodologias heur sticas relax-and-x, GRASP e ILS, bem como suas aplicaes no problema, so discutidas em detalhes. co a O cap tulo 6 detalha os cenrios de teste aos quais os algoritmos de otimizaao a c foram submetidos, apresentando e analisando os resultados obtidos. Por m, no cap tulo 7 so apresentadas as concluses a que se chegou mediante a a o anlise dos resultados e as principais ideias para trabalhos futuros, bem como algumas a consideraoes nais. c

Cap tulo 2 Trabalhos Relacionados


O Problema do Fluxo de Produtos (FP) de uma empresa mineradora engloba alguns problemas clssicos da literatura de forma integrada, tais como Mistura de Minrios, a e Planejamento de Transporte e Planejamento e Sequenciamento da Produo. Estes ca problemas so apresentados e discutidos neste cap a tulo nas sees 2.1, ?? e 2.3, respecco tivamente. Alm destes problemas, a descrio de outros trabalhos de otimizaao e simulao e ca c ca aplicados ` mineraao encontrados na literatura feita na Seao 2.4. a c e c

2.1

Mistura de Minrios e

O Problema da Mistura ou Blendagem de Minrios consiste em determinar a quantidade e de cada minrio, proveniente de um conjunto de frentes ou pilhas, que deve ser blendada e para formar um produto nal de venda com caracter sticas que atendam as exigncias e de um determinado cliente. Os minrios extra e dos possuem caracter sticas diferentes, tais como o custo de lavra, o teor de determinado elemento qu mico ou o percentual de minrio em determinada faixa granulomtrica. Assim, ao se blendar os minrios e e e necessrio atentar `s propores escolhidas, para que a mistura atenda as metas e a a co de quantidade e qualidade requeridas. No entanto, dada a grande variabilidade dos minrios normalmente encontrados nas minas, geralmente imposs atingir as metas e e vel

Cap tulo 2. Trabalhos Relacionados

estabelecidas. Por esta razo, so criados limites de tolerncia para cada um dos a a a parmetros de controle. a O Problema da Mistura de Minrios costuma ser erroneamente confundido com o e Problema da Homogeneizaao de Minrio. O termo blendagem (mistura) diz respeito c e a uma mistura, em propores denidas, de minrios de caracter co e sticas diferentes com o objetivo de se obter uma massa com caracter sticas espec cas. O termo homogeneizaao, por outro lado, se refere ao manuseio ou mistura de quantidades de minrio com c e o objetivo de se obter um conjunto que tenha composio ou caracter ca sticas uniformes [Moraes et al., 2005]. Um estudo detalhado dos conceitos de blendagem e homogeneizaao pode ser encontrado em Schoeld [1980]. c Diversos autores tratam do Problema da Mistura de Minrios. Chanda e Dagdelen e [1995] armam que a base para qualquer modelo de blendagem a informaao precisa e c sobre a composiao do material a ser utilizado, informao esta que muitas vezes c ca e apenas aproximada. Neste trabalho, os autores aplicaram um modelo de programacao linear por metas [Charnes e Cooper, 1961], alegando que modelos de programao ca linear clssicos permitem que apenas um objetivo seja analisado por vez. Tal limitaa cao foi contornada atravs da transformaao de restrioes em metas, que quando no e c c a cumpridas so penalizadas na funo objetivo [Lee, 1972]. a ca Everett [2001] identicou quatro poss veis estgios para formaao dos minrios de a c e venda por meio da blendagem: 1. Seleo de blocos com composiao espec ca c ca a serem lavrados em uma dada mina; 2. Determinao da sequncia de trens contendo minrios de composioes espec ca e e c cas para o transporte das minas at o porto; e 3. Seleo da pilha (no porto) na qual cada trem deve descarregar seu contedo; ca u 4. Seleo de pilhas com composioes espec ca c cas a serem utilizadas no carregamento de um determinado navio. Levando em conta o primeiro estgio, Costa [2005] apresentou um modelo de proa gramaao linear por metas na resoluao de um problema de mistura de minrios em que c c e

2.1. Mistura de Minerios

a quantidade de minrio retirada em uma frente mltipla da capacidade da caamba e e u c do equipamento de carga em operaao naquela frente. Para apresentar o modelo, seja c a seguinte notaao: c M : Conjunto de frentes de minrio; e S : Conjunto dos parmetros de controle analisados no produto nal; a tik : Valor do parmetro de controle k S na frente de minrio i M (%); a e trk : Valor requerido para o parmetro de controle k S no produto nal (%); a tlk : Valor m nimo admiss para o parmetro de controle k S no produto nal vel a (%); tuk : Valor mximo admiss para o parmetro de controle k S no produto nal a vel a (%); P r : Meta de produao (t); c P l : Quantidade m nima a ser produzida (t); P u : Quantidade mxima a ser produzida (t); a
a k : Penalidade por desvio negativo para o parmetro de controle k S no produto

nal;
+ a k : Penalidade por desvio positivo para o parmetro de controle k S no produto

nal; : Penalidade por desvio negativo da produo; ca + : Penalidade por desvio positivo da produao; c Qli : Quantidade m nima a ser utilizada da frente i M (t); Qui : Quantidade mxima a ser utilizada da frente i M (t); a Cci : Capacidade da caamba da carregadeira alocada ` frente i M (t). c a

10

Cap tulo 2. Trabalhos Relacionados

Considerando as seguintes variveis de deciso: a a xi : Quantidade de minrio a ser utilizada da frente i M (t); e Ni : O nmero de caambadas a serem efetuadas na frente i M ; u c a d : Desvio negativo do parmetro de controle k S no produto nal; k a d+ : Desvio positivo do parmetro de controle k S no produto nal; k P : Desvio negativo da produao requerida (t); c P + : Desvio positivo da produo requerida (t). ca tem-se, pelas equaes (2.1) - (2.14), o modelo de programaao por metas relativo ao co c problema da mistura de minrios. e

Minimizar
k d + k kS kS + k d+ + P + + P + k

(2.1)

Sujeito a: (tik tuk )xi 0


iM

k S k S k S

(2.2) (2.3) (2.4) (2.5) (2.6) (2.7)

(tik tlk )xi 0


iM

(tik trk )xi + d d+ = 0 k k


iM

xi + P P + = P r
iM

xi P u
iM

xi P l
iM

xi Qui xi Qli

i M i M

(2.8) (2.9)

2.2. Planejamento de Transporte

11

xi Cci Ni = 0 Ni Z+ xi 0 d+ , d 0 k k P +, P 0

i M i M i M k S

(2.10) (2.11) (2.12) (2.13) (2.14)

Neste modelo observam-se as restries clssicas do problema de mistura. As restrico a coes (2.2) e (2.3) denem limites mximos e m a nimos para os parmetros de controle, a enquanto as restries (2.6) e (2.7) limitam a quantidade mxima e a m co a nima de mine rio no produto nal. As restrioes (2.8) e (2.9) garantem o atendimento as quantidades c ` mximas e m a nimas a serem utilizadas de cada frente de lavra, denidas pelo planejador. As restrioes (2.10) denem que a quantidade de minrio utilizada de uma frente c e de lavra obtida multiplicando-se a capacidade da caamba da p-carregadeira pelo e c a nmero de caambadas. As restrioes (2.11) determinam que o nmero de caambadas u c c u c a serem efetuadas em uma frente de lavra deve ser um valor inteiro positivo. As restrioes (2.4) e (2.5), utilizadas por Chanda e Dagdelen [1995] e desenvolc vidas a partir do mtodo de programaao por metas, visam medir os desvios de e c qualidade e produao, respectivamente, em relao aos valores requeridos. As resc ca trioes (2.12), (2.13) e (2.14) impedem que valores negativos sejam aceitos para as c variveis de deciso. Com a incluso das restrioes (2.4) e (2.5), a funao de avaliaao a a a c c c mono-objetivo (2.1) trata, de forma ponderada, dois objetivos distintos: a minimizaao c dos desvios de produo e qualidade em relaao aos valores requeridos. ca c

2.2

Planejamento de Transporte

O planejamento do transporte ou distribuiao dene o escoamento dos produtos aos c diferentes clientes, por meio de diversos modais de transporte e fazendo uso de centros de estocagem. Sabe-se que cerca de 40% do custo do minrio de ferro dado por e e operaes log co sticas. Assim, estas operaoes possuem impacto relevante. c

12

Cap tulo 2. Trabalhos Relacionados

Alguns trabalhos da literatura abordam problemas de Planejamento de Transporte na mineraao. Lu et al. [2005] apresentam uma pesquisa sobre a log c stica de importao ca de minrio de ferro na China. Neste trabalho, os autores consideram uma cadeia de e suprimentos que envolve portos, ferrovias e siderrgicas. Eles propem um sistema u o de controle de pedidos, transporte e estoque, o qual utiliza um modelo baseado em programaao inteira mista. Neste modelo, a funao objetivo procura minimizar o custo c c total de circulaao de minrio na cadeia de suprimentos. c e Mateus et al. [1994] tratam um problema de planejamento do transporte ferrovirio a de uma mineradora brasileira, atravs de um modelo de programao inteira mista. e ca Este modelo detalhado na Seo 2.2.1. e ca

2.2.1

Transporte Ferrovirio de Minrio da MBR a e

Mateus et al. [1994] apresentam um modelo para planejamento do transporte ferrovia rio de minrio de ferro aplicado ao cenrio da empresa MBR (Mineraes Brasileiras e a co Reunidas), a qual foi adquirida pela Vale em 2006. O valor do transporte ferrovirio, a no contexto da poca, representava cerca de 40% a 45% do preo nal do produto e c exportado. A Figura 2.1 apresenta o sistema produtivo da extinta MBR. O modelo desenvolvido tem como fronteiras os estoques de produo das instalaes ca co de tratamento de minrio e o embarque de navios, no incluindo aspectos de produe a cao, para os quais o planejamento de lavra j oferece suporte adequado. O problema a de transporte de minrios visa assim minimizar os custos de movimentaao de produe c tos, dado um conjunto de ofertas e demandas no tempo, um conjunto de capacidades de estoques espacialmente distribu dos, capacidades de equipamentos para remoo, ca capacidades de carregamento de terminais ferrovirios, necessidade de blendagem de a minrios provenientes de diferentes minas e taxas de transferncia alcanveis no transe e ca porte ponto a ponto. O planejamento do transporte considerado dinamicamente, com e os estoques de minrios nas minas, ptios e porto representando os elementos de ligaao e a c entre os vrios estgios de tempo. O problema representado por um grafo direcioa a e nado, em que os ns representam as minas, os terminais de carregamento ferrovirio o a

2.2. Planejamento de Transporte

13

Figura 2.1. Sistema produtivo da antiga empresa MBR, composto por minas, correias, rodovias, ferrovias e porto. Fonte: MBR.

e o terminal porturio, enquanto as arestas representam as ligaoes entre as diversas a c instalaes, com custos e capacidades associados. co Para o modelo de Mateus et al. [1994], sejam os seguintes dados de entrada: M : Conjunto de minas (ns de oferta); o E : Conjunto de pontos de estocagem em Minas Gerais; C : Conjunto de terminais de carregamento ferrovirio; a F : Conjunto de pontos de in de ferrovia; cio G : Conjunto de reas operacionais de terminais porturios; a a H : Conjunto de ptios de estocagem em terminais porturios; a a

14

Cap tulo 2. Trabalhos Relacionados

Figura 2.2. Representao do problema de transporte de minrios na MBR, ca e com os estoques representando a ligao entre os diversos estgios de tempo no ca a planejamento.

D : Conjunto de navios (ns de demanda); o N : Conjunto de ns do problema, onde N = M E C F G H D; o AM : Conjunto de arcos (i, j) tais que i (M E C), j (M E C F ), representando os uxos entre centros de oferta (minas) e ferrovias; AE : Conjunto de arcos (i, j) tais que i (F GH), j (GH D), representando os uxos entre o transporte ferrovirio e o carregamento porturio; a a A : Conjunto de arcos do problema, onde A = (AM AE ) ; X : Conjunto de minrios originais que so vendidos em sua forma pura; e a Y : Conjunto de produtos blendados; Z : Conjunto de minrios originais que formam os produtos blendados; e

2.2. Planejamento de Transporte

15

P : Conjunto de todos os produtos, onde P = (X Y Z); P b : Subconjunto de minrios (P b Z) que formam o produto blendado b Y ; e T : Conjunto de estgios de tempo de planejamento; a ct : Custo unitrio do uxo de qualquer produto1 no arco (i, j) A no instante de a ij tempo t T ; a opt : Oferta do produto p (X Z) associada ` mina i M , no instante de tempo i t T; dpt : Demanda pelo produto p (X Y ) associada ao navio i D, no instante de i tempo t T ; bt : Fraao do minrio original p P b na composiao do produto blendado b Y , c e c p no instante de tempo t T , tal que
pP b

bt = 1, b Y , t T ; p

pt lij : Limite inferior sobre o uxo do produto p X no arco (i, j) A, no instante

de tempo t T ; Lpt : Limite superior sobre o uxo do produto p X no arco (i, j) A, no instante ij de tempo t T ;
pt vij : Limite inferior sobre o uxo do produto p Y no arco (i, j) AE , no instante

de tempo t T ;
pt Vij : Limite superior sobre o uxo do produto p Y no arco (i, j) AE , no instante

de tempo t T ;
pt wij : Limite inferior sobre o uxo do produto p Z no arco (i, j) AM , no instante

de tempo t T ;
pt Wij : Limite superior sobre o uxo do produto p Z no arco (i, j) AM , no instante

de tempo t T ;
1

Os autores assumem que todos os produtos tm os mesmos custos de transporte. e

16

Cap tulo 2. Trabalhos Relacionados

upt : Estoque m nimo do produto p P no n i N , ao nal do estgio de tempo o a i t T; Uipt : Estoque mximo do produto p P no n i N , ao nal do estgio de tempo a o a t T; ut : Estoque m i nimo total de produtos no n i N , ao nal do estgio de tempo o a t T; Uit : Estoque mximo total de produtos (capacidade total de estocagem do sistema a MBR, incluindo minas, porto e eventuais ns intermedirios) no n i N , ao o a o nal do estgio de tempo t T ; a t : Limite inferior sobre o uxo total de produtos no arco (i, j) AM , no instante lij de tempo t T ; ca Lt : Limite superior (Capacidade total de movimentao entre os estoques das minas ij e o carregamento ferrovirio) sobre o uxo total de produtos no arco (i, j) AM , a no instante de tempo t T ; vij : Limite inferior sobre o uxo total de produtos no arco (i, j) AE , no instante t de tempo t T ; t Vij : Limite superior (capacidade total de transporte ferrovirio e da estocagem e a carregamento porturio) sobre o uxo total de produtos no arco (i, j) AE , no a instante de tempo t T . Sejam ainda as seguintes variveis de deciso: a a xpt : Fluxo de minrios originais p X, que podem ser vendidos em sua forma pura, e ij no arco (i, j) A, no instante de tempo t T ;
pt yij : Fluxo de produtos blendados p Y por meio do arco (i, j) AE , no instante

de tempo t T ;
pt zij : Fluxo de insumos para blendagem p Z por meio do arco (i, j) AM , no

instante de tempo t T ;

2.2. Planejamento de Transporte

17

ept : Estoque do produto p P deixado no n i N ao nal do estgio de tempo o a i t T , sendo que nos instantes t = 0 e t = T esse valor uma constante e denida a priori, representando, respectivamente, o estoque inicial dispon e vel o estoque m nimo nal do produto p P deixado no n i N . o

A formulaao matemtica de Mateus et al. [1994] para o problema de transporte c a de minrios dada pelas equaoes (2.15) - (2.44). Nesta formulaao, S(.) representa o e e c c uxo de sa e E(.) o uxo de entrada em um n qualquer. da o

Minimizar ct xpt + ij ij
tT pX (i,j)A tT pY (i,j)AE pt ct yij + ij tT pZ (i,j)AM pt ct zij ij

(2.15)

Sujeito a xp1 mj
jS(m) kE(m)

xp1 = op0 + ep0 ep1 m m m km

m M, p X, t = 1 (2.16)

xpt mj
jS(m) kE(m)

p,t1 xpt opt + em ept m M, p X, t = 2, ..., T 1 m m km

(2.17) xpT mj
jS(m) kE(m)

xpT = opT + ep,T 1 epT m m m km

m M, p X, t = T (2.18)

xp1 ij
jS(i) kE(i)

xp1 = ep0 ep1 i i ki


p,t1 ept xpt = ei i ki kE(i)

i (E C), p X, t = 1

(2.19)

xpt ij
jS(i)

i (E C), p X, t = 2, ..., T 1 (2.20)

xpT ij
jS(i) kE(i)

xpT = ep,T 1 epT i i ki xp1 = ep0 ep1 g g kg


kE(g)

i (E C), p X, t = T (2.21) (2.22)

xp1 gj
jS(g)

g (G H), p X, t = 1

18

Cap tulo 2. Trabalhos Relacionados

xpt gj
jS(g) kE(g)

p,t1 ept g (G H), p X, t = 2, ..., T 1 xpt = eg g kg

(2.23) xpT gj
jS(g) kE(g)

xpT ep,T 1 epT g g kg

g (G H), p X, t = T (2.24)

xptj f
jS(f ) kE(f )

xpt = 0 kf xpt = dpt i ki


iE(i)

f F, p X, t T i D, p X, t T

(2.25) (2.26)

p1 ygj jS(g) pt ygj jS(g) kE(g) kE(g)

p1 ykg = ep0 ep1 g g

g (G H), p Y, t = 1

(2.27)

pt p,t1 ykg = eg ept g (G H), p Y, t = 2, ..., T 1 g

(2.28)
pT ygj jS(g) kE(g) pT ykg ep,T 1 epT g g pt yki = dpt i kE(i)

g (G H), p Y, t = 1 (2.29) (2.30)

i D, p Y, t T

p1 zmj jS(m) pt zmj jS(m) kE(m) kE(m)

p1 zkm = op1 + ep0 ep1 m m m

m M, p Z, t = 1

(2.31)

pt p,t1 zkm = opt + em ept m M, p Z, t = 2, ..., T 1 m m

(2.32)
pT zmj jS(m) p1 zij jS(i) pt zij jS(i) kE(i) kE(i) p,t1 pt ept i (E C), p Z, t = 2, ..., T 1 zki = ei i kE(m) p1 zki = ep0 ep1 i i pT zkm opT epT m m

m M, p Z, t = T

(2.33) (2.34)

i (E C), p Z, t = 1

(2.35)

2.2. Planejamento de Transporte

19

pT zij jS(i) kE(i)

pT zki = ep,T 1 epT i i

i (E C), p Z, t = T

(2.36)

bt yf j jS(f ) pP b

bt p
kE(f )

pt zkf = 0

f F, b Y, t T

(2.37)

pt lij xpt Lpt ij ij pt pt pt vij yij Vij pt pt pt wij zij Wij

(i, j) A, p X, t T (i, j) AE , p Y, t T (i, j) AM , p Z, t T i N, p P, t T

(2.38) (2.39) (2.40) (2.41)

upt ept Uipt i i t lij


pX

xpt + ij
pZ

pt zij Lt ij pt t yij Vij pY

(i, j) AM , t T (i, j) AE , t T

(2.42) (2.43) (2.44)

vij t
pX

xpt + ij ept i
pP

ut i

Uit

i N, p P, t T

A funo objetivo (2.15) contabiliza o custo varivel total associado ao uxo dos ca a vrios produtos nos arcos. O primeiro termo avalia o custo varivel associado ao uxo a a de minrio vendido em sua forma pura por meio de toda a rede de distribuiao. O e c segundo termo, por sua vez, contabiliza apenas o custo varivel associado ao uxo de a produtos blendados nos arcos entre o in da ferrovia, a rea operacional dos terminais cio a porturios, seus ptios de estocagem e os navios. O terceiro termo corresponde ao a a custo varivel associado ao uxo de minrios originais que participam da composio a e ca dos produtos blendados atravs dos arcos entre as minas, as reas de estocagem em e a Minas Gerais, os terminais de carga de trens e o in da ferrovia. cio O primeiro conjunto de restrioes representa as equaoes de balano de uxo de c c c minrios que so vendidos em sua forma pura. As restrioes (2.16), (2.17) e (2.18) e a c limitam a capacidade de oferta de minrios originais pelas minas, considerando sua e capacidade de estocagem. As restries (2.19), (2.20) e (2.21) garantem o balano co c

20

Cap tulo 2. Trabalhos Relacionados

de uxo de minrios originais nos ns de estocagem e carregamento ferrovirio. As e o a restrioes (2.22), (2.23) e (2.24) garantem o balano de uxo de minrios originais nos c c e ns de estocagem e carregamento porturio, enquanto as restries (2.25) garantem o a co o balano de uxo de minrios originais nos ns de ferrovia, onde no h estocagem c e o a a de produtos (ns de transbordo). As restrioes (2.26) asseguram o atendimento da o c demanda dos navios por produtos originais. O segundo conjunto de restrioes representa as equaoes de balano de uxo de c c c produtos blendados. As restrioes (2.27), (2.28) e (2.29) garantem o balano de uxo c c de produtos blendados nos ns de estocagem e carregamento porturio, enquanto as o a restrioes (2.30) garantem o atendimento da demanda dos navios por produtos blenc dados. O terceiro conjunto de restrioes representa as equaoes de balano de uxo de c c c minrios que participam da composiao de produtos blendados. As restries (2.31), e c co (2.32) e (2.33) limitam a capacidade de oferta pelas minas de minrios que participam e da composio de produtos blendados, considerando sua capacidade de estocagem. As ca restrioes (2.34), (2.35) e (2.36) garantem o balano de uxo de minrios que compem c c e o produtos blendados nos ns de estocagem e carregamento ferrovirio. o a As restrioes (2.37) integram o segundo e o terceiro grupos de restries descritos c co acima, denindo a participao de cada minrio original na composio dos vrios proca e ca a dutos blendados. Alm disso, essas restries modelam tanto a demanda por minrios e co e originais que compem produtos blendados quanto a capacidade de oferta de produtos o blendados propriamente dita. O quarto grupo de restries representa os limites sobre o valor individual do uxo co de produtos atravs dos arcos. As restrioes (2.38), (2.39) e (2.40) limitam o uxo e c de minrios vendidos em sua forma pura, o uxo de produtos blendados e o uxo de e minrios originais que compem produtos blendados, respectivamente. As restrioes e o c (2.41) estabelecem limites para os n veis de estoque de cada produto em cada um dos ns do problema, ao nal de cada instante de tempo. o O quinto grupo de restrioes representa os limites para o uxo total atravs dos c e arcos, no fazendo distino entre os vrios tipos de produtos, mas denindo a capacia ca a

2.3. Planejamento e Sequenciamento da Produ ao c

21

dade total do uxo de produtos pelos arcos do problema. As restrioes (2.42) limitam c o uxo total de minrios (aqueles vendidos em sua forma pura e aqueles que particie pam da composio de produtos blendados) desde as minas at o in da ferrovia, ca e cio enquanto as restrioes (2.43), limitam o uxo destes minrios aps a blendagem desde c e o o in da ferrovia at os navios. As restrioes (2.44) impem limites para os n cio e c o veis totais de estoque de todos os produtos em cada um dos ns do problema, ao nal de o cada instante de tempo. Os autores utilizam uma estratgia de decomposiao baseada em relaxaao Lagrane c c geana para reduzir a dimenso do problema e o tempo de soluao. Tal estratgia a c e e coerente com os procedimentos de gerenciamento com informaes descentralizadas. co Na prtica, de acordo com Mateus et al. [1994], o problema como um todo pode ser a dividido em subproblemas menores, sem perda da otimalidade global.

2.3

Planejamento e Sequenciamento da Produo ca

O planejamento da produo consiste em determinar a quantidade de itens a ser produca zida em uma ou vrias mquinas em cada per a a odo ao longo de um horizonte de tempo nito, de modo a atender uma certa demanda, sujeito a limitaes de capacidade. Tamco bm deve determinar os n e veis de estoque e os recursos necessrios para implementar a tal plano, que geralmente tem como objetivo minimizar custos e/ou maximizar o lucro. Quando o problema tem dimenso muito grande, tcnicas de agregaao so comumente a e c a utilizadas (por exemplo, agrupar produtos parecidos como itens unicos). Diversos tra balhos que tratam da otimizaao do planejamento da produo so encontrados na c ca a literatura, com aplicaoes nas mais diversas reas. c a Segundo Arenales et al. [2007], problemas na rea de produao podem ser classicaa c dos em trs n e veis hierrquicos: estratgico, ttico e operacional. O n mais alto o a e a vel e estratgico, em que as decises so de longo prazo e envolvem altos investimentos. Esse e o a n trata da escolha e do projeto do processo, relacionados ao arranjo de mquinas e vel a outros equipamentos e com a determinaao da capacidade destes, em funo de uma c ca demanda futura. O n ttico trata do planejamento das atividades, que consiste de vel a

22

Cap tulo 2. Trabalhos Relacionados

dois subn veis: o planejamento agregado da produao e o planejamento de quantidades c de produao. Por m, o n operacional controla as atividades dirias baseando-se c vel a nas ordens de produo provenientes do n ttico. ca vel a Diversos trabalhos que tratam da otimizaao do planejamento da produao so enc c a contrados na literatura. Paiva e Morabito [2006] baseiam-se em modelos clssicos de a dimensionamento de lotes para representar um sistema de produo de aucar, lcool ca c a e melao, que inclui decises da etapa agr c o cola, das fases de corte, carregamento e transporte de cana e, principalmente, decises de moagem, escolha do processo produo tivo e estoque dos produtos nais. As decises so tomadas em per o a odos semanais e o horizonte de planejamento so as semanas de safra. a Junqueira e Morabito [2006] propem um modelo de programao linear para apoiar o ca as decises do planejamento ttico da produo, estocagem e transporte de sementes o a ca de milho, de forma a minimizar os custos de produo, log ca sticos e scais, atendendo a restrioes de programao da colheita, capacidade das plantas e demanda dos clientes. c ca Kimms et al. [2005] apresentam uma formulaao matemtica conjunta para prograc a maao da produao e dimensionamento de lotes aplicada a uma indstria de bebidas. c c u Nela so considerados diversos aspectos como capacidade dispon limitada, custos de a vel armazenamento, custos de produo, custos e tempos de troca dependentes da seqnca ue cia e um conjunto de mquinas paralelas entre outros. a Aires et al. [2005] apresentam um modelo matemtico de programao linear inteira a ca mista aplicado a um problema real de programao da produo de curto prazo de ca ca gasolina de uma renaria responsvel pelo abastecimento do mercado da Grande So a a Paulo. Ferreira et al. [2005] propem um modelo de otimizaao para auxiliar a tomada o c de decises no planejamento e controle da produao em fbricas de refrigerantes, mais o c a especicamente no que se refere ao dimensionamento e seqenciamento da produo. u ca O modelo matemtico proposto considera vrias mquinas, os estgios de envase e a a a a xaroparia, tempos e custos de troca de refrigerantes nas linhas e tempos de troca de xaropes nos tanques (dependentes do sequenciamento da produao), capacidade c limitada das linhas de produo e dos tanques, entre outros fatores. Para denir o ca

2.3. Planejamento e Sequenciamento da Produ ao c

23

sequenciamento dos itens, os per odos so divididos em subper a odos e permitida a e produo de apenas um refrigerante por subper ca odo. O critrio de otimizaao a e c e minimizaao dos custos de estoque, atraso e troca de refrigerantes. c

2.3.1

Planejamento de Produo e Vendas da MBR ca

Alves et al. [2007] abordam o problema do planejamento trimestral de produao e c vendas de uma empresa mineradora atravs de um modelo de programao linear por e ca metas. O objetivo minimizar a diferena entre a qualidade da demanda especicada e e c a qualidade obtida. Para isso, so utilizados pesos para os parmetros de cada produto a a de venda. O modelo considera restrioes de capacidade dos terminais de carga, e inclui c facilidades para o usurio, tal como atingir uma meta, a qual modelada como uma a e restriao do modelo. No fazem parte do escopo do trabalho, entretanto, a denio c a ca das rotas dos produtos primrios. Alm disso, algumas restrioes operacionais, como a a e c quantidade m nima de carregamento dos trens e a participaao m c nima de um produto primrio na composiao de um produto nal, no so consideradas. a c a a O modelo de Alves et al. [2007] dado pelas equaes (2.45) - (2.61). Para maior e co clareza, a notao utilizada pelos autores foi substitu pela notaao a seguir: ca da c P : conjunto de produtos primrios provenientes das ITMs; a F : conjunto de produtos nais destinados ` venda; a S : conjunto de parmetros de qualidade analisados nos produtos nais; a C : conjunto de terminais de carga; F : subconjunto dos terminais de carga, F C, que aplicam sobre o produto carregado um fator de manuseio. B : conjunto de poss veis misturas (blendagens) (i, j) entre produtos primrios (i P ) e produtos nais (j F ); a T : conjunto de trimestes, T = {1, 2, 3, 4};

24

Cap tulo 2. Trabalhos Relacionados

wddj : peso, na funao objetivo, do desvio no atendimento da demanda do c produto nal j F ; wdtjk : peso, na funao objetivo, do desvio no atendimento do teor do parc a metro k S no produto nal j F ; oE : quantidade, em toneladas, de produto primrio i P dispon no a vel i estoque inicial; oP : capacidade de produao, em toneladas, do produto primrio i P no c a it trimestre t T ; prjt : demanda, em toneladas, do produto nal j F no trimestre t T ; ei : quantidade, em toneladas, de minrio que deve ser eliminada do proe duto primrio i P , isto , a quantidade m a e nima xada pelo planejador que deve ser utilizada; bE : quantidade, em toneladas, de minrio armazenado no estoque inicial e ijl do produto primrio i P que deve ser blendada no produto nal a j F no trimestre l T (assume valor -1 quando no h quantidade a a xada); bP : quantidade, em toneladas, de minrio produzido no trimestre t T e ijtl do produto primrio i P que deve ser blendada no produto nal a j F no trimestre l T (assume valor -1 quando no h quantidade a a xada); tci : terminal de carga, tci C i P , que transporta o produto primrio a i P; capct : capacidade de carregamento do terminal ferrovirio de carga c C no a trimestre l T ;
E qik : teor do parmetro k S do produto primrio i P dispon a a vel no

estoque inicial;

2.3. Planejamento e Sequenciamento da Produ ao c

25

P qikt : teor do parmetro k S no produto primrio i P produzido no a a

trimestre t T ;
E qfik : teor do parmetro k S no produto primrio i P dispon a a vel no

estoque inicial, aplicado o fator de manuseio mina-trem;


P qfikt : teor do parmetro k S no produto primrio i P produzido no a a

trimestre t T , aplicado o fator de manuseio mina-trem; trjkt : meta, do teor t pico, desejada do parmetro k S para o produto a nal j F no trimestre t T ; tljk : limite inferior do parmetro k S para o produto nal j F ; a tujk : limite superior do parmetro k S para o produto nal j F ; a tajk : meta de teor desejada do parmetro k S para o produto nal j F a no ano; ttR : assume valor 1 caso a restriao de meta trimestral do parmetro de c a jkl qualidade k S do produto nal j F no trimestre l T seja r gida, isto , deve ser atingida; assume valor 0 caso contrrio; e a taR : assume valor 1 caso a restriao de meta anual do parmetro de quac a jk lidade k S do produto nal j F seja r gida; assume valor 0 caso contrrio; a So denidas ainda as seguintes variveis de deciso: a a a xE : quantidade, em toneladas, de minrio armazenado no estoque inicial e ijl do produto primrio i P blendado para formar o produto nal j F a no trimestre l T ; xP : quantidade, em toneladas, de minrio produzido no trimestre t T do e ijtl produto primrio i P blendado para formar o produto nal j F a no trimestre l T ;

26

Cap tulo 2. Trabalhos Relacionados

c a a dt+ : desvio positivo de teor em relaao ` meta do parmetro k S no jkl produto nal j F no trimestre l T ; ca a a dt : desvio negativo de teor em relao ` meta do parmetro k S no jkl produto nal j F no trimestre l T ;
+ c a dljkl : desvio positivo de teor em relaao ao limite superior do parmetro

k S no produto nal j no trimestre l T ;


ca a dljkl : desvio negativo de teor em relao ao limite inferior do parmetro

k S no produto nal j no trimestre l T ; ddjl : desvio do atendimento ` demanda do produto nal j F no trimestre a l T;

A formulao matemtica proposta por Alves et al. [2007] dada a seguir, pelas ca a e equaoes (2.45)-(2.61). c

Minimizar
+ wdtkj (dt+ + dt + dljkl + dljkl ) jkl jkl lT kS jF

(2.45) +
jF

wddj ddj

Sujeito a
l

(xP + xE ) + ddjt = prjt ijtl ijt


i|(i,j)B t=1

j F, l T i P, l T i P

(2.46) (2.47) (2.48)

xP oP ijtl il
j|(i,j)B tT

xE oE ijl i
j|(i,j)B l

xP + xE ijtl ijl
j|(i,j)B lT t=1

ei

i P

(2.49)

2.3. Planejamento e Sequenciamento da Produ ao c

27

xP + xE ijtl ijl
iP, j|(i,j)B tci =c t=1

capcl

c C, l T i P, j F, l T | bE 0 ijl i P, j F, t T, l T | bP 0 ijtl

(2.50)

x E = bE ijl ijl x P = bP ijtl ijtl

(2.51)

(2.52)

i|(i,j)B,cij F /

l t=1 E +(qik l t=1

P (qikt

tljk )xP ijtl

tljk )xE ijl

i|(i,j)B,cij F

P (qfikt tljk )xP ijtl

j F, k S, l T, ttR = 0 jkl

E +(qfik tljk )xE ijl

Dljkl 0

(2.53)

i|(i,j)B,cij F /

l t=1

P (qikt tujk )xP ijtl

E +(qik tujk )xE ijl l t=1 P (qfikt

i|(i,j)B,cij F

tujk )xP ijtl

j F, k S, l T, ttR = 0 jkl

E +(qfik tujk )xE ijl

+ Dljkl 0

(2.54)

i|(i,j)B,cij F /

l t=1

P (qikt

trjk )xP ijtl

E +(qik trjk )xE ijl l t=1 P (qfikt

i|(i,j)B,cij F

trjk )xP ijtl

+ +

j F, k S, l T, ttR = 0 jkl

(2.55)

E +(qfik trjk )xE ijl

Dt Dt+ = 0 jkl jkl

28

Cap tulo 2. Trabalhos Relacionados

l t=1

P (qikt

ttjk )xP ijtl

i|(i,j)B,cij F /

E +(qik ttjk )xE ijl l t=1 P (qfikt

i|(i,j)B,cij F

ttjk )xP ijtl

j F, k S, l T, ttR = 1 jkl

(2.56)

E +(qfik

ttjk )xE ijl

=0 +

i|(i,j)B,cij F lT /

l t=1 E +(qik l t=1

P (qikt

tajk )xP ijtl

tajk )xE ijl

j F, k S, taR = 1 jk

i|(i,j)B,cij F lT

(2.57)

P (qfikt tajk )xP ijtl

E +(qfik tajk )xE ijl

=0

xE 0 ijl xP 0 ijtl
+ dt+ , dt , dljkl , dljkl 0 jkl jkl

i P, j F, l T i P, j F, t T, l T j F, k S, l T j F, l T

(2.58) (2.59) (2.60) (2.61)

ddjl 0

A funo objetivo (2.45) composta por duas partes: (i) a que busca a minimizaao ca e c dos desvios de qualidade; e (ii) a que busca a minimizao dos desvios das metas de ca demanda. Assim, embora o problema seja multiobjetivo, Alves et al. [2007] o tratam atravs de uma funao mono-objetivo, utilizando pesos (wdtkj e wddj ) para denir a e c importncia das duas grandezas envolvidas: desvio do atendimento ` demanda e desvio a a do atendimento `s metas de qualidade. Os autores relatam ainda que os valores dos a pesos foram denidos a partir de testes emp ricos. As equaes (2.46) tem por objetivo medir os desvios da demanda dos produtos co nais, enquanto as restrioes (2.47) e (2.48) denem a capacidade de produo dos c ca produtos primrios e a sua disponibilidade em estoque. a As restries (2.49) impem um limite inferior para a utilizaao dos produtos prico o c mrios, e as restrioes (2.50) garantem que a capacidade trimestral de transporte dos a c

2.4. Outros Trabalhos

29

terminais de carga ser respeitada. As restrioes (2.51) e (2.52) asseguram que, caso a c haja imposio de blendagem, esta ser vericada. ca a As equaoes (2.53) e (2.54) so responsveis por mensurar quanto os limites inferior c a a e superior, respectivamente, foram violados. As restries (2.55) so responsveis por co a a medir os desvios das metas trimestrais dos parmetros de controle. Quando as restrioes a c so r a gidas (ttR = 1), isto , quando os desvios so xados em zero, a equao (2.56) e a ca e jkl utilizada, obrigando ao atendimento das metas de qualidade. A equaao (2.57) garante c o atendimento da meta anual dos parmetros de controle. Assim, quando as restrioes a c de meta anual forem r gidas (taR = 1), a qualidade do produto nal poder variar a jk durante os trimestres desde que sua mdia anual atinja a meta. e Por m, as restrioes (2.58) a (2.61) tratam da no-negatividade das variveis de c a a deciso. a

2.4

Outros Trabalhos

A literatura sobre aplicaoes de pesquisa operacional na mineraao est muito conc c a centrada na soluo de problemas de planejamento de lavra e alocaao e despacho de ca c caminhes de mina. Merschmann [2002] desenvolveu um sistema computacional, denoo minado OTISIMIN (Otimizador e Simulador para Mineraao), para resolver problemas c de otimizao e simulaao em mineraao. Neste sistema, a otimizaao contempla a consca c c c truao e a resoluao de um modelo matemtico, baseado em programaao linear, cujo c c a c objetivo determinar o ritmo de lavra a ser implementado em cada frente levando-se e em consideraao a qualidade do minrio da frente, a relaao estril/minrio desejada, c e c e e a produo requerida, as caracter ca sticas dos equipamentos de carga e transporte e as caracter sticas operacionais da mina. A alocao e despacho de caminhes em mina tambm tratada em Costa et al. ca o e e [2004, 2005]. Estes trabalhos apresentam modelos que representam uma evoluao em c relaao ao trabalho de Merschmann [2002], por inclu c rem metas de qualidade e produao, alm de reduzirem signicativamente o nmero de restrioes necessrias. Em c e u c a Guimaraes et al. [2007], a formulao de programao matemtica de Costa et al. ca ca a

30

Cap tulo 2. Trabalhos Relacionados

[2004] aperfeioada com a incluso de restrioes relativas ` taxa de utilizao de cae c a c a ca minhes. Os resultados da otimizaao foram, ainda, validados por meio de um modelo o c de simulaao computacional. c A literatura muito escassa no que diz respeito a trabalhos voltados ` minerae a cao que do nfase a decises relacionadas ao transporte entre mina e porto. Dentre a e o os encontrados, os trabalhos de Mateus et al. [1994], Alves et al. [2007] e Pimentel et al. [2009] tratam de problemas de empresas mineradoras brasileiras. As proposies co de Mateus et al. [1994] e Alves et al. [2007] so discutidas nas seoes 2.2.1 e 2.3.1, a c respectivamente. Pimentel et al. [2009] propem uma abordagem baseada no conceito de cadeia de o suprimentos. Nesta abordagem, o uxo de matrias-primas e produtos acabados, bem e como as operaoes de transformao, armazenagem e distribuio so tratados de forma c ca ca a integrada.

Cap tulo 3 Descrio do Problema ca


Este cap tulo tem como objetivo descrever o problema abordado, o qual se refere ao de uma empresa mineradora brasileira que conta com diversas minas situadas no Quadriltero Ferr a fero, em Minas Gerais. Como ponto de partida, o processo produtivo desta mineradora discutido na Seo 3.1, estabelecendo as caracter e ca sticas do cenrio alvo a do trabalho. Em seguida, na Seo 3.2, apresentada uma deniao formal e estendida ca e c do problema tratado.

3.1

O Processo Produtivo da Empresa Mineradora

A atividade de minerao pode ser subdividida em uma srie de fases produtivas, ca e iniciando-se pela explorao do minrio, sua transformaao em produto, estocagem, ca e c manuseios diversos e transporte at o ponto de embarque. Todas estas fases so cae a racterizadas por um forte componente log stico, envolvendo movimentaoes de grandes c massas, diferentes formas de transporte, estocagens e retomagens diversas. Por razes diversas, que vo desde aspectos geolgicos at outros ligados ` neo a o e a cessidade de minimizao dos impactos ambientais, o processo produtivo tornou-se ca complexo e descentralizado. Muitas so as situaoes em que o minrio que extra a c e e do em um local beneciado em outro, sendo tranportado para um Terminal Ferrovirio e a em um terceiro ponto para somente depois ser entregue ao cliente ou ser embarcado

31

32

Cap tulo 3. Descri ao do Problema c

em um Terminal Porturio. a Alm disso, a escolha da forma de transporte impacta no somente no tempo e custo e a da movimentaao, mas tambm nos parmetros qu c e a micos e f sicos que determinam a qualidade do minrio. Por exemplo, quando um minrio transportado via ferrovia e e e pode ocorrer quebra nas pelotas, alterando as propriedades granulomtricas do minrio. e e As sees seguintes descrevem o processo produtivo, desde a produao at a venda. co c e A Seao 3.1.1 trata da fase de lavra, quando o minrio extra c e e do. As seoes 3.1.2 e c 3.1.3 abordam, respectivamente, as fases de beneciamento e estocagem do minrio. e Por m, a Seo 3.1.4 trata da fase de movimentao e venda do minrio. ca ca e

3.1.1

Fase de Lavra

A Fase de Lavra consiste basicamente na extrao do ROM, do ingls Run-of-Mine, que ca e representa o minrio na forma bruta. Para realizar a extraao so comumente utilizadas e c a ps carregadeiras (??), que devem ser alocadas a frentes cujo minrio atenda a restries a e co de qualidade pr-estabelecidas. Uma vez extra e do, o ROM deve ser transportado para a rea de estoque. Este transporte geralmente feito por meio de caminhes (??), a e o e tem sua ecincia determinada pelo trajeto que leva da frente ` rea de estoque. e a a Estes trajetos podem ser extremamente complexos, cobrindo grandes reas de terrenos a irregulares. A alocao de equipamentos em frentes de lavra uma tarefa complexa, ca e e se constitui em um dos aspectos mais importantes no gerenciamento de minas a cu e aberto, representando cerca de 50% dos custos operacionais totais nessas minas [Costa, 2005]. Segundo Rodrigues [2006], em 2006 cerca de 35 minas faziam uso de sistemas de alocao de caminhes no Brasil, com diferentes n ca o veis de automaao. c Alm da produo de ROM, a atividade de extraao mineral traz consigo a proe ca c duao de uma quantidade varivel de materiais de pouco ou nenhum valor econmico, c a o respectivamente minrio de baixa qualidade e estril. Assim, de forma simplicada, a e e produo de ROM consiste na extraao de minrio e tambm na remoao de estril. A ca c e e c e Figura 3.1 mostra um esquema do processo de produao de ROM. c Pela Figura 3.1, observa-se que a obtenao do ROM pode se dar no somente atravs c a e

3.1. O Processo Produtivo da Empresa Mineradora

33

Figura 3.1. Processo de Produo de ROM ca

da Lavra como tambm a partir de compra de outros fornecedores. e Diversos trabalhos da literatura abordam problemas relacionados ` fase de Lavra. a Costa et al. [2005] desenvolveram uma formulao de programao matemtica baseca ca a ada em programaao por metas - Goal Programming [Charnes e Cooper, 1961] - para c resolver um problema de planejamento operacional de lavra em minas a cu aberto, e considerando alocao esttica de caminhes. O problema abordado consiste em deca a o terminar o nmero de viagens que cada caminho deve fazer a cada frente de lavra, de u a forma que a produao horria de minrio atinja o ritmo e a especicao de qualidade c a e ca estabelecida. A funao objetivo utilizada procura minimizar o desvio de produao e c c qualidade de diversos parmetros de controle qu a micos e f sicos. O mesmo problema foi abordado de forma heur stica por Guimares et al. [2006b], a que utilizaram um algoritmo baseado na metaheur stica Iterated Local Search [Loureno c et al., 2003]. Em em Guimares et al. [2006a], uma verso adaptada deste algoritmo a a utilizada para tratar o problema considerando alocaao dinmica. A tcnica utilie c a e zada mostrou-se adequada para o problema, obtendo bons resultados rapidamente, se comparados aos resultados do modelo de programaao matemtica. c a

34

Cap tulo 3. Descri ao do Problema c

3.1.2

Fase de Beneciamento

Uma vez extra do, o minrio passa para a fase de beneciamento. Esta fase consiste e em processar o minrio a m de modicar sua granulometria, bem como para elevar e a concentrao de determinadas fraoes do minrio visando gerar produtos que sejam ca c e mais prximos das demandas dos clientes. Em funao da reduao das reservas de o c c hematita (minrio de ferro de alt e ssimo teor) e da abundncia das reservas de itabiritos a (minrio de ferro de teor mais baixo), o processo de beneciamento se faz cada vez e mais necessrio. a A partir do beneciamento so gerados os Produtos Primrios, que futuramente a a sero utilizados para formar os Produtos Finais de venda. Em casos (cada vez mais a raros) em que o minrio produzido possui as fraoes adequadas, o beneciamento dese c e necessrio. A Figura 3.2 mostra um esquema que representa esta etapa. Nesta gura, a observa-se que os Produtos Primrios podem ser gerados a partir do Beneciamento a de ROM, a partir da prpria ROM (sem o beneciamento - no caso de hematitas, por o exemplo) ou mesmo serem comprados de um fornecedor.

Figura 3.2. Processo de Gerao do Produto Primrio ca a

3.1.3

Estocagem

A operaao de estocagem consiste em armazenar os diferentes minrios em pilhas nos c e diversos ptios de estocagem. Aps o beneciamento, pode-se considerar que as caraca o ter sticas f sicas e qu micas dos minrios j so bem conhecidas. Assim, o objetivo da e a a estocagem basicamente armazenar minrios de diferentes caracter e e sticas em pilhas espec cas nos ptios de estocagem para posteriormente serem utilizados na composio a ca

3.1. O Processo Produtivo da Empresa Mineradora

35

dos produtos nais. No caso dos minrios de ferro, estes so classicados em fam e a lias de acordo com sua faixa granulomtrica: e LO (Lump Ore) - Faixa granulomtrica de 6 mm a 31 mm, apresentando teor de e ferro acima de 67% e baixo n de impurezas, tais como aquelas quimicamente vel associadas a alumina (Al2 O3 ), s lica (SiO2 ) e fsforo (P ). o SF (Sinter Feed ) - Faixa granulomtrica de 0,15 mm a 6 mm, com teor de e ferro em torno de 67% e baixos n veis de impurezas, principalmente s lica (SiO2 ) e fsforo (P ). o PFF (Pellet Feed Fine) - Faixa granulomtrica de 0,05 mm a 0,2 mm. Material e muito no, com teor de ferro variando de 67% a 68% e baixos n veis de impurezas. HEM (Hematitinha) - Faixa granulomtrica de 6 mm a 14 mm, teor de ferro e de 67% e baixos n veis de impurezas. Em algumas mineradoras, existe a classicao de GR (Granulados), que basicaca e mente uma junao dos minrios das fam c e lias LO (Lump Ore) e HEM (Hematitinha) em um unico grupo. Os minrios das diferentes fam e lias devem ser estocados em pilhas distintas, sendo que geralmente eles no so utilizados na composio de um mesmo produto. Uma vez a a ca estocados, os minrios podero ser vendidos diretamente para o mercado interno ou ser e a transportados para terminais de carregamento ferrovirio, onde podero ser levados at a a e clientes do mercado interno ou at portos para exportaao. e c

3.1.4

Movimentao ca

Aps serem extra o dos, beneciados e em alguns casos estocados, os minrios podero e a ser utilizados para formar os produtos de venda. Para isso, no entanto, eles devero ser a transportados at o cliente. A fase de movimentaao trata do transporte dos diversos e c Produtos Primrios gerados para a formaao dos Produtos Finais, que sero vendidos a c a aos clientes.

36

Cap tulo 3. Descri ao do Problema c

No cenrio brasileiro, o minrio geralmente distribu para os clientes nais por a e e do meio de diversos modais de transporte: mineriodutos, ferrovias, hidrovias, portos e at e mesmo rodovias. Lu et al. [2005] armam que a alta demanda atual exige grandes uxos de carga, em que necessidades de economia de escala sugerem a utilizao (prioritria) de ferrovias ca a e embarcaoes de alta capacidade. Assim, dos modais de transporte disponibilizados, c o modal ferrovirio caracteriza-se, especialmente, por sua capacidade de transportar a grandes volumes, com elevada ecincia energtica, principalmente em casos de desloe e camentos a mdias e grandes distncias. Apresenta, ainda, maior segurana em relaao e a c c ao modal rodovirio, com menor a ndice de acidentes e menor incidncia de furtos e e roubos. De acordo com a ANTT [Agncia Nacional de Transportes Terrestres, 2009], o e sistema ferrovirio nacional o maior da Amrica Latina, em termos de carga transpora e e tada, atingindo 162,2 bilhes de tku (tonelada quilmetro util), em 2001. No contexto o o da minerao no Brasil, trata-se do modal mais utilizado. ca No processo de transporte, algumas restries devem ser observadas: co O minrio deve ser disponibilizado no terminal de carga, ou seja, deve ser movie mentado at o terminal por algum meio (correias de longa distncia, mineriodue a tos, etc.). Um fator de manuseio (alterao na faixa granulomtrica) do minrio deve ser ca e e considerado, dependendo do modal de transporte utilizado. A quantidade de minrio a ser transportado deve ser mltiplo de um valor que e u viabilize a operaao. Por exemplo, em terminais ferrovirios a quantidade de c a minrio a ser movimentada deve ser mltipla da capacidade dos trens. e u

3.2

O Fluxo de Produtos da Empresa Mineradora

O planejamento do Fluxo de Produtos (FP) de uma empresa mineradora consiste em um plano de curto a mdio prazo com o objetivo de determinar o uxo dos minrios e e

3.2. O Fluxo de Produtos da Empresa Mineradora

37

produzidos, desde a extraao at a venda. Cada minrio possui diferentes caractec e e r sticas f sicas e qu micas, tais como o teor de determinado elemento qu mico ou a distribuiao granulomtrica. Assim, cada minrio deve contribuir com uma qualidade c e e apropriada para que o produto nal de venda esteja o mais prximo poss das metas o vel de qualidade. Logo, para compor os Produtos Finais necessrio misturar os diversos e a Produtos Primrios, obtendo assim um minrio que atenda as especicaoes de quaa e c lidade exigidas pelos clientes. Este processo de mistura de minrios conhecido na e e mineraao como blendagem (seo 3.1.4). c ca Em resumo, o FP consiste em determinar, para cada um dos per odos do planejamento, as quantidades de Produtos Primrios a serem blendadas de modo a compor a os Produtos Finais, indicando como se dar todo o transporte e atendendo da melhor a forma poss `s demandas e especicaoes dos clientes, respeitando diversas restrioes vel a c c operacionais da empresa. A Figura 3.3 mostra um esquema da soluao do FP. c

Figura 3.3. Representao do FP. ca

Na Figura 3.3 apresentado um resumo do escopo abordado pelo FP. Inicialmente, o e

38

Cap tulo 3. Descri ao do Problema c

minrio extra da mina, sendo submetido em seguida ao processo de beneciamento e e do na ITM. Uma vez processado, o minrio pode ser estocado ou imediatamente transpore tado para participar da composiao de um Produto Final. Uma vez transformado em c Produto Final, o minrio poder ser vendido ou transportado a um terminal porturio, e a a onde ser exportado. Nesta gura, nota-se que a rea pontilhada faz referncia ao a a e transporte e ` transformaao do Produto Primrio em Produto Final. a c a A Figura 3.4 apresenta alguns detalhes sobre como se d o transporte e a blendagem a dos produtos. A blendagem pode se dar em algum terminal de carga (ponto de origem) ou mesmo no porto (ponto de destino). Na gura, o conceito de rota levemente e simplicado para facilitar a compreenso. Na prtica, podem haver diversos pontos a a intermedirios entre uma origem e um destino. Ainda nesta gura, observa-se onde a incorrem os custos com produao e transporte. c

Figura 3.4. Representao do Transporte. ca

A Figura 3.5 mostra um esquema de entrada e sa de dados do FP. Esta gura da apresenta os seguintes dados de entrada:

3.2. O Fluxo de Produtos da Empresa Mineradora

39

Produo: capacidades de produao de cada Produto Primrio de cada mina ca c a e o valor de seus parmetros de qualidade (percentual de ferro, s a lica, alumina, granulometria, etc.). Estoque: quantidade e qualidade dos produtos em estoque nos diferentes ptios a de minrio. e Transporte e Transferncias entre UOs: relaao de rotas de transporte e c com custo, capacidade e respectivos fatores de manuseio1 . Estas rotas so dadas a atravs de grafos onde os ns representam os pontos de carga e descarga e os e o arcos representam os caminhos a serem percorridos. Compras: relao de minrios cuja produo pode ser terceirizada, isto , mica e ca e nrios que podem ser comprados de outras mineradoras. e Vendas: demandas dos clientes, sendo que o ponto de entrega, a quantidade, as metas e limites para os parmetros de qualidade desejados so especicados. a a Como sa do FP, tm-se: da e Fluxo dos Produtos: deniao do uxo dos produtos, ou seja, das misturas a c partir das quais os Produtos Finais sero gerados, bem como as rotas de transa porte utilizadas. Estoques Previstos: quantidade e qualidade dos estoques resultantes aps cada o per odo de tempo. Qualidade: previso do atendimento ou no-atendimento das metas de qualia a dade denidas. Custos e Racionalizao do Transporte: relaao das rotas utilizadas e idenca c ticaao de gargalos na log c stica de tranporte como um todo, alm da otimizaao e c da mesma.
Fatores de manuseios so pequenas oscilaes nas caracter a co sticas do minrio ocasionadas pelo seu e transporte ou manipulaao. c
1

40

Cap tulo 3. Descri ao do Problema c

Transporte de Produtos por Terminal de Carga: deniao das metas de c qualidade e de quantidade de cada terminal de carga em cada per odo de tempo.

Figura 3.5. Representao dos principais dados de entrada e sa do FP. ca da

Neste trabalho, so considerados quatro n a veis de planejamento do FP: anual, trimestral, mensal e dia-a-dia com horizonte mensal.

Cap tulo 4 Formulao Matemtica ca a


Este cap tulo apresenta a formulao matemtica do FP, atravs da abordagem de ca a e otimizao multiobjetivo. A Seao 4.1 descreve os principais conceitos relacionados a ca c otimizao multiobjetivo, enquanto a Seo 4.2 apresenta o modelo proposto. ca ca

4.1

Otimizao Multiobjetivo ca

Otimizao multiobjetivo ou multicritrio caracterizada pela presena de n funes ca e e c co objetivos fi , i = 0, ..., n, sujeito `s restrioes do problema. A principal diferena entre a c c a abordagem de otimizaao multiobjetivo e a mono-objetivo o espao de soluoes c e c c de cada uma. Em otimizaao mono-objetivo, o espao de soluoes unidimensional, c c c e enquanto na otimizao multiobjetivo este espao multidimensional. As guras 4.1 e ca c e 4.2 ilustram, respectivamente, os espaos de soluao unidimensional e multidimensional. c c

Figura 4.1. Espao de solues unidimensional (otimizao mono-objetivo) c co ca

41

42

Cap tulo 4. Formula ao Matematica c

Figura 4.2. Espao de solues multidimensional (otimizao multiobjetivo) c co ca

4.1.1

Conjunto Pareto-timo o

O objeto fundamental da otimizaao multiobjetivo consiste em um conjunto de solues c co X , denominado conjunto Pareto-timo, que contm as poss o e veis soluoes x de um c problema de otimizao multiobjetivo. Para denir estes elementos, necessrio antes ca e a apresentar o conceito de dominncia (Deniao 4.1). Para isto, considere que f1 , ..., fn a c so as n funes objetivo do problema de otimizaao, e que X o conjunto de todas a co c e as soluoes. c Denio 4.1 (Dominncia). Num problema de minimizaao, diz-se que o ponto x1 ca a c X domina o ponto x2 X se fi (x1 ) fi (x2 ), i = 1, ..., n e i | fi (x1 ) = fi (x2 ). A otimizao das soluoes em um problema multiobjetivo est diretamente relacica c a onada com o conceito de dominncia. Isto porque o processo de otimizaao consiste a c em encontrar solues x X no dominadas atravs da investigaao das solues co a e c co x X. Neste contexto, Takahashi [2007] dene os elementos do conjunto Pareto-timo o por meio da Deniao 4.2. c Denio 4.2 (Soluo Pareto-tima). Diz-se que x uma soluao Pareto-tima ca ca o e c o de um problema de otimizaao se no existir nenhuma outra soluao x X tal que c a c fi (x) fi (x ), i = 1, ..., n e i | fi (x) = fi (x ), ou seja, se x no for dominada por a nenhuma outra soluao. c

4.1. Otimiza ao Multiobjetivo c

43

Basicamente, pode-se dizer que todas as soluoes no-dominadas constituem o conc a junto Pareto-timo. Ainda assim, este conjunto pode ter cardinalidade innita. Cono siderando um problema de otimizao com duas funoes objetivo, F1 e F2 , a Figura ca c 4.3 mostra pontos que representam solues no-dominadas, ou seja, soluoes Paretoco a c timas. o

Figura 4.3. Conjunto de solues Pareto-timas co o

Problemas multiobjetivos so muito comuns, uma vez que, em geral, nos problemas a reais deseja-se otimizar mais de um recurso. Alm disso, geralmente as funes objetivo e co do problema so conitantes, ou seja, uma melhora num critrio pode acarretar uma a e piora em outro. Para ilustrar esta situaao, imagine que algum deseja comprar um c e carro. Este comprador deseja um carro com maior potncia, mas cujo custo seja baixo. e Trata-se de um problema multiobjetivo em que, quanto maior a potncia maior o preo e c e, de forma anloga, quanto menor o preo, menor a potncia. Estes conitos levam a a c e uma maior diversidade entre as solues Pareto-timas. co o Em casos onde no existe nenhum conito ao otimizar diversas funes objetivo, a co uma soluao Pareto-tima ser chamada soluao utpica. Takahashi [2007] descreve c o a c o uma soluo utpica por meio da Denio 4.3. ca o ca
Denio 4.3 (Soluo Utpica). Diz-se que uma soluao y utpica quando yi = ca ca o c e o

fi (xi ), i = 1, ..., n, onde: xi = argmin fi (x).


xX

44

Cap tulo 4. Formula ao Matematica c

A Deniao 4.3 arma que a soluao utpica aquela que apresenta valores timos c c o e o para todas as funes objetivo do problema. co

4.1.2

Formas de Resoluo ca

Em problemas de otimizao multiobjetivo, tanto o espao dos objetivos quanto o ca c espao das variveis multidimensional. Assim, existe um nmero maior de avaliaes c a e u co a serem feitas para obter todas as soluoes do problema e, portanto, pode-se dizer que c problemas desta classe so mais dif a ceis de se resolver. Existem diversas formas de resoluo do problemas multiobjetivos. Destas, duas se ca destacam pela simplicidade da abordagem [Takahashi, 2007]. So elas: a Ponderao dos objetivos: esta tcnica consiste em denir multiplicadores ca e i , i = 1, ..., n para cada uma das n funes objetivo do problema, de forma co que
n i=1

i = 1. As n funes objetivo do problema so multiplicadas por seus co a

respectivos i e os valores obtidos so somados. Assim, o problema multiobjea tivo passa a ser tratado como um problema de otimizaao mono-objetivo. Esta c simplicaao uma das principais vantagens desta abordagem. Variando-se os c e multiplicadores i , poss obter outras soluoes Pareto-timas. Ainda assim, e vel c o em casos em que as ordens de grandezas associadas aos diferentes objetivos so a muito diferentes, poss que mesmo grandes variaoes nos valores das variveis e vel c a i levem ` mesma soluo Pareto-tima. a ca o Problema -Restrito: nesta abordagem, problemas multiobjetivo tambm so e a convertidos em problemas mono-objetivo. No entanto, apenas uma funo objeca tivo otimizada por vez, enquanto as demais so transformadas em restrioes. e a c Para cada funo objetivo considerada como restrio, um valor i , i = 1, ..., n1 ca ca associado. Este valor representa o limite da restrio. Variaoes dos valores i e ca c geram novos problemas de otimizaao mono-objetivo, podendo resultar na obtenc cao de diferentes soluoes Pareto-timas. Como desvantagem, podemos citar o c o aumento na complexidade do problema ao considerar n 1 restrioes adicionais, c alm da diculdade de se obter valores adequados para as variveis i . e a

4.2. Modelo Matematico

45

4.2

Modelo Matemtico a

Para modelar o Problema de Planejamento do Fluxo de Produtos (FP), foi utilizada a tcnica programao por metas ou goal programming [Charnes e Cooper, 1961]. Nesta e ca modelagem, o problema tratado como multiobjetivo, levando em conta os trs objee e tivos a seguir: Atendimento ` demanda; a Atendimento `s metas de qualidade; a Reduao do custo total com transporte. c O modelo multi-objetivo do FP, dado pelas equaes (4.1) - (4.21), utiliza a seguinte co notaao: c T : Conjunto de estgios de tempo do planejamento; a M : Conjunto de ptios de estocagem de minrio das diferentes minas; a e C : Conjunto de terminais de carga; C F : Subconjunto de terminais de carga, C F C, que submetem os produtos primrios a fatores de manuseios (mudana de granulometria durante o a c carregamento); C N : Subconjunto de terminais de carga, C N C, que no submetem os produa tos primrios a fatores de manuseios (mudana de granulometria durante a c o carregamento); G : Conjunto de pontos de descarga (portos ou clientes); P : Conjunto de produtos primrios produzidos pelas minas ou em estoque a nos diferentes ptios de minrio; a e F : Conjunto de produtos nais (demandas dos clientes);

46

Cap tulo 4. Formula ao Matematica c

S : Conjunto dos parmetros de qualidade analisados nos produtos nais; a B : Conjunto de poss veis misturas (blendagens) (i, j) entre produtos prima rios (i P ) e produtos nais (j F ); R : Conjunto de todas as rotas de transporte dispon veis; RB (i, j) : Subconjunto de rotas, RB (i, j) R, capazes de transportar o produto primrio i P para compor o produto nal j F ; a RC (i, j, c) : Subconjunto de rotas (RC (i, j, c) RB (i, j)) que utilizam o terminal de carga c C no transporte; RG (i, j, g) : Subconjunto de rotas (RG (i, j, g) RB (i, j)) que desembocam no ponto de descarga g G; RM (i, j, m, c) : Subconjunto de rotas (RM (i, j, m, c) RC (i, j, c)) que transportam o produto primrio i P do ptio de estocagem m M ao terminal de a a carga c C para futuramente ser utilizado na composiao do produto c nal j F ; RP (i, j, c, g) : Subconjunto de rotas (RP (i, j, c, g) RG (i, j, g)) que transportam o produto primrio i P do terminal de carga c C para ser utilizado na a composiao do produto nal j F no ponto de descaga g G; c ccct : Valor do custo da ativao do terminal de carga c C no instante de ca tempo t T ; csr : Valor do custo de tranportar 1 Kt (quilotoneladas) de um produto prima t rio1 atravs da rota r R no instante de tempo t T ; e oit : Quantidade ofertada do produto primrio i P (Kt) no instante de tempo a t T; qikt : Valor do parmetro de qualidade k S do produto primrio i P (%) a a no instante de tempo t T ;
1

Assume-se que todos os produtos tm os mesmos custos de transporte. e

4.2. Modelo Matematico

47

prj : Quantidade demandada do produto nal j F (Kt); plj : Quantidade da demanda do produto nal j F (Kt) que deve ser obrigatoriamente atendida; ptj : Instante de tempo limite, t T , em que a demanda pode ser atendida; trjk : Valor requerido para o parmetro de qualidade k S do produto nal a j F (%); tljk : Valor m nimo admiss para o parmetro de qualidade k S do produto vel a nal j F (%); tujk : Valor mximo admiss para o parmetro de qualidade k S do produto a vel a nal j F (%); f mik : Fator de manuseio do parmetro k S sobre o produto primrio i P a a quando este carregado por meio de um terminal de carga c C F ; e ucg : Quantidade unitria transportada do terminal de carga c C ao ponto a de descarga g G; vj : Quantidade m nima percentual (0 vj 1) da participaao de um proc duto primrio na composio do produto nal j F ; a ca
C llct : Quantidade m nima de minrio transportado pelo terminal de carga c C e

(Kt) que torne vivel a sua utilizao no instante de tempo t T ; a ca luC : Capacidade mxima de carga do terminal de carga c C (Kt) no instante a ct de tempo t T ; luG : Capacidade mxima de carga do ponto de descarga g G (Kt) no instante a gt de tempo t T ; luM : Capacidade mxima de transporte entre o ptio de minrios m M e o a a e mct terminal de carga c C no instante de tempo t T ;

48

Cap tulo 4. Formula ao Matematica c

luG : Capacidade mxima de transporte entre o terminal de carga c C e o a cgt ponto de descarga g G no instante de tempo t T ;
a jkt : Penalidade por desvio negativo do parmetro de qualidade k S no pro-

duto nal j F no instante de tempo t T ;


+ a jkt : Penalidade por desvio positivo do parmetro de qualidade k S no pro-

duto nal j F no instante de tempo t T ;


jt : Penalidade por desvio negativo do atendimento ` demanda do produto a

nal j F no instante de tempo t T ; jk : Fator de correao do parmetro de qualidade k S do produto nal j F ; c a So denidas ainda as seguintes variveis de deciso: a a a xr : Quantidade do produto primrio i P a ser utilizado na composiao do a c ijt produto nal j F , sendo transportado pela rota r R no instante de tempo t T ; ycgt : Quantidade de trens carregados no terminal de carga c C e descarregados no ponto de descarga g G no instante de tempo t T ; zij : Varivel binria que assume valor 1 se um produto primrio i P zer a a a parte da composiao do produto nal j F ; e 0, caso contrrio; c a
C zct : Varivel binria que assume valor 1 se o terminal de carga c C for a a

utilizado no instante de tempo t T ; e 0, caso contrrio; a a dt : Desvio negativo do parmetro de qualidade k S no produto nal j F ; jk a dt+ : Desvio positivo do parmetro de qualidade k S no produto nal j F ; jk dp : Desvio negativo do atendimento ` demanda do produto nal j F ; a j A formulao matemtica proposta para resolver o Problema de Planejamento do ca a Fluxo de Produtos (FP) dada a seguir pelas equaoes (4.1) - (4.21): e c

4.2. Modelo Matematico

49

Minimizar F1 = F = 2 F = 3
j dp j jF jkt jk dt + jk jF kS ptj jF kS + jkt jk dt+ jk

(4.1)

csr xr + t ijt
(i,j)B rRB (i,j) t=1 cC tT

C ccct zct

Sujeito a

ptj

xr = plj ijt
i|(i,j)B rRB (i,j) ptj t=1

j F

(4.2)

xr + dp = prj ijt j
i|(i,j)B rRB (i,j) t=1

j F

(4.3)

ptj

(qikt tljk )xr + ijt


i|(i,j)B rRC (i,j,n) t=1 ptj

j F, k S, n C N , f C F

(4.4)

(qikt + f mik tljk )xr 0 ijt


i|(i,j)B rRC (i,j,f ) t=1 ptj

(qikt tujk )xr + ijt


i|(i,j)B rRC (i,j,n) t=1 ptj

j F, k S, n C N , f C F

(4.5)

(qikt + f mik tujk )xr 0 ijt


i|(i,j)B rRC (i,j,f ) t=1 ptj

(qikt trjk )xr + ijt


i|(i,j)B rRC (i,j,n) t=1 ptj

j F, k S, n C , f C
N F

(qikt + f mik trjk )xr + ijt


i|(i,j)B rRC (i,j,f ) t=1

(4.6)

dt dt+ = 0 jk jk

50

Cap tulo 4. Formula ao Matematica c

xr oit ijt
j|(i,j)B rRB (i,j)

i P, t T c C, g G, t T i P, j F

(4.7) (4.8) (4.9)

xr ycgt ucg = 0 ijt


(i,j)B rRP (i,j,c,g)

xr zij vj prj 0 ijt


rRB (i,j) tT

zij
rRB (i,j) tT

xr ijt 0 prj

i P, j F | prj > 0 (4.10) c C, t T c C, t T g G, t T (4.11) (4.12) (4.13)

C C xr zct llct 0 ijt (i,j)B rRC (i,j,c)

xr luC ijt ct
(i,j)B rRC (i,j,c)

xr luG ijt gt
(i,j)B rRG (i,j,g)

xr luM ijt mct


(i,j)B rRM (i,j,m,c)

m M, c C, t T (4.14) c C, g G, t T (4.15)

xr luP ijt cgt


(i,j)B rRP (i,j,c,g)

xr 0 ijt ycgt 0 , ycgt Z 0 zij 1 , zij Z


C C 0 zct 1 , zct Z

i P, j F, t T, r RB (i, j) c C, g G, t T i P, j F c C, t T j F, k S j F

(4.16) (4.17) (4.18) (4.19) (4.20) (4.21)

dt , dt+ 0 jk jk dp 0 j

4.2. Modelo Matematico

51

O modelo possui trs funes objetivo: F1 , F2 e F3 , dadas pelas equaes (4.1). A e co co funo F1 representa a soma, em Kt (quilotoneladas), dos desvios de atendimento `s ca a diferentes demandas por minrio. Como na prtica existe uma hierarquia de impore a
tncia entre os produtos nais de venda, pesos j so aplicados no no atendimento ` a a a a

demanda de cada produto. O valor deste peso denido pelo planejador e, geralmente, e representa o retorno nanceiro de venda do produto. De forma geral, quanto maior for a demanda satisfeita, menor o valor de F1 ; se F1 atingir valor igual a 0, isto implica que todas as demandas foram atendidas. A funao F2 representa o desvio do atendimento `s metas de qualidade dos diferentes c a minrios comercializados. De forma anloga ` funo objetivo anterior, F2 utiliza uma e a a ca matriz de pesos para denir a importncia de cada parmetro de qualidade de cada a a
+ e produto nal de venda. Este parmetro, jk , denido pelo planejador de acordo com a + a importncia dada aos parmetros e aos produtos. Alm do peso jk , um fator de a a e

correao jk tambm utilizado, uma vez que os diferentes parmetros de qualidade so c e e a a de ordem de grandeza diferentes (ex. enquanto o percentual de ferro da ordem de 66%, e o de fsforo da ordem de 0,03%). Assim, este fator de correao jk objetiva equilibrar o e c os valores dos diferentes parmetros, sendo calculado de acordo com a equaao (4.22). a c

jk =

tujk trjk trjk tljk + 2 2

j F, k S, tujk trjk > 0 ou trjk tljk > 0

(4.22)

Analisando a equao (4.22) e as restrioes (4.6), conclui-se que jk dt [0, 1] e ca c jk a jk dt+ [0, 1], para qualquer parmetro k S de um produto nal j F . jk F3 , a terceira e ultima funo objetivo, representa a soma de todos os custos com ca transporte. Esta soma inclui o transporte da mina ao terminal de carga e do terminal de carga ao ponto de descarga, alm dos valores xos pela utilizao dos terminais. e ca O primeiro conjunto de restrioes trata da demanda dos produtos nais. As resc trioes (4.2) asseguram que uma quantidade m c nima plj da demanda do produto nal j F ser obrigatoriamente atendida. As restrioes (4.3), por outro lado, mensuram a c

52

Cap tulo 4. Formula ao Matematica c

o quanto a demanda de cada produto no foi atendida, sendo este valor armazenado a na varivel dp para depois ser avaliado na funo objetivo. a ca j O segundo conjunto de restrioes trata da qualidade dos produtos gerados. As resc trioes (4.4) e (4.5) garantem, respectivamente, que os limites inferior e superior dos c parmetros de qualidade dos produtos nais sero respeitados. As restries (4.6) coma a co putam o valor das variveis dt e dt+ , que representam, respectivamente, os desvios a jk jk inferior e superior da meta de qualidade do parmetro k S do produto nal j F . a Estas restrioes levam em conta, ainda, os fatores de manuseio que um determinado c produto pode sofrer de acordo com a forma de transporte escolhida. A quantidade dispon de cada produto primrio, dada de acordo com as capacivel a dades produtivas e do estoque, limitada pelas restries (4.7). e co As restrioes (4.8) garantem que a quantidade de um produto primrio utilizada c a na composiao de um produto nal ser mltiplo de ucg , onde c representa o terminal c a u de carga e g o ponto de descarga. Essa restrio necessria pois cada par terminal ca e a de carga e ponto de descarga pode ter capacidade distinta. Por exemplo, a capacidade de um trem em um determinado terminal de carga enviando para um certo ponto de descarga de 13 Kt, enquanto em outro pode ser de 6 Kt. e A quantidade m nima de utilizao de um produto primrio na composio de ca a ca um determinado produto nal tratado pelas restrioes (4.9) e (4.10). A deniao e c c deste valor m nimo evita situaes operacionalmente inviveis, como a alocaao de co a c uma quantidade muito pequena de um dado produto primrio na composiao de um a c produto nal. Esta restriao ainda importante na busca da homogeinizaao dos c e c estoques dos produtos nais obtidos. As restrioes (4.11) garantem que se um determinado terminal de carga c C for c
C a utilizado no instante de tempo t T , uma quantidade m nima llct dever ser carregada

por ele. As restries (4.12), por outro lado, asseguram que a capacidade mxima de co a transporte do terminal em um determinado instante de tempo ser respeitada. a As restrioes (4.13) limitam a quantidade de minrio que um ponto de descarga pode c e receber em um determinado intervalo de tempo, enquanto as restrioes (4.14) e (4.15) c

4.2. Modelo Matematico

53

impedem, repectivamente, que as capacidades de transporte entre minas e terminais de carga e entre terminais de carga e pontos de descarga sejam desrespeitadas. Por m, o ultimo grupo de restrioes - equaes (4.16) a (4.21) - trata dos limites c co e integralidade das variveis. a

Cap tulo 5 Algoritmos Heur sticos


Em alguns problemas combinatrios, o uso de mtodos exatos pode se tornar baso e tante restrito, uma vez que eles podem no ser capazes de encontrar uma soluao de a c qualidade em tempo aceitvel. Este o motivo pelo qual os pesquisadores tm cona e e centrado esforos na utilizaao de heur c c sticas para solucionar problemas deste n de vel complexidade. Dada a diculdade de resoluo de instncias maiores do FP atravs da abordagem ca a e de programao matemtica por meio de pacotes comerciais de otimizaao, metodoloca a c gias heur sticas foram desenvolvidas para tratar o problema. Este cap tulo tem por objetivo apresentar estes algoritmos heur sticos. Os conceitos bsicos das metodologias utilizadas so apresentados na Seao 5.1. Em seguida, na a a c Seo 5.2, a abordagem baseada na tcnica relax-and-x explanada. Por m, a Seo ca e e ca 5.3 apresenta o algoritmo h brido GRASP+ILS aplicado ao problema.

5.1

Conceitos Iniciais

Nesta seao, os princ c pios das metodologias heur sticas relax-and-x (Seao 5.1.1), c GRASP (Seo 5.1.2), ILS (Seao 5.1.3) e VND (Seao 5.1.4) so apresentados. ca c c a

55

56

Cap tulo 5. Algoritmos Heur sticos

5.1.1

Relax-And-Fix

A heur stica relax-and-x [Dillenberger et al., 1994; Wolsey, 1998] uma abordagem e de soluao baseada em mtodos exatos. Essa abordagem tem sido usada na soluao c e c de diversos tipos de problemas de forma pura ou h brida. Nesta heur stica, o conjunto de variveis inteiras de um problema de otimizao inteira mista particionado em a ca e P conjuntos disjuntos, Qi , i = 1, ..., P , de diferentes importncias. O nmero P de a u conjuntos determina o nmero de iteraoes da heur u c stica. Em uma iterao n, apenas ca as variveis do conjunto Qn so denidas como inteiras, enquanto as demais variveis a a a so relaxadas. O submodelo resultante ento resolvido. O valor retornado para as a e a variveis inteiras xado e o prximo submodelo, gerado pela xaao dos conjuntos a e o c Q1 , ..., Qn e pela integralizaao das variveis de Qn+1 , resolvido. c a e Durante as iteraes da heur co stica, poss que algum submodelo seja invivel. e vel a Neste caso, no poss encontrar uma soluo vivel para o problema na iterao n a e vel ca a ca com as variveis dos conjuntos Qi , i = 1, ..., n 1 assumindo os valores xados. a A caracter stica principal da heur stica relax-and-x a reduao do nmero de varie c u veis inteiras dos submodelos de programaao inteira mista, tornando-os mais fceis de a c a resolver. Assim, a partiao do conjunto de variveis e o critrio de seleao das variveis c a e c a a serem xadas tm grande inuncia na diculdade de soluo dos submodelos. e e ca No trabalho de Federgruen et al. [2007] apresentada uma heur e stica de intervalos progressivos, onde a relax-and-x tida como um caso particular. O autor considera e que nesta heur stica, no h xaao de variveis cont a a c a nuas, o que d o mximo de a a exibilidade na obtenao de soluoes viveis. O caso extremo de menor exibilidade c c a e a xaao de todas as variveis cont c a nuas da iteraao. Estas duas estratgias de xao c e ca de variveis so denominadas respectivamente por Heur a a stica de Horizonte Expandido e Heur stica de Particionamento Estrito. Na heur stica relax-and-x, a primeira iterao do mtodo feita sobre uma relaca e e xao do problema. Assim, o gap pode ser obtido de acordo com a equao (5.1), onde ca ca U B representa a soluo vivel nal obtida pelo mtodo e LB representa o valor da ca a e

5.1. Conceitos Iniciais

57

funo objetivo obtida na primeira iterao do mtodo. ca ca e LB UB

gap = 1

(5.1)

O Algoritmo 5.1 mostra o pseudocdigo de um procedimento relax-and-x bsico. o a Algoritmo 5.1 Procedimento RelaxAndF ix Bsico a 1: divida o conjunto de variveis inteiras em N subconjuntos disjuntos Qi , i = 1, ..., N ; a 2: relaxe todas as variveis inteiras do problema; a 3: enquanto i < N faa c 4: retorne as variveis do conjunto Qi ao seu estado original; a 5: resolva o modelo resultante; 6: se uma soluo vivel for obtida ento ca a a 7: xe as variveis do conjunto Qi com os valores obtidos; a 8: seno a 9: retorne: soluo invivel; ca a 10: m se; 11: m enquanto; 12: retorne a soluo vivel obtida; ca a

E importante observar que a heur stica relax-and-x no apresenta garantia de viaa bilidade para cada subproblema. Neste contexto, Escudero e Salmeron [2005] propuseram que, se em uma das iteraoes uma soluao vivel no for encontrada, o algoritmo c c a a retirasse os valores xados na iteraao anterior, tentando resolver novamente a iterac cao em que a inviabilidade foi detectada. Assim, no pior caso, o problema original e resolvido em uma unica iteraao. c

5.1.2

GRASP

GRASP, Greedy Randomized Adaptative Search Procedure ou Procedimento de busca adaptativa gulosa e randomizada, um mtodo iterativo, proposto por Feo e Resende e e [1995], que consiste de duas fases: uma fase de construao, na qual uma soluao inic c cial gerada e uma fase de busca local, na qual um timo local na vizinhana da e o c soluao constru pesquisado. A melhor soluao encontrada ao longo de todas as c da e c

58

Cap tulo 5. Algoritmos Heur sticos

iteraes GRASP realizadas retornada como resultado. O pseudocdigo descrito pelo co e o Algoritmo 5.2 ilustra o procedimento GRASP. Algoritmo 5.2 Procedimento GRASP Bsico a 1: repita 2: s Construcao(); {onde um parmetro a ser denido} e a 3: s BuscaLocal(s); 4: se a soluo s for melhor do que s ento ca a 5: s s; 6: m se; 7: at que itermax iteraes sejam efetuadas e co 8: retorne: s ; Na fase de construao, uma soluo iterativamente constru c ca e da, elemento por elemento. A cada iterao dessa fase, os prximos elementos candidatos a serem inclu ca o dos na soluo so colocados em uma lista C de candidatos, seguindo um critrio de ordeca a e naao pr-determinado. Esse processo de seleo baseado em uma funao adaptativa c e ca e c gulosa g : C , que estima o benef da seleo de cada um dos elementos. A heucio ca r stica adaptativa porque os benef e cios associados com a escolha de cada elemento so a atualizados em cada iteraao da fase de construao para reetir as mudanas oriundas c c c da seleao do elemento anterior. A componente probabil c stica do procedimento reside no fato de que cada elemento selecionado de forma aleatria a partir de um subcone o junto restrito formado pelos melhores elementos que compem a lista de candidatos. o Este subconjunto recebe o nome de lista de candidatos restrita (RCL - restricted candidate list). Esta tcnica de escolha permite que diferentes solues sejam geradas em e co cada iteraao GRASP. O pseudocdigo representado pela Algoritmo 5.3 descreve a fase c o de construao GRASP. c O parmetro do algoritmo exibido na Figura 5.3 controla o n de gulosidade a vel (aleatoriedade) do procedimento Construcao(.), sendo que [0, 1]. Um valor = 0 faz gerar solues puramente gulosas, enquanto = 1 faz produzir solues totalmente co co aleatrias. o Assim como em muitas tcnicas determin e sticas, as soluoes geradas pela fase de c construao do GRASP provavelmente no so localmente timas com respeito ` dec a a o a niao de vizinhana adotada. Da a importncia da fase de busca local, a qual objetiva c c a

5.1. Conceitos Iniciais

59

Algoritmo 5.3 Procedimento Construcao() do GRASP 1: Seja s uma soluo inicial vazia; ca 2: Seja g(.) uma funao que retorna o valor (custo) de um elemento; c 3: enquanto s no for uma soluao completa faa a c c 4: classique os elementos da soluo por um critrio guloso e adicione-os a uma ca e lista C; 5: gmin valor do melhor elemento da lista C; 6: gmax valor do pior elemento da lista C; 7: RCL {e C tais que g(e) gmin + (gmax gmin )} 8: selecione aleatoriamente um elemento e RCL e o inclua em s; 9: m enquanto; 10: retorne: s; melhorar a soluao constru c da. O Algoritmo 5.4 descreve o pseudocdigo de um proo cedimento bsico de busca local com respeito a uma certa vizinhana N (.) de s. a c Algoritmo 5.4 Procedimento BuscaLocal(N (.), s0 ) do GRASP 1: s s0 ; {soluao inicial, passada por parmetro}; c a 2: V conjunto de solues vizinhas N (s ); co 3: enquanto |V | > 0 faa c 4: selecione uma soluao s V qualquer; c 5: se a soluo s for melhor que s ento ca a 6: s s; 7: V conjunto de solues vizinhas N (s ); co 8: seno a 9: V V \{s}; 10: m se; 11: m enquanto; 12: retorne: s ; A ecincia da busca local depende da qualidade da soluao constru e c da. O procedimento de construao tem ento um papel importante na busca local, uma vez que as c a soluoes constru c das constituem bons pontos de partida para a busca local, permitindo assim aceler-la. O parmetro , que determina o tamanho da lista de candidatos a a restrita, basicamente o unico parmetro a ser ajustado na implementaao de um e a c procedimento GRASP. Em Feo e Resende [1995], discute-se o efeito do valor de na qualidade da soluao e na diversidade das solues geradas durante a fase de consc co truao. Valores de que levam a uma lista de candidatos restrita de tamanho muito c

60

Cap tulo 5. Algoritmos Heur sticos

limitado (ou seja, com valor prximo de 0) implicam em soluoes nais de qualidade o c muito prxima `quela obtida de forma puramente gulosa, obtidas com um baixo eso a foro computacional. Em contrapartida, provocam uma baixa diversidade de solues c co constru das. J uma escolha de prxima da seleao puramente aleatria leva a uma a o c o grande diversidade de soluoes constru c das mas, por outro lado, muitas das soluoes c constru das so de qualidade inferior, tornando mais lento o processo de busca local. a O algoritmo GRASP procura, portanto, conjugar bons aspectos dos algoritmos puramente gulosos, com aqueles dos procedimentos aleatrios de construao de soluoes. o c c Procedimentos GRASP mais sosticados incluem estratgias adaptativas para o pare a metro . O ajuste desse parmetro ao longo das iteraes GRASP, por critrios que a co e levam em consideraao os resultados obtidos nas iteraoes anteriores, produz soluoes c c c melhores do que aquelas obtidas considerando-o xo [Prais e Ribeiro, 1999, 2000].

5.1.3

ILS

O mtodo Iterated Local Search (ILS) baseado na idia de que um procedimento e e e de busca local pode ser melhorado gerando-se novas soluoes de partida, as quais so c a obtidas por meio de perturbaoes na soluo tima local. c ca o Para aplicar um algoritmo ILS, quatro componentes tm que ser especicadas: (a) e Procedimento SolucaoInicial(.), que gera uma soluao inicial s0 para o problema; (b) c Procedimento BuscaLocal(s ), que retorna uma soluao s possivelmente melhorada c em relaao a s ; (c) Procedimento P erturbacao(s), que modica a soluao corrente s c c guiando a uma soluao intermediria s e (d) Procedimento CriterioAceitacao(.), que c a decide de qual soluao a prxima perturbaao ser aplicada. c o c a No Algoritmo 5.5 mostra-se o pseudocdigo do ILS bsico. o a O sucesso do ILS centrado no conjunto de amostragem de timos locais, june o tamente com a escolha do mtodo de busca local, das perturbaoes e do critrio de e c e aceitao. Em princ ca pio, qualquer mtodo de busca local pode ser usado, mas o deseme penho do ILS com respeito ` qualidade da soluao nal e a velocidade de convergncia a c e depende fortemente do mtodo escolhido. Normalmente um mtodo de descida usado, e e e

5.1. Conceitos Iniciais

61

Algoritmo 5.5 Procedimento ILS Bsico a 1: s0 SolucaoInicial(); 2: s BuscaLocal(s0 ); 3: enquanto critrio de parada no for satisfeito faa e a c 4: s P erturbacao(s); 5: s BuscaLocal(s ); 6: s CriterioAceitacao(s, s ); 7: m enquanto; 8: retorne: s ;

mas tambm poss aplicar algoritmos mais sosticados, tais como Busca Tabu ou e e vel outras metaheur sticas. A intensidade da perturbaao deve ser forte o suciente para permitir escapar do c timo local corrente e permitir explorar diferentes regies. Ao mesmo tempo, ela precisa o o ser fraca o suciente para guardar caracter sticas do timo local corrente. o O critrio de aceitao usado para decidir de qual soluo se continuar a exploe ca e ca a rao, bem como qual ser a perturbaao a ser aplicada. Um aspecto importante do ca a c critrio de aceitao e da perturbao que eles induzem aos procedimentos de intene ca ca e sicaao e diversicaao. A intensicaao consiste em permanecer na regio do espao c c c a c onde a busca se encontra, procurando explor-la de forma mais efetiva; enquanto a a diversicaao consiste em se deslocar para outras regies do espao de solues. A inc o c co tensicaao da busca no entorno da melhor soluo encontrada obtida, por exemplo, c ca e pela aplicaao de pequenas perturbaes sobre ela. A diversicaao, por sua vez, pode c co c ser realizada aceitando-se quaisquer solues s e aplicando grandes perturbaoes na co c soluao tima local. c o Um critrio de aceitaao comumente utilizado mover-se para o timo local s e c e o somente se ele for melhor que o timo local corrente s, isto , somente se f (s ) < f (s) o e em um problema de minimizaao, ou se f (s ) > f (s) em um problema de maximizaao. c c

62

Cap tulo 5. Algoritmos Heur sticos

5.1.4

VND

O Mtodo de Descida em Vizinhana Varivel (Variable Neighborhood Descent, VND), e c a proposto por Mladenovi e Hansen [1997], um mtodo de renamento que consiste c e e em explorar o espao de soluoes por meio de trocas sistemticas de estruturas de vic c a zinhana, aceitando somente soluoes de melhora da soluao corrente e retornando ` c c c a primeira estrutura quando uma soluo melhor encontrada [Souza, 2009]. O pseudoca e cdigo deste mtodo, em que se considera o renamento de uma soluo s utilizando o e ca uma funao de avaliaao f , a ser minimizada, e um conjunto de r diferentes vizinhanas c c c N = {N (1) , N (2) , , N (r) }, apresentado pelo Algoritmo 5.6. e Algoritmo 5.6 VND Bsico a 1: seja r o n mero de estruturas de vizinhanas diferentes; u c 2: k 1; // tipo de estrutura de vizinhana corrente c 3: enquanto k r faa c 4: encontre um vizinho s N (k) (s) de melhora; se no encontrar faa s ; a c 5: se (s = ) ento a 6: k k + 1; 7: seno a 8: k 1; 9: m se; 10: m enquanto; 11: retorne: s;

Dependendo do problema abordado, a busca pelo melhor vizinho pode ser cara computacionalmente. Nesta situaao comum fazer a busca pela primeira soluao c e c de melhora. Outra alternativa, bastante utilizada, aplicar explorar a vizinhana de e c forma aleatria, ou seja, executar a busca em ordem aleatria, ao invs de execut-la o o e a de forma sequencial. Segundo os autores, o mtodo VND baseia-se em trs princ e e pios bsicos: a

Um timo local com relaao a uma dada estrutura de vizinhana no correso c c a ponde necessariamente a um timo local com relao a uma outra estrutura de o ca vizinhana; c

5.2. Heur stica Relax-And-Fix aplicada ao FP

63

Um timo global corresponde a um timo local para todas as estruturas de vizio o nhana; c Para muitos problemas, timos locais com relao a uma ou mais estruturas de o ca vizinhana so relativamente prximas. c a o Ainda de acordo com Mladenovi e Hansen [1997], o ultimo princ c pio, de natureza emp rica, indica que um timo local freqentemente fornece algum tipo de informaao o u c sobre o timo global. Este o caso em que os timos local e global compartilham o e o muitas variveis com o mesmo valor, o que sugere uma investigaao sistemtica da a c a vizinhana de um timo local at a obteno de uma nova soluo de melhor valor. c o e ca ca

5.2

Heur stica Relax-And-Fix aplicada ao FP

A heur stica relax-and-x foi implementada sobre a formulao matemtica apresentada ca a no Cap tulo 4. Na implementaao utilizada neste trabalho, apenas as variveis inteiras c a so xadas, dando assim maior exibilidade na obtenao de soluoes viveis. a c c a Duas estratgias de particionamento foram implementadas na adaptaao da heur e c stica relax-and-x para o FP. Inicialmente, foi proposto um critrio de seleo aleatrio, e ca o ou seja, as variveis do problema so divididas de forma aleatria em n conjuntos Qi , a a o i = 1, ..., n, de mesmo tamanho. Doravante, esta implementaao ser referenciada como c a RF-Rnd. Uma segunda abordagem utilizou o conceito de tempo para particionar as variveis. Nesta estratgia, cada conjunto Qi de variveis inteiras abrange as variveis a e a a de um dado per odo de tempo. Assim, um total de |T | conjuntos so gerados, onde T a representa o conjunto de estgios de tempo. A esta abordagem atribu o acrnimo a e da o RF-Per. Na abordagem RF-Per, duas formas de xaao de variveis so utilizadas, sendo c a a que ambas particionam o conjunto de variveis inteiras de acordo com os estgios de a a tempo T . A primeira estratgia, denominada RF-PerA, relaxa e xa as variveis do e a primeiro ao ultimo per odo de tempo. A estratgia RF-PerB, por outro lado, utiliza a e ordenao inversa. ca

64

Cap tulo 5. Algoritmos Heur sticos

Uma vez que na heur stica relax-and-x no existe garantia de viabilidade, a estraa tgia proposta por Escudero e Salmeron [2005] foi utilizada (vide Seao 5.1.1). Assim, e c se em uma das iteraoes uma soluo vivel no for encontrada, o algoritmo ignora c ca a a os valores xados na iteraao anterior, e re-executa a iterao corrente sobre a unio c ca a dos dois subconjuntos de variveis inteiras envolvidas. No pior caso, o algoritmo ser a a executado sobre o conjunto no particionado de variveis, resolvendo assim todo o a a problema original numa unica iterao. ca Se durante as iteraes do relax-and-x, uma varivel relaxada, que no problema co a original era inteira, assumir um valor inteiro, esta tambm xada. O objetivo desta e e estratgia agilizar ainda mais a heur e e stica, reduzindo o tamanho dos subproblemas gerados pelas iteraoes posteriores. c

5.3

Heur stica GRASP-ILS aplicada ao FP

Neste trabalho foi desenvolvida uma heur stica h brida para o FP, doravante denominada GRASP-ILS, que combina fundamentos e ideias das metaheur sticas GRASP e ILS (sees 5.1.2 e 5.1.3) e utiliza um procedimento VND (Seo 5.1.4) como busca co ca local. Nesta abordagem h brida, o algoritmo ILS adaptado ao FP utilizado na fase e de busca local do GRASP. O GRASP implementado neste trabalho apresentado no e Algoritmo 5.2, da pgina 58. a O procedimento de geraao de solues iniciais apresentado na Seao 5.3.2. As c co e c estratgias de vizinhana utilizadas so discutidas na Seao 5.3.3, enquanto a busca e c a c local e o algoritmo ILS utilizado so explanados nas seoes ?? e 5.3.4. a c

5.3.1

Representao de uma Soluo ca ca

De forma anloga ` formulaao matemtica apresentado no Cap a a c a tulo 4, uma soluo ca s para o FP representada por um conjunto de variveis xr , representando a quane a ijt tidade do produto primrio i a ser utilizado na composio do produto nal j, sendo a ca transportado pela rota r no instante de tempo t. Ainda seguindo esta analogia, as res-

5.3. Heur stica GRASP-ILS aplicada ao FP

65

trioes consideradas pelos modelos heur c sticos so as mesmas consideradas pelo modelo a matemtico, podendo ser vericadas nas equaoes (4.1) - (4.21). a c

5.3.2

Gerao de Solues Iniciais ca co

Inicialmente, ocorre uma fase de pr-processamento em que as rotas so agrupadas de e a acordo com os pontos que as compem. Uma vez denidas todas as rotas poss o veis entre cada par Produto Primrio Produto Final, uma soluo inicial gerada. a ca e Esta gerao feita por meio de um procedimento parcialmente guloso, em que os ca e primeiros estgios de tempo so analisados primeiro. Os Produtos Finais so ordenados a a a de acordo com sua urgncia (com data limite de atendimento ` demanda mais prxima), e a o sendo os mais urgentes melhor classicados. Um segundo critrio de classicaao a e c e quantidade m nima a ser obrigatoriamente atendida. Quanto maior for esta quantidade, melhor ser a classicaao. a c Destes Produtos Finais, os % melhor classicados so colocados em uma Lista a Restrita de Candidatos (RCL). Desta lista, um Produto escolhido ao acaso para ser e composto. Para compor este produtos, os Produtos Primrios que podem ser blendados a e que utilizam rotas dispon veis so classicados de acordo com a sequncia de critrios a e e denidos a seguir, nesta ordem:

1. Produto Primrio com utilizao m a ca nima ainda no satisfeita; a 2. Produto Primrio que utilize rotas em que o limite inferior de utilizao ainda a ca no tenha sido atingido; a 3. Produto Primrio que minimize os desvios dos parmetros de qualidade; a a

A deniao do Produto Primrio a ser utilizado feito de forma anloga ` escolha c a e a a do Produto Final. Os % melhor classicados so submetidos a um sorteio, sendo que a o sorteado o produto escolhido. A rota a ser utilizada deve tambm ser denida. e e Para realizar esta seleao, as rotas so ordenadas de acordo com os critrios a seguir: c a e

66

Cap tulo 5. Algoritmos Heur sticos

1. Rota que no tenha seu limite inferior de utilizaao atingido; a c 2. Rota que minimize os desvios dos parmetros de qualidade do Produto Primrio a a selecionado (considerando os fatores de manuseio); 3. Rota com menor custo; Uma vez que todas as restries de utilizaao m co c nima dos Produtos Primrios e das a rotas tenham sido satisfeitas, a escolha do Produto Primrio passa a considerar apenas a a qualidade, ou seja, os produtos que atenderem melhor aos parmetros de controle de a qualidade so utilizados. a A cada iterao do mtodo, a lista de candidatos atualizada, atravs da remoao ca e e e c do ultimo Produto Final analisado e o procedimento se repete at que todos sejam e analisados. Para formar a lista de Produtos Primrios candidatos, algumas condies a co devem ser satisfeitas. O produto deve pertencer ` lista de produtos blendveis com a a aquele Produto Final, deve estar dispon na quantidade m vel nima exigida para entrar na composiao do Produto Final e as rotas pelas quais ele pode passar devem ser c capazes de transportar no m nimo esta quantidade.

5.3.3

Estruturas de Vizinhana c

A deniao das estruturas de vizinhana a serem utilizadas crucial no desempenho c c e e na ecincia de uma heur e stica de renamento. Idealmente, de uma soluao s do c espao de solues deve ser sempre poss atingir qualquer outra soluao s em um c co vel c nmero nito de passos, utilizando um ou mais tipos de movimento. u De forma a diversicar o espao de busca, diversas estruturas de vizinhana foram c c denidas para o FP: 1. Change Day : troca o dia de uma alocao; ca 2. Change Route: troca a rota pela qual um Produto Primrio transportado, a e adequando a quantidade ` nova rota; a

5.3. Heur stica GRASP-ILS aplicada ao FP

67

3. Change Product: troca o Produto Primrio em uma blendagem para gerar um a Produto Final.

E importante notar que o nmero de movimentos poss u veis nas estruturas de vizinhana denidas em geral no elevado. Isso porque, nas instncias baseadas na c a e a realidade, muitos destes movimentos geram soluoes inviveis. c a Nas estruturas de vizinhana consideradas, alm de movimentos de realocaao foram c e c desenvolvidos tambm movimentos de troca. e Uma mtodo de busca local baseado no algoritmo VND (vide Seo 5.1.4) foi dee ca senvolvido, considerando todas as estruturas de vizinhana. Para agilizar a busca, o c primeiro vizinho de melhora encontrado aceito. Outro detalhe a respeito da implee mentaao utilizada que a busca sempre feita em ordem aleatria, o que aumenta a c e e o diversidade das solues geradas. co

5.3.4

Busca Local

No algoritmo GRASP-ILS, o mtodo ILS desenvolvido funciona como a busca local e do algoritmo GRASP. O pseudocdigo do algoritmo ILS implementado dado pelo o e Algoritmo 5.5, apresentado na pgina 61. a A busca local utilizada pelo ILS descrita na Seao 5.3.3, e utiliza as estruturas e c de vizinhana apresentadas. Como critrio de parada, denido um nmero xo de c e e u iteraes. co As perturbaoes consistem em zerar o valor de algumas variveis de deciso, esc a a colhidas ao acaso, e re-executar o procedimento de gerao de soluo inicial a partir ca ca daquele ponto. O nmero de varives a serem zeradas dene o n de perturbaao. u a vel c Assim, quanto maior o n de perturbao, maior ser o nmero de variveis zeradas. vel ca a u a Quanto ao critrio de aceitaao de uma soluo, utilizado o procedimento de e c ca e avaliaao explanado na Seao 5.3.5, sendo aceitas apenas soluoes de melhora. c c c

68

Cap tulo 5. Algoritmos Heur sticos

5.3.5

Avaliao Multiobjetivo ca

Na Seao 4.1 foram apresentados os conceitos iniciais sobre otimizao multiobjetivo. c ca Na metodologia heur stica implementada, os mesmo conceitos podem ser aplicados. Assim, o algoritmo deveria identicar e armazenar as soluoes no-dominadas, assumindo c a que estas esto mais prximas das solues Pareto-timas. Entretanto, uma vez que no a o co o FP existe uma hierarquia bem denida entre as funoes objetivo, poss denir uma c e vel funo no-linear de ordenao. O Algoritmo 5.7 apresenta o pseudocdigo do mtodo ca a ca o e de ordenaao de solues, assumindo que a funo objetivo fi sempre prioritria em c co ca e a relaao ` funo fi+1 , i = 1, ..., n 1. c a ca Algoritmo 5.7 Procedimento de Avaliaao de Soluoes c c 1: sejam x1 e x2 as soluoes em avaliao; c ca 2: para i = 1 at n faa e c 3: se fi (x1 ) < fi (x2 ) ento a 4: retorne: soluao x1 domina a soluao x2 ; c c 5: seno se fi (x2 ) < fi (x1 ) ento a a 6: retorne: soluao x2 domina a soluao x1 ; c c 7: m se; 8: m para; 9: retorne: soluoes possuem mesmos valores; c

Cap tulo 6 Resultados Obtidos


Diversos testes experimentais, considerando diferentes cenrios e horizontes de planejaa mento foram feitos para se fazer um estudo das diferentes metodologias desenvolvidas. (Robson, est faltando apenas esta seo. Ainda estou terminando de executar os a ca testes, e acredito que at segunda ou tera terei este cap e c tulo completo. Estou incluindo tudo sobre as instncias e, por isso, deve car bem extenso). a

69

Cap tulo 7 Consideraes Finais co


Neste trabalho foram propostas solues para tratar o Problema do Planejamento do co Fluxo de Produto (FP) visando mltiplos objetivos simultaneamente: (i) minimizar o u no atendimento `s demandas, (ii) minimizar o no atendimento `s metas de qualidade a a a a e (iii) minimizar custos com transporte. Para tanto, inicialmente foi desenvolvido um modelo multiobjetivo de programaao matemtica. Este modelo mostrou-se ecaz c a na resoluo de instncias do horizonte mensal e anual, no sendo capaz de resolver ca a a instncias que consideram o dia-a-dia. a Para tratar estas instncias, abordagens heur a sticas foram consideradas. Uma heur stica relax-and-x e um algoritmo baseado nas metaheur sticas GRASP e ILS foram propostos. Estas metodologias mostraram-se adequadas no tratamento das instncias a que consideram o dia-a-dia, gerando boas soluoes rapidamente. c Finalmente, com o objetivo de avaliar as abordagens propostas, instncias baseadas a na realidade de uma grande empresa mineradora brasileira foram utilizadas nos testes. As soluoes - to rapidamente obtidas - foram, ento, analisadas pelos planejadores c a a da empresa, que aprovaram a qualidade das mesmas. Assim, este trabalho contribui com a diminuiao drstica do tempo de tomada da deciso, alm de disponibilizar ao c a a e planejador a possibilidade de simular diversos cenrios, tarefa imposs de ser feita a vel em tempo hbil de forma manual. a Outro aspecto que valida a importncia deste trabalho a maior interaao entre a e c

71

72

Cap tulo 7. Considera oes Finais c

a universidade e empresas mineradoras da regio, possibilitando a formaao de proa c ssionais especialistas em otimizaao de processos. Adicionalmente, contribui com a c divulgaao, para o meio empresarial, de mtodos de otimizaao na abordagem de proc e c blemas t picos de empresas de mineraao. c

Referncias Bibliogrcas e a
Agncia Nacional de Transportes Terrestres (2009). e www.antt.gov.br, acessado em junho de 2009. Aires, M. A. C.; Joly, M.; Rocha, R.; Smania Filho, P. e Fampa, M. H. C. (2005). Programao da produao de gasolina em renaria: modelagem matemtica e um ca c a algoritmo de soluao. Anais do XXXVII Simpsio Brasileiro de Pesquisa Operacioc o nal, 1:21402151. Alves, J. M.; Guimares, F. A.; Toolo, T. A. M. e Souza, M. J. F. (2007). Um sistema a de otimizaao para o planejamento da produo e vendas de um empresa mineradora. c ca Anais do XXXIX Simpsio Brasileiro de Pesquisa Operacional, 1:12. o Arenales, M.; Armentano, V.; Morabito, R. e Yanasse, H. (2007). Pesquisa Operacional Para Cursos de Engenharia. Rio de Janeiro: Editora Campus. Editora Campus, Rio de Janeiro. Chanda, E. K. C. e Dagdelen, K. (1995). Optimal blending of mine production using goal programming and interactive graphics systems. International Journal of Surface Mining, Reclamation and Environment, 9:203208. Charnes, A. e Cooper, W. W. (1961). Management models and industrial applications of linear programming. Wiley, New York. Costa, F. P. (2005). Aplicaoes de tcnicas de otimizaao a problemas de planejac e c mento operacional de lavras em mina a cu aberto. Programa de Ps-Graduaao em e o c Engenharia Mineral, Universidade Federal de Ouro Preto. Transporte ferrovirio. a In

73

74

REFERENCIAS BIBLIOGRAFICAS

Costa, F. P.; Souza, M. J. F. e Pinto, L. R. (2004). Um modelo de alocaao dinmica c a de caminhes. Brasil Mineral, 231:2631. o Costa, F. P.; Souza, M. J. F. e Pinto, L. R. (2005). Um modelo de programaao c matemtica para alocao esttica de caminhes visando ao atendimento de metas a ca a o de produao e qualidade. Revista Escola de Minas, 78(1):7788. c Dillenberger, C.; Escudero, L. F.; Wollensak, A. e Zhang, W. (1994). On practical resource allocation for production planning and scheduling with period overlapping setups. European Journal of Operations Research, 75(1):275286. Escudero, L. F. e Salmeron, J. (2005). On a relax-and-relax framework for a class of project scheduling problems. Annals of Operations Research, 140:163188. Everett, J. (2001). Iron ore production scheduling to improve product quality. European Journal of Operational Research, 129(1):355361. Federgruen, A.; Meissner, J. e Tzur, M. (2007). Progressive interval heuristics for multiitem capacitated lot sizing problems. Operations Research, 55(3):490502. Feo, T. A. e Resende, M. G. C. (1995). Greedy randomized adaptive search procedures. Journal of Global Optimization, 6:109133. Ferreira, D.; Morabito, R. e Rangel, S. (2005). Aplicaao de um modelo de otimizaao c c multi-item multimquina na programaao da produo em uma fbrica de bebidas. a c ca a Anais do XXXVII Simpsio Brasileiro de Pesquisa Operacional, 1:24732484. o Guimaraes, I. F.; Souza, M. J. F. e Pantuza Jnior, G. (2007). Modelo de simulaao u c computacional para validaao dos resultados de alocao dinmica de caminhes com c ca a o atendimento de metas de qualidade e de produao em minas a cu aberto. In Anais c e do XIV SIMPEP, p. 11p. Guimares, F. A. C.; Souza, M. J. F.; Costa, T. A. e Costa, P. F. (2006a). Iterated local a search aplicado ao planejamento operacional de lavra em minas a cu aberto consie derando alocaao dinmica de caminhes. Anais do XXXVIII Simpsio Brasileiro c a o o de Pesquisa Operacional, 1:13691380.

75

Guimares, F. A. C.; Souza, M. J. F.; Costa, T. A.; Costa, P. F. e do Carmo Bento Ala ves, J. M. (2006b). Iterated local search aplicado ao planejamento operacional de lavra em minas a cu aberto considerando alocaao esttica de caminhes. Anais do e c a o IV Congresso Brasileiro de Mina a Cu Aberto, IBRAM, Belo Horizonte, 1:116. e Instituto Brasileiro de Mineraao (2009). c Produao mineral brasileira. c In

http://www.ibram.org.br, acessado em maio de 2009. Junqueira, R. A. R. e Morabito, R. (2006). Um modelo de otimizao linear para ca o planejamento agregado da produao e log c stica de sementes de milho. Revista Produao, 16(3):510525. c Kimms, A.; Toledo, C. F. M. e Frana, P. M. (2005). Modelo conjunto de programaao c c da produo e dimensionamento de lotes aplicado a uma indstria de bebidas. Anais ca u do XXXVII Simpsio Brasileiro de Pesquisa Operacional, 1:19471958. o Lee, S. M. (1972). Goal programming for decision analysis. Auerback, Philadelphia. Loureno, H. R.; Martin, O. e Sttzle, T. (2003). Iterated local search. In Glover, c u F. e Kochenberger, G., editores, Handbook of Metaheuristics, pp. 321353. Kluwer Academic Publishers. Lu, J.; Fu, M. e Sha, J. (2005). Research of import iron ore logistics system based on the minimum cost theory. In Proceedings of the International Conference on Services Systems and Services Management, Chongqing, China, pp. 391396. Mateus, G. R.; Luna, H. P. L.; Fontelle Jnior, J.; Vieira, R. L. F.; Costa, R. A. V. u e do Patroc nio Jnior, Z. K. G. (1994). Transporte de minrio de ferro na mbr: u e caracterizaao e modelo. In Departamento de Cincia da Computaao, UFMG, Belo c e c Horizonte, MG, Tech. Rep. RT-009/94. Merschmann, L. H. C. (2002). Desenvolvimento de um Sistema de Otimizaao e Sic mulaao para Cenrios de Produao em Minas a Cu Aberto. COPPE/UFRJ, Rio c a c e de Janeiro, RJ, Brasil.

76

REFERENCIAS BIBLIOGRAFICAS

Mladenovi, N. e Hansen, P. (1997). Variable Neighborhood Search. Computers and c Operations Research, 24:10971100. Moraes, E. F.; Alves, J. M.; Souza, M. J. F.; Cabral, I. E. e Martins, A. X. (2005). Um modelo de programao matemtica para otimizar a composio de lotes de minrio ca a ca e de ferro da mina cau da cvrd. Revista Escola de Minas, 59:299306. e Paiva, R. P. O. e Morabito, R. (2006). Modelagem matemtica de otimizaao aplicada a c ao planejamento agregado da produao em usinas de aucar e Alcool: Formulao e c c ca resultados. Anais do XXXVIII Simpsio Brasileiro de Pesquisa Operacional, 1:24 o 34. Pimentel, S. B.; Mateus, G. R. e Almeida, F. A. (2009). Mathematical models for optimizing the global mining supply chain. Nag, B., editor, Intelligent Systems in Operations: Models, Methods and Applications. IGI Global. Prais, M. e Ribeiro, C. (1999). Parameter variation in GRASP implementations. In Proceedings of the Third Metaheuristics International Conference, Angra dos Reis, Brazil. Prais, M. e Ribeiro, C. (2000). Reactive GRASP: An application to a matrix decomposition problem in tdma trac assignment. INFORMS Journal on Computing, 12:164176. Rodrigues, L. F. (2006). Anlise comparativa de metodologias utilizadas no despacho a de caminhes em minas a cu aberto. Dissertaao de mestrado, Programa de Pso e c o Graduao em Engenharia de Produao/UFMG, Belo Horizonte. ca c Schoeld, C. G. (1980). Homogenization/blending systems design and control for minerals processing. In Trans Tech Publications. Souza, M. J. F. (2009). Inteligncia computacional para otimizao - notas de aula. In e ca Technical Report, UFOP - Ouro Preto. Takahashi, R. H. C. (2007). Otimizao escalar e vetorial - notas de aula. In Technical ca Report 1, UFMG - Belo Horizonte.

77

Wolsey, L. A. (1998). Integer Programming. Wiley, New York.

MINISTRIO DA EDUCAO E DO DESPORTO Escola de Minas da Universidade Federal de Ouro Preto Departamento de Engenharia de Minas Programa de Ps-Graduao em Engenharia Mineral - PPGEM

UM ALGORITMO HEURSTICO HBRIDO PARA MINIMIZAR OS CUSTOS COM A ANTECIPAO E O ATRASO DA PRODUO EM AMBIENTES COM JANELAS DE ENTREGA E TEMPOS DE PREPARAO DEPENDENTES DA SEQUNCIA
Autor: Puca Huachi Vaz Penna

Orientador: Marcone Jamilson Freitas Souza

Trabalho ao

de

Dissertao de

apresentado em

Programa

Ps-Graduao

Engenharia Mineral do Departamento de Engenharia de Minas da Escola de Minas da Universidade Federal de Ouro Preto, como parte integrante dos requisitos

para a obteno do ttulo de Mestre em Engenharia Mineral.

rea nas.

de

concentrao:

Lavra

de

Mi-

Ouro Preto, Maro de 2009

UM ALGORITMO HEURSTICO HBRIDO PARA MINIMIZAR OS CUSTOS COM A ANTECIPAO E O ATRASO DA PRODUO EM AMBIENTES COM JANELAS DE ENTREGA E TEMPOS DE PREPARAO DEPENDENTES DA SEQUNCIA
Puca Huachi Vaz Penna

Esta dissertao foi apresentada em sesso pblica e aprovada em 03 de maro de 2009, pela Banca Examinadora composta pelos seguintes membros:

Prof. Dr. Marcone Jamilson Freitas Souza (Orientador - DECOM/UFOP)

Prof. Dr. Carlile Campos Lavor (DMA/UNICAMP)

Prof. Dr. Frederico Gadelha Guimares (DECOM/UFOP)

ii

Agradecimentos
A natureza exatamente simples, se conseguirmos encar-la de modo apropriado. Essa crena tem-me auxiliado, durante toda a minha vida, a no perder as esperanas, quando surgem grandes diculdades de investigao.

[Albert Einstein]

Gostaria de expressar meus agradecimentos a todos, que de alguma forma, contriburam para a realizao deste trabalho, em especial:

A Deus pelo dom da vida.

Aos meus pais Tattu Penna e Neide Vaz que me ensinaram que o verdadeiro alicerce de nossas vidas a famlia.

s minhas irms Uiara, Violeta Camlia, aos irmos Taiandir e Rairu e aos meus tios, tias, primos e primas, que juntos, me fazem entender e acreditar nos ensinamentos de meus pais.

Temis, meu amor, que com seu apoio e carinho tem deixado nossas vidas mais felizes.

Ao meu orientador Prof.

Marcone pela amizade e ensinamentos, que por

sua dedicao a docncia e a pesquisa ter despertado em mim esse gosto.

Aos amigos do mestrado, em especial ao Fred, por caminharmos juntos.

Aos professores do Programa de Ps-graduao em Engenharia Mineral da UFOP pelos ensinamentos.

Ao Programa de Ps-graduao em Engenharia Mineral da UFOP pela oportunidade.

repblica Quarto Crescente pela amizade.

iii

Resumo
Este trabalho de dissertao tem seu foco no problema de sequenciamento em uma mquina com penalidades por antecipao e atraso da produo. So considerados tempos de preparao da mquina dependentes da sequncia de produo, bem como a existncia de janelas de entrega distintas. Para resoluo do problema, desenvolveu-se um algoritmo heurstico de trs fases. A primeira fase baseada em GRASP e Descida em Vizinhana Varivel para a gerao da soluo inicial, a segunda fase baseada em Busca Tabu para renamento da soluo, e por m, a Reconexo por Caminhos como estratgia de ps-otimizao, na terceira fase. Para cada sequncia gerada pela heurstica utilizado um algoritmo de tempo polinomial para determinar a data tima de incio de processamento de cada tarefa. Os resultados computacionais mostraram que houve melhoria em relao a um algoritmo da literatura, tanto com relao qualidade da soluo nal quanto em relao ao desvio mdio.
Palavras-Chaves:

Sequenciamento em uma mquina; GRASP; Busca Ta-

bu; Descida em Vizinhana Varivel; Reconexo por Caminhos.

iv

Abstract
This work deals with the single machine scheduling problem with earliness and tardiness penalties. Sequence dependent setup times and distinct due windows are considered. To solve this problem, a three-phase heuristic approach was developed. The rst phase is based on GRASP and Variable Neighborhood Descent to generate an initial solution; the second phase is based on a Tabu Search for solution rening, and nally Path Relinking is used as a mechanism of post-optimization as a third phase. For each job sequence generated by the heuristic, an optimal timing algorithm is used to determine the completion time for each job in the job sequence. Computational experiments carried out show that previous algorithms found in related literature have been improved, regarding the quality of the nal solution and the average gap.
Keywords:

Single Machine Scheduling; GRASP; Tabu Search; Variable

Neighborhood Descent; Path Relinking.

Sumrio
1 Preliminares
1.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Justicativa e Relevncia . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 1.3.2 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . Objetivos Especcos . . . . . . . . . . . . . . . . . . . . . . .

1
1 6 7 7 7 7

1.4 Organizao do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . .

2 O Problema de Sequenciamento
2.1 Tipos de Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9
9

2.2 O Problema de Sequenciamento na Minerao . . . . . . . . . . . . . 10 2.3 Problema Abordado . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 Reviso Bibliogrca

19

3.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4 Metodologia
4.2 Procedimento de Determinao das Datas timas de Incio de Pro-

26

4.1 Modelo Matemtico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 cessamento das Tarefas . . . . . . . . . . . . . . . . . . . . . . . . . . 31

vi

4.3

Modelo Heurstico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 Representao de uma Soluo . . . . . . . . . . . . . . . . . . Vizinhana de uma Soluo Funo de Avaliao . . . . . . . . . . . . . . . . . . .

38 38 38 39 40 43 46 51

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Gerao da soluo inicial

Busca Tabu aplicada ao PSUMAA

Reconexo por Caminhos . . . . . . . . . . . . . . . . . . . . . Algoritmo GTSPR . . . . . . . . . . . . . . . . . . . . . . . .

5 Resultados Computacionais
5.1 5.2 5.3 5.4 Problemas-teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resultados do PLIM . . . . . . . . . . . . . . . . . . . . . . . . . . .

52
52 53 54 59

Calibrao e Parmetros do Mtodo Heurstico . . . . . . . . . . . . . Resultados do Algoritmo Heurstico . . . . . . . . . . . . . . . . . . .

6 Concluses e Trabalhos Futuros Referncias Bibliogrcas I Resultados Detalhados


I.1 I.2 Execuo do GTSPR I . . . . . . . . . . . . . . . . . . . . . . . . .

65 66 71
71 76

Execuo do GTSPR II . . . . . . . . . . . . . . . . . . . . . . . . .

II Publicaes

81

vii

Lista de Tabelas
2.1 Representao de uma soluo do problema de alocao de caminhes 12 2.2 Soluo de um problema de alocao de caminhes . . . . . . . . . . 13 2.3 Tempo de operao dos caminhes . . . . . . . . . . . . . . . . . . . 14 2.4 Sequenciamento da Soluo da Frente M4 . . . . . . . . . . . . . . . 16 2.5 Sequenciamento da Soluo da Frente E1 . . . . . . . . . . . . . . . . 16 2.6 Exemplicao dos dados de entrada . . . . . . . . . . . . . . . . . . 18 5.1 Resultados do PLIM . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.2 Parmetros do Algoritmo GTSPR - Soluo Completa . . . . . . . . 59 5.3 Comparao de resultados de cada fase do algoritmo GTSPR Gomes Jr. et al. (2007) CPLEX (Parmetros Principais) . . . . . . . 61 5.4 Comparao de resultados de cada fase do algoritmo GTSPR Gomes Jr. et al. (2007) CPLEX (Parmetros Secundrios) . . . . . . 62 5.5 Comparao dos tempos computacionais GTSPR I GTSPR II Gomes Jr. et al. (2007) corrigido . . . . . . . . . . . . . . . . . . . . 64 I.1 I.2 Resultados detalhados GTSPR I Gomes Jr. et al. (2007) (8 a 10 tarefas) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Resultados detalhados GTSPR I Gomes Jr. et al. (2007) (11 a 15 tarefas) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

viii

I.3

Resultados detalhados GTSPR I tarefas)

Gomes Jr.

et al.

(2007) (20 a 30 74

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

I.4

Resultados detalhado GTSPR I tarefas)

Gomes Jr.

et al.

(2007) (40 a 75 75

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

I.5

Resultados detalhados GTSPR II tarefas)

Gomes Jr.

et al.

(2007) (8 a 10 77

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

I.6

Resultados detalhados GTSPR II tarefas)

Gomes Jr.

et al.

(2007) (11 a 15 78

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

I.7

Resultados detalhados GTSPR II tarefas)

Gomes Jr.

et al.

(2007) (20 a 30 79

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

I.8

Resultados detalhado GTSPR II tarefas)

Gomes Jr.

et al.

(2007) (40 a 75 80

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ix

Lista de Figuras
1.1 1.2 Exemplo de sequenciamento sem tempo ocioso entre tarefas Exemplo de sequenciamento com tempo ocioso entre tarefas . . . . . . . . . . 4 4

2.1

Problema Estudado . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9

Metodologia heurstica de soluo para o PSUMAA . . . . . . . . . . Programao das tarefas de um bloco na sequncia: Programao das tarefas de um bloco na sequncia: Programao das tarefas de um bloco na sequncia: Programao das tarefas de um bloco na sequncia:

29 33 34 35 36 37 38 39 39 40 41 42 45 50 51

1o 2o 3o 4o

Passo . . . . . Passo . . . . . Passo . . . . . Passo . . . . .

Procedimento PDDOIP . . . . . . . . . . . . . . . . . . . . . . . . . . Movimento de troca -

NT

. . . . . . . . . . . . . . . . . . . . . . . .

Movimento de realocao -

NR

. . . . . . . . . . . . . . . . . . . . .

Movimento de realocao de um bloco -

N Or

. . . . . . . . . . . . . . . . . . . . . . . .

4.10 Procedimento GRASP-VND aplicado ao PSUMAA

4.11 Procedimento Constroi_Solucao_GRASP aplicado ao PSUMAA . . . 4.12 Procedimento VND1 aplicado ao PSUMAA . . . . . . . . . . . . . . . 4.13 Procedimento Busca Tabu aplicado ao PSUMAA 4.14 Procedimento PR aplicado ao PSUMAA 4.15 Algoritmo GTSPR . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.1

Calibrao do parmetro

GRASP max GRASP max M RDmax M RDmax T Smax T Smax |T | |T |

em funo de

Fo

. . . . . . .

54

5.2

Calibrao do parmetro

em funo do tempo

. . . . .

55

5.3

Calibrao do parmetro

em funo de

Fo

. . . . . . . . .

55

5.4

Calibrao do parmetro

em funo do tempo . . . . . . .

56

5.5

Calibrao do parmetro

em funo de

Fo

. . . . . . . . . .

56

5.6

Calibrao do parmetro

em funo do tempo

. . . . . . . .

57

5.7

Calibrao do parmetro

em funo de

Fo

. . . . . . . . . . . . .

57

5.8

Calibrao do parmetro

em funo do tempo

. . . . . . . . . . .

57

5.9

Calibrao do parmetro

|GE| |GE|

em funo de

Fo

. . . . . . . . . . . .

58

5.10 Calibrao do parmetro

em funo do tempo

. . . . . . . . . .

58

5.11 Calibrao do parmetro

divElite divElite

em funo de

Fo

. . . . . . . . . .

58

5.12 Calibrao do parmetro

em funo do tempo

. . . . . . . .

59

xi

Lista de Siglas
ACO AG BT FIFO GE GRASP ILS LC LRC PCV PDDOIP PLIM PO PR PSUM PSUMAA SA VND VNS
Ant Colony Optimization Algoritmos Genticos Busca Tabu First In First Out Grupo Elite Greedy Randomized Adaptive Search Procedures Iterated Local Search Lista de Candidatos Lista Restrita de Candidatos Problema do Caixeiro Viajante Procedimento de Determinao das Datas timas de Incio de Processamento das tarefas Programao Linear Inteira Mista Pesquisa Operacional Path Relinking Problema de sequenciamento em uma mquina Problema de sequenciamento em uma mquina com minimizao das penalidades por antecipao e atraso Simulated Annealing Variable Neighborhood Descent Variable Neighborhood Search

xii

Captulo 1 Preliminares
1.1 Introduo

A Pesquisa Operacional (PO) a rea do conhecimento que usa o mtodo cientco para a tomada de decises, procurando determinar como melhor projetar e operar um sistema, usualmente sob condies que requerem a alocao de recursos escassos (Arenales et
al.,

2007).

As aplicaes em PO so diversas. Dentro do conjunto de problemas estudados encontra-se, com grande destaque, atualmente, a classe de problemas de programao de tarefas (job
scheduling ).

De acordo com Frana Filho (2007), o estudo de problemas de programao de tarefas envolvendo penalizaes pela antecipao e pelo atraso mais recente que aquele voltado para problemas em que o objetivo envolve uma funo nodecrescente do instante de concluso do processamento da tarefa, tais como tempo mdio de uxo, soma ponderada de atrasos e
makespan

(momento em que termina


just-in-time

a execuo da ltima tarefa). Para estes, custos mais elevados decorrem apenas do adiamento da concluso das tarefas. Entretanto, com a losoa adotada por muitas empresas, o foco atual penalizar tambm a concluso das tarefas antes do instante em que elas so requeridas. Isto justicado pelo fato de que concluir uma tarefa antecipadamente pode resultar em custos nanceiros extras pela necessidade antecipada de capital e/ou espao para armazenamento e/ou de outros recursos para manter e gerenciar o estoque.

Com relao s entregas, so encontrados na literatura trs tipos de problemas: 1. os com datas de entrega comuns (common due date ); 2. os com datas de entrega distintas (distinct due dates ) e 3. os que tm janelas de entrega distintas (distinct due windows ). No primeiro tipo, existe uma nica data para entregar todas as tarefas, enquanto no segundo existe uma data de entrega especca associada a cada tarefa. No terceiro tipo, h um perodo para a concluso de cada tarefa. Segundo Wan e Yen (2002), esta ltima situao aparece em situaes de incertezas ou tolerncias com relao s datas de entrega e no h custos se as tarefas forem concludas dentro da janela de entrega. Para problemas de produo envolvendo penalizaes pela antecipao e pelo atraso com datas comuns de entrega, h muitas propriedades que podem ser consideradas nos algoritmos de soluo e que permitem uma reduo acentuada do esforo computacional na explorao do espao de busca. Por exemplo, de acordo com Baker e Scudder (1990), se Ci representa a data de concluso da tarefa
i e f (Ci ) o valor da funo custo relativo tarefa i, ento na sequncia tima,

os pontos (si , f (Ci )) formam um V (diz-se que a sequncia V shaped). Em outras palavras, na sequncia tima, as tarefas antecipadas devem ser ordenadas de forma no-crescente pela relao entre o tempo de processamento e a penalizao pela antecipao, enquanto as tarefas atrasadas devem ser ordenadas de forma no-decrescente pela relao entre o tempo de processamento e a penalizao pelo atraso. Outra propriedade interessante que na sequncia tima no h tempos ociosos entre as tarefas. Para o caso em que as datas de entrega so distintas, assim como para o caso em h janelas de entrega distintas, tais propriedades no so necessariamente vlidas, tornando mais complexa a explorao do espao de busca. Para esses tipos de problemas necessrio saber se permitida a ociosidade das mquinas ou no.

Segundo Frana Filho (2007), existem situaes em que a ociosidade no permitida por gerar custos maiores que aqueles decorrentes da concluso antecipada das tarefas. Entretanto, h situaes em que vale a pena manter uma mquina ociosa, mesmo que haja uma tarefa em condies de ter seu processamento iniciado. Para ilustrar esta situao, sejam duas tarefas i e j , que devem ser consecutivas em uma sequncia de produo envolvendo uma mquina, s quais esto associados os custos unitrios por atraso de 100 e 20, respectivamente, custos unitrios por antecipao de 22 e 2, e que tenham como datas de entrega os instantes Ti = 50 e Tj = 55, respectivamente, e 15 e 25 unidades de tempo de processamento, respectivamente. Suponha que a mquina j esteja disponvel desde o instante 20. Se a tarefa i comear no instante 20, ser concluda no instante 35 e, portanto, haver uma penalizao igual a 330
(= 15 22) pela antecipao. Nesse caso, a tarefa j poder comear somente

no instante 35. Considerando seu tempo de processamento, ela ser concluda no instante 60, portanto 5 unidades de tempo atrasada em relao data de entrega, resultando em um custo por atraso igual a 100 (= 5 20), e um custo total de 430 (= 330 + 100), conforme pode ser visto na gura 1.1. Considere, agora, que o processamento da tarefa i seja iniciado no instante 35, mesmo sabendo que a mquina est disponvel desde o instante 20. Neste caso, a tarefa i seria concluda no instante 50, sem multa nem por antecipao nem por atraso. A tarefa j , ento, j poderia comear, terminando no instante 75, com 20 unidades de tempo de atraso, resultando em uma multa por atraso de 400 (= 20 20), mostrado na gura 1.2. O custo total nesta ltima situao seria de 400 unidades, menor que aquele no qual a tarefa i comeava desde o instante de liberao da mquina. Assim, no havendo restries ociosidade das mquinas, determinar a melhor data para iniciar o processamento de cada tarefa ou, equivalentemente, inserir tempos ociosos entre tarefas, poder produzir solues de menores custos. Com relao inuncia do tempo de preparao das tarefas na sequncia de produo, chamado de tempo de setup, observa-se que a maioria dos trabalhos cientcos considera que tais tempos so negligenciveis ou, ento, podem ser adicionados aos tempos de processamento das tarefas. Isto , considera-se que os tempos de setup so independentes da sequncia de tarefas. Contudo, muitos estudos, como

Recurso M aquina

Tarefa i 1 Tarefa i

Tarefa j
T empo

Ti Tj

Figura 1.1: Exemplo de sequenciamento sem tempo ocioso entre tarefas


Recurso M aquina

Tempo ocioso Tarefa i Tarefa j


T empo

Tarefa i 1

Ti Tj

Figura 1.2: Exemplo de sequenciamento com tempo ocioso entre tarefas os de Panwalkar
setup et al.

(1973),

apud

Gupta e Smith (2006), indicam que tempos de

signicativos aparecerem com frequncia em muitas situaes prticas sem-

pre que h alterao da tarefa a ser processada na mquina. Segundo os autores, com base em informaes prestadas por gerentes de produo, cerca de 70% dos entrevistados armaram que em pelo menos 25% das operaes, o tempo de preparao era dependente da sequncia de produo. De acordo com Kim e Bobrowski (1994), para modelar melhor casos prticos, esses tempos devem ser considerados explicitamente sempre que eles forem signicativamente maiores que os tempos de processamento. Uma reviso de trabalhos sobre sequenciamento da produo com tempos de preparao pode ser encontrada em Allahverdi et Ainda segundo Allahverdi
et al. al.

(1999).

(1999), os problemas de sequenciamento

envolvendo tempo de preparao podem ser classicados em dois tipos de problemas: 1. com tempo de preparao independente da sequncia (sequence-independent ); 2. com tempo de preparao dependente da sequncia (sequence-dependent ).

No primeiro tipo de problema o tempo de preparao depende somente da tarefa a ser processada, j no segundo, o tempo de preparao depende da tarefa a ser processada e da tarefa que a imediatamente precede. Neste caso, de acordo com Allahverdi
et al.

(1999), alguns autores resolveram este problema atravs do


salesman problem

Problema do Caixeiro Viajante - PCV (traveling

- TSP), em que

os tempos de preparao so tratados como distncias entre as cidades. Dentre os problemas de produo, o de sequenciamento em uma mquina com minimizao das penalidades por antecipao e atraso da produo (Single Machine Scheduling for Minimizing Earliness and Tardiness Penalties ),

representado

simplesmente por PSUMAA, um dos mais simples. Alm da importncia prtica desse problema, com inmeras aplicaes industriais (Allahverdi et al., 1999), trata-se de um problema difcil de ser resolvido na otimalidade em tempos computacionais aceitveis, por pertencer classe NP-difcil (Du e Leung, 1990; Liaw, 1999; Biskup e Feldmann, 2001; Wan e Yen, 2002). Essa conjuno de aplicabilidade e diculdade de resoluo na otimalidade tem motivado os pesquisadores a desenvolverem algoritmos ecientes para resolv-lo. Neste trabalho, trata-se o PSUMAA com janelas de entrega distintas e tempos de preparao da mquina dependentes da sequncia da produo. Surpreendentemente, essa variante do PSUMAA ainda no tem merecido a devida ateno. O nico trabalho encontrado na literatura, com essas caractersticas, o de Gomes Jr.
et al.

(2007). Para resolv-lo, prope-se um algoritmo de 3 fases, combinando os proce- VND

dimentos GRASP (Feo e Resende, 1995),

Variable Neighborhood Descent

(Mladenovi e Hansen, 1997), Busca Tabu (Glover, 1986) e Reconexo por Caminhos (Path Relinking ) (Glover, 1996). Na primeira fase utilizado um procedimento baseado em GRASP para gerar uma soluo inicial. Nesta fase, cada soluo construda renada por um procedimento baseado em Descida em Vizinhana Varivel (VND), que utiliza movimentos de realocao e troca de tarefas para explorar o espao de solues. Na segunda fase, a soluo proveniente do GRASP renada por um procedimento Busca Tabu. Durante essa fase formada uma lista de solues

elite (grupo elite), contendo solues de alta qualidade e diferenciadas entre si. Como ps-otimizao, na terceira e ltima fase, aplicada a Reconexo por Caminhos a pares de solues do grupo elite.

1.2 Justicativa e Relevncia


O problema de sequenciamento da produo est entre os mais estudados desta dcada. Segundo Allahverdi et al. (2008) em seu trabalho de reviso bibliogrca sobre o problema de sequenciamento com tempo de preparao, entre os anos de 1999 e 2005, foram publicados em peridicos mais de 300 trabalhos sobre o assunto, uma mdia superior a 40 trabalhos por ano. Este nmero muito superior aos 190 trabalhos encontrados entre as dcadas de 60 e 90. Apesar do grande nmero de trabalhos publicados sobre o problema de sequenciamento, na reviso de Allahverdi et al. (2008) no foram encontrados trabalhos sobre o PSUMAA com janelas de entrega distintas e tempos de preparao da mquina dependentes da sequncia da produo, foco deste trabalho. De acordo ainda com Allahverdi et al. (2008), a metaheurstica Busca Tabu uma das mais utilizadas para resolver esta classe de problemas. Como esta tcnica requer uma soluo inicial de qualidade, nada mais natural que utilizar a metaheurstica GRASP para ger-la. Por sua vez, somente a fase de construo GRASP no guia a timos locais com relao s estruturas de vizinhanas adotadas. Assim, aplica-se tambm um mtodo de busca local para melhorar as solues construdas. A metaheurstica VND foi usada para esse m, pois requer poucos parmetros (basicamente a denio das vizinhanas e a ordem de explorao destas), produz solues de boa qualidade (Mladenovi e Hansen, 1997) e de fcil implementao. A aplicao de Reconexo por Caminhos deveu-se ao sucesso desta tcnica na soluo de vrios outros problemas combinatrios (Glover e Kochenberger, 2003). Este trabalho apresenta relevncia por tratar um subproblema de sequenciamento ainda pouco estudado e contribuir com o desenvolvimento de uma ferramenta computacional para a otimizao de processos produtivos nas indstrias txtil, pe-

troqumica, siderrgica e minerao, dentre outras.


1.3 Ob jetivos

1.3.1 Objetivo Geral


Este trabalho possui como objetivo geral desenvolver um algoritmo eciente de otimizao, baseado em tcnicas metaheursticas, para resolver o problema de sequenciamento em uma mquina com minimizao das penalidades por antecipao e atraso da produo, com tempo de preparao dependente da sequncia de produo.

1.3.2 Objetivos Especcos


Os objetivos especcos a serem atingidos so os seguintes: 1. Fazer uma reviso de literatura sobre as metodologias utilizadas para resolver o problema de sequenciamento em uma mquina; 2. Fazer uma reviso de literatura sobre as tcnicas metaheursticas GRASP,

Variable Neighborhood Descent - VND, Busca Tabu e Reconexo por Caminhos (Path Relinking );

3. Desenvolver uma metodologia de otimizao hbrida, baseada em metaheursticas, para resolver ecientemente o problema; 4. Contribuir com a formao de recursos humanos especializados nessa rea do conhecimento; 5. Possibilitar maior ecincia no planejamento do sequenciamento da produo.
1.4 Organizao do Trabalho

O restante deste trabalho est estruturado como segue.

No captulo 2, as caractersticas do problema estudado so apresentadas em detalhes, bem como uma possvel aplicao na rea de Minerao. Uma reviso dos trabalhos correlatos e das tcnicas heursticas utilizadas so apresentadas no captulo 3. No captulo 4 descrito o algoritmo desenvolvido para resoluo do PSUMAA. No captulo 5 so apresentados e discutidos os resultados computacionais. Por m, o captulo 6 conclui o trabalho e aponta perspectivas futuras para melhoramento do algoritmo proposto.

Captulo 2 O Problema de Sequenciamento


Neste captulo apresentado os principais tipos de problemas de sequenciamento da produo e, em detalhes, o problema estudado neste trabalho.
2.1 Tipos de Problemas

Na reviso de Allahverdi et al. (2008), os autores apresentam os principais tipos de problema de sequenciamento, so eles: 1. Uma mquina (single-machine ): Neste tipo de problema, foco deste trabalho, todas as tarefas so processadas em uma nica mquina; 2. Mquinas paralelas (parallel qualquer uma das mquinas; 3.

machines ):

Existem m mquinas em pa-

ralelo, que podem ser idnticas ou no. Cada tarefa pode ser processada em

Flow shop :

Em um ambiente ow shop com m mquinas h m estgios em

srie, com uma ou mais mquinas em cada estgio. Cada tarefa tem que ser processada em cada um dos m estgios na mesma ordem. O tempo de processamento para cada tarefa em diferentes estgios podem ser diferentes. Os problemas ow shop podem ser classicados como: (a)

regular ow shop :

Existe uma mquina em cada estgio;

(b) (c) (d)

no-wait ow shop :

Uma operao sucessora inicia imediatamente aps mais de uma mquina existe em pelo

sua antecessora terminar;

exible (hybrid ) ow shop :


menos um estgio;

assembly ow shop : Em um ambiente assembly ow shop de dois estgios, cada tarefa passa por m 1 operaes especcas em uma mquina predeterminada no primeiro estgio, seguida de uma operao de montagem (assembly operation ) na mquina do segundo estgio;

4.

Job shop :

Consiste em m mquinas diferentes e cada tarefa possui uma dada

ordem de execuo, na qual algumas mquinas podem no ser usadas e outras podem ser repetidas; 5.

Open shop :

Este ambiente semelhante ao anterior, porm cada tarefa deve

ser processada uma nica vez em cada uma das m mquinas, passando por elas em qualquer ordem.
2.2 O Problema de Sequenciamento na Minerao

A minerao realiza suas atividades em minas subterrneas ou a cu aberto. Em uma mina a cu aberto, o planejamento operacional de lavra consiste no planejamento de curto prazo, onde o principal objetivo a determinao do ritmo de lavra a ser implementado em cada frente, fornecendo usina de beneciamento uma alimentao adequada. Vrios trabalhos tratam esse problema em suas vrias etapas, entre elas o problema de mistura de minrios, alocao de equipamentos de carga e transporte e o problema de despacho, de forma independente ou integrada. Segundo Gershon (1982), apud Costa (2005), otimizar o problema de planejamento de lavra em partes independentes pode gerar conitos que inviabilizam a implementao das solues obtidas em cada parte. Costa (2005) estudou trs problemas do planejamento operacional de lavra,

10

a mistura de minrios, mistura de minrios com alocao dinmica de caminhes e mistura de minrios com alocao esttica de caminhes. Os problemas foram resolvidos atravs de duas metodologias, uma baseada em programao matemtica e outra utilizando tcnicas heursticas. Rodrigues (2006) fez uma anlise comparativa das metodologias de despacho de caminhes em minas a cu aberto. Para resolver o problema foi utilizado programao linear, programao dinmica e uma heurstica baseada em Algoritmos Genticos (AG). Arajo (2008) tratou o planejamento operacional de lavra com alocao dinmica de caminhes. O problema abordado consistia em determinar o nmero de viagens que cada caminho devia fazer a cada frente de lavra, bem como decidir em quais frentes de lavra alocar as carregadeiras, com a nalidade de atender s metas de produo e qualidade requeridas para o minrio a ser produzido, fazendo o melhor aproveitamento da frota de veculos disponvel. Na resoluo do problema foi empregado um procedimento heurstico baseado na metaheurstica Iterated Local
Search,

e um modelo matemtico foi formulado para validar o mtodo heurstico A presente pesquisa tem seu foco no sequenciamento da produo, que

proposto. uma etapa do planejamento operacional de lavra que surge aps a alocao dos equipamentos de carga (carregadeiras) e transporte (caminhes) s frentes. Costa (2005) descreve que o problema da mistura de minrios com alocao de caminhes objetiva determinar o ritmo de lavra de cada frente de acordo com sua capacidade de produo. A capacidade de produo de cada frente determinada pelos equipamentos de carga nela alocada e pelos caminhes que realizam o transporte do material at o ponto de basculamento. Neste problema h operao de lavra de minrio e estril, a mina conta com uma frota limitada de equipamentos de carga, os quais devem ser alocados s frentes de lavra e operar em uma faixa de produtividade que torne vivel sua utilizao. O transporte do material retirado da frente de lavra realizado por uma frota de caminhes com capacidade de carga diferentes.

11

Esses caminhes so alocados s frentes de lavra, tentando-se evitar a formao de las, ou seja, o caminho alocado a um ponto de carga ou basculamento que proporcione o menor tempo de la possvel. Entretanto, um caminho somente pode ser direcionado uma frente que possua um equipamento de carga compatvel. Para exemplic-lo, seja a Tabela 2.1, a qual apresenta a soluo do problema de alocao dinmica de caminhes de Arajo (2008). Nesta tabela, a primeira coluna indica as frentes de lavra; a segunda, as carregadeiras e o status da alocao (1 se ela est em operao e 0, caso est inativa) e as demais colunas, os caminhes. Cada clula desta tabela indica o nmero de viagens que cada caminho faz frente de lavra. Um nmero negativo indica incompatibilidade entre o caminho e a carregadeira alocada frente. Pode-se observar que a carregadeira 5 est alocada e em operao na frente de lavra F1 . Na frente F2 a carregadeira 3 est alocada, porm no est em operao. J na F3 no h nenhuma carregadeira alocada. Em relao aos caminhes, a tabela indica que o Cam1 efetua 5 viagens frente F1 , no compatvel com a carregadeira da frente F2 , no faz viagens a frente F3 , faz 7 viagens a frente F4 , e assim por diante. Tabela 2.1: Representao de uma soluo do problema de alocao de caminhes

Frentes
F1 F2 F3 F4

. . .

F|F |

(5, 1) (3, 0) (-1, 0) (6, 1) . . . (2, 1)

Carga

Cam1

5 -1 0 7 . . . 4

Cam2

0 -1 0 -1 . . . 0

Cam|V |

. . .

2 0 -1 0 . . . 1

Para mostrar como o problema de sequenciamento aparece no planejamento operacional de lavra, suponhamos a soluo do problema de alocao de caminhes, dada na Tabela 2.2. Nesta tabela so descritos o nmero de viagens alocadas para cada caminho, C0 C27 , s frentes de lavra, sendo as linhas M1 a M12 , frentes de minrio e E1 E5 frentes de estril.

12

Tabela 2.2: Soluo de um problema de alocao de caminhes

Fr.

C01 C02 C03 C04 C05 C06 C07 C08 C09 C10 C11 C12 C13 C14 C15 C16 C17 C18 C19 C20 C21 C22 C23 C24 C25 C26 C27
3 3 2 2 5 4 4 5 5 4 5

M1 M2 M3 M4 M5 M6 M7
13

M8 M9 M10 M11 M12 E1 E2 E3 E4 E5

3 5 1 5 1

2 3 3 5 2 1 1 1 2

A Tabela 2.3 mostra os tempos de operao dos caminhes em cada frente de lavra, onde as linhas representam as frentes de lavra, e as colunas o tempo de deslocamento vazio, o tempo de deslocamento cheio, o tempo de carga, o tempo de descarga e o tempo total, respectivamente. Tabela 2.3: Tempo de operao dos caminhes

M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 E1 E2 E3 E4 E5

Frentes TDVazio TDCheio Tcarga Tdescar Ttotal


2 3 3 1 3 3 3 4 2 2 3 2 4 2 3 3 2 2 3 4 4 4 4 6 3 4 4 3 5 4 4 5 4 3 4 6 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

9 min

11 min 11 min 11 min 14 min 9 min 10 min 11 min 9 min 13 min 10 min 11 min 12 min 10 min 9 min 11 min 14 min

As Tabelas 2.4 e 2.5 representam uma possibilidade de sequenciamento nas frentes

M4

E1 ,

respectivamente, para o problema apresentado na Tabela 2.2, em

um intervalo de uma hora de produo. Nas Tabelas 2.4 e 2.5, as colunas indicam os minutos e as linhas a operao de cada caminho. O caracter naquele instante; o caracter

indica que o caminho est sendo carregado

d,

que o caminho est basculando (descarregando o

material) e uma clula vazia indica que o caminho est em viagem (cheio ou vazio) ou aguardando disponibilidade da carregadeira para carregamento. O caracter

indica a existncia de tempo ocioso da carregadeira. Esse ltimo caracter aparece somente na ltima linha, no vinculado a nenhum caminho, apenas para mostrar a ociosidade da carregadeira. Neste exemplo, considera-se que os caminhes possuem a mesma capacidade e so compatveis com as carregadeiras alocadas a cada frente.

14

Os tempos adotados foram aqueles apresentados na Tabela 2.3. Nesta situao, pode-se considerar uma tarefa como o carregamento de um caminho e uma mquina como sendo a carregadeira alocada frente. Assim, tem-se que a carregadeira alocada frente M4 , dita mquina M4 , executa 17 tarefas, com tempo total de processamento de 59 minutos. Uma soluo para o seu sequenciamento pode ser dado pelo vetor vM4 = {C02 , C04 , C07 , C02 , C04 , C07 , C09 , C10 , C07 , C09 , C10 ,
C07 , C09 , C10 , C07 , C09 , C10 }. J a mquina E1 executa 18 tarefas, com tempo total de

processamento de 55 minutos, cujo vetor soluo pode ser vE1 = {C05 , C08 , C10 , C12 ,
C05 , C08 , C12 , C02 , C04 , C05 , C15 , C02 , C04 , C05 , C15 , C02 , C04 , C05 }.

possvel observar que ao tratar as carregadeiras alocadas s frentes de lavra como mquinas, caracteriza-se a existncia de vrias mquinas; portanto, o problema classicado como sequenciamento em mquinas paralelas. A soluo deste problema envolve, assim, o sequenciamento em cada mquina, foco deste estudo. Vale ressaltar que este trabalho trata o problema de sequenciamento de forma bem mais ampla e genrica, sendo possvel ajustar seus parmetros e/ou acrescentar outros critrios otimizantes para que se comporte como descrito acima. Ao tratar o sequenciamento da produo, no intervalo de apenas uma hora de produo, possvel identicar caractersticas do PSUM, como a mquina, a tarefa, o tempo de processamento e a ociosidade entre as tarefas. Porm, ao se ampliar o horizonte de planejamento, pensando em termos semanais, por exemplo, possvel tambm identicar outras caractersticas como tempo de setup, que pode ser visto como o tempo necessrio para uma carregadeira se deslocar de uma frente para outra. Ao se estabelecer a produo de materiais diferentes e um perodo de entrega distinto para cada um desses materiais, pode-se ter como objetivo entregar os produtos nos perodos indicados, minimizando-se os custos com o atraso e/ou com a antecipao da produo. O objetivo de minimizar os custos com a antecipao pode ser devido ao custo de estocagem do material at sua entrega, enquanto que o objetivo de minimizar os custos com o atraso visa reduo das multas contratuais por no entregar o produto na data requerida. O problema tratado neste trabalho apresentado a seguir na seo 2.3.

15

Tabela 2.4: Sequenciamento da Soluo da Frente M4

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

C02 c c c d C04 ccc C07 ccc C09 C10

c c c d d c c c

d d c c c c c c c c c d d d o o c c c c c c c c c o o d d d c c c c c c c c c o o d d d c c c c c c c c c d

o o

Tabela 2.5: Sequenciamento da Soluo da Frente E1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 C02 c c c d c c c d c c c d C04 c c c d c c c d c c c d C05 c c c d c c c d c c c d c c c d c c c C08 ccc d c c c d C10 ccc d C12 c c c d C13 c c c d C15 c c c d c c c d
o

16

2.3

Problema Abordado

O problema de sequenciamento em uma mquina com penalidades por antecipao e atraso (PSUMAA) tratado neste trabalho tem as seguintes caractersticas: (i) Uma mquina deve processar um conjunto de n tarefas; (ii) A cada tarefa i est associado um tempo de processamento Pi e uma janela de entrega [Ei , Ti ], indicando uma data inicial Ei e uma data nal Ti desejadas para o trmino de seu processamento. Se a tarefa i for nalizada antes de
Ei h um custo i por unidade de tempo de antecipao. Caso a tarefa seja

nalizada aps Ti ento h um custo i por unidade de tempo de atraso. As tarefas concludas dentro da janela de entrega no proporcionam nenhum custo; (iii) A mquina pode executar no mximo uma tarefa por vez e uma vez iniciado o processamento de uma tarefa, no permitida a sua interrupo; (iv) Todas as tarefas esto disponveis para processamento na data 0; (v) Entre duas tarefas i e j consecutivas necessrio um tempo Sij de preparao da mquina, chamado tempo de setup. Assume-se que a mquina no necessita de tempo de preparao inicial, ou seja, o tempo de preparao da mquina para o processamento da primeira tarefa na sequncia igual a 0; (vi) permitido tempo ocioso entre a execuo de duas tarefas consecutivas. A Figura 2.1 exemplica o PSUMAA com janelas de entrega distintas e tempos de preparao da mquina dependentes da sequncia da produo, foco deste trabalho. Segundo a notao a|b|c de Allahverdi et al. (2008), o primeiro campo, a, indica o tipo de mquina; o segundo campo, b, indica detalhes das caractersticas de processamento, como tempo de preparao e datas de entrega e, por m, o terceiro campo, c, indica o objetivo a ser minimizado. Desta forma, podemos descrever o PSUMAA com a seguinte notao 1|STsd , Ei di Ti |
n i=1 (i ei

+ i ti ), onde:

17

Recurso M aquina

Tempos de preparao Tarefa 1 Tarefa 2 Tarefa 3 Tempo ocioso


T empo
E1 T1 E2 T2 E3 T 3

Figura 2.1: Problema Estudado 1. Tipo de mquina (Campo a): (a) 1, indicando uma mquina (single
machine );

2. Caracterstica de processamento (Campo b): (a) STsd , representando tempo de preparao dependente da sequncia (sequencedependent setup time );

(b) Ei di Ti , indicando janela de entrega distinta (distinct due window ); 3. Funo objetivo (Campo c): (a)
n i=1 (i ei

+ i ti ), representando penalizao por atraso e antecipao

(total

weighted earliness and tardiness ).

Para exemplicar o problema, seja a Tabela 2.6, relativa a 4 tarefas, em que se apresenta o tempo de processamento (Pi ), o custo por antecipao (i ), o custo por atraso (i ), os tempos de preparao da mquina (Sij ), a data inicial (Ei ) e a data nal (Ti ) desejadas para entrega. Tabela 2.6: Exemplicao dos dados de entrada Dados do Problema Tempo de Preparao Pi Ei Ti i i 1 2 3 4 3 3 7 9 18 0 1 1 2 5 11 16 10 20 1 0 3 2 4 5 9 7 14 1 3 0 2 5 7 13 8 16 2 2 2 0

Tarefas 1 2 3 4

18

Captulo 3 Reviso Bibliogrca


Neste captulo feita uma reviso dos trabalhos relacionados ao problema aqui estudado.
3.1 Introduo

Nos ltimos anos um grande nmero de empresas tem adotado a produo de bens sob encomenda atravs da losoa just-in-time. Com a adoo deste modelo, faz-se necessrio um planejamento criterioso das atividades produtivas, visto que antecipaes ou atrasos podem gerar custos extras, como por exemplo, custos de armazenagem e multas contratuais, respectivamente. Na indstria mineral esta realidade no diferente, os prazos de entrega se tornam cada vez mais rgidos. As indstrias trabalham, normalmente, em sua capacidade mxima e com as produes j vendidas. Desta forma, so necessrios mtodos ecientes para planejamento do sequenciamento da produo, buscando sempre a minimizao dos custos de produo, visto que antecipaes ou atrasos na produo acarretam para a empresa custos, seja de estocagem ou multas contratuais, respectivamente. O problema de sequenciamento em uma mquina com minimizao das penalidades por antecipao e atraso da produo (PSUMAA), modela um dos mais simples problemas de planejamento da produo no contexto da losoa just-in-time. Contudo, trata-se de um problema difcil de ser resolvido na otimalidade em tempos

19

computacionais aceitveis, visto pertencer classe NP-difcil (Du e Leung, 1990; Wan e Yen, 2002). Vrios trabalhos tratam o PSUMAA com datas de entrega. Gordon
et al.

(2002) apresenta um estudo sobre datas comuns de entrega em problemas de sequenciamento em uma mquina e em mquinas paralelas. De acordo com o autor a data de entrega se tornou um fator importante a partir de meados da dcada de 80 devido losoa just-in-time ; porm Jackson (1955), apud Gordon et al. (2002), foi o ponto de partida sobre seu estudo. Vrios mtodos de formulao da funo objetivo foram apresentados, alm de algumas propriedades para datas comuns de entrega. Coleman (1992) resolveu o PSUMAA com data de entrega distinta e tempo de preparao dependente da sequncia atravs de um modelo de programao inteira mista. Em seu trabalho, Coleman (1992) resolveu problemas-teste utilizando o otimizador LINDO, com 4 e 8 tarefas. Lee e Choi (1995) aplicaram Algoritmos Genticos (AG) ao PSUMAA com datas de entrega distintas. Para determinar a data tima de concluso de processamento de cada tarefa da sequncia produzida pelo AG, desenvolveram um algoritmo especco, de complexidade polinomial, que explora as caractersticas do problema. Sridharan e Zhou (1996) estudaram o PSUMAA dinmico com datas de entrega distintas. De acordo com os autores, para problemas com tempos de entrega distintos a soluo tima pode conter tempo ocioso entre as tarefas. A maioria dos trabalhos que estudam este problema utilizam um algoritmo de duas fases para resolver o problema. Na primeira fase gerada uma sequncia de produo e, na segunda, calculada a data tima de execuo, podendo-se inserir tempo ocioso entre as tarefas. Esses autores, no entanto, propuseram uma heurstica de uma nica fase baseado em teoria de deciso para construo do sequenciamento com tempo ocioso embutido. James (1997) resolveu o PSMUAA com data comum de entrega sem tempo ocioso entre as tarefas utilizando a metaheurstica Busca Tabu. O autor utilizou os

20

seguintes movimentos para explorar o espao de busca: troca entre tarefas adjacentes, troca entre duas tarefas quaisquer e insero de uma tarefa frente de outro. Experimentos mostraram que a troca adjacente obteve os piores resultados e um movimento hbrido de troca e insero obteve os melhores resultados. Li (1997), Liaw (1999) e Biskup e Feldmann (2001) trataram o PSUMAA com datas comuns de entrega, sem permitir tempo ocioso de mquina. O primeiro autor decompe o problema em dois subproblemas com uma estrutura mais simples, de forma que o limite inferior do problema a soma dos limites inferiores desses dois subproblemas. O limite inferior de cada subproblema determinado por relaxao lagrangiana. Um algoritmo branch-and-bound apresentado e usado para resolver instncias de at 50 tarefas, dobrando a dimenso de problemas que podiam ser resolvidos na otimalidade com algoritmos exatos at aquela data. O autor props, tambm, procedimentos heursticos baseados em busca local para resolver problemas de dimenses mais elevadas. No segundo trabalho apresentado um algoritmo
branch-and-bound que faz uso de procedimentos para determinar limites inferiores

e superiores fortes. Regras de dominncia so usadas para tentar eliminar ns no promissores na rvore de busca. analisado o desempenho do algoritmo para resolver problemas de at 50 tarefas. O terceiro trabalho apresenta duas heursticas para resolver o problema, porm o foco do trabalho est em apresentar um algoritmo para gerao de problemas-teste, com objetivo principal de gerar instncias que pudessem ser utilizadas na comparao de performance de diferentes mtodos de resoluo do problema. Chang (1999) tratou o PSUMAA com datas distintas de entrega por meio de um algoritmo branch-and-bound. analisado o desempenho desse algoritmo

para resolver problemas com at 45 tarefas. Tambm desenvolvido um esquema para delimitar o clculo de diferentes limites inferiores baseados no procedimento de eliminao de sobreposio de uma sequncia just-in-time. Propriedades e teoremas sobre procedimento de eliminao de sobreposio so apresentados. Gagn et al. (2001) resolveram o PSUM com tempo de preparao dependente da sequncia de produo com penalizao por atraso utilizando a metaheu-

21

rstica Colnia de Formigas (Ant Colony Optimization - ACO). O mtodo ACO proposto foi adaptado do mtodo ACO utilizado para resolver o PCV. Feldmann e Biskup (2003) resolveram o PSUMAA com datas comuns de entrega por meio de trs mtodos: um algoritmo evolutivo, Simulated Annealing (SA) e uma verso aperfeioada da heurstica Threshold Accepting, sendo esta ltima uma variante de Simulated Annealing. O mesmo problema foi tratado por Hino et al. (2005), os quais apresentaram mtodos baseados nas metaheursticas Busca Tabu e Algoritmos Genticos, bem como hibridizaes destas. Ventura e Radhakrishnan (2003) estudaram o PSUMAA com o tempo de preparao includo no tempo de processamento. Os autores apresentaram algumas propriedades e desenvolveram uma heurstica para encontrar uma soluo inicial e ento resolveram o problema por meio de relaxao lagrangeana com um algoritmo de subgradiente. Rabadi et al. (2004) focaram no PSUMAA com datas comuns de entrega e tempo de preparao da mquina dependente da sequncia de produo. Os autores apresentam um procedimento branch-and-bound que capaz de resolver na otimalidade, em tempos aceitveis, problemas-teste de at 25 tarefas, o que representava um avano porque at aquela data algoritmos exatos para essa classe de problemas eram capazes de resolver somente problemas-teste de at 8 tarefas. Tian et al. (2005) mostraram que, fazendo uso de algumas propriedades, o problema de sequenciamento em uma mquina com minimizao do tempo total de atraso e datas de entrega distintas pode ser resolvido em tempo polinomial usando o algoritmo shortest processing time (SPT), para um determinado nmero de datas de entrega distintas. Hassin e Shani (2005) apresentaram um estudo sobre o PSUMAA com datas de entrega distintas, com algumas variaes, tempos de processamentos comuns e distintos, alm de um novo conceito denominado no-execuo, onde uma tarefa pode no ser executada, atribuindo portanto uma penalidade por no-execuo. Para resolver o problema os autores adaptaram um algoritmo de tempo polinomial

22

da literatura, por eles denominado GTW. Gupta e Smith (2006) propuseram dois mtodos, um baseado em GRASP e outro na heurstica
space-based search,

para a resoluo do problema de sequen-

ciamento em uma mquina considerando a existncia de data de entrega para cada tarefa e tempo de preparao de mquina dependente da sequncia de produo, tendo como objetivo a minimizao do tempo total de atraso. O mtodo GRASP proposto foi dividido em trs fases: Construo, Renamento e Reconexo por Caminhos. Segundo os autores, a contribuio est em uma nova funo custo para a fase de construo, uma nova variao do mtodo VND para a fase de renamento e uma fase de Reconexo por Caminhos usando diferentes vizinhanas. Os autores Lin
et al.

(2007a,b) tambm estudaram o PSUMAA com datas

comuns de entrega. No primeiro trabalho foram utilizadas as metaheursticas Algoritmos Genticos (AG) e Simulated Annealing (SA), nas quais utilizada uma busca local gulosa. No segundo, os autores desenvolveram uma heurstica baseada em troca sequencial. Em ambos, os autores zeram uso de trs propriedades da literatura aplicadas ao problema com datas comuns de entrega para melhorar o desempenho das heursticas. Hallah (2007) trata do PSUMAA com datas de entrega distintas, no sendo permitida a existncia de tempo ocioso entre as tarefas. O autor prope um mtodo hbrido que combina heursticas de busca local (regras de despacho, mtodo da descida e Simulated
Annealing )

e um algoritmo evolucionrio.

O PSUM com penalidade por atraso e data de entrega distinta foi estudado por Bilge et al. (2007), os quais utilizaram a metaheurstica Busca Tabu para resolvlo. Para gerar a soluo inicial os autores utilizaram vrios mtodos, entre eles as heursticas
earliest due date

(EDD) e

weighted shortest processing time

(WSPT).

A BT desenvolvida usou uma estrutura de vizinhana hbrida com movimentos de troca e realocao, porm os autores utilizaram uma estratgia para criao de uma lista de candidatos, se valendo de algumas propriedades do problema, para no permitir movimentos que no levariam a boas solues. Foi tambm utilizado um tempo tabu (tabu
tenure )

dinmico para evitar a ciclagem.

23

Ying (2008) trata do PSUMAA com datas comuns de entrega das tarefas e com tempo de
setup

de cada tarefa includo em seu tempo de processamento e (RBS), que uma verso aperfeioada do algoritmo Beam

independente da sequncia de produo. O problema resolvido pelo algoritmo


Recovering Beam Search Search

(BS). Este, por sua vez, consiste em um algoritmo branch-and-bound em que

somente os w ns mais promissores de cada nvel da rvore de busca so retidos para ramicao futura, enquanto os ns restantes so podados permanentemente. Para evitar decises equivocadas com respeito poda de ns que conduzam soluo tima, o algoritmo RBS utiliza uma fase de recobrimento que busca por solues parciais melhores que dominem aquelas anteriormente selecionadas. Alguns trabalhos, como Chen (1997) e Uzsoy e Velsquez (2008), tratam o tempo de preparao dependente da sequncia por famlias, onde cada famlia consiste em um conjunto de tarefas que no possuem tempo de preparao entre si. O tempo de preparao somente existe entre as execues das famlias de tarefas. Uzsoy e Velsquez (2008) utilizaram vrias heursticas para resolver o problema, entre elas uma baseada unicamente na heurstica EDD e outra, baseada em EDD com uma busca local. Wan e Yen (2002) apresentaram um mtodo baseado na metaheurstica Busca Tabu (BT) para resolver o PSUMAA com janelas de entrega distintas. Para cada sequncia de tarefas gerada pela Busca Tabu acionado um procedimento de complexidade polinomial para determinar a data de concluso tima do processamento de cada tarefa da sequncia. Este ltimo procedimento adaptado daquele proposto em Lee e Choi (1995), em que se consideram janelas de entrega em lugar de datas de entrega. Gomes Jr.
et al.

(2007) desenvolveram um modelo de programao linear

inteira mista para o PSUMAA com janelas de entrega e tempo de preparao dependente da sequncia de produo. Esta aplicao foi inspirada na dissertao de Bustamante (2006). Neste ltimo trabalho, considera-se uma aplicao na indstria siderrgica, em que uma mquina considerada como sendo uma sequncia de laminadores que representam o gargalo do sistema, e cada tarefa representa um conjunto

24

de operaes realizadas nesses laminadores que resulte em um dado produto (cantoneira, perl U, vergalho etc.). Para cada produto fabricado tm-se um conjunto de operaes de mesma natureza realizadas nos mesmos laminadores, mas que requerem tempos de processamento diferentes, bem como ajustes na congurao dos equipamentos da laminao. Como cada ajuste nos equipamentos dura um tempo para ser executado, a composio destes tempos gera o tempo para troca entre cada produto. O modelo de Gomes Jr. et al. (2007) foi utilizado para resolver na otimalidade problemas de at 12 tarefas. Esta modelagem serviu para comparar os resultados obtidos por um algoritmo heurstico baseado em GRASP, ILS e VND, tambm proposto pelos autores. Para cada sequncia gerada pela heurstica, acionado um algoritmo para determinar a data tima de concluso do processamento de cada tarefa. Tal algoritmo foi adaptado de Wan e Yen (2002), e inclui no tempo de processamento de uma tarefa o tempo de preparao da mquina, j que quando ele acionado, j se conhece a sequncia de produo. O algoritmo desenvolvido pelos autores foi capaz de encontrar todas as solues timas conhecidas. Uma reviso mais abrangente de trabalhos sobre sequenciamento com tempos de preparao dependentes da sequncia pode ser encontrada em Allahverdi
et al. (1999) e Allahverdi et al. (2008).

25

Captulo 4 Metodologia
Neste captulo so apresentadas duas metodologias de soluo do problema tratado. Na seo 4.1, apresentado um modelo de programao matemtica para resolver na otimalidade problemas-teste do PSUMAA de pequenas dimenses. Na seo 4.3, apresentado um algoritmo heurstico para encontrar solues sub-timas do PSUMAA. A utilizao de procedimentos heursticos para resolver o PSUMAA se deve complexidade combinatria do problema tratado. O algoritmo proposto baseia-se em metaheursticas, as quais, ao contrrio dos procedimentos heursticos clssicos, tm mecanismos que possibilitam escapar das armadilhas dos timos locais. Mais especicamente, prope-se um algoritmo de trs fases, denominado GTSPR, combinando os procedimentos metaheursticos GRASP (Feo e Resende, 1995), VND (Mladenovi e Hansen, 1997), Busca Tabu (Glover e Laguna, 1997) e a tcnica Reconexo por Caminhos (Glover, 1996). Na primeira fase, construda uma soluo inicial utilizando-se GRASP e VND. Na segunda fase essa soluo renada por um procedimento baseado em Busca Tabu. Na terceira e ltima fase, como ps-otimizao, aplicado Reconexo por Caminhos a pares de solues elite produzidas durante a Busca Tabu. A fase GRASP-VND do algoritmo envolve dois estgios, construo e renamento, os quais so aplicados consecutivamente por vrias iteraes. No estgio de construo, uma soluo construda passo a passo, elemento por elemento. Para

26

decidir qual elemento deve ser inserido na soluo em construo feita uma lista restrita de candidatos (LRC) com os melhores elementos candidatos. Esses candidatos so avaliados segundo uma certa funo que leva em considerao os elementos j inseridos e os benefcios com a insero do elemento candidato. A seguir, um dos elementos da LRC escolhido de acordo com uma certa probabilidade, normalmente igual para todos da LRC. Terminado o estgio de construo, a soluo construda renada pelo procedimento VND. A vantagem do procedimento GRASP que ele combina uma caracterstica positiva dos mtodos construtivos puramente gulosos (a boa qualidade da soluo construda, facilitando o renamento), com uma caracterstica positiva dos procedimentos totalmente aleatrios (a diversicao do espao de busca). Como construir uma soluo para o PSUMAA um procedimento relativamente rpido, demandando pouco esforo computacional, e renar a soluo construda tem um alto custo computacional, prope-se fazer o renamento mais leve aps cada construo, seguido de um renamento mais pesado na melhor das solues construdas e renadas, na fase GRASP-VND do algoritmo. Na segunda fase, a soluo proveniente da fase GRASP-VND renada pelo procedimento metaheurstico Busca Tabu (Glover, 1986). A Busca Tabu um mtodo de otimizao, baseado em busca local, que admite solues de piora para escapar das armadilhas dos timos locais e utiliza uma estrutura de memria para no retornar solues j geradas. Em sua forma original, a cada iterao, da Busca Tabu, procura-se um timo local selecionando-se o melhor vizinho

da vizinhana

N (s)

da soluo corrente

s.

Independentemente de

f (s )

ser melhor ou pior que

f (s), s

ser sempre a nova soluo corrente.

Entretanto, este mecanismo, por si

s, no suciente para escapar de timos locais, uma vez que pode haver retorno a uma soluo previamente gerada. Para evitar isso, o algoritmo usa o conceito de lista tabu. Esta lista dene todos os movimentos executados, baseados em um certo atributo, como sendo tabu por um determinado nmero de iteraes, conhecido como tempo tabu (tabu

tenure ).

Tais movimentos so proibidos a menos que a soluo

satisfaa a um certo critrio de aspirao, em geral que essa soluo seja melhor que

27

a melhor soluo encontrada at ento. Os atributos so escolhidos para prevenir o retorno a solues visitadas recentemente e so escolhidos por caractersticas fceis de detectar. Por m, na terceira e ltima fase do algoritmo proposto, utilizado o procedimento de Reconexo por Caminhos (RC) como estratgia de ps-renamento. Proposto por Glover (1996), a RC uma estratgia de intensicao normalmente utilizada como ps-otimizao de uma soluo, ou renamento de timos locais obtidos durante a busca. Dado um par de solues, o objetivo da tcnica partir de uma delas, dita soluo base, e chegar outra, dita soluo guia, por meio da adio na soluo base de atributos da soluo guia. O algoritmo heurstico proposto, aps gerar uma sequncia de produo, utiliza um procedimento para program-la, isto , determinar as datas timas de inicio e trmino de cada tarefa na sequncia gerada. Esse procedimento est descrito na seo 4.2. A Figura 4.1 descreve o modelo de obteno da soluo para o PSUMAA abordado.

28

inicializao

sequencie as tarefas

programe a produo Soluo para o PSUMAA

no

critrio de parada satisfeito?

sim

pare

Figura 4.1: Metodologia heurstica de soluo para o PSUMAA

4.1

Modelo Matemtico

O modelo matemtico apresentado a seguir, relativo ao PSUMAA abordado, foi desenvolvido por Gomes Jr. et al. (2007), e aqui reproduzido. Nesse modelo so utilizadas duas tarefas ctcias, 0 (zero) e n + 1, de tal forma que a tarefa 0 antecede imediatamente a primeira operao e a tarefa n + 1 sucede imediatamente a ltima na sequncia de produo. Considera-se M uma constante de valor sucientemente grande, P0 e Pn+1 iguais a zero e S0i = 0 e
Si,n+1 = 0, i = 1, ..., n.

29

As variveis de deciso do modelo so:


si , representando a data de incio do processamento da tarefa i(si 0); ei , indicando o tempo de antecipao da tarefa i; ti , indicando o tempo de atraso da tarefa i e yij , uma varivel binria denida da seguinte forma: yij = 1, se a tarefa j sequenciada imediatamente aps a tarefa i; 0, caso contrrio.

O modelo de programao linear inteira mista de Gomes Jr. et al. (2007) denido pelas expresses (4.1) a (4.10), a seguir: minimizar:
n

(i ei + i ti )
i=1

(4.1)

sujeito a:
sj si yij (M + Sij ) Pi M
n

i = 0, 1, , n j = 1, 2, , n + 1 e i = j

(4.2)

yij = 1
i=0,i=j n+1

j = 1, 2, , n + 1 i = 0, 1, , n i = 1, 2, , n i = 1, 2, , n i = 0, 1, , n + 1 i = 1, 2, , n i = 1, 2, , n i, j = 0, 1, , n + 1

(4.3) (4.4) (4.5) (4.6) (4.7) (4.8) (4.9) (4.10)

yij = 1
j=1,j=i

si + Pi + ei Ei si + Pi ti Ti si 0 ei 0 ti 0 yij {0, 1}

30

A funo objetivo, representada pela equao (4.1), tem como critrio de otimizao a minimizao do custo total de antecipao e atraso. As restries (4.2) denem a sequncia de operaes na mquina utilizada, garantindo a existncia de um tempo suciente para completar uma tarefa i antes de se comear outra tarefa
j . Quando yij = 1, as restries (4.2) se reduzem a sj si + Sij + Pi , isto , a tarefa j s pode comear aps iniciada a tarefa predecessora i, processado-a e preparada

a mquina para executar a tarefa j . Quando yij = 0, as restries (4.2) se reduzem a sj si + Pi M , e portanto, so redundantes, pois M uma constante de valor arbitrariamente grande. As restries (4.4) e (4.3) garantem que cada tarefa tenha somente uma tarefa imediatamente antecessora e uma tarefa imediatamente sucessora, respectivamente. As restries (4.5) e (4.6) denem a quantidade de atraso e de antecipao de cada tarefa i. As restries (4.7) a (4.10) denem o tipo das variveis do problema.
4.2 Procedimento de Determinao das Datas timas de Incio de Processamento das Tarefas

Dada uma sequncia de tarefas, o procedimento de determinao das datas timas de incio de processamento (PDDOIP) determina a melhor data para se iniciar o processamento de cada tarefa, de acordo com a janela de entrega da mesma. O PDDOIP implementado o utilizado em Gomes Jr. et al. (2007), o qual foi baseado em Wan e Yen (2002) e Lee e Choi (1995), incorporando-se o tempo de preparao Sij ao tempo de processamento da tarefa j . Tal considerao pode ser feita uma vez que, para sua aplicao, a sequncia de produo conhecida. Sejam V a sequncia de tarefas dada e Ck a data de concluso do processamento da tarefa k . Suponha que um subconjunto de tarefas Bj = {J0 , J1 , ..., Jm }
V forme um bloco no sequenciamento, ou seja, as tarefas em Bj so sequencia-

das consecutivamente sem tempo ocioso entre elas. Alm disso, assuma que h l blocos em V e sejam prim(j) e ult(j) a primeira e a ltima tarefa no bloco Bj , respectivamente.

31

O processamento da primeira tarefa (J1 ) da sequncia V programado para ser nalizado na data EJ1 se PJ1 EJ1 ou iniciado na data 0 (nalizando na data
PJ1 ) se PJ1 > EJ1 .

As demais tarefas so programadas da seguinte forma:


Se CJk + S(Jk )(Jk+1 ) + PJk+1 < EJk+1 , ento a tarefa Jk+1 tem seu processamen-

to programado para ser nalizado na data EJ k+1 , isto , a tarefa Jk+1 tem seu processamento programado para ser nalizado no incio de sua janela de entrega, desta forma, iniciando um novo bloco.
Por outro lado, se CJk +S(Jk )(Jk+1 ) +PJk+1 EJk+1 , ento a tarefa Jk+1 tem seu

processamento programado para ser nalizado na data CJk + S(Jk )(Jk+1 ) + PJk+1 e includo como ltimo elemento do bloco corrente. Aps a determinao da data de concluso do processamento de cada tarefa, necessrio vericar o posicionamento dos blocos. O custo mnimo do bloco Bj ocorre nos pontos extremos de sua funo custo, isto , no incio ou no nal da janela de entrega de uma das tarefas no bloco. Por causa da natureza linear convexa por partes da funo custo, o custo mnimo pode ser facilmente obtido pela comparao dos somatrios das penalidades das tarefas no bloco, no incio e no nal de cada janela de entrega no bloco (penalidades por antecipao so consideradas negativas enquanto penalidades por atraso so consideradas positivas). Estes somatrios fornecem as inclinaes das retas (m) pertencentes funo custo. O custo mnimo do bloco Bj se d no ponto extremo onde a inclinao m torna-se maior ou igual a zero. Quando o ponto mnimo do bloco Bj encontrado, todo o bloco movido em direo ao ponto mnimo at que um dos trs casos seguintes acontea: 1. sprim(j) = 0. 2. O ponto mnimo alcanado. 3. sprim(j) torna-se igual a Cult(j1) + S(ult(j1))(prim(j)) .

32

No caso (3), o bloco Bj unido ao bloco Bj1 , resultando em um novo bloco Bj1 . Ento, o ponto mnimo do novo Bj1 deve ser obtido. O procedimento anterior deve ser realizado at que o caso (1) e (2) ocorram para cada bloco.
Proposio 1 (Wan e Yen, 2002)
- O custo total de uma dada sequncia de ta-

refas alcana seu valor timo se cada bloco mnimo, com exceo de

Bj

na sequncia alcanar seu ponto

sprim(1) ,

que pode ser igual a zero para o primeiro bloco.

Para exemplicar o mtodo, sero utilizados os dados da Tabela 2.6, apresentada na pgina 18 da seo 2.3, relativa a 4 tarefas. Dada a sequncia V = {3, 4, 1, 2}, a primeira tarefa da sequncia, tarefa 3, denotada por J1 , tem seu processamento programado para ser nalizado na data
E3 = 5, que representa o incio da sua janela de entrega. Para calcular as inclinaes m da reta que indica o ponto de mnimo do bloco para o primeiro elemento, a

penalidade por antecipao (3 = 7) assume valor negativo e a por atraso (3 = 14) assume valor positivo. A Figura 4.2 descreve o primeiro passo da programao de tarefas.

Figura 4.2: Programao das tarefas de um bloco na sequncia: 1o Passo A Figura 4.3 exemplica a programao da segunda tarefa da sequncia, tarefa J2 = 4, que tem sua concluso programada para ser nalizada no instante

33

C4 = 12, pois C3 + S34 + P4 > E4 . A inclinao m da reta, para instantes inferiores

a 4, dado por m = 7 8 = 15, momento que todas as tarefas se encontram adiantadas. Entre os instantes 4 e 1, somente a tarefa 3 est adiantada, portanto
m = 7. A partir do instante 2 as tarefas passam a car atrasadas, acarretando

em uma inclinao positiva. At o instante 3 somente a tarefa 4 est atrasada, sendo m = 16. Aps este instante as tarefas 3 e 4 tornam-se atrasadas, portanto
m = 14 + 16 = 30 a partir do instante 3.

Figura 4.3: Programao das tarefas de um bloco na sequncia: 2o Passo Na Figura 4.4 so apresentadas as tarefas 3 e 4 j programadas, e mostra-se como determinar a data de concluso do processamento da tarefa 1, os valores das inclinaes m e o ponto mnimo do bloco. At este momento, a tarefa J1 = 3 se inicia no instante 1 e a tarefa J2 = 4 no instante 7, ambos terminando dentro de sua janela de tempo. Como CJ2 + S(J2 )(J3 ) + PJ3 = 17 EJ3 = 3, ento CJ3 = C1 = 17, isto , a tarefa J3 = 1 deve ser concluda no instante 17 e iniciada no instante dado por sJ3 = s1 = 17 3 = 14. Neste caso, a tarefa 1 inserida como ltimo elemento do bloco corrente, conforme pode ser observado nesta gura. Conhecida a data de concluso da tarefa 1, deseja-se agora vericar a posio do bloco, para saber se ele est em seu ponto mnimo. Para isto, primeiramente, so determinadas as possveis datas de incio do processamento do bloco. Essas datas so obtidas posicionando

34

cada tarefa do bloco no incio e no nal de sua janela de entrega, pois como foi visto, o custo mnimo do bloco se d no incio ou no nal da janela de entrega de uma das tarefas no bloco.

Figura 4.4: Programao das tarefas de um bloco na sequncia: 3o Passo No exemplo mostrado, as possveis datas de incio do processamento do bloco so: 13, 11, 4, 1, 2 e 5. Determinadas as possveis datas de incio de processamento, calculam-se ento as inclinaes m de acordo com essas datas. No exemplo apresentado, se o processamento do bloco iniciar antes da data 13, ou seja, com todas as tarefas sendo antecipadas, ento a inclinao m dada pelo somatrio das penalidades por antecipao das tarefas 3, 4 e 1, portanto m = 789 = 24. Agora, se o processamento do bloco iniciar entre a data - 13 e - 11, a tarefa 1 deixa de estar antecipada, e a inclinao m passa a ser m = 7 8 = 15 (somatrio das penalidades por antecipao das tarefas 3 e 4). Entre a data - 11 e - 4 a tarefa 1 passa a estar atrasada, ento a inclinao m dada pelo somatrio das penalidades por antecipao das tarefas 3 e 4 e da penalidade por atraso da tarefa 1, ou seja,
m = 7 8 + 18 = 3. Este processo se repete at a ltima data. Gracamente,

este procedimento est representado na Figura 4.4. O ponto mnimo, o qual se deseja encontrar, se d no ponto aonde a inclinao m se torna maior ou igual a zero. No exemplo, esse ponto corresponde data 11. Determinado o ponto de mnimo, ento todo o bloco deve ser movido para a esquerda at que um dos trs casos citados anteriormente ocorra. No exemplo considerado, o bloco empurrado

35

at o caso (1) ocorrer, ou seja,

sprim(1) = 0

(Figura 4.5).

Figura 4.5: Programao das tarefas de um bloco na sequncia:

4o

Passo

O PDDOIP para uma sequncia de tarefas dadas descrito na Figura 4.6, onde o procedimento MudaBloco (Linha 26 da Figura 4.6) movimenta o bloco

Bj

at seu ponto de mnimo e, caso seja necessrio, combina-o com o bloco anterior.

36

2 3 4 5 6 7 8 9 10 11 12 13

Procedimento DetermineDatasOtimasInicio(n, v, f(v )) 1 incio


B1 prim(B) 1 ult(B) 1 s1 max{0, E1 P1 } C1 max{E1 , P1 } para i = 2 at n faa se (Ci1 + Pi + S(i1)(i) < Ei ) B B+1 prim(B) 1 ult(B) i si Ei Pi + S(i1)(i) Ci Ei

// Inicializao

// Demais Tarefas

ento

14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

seno se (Ci1 + Pi + S(i1)(i) = Ei ) ento


ult(B) i si Ci1 + S(i1)(i) Ci Ei ult(B) i si Ci1 + S(i1)(i) Ci si + Pi

seno

m m repita

at ((at todos os blocos estiverem no ponto mnimo) ou (sprim(1) = 0)) m retorna f (v) m
Figura 4.6: Procedimento PDDOIP

M udaBloco(B)

37

4.3
4.3.1

Modelo Heurstico
Representao de uma Soluo

Uma soluo do PSUMAA representada por um vetor v de n elementos, onde cada posio i = 1, 2, ..., n indica a ordem de produo da i-sima tarefa da sequncia. Assim, na sequncia v = {5, 3, 2, 1, 4, 6}, a tarefa 5 a primeira a ser realizada e a tarefa 6, a ltima.
4.3.2 Vizinhana de uma Soluo

Para explorar o espao de solues so utilizados trs tipos de movimentos: troca da ordem de processamento de duas tarefas da sequncia de produo, realocao de uma tarefa para outra posio na sequncia de produo e realocao de um bloco de k tarefas, 2 k n 2. Esses movimentos denem, respectivamente, as estruturas de vizinhana N T , N R e N Or . Dado um conjunto com n tarefas, h n(n 1)/2 vizinhos possveis na vizinhana N T . Por exemplo, a soluo v = {5, 4, 2, 1, 3, 6} um vizinho da soluo v na vizinhana N T , pois obtido pela troca da tarefa 3, que est na segunda posio de v , com a tarefa 4, que est na quinta posio de v , como pode ser visto na Figura 4.7.

Soluo v Soluo v

5 5

3 4

2 2

1 1

4 3

6 6

Figura 4.7: Movimento de troca - N T Na segunda estrutura de vizinhana, N R , h (n 1)2 vizinhos possveis. Por exemplo, a soluo v = {5, 2, 1, 4, 3, 6} vizinha de v na vizinhana N R , pois obtida pela realocao da tarefa 3 para depois da tarefa 4 na sequncia de produo
v , conforme exemplicado na Figura 4.8.

38

Soluo

v v

Soluo

Figura 4.8: Movimento de realocao J na terceira estrutura de vizinhana, veis. Por exemplo, a soluo

NR
vizinhos poss-

N Or ,

(n k 1)2 v

v = {5, 2, 1, 4, 3, 6}

vizinha de

na vizinhana

N Or , NR

pois obtida pela realocao do bloco de tarefas 5 e 3, com tarefa 1 na sequncia de produo e

k = 2,

para depois da

v,

mostrado na Figura 4.9. Nas vizinhanas

N Or

so permitidos movimentos para posies sucessoras ou antecessoras quela

em que a tarefa se encontra na sequncia de produo.

Soluo

v v

Soluo

Figura 4.9: Movimento de realocao de um bloco -

N Or

4.3.3

Funo de Avaliao

Uma soluo

avaliada pela funo

f
n

a seguir, a qual deve ser minimizada:

f (v) =
i=1

(i ei + i ti )

(4.11)

em que ei e ti da tarefa

(ei , ti 0) indicam, respectivamente, o tempo de antecipao e atraso


e

so as penalidades respectivas.

Para determinar as datas timas de incio de processamento das tarefas da

39

sequncia dada e, consequentemente, determinar os valores o procedimento PDDOIP de Gomes Jr.


et al.

ei

e ti acima, utiliza-se

(2007).

Como os movimentos adotados no geram solues inviveis, pode-se observar que a funo de avaliao

a prpria funo objetivo do PLIM.

4.3.4

Gerao da soluo inicial

A soluo inicial gerada por um procedimento que combina GRASP (Feo e Resende, 1995) com Descida em Vizinhana Varivel (Variable
Neighborhood Descent

VND) (Mladenovi e Hansen, 1997). A Figura 4.10 esquematiza esse procedimento.

2 3 4 5 6 7 8 9

Procedimento GRASP-VND(v, , GRASPmax, MRDmax ) 1 incio para i=1 at


Escolha

GRASPmax

10 11 12 13 14

m m
v

v Constroi_Solucao_GRASP( ) v VND1 (v, MRDmax) se (f (v ) < f ) ento f f (v ) v v

faa

retorna v m

VND2 (v , MRDmax)

Figura 4.10: Procedimento GRASP-VND aplicado ao PSUMAA Na fase de construo (Linha 5 da Figura 4.10), uma soluo formada gradativamente, sendo que a cada passo adicionada uma nica tarefa sequncia. Para se escolher a tarefa a ser adicionada feita uma lista de candidatos (LC) com todas as tarefas ainda no sequenciadas. Essas so ordenadas pela data de incio da janela de entrega de cada tarefa, sendo a com a data mais cedo (Emin ) a primeira da lista e a de data mais tarde (Emax ) a ltima, tal como na heurstica EDD (Earliest
Due Date )

(Baker e Scudder, 1990).

A partir de LC formada uma lista restrita de candidatos (LRC), com

40

as tarefas melhor classicadas segundo o critrio da data de incio da janela de entrega das tarefas. O tamanho dessa lista restrita de candidatos denido por um parmetro [0, 1], escolhido em um conjunto , tal como em Gomes Jr.
et al.

(2007). Fazem parte da LRC todas as tarefas i cujas datas Ei sejam menores ou iguais Emin +(Emax Emin ). A seguir, escolhida aleatoriamente uma tarefa dessa lista, sendo a mesma adicionada soluo parcial. A fase de construo encerrada quando todas as tarefas forem alocadas. Este procedimento apresentado na Figura 4.11.

Procedimento Constroi_Solucao_GRASP(v, ) 1 incio


2 3 4 5 6 7 8 9 10 11 12 13

Inicialize o conjunto LC de tarefas candidatas

enquanto (LC = ) faa


Emin = min {Ei }
i LC i LC

Emax = max {Ei } LRC = {i LC | Ei Emin + (Emax Emin )} Selecione, aleatoriamente, uma tarefa i LRC v v {i} Atualize o conjunto LC de tarefas candidatas

m retorna v m

Figura 4.11: Procedimento Constroi_Solucao_GRASP aplicado ao PSUMAA Na fase de renamento do procedimento GRASP-VND (Linha 6 da Figura 4.10) aplicado o procedimento VND1 (Figura 4.12) a cada soluo construda. Essa heurstica de renamento explora o espao de solues usando as vizinhanas N R e
N T , nesta ordem. Inicialmente feita uma descida randmica usando-se movimentos

de realocao. Para tanto, escolhida aleatoriamente uma tarefa e uma posio para inser-la. Se esta nova sequncia produzir uma soluo com um valor menor para a funo de avaliao, a nova sequncia aceita e passa a ser a soluo corrente; caso contrrio, testada outra realocao aleatria. A fase de realocao termina quando houver MRDmax iteraes consecutivas sem melhora na funo de avaliao. Nesta ltima situao, passa-se a fazer movimentos de troca, tambm de forma aleatria.

41

Se for produzida uma soluo global de melhor qualidade, interrompe-se esta fase e volta-se para a fase de realocao; caso contrrio, prosseguem-se com as trocas. O procedimento encerrado quando no houver melhora na soluo global nem com movimentos de realocao nem com movimentos de troca.

3 4 5 6 7 8 9 10 11 12

Procedimento VND1 (v, MRDmax ) 1 incio 2 enquanto (melhorou) faa

melhorou f also iter 0 enquanto (iter M RDmax)

Encontre um vizinho aleatrio v N R (v)

faa

se (f (v ) < f (v)) ento

m

v v melhorou verdadeiro iter 0

13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

m se (melhorou) ento
iter 0

iter = iter + 1

enquanto (iter M RDmax) faa se (f (v ) < f (v)) ento


v v

Encontre um vizinho aleatrio v N T (v) Interrompa esta fase e volte para a fase de realocao

m m m m retorna v m

iter = iter + 1

Figura 4.12: Procedimento VND1 aplicado ao PSUMAA Deve-se observar que a soluo resultante desta busca no necessariamente um timo local com relao s vizinhanas consideradas, visto que a vizinhana completa no analisada a cada iterao. Em virtude desse fato, decorridas GRASPmax iteraes, a melhor das solues obtidas submetida a novo renamento (Linha 12 da Figura 4.10), desta vez pelo procedimento VND2 . Este procedimento consiste

42

em explorar o espao de solues usando-se, alm dos movimentos tradicionais de realocao e troca, tambm o movimento Or descrito na Subseo 4.3.2. No procedimento VND2 , a busca feita de acordo com a seguinte estratgia de explorao do espao de busca:

1. descida randmica com movimentos de realocao; 2. descida randmica com movimentos de troca; 3. descida randmica com movimentos Or de realocao de um bloco de (2

k tarefas

k 3);

4. descida completa com movimentos de realocao; 5. descida completa com movimentos de troca; 6. descida completa com movimentos Or de realocao de um bloco de (2

tarefas

k n 2).
Nas descidas com realocao de um bloco de

tarefas,

assume inicial-

mente seu valor mais baixo. Havendo alguma melhora, passa-se para a primeira estratgia; caso contrrio,

aumentado progressivamente at atingir seu valor m-

ximo. Em todas as descidas randmicas para-se quando houver MRDmax iteraes sem melhora. Observa-se que o procedimento VND2 retorna um timo local com respeito s vizinhanas

N R, N T

N Or .

4.3.5

Busca Tabu aplicada ao PSUMAA

O procedimento Busca Tabu (Tabu Search - TS ), (Glover e Laguna, 1997) implementado comea sua execuo partindo de uma soluo inicial gerada pelo procedimento GRASP-VND. A cada iterao todos os vizinhos desta soluo so avaliados, sendo escolhido o melhor deles que no seja tabu ou, se tabu, satisfaa a condio de aspirao, no caso, de o vizinho gerar um valor melhor que o da melhor soluo at ento. A explorao da vizinhana feita tendo por base as estruturas de vizinhana

NT

N R,

alternando-as a cada iterao, isto , na primeira iterao explora-se o

43

melhor vizinho com movimentos de troca, na segunda iterao com movimentos de realocao e assim por diante. O objetivo de se vericar se o movimento tabu ou no, evitar ciclos de solues recentemente visitadas. Quando um vizinho v N T (v) N R (v) escolhido, ele se torna a soluo corrente, independentemente de ele ser melhor ou pior que a soluo corrente e um atributo que caracterize esta soluo inserido em uma lista tabu T , proibindo o retorno a ele durante um prazo. Dada a troca entre uma tarefa i e uma tarefa j (i < j ), o atributo que inserido na lista tabu a subsequncia (tarefa i, tarefa sucessora de i da soluo v ). No caso de realocao de uma tarefa i para frente (realocao progressiva), o movimento tabu a subsequncia (tarefa i, sucessor da tarefa i na soluo v ); caso a realocao seja para trs (realocao regressiva) o movimento tabu a subsequncia (tarefa antecessora a i na soluo v , tarefa i). A lista tabu limitada a |T | elementos. Quando ela est completa, o elemento mais antigo retirado da lista, e aquele recentemente obtido inserido, tal como em uma la (FIFO). Para mostrar o funcionamento da lista tabu, considere a sequncia v =
{5, 3, 2, 1, 4} e um movimento envolvendo a troca da tarefa 5 com a tarefa 1. O

resultado a sequncia vizinha v = {1, 3, 2, 5, 4}, sendo na lista tabu T includa a subsequncia formada por (tarefa 5, tarefa subsequente a 5 na sequncia v ), isto ,
T T (5, 3).

J para o movimento de realocao, considere primeiro a realocao da tarefa 5 para depois da tarefa 1, resultando a sequncia vizinha v = {3, 2, 1, 5, 4}, sendo adicionada na lista tabu T a subsequncia formada por (tarefa 5, tarefa subsequente a 5 na sequncia v ), ou seja, T T (5, 3). Agora considere que o movimento de realocao seja realocar a tarefa 1 para antes da tarefa 5, que resultar na soluo vizinha v = {1, 5, 3, 2, 4}, sendo que o movimento tabu armazenado, neste caso, ser a subsequncia formada por (tarefa antecessora a 1, tarefa 1 na sequncia v ), isto , T T (2, 1). Sempre que h melhora na soluo global, aplicado o procedimento VND2 descrito na Subseo 4.3.4. Caso ele seja bem sucedido, a lista tabu inicializada

44

novamente, j que se muda a regio do espao de busca onde a explorao est sendo feita. O procedimento Busca Tabu encerrado quando forem realizadas iteraes sem melhora na soluo global. O pseudocdigo da Busca Tabu est descrito na Figura 4.13. A atualizao do Grupo Elite (GE), linhas 11 e 18 da Figura 4.13, feita de acordo com a Subseo 4.3.6.

T Smax

Procedimento TS(v, |T|, divElite, GE, TSmax, MRDmax ) 1 incio


2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

// Iterao mais recente que forneceu v T // Lista Tabu GE // Grupo Elite enquanto (Iter MelhorIter TSmax) faa Iter Iter + 1 Seja v v m o melhor elemento de V N (v) (N = N T se Iter for mpar e N = N R se Iter for par) tal que o movimento m no seja tabu (m T ) ou, se tabu, v atenda a condio de aspirao f (v ) < f (v ) / Atualize a Lista Tabu T
MelhorIter

v v Iter 0

// Melhor Soluo

Atualize o Grupo Elite

GE

v v se f (v) < f (v ) ento v1 VND2 (v, MRDmax) se (f (v1 ) < f (v)) ento v v1 T

m m m
v v

Atualize o Grupo Elite

GE

v v
MelhorIter

Iter

retorna v m
Figura 4.13: Procedimento Busca Tabu aplicado ao PSUMAA

45

4.3.6

Reconexo por Caminhos

Reconexo por Caminhos (Path

Relinking

- PR), proposto por Glover (1996),

uma estratgia de intensicao normalmente utilizada como ps-otimizao de uma soluo, ou renamento de timos locais obtidos durante a busca. Dado um par de solues, o objetivo da tcnica partir de uma delas, dita soluo base, e chegar outra, dita soluo guia, por meio da adio na soluo base de atributos da soluo guia. No algoritmo proposto, a Reconexo por Caminhos utilizada como ferramenta de ps-renamento aplicada aps a execuo da Busca Tabu (BT). Para tanto, durante a explorao do espao de busca pelo procedimento BT gerado um conjunto de solues, conhecido como Grupo Elite (GE), que utilizado pelo procedimento PR. Para fazer parte desse grupo, cada soluo candidata deve satisfazer a um dos dois seguintes critrios: 1. ser melhor que a melhor das |GE| solues do grupo elite; 2. ser melhor que a pior das |GE| solues do grupo elite e se diferenciar delas de determinado percentual dos atributos, dado por divElite. O atributo considerado o par de tarefas i e j consecutivas. Assim, por exemplo, dadas as sequncias v1 = {1, 4, 3, 2, 5, 6} e v2 = {5, 3, 2, 1, 4, 6}, elas tm 40% de atributos iguais, a saber, as subsequncias (1, 4) e (3, 2). O objetivo desta estratgia evitar a incluso de solues similares no grupo elite. Estando o grupo elite j formado, quando uma soluo entra, a de pior avaliao sai. O procedimento PR foi implementado como segue. Para cada par de solues elite, caminha-se de forma bidirecional, isto , tanto da pior soluo para a melhor (dita Reconexo por Caminhos Progressiva -

Forward Path Relinking ),

quanto da melhor para a pior soluo (dita Reconexo por Caminhos Regressiva -

Backward Path Relinking ).


Determinadas as solues base e guia, o procedimento executado inserindose gradativamente um atributo da soluo guia na soluo base. Por exemplo, dada

46

a soluo guia = {5, 3, 2, 1, 4, 6}, a cada iterao insere-se um par de tarefas consecutivas desta soluo, a saber, (5, 3), (3, 2), (2, 1), (1, 4), (4, 6), na soluo base. Cada par inserido na ordem em que aparece na soluo guia. Aps cada insero, as tarefas da soluo base que foram substitudas saem da posio que ocupavam e assumem as posies daquelas que entraram. A soluo base sofre, ento, uma busca local, no caso, uma descida randmica usando os movimentos de troca e realocao, tal como descrito na Subseo 4.3.4 onde se xam os atributos da soluo guia que j foram incorporados soluo base. A cada iterao, a soluo base recebe todos os atributos ainda no incorporados da soluo guia, um de cada vez, gerando uma nova sequncia para cada atributo especco da soluo guia. Ao nal da iterao, o atributo inserido que produziu a melhor soluo aps a busca local incorporado em denitivo soluo base, se tornando xo. O procedimento se encerra quando a soluo guia alcanada, isto , quando a soluo base passa a ter todos os atributos da soluo guia. Para ilustrar o funcionamento do procedimento, mostrado, a seguir, um exemplo no qual a soluo guia a sequncia {5, 3, 2, 1, 4, 6} e a soluo base {2, 6, 5, 1, 4, 3}. Passo 1: O objetivo neste passo avaliar a insero, na soluo base, de cada um dos 5 pares de subsequncias existentes da soluo guia, {(5, 3), (3, 2), (2, 1), (1, 4), (4, 6)}, na ordem em que aparecem e vericar qual insero traz o melhor resultado segundo a funo de avaliao. Para tanto, procede-se como segue: Passo 1.1) Inserir as tarefas 5 e 3 do par (5, 3) nas duas primeiras posies da soluo base. Para tanto, a tarefa 5 ocupar a primeira posio da soluo base, onde est a tarefa 2. Esta, por sua vez, sair da primeira posio e ir para a terceira posio, onde est a tarefa 5, resultando na sequncia {5, 6, 2, 1, 4, 3}. A seguir, inserida a tarefa 3 na segunda posio da sequncia base. Como nesta posio est a tarefa 6, esta se deslocar para a ltima posio, onde est localizada a tarefa 3. Aps esta insero obtm-se a sequncia {5, 3, 2, 1, 4, 6}. Passo 1.2) Inserir as tarefas 3 e 2 do par (3, 2) na segunda e terceira posio, respectivamente, da soluo base. Para tanto, a tarefa 3 passar a ocupar a segunda

47

posio da soluo base, onde est a tarefa 6. Esta, por sua vez, sair da segunda posio e ir para a ltima, onde est a tarefa 3, resultando na sequncia {2, 3, 5, 1, 4, 6}. A seguir, inserida a tarefa 2 na terceira posio da sequncia base. Como nesta posio est a tarefa 5, esta se deslocar para a primeira posio, onde est localizada a tarefa 2. Aps esta insero obtm-se {5, 3, 2, 1, 4, 6}. Passo 1.3) Inserir as tarefas 2 e 1 da subsequncia (2, 1) na terceira e quarta posio, respectivamente, da soluo base e prosseguir como anteriormente. Passo 1.4) Inserir as tarefas 1 e 4 da subsequncia (1, 4) na quarta e quinta posio, respectivamente, da soluo base e prosseguir como nos passos 1.1 e 1.2. Passo 1.5) Inserir as tarefas 4 e 6 da subsequncia (4, 6) na quinta e sexta posio, respectivamente, da soluo base e prosseguir como nos passos 1.1 e 1.2. Duas estratgias de busca local foram consideradas. Na primeira, a cada insero faz-se uma busca local com o procedimento VND3 descrito adiante e a insero que produzir o melhor resultado para a funo de avaliao, dentre os passos 1.1 a 1.5, realizado. Na segunda estratgia, cada insero avaliada e apenas aquela que melhorara valor da funo de avaliao submetida a renamento pelo procedimento VND3 . Este procedimento consiste em uma Descida Randmica usando movimentos de troca seguida de Descida Completa com movimentos de realocao. Neste procedimento, sempre que a Descida Completa com movimentos de realocao produzir uma soluo de melhora, retorna-se Descida Randmica com movimentos de troca. Durante a aplicao do VND3 proibida qualquer movimentao das tarefas da soluo guia que foram inseridas. Por exemplo, se a sequncia do Passo 1 resultar em melhor valor para a funo de avaliao, as tarefas 5 e 3 no podem movimentar-se. Assim, ter-se- inserido na soluo base um atributo da soluo guia. A insero dos demais atributos segue um procedimento semelhante, adicionando-se o fato de que durante a busca local, no somente o par recentemente inserido xado, mas todos os demais pares de subsequncias da soluo guia j inseridos tambm permanecem xos. Toda vez que o procedimento PR gera uma soluo melhor que a melhor

48

do grupo elite, a insero de atributos interrompida, o grupo elite atualizado e o processo reiniciado com a aplicao da Reconexo por Caminhos envolvendo a melhor soluo e as demais do Grupo Elite. Se encerradas as inseres dos atributos, o procedimento tiver gerado uma soluo melhor que a pior, satisfazendo aos critrios de diversidade estabelecidos anteriormente, o grupo elite atualizado com a sada de seu pior elemento. Neste caso, tambm aplica-se a Reconexo por Caminhos

envolvendo a soluo alterada e as demais do Grupo Elite. O procedimento termina aps a Reconexo ser aplicada a todos os pares de soluo elite e no houver alterao na melhor soluo. Neste caso, retorna-se a melhor soluo encontrada, bem como o conjunto elite. O pseudocdigo do mtodo de Reconexo por Caminhos ( na Figura 4.14.

PR ) est descrito

49

2 3 4 5 6

Procedimento PR(v, divElite, GE ) 1 incio


f P

enquanto (Critrio de parada no atingido) faa


Corrente Guia

// Lista que armazena solues usadas no processo


Melhor soluo do grupo elite

Soluo escolhida aleatoriamente de

GE ,

que no esteja

presente em

7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

P P

enquanto (Corrente = Guia) faa

{Guia }

melhorAresta melhorV alor para j = 1 at total de arestas da soluo guia faa v Corrente {aresta j da soluo guia} v BuscaLocal(v) se (f (v ) < melhorV alor) ento melhorAresta j melhorV alor f (v ) se (melhorV alor < f ) ento v v melhorV alor f Corrente Corrente {aresta melhorAresta

da

m m m

soluo guia}

m se (melhorV alor ento m m


v v

v Corrente

{aresta

melhorAresta

da soluo guia}

melhor que a pior soluo elite e a soluo

associada diferencia das demais solues do grupo elite em

divElite%)

27 28 29 30 31 32

Atualize o grupo elite inserindo a soluo corrente no grupo elite e elimine a pior soluo do grupo elite

retorna v e GE m
Figura 4.14: Procedimento PR aplicado ao PSUMAA

50

4.3.7

Algoritmo GTSPR

O algoritmo proposto, denominado GTSPR, possui trs fases e combina caractersti-

Variable Neighborhood Descent (VND), Busca Tabu (Tabu Search ) e Reconexo por Caminhos (Path Relinking ). Seu pseudocdigo
cas dos procedimentos GRASP, apresentado na Figura 4.15.

2 3 4 5 6

Algoritmo 7: 1 incio

GTSPR( ,

GRASPmax, MRDmax )

m

v0 GRASP-VND(v, , GRASPmax, MRDmax) v1 TS(v0 , |T |, TSmax, divElite, GE, MRDmax) v PR(GE, divElite, MRDmax) retorna v
Figura 4.15: Algoritmo GTSPR

51

Captulo 5 Resultados Computacionais


Neste captulo so apresentados, na seo 5.1, os problemas-teste utilizados para avaliar os modelos exato e heurstico desenvolvidos no captulo 4. A calibrao e os parmetros dos mtodos heursticos so apresentados na seo 5.3. Por m, os resultados computacionais obtidos com a aplicao dos modelos exato e heurstico so apresentados e discutidos, respectivamente, nas sees 5.2 e 5.4.
5.1 Problemas-teste

Para testar o algoritmo proposto foram utilizados os mesmos problemas-teste usados em Gomes Jr. et al. (2007). Essa base de dados envolve nmero de tarefas igual a 8, 9, 10, 11, 12, 15, 20, 25, 30, 40, 50 e 75, e foram geradas por estes autores utilizando os mesmos parmetros adotados em Wan e Yen (2002), Liaw (1999) e Mazzini e Armentano (2001). Nessa base de dados os tempos de processamento Pi das tarefas so nmeros inteiros entre 1 e 100, enquanto os centros das janelas de entrega esto distribudos no intervalo [(1 TF RDD/2)/M S , (1 TF + RDD/2)/MS], sendo MS o tempo total de processamento de todas as tarefas, TF o fator de atraso e RDD a variao relativa da janela de entrega. Os valores de TF so 0,1; 0,2; 0,3 e 0,4 enquanto que para RDD so 0,8; 1,0 e 1,2. Os tamanhos das janelas de entrega so inteiros no intervalo [1, MS/n]. Os custos por atraso da produo (i ) so nmeros inteiros no intervalo [20, 100],

52

enquanto que os custos por antecipao da produo (i) so k vezes o custo por atraso da mesma tarefa, sendo k um nmero real aleatrio no intervalo [0, 1]. Essa ltima considerao feita tendo em vista que o atraso da produo menos desejvel do que a sua antecipao na maioria dos casos reais. Os tempos de preparao da mquina (Sij ) so nmeros inteiros no intervalo [0, 50] e so simtricos, ou seja, Sij = Sji. Todas as distribuies so uniformes. Considerando-se os diferentes valores de TF e RDD, h 144 problemas-teste no total, sendo 12 para cada nmero de tarefas.
5.2 Resultados do PLIM

Para realizao dos experimentos computacionais do modelo matemtico apresentado na Seo 4.1, o modelo foi implementado usando a ferramenta de modelagem AMPL e resolvido pelo software de otimizao CPLEX, verso 9.0 da ILOG. Foram resolvidos os problemas-teste de dimenses menores, no caso, de 8 a 12 tarefas, uma vez que acima deste nmero de tarefas o otimizador parava por estouro de memria. Os resultados encontrados so apresentados na Tabela 5.1. Nesta tabela, a primeira coluna apresenta o nmero de tarefas do conjunto de problemas-teste, a segunda coluna apresenta o tempo computacional mdio gasto para se chegar soluo tima e a ltima coluna apresenta o percentual de solues timas encontradas dentro dos 12 problemas-teste relativos a cada nmero de tarefas. Considerou-se como critrio de parada, para obteno de uma soluo tima, um tempo limite de 3600 segundos. Tabela 5.1: Resultados do PLIM Nmero de Tempo mdio de Percentual de Solues tarefas processamento (s) timas Encontradas (%) 8 1,14 100,00 9 24,13 100,00 10 55,29 100,00 11 1.519,30 75,00 12 1.869,55 58,33

53

5.3

Calibrao e Parmetros do Mtodo Heurstico

O algoritmo heurstico proposto foi desenvolvido na linguagem C++, utilizando o ambiente NetBeans 6.5 e o compilador MinGW (GCC 4.2.1). Todos os experimentos foram realizados em um computador Pentium Core 2 Quad (Q6600) 2,4 GHz com 4 GB de memria RAM e sistema operacional Windows XP. Apesar de o processador deste equipamento possuir 4 ncleos, o algoritmo desenvolvido no foi otimizado para multiprocessamento. Cada problema-teste foi executado 30 vezes. Os parmetros do algoritmo foram calibrados em uma bateria inicial de testes. A exceo foi o conjunto de valores da fase de construo GRASP, que foi o mesmo adotado por Gomes Jr. et al. (2007). Todos os testes de calibrao foram feitos usando-se um problema-teste de porte mdio, de 25 tarefas, com 10 execues. Calibrado um parmetro, este era xado na calibrao dos parmetros subsequentes. O primeiro parmetro a ser calibrado foi o nmero mximo de iteraes GRASP, GRASP max. O grco da Figura 5.1 apresenta os valores da funo objetivo (F o), para o problema-teste adotado, variando-se o valor de GRASP max de 1 a 30. possvel observar que para GRASP max superior a 20, praticamente no h alterao do valor de F o.
65 64 63 62 61 60 59 58 57 1 2 3 4 5 6 7 8 9 10 12 15 20 25 30

F o(1000)

GRASP max

Figura 5.1: Calibrao do parmetro GRASP max em funo de F o J o grco da Figura 5.2 apresenta o tempo computacional, em segundos, gasto para resolver o problema. possvel observar que o tempo cresce linearmente ao se variar o valor de GRASP max.

54

3.5

Tempo (s)

2.5 2

1.5 1.0 0.5

10

12

15

20

25

30

GRASP max

Figura 5.2: Calibrao do parmetro GRASP max em funo do tempo Ao selecionar o valor de GRASP max, foram adotados dois valores, o primeiro, chamado de principal, foi adotado o valor GRASP max = 20, pois a partir deste ponto o valor de F o permanece, praticamente, constante. Para o segundo valor, chamado de secundrio, deu-se prioridade ao tempo de resposta do mtodo com uma boa soluo, sendo o valor adotado GRASP max = 6, pois este apresenta um bom valor para F o, com um baixo tempo computacional. Para GRASP max = 20, por exemplo, obtm-se uma melhora na soluo inferior a 5% mas, em contrapartida, dobra-se o esforo computacional. O prximo parmetro calibrado foi o nmero mximo de iteraes sem melhora dos procedimentos de Descida Randmica (M RDmax). Neste teste de calibrao, os valores de M RDmax foram variados em funo de n, onde n o nmero de tarefas do problema, de 1n a 10n. A Figura 5.3, apresenta os testes em funo de F o e a Figura 5.4 em funo do tempo. O valor adotado foi M RDmax = 7 n, visto que a partir deste ponto o valor de F o permanece, praticamente, constante.
65 64

F o(1000)

63 62 61 60 59

10

M RDmax

Figura 5.3: Calibrao do parmetro M RDmax em funo de F o Assim como os parmetros do GRASP, foram calibrados os parmetros da 55

3.5

Tempo (s)

3 2.5 2 1.5 1.0 0.5

10

M RDmax

Figura 5.4: Calibrao do parmetro M RDmax em funo do tempo Busca Tabu, T Smax, nmero mximo de iteraes sem melhora da Busca Tabu, e
|T |, tamanho mximo da Lista Tabu.

Os grcos das Figuras 5.5 e 5.6 apresentam os testes de calibrao do parmetro T Smax, em funo do valor de F o e do tempo, respectivamente. possvel observar que o valor de F o reduz gradativamente para valores de T Smax entre 1 n e 4 n; a partir deste ponto, F o praticamente permanece constante. Assim como em GRASP max foram adotados dois valores, o principal foi T Smax =
4 n. O valor secundrio selecionado para este parmetro foi T Smax = 2 n.

A justicativa deveu-se ao tempo computacional requerido por T Smax = 4 n que produziu soluo de melhor qualidade, mas requereu o dobro de tempo daquele demandado por T Smax = 2 n para um ganho de cerca de 2%.
F o(1000)
58 57 56 55

10

T Smax

Figura 5.5: Calibrao do parmetro T Smax em funo de F o Outro parmetro do mtodo Busca Tabu calibrado foi o tamanho da lista tabu, |T |. Os grcos das Figuras 5.7 e 5.8 apresentam os testes de calibrao do mesmo. Pelo grco da Figura 5.7 possvel observar que para valores de |T | entre
2 n e 8 n, o valor de F o praticamente constante. O grco mostra, ainda,

56

11

Tempo (s)

9 7 5 3 1 1 2 3 4 5 6 7 8 9 10

T Smax

Figura 5.6: Calibrao do parmetro T Smax em funo do tempo que para valores muito grandes de |T |, no caso, acima de 8 n, os movimentos permitidos cam restritos porque o valor da funo objetivo se degrada. De acordo com o grco da Figura 5.8 pode-se observar que o tempo de processamento no sofre inuncia signicativa do tamanho da lista tabu. Assim, adotou-se |T | = 2n.
F o(1000)
57.5 57 56.5 56

10

|T |

Figura 5.7: Calibrao do parmetro |T | em funo de F o Tempo (s)

7 6 5

10

|T |

Figura 5.8: Calibrao do parmetro |T | em funo do tempo Por m, foram calibrados os parmetros do mtodo Reconexo por Caminhos. O tamanho mximo do Grupo Elite, |GE| e o percentual mnimo de diversicao entre os membros do Grupo Elite, divElite. Os grcos das Figuras 5.9 e 5.10 mostram os valores de F o e o tempo de processamento, respectivamente, para a calibrao do parmetro |GE|. Levando-se em considerao estes grcos, foi adotado |GE| = 5.

57

F o(1000)

57.5 57 56.5 56

10

|GE|

Figura 5.9: Calibrao do parmetro |GE| em funo de F o Tempo (s)


8 7 6

10

|GE|

Figura 5.10: Calibrao do parmetro |GE| em funo do tempo Os grcos das Figuras 5.11 e 5.12 detalham os valores de F o e o tempo de processamento, respectivamente, para a calibrao do parmetro divElite. Por anlise semelhante a dos casos anteriores foi adotado divElite = 40%.
59

F o(1000)

58 57 56 55

10

20

30

40

50

60

70

80

90

100

divElite(%)

Figura 5.11: Calibrao do parmetro divElite em funo de F o Os parmetros adotados a partir dos testes de calibrao esto sintetizados na Tabela 5.2, onde n representa o nmero de tarefas. Nesta tabela, a segunda coluna apresenta os valores que geraram os melhores resultados nos testes de calibrao. J a terceira coluna apresenta os valores para os parmetros GRASPmax

TSmax que obtiveram resultados satisfatrios, porm com

um esforo computacional bem inferior.

58

Tempo (s)

8 7 6 10 20 30 40 50 60 70 80 90 100

divElite(%)
Figura 5.12: Calibrao do parmetro

divElite

em funo do tempo

Tabela 5.2: Parmetros do Algoritmo GTSPR - Soluo Completa Parmetro Valores Principais {0; 0,02; 0,04; 0,12; 0,14} 20 Valores Secundrios {0; 0,02; 0,04; 0,12; 0,14} 6

divElite
5.4

|T | |GE|

GRASPmax MRDmax TSmax

7n 4n 2n
5 0,4

7n 2n 2n
5 0,4

Resultados do Algoritmo Heurstico

Os resultados encontrados nos experimentos computacionais esto sintetizados nas Tabelas 5.3 e 5.4, onde a primeira coluna indica o nmero de tarefas do problema, e a cada conjunto de trs colunas apresentada a contribuio de cada fase do algoritmo GTSPR no esforo de minimizao da funo de avaliao

f.

A coluna

Fase GRASP-VND diz respeito fase de obteno da soluo inicial, a coluna Fase TS fase de renamento por Busca Tabu e a coluna Fase PR, fase de ps-otimizao por Reconexo por Caminhos. As colunas Tempo dizem respeito ao tempo mdio de processamento acumulado, em segundos. Para cada fase do algoritmo so aplicadas duas medidas de desempenho, dadas pelas equaes (5.1) e (5.2). Nestas equaes, para cada problema-teste grupo,

do

fiGT SP R

representa o melhor valor encontrado pelo algoritmo proposto,

fiGJr

o melhor valor encontrado por Gomes Jr. soluo conhecida e

et al. (2007), fi

o valor da melhor

fiGT SP R

o valor mdio encontrado pelo algoritmo proposto nas problema-teste.

diversas execues para o

i-simo

59

impi

best

f GJr fiGT SP R = i fiGJr

(5.1)

gapavg = i

fiGT SP R fi fi

(5.2)

Na primeira medida de desempenho, verica-se o quanto o algoritmo proposto superou o melhor resultado de Gomes Jr. et al. (2007). Para tanto, para cada problema-teste, aplica-se a equao (5.1) e apresenta-se nas Tabelas 5.3 e 5.4, para cada fase do algoritmo, a mdia percentual desses valores para cada grupo de problemas-teste com mesmo nmero de tarefas. Na segunda medida de desempenho, utilizada a equao (5.2) para calcular o desvio das solues mdias do algoritmo em relao s melhores solues existentes. Nesta medida, quanto menor o desvio (gap ), menor a variabilidade das solues nais e mais robusto o algoritmo. Nas Tabelas 5.3 e 5.4 so apresentadas, para cada fase do algoritmo, as mdias percentuais dos valores dos desvios mdios para cada grupo de problemas-teste. A Tabela 5.3 apresenta os resultados adotando-se os parmetros principais dos testes de calibrao utilizando-se a primeira estratgia da Reconexo por Caminhos, isto , aplicar a busca local VND3 a cada insero e escolher a insero que produzir o melhor resultado. Pela Tabela 5.3 possvel observar que para problemas com at 20 tarefas, apenas a fase GRASP-VND do algoritmo suciente para encontrar as melhores solues, com um desvio mdio de at 1,94%. Nesses problemas-teste, o desvio mdio reduzido na fase TS, cando em at 0,99%, enquanto que essa variabilidade das solues nais reduzida para um mximo de 0,64%, na mdia, com a fase PR. Para problemas com 25 a 50 tarefas, observa-se que a fase GRASP-VND retorna resultados piores que os de Gomes Jr. et al. (2007). Entretanto, a fase TS consegue reduzir essa diferena e melhorar os resultados destes autores para todos os problemas-teste desta classe. Com a fase PR, as melhores solues de Gomes Jr.
et al. (2007) para os problemas-teste de 25 e 30 tarefas so encontradas, enquanto que

60

Tabela 5.3: Comparao de resultados de cada fase do algoritmo GTSPR Gomes Jr. et al. (2007) CPLEX (Parmetros Principais)
#
Tar. imp

Fase GRASP-VND best avg (1)

%
8 9 10 11 12 15 20 25 30 40 50 75 Avg
(1) (2)

gap %

tempo

Fase TS best imp gapavg tempo(1)

Fase PR Gomes Jr. CPLEX best avg Tempo(1) imp gap Tempo(2) Tempo(1)

(s) 0,03 0,05 0,07 0,10 0,14 0,33 1,06 2,59 6,24 20,77 57,36 -

%
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,15 0,51 5,32 0,50

%
0,00 0,00 0,00 0,00 0,01 0,63 0,99 1,46 2,13 3,81

(s) 0,04 0,06 0,09 0,14 0,20 0,54 2,03 6,13 16,78 70,20

%
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,18 0,74 5,75 0,56

%
0,00 0,00 0,00 0,00 0,00 0,47 0,64 1,09 1,68

(s) 0,06 0,09 0,15 0,25 0,37 1,13 4,93 14,90 39,93

(s) 0,04 0,07 0,11

(s) 1,14 24,13 55,29

0,00 0,00 0,00 0,00 0,00 0,00 0,00 -0,57 -0,22 -1,09 1,38 -0,14

0,00 0,00 0,00 0,13 0,07 1,15 1,94 2,94 4,54 7,26

0,20 1519,30 0,29 1869,55 0,94 4,35 13,29 40,07 155,79 492,28 1368,08 -

3,24 193,61 4,61 630,77 6,56 6308,74 1,52 -

-1,15 10,08 3,17

5,45 258,63 7,14 2460,59 1,80 -

9,71 399,09

Tempo de CPU, em um PC Intel Core 2 Quad (Q6600) 2,40 GHz com 4 GB de RAM Tempo de CPU, em um PC Athlon XP 64 Bits 3000+ (aprox. 2 GHz) com 1 GB de RAM

para os demais problemas-teste, o algoritmo proposto consegue superar os resultados destes autores na mdia em at 0,74%. Por m, os problemas-teste envolvendo 75 tarefas apresentaram melhoras signicativas j na primeira fase de 1,38%, passando a 5,75% na terceira fase. Vale ressaltar que para os problemas-teste com 75 tarefas, Gomes Jr. et al. (2007) utilizaram parmetros de calibrao diferentes, em seus testes, como meio de reduzir o esforo computacional. Com relao ao desvio mdio para esta classe de problemas, a variabilidade das solues nais reduziu de 10,08% na fase GRASP-VND para 7,14% na fase TS e para 6,56% na fase PR. Observa-se que no algoritmo de Gomes Jr. et al. (2007), os desvios mdios nais foram de at 18,53%. Este ltimo percentual foi ajustado de acordo com as novas melhores solues encontradas. Em termos de tempos computacionais, uma comparao direta de desempenho no possvel, uma vez que as mquinas utilizadas para teste foram diferentes. Contudo, uma comparao mais justa feita mais adiante, por meio da Tabela 5.5, que apresenta um comparativo de desempenho entre os algoritmos com um ajuste no tempo de processamento do algoritmo de Gomes Jr. et al. (2007).

61

Ainda sobre os tempos computacionais, pode-se vericar que o tempo gasto pelo GTSPR, para os problemas at 12 tarefas foi bem inferior ao tempo gasto pelo CPLEX, apresentado na ltima coluna, para encontrar a soluo tima. Vale ressaltar que no houve desvio na soluo nal apresentada pelo algoritmo proposto. Com a nalidade de melhorar os tempos computacionais exigidos pelo algoritmo proposto, uma segunda bateria de testes foi executada, desta vez, utilizando os parmetros secundrios dos testes de calibrao e a segunda estratgia da Reconexo por Caminhos, isto , a busca local VND3 aplicada somente se a insero de um arco produzir uma melhora. A Tabela 5.4 apresenta estes resultados. Tabela 5.4: Comparao de resultados de cada fase do algoritmo GTSPR Gomes Jr. et al. (2007) CPLEX (Parmetros Secundrios)
#
Tar.

imp %

Fase GRASP-VND best avg (1)

gap %

tempo

Fase TS best imp gapavg tempo(1)

Fase PR Gomes Jr. CPLEX best avg Tempo(1) imp gap Tempo(2) Tempo(1)

(s) 0,01 0,02 0,02 0,04 0,05 0,12 0,42 1,09 2,75 9,98 29,88 -

%
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 -0,05 0,17 0,60 4,53 0,44

%
0,00 0,00 0,08 0,20 0,52 2,31 2,36 3,03 3,62 5,27

(s) 0,02 0,03 0,04 0,06 0,08 0,24 1,04 3,29 9,83 42,29

%
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,17 0,61 4,65 0,45

%
0,00 0,00 0,08 0,18 0,43 2,08 2,05 2,82 3,48 5,07

(s) 0,03 0,03 0,05 0,09 0,13 0,32 1,32 4,11 11,63 47,64

(s) 0,04 0,07 0,11

(s) 1,14 24,13 55,29

8 9 10 11 12 15 20 25 30 40 50 75 Avg

0,00 0,00 0,00 0,00 0,00 0,00 0,00 -0,66 -0,67

0,00 0,21 0,35 0,83 0,83 3,97 5,35 6,65 8,07

0,20 1519,30 0,29 1869,55 0,94 4,35 13,29 40,07 155,79 492,28 1368,08 -

-1,24 10,12 -2,70 13,54 -0,39 5,58

7,25 165,99 9,84 1728,05 2,87 -

7,10 181,12 9,65 1828,88 2,75 -

0,58 16,99 256,31

Com esta segunda bateria de testes, como era de se esperar, pode-se observar que os tempos computacionais tiveram uma reduo signicativa, cando bem abaixo dos tempos demandados pelo algoritmo de Gomes Jr. et al. (2007), mesmo sem o ajuste, com exceo dos problemas com 75 tarefas. Apesar da signicativa diminuio dos tempos verica-se que a qualidade das solues foi pouco afetada. Para as problemas com at 20 tarefas, continuou sendo necessria apenas a primeira fase do algoritmo proposto para encontrar a melhor soluo, com um desvio mdio mximo de 5,35%, passando a 2,36% na segunda fase e caindo para 2,05% na ter-

62

ceira fase. Para os problemas com 25 ou mais tarefas, a fase TS foi suciente para resolv-los e melhorar os resultados, exceo dos problemas com 30 tarefas, em que foi necessria a fase PR. As solues nais tiveram uma melhora de at 4,65%, com desvio mximo de 9,65%, valor este ainda melhor que os 18,53% obtidos por Gomes Jr. et al. (2007). Observa-se que este ltimo percentual foi ajustado de acordo com as novas melhores solues encontradas. Pelas Tabelas 5.3 e 5.4 observa-se que a fase PR demanda um tempo computacional elevado e sua contribuio relativamente baixa, servindo basicamente para diminuir a variabilidade da qualidade da soluo nal. Observa-se, ainda, que apenas as fases GRASP-VND e TS so sucientes para resolver o problema com um esforo computacional muito menor e sem detrimento signicativo da qualidade da soluo nal. A Tabela 5.5 apresenta uma comparao dos tempos computacionais das duas baterias de testes do algoritmo GTSPR. A segunda coluna, GTSPR I, apresenta os tempos computacionais com os parmetros principais, enquanto a terceira coluna, GTSPR II, os tempos com os parmetros secundrios. A quarta coluna apresenta os tempos demandados pelo algoritmo de Gomes Jr. et al. (2007) reduzindo-os em 30%. Este valor foi obtido baseado em testes encontrados na pgina http://www.tomshardware.com/charts/cpu-charts-2008-q1-2008/compare,372.html? prod[1275]=on&prod[1218]=on, que compara os tempos gastos na execuo de programas como antivirus e compactadores nas mquinas envolvidas no presente trabalho. Nestes testes os programas executados em mquinas com processador PC Intel Core 2 Quad (Q6600) obtiveram tempos computacionais em mdia 30% inferiores aos mesmos programas executados em mquinas com processador PC Athlon XP 64 3000+. Ao se comparar os tempos computacionais dos algoritmos, v-se que GTSPR II demandou menor tempo de processamento para produzir solues com qualidade melhor ou igual quelas geradas pelo algoritmo de Gomes Jr. et al. (2007). A exceo ocorreu nos problemas de 75 tarefas, nos quais foi exigido um tempo duas vezes maior, mas que resultou, em contrapartida, em solues nais melhores em

63

at 4,65%, na mdia. Alm disso, j na fase GRASP-VND, GTSPR II demandou 256,31 segundos para obter solues, em mdia 0,58% melhores do que o algoritmo de Gomes Jr. et al. (2007) em 957,66 segundos. Tabela 5.5: Comparao dos tempos computacionais GTSPR I GTSPR II Gomes Jr. et al. (2007) corrigido # GTSPR I GTSPR II Gomes Jr. et al. (2007) Tarefas Tempo (s) Tempo (s) Tempo corrigido (s) 08 0,06 0,03 0,03 09 0,09 0,03 0,05 10 0,15 0,05 0,08 11 0,25 0,09 0,14 12 0,37 0,13 0,20 15 1,13 0,32 0,66 20 4,93 1,32 3,05 25 14,90 4,16 9,30 30 39,93 11,54 28,05 40 173,58 47,64 109,05 50 630,77 182,12 344,60 75 6308,74 1828,88 957,66
Tempo de CPU corrigido em 30%, com base em testes comparativos entre performance de processadores
()

No Anexo I so apresentados os resultados detalhados para os problemasteste utilizados. Nas Tabelas I.1 a I.4 so mostrados os resultados para a execuo GTSPR I e nas Tabelas I.5 a I.8, os resultados do GTSPR II.

64

Captulo 6 Concluses e Trabalhos Futuros


Este trabalho teve seu foco na resoluo do problema de sequenciamento em uma mquina com penalidades por antecipao e atraso da produo (PSUMAA), considerando janelas de entrega e tempo de preparao da mquina dependente da sequncia de produo. os procedimentos GRASP e Descida em Vizinhana Varivel (Variable Neighborhood Foi proposto um algoritmo de trs fases, denominado GTSPR, que combina - VND), para gerao de soluo inicial; Busca Tabu (Tabu

para renamento e Reconexo por Caminhos (Path Relinking - PR), como mecanismo de ps-otimizao. Para cada sequncia gerada pelo algoritmo so determinadas as datas timas de concluso das tarefas por meio de um procedimento de tempo polinomial da literatura. Para explorar o espao de solues so utilizados trs tipos de movimentos, baseados em troca entre tarefas, realocao de uma tarefa para outra posio e realocao de um bloco de tarefas para outra posio. Inicialmente o algoritmo proposto foi comparado com o otimizador CPLEX aplicado a problemas-teste envolvendo at 12 tarefas. Os resultados obtidos mostraram que todas as solues timas foram encontradas em tempos computacionais muito inferiores aos demandados pelo otimizador e o desvio mximo foi de 0,43%. A seguir, o algoritmo GTSPR foi aplicado a problemas-teste envolvendo at 75 tarefas e comparado com um algoritmo da literatura. Os experimentos computacionais mostraram que, para problemas-teste de at 20 tarefas, apenas a fase

Descent

Search

- TS)

65

GRASP-VND do algoritmo foi suciente para alcanar as melhores solues existentes. Todas as demais fases do algoritmo tiveram sua contribuio para a melhora da qualidade da soluo nal, reduzindo sua variabilidade. Com o algoritmo proposto foi possvel superar os resultados da literatura em at 5,75%, com uma variabilidade mdia de 6,56%, no mximo. Em termos de tempo computacional, o algoritmo proposto tambm foi competitivo, sendo capaz de produzir solues melhores em menor tempo de processamento. Como trabalhos futuros, indicam-se os seguintes aperfeioamentos: 1. Aplicar periodicamente a estratgia de Reconexo por Caminhos durante a explorao da busca, e no somente como mecanismo de ps-otimizao; 2. Aplicar o princpio da otimalidade prxima durante a fase de construo de uma soluo; 3. Estudar propriedades que possam ser aplicadas ao problema, de forma a reduzir o espao de busca e, consequentemente, o tempo de processamento do algoritmo.

66

Referncias Bibliogrcas
Allahverdi, A.; Gupta, J. N. D. e Aldowaisan, T. (1999). A review of scheduling research involving setup considerations. OMEGA, v. 27, p. 219239. Allahverdi, Ali; Ng, C.T.; Cheng, T.C.E. e Kovalyov, Mikhail Y. (2008). A survey of scheduling problems with setup times or costs. European Journal of Operational Research, v. 187, n. 3, p. 9851032. Arajo, Francisco Csar Rodrigues de. (2008). Planejamento operacional de lavra com alocao dinmica de caminhes: Abordagens exata e heurstica. Dissertao de mestrado, Departamento de Engenharia de Minas/EM/UFOP, Ouro Preto. Arenales, M.; Armentano, V.; Morabito, R. e Yanasse, H. (2007). Pesquisa cional para cursos de Engenharia. Editora Campus, Rio de Janeiro.

Opera-

Baker, K. R. e Scudder, G. D. (1990). Sequencing with earliness and tardiness penalties: A review. Operations Research, v. 38, p. 2236. Bilge, mit; Kurtulan, Mjde e Kirac, Furkan. (2007). A tabu search algorithm for the single machine total weighted tardiness problem. European Journal of Operational Research, v. 176, p. 14231435. Biskup, D. e Feldmann, M. (2001). Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates. Computers and Operations Research, v. 28, p. 787801. Bustamante, L. M. (2006). Minimizao do custo de antecipao e atraso para o problema de seqenciamento de uma mquina com tempo de preparao dependente da seqncia: Aplicao em uma usina siderrgica. Dissertao de mestrado, Programa de Ps-Graduao em Engenharia de Produo, UFMG, Belo Horizonte. Chang, P. C. (1999). A branch and bound approach for single machine scheduling with earliness and tardiness penalties. Computers & Mathematics with Applications, v. 37, n. 10, p. 133144. Chen, Zhi-Long. (1997). Scheduling with batch setup times and earliness-tardiness penalties. European Journal of Operational Research, v. 96, p. 518537.

67

Coleman, B. J. (1992). A simple model for optimizing the single machine early/tardy problem with sequence-dependent setups. Production and Operation Management, v. 1, n. 2, p. 225228. Costa, Felippe Pereira. (2005). Aplicaes de tcnicas de otimizao a problemas de planejamento operacional de lavra em minas a cu aberto. Dissertao de mestrado, Departamento de Engenharia de Minas/EM/UFOP, Ouro Preto. Du, J. e Leung, J. Y. T. (1990). Minimizing total tardiness on one machine is np-hard. Mathematics of Operations Research, v. 15, p. 483495. Feldmann, Martin e Biskup, Dirk. (2003). Single-machine scheduling for minimizing earliness and tardiness penalties by meta-heuristic approaches. Computers and Industrial Engineering, v. 44, p. 307323. Feo, T.A. e Resende, M.G.C. (1995). Greedy randomized adaptive search procedures. Journal of Global Optimization, v. 6, p. 109133. Frana Filho, M. F. (2007). Grasp e busca tabu aplicados a problemas de programao de tarefas em mquinas paralelas. Tese de doutorado, Departamento de Engenharia de Sistemas/UNICAMP, Campinas. Gagn, Caroline; Price, Wilson L. e Gravel, Marc. (2001). Scheduling a single machine with sequence dependent setup times using ant colony optimization. Relatrio Tcnico 2001-003, Facult des sciences de l'administration, Universit Laval. Gershon, M. (1982). A linear programming approach to mine scheduling optimization. Proceedings of the 17th Application of computers and operations research in the mineral industry, p. 483493, New York. Glover, F. (1986). Future paths for integer programming and links to articial intelligence. Computers and Operations Research, v. 5, p. 553549. Glover, F. (1996).
Computing Tools for Modeling, Optimization and Simulation: Interfaces in Computer Science and Operations Research

, Captulo Tabu search and adaptive memory programming - Advances, applications and challenges, p. 175. Kluwer Academic Publishers.

Glover, F. e Kochenberger, G. (2003). Handbook of Metaheuristics. Kluwer Academic Publishers. Glover, F. e Laguna, M. (1997).
Tabu Search

. Kluwer Academic Publishers, Boston.

Gomes Jr., A. C.; Carvalho, C. R. V.; Munhoz, P. L. A. e Souza, M. J. F. (2007). Um mtodo heurstico hbrido para a resoluo do problema de sequenciamento em uma mquina com penalidades por antecipao e atraso da produo. Anais do XXXIX Simpsio Brasileiro de Pesquisa Operacional, SBPO, p. 16491660, Fortaleza.

68

Gordon, Valery; Proth, Jean-Marie e Chu, Chengbin. (2002). A survey of the stateof-the-art of common due date assignment and scheduling research. European Journal of Operational Research, v. 139, p. 125. Gupta, S. R. e Smith, J. S. (2006). Algorithms for single machine total tardiness scheduling with sequence dependent setups. European Journal of Operational Research, v. 175, p. 722739. Hallah, R. M. (2007). Minimizing total earliness and tardiness on a single machine using a hybrid heuristic. Computers and Operations Research, v. 34, p. 31263142. Hassin, Refael e Shani, Mati. (2005). Machine scheduling with earliness, tardiness and non-execution penalties. Computers and Operations Research, v. 32, p. 683 705. Hino, C. M.; Ronconi, D. P. e Mendes, A. B. (2005). Minimizing earliness and tardiness penalties in a single-machine problem with a common due date. European Journal of Operational Research, v. 160, p. 190201. Jackson, J. R. (1955). Scheduling a production line to minimize maximum tardiness. Relatrio tcnico, UCLA, Management Science Research Project. James, R. J. W. (1997). Using tabu search to solve the common due date early/tardy machine scheduling problem. Computers and Operations Research, v. 24, n. 3, p. 199208. Kim, S. C. e Bobrowski, P. M. (1994). Impact os sequence dependent setup time on job shop scheduling performance. v. 32, n. 7, p. 15031520. Lee, C. Y. e Choi, J. Y. (1995). A genetic algorithm for job sequencing problems with distinct due dates and general early-tardy penalty weights. Computers and Operations Research, v. 22, p. 857869. Li, F. (1997). Single machine earliness and tardiness scheduling. of Operational Research, v. 96, p. 546558.

European Journal

Liaw, C. F. (1999). A branch-and-bound algorithm for the single machine earliness and tardiness scheduling problem. Computers and Operations Research, v. 26, p. 679693. Lin, Shih-Wei; Chou, Shuo-Yan e Chen, Shih-Chieh. (2007)a. Meta-heuristic approaches for minimizing total earliness and tardiness penalties of single-machine scheduling with a common due date. Journal of Heuristic, v. 13, p. 151165. Lin, Shih-Wei; Chou, Shuo-Yan e Ying, Kuo-Ching. (2007)b. A sequential exchange approach for minimizing earliness-tardiness penalties of single-machine scheduling with a common due date. European Journal of Operational Research, v. 177, p. 12941301.

69

Mazzini, R. e Armentano, V. A. (2001). A heuristic for single machine scheduling with early and tardy costs. European Journal of Operational Research, v. 128, p. 129146. Mladenovi, N. e Hansen, P. (1997). Variable Neighborhood Search. Operations Research, v. 24, p. 10971100.
Computers and

Panwalkar, S. S.; Dudek, R. A. e Smith, M. L. (1973). Sequencing research and the industrial scheduling problem. SE, Elmaghraby, editor, Symposium on the Theory of Scheduling and its Applications, p. 2938, Springer: Berlin. Rabadi, G.; Mollaghasemi, M. e Anagnostopoulos, G. C. (2004). A branch-andbound algorithm for the early/tardy machine scheduling problem with a common due-date and sequence-dependent setup time. Computers and Operations Research, v. 31, p. 17271751. Rodrigues, Lsara Fabrcia. (2006). Anlise comparativa de metodologias utilizadas no despacho de caminhes em minas a cu aberto. Dissertao de mestrado, Departamento de Engenharia de Produo/Escola de Engenharia/UFMG, Belo Horizonte. Sridharan, V. e Zhou, Z. (1996). A decision theory based scheduling procedure for single-machine weighted earliness and tardiness problems. European Journal of Operational Research, v. 94, p. 292301. Tian, Z.J.; Ng, C.T. e Cheng, T.C.E. (2005). On the single machine total tardiness problem. European Journal of Operational Research, v. 165, p. 843846. Uzsoy, Reha e Velsquez, Juan Diego. (2008). Heuristics for minimizing maximum lateness on a single machine with family-dependent set-up times. Computers and Operations Research, v. 35, p. 20182033. Ventura, Jos A. e Radhakrishnan, Sanjay. (2003). Single machine scheduling with symmetric earliness and tardiness penalties. European Journal of Operational Research, v. 144, p. 598612. Wan, G. e Yen, B. P. C. (2002). Tabu search for single machine scheduling with distinct due windows and weighted earliness/tardiness penalties. European Journal of Operational Research, v. 142, p. 271281. Ying, Kuo-Ching. (2008). Minimizing earliness-tardiness penalties for common due date single-machine scheduling problems by a recovering beam search algorithm. Computers and Industrial Engineering, v. In Press, Corrected Proof. doi: 10. 1016/j.cie.2008.01.008.

70

Anexo I Resultados Detalhados


I.1 Execuo do GTSPR I
As Tabelas I.1 a I.4 mostram os resultados detalhados para os problemas-teste de avg 08 a 75 tarefas. Nestas tabelas, impi dado pela Expresso(I.1) e representa a melhora do algoritmo GTSPR I sobre o algoritmo de Gomes Jr. relao a soluo mdia encontrado por cada um. Na Expresso (I.1), de Gomes Jr. Equao (5.2).

et al.

(2007) em

et al.

fiGJr

representa o valor mdio obtido pelo algoritmo

(2007) em trinta execues e o outro membro o mesmo da

impavg = i

fiGJr fiGT SP R f GJr


i

(I.1)

71

Tabela I.1: Resultados detalhados GTSPR I tarefas)


Melhor Valor

Gomes Jr.

et al.

(2007) (8 a 10

Inst. Gomes Jr. GTSPR I imp 0801 0802 0803 0804 0805 0806 0807 0808 0809 0810 0811 4928 2739 4074 17149 6195 4004 10689 14059 13705 19855 22774 6184 11801 8561 4734 31100 2986 13845 16400 20817 14431 25664 33202 13068 14411 8349 11605 12486 5679 2897 5515 9534 9461 22273 20514 45554 4928 2739 4074 17149 6195 4004 10689 14059 13705 19855 22774 6184 11801 8561 4734 31100 2986 13845 16400 20817 14431 25664 33202 13068 14411 8349 11605 12486 5679 2897 5515 9534 9461 22273 20514 45554

best

Valor Mdio

Gomes Jr. GTSPR I imp 4928 2739 4074 17149 6195 4004 10689 14059 13751 19855 22774 6184 11801 8561 4734 31124 2986 13845 16512 20817 14431 25664 33202 13068 14456 8349 11605 12486 5679 2897 5515 9534 9461 22273 20514 45554 4928 2739 4074 17149 6195 4004 10689 14059 13705 19855 22774 6184 11801 8561 4734 31100 2986 13845 16400 20817 14431 25664 33202 13068 14411 8349 11605 12486 5679 2897 5515 9534 9461 22273 20514 45554

avg

Tempo (s) avg Gomes Jr. GTSPR I gap

%
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

%
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,33 0,00 0,00 0,00 0,03 0,00 0,00 0,00 0,08 0,00 0,00 0,68 0,00 0,00 0,00 0,00 0,00 0,06 0,31 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,03

%
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,05 0,03 0,02 0,05 0,03 0,03 0,05 0,04 0,05 0,05 0,04 0,03 0,04 0,07 0,05 0,05 0,08 0,06 0,06 0,08 0,07 0,05 0,09 0,08 0,06 0,07 0,13 0,11 0,10 0,12 0,12 0,09 0,12 0,10 0,09 0,12 0,09 0,10 0,11 0,06 0,05 0,05 0,07 0,05 0,06 0,06 0,06 0,06 0,08 0,06 0,05 0,06 0,08 0,08 0,09 0,09 0,09 0,09 0,09 0,10 0,07 0,09 0,10 0,09 0,09 0,15 0,15 0,14 0,16 0,14 0,13 0,15 0,16 0,14 0,16 0,16 0,14 0,15

Mdia
0812 0901 0902 0903 0904 0905 0906 0907 0908 0909 0910 0911

Mdia
0912 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011

Mdia
1012

72

Tabela I.2: Resultados detalhados GTSPR I tarefas)


Melhor Valor

Gomes Jr.

et al.

(2007) (11 a 15

Inst. Gomes Jr. GTSPR I imp 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 16530 13252 15251 17573 9347 15737 12311 17361 18202 28886 30328 76689 8137 9848 8002 29466 8468 10982 26939 11335 28610 23406 23858 41983 18276 19622 11505 15164 12924 9396 46544 24899 14457 33128 42522 12793 16530 13252 15251 17573 9347 15737 12311 17361 18202 28886 30328 76689 8137 9848 8002 29466 8468 10982 26939 11335 28610 23406 23858 41983 18276 19622 11505 15164 12924 9396 46544 24899 14457 33128 42522 12793

best

Valor Mdio

Gomes Jr. GTSPR I imp 16530 13252 15251 17573 9347 15737 12311 17374 18337 28977 30328 76911 8183 9858 8019 29477 8468 10982 27033 11335 28967 23420 23858 41983 18276 20198 11952 15250 13141 9423 46977 26201 14457 33556 42866 12793 16530 13252 15251 17573 9347 15737 12311 17361 18202 28886 30328 76689 8137 9848 8002 29466 8468 10982 26939 11335 28610 23406 23858 41983 18276 19622 11505 15164 12924 9396 46724 26220 14457 33128 42522 12793

avg

Tempo (s) avg Gomes Jr. GTSPR I gap

%
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

%
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,07 0,74 0,31 0,00 0,29 0,12 0,56 0,10 0,21 0,04 0,00 0,00 0,35 0,00 1,23 0,06 0,00 0,00 0,21 0,00 2,85 3,74 0,56 1,65 0,29 0,54 -0,07 0,00 1,28 0,80 0,00 0,97

%
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,39 5,31 0,00 0,00 0,00 0,00 0,47 0,16 0,18 0,14 0,19 0,19 0,22 0,21 0,21 0,21 0,23 0,20 0,24 0,20 0,26 0,23 0,23 0,35 0,27 0,22 0,36 0,27 0,31 0,37 0,31 0,29 0,29 0,64 1,23 1,09 1,00 0,79 0,60 1,23 1,19 0,56 1,11 1,12 0,68 0,94 0,23 0,28 0,23 0,23 0,23 0,22 0,24 0,25 0,22 0,27 0,26 0,29 0,25 0,37 0,28 0,25 0,38 0,34 0,28 0,43 0,40 0,37 0,41 0,45 0,40 0,37 0,93 1,23 1,23 1,16 1,01 0,61 1,26 1,14 0,90 1,39 1,41 1,29 1,13

Mdia
1112 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211

Mdia
1212 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511

Mdia
1512

73

Tabela I.3: Resultados detalhados GTSPR I tarefas)


Melhor Valor

Gomes Jr.

et al.

(2007) (20 a 30

Inst. Gomes Jr. GTSPR I imp 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 16294 18107 20249 29941 59158 31053 40438 29186 67827 34283 54538 79599 23397 48540 18503 25645 35865 14189 37313 44638 12839 51415 44808 34197 43673 41983 21951 64943 74100 29829 74336 69770 21335 73702 35190 83976 16294 18107 20249 29941 59158 31053 40438 29186 67827 34283 54538 79599 23397 48540 18503 25645 35865 14189 37313 44638 12839 51415 44808 34197 43673 41983 21951 64943 74100 29829 74336 69770 21335 73702 35190 83976

best

Valor Mdio

Gomes Jr. GTSPR I imp 16294 18660 20461 30283 59736 32456 42005 29368 69246 34656 54911 80171 23480 48801 18526 25785 36796 14219 37857 45150 12874 57174 47610 35255 44778 42111 22375 68138 76040 30832 75378 74097 21641 77065 38152 86008 16294 18173 20425 29952 59535 32016 41127 29186 67827 34424 54692 79780 23397 48968 18579 25645 35931 14189 37377 44638 12839 54850 46682 34408 43760 42021 21951 66751 75170 30872 74553 73579 21392 75359 36054 85138

avg

Tempo (s) avg Gomes Jr. GTSPR I gap

%
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

%
0,00 2,61 0,18 1,09 0,34 1,35 2,09 0,62 2,05 0,67 0,40 0,49 0,99 0,35 -0,34 -0,28 0,54 2,35 0,21 1,27 1,13 0,27 4,06 1,95 2,40 1,16 2,27 0,21 1,89 2,04 1,14 -0,13 1,09 0,70 1,15 2,21 5,50 1,01 1,59

%
0,00 0,37 0,87 0,04 0,64 3,10 1,70 0,00 0,00 0,41 0,28 0,23 0,64 0,00 0,88 0,41 0,00 0,18 0,00 0,17 0,00 0,00 6,68 4,18 0,62 1,09 0,20 0,09 0,00 2,78 1,44 3,50 0,29 5,46 0,27 2,25 2,45 1,38 1,68 1,95 3,63 3,07 4,43 4,60 4,86 4,84 3,18 5,61 5,52 5,90 4,58 4,35 13,27 13,24 9,32 13,44 14,14 7,85 15,26 13,23 10,52 18,25 15,87 15,10 13,29 38,91 39,48 24,60 57,49 46,12 33,51 41,04 53,20 22,73 48,36 31,09 44,30 40,07 3,69 3,75 3,04 4,17 5,85 5,13 5,83 3,93 6,49 5,32 5,54 6,45 4,93 13,23 12,04 12,05 13,33 17,13 9,94 12,72 15,83 17,64 19,11 17,78 18,03 14,90 37,30 32,27 32,00 47,78 45,98 38,17 38,50 47,03 25,67 55,35 36,78 42,31 39,93

Mdia
2012 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511

Mdia
2512 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011

Mdia
3012

74

Tabela I.4: Resultados detalhado GTSPR I tarefas)


Melhor Valor

Gomes Jr.

et al.

(2007) (40 a 75

Inst. Gomes Jr. GTSPR I imp 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 57086 49306 28643 99871 29863 32303 1E+05 44847 77378 93591 1E+05 1E+05 105563 69631 60259 96858 80597 64500 129284 77165 55213 171912 176332 83686 258776 107779 85960 311870 116346 142313 332419 218812 202863 359904 221263 137306 57086 49306 28643 99828 29863 32303 116387 44847 77378 93225 105285 127269 105426 69244 60259 96837 80140 64500 129284 76565 54234 163308 176332 83686 254755 106674 85514 300068 114722 139119 320697 206014 175759 320983 185530 125184

best

Valor Mdio

Gomes Jr. GTSPR I imp 57751 49705 28834 102171 30594 33403 125443 46653 82618 97763 119856 135908 111204 73810 61219 101444 82473 65746 140856 80279 60435 181267 196956 93811 277913 115331 92820 324516 130908 152408 369624 255181 224472 392750 274439 155229 57765 49587 28643 101837 30441 32637 120900 47026 80884 98435 114125 133552 110175 72342 60548 100143 80837 65204 135675 78290 58728 177134 187016 92443 261408 109111 87205 313573 121305 142931 330764 231806 198164 345894 215045 133749

avg

Tempo (s) avg Gomes Jr. GTSPR I gap

%
0,00 0,00 0,00 0,04 0,00 0,00 0,56 0,00 0,00 0,39 1,11 0,00 0,18 0,13 0,56 0,00 0,02 0,57 0,00 0,00 0,78 1,77 5,00 0,00 0,00 0,74 1,55 1,03 0,52 3,78 1,40 2,24 3,53 5,85 13,36 10,81 16,15 8,83 5,75

%
-0,02 0,24 0,66 0,33 0,50 2,29 3,62 -0,80 2,10 -0,69 4,78 1,73 1,23 0,93 1,99 1,10 1,28 1,98 0,82 3,68 2,48 2,83 2,28 5,05 2,16 5,94 5,39 6,05 3,37 7,34 6,22 10,51

%
1,19 0,57 0,00 2,01 1,94 1,03 3,88 4,86 4,53 5,59 8,40 4,94 3,24 4,50 4,47 0,48 3,41 0,87 1,09 4,94 2,25 8,29 8,47 6,06 4,61 2,61 2,28 1,98 4,50 5,74 2,74 3,14 160,29 108,29 24,42 210,85 96,74 83,50 186,75 122,02 189,65 230,40 202,31 254,26 155,79 585,6 258,97 233,27 529,48 323,06 364,45 680,62 426,34 584,56 700,17 739,21 481,63 492,28 1809,40 906,60 238,10 1416,50 1201,70 608,40 1838,50 1417,60 1673,90 1541,30 1368,09 164,00 144,03 49,44 183,61 120,22 91,80 276,44 184,43 212,59 245,15 385,15 230,48 190,61 683,99 418,61 400,68 644,10 440,39 423,80 852,58 507,99 690,93 1004,17 908,14 593,82 630,77 5572,48 4861,01 2625,59 6498,56 4297,68 2784,47 4450,51 6490,84 7610,41 6236,35 6308,74

Mdia
4012 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011

Mdia
5012 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511

1,46 10,46

1876,10 12394,99

9,16 12,52 11,72 12,75 11,93 13,84 9,43 7,76 6,84 6,56 21,64 15,91

1889,00 11881,95

Mdia
7512

75

I.2

Execuo do GTSPR II

As Tabelas I.5 a I.8 mostram os resultados detalhados para os problemas-teste de 08 a 75 tarefas, para o algoritmo GTSPR II. As colunas representadas pelas expresses

impbest , impavg

gapavg ,

so ob-

tidas pelas Equaes (5.1), (I.1) e (5.2),respectivamente.

76

Tabela I.5: Resultados detalhados GTSPR II tarefas)


Melhor Valor

Gomes Jr.

et al.

(2007) (8 a 10

Inst. Gomes Jr. GTSPR II imp 0801 0802 0803 0804 0805 0806 0807 0808 0809 0810 0811 4928 2739 4074 17149 6195 4004 10689 14059 13705 19855 22774 6184 11801 8561 4734 31100 2986 13845 16400 20817 14431 25664 33202 13068 14411 8349 11605 12486 5679 2897 5515 9534 9461 22273 20514 45554 4928 2739 4074 17149 6195 4004 10689 14059 13705 19855 22774 6184 11801 8561 4734 31100 2986 13845 16400 20817 14431 25664 33202 13068 14411 8349 11605 12486 5679 2897 5515 9534 9461 22273 20514 45554

best

Valor Mdio

Gomes Jr. GTSPR II imp 4928 2739 4074 17149 6195 4004 10689 14059 13751 19855 22774 6184 11801 8561 4734 31124 2986 13845 16512 20817 14431 25664 33202 13068 14456 8349 11605 12486 5679 2897 5515 9534 9461 22273 20514 45554 4928 2739 4074 17149 6195 4004 10689 14059 13705 19855 22774 6184 11801 8561 4734 31100 2986 13845 16400 20817 14431 25664 33202 13068 14411 8349 11605 12486 5735 2897 5515 9534 9461 22273 20514 45554

avg

Tempo (s) avg Gomes Jr. GTSPR II gap

%
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

%
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,33 0,00 0,00 0,00 0,03 0,00 0,00 0,00 0,08 0,00 0,00 0,68 0,00 0,00 0,00 0,00 0,00 0,06 0,31 0,00 0,00 0,00 -0,98 0,00 0,00 0,00 0,00 0,00 0,00 0,00 -0,06

%
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,98 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,08 0,05 0,03 0,02 0,05 0,03 0,03 0,05 0,04 0,05 0,05 0,04 0,03 0,04 0,07 0,05 0,05 0,08 0,06 0,06 0,08 0,07 0,05 0,09 0,08 0,06 0,07 0,13 0,11 0,10 0,12 0,12 0,09 0,12 0,10 0,09 0,12 0,09 0,10 0,11 0,03 0,02 0,02 0,03 0,02 0,03 0,03 0,03 0,03 0,03 0,03 0,03 0,03 0,03 0,03 0,03 0,07 0,03 0,03 0,03 0,04 0,03 0,03 0,03 0,03 0,03 0,06 0,05 0,05 0,06 0,05 0,05 0,06 0,04 0,04 0,05 0,06 0,06 0,05

Mdia
0812 0901 0902 0903 0904 0905 0906 0907 0908 0909 0910 0911

Mdia
0912 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011

Mdia
1012

77

Tabela I.6: Resultados detalhados GTSPR II tarefas)


Melhor Valor

Gomes Jr.

et al.

(2007) (11 a 15

Inst. Gomes Jr. GTSPR II imp 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 16530 13252 15251 17573 9347 15737 12311 17361 18202 28886 30328 76689 8137 9848 8002 29466 8468 10982 26939 11335 28610 23406 23858 41983 18276 19622 11505 15164 12924 9396 46544 24899 14457 33128 42522 12793 16530 13252 15251 17573 9347 15737 12311 17361 18202 28886 30328 76689 8137 9848 8002 29466 8468 10982 26939 11335 28610 23406 23858 41983 18276 19622 11505 15164 12924 9396 46544 24899 14457 33128 42522 12793

best

Valor Mdio

Gomes Jr. GTSPR II imp 16530 13252 15251 17573 9347 15737 12311 17374 18337 28977 30328 76911 8183 9858 8019 29477 8468 10982 27033 11335 28967 23420 23858 41983 18276 20198 11952 15250 13141 9423 46977 26201 14457 33556 42866 12793 16530 13252 15251 17573 9451 15737 12311 17361 18356 28939 30328 76708 8333 9875 8002 29493 8532 10982 27093 11335 28726 23563 23858 41983 18276 20486 12204 15164 13275 9396 48238 26762 14457 33343 42522 12793

avg

Tempo (s) avg Gomes Jr. GTSPR II gap

%
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

%
0,00 0,00 0,00 0,00 -1,11 0,00 0,00 0,07 -0,10 0,13 0,00 0,26 -0,06 -1,84 -0,18 0,21 -0,05 -0,75 0,00 -0,22 0,00 0,83 -0,61 0,00 0,00 -0,22 0,00 -1,42 -2,11 0,56 -1,02 0,29 -2,68 -2,14 0,00 0,63 0,80 0,00 -0,59

%
0,00 0,00 0,00 0,00 1,11 0,00 0,00 0,00 0,84 0,18 0,00 0,02 0,18 2,41 0,28 0,00 0,09 0,75 0,00 0,57 0,00 0,40 0,67 0,00 0,00 0,43 0,00 4,40 6,07 0,00 2,71 0,00 3,64 7,48 0,00 0,65 0,00 0,00 2,08 0,16 0,18 0,14 0,19 0,19 0,22 0,21 0,21 0,21 0,23 0,20 0,24 0,20 0,26 0,23 0,23 0,35 0,27 0,22 0,36 0,27 0,31 0,37 0,31 0,29 0,29 0,64 1,23 1,09 1,00 0,79 0,60 1,23 1,19 0,56 1,11 1,12 0,68 0,94 0,07 0,07 0,06 0,07 0,07 0,08 0,09 0,10 0,10 0,11 0,10 0,12 0,09 0,14 0,09 0,10 0,14 0,11 0,09 0,15 0,14 0,15 0,15 0,13 0,15 0,13 0,23 0,34 0,32 0,31 0,23 0,28 0,35 0,40 0,23 0,42 0,44 0,30 0,32

Mdia
1112 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211

Mdia
1212 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511

Mdia
1512

78

Tabela I.7: Resultados detalhados GTSPR II tarefas)


Melhor Valor

Gomes Jr.

et al.

(2007) (20 a 30

Inst. Gomes Jr. GTSPR II imp 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 16294 18107 20249 29941 59158 31053 40438 29186 67827 34283 54538 79599 23397 48540 18503 25645 35865 14189 37313 44638 12839 51415 44808 34197 43673 41983 21951 64943 74100 29829 74336 69770 21335 73702 35190 83976 16294 18107 20249 29941 59158 31053 40438 29186 67827 34283 54538 79599 23397 48540 18503 25645 35865 14189 37313 44638 12839 51415 44808 34197 43673 41983 21951 64943 74100 29829 74336 69770 21335 73702 35190 83976

best

Valor Mdio

Gomes Jr. GTSPR II imp 16294 18660 20461 30283 59736 32456 42005 29368 69246 34656 54911 80171 23480 48801 18526 25785 36796 14219 37857 45150 12874 57174 47610 35255 44778 42111 22375 68138 76040 30832 75378 74097 21641 77065 38152 86008 16294 18690 20523 30305 59828 32869 41970 29329 69638 35340 55168 80086 23397 49723 18612 25774 36294 14247 37441 44725 12926 56951 48314 37232 45494 42356 22640 68012 76219 31223 75977 75045 21430 76423 36080 88115

avg

Tempo (s) avg Gomes Jr. GTSPR II gap

%
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

%
0,00 -0,16 -0,30 -0,07 -0,15 -1,27 0,08 0,13 -0,57 -1,97 -0,47 0,11 -0,39 0,35 -1,89 -0,46 0,04 1,37 -0,19 1,10 0,94 -0,41 -1,48 -5,61 -0,49 -1,60 -0,58 -1,18 0,18 -0,24 -1,27 -0,79 -1,28 0,98 0,83 5,43 -2,45 -0,16

%
0,00 3,22 1,35 1,22 1,13 5,85 3,79 0,49 2,67 3,08 1,15 0,61 2,05 0,00 2,44 0,59 0,50 1,20 0,41 0,34 0,19 0,68 7,82 8,88 2,82 4,17 0,89 3,14 4,73 2,86 4,67 2,21 7,56 0,44 3,69 2,53 4,93 3,48 1,95 3,63 3,07 4,43 4,60 4,86 4,84 3,18 5,61 5,52 5,90 4,58 4,35 13,27 13,24 9,32 13,44 14,14 7,85 15,26 13,23 10,52 18,25 15,87 15,10 13,29 38,91 39,48 24,60 57,49 46,12 33,51 41,04 53,20 22,73 48,36 31,09 44,30 40,07 0,63 1,04 0,94 1,26 1,60 1,46 1,66 0,92 2,01 1,52 1,35 1,51 1,32 4,56 3,92 2,85 3,31 4,69 2,34 4,04 4,77 3,70 5,89 4,82 4,42 4,11 11,47 10,42 7,52 13,09 11,04 9,13 13,57 14,99 8,91 15,18 12,34 11,92 11,63

Mdia
2012 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511

0,39 10,77

Mdia
2512 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011

Mdia
3012

79

Tabela I.8: Resultados detalhado GTSPR II tarefas)


Melhor Valor

Gomes Jr.

et al.

(2007) (40 a 75

Inst. Gomes Jr. GTSPR II imp 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 57086 49306 28643 99871 29863 32303 117047 44847 77378 93591 106470 127269 105563 69631 60259 96858 80597 64500 129284 77165 55213 171912 176332 83686 258776 107779 85960 311870 116346 142313 332419 218812 202863 359904 221263 137306 57086 49306 28643 99958 29863 32303 115809 45016 77378 93225 105285 127269 105563 69244 60259 98256 80140 64500 130142 76565 54234 162543 175894 83686 251835 108941 85518 306688 115275 139592 323935 207038 172563 326491 200971 126587

best

Valor Mdio

Gomes Jr. GTSPR II imp 57751 49705 28834 102171 30594 33403 125443 46653 82618 97763 119856 135908 111204 73810 61219 101444 82473 65746 140856 80279 60435 181267 196956 93811 277913 115331 92820 324516 130908 152408 369624 255181 224472 392750 274439 155229 58647 49710 28734 103701 31172 33226 123347 47087 84155 100000 115764 137977 113621 73037 61170 102947 82202 65425 139967 79509 60088 178738 196028 96938 268341 113506 89363 316658 124542 142360 340627 238090 204257 352438 222299 140441

avg

Tempo (s) avg Gomes Jr. GTSPR II gap

%
0,00 0,00 0,00 -0,09 0,00 0,00 1,06 -0,38 0,00 0,39 1,11 0,00 0,17 0,00 0,56 0,00 -1,44 0,57 0,00 -0,66 0,78 1,77 5,45 0,25 0,00 0,61 2,68 -1,08 0,51 1,66 0,92 1,91 2,55 5,38 14,94 9,28 9,17 7,81 4,65

%
-1,55 -0,01 0,35 -1,50 -1,89 0,53 1,67 -0,93 -1,86 -2,29 3,41 -1,52 -0,47 -2,17 1,05 0,08 -1,48 0,33 0,49 0,63 0,96 1,39

%
2,73 0,82 0,32 3,88 4,38 2,86 6,51 4,99 8,76 7,27 9,95 8,41 5,07 7,77 5,48 1,51 6,31 2,57 1,43 8,26 3,84 9,96 160,29 108,29 24,42 210,85 96,74 83,50 186,75 122,02 189,65 230,40 202,31 254,26 155,79 585,6 258,97 233,27 529,48 323,06 364,45 680,62 426,34 584,56 700,17 739,21 481,63 492,28 1809,4 906,6 238,1 1416,5 1201,7 608,4 1876,1 1838,5 1417,6 1889 1673,9 1541,3 1368,09 41,36 31,44 9,79 51,90 27,60 28,44 77,35 44,48 50,66 65,16 74,57 68,97 47,64 183,06 109,61 87,32 182,79 109,37 108,38 254,06 152,00 205,22 365,52 258,43 157,65 181,12 2055,98 798,65 518,65 2090,87 1508,24 689,80 2872,38 2207,77 1551,93 3403,45 2174,02 2074,80 1828,88

Mdia
4012 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011

0,57 10,79 0,47 11,45 -3,33 15,84 -0,08 3,44 1,58 3,72 2,42 4,86 6,59 7,84 7,10 6,55 6,40 4,50 5,53 8,56 2,33 6,21

Mdia
5012 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511

6,70 15,57 9,01 18,37 10,26 9,80 19,00 19,82 9,53 12,19 7,08 9,65

Mdia
7512

80

Anexo II Publicaes
Lista-se a seguir os trabalhos oriundos desta pesquisa que foram apresentados em eventos nacionais e internacionais.

Trabalhos apresentados em eventos internacionais


Ttulo: GRASP, Tabu Search and Path Relinking for solving total earliness/tardiness
single machine scheduling problem with distinct due windows and sequence-dependent setups.

Autores: Marcone Jamilson Freitas Souza, Puca Huachi Vaz Penna, Luiz Satoru
Ochi e Frederico Augusto de Cezar Almeida Gonalves.

Evento: XXIX CILAMCE - Iberian Latin American Congress on Computational


Methods in Engineering.

Local: Macei/AL - Brasil. Perodo: 4 a 7 de novembro de 2008.

Trabalhos apresentados em eventos nacionais


Ttulo: Uma heursitca hbrida para minimizar custos com antecipao e atraso em
sistemas de produo com janelas de entrega e tempos de preparao dependentes da sequncia.

Autores: Marcone Jamilson Freitas Souza, Puca Huachi Vaz Penna, Luiz Satoru
Ochi e Frederico Augusto de Cezar Almeida Gonalves.

Evento: SPOLM 2008 - Simpsio de Pesquisa Operacional e Logstica da Marinha. Local: Rio de Janeiro - RJ.

81

Perodo: 5 e 6 de agosto de 2008.

Ttulo: GRASP, VND, Busca Tabu e Reconexo por Caminhos para o Problema
de Sequenciamento em uma mquina com tempos de preparao dependentes da sequncia de produo, janelas de entrega distintas e penalidades por antecipao e atraso da produo.

Autores: Marcone Jamilson Freitas Souza, Puca Huachi Vaz Penna, e Frederico
Augusto de Cezar Almeida Gonalves.

Evento: XL SBPO - Simpsio Brasileiro de Pesquisa Operacional 2008. Local: Joo Pessoa - PB. Perodo: 2 a 5 de setembro de 2008.

82

CENTRO FEDERAL DE EDUCACAO TECNOLOGICA DE MINAS GERAIS


Diretoria de Pesquisa e Ps-Graduao o ca Programa de Mestrado em Modelagem Matemtica e Computacional a

HEUR ISTICAS PARA O PROBLEMA DE SEQUENCIAMENTO EM UMA MAQUINA COM PENALIDADES POR ANTECIPACAO E ATRASO DA PRODUCAO

Dissertao de Mestrado apresentada ao Programa de ca Ps-Graduao em Modelagem Matemtica e Como ca a putacional do CEFET-MG, como parte dos requisitos necessrios para a obteno do t a ca tulo de Mestre em Modelagem Matemtica e Computacional. a

Aluno: Bruno Ferreira Rosa Orientador: Prof. Dr. Marcone Jamilson Freitas Souza (UFOP) Co-Orientador: Prof. Dr. Srgio Ricardo de Souza (CEFET-MG) e

Belo Horizonte, Dezembro de 2009.

Dedico este trabalho aos meus pais Jos Lzaro e Isilene, e a e ` minha namorada Fernanda, que esto ao meu lado a a em todos os momentos e foram os principais motivadores deste trabalho. Amo muito vocs! e

ii

Agradecimentos
Agradeo a Deus pela vida, por me guardar nas muitas viagens necessrias para a c a execuo deste trabalho. ca Aos meus pais pelo exemplo de amor, unio, honestidade e determinao. a ca Aos meus irmos pela amizade e por estarem sempre ao meu lado, principalmente nos a momentos de descontrao. ca Ao grande amor da minha vida Fernanda por ser minha condente, minha companheira, pela compreenso e pelo seu amor incondicional. a A todos os meus familiares que sempre me apoiaram em minhas escolhas. Aos professores Marcone e Srgio por me aceitarem, por acreditarem na minha capae cidade, pelas essenciais orientaes, pela pacincia e disposio em me ajudar. co e ca Aos professores e funcionrios do Programa de Ps-Graduao do CEFET-MG pela a o ca oportunidade de buscar e aprimorar meus conhecimentos. Aos amigos do MMC que estiveram presentes na execuo deste trabalho. A amizade ca e colaborao de vocs foram fundamentais. ca e Aos colegas que z na estradapelas caronas, pela conana depositada em mim e por c compartilharem suas histrias de vida. o Ao CEFET-MG pelo apoio e incentivo. Enm, os meus sinceros agradecimentos a todos aqueles que colaboraram, mesmo que indiretamente, para a realizao deste trabalho. ca

iii

Resumo
Este trabalho trata do problema de sequenciamento de tarefas em uma mquina. No a problema abordado, os tempos de preparao da mquina so dependentes da sequncia ca a a e de produo e cada tarefa est associada a um tempo de processamento e uma janela ca a de tempo, dentro da qual ela deve ser preferencialmente conclu da. O objetivo mie nimizar a soma ponderada dos atrasos e das antecipaes na execuo de tais tarefas. co ca Em termos prticos, as penalidades por antecipao so devidas aos custos gerados pela a ca a necessidade de estocagem, enquanto as penalidades por atraso so consequncias de mula e tas contratuais. So propostas duas novas formulaes de programao matemtica para a co ca a representar o problema, sendo a primeira delas um aperfeioamento de uma formulao c ca da literatura, e, a outra, uma formulao indexada no tempo. Props-se, tambm, um ca o e algoritmo heur stico para determinar a melhor sequncia de produo. Tal algoritmo e ca e composto de duas fases. Na primeira, gera-se uma soluo com base na metaheur ca stica GRASP, no Princ da Otimalidade Prxima e na Descida em Vizinhana Varivel. Na pio o c a segunda, faz-se o ps-renamento da soluo proveniente da fase anterior por meio de o ca outra Descida em Vizinhana Varivel. Com o objetivo de reduzir o custo computacional, c a adicionalmente proposta uma estratgia de reduo do espao de busca. Devido a partie e ca c cularidade dos problemas-teste da unica base de dados existente na literatura referente ao problema tratado, foram geradas outras duas novas bases de dados, uma das quais mais genrica. Experimentos computacionais mostram que a formulao indexada no tempo e ca possibilita resolver problemas maiores e com maior ecincia, quando comparada com as e formulaes de programao matemtica da literatura. O algoritmo heur co ca a stico proposto mostrou-se competitivo com os demais algoritmos existentes na literatura, tendo o baixo custo computacional como o seu grande aliado. Desta forma, foi poss vel resolver, em tempo computacional vivel, problemas de dimenses maiores que os resolvidos at ento. a o e a Palavras-Chave: Sequenciamento em uma mquina, Formulao indexada no tempo, a ca GRASP, Princ pio da Otimalidade Prxima, Descida em Vizinhana Varivel. o c a

iv

Abstract
This work deals with the problem of job scheduling in a single-machine. In the considered problem, the machines setup time is dependent on production sequence and each job has a processing time and a time window within which it should preferably be completed. The objective is to minimize the weighted sum of the tardiness and earliness in the execution of such jobs. In practical terms, the advance penalties are due to the costs incurred by the need for storage, whereas late-payment penalties are the contractual penalties result. It was proposed two new mathematical programming formulations to problem representation, the rst being an improved literature formulation, and the other a time-indexed formulation. It was also proposed an heuristic algorithm to determine the best production sequence. This algorithm is composed of two phases. At rst, it generates a solution based on GRASP, Proximate Optimality Principle and Variable Neighborhood Descent. In the second, it is the solution post-renement from the previous phase through another Variable Neighborhood Descent. In order to reduce the computational cost is further proposed a strategy to reduce the search space. Due to the instances particularity exist only one database in the literature for the problem approached, we generated two other new databases, one of them more generic. Computational experiments show that time-indexed formulation allows solving larger instances and more eciently when compared with others mathematical programming formulations. The heuristic algorithm was shown to be competitive with other literature algorithms, and having low computational cost as its ally. Thus, it was possible to resolve in computing time feasible, greater dimensions instances than those solved until this date. Keyword: Single-machine scheduling, Time-indexed formulation, GRASP, Proximate Optimality Principle, Variable Neighborhood Descent.

Sumrio a
Lista Lista Lista Lista de de de de Abreviaturas e Siglas Figuras . . . . . . . . Algoritmos . . . . . . Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii . x . xi . xii . . . . . . . . . . . . . . . 1 3 3 3 3 5 6 6 8 8 10 13 23 24 24 26 27

1 Introduo ca 1.1 Objetivos . . . . . . . . . . 1.1.1 Objetivo Geral . . . 1.1.2 Objetivos Espec cos 1.2 Motivao . . . . . . . . . . ca 1.3 Estrutura do Trabalho . . .

2 Problema Abordado e Mtodos de Resoluo e ca 2.1 Caracter sticas do PSUMAA-JE-TPD . . . . . . . . 2.2 Mtodos de Resoluo . . . . . . . . . . . . . . . . e ca 2.2.1 Mtodos Exatos . . . . . . . . . . . . . . . . e 2.2.2 Mtodos Heur e sticos . . . . . . . . . . . . . 2.2.3 Metaheur sticas . . . . . . . . . . . . . . . . 2.2.4 Estratgias de Intensicao . . . . . . . . . e ca 2.3 Trabalhos relacionados . . . . . . . . . . . . . . . . 2.3.1 PSUMAA com Datas de Entrega Comuns . 2.3.2 PSUMAA com Datas de Entrega Distintas . 2.3.3 PSUMAA com Janelas de Entrega Distintas

3 Formulaes de Programao Matemtica co ca a 29 3.1 Modelo de Gomes Jnior et al. (2007) - MPLIM-G . . . . . . . . . . . . . 29 u 3.2 Primeiro Modelo Proposto - MPLIM-BG . . . . . . . . . . . . . . . . . . . 30 3.3 Segundo Modelo Proposto - MPLIM-IT . . . . . . . . . . . . . . . . . . . . 31 4 Algoritmo Proposto 4.1 GPV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Representao de uma Soluo . . . . . . . . . . . . . . . . . . ca ca 4.3 Vizinhana de uma Soluo . . . . . . . . . . . . . . . . . . . c ca 4.4 Funo de Avaliao . . . . . . . . . . . . . . . . . . . . . . . ca ca 4.4.1 Algoritmo de Determinao das Datas Otimas de In ca cio samento das Tarefas . . . . . . . . . . . . . . . . . . . 4.5 Construo de uma Soluo . . . . . . . . . . . . . . . . . . . ca ca vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . de Proces. . . . . . . 35 . . . . . . . 38 33 33 33 33 35

4.6 4.7 4.8

VND1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 VND2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Reduo do Espao de Busca - GPV-REB . . . . . . . . . . . . . . . . . . 41 ca c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 44 46 47 47 48 49 50 54 56 58 60 62 64 65

5 Resultados Computacionais 5.1 Problemas-teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Resultados Obtidos com as Formulaes de Programaao Matemtica co c a 5.2.1 Primeira Bateria de Testes - BDS . . . . . . . . . . . . . . . . 5.2.2 Segunda Bateria de Testes - BDNS . . . . . . . . . . . . . . . 5.2.3 Terceira Bateria de Testes - BDDT . . . . . . . . . . . . . . . 5.3 Resultados Obtidos com os Algoritmos GPV e GPV-REB . . . . . . . 5.3.1 Denio dos Parmetros . . . . . . . . . . . . . . . . . . . . ca a 5.3.2 Primeira Bateria de Testes - BDS . . . . . . . . . . . . . . . . 5.3.3 Segunda Bateria de Testes - BDNS . . . . . . . . . . . . . . . 5.3.4 Terceira Bateria de Testes - BDDT . . . . . . . . . . . . . . . 5.4 Teste de Probabilidade Emp rica . . . . . . . . . . . . . . . . . . . . 6 Concluso a Publicaes co Referncias Bibliogrcas e a

vii

Lista de Abreviaturas e Siglas


ADDOIPT Algoritmo de Determinao das Datas Otimas de In de Processamento ca cio das Tarefas AE Algoritmos Evolutivos AG Algoritmos Genticos e BB Branch-and-Bound BL Busca Local EDD Earliest Due Date - data de entrega mais cedo FIFO First-In-First-Out - o primeiro que entrar o primeiro a sair e GRASP Greedy Randomized Adaptive Search Procedure - Procedimento de busca adaptativa gulosa e randomizada HC Heur sticas Construtivas ILS Iterated Local Search JIT Just in Time LRC Lista Restrita de Candidatos PD Programao Dinmica ca a PLIM Programao Linear Inteira Mista ca POP Princ pio da Otimalidade Prxima o PR Path Relinking - Reconexo por Caminhos a PSUMAA Problema de sequenciamento em uma mquina com penalidades por a antecipao e atraso na produo ca ca PSUMAA-JE-TPD PSUMAA com janelas de entrega distintas, tempos de setup dependentes da sequncia de produo e tempos ociosos entre as execues de tarefas e ca co consecutivas permitidos SA Simulated Annealing viii

SS Scatter Search TS Tabu Search - Busca Tabu VND Variable Neighborhood Descent - Busca em Vizinhana Varivel c a

ix

Lista de Figuras
1.1 2.1 2.2 2.3 2.4 4.1 5.1 5.2 5.3 5.4 5.5 Aplicao em uma indstria siderrgica. . . . . . . . . . . . . . . . . . . . ca u u Exemplo de dois posicionamentos distintos para as tarefas de sequncia de produo. . . . . . . . . . . . . . . . . . . . . . e ca Exemplo de vizinhana de uma soluo. . . . . . . . . . . . . c ca Comportamento das heur sticas de renamento. . . . . . . . Estrutura bsica de um Algoritmo Evolutivo. . . . . . . . . . a uma . . . . . . . . . . . . 4

mesma . . . . . 7 . . . . . 11 . . . . . 14 . . . . . 22

Exemplo de situao em que a estratgia de reduo do espao de busca ca e ca c e utilizada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Resultados dos testes para denio ca Resultados dos testes para denio ca Resultados dos testes para denio ca Resultados dos testes para denio ca Teste de probabilidade emp rica. . . de . . . . . . . de MRDmax. . . de VNDmax. . . de GRASPmax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 51 52 53 61

Lista de Algoritmos
1 2 3 4 5 6 7 8 9 10 11 12 Mtodo da descida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e Mtodo primeira melhora. . . . . . . . . . . . . . . . . . . . . . . . . . e Mtodo descida randmica. . . . . . . . . . . . . . . . . . . . . . . . . e o Busca em Vizinhana Varivel. . . . . . . . . . . . . . . . . . . . . . . c a GRASP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fase de construo de um algoritmo GRASP. . . . . . . . . . . . . . . ca Busca Tabu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulated Annealing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Iterated Local Search. . . . . . . . . . . . . . . . . . . . . . . . . . . . Mtodo GPV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e Algoritmo para determinar as datas timas de in de processamento o cio tarefas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Construo de uma soluo com POP. . . . . . . . . . . . . . . . . . . ca ca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . das . . . . . . 12 13 14 16 16 17 19 20 21 34 37 38

xi

Lista de Tabelas
4.1 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 Resultados apresentados pelas funes adaptativas gulosas testadas. . . . . 39 co Comparao MPLIM-G MPLIM-BG aplicados ` BDS. . . . . . . . . . . ca a Comparao MPLIM-G MPLIM-BG aplicados ` BDNS. . . . . . . . . . ca a Comparao MPLIM-G MPLIM-BG MPLIM-IT aplicados ` BDDT. . ca a Parmetros utilizados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a Comparao GPV Gomes Jnior (2007) Penna (2009) Ribeiro ca u (2009) aplicados ` BDS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . a Comparao GPV GPV-REB aplicados ` BDS. . . . . . . . . . . . . . . ca a Comparao GPV GPV-REB Ribeiro (2009) aplicados ` BDNS. . . . ca a Comparao GPV GPV-REB Ribeiro (2009) aplicados ` BDDT. . . . ca a Resultados do MPLIM-IT associado ao GPV. . . . . . . . . . . . . . . . . 47 48 49 53 55 56 57 59 60

xii

Cap tulo 1 Introduo ca


O surgimento do sistema de administrao Just in Time (JIT), que ocorreu nos meados ca da dcada de 70, evidenciou a importncia de um planejamento criterioso das atividades e a produtivas. Visando a reduo dos custos provenientes de processos produtivos, a losoa ca JIT desencoraja, alm dos atrasos, tambm as antecipaoes das tarefas. H antecipao e e c a ca de uma tarefa quando ela conclu antes da data desejada para sua entrega e h e da a atraso quando ela conclu aps tal data. Deste modo, ambas as situaes acarretam e da o co penalidades. De acordo com Liaw (1999), concluir uma tarefa com atraso pode resultar em multas contratuais, perda de credibilidade da empresa e reduo de vendas. Do mesmo modo, ca concluir uma tarefa antecipadamente pode resultar em custos nanceiros extras pela necessidade de disponibilizao antecipada de capital, necessidade de espao para armazeca c namento ou necessidade de outros recursos para manter e gerenciar o estoque (Frana c Filho, 2007). O problema de sequenciamento em uma mquina com penalidades por antecipao e a ca atraso da produo, de agora em diante denotado por PSUMAA, consiste em sequenciar ca e determinar o momento em que as tarefas devem ser executadas em uma mquina, com a o objetivo de minimizar a soma ponderada das antecipaes e dos atrasos na produo de co ca tais tarefas. Tal problema, segundo Baker & Scudder (1990), reete melhor ambientes de produo administrados conforme a losoa JIT. ca Outros objetivos relacionados a essa losoa de produo tambm so encontrados ca e a na literatura, entre eles: minimizar a soma das penalidades por antecipaes e atrasos co juntamente com os tempos ociosos gerados durante a produao das tarefas (Sourd, 2005), c minimizar a soma da maior antecipao com o maior atraso ocorridos na sequncia de ca e execuo das tarefas (Tavakkoli-Moghaddam et al., 2006) e minimizar a soma dos quadraca dos das antecipaes e dos atrasos ocorridos no decorrer do processo de produo (Weng co ca & Ventura, 1996; Mondal, 2002). Com relao `s datas de entrega das tarefas, o PSUMAA pode ser dividido em trs ca a e variantes: (i ) datas de entrega comuns (common due date): todas as tarefas devem ser, preferencialmente, conclu das em uma unica data pr-determinada; e (ii ) datas de entrega distintas (distinct due dates): existe uma data de entrega espec ca associada a cada tarefa, na qual a tarefa deve ser preferencialmente conclu da; 1

CAP ITULO 1. INTRODUCAO

(iii ) janelas de entrega distintas (distinct due windows): h um determinado per a odo de tempo associado a cada tarefa, dentro do qual a tarefa deve ser preferencialmente conclu da. O caso de janelas de entrega distintas ocorre quando existem tolerncias em torno a das datas desejadas para a entrega de cada tarefa (Koulamas, 1996). Estas tolerncias a esto relacionadas `s caracter a a sticas individuais das tarefas e inuenciam nos tamanhos das janelas de entrega. As tarefas conclu das dentro de suas respectivas janelas de entrega no a incorrem em nenhuma penalidade. J aquelas conclu a das fora de suas janelas de entrega, so penalizadas. A produo de bens perec a ca veis um exemplo relacionado. Assuma e que um fabricante de produtos qu micos combina uma certa substncia A, que deteriora a rapidamente, com uma segunda substncia B para produzir um produto C. Se A for a produzida sucientemente antes de B, ela deteriorar. Por outro lado, se A for produzida a muito depois de B, o custo da produo de C ser maior. ca a Nas indstrias em que so produzidos diferentes tipos de produtos e existe uma troca u a frequente do tipo de tarefa executada em uma mquina, aps a concluso de uma tarefa, a o a geralmente necessrio preparar a mquina antes do in da execuo da tarefa seguinte e a a cio ca (Allahverdi et al., 1999). Este tempo de preparao, chamado tempo de setup, inclui os ca tempos gastos para trocar as ferramentas, preparar o material, limpar a mquina etc. A a maioria dos trabalhos em problemas de sequenciamento assume que os tempos de setup so independentes da sequncia de produo, isto , que eles so desprez a e ca e a veis ou podem ser acrescentados aos tempos de processamento das tarefas (Gupta & Smith, 2006). No entanto, de acordo com Panwalkar et al. (1973), apud Gupta & Smith (2006), em grande parte das situaes prticas, tais tempos so dependentes da sequncia de produo. Chco a a e ca ristofoletti (2002) cita o exemplo de uma fbrica de papel que produz diversos tipos de a folhas com diferentes cores, espessuras e texturas e que realiza frequentemente a preparaco de certas mquinas para obter os diferentes tipos de produtos. Em problemas como a a este, os tempos de setup variam de acordo com sequncia de produo e representam uma e ca parcela de tempo considervel em relao ao tempo total de processamento. Portanto, a ca eles no podem ser desconsiderados. a Consideraes sobre a continuidade do funcionamento da mquina tambm podem ser co a e impostas ao PSUMAA. Parte dos trabalhos da literatura no permite a insero de tempos a ca ociosos na sequncia de produo (Chang, 1999). Conforme Li (1997), existem casos em e ca que o custo por manter a mquina inativa maior que o preo pago pela antecipao de a e c ca uma tarefa e, neste caso, vale a pena antecipar a produo. Outra situao em que isto ca ca ocorre quando a capacidade da mquina inferior ` demanda. No entanto, h casos em e a e a a que vale a pena manter a mquina parada, mesmo que exista uma tarefa dispon para a vel ser processada (Souza et al., 2008). Este trabalho trata o PSUMAA com janelas de entrega distintas, tempos de preparao ca dependentes da sequncia de produo e so permitidos tempos ociosos entre as execues e ca a co de tarefas consecutivas. Para clareza de entendimento e evitar dvidas, o PSUMAA u com tais caracter sticas ser doravante denotado por PSUMAA-JE-TPD. Apesar de este a problema ser uma generalizao do PSUMAA, ele no tem recebido a ateno merecida ca a ca na literatura.

Motivao ca

1.1

Objetivos

Nesta Seo so apresentados os objetivos deste trabalho. ca a

1.1.1

Objetivo Geral

Este trabalho trata o problema de sequenciamento de tarefas em uma mquina com a penalidades por antecipao e atraso da produo na sua forma mais genrica. O objetivo ca ca e principal desenvolver um algoritmo heur e stico robusto e capaz de encontrar solues de co boa qualidade para tal problema em tempo de execuo vivel. ca a

1.1.2

Objetivos Espec cos

Com a nalidade de alcanar o objetivo geral, os seguintes objetivos espec c cos foram traados: c Fazer um levantamento dos trabalhos da literatura que tratam o problema abordado e problemas relacionados, bem como os mtodos utilizados para resolv-los; e e Gerar novos conjuntos de problemas-teste do problema em estudo; Desenvolver um algoritmo heur stico para resolver o problema; Desenvolver novos modelos de programao matemtica para representar o problema ca a abordado; Resolver os problemas-teste de dimenses menores por meio dos modelos de prograo mao matemtica desenvolvidos e dispon ca a veis na literatura; Resolver os problemas-teste dispon veis por meio do algoritmo heur stico implementado e, em seguida, analisar e discutir os resultados encontrados. Divulgar os resultados do trabalho em eventos cient cos, bem como em peridicos o especializados.

1.2

Motivao ca

O PSUMAA com janelas de entregas distintas e tempos de setup dependentes da sequncia de produo possui muitas aplicaes prticas em indstrias metalrgicas, txe ca co a u u e teis, de tintas, entre outras. O caso real de uma indstria siderrgica tratado em Bustau u e mante (2007). Em tal trabalho, uma mquina considerada como sendo uma sequncia a e e de laminadores e cada tarefa representa a produo de um determinado produto (barra ca chata, cantoneira, vergalho etc.). Antes da fabricao de cada produto, necessrio a ca e a realizar um conjunto de ajustes de mesma natureza na sequncia de laminadores. Ese tes ajustes dependem do produto a ser fabricado e do produto fabricado anteriormente. Como cada ajuste exige um tempo de execuo, a soma destes tempos congura o tempo ca de setup. Esta situao ilustrada na Figura 1.1. ca e

Motivao ca

Figura 1.1: Aplicao em uma indstria siderrgica. ca u u

Alm do grande nmero de aplicaes, associado ao PSUMAA est a diculdade de e u co a resolv-lo de forma tima. Tal diculdade cresce fatorialmente ` medida em que se aue o a menta a quantidade de tarefas a serem sequenciadas. Esta unio entre aplicabilidade e a diculdade de resoluo motiva o desenvolvimento de algoritmos ecientes para resolv-lo. ca e A utilizao de mtodos exatos pode demandar um tempo proibitivo para encontrar ca e a soluo tima do PSUMAA, mesmo para problemas de mdio porte. Isso justica a ca o e utilizao de algoritmos heur ca sticos, que so procedimentos capazes de encontrar uma a boa soluo, no necessariamente a soluo tima, em tempo computacional vivel. ca a ca o a Neste trabalho so utilizados o GRASP (Feo & Resende, 1995) e o Princ a pio da Otimalidade Prxima (Glover & Laguna, 1997) como base para o algoritmo proposto devido o aos seguintes motivos: o primeiro por ser uma metaheur stica que possui poucos parmea tros para serem ajustados e que se mostrou eciente na resoluo de diversos problemas ca combinatrios e o segundo, para renar as solues parciais e, assim, reduzir o custo o co computacional da fase de busca local do GRASP. O desenvolvimento de novas formulaes de programao matemtica para o proco ca a blema motivada pelo fato de existir na literatura apenas um modelo que representa e o PSUMAA-JE-TPD. A utilizao de um modelo indexado no tempo motivada pelo ca e trabalho de de Paula (2008), o qual utilizou tal modelagem num problema semelhante e obteve bons resultados. Uma formulao de programao matemtica similar ` de Gomes ca ca a a Jnior (2007), porm com menor nmero de variveis e de restries, tambm proposta u e u a co e e na esperana de que ela possibilite resolver problemas de maiores dimenses, quando c o comparada ` formulao de tais autores. a ca

Motivao ca

1.3

Estrutura do Trabalho

O restante deste trabalho est organizado como segue. a No Cap tulo 2 feita uma descrio detalhada do PSUMAA-JE-TPD. Um resumo e ca das principais tcnicas pertinentes ` resoluo desse problema tambm apresentado. e a ca e e O cap tulo encerrado com a descrio dos trabalhos mais relevantes da literatura em e ca relao ao PSUMAA-JE-TPD. ca A formulao de programao matemtica proposta por Gomes Jnior (2007) para ca ca a u representar o problema, uma nova formulao baseada nesta ultima e um modelo de ca programao matemtico indexado no tempo so apresentados no Cap ca a a tulo 3. No Cap tulo 4 apresentado o algoritmo heur e stico proposto para resolver o PSUMAAJE-TPD. Os resultados computacionais obtidos com as formulaes de programao matemtica co ca a propostas e com o algoritmo heur stico desenvolvido so apresentados e discutidos no a Cap tulo 5. O Cap tulo 6 conclui o trabalho.

Cap tulo 2 Problema Abordado e Mtodos de e Resoluo ca


Neste cap tulo feita uma apresentao das caracter e ca sticas do problema abordado, seguida pela apresentao dos mtodos existentes para resolver problemas similares. Na ca e Seo 2.3 feita uma reviso da literatura relacionada ao PSUMAA-JE-TPD e problemas ca e a correlatos.

2.1

Caracter sticas do PSUMAA-JE-TPD

O problema de sequenciamento de tarefas em uma mquina tratado neste trabalho a (PSUMAA-JE-TPD) possui as seguintes caracter sticas: Uma mquina deve processar um conjunto I de n tarefas; a Associado a cada tarefa i I est: a um tempo de processamento Pi ; uma janela de entrega [Ei , Ti ] dentro da qual a tarefa i deve ser preferencialmente conclu da; um custo i por unidade de tempo de antecipao; ca um custo i por unidade de tempo de atraso; H antecipao de uma tarefa i I quando seu processamento conclu antes de a ca e do Ei ; H atraso de uma tarefa i I quando seu processamento conclu depois de Ti ; a e do As tarefas que forem conclu das dentro de suas respectivas janelas de entrega no a geram penalidades; A mquina executa no mximo uma tarefa por vez e uma vez iniciado o processaa a mento de uma tarefa, no permitida a sua interrupo; a e ca Todas as tarefas esto dispon a veis para processamento na data 0; 6

CAP ITULO 2. PROBLEMA ABORDADO E METODOS DE RESOLUCAO

Entre duas tarefas i e j I consecutivas necessrio um tempo Sij de preparao e a ca da mquina, chamado tempo de setup. Assume-se que o tempo de preparao da a ca mquina para o processamento da primeira tarefa na seqncia igual a 0; a ue e E permitido tempo ocioso entre a execuo de duas tarefas consecutivas. ca O objetivo determinar uma sequncia de produo e as datas de in de produo e e ca cio ca das tarefas de forma a minimizar a soma ponderada das antecipaes e atrasos. co E interessante observar que no objetivo do PSUMAA-JE-TPD est embutido dois a subproblemas que devem ser resolvidos paralelamente. Um deles determinar a sequncia e e de produo, isto , determinar a ordem em que as tarefas sero realizadas. O outro ca e a subproblema consiste em programar a data de in de produao de cada tarefa de forma cio c que a soma ponderada das antecipaes e atrasos seja a menor poss co vel. A Figura 2.1 ilustra dois posicionamentos poss veis para as tarefas de uma mesma sequncia de produo envolvendo trs tarefas. No primeiro posicionamento, as datas de e ca e in de processamento das tarefas foram programadas de modo que a tarefa 3 conclu cio e da antecipadamente, acarretando em penalidade por antecipao, e a tarefa 2 dentro de sua ca janela de entrega, no gerando penalidades. J no segundo posicionamento, as datas de a a in de processamento das tarefas foram programadas de forma que a tarefa 2 conclu cio e da com atraso, gerando penalidade, e a tarefa 3 conclu dentro de sua janela de entrega, e da no agregando penalidade. Nesta gura, tambm so ilustrados os tempos de setup e de a e a ociosidade de mquina. De acordo com os valores de penalidade incorridos, um destes a posicionamentos ser o mais adequado para as tarefas desta sequncia. a e
Posicionamento 1
mquina

Tempos de preparao da mquina


Tarefa 1 Tarefa 3 Tarefa 2

E1

T1

E2

T2

E3

T3

tempo

Posicionamento 2
mquina

Tempos ociosos Tempos de preparao da mquina


Tarefa 1 Tarefa 3 Tarefa 2

E1

T1

E2

T2

E3

T3

tempo

Figura 2.1: Exemplo de dois posicionamentos distintos para as tarefas de uma mesma sequncia e de produo. ca

CAP ITULO 2. PROBLEMA ABORDADO E METODOS DE RESOLUCAO

2.2

Mtodos de Resoluo e ca

O problema de sequenciamento de tarefas , em seu caso geral, de natureza combie natria. Apesar de possuir dom o nio nito (para um problema com n tarefas existem n! sequncias poss e veis) e de simples enumerao, a ideia de testar todas as poss ca veis sequne cias computacionalmente invivel, mesmo para uma quantidade moderada de tarefas. e a Por exemplo, para o problema com 16 tarefas, um computador que avalia uma sequncia e em aproximadamente 106 segundos, gastaria mais de 8 meses para encontrar a melhor sequncia. e O PSUMAA com datas de entrega comum NP-dif (Baker & Scudder, 1990), ou e cil seja, ainda no conhecido nenhum algoritmo de complexidade polinomial que o resolva. a e Como o caso de datas de entrega comum pode ser visto como um caso particular do problema abordado neste projeto, tem-se que o PSUMAA-JE-TPD tambm NP-dif e e cil. Os mtodos utilizados para resolver problemas combinatrios, e consequentemente e o o PSUMAA, podem ser divididos em dois grupos distintos: mtodos exatos e mtodos e e heur sticos. Estes mtodos so descritos nas sees seguintes. e a co

2.2.1

Mtodos Exatos e

Os mtodos exatos so algoritmos determin e a sticos, fundamentados em programao ca matemtica e capazes de encontrar a soluo tima de um problema. Uma soluo a ca o ca e dita globalmente tima, ou simplesmente tima, se, sob um certo critrio de otimizao, o o e ca no existir outra soluo para o problema com o valor melhor que o dela. Os algoritmos a ca exatos varrem, implicitamente ou no, o conjunto das solues poss a co veis para um problema e armazenam a melhor soluo encontrada, por isso tem-se a garantia de que a soluo ca ca retornada , ou no , uma soluo tima do problema tratado. Alm disso, poss e a e ca o e e vel mensurar o quanto a melhor soluo encontrada at um dado instante inferior ` poss ca e e a vel soluo tima. ca o Apesar de serem capazes de encontrar a soluo tima de um problema, devido ao ca o elevado custo computacional, esses mtodos so limitados ` resoluo de problemas de e a a ca pequeno porte. Como exemplicado anteriormente, para problemas combinatrios, o no u mero de solues poss co veis cresce abruptamente ` medida em que se aumenta a dimenso a a do problema. Deste modo, a simples enumerao das soluoes, ainda que implicitamente, ca c se torna invivel para problemas de dimenso mediana. a a Os mtodos exatos ainda possuem como desvantagens: modelagem mais complexa e e nem sempre conseguem encontrar uma soluo vivel rapidamente. Apesar de suas ca a limitaes, os algoritmos exatos so de grande importncia na validao de algoritmos co a a ca no exatos. a A seguir feita uma breve apresentao de alguns dos mtodos exatos j utilizados e ca e a para resolver o PSUMAA. Enumerao Total ca O mtodo de enumerao total o mais intuitivo e simples de se implementar entre e ca e os algoritmos exatos. Ele consiste em enumerar todas as solues poss co veis e compar-las a

CAP ITULO 2. PROBLEMA ABORDADO E METODOS DE RESOLUCAO

entre si. A melhor soluo retornada. Este mtodo fortemente limitado aos problemas ca e e e com poucas tarefas. Branch-and-Bound O mtodo Branch-and-Bound (BB) um algoritmo de enumerao impl e e ca cita, ou seja, um mtodo dotado de uma certa sabedoria, que retorna a soluo tima de um problema e ca o de otimizao mesmo enumerando apenas parte do conjunto de solues poss ca co veis. O BB baseado no paradigma de diviso e conquista. Tal paradigma consiste em dividir o e a problema a ser resolvido em partes menores, encontrar solues para as partes, e ento co a combinar as solues obtidas em uma soluo global (Ziviane, 2004). co ca De acordo com Gray et al. (1997), o mtodo inicia-se considerando o problema original e com todas as poss veis solues, dito problema raiz. Em seguida, so aplicados procedico a mentos que calculam limitantes superior e inferior para o problema raiz. Se estes limites forem iguais, ento uma soluo tima foi encontrada e o procedimento termina. Caso a ca o contrrio, o problema dividido em subproblemas menores. Estes subproblemas se tora e nam lhos do problema raiz. O algoritmo aplicado recursivamente, gerando assim uma e rvore de subproblemas. Quando a soluo tima de um subproblema encontrada, os a ca o e demais subproblemas deixam de ser considerados, ou seja, eles so eliminados da rvore de a a subproblemas. A busca continua at que todos os subproblemas sejam resolvidos ou elie minados, ou at atingir um dado limiar entre a melhor soluo encontrada e os limitantes e ca inferiores de todos os subproblemas no resolvidos. a Um limitante superior para um problema de minimizao um valor superior ou igual ca e ao valor timo deste problema. O valor da funo objetivo de qualquer soluo fact o ca ca vel, por exemplo, um limitante superior para o problema. Analogamente, um limitante e inferior para este problema um valor para o qual tem-se a garantia de que a soluo e ca tima superior ou igual a ele. o e Para o clculo de limites superiores podem ser utilizadas heur a sticas, enquanto os limites inferiores so geralmente obtidos por relaxao do problema original. Relaxar um a ca problema consiste em considerar apenas parte de suas restries. Deste modo, tem-se co que a soluo do problema original tambm uma soluo para o problema relaxado. ca e e ca Esta tcnica parte do princ e pio de que o problema relaxado mais fcil de ser resolvido e a quando comparado com o problema original. Dentre as tcnicas de relaxao existentes, e ca a mais utilizada na resoluo do PSUMAA a relaxao lagrangeana. A tcnica de ca e ca e relaxao lagrangeana consiste em adicionar um conjunto de restries ` funo objetivo ca co a ca do problema original e resolver o problema relaxado iterativamente. Cada restrio ca e adicionada com um determinado peso, denominados multiplicadores de Lagrange. Programao Dinmica ca a A tcnica de programao dinmica (PD) consiste em dividir o problema em sube ca a problemas. O clculo das solues dos subproblemas feito a partir dos subproblemas a co e menores para os maiores e os resultados so armazenados em uma tabela. Deste modo, a uma vez que um subproblema resolvido, a resposta armazenada em uma tabela e nunca e e mais recalculada. De acordo com Ziviane (2004), a PD indicada quando a diviso de e e a um problema de tamanho n resulta em n subproblemas de tamanho n 1 facilmente resolv veis.

CAP ITULO 2. PROBLEMA ABORDADO E METODOS DE RESOLUCAO

10

2.2.2

Mtodos Heur e sticos

Como dito anteriormente, o PSUMAA pertence ao conjunto dos problemas de otimizao combinatria, para os quais encontrar uma soluao tima de forma exata uma ca o c o e tarefa dif cil. Mesmo com a utilizao de estratgias que reduzem o espao de busca (ver ca e c seo 2.2.1), haver sempre uma quantidade de tarefas a partir da qual a utilizao de ca a ca mtodos exatos necessita de um tempo de processamento invivel. Alm disso, na maioria e a e das situaes prticas, mais interessante encontrar rapidamente uma boa soluo, ao co a e ca invs de perder tempo ` procura da soluo tima. Por isso, os mtodos heur e a ca o e sticos tm e sido muito utilizados na resoluo de problemas de natureza combinatria. ca o Souza (2008) dene heur stica como sendo uma tcnica inspirada em processos intuie tivos que procura uma boa soluo a um custo computacional aceitvel, sem, no entanto, ca a estar capacitada a garantir sua otimalidade, bem como garantir quo prximo est da a o a soluo tima. ca o Segundo Weise (2008), uma heur stica uma parte de um algoritmo de otimizao que e ca usa informaes conhecidas para ajudar a decidir qual soluo candidata ser a prxima co ca a o a ser testada ou qual a prxima soluo a ser produzida. Normalmente, as heur o ca sticas so a dependentes das classes de problemas. Ainda de acordo com Weise (2008), normalmente empregam-se heur sticas em algoritmos determin sticos para denir a ordem de processo das soluoes candidatas. J algoritc a mos probabil sticos podem considerar somente os elementos do espao de busca que foram c selecionados por uma heur stica. Isto se deve ao fato de que, apesar de no garantirem a a otimalidade da soluo obtida, os mtodos heur ca e sticos so de fcil implementao e podem a a ca gerar boas solues rapidamente. co Deste modo, uma heur stica pode ser vista como uma tcnica que se utiliza de informae ces particulares dos problemas para encontrar boas solues a baixo custo computacional. o co As heur sticas podem ser divididas em duas classes diferentes: heur sticas construtivas e heur sticas de renamento. As sees seguintes so destinadas a descrever tais classes. co a Heur sticas Construtivas Heur sticas construtivas (HC) so algoritmos que tm por objetivo a construo de uma a e ca soluo de forma incremental. A cada passo um elemento inserido na soluo parcial de ca e ca acordo com uma funo de avaliao, que por sua vez depende do problema em questo, ca ca a at gerar uma soluo completa. Nas heur e ca sticas clssicas, os elementos candidatos so a a geralmente ordenados segundo uma funo gulosa, que estima o benef da insero de ca cio ca cada elemento, e somente o melhor elemento inserido a cada passo (Souza, 2008). e As HC gulosas (heur sticas que utilizam uma funo gulosa) so determin ca a sticas e muito utilizadas para gerar solues iniciais que, possivelmente, sero melhoradas por outros co a procedimentos heur sticos, ou seja, as solues gulosas podem ser utilizadas como um co limiar superior da soluo. ca Uma heur stica construtiva frequentemente encontrada na literatura para o PSUMAA com datas de entrega distintas a EDD (Earliest Due Date - data de entrega mais cedo). e A EDD avalia uma tarefa de acordo com a data de in cio da sua respectiva janela de entrega. A cada passo, a tarefa com menor data de entrega e ainda no sequenciada a e inserida no nal da subsequncia corrente. O algoritmo interrompido quando no houver e e a mais tarefa a ser sequenciada.

CAP ITULO 2. PROBLEMA ABORDADO E METODOS DE RESOLUCAO

11

Outra maneira de se construir uma soluo de forma aleatria, ou seja, em cada ca e o passo, o elemento que ser inserido na soluo parcial escolhido aleatoriamente dentre os a ca e elementos que ainda esto fora dela. Este mtodo bastante utilizado devido sua facilidade a e e de implementao e por gerar solues diferentes, isto , no determin ca co e a e stico. Porm, e testes emp ricos mostram que as solues obtidas geralmente so de baixa qualidade e, co a por isso, necessitam de um esforo maior na fase de renamento (Souza, 2008). c Heur sticas de Renamento As heur sticas de renamento so algoritmos que tm por objetivo melhorar uma dada a e soluo inicial por meio de modicaes em suas componentes. Uma soluo inicial pode ca co ca ser obtida, por exemplo, atravs de uma HC. As heur e sticas pertencentes a esta classe tambm so conhecidas como tcnicas de busca local (BL) e so baseadas na noo de e a e a ca vizinhana. c Seja S o conjunto de todas as solues poss co veis para um determinado problema de otimizao e f : S R a funo objetivo a ser minimizada1 . Uma vizinhana qualquer ca ca c e funo V : S P (S), onde P (S) representa o conjunto das partes de S. Isto , vizinhana ca e c uma funo que leva cada soluo s S em um subconjunto V (s) S. Um elemento e ca ca s V (s) dito um vizinho de s. Todo vizinho s V (s) obtido de s por meio de uma e e operao m, denominada movimento. Esta operao representada por s s m. ca ca e A Figura 2.2 ilustra a noo de vizinhana. Nela, V (s) = {s1 , s2 , s3 , s4 , s5 , s6 } repreca c senta a vizinhana da soluo s S. Os movimentos que levam s a cada um dos seus c ca vizinhos so representados pelas setas. a
V(s) ={s , s , s , s , s , s }
1 2 3 4 5 6

s s
5

s
6

s3

s2

Figura 2.2: Exemplo de vizinhana de uma soluo. c ca

O movimento de troca da ordem de processamento de duas tarefas , por exemplo, um e movimento que dene uma poss vizinhana para o PSUMAA. Segundo este movimento, vel c a vizinhana de uma soluo s S o conjunto das solues s S obtidas de s por meio c ca e co da troca da ordem de processamento entre duas tarefas.
Caso o problema seja de maximizao, ele pode ser facilmente transformado em um problema equica valente de minimizao. ca
1

CAP ITULO 2. PROBLEMA ABORDADO E METODOS DE RESOLUCAO

12

Dada uma vizinhana, as tcnicas de BL clssicas consistem em caminhar iterativac e a mente de vizinho para vizinho, tentando melhorar a soluo constru ca da. Claramente, uma BL sens a vizinhana adotada. Deste modo, a escolha de uma vizinhana que pere vel c c mite chegar em qualquer soluo do espao de busca, a partir de qualquer outra soluo ca c ca deste espao e em um nmero nito de iteraes, de fundamental importncia para o c u co e a sucesso da tcnica. e Outros conceitos importantes surgem com a noo de vizinhana. ca c Sejam f , V e S como denidos anteriormente. Dizemos que uma soluo s S um ca e m nimo local com relao ` vizinhana V se f (s) f (s ) para todo s V (s). Se uma ca a c soluo s S tal que f (s ) f (s ), para todo s S, s dito um m ca e e nimo global. As heur sticas de renamento clssicas so: mtodo da descida, mtodo de primeira a a e e melhora e mtodo de descida randmica. e o Dadas uma vizinhana e uma soluo inicial, iterativamente, o mtodo da descida c ca e analisa todos os vizinhos da soluo corrente e o melhor vizinho selecionado. Se o ca e melhor vizinho representar uma soluo melhor que a corrente, ele passa a ser a soluo ca ca corrente. Caso contrrio, o mtodo pra. Portanto a soluo retornada um timo local a e a ca e o em relao a vizinhana adotada. ca c O mtodo da descida descrito no Algoritmo 1, no qual f a funo a ser minimizada, e e e ca V uma vizinhana e s uma soluo inicial. e c ca procedimento Descida(f (.), V (.), s) V {s V (s) | f (s ) < f (s)}; enquanto (|V | > 0) faa c Selecione s V , onde s = arg min{f (s) | s V }; s s ; V {s V (s) | f (s ) < f (s)}; m-enquanto; Retorne s; m Descida; Algoritmo 1: Mtodo da descida. e

1 2 3 4 5 6 7

Como o mtodo da descida analisa toda a vizinhana em cada iterao, ele demanda e c ca muito tempo computacional para resolver problemas de maior dimenso. Isto torna nea cessrio tcnicas alternativas para estes casos. a e O mtodo de primeira melhora (rst improvement method) uma variante do mtodo e e e da descida e evita a busca exaustiva pelo melhor vizinho. Neste mtodo, a explorao da e ca vizinhana interrompida quando um vizinho melhor encontrado. Quando isto aconc e e tece, a soluo corrente atualizada e a explorao da nova vizinhana inicializada. ca e ca c e Deste modo, toda a vizinhana explorada apenas no pior caso, ou seja, quando somente c e o ultimo vizinho de melhora ou todos os vizinhos no so de melhora. O mtodo inter e a a e e desejvel que a ordem de explorao rompido quando um m nimo local encontrado. E e a ca das solues vizinhas seja alterada a cada passo. Do contrrio, privilegia-se apenas um co a caminho determin stico no espao de solues (Souza, 2008). c co O Algoritmo 2 representa o mtodo primeiro de melhora. A funo a ser minimizada e ca f , a vizinhana V e a soluo inicial s so os dados de entrada do mtodo. c ca a e

CAP ITULO 2. PROBLEMA ABORDADO E METODOS DE RESOLUCAO

13

2 3 4 5 6 7 8

9 10 11 12

procedimento Primeira Melhora(f (.), V (.), s) continua nao ; /* Verifica se a busca na vizinhana corrente pode ser c interrompida */ c enquanto (continua = nao) faa continua sim; c para (s V (s)) faa se (f (s ) < f (s)) ento a s s ; continua nao; ca c e Sai do para; /* A explora~o da vizinhana interrompida para explorar a vizinhana da nova solu~o corrente */ c ca m-se; m-para; m-enquanto; Retorne s; m Primeira Melhora; Algoritmo 2: Mtodo primeira melhora. e

Uma outra alternativa para se evitar a busca exaustiva de toda a vizinhana o c e mtodo de descida randmica. Este mtodo tambm uma variante do mtodo da descida. e o e e e e Iterativamente, um vizinho escolhido de forma aleatria e analisado. Se este vizinho e o for de melhora, ele passa a ser a soluo corrente. Caso contrrio, a soluo corrente ca a ca permanece a mesma e passa-se para a prxima iterao. O algoritmo interrompido aps o ca e o um nmero pr-determinado de iteraes sem melhora na soluo corrente. u e co ca A soluo retornada pelo mtodo randmico de descida no necessariamente um ca e o a e timo local, pois nesta tcnica nem todos os vizinhos da soluo corrente so explorados. o e ca a O renamento de uma soluo s por meio do mtodo randmico de descida, num ca e o problema de minimizao de uma funo f , representado pelo Algoritmo 3. A vizinhana ca ca e c V e o nmero mximo de iteraes sem melhora IterMax tambm so dados de entrada u a co e a do mtodo. e

2.2.3

Metaheur sticas

Como visto na Seo 2.2.2, as heur ca sticas de renamento clssicas so fortemente a a dependentes da soluo inicial e sempre convergem para o primeiro timo local em relao ca o ca ` vizinhana adotada. Isto um grande problema, pois um otimo local em relao a uma a c e ca determinada vizinhana pode no ser o timo global do problema. c a o A Figura 2.3 ilustra o comportamento das heur sticas de renamento para o problema de minimizao de uma funo f . Observe que os timos locais encontrados a partir de ca ca o s1 e s3 no correspondem ao timo global, ao contrrio do timo local relativo ` s2 . a o a o a Como o objetivo encontrar solues o mais prximo da tima poss e em tempo e co o o vel reduzido, torna-se necessrio a utilizao de algoritmos dotados de certa inteligncia, a ca e que sejam capazes de encontrar timos locais, mas escapar destes em busca de um timo o o global. Tais algoritmos so comumente chamados de metaheur a sticas.

CAP ITULO 2. PROBLEMA ABORDADO E METODOS DE RESOLUCAO

14

1 2 3 4 5 6 7 8 9 10

procedimento Descida Randomica(f (.), V (.), IterMax , s) Iter 0 ; /* Contador de itera~es sem melhora */ co enquanto (Iter < IterMax) faa c Iter Iter + 1; Selecione aleatoriamente s V (s); a se (f (s ) < f (s)) ento Iter 0 ; s s ; m-se; m-enquanto; Retorne s; m Descida Randomica; Algoritmo 3: Mtodo descida randmica. e o
f

s2 s1 s3 s1 ' s3 ' s2' = s* Espao de Solues

Figura 2.3: Comportamento das heur sticas de renamento.

De acordo com Weise (2008), uma metaheur stica um mtodo heur e e stico para resolver uma classe mais geral de problemas. Ela combina funes objetivo ou heur co sticas de um modo abstrato e esperanosamente eciente, normalmente sem utilizar conhecimentos c mais profundos do problema, isto , tratando-o como uma caixa-preta. e Para Ribeiro (1996), as metaheur sticas so procedimentos destinados a encontrar a uma boa soluo, eventualmente a tima, consistindo na aplicao, em cada passo, de ca o ca uma heur stica subordinada, a qual tem que ser modelada para cada problema espec co. Portanto, neste trabalho considera-se que uma metaheur stica um algoritmo de cae rter geral, ao contrrio das heur a a sticas convencionais, com capacidade de escapar de m nimos locais e encontrar o m nimo global de um problema. Uma metaheur stica se diferencia de outra basicamente pela tcnica utilizada para fugir e de um timo local. A forma com que exploram o espao de busca divide as metaheur o c sticas em duas categorias distintas: uma baseada em busca local e a outra baseada em busca populacional. As metaheur sticas fundamentadas em busca local exploram o espao de busca elec

CAP ITULO 2. PROBLEMA ABORDADO E METODOS DE RESOLUCAO

15

mento a elemento, utilizando a noo de vizinhana, a qual varia de acordo com problema ca c abordado (ver Seo 2.2.2). J os mtodos baseados em busca populacional partem de ca a e um conjunto de solues e aplicam, nestas solues, operadores que visam a melhoria de co co todo o conjunto. A seguir sero apresentadas algumas metaheur a sticas clssicas. a Busca em Vizinhana Varivel c a Proposto por Mladenovi & Hansen (1997), a Busca em Vizinhana Varivel (Variable c c a Neighborhood Descent, VND) um mtodo de busca local que consiste em explorar o e e espao de busca por meio de trocas sistemticas de vizinhanas. c a c Conforme esses autores, o VND baseado nos trs princ e e pios bsicos apresentados a a seguir, sendo que o ultimo deles de natureza emp e rica e sugere que um timo local o fornece informaes importantes sobre o timo global. co o Um timo local em relao ` uma dada vizinhana pode no ser um timo local o ca a c a o relativo ` outra vizinhana; a c Um timo global um timo local em relao a todas as poss o e o ca veis vizinhanas; c Para muitos problemas, timos locais com relao a uma ou mais vizinhanas so o ca c a relativamente prximos. o O mtodo VND clssico recebe como entrada uma soluo inicial e um conjunto nito e a ca e ordenado de vizinhanas. A cada iterao, uma vizinhana explorada at que se c ca c e e encontre um timo local em relao ` ela. Se este timo local representar uma melhora na o ca a o soluo corrente, ele aceito e retorna-se ` primeira vizinhana. Caso contrrio, passa-se ca e a c a a explorar a vizinhana seguinte. O mtodo pra quando um otimo local em relao a c e a ca todas as vizinhanas encontrado. c e O Algoritmo 4 representa o mtodo VND bsico. Nele considerado o problema de e a e (1) minimizao de uma funo f , dados um conjunto V = {V , V (2) , . . . , V (r) }, composto ca ca de r vizinhanas diferentes, e uma soluo inicial s. c ca Segundo Souza (2008), dependendo do problema abordado, a busca pelo timo local o (linha 3 do Algoritmo 4) pode ser custosa computacionalmente. Nesta situao, comum ca e fazer a busca pela primeira soluo de melhora (ver Seo 2.2.2). Outra alternativa ca ca e considerar a explorao apenas em um certo percentual da vizinhana, sendo este perca c centual um parmetro do mtodo. Uma terceira alternativa, bastante utilizada nestas a e situaes, aplicar o mtodo randmico de descida (tambm descrito na Seo 2.2.2) em co e e o e ca cada vizinhana explorada. c Mais informaes sobre o VND podem ser encontradas em Mladenovi & Hansen co c (1997) e Hansen & Mladenovir (2003), dentre outros trabalhos. c GRASP O GRASP (Greedy Randomized Adaptive Search Procedure - Procedimento de busca adaptativa gulosa e aleatria) um mtodo iterativo, proposto por Feo & Resende (1995), o e e constitu basicamente de duas fases: uma fase de construo e outra de busca local. Na do ca fase de construo, uma soluo gerada, elemento a elemento, de forma parcialmente ca ca e

CAP ITULO 2. PROBLEMA ABORDADO E METODOS DE RESOLUCAO

16

1 2 3 4 5 6 7 8 9 10 11

procedimento VND(f (.), V (.), r, s) k1; /* Vizinhana corrente */ c enquanto (k r) faa c Encontre o melhor vizinho s V (k) (s); se (f (s ) < f (s)) ento a ss; k1 seno a k k+1 m-se m-enquanto; Retorne s; m VND; Algoritmo 4: Busca em Vizinhana Varivel. c a

gulosa. J a fase de busca local consiste em renar a soluao constru na primeira a c da fase. Este procedimento repetido GRASPmax vezes e a melhor soluo encontrada e ca e retornada como resultado. O Algoritmo 5 descreve o procedimento bsico do GRASP aplicado ao problema de a minimizao de uma funo f . A funo adaptativa gulosa g, a vizinhana V , GRASPmax ca ca ca c e so os parmetros do mtodo. a a e procedimento GRASP(f (.), g(.), V (.), GRASPmax , ) f ; /* Menor valor de f obtido */ c para (Iter = 1, 2, . . . , GRASPmax) faa s Construcao GRASP(g(.), ); BuscaLocal(f (.), V (.), s); a se (f (s) < f ) ento s s; f f (s); m-se m-para; Retorne s ; m GRASP; Algoritmo 5: GRASP.

1 2 3 4 5 6 7 8 9 10

Como mencionado na Seo 2.2.2, os procedimentos gulosos so determin ca a sticos e, assim, retornam sempre a mesma soluo para um determinado problema. Alm disso, a ca e soluo obtida geralmente converge rapidamente para um otimo local. Por outro lado, as ca construes aleatrias geram solues diversas e, em geral, de baixa qualidade; ou seja, co o co uma construo aleatria gera uma soluo diferente em cada execuo e uma busca local ca o ca ca nestas solues normalmente demoram para encontrar um timo local. co o A fase de construo do GRASP visa conciliar as qualidades de uma construo guca ca losa com as qualidades de uma construo aleatria, isto , ser capaz de gerar solues ca o e co

CAP ITULO 2. PROBLEMA ABORDADO E METODOS DE RESOLUCAO

17

diferentes e que convergem rapidamente para um timo local. A cada iterao desta fase, o ca os elementos que ainda esto fora da soluo so ordenados atravs de uma funo que a ca a e ca estima o benef associado a incluso de cada elemento na soluo parcial. Os melhores cio a ca elementos, segundo esta funo, so inseridos em uma lista restrita de candidatos (LRC). ca a Desta lista, aleatoriamente escolhe-se o elemento que ser incrementado ` soluo parcial a a ca naquela iterao. ca O tamanho da LRC e o n de gulosidade e de aleatoriedade da fase de construo vel ca interessante observar que do GRASP so determinados por um parmetro [0, 1]. E a a = 0 implica em uma soluo completamente gulosa e = 1 implica em uma soluo ca ca totalmente aleatria. o O Algoritmo 6 descreve a fase de construo de um algoritmo GRASP. A funo ca ca adaptativa gulosa g quem estima o benef da seleo de cada um dos elementos e e cio ca determina a LRC em cada iterao. ca procedimento Construcao GRASP(g(.), ) s ; Inicialize o conjunto C de candidatos; enquanto (C = ) faa c g(tmin ) min{g(t) | t C}; g(tmax ) max{g(t) | t C}; LRC {t C | g(t) g(tmin ) + (g(tmax ) g(tmin ))}; Aleatoriamente, selecione um elemento t LRC; s s {t}; Atualize o conjunto C de candidatos; m-enquanto; Retorne s; m Construcao GRASP; Algoritmo 6: Fase de construo de um algoritmo GRASP. ca

1 2 3 4 5 6 7 8 9 10 11

Na fase de busca local do GRASP pode-se, por exemplo, utilizar uma das tcnicas e apresentadas na Seo 2.2.2. ca Pode-se notar que um timo local encontrado em cada iterao do GRASP. Como o e ca os timos locais so encontrados a partir de solues iniciais distintas, eles podem ser o a co diferentes. O melhor timo local encontrado retornado pelo mtodo como a soluo o e e ca para o problema. Feo & Resende (1995), Resende & Ribeiro (2003) e Souza (2008) apresentam mais informaes sobre o GRASP. co Busca Tabu Proposta por Glover (1986), a Busca Tabu (Tabu Search, TS) uma metaheur e stica baseada em busca local. Dada uma vizinhana e uma soluo inicial, a TS consiste basicamente em, iterativac ca mente, explorar a vizinhana atual e mudar da soluo corrente para o melhor vizinho c ca encontrado, mesmo que o melhor vizinho no represente uma soluo de melhora. Isto a ca e feito at que um critrio de parada seja satisfeito. e e

CAP ITULO 2. PROBLEMA ABORDADO E METODOS DE RESOLUCAO

18

A estratgia de aceitar solues de piora utilizada para escapar das armadilhas dos e co e timos locais; porm, esta ttica pode fazer com que o algoritmo caia em ciclos, isto , o e a e o algoritmo pode voltar a uma soluo j gerada anteriormente. Por exemplo, quando a ca a soluo corrente um timo local, seu melhor vizinho no ser de melhora e ser aceito. ca e o a a a Na iterao seguinte, o timo local ser novamente gerado por ser o melhor vizinho da ca o a soluo corrente e o algoritmo car c ca a clico. Para evitar ciclagem, o ideal seria armazenar todas as soluoes j geradas pelo mtodo c a e em uma lista, denominada lista tabu. No entanto, isto computacionalmente invivel. e a Uma alternativa armazenar apenas as ultimas |LT| solues geradas. Mas uma lista e co deste tamanho evitaria ciclos de at |LT| iteraes, alm de poder ser invivel armazenar e co e a |LT| solues e testar se uma soluo est ou no na lista tabu. co ca a a Na prtica, o mais comum criar uma lista tabu de movimentos proibidos. A lista tabu a e clssica contm os movimentos reversos aos ultimos |LT| movimentos realizados (onde |LT| a e um parmetro do mtodo) e funciona como uma la FIFO (First-In-First-Out). e a e Apesar de reduzir o risco de ciclagem, uma lista tabu de movimentos pode ser muito restritiva (impede o retorno a uma soluo j gerada anteriormente e tambm que novas ca a e solues sejam geradas). Para tentar corrigir este problema, usa-se um critrio de aspico e rao, que retira, sob certas condies, o status tabu de um movimento. Um exemplo de ca co critrio de aspirao aceitar um movimento, mesmo que tabu, se ele melhorar o valor da e ca e funo objetivo global. Esse o chamado critrio de aspirao por objetivo, sendo o mais ca e e ca usado em implementaes Busca Tabu. Outra possibilidade realizar o movimento tabu co e mais antigo se todos os poss veis movimentos forem tabus (aspirao por default). Uma ca relao completa de outros critrios de aspirao usualmente utilizados em Busca Tabu ca e ca e encontrada em Glover & Laguna (1997). Geralmente, o mtodo interrompido aps BTmax iteraes sem melhora na melhor e e o co soluo encontrada, sendo BTmax um parmetro do mtodo. ca a e O Algoritmo 7 descreve a metaheur stica TS bsica aplicada ao problema de minimia zao de uma funo f . A vizinhana V , a funo de aspirao A, o conjunto de solues ca ca c ca ca co vizinhas testadas em cada iterao (SVT), o tamanho da lista tabu |LT|, o nmero mximo ca u a de iteraes sem melhora BTmax e a soluo inicial s so as entradas do mtodo. co ca a e Mais informaes a respeito da TS podem ser encontradas em Glover (1986), Glover co (1996), Glover & Laguna (1997), Gendreau (2003) e Souza (2008), entre outros trabalhos. Simulated Annealing O Simulated Annealing (SA) uma tcnica de busca local probabil e e stica proposta por Kirkpatrick et al. (1983) e fundamentada na termodinmica, ao simular o processo de a recozimento (nome dado ` operao de resfriamento de um conjunto de tomos aquecidos). a ca a Para se obter metais mais estveis, estruturalmente fortes e de menor energia interna, a eles so aquecidos a uma temperatura sucientemente alta e depois so lentamente resa a friados. Durante o recozimento, o material passa por vrios estados poss a veis. Como o SA simula o processo de recozimento dos metais, so feitas as seguintes corresa pondncias com um problema de otimizao. As solues do espao de busca correspone ca co c dem aos poss veis estados de um metal. O valor da funo objetivo corresponde ` energia ca a interna em cada estado. O valor de um timo local (possivelmente global) corresponde ` o a energia m nima.

CAP ITULO 2. PROBLEMA ABORDADO E METODOS DE RESOLUCAO

19

1 2 3 4 5 6 7

8 9 10 11 12 13 14 15 16

procedimento Busca Tabu(f (.), V (.), A(.), SVT , |LT |, BTmax , s) s s ; /* Melhor solu~o obtida */ ca Iter 0 ; /* Contador do nmero de itera~es sem melhora de s */ u co LT ; /* Lista tabu */ Inicialize a funo de aspirao A; ca ca enquanto (Iter BTmax) faa c Iter Iter + 1; Seja s s m o melhor elemento de SVT V (s) tal que o movimento m no a tabu (m LT ) ou a condio de aspirao de s (A(s )) atendida; e ca ca e Atualize a LT; s s ; se (f (s) < f (s )) ento a s s; Iter 0; m-se Atualize A; m-enquanto; Retorne s ; m Busca Tabu; Algoritmo 7: Busca Tabu.

O mtodo parte de uma soluo inicial qualquer e cada iterao consta basicamente e ca ca de um loop. Em cada iterao deste loop interno gerado, aleatoriamente, um unico ca e vizinho s da soluo corrente s. Seja = f (s ) f (s) e considere que o problema seja ca de minimizao. Se < 0 ento a soluo vizinha passa a ser a soluo corrente. Caso ca a ca ca contrrio ( 0), o vizinho pode ser aceito com uma probabilidade e kT , onde k a a e constante de Boltzmann e T representa a temperatura corrente. Inicialmente, a temperatura T assume um valor sucientemente alto T0 . A cada iterao i do mtodo, a temperatura diminu ca e e da, ou seja, Ti Ti1 , onde 0 < < 1. Os valores de T0 e so parmetros do mtodo. a a e Observe que quanto maior a temperatura, maior a probabilidade de se aceitar uma soluo de piora. Portanto, a cada iterao do algoritmo a chance de uma soluo de piora ca ca ca ser aceita reduzida. As solues de piora so aceitas para que se escape das armadilhas e co a dos timos locais. o O mtodo interrompido quando a temperatura atinge um valor prximo de zero e e e o somente vizinhos de melhora so aceitos, evidenciando o encontro de um timo local. a o O Algoritmo 8 descreve o mtodo SA bsico para o problema de minimizao de uma e a ca funo f . A estrutura de vizinhana V , a razo de resfriamento , o nmero de iteraes ca c a u co em cada temperatura (SAmax ), a temperatura inicial T0 , um nmero real prximo de u o zero () e uma soluo inicial s so as entradas do mtodo. ca a e Mais detalhes do mtodo podem ser encontrados em Kirkpatrick et al. (1983), Ribeiro e (1996), Henderson et al. (2003) e Souza (2008), entre outros trabalhos.

CAP ITULO 2. PROBLEMA ABORDADO E METODOS DE RESOLUCAO

20

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

procedimento SA(f (.), V (.), , SAmax , T0 , , s) s s ; /* Melhor solu~o obtida */ ca IterT 0 ; /* Nmero de itera~es na temperatura T */ u co T T0 ; /* Temperatura corrente */ enquanto (T > ) faa c c enquanto (IterT < SAmax) faa IterT IterT + 1; Aleatoriamente, escolha s V (s); f (s ) f (s); se ( < 0) ento a ss; a se (f (s ) < f (s )) ento s s ; seno a Aleatoriamente, escolha x [0, 1]; se (x < e kT ) ento s s ; a m-se m-enquanto; T T; IterT 0 m-enquanto; Retorne s ; m SA; Algoritmo 8: Simulated Annealing.

Iterated Local Search O Iterated Local Search (ILS) um mtodo de busca local que faz uso de perturbaes e e co para escapar das armadilhas dos timos locais e, possivelmente, encontrar um timo o o global. Tais pertubaes devem ser fortes o suciente para permitir a fuga do timo local co o corrente e que a busca local explore diferentes regies do espao de busca. Ao mesmo o c tempo, elas dever ser sucientemente fracas para preservar caracter sticas do timo local o corrente e evitar rein cios aleatrios. o De acordo com Souza (2008), necessrio especicar quatro componentes para a aplie a cao do ILS: ca 1. Procedimento GeraSolucaoInicial, que gera uma soluo inicial. Pode ser utilizado, ca por exemplo, uma HC (ver Seo 2.2.2); ca 2. Procedimento BuscaLocal, que retorna uma soluo possivelmente melhorada. Por ca exemplo, pode ser utilizada uma heur stica de renamento (ver seo 2.2.2); ca 3. Procedimento Perturbacao, que modica a soluo corrente, guiando ela a uma ca soluo intermediria; ca a 4. Procedimento CriterioAceitacao, que decide em qual soluo a prxima perturbao ca o ca ser aplicada. a

CAP ITULO 2. PROBLEMA ABORDADO E METODOS DE RESOLUCAO

21

Um critrio de aceitao muito utilizado consiste em aceitar um timo local s somente e ca o se ele for melhor que o timo local corrente s. O Algoritmo 9 ilustra a aplicao do ILS o ca bsico a um problema de minimizao de uma funo f . a ca ca procedimento ILS(f (.)) s0 GeraSolucaoInicial(); s BuscaLocal(s0 ); s s; /* Melhor solu~o obtida */ ca enquanto (critrio de parada no satisfeito) faa e a e c s Perturbacao(s); s BuscaLocal(s ); a se (f (s) < f (s )) ento s s; s CriterioAceitacao(s, s); m-se m-enquanto; Retorne s ; m ILS; Algoritmo 9: Iterated Local Search.

1 2 3 4 5 6 7 8 9 10 11 12

Geralmente, utiliza-se um nmero mximo de iteraes sem melhora na melhor soluo u a co ca encontrada como critrio de parada do algoritmo. e Mais detalhes do mtodo podem ser encontrados em Souza (2008) e Loureno et al. e c (2003). Algoritmos Evolutivos Algoritmos evolutivos (AEs) so metaheur a sticas baseadas em busca populacional e que utilizam mecanismos inspirados na biologia, como mutaao, crossover, seleo natuc ca ral e condies de sobrevivncia, para renar, iterativamente, um conjunto de solues co e co candidatas (Weise, 2008). Essencialmente, um AE parte de um conjunto de solues candidatas, denominado co populao inicial, e, em cada iterao, todos os elementos (indiv ca ca duos) da populao ca atual so avaliados pela funo de avaliao. Caso o critrio de parada seja satisfeito, o a ca ca e mtodo interrompido e os melhores elementos so listados. Caso contrrio, com o auxilio e e a a de uma funo de aptido, que pode no depender somente da funo de avaliao, os ca a a ca ca indiv duos so novamente avaliados. A funo de aptido tem o objetivo de auxiliar na a ca a seleo dos indiv ca duos da populao que daro origem a novos indiv ca a duos. A gerao ca de novos indiv duos pode ser feita por meio de crossover ou mutao. No crossover, ca dois indiv duos pais do origem a lhos que possuem caracter a sticas de ambos os pais. A mutao consiste em alterar uma caracter ca stica do indiv duo. Terminada a etapa de gerao de novos indiv ca duos, tambm com o auxilio da funo de aptido, determinada e ca a e a populao sobrevivente, isto , os indiv ca e duos que faro parte da populao da prxima a ca o iterao. ca A Figura 2.4 ilustra a estrutura bsica de um AE. a

CAP ITULO 2. PROBLEMA ABORDADO E METODOS DE RESOLUCAO

22

Gerao da populao inicial (Geralmente de forma aleatria)

Seleo da populao sobrevivente

Populao Atual

Gerao de novos indivduos atravs de mutao e/ou crossover

Avaliao dos indivduos da populao (Pela funo objetivo)

Seleo dos indivduos que sofrero mutao e/ou crossover

Avaliao dos indivduos da populao (Pela funo de aptido)

No

Critrio de parada satisfeito?

Sim Pare

Figura 2.4: Estrutura bsica de um Algoritmo Evolutivo. a

De acordo com Souza (2008), os critrios de parada mais comuns so: quando um certo e a nmero de geraes atingido, quando no h melhora na melhor soluo encontrada aps u co e a a ca o um certo nmero de iteraes ou quando o desvio padro da populao inferior a um u co a ca e certo valor (situao que evidencia uma homogeneidade da populao). ca ca Mais informaes sobre os AEs podem ser encontradas, por exemplo, em Weise (2008). co Algoritmos Genticos e Segundo Weise (2008), os Algoritmos Genticos (AGs) compem uma subclasse dos e o AEs, na qual os elementos do espao de busca so vetores de componentes binrios ou c a a arranjos de tipos elementares. E muito comum encontrar na literatura trabalhos que, por convenincia, consideram e os espaos de solues dos AGs formados por vetores de nmeros inteiros. Neste caso, a c co u denio de AG coincide com a denio de AE. ca ca De qualquer forma, pode-se dizer que a Figura 2.4 ilustra a estrutura de um Algoritmo Gentico bsico. e a Reeves (2003), Weise (2008) e Souza (2008) apresentam mais detalhes a respeito dos AGs.

Estratgias de Intensicao e ca Scatter Search

23

O Scatter Search (SS) um mtodo baseado em busca populacional que apresenta e e similaridades com os Algoritmos Genticos; difere no tamanho da populao e no uso e ca de estratgias determin e sticas, ao invs de probabil e sticas, para atingir os objetivos de diversicao e intensicao (Belore et al., 2006). ca ca Ainda conforme Belore et al. (2006), o SS opera sobre um conjunto de solues, co chamado conjunto de referncia, combinando estas soluoes para criar novas solues de e c co modo a melhorar a solues originais. E, portanto, um mtodo evolutivo. O tamanho do co e conjunto de referncia em scatter search pequeno comparado ` populao nos Algoritmos e e a ca Genticos. e Segundo (Glover & Laguna, 2003), o processo do SS organizado para: e 1. Capturar informaes no contidas separadamente nas solues originais; co a co 2. Tirar proveito de mtodos de solues heur e co sticas auxiliares (para avaliar as combinaes produzidas e gerar ativamente novas solues); co co 3. Utilizar estratgias espec e cas no lugar de mtodos aleatrios de busca. e o Uma abordagem mais detalhada do mtodo apresentada em Glover & Laguna (2003) e e e Belore et al. (2006).

2.2.4

Estratgias de Intensicao e ca

As tcnicas de intensicao so mtodos que exploram com maior intensidade as e ca a e solues prximas de uma dada soluo. A seguir sero apresentadas duas destas tcnicas. co o ca a e Princ pio da Otimalidade Prxima o O Princ pio da Otimalidade Prxima (POP) uma tcnica que rena uma parte da o e e soluo com o objetivo de melhorar toda a soluo. Este mtodo baseado na ideia de ca ca e e que boas solues em um n esto prximas de boas solues em um n adjacente co vel a o co vel (Glover & Laguna, 1997). Na prtica, o POP muito utilizado em mtodos construtivos. Periodicamente, antes a e e de se inserir um novo elemento na soluo em construo, esta submetida ` uma busca ca ca e a local. Reconexo por Caminhos a A Reconexo por Caminhos (Path Relinking, PR) uma tcnica de intensicao a e e ca proposta em Glover (1996). O mtodo parte de duas solues dadas, sendo uma chamada e co de soluo base e a outra de soluo guia. Iterativamente, um atributo da soluo guia ca ca ca e adicionado na soluo base. A soluo base sofre, ento, uma busca local em que se xam ca ca a todos os atributos da soluo guia que j foram incrementados ` soluo base. O mtodo ca a a ca e pra quando a soluo base possui todos os atributos da soluao guia. a ca c O objetivo do mtodo , portanto, encontrar, durante as iteraes, uma soluo que e e co ca possua os atributos bons contidos nas duas solues dadas, isto , uma soluo melhor co e ca que as duas solues iniciais. co

Estratgias de Intensicao e ca

24

O PR pode ser utilizado como um mtodo de ps-otimizao ou ento para intensie o ca a car a busca em torno de timos locais. No primeiro caso, as melhores solues distintas o co encontradas por algum procedimento heur stico so armazenadas em um conjunto e posa teriormente aplica-se a PR em pares de solues deste conjunto. Tal conjunto chamado co e de conjunto elite e seu tamanho um parmetro do mtodo. No segundo caso, sempre e a e que um timo local encontrado por um determinado procedimento, aplica-se a PR no o e par de solues formado pelo timo local e a melhor soluo at ento encontrada pelo co o ca e a algoritmo. Mais detalhes desta tcnica podem ser encontrados em Glover (1996), Glover & Laguna e (2003) e Souza (2008).

2.3

Trabalhos relacionados

Muitos trabalhos so encontrados na literatura com o objetivo de resolver o PSUMAA a em suas diversas variantes. Uma breve descrio dos trabalhos mais relevantes so apreca a sentados a seguir. Por questes didticas, os trabalhos foram separados de acordo com as o a datas de entrega. Primeiramente so apresentados os trabalhos que tratam do PSUMAA a com datas de entrega comum, em seguida os com datas de entrega distintas e, por ultimo, os com janelas de entrega distintas.

2.3.1

PSUMAA com Datas de Entrega Comuns

Esta seo destinada ` apresentao de alguns trabalhos que tratam do PSUMAA ca e a ca com datas de entrega comuns. Dentre as verses do PSUMAA, a mais estudada a com datas de entrega comuns o e e tempos de setup independentes da seqncia de produo. Para este caso, existem ue ca propriedades que podem ser utilizadas nos algoritmos de resoluo, de modo a reduzir o ca espao de busca e conseqentemente o tempo computacional. As principais propriedades c u que so utilizadas por todos os autores so: a a Propriedade 1 Em uma sequncia tima no h tempo ocioso entre duas tarefas consee o a a cutivas. Propriedade 2 Em uma sequncia tima a concluso de uma tarefa coincide com a data e o a de entrega ou o processamento da primeira tarefa inicia no instante zero. Propriedade 3 Em uma sequncia tima, as tarefas antecipadas esto ordenadas de e o a forma no-crescente pela razo entre o tempo de processamento e a penalidade por unidade a a de tempo de antecipao, enquanto as tarefas atrasadas esto ordenadas de forma noca a a decrescente pela razo entre o tempo de processamento e a penalidade por unidade de a tempo de atraso. Se uma sequncia satisfaz a Propriedade 3, ela dita V -shaped (Biskup & Feldmann, e e 2001). As justicativas para estas propriedades podem ser encontradas em Szwarc (1996). Neste trabalho, tambm foram estudadas propriedades da otimalidade no caso em que as e

Estratgias de Intensicao e ca

25

penalidades so dependentes das tarefas e as razes entre os tempos de processamento a o e as penalidades satisfazem certas condies. As propriedades estudadas foram utilizaco das em trs algoritmos baseados em programao dinmica e de complexidade pseudoe ca a polinomial, sendo que estes algoritmos reetiam o estado da arte at ento. Experimentos e a em problemas-teste com at 100 tarefas evidenciaram a melhoria proporcionada pela utie lizao das propriedades apresentadas. ca Lee & Kim (1995) resolveram o problema por meio de um algoritmo gentico paralelo e com representao binria, sendo este uma variante do AG convencional. Uma condio ca a ca necessria para que um arranjo em srie de genes seja V -shaped dentro de uma sequncia a e e apresentada. Foram resolvidos problemas-teste com at 100 tarefas. e e Alidaee & Dragan (1997) apresentaram um algoritmo de complexidade O(n log n) que resolve de forma tima os casos em que as penalidades por antecipao e atraso so iguais o ca a para a mesma tarefa e proporcionais aos tempos de processamento das tarefas. Biskup & Feldmann (2001) propuseram um gerador de problemas-teste. Foram utilizadas duas novas heur sticas para resolver e obter limites superiores para os problemas-teste, com at 1000 tarefas, gerados. As heur e sticas se mostraram ecientes, pois encontraram resultados prximos dos timos conhecidos de problemas de menor porte. O gerador, o o junto com os limites superiores, so disponibilizados pelos autores para servirem como a referncias de trabalhos futuros sobre o PSUMAA. e Feldmann & Biskup (2003) apresentam uma nova e apropriada representao para o ca problema, baseada nas propriedades deste caso do PSUMAA. Foram utilizadas trs mee taheur sticas para resolver o problema: um Algoritmo Evolutivo, um Simulated Annealing e um Threshold Accepting, sendo este ultimo uma variante do SA. Estas metaheur sticas foram aplicadas em problemas-teste propostos por Biskup & Feldmann (2001). Uma construo gulosa e heur ca sticas baseadas em Busca Tabu e Algoritmos Genticos e foram propostas por Hino et al. (2005). Estratgias h e bridas tambm foram analisadas e com o objetivo de melhorar o desempenho destes mtodos. Foram resolvidos problemase teste com at 1000 tarefas. e Belore et al. (2006) aplicaram a metaheur stica Scatter Search neste variante do PSUMAA. O algoritmo proposto foi utilizado para resolver todos os problemas-teste propostos por Biskup & Feldmann (2001). Ying (2008) resolveu o problema por meio de um procedimento Branch-and-Bound que faz uso de um algoritmo Recovering Beam Search para caminhar na rvore de busca. a O autor tambm utilizou a base de dados proposta por Biskup & Feldmann (2001) para e realizar experimentos computacionais. O PSUMAA com datas de entrega comum pode ser classicado em restrito ou irrestrito. Quando a soma dos tempos de processamento de todas as tarefas maior que a data e de entrega, diz-se que o problema restrito. Caso contrrio, o problema dito irrestrito. e a e James (1997) testou diferentes formas de Busca Tabu para resolver o caso restrito do problema, inclusive uma que aplica as propriedades numa nova tcnica que reduz o e n tamanho do espao de busca de n! para 2 . Foram resolvidos problemas-teste com at c e 250 tarefas e a TS que faz uso da nova tcnica mostrou-se mais eciente que as demais. e Mondal & Sen (2001) consideraram que as penalidades por antecipao e atraso so ca a independentes das tarefas. Foi apresentado um algoritmo com espao de busca em grafo c para encontrar a soluo tima de problemas-teste maiores do caso restrito. Ao contrrio ca o a da programao dinmica, o algoritmo encontrou soluoes timas mesmo quando a meca a c o

Estratgias de Intensicao e ca

26

mria era limitada. O algoritmo se mostrou mais rpido que a programao dinmica e o a ca a depth-rst-branch-bound (depth-rst uma heur e stica utilizada para caminhar na rvore a de busca do mtodo BB) e consegue resolver muitos problemas-teste maiores em tempo e razovel. Tambm foram propostos e utilizados novos limites inferiores e superiores para a e o problema. Os problemas-teste resolvidos so com at 2000 tarefas. a e Rabadi et al. (2004) consideraram o PSUMAA com datas de entrega comuns, penalidades iguais (o objetivo minimizar a soma simples das antecipaes e dos atrasos) e co e tempos de setup dependentes da sequncia de produo. Foi proposto um algoritmo e ca Branch-and-Bound para obter solues timas do caso irrestrito. Os autores resolveram co o problemas-teste com at 25 tarefas em tempo computacional aceitvel, o que representou e a um avano para a poca, j que os algoritmos exatos de ento resolviam, na otimalidade, c e a a apenas problemas desta classe com at 8 tarefas. e

2.3.2

PSUMAA com Datas de Entrega Distintas

Esta seo destinada ` apresentao de alguns trabalhos que tratam do PSUMAA ca e a ca com datas de entrega distintas. MHallah (2007) considerou o problema com as penalidades iguais (o objetivo minie mizar a soma simples das antecipaes e dos atrasos) e os tempos de setup independentes co da sequncia de produo, no sendo permitida a existncia de tempo ocioso entre a exee ca a e cuo de tarefas consecutivas. Foi proposto um mtodo heur ca e stico h brido que combina heur sticas de busca local (regras de despacho, mtodos de descida e SA) e um algoritmo e evolutivo baseado em AG. Os efeitos de cada heur stica no mtodo so mostrados via e a experimentos com problemas-teste com at 4000 tarefas. e Chang (1999) tratou do problema com penalidades iguais e tempos de setup independentes da sequncia de produo, sendo permitida a ociosidade de mquina. O autor e ca a utilizou um algoritmo branch-and-bound para resolver o problema. Um esquema para calcular diferentes limites inferiores baseados no procedimento de eliminao de sobrepoca sio de uma sequncia Just-In-Time tambm foi apresentado. Propriedades e teoremas ca e e deste procedimento de eliminao foram demonstradas. O algoritmo foi utilizado para reca solver problemas-teste com at 45 tarefas. Ventura & Radhakrishnan (2003) abordaram e o mesmo problema, para o qual tambm propuseram um algoritmo BB. Neste trabalho e foram derivadas propriedades de uma sequncia tima. Um procedimento de relaxao e o ca lagrangeana que utiliza o algoritmo de subgradiente foi implementado para atingir soluces prximas da otimidade e ajustar os limites inferiores. O algoritmo foi testado em o o problemas-teste com at 100 tarefas e apresentou uma divergncia relativa menor que 3% e e das solues timas. co o Li (1997) estudou o caso com tempos de setup independentes da sequncia de proe duo, no sendo permitida a existncia de tempos ociosos entre a execuo de tarefas ca a e ca consecutivas. Neste trabalho, o problema foi decomposto em dois subproblemas com estruturas mais simples. O limite inferior do problema foi, ento, dado pela soma dos a limites inferiores dos dois subproblemas. O limite inferior de cada subproblema foi obtido por relaxao lagrangeana. Tambm foram desenvolvidos dois procedimentos de ajuste ca e multiplicador, de complexidade O(n log n), para resolver os duais dos subproblemas. Um algoritmo branch-and-bound baseado nestes procedimentos foi apresentado e utilizado para resolver problemas-teste com at 50 tarefas, dobrando a dimenso dos problemas resole a

Estratgias de Intensicao e ca

27

vidos, na otimidade, por algoritmos exatos at aquela data. O props, tambm, uma e o e heur stica baseada em busca local e resolveu problemas com at 3000 tarefas. Almeida & e Centeno (1998) aplicaram um mtodo heur e stico composto, que combina TS, SA e tce nicas de descida, em problemas-teste com at 50 tarefas. Liaw (1999), Valente & Alves e (2005b) e Valente & Alves (2005a) tambm trataram este mesmo problema. O primeiro e autor utilizou um algoritmo BB baseado em procedimentos que determinam limites inferiores e superiores ecientes. Foram derivadas regras de dominncia para ajudar a eliminar a ns no promissores da rvore de busca. O desempenho do algoritmo foi testado em o a a problemas-teste com at 50 tarefas. No segundo trabalho foram introduzidas duas novas e heur sticas, sendo uma regra de despacho e um procedimento guloso. Tambm foram e utilizadas regras de dominncia, visto que elas melhoram os resultados das heur a sticas e demandam pouco tempo adicional. Os experimentos computacionais foram realizados em problemas-teste com at 500 tarefas. O terceiro trabalho prope dois algoritmos BB. e o Cada BB proposto se utiliza de uma variante do algoritmo beam-search para caminhar na rvore de busca, sendo que um deles se utiliza de um Filtered Beam Search e o outro de a um Recovering Beam Search. Os dois mtodos foram testados em problemas-teste com e at 500 tarefas. e Lee & Choi (1995) trataram do caso com tempos de setup independentes da sequncia e de produo, sendo permitida a ociosidade de mquina. Foi apresentado um algoritmo ca a de complexidade polinomial que determina a data tima de inicio de uma tarefa em uma o dada sequncia de produo. Tambm aplicou-se ao problema um algoritmo gentico e ca e e que faz uso deste algoritmo de data tima. Foram resolvidos problemas-teste com at 80 o e tarefas. Mazzini & Armentano (2001) estudaram este mesmo problema. Neste trabalho, uma heur stica construtiva que determina a sequncia de produo e simultaneamente e ca insere tempos ociosos foi proposta e utilizada para resolver problemas-teste com at 80 e tarefas. No trabalho de Bustamante (2007) foi estudado o problema com tempos de setup dependentes da sequncia de produo, sendo permitida a existncia de tempos ociosos e ca e de mquina. So desenvolvidos dois modelos de programaao linear inteira mista, sendo a a c que tais modelos exigem que os tempos de setup satisfaam a desigualdade triangular. O c autor tambm sugeriu alteraes nos modelos que permitem resolver o caso com janelas e co de entrega distintas, mas os testes computacionais foram realizados apenas em problemas com datas de entrega distintas. Foram resolvidos, na otimalidade, problemas com at 10 e tarefas por meio do software de otimizao GLPK 4.8. ca

2.3.3

PSUMAA com Janelas de Entrega Distintas

Alguns trabalhos da literatura que tratam o PSUMAA com janelas de entrega distintas so apresentados a seguir. a Wan & Yen (2002) trataram o problema com tempos de setup independentes da sequne cia de produo, permitindo a existncia de tempos ociosos de mquina. Primeiramente, ca e a foi apresentada uma formulao matemtica do problema junto com vrias propriedades ca a a importantes para sua resoluo. Em seguida, foi proposto um procedimento de compleca xidade polinomial para determinar a data de concluso tima de processamento de cada a o tarefa em uma dada sequncia, sendo este procedimento uma extenso do algoritmo proe a posto por Lee & Choi (1995). Por m, uma TS, que faz uso do procedimento de datas

Estratgias de Intensicao e ca

28

timas, foi proposta para resolver o problema. Foram realizados testes computacionais o em problemas envolvendo at 80 tarefas. e Koulamas (1996) focou no problema com janelas de entrega distintas, porm com uma e sens distino dos demais trabalhos da literatura em relao ` antecipao. Em seu vel ca ca a ca trabalho, h antecipao de uma tarefa quando seu processamento iniciado antes do a ca e in cio de sua janela de entrega. O restante da literatura considera que h antecipao a ca quando uma tarefa conclu antes do in de tal janela. O autor tambm considerou e da cio e tempos de setup independentes da sequncia de produo, sendo permitida a ociosidade e ca de mquina. O autor adaptou heur a sticas j utilizadas em outros casos do PSUMAA e a as aplicou nessa verso. Tambm foi proposto um algoritmo que insere tempos ociosos, a e de modo timo, em uma dada sequncia de produo. Foram realizados experimentos o e ca computacionais em problemas-teste com at 200 tarefas. e Gomes Jnior et al. (2007), Penna (2009) e Ribeiro (2009) correspondem ao estado u da arte em relao ao PSUMAA-JE-TPD. No primeiro trabalho foi proposto um modelo ca de programao matemtica para representar o problema, no qual deixa de ser necessrio ca a a que o problema satisfaa a desigualdade triangular. Tambm foi proposto um mtodo c e e heur stico baseado em GRASP, ILS e VND. Para cada sequncia de tarefas gerada pela e heur stica proposta, utilizado um algoritmo de complexidade polinomial que determina a e data tima de in de processamento das tarefas na sequncia dada, sendo este algoritmo o cio e uma extenso daquele proposto por Wan & Yen (2002). Foram realizados experimentos a computacionais em problemas-teste com os tempos de setup simtricos e com at 75 e e tarefas, utilizando a heur stica, e at 12 tarefas, utilizando o modelo matemtico. O e a segundo trabalho prope uma heur o stica baseada em GRASP, VND, TS e PR, enquanto no terceiro trabalho proposto um Algoritmo Gentico Adaptativo para resolver o problema. e e Nos dois ultimos trabalhos foram realizados experimentos nos mesmos problemas-teste utilizados por Gomes Jnior et al. (2007), sendo mostrada a superioridade dos algoritmos u propostos em relao a este ultimo. Ribeiro (2009) tambm realizou testes em outras duas ca e bases de dados em que os tempos de setup no so necessariamente simtricos. Foram a a e resolvidos problemas-teste com at 100 tarefas por meio do AG proposto. e

Cap tulo 3 Formulaes de Programao co ca Matemtica a


Como foi mencionado na Seo 2.2.1, os mtodos exatos so de grande importncia ca e a a por serem capazes de encontrar a soluo tima do problema e auxiliarem na validao ca o ca dos procedimentos heur sticos. Com esta nalidade, nesta seao so apresentadas trs forc a e mulaes de programao matemtica para representar o PSUMAA-JE-TPD. A primeira co ca a delas foi proposta por Gomes Jnior (2007), enquanto as outras duas so propostas neste u a trabalho. A segunda formulao um aperfeioamento da primeira e a ultima indexada ca e c e no tempo.

3.1

Modelo de Gomes J nior et al. (2007) - MPLIMu G

A seguir reproduzido o modelo de programao linear inteira mista (PLIM) proposto e ca por Gomes Jnior (2007) para representar o PSUMAA-JE-TPD, doravante denotado por u MPLIM-G. Para auxiliar na modelagem, so utilizadas duas tarefas ct a cias, 0 (zero) e n + 1, que devem ser sequenciadas necessariamente na primeira e na ultima posio, respectivamente. ca Admite-se que P0 e Pn+1 so iguais a zero e que S0i = Si0 = 0 e Si,n+1 = Sn+1,i = 0, a i I. A data de in do processamento da tarefa j I {0, n + 1} e os tempos de cio antecipao e atraso da tarefa i I so representados por sj , ei e ti , respectivamente. ca a Sejam yij variveis que determinam a sequncia de produo, sendo yij = 1 se a a e ca tarefa j for sequenciada imediatamente aps a tarefa i e yij = 0, caso contrrio, i, j o a I {0, n + 1}. Considere, ainda, uma constante M de valor sucientemente grande. O

29

CAP ITULO 3. FORMULACOES DE PROGRAMACAO MATEMATICA modelo MPLIM-G representado pelas equaes (3.1)-(3.10): e co
n

30

min

Z=
i=1

(i ei + i ti ) i I {0}, j I {n + 1} e i = j i I {0} j I {n + 1} iI iI i I {0, n + 1} i I iI i, j I {0, n + 1}

(3.1)

s.a. si + Pi + yij (M + Sij ) M sj


n+1

(3.2) (3.3) (3.4) (3.5) (3.6) (3.7) (3.8) (3.9) (3.10)

yij = 1
j=1, j=i n

yij = 1
i=0, i=j

si + Pi + ei si + Pi ti si ei ti yij

Ei Ti 0 0 0 {0, 1}

A funo objetivo, representada pela equao (3.1), busca a minimizao da soma ca ca ca ponderada das antecipaes e atrasos. As restries (3.2) garantem que existe tempo suco co ciente para executar uma tarefa i e preparar a mquina antes do in do processamento a cio da tarefa seguinte j, ou seja, elas garantem que o processamento da tarefa j no ser inia a ciado antes do trmino do processamento da tarefa i. As restries (3.3) e (3.4) garantem e co que cada tarefa ter apenas uma tarefa imediatamente sucessora e uma tarefa imediataa mente antecessora, respectivamente. As restries (3.5) e (3.6) denem as antecipaes e co co os atrasos de acordo com as respectivas janelas de entrega de cada tarefa. As restries co (3.7), (3.8), (3.9) e (3.10) dizem respeito ao tipo de variveis. a

3.2

Primeiro Modelo Proposto - MPLIM-BG

O modelo de programao linear inteira mista (PLIM) apresentado a seguir baseado ca e naquele proposto por Gomes Jnior et al. (2007) (ver Seo 3.1, pgina 29) e ser denotado u ca a a por MPLIM-BG. Diferentemente de tais autores, utilizada apenas uma tarefa ct e cia, denominada 0 (zero), para auxiliar na modelagem. Esta tarefa sequenciada duas vezes, e sendo uma na primeira posio e outra na ultima. Considera-se que P0 = 0 e que S0i = ca Si0 = 0, i I. Considerando si , ei , ti e yij tais como no MPLIM-G, tem-se que as variveis yn+1,i e a yi,n+1 , i I {0}, e sn+1 deixam de ser necessrias no MPLIM-BG. Sendo assim, se a comparado ao MPLIM-G, no MPLIM-BG h reduo de 2n+3 variveis e n+1 restries, a ca a co com n representando o nmero de tarefas a serem sequenciadas. u Finalmente, o MPLIM-BG obtido do MPLIM-G substituindo-se as restries (3.2), e co (3.3), (3.4), (3.7) e (3.10) pelas restries (3.11), (3.12), (3.13), (3.14) e (3.15), respectico vamente, apresentadas a seguir:

CAP ITULO 3. FORMULACOES DE PROGRAMACAO MATEMATICA

31

si + Pi + yij (M + Sij ) M sj
n

i I {0}, j I e i = j i I {0} j I {0}

(3.11) (3.12) (3.13) (3.14) (3.15)

yij = 1
j=0, j=i n

yij = 1
i=0, i=j

si 0 i I {0} yij {0, 1} i, j I {0}

3.3

Segundo Modelo Proposto - MPLIM-IT

A seguir proposto um modelo de programao linear inteira mista (PLIM) indexado e ca no tempo para representar o PSUMAA abordado. Tal modelo, denotado por MPLIMIT, baseado no trabalho de de Paula (2008), que utilizou a discretizao do tempo e ca para modelar o problema de minimizao dos atrasos em sequenciamento de mquinas ca a paralelas com tempos de preparao dependentes da sequncia. O MPLIM-IT descrito ca e e como segue. Seja H = {h0 , h1 , h2 , . . . , hL } o conjunto com as poss veis datas de in cio de processamento das tarefas de I e considere xih variveis binrias, sendo xih = 1 se a tarefa a a i programada para iniciar na data h e xih = 0, caso contrrio, i I e h H. e a Se ei e ti representam, respectivamente, as unidades de tempo de antecipao e tempo ca de atraso da tarefa i I, a formulao MPLIM-IT pode ser escrita assim: ca
n

min

Z=
i=1

(i ei + i ti ) xju 1
u=h

(3.16)

min(h+Pi +Sij 1,HL )

s.a. xih +

i, j I, h H e i=j (3.17) (3.18)

HL

xih = 1
h=H0 HL

iI

xih h + Pi + ei Ei
h=H0 HL

iI

(3.19)

xih h + Pi ti Ti
h=H0

iI

(3.20) (3.21) (3.22) (3.23)

ei 0 i I ti 0 iI xih {0, 1} i I e h H

CAP ITULO 3. FORMULACOES DE PROGRAMACAO MATEMATICA

32

A funo objetivo representada pela equao (3.16) tem como critrio de otimizao ca ca e ca a minimizao da soma ponderada das antecipaes e dos atrasos. As restries (3.17) ca co co garantem que existe tempo suciente para executar uma tarefa i e preparar a mquina a antes do in do processamento da tarefa seguinte j, ou seja, elas garantem que o procio cessamento da tarefa j no ser iniciado antes do trmino do processamento da tarefa i. a a e As restries (3.18) garantem que cada tarefa seja executada uma unica vez. As restries co co (3.19) e (3.20) denem as antecipaes e os atrasos de acordo com as respectivas janelas co de entrega de cada tarefa. As restries (3.21), (3.22) e (3.23) determinam os dom co nios das variveis do problema. a E importante observar que, diferentemente do MPLIM-G e do MPLIM-BG, o MPLIMIT somente vlido se o problema satisfazer a desigualdade triangular, ou seja, se as e a condies (3.24) a seguir forem vericadas: co Sik Sij + Sjk + Pj i, j, k I, i = j, i = k e j = k (3.24)

No PSUMAA-JE-TPD abordado, a execuo de qualquer tarefa pode ser iniciada em ca qualquer momento futuro (H = [0, +[). Portanto, caso se tenha a garantia de que na sequncia tima o in do processamento da primeira tarefa no ocorre antes de hinf e e o cio a que o in do processamento da ultima tarefa no mximo hsup , pode-se discretizar o cio e a conjunto H no intervalo [hinf , hsup ], isto , adotar H = {hinf , hinf +1, hinf +2, . . . , hsup }. e Deste modo, como o MPLIM-IT fortemente sens ` cardinalidade de H, quanto menor e vel a for o intervalo [hinf , hsup ], menor ser o nmero de variveis do modelo. a u a

Cap tulo 4 Algoritmo Proposto


Na prtica, a aplicao das formulaes de programaao matemtica apresentadas a ca co c a na Seo 3 limitada a problemas de pequeno porte, ou seja, a problemas com poucas ca e tarefas. Com o objetivo de resolver casos do PSUMAA-JE-TPD de maior dimenso (com a um nmero de tarefas mais elevado), neste cap u tulo so propostos algoritmos heur a sticos que combinam os procedimentos GRASP (ver Seo 2.2.3), Princ ca pio da Otimalidade Prxima - POP (ver Seo 2.2.4) e Descida em Vizinhana Varivel - VND (ver Seo o ca c a ca 2.2.3).

4.1

GPV

Basicamente, a metodologia proposta denotada por GPV composta de duas e fases. Na primeira (linhas 1 a 12 do Algoritmo 10), gera-se uma soluo com base na ca metaheur stica GRASP, no POP e na metaheur stica VND. Na segunda (linha 13 do Algoritmo 10), faz-se o ps-renamento da soluo proveniente da fase anterior por meio o ca de outro VND. O GPV pode ser representado pelo Algoritmo 10. A funo de avaliao f , ca ca a funo adaptativa gulosa g, a vizinhana V , o nmero mximo de iteraes sem melhora ca c u a co (GRASPmax ) do GRASP, o nmero mximo de iteraes sem melhora (VNDmax ) do u a co VND, o nmero mximo de iteraes sem melhora (MRDmax ) do MRD e o parmetro u a co a da fase de construo GRASP so as entradas do mtodo. ca a e

4.2

Representao de uma Soluo ca ca

Uma soluo (sequncia) para o PSUMAA-JE-TPD de n tarefas representada por ca e e um vetor v de n posies, em que cada posio i = 1, 2, , n indica a ordem de co ca produo da tarefa vi . Por exemplo, dada a sequncia v = (5, 3, 2, 1, 4, 6), a tarefa 5 ca e e a primeira a ser executada e a tarefa 6 a ultima.

4.3

Vizinhana de uma Soluo c ca

Para explorar o espao de solues so usados trs tipos de movimentos: troca da c co a e ordem de processamento de duas tarefas da sequncia de produo, realocao de uma e ca ca 33

CAP ITULO 4. ALGORITMO PROPOSTO

34

1 2 3 4 5 6 7 8 9 10 11 12 13 14

Algoritmo GPV(f (.), g(.), V (.), GRASPmax , VNDmax , MRDmax , ) f +; Iter 0; c enquanto (Iter < GRASPmax) faa Iter Iter + 1; v0 Constroi Solucao com POP(f (.), g(.), N R (.), MRDmax , ); v VND1 (v0 , V (.), VNDmax ); se (f (v) < f ) ento a v v; f f (v); Iter 0; m-se m-enquanto; v VND2 (v , V (.)); Retorne v ; m GPV ; Algoritmo 10: Mtodo GPV e

tarefa para outra posio da sequncia e realocao de um bloco de tarefas para outra ca e ca posio da sequncia. Esses movimentos denem, respectivamente, as vizinhanas N T , ca e c R RB N eN . Na vizinhana N T , um exemplo de vizinho da soluo v = (5, 3, 2, 1, 4, 6) a soluo c ca e ca v = (5, 4, 2, 1, 3, 6), pois v obtida por meio da troca da ordem de processamento da e segunda com a quinta tarefa de v. Dada uma sequncia de produo de n tarefas, cada e ca tarefa na sequncia pode trocar de posio com qualquer uma das outras n 1 tarefas. e ca Ademais, trocar a ordem de processamento da i-sima tarefa na sequncia com a j-sima e e e tarefa equivalente ` troca da ordem de processamento da j-sima tarefa na sequncia e a e e com a i-sima tarefa, para todo i, j {1, 2, , n}. Sendo assim, para uma soluo do e ca PSUMAA-JE-TPD com n tarefas, h n(n 1)/2 vizinhos distintos na vizinhana N T . a c A soluo v = (5, 2, 1, 4, 3, 6) um exemplo de vizinho da soluo v = (5, 3, 2, 1, 4, ca e ca R 6) na vizinhana N , pois obtida pela realocao da tarefa 3, que est na segunda c e ca a posio em v, para a quinta posio na sequncia de produo. Dada uma sequncia de ca ca e ca e produo de n tarefas, cada tarefa na sequncia pode ser realocada para outras n 1 ca e posies distintas. Alm disso, realocar a tarefa da i-sima posio para a posio i + 1 co e e ca ca na sequncia equivalente a realocar a tarefa da posio i + 1 para a i-sima posio e e ca e ca na sequncia, para todo i {1, 2, , n 1}. Sendo assim, para uma soluo do e ca PSUMAA-JE-TPD com n tarefas, h n(n 1) (n 1) = (n 1)2 vizinhos distintos na a vizinhana N R . c J na vizinhana N RB , um exemplo de vizinho da soluo v = (5, 3, 2, 1, 4, 6) a c ca e a soluo v = (5, 4, 6, 3, 2, 1), pois obtida pela realocao do bloco de trs tarefas ca e ca e < 3, 2, 1 >, que est sequenciado aps a tarefa 5 em v, para depois da tarefa 6 na sequncia a o e de produo, ou seja, para duas posies sucessoras. Dada uma sequncia de produo de ca co e ca n tarefas, existem n k + 1 blocos distintos de k tarefas, para todo k {1, 2, , n}, e cada um destes blocos podem ser realocados para n k posies distintas na sequncia co e

CAP ITULO 4. ALGORITMO PROPOSTO

35

de produo. Alm disso, realocar um bloco de i tarefas para j posies sucessoras ca e co e equivalente ` realocao de um bloco de j tarefas para i posies antecessoras, para todo a ca co i, j {1, 2, , n} e i + j n. Sendo assim, para uma soluo do PSUMAA-JE-TPD ca n 2 n n 2= 2= com n tarefas, h a k=1 (n k) + k=1 (n k + 1)(n k) k=1 (n k) = n (2 n 1) (n 1) /6 + n (n 1) /2
RB

2 = n (n 1) (n + 1) /6 vizinhos distintos na

vizinhana N . c Com o objetivo de evitar a visita a vizinhos j visitados e consequentemente reduzir a o custo computacional, todas as observaes mencionadas nos pargrafos acima foram co a consideradas na implementao computacional do algoritmo proposto. ca

4.4

Funo de Avaliao ca ca

Como os movimentos utilizados no geram solues inviveis, uma sequncia v avaa co a e e liada pela funo f dada pela equao (4.1), a qual deve ser minimizada: ca ca
n

f (v) =
i=1

(i ei + i ti )

(4.1)

Para determinar os valores de ei e ti , utilizado o algoritmo de determinao das datas e ca timas de in de processamento das tarefas (ADDOIPT) apresentado a seguir. o cio

4.4.1

Algoritmo de Determinao das Datas Otimas de In ca cio de Processamento das Tarefas

Dada uma sequncia de produo, utilizado o algoritmo de determinao das datas e ca e ca timas de in de processamento das tarefas (ADDOIPT) proposto por Gomes Jnior o cio u et al. (2007) e baseado nos trabalhos de Wan & Yen (2002) e Lee & Choi (1995). O restante desta subseo destinado ` apresentao deste algoritmo. ca e a ca Seja V = (J1 , J2 , . . . , Jn ) uma sequncia do conjunto de tarefas I. Logo Ji I e e Ji = Jj , para todo i, j {1, 2, , n}. Diz-se que uma sub-sequncia de tarefas e B = (Ju , Ju+1 , . . . , Jv ) V forma um bloco na sequncia V se as tarefas em B so e a sequenciadas consecutivamente sem tempo ocioso entre elas e existe ociosidade entre as tarefas Ju1 e Ju e as tarefas Jv e Jv+1 . Considere que h l blocos em V , ou seja, V = B1 B2 . . . Bl . Sejam prim(j) e a ult(j) a primeira e a ultima tarefa no bloco Bj , respectivamente. O processamento da primeira tarefa (J1 ) da sequncia V programado para ser e e nalizado na data EJ1 se PJ1 EJ1 ou iniciado na data 0 (nalizando na data PJ1 ) se PJ1 > EJ1 . Seja Ck a data de concluso da tarefa k. a As demais tarefas so programadas da seguinte forma: a Se CJk +S(Jk )(Jk+1 ) +PJk+1 EJk+1 , a tarefa Jk+1 tem seu processamento programado para ser nalizado na data CJk + S(Jk )(Jk+1 ) + PJk+1 e passa a ser a ultima tarefa do bloco corrente.

CAP ITULO 4. ALGORITMO PROPOSTO

36

Caso contrrio, se CJk + S(Jk )(Jk+1 ) + PJk+1 < EJk+1 , a tarefa Jk+1 tem seu processaa mento programado para ser nalizado na data EJk+1 e um novo bloco iniciado. e Aps a determinao da data de concluso do processamento de cada tarefa, os blocos o ca a so reposicionados em suas respectivas posies timas na subsequncia corrente. Deste a co o e modo, aps a insero da ultima tarefa na sequncia, todos os blocos esto otimamente o ca e a alocados. A antecipao e o atraso de uma tarefa i na sequncia so dados, respectivamente por ca e a max {0, Ei Ci } e max {0, Ci Ti }, respectivamente. Consequentemente, o custo gerado por antecipao e atraso de uma tarefa i conclu na data Ci pode ser dado pela funo ca da ca gi (Ci ) = i max {0, Ei Ci } + i max {0, Ci Ti }. Logo o custo para deslocar um bloco Bj , x unidades de tempo para a esquerda, pode ser expresso pela equao: ca Custoj (x) =
iBj

gi (Ci x),

(4.2)

em que Ci x a nova data de concluso do processamento da tarefa i. e a Claramente a funo gi (Ci x) uma funo linear convexa por partes em relao a ca e ca ca x para todo i {1, 2, , n}. Lema 1 (Wan & Yen, 2002) O somatrio de duas funes lineares convexas por o co partes tambm uma funo linear convexa por partes. e e ca Baseado no Lema 1, tem-se: Proposio 1 (Wan & Yen, 2002) Custoj (x) uma funo linear convexa por partes ca e ca em relao a x, para todo j {1, 2, , l}. ca Devido a natureza linear convexa por partes da funo custo, o custo m ca nimo do bloco Bj ocorre nos pontos extremos de sua funo Custoj , isto , no in ou no nal da janela ca e cio de entrega de uma das tarefas no bloco. Tal custo m nimo pode ser facilmente obtido pela comparao dos somatrios das penalidades das tarefas no bloco, onde cada um destes ca o somatrios obtido ao programar uma tarefa do bloco para ser conclu no in ou no o e da cio nal de sua janela de entrega. Todos os poss veis somatrios so calculados e o menor o a deles corresponde ao ponto de custo m nimo do bloco. Quando o ponto m nimo do bloco Bj encontrado, todo o bloco movido em direo e e ca ao ponto m nimo at que um dos trs casos seguintes acontea: e e c (i) sprim(j) = 0; (ii) O ponto m nimo alcanado; e c (iii) sprim(j) torna-se igual a Cult(j1) + Sult(j1) (prim(j) . Se ocorrer o caso (iii), o bloco Bj unido ao bloco Bj1 , resultando em um novo bloco e Bj1 . Logo o ponto m nimo do novo bloco Bj1 deve ser obtido. O procedimento anterior deve ser realizado at que ocorra o caso (i) ou (ii) para cada e bloco. A seguinte proposio garante que o algoritmo apresentado determina as datas timas ca o de in do processamento das tarefas de uma dada sequncia. cio e

CAP ITULO 4. ALGORITMO PROPOSTO

37

Proposio 2 (Wan & Yen, 2002) O custo total de uma dada sequncia de tarefas ca e alcana seu valor timo se cada bloco Bj na sequncia alcanar seu ponto m c o e c nimo, exceto sprim(1) , que pode ser igual a zero para o primeiro bloco. O Algoritmo 11, adaptado de Gomes Jnior (2007), descreve o procedimento ADDOIPT. u Nele, o procedimento MudaBloco movimenta o bloco J at seu ponto de m e nimo e, se necessrio, combina-o com o bloco anterior. a procedimento Determina Datas Otimas Inicio(n, s) B 1; prim(B) ult(B) 1; s1 max(0, E1 P1 ); C1 max(E1 , P1 ); para (i = 2, . . . , n) faa c se (Ci1 + Pi + S(i1)(i) < Ei ) ento a B B + 1; prim(B) ult(B) i; si Ei Pi + S(i1)(i) ; Ci Ei ; seno a se (Ci1 + Pi + S(i1)(i) = Ei ) ento a ult(B) i; si Ci1 + S(i1)(i) ; Ci Ei ; seno a ult(B) i; si Ci1 + S(i1)(i) ; Ci si + Pi ; m-se m-se repita (at todos os blocos estiverem no ponto m e nimo ou sprim(1) = 0) MudaBloco(B); m-repita; m-para;
n

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

f (s)
26 27 i=1

i max {0, Ei Ci } + i max {0, Ci Ti };

Retorne f (s); m Determina Datas Otimas Inicio; Algoritmo 11: Algoritmo para determinar as datas timas de in de processao cio mento das tarefas. Mais detalhes do ADDOIPT podem ser encontrados em Gomes Jnior (2007). u

CAP ITULO 4. ALGORITMO PROPOSTO

38

4.5

Construo de uma Soluo ca ca

Nesta etapa do GPV (linha 5 do Algoritmo 10), uma soluo formada, tarefa por ca e tarefa, de forma parcialmente gulosa, seguindo as ideias da fase de construo do algoritmo ca GRASP (ver Seo 2.2.3) e do POP (ver Seo 2.2.4). O Algoritmo 12 representa o ca ca procedimento proposto para construir uma soluo. ca procedimento Constroi Solucao com POP(f (.), g(.), V (.), MRDmax , ) s ; Inicialize o conjunto C de candidatos; enquanto (C = ) faa c g(tmin ) min{g(t) | t C}; g(tmax ) max{g(t) | t C}; LRC {t C | g(t) g(tmin ) + (g(tmax ) g(tmin ))}; Aleatoriamente, selecione um elemento t LRC; s s {t}; s MRD(s, N R (.), MRDmax) ; /* Aplica o POP */ Atualize o conjunto C de candidatos; m-enquanto; Retorne s; m Constroi Solucao com POP; Algoritmo 12: Construo de uma soluo com POP. ca ca

1 2 3 4 5 6 7 8 9 10 11 12

Foram experimentadas 11 funes adaptativas gulosas para estimar o benef co cio da insero de cada tarefa j ainda no sequenciada na iterao i, sendo elas: ca a ca g1 (j) = Ej ; g2 (j) = Tj ; g3 (j) = Ej + Tj ; g4 (j) = Tj Pj ; g5 (j) = Ej Pj ; g6 (j) = (Ej Pj )j + (Tj Pj )j ; j + j

g7 (j) = Ej + Tj 2Pj ; g8 (j) = 2Tj j + max{Tk | k Fi } max{k | k Fi } Pj Si1,j j + + , onde Fi representa max{k | k Fi } max{Pk | k Fi } max{Si1,k | k Fi } o conjunto das tarefas ainda no sequenciadas at a i-sima iterao (para i = 1, no a e e ca Si1,j mdia{Skj | k I e k = j} e lugar de , utilizado e ; max{Si1,k | k Fi } max{Skl | k, l I e k = l} 2Ej max{Ek | k Fi } +

CAP ITULO 4. ALGORITMO PROPOSTO Ej max{Ek | k Fi }

39

g9 (j) =

2Tj j + max{Tk | k Fi } max{k | k Fi } j Pj Si1,j + + , onde Fi representa max{k | k Fi } max{Pk | k Fi } max{Si1,k | k Fi } o conjunto das tarefas ainda no sequenciadas at a i-sima iterao (para i = 1, no a e e ca mdia{Skj | k I e k = j} e Si1,j ; , utilizado e lugar de max{Si1,k | k Fi } max{Skl | k, l I e k = l} + Ej max{Ek | k Fi } +

g10 (j) =

Tj j + max{Tk | k Fi } max{k | k Fi } j Pj Si1,j + + , onde Fi representa max{k | k Fi } max{Pk | k Fi } max{Si1,k | k Fi } o conjunto das tarefas ainda no sequenciadas at a i-sima iterao (para i = 1, no a e e ca mdia{Skj | k I e k = j} e Si1,j ; , utilizado e lugar de max{Si1,k | k Fi } max{Skl | k, l I e k = l} Tj j + max{Tk | k Fi } max{k | k Fi } Pj Si1,j j + + , onde Fi representa max{k | k Fi } max{Pk | k Fi } max{Si1,k | k Fi } o conjunto das tarefas ainda no sequenciadas at a i-sima iterao (para i = 1, no a e e ca mdia{Skj | k I e k = j} e Si1,j , utilizado e ; lugar de max{Si1,k | k Fi } max{Skl | k, l I e k = l} + 2Ej max{Ek | k Fi }

g11 (j) =

Cada funo gk , k = 1, 2, , 11, foi utilizada para construir uma soluo gulosa ca ca para cada um dos 608 problemas-teste com at 100 tarefas apresentados na Subseo e ca 5.1. A qualidade da soluo encontrada por cada funo adaptativa gulosa gk , aplicada ca ca a um determinado problema-teste, foi mensurada pela equao (4.3), onde fgk representa ca o valor da funo objetivo da soluo encontrada pela funo adaptativa gulosa gk e fg ca ca ca denota o valor da funo objetivo da melhor soluo encontrada pelas 11 funes gulosas. ca ca co fgk fg fg

Desviogk =

(4.3)

Os resultados encontrados esto sintetizados na Tabela 4.1. Nesta tabela, a primeira a linha indica as funes adaptativas gulosas testadas. J na segunda linha, so apresentas co a a as mdias dos desvios encontrados pelas respectivas funes aplicadas aos 608 problemase co teste.
Tabela 4.1: Resultados apresentados pelas funes adaptativas gulosas testadas. co

Funo ca g1 g2 g3 g4 g5 g6 g7 g8 g9 g10 g11 Desvio Mdio 0,47 0,46 0,45 0,54 0,54 0,56 0,53 0,28 0,38 0,57 0,36 e

Na Tabela 4.1 poss observar que as funes g1 , g2 , g3 , g8 , g9 e g11 apresentaram e vel co desvios mdios menores que 0,5. Sendo assim, optou-se por utilizar estas seis funes, uma e co em cada iterao do GRASP. Tais funes so utilizadas segundo a ordem crescente do ca co a

CAP ITULO 4. ALGORITMO PROPOSTO

40

desvio mdio encontrado, ou seja, na primeira iterao utiliza-se a funo g8 , na segunda e ca ca utiliza-se a funo g11 e assim por diante, at que todas a seis funes sejam utilizadas; ca e co repetindo-se a aplicao desta sequncia a seguir. ca e Ainda na etapa de construo de uma soluo, aplicado o POP (linha 9 do Algoritmo ca ca e 12). Assim, sempre que uma nova tarefa inserida na soluo em formao, esta e ca ca e submetida a uma busca local. A busca local utilizada consiste em um mtodo de descida, e o qual descrita a seguir. e Para determinar a vizinhana utilizada no mtodo de descida relativo ao POP, foi reac e lizado o seguinte procedimento em um problema-teste com 30 tarefas. Cada uma das seis funes adaptativas gulosas determinadas acima foi utilizada para construir uma soluo co ca para o problema. As solues constru co das foram, ento, submetidas ao procedimento de a Descida de Primeira Melhora com a vizinhana N T . Este mesmo procedimento foi realic zado com a vizinhana N R . Como a ordem de visita aos vizinhos determinante em um c e mtodo de descida, o procedimento descrito foi realizado 20 vezes com cada vizinhana, e c sendo a ordem de visitas sempre escolhida aleatoriamente. No nal de todas as execues, co as solues obtidas com a vizinhana N R apresentaram uma mdia 9,55% menor que a co c e mdia das solues obtidas com a vizinhana N T . Alm disso, a melhor soluo obtida e co c e ca R com a vizinhana N foi 7, 63% melhor que a melhor soluo obtida com a N T . Estes c ca R resultados sugerem que a vizinhana N capaz de encontrar solues de melhor qualic e co dade e com melhor mdia que as solues obtidas com a vizinhana N T e, por isso, foi a e co c escolhida para o mtodo de descida usado no POP. e Como o POP aplicado sempre que uma tarefa inserida na soluo em formao, e e ca ca R utilizou-se uma descida randmica com vizinhana N , visto que este mtodo de descida o c e demanda menos tempo computacional que a Descida de Primeira Melhora. Sendo assim, dada uma soluo, aleatoriamente escolhe-se uma tarefa na sequncia e uma nova posio ca e ca para ela. Se a nova sequncia produzir uma soluo com um valor menor para a funo e ca ca de avaliao, a nova sequncia aceita e passa a ser a soluo corrente; caso contrrio, ca e e ca a testada outra realocao aleatria. A busca interrompida aps MRDMax realocaes e ca o e o co consecutivas sem melhora na soluo corrente, sendo MRDMax um parmetro do mtodo. ca a e

4.6

VND1

Para renar as solues contru co das na primeira fase do GPV (linha 6 do Algoritmo 10), utiliza-se um procedimento baseado em Descida em Vizinhana Varivel (ver Seo c a ca 2.2.3), denotado por VND1 . Basicamente o VND1 consiste em trs passos: e Passo 1 : Descida randmica com a vizinhana N T ; o c Passo 2 : Descida randmica com a vizinhana N R ; o c Passo 3 : Descida randmica com a vizinhana N RB ; o c No Passo 1, duas tarefas so escolhidas de forma aleatria e a ordem de seus processaa o mentos na sequncia de produo so trocadas. Se a nova sequncia produzir uma soluo e ca a e ca com um valor menor para a funo de avaliao, a nova sequncia aceita e passa a ser ca ca e e a soluo corrente; caso contrrio, testada outra troca aleatria. O Passo 1 termina ca a e o

CAP ITULO 4. ALGORITMO PROPOSTO

41

quando ocorrer MRDmax trocas consecutivas sem melhora na soluo corrente, sendo ca MRDMax um parmetro do mtodo. Neste ultimo caso, passa-se para o Passo 2. a e No Passo 2, aleatoriamente escolhe-se uma tarefa na sequncia e uma nova posio e ca para ela. Se a nova sequncia produzir uma soluo com um valor menor para a funo e ca ca de avaliao, a nova sequncia passa a ser a soluo corrente e volta-se ao Passo 1 ; caso ca e ca contrrio, testada outra realocao aleatria. O Passo 2 interrompido aps MRDMax a e ca o e o realocaes consecutivas sem melhora na soluo corrente. Neste ultimo caso, passa-se co ca para o Passo 3. No Passo 3, aleatoriamente escolhe-se um bloco de tarefas na sequncia de produo e ca (o tamanho do bloco tambm escolhido de forma aleatria) e uma nova posio para ele. e e o ca Se a nova sequncia produzir uma soluo com um valor menor para a funo de avaliao, e ca ca ca a nova sequncia passa a ser a soluo corrente e volta-se ao Passo 1 ; caso contrrio, e ca a e testada outra realocao de bloco aleatria. O Passo 3 interrompido aps MRDMax ca o e o realocaes de blocos consecutivas sem melhora na soluo corrente. Neste ultimo caso, co ca o VND1 interrompido e a melhor soluo encontrada retornada. e ca e E interessante observar que a soluo oriunda do VND1 no necessariamente um ca a e timo local em relao `s vizinhanas adotadas, visto que nem toda a vizinhana anao ca a c c e lisada em cada cada passo.

4.7

VND2

Como a soluo proveniente da primeira fase do GPV (linhas 1 a 12 do Algoritmo 10) ca no necessariamente um timo local em relao `s vizinhanas adotadas, ela submetida a e o ca a c e a uma busca local mais efetiva, no caso, tambm baseada na Busca em Vizinhana Varivel e c a (VND2 ). Nesta, a explorao do espao de solues realizada de acordo com os seguintes ca c co e passos: Passo 1 : Descida Primeiro de Melhora com a vizinhana N T ; c Passo 2 : Descida completa com a vizinhana N RB ; c Se no Passo 1, todos os vizinhos com relao ` vizinhana N T no so de melhora, ca a c a a passa-se para o Passo 2. No Passo 2, em que so realizadas realocaes de blocos de tarefas, inicialmente a co testam-se todas as poss veis realocaes de blocos com apenas uma tarefa e, quando no co a for mais poss melhorar a soluo com um determinado tamanho de bloco, passa-se a vel ca explorar movimentos com blocos de tamanho imediatamente superior. Se uma soluo ca de melhora encontrada, volta-se ao Passo 1. O procedimento interrompido quando e e um timo local com relao `s vizinhanas N T e N RB encontrado. Observa-se que a o ca a c e vizinhana N R corresponde a realocar blocos com apenas uma tarefa. Logo, a vizinhana c c R RB N est contida na vizinhana N a c e um timo local em relao ` esta ultima tambm o ca a e um timo local em relao ` primeira. e o ca a

4.8

Reduo do Espao de Busca - GPV-REB ca c

A avaliao de todos os vizinhos gerados em uma busca local requer um grande e ca muitas vezes injusticvel esforo computacional (Frana Filho, 2007). Por isso, intea c c e

CAP ITULO 4. ALGORITMO PROPOSTO

42

ressante utilizar estratgias que tenham por objetivo evitar a avaliao de solues que e ca co apresentam determinadas caracter sticas julgadas ruins e, assim, reduzir o esforo compuc tacional. Como consequncia, mais vizinhos podem ser explorados ou, ento, problemas e a de dimenses maiores podem ser resolvidos. o No caso do PSUMAA-JE-TPD, se duas tarefas i, j I satisfazem as condies (4.4), co (4.5), (4.6) e (4.7): Ei i Ti i Ej , j , Tj e j , (4.4) (4.5) (4.6) (4.7)

espera-se que boas solues possuem a tarefa i sequenciada antes da tarefa j. Deste co modo, se i sequenciada antes de j na sequncia corrente, proposta a seguinte estratgia e e e e de reduo do espao de busca: ca c Durante a explorao da vizinhana N T , a soluo produzida pela troca das ordens ca c ca de processamentos da tarefa i com a tarefa j rejeitada sem ser avaliada. e Durante a explorao da vizinhana N R , as realocaes da tarefa i para posies ca c co co sucessoras ` tarefa j so descartadas sem serem avaliadas. Do mesmo modo, as a a realocaes da tarefa j para as posies antecessoras ` tarefa i tambm so descarco co a e a tadas. Durante a explorao da vizinhana N RB , as realocaes de blocos que levam a tarefa ca c co i a ser sequenciada depois da tarefa j na sequncia de produo so descartadas sem e ca a serem avaliadas. A Figura 4.1 ilustra a situao em que E3 E2 , 3 2 , T3 T2 e 3 2 . Neste ca caso, as solues obtidas pela troca das ordens de processamento da tarefa 3 com a tarefa co 2 ou por realocaes, de tarefas ou de blocos, que levam a tarefa 3 a ser sequenciada co depois da tarefa 2 so descartadas antes de serem avaliadas. a
mquina
3 2 3 2
Tarefa 1

aa aa Tarefa 3 aa
T1 E3 T3

Tarefa 2

E1

E2

T2

tempo

Figura 4.1: Exemplo de situao em que a estratgia de reduo do espao de busca utilizada. ca e ca c e

A estratgia de reduo do espao de busca proposta acima foi utilizada em um algoe ca c ritmo derivado do algoritmo GPV, denotado por GPV-REB. O GPV-REB se diferencia

CAP ITULO 4. ALGORITMO PROPOSTO

43

do GPV pela utilizao da estratgia de reduo do espao de busca nas buscas locais da ca e ca c primeira fase do algoritmo, ou seja, na descida randmica aplicada nas solues parciais o co da fase de construo de uma soluo (linha 9 do Algoritmo 12) e no VND1 (linha 6 do ca ca Algoritmo 10). A segunda fase dos dois algoritmos a mesma. e

Cap tulo 5 Resultados Computacionais


Neste cap tulo so apresentados os resultados computacionais obtidos pela aplicao a ca das formulaes de programao matemtica propostas, bem como dos algoritmos heuco ca a r sticos desenvolvidos. Primeiramente, so apresentados os conjuntos de problemas-teste a utilizados. Na Seo 5.2 so apresentados os resultados obtidos com as formulaes de ca a co programao matemtica apresentadas no Cap ca a tulo 3. Na Seo 5.3 so apresentados ca a os resultados obtidos com os algoritmos GPV e GPV-REB, bem como os procedimentos utilizados na determinao dos parmetros de tais algoritmos. ca a Todos os experimentos computacionais foram realizados em um computador Intel(R) Core(TM) 2 Duo E8400 2.99 GHz, com 2 GB de memria RAM e sistema operacional o Windows XP. Apesar de o processador deste equipamento possuir 2 ncleos, o algoritmo u desenvolvido no foi otimizado para multiprocessamento. a

5.1

Problemas-teste

Foram utilizados trs conjuntos de problemas-teste. O primeiro deles, denotado por e BDS, foi proposto por Gomes Jnior (2007), sendo baseado nos trabalhos de Wan & Yen u (2002), Liaw (1999) e Mazzini & Armentano (2001). Esta base de dados constitu por e da grupos de problemas-teste com 8, 9, 10, 11, 12, 15, 20, 25, 30, 40, 50 e 75 tarefas. Dada uma tarefa i, o tempo de processamento (Pi ), o custo por unidade de atraso (i ) e o custo por unidade de antecipao (i ) so valores inteiros selecionados aleatoriamente ca a dentro dos intervalos [1, 100], [20, 100] e [0, i ], respectivamente. O centro da janela de entrega de i I um valor inteiro aleatrio dentro do intervalo e o VRJ VRJ 1 FA TTP, 1 FA + TTP , onde TTP o tempo total de e 2 2 processamento de todos as tarefas, FA o fator de atraso e VRJ a variao relativa da e e ca janela de entrega. So utilizados os valores 0,1; 0,2; 0,3 e 0,4 para FA e 0,8; 1,0 e 1,2 para a VRJ. Os tamanhos das janelas de entrega so uniformemente e discretamente distribu a dos TTP no intervalo 1, , onde n o nmero de tarefas de I. e u n Para toda tarefa j I e j = i, o tempo de setup (Sij ) um inteiro aleatrio dentro e o do intervalo [0, 50]. Utilizou-se tempos de preparao simtricos, ou seja, Sij = Sji . ca e

44

CAP ITULO 5. RESULTADOS COMPUTACIONAIS

45

Como so utilizados quatro valores distintos de FA e trs valores distintos de VRJ, a e h 12 problemas-teste para cada nmero de tarefas, totalizando 144 problemas-teste. a u Doravante, esta base de dados ser denotada por BDS. a O segundo conjunto de problemas-teste utilizado, denotado por BDNS, foi gerado considerando-se a metodologia apresentada nos trabalhos de Wan & Yen (2002) e Rabadi et al. (2004). Foram gerados grupos de problemas-teste com 6, 7, 8, 9, 10, 11, 12, 15, 20, 30, 40, 50, 75, 100 e 150 tarefas. Dada uma tarefa i I, o tempo de processamento (Pi ), o custo por unidade de atraso (i ) e o custo por unidade de antecipao (i ) so valores inteiros selecionados ca a aleatoriamente dentro dos intervalos [1, 100], [1, 10] e [1, i ], respectivamente. O centro da janela de entrega de i um valor inteiro aleatrio dentro do intervalo e o VRJ VRJ 1 FA TTP, 1 FA + TTP , onde TTP o tempo total de e 2 2 processamento de todos as tarefas, FA o fator de atraso e VRJ a variao relativa da e e ca janela de entrega. So utilizados os valores 0,1; 0,3; 0,5 e 0,8 para FA e 0,4; 0,7; 1,0 e 1,3 a para VRJ. O tamanho da janela de entrega de i um nmero inteiro selecionado aleatoriamente e u TTP , onde n o nmero de tarefas de I. e u dentro do intervalo 0, n Para toda tarefa j I e j = i, o tempo de setup (Sij ) um inteiro aleatrio dentro e o do intervalo [5, 30]. Nesta base de dados, os tempos de setup so genricos e, assim, no a e a so necessariamente simtricos como na base anterior. a e Como so utilizados 4 valores distintos de TTP e 4 de VRJ, so 16 problemas-teste de a a cada tamanho, totalizando 240 problemas-teste. Esta nova base de dados ser denotada a por BDNS. O terceiro conjunto de problemas-teste, denotado por BDDT, tambm foi baseado e nos trabalhos de Rabadi et al. (2004) e Wan & Yen (2002), mas diferem do anterior na caracterizao dos tempos de preparao, que, neste caso, satisfazem a desigualdade ca ca triangular. Os problemas-teste deste conjunto foram gerados do modo descrito a seguir. Dada uma tarefa i I, o tempo de processamento (Pi ), o custo por unidade de atraso (i ) e o custo por unidade de antecipao (i ) so nmeros inteiros selecionados ca a u aleatoriamente dentro dos intervalos [1, 40], [1, 10] e [1, i ], respectivamente. O centro da janela de entrega de i um valor inteiro aleatrio dentro do intervalo e o VRJ VRJ 1 FA TTP, 1 FA + TTP , em que TTP o tempo total de e 2 2 processamento de todos as tarefas, FA o fator de atraso e VRJ a variao relativa da e e ca janela de entrega. O tamanho da janela de entrega um valor inteiro selecionado aleatoriamente no e TTP intervalo 0, , sendo n o nmero de tarefas. u n Para toda tarefa j I e j = i, o tempo de setup (Sij ) um nmero inteiro escolhido e u aleatoriamente dentro do intervalo [5, 15]. Assim, os tempos de setup tambm no so e a a necessariamente simtricos. e Foram gerados conjuntos de problemas-teste com 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 e 20 tarefas, respectivamente, sendo utilizados os valores 0,1; 0,3; 0,5 e 0,8 para FA e 0,4; 0,7; 1,0 e 1,3 para VRJ. Deste modo, h 16 problemas-teste em cada conjunto, a

CAP ITULO 5. RESULTADOS COMPUTACIONAIS

46

totalizando 240 problemas-teste. Durante a gerao dos problemas-teste desta ultima base de dados, sempre que um proca blema gerado no satisfazia a desigualdade triangular, ele era descartado e outro problema a com os mesmos valores para FA e VRJ era gerado. Portanto, todos os problemas-teste desta base de dados satisfazem a desigualdade triangular.

5.2

Resultados Obtidos com as Formulaes de Proco gramao Matemtica ca a

Os modelos de programao matemtica apresentados na Seo 3 foram implemenca a ca tados no modelador AMPL e resolvidos pelo otimizador CPLEX, verso 10.1, da ILOG, a em sua congurao padro. Foram realizados experimentos nos problemas-teste de peca a queno porte das trs bases de dados apresentadas na Seo 5.1, totalizando trs baterias e ca e de testes. Para os modelos MPLIM-G e MPLIM-BG, foi utilizado M = 1000, valor adotado por Gomes Jnior (2007). Para cada problema-teste, o conjunto H do MPLIM-IT foi u determinado pelas expresses (5.1) e (5.2): o hinf = max 0, min Ti | i I
iI

+ min Sij | i, j I e i = j max Sij | j I e i = j


iI

Pi +
iI

(5.1)

hsup = max Ei | i I

Pi +
iI

max Sij | j I e i = j min Pi | i I (5.2)

min Sij | i, j I e i = j

min min Pi | i I , max Ei | i I

em que hinf garante que todas as tarefas podem ser conclu das sem atraso (ou o processamento da primeira tarefa iniciado na data 0) e hsup assegura que todas as tae refas podem ser executadas sem antecipao. Portanto, tem-se a garantia de que as ca datas de in de processamento das tarefas na sequncia tima pertencem ao conjunto cio e o H = {hinf , hinf + 1, hinf + 2, , hsup }. Considerou-se, ainda, o limite de 3600 segundos para a resoluao de cada problemac teste pelo CPLEX. Para os problemas em que este limite de tempo foi atingido, a soluo ca retornada no necessariamente tima; porm, um limite inferior para o timo de tal a e o e o problema retornado pelo CPLEX. Este limite foi utilizado para medir a qualidade da e soluo retornada, que obtida pela equao (5.3): ca e ca gap = (f CPLEX L) 100% L (5.3)

em que f CPLEX e L representam, respectivamente, o valor da funo objetivo da soluo ca ca e o limite inferior encontrados pelo otimizador. Deste modo, se uma soluo tima ca o e encontrada, tem-se gap = 0.

CAP ITULO 5. RESULTADOS COMPUTACIONAIS Os resultados obtidos em cada bateria de testes so apresentados a seguir. a

47

5.2.1

Primeira Bateria de Testes - BDS

A primeira bateria de testes foi realizada com os problemas-teste da base de dados BDS. Os problemas-teste dessa base de dados possuem os tempos de setup simtricos e e no satisfazem, necessariamente, a desigualdade triangular. Deste modo, apenas os a modelos MPLIM-G e MPLIM-BG foram utilizados nesta bateria, visto que o MPLIM-IT no permite resolver problemas em que a desigualdade triangular no satisfeita. a a e Os resultados encontrados so resumidos na Tabela 5.1, onde a primeira coluna indica o a nmero de tarefas dos problemas-teste de cada conjunto. Ademais, para cada conjunto de u problemas, as colunas Solues Otimas mostram (em porcentagem) em quantos probleco mas o CPLEX encontrou uma soluo tima com os respectivos modelos, as colunas gap ca o mostram as mdias dos gaps retornados pelos respectivos modelos e as colunas Tempo e Mdio mostram as mdias dos tempos (em segundos) demandados por tal otimizador na e e resoluo dos problemas-teste com os respectivos modelos. ca
Tabela 5.1: Comparao MPLIM-G MPLIM-BG aplicados ` BDS. ca a # Tarefas 08 09 10 11 12 Mdia e MPLIM-G Soluoes c Tempo gap Mdio e Otimas (%) (%) (s) 100,00 0,00 1,52 100,00 0,00 35,12 100,00 0,00 86,68 66,67 15,78 1850,01 50,00 30,51 1957,23 83,33 9,26 786,11 MPLIM-BG Soluoes c Tempo gap Mdio e Otimas (%) (%) (s) 100,00 0,00 1,61 100,00 0,00 31,71 100,00 0,00 77,16 75,00 10,53 1974,97 50,00 30,98 1962,74 85,00 8,30 809,64

Na Tabela 5.1, observa-se que o MPLIM-G e o MPLIM-BG proporcionaram ao CPLEX desempenhos semelhantes para a base de dados em questo. Usando-se esses dois moa delos, o CPLEX foi capaz de resolver na otimalidade todos os problemas-teste com at e 10 tarefas e com tempos mdios de processamentos bem prximos uns dos outros. Para e o os problemas-teste com 11 tarefas, o MPLIM-BG permitiu resolver 75,00% dos casos, contra 66,67% do MPLIM-G, e proporcionou gap inferior ao propiciado pelo MPLIM-G. Para estes problemas-teste, o tempo mdio demandado pelo CPLEX com o MPLIM-G foi e sensivelmente inferior ao despendido com o MPLIM-BG. Para os problemas-teste com 12 tarefas, ambos os modelos proporcionaram ao otimizador resolver 50,00% dos problemas, com gaps prximos de 31% e tempos mdios prximos de 1960 segundos. o e o

5.2.2

Segunda Bateria de Testes - BDNS

A segunda bateria de testes foi realizada com os problemas-teste da base de dados BDNS. Os problemas-teste dessa base de dados tambm no satisfazem, necessariamente, e a a desigualdade triangular. Do mesmo modo, apenas os modelos MPLIM-G e MPLIM-BG

CAP ITULO 5. RESULTADOS COMPUTACIONAIS

48

foram utilizados nesta bateria, j que o MPLIM-IT no permite resolver problemas em a a que a desigualdade triangular no satisfeita. a e A Tabela 5.2 resume os resultados encontrados. Nela, a primeira coluna indica o nu mero de tarefas em cada problema-teste dos conjuntos. Alm disso, para cada conjunto e de problemas, as colunas Solues Otimas mostram (em porcentagem) em quantos proco blemas o CPLEX encontrou uma soluo tima com os respectivos modelos, as colunas ca o gap mostram as mdias dos gaps com os respectivos modelos e as colunas Tempo Me e dio mostram as mdias dos tempos (em segundos) demandados por tal otimizador na e resoluo dos problemas-teste com os respectivos modelos. ca
Tabela 5.2: Comparao MPLIM-G MPLIM-BG aplicados ` BDNS. ca a # Tarefas 06 07 08 09 10 11 12 Mdia e MPLIM-G Soluoes c Tempo gap Mdio e Otimas (%) (%) (s) 100,00 0,00 0,10 100,00 0,00 0,76 100,00 0,00 5,89 100,00 0,00 92,46 93,75 2,40 823,97 43,75 31,30 2275,84 25,00 54,92 2887,26 80,36 12,66 869,47 MPLIM-BG Soluoes c Tempo gap Mdio e Otimas (%) (%) (s) 100,00 0,00 0,09 100,00 0,00 0,76 100,00 0,00 5,96 100,00 0,00 83,15 93,75 2,55 832,44 50,00 27,53 2265,33 25,00 54,53 2857,60 81,25 12,09 863,62

Como pode ser observado na Tabela 5.2, os modelos MPLIM-G e MPLIM-BG tambm e propiciaram ao CPLEX comportamentos semelhantes para a base de dados BDNS. Ambos os modelos permitiram resolver na otimalidade todos os problemas-teste com at 9 tarefas e e, aproximadamente, a mesma proporo dos demais conjuntos de problemas. Os gaps ca e os tempos mdios tambm foram bem prximos. Essencialmente, a diferena mais e e o c sens ocorreu com os problemas-teste com 11 tarefas. Para este conjunto, o CPLEX vel conseguiu resolver 50,00% dos problemas por meio do MPLIM-BG, enquanto o MPLIMG proporcionou ao otimizador resolver apenas 43,75% dos mesmos. Os tempos mdios e demandados com os dois modelos foram bem prximos uns dos outros, mas o gap com o o MPLIM-BG foi um pouco menor que o gap com o MPLIM-G, 27,53% contra 31,30%.

5.2.3

Terceira Bateria de Testes - BDDT

Na terceira bateria de testes utilizou-se os problemas da base de dados BDDT. Como descrito anteriormente, os problemas-teste dessa base de dados satisfazem a desigualdade triangular. Sendo assim, os trs modelos de programao matemtica apresentados na e ca a Seo 3 foram utilizados nesta bateria. ca Os resultados encontrados para o MPLIM-G, para o MPLIM-BG e para o MPLIM-IT so resumidos na Tabela 5.3, na qual a primeira coluna indica o nmero de tarefas dos a u problemas-teste de cada conjunto. Para cada conjunto de problemas, as colunas Solues co Otimas mostram (em porcentagem) em quantos problemas o CPLEX encontrou uma

CAP ITULO 5. RESULTADOS COMPUTACIONAIS

49

e soluo tima com os respectivos modelos, as colunas gap mostram as mdias dos gaps ca o com os respectivos modelos e as colunas Tempo Mdio mostram as mdias dos tempos e e (em segundos) demandados por tal otimizador na resoluo dos problemas-teste com os ca respectivos modelos.
Tabela 5.3: Comparao MPLIM-G MPLIM-BG MPLIM-IT aplicados ` BDDT. ca a MPLIM-G MPLIM-BG MPLIM-IT # Soluoes c Tempo Soluoes c Tempo Soluoes c Tempo gap Mdio gap Mdio gap Mdio e e e Tarefas Otimas Otimas Otimas (%) (%) (s) (%) (%) (s) (%) (%) (s) 06 100,00 0,00 0,08 100,00 0,00 0,07 100,00 0,00 3,10 07 100,00 0,00 0,88 100,00 0,00 0,87 100,00 0,00 7,15 08 100,00 0,00 8,07 100,00 0,00 9,19 100,00 0,00 11,47 09 100,00 0,00 102,79 100,00 0,00 108,71 100,00 0,00 24,21 10 93,75 2,88 1049,76 93,75 2,59 1019,47 100,00 0,00 57,82 11 43,75 32,42 2377,33 43,75 33,80 2327,45 100,00 0,00 128,14 12 12,50 59,79 3322,83 6,25 60,41 3377,30 100,00 0,00 278,23 13 18,75 66,27 2988,67 18,75 66,40 2999,26 87,50 0,581 1246,11 14 12,50 68,50 3198,65 12,50 69,40 3168,35 37,50 5,362 2758,40 Mdia e 64,58 25,54 1449,90 63,89 25,85 1445,63 91,67 0,66 501,63
1 gap 2 gap

mdio relativo aos 93,75% problemas-teste em que uma soluo vivel foi encontrada. e ca a mdio relativo aos 50,00% problemas-teste em que uma soluo vivel foi encontrada. e ca a

Pela Tabela 5.3, observa-se que, novamente, o MPLIM-G e o MPLIM-BG apresentaram comportamentos bem semelhantes. Usando-se esses dois modelos, o CPLEX no foi a capaz de resolver na otimalidade todos os problemas-teste com mais de 9 tarefas, para os quais o gap variou de 2,59% ` 60,40%. Por outro lado, com o modelo MPLIM-IT, o a CPLEX conseguiu resolver na otimalidade todos os problemas-teste com at 12 tarefas. e Esta ultima formulao tambm exigiu, na maioria dos casos, um menor tempo mdio ca e e computacional para se alcanar a otimalidade. De fato, com exceo dos trs primeiros c ca e conjuntos de problemas-teste, a formulao MPLIM-IT demandou at 18 vezes, aproxica e madamente, menos tempo que as demais formulaes. co Ainda na Tabela 5.3, nota-se que o CPLEX aplicado ` formulaao MPLIM-IT no foi a c a capaz de encontrar, em uma hora de processamento, uma soluo vivel em 6,25% dos ca a problemas-teste com 13 tarefas, bem como em 50,00% dos problemas-teste com 14 tarefas. Contudo, para os casos em que essa formulao conseguiu gerar uma soluo vivel, os ca ca a gaps foram bem baixos (0,58% em problemas com 13 tarefas e 5,36% nos de 14 tarefas), se comparados com aqueles produzidos pelas formulaes MPLIM-G e MPLIM-BG, que co foram sempre superiores a 66%.

5.3

Resultados Obtidos com os Algoritmos GPV e GPV-REB

Os algoritmos heur sticos propostos (GPV e GPV-REB), bem como os procedimentos utilizados para a denio dos seus parmetros, foram implementados em linguagem C, ca a

CAP ITULO 5. RESULTADOS COMPUTACIONAIS

50

usando-se o compilador Borland C++ Builder 5.0. Foram realizados experimentos com todos os problemas-teste das trs bases de dados apresentadas na Seo 5.1, totalizando e ca trs baterias de testes. e Para auxiliar na apresentao e comparao dos resultados, utilizou-se duas medidas ca ca de desempenho, dadas pelas equaes (5.4) e (5.5). Nestas equaes, para um dado co co problema-teste i, fi o valor da funo objetivo da melhor soluo conhecida para o e ca ca X X problema e fi e f i so, respectivamente, o valor da funo objetivo da melhor soluo a ca ca encontrada e a mdia dos valores da funo objetivo aplicada nas solues encontradas e ca co durante todas as execues do algoritmo X para o problema-teste i. co impbest i impavg i fX f = i i fi f i fi = fi
X

(5.4) (5.5)

A primeira equao calcula o desvio do valor da funo objetivo da melhor soluo ca ca ca encontrada pelo algoritmo X em torno da funo objetivo da melhor soluo conhecida ca ca para o respectivo problema-teste. J a segunda equao calcula a variabilidade mdia dos a ca e valores da funo objetivo das solues encontradas pelo algoritmo X em torno da melhor ca co soluo conhecida para o respectivo problema. ca A seguir so apresentados os procedimentos utilizados para denir cada parmetro do a a GPV (utilizou-se os mesmos parmetros no GPV-REB) e os resultados obtidos em cada a bateria de testes.

5.3.1

Denio dos Parmetros ca a

Cada parmetro do algoritmo GPV foi denido por meio de experimentos em um a problema-teste de porte mdio (30 tarefas). Denido um parmetro, este era xado nos e a procedimentos de denio dos demais parmetros. ca a O primeiro parmetro a ser denido foi o parmetro da fase de construo de uma a a ca soluo (ver Seo 4.5). Para isto, dado um valor para , foi constru uma soluo com ca ca da ca cada uma das seis funes adaptativas gulosas denidas na Seo 4.5 e a melhor destas co ca solues era retornada. Como o objetivo era determinar o valor de que proporciona co construir solues de melhor qualidade, no foi utilizado o POP durante as construes co a co das solues, ou seja, as solues parciais no foram submetidas ` uma busca local. Este co co a a procedimento foi realizado 20 vezes para cada um dos seguintes valores para : 0; 0,02; 0,04; 0,06; 0,08; 0,10; 0,12; 0,14; 0,16; 0,18; 0,20; 0,22; 0,24; 0,26; 0,28 e 0,30. Os resultados encontrados esto sintetizados no grco da Figura 5.1, onde mostrado o menor valor a a e e a mdia dos valores retornados para a funo objetivo (fo) das solues produzidas nas e ca co 20 execues dos respectivos valores para . co Como pode ser observado no grco da Figura 5.1, o menor valor para fo foi encontrado a para igual a 0,12. J a menor mdia para fo foi encontrada para igual a 0. Desde a e modo, deniu-se igual a 0 na primeira vez em que cada uma das seis funes adaptativas co gulosas utilizada e igual a 0,12 nas demais. e O segundo parmetro a ser denido foi o parmetro MRDmax da descida randmica a a o (MRD) utilizada no POP (ver Seo 4.5). Para isto, dado um valor para MRDmax, foi ca

CAP ITULO 5. RESULTADOS COMPUTACIONAIS


fo
24000 23000 22000 21000 20000 19000 18000 17000 16000 15000 14000 0 0,02 0,04 0,06 0,08 0,1 0,12 0,14 0,16 0,18 0,2 0,22 0,24 0,26 0,28 0,3

51

Menor fo encontrada

Mdia das fo's encontradas

Figura 5.1: Resultados dos testes para denio de . ca

constru uma soluo com cada uma das seis funes adaptativas gulosas denidas na da ca co Seo 4.5 e a melhor destas solues era retornada. Como o objetivo era determinar o ca co valor de MRDmax que proporciona encontrar solues de melhor qualidade a partir de co uma mesma soluo inicial, o valor de foi xado em 0. Deste modo, a ordem de incluso ca a de uma tarefa na soluo parcial sempre a mesma para uma dada funo adaptativa ca e ca gulosa. Este procedimento foi realizado 20 vezes para cada valor de MRDmax. Os valores de MRDmax testados so da forma k n, onde n representa o nmero de tarefas a serem a u sequenciadas e k {1, 2, 3, . . . , 15}. Os resultados encontrados esto apresentados no a grco da Figura 5.2, onde mostrado o menor valor e a mdia dos valores retornados a e e para a funo objetivo (fo) das solues encontradas nas 20 execues dos respectivos ca co co valores de k.
fo
12800 12300 11800 11300 10800 10300 9800 9300 8800 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Menor fo encontrada

Mdia das fo's encontradas

Figura 5.2: Resultados dos testes para denio de MRDmax. ca

Como pode ser observado no grco da Figura 5.2, o menor valor para fo foi encontrado a

CAP ITULO 5. RESULTADOS COMPUTACIONAIS

52

para k igual a 7, ou seja, para MRDmax igual a 7 n. Deste modo, deniu-se MRDmax igual a 7 n. Devido ao tempo computacional despendido nos problemas com 75 ou mais tarefas (n 75), utilizou-se MRDmax igual a 5 n para estes problemas. Denidos os parmetros da fase de construo de uma soluo, o prximo parmetro a a ca ca o a ser denido foi o parmetro VNDmax do VND1 (ver Seo 4.6). Para isto, dado um valor a ca para VNDmax, foi constru uma soluo com cada uma das seis funes adaptativas da ca co gulosas denidas na Seo 4.5 e, a seguir, cada soluo constru foi submetida ao VND1 . ca ca da A melhor soluo encontrada era retornada. Para construir as solues, foi xado em 0 e ca co o MRDmax foi 7n. Este procedimento foi realizado 20 vezes para cada valor de VNDmax. Os valores de VNDmax testados tambm so da forma k n, onde n representa o nmero e a u de tarefas a serem sequenciadas e k {1, 2, 3, . . . , 15}. Os resultados encontrados esto resumidos no grco da Figura 5.2, onde mostrado o menor valor e a mdia dos a a e e valores retornados para a funo objetivo (fo) das solues encontradas nas 20 execues ca co co dos respectivos valores de k.
fo
9600 9500 9400 9300 9200 9100 9000 8900 8800 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Menor fo encontrada

Mdia das fo's encontradas

Figura 5.3: Resultados dos testes para denio de VNDmax. ca

Conforme o grco da Figura 5.3, o menor valor para fo foi encontrado para k igual a a 5, 11, 12 e 15, ou seja, para VNDmax igual a 5 n, 11 n, 12 n e 15 n. Como a menor mdia para a fo foi encontrada para VNDmax igual a 11 n, deniu-se VNDmax e igual a 11 n. Devido ao tempo computacional despendido para problemas com 75 ou mais tarefas (n 75), nestes problemas utilizou-se VNDmax igual a 5 n. Finalmente, o ultimo parmetro a ser denido foi o parmetro GRASPmax 1 da pri a a meira fase da metodologia proposta (ver Algoritmo 10). Para isto, dado um valor para GRASPmax, apenas a primeira fase do algoritmo GPV era aplicada ao problema e a melhor soluo encontrada era retornada. Para construir as solues, utilizou-se igual a ca co 0 na primeira vez em que cada uma das seis funes adaptativas gulosas era utilizada e co igual a 0,12 nas demais. MRDmax e VNDmax foram xados em 7 n e 11 n, respectivamente. Este procedimento foi realizado 20 vezes para cada valor de GRASPmax.
E importante lembrar que esta fase baseada no procedimento GRASP, mas, diferentemente do e GRASP tradicional, utiliza-se GRASPmax iteraes sem melhora na soluo corrente e no simplesmente co ca a GRASPmax iteraes. co
1

CAP ITULO 5. RESULTADOS COMPUTACIONAIS

53

Os valores de GRASPmax testados foram: 6, 12, 18, 24 e 30. Testou-se mltiplos de u 6 para GRASPmax por terem sido utilizadas seis funes adaptativas gulosas distintas co para construir solues. Os resultados encontrados esto sintetizados no grco da Figura co a a 5.2, onde mostrado o menor valor e a mdia dos valores retornados para a funo obe e ca jetivo (fo) das solues encontradas durante as 20 execues dos respectivos valores para co co GRASPmax.
fo
9600 9500 9400 9300 9200 9100 9000 8900 8800 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Menor fo encontrada

Mdia das fo's encontradas

GRASPmax

Figura 5.4: Resultados dos testes para denio de GRASPmax. ca

De acordo o grco da Figura 5.4, o menor valor para fo foi encontrado para GRASPa max igual a 12, 18, 24 e 36. Como a menor mdia para a fo foi encontrada para GRASPe max igual a 24, deniu-se GRASPmax igual a 24. Devido ao tempo computacional despendido nos problemas com 75 ou mais tarefas (n 75), utilizou-se GRASPmax igual a 12 para estes problemas. Os parmetros utilizados esto resumidos na Tabela 5.4, onde n representa o nmero a a u de tarefas a serem sequenciadas.
Tabela 5.4: Parmetros utilizados. a

Parmetros a Valores 0 e 0,12 MRDmax 7 n, se n 50 e 5 n, se n 75 VNDmax 11 n, se n 50 e 5 n, se n 75 GRASPmax 24, se n 50 e 12, se n 75

CAP ITULO 5. RESULTADOS COMPUTACIONAIS

54

5.3.2

Primeira Bateria de Testes - BDS

A primeira bateria de experimentos foi realizada com os problemas-teste da base de dados BDS. Os problemas-teste de tal base de dados possuem os tempos de setup simtricos. e Cada problema-teste foi resolvido 30 vezes com cada algoritmo proposto, exceto aqueles com 75 tarefas, os quais foram resolvidos apenas 10 vezes em virtude do maior tempo computacional demandado. Os resultados obtidos pelo algoritmo GPV foram comparados com os alcanados em Gomes Jnior (2007), Penna (2009) e Ribeiro (2009), visto que c u estes autores tambm realizaram experimentos computacionais com esta base de dados. e Um resumo dos resultados obtidos pelo algoritmo GPV e pelos algoritmos da literatura que tambm zeram experimentos com a base de dados em questo apresentado na e a e Tabela 5.5. Nesta tabela, a primeira coluna indica o nmero de tarefas nos problemas-teste u de cada grupo. Nas colunas Gomes Jnior (2007), Penna (2009), Ribeiro (2009)e u GPVso apresentados os resultados obtidos pelos respectivos algoritmos. Para um grupo a de problemas-teste com i tarefas, as colunas Tempo mostram as mdias dos tempos e best demandados (em segundos) pelos respectivos algoritmos, as colunas imp apresentam as mdias dos impbest s (em porcentagem) obtidos pelos respectivos algoritmos aplicados e i avg e nos problemas deste conjunto e as colunas imp apresentam as mdias dos impavg s i obtidos pelos respectivos algoritmos aplicados nos problemas-teste do conjunto. Pela Tabela 5.5, observa-se que o algoritmo GPV e o algoritmo proposto por Gomes Jnior (2007) foram capazes de encontrar as melhores solues conhecidas em todos os u co avg problemas-teste com at 25 tarefas. Alm disso, para estes mesmos problemas, os imp s e e avg obtidos pelo GPV foram sempre menores que os obtidos por tal autor, sendo o maior imp apresentado pelo GPV igual a 1,53% e o maior obtido pelo algoritmo de Gomes Jnior u best (2007) igual a 2,32%. J para os problemas-teste com mais de 25 tarefas, os imp s a avg obtidos pelos dois algoritmos alternaram os menores valores e os imp s apresentados pelo avg algoritmo de Gomes Jnior (2007) foram sempre superiores que os respectivos imp s u avg apresentados pelo GPV, sendo que, para os problemas com 75 tarefas, o imp obtido pelo GPV foi de 13,49%, contra os 19,22% obtido pelo algoritmo deste autor. Alm disso, e para os problemas com mais de 30 tarefas os tempos mdios demandados pelo algoritmo e de Gomes Jnior (2007) foram de 30% a 74% maiores que os demandados pelo GPV, u apesar dos testes terem sido realizados em mquinas diferentes. a Ainda na Tabela 5.5 poss observar que os algoritmos propostos por Penna (2009) e vel best avg e Ribeiro (2009) obtiveram os menores valores para imp e imp na maioria dos casos. Porm, para os problemas com mais de 20 tarefas, nmero de tarefas a partir do qual e u o tempo demandado passa a ser signicativo, os dois algoritmos demandaram tempos mdios superiores aos demandados pelo GPV nos respectivos conjuntos de problemas. e Apesar de terem sido utilizadas mquinas diferentes, os tempos mdios demandados pelo a e algoritmo de Penna (2009) e Ribeiro (2009) em tais conjuntos de problemas chegaram a ser aproximadamente 800% e 360%, respectivamente, superiores aos demandados pelo algoritmo GPV nos respectivos conjuntos de problemas.

CAP ITULO 5. RESULTADOS COMPUTACIONAIS

Tabela 5.5: Comparao GPV Gomes Jnior (2007) Penna (2009) Ribeiro (2009) aplicados ` BDS. ca u a

Gomes J nior (2007) u best avg Tarefas imp imp Tempo1 (%) (%) (s) 08 0,00 0,03 0,04 09 0,00 0,06 0,07 10 0,00 0,02 0,11 11 0,00 0,12 0,20 12 0,00 0,21 0,29 15 0,00 1,47 0,94 20 0,00 1,65 4,35 25 0,00 2,32 13,29 30 0,20 3,34 40,07 40 0,44 4,66 155,79 50 1,37 7,29 492,28 75 7,89 19,22 1368,08 Mdia e 0,82 3,37 172,96
1 2

Penna (2009) avg imp imp Tempo2 (%) (%) (s) 0,00 0,00 0,06 0,00 0,00 0,09 0,00 0,00 0,15 0,00 0,00 0,25 0,00 0,00 0,37 0,00 0,47 1,13 0,00 0,64 4,93 0,00 1,09 14,90 0,00 1,68 39,93 0,08 3,32 190,61 0,32 4,95 630,77 0,82 7,46 6308,74 0,10 1,63 599,33
best

Ribeiro (2009) avg imp imp Tempo3 (%) (%) (s) 0,00 0,00 0,94 0,00 0,15 1,26 0,00 0,24 1,60 0,00 0,03 2,21 0,00 0,07 2,81 0,00 0,76 6,02 0,00 0,73 20,60 0,00 1,02 45,72 0,00 1,60 112,06 0,00 2,41 335,88 0,00 4,08 896,10 0,99 7,61 2005,05 0,08 1,56 285,85
best

imp (%) 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,04 1,10 1,65 6,08 0,74

best

GPV avg imp Tempo4 (%) (s) 0,00 0,11 0,00 0,17 0,00 0,24 0,06 0,46 0,02 0,74 0,51 1,47 1,49 5,19 1,53 14,22 2,41 30,84 3,89 111,52 6,48 309,03 13,49 787,90 2,49 105,16

Testes Testes 3 Testes 4 Testes

realizados realizados realizados realizados

em em em em

um um um um

PC PC PC PC

Athlon XP 64 Bits 3000+ (aproximadamente 2 GHz), com 1 GB de RAM. Intel Core 2 Quad (Q6600) 2,40 GHz, com 4 GB de RAM. Pentium Core 2 Duo 2,1 GHz, com 4 GB de memria RAM. o Intel Core 2 Duo (E8400) 2.99 GHz, com 2 GB de memria RAM. o

55

CAP ITULO 5. RESULTADOS COMPUTACIONAIS

56

Os resultados encontrados nos testes computacionais realizados com o algoritmo GPVREB esto sintetizados na Tabela 5.6. Na primeira coluna indicado o nmero de tarefas a e u nos problema-teste de cada conjunto. Nas colunas GPVe GPV-REBso apresentados a os resultados obtidos pelos respectivos algoritmos. Para um grupo de problemas-teste best avg com i tarefas, as colunas Tempo, imp e imp so tais como na Tabela 5.5. a Conforme pode ser observado na Tabela 5.6, para os conjuntos de problemas-teste com best at 50 tarefas, o algoritmo GPV-REB obteve valores de imp menores ou iguais a 2,13%. e best foi prximo de 1,60% e nos demais, menores o De fato, em dois destes conjuntos o imp best foi de 8,63%, valor prximo o que 1,00%. Para os problemas-teste com 75 tarefas o imp avg daquele obtido com o algoritmo GPV. J os imp s obtidos por meio do GPV-REB foram a sempre superiores aos apresentados pelo GPV nos conjuntos correspondentes. No entanto, avg os valores dos imp s obtido pelo GPV-REB aproximam-se dos obtidos com o GPV ` a medida em que considera-se conjuntos de problemas com mais tarefas. Finalmente, para os problemas em que o tempo demandado mais signicativo, isto , problemas com mais e e de 20 tarefas, os tempos demandados pelo GPV foram de 60% a 200%, aproximadamente, superiores aos demandados pelo GPV-REB nos conjuntos de problemas correspondentes.
Tabela 5.6: Comparao GPV GPV-REB aplicados ` BDS. ca a

best Tarefas imp (%) 08 0,00 09 0,00 10 0,00 11 0,00 12 0,00 15 0,00 20 0,00 25 0,00 30 0,04 40 1,10 50 1,65 75 6,08 Mdia e 0,74

GPV avg imp (%) 0,00 0,00 0,00 0,06 0,02 0,51 1,49 1,53 2,41 3,89 6,48 13,49 2,49

Tempo imp (s) (%) 0,11 0,23 0,17 0,00 0,24 0,00 0,46 0,15 0,74 0,00 1,47 1,48 5,19 0,04 14,22 1,57 30,84 0,72 111,52 1,77 309,03 2,13 787,90 8,63 105,16 1,39

best

GPV-REB avg imp Tempo (%) (s) 0,23 0,06 0,00 0,13 0,04 0,13 0,19 0,37 0,98 0,52 2,53 0,90 3,77 3,15 3,86 6,96 4,55 19,26 6,73 60,36 8,70 151,74 16,34 467,71 3,99 59,27

5.3.3

Segunda Bateria de Testes - BDNS

Na segunda bateria de testes utilizou-se os problemas da base de dados BDNS. Os problemas-teste dessa base de dados no possuem, necessariamente, os tempos de setup a simtricos e satisfazendo a desigualdade triangular, sendo assim, mais genricos. Assim e e como na primeira bateria de testes, cada problema foi resolvido 30 vezes, exceto aqueles com mais de 50 tarefas, os quais foram resolvidos apenas 10 vezes devido ao maior tempo computacional demandado. Os resultados obtidos pelos algoritmos GPV e GPV-REB

CAP ITULO 5. RESULTADOS COMPUTACIONAIS

57

foram comparados com os resultados do algoritmo proposto por Ribeiro (2009), dado que este o unico autor da literatura que realizou experimentos com esta base de dados. e Uma s ntese dos resultados encontrados pelos algoritmos GPV e GPV-REB e pelo algoritmo de Ribeiro (2009) apresentada na Tabela 5.7. Nela, a primeira coluna ine dica o nmero de tarefas dos problemas de cada grupo de problemas-teste. Nas colunas u Ribeiro (2009), GPVe GPV-REBso apresentados os resultados obtidos pelos resa pectivos algoritmos. Para um grupo de problemas-teste com i tarefas, as colunas Tempo mostram as mdias dos tempos demandados (em segundos) pelos respectivos algoritmos, e best as colunas imp apresentam as mdias dos impbest s (em porcentagem) obtidos pelos e i avg respectivos algoritmos aplicados nos problemas deste grupo e as colunas imp apresentam as mdias dos impavg s obtidos pelos respectivos algoritmos aplicados nos problemas e i do grupo.
Tabela 5.7: Comparao GPV GPV-REB Ribeiro (2009) aplicados ` BDNS. ca a

Ribeiro (2009) GPV GPV-REB best avg best avg best avg Tarefas imp imp Tempo1 imp imp Tempo2 imp imp Tempo2 (%) (%) (s) (%) (%) (s) (%) (%) (s) 006 0,00 0,00 0,76 0,00 0,00 0,04 0,00 0,00 0,03 007 0,00 0,00 0,76 0,00 0,00 0,07 0,00 0,00 0,03 008 0,00 0,00 1,03 0,00 0,00 0,30 0,00 0,76 0,25 009 0,00 0,00 1,35 0,00 0,00 0,37 0,01 0,18 0,29 010 0,00 0,00 1,61 0,00 0,20 0,45 0,47 0,86 0,34 011 0,00 0,00 2,20 0,00 0,01 0,40 0,11 0,16 0,40 012 0,00 0,00 3,32 0,00 0,00 0,52 0,00 0,43 0,42 015 0,00 0,01 7,49 0,00 0,01 1,26 0,00 0,54 0,73 020 0,00 0,30 23,88 0,00 0,10 4,52 0,49 1,83 2,85 030 0,19 1,40 172,51 0,01 0,58 36,06 0,51 1,99 18,17 040 0,18 1,17 801,67 0,06 0,79 132,94 0,36 1,51 67,04 050 0,30 1,45 1575,11 0,06 1,28 440,49 0,65 2,57 215,60 075 5,90 5,90 4978,02 3,10 5,64 1187,76 4,14 6,66 636,86 100 2,36 2,62 22299,79 0,21 2,32 4612,79 0,57 3,79 3015,16 150 0,14 2,53 49524,76 0,83 2,62 32833,61 Mdia 0,64 e 0,92 2133,54 0,24 0,90 3729,52 0,54 1,59 2452,79
1 2

Testes realizados em um PC Pentium Core 2 Duo 2,1 GHz, com 4 GB de memria RAM. o Testes realizados em um PC Intel Core 2 Duo (E8400) 2.99 GHz, com 2 GB de memria RAM. o

De acordo com a Tabela 5.7, o GPV obteve valores de imp sempre menores ou iguais que os respectivos valores obtidos pelo algoritmo de Ribeiro (2009). Isso signica que as solues produzidas pelo GPV foram, em mdia, melhores ou iguais `s produzidas pelo co e a avg o algoritmo de tal autor. Ambos os algoritmos encontraram imp s prximos de zero nos conjuntos de problemas-teste com at 20 tarefas. J nos conjuntos de problemas com mais e a avg de 20 tarefas, os valores dos imp s obtidos pelo GPV foram relativamente inferiores aos respectivos valores encontrados pelo algoritmo de Ribeiro (2009). Ademais, os tempos mdios demandados pelo algoritmo de Ribeiro (2009) para resolver os problemas de cada e

best

CAP ITULO 5. RESULTADOS COMPUTACIONAIS

58

conjunto de problemas-teste foram sempre signicativamente maiores que os demandados pelo GPV nos problemas dos respectivos conjuntos. Para o conjunto de problemas-teste com 100 tarefas, por exemplo, o tempo mdio demandado pelo algoritmo proposto por e Ribeiro (2009) foi aproximadamente 4,8 vezes superior ao demandado pelo GPV. Na Tabela 5.7 tambm poss e e vel observar que o algoritmo GPV obteve valores de best imp menores que 1,00% para todos os conjuntos de problemas-teste, exceto para o best conjunto de problemas com 75 tarefas. Mesmo assim, para este ultimo conjunto, o imp avg foi menor que o obtido pelo algoritmo de Ribeiro (2009). Os imp s foram relativamente baixos, sendo o maior valor igual a 6,66% e, para os problemas com 150 tarefas, prximo o do valor obtido pelo GPV. Os tempos mdios demandados tambm foram inferiores os e e demandados pelos outros dois algoritmos. Se comparado aos tempos mdios demandados e pelo GPV, os demandados pelo GPV-REB foram de 34% a 50% menores.

5.3.4

Terceira Bateria de Testes - BDDT

A terceira bateria de experimentos foi realizada com os problemas-teste da base de dados BDDT. Os tempos de processamento e de setup dos problemas-teste de tal base de dados satisfazem a desigualdade triangular. Cada problema-teste foi resolvido 30 vezes. Novamente os resultados obtidos pelos algoritmos GPV e GPV-REB foram comparados com os resultados de Ribeiro (2009), pois este ultimo o unico autor da literatura que e realizou experimentos com a base de dados em questo. a Os resultados obtidos pelos algoritmos GPV e GPV-REB e por Ribeiro (2009) esto a resumidos na Tabela 5.8, onde a primeira coluna indica o nmero de tarefas nos problemasu teste de cada conjunto de problemas. Nas colunas Ribeiro (2009), GPV e GPVREB so apresentados os resultados obtidos pelos respectivos algoritmos. Para um grupo a de problemas-teste com i tarefas, as colunas Tempo mostram as mdias dos tempos e best demandados (em segundos) pelos respectivos algoritmos, as colunas imp apresentam as mdias dos impbest s (em porcentagem) obtidos pelos respectivos algoritmos aplicados e i avg nos problemas deste grupo e as colunas imp apresentam as mdias dos impavg s obtidos e i pelos respectivos algoritmos aplicados nos problemas-teste do grupo. Pela Tabela 5.8, observa-se que o algoritmo GPV, bem como o algoritmo proposto por Ribeiro (2009), foi capaz de encontrar todas as respectivas melhores solues conhecidas co para os problemas-teste da base de dados BDDT. Apesar de o mesmo no ter ocorrido a best obtido com este algoritmo foi de 0,35%. com o algoritmo GPV-REB, o maior imp avg Os trs algoritmos obtiveram valores de imp e menores que 1,00%. Em relao aos ca tempos mdios demandados em cada conjunto de problemas-teste, novamente o algoritmo e de Ribeiro (2009) demandou tempos mdios maiores que os respectivos tempos mdios e e demandados pelo algoritmo GPV, que por sua vez demandou tempos mdios maiores e que os despendidos pelo algoritmo GPV-REB. Tais tempos mdios foram, no mximo, e a 3,43 segundos para o algoritmo GPV-REB, 5,26 segundos para o algoritmo GPV e 30,32 segundos para o algoritmo de Ribeiro (2009). Dado um determinado problema-teste da base de dados BDDT, a melhor soluo ca produzida para ele foi utilizada para determinar o conjunto H = {hinf , hinf + 1, hinf + 2, hsup } necessrio na formulao de programao matemtica MPLIM-IT (ver Seo 3.3). a ca ca a ca Os valores de hinf e de hsup utilizados so dados, respectivamente, pela data de in da a cio primeira tarefa e pela data de concluso da ultima tarefa na melhor sequncia encontrada a e

CAP ITULO 5. RESULTADOS COMPUTACIONAIS


Tabela 5.8: Comparao GPV GPV-REB Ribeiro (2009) aplicados ` BDDT. ca a

59

Ribeiro (2009) GPV GPV-REB best avg best avg best avg 1 2 Tarefas imp imp Tempo imp imp Tempo imp imp Tempo2 (%) (%) (s) (%) (%) (s) (%) (%) (s) 06 0,00 0,00 0,67 0,00 0,00 0,04 0,00 0,00 0,02 07 0,00 0,00 0,86 0,00 0,00 0,17 0,00 0,06 0,04 08 0,00 0,00 1,13 0,00 0,00 0,29 0,00 0,27 0,06 09 0,00 0,00 1,47 0,00 0,00 0,34 0,00 0,02 0,09 10 0,00 0,00 1,78 0,00 0,00 0,41 0,00 0,03 0,15 11 0,00 0,00 2,43 0,00 0,04 0,32 0,00 0,15 0,19 12 0,00 0,00 3,88 0,00 0,00 0,49 0,01 0,09 0,31 13 0,00 0,00 4,87 0,00 0,01 0,69 0,00 0,25 0,44 14 0,00 0,00 5,75 0,00 0,04 0,91 0,00 0,11 0,56 15 0,00 0,02 8,50 0,00 0,04 1,25 0,00 0,19 0,71 16 0,00 0,06 11,64 0,00 0,14 2,36 0,04 0,61 1,20 17 0,00 0,04 1,47 0,00 0,04 2,34 0,09 0,36 1,40 18 0,00 0,42 15,23 0,00 0,05 3,03 0,05 0,37 1,95 19 0,00 0,04 22,16 0,00 0,01 3,80 0,35 0,89 2,59 20 0,00 0,02 30,32 0,00 0,14 5,26 0,10 0,88 3,43 Mdia 0,00 e 0,04 7,48 0,00 0,03 1,45 0,04 0,29 0,88
1 2

Testes realizados em um PC Pentium Core 2 Duo 2,1 GHz, com 4 GB de memria RAM. o Testes realizados em um PC Intel Core 2 Duo (E8400) 2.99 GHz, com 2 GB de memria RAM. o

pelo algoritmo GPV para o problema. Este procedimento foi utilizado para determinar o conjunto H de cada problema-teste da base de dados e, em seguida, utilizou-se o CPLEX para resolver o MPLIM-IT relativo ` cada problema. a Considerou-se o limite de 3600 segundos para a resoluo de cada problema-teste ca pelo CPLEX e a qualidade das solues retornadas foram medidas via a expresso (5.3) co a apresentada na Seo 5.2. ca Os resultados encontrados so resumidos na Tabela 5.9. Nela, a primeira coluna a indica o nmero de tarefas nos problemas de cada conjunto de problemas-teste. Para u cada conjunto de problemas, a coluna Solues Otimas mostra (em porcentagem) em co quantos problemas o CPLEX encontrou uma soluo tima com o modelo MPLIM-IT, a ca o coluna gap mostra as mdias dos gaps e a coluna Tempo Mdio mostra as mdias dos e e e tempos demandados (em segundos) por tal otimizador na resoluo dos problemas-teste ca com o MPLIM-IT. Segundo a Tabela 5.9, o modelo MPLIM-IT associado ao algoritmo GPV permitiu ao CPLEX resolver na otimalidade todos os problemas-teste com at 13 tarefas. Nos e conjuntos de problemas-teste com 14 e 15 tarefas, o maior gap encontrado foi igual a 1,61%. Ainda na Tabela 5.9, observa-se que o CPLEX aplicado ` formulao MPLIM-IT a ca associada ao algoritmo GPV no foi capaz de encontrar, em uma hora de processamento, a uma soluo vivel em 12,50% dos conjuntos de problemas-teste com 16 e 17 tarefas. ca a Contudo, para os casos em que essa formulao conseguiu gerar uma soluo vivel, os ca ca a

CAP ITULO 5. RESULTADOS COMPUTACIONAIS


Tabela 5.9: Resultados do MPLIM-IT associado ao GPV. MPLIM-IT # Soluoes c Tempo gap Mdio e Tarefas Otimas (%) (%) (s) 06 100,00 0,00 1,93 07 100,00 0,00 5,06 08 100,00 0,00 10,44 09 100,00 0,00 16,99 10 100,00 0,00 41,70 11 100,00 0,00 105,65 12 100,00 0,00 297,89 13 100,00 0,00 795,70 14 87,50 0,50 944,55 15 68,75 1,61 1593,53 16 50,00 1,921 2563,40 17 37,50 5,861 2911,82 Mdia e 86,98 0,82 774,05
1 gap

60

mdio relativo aos 87,50% dos problemas-teste em que uma soluo vivel foi encontrada. e ca a

gaps tambm foram baixos (1,92% nos problemas com 16 tarefas e 5,86% nos de 17 e tarefas).

5.4

Teste de Probabilidade Emp rica

O comportamento do algoritmo GPV tambm foi comparado com os algoritmos proe postos por Gomes Jnior (2007), Penna (2009) e Ribeiro (2009) via um teste de probau bilidade emp rica proposto por Aiex et al. (2000). Para realizar tal teste, escolheu-se um problema com 40 tarefas da base de dados BDS. Em seguida, determinou-se o valor da funo objetivo da melhor soluo conhecida para o problema como sendo o alvo a ser ca ca atingido (portanto, um alvo dif cil). Cada um destes algoritmos foi executado 100 vezes no problema escolhido e cada execuo foi interrompida somente quando o alvo foi atinca gido. Neste ultimo momento, registrou-se o tempo despendido. Para cada algoritmo, os tempos iguais foram eliminados e o restante foi ordenado de forma crescente. Ao tempo i 0, 5 da posio i, ti , associou-se a probabilidade pi = ca , onde N o nmero de tempos e u N no repetidos. a Os grcos com os pontos (ti , pi ) relativos aos algoritmos analisados so apresentados a a na Figura 5.5. Segundo este grco, os algoritmos propostos por Gomes Jnior (2007), a u Penna (2009) e o GPV apresentam comportamentos semelhantes para o problema-teste em questo, com vantagem dos dois primeiros, que requerem um menor tempo de proa cessamento para obter um dado n vel de probabilidade de alcanar o valor alvo. Com c os algoritmos GPV e o proposto por Penna (2009), a partir de 140 segundos, aproximadamente, tem-se mais de 90% de probabilidade de atingir o alvo para o problema-teste escolhido. J o algoritmo de Gomes Jnior (2007) possui tal probabilidade somente a a u

CAP ITULO 5. RESULTADOS COMPUTACIONAIS

61

partir de 190 segundos, aproximadamente. O algoritmo proposto por Ribeiro (2009) o e mais lento entre os algoritmos analisados, pois, para qualquer tempo dado, ele possui a probabilidade de alcanar o alvo menor que os demais algoritmos. c
probabilidade

tempo (s)

Figura 5.5: Teste de probabilidade emp rica.

O teste de probabilidade emp rica tambm foi realizado com outros dois problemas e com 30 tarefas da base de dados BDS. Os resultados encontrados foram semelhantes aos apresentados na Figura 5.5.

Cap tulo 6 Concluso a


Este trabalho tratou o problema de sequenciamento de tarefas em uma mquina com a penalidades por antecipao e atraso da produo, considerando janelas de entrega distinca ca tas e tempo de preparao da mquina dependente da sequncia, denotado por PSUMAAca a e JE-TPD. Foram propostas, inicialmente, duas novas formulaes de programao matemtica co ca a para representar o problema. A primeira delas, denotada por MPLIM-BG, consiste em um aperfeioamento da formulao proposta por Gomes Jnior et al. (2007) (MPLIMc ca u G), pois exige menos variveis e restries que a formulao de tais autores. A segunda a co ca formulao proposta, denotada por MPLIM-IT, indexada no tempo. ca e Props-se, tambm, um algoritmo heur o e stico para determinar a melhor sequncia de e produo. Tal algoritmo, denominado GPV, composto de duas fases. Na primeira, ca e gera-se uma soluo com base na metaheur ca stica GRASP, no Princ pio da Otimalidade Prxima (POP) e na Busca em Vizinhana Varivel (Variable Neighborhood Descent o c a VND). Na segunda, faz-se o ps-renamento da soluo proveniente da fase anterior por o ca meio de outro VND. Para cada sequncia gerada pelo algoritmo, um procedimento de e complexidade polinomial encontrado na literatura acionado para determinar as dadas e timas de concluso das tarefas. Com o objetivo de reduzir o custo computacional, adio a cionalmente proposta uma estratgia de reduo do espao de busca. Essa estratgia e e ca c e foi utilizada durante a primeira fase do GPV, originando, assim, o algoritmo denominado GPV-REB. Visto que os problemas-teste da unica base de dados (BDS) existente na literatura referente ao problema tratado possuem os tempos de preparaao da mquina simtricos, c a e foram geradas outras duas novas bases de dados. Em uma delas, BDDT, os problemasteste envolvem at 20 tarefas e satisfazem a desigualdade triangular com relao aos e ca tempos de preparao da mquina. Na outra, BDNS, os problemas-teste envolvem at ca a e 150 tarefas, e os tempos de preparao da mquina no satisfazem a uma propriedade ca a a particular, sendo, portanto, mais genrica. e O otimizador CPLEX 10.1 foi utilizado para resolver as trs formulaes matemticas e co a em tela, aplicadas em problemas-teste com at 14 tarefas. Os resultados computacionais e mostram que as formulaes MPLIM-G e MPLIM-BG proporcionam resultados semeco lhantes e que a formulao MPLIM-IT mais eciente que estas duas na resoluo de ca e ca problemas com at 12 tarefas, dado que esta ultima proporcionou ao CPLEX encontrar e solues com garantia de melhor qualidade e com menor tempo mdio de processamento co e 62

CAP ITULO 6. CONCLUSAO

63

que as demais. Para os problemas-teste com mais de 12 tarefas, devido ao limite de tempo estabelecido para o CPLEX retornar uma soluo, os resultados obtidos no permitem ca a uma comparao efetiva entre os trs modelos. ca e Os algoritmos GPV e GPV-REB foram aplicados em todos os problemas-teste dispon veis, divididos em trs baterias de testes. A primeira bateria foi realizada com a base de e dados BDS, que composta de problemas-teste com at 75 tarefas. Os resultados encone e trados pelo GPV foram comparados com os resultados de Gomes Jnior (2007), Penna u (2009) e Ribeiro (2009). O GPV apresentou desempenho superior ao algoritmo proposto por Gomes Jnior (2007), tanto em relao ` qualidade das solues encontradas, quanto u ca a co em relao ao tempo computacional mdio demandado. Apesar de os resultados encontraca e dos pelo GPV serem um pouco inferiores aos encontrados pelo algoritmo de Penna (2009) e pelo algoritmo de Ribeiro (2009), os tempos computacionais mdios demandados pelo e GPV foram signicativamente inferiores aos tempos mdios demandados pelos algoritmos e de tais autores. Na segunda e na terceira bateria de testes foram utilizadas, respectivamente, as bases de dados BDNS e BDDT. Os resultados encontrados pelo GPV foram comparados com os de Ribeiro (2009), que foi o unico autor a utilizar tambm esta base de dados. No conjunto e de problemas-teste BDNS, o GPV mostrou-se mais eciente que o algoritmo de tal autor, encontrando solues de melhor qualidade e com tempo computacional bastante inferior. co J com a base de dados BDDT, as solues encontradas por ambos os algoritmos foram a co semelhantes, porm o GPV exigiu menor tempo computacional. Ainda na terceira bateria e de testes, utilizou-se o GPV para determinar o horizonte de planejamento do MPLIM-IT, o que possibilitou ao CPLEX encontrar solues bem prximas das timas em todos os co o o problemas-teste com at 15 tarefas. e Nas trs baterias de testes, os tempos computacionais demandados pelo algoritmo e GPV-REB foram sempre signicativamente inferiores aos respectivos tempos despendidos pelo GPV. Apesar de as solues encontradas pelo GPV-REB serem um pouco inferioco res `quelas encontradas pelo GPV, esta diferena diminui a medida em que se aumenta a c ` o nmero de tarefas do problema. Isto sugere que vale a pena investir em tcnicas e u e propriedades que permitam reduzir o espao de busca. c Enm, conclui-se que a metodologia proposta competitiva com aquelas existentes na e literatura, tendo o baixo custo computacional como o seu grande aliado. Desta forma, foi poss resolver problemas-teste com at 150 tarefas em tempo computacional vivel. vel e a

Publicaes co
A seguir so listados os trabalhos provenientes da presente pesquisa que foram aprea sentados e aceitos para publicao nos anais dos respectivos eventos. ca T tulo: Princ da Otimalidade Prxima e GRASP para o problema de sequenciamento pio o de tarefas em uma mquina com penalidades por antecipao e atraso da produo. a ca ca Autores: Bruno Ferreira Rosa e Marcone Jamilson Freitas Souza. Evento: IV Semana de Cincia & Tecnologia do CEFET-MG. e Local: Belo Horizonte/MG - Brasil. Per odo: 20 a 26 de outubro de 2008. T tulo: Uma nova formulao de programao matemtica indexada no tempo para uma ca ca a classe de problemas de sequenciamento em uma mquina. a Autores: Bruno Ferreira Rosa e Marcone Jamilson Freitas Souza. Evento: XLI SBPO - Simpsio Brasileiro de Pesquisa Operacional. o Local: Porto Seguro/BA - Brasil. Per odo: 1 a 4 de setembro de 2009. T tulo: Formulaes de programao matemtica para o problema de sequenciamento co ca a em uma mquina com janelas de entrega distintas e tempo de preparao dependente da a ca seqncia de produo. ue ca Autores: Bruno Ferreira Rosa, Marcone Jamilson Freitas Souza e Srgio Ricardo de e Souza. Evento: XXXII CNMAC - Congresso Nacional de Matemtica Aplicada e Computacioa nal. Local: Cuiab/MT - Brasil. a Per odo: 8 a 11 de setembro de 2009. T tulo: Princ pio da Otimalidade Prxima aplicado ao problema de sequenciamento de o tarefas em uma mquina com penalidades por antecipao e atraso da produo. a ca ca Autores: Bruno Ferreira Rosa, Marcone Jamilson Freitas Souza e Srgio Ricardo de e Souza. Evento: IX SBAI - Simpsio Brasileiro de Automao Inteligente. o ca Local: Bras lia/DF - Brasil. Per odo: 20 a 23 de setembro de 2009.

64

Referncias Bibliogrcas e a
Aiex, Renata M., Resende, Mauricio G. C., Ribeiro, Celso C., Celso, & Ribeiro, C. 2000. Probability Distribution Of Solution Time In Grasp: An Experimental Investigation. Journal of Heuristics, 8, 2002. Alidaee, B., & Dragan, I. 1997. A note on minimizing the weighted sum of tardy and early completion penalties in a single machine: A case of small common due date. European Joumal of Operational Research, 96, 559563. Allahverdi, A., Gupta, J. N.D., & Aldowaisan, T. 1999. A review of scheduling research involving setup considerations. Omega: The International Journal of Management Science, 27, 219239. Almeida, M. T., & Centeno, M. 1998. A composite heuristic for the single machine early/tardy job scheduling problem. Computers & Operations Research, 25(7/8), 625 635. Baker, K. R., & Scudder, G. D. 1990. Sequencing with Earliness and Tardiness Penalties: A Review. Operations Research, 38, 2236. Belore, P. P., da Silva, V. F., & Ronconi, D. P. 2006. Scatter Search para programao ca de tarefas em uma unica mquina com penalidades de adiantamento e atraso e data de a entrega comum. In: Anais do XXVI Encontro Nacional de Engenharia de Produo. ca Associao Brasileira de Engenharia de Produo, Fortaleza, CE, Brasil. ca ca Biskup, D., & Feldmann, M. 2001. Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates. Computers & Operations Research, 28, 787801. Bustamante, L. M. 2007. Minimizao do custo de antecipao e atraso para o problema ca ca de sequenciamento de uma mquina com tempo de preparao dependente da sequncia: a ca e aplicao em uma usina siderrgica. M.Phil. thesis, UFMG, Belo Horizonte. ca u Chang, P. C. 1999. A Branch and Bound Approach for Single Machine Scheduling with Earliness and Tardiness Penalties. Computers & Mathematics with Applications, 37, 133144. Christofoletti, L. M. 2002. Mtodos de Rein e cio Aplicados ao Seqenciamento em Uma u Mquina com Tempos de Preparao e Datas de Entrega. M.Phil. thesis, UNICAMP, a ca Campinas. 65

REFERENCIAS BIBLIOGRAFICAS

66

de Paula, Mateus Rocha. 2008. Heur sticas para a minimizao dos atrasos em seqenca u ciamento de mquinas paralelas com tempos de preparao dependentes da seqncia. a ca ue M.Phil. thesis, UFMG, Belo Horizonte. Feldmann, M., & Biskup, D. 2003. Single-machine scheduling for minimizing earliness and tardiness penalties by meta-heuristic approaches. Computers & Industrial Engineering, 44, 307323. Feo, T. A., & Resende, M. G. C. 1995. Greedy randomized adaptive search procedures. Journal of Global Optimization, 6, 109133. Frana Filho, M. F. 2007. GRASP e Busca Tabu aplicados a problemas de programao c ca de tarefas em mquinas paralelas. Ph.D. thesis, UNICAMP, Campinas. a Gendreau, M. 2003. An Introduction to Tabu Search. 37-54 2 of: Glover, F., & Kochenberger, G. A. (eds), Handbook of Metaheuristics. Kluwer Academic Publishers. Glover, F. 1986. Future paths for integer programming and links to articial intelligence. Computers & Operations Research, 13(5), 533549. Glover, F. 1996. Tabu Search and adaptive memory programming - advances, applications and challenges. Interfaces in computer science and operations research edn. Kluwer Academic Publishers. Pages 175. Glover, F., & Laguna, M. 1997. Tabu Search. Boston: Kluwer Academic Publishers. Glover, F., & Laguna, M. 2003. Scatter Search and Path Relinking: Advances and Applications. Chap. 1, pages 135 of: Glover, F., & Kochenberger, G. A. (eds), Handbook of Metaheuristics. Kluwer Academic Publishers. Gomes Jnior, A. C. 2007. Problema de Seqenciamento em uma Mquina com Penaliu u a dades por Antecipao e Atraso: Modelagem e Resoluo. M.Phil. thesis, UFMG, Belo ca ca Horizonte. Gomes Jnior, A. C., Carvalho, C. R. V., Munhoz, P. L. A., & Souza, M. J. F. 2007. Um u mtodo heur e stico h brido para a resoluo do problema de sequenciamento em uma ca mquina com penalidades por antecipao e atraso da produo. Pages 16491660 of: a ca ca Anais do XXXIX Simpsio Brasileiro de Pesquisa Operacional. SOBRAPO. o Gray, P., Hart, W., Painton, L., Phillips, C., Trahan, M., & Wagner, J. 1997. A Survey of Global Optimization Methods. Tech. rept. Sandia National Laboratories. Dispon vel em < http : //www.cs.sandia.gov/opt/survey >. Acesso em: 27 nov. 2008. Gupta, S. R., & Smith, J. S. 2006. Algorithms for single machine total tardiness scheduling with sequence dependent setups. European Journal of Operational Research, 175, 722 739. Hansen, P., & Mladenovir, N. 2003. Variable Neighborhood Search. 145-184 6 of: c Glover, F., & Kochenberger, G. A. (eds), Handbook of Metaheuristics. Kluwer Academic Publishers.

REFERENCIAS BIBLIOGRAFICAS

67

Henderson, D., Jacobson, S. H., & Johnson, A. W. 2003. The Theory and Pratice of Simulated Annealing. Chap. 10, pages 287319 of: Glover, F., & Kochenberger, G. A. (eds), Handbook of Metaheuristics. Kluwer Academic Publishers. Hino, C. M., Ronconi, D. P., & Mendes, A. B. 2005. Minimizing earliness and tardiness penalties in a single-machine problem with a common due date. European Journal of Operational Research, 160, 190201. James, R. J. W. 1997. Using tabu search so solve the common due date early/tardy machine scheduling problem. Computers & Operations Research, 24(3), 199208. Kirkpatrick, S., Gelatt, C. D., & Vecchi, M. P. 1983. Optimization by simulated annealing. Science, 220, 671680. Koulamas, C. 1996. Single-machine scheduling with time windows and earliness/tardiness penalties. European Journal of Operational Research, 91, 190202. Lee, C. Y., & Choi, J. Y. 1995. A Genetic Algorithm for Job Sequencing Problems with Distinct Due Dates and General Early-Tardy Penalty Weights. Computers and Operations Research, 22(8), 857869. Lee, C. Y., & Kim, S. J. 1995. Parallel genetic algorithms for the earliness-tardiness job scheduling problem with general penalty weights. Computers & industrial engineering, 28(2), 231243. Li, G. 1997. Single machine earliness and tardiness scheduling. European Joumal of Operational Research, 96, 546558. Liaw, C.-F. 1999. A branch-and-bound algorithm for the single machine earliness and tardiness scheduling problem. Computers & Operations Research, 26, 679693. Loureno, H. R., Martin, O. C., & Sttzle, T. 2003. Iterated Local Search. Chap. 11, c u pages 321353 of: Glover, F., & Kochenberger, G. A. (eds), Handbook of Metaheuristics. Kluwer Academic Publishers. Mazzini, R., & Armentano, V. A. 2001. A heuristic for single machine scheduling with early and tardy costs. European Journal of Operational Research, 128, 129146. MHallah, R. 2007. Minimizing total earliness and tardiness on a single machine using a hybrid heuristic. Computers & Operations Research, 34, 31263142. Mladenovi, N., & Hansen, P. 1997. Variable Neighborhood Search. Computers and c Operations Research, 24(11), 10971100. Mondal, S. A. 2002. Minimization of squared deviation of completion times about a common due date. Computers & Operations Research, 29, 20732085. Mondal, S. A., & Sen, A. K. 2001. Single machine weighted earliness tardiness penalty problem with a common due date. Computers & Operations Research, 28, 649669.

REFERENCIAS BIBLIOGRAFICAS

68

Panwalkar, S. S., Dudek, R. A., & Smith, M. L. 1973. Sequencing research and the industrial scheduling problem. Pages 2938 of: Elmaghraby, S. E. (ed), Symposium on the Theory of Scheduling and its Applications. Penna, Puca Huachi Vaz. 2009. Um algoritmo heur stico h brido para minimizar os custos com a antecipao e o atraso da produo em ambientes com janelas de entrega e tempos ca ca de preparao dependentes da sequncia. M.Phil. thesis, UFOP, Ouro Preto. ca e Rabadi, G., Mollaghasemi, M., & Anagnostopoulos, G. C. 2004. A branch-and-bound algorithm for the early/tardy machine scheduling problem with a common due-date and sequence-dependent setup time. Computers & Operations Research, 31, 17271751. Reeves, C. 2003. Genetic Algorithms. Chap. 3, pages 5582 of: Glover, F., & Kochenberger, G. A. (eds), Handbook of Metaheuristics. Kluwer Academic Publishers. Resende, M. G.C., & Ribeiro, C. C. 2003. Greedy Randomized Adaptive Search Procedures. 219-249 8 of: Glover, F., & Kochenberger, G. A. (eds), Handbook of Metaheuristics. Kluwer Academic Publishers. Ribeiro, C. C. 1996. Metaheuristics and Applications. In Advanced School on Articial Intelligence, Estoril, Portugal. Ribeiro, Fbio Fernandes. 2009. Um algoritmo gentico adaptativo para a resoluo do a e ca problema de sequenciamento em uma mquina com penalizaao por antecipao e atraso a c ca da produo. M.Phil. thesis, CEFET-MG, Belo Horizonte. ca Sourd, F. 2005. Optimal timing of a sequence of tasks with general completion costs. European Journal of Operational Research, 165, 8296. Souza, M. J. F. 2008. Inteligncia Computacional para Otimizao. e ca Notas de aula. Dispon vel em < http : //www.decom.uf op.br/prof /marcone/ Disciplinas/InteligenciaComputacional/InteligenciaComputacional.htm >. Acesso em: 20 nov. 2008. Souza, M. J. F., Penna, P. H. V., Gonalves, F. A. C. A., & Ochi, L. S. 2008. Uma heur c stica h brida para minimizar custos com antecipao e atraso em sistemas de produo ca ca com janelas de entrega e tempos de preparao dependentes da seqncia. Pages 116 ca ue of: Anais do XI Simpsio de Pesquisa Operacional e Log o stica da Marinha. Szwarc, W. 1996. The weighted common due date single machine scheduling problem revisited. Computers and Operations Research, 23(3), 255262. Tavakkoli-Moghaddam, R., Moslehi, G., Vasei, M., & Azaron, A. 2006. A branch-andbound algorithm for a single machine sequencing to minimize the sum of maximum earliness and tardiness with idle insert. Applied Mathematics and Computation, 174, 388408. Valente, J. M.S., & Alves, R. A. F. S. 2005a. Filtered and recovering beam search algorithms for the early/tardy scheduling problem with no idle time. Computers & Industrial Engineering, 48, 363375.

REFERENCIAS BIBLIOGRAFICAS

69

Valente, J. M.S., & Alves, R. A. F. S. 2005b. Improved heuristics for the early/tardy scheduling problem with no idle time. Computers & Operations Research, 32, 557569. Ventura, J. A., & Radhakrishnan, S. 2003. Single machine scheduling with symmetric earliness and tardiness penalties. European Journal of Operational Research, 144, 598 612. Wan, G., & Yen, B. P.-C. 2002. Tabu search for single machine scheduling with distinct due windows and weighted earliness/tardiness penalties. European Journal of Operational Research, 142, 271281. Weise, T. 2008. Global Optimization Algorithms: Theory and Application. 2a edio edn. ca Dispon em: < http : //www.it weise.de/ >. Acesso em: 01 dez. 2008. vel Weng, X., & Ventura, J. A. 1996. Scheduling about a given common due date to minimize mean squared deviation of completion times. European Journal of Operational Research, 88, 328335. Ying, K.-C. 2008. Minimizing earliness-tardiness penalties for common due date singlemachine scheduling problems by a recovering beam search algorithm. Computers & Industrial Engineering, doi:10.1016/j.cie.2008.01.008. Ziviane, N. 2004. Projeto de Algoritmos com implementaes em PASCAL e C. 2a edio co ca revista e ampliada edn. Thomson.

UNIVERSIDADE FEDERAL DE OURO PRETO INSTITUTO DE CINCIAS EXATAS E BIOLGICAS DEPARTAMENTO DE COMPUTAO

Programao integrada de veculos e tripulaes de nibus urbano

Marcone Jamilson Freitas Souza /DECOM/UFOP - Coordenador

Anexo do Relatrio Tcnico Cientfico Final apresentado ao CNPq, referente ao processo CNPq, 474831/2007-8, desenvolvido no perodo dezembro de 2007 a dezembro de 2009.

Ouro Preto Minas Gerais - Brasil Janeiro de 2010

Problema de programao integrada de veculos e tripulaes de nibus urbano


RESUMO Este trabalho trata da resoluo integrada de duas etapas do planejamento de transportes no Sistema de Transporte Pblico, no caso, a programao de veculos (PPV) e a programao de tripulaes (PPT). O primeiro problema consiste em criar uma rotina diria de operao para uma frota de veculos disponibilizada para uso de uma empresa, a partir de um conjunto de viagens com seus respectivos horrios, pontos de partida e chegada, e tempo de viagem. O objetivo do PPV reduzir o custo operacional de tal atividade, fazendo o melhor aproveitamento da frota. O PPT recebe como dados de entrada a programao dos veculos e retorna como resultado um conjunto de jornadas de trabalho para as tripulaes (motoristas e trocadores). Estes problemas so da classe NP-difcil e, assim, ainda no h algoritmos em tempo polinomial para encontrar solues timas. Aqui, estes problemas so tratados conjuntamente e alteraes realizadas na programao de veculos tm reflexo na programao das tripulaes. Dada a natureza combinatria dos problemas considerados e, em particular, do problema integrado, este resolvido por meio de mtodos heursticos. Neste trabalho, foi desenvolvido um mtodo hbrido, baseado nas metaheursticas Iterated Local Search (ILS), Variable Neighborhood Descent (VND) e Busca Tabu (BT). Para testar o algoritmo proposto so utilizados dados reais das empresas do Sistema de Transporte Pblico da cidade de Belo Horizonte (MG), que atuam em uma bacia de linhas de tal cidade. Duas funes de avaliao foram consideradas: uma baseada em pesos empricos e outra, em custos. Os resultados obtidos so comparados com aqueles produzidos por uma metodologia clssica de soluo dessas duas etapas de soluo do PPVT, que consiste em resolver os problemas PPV e PPT de forma independente e seqencial. Os experimentos computacionais realizados mostram que o algoritmo proposto superior, alm de robusto.

ndice
LISTA DE FIGURAS ............................................................................................................. V LISTA DE TABELAS............................................................................................................VI 1 INTRODUO ................................................................................................................ 1 1.1 1.2 2 3 O PROBLEMA DE PROGRAMAO DE VECULOS E TRIPULAES ................................ 1 ESTRUTURA DO TRABALHO ......................................................................................... 3

OBJETIVOS DO TRABALHO ...................................................................................... 4 REVISO BIBLIOGRFICA........................................................................................ 5 3.1 INTRODUO ............................................................................................................... 5 3.2 HEURSTICAS ............................................................................................................... 8 3.2.1 Construo Gulosa............................................................................................. 9 3.2.2 Mtodo de Descida............................................................................................. 9 3.2.3 Mtodo Descida Randmica ............................................................................ 10 3.3 METAHEURSTICAS .................................................................................................... 11 3.3.1 Iterated Local Search ....................................................................................... 11 3.3.2 Variable Neighborhood Descent ...................................................................... 12 3.3.3 Busca Tabu....................................................................................................... 13 3.4 MTODO DE INTENSIFICAO ................................................................................... 14 3.4.1 Relaxao Adaptativa ...................................................................................... 14

4 O PROBLEMA DE PROGRAMAO DE VECULOS E TRIPULAES ABORDADO........................................................................................................................... 16 4.1 4.2 5 RESTRIES E OBJETIVOS DA PROGRAMAO DE VECULOS .................................... 18 RESTRIES E OBJETIVOS DA PROGRAMAO DE TRIPULAES .............................. 19

METODOLOGIA .......................................................................................................... 20 5.1 REPRESENTAO DO PPVT....................................................................................... 20 5.2 ESTRUTURAS DE VIZINHANA ................................................................................... 21 5.2.1 Vizinhana NvR ................................................................................................. 21 5.2.2 Vizinhana NvT.................................................................................................. 21 5.2.3 Vizinhana NtR .................................................................................................. 22 5.2.4 Vizinhana NtT .................................................................................................. 22 5.2.5 Vizinhana NvRP ................................................................................................ 22 5.2.6 Vizinhana NtTP ................................................................................................ 23 5.3 AVALIAO DE UMA SOLUO - 1 ABORDAGEM ...................................................... 23 5.3.1 Avaliao da programao de veculos ........................................................... 23 5.3.2 Avaliao da programao de tripulaes ...................................................... 26 5.4 AVALIAO DE UMA SOLUO - 2 ABORDAGEM ...................................................... 28 5.4.1 Avaliao dos veculos ..................................................................................... 28 5.4.2 Avaliao das tripulaes ................................................................................ 29 5.4.3 Definindo os pesos da avaliao...................................................................... 30 5.5 GERAO DE UMA SOLUO INICIAL PARA O PPV .................................................... 31 5.5.1 Mtodo Guloso aplicado gerao de uma soluo inicial para o PPV........ 31 5.5.2 Mtodo Guloso aplicado gerao de uma soluo inicial para o PPT ........ 35 5.6 METAHEURSTICAS APLICADAS AO PPVT ................................................................. 38 iii

5.6.1 5.6.2 5.6.3 5.6.4 5.6.5 6 6.1 6.2 7

Iterated Local Search ....................................................................................... 38 Variable Neighborhood Descent ...................................................................... 39 Busca Tabu com Relaxao Adaptativa........................................................... 40 O procedimento Vehicle Random Descent....................................................... 41 O procedimento Integrated Vehicle and Crew Random Descent Procedure... 42

RESULTADOS............................................................................................................... 44 RESULTADOS 1 ABORDAGEM ................................................................................ 44 RESULTADOS 2 ABORDAGEM ................................................................................ 48

CONCLUSES .............................................................................................................. 51

REFERNCIAS BIBLIOGRFICAS ................................................................................. 52

iv

Lista de Figuras
Figura 1.1 Relao entre as diversas operaes no Sistema de Transporte Pblico ............... 1 Figura 3.1 Pseudocdigo da Construo Gulosa..................................................................... 9 Figura 3.2 Pseudocdigo do Mtodo da Descida.................................................................. 10 Figura 3.3 Pseudocdigo do Mtodo Descida Randmica ................................................... 10 Figura 3.4 Pseudocdigo do algoritmo Iterated Local Search.............................................. 12 Figura 3.5 Algoritmo VND ................................................................................................... 13 Figura 3.6 - Algoritmo Busca Tabu ......................................................................................... 14 Figura 4.1 - Representao esquemtica das viagens da Tabela 4.1........................................ 17 Figura 4.2 - Representao esquemtica de uma lista de tarefas ............................................. 18 Figura 5.1 Exemplo de uma soluo s para o PPVT............................................................. 20 Figura 5.2 Mtodo Gerador de Soluo Inicial para os Veculos ......................................... 32 Figura 5.3 Exemplo da gerao de uma soluo inicial para os veculos: Passo 0................ 32 Figura 5.4 Exemplo da gerao de uma soluo inicial para os veculos: Passo 1............... 33 Figura 5.5 Exemplo da gerao de uma soluo inicial para os veculos: Passo 2............... 33 Figura 5.6 Exemplo da gerao de uma soluo inicial para os veculos: Passo 3............... 33 Figura 5.7 Exemplo da gerao de uma soluo inicial para os veculos: Passo 4............... 33 Figura 5.8 Exemplo da gerao de uma soluo inicial para os veculos: Passo 5............... 34 Figura 5.9 Exemplo da gerao de uma soluo inicial para os veculos: Passo 6............... 34 Figura 5.10 Exemplo da gerao de uma soluo inicial para os veculos: Passo 7 ............. 34 Figura 5.11 Exemplo da gerao de uma soluo inicial para os veculos: Passo 8 ............. 34 Figura 5.12 Exemplo da gerao de uma soluo inicial para os veculos: Passo 9 ............. 35 Figura 5.13 Mtodo Gerador de Soluo Inicial para as Tripulaes ................................... 35 Figura 5.14 Tarefas geradas pela programao dos veculos da Figura 5.14........................ 36 Figura 5.15 Exemplo da gerao de uma soluo inicial para as tripulaes: Passo 1 ......... 36 Figura 5.16 Exemplo da gerao de uma soluo inicial para as tripulaes: Passo 2 ......... 36 Figura 5.17 Exemplo da gerao de uma soluo inicial para as tripulaes: Passo 3 ......... 37 Figura 5.18 Exemplo da gerao de uma soluo inicial para as tripulaes: Passo 4 ......... 37 Figura 5.19 Exemplo da gerao de uma soluo inicial para as tripulaes: Passo 5 ......... 37 Figura 5.20 Exemplo da gerao de uma soluo inicial para as tripulaes: Passo 6 ......... 37 Figura 5.21 Algoritmo ILS com VND_2N aplicado ao PPVT ............................................. 39 Figura 5.22 Algoritmo VND em dois nveis como refinamento do ILS............................... 40 Figura 5.23 Algoritmo Busca Tabu com Relaxao Adaptativa aplicado ao PPVT............. 41 Figura 5.24 Procedimento Vehicle Random Descent ............................................................ 42 Figura 5.25 Procedimento Integrated Vehicle and Crew Random Descent.......................... 43

Lista de Tabelas
Tabela 4.1 Exemplo de uma tabela de viagens ..................................................................... 16 Tabela 5.1 Dados usados no calculo dos pesos 2 Abordagem .......................................... 30 Tabela 5.2 Pesos da funo de avaliao 2 Abordagem ................................................... 31 Tabela 6.1 Parmetros utilizados na funo de avaliao do PPVT ..................................... 45 Tabela 6.2 Instncias e seus respectivos tempos limites relativos ao PPV ........................... 45 Tabela 6.3 Comparao de resultados (Seqencial x Integrada) .......................................... 46 Tabela 6.4 Caractersticas das melhores solues das metodologias seqencial e integrada para a empresa G02 .......................................................................................................... 47 Tabela 6.5 Caractersticas das melhores solues das metodologias seqencial e integrada para a empresa G27 .......................................................................................................... 48 Tabela 6.6 Comparao de resultados dos algoritmos seqencial e integrado com funo de avaliao baseada em custos ............................................................................................ 49 Tabela 6.7 Caractersticas das melhores solues dos algoritmos seqencial e integrado com funo de avaliao baseada em custos............................................................................ 50

vi

1 Introduo

1.1 O Problema de Programao de Veculos e Tripulaes


A Figura 1 representa as relaes existentes entre os principais problemas que surgem no processo de planejamento do Sistema de Transporte Pblico.
Viagens Tarefas Jornadas Dirias

Rotas

Tabelas de Horrios

Programao de Veculos

Programao de Tripulaes

R od z i o de Tripulaes

Figura 1.1 Relao entre as diversas operaes no Sistema de Transporte Pblico A definio das rotas (linhas) e das tabelas de horrios do sistema se baseia na disponibilidade de infra-estrutura, nos servios requeridos pelos usurios e em aspectos de demanda. Tais decises no fazem parte da abrangncia deste projeto e so consideradas como conhecidas. As viagens de uma mesma rota podem ter suas duraes alteradas ao longo do perodo de planejamento, entretanto, suas duraes so consideradas tambm como conhecidas de forma determinstica. As duas prximas etapas do processo so as programaes dos veculos e das tripulaes, que consistem em atribuir os veculos s viagens e as tripulaes aos veculos, respectivamente. Conhecidas as viagens a serem executadas pela empresa concessionria do servio de transporte pblico, o problema seguinte o da Programao dos Veculos. Neste, o objetivo fazer o dimensionamento da frota e a alocao dos veculos s viagens, de forma que todas as viagens programadas para as diversas linhas da empresa sejam executadas. Mais precisamente, o Problema de Programao de Veculos (PPV) pode ser definido da seguinte forma: dado um conjunto de viagens com seus respectivos horrios e pontos de partida e chegada, e dado o tempo de viagem entre todos os pares de pontos, encontrar a programao de veculos de custo mnimo tal que: 1) cada viagem seja executada por um nico veculo, e 2) a cada veculo seja atribuda uma seqncia exeqvel de viagens. Usualmente, a funo de custo uma combinao dos custos fixos (custo do veculo) e custos variveis (tempo de viagem fora de operao e tempo parado no terminal). A programao dos veculos resulta em blocos de viagens, onde cada bloco consiste na seqncia de viagens realizadas por um veculo entre uma partida e o seu retorno garagem. Na abordagem seqencial assume-se conhecida a programao dos veculos para resolver a programao de tripulaes, ou seja, so conhecidos os blocos de viagens dos veculos. Nesta etapa, cada bloco de viagens de um veculo subdividido em oportunidades de troca, que so definidas atravs de um ponto (possvel local de troca) e um intervalo de tempo, que juntos possibilitam que ocorra a troca da tripulao em operao por uma nova tripulao. Com base nas oportunidades de troca, as viagens so agrupadas em tarefas. Uma tarefa definida como um conjunto de viagens compreendido entre duas oportunidades de troca consecutivas, e corresponde menor poro de trabalho que pode ser designada a uma tripulao. Com base nessas definies, o Problema de Programao de Tripulaes (PPT) pode ser definido da seguinte forma: dado um conjunto de tarefas, encontrar um conjunto de jornadas dirias com custo mnimo tal que 1) cada tarefa seja atribuda a uma nica jornada, e 1

2) cada jornada seja uma seqncia de tarefas que pode ser executada por uma nica tripulao respeitando as restries operacionais e trabalhistas. Dentre essas restries, destacamos: a) a durao da jornada diria de trabalho no pode superar um valor mximo; b) durante a jornada de trabalho deve haver um intervalo de tempo para descanso e alimentao; (c) as trocas de tripulaes s podem ocorrer em determinados locais (pontos). Usualmente, a funo de custo do PPT considera a minimizao do nmero de jornadas, da quantidade de horas-extras existentes nas jornadas e da quantidade de trocas de tripulaes, linhas e veculos. Para detalhes sobre a modelagem e a resoluo de problemas desta natureza no mbito nacional ver Silva et al. (2002, 2004), Souza et al. (2003a, 2003b, 2004a, 2004b). Uma vez geradas as jornadas dirias de dias teis, sbados, domingos e feriados, essas devem ser, agora, combinadas, de forma a fazer a escala mensal das tripulaes ou Rodzio das Tripulaes, problema conhecido na literatura inglesa como Crew rostering. Na elaborao da escala mensal, observa-se que uma parte da legislao trabalhista, dos acordos coletivos e das regras operacionais foi contemplada na confeco das jornadas dirias. Entretanto, outras tantas devem ser observadas, como por exemplo: (a) A cada 6 (seis) dias de trabalho o tripulante tem direito a uma folga; (b) Tripulantes que fazem dupla pegada tm folga obrigatoriamente aos sbados ou domingos. Em uma escala mensal procura-se, dentre outros objetivos: (a) minimizar, ou mesmo eliminar, as mudanas de horrios de trabalho de uma tripulao; (b) equilibrar as horas mensais trabalhadas pelas tripulaes; (c) reduzir as mudanas de linhas de uma tripulao ao longo do ms. Experincias com a modelagem e resoluo desse problema considerando o cenrio nacional so relatadas em Toffolo et al. (2005). Pela Figura 1 observa-se que a soluo de um problema de uma etapa do processo de planejamento do Sistema de Transporte Pblico depende da soluo do problema da etapa anterior. Assim, na abordagem seqencial de resoluo dos problemas, se fosse possvel garantir a soluo tima para o problema de cada etapa, no haveria garantia de que essa soluo fosse tima para o problema como um todo. O planejamento poderia ser mais eficiente se fosse adotada uma abordagem integrada de resoluo dos problemas. Entretanto, devido complexidade dos modelos matemticos que consideram o problema como um todo, a grande maioria dos estudos tericos trata os problemas de forma seqencial. Mais recentemente tm surgido na literatura abordagens que lidam com a integrao de duas etapas consecutivas do processo de planejamento, a programao dos veculos e a programao de tripulaes. Embora haja um entendimento de que a abordagem integrada da programao de veculos e tripulaes seja vantajosa, a maioria dos trabalhos encontrados na literatura segue a abordagem seqencial, na qual a programao de veculos definida a priori e independentemente da programao de tripulaes. O Problema de Programao Integrada de Veculos e Tripulaes (PPVT), objeto de estudo neste trabalho, pode ser definido da seguinte maneira: dada uma tabela de horrios de viagens a serem realizadas, encontrar a programao de custo mnimo para os veculos e as tripulaes tal que ambas sejam factveis e mutuamente compatveis. Os problemas dos veculos e das tripulaes interagem entre si, uma vez que a especificao da programao dos veculos impe certas restries programao das tripulaes e vice-versa. Assim, a abordagem integrada do Problema de Programao de Veculos e de Tripulaes sempre permitir obter resultados superiores ou iguais aos resultados da abordagem seqencial (Freling et al. 2003).

1.2 Estrutura do trabalho


Este trabalho est estruturado em sete captulos, incluindo esta introduo. Os objetivos do projeto esto apresentados no captulo 2. No captulo 3 apresentada uma reviso bibliogrfica sobre alguns trabalhos desenvolvidos e suas tcnicas utilizadas para resolver o PPV e o PPT. So descritos tambm os princpios bsicos das heursticas e metaheursticas empregadas neste trabalho. O captulo 4 descreve o Problema de Programao de Veculos e de Tripulaes segundo as polticas operacionais que regem o Sistema de Transporte Pblico da cidade de Belo Horizonte, objeto de estudo neste projeto. A metodologia adotada neste trabalho apresentada no captulo 5. Aborda-se, em tal captulo, a forma de representao de uma soluo, os tipos de movimentos que constituem as estruturas de vizinhana, a forma de avaliao de uma soluo e o algoritmo de explorao do espao de busca. No captulo 6 so apresentados os resultados obtidos. No captulo 7 so apresentadas as concluses.

2 Objetivos do Trabalho
Este trabalho tem como objetivo o desenvolvimento de um algoritmo heurstico, baseado nas metaheursticas Iterated Local Search, Descida em Vizinhana Varivel e Busca Tabu, para resolver de forma eficiente o Problema de Programao Integrada de Veculos e Tripulaes de nibus Urbano. Objetiva-se, tambm, comparar os resultados obtidos com o algoritmo proposto com aqueles produzidos por uma metodologia clssica de soluo dessas duas fases do planejamento de transporte. Isto , com um algoritmo seqencial tradicional, o qual inicialmente resolve a programao de veculos e depois, com a soluo desta, resolve o problema de programao de tripulaes.

3 Reviso Bibliogrfica

3.1 Introduo
Esta seo apresenta uma reviso de literatura do Problema de Programao de Veculos e, em seguida, do Problema de Programao de Tripulaes; posteriormente, faz uma reviso da classificao de Freling et al. 1999 para o PPVT e da integrao entre esses dois problemas. O Problema de Programao de Veculos foi um dos primeiros problemas de transporte pblico a serem estudados e resolvidos com o auxlio de computadores. Os primeiros trabalhos tratavam o problema tanto utilizando mtodos exatos (Kirkman, 1968) quanto mtodos heursticos (Saha, 1970; Wren, 1972). Martin-lf (1970) resolve o problema de programao de veculos considerando viagens com flexibilidade nos horrios de partida. apresentado um modelo de programao linear inteira, o qual resolvido por um mtodo simples de busca do tipo branch-and-bound. O mtodo, entretanto, tem aplicabilidade limitada a problemas de pequeno porte. Gavish et al. (1978) formulam o PPV como um problema de designao e pseudodesignao, que tem como objetivos primrios minimizar o nmero de veculos utilizados durante o horrio de pico e minimizar o tempo de deslocamento fora de operao no horrio entre picos. O objetivo secundrio minimizar as mudanas em relao programao j existente. Hoffstadt (1981) utiliza uma heurstica de encadeamento de viagens para determinar o nmero mnimo de veculos. Posteriormente, para minimizar o custo operacional aplicado o algoritmo hngaro (Kuhn, 1956) a um problema de designao. Carraresi e Gallo (1984) tratam o problema de programao de veculos de natureza peridica, isto , aps um determinado perodo, por exemplo, 24 horas, todas as viagens devem ser executadas novamente. Dessa forma, so praticadas apenas trs programaes diferentes: uma para os dias teis, uma para os sbados e uma para os domingos e feriados. Wren e Chamberlain (1988) incorporam a programao da tripulao ao sistema para programao de veculos, denominado VAMPIRES, de Wren (1972), que passa ento a ser denominado BUSMAN, sendo a componente responsvel pela programao de veculos denominada BUSPLAN. Kwan e Rahin (1995) apresentam os mdulos incorporados componente BUSPLAN do sistema, os quais permitem estabelecer certa interatividade com o usurio. So apresentadas ferramentas semi-automticas para coordenar a gerao de novos horrios das viagens com ligao infactvel, alm de melhoramentos nas heursticas que tratam da programao com diferentes tipos de veculos. Kwan e Rahin (1999) apresentam as caractersticas do BOOST, que a verso orientada a objetos do sistema anterior, o BUSPLAN. Nesse sistema, uma soluo inicial gerada por meio de um mtodo construtivo guloso que admite infactibilidade. A seguir, a programao refinada por um procedimento iterativo 2-optimal. Psarras et al. (1997) utilizam as vantagens da Constraint Logic Programming, para gerar uma soluo inicial para o Problema de Programao de Veculos e posteriormente 5

avaliar as vrias solues intermedirias obtidas por uma busca local com o objetivo de verificar a conformidade com as restries impostas ao problema. Segundo os autores, a grande vantagem desta abordagem a obteno de solues em um tempo de execuo satisfatrio. Em Atkinson (1998) uma heurstica GRASP aplicada a um PPV em que os intervalos de desembarque e embarque de um veculo so reduzidos, alm de outras restries adicionais. Duas formas adaptativas de busca so propostas, uma global e outra local. Em ambas, o clculo da funo gulosa modificado por uma quantidade que mensura heuristicamente a qualidade da soluo parcial que obtida quando uma deciso tomada. A busca global um procedimento adaptativo tratado como uma regra de aprendizado, uma vez que ele tenta aprender com os erros anteriores fazendo uma atualizao da funo gulosa a cada iterao da heurstica. Baita et al. (2000) abordam um caso prtico do PPV comparando o desempenho do modelo tradicional de designao com duas novas heursticas propostas para o problema. O modelo de designao resolvido com o algoritmo hngaro descrito por Carpaneto et al. (1988). Neste modelo, a estrutura da funo de custo considera os seguintes elementos: viagens mortas entre os terminais, mudanas de linhas e tempo de espera nos terminais. A primeira heurstica proposta baseada na tcnica de Inteligncia Artificial denominada Programao em Lgica. Uma vez que o PPV pode ser visto como um problema de otimizao multiobjetivo (minimizar frota, tempo de viagens mortas e tempo de terminal) a heurstica tenta satisfazer os diferentes critrios na ordem que segue. O algoritmo tenta conectar as viagens mais prximas que pertencem mesma linha e ao mesmo terminal, satisfazendo os tempos mnimos e mximos de terminal. Se a primeira estratgia no cobrir todas as viagens, ento a restrio de pertinncia mesma linha retirada, e so conectadas viagens que partem do mesmo terminal. Se for necessrio, so conectadas viagens que partem de diferentes terminais, iniciando a busca pelos terminais mais prximos. No algoritmo gentico proposto pelos autores, uma programao representada por um gene, sendo que cada alelo (valor dentro do vetor) representa um veculo, e sua posio representa a viagem atribuda ao veculo. Para manter a factibilidade da soluo aps uma operao de cruzamento, aplica-se um mecanismo especfico de reparao. A escolha dos indivduos a serem reproduzidos na prxima gerao feita utilizando dois procedimentos no convencionais, alm do mtodo tradicional, segundo o qual a probabilidade de um indivduo ser selecionado proporcional ao valor da funo objetivo. Silva (2001) explora modelos de fluxo em redes para resolver o PPV. Duas tcnicas de reduo de rede so apresentadas. A primeira combina o modelo de fluxo com custo mnimo tcnica de reduo de arcos, denominada Eliminao dos Arcos Longos. Apesar da reduo significativa da rede, o mtodo se mostra limitado na sua aplicabilidade. A segunda abordagem combina a tcnica de Gerao de Arcos Longos com o problema de pseudodesignao. A adaptao feita, denominada Gerao de Arcos, considera, alm da minimizao do nmero de veculos, a reduo do tempo de viagem morta e de terminal. O modelo no considera o tempo mximo de operao do veculo e se mostra pouco flexvel para a incluso de outras restries operacionais, limitando sua aplicao. O Problema de Programao de Tripulaes de nibus urbano (PPT) trata da gerao de escalas de trabalho de motoristas e cobradores. A resoluo do PPT de grande importncia, uma vez que nos gastos totais de uma empresa a mo-de-obra operacional representa um dos maiores custos. O PPT pertence a uma classe de problemas combinatoriais chamada programao de pessoal (staff scheduling ou rostering). Tais problemas so de difcil resoluo, uma vez que apresentam um grande nmero de restries operacionais e trabalhistas. Alm disso, pertencem classe de problemas NP-difceis. Sendo assim, o uso 6

exclusivo de mtodos exatos limita-se a resolver problemas de pequenas dimenses. Para problemas de dimenses maiores, a abordagem mais comum atravs de heursticas. Marinho (2005) resolve o PPT por um mtodo Busca Tabu com Relaxao Adaptativa que explora o espao de busca por meio de duas estruturas de vizinhana: realocao e troca. A representao de uma soluo para o PPV pode ser facilmente adaptada para representar uma soluo do PPT. Embora as restries sejam diferentes, os dois problemas podem ser reduzidos a problemas de designao. No PPV, busca-se uma boa alocao de viagens em veculos, enquanto isso, no PPT a meta encontrar uma boa alocao de tarefas s jornadas de trabalho dos tripulantes. Dessa forma, as mesmas tcnicas utilizadas na resoluo do PPV podem ser adaptadas para resolver o PPT. Grande parte dos trabalhos que abordam o PPVT o faz resolvendo o PPV de maneira exata enquanto utiliza uma heurstica para resolver o PPT. Esses trabalhos tm como referncia o procedimento proposto por Ball et al. (1983), que envolve a definio de uma rede de programao, consistindo de vrtices caracterizados por conjuntos de viagens denominados d-trips que devem ser executadas por um veculo e uma tripulao. Diversos tipos de arcos podem ser agrupados em duas categorias, aqueles que indicam que uma tripulao e veculo seguem de uma d-trip para outra a aqueles que indicam que apenas a tripulao segue de uma d-trip para outra (arco_tripulaes). O procedimento de resoluo decomposto em trs componentes, enfatizando a programao da tripulao: construo dos pedaos de jornadas, melhoramento dos pedaos de jornadas e gerao das jornadas de trabalho das tripulaes. A programao dos veculos gerada simultaneamente excluindo os arcos_tripulaes e fixando os arcos usados pelos pedaos de jornadas na soluo. Heursticas similares so propostas por Tosini & Vercellis (1988) e Patrikalakis & Xerocostas (1992). Trabalhos mais recentes modelam o PPVT como Problema de Programao Linear Inteira Zero-Um, acrescentando ao modelo de Pseudo-designao, para a programao dos veculos, variveis de deciso e restries que garantem que cada tarefa seja atribuda a uma jornada. A funo de avaliao composta por componentes de custo dos veculos e das jornadas de trabalho. Uma restrio de link, includa no modelo, garante que cada tarefa seja coberta por uma jornada se o arco correspondente est na soluo do PPV (Haase & Friberg, 1999). Freling et al. (2001) realizam uma aplicao prtica, considerando diferentes regras operacionais e seus impactos sobre a reduo de custos. Em Silva et al. (2006a) e Silva et al. (2006b) relatam-se experincias com a resoluo integrada do problema, no caso, introduzindo na programao de veculos algumas restries da programao das tripulaes. Os resultados obtidos mostraram que a abordagem integrada produziu solues com qualidade superior quelas geradas pela abordagem tradicional. Em uma instncia considerada, a abordagem integrada utilizou um veculo a mais do que a tradicional, mas em contrapartida houve uma reduo de 17 tripulaes e ainda uma economia no nmero de horas extras pagas. Os autores lembram que o custo operacional das tripulaes superior ao custo operacional dos veculos, motivando o estudo de uma metodologia integrada para abordar os dois problemas. Freling et al. (1999) classificam as abordagens de resoluo do Problema de Programao de Veculos e Tripulaes em: independente, seqencial e integrada. Segundo os autores, a abordagem sequencial pode ser dividida em tradicional e inversa, enquanto que a abordagem seqencial pode ser dividida nvel um e nvel dois. A abordagem seqencial tradicional consiste em resolver o PPV e em seguida o PPT. A abordagem seqencial inversa uma variao dessa abordagem, consistindo em inverter a

ordem de resoluo dos problemas, isto , resolve-se primeiramente o PPT e em seguida o PPV (Souza et al., 2004; Marinho et al., 2004; Silva et al., 2004; Atzingen, 2006). As principais vantagens das abordagens seqenciais so a facilidade de implementao e a diminuio da complexidade do problema. A abordagem seqencial tradicional recomendada para casos em que a programao dos veculos possui custo operacional superior ao custo operacional da programao das tripulaes, e a inversa indicada quando o custo operacional dos veculos inferior ao das tripulaes. Na programao independente, a programao dos veculos obtida ignorando-se a programao dos tripulantes e a programao dos tripulantes obtida ignorando-se a programao dos veculos. Experincias desse tipo so retratadas em Bassi et al. 2007, que resolve o PPT sem considerar a programao dos veculos. O problema dessa abordagem que, na maioria dos casos, os resultados obtidos so inviveis na prtica, pois as solues obtidas para o PPV e para o PPT dificilmente so compatveis entre si (Freling et al. 1999). Entretanto, essa abordagem permite determinar os limitantes inferiores para a soluo tima do PPVT. A abordagem integrada comeou a ser estudada mais recentemente, tendo em vista a evoluo tecnolgica dos computadores, uma vez que devido grande complexidade do problema, o custo computacional desta abordagem era proibitivo. A abordagem integrada nvel um consiste em resolver simultaneamente o PPV e o PPT. Este um problema complexo devido s suas grandes dimenses. Existem modelos computacionais para a sua resoluo (Freling et al., 1999; Friberg e Haase, 1999; Haase et al., 2001), porm esses modelos no resolvem problemas de grandes dimenses em tempo aceitvel devido s limitaes computacionais existentes. A abordagem integrada nvel dois baseada na resoluo do PPV considerando caractersticas dos tripulantes de tal forma que a programao dos tripulantes facilitada pela programao dos veculos. Segundo Freling et al. 2003, a abordagem integrada do Problema de Programao de Veculos e de Tripulaes sempre permitir obter resultados superiores ou iguais aos resultados da abordagem seqencial, e resultados inferiores ou iguais aos resultados da abordagem independente.

3.2 Heursticas
As heursticas so procedimentos de busca que tm suas pesquisas guiadas por meio da quantificao de proximidade a um determinado objetivo (soluo). Para tanto, emprega-se a funo de avaliao que se baseia nas instncias, caractersticas e estrutura do problema para encontrar boas solues, possivelmente a tima, a um custo computacional aceitvel sem, contudo garantir a otimalidade ou quo prxima dela a soluo se encontra. As heursticas so classificadas em heursticas construtivas ou de refinamento dependendo da estratgia adotada para se convergir para a soluo desejada. Uma heurstica construtiva tem por objetivo construir uma soluo, elemento por elemento, sendo a forma de escolha de cada elemento a ser inserido a cada passo varivel de acordo com a funo de avaliao adotada. As heursticas de refinamento consistem em tcnicas que realizam a explorao do espao de solues, atravs da estrutura de vizinhana que pode ser definida da seguinte forma: seja S o espao de pesquisa de um problema de otimizao, s S uma das possveis solues que pode ser obtida de uma heurstica construtiva ou gerada aleatoriamente 8

e f a funo objetivo a ser otimizada. O conjunto N(s) S, o qual depende da estrutura do problema tratado, rene um nmero determinado de solues s, denominado vizinhana de s. Cada soluo s N(s) chamada de vizinho de s e obtido de s a partir de uma operao chamada de movimento. O obstculo a ser vencido pelas heursticas encontrar, em um tempo reduzido, uma soluo to prxima da tima quanto possvel. A seguir sero apresentadas as heursticas referenciadas ao longo deste trabalho. 3.2.1 Construo Gulosa

A Construo Gulosa uma heurstica construtiva que, a cada iterao, integra soluo sendo gerada aquele elemento que trar mais benefcios dentre todos os candidatos, conforme uma funo de avaliao (funo gulosa). A estimativa do benefcio da insero de cada elemento candidato soluo em construo deve ser calculada a cada iterao, uma vez que, esta soluo parcial sofre alteraes sempre que um novo elemento passa a integr-la e conseqentemente a relevncia dos possveis candidatos tambm modificada. O pseudocdigo da heurstica construtiva gulosa aplicada a um problema de minimizao apresentado a seguir na Figura 3.1. Deve ser salientado que os passos para se construir uma soluo dependem do problema abordado e a diferentes funes de avaliao esto associadas solues gulosas distintas.

1) Seja C o conjunto de elementos candidatos a integrar a soluo. 2) Seja s a soluo sendo construda. 3) s 4) enquanto C , faa a) f(tmin) = min{ f(t) | t C} b) s s U {tmin} c) Atualize o conjunto C de elementos candidatos. 5) Retorne a soluo s. Figura 3.1 Pseudocdigo da Construo Gulosa

3.2.2

Mtodo de Descida

O Mtodo da Descida uma tcnica iterativa que parte de uma soluo inicial qualquer, explora a vizinhana movendo-se sempre para o melhor vizinho segundo a funo de avaliao, at atingir um timo local, do qual o mtodo no capaz de escapar. Inicialmente, o Mtodo da Descida explora toda a vizinhana de sua soluo corrente. Se o melhor vizinho encontrado proporcionar uma melhora no valor da funo de avaliao at ento conhecida, ele aceito como a nova soluo a ser explorada. Caso contrrio, um timo local foi alcanado e a soluo corrente retornada.

A Figura 3.2 mostra o pseudocdigo do Mtodo de Descida, cujo objetivo minimizar uma funo de avaliao f .

1) Seja s0 uma soluo inicial conhecida. 2) s s 0 , onde s a soluo corrente. 3) Faa s melhorVizinho(s), onde s o melhor dentre todos os vizinhos de uma dada soluo s. 4) enquanto ( f(s) < f(s) ), faa a) s s b) s melhorVizinho(s) 5) Retorne a melhor soluo encontrada, s. Figura 3.2 Pseudocdigo do Mtodo da Descida

3.2.3

Mtodo Descida Randmica

O procedimento Descida Randmica (DR) uma variante do procedimento Descida apresentado na seo 3.2.2, e tem por finalidade evitar a busca exaustiva em toda a vizinhana de uma dada soluo. A idia bsica dessa tcnica obter a cada iterao um vizinho qualquer da soluo corrente, admitindo-o como nova soluo corrente caso ele proporcione melhoras no valor da funo de avaliao. Caso contrrio, um novo vizinho gerado. Esse procedimento se repete at que se exceda um nmero determinado de iteraes sem melhoras na soluo. Portanto, trata-se de um procedimento computacionalmente mais barato que o mtodo de Descida clssico, mas que tambm fica preso ao primeiro timo local encontrado. Devido aleatoriedade na escolha dos vizinhos, pode ocorrer de a soluo retornada pelo mtodo Descida Randmica com Primeiro de Melhora no corresponder a um timo local. Na Figura 3.3 apresentado o pseudocdigo do mtodo Descida Randmica aplicado minimizao de uma funo f.

6) Seja s0 uma soluo inicial conhecida. 7) s s 0 , onde s a soluo corrente. 8) enquanto ( critrio de parada no satisfeito ), faa a) Faa s primeiraMelhora(s), onde s o primeiro vizinho de melhora de uma dada soluo s. b) s s, se s for melhor que s de acordo com f c) Atualize o critrio de parada 9) Retorne a melhor soluo encontrada, s. Figura 3.3 Pseudocdigo do Mtodo Descida Randmica

10

3.3 Metaheursticas
Metaheursticas podem ser vistas como sendo heursticas genricas mais sofisticadas, que visam explorar inteligentemente as instncias do problema e o seu espao de solues. As metahersticas se caracterizam pela habilidade de escapar de timos locais e so destinadas a encontrar uma boa soluo, eventualmente a tima, para um problema de otimizao. As metaheursticas se dividem em duas categorias, de acordo com o princpio usado para explorar o espao de solues: busca local e busca populacional. Nas metaheursticas baseadas em busca local, a explorao do espao de solues feita por meio de movimentos, os quais so aplicados a cada passo sobre a soluo corrente, gerando outra soluo promissora em sua vizinhana. Busca Tabu, Simulated Annealing, Mtodo de Pesquisa em Vizinhana Varivel, Mtodo de Descida em Vizinhana Varivel e Iterated Local Search so exemplos de mtodos que se enquadram nesta categoria. Os mtodos baseados em busca populacional, por sua vez, consistem em manter um conjunto de boas solues e combin-las de forma a tentar produzir solues ainda melhores. Exemplos clssicos de procedimentos dessa categoria so os Algoritmos Genticos e os Algoritmos Memticos. A seguir so apresentadas as metaheursticas referenciadas neste trabalho. 3.3.1 Iterated Local Search

ILS (Iterated Local Search - Busca Local Iterada) um mtodo aplicado em conjunto com um procedimento de busca local, com a finalidade de melhorar as solues obtidas por este atravs da realizao de perturbaes. Uma perturbao consiste em modificaes realizadas sobre uma soluo por meio da aplicao de um ou mais tipos de movimentos. Para iniciar a sua explorao o ILS precisa primeiramente de uma boa soluo para o problema, para tanto, gerada uma soluo inicial e esta melhorada por meio de um procedimento de busca local. Uma vez obtida uma soluo iniciada a fase de pesquisa sobre a sua vizinhana, que consiste em: se realizar uma perturbao sobre a soluo corrente, seguida de um procedimento de busca que retornar o timo local da soluo perturbada. Este timo ento avaliado e caso seja satisfeito o critrio de aceitao (por exemplo, se houve melhora na funo objetivo), ele ser considerado a nova soluo corrente e recomea-se o processo de pesquisa pela vizinhana dessa nova soluo. Caso contrrio aumentado o nvel de perturbao, ou seja, torna-se a perturbao mais intensa e o processo de pesquisa retomado. Este procedimento repetido at que um critrio de parada seja satisfeito, como por exemplo, quando o tempo de execuo do algoritmo exceder um dado limite. importante salientar que o sucesso do ILS depende fortemente das perturbaes realizadas pelo mesmo. Portanto, a perturbao aplicada a uma dada soluo, deve ser dosada de maneira tal que as alteraes decorrentes de sua aplicao sejam suficientes para se escapar de timos locais e explorar diferentes regies sem, contudo causar um caos absoluto que implicaria na perda de caractersticas do timo local corrente. Em princpio, qualquer mtodo de busca local pode ser utilizado pelo ILS, no entanto, seu desempenho com respeito qualidade da soluo final e a velocidade de convergncia dependem fortemente do mtodo escolhido. Normalmente um mtodo de descida usado, mas tambm possvel aplicar algoritmos mais sofisticados, tais como Busca Tabu ou outras metaheursticas.

11

Na Figura 3.6 apresentado o pseudocdigo do algoritmo ILS bsico em que se identificam quatro componentes: a) Procedimento GeraSolucaoInicial, que gera uma soluo inicial s0 para o problema; b) Procedimento BuscaLocal, que retorna uma soluo melhorada s aps gerao da soluo inicial e outra s aps perturbao por meio de um mtodo de busca local; c) Procedimento Perturbacao, que modifica a soluo corrente s guiando a uma soluo intermediria s; d) Procedimento CriterioAceitacao, deciso que se refere tanto aceitao da soluo perturbada como soluo corrente, quanto quo intenso ser a prxima perturbao a ser aplicada (isto , determinao do nvel de perturbao).

1) s 0 GeraSolucaoInicial(); 2) s BuscaLocal ( s 0 ); 3) enquanto (os critrios de parada no estiverem satisfeitos) faa a) s ' Perturbacao(historico, s ); b) s ' ' BuscaLocal ( s ' ); c) s CriterioAceitacao( s, s ' ' , historico); 4) Retorne a soluo s Figura 3.4 Pseudocdigo do algoritmo Iterated Local Search 3.3.2 Variable Neighborhood Descent

O Mtodo de Descida em Vizinhana Varivel (Variable Neighborhood Descent, VND), proposto por Nenad Mladenovic e Pierre Hansen (Mladenovic e Hansen, 1997), um mtodo de refinamento que consiste em explorar o espao de solues atravs de trocas sistemticas de estruturas de vizinhana, aceitando somente solues de melhora da soluo corrente e retornando primeira estrutura quando uma soluo melhor encontrada. O pseudocdigo desse algoritmo, em que se considera o refinamento de uma soluo s utilizando uma funo de avaliao f, a ser minimizada, e um conjunto de r diferentes vizinhanas N = N(1); N(2); ... ;N(r), apresentado pela Figura 3.5. Dependendo do problema abordado, a busca pelo melhor vizinho (linha 5 da Figura 3.5) pode ser cara computacionalmente. Nessa situao comum fazer a busca pela primeira soluo de melhora. Outra alternativa considerar a explorao apenas em certo percentual da vizinhana.

12

Algoritmo VND 1: Entrada: f(.), N(.), r, s 2: Seja r o nmero de estruturas diferentes de vizinhana 3: tipo 0 4: enquanto tipo < r faa 5: Encontre o melhor vizinho s N (tipo) (s) 6: se ( f(s) < f(s) ) 7: s s 8: tipo 0 9: seno 10: tipo tipo + 1 11: fim se 12: fim enquanto 13: retorne s Figura 3.5 Algoritmo VND Segundo os autores, o mtodo VND baseia-se em trs princpios bsicos: Um timo local com relao a uma dada estrutura de vizinhana no corresponde necessariamente a um timo local com relao a uma outra estrutura de vizinhana; Um timo global corresponde a um timo local para todas as estruturas de vizinhana; Para muitos problemas, timos locais com relao a uma ou mais estruturas de vizinhana so relativamente prximas.

Segundo os autores, o ltimo princpio, de natureza emprica, indica que um timo local frequentemente fornece algum tipo de informao sobre o timo global. Esse o caso em que os timos, tanto local quanto global, compartilham muitas variveis com o mesmo valor, o que sugere uma investigao sistemtica da vizinhana de um timo local at a obteno de uma nova soluo de melhor valor. 3.3.3 Busca Tabu

O mtodo de Busca Tabu, proposto independentemente por Glover (1986) e Hansen (1986), um procedimento iterativo para a soluo de problemas de otimizao combinatria que aceita movimentos de piora para tentar escapar de timos locais. Partindo de uma soluo inicial s0, a cada interao, o mtodo Busca Tabu explora um subconjunto V de uma vizinhana N(s) da soluo corrente s. A busca nessa vizinhana interrompida quando um movimento que melhore a soluo corrente for encontrado. A idia de reduzir o espao de busca se deve ao fato da iterao do mtodo de Busca Tabu ser custosa computacionalmente para o PPVT. Essa interrupo da busca, conhecida como primeira melhora, uma idia aplicada em mtodos heursticos e visa reduzir o esforo computacional para explorar a vizinhana. A escolha do melhor vizinho a cada iterao utilizada para tentar escapar de mnimos locais. Porm, este critrio de escolha pode fazer com que o algoritmo cicle, ou seja, que retorne a uma soluo j visitada anteriormente. Para evitar a ciclagem, existe um mecanismo chamado memria de curto prazo ou lista tabu. O objetivo dessa lista tentar evitar 13

movimentos que levem regies j visitadas do espao de solues, o que usualmente alcanado pela proibio dos ltimos movimentos realizados. Esses movimentos so mantidos nesta lista por um certo nmero de iteraes chamado tabu tenure. Durante estas iteraes, os movimentos armazenados ficam proibidos de serem realizados. Mas essa estratgia pode ser muito restritiva e desconsiderar solues de alta qualidade. Para que isto no ocorra, movimentos com status tabu podem ser aceitos se a nova soluo produzida satisfizer ao critrio de aspirao por objetivo, isto , se a soluo, ainda que tabu, for melhor que a melhor soluo gerada at ento. De forma a reduzir ainda mais a probabilidade de ciclagem, o mtodo de Busca Tabu implementado utiliza uma lista tabu de tamanho dinmico. No caso, a cada iterao do mtodo, o movimento tabu permanece na lista por um certo nmero de iteraes, sorteado no intervalo [minTabuTenure, maxTabuTenure]. Na Figura 3.6 apresentado o pseudocdigo do algoritmo de Busca Tabu, aplicado a um problema de minimizao.
Algoritmo BT 1: Entrada: f(), N(), |V|, MinTabuTenure, MaxTabuTenure, s 2: s* s; { Melhor soluo at ento } 3: ListaTabu ; { Lista Tabu } 4: enquanto ( critrio de parada no satisfeito ) faa 5: Seja s s m o melhor vizinho de V N(s) tal que o movimento m no seja tabu (m ListaTabu) ou, se tabu, satisfaa f(s) < f(s*); 6: Atualize ListaTabu; 7: s s; 8: se ( f(s) < f(s*) ) ento 9: s* s; 10: fim-se 11: fim-enquanto; 12: s s*; 13: retorne s; Fim BT;

Figura 3.6 - Algoritmo Busca Tabu


FONTE: Souza (2008)

3.4 Mtodo de Intensificao


3.4.1 Relaxao Adaptativa

A Relaxao Adaptativa ou oscilao estratgica consiste em orientar movimentos em relao a um nvel crtico, que pode ser identificado por um estgio de construo ou um intervalo escolhido de valores para uma funo. Tal nvel crtico (ou fronteira de oscilao) freqentemente representa um ponto onde o mtodo normalmente iria ser interrompido. Em vez de parar quando esta fronteira alcanada, as regras para selecionar movimentos so modificadas para permitir que a regio definida pelo nvel crtico seja atravessada. Esta abordagem ento continua at uma dada profundidade alm da fronteira de oscilao e volta novamente. O limite da oscilao novamente alcanado e atravessado, desta vez na direo oposta, e assim por diante.

14

O processo de repetidamente abordar e atravessar o nvel crtico a partir de diferentes direes cria um comportamento oscilatrio. O controle sobre esse comportamento estabelecido por meio da gerao de avaliaes e regras modificadas para os movimentos, dependendo da regio navegada e da direo da busca. A possibilidade de percorrer uma trajetria j visitada pode ser evitada por mecanismos tabu padres, tais como aqueles estabelecidos pelas funes da memria de curto prazo. Schaerf (1996) apresenta um mecanismo de relaxao adaptativa onde os pesos para cada fonte de inviabilidade da funo de avaliao so ajustados dinamicamente, como proposto originalmente por Gendreau et al. (1994). Para cada inviabilidade i o peso i multiplicado por um fator i que varia de acordo com o seguinte esquema: No incio da busca i 1. A cada k movimentos: se todas as k solues visitadas so factveis em relao restrio i ento i i / ; se todas as k solues visitadas so infactveis em relao restrio i ento i i ; se algumas solues so factveis e outras so infactveis, considerando a restrio i, ento i permanece inalterado.

O parmetro randomicamente selecionado, a cada k movimentos, no intervalo [1,8; 2,2] conforme proposto por Schaerf (1996). Cada valor de i limitado por duas constantes min e max, de forma a evitar que a relaxao adaptativa incremente/decremente indefinidamente os pesos para restries que so sempre insatisfeitas/satisfeitas.

15

4 O Problema de Programao de Veculos e Tripulaes Abordado


O presente captulo descreve, em detalhes, o problema abordado. Na seo 4.1, apresenta-se as restries e objetivos da programao de veculos e na seo 4.2, da programao de tripulaes. O Problema de Programao Integrada de Veculos e Tripulaes (PPVT) abordado neste trabalho pode ser definido da seguinte maneira: dada uma tabela de viagens a serem realizadas, encontre a programao de custo mnimo para os veculos e as tripulaes, fazendo o melhor aproveitamento da frota de veculos e dos tripulantes de uma empresa de modo que todas as viagens a ela responsabilizadas sejam realizadas. Para que a programao de atividades da frota de veculos e do conjunto de tripulantes seja factvel necessrio atender a uma srie de restries, as quais podem variar conforme as polticas operacionais que regem o Sistema de Transporte Pblico no qual a empresa atua. Neste trabalho tratado o problema particular envolvendo empresas da cidade de Belo Horizonte/Brasil. A resoluo do problema de programao de veculos e de tripulantes feita a partir de uma tabela de horrios, na qual se encontram todas as viagens a serem realizadas em um determinado dia por uma empresa. A Tabela 4.1 um exemplo de tabela de horrios. Tabela 4.1 Exemplo de uma tabela de viagens
idViagem Horrio de Inicio Ponto Inicial Horrio de Trmino Ponto Final 0 100 1 290 1 1 140 1 210 1 2 310 1 380 1 3 310 1 460 1 4 470 1 540 1 5 480 1 550 1 6 575 1 790 1 7 640 1 710 1 8 730 1 880 1 9 860 1 1090 1 Linha LN305 LN305 LN305 LN150 LN150 LN305 LN305 LN150 LN150 LN150

Na tabela de horrios, cada viagem identificada univocamente por meio de um conjunto de caractersticas que consistem em informaes relevantes no processo de resoluo do problema. Organizados em colunas e aparecendo seqencialmente na tabela, temos: o nmero da viagem, horrio de incio da viagem (em minutos), o ponto inicial que corresponde ao local de incio da viagem, horrio de trmino da viagem (em minutos), o ponto final que se refere ao local em que a viagem termina e a linha a qual a viagem pertence. O tempo de embarque e o tempo de desembarque de passageiros tambm um parmetro importante em uma viagem. O primeiro dependente do horrio de incio da viagem e o segundo do horrio de fim da mesma. Ao longo do dia existem determinados perodos em que geralmente h um nmero maior de passageiros em trnsito pelo meio de transporte em questo. Esses perodos so os chamados horrios de pico. As empresas estimam que na prtica nesses horrios o tempo necessrio para o de embarque ou desembarque de passageiros de dois minutos e fora desses 16

horrios esse tempo de um minuto. Existem dois horrios de pico ao longo do dia: das 5:00 s 7:59 da manh e das 4:00 s 18:59. Alm do conjunto de viagens, outra informao importante a matriz de tempos de deslocamento entre os vrios pontos de parada dos veculos e tripulantes, incluindo a garagem. De posse dessa informao possvel, por exemplo, determinar o tempo que um veculo percorre fora de operao, ou seja, sem passageiros para sair de um ponto e chegar a outro. A este tipo de deslocamento dado o nome de viagem morta. Quanto aos horrios de incio e trmino a tabela de viagens de exemplo (Tabela 4.1) representada esquematicamente na Figura 4.1:
Viagem 0 Viagem 1 Viagem 2 Viagem 3 Viagem 4 Viagem 5 Viagem 6 Viagem 7 Viagem 8 Viagem 9 0 1 2 3 4 5 6 7 8 9

0 min

360 min

720 min

1080 min

1440 min

Figura 4.1 - Representao esquemtica das viagens da Tabela 4.1

O PPT em um sistema de transporte pblico consiste na definio da jornada de trabalho de cada tripulao pertencente ao quadro de uma dada empresa. Uma tripulao constituda por um motorista e um cobrador (quando houver), responsveis pela operao de um veculo. As tarefas so formadas a partir de jornadas de trabalho de veculos, agrupando conjuntos de viagens. Este agrupamento feito de maneira que cada tarefa fica compreendida entre duas Oportunidades de Trocas (OT). Uma OT um intervalo de tempo suficiente, em um ponto apropriado, que possibilita a troca de tripulaes de um veculo em operao. Viagens de uma mesma tarefa so executadas pelo mesmo veculo. Durante a realizao de uma tarefa, no possvel que haja a troca da tripulao. Sendo assim, uma tarefa a mnima poro de trabalho que pode ser adicionada ou retirada da jornada de trabalho de uma tripulao. A programao das tripulaes feita a partir de um conjunto de tarefas que, unidas, contm todas as viagens a serem realizadas em um determinado dia por uma empresa. A Figura 4.2 representa um conjunto de tarefas, gerado a partir de uma possvel organizao das viagens da Tabela 4.1. Na Figura 4.2 a Tarefa 2 contm a viagem 3 e a viagem 4.

17

Tarefa 0 Tarefa 1 Tarefa 2 Tarefa 3 Tarefa 4 Tarefa 5


0 min

0 1 1

4 5

2 6 7 8 9 3 4 5
1080 min 1440 min

360 min

720 min

Figura 4.2 - Representao esquemtica de uma lista de tarefas

4.1 Restries e Objetivos da Programao de Veculos


As restries que foram levadas em considerao para gerao da programao diria dos veculos neste trabalho, foram as seguintes: a) Um veculo deve permanecer no mnimo trinta minutos consecutivos na garagem, por dia. Este tempo pode ser cumprido quando o veculo pra na garagem entre duas viagens consecutivas pertencentes sua jornada diria ou mesmo depois de completada toda a sua jornada de trabalho; b) Um mesmo veculo no pode realizar duas viagens simultaneamente, o que caracterizaria uma sobreposio; c) Antes de se iniciar e aps finalizar uma viagem, um veculo deve obrigatoriamente cumprir um tempo mnimo no terminal, que corresponde ao tempo necessrio para o embarque e desembarque dos passageiros; d) Um veculo no deve permanecer mais de duas horas em um terminal esperando para executar a sua prxima viagem. Se o tempo de espera exceder esse limite, o veculo dever se deslocar para a garagem ou outro local onde possa esperar o horrio de incio da viagem subseqente. Diz-se, nesse ltimo caso, que o veculo est fazendo uma dupla pegada; e) Todas as viagens de responsabilidade de uma empresa, sem excees, devem ser realizadas por algum veculo da frota. Os objetivos do PPV considerados neste trabalho so os seguintes: (1) diminuir o tempo ocioso dos veculos, isto , que os veculos no fiquem parados entre duas viagens consecutivas descontando-se os tempos de embarque e desembarque que so obrigatrios; (2) diminuir o nmero de deslocamentos fora de operao (deslocamentos que no equivalem a nenhuma viagem); (3) reduzir o tamanho da frota utilizada e (4) diminuir o nmero de trocas de linha entre as viagens dos veculos da frota. A soluo para o Problema de Programao de Veculos consiste, portanto, em atribuir um conjunto de viagens para um nmero de veculos menor ou igual frota disponvel pela empresa, considerando as restries apresentadas acima, de tal forma que todas as viagens sejam realizadas com o menor custo operacional possvel. Cada conjunto de viagens a serem executadas por um veculo chamado de bloco do veculo. 18

4.2 Restries e Objetivos da Programao de Tripulaes


Para que a programao das jornadas de trabalho das tripulaes seja factvel necessrio atender a uma srie de restries. Sendo assim, o Problema de Programao de Tripulaes (PPT) pode ser definido da seguinte forma: dado um conjunto de tarefas, encontrar um conjunto de jornadas dirias com custo mnimo tal que cada jornada seja uma seqncia de tarefas que pode ser executada por uma nica tripulao respeitando as restries operacionais e trabalhistas. As restries consideradas so as seguintes: a) Cada tarefa deve ser atribuda a uma nica jornada de trabalho; b) Um mesmo tripulante no pode realizar duas tarefas simultaneamente, o que caracterizaria uma sobreposio; c) Um tripulante no deve permanecer mais de duas horas em um terminal esperando para executar a sua prxima viagem. Se o tempo de espera exceder esse limite, o tripulante dever se deslocar para a garagem ou outro local onde possa esperar o horrio de incio da tarefa subseqente. Diz-se, nesse ltimo caso, que o tripulante est fazendo uma dupla pegada; d) A durao da jornada diria de trabalho no pode superar 9 horas se a jornada for classificada como simples, ou 8:40 se for classificada como de dupla pegada; e) As trocas de tripulaes s podem ocorrer em determinados locais, nos pontos; f) Nenhum dos tripulantes da frota deve efetuar trocas proibidas de veculos, linhas ou pontos; g) Todas as viagens de responsabilidade de uma empresa, sem excees, devem ser realizadas por algum tripulante. Uma troca de veculos permitida quando h tempo para se efetuar a troca, caso contrrio ela proibida. Uma troca de linha permitida se as linhas pertencerem a um mesmo grupo, caso contrrio ela proibida. A definio dos grupos das linhas feita pela empresa de transporte. Uma troca de ponto de nibus permitida (1) se os pontos envolvidos na troca pertencerem ao mesmo grupo de pontos; (2) caso contrrio, se as tarefas pertencerem ao mesmo veculo; (3) caso contrrio, apenas se houver dupla pegada entre as duas tarefas. Uma troca de ponto proibida caso no satisfaa nenhum dos trs quesitos anteriores. Os objetivos do PPT considerados neste trabalho so os seguintes: gerar solues finais factveis, ou seja, sem sobreposio de tarefas e sem excesso de trabalho, alm disso, deve haver tempo suficiente entre as jornadas de trabalho de um tripulante, segundo as leis trabalhistas; o nmero de trocas de veculos, o nmero de trocas de linhas e o nmero de trocas de pontos devem ser mnimos, assim como o tempo ocioso e o tempo de hora extra; no deve haver excesso de duplas pegadas; e o nmero de tripulantes tambm um item a ser minimizado.

19

5 Metodologia
Neste captulo apresenta-se a metodologia proposta para resolver, de forma integrada, o problema de programao de veculos e tripulaes (PPVT). Na seo 5.1 mostra-se como uma soluo para o problema representada. Na seo 5.2 so apresentados os tipos de movimentos que constituem as estruturas de vizinhana desenvolvidas para explorar o espao de busca. Nas sees 5.3 e 5.4 so mostradas duas formas utilizadas para avaliar uma soluo, sendo a primeira com pesos empricos e a segunda, baseada em custos. A descrio de como uma soluo inicial gerada apresentada na seo 5.5. O algoritmo proposto para resolver o PPVT apresentado na seo 5.6.

5.1 Representao do PPVT


Uma soluo s para o PPVT consiste em um par (sV, sT), onde sV uma soluo para o problema de programao de veculos e sT uma soluo para o problema de programao de tripulaes. A soluo sV consiste em um conjunto de veculos, a cada qual est associado uma lista de viagens a serem por ele executadas durante um dia de trabalho. As viagens executadas por cada veculo so mantidas ordenadas por seus horrios de incio. Essa abordagem importante, uma vez que atravs dela ser possvel avaliar a jornada de trabalho de um veculo sob vrios aspectos, tais como: tempo de operao em viagem, tempo de locomoo fora de operao, ou seja, deslocamentos que no correspondem a nenhuma viagem, tempo de espera em terminal e total de retornos garagem. A soluo sT, por sua vez, consiste em um conjunto de tripulaes (motoristas e cobradores), a cada qual est associada uma lista de tarefas a serem executadas pelos tripulantes diariamente.
Jornada 0 Veculo 0 Veculo 1 0 1 2 3 0 Jornada 2 5 4 6 7 8 3 9 5 4

1 Jornada 1
0 min

360 min

720 min

1080 min

1440 min

Figura 5.1 Exemplo de uma soluo s para o PPVT A Figura 5.1 ilustra uma soluo s = (sV, sV) para o PPVT, na qual uma frota de dois veculos executa dez viagens a ela responsabilizada. Cada viagem representada por um retngulo pontilhado de cor branca, cada tarefa um retngulo de cor cinza claro, e cada jornada a figura que une tarefas, cinza escuro. Nessa soluo, o Veculo 1 executa, ao longo do dia, as viagens 1, 3, 4, 7 e 8. Onde, a viagem 1 constitui a tarefa 1, as viagens 3 e 4 constituem a tarefa 2 e as viagens 7 e 8 a tarefa 4. Note que o tripulante responsvel pela jornada 0 executa a tarefa 0 no veculo 0 e a tarefa 4 no veculo 1.

20

5.2 Estruturas de vizinhana


Os mtodos heursticos usados neste trabalho so baseados na efetuao de modificaes em uma dada soluo com a finalidade de se melhorar sua qualidade. Essas modificaes so chamadas movimentos e diferentes tipos de movimento podem ser aplicados em uma soluo. Uma estrutura de vizinhana definida por um tipo de movimento. Um vizinho de uma soluo s definido pela aplicao de um movimento na soluo s. Aplicando diferentes tipos de movimentos os mtodos heursticos podem explorar diferentes regies do espao de solues. Com vistas a explorar o espao de solues definimos 6 estruturas de vizinhana. Duas delas NvR e NvT fazem modificaes somente nos veculos, ignorando os reflexos destes movimentos na programao de tripulaes, o que gera, possivelmente, solues inviveis. Outras duas estruturas NtR e NtT modificam somente a programao das tripulaes, preservando a compatibilidade entre veculos e tripulaes. O terceiro par de estruturas de vizinhana NvRP e NvTP integrado e modifica ambas as partes, veculos e tripulaes. Essas duas ltimas estruturas consistem na realocao ou troca as viagens de veculos, seguida de uma reconstruo das jornadas de forma a tornar as programaes de veculos e tripulaes compatveis entre si. Para cada veculo envolvido na modificao, so eliminadas da programao de tripulaes todas as tarefas pertencentes a esses veculos. A seguir, a partir da nova configurao dos blocos dos veculos envolvidos, so geradas as novas tarefas. Essas tarefas, por sua vez, so adicionadas a qualquer tripulante, de forma gulosa de acordo com o procedimento descrito na seo anterior. Para essas duas estruturas, NvRP e NvTP, diz-se que a modificao realizada propagada para as tripulaes. 5.2.1 Vizinhana NvR

O movimento de realocao definido pela estrutura de vizinhana NvR consiste em transferir uma viagem pertencente lista de viagens de um dado veculo para a lista de outro veculo. Portanto, este movimento pode ser visto como uma seqncia de decises a serem tomadas e uma respectiva ao da seguinte forma: 1. Escolher um primeiro veculo, dentre todos os envolvidos no problema; 2. Escolher um segundo veculo que no seja o mesmo selecionado anteriormente; 3. Escolher uma viagem do primeiro veculo que ser transferida para a lista de viagens do segundo; 4. Efetivar o movimento. 5.2.2 Vizinhana NvT

O movimento de troca definido pela estrutura de vizinhana NvT consiste em permutar uma tarefa da jornada de trabalho de um dado tripulante com uma tarefa pertencente a um outro tripulante. Igualmente aos processos anteriores, no movimento de troca, antes que se possa efetivamente realizar a permutao das tarefas algumas decises devem ser tomadas: 1. Escolher um primeiro veculo, dentre todos os envolvidos no problema; 2. Escolher um segundo veculo que no seja o mesmo selecionado anteriormente;

21

3. Escolher uma viagem do primeiro veculo que ser transferida para o bloco do segundo; 4. Escolher uma viagem do segundo veculo que ser transferida para o bloco do primeiro; 5. Efetivar o movimento. 5.2.3 Vizinhana NtR

O movimento de realocao definido pela estrutura de vizinhana NtR consiste em transferir uma tarefa da jornada de trabalho de um dado tripulante para a jornada de trabalho de outro tripulante. Portanto, este movimento pode, tambm, ser visto como uma seqncia de decises a serem tomas e uma respectiva ao da seguinte forma: 1. Escolher um primeiro tripulante, dentre todos os envolvidos no problema; 2. Escolher um segundo tripulante que no seja o mesmo selecionado anteriormente; 3. Escolher uma tarefa do primeiro tripulante que ser transferida para a jornada de trabalho do segundo; 4. Efetivar o movimento. 5.2.4 Vizinhana NtT

O movimento de troca definido pela estrutura de vizinhana NtT consiste em permutar uma tarefa da jornada de trabalho de um dado tripulante com uma tarefa pertencente a um outro tripulante. Igualmente aos processos anteriores, no movimento de troca, antes que se possa efetivamente realizar a permutao das tarefas algumas decises devem ser tomadas: 6. Escolher um primeiro tripulante, dentre todos os envolvidos no problema; 7. Escolher um segundo tripulante que no seja o mesmo selecionado anteriormente; 8. Escolher uma tarefa do primeiro tripulante que ser transferida para a jornada de trabalho do segundo; 9. Escolher uma tarefa do segundo tripulante que ser transferida para a jornada de trabalho do primeiro. 10. Efetivar o movimento. 5.2.5 Vizinhana NvRP

Na estrutura NvRP, um vizinho s de uma soluo s = (sV, sT) do PPVT gerado fazendo-se a seguinte seqncia de operaes: (i) realocao de uma viagem de um veculo para outro veculo na soluo sV; (ii) eliminao, na soluo sT, das tarefas que pertencem aos veculos envolvidos na troca; (iii) agrupamento, em tarefas, das viagens dos dois veculos envolvidos na realocao; (iv) gerao de uma nova soluo sT, consistindo na distribuio das tarefas aos tripulantes por um procedimento guloso, conforme descrito na seo seguinte. As estruturas de vizinhana NvRP e NvTP fazem uso de um mtodo que, de forma gulosa, aloca as tarefas geradas por uma modificao, realocao ou troca, na programao dos veculos. Nessas estruturas, a primeira modificao se d primeiramente na programao de veculos, sendo essa modificao propagada para a programao de tripulaes. Essa propagao feita substituindo as tarefas, anteriormente geradas com base na lista de viagens

22

dos veculos envolvidos, pelas novas tarefas, geradas a partir da lista de viagens dos mesmos veculos depois da modificao. 5.2.6 Vizinhana NtTP

Na estrutura NtTP, um vizinho s de uma soluo s = (sV, sT) do PPVT gerado fazendo-se a seguinte seqncia de operaes: (i) troca de viagens entre dois veculos da soluo sV; (ii) eliminao, na soluo sT, das tarefas que pertencem aos veculos envolvidos na troca; (iii) agrupamento, em tarefas, das viagens pertencentes aos dois veculos envolvidos na troca; (iv) gerao de uma nova soluo sT, consistindo na distribuio das tarefas, geradas pelo passo anterior, aos tripulantes por um procedimento guloso, conforme descrito na seo 5.2.5.

5.3 Avaliao de uma soluo - 1 Abordagem


Nesta abordagem, baseada em pesos empricos, uma soluo s = (sV, sT) do PPVT avaliada por uma funo f baseada em penalidades, a qual deve ser minimizada, na forma: f ( s ) = fV ( s ) + f T ( s ) (1)

em que fV(s) representa a componente que avalia s com relao programao dos veculos, fT(s) representa a componente que avalia s com relao programao das tripulaes e e representam pesos atribudos importncia relativa de cada uma dessas solues. 5.3.1 Avaliao da programao de veculos

A funo de avaliao fV considerada para a componente sV relativa a programao dos veculos dada pela expresso (2), baseada em Simes et al. (2006). A avaliao de uma soluo para os veculos considera: tempo de sobreposio de viagens, tempo de viagem morta, tempo de espera em terminal, nmero de trocas de linhas, excesso de duplas pegadas e nmero de veculos. f V (s) =

k F

k V

(s) + numTrLinha TL + excessoDuplaPegV EDP + + numVeculos NV (2)

onde: a)
fVk (s ) a funo de custo do k-simo veculo da frota F de uma soluo s.

b) numTrLinha a quantidade de trocas de linha realizadas pelos veculos da frota e TL a penalizao associada. c) excessoDuplaPegV a quantidade de duplas pegadas da programao de veculos que supera um certo nmero admissvel previamente definido pela empresa e EDP a penalizao correspondente. d) numVeculos a quantidade de veculos escalados para executar o conjunto de viagens e NV a penalizao associada.

23

O custo fVk (s ) atribudo ao veculo k de uma soluo s calculado pela expresso (3). Sendo T o conjunto das suas n viagens dirias e i e j viagens consecutivas de sua jornada de trabalho.
fVk ( s ) = CDg1 + CDng +

(i , j ) T

ij

(3)

Na equao (3), CD g1 e CDng so, respectivamente, os custos dos deslocamentos (isto , das viagens mortas) do veculo v da garagem para o ponto de incio de sua primeira viagem e do ponto final da sua ltima viagem para a garagem. C ij o custo associado realizao das viagens consecutivas i e j e calculado conforme a expresso (4):

CDij + CS ij C ij = CTij + CDij CDig + CD gj

se t ij < 0 se 0 t ij TempoMaxTerm se t ij > TempoMaxTerm


(4)

onde CTij , CDij e CS ij correspondem, respectivamente, aos custos de permanncia no terminal, deslocamento realizado fora de operao (viagem morta) e sobreposio entre as viagens i e j. Na expresso (4), TempoMaxTerm o tempo mximo que um veculo pode permanecer no terminal, estipulado segundo polticas operacionais que regem o Sistema de Transporte Pblico, e tij corresponde ao perodo de tempo compreendido entre o fim da viagem i e o incio da viagem j aps descontado o tempo de viagem morta, de embarque e desembarque entre elas. Note que tij corresponde ao tempo real de ociosidade do veculo v entre as viagens i e j . Portanto, o valor tij poder ser: a) Negativo, indicando que h sobreposio de horrio entre as viagens i e j. Assim, alm da penalizao associada viagem morta realizada pelo veculo v entre as viagens i e j, h um custo atribudo ao tempo de sobreposio entre elas; b) No-negativo e menor ou igual ao tempo mximo de terminal permitido para um veculo (TempoMaxTerm), indicando que o veculo v, aps a realizao da viagem i, ficar esperando no terminal pelo horrio de incio de sua prxima viagem (viagem j). Portanto, o custo de se realizar as viagens i e j consecutivamente obtido penalizando-se o tempo de deslocamento do veculo fora de operao e o tempo que o mesmo permanece no terminal entre as viagens; c) Maior que o tempo mximo de terminal permitido para um veculo (TempoMaxTerm), indicando que o veculo v ter que retornar garagem entre as viagens i e j , ou seja, realizar uma dupla pegada; no havendo, dessa forma, a necessidade de espera no terminal. O custo de se realizar as viagens, nesse caso, calculado penalizando-se os tempos de deslocamento do veculo fora de operao.

24

Na prtica, desejvel no apenas obter uma soluo factvel para o PPV com tempos de terminal e de deslocamento baixos na soma global da programao, mas tambm que exista uma homogeneidade na distribuio desses tempos, isto , deve ser evitado que haja paradas no terminal excessivamente demoradas ou que os tempos de deslocamentos de um veculo fora de operao sejam muito elevados. Para cumprir esse objetivo, atribui-se um custo individual para cada espera no terminal ou para cada viagem morta de um veculo na expresso (4), de acordo com uma funo exponencial. Os custos CDij e CTij so obtidos conforme as equaes (5) e (6), apresentadas a seguir:
( d ) 1 ij CDij = 1 d ij TD ( t ) 2 CTij = 2 ij t ij TT em que: a) b) c) d) e) tij o tempo real de ociosidade do veculo v entre as viagens i e j ;
dij a durao da viagem morta do veculo v entre as viagens i e j ; TempDesloc_Lim o tempo limite para a durao de uma viagem morta;

se d ij TempDesloc _ Lim se d ij > TempDesloc _ Lim

(5)

se t ij TempTerm _ Lim se t ij > TempTerm _ Lim

(6)

TD a penalizao, por unidade de tempo (em minutos), atribuda a uma viagem


morta caso a sua durao supere o limite dado por TempDesloc_Lim;

1 e 1 (0,1) so parmetros utilizados para o clculo da penalizao atribuda a


uma viagem morta caso a sua durao seja menor ou igual ao limite dado por TempDesloc_Lim;

f) g) h)

TempTerm_Lim o tempo limite para a durao de uma parada no terminal;

TT a penalizao, por unidade de tempo (em minutos), atribuda a uma espera


no terminal que exceda o limite dado por TempTerm_Lim;

2 e 2 (0,1) so parmetros utilizados para o clculo da penalizao atribuda a


uma espera no terminal caso a sua durao seja menor ou igual ao limite dado por TempTerm_Lim.

Observe que os custos CTij e CDij so dependentes da durao da espera no terminal ou da viagem morta efetuada pelo veculo v entre as viagens i e j. A um tempo de terminal ou de deslocamento aceitvel associado um custo mais baixo, calculado com base em uma funo exponencial. Caso esse tempo seja inaceitvel, o custo mais elevado e calculado com base em uma funo linear para diferenciar o nvel de inviabilidade. O motivo de se utilizar uma funo exponencial est no fato de que ela estabelece uma variao suave do custo da espera no terminal (ou viagem morta) quando a durao pequena e mais acentuada quando essa durao maior. Assim, a tempos de terminal (ou viagem

25

morta) tolerveis esto associados custos mais prximos e para tempos quase intolerveis, os custos so elevados. Uma vez que a existncia de sobreposio em uma soluo para o PPV uma inviabilidade, no se aplica para o clculo de seu custo a mesma metodologia que a adotada anteriormente para penalizar o tempo de terminal e a viagem morta. Assim, o custo CSij obtido de forma simples penalizando cada minuto de sobreposio pelo valor TS , conforme equao (7):
CS ij = - (t ij ) TS

(7)

Note que, uma vez que o valor tij sempre negativo quando h sobreposio entre as viagens i e j, necessrio multiplic-lo por (-1) para que um custo positivo seja associado a esta sobreposio.

5.3.2

Avaliao da programao de tripulaes

A funo de avaliao considerada para a componente sT relativa a programao das tripulaes baseada em penalizaes de requisitos essenciais e no essenciais. Como as restries devem ser satisfeitas sob pena de a soluo do PPT no ter aplicabilidade, os pesos dados aos requisitos essenciais so bem mais elevados que aqueles atribudos aos requisitos no-essenciais. A avaliao de uma soluo para os tripulantes considera: tempo de sobreposio de tarefas, tempo de excesso de trabalho, tempo insuficiente entre jornadas, nmero de trocas de veculos, nmero de trocas de linhas, nmero de trocas de pontos, tempo ocioso, tempo de hora extra, excesso de duplas pegadas e nmero de tripulantes. Uma soluo sT do PPT avaliada com base na seguinte funo fT(s), baseada em Marinho et al. (2004): f T ( s ) = ( penalidadeTempoOciosoi + penalidadeHoraExtra i +
iTrip

+ 3 numTrVPerm i + 4 numTrLPerm i + 5 numTrPPerm i + + 1 tempoSobre p i + 2 tempoExcTr abi + 3 tempoInsuf EJorn i + + 4 numTrocaV Pr oib + 5 numTrL Pr oibi + 6 numTrP Pr oibi ) + + 7 excessoDup laPeg + numTripula ntes
onde: (i) (ii) (iii) Trip o conjunto de tripulantes da componente sT. i e i so as penalidades aplicadas aos requisitos no essenciais e essncias respectivamente. penalidadeTempoOciosoi a penalidade referente quantidade total de ociosidade, em minutos, na jornada i e 1 a penalizao desse quesito. O valor 1 deve ser escolhido de tal forma que ele seja maior que o valor penalidadeTempoOciosoi caso o tempoOciosoi seja igual a 120 minutos (duas horas). O valor dessa penalidade dado pela expresso 9, onde tempoOcioso representa a quantidade de tempo, em minutos, em que uma jornada i ociosa.
(8)

26

1 , se tempoOciosoi f 120 penalidadeTempoOciosoi = 0.347 tempoOciosoi 0.8 , cc

(9)

(iv)

penalidadeHoraExtrai a penalidade referente quantidade total de horas extras, em minutos, na jornada i e 2 a penalizao desse quesito. O valor 2 deve ser escolhido de tal forma que ele seja maior que o valor penalidadeHoraExtrai caso o tempoExtrai seja igual a 120 minutos (duas horas). O valor dessa penalidade dado pela expresso 10. 2 , se tempoExtra i f 120
penalidadeHoraExtra i = 1.357 tempoExtra i 0.6 , cc

(10)

numTrVeiculosPermi o nmero de vezes em que ocorreu troca de veculos permitida durante a jornada i e 3 a penalizao para esse quesito. Uma troca de veculos permitida quando h tempo para se efetuar a troca. (vi) numTrLPermi o nmero de vezes em que ocorreu troca de linhas permitida durante a jornada i e 4 a penalizao correspondente. Uma troca de linha permitida se as linhas pertencerem a um mesmo grupo. A definio dos grupos das linhas feita pela empresa de transporte. (vii) numTrPPermi o nmero de vezes em que ocorreu troca de pontos permitida durante a jornada i e 5 a penalizao desse quesito. Uma troca de ponto de nibus permitida (1) se os pontos envolvidos na troca pertencerem ao mesmo grupo de pontos; (2) caso contrrio, se as tarefas pertencerem ao mesmo veculo; (3) caso contrrio, apenas se houver dupla pegada entre as duas tarefas. Uma troca de ponto proibida caso no satisfaa nenhum dos trs quesitos anteriores. (viii) tempoSobrepi a quantidade de tempo, em minutos, em que duas tarefas so realizadas simultaneamente na jornada i e 1 a penalizao para esse quesito. (ix) tempoExcTrabi a quantidade de tempo excedente, em minutos, na jornada i e 2 a penalizao correspondente. O tempo excedente em uma jornada dado por seu tempo de trabalho menos o tempo de mxima durao de uma jornada, que dado pelo tempo limite de trabalho segundo a classificao da jornada, simples ou pegada dupla, mais o tempo mximo de hora extra, que, neste caso de duas horas (120 minutos). A expresso 11 apresenta o clculo desse valor.
max(0, tempoTrab i (tempoLimJo rnSimples + 120)), se i for Jornada Simples tempoExcTr abi = max(0, tempoTrab i (tempoLimJo rnDupla + 120 )), se i for Jornada Dupla

(v)

(11)

(x)

(xi)

tempoTrabi a quantidade de tempo de trabalho, em minutos, da jornada i. Esse valor dado pelo horrio final da ltima tarefa, da jornada em questo, menos o horrio de incio da primeira, menos a durao do intervalo de dupla pegada se a jornada for classificada como de pegada dupla. tempoInsufEJorni a quantidade de tempo, em minutos, que falta para que a diferena entre o horrio final da jornada i em um dia e o horrio inicial no dia subseqente atinja o tempo mnimo entre jornadas de 11 (onze) horas. 3 a penalizao correspondente.

27

(xii)

numTrVProibi o nmero de vezes em que ocorreu troca de veculos proibida durante a jornada i e 4 a penalizao para esse quesito. Uma troca de veculos proibida quando no h tempo para se efetuar a troca. (xiii) numTrLProibi o nmero de vezes em que ocorreu troca de linhas proibida durante a jornada i e 5 a penalizao desse quesito. Uma troca de linha proibida se as linhas envolvidas pertencerem a grupos diferentes. (xiv) numTrPProibi o nmero de vezes em que ocorreu troca de pontos proibida durante a jornada i e 6 a penalizao desse quesito. (xv) excessoDuplaPeg a quantidade de jornadas classificadas como de dupla pegada que supera um certo nmero previamente definido pela empresa. 7 a penalizao correspondente. (xvi) numTripulantes o nmero de tripulantes escalados para executar o conjunto de tarefas. a penalizao correspondente.

5.4 Avaliao de uma soluo - 2 Abordagem


Na programao dos veculos, e isso no diferente na programao das tripulaes, existem requisitos operacionais que preciso ser satisfeitos e requisitos de qualidade os quais devem ser minimizados. Esses requisitos podem ser diferentes de acordo com o caso estudado. As sees 5.4.1 e 5.4.2 apresentam quais os requisitos considerados neste trabalho e como esses requisitos so computados. Ns acreditamos que os requisitos considerados nessa abordagem podem ser aplicados em todos os casos prticos. O custo de uma soluo para o PPVT calculado de acordo com a frmula (1), a qual deve ser minimizada. Nesta formula, fv(s) representa a componente f que avalia a soluo s com respeito programao dos veculos e ft(s) avalia a soluo s com respeito a programao das tripulaes. Observa-se que tal funo , ao contrrio da anterior, baseada em custos, tal como em Reis (2007). f(s) = fv(s) + ft(s) 5.4.1 (1)

Avaliao dos veculos Quanto menor o numero de veculos necessrios para que a empresa faa todas as viagens de sua responsabilidade, melhor a soluo. Outro ponto , quanto menor o tempo em que um veculo est ocioso (tempo ocioso) e quanto menor o tempo em que um veculo efetua viagens as quais no pertencem ao conjunto de viagens de sua responsabilidade (tempo de viagem morta), melhor a soluo. Assim, nesta abordagem ns tentamos minimizar os seguintes itens referentes programao de veculos: Nmero de veculos Tempo ocioso Tempo de viagem morta

Existe uma restrio obvia sobre a programao de veculos: impossvel que um veculo efetue mais que uma viagem ao mesmo tempo. Como a representao da soluo permite que isso ocorra, necessrio especificar esta restrio. Nesta abordagem ns consideramos tambm uma restrio especfica para as empresas de transporte pblico consideradas, uma soluo no vlida se mais que 60% do nmero de veculos voltam garagem durante, digo nem no incio nem no final, sua jornada de trabalho (pegada dupla). Assim, uma programao de veculos factvel se: 28

No h conflitos de viagens na programao dos veculos O nmero de pegadas duplas menor que 60% do nmero de veculos

O custo da programao de veculos dado pela seguinte frmula:

f v (s) = f ( sv ) =

iQv

q
i

v i

( s v ) + i oiv ( s v )
iOv

(2)

Nesta formula: Qv e Ov so requisitos de qualidade e operacionais da programao de veculos, respectivamente; e so penalidades aplicadas aos requisitos de qualidade e operacionais da soluo sv, respectivamente; e qiv e oiv so valores do i-simo requisito de qualidade e operacional, respectivamente. Avaliao das tripulaes As minimal is the number of crews that are necessary for the enterprises to make the set of trips, better is the solution. Another point is, as minimal is the time that a crew is idle and as minimal is the time that a crew is in overtime payment, better is the solution too. The overtime of a duty is given by the time that supers seven hours of work, i.e., the duration of a crew duty that has one hour of overtime payment is eight hours. Thus, in this work, we try to minimize the follow items about the crew schedule: Quanto menor o numero de tripulaes necessrias para que a empresa faa todas as viagens de sua responsabilidade, melhor a soluo. Outro ponto , quanto menor o tempo em que uma tripulao est em hora extra (tempo de hora extra), melhor a soluo tambm. O tempo de hora extra de uma tripulao dado pelo tempo que supera 7 (sete) horas de trabalho, isto , a durao da jornada de uma tripulao que possui uma hora extra oito horas. Assim, nesta abordagem ns tentamos minimizar os seguintes itens referentes programao das tripulaes: Nmero de tripulaes Tempo de hora extra Tempo ocioso 5.4.2

Assim como na programao dos veculos, na programao das tripulaes, h uma restrio bvia: impossvel que uma tripulao efetue mais que uma tarefa ao mesmo tempo. Alm disso, por aspectos legais, no Brasil, uma empresa que possui alguma tripulao trabalhando mais que nove por dia ou no possui no mnimo onze horas entre o final de uma jornada de trabalho e o incio da prxima jornada ilegal e est sujeito a multa. Nesta abordagem tambm foi considerada uma restrio especfica para as empresas de transporte pblico em questo, uma soluo no pode ser aplicada se mais que 25% das tripulaes voltam para a garagem durante suas jornadas. Assim, uma programao de tripulaes factvel se: No h conflitos entre as tarefas da programao das tripulaes No h tripulaes trabalhando mais que 9 horas por dia Nenhuma tripulao possui menos que 11 horas de descanso entre o fim de uma jornada de trabalho e o incio da prxima O nmero de pegadas duplas for menor que 25% do nmero de tripulaes

29

O custo da programao das tripulaes dado pela frmula:

f t ( s ) = f ( st ) = i qit ( s t ) + i oit ( st )
iQt iOt

(3)

Nesta formula: Qt e Ot so requisitos de qualidade e operacionais da programao de tripulaes, respectivamente; e so penalidades aplicadas aos requisitos de qualidade e operacionais da soluo st, respectivamente; e qit e oit so valores do i-simo requisito de qualidade e operacional, respectivamente. 5.4.3 Definindo os pesos da avaliao

O objetivo da funo de avaliao avaliar a qualidade de uma soluo. Como visto em sees anteriores, esta funo considera requisitos que devem ser minimizados. fato que alguns desses requisitos so relativamente mais importantes que outros. Para contemplar fielmente a importncia relativa desses requisitos, os pesos apresentados nessa abordagem so baseados em custos reais descritos em Reis (2007). A Tabela 5.1 apresenta os dados utilizados no clculo dos pesos da funo de avaliao. Tabela 5.1 Dados usados no calculo dos pesos 2 Abordagem
Descrio Pagamento do motorista (ms) Pagamento do auxiliar Pagamento da tripulao Pagamento + taxas (38%) Dias trabalhos por ms Tempo de trabalho durante um dia Pagamento do minuto de trabalho Pagamento de um minuto de hora extra Pagamento de um dia de trabalho Custo fixo do veculo Dias trabalhados dos veculos Custo dirio de um veculo Velocidade mdia (km/h) Custo por quilometro Custo de um minuto de viagem morta Custo varivel por quilometro Custo pelo minuto ocioso do veculo Valor R$ 1.000,99 R$ 600,59 R$ 1.601,58 R$ 2.210,18 24 430 R$ 0,21 R$ 0,32 R$ 92,09 R$ 13.415,58 30 R$ 447,19 20 R$ 2,64 R$ 0,88 R$ 0,78 R$ 0,26

A Tabela 5.2 apresenta os pesos utilizados, nessa abordagem, para a avaliao de uma soluo do PPVT. Note que, os pesos de qualidade so baseados nos custos reais apresentados na Tabela 5.1, j os custos operacionais so empricos e seus valores so maiores que os de qualidade. A ltima coluna desta tabela nos fornece um exemplo das caractersticas de uma soluo exemplo. O custo dessa soluo exemplo, de acordo com a esta abordagem, 4450,84.

30

Tabela 5.2 Pesos da funo de avaliao 2 Abordagem


Tipo Qualidade Referente a Requisito Veculos Nmero de veculos Tempo ocioso Tempo de viagem morta Tripulaes Nmero de tripulaes Tempo ocioso Tempo de hora extra Operacional Veculos Tempo de conflito Excesso de pegadas dplas Tripulaes Tempo de conflito Excesso de pegadas dplas Tempo insuficiente entre jornadas Excesso de tempo de trabalho Peso Exemplo de s 447,19 5 0,26 1700 0,88 161 92,09 11 0,21 1702 0,32 815 4000 0 1000 0 4000 0 1000 0 4000 0 4000 0

5.5 Gerao de uma soluo inicial para o PPV


A gerao de uma soluo inicial para o PPVT feita de forma seqencial. Constrise uma soluo para os veculos e, posteriormente, constri-se uma soluo para as tripulaes. 5.5.1 Mtodo Guloso aplicado gerao de uma soluo inicial para o PPV

Uma soluo inicial para o PPV gerada por um procedimento construtivo guloso. Esse procedimento consiste na alocao a cada passo de uma nova viagem de responsabilidade da empresa na lista de viagens de algum veculo de sua frota, de tal forma que esta combinao seja a que implique no menor custo de operao possvel determinado pela aplicao da funo de avaliao descrita na seo 5.3. O pseudocdigo do mtodo guloso considerado descrito a seguir na Figura 5.4.

31

Algoritmo SIG_V Entrada: f(.), X, F Seja X o conjunto de viagens a serem realizadas Seja F uma frota de veculos, ainda sem viagens a executar Seja sV uma soluo para os veculos sV F Para cada viagem x X faa melhorDelta Para cada veculo k sV faa custoAnterior custo do veculo k antes de receber a viagem x Aloque a viagem x no veculo k custoPosterior custo do veculo k aps inserir a viagem x Remova a viagem x do veculo k = custoPosterior custoAnterior Se ( < melhorDelta ) ento melhorVeculo k melhorDelta fim se fim para Aloque a viagem x ao veculo indicado por melhorVeculo fo fo + melhorDelta , ou seja, atualize o valor da funo de avaliao fim para Retorne sV Figura 5.2 Mtodo Gerador de Soluo Inicial para os Veculos Para exemplificar como construir uma soluo para o PPV pelo procedimento proposto, suponha que a empresa que deve executar as viagens da Tabela 4.1 possua dois veculos disponveis. A seguinte seqncia de passos mostra o funcionamento do procedimento. Passo 0: Constri-se uma lista com o nmero de veculos da empresa. A seguir, aloca-se a primeira viagem da lista de viagens, ordenada por horrio de incio, ao veculo que gera o menor custo. Nesse caso, a Viagem 0 alocada ao Veculo 0.
Veculo 0 Veculo 1 0

0 min

360 min

720 min

1080 min

1440 min

Figura 5.3 Exemplo da gerao de uma soluo inicial para os veculos: Passo 0 Passo 1: Aloca-se a segunda viagem ao veculo que gera o menor custo de alocao. Nesse caso, a Viagem 1 alocada ao Veiculo 1, pois a alocao dessa viagem ao Veculo 0 geraria uma sobreposio da Viagem 0 com a Viagem 1, gerando um custo de alocao muito elevado de acordo com a funo de avaliao fT descrita na seo 5.3.

32

Veculo 0 Veculo 1 1

0 min

360 min

720 min

1080 min

1440 min

Figura 5.4 Exemplo da gerao de uma soluo inicial para os veculos: Passo 1 Passo 2: Aloca-se a terceira viagem da lista ao veculo que gera o menor custo de alocao. No caso, a Viagem 2 alocada ao Veculo 0, pois se ela fosse alocada ao Veculo 1 o tempo ocioso seria maior.
Veculo 0 Veculo 1 1 0 2

0 min

360 min

720 min

1080 min

1440 min

Figura 5.5 Exemplo da gerao de uma soluo inicial para os veculos: Passo 2 Passo 3: Aloca-se a prxima viagem da lista no veculo que gera o menor custo de alocao. Nesse caso, a Viagem 3 alocada ao Veculo 1. Essa viagem no poderia ser alocada ao Veculo 0 pois, neste caso, haveria sobreposio com a Viagem 2.
Veculo 0 Veculo 1 1 0 2 3
360 min 720 min 1080 min 1440 min

0 min

Figura 5.6 Exemplo da gerao de uma soluo inicial para os veculos: Passo 3 Passo 4: Aloca-se a prxima viagem da lista no veculo que gera o menor custo de alocao. Neste caso, a Viagem 4 alocada ao Veculo 1, uma vez que tal alocao resulta em menor tempo de ociosidade.
Veculo 0 Veculo 1 1 0 2 3
360 min

0 min

720 min

1080 min

1440 min

Figura 5.7 Exemplo da gerao de uma soluo inicial para os veculos: Passo 4 Passo 5: Aloca-se a prxima viagem da lista ao veculo que gera o menor custo de alocao. Nesse caso, considerando que haveria sobreposio de viagens com a alocao da Viagem 5 ao Veculo 1, a Viagem 5 alocada ao Veculo 0.

33

Veculo 0 Veculo 1 1

2 3
360 min

5 4

0 min

720 min

1080 min

1440 min

Figura 5.8 Exemplo da gerao de uma soluo inicial para os veculos: Passo 5 Passo 6: Aloca-se a prxima viagem da lista no veculo que gera o menor custo de alocao. Nesse caso, a Viagem 6 alocada ao Veculo 0.
Veculo 0 Veculo 1 1 0 2 3
360 min

5 4

0 min

720 min

1080 min

1440 min

Figura 5.9 Exemplo da gerao de uma soluo inicial para os veculos: Passo 6 Passo 7: Aloca-se a prxima viagem da lista no veculo que gera o menor custo de alocao. Nesse caso, a Viagem 7 alocada ao Veculo 1.
Veculo 0 Veculo 1 1 0 2 3
360 min

5 4

6 7

0 min

720 min

1080 min

1440 min

Figura 5.10 Exemplo da gerao de uma soluo inicial para os veculos: Passo 7

Passo 8: Aloca-se a prxima viagem da lista no veculo que gera o menor custo de alocao. Nesse caso, a Viagem 8 alocada ao Veculo 1.
Veculo 0 Veculo 1 1 0 2 3
360 min

5 4

6 7 8

0 min

720 min

1080 min

1440 min

Figura 5.11 Exemplo da gerao de uma soluo inicial para os veculos: Passo 8 Passo 9: Aloca-se a prxima viagem da lista no veculo que gera o menor custo de alocao. Nesse caso, a Viagem 9 alocada ao Veculo 0. Como no h mais viagens a serem alocadas, encerra-se o procedimento de construo da soluo inicial para os veculos.

34

Veculo 0 Veculo 1 1

2 3
360 min

5 4

6 7 8

0 min

720 min

1080 min

1440 min

Figura 5.12 Exemplo da gerao de uma soluo inicial para os veculos: Passo 9

5.5.2

Mtodo Guloso aplicado gerao de uma soluo inicial para o PPT

Nesta forma de construo, considera-se uma lista de tarefas Ti (i = 0, 1, 2, 3, ...), ordenadas pela hora de incio, e uma lista de jornadas, onde em cada passo, h sempre uma jornada sem nenhuma tarefa. O mtodo comea com a alocao da tarefa T0 primeira jornada. A seguir, para cada tarefa Ti (i = 1, 2, 3, ...) da lista de tarefas, calcula-se o custo da alocao de Ti em cada uma das jornadas j com alguma tarefa alocada e mais uma jornada sem nenhuma tarefa. O custo da alocao calculado tendo em vista a expresso (8) da seo 5.3.2. A seguir, aloca-se a tarefa Ti jornada que gerou o menor custo. O pseudocdigo do mtodo guloso considerado descrito a seguir na Figura 5.5. Algoritmo SIG_T Entrada: f(.), T Seja T o conjunto de tarefas a serem executadas Seja sT uma soluo para as tripulaes sT Adicione uma jornada a sT para cada t T faa melhorDelta para cada jornada j sT faa custoAnterior custo da jornada j antes de receber a tarefa t Aloque a tarefa t na jornada j custoPosterior custo da jornada j aps inserir a tarefa t Remova a tarefa t da jornada j = custoPosterior custoAnterior Se ( < melhorDelta ) ento melhorJornada j melhorDelta fim se fim para se melhorJornada no possuir nenhuma tarefa Adicione uma nova jornada sT Aloque a tarefa t na jornada indicada por melhorJornada fo fo + melhorDelta , ou seja, atualize o valor da funo de avaliao fim para Remova de sV a jornada que no possui nenhuma tarefa Retorne sV Figura 5.13 Mtodo Gerador de Soluo Inicial para as Tripulaes 35

Estabelecida a programao dos veculos, gerado um conjunto de tarefas a serem executadas pelos tripulantes da empresa. Cada tarefa um conjunto de viagens reunidas de maneira que haja apenas duas oportunidades de troca: uma no incio e outra no final da tarefa. Assim, durante sua realizao no possvel a troca de tripulao. A Figura 5.16 ilustra a lista de tarefas geradas a partir da programao dos Veculos da Figura 5.14.
Tarefa 0 Tarefa 1 Tarefa 2 Tarefa 3 Tarefa 4 Tarefa 5
0 min 360 min 720 min

0 1 1

4 5

2 6 7 3 8 4 9 5
1080 min 1440 min

Figura 5.14 Tarefas geradas pela programao dos veculos da Figura 5.14 Passo 0: Cria-se uma lista com apenas uma jornada, inicialmente sem nenhuma tarefa. Passo 1: Aloca-se a primeira tarefa da lista de tarefas na nica jornada da lista. Posteriormente, adiciona-se uma nova jornada na lista de jornadas. Nesse caso, a Tarefa 0 adicionada Jornada 0. Como deve-se sempre avaliar o caso de uma tarefa ser atribuda a uma jornada sem tarefas, a Jornada 1 adicionada lista de Jornadas.
Jornada 0 Jornada 1
0 min 360 min 720 min 1080 min 1440 min

Figura 5.15 Exemplo da gerao de uma soluo inicial para as tripulaes: Passo 1 Passo 2: Aloca-se a prxima tarefa da lista de tarefas na jornada que gera menor custo. Nesse caso, a Tarefa 1 alocada Jornada 1. Como no h jornadas vazias, o procedimento cria uma nova jornada, a Jornada 2, que adicionada lista de Jornadas.
Jornada 0 Jornada 1 Jornada 2
0 min 360 min 720 min 1080 min 1440 min

0 1 1

Figura 5.16 Exemplo da gerao de uma soluo inicial para as tripulaes: Passo 2

36

Passo 3: Aloca-se a prxima tarefa da lista de tarefas na jornada que gera menor custo. Nesse caso, a Tarefa 2 alocada Jornada 1, porque ela geraria uma sobreposio se fosse alocada Jornada 0 e se fosse alocada Jornada 2 haveria um custo mais elevado por utilizar uma nova jornada.
Jornada 0 Jornada 1 Jornada 2
0 min 360 min 720 min 1080 min 1440 min

0 1 1

0 3 4 2

Figura 5.17 Exemplo da gerao de uma soluo inicial para as tripulaes: Passo 3 Passo 4: Aloca-se a prxima tarefa da lista de tarefas na jornada que gera menor custo. Nesse caso, a Tarefa 3 alocada Jornada 2.
Jornada 0 Jornada 1 Jornada 2 Jornada 3
0 min 360 min 720 min 1080 min 1440 min

0 1 1

0 3 4 5 2 6 3

Figura 5.18 Exemplo da gerao de uma soluo inicial para as tripulaes: Passo 4 Passo 5: Aloca-se a prxima tarefa da lista de tarefas na jornada que gera menor custo. Nesse caso, a Tarefa 4 alocada Jornada 0.
Jornada 0 Jornada 1 Jornada 2 Jornada 3
0 min 360 min 720 min 1080 min 1440 min

0 1 1

0 3 4 5 2

Figura 5.19 Exemplo da gerao de uma soluo inicial para as tripulaes: Passo 5 Passo 6: Aloca-se a ltima tarefa da lista na jornada que gera menor custo. Nesse caso, a Tarefa 5 alocada Jornada 2 e o procedimento construtivo se encerra.
Jornada 0 Jornada 1 Jornada 2
0 min 360 min

0 1 1

0 3 4 5 2

3
720 min

5
1080 min 1440 min

Figura 5.20 Exemplo da gerao de uma soluo inicial para as tripulaes: Passo 6 37

5.6 Metaheursticas aplicadas ao PPVT


Neste trabalho, o refinamento de uma soluo feito pela metaheurstica Iterated Local Search (ILS) com uma fase de refinamento que combina uma tcnica baseada no procedimento Variable Neighborhood Descent (VND) em dois nveis com uma heurstica clssica e a poderosa metaheurstica Busca Tabu com Relaxao Adaptativa. 5.6.1 Iterated Local Search

O algoritmo Iterated Local Search (ILS) uma meta-heurstica que para escapar das armadilhas dos timos locais, efetua perturbaes em uma soluo s. Esse algoritmo se mostra bem sucedido em vrias aplicaes, motivando, assim, sua utilizao na resoluo do PPVT. Este algoritmo baseado na idia de que um procedimento de busca local pode ser melhorado gerando-se novas solues de partida, as quais so obtidas por meio de perturbaes na soluo tima local. Neste trabalho, uma perturbao de um nvel i consiste de efetuar i+2 movimentos na vizinhana NVRP escolhidos aleatoriamente. Desta forma, uma perturbao de nvel 0 consiste em efetuar 2 movimentos nesta estrutura de vizinhana. Para evitar buscas exaustivas na fase de refinamento do ILS, os movimentos feitos em uma perturbao no geram inviabilidade segundo o quesito sobreposio de viagens. O pseudocdigo do ILS aplicado ao PPVT apresentado na Figura 5.22. Em que, Nvelmax o maior nvel de perturbao a ser explorado, ILSmax o nmero de iteraes em que um mesmo nvel de perturbao explorado, Tempomax o tempo limite de processamento do ILS e f(.) uma funo que avalia uma soluo. Basicamente, este mtodo possui duas fases a cada iterao: a primeira a fase de perturbao, e a segunda, a de refinamento. A fase de refinamento do ILS descrita em detalhes na seo 5.6.2.

38

Algoritmo ILS_PPVT
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: Entrada: s, f(.), Nvelmax , ILSmax , Tempomax s VND_2N(s) s* s nvel 0 enquanto nvel < Nivelmax faa iter 0 enquanto iter < ILSmax e tempo < Tempomax faa s Perturbao(s, nvel) s VND_2N(s) se f(s) < f(s*) ento s* s nvel 0 iter 0 seno s s* iter iter + 1 fim se fim enquanto nvel nvel +1 fim enquanto retorne s*

Figura 5.21 Algoritmo ILS com VND_2N aplicado ao PPVT 5.6.2 Variable Neighborhood Descent

Um timo local com relao a uma dada estrutura de vizinhana no corresponde necessariamente a um timo local com relao a uma outra estrutura de vizinhana. Este um dos princpios bsicos do mtodo de descida em vizinhana varivel, Variable Neighborhood Descent (VND). Proposto por Nenad Mladenovic e Pierre Hans, este um mtodo de refinamento que consiste em explorar o espao de solues atravs de trocas sistemticas de estruturas de vizinhana, aceitando somente solues de melhora da soluo corrente e retornando primeira estrutura quando uma soluo melhor encontrada. Neste trabalho, o algoritmo proposto para o refinamento de uma soluo aps a perturbao causada no ILS baseado na tcnica VND. Aqui, o algoritmo, alm de alterar a estrutura de vizinhana, tambm altera o mtodo de refinamento utilizado. Esse algoritmo consiste em uma aplicao em dois nveis, um externo e um interno, da idia VND. A Figura 5.9 uma representao descritiva do algoritmo proposto para o refinamento do ILS. As duas linhas dos passos 1, 2 e 3 do algoritmo em questo constituem o VND interno. No passo 1 aplica-se a uma soluo s0 o mtodo DR2VP utilizando a vizinhana NVRP resultando uma soluo s1. Como DR2VP um mtodo de descida, a soluo s1 ou melhor que a soluo s0 ou a prpria soluo s0. Visto que este um problema de minimizao, uma soluo melhor que outra se o valor de sua funo de avaliao (seo 5.3) inferior ao valor da funo de avaliao da outra soluo. E ento, a soluo s1 atribuda soluo s0. O algoritmo continua com a chamada do mtodo DR2VP usando a estrutura de vizinhana NVTP, gerando a soluo s2. Se o custo da soluo s2 for inferior ao custo de s0, ento se inicia novamente a execuo do passo 1. O primeiro VND interno termina quando os mtodos DR2VP no produzirem melhoras nas solues. A execuo dos passos 2 e 3 semelhante a deste passo: no passo 2 o refinamento de uma soluo feito por meio do mtodo BTRA 39

(Busca Tabu com Relaxao Adaptativa), primeiro utilizando a vizinhana NTR e depois, a vizinhana NTT; e no passo 3, o refinamento feito pelo mtodo DR2VI usando a vizinhana NVRP e depois a NVTP.
Alg. Incio Passo 1 VND_2N Seja s0 uma soluo s1 VDR(s0, VDRmax, NvR, NvRP, fv) s2 VDR(s1, VDRmax, NvT, NvTP, fv) Se s2 melhor que s0, faa s0 = s2 e volte ao incio desse passo s3 BTRA (s2, BTtempo, NTR, ft) s4 BTRA (s3, BTtempo, NTT, ft) Se s4 melhor que s2, faa s2 = s4 e volte ao incio desse passo s5 IRD(s4, IDRmax, NvR, NvRP, f, ) s6 IRD(s5, IDRmax, NvR, NvRP, f, ) Se s6 melhor que s4, faa s4 = s6 e volte ao incio desse passo Se houve alguma melhora no Passo 3, volte ao Passo 2 Retorne s6

Passo 2

Passo 3

Passo 4

Figura 5.22 Algoritmo VND em dois nveis como refinamento do ILS O VND externo consiste em tomar passos como tipos de vizinhana no VND original (seo 3.3.2). A terceira linha do passo 3 verifica se, nesse passo, houve alguma melhora na soluo. Caso haver, o mtodo inicia novamente sua busca a partir da primeira estrutura, aqui a partir do passo 2. O VND externo feito somente utilizando os passos 2 e 3. 5.6.3 Busca Tabu com Relaxao Adaptativa

Para o refinamento de uma soluo PPVT utilizando Busca Tabu com Relaxao Adaptativa adaptou-se o mtodo BTAR-FI-IC proposto por Marinho (2005) para a abordagem do problema integrado. Este mtodo, cujo pseudocdigo apresentado na Figura 5.24, consiste no mtodo Busca Tabu acrescido do mecanismo de intensificao Relaxao Adaptativa. O mecanismo de Relaxao Adaptativa utilizado pelo mtodo BTAR-FI-IC baseado naquele descrito por Schaerf (1996), onde os pesos para cada fonte de inviabilidade so ajustados dinamicamente, como proposto originalmente por Gendreau et al. (1994). Para cada inviabilidade i o peso i multiplicado por um fator i que varia de acordo com o seguinte esquema: No incio da busca i 1. A cada k movimentos: se todas as k solues visitadas so factveis em relao restrio i ento i i / ; se todas as k solues visitadas so infactveis em relao restrio i ento i i ; se algumas solues so factveis e outras so infactveis, considerando a restrio i, ento i permanece inalterado. 40

O parmetro randomicamente selecionado, a cada k movimentos, no intervalo [1,8; 2,2] conforme proposto por Schaerf (1996). Cada valor de i limitado por duas constantes min e max, de forma a evitar que a relaxao adaptativa incremente/decremente indefinidamente os pesos para restries que so sempre insatisfeitas/satisfeitas. Algoritmo Busca Tabu com Relaxao Adaptativa
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: Entrada: s, BTtempo, Nt (NtR ou NtT), ft(.) s* s; { Melhor soluo at ento } ListaTabu ; { Lista Tabu} Iter 0; { Contador do nmero de iteraes } repita Defina um subconjunto V Nt(s); melhorMovimento movimentoRandomico( V ); { Melhor Movimento em V N(s) } melhorCustoDinamico ; { Melhor custo dinmico } para todo ( movimento m V ) faa se ( f( s m ) < f( s* ) ) ento melhorMovimento m; interromper; seno se ( m ListaTabu ) ento se ( f( s m ) < f( s ) ) ento melhorMovimeto m; interromper; seno se ( custoPorPesosDinamicos( s m ) < melhorCustoDinamico ) ento melhorMovimento m; melhorCustoDinamico custoPorPesosDinamicos ( s m ); fim-se fim-se fim-se fim-se fim-para s s melhorMovimento; se ( f( s ) < f( s* ) ) ento s* s; fim-se AtualizarListaTabu(); se IteracaoAtualizacao() ento AtualizarPesosDinamicos(); fim-se at que ( Critrio de parada seja satisfeito ) retorne s*;

Figura 5.23 Algoritmo Busca Tabu com Relaxao Adaptativa aplicado ao PPVT
FONTE: Marinho (2005)

5.6.4

O procedimento Vehicle Random Descent

Para problemas grandes, encontrar o melhor vizinho em cada iterao de um mtodo de descida muito custoso. Nesses casos, normalmente so utilizadas abordagens randmicas. O clssico procedimento Descida Randmica (DR) funciona dessa forma: gerado um ponto aleatrio s em uma dada vizinhana. Se s for melhor que a soluo atual, ento s atualizada (s s) e a busca continua de s. Se no houver melhora em RDmax iteraes, ento a busca finalizada. Note que o procedimento pode no retornar um timo local. 41

Quando se trata de problemas integrados, encontrar o melhor vizinho a cada iterao uma operao ainda mais custosa. Isto se deve ao fato de que, nas vizinhanas integradas consideradas (NvRP e NvTP), cada modificao nos veculos tem reflexo na programao das tripulaes. Para reduzir o nmero de propagaes dessas modificaes na programao das tripulaes, prope-se o procedimento Vehicle Random Descent (VRD), descrito na Figura 5.24. O princpio de funcionamento desse algoritmo bem simples e lembra bastante o clssico Descida Randmica. A principal diferena que nesse procedimento, apenas as modificaes feitas nos veculos (realocao ou troca) que melhoram a funo de avaliao fv so propagadas na programao das tripulaes. Na Figura 5.25, s uma soluo formada pelo par de solues sv e st, VRDmax o nmero mximo de iteraes sem melhora, Nv uma estrutura de vizinhana (realocao ou troca) especifica para os veculos, m o movimento realizado na estrutura considerada, NvP a estrutura de vizinhana (realocao ou troca) com a propagao segundo a modificao m e fv a funo de avaliao que avalia a parte sv da soluo s. Observa-se que a soluo final desse algoritmo pode, no necessariamente, ser melhor que a soluo inicial em relao funo integrada f uma vez que s usada a funo de avaliao de veculos fv. Algoritmo VRD
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: Entrada: s, VRDmax, Nv(.), NvP(.), fv(.) Sada: Soluo s* melhor ou igual soluo s de acordo com a funo fv iter 0 enquanto iter < VRDmax faa m movimentoAleatorio(s, Nv) s vizinho(s, m) se s for melhor que s de acordo com fv faa s vizinho(s, NvP, m) iter 0 fim se iter iter +1 fim enquanto s* s retorne s*

Figura 5.24 Procedimento Vehicle Random Descent 5.6.5 O procedimento Integrated Vehicle and Crew Random Descent Procedure

Esta estratgia semelhante apresentada na seo anterior. H duas diferenas bsicas. A primeira que so candidatos apenas os movimentos que produzirem solues, com respeito aos veculos, melhores que fv ou priores que fv em at ( - 1)100%. A segunda, que se considera o custo tanto de sv quanto de st, o que no acontece no Vehicle Random Descent que, quando aplicado resoluo do PPVT, considera apenas o custo de sv. O objetivo desse algoritmo refinar uma soluo s usando movimentos integrados sem onerar demasiadamente o processamento, como aconteceria se o refinamento fosse feito pelo algoritmo clssico descida randmica usando unicamente movimentos integrados. A Figura 5.26 apresenta o Integrated Vehicle and Crew Random Descent Procedure (IRD). Nesta figura, s uma soluo formada pelo par de solues sv e st compatveis entre si, IRDmax o nmero de iteraes sem melhora em f, m um movimento realizado nos veculos de acordo com a vizinhana Nv (realocao ou troca), NvP a estrutura de vizinhana 42

(realocao ou troca) com propagao segundo a modificao m, fv a funo que avalia sv e ( 1) um valor usado para determinar o quanto uma soluo dos veculos pode piorar para que valha a pena efetuar a parte mais custosa do refinamento, a construo e a propagao do movimento integrado. Assim, esse valor determina se um momento propcio para testar o movimento com propagao. = 1,01 implica que se um movimento gerar uma soluo sv de custo maior que 101% do custo de sv, o mtodo no testa o movimento de propagao; caso contrrio, o teste realizado e, se a soluo s resultante do movimento de propagao for melhor que a soluo s, ento a soluo s atualizada, s s. Testes realizados mostraram que, para as instancias analisadas, 1,01 um bom valor para e este o valor utilizado neste trabalho. Algoritmo IRD
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: Entrada: s, IRDmax, Nv(.), NvP(.), f(.), Real Sada: Soluo s* melhor ou igual soluo s de acordo com a funo f iter 0 enquanto iter < IRDmax faa m movimentoAleatorio(s, Nv) s vizinho(s, m) se fv(s) fv(s) faa s vizinho(s, NvP, m) se s for melhor que s de acordo com f faa s s iter 0 fim se fim se iter iter +1 fim enquanto s* s retorne s*

Figura 5.25 Procedimento Integrated Vehicle and Crew Random Descent

43

6 Resultados
Apresentam-se, nesse captulo, os resultados obtidos aplicando-se a heurstica ILS com VND em dois nveis utilizando Busca Tabu com Relaxao Adaptativa, denotada por ILS-VND-BTRA, conforme descrito na seo 5.6. O algoritmo descrito foi implementado na linguagem C++ usando o compilador Borland C++ Builder 6.0 e testado em um microcomputador com processador Intel Pentium, 3.00 GHz, com 1 GB de memria RAM, sob sistema operacional Windows XP Professional Service Pack 2. Para validar as abordagens foram disponibilizadas pela empresa responsvel pelo gerenciamento do Sistema de Transporte Pblico da cidade de Belo Horizonte, instncias reais pertencentes a uma Bacia de Linhas de tal cidade. A seo 6.1 apresenta os resultados obtidos utilizando a primeira abordagem da funo de avaliao, enquanto na seo 6.2 apresentam-se os resultados obtidos considerando a segunda abordagem da funo de avaliao.

6.1 Resultados 1 Abordagem


Nas tabelas 6.1 e 6.2 so apresentados os valores dos parmetros utilizados para o clculo da funo de avaliao apresentada na seo 5.3, a qual baseada em pesos empricos. Na Tabela 6.2 os valores TempDesloc_Lim e TempTerm_Lim so vinculados a cada instncia e representam os maiores tempos de viagem morta e terminal, nessa ordem, em minutos, encontrados na soluo gerada pela empresa.

44

Tabela 6.1 Parmetros utilizados na funo de avaliao do PPVT


Parmetro Valor 119 minutos 2 ln (16) / ln (1 x TempDesloc_Lim ) 1 ln (16) / ln (2 x TempTerm_Lim ) 50 40 80 80 5 0 18 40 19 5 5 40 40 40 45 35 35 45 100

MaxTimeTerm 1 1 2 2 TD TT TS EDP TL NV 1 2 3 4 5 1 2 3 4 5 6 7

Tabela 6.2 Instncias e seus respectivos tempos limites relativos ao PPV


Instncias G02_DOM G02_SEG G02_SEX G02_SAB G27_DOM G27_SEG G27_SEX G27_SAB TempDesloc_Lim 18 18 18 18 23 23 23 23 TempTerm_Lim 73 118 113 62 110 47 42 57

No clculo de 1 e 2 da Tabela 6.1, o valor 16 corresponde penalidade mxima atribuda a uma viagem morta ou tempo de espera no terminal que obedece ao limite estabelecido por TempDesloc_Lim ou TempTerm_Lim de acordo com o que se esteja penalizando. Ou seja, trata-se do valor mximo da funo exponencial utilizada no calculo da funo de avaliao. Para as empresas em questo, considerou-se o nmero de duplas pegadas na programao dos veculos inferior a 60% do tamanho da frota; enquanto que na programao dos tripulantes esse nmero foi considerado inferior a 1,25 tamanho da frota de veculos. 45

Esta ltima considerao uma estimativa para o nmero de tripulantes, que corresponde a 2,5 tripulantes para cada veculo. Os parmetros utilizados no mtodo ILS-VND-BTRA, utilizado para a abordagem integrada, foram, na chamada do mtodo ILS, Tempomax = 30 minutos, Nivelmax = 5 e ILSmax = 50; Itermax = total de viagens tamanho mximo da frota de veculos nas chamadas dos mtodos DR2VP e DR2VI. O valor da constante , parmetro do mtodo DR2VI, fixado em 1,2. Os pesos e relativos programao dos veculos e das tripulaes como descrito na seo 5.3, so fixados em 1,0 e 2,5, respectivamente. Para os mtodos destinados a resolver os problemas de programao de veculos e tripulaes de forma seqencial o tempo de processamento foi limitado a 15 minutos para cada fase, isto , 15 minutos para a resoluo do PPV pelo mtodo ILS proposto em Simes et al. (2006) e 15 minutos para a resoluo do PPT pelo mtodo baseado em Busca Tabu, proposto em Marinho et al. 2004. A Tabela 6.3 mostra uma comparao entre os resultados produzidos pelas metodologias, seqencial e integrada, em termos da funo de avaliao apresentada na seo 5.3. Foram analisadas duas das empresas que operam na Bacia contemplada, considerando os quatro dias da semana que apresentam quadros de horrios distintos: segunda-feira, sextafeira, sbado e domingo. Nesta tabela, considera-se que FO o custo da programao realizada pela empresa e Melhor FO, Mdia FO, Desvio, PM e PMM so, respectivamente, o menor custo encontrado pelo mtodo considerado, a mdia dos custos em 10 execues, o percentual de desvio calculado conforme frmula a seguir.
MediaFO MelhorFO MelhorFO

desvio =

(12)

Tabela 6.3 Comparao de resultados (Seqencial x Integrada)


Instancia G02_DOM G02_SEG G02_SEX G02_SAB G27_DOM G27_SEG G27_SEX G27_SAB Algoritmo Sequencial Melhor FO Mdia FO Desvio 7036 7160,35 6,47% 22507,5 22828,55 8,26% 23045,5 23354,1 7,50% 12938,5 13260,5 8,51% 3497,5 3550,75 4,51% 8299 8463,25 7,30% 8429,5 8486,25 7,59% 5193,5 5346,65 5,73% Algoritmo Integrado Melhor FO Mdia FO Desvio 6725,5 6841,5 1,72% 21087,5 21297,7 1,00% 21724,5 21910,1 0,85% 12220 12468,05 2,03% 3397,5 3442,3 1,32% 7887,5 7992,55 1,33% 7887,5 8015,55 1,62% 5057 5176,35 2,36%

Pelos resultados exibidos na Tabela 6.3, verifica-se que, quanto aos desvios, a metodologia integrada proposta apresenta-se superior metodologia seqencial em todos os problemas teste. Assim, em todos os dias analisados, o mtodo proposto foi capaz de gerar, em mdia, solues melhores que a da metodologia seqencial, sob o ponto de vista da funo de avaliao. Nos domingos da G02, a metodologia integrada mostrou-se melhor por apresentar um desvio de 1,72%, muito inferior ao desvio de 6,47% da metodologia seqencial. Nas segundas-feiras da mesma empresa, a metodologia integrada mostrou-se melhor por apresentar um desvio de 1,00%, inferior ao desvio de 8,26% da metodologia seqencial. Nas 46

sextas-feiras da G02, a metodologia integrada mostrou-se melhor por apresentar um desvio de 0,85%, inferior ao desvio de 7,50% da metodologia seqencial. E, nos sbados da G02, a metodologia integrada mostrou-se melhor por apresentar um desvio de 2,03%, inferior ao desvio de 8,51% da metodologia seqencial. Para a empresa G27 o mtodo integrado tambm obteve melhoras significativas quanto ao seqencial. O mtodo integrado proposto foi capaz de gerar solues melhores em todos os oito problemas teste (domingos, segundas, sextas e sbados das empresas G02 e G27). Alm disso, ao se analisar os valores de desvio apresentados na Tabela 6.3 para a integrao observa-se que eles so baixos. Este um ponto importante, uma vez que no h grandes discrepncias entre os custos encontrados para uma mesma instncia. As tabelas 6.4 e 6.5 mostram, detalhadamente, as caractersticas das melhores solues geradas pelas metodologias utilizadas nos quatro dias da semana da empresa G02 e da empresa G27, respectivamente, em relao ao total de viagens a serem realizadas NVIAG, nmero de veculos utilizados NVEIC, tempo de espera no terminal TE, tempo de viagem morta TVM, nmero de duplas pegadas dos veculos NDP(v) e dos tripulantes NDP(t), nmero de tripulantes NTRIP, tempo ocioso TO, tempo de hora extra THE, nmero de trocas de linha NTL, nmero de trocas de ponto NTP, nmero de trocas de veculos NTV funo objetivo de veculos f(v), funo objetivo de tripulaes f(t), funo objetivo de veculos e tripulaes f(v,t). Os nmeros em negrito apontados nessas tabelas mostram melhoras da metodologia integrada em relao metodologia seqencial. Assim, por exemplo, nos domingos da empresa G02, h uma reduo de 2h29min no tempo de espera em terminal (de 16h13min para 13h44min), uma reduo de 2 tripulantes (de 21 para 19), 4h6min no tempo de ociosidade das tripulaes (de 15h13min para 11h07min) e uma reduo de 4 trocas de veculos (de 6 para 2). importante observar que na funo de avaliao dos veculos no penalizado o nmero de veculos. Tabela 6.4 Caractersticas das melhores solues das metodologias seqencial e integrada para a empresa G02
Empresa G02 NVIAG NVEIC TE TVM NDP(v) NDP(t) NTRIP TO THE NTL NTP NTV f(v) f(t) f(v,t) DOM 90 11 16:13 8:24 3 12 21 15:13 5:04 1 2 6 841 2478 7036 Algoritmo Sequencial SEG SEX SAB 260 260 172 40 40 23 22:26 5:56 21:02 12:50 12:14 16:48 21 20 5 50 50 16 62 63 37 15:04 9:23 15:44 6:44 7:34 20:08 5 7 1 18 19 9 62 66 11 2510 2553 1491 7999 8197 4579 22507.5 23045.5 12938.5 DOM 90 11 13:44 9:50 5 7 19 11:07 14:58 4 3 2 893 2333 6725.5 Algoritmo Integrado SEG SEX SAB 260 260 172 40 39 23 8:12 22:14 21:02 15:06 14:58 18:36 24 24 8 49 43 20 62 63 34 7:52 6:28 15:12 8:28 12:31 19:44 4 6 2 11 8 10 34 34 15 2740 2887 1585 7339 7535 4254 21087.5 21724.5 12220

47

Tabela 6.5 Caractersticas das melhores solues das metodologias seqencial e integrada para a empresa G27
Empresa G27 NVIAG NVEIC TE TVM NDP(v) NDP(t) NTRIP TO THE NTL NTP NTV f(v) f(t) f(v,t) DOM 52 5 12:57 3:50 0 6 10 6:30 6:53 0 0 4 370 1251 3497.5 Algoritmo Sequencial SEG SEX 98 98 14 13 10:25 8:45 16:06 15:20 7 7 17 16 24 25 10:52 13:44 5:58 6:29 0 0 3 2 14 12 1019 952 2912 2991 8299 8429.5 SAB 69 7 11:12 8:26 4 8 15 10:14 7:33 0 1 4 661 1813 5193.5 DOM 52 5 10:47 4:36 1 7 10 5:06 6:35 0 0 2 385 1205 3397.5 Algoritmo Integrado SEG SEX 98 98 14 13 10:22 11:08 16:52 15:20 8 7 13 13 23 23 10:06 8:57 11:38 14:42 0 0 3 3 6 5 1050 1005 2735 2753 7887.5 7887.5 SAB 69 7 10:54 9:12 5 6 14 8:54 13:19 0 0 3 682 1750 5057

Pelas tabelas 6.4 e 6.5 verifica-se que, em todos os dias e nas duas empresas, o mtodo proposto foi capaz de gerar solues melhores, sob o ponto de vista da funo de avaliao, que a da metodologia seqencial. A aplicao da metodologia integrada desenvolvida neste trabalho vantajosa para situaes em que, para a empresa, os custos envolvidos so maiores para os tripulantes, e no para os veculos. Pelos resultados obtidos observa-se que, quanto integrao, h um aumento sutil no custo dos veculos e uma reduo significativa no custo dos tripulantes, produzindo assim solues melhores para o conjunto.

6.2 Resultados 2 Abordagem


Nesta abordagem, assim como na anterior, testes preliminares foram realizados com a finalidade de calibrar os parmetros do ILS-VND-BTRA. Em especial, na segunda abordagem, o nmero de iteraes sem melhora do ILS (ILSmax) foi fixado em 50. O tempo de cada chamada do BTRA (BTtempo) foi limitado a 20 segundos. O nmero mximo de iteraes sem melhora do VRD (VRDmax) foi fixado em 100. O nmero de iteraes sem melhora do IRD (IRDmax) foi fixado em 50. E, o tempo total de processamento foi limitado a 20 minutos. A primeira fase da abordagem seqencial usa o algoritmo ILS descrito em Sousa et al. (2007) e a segunda, o algoritmo BTRA descrito em Marinho (2004). Os dois algoritmos so interrompidos aps 10 minutos de processamento. Nesta abordagem, ILSmax fixado em 50, uma perturbao de nvel i feita aplicando-se i + 2 movimentos da vizinhana NvR, a busca local do ILS feita pela aplicao de dois mtodos de descida randmica, o primeiro usando a vizinhana NvR, e o segundo usando a vizinhana NvS. Para testar os algoritmos, foram examinados problemas de doze problemas-teste disponveis em http://www.decom.ufop.br/prof/marcone/pt/instances/VC.zip, referentes a dados de nove empresas de transporte pblico.

48

A Tabela 6.6 apresenta uma comparao dos resultados da metodologia seqencial e da integrada em relao ao melhor valor, ao valor mdio e ao desvio. Alm disso, esta tabela mostra a melhora obtida em cada caso. Tabela 6.6 Comparao de resultados dos algoritmos seqencial e integrado com funo de avaliao baseada em custos
Problema VC52 VC90 VC98a VC98b VC260a VC260b VC498 VC538 VC639a VC639b VC1036 VC1038 Tradicional Melhor Mdia Desvio 3936,96 3988,46 2,97% 7519,20 7561,96 1,14% 9638,79 9675,39 1,16% 9500,16 9514,50 1,47% 28479,80 28714,00 1,43% 28064,80 28215,82 0,54% 32673,50 32756,81 0,26% 18917,00 18964,83 0,25% 39478,10 39586,00 0,27% 42557,60 42608,22 0,12% 48764,60 48840,86 0,16% 49223,90 49335,35 0,23% Integrado Melhora Melho Mdia Desvio Melhor Mdia 3873,31 3895,43 0,57% 1,64% 2,39% 7476,57 7518,14 0,56% 0,57% 0,59% 9564,95 9594,67 0,31% 0,77% 0,84% 9376,67 9398,28 0,23% 1,32% 1,24% 28310,50 28329,11 0,07% 0,60% 1,36% 27921,40 27950,78 0,11% 0,51% 0,95% 32500,10 32612,90 0,35% 0,53% 0,44% 18887,20 18939,01 0,27% 0,16% 0,14% 39301,30 39398,46 0,25% 0,45% 0,48% 42336,20 42436,66 0,24% 0,52% 0,40% 48669,10 48778,18 0,22% 0,20% 0,13% 49085,40 49140,27 0,11% 0,28% 0,40%

Pela Tabela 6.6 pode-se observar que os dois algoritmos tm bom desempenho, com os melhores valores e valores mdios bem prximos, e com desvios baixos. Observa-se, no entanto, um desempenho melhor do algoritmo integrado para todos os casos analisados. Por exemplo, h uma melhora de at 1,64% em relao ao valor da melhor soluo encontrada em relao ao seqencial e de 2,30% em relao ao valor mdio. Adicionalmente, o desvio menor em todos os casos, o que mostra a sua robustez do algoritmo integrado proposto. A Tabela 6.7 apresenta as caractersticas das melhores solues encontradas em cada problema-teste, com respeito metodologia seqencial e integrada. Por esta tabela observa-se que o nmero de veculos permanece o mesmo nos dois algoritmos. Com relao ao nmero de tripulantes houve reduo de um tripulante nos problemas teste VC52, VC260a, VC498. Nas instncias VC90 e VC639, o nmero de tripulantes foi maior, mas houve uma reduo significativa no tempo de hora-extra e de ociosidade. Para os outros problemas, o nmero de tripulantes permaneceu o mesmo pelos dois algoritmos. Uma observao interessante que a abordagem integrada produziu solues piores para os veculos nos problemas VC498 e VC538. Por outro lado, a programao dos tripulantes passou a ser melhor que a encontrada na metodologia seqencial. Alm disso, a soluo final foi sempre melhor na metodologia integrada.

49

Tabela 6.7 Caractersticas das melhores solues dos algoritmos seqencial e integrado com funo de avaliao baseada em custos
Problema-teste Algoritmo Nmero de veculos Tempo ocioso dos veculos (hh:mm) Tempo de viagem morta (hh:mm) Nmero de pegadas duplas (veculos) Nmero de tripulaes Tempo ocioso das tripulaes (hh:mm) Tempo de hora extra (hh:mm) Nmero de pegadas dplas (tripulaes) fv ft fv+ft Problema-teste Algoritmo Nmero de veculos Tempo ocioso dos veculos (hh:mm) Tempo de viagem morta (hh:mm) Nmero de pegadas duplas (veculos) Nmero de tripulaes Tempo ocioso das tripulaes (hh:mm) Tempo de hora extra (hh:mm) Nmero de pegadas dplas (tripulaes) fv ft fv+ft Problema-teste Algoritmo Nmero de veculos Tempo ocioso dos veculos (hh:mm) Tempo de viagem morta (hh:mm) Nmero de pegadas duplas (veculos) Nmero de tripulaes Tempo ocioso das tripulaes (hh:mm) Tempo de hora extra (hh:mm) Nmero de pegadas dplas (tripulaes) fv ft fv+ft VC52 Seq. 5 12:57 03:50 0 12 11:31 02:25 2 2640,4 1296,6 3937,0 VC260a Seq. 40 19:15 37:54 22 76 91:31 07:14 17 20189,0 8290,8 28479,8 VC639a Seq. 55 50:36 52:03 25 109 57:47 30:10 22 28133,0 11345,1 39478,1 VC52 Int. 5 12:57 03:50 0 11 08:31 05:52 2 2640,4 1232,9 3873,3 VC260a Int. 40 19:15 37:54 22 75 83:03 08:46 17 20189,0 8121,5 28310,5 VC639a Int. 55 51:45 52:37 25 110 51:29 17:48 22 28180,9 11120,3 39301,3 VC90 Seq. 10 16:13 8:24 4 20 18:44 14:13 1 5168,4 2350,8 7519,2 VC260b Seq. 39 13:22 37:54 23 76 84:10 11:28 17 19785,3 8279,5 28064,8 VC639b Seq. 60 50:42 32:59 25 116 59:44 31:06 24 30525,4 12032,2 42557,6 VC90 Int. 10 16:13 08:24 4 21 14:28 10:00 3 5168,4 2308,2 7476,6 VC260b Int. 39 22:02 37:54 23 76 79:07 07:19 17 19785,3 8136,19 27921,4 VC639b Int. 60 52:16 56:06 27 116 49:23 22:01 24 30608,8 11727,4 42336,2 VC98a Seq. 13 11:58 15:20 7 27 17:05 06:38 7 6809,8 2829,0 9638,8 VC498 Seq. 47 37:38 23:36 25 94 55:03 24:36 19 22851,1 9822,4 32673,5 VC1036 Seq. 69 66:07 50:28 35 136 67:57 43:20 28 34552,2 14212,4 48764,6 VC98a Int. 13 11:58 15:20 7 27 13:29 05:09 7 6809,75 2755,2 9565,0 VC498 Int. 47 39:27 24:48 26 93 44:51 22:17 19 22942,8 9557,3 32500,1 VC1036 Int. 69 69:13 51:41 35 136 60:41 37:16 27 34664,8 14004,4 48669,1 VC98b Seq. 13 10:21 14:34 6 25 12:50 15:13 5 6744,1 2756,1 9500,2 VC538 Seq. 24 65:26 18:59 3 53 50:55 33:17 2 12755,6 6161,36 18917 VC1038 Seq. 70 67:41 50:32 32 137 78:26 30:50 28 35027,3 14196,6 49223,9 VC98b Int. 13 10:21 14:34 6 25 09:29 10:59 5 6744,1 2632,6 9376,7 VC538 Int. 24 65:28 20:23 3 53 47:57 29:48 2 12830,1 6057,1 18887,2 VC1038 Int. 70 69:10 51:46 33 137 67:10 26:25 28 35115,6 13969,8 49085,4

50

7 Concluses
Este projeto de pesquisa apresentou um algoritmo hbrido, baseado nas metaheursticas Iterated Local Search (ILS), Variable Neighborhood Descent (VND) e Busca Tabu (BT), aplicado ao Problema de Programao Integrada de Veculos e Tripulaes. Para testar o mtodo proposto foram utilizados dados reais das empresas do Sistema de Transporte Pblico da cidade de Belo Horizonte (MG), que atuam na bacia do Barreiro. Os resultados obtidos pelo mtodo proposto so comparados com aqueles obtidos pela metodologia clssica, de resolver os problemas PPV e PPT de forma independente e seqencial. Foram consideradas duas funes de avaliao: uma baseada em pesos empricos e outra em custos. Os experimentos computacionais realizados mostraram que em ambos os casos, a metodologia integrada proposta adequada, pois foi capaz de produzir resultados superiores queles alcanados pela clssica metodologia seqencial. Os resultados tambm mostram que a metodologia integrada proposta, em comparao com a metodologia seqencial, pode produzir solues piores para os veculos, mas melhores para as tripulaes, gerando assim solues melhores para o conjunto. Esse fato mostra claramente que uma boa idia explorar a integrao desses problemas em vez de gerar a melhor soluo para os veculos e depois gerar a melhor soluo para as tripulaes como faz a metodologia seqencial.

51

Referncias Bibliogrficas
Atkinson, J B (1998) A greedy randomised search heuristic for time-constrained vehicle scheduling and the incorporation of a learning strategy. The Journal of the Operational Research Society, v. 49, p. 700-708. Baita, F.; Pesenti, R.; Ukovich, W.; Favaretto, D. (2000) A comparison of different solution approaches to the vehicle scheduling problem in a practical case. Computers and Operations Research, v.27, p.1249-1269. Ball, M. O; Bodin, L. D. & Dial, R. (1983) A matching based heuristic for scheduling mass transit crew and vehicles. Transportation Science, v. 17, p. 4-31. Bassi, Hugo Vincius; Marinho, Euler Horta; Souza, M. J. F.; Silva, Gustavo Peixoto. (2004). Heursticas GRASP e Reconexo por Caminhos aplicadas ao problema de escalonamento de tripulaes In: Simpsio Brasileiro de Pesquisa Operacional, 2007, Fortaleza. Anais do XXXIX SBPO. Rio de Janeiro: SOBRAPO, 2007. v.1. p.1081 1092. Bicalho, M. S. S., Silva, G. P.; Souza, M. J. F. (2005) Otimizao da operao dos veculos de empresas do transporte pblico de Belo Horizonte. Revista da Pesquisa e Ps-Graduao. Universidade Federal de Ouro Preto, p. 1-8. Carpaneto, G.; Martello, S.; Toth, P. (1988) Algorithms and codes for the assignment problem. Annals of Operations Research, v.13, p. 193-223. Freling, R.; Huisman, D. & Wagelmans, A. P. M (2001) Applyng an Integrated approach to vehicle and crew scheduling in practice. In: Computer-Aided Scheduling of Public Transport, S. Voss e J. R. Daduna (eds.), Springer-Verlag, Berlin, p. 73-90. Freling, R.; Wagelmans, A. P. M. & Paixo, J. M. P. (1999) An overview of models and techniques for integrating vehicle and crew scheduling. In: Computer-Aided Transit Scheduling, N. H. M. Wilson (ed.), Springer-Verlag, Berlin, p.441-459. Gavish, B.; Schweitzer, P.; Shlifer, E. (1978) Assigning buses to schedules in a metropolitan area. Computers and Operations Research, v.5, p. 129-138. Glover, F.; Kochenberger, G. (2003) Handbook of Metaheuristics. Kluwer Academic Publishers. Haase, K. & Friberg, C. (1999) An Exact Branch and Cut Algorithm for the Vehicle and Crew Scheduling Problem. In: Computer-Aided Transit Scheduling, N. H. M. Wilson (ed.), SpringerVerlag, Berlin, p. 63-80. Hoffstadt, J. (1981) Computerized vehicle and driver scheduling for the Hamburger Hochbahn Aktiengesellschaft. In: Computer Scheduling of Public Transport, Wren A. (ed.), North-Holland, Amsterdam, p. 35-52. Kirkman, F. (1968) Problems of innovation in the transport industry: a bus scheduling program. In: Proceedings of PTRC Public Transport Analysis Seminar, Planning and Transport Research and Computation Co. Ltd., London, v.1, p. 1-15. Kwan, R. K.; Rahin, M. A. (1995) Bus scheduling with trip co-ordenation and complex constraints. In: Computer-Aided Transit Scheduling, J. R. Daduna; I. M. Branco; J. M. P. Paixo (eds.), SpringerVerlag, Berlin, p. 91-101. Kwan, R. K.; Rahin, M. A. (1999) Object oriented bus vehicle scheduling - the BOOST system. In: Computer-Aided Transit Scheduling, N. H. M. Wilson (ed.), Springer-Verlag, Berlin, p. 177-191. LOURENO, H. R.; MARTIN, O.; STTZLE, T. (2003) Iterated Local Search. In: F. Glover and G. Kochenberger, editors, Handbook of Metaheuristics, Kluwer Academic Publishers, Boston, MA, USA.. Marinho, Euler Horta, Ochi, Luiz Satoru, Drummond, Lcia M. A., Souza, M. J. F., Silva, Gustavo Peixoto. (2004). Busca Tabu aplicada ao Problema de Programao de Tripulaes de nibus Urbano In: Simpsio Brasileiro de Pesquisa Operacional, 2004, So Joo Del Rey. Anais do XXXVI SBPO. Rio de Janeiro: SOBRAPO, 2004. v.1. p.1471 1482. Martin-Lf, A. (1970) A branch-and-bound algorithm for determining the minimal fleet size of a transportation system. Transportation Science, v.4, p.159-163.

52

Mlavenovic, N. & Hansen, P. (1997). A Variable Neighborhood Search. Computers and Operations Research, v. 24, p. 1097-1100. Psarras, J.; Stefanitsis, E.; Christodoulou N. (1997) Combination of local search and CLP in the vehicle-fleet scheduling problem. European Journal of Operational Research, v. 98, p. 512-521. REIS, J. von A. (2007) Heursticas baseadas em Busca em Vizinhana Varivel para o Problema de Programao Integrada de Veculos e Tripulaes no Transporte Coletivo Urbano por nibus, Dissertao de mestrado, Escola Politcnica da USP, So Paulo. Saha, J. L. (1970) An algorithm for bus scheduling problems. Operational Research Quarterly, v.21, p. 463-474. Silva, G. P. (2001) Uma metodologia baseada na tcnica de gerao de arcos para o problema de programao de veculos. Tese de doutorado. Escola Politcnica da USP, So Paulo. SILVA, Gustavo Peixoto, SOUZA, M. J. F., GOMES, Helton Cristiano. (2005) Otimizao integrada da tabela de horrios com a programao de veculos no sistema de transporte pblico In: Congresso de Pesquisa e Ensino em Transportes, 2005, Recife. Panorama Nacional da Pesquisa em Transportes. Recife: ANPET, 2005. v.1. p.680 691. SILVA, Gustavo Peixoto, REIS, Jorge Von Atzingen dos, SOUZA, M. J. F. (2006a) Metaheursticas aplicadas ao Sistema de Transporte Pblico In: XIII Congreso Latino Iberoamericano de Investigacin Operativa, 2006, Montevideu. Anais do XIII CLAIO. Montevideu: Universidad de la Repblica, 2006. v.1. p.1 6. SILVA, Gustavo Peixoto, REIS, Jorge Von Atzingen dos, SOUZA, M. J. F. (2006b) Resoluo Integrada do Problema de Programao de Veculos e Tripulaes no Sistema de Transporte Pblico In: Congresso Luso Brasileiro para o Planeamento Urbano, Regional, Integrado e Sustentvel, 2006, Braga. Anais do 2 Congresso Luso Brasileiro para o Planeamento Urbano, Regional, Integrado e Sustentvel. , 2006. v.1. p.121-132. SIMES, E. M. L.; SOUZA, M. J. F.; SILVA, G. P. (2006) Aplicao da Metaheurstica Iterated Local Search Programao de Veculos no Sistema de Transporte Pblico. In: XXXVIII Simpsio Brasileiro de Pesquisa Operacional, 2006, Goinia. Anais do XXXVIII SBPO. Rio de Janeiro : SOBRAPO, 2006. v. 1. p. 1277-1288. SOARES, Gleidson Fonseca, SILVA, Gustavo Peixoto, MARINHO, Euler Horta, SOUZA, M. J. F. (2006) Alocao da mo-de-obra no Sistema de Transporte Pblico: uma viso multiobjetivo In: Congresso de Pesquisa e Ensino em Transportes, 2006, Braslia. Panorama Nacional da Pesquisa em Transportes. Rio de Janeiro: Associao Nacional de Pesquisa e Ensino em Transportes, 2006. v.1. p.693 - 704 SOUZA, M. J. F. (2008) Inteligncia Computacional para otimizao, Notas de aula, Departamento de Computao, Universidade Federal de Ouro Preto, disponvel em http://www.decom.ufop.br/prof/ marcone/InteligenciaComputacional/InteligenciaComputacional.pdf. SOUZA, M. J. F.; RODRIGUES, M. M. S.; MAPA, S. M. S; SILVA, G. P. (2003a) Um estudo das heursticas Simulated Annealing e VNS aplicadas ao problema de programao de tripulaes. In: Anais do XXIII Encontro Nacional de Engenharia de Produo, Ouro Preto, 8 p., outubro de 2003. SOUZA, M. J. F.; SILVA, G. P.; TOFFOLO, T. A. M. (2005) Resoluo do Problema de Rodzio de Tripulaes de nibus Urbano via Simulated Annealing e Iterated Local Search. In XIX Anais do Congresso de Pesquisa e Ensino em Transportes, Recife, v. 1, p. 657-668. Souza, M. J. F; Cardoso, L. X. T. & Silva, G. P. (2003b) Programao de Tripulaes de nibus Urbano: uma abordagem heurstica, XXXV Simpsio Brasileiro de Pesquisa Operacional, Natal: SOBRAPO, 2003, p. 1285-1294. Souza, M. J. F; Xavier, L. X. T.; Silva, G. P.; Mapa, S. M. S.; Rodrigues, M. M. S. (2004a) Metaheursticas Aplicadas ao Problema de Programao de Tripulaes no Sistema de Transporte Pblico. Tendncias em Matemtica Aplicada e Computacional (TEMA), So Jos do Rio Preto, v. 5, n. 2, p.357-368. Souza, M. J. F; Cardoso, Silva, G. P. & Mapa, S. M. S. (2004b) Mtodos de Pesquisa em Vizinhana Varivel Aplicados Resoluo do Problema de Programao Diria de Tripulaes de nibus Urbano, XVIII Congresso de Pesquisa e Ensino em Transportes, Panorama Nacional de Pesquisa em Transportes, v. 2, p. 1492-1502. SOUZA, M. J. F., SILVA, Gustavo Peixoto, SIMES, Emiliana Mara Lopes. (2006) Programao de Veculos de nibus Urbano: uma abordagem heurstica In: Congresso de Pesquisa e Ensino em

53

Transportes, 2006, Braslia. Panorama Nacional da Pesquisa em Transportes. Rio de Janeiro: Associao Nacional de Pesquisa e Ensino em Transportes, 2006. v.1. p.705-716. TOFFOLO, T. A.; SOUZA, M. J. F.; PEIXOTO, G. P. (2005) Algoritmos Simulated Annealing e Iterated Local Search aplicados resoluo do Problema de Rodzio de Tripulaes de nibus Urbano. In VIII Simpsio de Pesquisa Operacional e Logstica da Marinha, Rio de Janeiro, Anais do VIII SPOLM, 12 p. Tosini, E. & Vercellis, C. (1988) An interactive system for extra-urban vehicle and crew scheduling problems. In: Computer-Aided Transit Scheduling, J. R. Daduna e A. Wren (eds.), SpringerVerlag, Berlin, p. 41-53. Wren, A.; Chamberlain, M. P. (1988) The development of Micro-BUSMAN: scheduling on microcomputers. In: Computer-Aided Transit Scheduling, J. R. Daduna; A. Wren (eds.), SpringerVerlag, Berlin, p.160-174. Wren, A. (1972) Bus scheduling: an interactive computer method. Transportation Planning and Technology, v.1, p.115-122.

54

U NIVERSIDADE F EDERAL DE O URO P RETO I NSTITUTO DE C I E NCIAS E XATAS E B IOL OGICAS D EPARTAMENTO DE C OMPUTAC AO

Planejamento operacional de lavra

Anexo do Relat rio T cnico-cientco Final o e apresentado ao CNPq, relativo ao processo 474831/2007-8, desenvolvido no perodo de de zembro de 2007 a dezembro de 2009.

Equipe: Marcone Jamilson Freitas Souza (DECOM/UFOP) - Coordenador Alexandre Xavier Martins (DECEA/UFOP) Francisco C sar de Ara jo (mestre em Engenharia Mineral / UFOP) e u Igor Machado Coelho (Bolsista de Iniciacao Cientca / PIBIC - CNPq) Sabir Ribas (Bolsista de Iniciacao Cientca / FAPEMIG)

Data de incio do projeto: 25/12/2007 Data de m do projeto: 25/12/2009

Ouro Preto - Minas Gerais - Brasil Janeiro de 2010

Resumo
Este trabalho trata do planejamento operacional de lavra em minas a c u aberto. Este proe blema consiste na mistura de min rios provenientes de v rias frentes de lavra, levando-se em e a consideracao metas de producao e qualidade do produto nal, restricoes operacionais e alocacao dos equipamentos de carga e transporte necess rios ao processo. Considera-se o sistema de a alocacao din mica de caminh es, no qual, ap s as descargas nos pontos de basculamento, cada a o o caminh o pode se dirigir a uma frente diferente para novo carregamento, aumentando a produa tividade da frota. Dada sua complexidade, o problema foi resolvido por t cnicas heursticas, e sendo propostos dois algoritmos heursticos hbridos. O primeiro deles, denominado GVILS, combina os procedimentos heursticos GRASP, Variable Neighborhood Descent e Iterated Lo cal Search, enquanto o segundo, denominado H-GVILS, adiciona ao anterior um m dulo de o busca local feito por um otimizador de programacao matem tica. Usando problemas-teste da a literatura, os dois algoritmos heursticos foram comparados entre si e com o otimizador CPLEX aplicado exclusivamente a um modelo de programacao matem tica. Vericou-se que os dois a algoritmos propostos s o competitivos com o otimizador CPLEX, pois foram capazes de ena contrar solucoes de boa qualidade rapidamente e com baixa variabilidade das solucoes nais. Entretanto, o algoritmo H-GVILS mostrou-se superior, uma vez que e capaz de gerar solucoes nais de melhor qualidade que o algoritmo GVILS e com menor variabilidade das solucoes nais.

Palavras-chave: Planejamento operacional de lavra, Metaheursticas, Programacao Matem a tica, Ritmo de lavra, Mistura de min rios. e

Conteudo

Lista de Figuras Lista de Tabelas 1 Introducao 1.1 1.2 1.3 2 O Problema de Planejamento Operacional de Lavra . . . . . . . . . . . . . . Objetivos do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estrutura do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 9 p. 9 p. 10 p. 11 p. 13 p. 13 p. 15 p. 15 p. 17 p. 18 p. 20 p. 23 p. 24 p. 24 p. 25 p. 26 p. 27

Revis o Bibliogr ca a a 2.1 2.2 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modelos de Programacao Matem tica . . . . . . . . . . . . . . . . . . . . . a 2.2.1 2.2.2 2.2.3 2.2.4 2.3 Modelo de Pinto e Merschmann (2001) . . . . . . . . . . . . . . . . Modelo de White, Arnold e Clevenger (1982) . . . . . . . . . . . . . Modelo de White e Olson (1986) . . . . . . . . . . . . . . . . . . . . Modelo de Costa, Souza e Pinto (2004) . . . . . . . . . . . . . . . .

Heursticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 M todo Rand mico de Descida (MRD) . . . . . . . . . . . . . . . . e o

2.4

Metaheursticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 2.4.2 2.4.3 Iterated Local Search (ILS) . . . . . . . . . . . . . . . . . . . . . . Variable Neighborhood Descent (VND) . . . . . . . . . . . . . . . . Greedy Randomized Adaptive Search Procedure (GRASP) . . . . . .

O Planejamento Operacional de Lavra Abordado 3.1 3.2 3.3 Alocacao Est tica de Caminh es . . . . . . . . . . . . . . . . . . . . . . . . a o Alocacao Din mica de Caminh es . . . . . . . . . . . . . . . . . . . . . . . a o Caractersticas do Problema de Alocacao Abordado . . . . . . . . . . . . . .

p. 30 p. 31 p. 32 p. 32 p. 34 p. 38 p. 38 p. 39 p. 39 p. 40 p. 43 p. 43 p. 43 p. 44 p. 45 p. 46 p. 46 p. 46 p. 47 p. 48 p. 48 p. 50 p. 51 p. 51 p. 52

4 5

Modelo de programacao matem tica a Metodologia Heurstica 5.1 5.2 Representacao de uma solucao . . . . . . . . . . . . . . . . . . . . . . . . . Geracao de uma solucao inicial . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 5.2.2 5.3 Geracao Aleat ria . . . . . . . . . . . . . . . . . . . . . . . . . . . o Geracao Parcialmente Gulosa . . . . . . . . . . . . . . . . . . . . .

Estruturas de vizinhanca . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.3.8 Movimento Carga - NCG (s) . . . . . . . . . . . . . . . . . . . . . . . Movimento Operacao Frente - N OF (s) . . . . . . . . . . . . . . . . . Movimento N mero de Viagens - N NV (s) . . . . . . . . . . . . . . . u Movimento Realocar Viagem de um Caminh o - NVC (s) . . . . . . . a Movimento Realocar Viagem de uma Frente - NV F (s) . . . . . . . . . Movimento Operacao Caminh o - N OC (s) . . . . . . . . . . . . . . . a Movimento Troca de Viagens - NV T (s) . . . . . . . . . . . . . . . . Movimento Troca de Carregadeiras - NCT (s) . . . . . . . . . . . . .

5.4

Funcao de avaliacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 5.4.2 5.4.3 5.4.4 Producao de Min rio e Est ril . . . . . . . . . . . . . . . . . . . . . e e Qualidade da Mistura . . . . . . . . . . . . . . . . . . . . . . . . . . Utilizacao dos Caminh es . . . . . . . . . . . . . . . . . . . . . . . o Producao dos Equipamentos de Carga . . . . . . . . . . . . . . . . .

5.5

Algoritmos Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.5.1 5.5.2 6

Algoritmo GVILS aplicado ao POLAD . . . . . . . . . . . . . . . . Algoritmo H-GVILS aplicado ao POLAD . . . . . . . . . . . . . . .

p. 52 p. 53 p. 55 p. 55 p. 57 p. 57 p. 58 p. 58 p. 59 p. 59 p. 61 p. 61 p. 62 p. 64 p. 66

Sistema Desenvolvido 6.1 Implementacao Computacional . . . . . . . . . . . . . . . . . . . . . . . . .

Resultados 7.1 7.2 7.3 7.4 Descricao dos problemas-teste . . . . . . . . . . . . . . . . . . . . . . . . . Pesos e par metros utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . a Ambiente de desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . Resultados e an lise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a 7.4.1 7.4.2 7.4.3 7.4.4 CPLEX GVILS . . . . . . . . . . . . . . . . . . . . . . . . . . . . CPLEX H-GVILS . . . . . . . . . . . . . . . . . . . . . . . . . . GVILS H-GVILS . . . . . . . . . . . . . . . . . . . . . . . . . . . Caractersticas das melhores solucoes obtidas . . . . . . . . . . . . .

Conclus es e Trabalhos Futuros o

Refer ncias e

Lista de Figuras
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Procedimento MRD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procedimento ILS Procedimento VND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 24 p. 25 p. 27 p. 28 p. 29 p. 30 p. 31 p. 32 p. 40 p. 41 p. 42 p. 43 p. 44 p. 44 p. 44 p. 45 p. 45 p. 46 p. 46 p. 47 p. 47 p. 52

Procedimento GRASP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procedimento Fase de Construcao GRASP . . . . . . . . . . . . . . . . . .

Equipamentos de carga e transporte . . . . . . . . . . . . . . . . . . . . . . Alocacao Est tica de Caminh es . . . . . . . . . . . . . . . . . . . . . . . . a o Alocacao Din mica de Caminh es . . . . . . . . . . . . . . . . . . . . . . . a o Construcao de uma solucao para o carregamento de est ril . . . . . . . . . . e Construcao de uma solucao para o carregamento de min rio . . . . . . . . . e Procedimento GRASP aplicado ao POLAD . . . . . . . . . . . . . . . . . . Movimento de realocacao de equipamentos de carga (frente disponvel) . . . Movimento de realocacao de equipamentos de carga . . . . . . . . . . . . . Movimento parar operacao de uma frente . . . . . . . . . . . . . . . . . . . Movimento de decr scimo no n mero de viagens . . . . . . . . . . . . . . . e u Movimento de acr scimo no n mero de viagens . . . . . . . . . . . . . . . . e u Movimento de realocacao de viagens de um caminh o . . . . . . . . . . . . a Movimento de realocacao de viagens de uma frente . . . . . . . . . . . . . . Movimento parar operacao de um caminh o em uma frente . . . . . . . . . . a Movimento troca de viagens . . . . . . . . . . . . . . . . . . . . . . . . . . Movimento troca de carregadeiras . . . . . . . . . . . . . . . . . . . . . . . Algoritmo GVILS proposto . . . . . . . . . . . . . . . . . . . . . . . . . . .

23 24

Estrutura de camadas do sistema . . . . . . . . . . . . . . . . . . . . . . . . Estrutura completa do sistema . . . . . . . . . . . . . . . . . . . . . . . . .

p. 55 p. 56

Lista de Tabelas
1 2 3 4 5 6 7 8 Exemplo de caractersticas de uma solucao para o POLAD . . . . . . . . . . Caractersticas dos problemas-teste do POLAD . . . . . . . . . . . . . . . . Pesos adotados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comparacao de resultados: CPLEX GVILS . . . . . . . . . . . . . . . . . Comparacao de resultados: CPLEX-2 GVILS . . . . . . . . . . . . . . . . Comparacao de resultados: CPLEX H-GVILS . . . . . . . . . . . . . . . . Comparacao de resultados: GVILS H-GVILS . . . . . . . . . . . . . . . . Caractersticas das melhores solucoes encontradas . . . . . . . . . . . . . . . p. 39 p. 57 p. 58 p. 59 p. 60 p. 61 p. 61 p. 63

Introducao

1.1

O Problema de Planejamento Operacional de Lavra

As mineradoras realizam suas atividades em minas subterr neas ou a c u aberto. Em minas a e a c u aberto as atividades de carregamento e transporte ocorrem da seguinte maneira: os cae minh es se deslocam at a frente de lavra (que s o os pontos da mina onde o min rio e o est ril o e a e e s o retirados), s o carregados pelos equipamentos de carga e em seguida se dirigem aos pontos a a de descarga, onde descarregam o min rio e o est ril. Os pontos de descarga podem ser pilhas e e de est ril (material que n o e aproveitado pelo processo), pilhas de homogeneizacao (quando e e a transportada uma quantidade de min rio maior do que a usina pode beneciar ou quando e nee cess rio misturar os min rios antes de iniciar o beneciamento) e usina de tratamento, onde a e se inicia o beneciamento de min rio. e Para fornecer min rio de qualidade uniforme para o processo e necess rio misturar min rio e a e de diferentes qualidades proveniente de v rias partes da mina ou de diferentes minas com o a objetivo de assegurar a uniformidade da alimentacao, j que mudancas s o usualmente acom a a panhadas de aumento do custo total da operacao (CHANDA; DAGDELEN, 1995). A atividade de transporte de material e um dos mais importantes aspectos na operacao de minas a c u aberto (ALARIE; GAMACHE, 2002). Segundo Maran e Topuz (1988), sistemas de e transporte nessas minas envolvem grande volume de capital e recursos. O objetivo do problema de transporte e mover o material retirado da mina para a usina de modo que o custo seja minimizado, uma vez que o custo associado inuencia a escolha de onde retirar min rio (GERSHON, e 1982). Minas a c u aberto utilizam dois crit rios para o transporte de material por caminh es: e e o alocacao est tica e alocacao din mica. Na alocacao est tica, os caminh es seguem uma tra a a a o jet ria xa entre um ponto de carga e outro de descarga, ou seja, os caminh es cam xos a o o esses dois pontos durante um determinado perodo de tempo. J na alocacao din mica, os ca a a minh es n o cam vinculados a uma mesma rota; assim, a cada descarga, o caminh o pode ser o a a

10

direcionado a um ponto de carga n o necessariamente o mesmo da viagem anterior. a A alocacao est tica e o m todo mais utilizado nas mineracoes de pequeno e m dio porte por a e e n o apresentar a obrigatoriedade de utilizacao de um sistema autom tico de alocacao, conhecido a a como sistema de despacho. Esse m todo, entretanto, proporciona menor produtividade em e funcao da possibilidade de formacao de las de caminh es e ociosidade dos equipamentos de o carga (RODRIGUES, 2006). A vantagem da alocacao din mica de caminh es e que com essa estrat gia h uma maior a o e a produtividade da frota. Esse aumento de produtividade pode reetir um aumento na producao da mina ou a reducao do n mero de equipamentos necess rios para manter o mesmo nvel de u a producao. Um algoritmo eciente para a alocacao din mica de caminh es e importante porque a o ele integra um sistema de despacho computadorizado. Um sistema de despacho re ne, ainda, u um algoritmo de seq enciamento de viagens, um sistema de comunicacao entre os equipamenu tos de carga e caminh es e uma central de comandos. Segundo White e Olson (1986), para que o o sistema de despacho de caminh es seja completo e importante que o sistema de monitorao mento dos equipamentos seja preciso e con vel, de modo que as operacoes da mina possam a ser otimizadas em tempo real. O custo de instalacao de sistemas de despacho depende do tamanho da mina e do tipo de operacao. Esse custo inibia a sua utilizacao por mineradoras de pequeno e m dio porte. A partir e da d cada de 90, em conseq encia da evolucao da inform tica, o custo desses sistemas foi cone u a sideravelmente reduzido. Essa reducao no custo levou ao aumento no n mero de mineradoras u e empreiteiras que utilizam esse tipo de sistema. Segundo Rodrigues (2006), atualmente cerca de 35 minas fazem uso desses sistemas no Brasil, com diferentes nveis de automacao. No presente trabalho, tem-se como foco o problema de planejamento operacional de lavra, considerando o sistema de alocacao din mica de caminh es. a o

1.2

Objetivos do trabalho

Este trabalho tem como objetivo geral desenvolver um algoritmo eciente de otimizacao para resolver o problema de planejamento operacional de lavra em minas a c u aberto (POe LAD), considerando alocacao din mica de caminh es. a o Os objetivos especcos a serem atingidos s o os seguintes: a (a) Fazer uma revis o de literatura sobre as metodologias utilizadas para resolver o problema a de planejamento operacional de lavra em minas a c u aberto; e

11

(b) Fazer uma revis o de literatura sobre as t cnicas metaheursticas Iterated Local Search a e (ILS), Variable Neighborhood Descent (VND) e GRASP, nas suas vers es mais recentes; o (c) Desenvolver uma metodologia de otimizacao, baseada em metaheursticas e hibridizadas com m todos de programacao matem tica, para resolver o problema; e a (d) Testar a metodologia desenvolvida, usando sempre que possvel, dados reais encontrados em mineradoras brasileiras; (e) Produzir um artigo que possa ser apresentado e publicado nos anais de um evento cientco nacional; (f) Produzir um artigo a ser submetido a um peri dico de circulacao internacional; o ` (g) Contribuir com a divulgacao de t cnicas de otimizacao aplicadas a resolucao do problema, e ` possibilitando a ind stria extrativa nacional melhorar sua produtividade e tornar-se mais u competitiva; (h) Contribuir com a formacao de recursos humanos especializados nessa area do conheci mento; (i) Contribuir para a consolidacao das linhas de pesquisa Otimizacao e simulacao de opera coes de lavra em minas a c u aberto e subterr neas e Otimizacao Combinat ria do grupo e a o de Logstica e Pesquisa Operacional da UFOP;

1.3

Estrutura do trabalho

O presente trabalho est dividido em sete captulos, incluindo esta introducao, onde o proa blema de planejamento operacional de lavra e contextualizado. No Captulo 2 e apresentada uma revis o bibliogr ca sobre os diversos m todos utilizados a a e na resolucao do problema de planejamento operacional de lavra bem como a forma com que diversos autores tratam esse problema. Descreve-se, tamb m, o M todo Rand mico de Descida e e o e as metaheursticas Variable Neighborhood Descent (VND), Iterated Local Search (ILS) e GRASP. No Captulo 3 e apresentado o problema abordado em detalhes. No Captulo 4 e desenvolvido um modelo de programacao matem tica para o problema. a

12

No Captulo 5 s o apresentados os algoritmos heursticos propostos para resolver o proble a ma, sendo o primeiro puramente heurstico e o segundo, hbrido, combinando metaheurstica com programacao matem tica. a No Captulo 6 e apresentado o sistema desenvolvido, enquanto no Captulo 7 s o apresen a tados e analisados os resultados obtidos. No Captulo 8 s o apresentadas as conclus es e apontados os trabalhos futuros. a o

13

Revis o Bibliogr ca a a

2.1

Introducao

White e Olson (1986) propuseram um algoritmo que e a base para o sistema DISPATCH, que vem operando em muitas minas em todo o mundo. Uma solucao e obtida em duas eta pas. Na primeira, baseada em programacao linear, realiza-se uma otimizacao do problema da mistura de min rios tendo como objetivo a minimizacao de uma funcao de custo que considee ` ra o ritmo de lavra, a qualidade da mistura, o atendimento as taxas de alimentacao da usina de beneciamento e o remanuseio de material. As restricoes do modelo est o relacionadas a ` ` ` as capacidades de producao dos equipamentos de carga, a qualidade da mistura e as taxas de alimentacao mnima requerida da usina de beneciamento. A segunda etapa do algoritmo, a qual e resolvida por programacao din mica, usa um modelo semelhante ao de White, Arnold e a Clevenger (1982), diferenciando-se deste por utilizar como vari vel de decis o o volume de maa a terial transportado por hora em uma determinada rota, ao inv s da taxa de caminh es por hora. e o E considerada, ainda, a presenca de pilhas de estocagem. Nesta segunda etapa do algoritmo, o objetivo e minimizar a necessidade de transporte de material na mina. Chanda e Dagdelen (1995) desenvolveram um modelo de programacao linear por metas para resolver um problema de mistura de min rios no planejamento de curto prazo em uma mina e de carv o. A funcao objetivo do modelo consistia na soma ponderada de tr s objetivos distintos: a e maximizar um crit rio econ mico, minimizar os desvios de producao requeridos e minimizar os e o desvios de qualidade relativos aos valores desejados para os par metros de controle. Nenhuma a alocacao de equipamento de carga e transporte foi considerada nesse modelo. Alvarenga (1997) desenvolveu um programa para o despacho otimo de caminh es em uma o mineracao de ferro, a c u aberto, com o objetivo de minimizar o tempo de la da frota de cami e nh es, aumentar a produtividade desta e melhorar a qualidade do min rio lavrado. No trabalho o e desenvolvido, que e base do sistema SMART MINE, atualmente muito utilizado em v rias a minas brasileiras, foi aplicada uma t cnica estoc stica de otimizacao, o algoritmo gen tico com e a e processamento paralelo.

14

Merschmann (2002) desenvolveu um sistema de otimizacao e simulacao para an lise de a cen rio de producao em minas a c u aberto. O sistema, denominado OTISIMIN (Otimizador a e e Simulador para Mineracao), foi desenvolvido em dois m dulos. O primeiro corresponde ao o m dulo de otimizacao onde um modelo de programacao linear foi construdo e resolvido e o o segundo a um m dulo de simulacao que permite ao usu rio utilizar os resultados obtidos na o a resolucao do modelo de programacao linear como dados de entrada para a simulacao. O m dulo o de otimizacao foi elaborado com o objetivo de otimizar o processo de mistura de min rios e oriundos das v rias frentes de lavra de forma a atender as especicacoes de qualidade impostas a pela usina de tratamento e realizar a alocacao de equipamentos (caminh es, carregadeiras e/ou o ` escavadeiras) as frentes de lavra, considerando tanto alocacao din mica quanto est tica dos ca a a minh es. O modelo de otimizacao desenvolvido n o considera metas de producao e qualidade, o a nem a reducao do n mero de caminh es necess rios ao sistema de producao. u o a Em Costa, Souza e Pinto (2004) e Costa, Souza e Pinto (2005) foram apresentados e mode` lados problemas relativos a mistura de min rios provenientes de v rias frentes de lavra, levandoe a se em consideracao metas de producao e qualidade, alocacao din mica e est tica de caminh es, a a o restricoes operacionais e alocacao dos equipamentos de carga e transporte necess rios ao pro a cesso. Os modelos considerados foram baseados em programacao linear por metas e represen taram um avanco em relacao aqueles de Merschmann (2002). A contribuicao desses autores ` foi propor um modelo mais completo que os at ent o existentes, contemplando mais situacoes e a reais e exigindo um menor n mero de restricoes e vari veis para modelar um certo grupo de u a restricoes. Dada a NP-completude desses problemas, em Costa (2005) o referido problema foi tamb m e modelado de forma heurstica por um algoritmo baseado em Variable Neighborhood Search. Para explorar o espaco de solucoes, o autor utilizou seis tipos de movimentos. Pelos experi mentos realizados, o modelo heurstico foi capaz de gerar solucoes de melhor qualidade em um menor tempo de processamento que aquelas obtidas pelo modelo exato. Rodrigues (2006) fez uma an lise comparativa de v rias metodologias utilizadas para o desa a pacho de caminh es em minas a c u aberto. As metodologias testadas, as quais eram baseadas o e em Programacao Linear, Programacao Din mica e em Heursticas, s o aquelas consideradas as a a bases de algoritmos utilizados em sistemas de despacho comercializados no Brasil. As solucoes nais geradas por essas metodologias foram simuladas usando-se o ambiente ARENA, com o objetivo de reproduzir o comportamento das operacoes de lavra. Os resultados obtidos mos traram o desempenho dos algoritmos utilizando as metodologias sob diferentes condicoes em minas a c u aberto. A autora, por m, arma que n o se pode, atrav s dos resultados obtidos, e e a e

15

concluir pela superioridade de uma delas. Guimar es, Pantuza e Souza (2007) apresentaram um modelo de simulacao computacioa nal para validar resultados obtidos pela aplicacao de um modelo de programacao matem tica a na determinacao do ritmo de lavra em minas a c u aberto. Os autores modelaram o pro e blema usando o otimizador LINGO e validaram a solucao pelo ARENA. Foi concludo que, ao contr rio do procedimento comumente adotado nas mineradoras, o cumprimento da meta de a producao n o pode ser atingido simplesmente aumentando-se o n mero de veculos no sistema a u produtivo. Esta conclus o foi obtida tendo em vista que a partir de um determinado n mero de a u veculos no sistema, a producao n o era alcancada e at pelo contr rio, diminuda, devido ao a e a aumento no tempo de la com o aparecimento de mais veculos de transporte no sistema.

2.2

Modelos de Programacao Matem tica a

Nesta secao s o apresentados modelos de programacao matem tica que apresentam solu a a coes para o problema de planejamento operacional de lavra com alocacao din mica de cami a nh es. o

2.2.1

Modelo de Pinto e Merschmann (2001)

Pinto e Merschmann (2001), Merschmann (2002) e Pinto, Biajoli e Mine (2003) abordam o problema de planejamento operacional de lavra utilizando o sistema de alocacao din mica de a caminh es. Este modelo contempla o problema da mistura e a alocacao de equipamentos de o carga, o atendimento da relacao est ril/min rio mnima e considera a alocacao din mica dos e e a caminh es. o O modelo de Pinto e Merschmann (2001) e apresentado pelas equacoes (2.1) - (2.7) e utiliza os seguintes dados de entrada: M : Conjunto de frentes de min rio; e E F S C : Conjunto de frentes de est ril; e : Conjunto de frentes formado por M E; : Conjunto dos par metros de qualidade analisados no min rio; a e : Conjunto de equipamentos de carga;

Pr : Ritmo de lavra recomendado (t/h); ti j : Teor do par metro j na frente i (%); a tl j : Teor mnimo admissvel para o par metro j no produto nal (%); a

16

tu j : Teor m ximo admissvel para o par metro j no produto nal (%); a a rem : Relacao est rio/min rio requerida; e e Clk : Producao mnima do equipamento de carga k (t/h); Cuk : Producao m xima do equipamento de carga k (t/h). a Dene-se, ainda, as seguintes vari veis de decis o: a a xi : Ritmo de lavra da frente i (t/h); 1 0 se o equipamento de carga k opera na frente i; caso contr rio. a

yik :

max xi
iM

(2.1)

s.a:

tl j

iM

ti j xi
iM

xi yik
kC iF

tu j 1 1

j S i F k C i F

(2.2) (2.3) (2.4) (2.5) (2.6)

yik xi

Clk yik xi
kC iM iE

Cuk yik
kC

Pr

xi xi
rem (2.7)

iM

` Observa-se nesta formulacao que a funcao objetivo (2.1) deve ser maximizada sujeita as restricoes (2.2), que denem valores mnimos e m ximos admissveis para o par metro de qua a a lidade j no produto nal. Outras restricoes que complementam o modelo est o relacionadas a ` a alocacao de equipamentos de carga, onde as restricoes (2.3) denem que cada frente possui um unico equipamento de carga, enquanto as restricoes (2.4) denem que cada equipamento de carga opera em uma unica frente. As restricoes (2.5) est o relacionadas ao ritmo de lavra, a mnimo e m ximo, imposto pelos equipamentos de carga. A restricao (2.7) diz respeito ao a atendimento da relacao est ril/min rio. e e a Observa-se, nalmente, que o modelo proposto pelos autores e n o- linear, tendo em vista as restricoes (2.2) e (2.7). Sendo assim, n o h garantia de que a solucao nal produzida seja a a

17

otima.

2.2.2

Modelo de White, Arnold e Clevenger (1982)

White, Arnold e Clevenger (1982) apresentam um modelo de programacao linear para mi ` nimizar o n mero de caminh es necess rios atrav s de restricoes relacionadas a continuidade u o a e ` do uxo de material pelos pontos de carga e basculamento e as capacidades de producao dos pontos de carga. Para o modelo descrito pelas equacoes (2.8)-(2.11) sejam os seguintes dados de entrada : NP : Conjunto de rotas vi veis; a NS : Conjunto de pontos de basculamento; NC : Conjunto de pontos de carga; NF : Conjunto de pontos formado por NS NC ; E j : Conjunto de rotas vi veis que chegam no ponto j; a S j : Conjunto de rotas vi veis que saem do ponto j; a C : N mero de pontos de carga; u T di : Tempo de deslocamento pela rota i (min); T b j : Tempo de basculamento no ponto j (min); R j : Taxa de carregamento do ponto j (caminh es/min). o e a seguinte vari vel de decis o: a a Pi j : Taxa de caminh es que utilizam a rota i que possui ligacao com o um ponto de carga ou basculamento j (caminh es/min). o

min

iNP

PiT di + Pi j T b j +C
jNS iE j

(2.8)

s.a:

iE j

Pi j Pi j
iS j iS j

= 0 = 0

j NF j NC j NC , i NP

(2.9) (2.10) (2.11)

Pi j R j

Pi j 0

Nesta formulacao, a funcao objetivo (2.8) visa minimizar a necessidade de caminh es man o tendo a producao m xima dos equipamentos de carga (restricoes (2.10)). As restricoes (2.9) a

18

garantem que a taxa total de entrada de caminh es em um ponto de carga ou basculamento e o ` igual a taxa total de sada deste ponto. As restricoes (2.11) n o permitem valores negativos para a a taxa de caminh es em uma rota. o

2.2.3

Modelo de White e Olson (1986)

White e Olson (1986) apresentam um modelo de programacao linear para o problema de alocacao din mica de caminh es em mineracao, o qual e dividido em duas partes. Na primeira a o parte do modelo, restricoes (2.12)-(2.15), realiza-se uma otimizacao do problema da mistura de min rios tendo como objetivo a minimizacao da funcao de custo dada pela equacao (2.12), a e ` qual considera o ritmo de lavra, o atendimento as taxas de alimentacao da usina de benecia mento e de qualidade da mistura, al m do remanuseio de material. e ` As restricoes do modelo est o relacionadas as capacidades de producao dos equipamen a ` tos de carga (restricoes (2.13)), as taxas de alimentacao mnima requerida da usina de bene ` ciamento (restricoes (2.14)) e a qualidade da mistura (restricoes (2.15)). A formulacao do problema e apresentada pelas equacoes (2.12)-(2.15) e considera os seguintes dados de entrada: Nm : Conjunto de equipamentos de carga alocados nas frentes de lavra; Nest : Conjunto de equipamentos de carga alocados nas pilhas de estoque; NF : Conjunto de pontos de carga formado por NS NC ; S : Conjunto dos par metros de qualidade analisados no min rio; a e cm : Custo de movimentacao de material (h/m3 ); ` c p : Custo associado a alimentacao da usina de beneciamento (h/m3 ); cs : Custo de estocagem de material (h/m3 ); ` cq : Custo associado a qualidade do min rio (h/m3 ); e Pu : Producao m xima admissvel(m3 /h); a ti j : Teor do par metro j no min rio proveniente da frente ou pilha de a e estoque i (%); tl j : Teor mnimo admissvel para o par metro j no produto nal (%); a tu j : Teor m ximo admissvel para o par metro j no produto nal (%); a a tc j : Teor corrente para o par metro j na pilha de mistura (%); a lj : Import ncia do par metro j; a a Ri : Producao m xima do ponto de carga i (m3 /min); a TC : Intervalo de controle (h); MC : Massa de controle (t); SG : Peso especco (t/m3 ).

19

e a seguinte vari vel de decis o: a a xi : Ritmo de lavra do ponto de carga i (m3 /h).

min

iNm

cmxi + c p(Pu xi) +


iNF

cs xi + l j cqti j xi
iNF jS

(2.12)

iNest

s.a:

0 x i Ri Pu
iNF

i NF

(2.13) (2.14)

xi
j S

tl j tc j +

iNF

(ti j tc j )xiTC /(MC /SG)

tu j

(2.15)

A segunda parte do modelo de White e Olson (1986) e semelhante ao modelo de White, Arnold e Clevenger (1982), diferenciando-se por utilizar como vari vel de decis o o volume de a a material transportado por hora, ao inv s da taxa de caminh es por hora, que utilizam uma rota. e o E considerada, ainda, a presenca de pilhas de estocagem. Para este modelo, apresentado pelas equacoes (2.16)-(2.21), sejam os seguintes dados de entrada: NP : Conjunto de rotas vi veis; a NS : Conjunto de pontos de basculamento; Nm : Conjunto de equipamentos de carga alocados nas frentes de lavra; Nest : Conjunto de equipamentos de carga alocados nos pilhas de estoque; NF : Conjunto de pontos de carga formado por NS NC ; ND : Conjunto de pontos de carga e basculamento formado por NF NS ; E j : Conjunto de rotas vi veis que chegam no ponto j; a S j : Conjunto de rotas vi veis que saem do ponto j; a E : N mero de pontos de carga; u CF : Capacidade da frota (m3 ); T di : Tempo de deslocamento pela rota i (h); T b j : Tempo de basculamento no ponto j (h); Ri : Taxa de carregamento do ponto i (m3 /h). e a seguinte vari vel de decis o: a a Pi j : Volume transportado pela rota i que possui ligacao com um ponto de carga ou basculamento j (m3 /h).

20

min

iNP

PiT di + Pi j T b j + ECF
jNS iE j

(2.16)

s.a:

iE j

Pi j Pi j
iS j iS j

= 0 = Rj Rj = xj

j ND j Nm j Nest j NF j ND , i NP

(2.17) (2.18) (2.19) (2.20) (2.21)

Pi j Pi j Pi j

iS j

iS j

Pi j 0

Nesta formulacao, a funcao (2.16) tem por objetivo minimizar a necessidade de transporte de material na mina. As restricoes (2.17) est o relacionadas com a continuidade do uxo de a material atrav s dos pontos de carga e basculamento. O ritmo de lavra das frentes de min rio e e ` deve ser igual a sua taxa de carregamento (restricoes (2.18)). As restricoes (2.19) denem que o ` ritmo de lavra em pilhas de estocagem deve ser menor ou igual a taxa de carregamento do ponto. A uni o desta segunda parte do modelo de White e Olson (1986) com a primeira e realizada por a meio das restricoes (2.20), onde dene-se que o uxo de material que sai de um ponto de carga deve ser igual ao ritmo de lavra determinado na primeira parte do modelo.

2.2.4

Modelo de Costa, Souza e Pinto (2004)

O modelo de programacao matem tica proposto por Costa, Souza e Pinto (2004) e uma a extens o daquele proposto por Pinto e Merschmann (2001) e Pinto, Biajoli e Mine (2003) e a inclui restricoes de metas de producao e qualidade. Para esse modelo de alocacao din mica de caminh es, apresentado pelas equacoes (2.22) a o (2.43), sejam os seguintes dados de entrada: M : Conjunto de frentes de min rio; e E F S C V : Conjunto de frentes de est ril; e : Conjunto de frentes formado por M E; : Conjunto dos par metros de qualidade analisados no min rio; a e : Conjunto de equipamentos de carga; : Conjunto de equipamentos de transporte;

21

Pr : Ritmo de lavra recomendado (t/h); Pl : Ritmo de lavra mnimo (t/h); Pu : Ritmo de lavra m ximo (t/h); a : Penalidade por desvio negativo da producao; + : Penalidade por desvio positivo da producao; ti j : Valor do par metro j na frente i (%); a tr j : Valor recomendado para o par metro j na mistura (%); a tl j : Valor mnimo admissvel para o par metro j na mistura (%); a tu j : Valor m ximo admissvel para o par metro j na mistura (%); a a : Penalidade por desvio negativo para o par metro j na mistura; a j + : Penalidade por desvio positivo para o par metro j na mistura; a j Qli : Ritmo de lavra mnimo para a frente i (t/h); Qui : Ritmo de lavra m ximo para a frente i (t/h); a rem : Relacao est rio/min rio requerida; e e Clk : Producao mnima do equipamento de carga k (t/h); Cuk : Producao m xima do equipamento de carga k (t/h); a capl : Capacidade do caminh o l (t); a Til : Tempo total de ciclo do caminh o l na frente i (min). a glk : 1 0 se o caminh o l e compatvel com o equipamento de carga k; a caso contr rio. a

e as seguintes vari veis de decis o: a a xi : Ritmo de lavra da frente i (t/h); 1 0 se o equipamento de carga k opera na frente i; caso contr rio. a

yik :

nil : N mero de viagens que um caminh o l realiza na frente i em uma hora; u a d : Desvio negativo do par metro j na mistura (t/h); a j d + : Desvio positivo do par metro j na mistura (t/h); a j P : Desvio negativo do ritmo de lavra em relacao ao recomendado (t/h); P+ : Desvio positivo do ritmo de lavra em relacao ao recomendado (t/h). ` O modelo de programacao matem tica relativo a alocacao din mica de uma frota heterog a a e nea de caminh es e equipamentos de carga, levando-se em consideracao metas de producao e o qualidade de min rio, e apresentado pelas equacoes (2.22)-(2.43). e

22

min d + + d + + P + + P+ j j j j
jS jS

(2.22)

s.a:

iM

(ti j tu j )xi
iM

0 0 = 0 0 0

j S j S j S

(2.23) (2.24) (2.25) (2.26) (2.27) (2.28)

(ti j tl j )xi xi Pu
iM

iM

(ti j tr j )xi + d d + j j
iM

xi Pl

iM

xi Pr + P

P+ = 0 i F i F i F j S

xi Qui 0 xi Qli 0 xi 0 d+, d 0 j j P+ , P 0


iE

(2.29) (2.30) (2.31) (2.32) (2.33) (2.34)

xi rem xi
iM

0 1 1 i F k C i F, k C i F i F i F, l V l V i F i F, l V

yik
kC iF

(2.35) (2.36) (2.37) (2.38) (2.39) (2.40) (2.41) (2.42) (2.43)

yik

yik {0, 1} xi Cuk yik 0


kC

xi Clk yik 0
kC

nil Til 60

kC, glk =0 iF

yik 0 0

nil Til 60
lV

xi nil capl = 0 nil Z+

Observa-se que (2.23)-(2.33) s o restricoes que juntamente com a funcao objetivo (2.22) a formam o modelo de mistura de min rios com metas. A restricao (2.34) diz respeito ao atene

23

dimento da relacao est ril/min rio mnima requerida. As demais restricoes que complementam e e ` o modelo podem ser divididas em dois grupos. O primeiro diz respeito a alocacao de equipa mentos de carga e a faixa de produtividade que torne vi vel a utilizacao desses equipamentos. a As restricoes (2.35) denem que cada frente possui um unico equipamento de carga, enquanto que as restricoes (2.36) denem que cada equipamento de carga opera em uma unica frente. As restricoes (2.37) denem que as vari veis de decis o yik assumem valores bin rios. As restricoes a a a (2.38) e (2.39) limitam, respectivamente, o ritmo de lavra m ximo e mnimo. a O segundo grupo de restricoes est relacionado ao transporte de material na mina e a a alocacao dos caminh es. As restricoes (2.40) fazem com que um caminh o somente realize o a ` viagens a uma frente onde esteja alocado um equipamento de carga compatvel. As restricoes (2.41) asseguram que um caminh o opere no m ximo sessenta minutos. As restricoes (2.42) a a ` fazem com que o ritmo de lavra de uma frente seja igual a producao realizada pelos caminh es o ` alocados a frente. As restricoes (2.43) asseguram que o n mero de viagens que um caminh o u a ` faz a uma frente e um valor inteiro positivo.

2.3

Heursticas

As heursticas s o procedimentos empricos que visam a obtencao de solucoes de qualidade a satisfat ria em um tempo computacional aceit vel. Tais procedimentos, no entanto, n o garano a a tem a obtencao da solucao otima para o problema nem s o capazes de garantir o qu o pr ximo a a o a solucao obtida est da otima. a As heursticas podem ser construtivas ou de renamento. As construtivas t m por objetivo e construir uma solucao, elemento a elemento. A escolha de cada elemento est , geralmente, a relacionada a uma determinada funcao que o avalia de acordo com sua contribuicao para a solucao. Tal funcao e bastante relativa, pois varia conforme o tipo de problema abordado. As heursticas de renamento, ou tamb m chamados de mecanismos de busca local, s o e a t cnicas baseadas na nocao de vizinhanca. Para denir o que e uma vizinhanca, seja S o espaco e de pesquisa de um problema de otimizacao e f a funcao objetivo a minimizar. O conjunto N(s) S, o qual depende da estrutura do problema tratado, re ne um n mero determinado de u u solucoes s , denominado vizinhanca de s. Cada solucao s N(s) e chamada de vizinho de s e e obtido de s a partir de uma operacao chamada de movimento. Em linhas gerais, esses m todos partem de uma solucao inicial s0 , percorrem o espaco de e busca, atrav s de um movimento, passando de uma solucao para outra que seja sua vizinha. e

24

A Subsecao 2.2.1 descreve a heurstica de renamento utilizada neste trabalho, a saber, o M todo Rand mico de Descida. e o

2.3.1

M todo Rand mico de Descida (MRD) e o

O M todo Rand mico de Descida, ou MRD, e uma heurstica de renamento que consiste e o em analisar um vizinho qualquer e o aceitar somente se ele for estritamente melhor que a solucao corrente. Caso esse vizinho n o for melhor, a solucao corrente permanece inalterada e outro a vizinho e gerado. O m todo e nalizado quando se atinge um n mero m ximo de iteracoes e u a (IterMRD) sem que haja a producao de melhorias na solucao corrente. O pseudoc digo do MRD e apresentado na Figura 1. o Procedimento MRD Entrada: Solucao s0 , Funcao f (.) ` Sada: Solucao s de qualidade superior ou igual a s0 de acordo com a funcao f s s0 ; iter 0; enquanto iter < IterMRD faca iter iter + 1; Gere aleatoriamente um vizinho s N(s); se s for melhor que s de acordo com a funcao f ent o a ; ss iter 0; m m Retorne s; Figura 1: Procedimento MRD

2.4

Metaheursticas

Metaheursticas s o procedimentos de busca local destinados a resolver de forma aproxi a mada um problema de otimizacao e que exploram o espaco de solucoes com capacidade de escapar das armadilhas dos otimos locais. Elas diferenciam-se entre si basicamente pelas seguintes caractersticas: a) Crit rio de escolha de uma solucao inicial; e b) Denicao da vizinhanca N(s) de uma solucao s;

25

c) Crit rio de uma solucao vizinha dentro de N(s); e d) Crit rio de t rmino; e e Da mesma forma que as heursticas convencionais, as metaheursticas s o baseadas na a nocao de vizinhanca e exploram o espaco de busca transitando de uma solucao vizinha a outra. Nas Subsecoes 2.4.1, 2.4.2 e 2.4.3 s o apresentadas, respectivamente, as metaheursticas a Iterated Local Search (ILS), Variable Neighborhood Descent (VND) e GRASP referenciadas ao longo deste trabalho.

2.4.1

Iterated Local Search (ILS)

O m todo Iterated Local Search (ILS) e baseado na id ia de que um procedimento de busca e e local pode ser melhorado gerando-se novas solucoes de partida, as quais s o obtidas por meio a de perturbacoes na solucao otima local. Para aplicar um algoritmo ILS, quatro componentes t m que ser especicadas: (a) Procee dimento GeraSolucaoInicial(), que gera uma solucao inicial s0 para o problema; (b) Proce dimento BuscaLocal, que retorna uma solucao possivelmente melhorada s ; (c) Procedimento Perturbacao, que modica a solucao corrente s guiando a uma solucao intermedi ria s e (d) a Procedimento CriterioAceitacao, que decide de qual solucao a pr xima perturbacao ser apli o a cada. A Figura 2 mostra o pseudoc digo do algoritmo ILS b sico. o a Procedimento ILS Entrada: Solucao s, Funcao f (.) de qualidade superior ou igual a s de acordo com a funcao f ` Sada: Solucao s s BuscaLocal(s, f ); enquanto crit rio de parada n o satisfeito faca e a s Perturbacao(hist rico, s ); o s BuscaLocal(s , f ); s Crit rioAceitacao(hist rico, s , s , s ); e o m Retorne s ; Figura 2: Procedimento ILS O sucesso do ILS e centrado no conjunto de amostragem de otimos locais, juntamente com a escolha do m todo de busca local, das perturbacoes e do crit rio de aceitacao. Em e e princpio, qualquer m todo de busca local pode ser usado, mas o desempenho do ILS com e

26

` respeito a qualidade da solucao nal e a velocidade de converg ncia depende fortemente do e m todo escolhido. Normalmente um m todo de descida e usado, mas tamb m e possvel aplicar e e e algoritmos mais sosticados, tais como Busca Tabu ou outras metaheursticas. A intensidade da perturbacao deve ser forte o suciente para permitir escapar do otimo local corrente e permitir explorar diferentes regi es. Ao mesmo tempo, ela precisa ser fraca o o suciente para guardar caractersticas do otimo local corrente. O crit rio de aceitacao e usado para decidir de qual solucao se continuar a exploracao, bem e a como qual ser a perturbacao a ser aplicada. Um aspecto importante do crit rio de aceitacao a e e da perturbacao e que eles induzem aos procedimentos de intensicacao e diversicacao. A intensicacao consiste em permanecer na regi o do espaco onde a busca se encontra, procu a rando explor -la de forma mais efetiva; enquanto a diversicacao consiste em se deslocar para a outras regi es do espaco de solucoes. A intensicacao da busca no entorno da melhor solucao o encontrada e obtida, por exemplo, pela aplicacao de pequenas perturbacoes sobre ela. A diversicacao, por sua vez, pode ser realizada aceitando-se quaisquer solucoes s e aplicando grandes perturbacoes na solucao otima local. Um crit rio de aceitacao comumente utilizado e mover-se para o otimo local s somente se e ele for melhor que o otimo local corrente s, isto e, somente se f (s ) < f (s) em um problema de minimizacao, ou se f (s ) > f (s) em um problema de maximizacao.

2.4.2 Variable Neighborhood Descent (VND)


O M todo de Descida em Vizinhanca Vari vel (Variable Neighborhood Descent, VND), e a proposto por Mladenovi e Hansen (1997), e um m todo de renamento que consiste em exploc e rar o espaco de solucoes atrav s de trocas sistem ticas de estruturas de vizinhanca, aceitando e a ` somente solucoes de melhora da solucao corrente e retornando a primeira estrutura quando uma solucao melhor e encontrada. O pseudoc digo desse algoritmo, em que se considera o renamento de uma solucao s utilio zando uma funcao de avaliacao f , a ser minimizada, e um conjunto de r diferentes vizinhancas N = N (1) ; N (2) ; ...; N (r) , e apresentado pela Figura 3. Dependendo do problema abordado, a busca pelo melhor vizinho (linha 4 da Figura 3) pode ser cara computacionalmente. Nessa situacao e comum fazer a busca pela primeira solucao de melhora. Outra alternativa e considerar a exploracao apenas em um certo percentual da vizinhanca.

27

Procedimento VND Entrada: Solucao s, Vizinhanca N(.), Inteiro r, Funcao f (.) de qualidade superior ou igual a s de acordo com a funcao f ` Sada: Solucao s 1 Seja r o n mero de diferentes estruturas de vizinhanca; u 2 k 1 {Tipo de estrutura de vizinhanca corrente}; 3 enquanto k < r faca 4 Encontre o melhor vizinho s N k (s); 5 se s for melhor que s de acordo com a funcao f ent o a 6 s s 7 k1 8 sen o a 9 k k+1 10 m 11 m 12 s s 13 Retorne s ; Figura 3: Procedimento VND Segundo os autores, o m todo VND baseia-se em tr s princpios b sicos: e e a Um otimo local com relacao a uma dada estrutura de vizinhanca n o corresponde neces a sariamente a um otimo local com relacao a uma outra estrutura de vizinhanca; Um otimo global corresponde a um otimo local para todas as estruturas de vizinhanca; Para muitos problemas, otimos locais com relacao a uma ou mais estruturas de vizinhanca s o relativamente pr ximas. a o Ainda segundo os autores, o ultimo princpio, de natureza emprica, indica que um otimo local frequentemente fornece algum tipo de informacao sobre o otimo global. Esse e o caso em que os otimos local e global compartilham muitas vari veis com o mesmo valor, o que sugere a uma investigacao sistem tica da vizinhanca de um otimo local at a obtencao de uma nova a e solucao de melhor valor.

2.4.3

Greedy Randomized Adaptive Search Procedure (GRASP)

GRASP (Greedy Randomized Adaptive Search Procedure - Procedimento de Busca Adap tativa Gulosa e Randomizada) e um m todo iterativo proposto por Feo e Resende (1995), conse titudo basicamente de duas fases: uma fase de construcao e uma fase de busca local, cujo

28

Procedimento GRASP Entrada: Inteiro GRASPmax, Funcao f (.) melhor quanto a funcao f em GRASPmax iteracoes ` Sada: Solucao s f ; para cada uma das GRASPmax iteracoes faca Construa uma solucao s0 por uma heurstica parcialmente gulosa; Submeta s0 a um procedimento de busca local, retornando s; se f (s) < f ent o a s s; f f (s); m m Retorne s ; Figura 4: Procedimento GRASP ` objetivo e convergir a solucao encontrada na fase de construcao para um otimo local. A Figura 4 apresenta o pseudoc digo b sico do m todo GRASP para um problema de minimizacao. o a e A primeira fase do GRASP e a fase de construcao, na qual uma solucao vi vel e construda a elemento a elemento. Cada elemento ainda n o usado na solucao e avaliado por uma funcao a gulosa g e comp e uma lista, denominada de Lista de Candidatos (LC). Por meio de um fator o [0, 1] e criada uma Lista Restrita de Candidatos (LRC), cujos elementos i s o os melhores a da LC segundo a funcao g e satisfazem a condicao gi gmin + (gmax gmin ), sendo gmin o valor do elemento com a melhor avaliacao segundo g e gmax , o de pior avaliacao. Denida a LRC, seleciona-se, aleatoriamente, um candidato da LRC e, em seguida, atualizam-se as listas / LC e LRC. O m todo p ra quando LC = 0. e a De acordo com Feo e Resende (1995), o par metro , que determina o tamanho da LRC, a inuencia signicativamente a qualidade e diversidade das solucoes geradas durante a fase de construcao. Valores de muito baixos (pr ximos de zero), ou seja, que determinam um tama o ` nho muito limitado para a LRC, geram solucoes pr ximas a solucao puramente gulosa e impli o cam em uma baixa diversidade das solucoes nais. J uma escolha de pr xima da selecao a o puramente aleat ria (valores de pr ximos a 1) leva a uma grande diversidade de solucoes o o construdas mas, por outro lado, muitas das solucoes construdas s o de qualidade inferior, tor a nando mais lento o processo de busca local. O pseudoc digo da fase de construcao e apresentado na Figura 5: o A segunda fase do GRASP consiste em renar a solucao gerada pela fase de construcao, aplicando um m todo de busca local. A velocidade de converg ncia para um otimo local ir e e a depender da qualidade da solucao construda. Quanto melhor for a qualidade da solucao gerada

29

Procedimento Construco GRASP a Entrada: Lista de elementos candidatos LC, Funcao g(.) ` Sada: Solucao s construda de forma parcialmente gulosa quanto a funcao g / s0 enquanto a solucao s n o estiver totalmente construda faca a Classique os elementos de LC de acordo com a funcao g Crie uma LRC, composta pelos melhores elementos da LC Selecione aleatoriamente um elemento de LRC e inclua-o na solucao s Atualize as listas LC e LRC, eliminando o elemento candidato inserido em s m Retorne s; Figura 5: Procedimento Fase de Construcao GRASP pela heurstica de construcao, maior ser a velocidade de converg ncia desta solucao para um a e otimo local.

30

O Planejamento Operacional de Lavra Abordado

O Problema de Planejamento de Lavra a C u Aberto em Mineracao envolve a alocacao e de m quinas e caminh es as frentes de lavra. A Figura 6 ilustra um equipamento de carga a o ` abastecendo um caminh o em uma frente. a

Figura 6: Equipamentos de carga e transporte Cada frente de lavra cont m uma determinada quantidade de material (min rio ou est ril), e e e com caractersticas fsicas, qumicas e econ micas diferenciadas, denominadas par metros de o a controle. Como exemplo tpico de par metros de controle, tem-se: Fe, SiO2 , H2 O, Mn, P, gra a nulometria. Para satisfazer as especicacoes exigidas pelos clientes, e necess rio selecionar as a frentes a serem lavradas e seu ritmo de lavra, os quais devem ser determinados proporcionalmente. Para a operacao de min rio e est ril, a mina conta com uma frota limitada de equipa e e ` mentos de carga, os quais devem ser alocados as frentes de lavra e operarem em uma faixa de produtividade que torne vi vel sua utilizacao (COSTA, 2005). a

31

Considera-se que o transporte do material retirado da frente de lavra e realizado por uma ` frota de caminh es com capacidades de carga diferentes. Esses caminh es s o alocados as o o a frentes de lavra dinamicamente, tentando-se evitar a formacao de las, ou seja, o caminh o e a alocado a um ponto de carga ou basculamento que proporcione o menor tempo de la possvel. O ritmo de lavra e determinado pelas capacidades de operacao dos equipamentos de carga ` e transporte alocados as diversas frentes. Em minas a c u aberto, s o utilizados dois crit rios para a alocacao de caminh es: alocacao e a e o est tica e alocacao din mica. a a

3.1

Alocacao Est tica de Caminh es a o

Na alocacao est tica (Figura 7), um caminh o e alocado a uma unica rota, ou seja, per a a manece se deslocando entre dois pontos xos, um de basculamento e outro de carga. Esta ` estrat gia e geralmente adotada devido a simplicacao das operacoes e ao custo da implantacao e de um sistema de despacho computadorizado de caminh es. o

Figura 7: Alocacao Est tica de Caminh es a o Esse sistema tem a desvantagem de ser sensvel a formacao de las durante as operacoes de ` carga e por n o aproveitar a ociosidade dos caminh es, geradas ao x -los a uma mesma rota. a o a

32

3.2

Alocacao Din mica de Caminh es a o

No sistema de alocacao din mica (Figura 8), os caminh es n o cam xos a uma deter a o a minada rota, como no sistema de alocacao est tica. Eles podem ser direcionados a diferentes a frentes de lavra, onde esteja um equipamento de carga compatvel. Esta estrat gia faz aumentar e a produtividade da frota e proporciona, segundo Costa (2005), um aumento na capacidade de producao da mina ou mesmo a reducao do n mero de equipamentos necess rios para manter o u a mesmo nvel de producao.

Figura 8: Alocacao Din mica de Caminh es a o

3.3

Caractersticas do Problema de Alocacao Abordado

O problema abordado neste trabalho e o de Planejamento Operacional de Lavra com alocacao din mica de caminh es (POLAD), sendo estes de capacidades diferentes. a o Sendo a alocacao din mica, ao descarregar o material, seja no britador (ou pilhas de esto a que pr ximas ao britador) ou na pilha de est ril, o caminh o e direcionado a uma frente, n o o e a a necessariamente a mesma da viagem anterior. Admite-se que h um conjunto de carregadeiras de diferentes produtividades, sendo este a ` conjunto menor que o de frentes as quais elas ser o alocadas. a

33

Considera-se o planejamento para uma hora de producao, sendo este aplicado at uma frente e exaurir ou ocorrer uma quebra de equipamento, situacao na qual deve ser feito outro planeja mento. Dado o elevado custo de uma carregadeira, e imposto um limite mnimo de producao para cada carregadeira para justicar economicamente sua utilizacao. Finalmente, considera-se uma taxa de utilizacao m xima para os caminh es. Por exemplo, a o supondo uma taxa de utilizacao m xima de 85%, um caminh o l de 80 t de capacidade deveria a a trabalhar 51 (= 0,85 60) minutos, no m ximo, em uma hora. Isso e adotado para retratar uma a situacao mais real, uma vez que um caminh o n o ca todo o tempo em atividade. Al m disso, a a e essa taxa de utilizacao m xima tem por objetivo, tamb m, modelar a variabilidade nos tempos a e de ciclo dos caminh es. o

34

Modelo de programacao matem tica a

O modelo proposto de alocacao din mica de caminh es e uma adaptacao daquele de Costa a o ` (2005). Especicamente, a equacao referente a relacao est ril/min rio e substituda por uma e e equacao de meta de producao de est ril. Esta substituicao e feita porque pode ser conveniente e estabelecer limites inferiores ou superiores para a producao de est ril que n o sigam a mesma e a proporcao da meta de min rio. Para tanto, s o criadas vari veis de desvio relativas ao n o e a a a atendimento dessa meta. Adicionalmente, tal como em Guimar es, Pantuza e Souza (2007), s o a a ` includas restricoes relativas as taxas de utilizacao dos caminh es, bem como uma componente o de avaliacao do n mero de veculos usados. u O planejamento da producao e feito para uma hora, sendo replicado enquanto n o houver a frente exaurida e as condicoes operacionais forem as mesmas. O objetivo do modelo e mini mizar os desvios das metas de producao e qualidade, bem como reduzir o n mero de veculos u ` necess rios a operacao. Para sua apresentacao, sejam os seguintes par metros: a a M : Conjunto de frentes de min rio; e E F T C V Pl : Conjunto de frentes de est ril; e : Conjunto de frentes de min rio e est ril, isto e, F = M E; e e : Conjunto de par metros de controle analisados no min rio; a e : Conjunto de equipamentos de carga; : Conjunto de equipamentos de transporte (caminh es); o : Ritmo de lavra mnimo relativo a min rio (t/h); e

Pr : Ritmo de lavra recomendado relativo a min rio (t/h); e Pu : Ritmo de lavra m ximo relativo a min rio (t/h); a e Er : Ritmo de lavra recomendado relativo a est ril (t/h); e El : Ritmo de lavra mnimo relativo a est ril (t/h); e Eu : Ritmo de lavra m ximo relativo a est ril (t/h); a e : Penalidade por desvio negativo da producao de min rio; e + : Penalidade por desvio positivo da producao de min rio; e

35

: Penalidade por desvio negativo da producao de est ril; e + : Penalidade por desvio positivo da producao de est ril; e ti j : Percentual do par metro de controle j na frente i (%); a tr j : Percentual recomendado para o par metro de controle j na mistura (%); a tl j : Percentual mnimo admissvel para o par metro de controle j na mistura (%); a tu j : Percentual m ximo admissvel para o par metro de controle j na mistura (%); a a : Penalidade por desvio negativo para o par metro de controle j na mistura; a j + : Penalidade por desvio positivo para o par metro de controle j na mistura; a j l : Penalidade por uso do l- simo caminh o; e a Qui : Ritmo de lavra m ximo para a frente i (t/h); a T xl : Taxa m xima de utilizacao do caminh o l (%); a a Clk : Producao mnima do equipamento de carga k (t/h); Cuk : Producao m xima do equipamento de carga k (t/h); a capl : Capacidade do caminh o l (t); a tcil : Tempo total de ciclo do caminh o l na frente i (min); a glk : 1, se o caminh o l e compatvel com o equipamento de carga k; e 0, caso contr rio. a a Denamos as seguintes vari veis de decis o: a a xi : Ritmo de lavra da frente i (t/h);

yi j : 1, se o equipamento de carga k opera na frente i; e 0, caso contr rio. a nil : N mero de viagens que um caminh o l realiza na frente i; u a
Pm : Desvio negativo de producao de min rio em relacao ao recomendado (t/h); e + Pm : Desvio positivo de producao de min rio em relacao ao recomendado (t/h); e Pe : Desvio negativo de producao de est ril em relacao ao recomendado (t/h); e + Pe : Desvio positivo de producao de est ril em relacao ao recomendado (t/h); e

d : Desvio negativo do par metro j na mistura (t/h); a j d + : Desvio positivo do par metro j na mistura (t/h); a j Ul : 1, se o veculo l e usado; e 0, caso contr rio. a A seguir, e apresentado pelas equacoes (1)-(26), o modelo de programacao matem tica a relativo ao problema abordado.

+ + min d + + d + + Pm + + Pm + Pe + + Pe + l Ul j j j j jT jT lV

(4.1)

36

iM

(ti j tu j )xi
iM

0 0 = 0 Pu Pl = Pr Eu El = Er

j T j T j T

(4.2) (4.3) (4.4) (4.5) (4.6) (4.7) (4.8) (4.9) (4.10)

(ti j tl j )xi xi xi xi

iM

(ti j tr j )xi + d d + j j
iM

iM iM

+ xi + Pm Pm

iE iE iE

xi

xi + Pe Pe+

xi Qui xi 0 d, d+ 0 j j
+ Pm , Pm 0 + Pe , Pe 0

i F i F j T

(4.11) (4.12) (4.13) (4.14) (4.15)

yik
kC iF

1 1 {0, 1}

i F k C i F, k C i F i F i F, l V i F i F i F i F, l V l V

(4.16) (4.17) (4.18) (4.19) (4.20) (4.21) (4.22) (4.23) (4.24) (4.25) (4.26)

yik
yik

xi Cuk yik 0
kC

xi Clk yik 0
kC

nil T cil 60

kC, glk =1

yik 0

xi nil capl = 0
lV

1 nil tcil T xl 60 lV Ul 1 nil tcil 0 60 lV nil Ul Z+ {0, 1}

A funcao objetivo (4.1) procura minimizar os desvios com relacao a qualidade e producao ` de min rio e est ril, bem como o n mero de caminh es utilizados. As restricoes (4.2)-(4.15) e e u o tratam o problema cl ssico de mistura com metas. Nesse grupo, as restricoes (4.7) e (4.10) a

37

dizem respeito, respectivamente, aos atendimentos das metas de producao de min rio e est ril, e e enquanto as restricoes (4.11) limitam o ritmo de lavra m ximo denido pelo usu rio. a a As demais restricoes que complementam o modelo podem ser divididas em dois grupos. O ` primeiro diz respeito a alocacao de equipamentos de carga e a faixa de produtividade que torna vi vel a utilizacao desses equipamentos. O segundo grupo est relacionado ao transporte de a a ` material na mina e a alocacao e utilizacao dos caminh es. o Em relacao ao primeiro grupo, as restricoes (4.16) denem que em cada frente pode ser alo cado, no m ximo, um unico equipamento de carga, enquanto que as restricoes (4.17) denem a que cada equipamento de carga pode operar, no m ximo, em uma unica frente. As restricoes a (4.18) denem que as vari veis yik s o bin rias. As restricoes (4.19) e (4.20) limitam, respectia a a ` vamente, o ritmo de lavra m ximo e mnimo, denidos pela carregadeira alocada a frente. a No segundo grupo de restricoes, cada restricao (4.21) faz com que um caminh o somente a realize viagens a uma frente onde esteja alocado um equipamento de carga compatvel. As ` restricoes (4.22) fazem com que o ritmo de lavra de uma frente seja igual a producao realizada ` pelos caminh es alocados a frente. As restricoes (4.23) denem que cada caminh o opere no o a m ximo T x% em uma hora. As restricoes (4.24), juntamente com a funcao objetivo, forcam a com que os caminh es usados sejam penalizados. As restricoes (4.25) forcam que seja inteiro o positivo o n mero de viagens que um caminh o faz a uma frente. As restricoes (4.26) indicam u a que as vari veis Ul s o bin rias. a a a

38

Metodologia Heurstica

Neste captulo apresenta-se a metodologia heurstica proposta para resolver o POLAD. A Secao 5.1 descreve como uma solucao do POLAD e representada. A heurstica utilizada para geracao da solucao inicial e apresentada na Secao 5.2, e na Secao 5.3 s o apresentados os a movimentos que constituem as estruturas de vizinhanca utilizadas para resolucao do problema. A Secao 5.4 mostra como uma solucao e avaliada. Os algoritmos heursticos propostos para resolver o POLAD s o descritos na Secao 5.5. a

5.1

Representacao de uma solucao

Uma solucao do POLAD e representada por uma matriz R|F|(1+|V |) de valores inteiros, sendo F o conjunto de frentes e V o conjunto de caminh es. o Para clareza de apresentacao, a matriz R|F|(1+|V |) e decomposta em duas submatrizes Y e N, com R = [Y |N], sendo Y = (yi )|F|1 e N = (nil )|F||V | . A submatriz Y|F|1 representa a alocacao dos equipamentos de carga ao conjunto F de frentes e o respectivo status de cada um desses equipamentos com relacao ao fato de estarem ativos ou n o. Em cada c lula yi da matriz a e ` Y|F|1 representa-se a carregadeira k alocada a frente i. Um valor D signica que n o existe a carregadeira alocada. Se n o houver viagens feitas a uma frente i, a carregadeira k associada a a tal frente e considerada inativa e n o e penalizada por producao abaixo da mnima para este a equipamento de carga (restricoes (4.20) da formulacao de programacao matem tica, p gina 36). a a ` A submatriz N = (nil )|F||V | representa o n mero de viagens realizadas pelos caminh es l as u o frentes i. Um valor 0 (zero) signica que n o h viagem para aquele caminh o, enquanto um a a a ` valor X informa que h incompatibilidade entre o caminh o e a carregadeira alocada aquela a a frente. A Tabela 1 exemplica uma solucao para uma inst ncia do problema. Nesta tabela, as a linhas representam as frentes de lavra disponveis no conjunto F, a coluna CARGA representa a ` alocacao dos equipamentos de carga as frentes de lavra e as demais colunas indicam o n mero u

39

de viagens que ser o realizadas pelo conjunto V de caminh es disponveis. a o Tabela 1: Exemplo de caractersticas de uma solucao para o POLAD F1 F2 F3 ... FF Carga Cam1 Cam2 < Car1 , 1 > 8 X < D, 0 > 0 0 < Car8 , 0 > 0 0 ... ... ... < Car5 , 1 > 0 9 ... CamV ... X ... 0 ... 0 ... ... ... 3

Neste exemplo observa-se, na coluna CARGA, linha F1 , a dupla Car1 , 1 , indicando que ` o equipamento de carga Car1 est alocado a frente F1 e em operacao. Na coluna CARGA, a ` linha F3 , a dupla Car8 , 0 indica que o equipamento de carga Car8 est alocado a frente F3 , a mas n o est em operacao. Observa-se, ainda, na coluna CARGA, linha F2 , o valor D, 0 a a ` informando que n o existe equipamento de carga alocado a frente F2 e que, portanto, esta frente a est disponvel. As demais colunas representam o n mero de viagens a serem realizadas por a u um caminh o a uma frente, considerando a compatibilidade entre o caminh o e o equipamento a a ` de carga alocado a frente. As c lulas com os valores X indicam incompatibilidade entre um e caminh o e o respectivo equipamento de carga. a A partir de Y , N e dos tempos de ciclo dados na matriz TC = (tcil )|F||V | s o determinados a o ritmo de lavra em cada frente e o somat rio dos tempos de ciclo de cada caminh o. o a

5.2

Geracao de uma solucao inicial

Para gerar uma solucao inicial para o POLAD, foram desenvolvidos tr s procedimentos: e aleat rio, guloso e parcialmente guloso. o

5.2.1

Geracao Aleat ria o

Na geracao aleat ria, a formacao de uma solucao inicial e feita em duas etapas. Na pri o meira, os equipamentos de carga disponveis s o numerados e a seguir esses valores s o aleato a a riamente distribudos na submatriz Y , com cada c lula recebendo um unico valor, no m ximo. e a ` Na segunda etapa, atribui-se a cada c lula nil da submatriz N, um valor aleat rio compreendido e o entre o n mero mnimo e o m ximo de viagens a serem realizadas pelo caminh o l a frente i, u a a ` ` desde que exista compatibilidade entre o equipamento de carga alocado a frente i e o caminh o a l.

40

5.2.2

Geracao Parcialmente Gulosa

Uma solucao inicial para o problema e obtida por um procedimento construtivo parcial ` mente guloso, semelhante a da fase de construcao GRASP (FEO; RESENDE, 1995). A construcao ` e feita em duas etapas. As alocacoes das carregadeiras e a distribuicao das viagens as frentes ` ` s o feitas, na primeira etapa, as frentes de est ril, e na segunda, as frentes de min rio. Esta a e e ` estrat gia e adotada tendo em vista que nas frentes de est ril o importante e atender a producao e e e n o e necess rio observar a qualidade. a a Nas guras 9 e 10 s o mostrados os pseudoc digos dos procedimentos de construcao mena o cionados. Na classicacao dos elementos candidatos a ser inseridos na solucao considera-se que para as frentes de est ril, a melhor frente e a que possui a maior massa, a melhor carree gadeira e a que oferece a maior producao e o melhor caminh o e o de maior capacidade. J a a para as frentes de min rio considera-se que a melhor frente e a que possui o menor desvio dos e teores em relacao as metas, a melhor carregadeira e a que oferece a maior producao e o melhor ` caminh o e o de menor capacidade. a Procedimento ConstriSolucoEstril o a e Sada: Solucao de est ril s e enquanto a producao de est ril for menor que a producao recomendada e existirem e frentes de est ril n o utilizadas faca e a f renteAtual melhor frente de est ril ainda n o utilizada ; e a se n o h carregadeira na frente f renteAtual ent o a a a Aloque a melhor carregadeira ainda n o alocada; a s s ; se n o h carregadeira na frente f renteAtual ent o Retorne s a a a para cada caminh o l faca a se o caminh o l for compatvel com a carregadeira da frente f renteAtual a ent o a enquanto a producao de est ril for menor que a producao e recomendada e o caminh o l pode fazer mais uma viagem faca a Aloque uma viagem ao caminh o l para a frente f renteAtual; a m m m m m Retorne s; Figura 9: Construcao de uma solucao para o carregamento de est ril e Nesse algoritmo, a cada iteracao gera-se uma solucao inicial parcialmente gulosa, s0 , a trav s de uma adaptacao da construcao gulosa, descrita na Subsecao 2.4.3. Essa adaptacao se e

41

` refere as escolhas das frentes e carregadeiras, que passam a ser escolhidas atrav s de uma LRC e (Lista Restrita de Candidatos). Nessa construcao, as escolhas s o realizadas de forma gulosa, a ` isto e, a carregadeira de maior produtividade e alocada a frente de maior disponibilidade de min rio/est ril. J na fase de construcao GRASP, a carregadeira a ser alocada n o e necessariae e a a mente a de maior produtividade, mas uma das GRASP C carregadeiras de maior produtividade. O mesmo acontece com as frentes, que s o escolhidas dentre as GRASP F frentes de maior a disponibilidade de min rio/est ril. e e A solucao inicial e renada pelo procedimento de busca local VND, apresentado na Sub secao 2.4.2, gerando uma solucao s . Se a solucao s for melhor que a melhor solucao (s ) encontrada at ent o, aceita-se s como a nova solucao s . O m todo p ra quando o n mero e a e a u m ximo de iteracoes (GRASPmax) for atingido. a A escolha da frente f renteAtual na segunda etapa da construcao (Figura 10) e feita por uma funcao guia, tal como em Bresina (1996). Primeiramente, todas as frentes candidatas s o orde a ` e nadas tendo em vista os valores dos desvios das metas de qualidade. A r- sima frente melhor classicada, e associada uma funcao guia bias(r) = 1/(2r). A seguir, cada frente candidata e es colhida com probabilidade p(r) = bias(r)/ bias(r). Nesta estrat gia, d -se maior probabilidade e a ` de escolha a frente que mais contribui para minimizar os desvios das metas. Procedimento ConstriSolucoMinrio o a e Sada: Solucao de min rio s e enquanto a producao de min rio for menor que a producao recomendada e existirem e frentes de min rio n o utilizadas faca e a Ordene as frentes pelos desvios de meta (ordem crescente); f renteAtual Escolha uma das frentes de min rio que podem ser utilizadas; e se n o h carregadeira na frente f renteAtual ent o a a a Aloque a melhor carregadeira ainda n o alocada; a se todas as carregadeiras j foram alocadas ent o Retorne s a a para cada caminh o l faca a se o caminh o l for compatvel com a carregadeira da frente f renteAtual a ent o a enquanto a producao de min rio for menor que a producao e recomendada e o caminh o l pode fazer mais uma viagem faca a Aloque uma viagem ao caminh o l para a frente f renteAtual; a m m m m m Retorne s; Figura 10: Construcao de uma solucao para o carregamento de min rio e

42

A solucao inicial e construda com base nos procedimentos ConstroiSolucaoEst ril (Figura e 9), e ConstroiSolucaoMin rio (Figura 10), executados nesta ordem. Se a solucao s for melhor e que a melhor solucao (s ) encontrada at ent o, aceita-se s como a nova solucao s . O m todo e a e p ra quando o n mero m ximo de iteracoes (GRASPmax) for atingido. a u a O pseudoc digo dessa metodologia e apresentado na Figura 11. o Procedimento GRASP POLAD f ; iter 0; enquanto iter < GRASPmax faca s0 ConstroiSolucaoParcialmenteGulosa(); Submeta s a um procedimento de busca local; se f (s )< f (s ) ent o a s ; s m m s0 s // Retorne a solucao s0 ; Figura 11: Procedimento GRASP aplicado ao POLAD

43

5.3

Estruturas de vizinhanca

Para explorar o espaco de solucoes do POLAD foram desenvolvidos 8 tipos diferentes de movimentos, apresentados a seguir, para denir oito estruturas de vizinhanca N k (s). Os seis pri meiros movimentos, e suas devidas estruturas de vizinhanca, foram propostos em Costa (2005). As demais representam contribuicoes do presente trabalho.

5.3.1

Movimento Carga - NCG (s)

Consiste em trocar duas c lulas distintas yi e yk da matriz Y , ou seja, trocar os equipamentos e de carga que operam nas frentes i e k, caso as duas frentes possuam equipamentos de carga alocados. No caso de apenas uma das frentes possuir equipamento de carga e a outra estiver ` disponvel, esse movimento consistir em realocar o equipamento de carga a frente disponvel. a ` Para manter a compatibilidade entre carregadeiras e caminh es, as viagens feitas as frentes o s o realocadas juntamente com as frentes escolhidas. a As Figuras 12 e 13 ilustram a aplicacao deste tipo de movimento. Na Figura 12, a frente F4 que antes operava com o equipamento Car4 , passa a car disponvel; e a frente F2, que antes estava disponvel, passa a operar com o equipamento Car4 .

Figura 12: Movimento de realocacao de equipamentos de carga (frente disponvel) Na Figura 13, as frentes F1 e F3 foram selecionadas e o equipamento de carga Car1 , ante` riormente alocado a frente F1 , e realocado para a frente F3 , carregando tamb m as viagens de e F1 para F3 . O mesmo ocorre em F3 , onde antes operava a carregadeira Car2 , que passa a operar com Car1 .

5.3.2

Movimento Operacao Frente - N OF (s)

Consiste em retirar de operacao o equipamento de carga que esteja em operacao na frente i. O movimento retira todas as viagens feitas a esta frente, deixando o equipamento inativo. O

44

Figura 13: Movimento de realocacao de equipamentos de carga ` equipamento retorna a operacao assim que uma nova viagem e associada a ele. Na Figura 14, a frente F2 que antes estava em operacao e tinha viagens de Cam1 e Cam2 , passa a n o ter mais tais viagens e sua carregadeira e considerada inativa, n o sendo penalizada a a na funcao objetivo.

Figura 14: Movimento parar operacao de uma frente

5.3.3

Movimento Numero de Viagens - N NV (s)

Este movimento consiste em aumentar ou diminuir o n mero de viagens de um caminh o l u a a uma frente i, onde esteja operando um equipamento de carga compatvel. Desta maneira, uma c lula nil da matriz N tem seu valor acrescido ou decrescido de uma unidade. e A Figura 15 ilustra o movimento de diminuicao do n mero de viagens realizadas pelo u caminh o Cam2 na frente F2 , de 3 para 2 viagens. a Na Figura 16 o movimento aumenta o n mero de viagens realizadas pelo caminh o Cam2 u a na frente F2 , alterando o n mero de viagens de 3 para 4. u

Figura 15: Movimento de decr scimo no n mero de viagens e u

45

Figura 16: Movimento de acr scimo no n mero de viagens e u

5.3.4

Movimento Realocar Viagem de um Caminh o - NVC (s) a

Consiste em selecionar duas c lulas nil e nkl da matriz N e repassar uma unidade de nil para e nkl . Assim, neste movimento, um caminh o l deixa de realizar uma viagem em uma frente i para a realiz -la em outra frente k. Restricoes de compatibilidade entre equipamentos s o respeitadas a a neste movimento, havendo realocacao de viagens apenas quando houver compatibilidade entre eles. A Figura 17 ilustra este movimento, onde o caminh o Cam1 e as frentes F1 e F2 s o selecia a onados, e uma viagem de F1 e realocada para F2 .

Figura 17: Movimento de realocacao de viagens de um caminh o a

46

5.3.5

Movimento Realocar Viagem de uma Frente - NV F (s)

Duas c lulas nil e nik da matriz N s o selecionadas e uma unidade de nil l e realocada para e a nik . Portanto, esse movimento consiste em realocar uma viagem de um caminh o l para um a caminh o k que esteja operando na frente i. Restricoes de compatibilidade entre equipamena tos s o respeitadas neste movimento, havendo realocacao de viagens apenas quando houver a compatibilidade entre eles. Este movimento e apresentado na Figura 18, onde a frente F2 foi selecionada e uma viagem a do caminh o Cam2 e transferida para o caminh o Cam1 . a

Figura 18: Movimento de realocacao de viagens de uma frente

5.3.6

Movimento Operacao Caminh o - N OC (s) a

Consiste em selecionar uma c lula nil da matriz N e zerar seu conte do, signicando retirar e u de atividade um caminh o l que esteja operando em uma frente i. a A Figura 19 ilustra este movimento. Na gura, observa-se que o caminh o Cam2 e a frente a F2 foram selecionados e o n mero de viagens foi zerado, ou seja, Cam2 n o ir operar em F2 . u a a

Figura 19: Movimento parar operacao de um caminh o em uma frente a

5.3.7

Movimento Troca de Viagens - NV T (s)

Duas c lulas da matriz N s o selecionadas e uma viagem e realocada entre elas. Tal movie a mento pode ocorrer entre quaisquer c lulas da matriz N, respeitando-se as restricoes de compae tibilidade entre equipamentos.

47

A Figura 20 ilustra este movimento. Nela, observa-se que a frente F1 e o caminh o Cam1 , a assim como a frente F4 e o caminh o Cam2 foram selecionados, transferindo-se uma viagem de a um caminh o para outro. a

Figura 20: Movimento troca de viagens

5.3.8

Movimento Troca de Carregadeiras - NCT (s)

Consiste em trocar duas c lulas distintas yi e yk da matriz Y , ou seja, trocar os equipamentos e de carga que operam nas frentes i e k. Analogamente ao movimento CG, em um movimento ` CT os equipamentos de carga das frentes s o trocados, mas as viagens feitas as frentes n o s o a a a alteradas. Para manter a compatibilidade entre carregadeiras e caminh es, as viagens feitas a o frentes com equipamentos de carga incompatveis s o removidas. a ` Na Figura 21 observa-se que as carregadeiras Car1 e Car3 , alocadas as frentes F1 e F4 , respectivamente, s o trocadas, mas as viagens feitas a estas frentes s o mantidas. Por m, para a a e manter a compatibilidade entre caminh es e carregadeiras, o caminh o Cam1 , incompatvel com o a ` a carregadeira Car3 , tem agora suas viagens a frente F1 zeradas visto sua incompatibilidade com ` ` a carregadeira alocada a frente. O caminh o Cam1 pode agora fazer viagens a frente F4 , uma vez a que agora se encontra alocada nesta frente a carregadeira Car1 , compatvel com tal caminh o. a

Figura 21: Movimento troca de carregadeiras

48

5.4

Funcao de avaliacao

Como os movimentos desenvolvidos podem gerar solucoes invi veis, uma solucao e ava a liada por uma funcao f , a ser minimizada, composta por duas parcelas. A primeira delas e a funcao objetivo propriamente dita, f PM (equacao (4.1) do modelo de programacao matem tica), a e a segunda e composta pelas funcoes que penalizam a ocorr ncia de inviabilidade na solucao e corrente. Assim, a funcao f mensura o desvio dos objetivos considerados e penaliza o n o a ` atendimento as restricoes do problema. Ela est denida pela equacao (5.1). a

f (s) = f PM (s) + f p (s) + em que:

jT

f j (s) + flu(s) + fkc(s)


lV kC

(5.1)

` f PM (s) e uma funcao que avalia s quanto ao atendimento as metas de producao e qualidade, bem como n mero de caminh es utilizados (mesma do modelo de programacao matem tica); u o a f p (s) avalia s quanto ao desrespeito aos limites de producao estabelecidos para a quantidade de min rio e est ril; e e ` f j (s) avalia s quanto a inviabilidade em relacao ao j- simo par metro de controle; e a flu (s) avalia s quanto ao desrespeito do atendimento da taxa de utilizacao m xima do l- simo a e caminh o; a
c fk (s), que avalia s quanto ao desrespeito aos limites de produtividade da carregadeira k. q

Mostra-se, a seguir, como cada uma dessas componentes da funcao f (s) e avaliada.

5.4.1

Producao de Min rio e Est ril e e

` Quanto a producao de min rio e est ril, uma solucao s e avaliada segundo a Equacao (5.2). e e

f p (s) = m max(0, Pl Pm ) + m+ max(0, Pm Pu ) + e max(0, El Pe ) + e+ max(0, Pe Eu ) em que: Pm : Producao de min rio (t/h); e (5.2)

49

Pl : Limite mnimo de producao de min rio (t/h); e Pu : Limite m ximo de producao de min rio (t/h); a e ` m+ : Peso associado a inviabilidade quanto ao limite m ximo de producao de min rio. a e ` m : Peso associado a inviabilidade quanto ao limite mnimo de producao de min rio. e Pe : Producao de est ril (t/h); e El : Limite mnimo de producao de est ril (t/h); e Eu : Limite m ximo de producao de est ril (t/h); a e ` e+ : Peso associado a inviabilidade quanto ao limite m ximo de producao de est ril. a e ` e : Peso associado a inviabilidade quanto ao limite mnimo de producao de est ril. e O valor Pm da producao de min rio e obtido pelo somat rio de todas as viagens realiza e o das pelos caminh es as frentes de min rio multiplicadas pelas suas respectivas capacidades de o ` e carga, conforme Equacao (5.3).

Pm = em que: M : Conjunto de frentes de min rio; e V : Conjunto de caminh es; o

iM lV

nil capl

(5.3)

` nil : N mero de viagens que um caminh o l faz a uma frente i em uma hora; u a capl : Capacidade do caminh o l (t). a O valor de Pe da producao de est ril e obtido analogamente pela equacao (5.4). e

Pe = em que: E : Conjunto de frentes de est ril; e V : Conjunto de caminh es; o

iE lV

nil capl

(5.4)

50

` nil : N mero de viagens que um caminh o l faz a uma frente i em uma hora; u a capl : Capacidade do caminh o l(t). a

5.4.2

Qualidade da Mistura

A qualidade da mistura e mensurada pelo desvio em relacao as metas relativas aos par ` a metros de controle. A Equacao (5.5) avalia esse desvio para o j- simo elemento do conjunto T , e de par metros de controle. a

f j (s) = j max(0, Ql j Q j ) + + max(0, Q j Qu j ) j j em que:

j T

(5.5)

Q j : Quantidade encontrada na mistura para o par metro de controle j (ton); a Ql j : Quantidade mnima para o par metro de controle j na mistura (ton); a Qu j : Quantidade m xima para o par metro de controle j na mistura (ton); a a ` : Peso associado a quantidade mnima do par metro j; a j ` + : Peso associado a quantidade m xima do par metro j; a a j j : Multiplicador associado ao par metro j. a Os valores de Q j , Ql j e Qu j s o avaliados conforme as Equacoes (5.6), (5.7) e (5.8), resa pectivamente.

Qj =

iM

ti j xi
iM

j T j T j T

(5.6) (5.7) (5.8)

Ql j = tl j Qu j = tu j

xi xi

iM

O multiplicador j e utilizado para equiparar os par metros de controle em uma mesma a ordem de grandeza, de modo que os pesos e + sejam aplicados coerentemente. j j

51

5.4.3

Utilizacao dos Caminh es o

Os caminh es s o avaliados de acordo com a carga transportada, dada em toneladas de o a min rio por hora, conforme Equacao (5.9). e

flu (s) = + capl max(0, TUl T xl ) l V em que: TUl : Taxa de utilizacao do caminh o l (t/h); a T xl : Taxa m xima de utilizacao do caminh o l (%). a a

(5.9)

A taxa de utilizacao de um caminh o l (TUl ) e dada pela Equacao (5.10), que retorna o a percentual do tempo em que o caminh o e efetivamente utilizado em uma hora de operacao. a

TUl =

iF nil tcil l V 60

(5.10)

O fator + penaliza uma solucao que apresenta um caminh o sendo utilizado acima da sua a utilizacao m xima. a

5.4.4

Producao dos Equipamentos de Carga

Cada equipamento de carga deve operar em uma faixa de producao que garanta a sua viabi lidade operacional. A producao do equipamento de carga e avaliada conforme o ritmo de lavra ` da frente a qual est alocado, como mostra a Equacao (5.11). a

fic (s) = max{0,Clk xi } + + max{0, xi Cuk } i F k k em que: xi : Ritmo de lavra da frente i (t/h); k : Equipamento de carga que est operando na frente i; a ` Cuk : Producao m xima do equipamento de carga k alocado a frente i (t/h); a

(5.11)

52

` Clk : Producao mnima do equipamento de carga k alocado a frente i (t/h); Os fatores e + penalizam uma solucao que apresenta um equipamento de carga com k k producao abaixo ou acima, respectivamente, da producao mnima e m xima previamente esta a belecida.

5.5

Algoritmos Propostos

Para resolver o POLAD, s o desenvolvidos dois algoritmos, GVILS e H-GVILS, os quais a s o descritos a seguir. a

5.5.1

Algoritmo GVILS aplicado ao POLAD

O algoritmo GVILS combina os procedimentos GRASP (FEO; RESENDE, 1995), Variable


Neighborhood Descent - VND (MLADENOVIC; HANSEN, 1997) e Iterated Local Search - ILS

(LOURENcO; MARTIN; ST TZLE, 2003). Seu pseudoc digo est esquematizado na Figura 22. u o a Procedimento GVILS Entrada: Solucao s, Inteiro ILStempo, Inteiro ILSmax, Funcao f (.) de qualidade superior ou igual a s de acordo com a funcao f ` Sada: Solucao s 1 s FaseConstrucaoGRASP(s, f ); 2 p 0; 3 enquanto crit rio de parada n o satisfeito faca e a 4 iter 0; 5 enquanto iter < ILSmax and crit rio de parada n o satisfeito faca e a 6 s perturbacao(s , p); 7 s VND(s , f ); 8 se s for melhor que s de acordo com a funcao f ent o a 9 s s ; 10 p 0; 11 iter 0; 12 sen o a 13 iter iter + 1; 14 m 15 m 16 p p + 1; 17 m 18 Retorne s ; Figura 22: Algoritmo GVILS proposto Uma solucao inicial (linha 1 da Figura 22) e gerada pelo procedimento parcialmente guloso

53

GRASP, conforme descrito na Secao 5.2. A busca local e feita pelo procedimento VND usando se os movimentos descritos na secao 5.3. Estrategicamente, a busca local opera nas vizinhancas em uma ordem pr -denida, comecando das que exigem menor esforco computacional para e aquelas que exigem maior esforco. Como em testes preliminares algumas vizinhancas n o produziam bons otimos locais ou a despendiam muito tempo de processamento para alcancar um otimo local, apenas um grupo reduzido de vizinhancas foi utilizado nessa busca local. Assim, o VND utiliza a seguinte ordem ` de exploracao de vizinhancas: NCG , N NV , NVC e NV F . Os movimentos relativos as vizinhancas NCT , N OC , N OF e NV T , foram utilizados apenas como perturbacao da solucao corrente. O objetivo da perturbacao e diversicar a busca, gerando uma solucao diferente e cada vez mais distante da regi o atual de exploracao no espaco de busca. Para cumprir esta miss o, s o a a a estabelecidos v rios nveis de perturbacao. Para um dado nvel p de perturbacao, s o aplicados a a ` a solucao corrente p + 2 movimentos, cada qual escolhido aleatoriamente dentre 6 daqueles descritos na Subsecao 5.3. Cada movimento e escolhido de acordo com uma certa probabili dade, dada por: 30% para N NV , 20% para NV T , 20% para NCG , 10% para NCT , 10% para N OF ` e 10% para N OC . Essa probabilidade diferenciada deveu-se a inu ncia mais signicativa dos e movimentos baseados em alteracao do n mero de viagens, troca de viagens e troca dos equi u pamentos de carga na qualidade da solucao nal. A essa solucao perturbada e aplicada busca local, baseada no procedimento VND (linha 7 da Fig. 22). Ap s ILSMax iteracoes sem melhora o em um dado nvel, este e aumentado em uma unidade. No caso de se encontrar uma solucao de melhora, o nvel de perturbacao volta ao seu nvel mais baixo, no caso, p = 0.

5.5.2

Algoritmo H-GVILS aplicado ao POLAD

O algoritmo H-GVILS e um aperfeicoamento do algoritmo GVILS descrito na Secao an terior. Neste algoritmo, a partir de um determinado nvel de perturbacao, a busca local (linha 7 da Figura 22) n o passa a ser feita de forma heurstica e sim de forma exata. Para tanto, a xa-se uma parte grande do problema e resolve-se na otimalidade uma parte pequena do POLAD. Al m disso, h diferenca tamb m na maneira como s o feitas as perturbacoes ap s esse e a e a o determinado nvel de perturbacao e alcancado. ` No H-GVILS, para cada nvel p de perturbacao, s o aplicados a solucao corrente p + 2 a movimentos, escolhidos aleatoriamente dentre os 8 descritos na Subsecao 5.3. A diferenca e que ap s um nvel H de perturbacoes, o m todo comeca a fazer perturbacoes da seguinte o e maneira: inicialmente seleciona-se aleatoriamente 10% das frentes e xa-se no modelo exato (formulacao de programacao matem tica, descrita no Captulo 4) todas as conguracoes das a

54

outras frentes n o selecionadas, ou seja, as c lulas das matrizes Y , de carregadeiras e N, de a e viagens, que n o pertencem a estes 10% selecionados. Desta maneira, executa-se o otimizador a de programacao matem tica e retorna-se como solucao perturbada a solucao encontrada pelo a m todo exato. A cada nvel s o aumentados mais 10% de frentes livres, de forma que ao t rmino e a e de dez nveis, o m todo e executado totalmente de forma exata. O procedimento de solucao via e o otimizador e interrompido em duas situacoes: (i) ap s encontrar a solucao otima ou (ii) ap s o o decorridos segundos de processamento.

55

Sistema Desenvolvido

6.1

Implementacao Computacional

Os algoritmos propostos foram implementados na linguagem C++ e tiveram sua estrutura projetada no modelo de um framework (Figura 23). Tal estrat gia se justica pelo fato de e que durante o desenvolvimento deste trabalho percebeu-se que muitas abstracoes poderiam ser feitas no c digo de forma que este pode ent o ser aproveitado parcialmente e at integralmente o a e para problemas semelhantes ao POLAD e mesmo para muitos outros problemas de otimizacao. Desta forma, reduziu-se enormemente o tempo de programacao, tempo que pode ser aplicado para um melhor detalhamento e an lise do problema real e melhor aproveitamento dos detalhes a intrnsecos do problema abordado. Outra raz o para esta abordagem de framework e que esta se a tornou a forma mais natural de se trabalhar com uma integracao hbrida entre modelos exatos e metaheursticas.

Figura 23: Estrutura de camadas do sistema O framework considera que as estruturas de vizinhancas s o compostas de um n mero nito a u de movimentos, e que tais movimentos s o numer veis. O pr prio framework e dividido em a a o duas camadas, onde a primeira cont m apenas classes abstratas, que devem ser implementadas e e servem de esqueleto para a segunda camada. Com a primeira denida pode-se usufruir de toda a estrutura montada na segunda camada, onde est o os m todos da descida, VND, ILS, integracao a e com modelos exatos, que podem ser chamados independentemente do problema abordado sem a necessidade de edicao de uma linha de c digo sequer em tais m todos. o e

56

Um m todo e denido por uma classe abstrata que abstrai o m todo executar :: Solucao e e Solucao, o qual parte de uma solucao e retorna uma nova solucao, sendo esta melhor ou igual ` a solucao de entrada. Outros par metros, exclusivos de cada m todo, s o colocados nos cons a e a trutores de seus objetos, de forma que algum outro m todo pode cham -lo no seu corpo sem e a precisar conhec -lo. Para isso, basta esse outro m todo estar instanciado e ter denida a funcao e e executar. Este mecanismo facilita a integracao de m todos, e como conseq encia, propicia e u maior facilidade na execucao de testes diversos para uma estrutura de problema j denida. a A Figura 24 mostra a estrutura completa do framework, onde N k denota a k- sima estrutura e de vizinhanca, e M k a k- sima estrutura de representacao do movimento. e

Figura 24: Estrutura completa do sistema

57

Resultados

7.1

Descricao dos problemas-teste

Os problemas-teste utilizados para teste foram os mesmos de Costa (2005). Tais cen rios a se referem a dados do planejamento operacional de empresas mineradoras do quadril tero a ferrfero, situado na regi o central do Estado de Minas Gerais. Os par metros de controle s o a a a os teores qumicos (Fe, SiO2 , Mn, P, H2 O etc) e granulometrias especicadas para o min rio. e A diferenca reside apenas na funcao de avaliacao que, ao contr rio deste autor, considera a a penalizacao pela utilizacao de veculos, bem como a inclus o de uma nova restricao que im a pede um caminh o de operar mais que uma determinada taxa de utilizacao, no caso, 85% de a uma hora, no m ximo, situacoes essas n o contempladas no modelo por ele proposto. a a Foram utilizados 4 problemas-teste do POLAD, todos retratando situacoes reais de uma mineradora do quadril tero ferrfero de Minas Gerais. A Tabela 2 apresenta algumas caraca tersticas desses problemas-teste utilizados na execucao dos algoritmos. Nesta tabela, as colunas |F| e |T | representam, respectivamente, o n mero de frentes de lavra e o n mero de par metros u u a de controle. A coluna |C| mostra o total de carregadeiras e a coluna |V | o total de veculos (caminh es) disponveis. o Tabela 2: Caractersticas dos problemas-teste do POLAD Problema-teste PADC01 PADC02 PADC03 PADC04 |F| 17 17 32 32 |T | 10 10 10 10 |C| 8 8 7 7 |V | 30 30 30 30

Para os problemas-teste PADC01 e PADC02, os caminh es de 1 a 15 t m capacidade 50 t e o e s o compatveis com as carregadeiras Car01 a Car04, enquanto os demais caminh es t m capaa o e cidade 80 t e s o compatveis com as carregadeiras Car05 a Car08. J para os problemas-teste a a PADC03 e PADC04, todos os caminh es s o de 50 t e compatveis com todas as carregadeio a ras. Os dois ultimos problemas diferem apenas na composicao qumica e granulom trica dos e

58

min rios presentes nas frentes de lavra. e

7.2

Pesos e par metros utilizados a

O par metro do m todo, IterMax, que indica o n mero de iteracoes sem melhora em um a e u dado nvel de perturbacao foi xado, ap s uma bateria preliminar de testes, em 60, para o o m todo GVILS, e 50, para o m todo H-GVILS. O valor de H (vide Subsecao 5.5.2) para o e e m todo exato foi de 4 nveis de perturbacao, com um tempo limitado a 30 segundos. e Os pesos adotados na funcao de avaliacao s o apresentados na Tabela 3 e s o os mesmos a a de Costa (2005), al m daqueles n o previstos nesse trabalho. e a Tabela 3: Pesos adotados Pesos Descricao Valor Penalidade por tonelada abaixo dos limites inferiores ou acima 1000 dos limites superiores de producao (est ril/min rio) e e Penalidade por tonelada abaixo ou acima da meta de producao 100 (est ril/min rio) e e + Penalidade por tonelada acima do limite superior de producao 1000 (min rio/est ril) e e Penalidade por tonelada abaixo do limite inferior de producao 1000 (min rio/est ril) e e j Penalidade por tonelada abaixo (acima) do limite 100 mnimo (m ximo) de especicacao do par metro j a a j Penalidade por tonelada abaixo ou acima da meta de 1 qualidade do par metro de controle j a j Multiplicador associado ao par metro de controle j a 1 l Penalidade pelo uso do caminh o l a 1 T xl Taxa m xima de utilizacao do caminh o l a a 85% + o acima da taxa m xima de utilizacao Penalidade por utilizaca a 1000 mnimo de producao de um caminh o a Penalidade por tonelada abaixo do limite 1000 k mnimo de producao da carregadeira k + Penalidade por tonelada acima do limite 1000 k m ximo de producao da carregadeira k a

7.3

Ambiente de desenvolvimento

Os algoritmos heursticos GVILS e H-GVILS foram desenvolvidos em C++ usando o com pilador g++ 4.0 e o IDE Eclipse 3.1. O algoritmo heurstico H-GVILS, que integra programacao

59

matem tica com metaheurstica, usou o otimizador GLPK, vers o 4.9, para resolver partes mea a nores do problema. Os dois algoritmos foram testados em um microcomputador com processador Pentium IV, 3.0 GHZ e 2 GB de RAM, rodando Windows XP Professional. O modelo de programacao matem tica foi modelado em AMPL e resolvido pelo otimizador a CPLEX, vers o 9.1. a Cada problema-teste foi executado 10 vezes pelos algoritmos GVILS e H-GVILS, considerando-se como crit rio de parada o tempo de 15 minutos. J para o otimizador CPLEX foram e a considerados tr s crit rios de parada: 15, 60 e 120 minutos de processamento. e e

7.4

Resultados e an lise a

A seguir apresentam-se os resultados obtidos pelos dois algoritmos heursticos propostos e pelo otimizador CPLEX, tendo como refer ncia a funcao de avaliacao dada pela Equacao (5.1), e ` a a p gina 48.

7.4.1

CPLEX GVILS

Na Tabela 4, a coluna Melhora indica o quanto o algoritmo GVILS melhorou a solucao produzida pelo CPLEX-120 (solucao obtida pelo CPLEX em duas horas de processamento). J a a coluna Desvio mostra o desvio dos valores m dios do algoritmo GVILS em relacao a melhor e ` solucao conhecida em cada problema-teste. O algoritmo GVILS foi executado 10 vezes, sendo que o crit rio de parada adotado foi o tempo total de processamento, restrito a 900 segundos. e Tabela 4: Comparacao de resultados: CPLEX GVILS
Problemateste PADC01 PADC02 PADC03 PADC04 CPLEX-15 227,32 257,30 164.040 164.054 CPLEX-60 227,32 254,06 164.034 164.054 CPLEX-120 227,32 254,38 164.034 164.054 M dia e GVILS 227,22 254,38 164.089,28 164.187,48 Melhor GVILS 227,12 252,41 164.070,52 164.140,49 Melhora (%) 0,09 0,65 -0,02 -0,05 Desvio (%) 0,043 0,780 0,034 0,081

Como pode ser observado pela Tabela 4, o algoritmo GVILS foi capaz de, em 15 minutos de processamento, gerar solucoes de melhor qualidade que o CPLEX em duas horas de processamento nos problemas-teste PADC01 e PADC02. J nos dois ultimos problemas-teste, a GVILS apresentou solucoes piores, mas apenas a um m ximo de 0,05% da solucao do CPLEX. a A variabilidade das solucoes nais tamb m foi baixa, variando de 0,03% a 0,78%, no m ximo. e a

60

O algoritmo GVILS n o foi comparado com o de Costa (2005), visto que a funcao de a avaliacao utilizada por este era diferente e, al m disso, o modelo desse autor n o contem e a ` plava restricoes relativas a taxa de utilizacao de caminh es. A Tabela 5 compara os resulta o dos encontrados pelo algoritmo GVILS e pelo CPLEX considerando dois minutos de proces samento. O objetivo, neste teste, e vericar a eci ncia do algoritmo heurstico em produzir e uma solucao no tempo de uma tomada de decis o, que e tipicamente pequeno. Nessa tabela, a a coluna Problema-teste indica o problema-teste analisado; Melhor Lit. representa o melhor valor encontrado na literatura para o referido problema-teste; CPLEX-2 indica o valor encontrado pelo CPLEX ap s dois minutos de processamento; GVILS indica o valor m dio o e em 10 execucoes do algoritmo GVILS em dois minutos de processamento; Desvio CPLEX e Desvio GVILS, calculados conforme as equacoes (7.1) e (7.2), indicam o desvio percentual das solucoes do CPLEX e GVILS, respectivamente, em relacao ao melhor resultado da litera tura. Observa-se que os melhores resultados da literatura foram alcancados pelo GVILS em 15 minutos de processamento (problemas-teste PADC01 e PADC02) e pelo CPLEX em duas horas de processamento (PADC03 e PADC04). fiCPLEX fi fi fiGV ILS fi fi

DesvioCPLEX = i

(7.1)

DesvioGV ILS = i

(7.2)

e Nas equacoes (7.1) e (7.2), para cada problema-teste i, fiGV ILS e o valor m dio encontrado pelo algoritmo GVILS em dez execucoes de 2 minutos cada, fiCPLEX e o valor encontrado pelo otimizador CPLEX em 2 minutos de processamento e fi e o melhor valor conhecido. Tabela 5: Comparacao de resultados: CPLEX-2 GVILS
Problema -teste PADC01 PADC02 PADC03 PADC04 Melhor Lit. 227,12 252,41 164.034,27 164.054,04 CPLEX-2 7.228,95 7.276,39 164.043,55 164.085,84 GVILS 227,73 256,72 164.099,06 164.245,03 Desvio CPLEX-2 (%) 3.082,88 2.782,77 0,01 0,02 Desvio GVILS (%) 0,27 1,71 0,04 0,12

Como pode ser observado na Tabela 5, nos problemas-teste PADC01 e PADC02, o algoritmo GVILS foi capaz de gerar solucoes melhores que o CPLEX, com um desvio de 0,27% no primeiro problema e de 1,71% no segundo, em relacao aos melhores resultados conhecidos. J a nos dois ultimos problemas-teste, o algoritmo proposto apresentou solucoes m dias piores, mas e a uma dist ncia m dia de apenas 0,04% da melhor solucao conhecida no primeiro problema e a e

61

de 0,12% no segundo.

7.4.2

CPLEX H-GVILS

A Tabela 6 mostra os resultados da comparacao entre o otimizador CPLEX e o algoritmo hbrido H-GVILS, o qual combina metaheursticas com programacao matem tica. A notacao a utilizada e a mesma da secao anterior, sendo que as colunas M dia H-GVILS e Melhor H e GVILS indicam, respectivamente, os valores da solucao m dia e da melhor solucao encontrada e pelo algoritmo H-GVILS em 15 minutos de processamento. Tabela 6: Comparacao de resultados: CPLEX H-GVILS
Problemateste PADC01 PADC02 PADC03 PADC04 CPLEX-15 227,32 257,30 164.040 164.054 CPLEX-60 227,32 254,06 164.034 164.054 CPLEX-120 227,32 254,38 164.034 164.054 M dia e H-GVILS 227,16 253,45 164.076,04 164.172,49 Melhor H-GVILS 227,12 252,41 164.063,56 164.118,79 Melhora (%) 0,09 0,65 -0,02 -0,04 Desvio (%) 0,02 0,42 0,03 0,07

Como pode ser observado pela Tabela 6, o algoritmo H-GVILS foi capaz de, em 15 minutos de processamento, gerar solucoes de melhor qualidade que o CPLEX em duas horas de pro cessamento nos problemas-teste PADC01 e PADC02. J nos dois ultimos problemas-teste, o a algoritmo proposto apresentou solucoes piores, mas apenas a um m ximo de 0,04% da solucao a do CPLEX. A variabilidade das solucoes nais tamb m cou baixa, variando de 0,02% a 0,42%, e no m ximo. a

7.4.3

GVILS H-GVILS

A Tabela 7 mostra os resultados da comparacao entre o algoritmo heurstico GVILS e o al goritmo hbrido H-GVILS, tendo-se como refer ncia 15 minutos de processamento. As colunas e Melhora M dia e Melhora indicam o percentual de melhora do algoritmo H-GVILS sobre e GVILS em relacao as solucoes m dias e as melhores solucoes, respectivamente. ` e Tabela 7: Comparacao de resultados: GVILS H-GVILS
Problemateste PADC01 PADC02 PADC03 PADC04 M dia e GVILS 227,22 254,38 164.089,28 164.187,48 M dia e H-GVILS 227,16 253,45 164.076,04 164.172,49 Melhora M dia (%) e 0,03 0,37 0,01 0,01 Melhor GVILS 227,12 252,41 164.070,52 164.140,49 Melhor H-GVILS 227,12 252,41 164.063,56 164.118,79 Melhora (%) 0,000 0,000 0,004 0,013

62

Como pode ser observado pela Tabela 7, o algoritmo H-GVILS teve desempenho superior ao do algoritmo GVILS, tanto com relacao as melhores solucoes geradas tanto com relacao a ` ` m dia das solucoes geradas. No primeiro caso, H-GVILS conseguiu ainda gerar solucoes at e e 0,013% melhores que GVILS; enquanto no segundo, a melhora m dia foi de at 0,37%. Este e e fato mostra a maior robustez do algoritmo, isto e, o algoritmo hbrido e capaz de gerar solucoes nais de melhor qualidade e com menor variabilidade. A comparacao entre os resultados do CPLEX e do algoritmo heurstico hbrido H-GVILS em dois minutos de processamento n o e mostrada. Isto se deve ao fato de que o algoritmo Ha GVILS n o aciona o m dulo de integracao com o m todo exato nesse tempo de processamento. a o e Desta forma, ele se comporta apenas como o algoritmo GVILS, o qual j se mostra superior ao a CPLEX nesse tempo de processamento.

7.4.4

Caractersticas das melhores solucoes obtidas

Na Tabela 8 s o apresentadas as principais caractersticas das melhores solucoes encontraa das nos quatro problemas-teste. As melhores solucoes do PADC01 e PADC02 foram obtidas pelo algoritmo H-GVILS, enquanto que nos dois ultimos problemas-teste, as melhores solucoes foram alcancadas pelo CPLEX. Por esta Tabela, percebe-se o qu o pr xima as solucoes dos problemas-teste caram das a o metas estabelecidas com relacao aos par metros de controle, producao e produtividade dos a equipamentos de carga. No primeiro problema-teste, PADC01, considerando as duas casas decimais de precis o a do problema, quase n o h distincao entre as metas dos par metros de controle e seus valores a a a obtidos na melhor solucao encontrada. Podem ser encontradas diferencas de no m ximo 0,01% a da especicacao, observando-se os par metros Par02, Par05 e Par10. a No segundo problema, PADC02, podem ser encontradas maiores diferencas entre as metas de especicacao e valores obtidos, sendo no m ximo de 0,09% no par metro de controle Par01. a a Assim como no PADC01, n o e possvel atingir a meta de producao de est ril, visto que os a e caminh es carregam 50 t/h ou 80 t/h e a meta e de 1798 t/h. o Os problemas PADC03 e PADC04 s o diferentes dos dois primeiros em termos de maior a n mero de frentes de lavra, e menor n mero de carregadeiras disponveis. Muitos par metros u u a de controle foram atingidos na meta, havendo baixos desvios em alguns outros. A meta de producao de min rio foi atingida em todos os problemas-teste e todas as carrega e

63

deiras foram utilizadas dentro dos limites de produtividade estabelecidos. Todos os par metros a de controle foram encontrados tamb m dentro dos limites de especicacao, sendo tais solucoes, e portanto, totalmente vi veis para aplicacoes reais. a Tabela 8: Caractersticas das melhores solucoes encontradas
Problema-teste Caractersticas Par metros Par01 a Par02 Par03 Par04 Par05 Par06 Par07 Par08 Par09 Par10 Produto Est ril e Min rio e Carregadeiras Car01 Car02 Car03 Car04 Car05 Car06 Car07 Car08 N mero de Caminh es u o PADC01 Meta Obtido 3,30% 3,30% 4,24% 4,23% 1,63% 1,63% 3,92% 3,92% 1,07% 1,06% 3,03% 3,03% 1,13% 1,13% 1,24% 1,24% 1,77% 1,77% 1,71% 1,70% 1798 t/h 1800 t/h 5800 t/h 5800 t/h 900 t/h 900 t/h 900 t/h 900 t/h 900 t/h 900 t/h 900 t/h 900 t/h 1000 t/h 960 t/h 1000 t/h 960 t/h 1100 t/h 1040 t/h 1100 t/h 1040 t/h 25 PADC02 Meta Obtido 3,30% 3,39% 4,24% 4,30% 1,63% 1,71% 3,92% 3,97% 1,07% 1,05% 3,03% 3,05% 1,13% 1,15% 1,24% 1,18% 1,77% 1,76% 1,71% 1,75% 1798 t/h 1800 t/h 5800 t/h 5800 t/h 900 t/h 900 t/h 900 t/h 900 t/h 900 t/h 900 t/h 900 t/h 900 t/h 1000 t/h 960 t/h 1000 t/h 960 t/h 1100 t/h 1040 t/h 1100 t/h 1040 t/h 25 PADC03 Meta Obtido 47,91% 48,00% 0,47% 0,53% 0,26% 0,29% 0,04% 0,04% 0,04% 0,05% 1,88% 1,70% 2,15% 1,98% 16,50% 16,50% 80,94% 81,20% 43,00% 43,30% 1640 t/h 0 t/h 4100 t/h 4100 t/h 500 t/h 500 t/h 400 t/h 400 t/h 400 t/h 400 t/h 500 t/h 500 t/h 800 t/h 800 t/h 900 t/h 900 t/h 600 t/h 600 t/h 17 PADC04 Meta Obtido 47,90% 47,90% 0,47% 0,77% 0,26% 0,36% 0,04% 0,04% 0,04% 0,05% 1,88% 2,57% 2,15% 2,13% 16,50% 17,10% 80,90% 81,20% 43,00% 43,40% 1640 t/h 0 t/h 4100 t/h 4100 t/h 500 t/h 500 t/h 400 t/h 400 t/h 400 t/h 400 t/h 500 t/h 500 t/h 800 t/h 800 t/h 900 t/h 900 t/h 600 t/h 600 t/h 17

64

Conclus es e Trabalhos Futuros o

Este trabalho teve seu foco no problema de planejamento operacional de lavra considerando alocacao din mica de caminh es. a o Em virtude da complexidade combinat ria do problema, foram propostos dois algorito mos heursticos hbridos. O primeiro deles, denominado GVILS, combina os procedimentos heursticos GRASP, Variable Neighborhood Descent e Iterated Local Search, enquanto o se gundo, denominado H-GVILS, adiciona ao anterior um m dulo de busca local feito por um o otimizador de programacao matem tica. a Usando problemas-teste da literatura, os dois algoritmos heursticos foram comparados en tre si e com o otimizador CPLEX aplicado exclusivamente a um modelo de programacao ma tem tica. a Dado que a tomada de decis o no problema em pauta tem que ser r pida, as solucoes gea a radas pelos algoritmos heursticos GVILS e H-GVILS foram comparadas com aquelas geradas pelo otimizador CPLEX impondo-se como crit rio de parada 2 (dois) minutos de processae mento. Vericou-se que os dois algoritmos heursticos foram capazes de gerar solucoes muito melhores que as do CPLEX nesse tempo de processamento. Esse resultado valida, portanto, a ` utilizacao dos algoritmos heursticos propostos enquanto ferramenta de apoio a decis o. a ` Adicionalmente, vericou-se que a medida que o tempo de processamento aumentava, os algoritmos heursticos se tornavam mais robustos, produzindo solucoes nais de qualidade ainda melhor e com baixa variabilidade. As solucoes geradas pelos algoritmos heursticos em 15 minutos de processamento foram competitivas com aquelas produzidas pelo CPLEX nesse mesmo tempo ou at em uma hora de processamento. Comparando-se os algoritmos e heursticos entre si, mostrou-se que H-GVILS mostrou-se superior, tanto em termos da quali dade das solucoes m dias, das melhores solucoes e desvio em relacao aos melhores resultados e da literatura. Para trabalhos futuros, sugere-se adicionar ao H-GVILS um m dulo de Reconex o por o a Caminhos (Path Relinking - (GLOVER, 1996)) como uma estrat gia de intensicacao a cada e

65

otimo local encontrado ap s a fase de busca local, bem como implementar outras estrat gias o e de integracao entre m todos heursticos e exatos, visando a geracao de solucoes com menores e desvios e de melhor qualidade.

66

Refer ncias e
ALARIE, S.; GAMACHE, M. Overview of solution strategies used in truck dispatching systems for open pit mines. International Journal of Surface Mining, Reclamation and Environment, v. 16, p. 5976, 2002. ALVARENGA, G. B. Despacho otimo de caminh es numa mineracao de ferro utilizando o algoritmo gen tico com processamento paralelo. Dissertacao (Dissertacao de Mestrado) e Programa de P s-Graduacao em Engenharia El trica/UFMG, Belo Horizonte, 1997. o e BRESINA, J. L. Heuristic-biased stochastic sampling. In: Proceedings of the 13th National Conference on Articial Intelligence, AAAI Press. Portland: [s.n.], 1996. p. 271278. CHANDA, E. K. C.; DAGDELEN, K. Optimal blending of mine production using goal programming and interactive graphics systems. International Journal of Surface Mining, Reclamation and Environment, v. 9, p. 203208, 1995. COSTA, F. P. Aplicacoes de T cnicas de Otimizacao a Problemas de Planejamento e Operacional de Lavra em Minas a C u Aberto. Dissertacao (Dissertacao de Mestrado) e Departamento de Engenharia de Minas/EM/UFOP, Ouro Preto, 2005. COSTA, F. P.; SOUZA, M. J. F.; PINTO, L. R. Um modelo de alocacao din mica de a caminh es. Revista Brasil Mineral, v. 231, p. 2631, 2004. o COSTA, F. P.; SOUZA, M. J. F.; PINTO, L. R. Um modelo de programacao matem tica para a alocacao est tica de caminh es visando ao atendimento de metas de producao e qualidade. a o Revista da Escola de Minas, v. 58, p. 7781, 2005. FEO, T. A.; RESENDE, M. G. C. Greedy randomized adaptive search procedures. Journal of Global Optimization, v. 6, p. 109133, 1995. GERSHON, M. A linear programming approach to mine scheduling optimization. In: Proceedings of the 17th Application of computers and operations research in the mineral industry. New York: [s.n.], 1982. p. 483493. GLOVER, F. Computing tools for modeling, optimization and simulation: Interfaces in . [S.l.]: Kluwer Academic Publishers, 1996. computer science and operations research. In: cap. Tabu search and adaptive memory programming - Advances, applications and challenges, p. 175. GUIMAR ES, I. F.; PANTUZA, G.; SOUZA, M. J. F. Modelo de simulacao computacional a para validacao dos resultados de alocacao din mica de caminh es com atendimento de metas a o de qualidade e de producao em minas a c u aberto. In: Anais do XIV Simp sio de Engenharia e o de Producao (SIMPEP). Bauru, CD-ROM: [s.n.], 2007. p. 11.

67

LOURENcO, H. R.; MARTIN, O. C.; ST TZLE, T. Iterated local search. In: GLOVER, u F.; KOCHENBERGER, G. (Ed.). Handbook of Metaheuristics. Boston: Kluwer Academic Publishers, 2003. MARAN, J.; TOPUZ, E. Simulation of truck haulage systems in surface mines. International Journal of Surface Mining, v. 2, p. 4349, 1988. MERSCHMANN, L. H. C. Desenvolvimento de um sistema de otimizacao e simulacao para an lise de cen rios de producao em minas a c u aberto. Dissertacao (Dissertacao de Mestrado) a a e Programa de Engenharia de Producao/COPPE/UFRJ, Rio de Janeiro, 2002. MLADENOVIC, N.; HANSEN, P. Variable Neighborhood Search. Computers and Operations Research, v. 24, p. 10971100, 1997. PINTO, L. R.; BIAJOLI, F. L.; MINE, O. M. Uso de otimizador em planilhas eletr nicas para o auxlio ao planejamento de lavra. Relat rio T cnico FAPEMIG, Programa de P s-graduacao o e o em Engenharia Mineral, Universidade Federal de Ouro Preto, Ouro Preto, Minas Gerais, 2003. PINTO, L. R.; MERSCHMANN, L. H. C. Planejamento operacional da lavra de mina usando modelos matem ticos. Revista Escola de Minas, v. 54, n. 3, p. 211214, 2001. a RODRIGUES, L. F. An lise comparativa de metodologias utilizadas no despacho de a caminh es em minas a c u aberto. Dissertacao (Dissertacao de Mestrado) Departamento de o e o/Escola de Engenharia/UFMG, Belo Horizonte, 2006. Engenharia de Produca WHITE, J. W.; ARNOLD, M. J.; CLEVENGER, J. G. Automated open-pit truck dispatching at Tyrone. Engineering and Mining Journal, v. 183, n. 6, p. 7684, 1982. WHITE, J. W.; OLSON, J. P. Computer-based dispatching in mines with concurrent operating objetives. Mining Engineering, v. 38, n. 11, p. 10451054, 1986.

ALGORITMOS HEURSTICOS PARA O PROBLEMA DA DIVERSIDADE MXIMA


Ivan Luis Duarte Geiza Cristina da Silva (*) Tatiana Alves Costa Universidade Federal de Ouro Preto Departamento de Cincias Exatas e Aplicadas Rua 37 n. 115 Loanda 35930-970 Joo Monlevade Minas Gerais Brasil iiivan@yahoo.com.br {geiza, tatiana}@decea.ufop.br

RESUMO
O Problema da Diversidade Mxima (PDM) um problema da rea de Otimizao Combinatria que tem por objetivo selecionar um nmero pr-estabelecido de elementos de um dado conjunto de maneira tal que a soma das diversidades entre os elementos selecionados seja a maior possvel. Por pertencer classe de problemas NP-Difcil, o desenvolvimento de novos mtodos heursticos na soluo aproximada deste problema em tempo computacional aceitvel, torna-se atrativo. Neste trabalho so propostos algoritmos heursticos baseados nos conceitos da metaheurstica Iterated Local Search. Resultados computacionais mostram que os algoritmos propostos apresentam um desempenho mdio superior quando comparados com as melhores heursticas da literatura. PALAVARAS CHAVE. Problema da Diversidade Mxima, Iterated Local Search, metaheursticas. reas Principais: MH Metaheurstica, OC - Otimizao Combinatria.

ABSTRACT
The Maximum Diversity Problem (MDP) is a problem of the Combinatorial Optimization area which asks to select a specified number of elements from a given set so that the sum of diversity between the selected elements is as large as possible. MDP belongs to the NP-hard class becoming attractive to the development of new heuristics to solve the problem in acceptable computational time. In this work heuristics algorithms based on concepts of the Iterated Local Search metaheuristic are proposed. Computational results show that the proposed algorithm produces an average performance better than well known heuristics from the literature. KEYWORDS. Maximum Diversity Problem, Iterated Local Search, metaheuristics. Main Areas: MH Metaheuristic, OC Combinatorial Optimization.

1. Introduo O Problema da Diversidade Mxima (PDM) consiste em, dado um conjunto N com n elementos, selecionar um subconjunto M N de forma tal que os elementos de M possuam a maior diversidade possvel entre eles, sendo a diversidade expressa por uma funo dij, definida sobre todo i < j M. Existem dois critrios atravs dos quais o problema pode ser descrito. Na abordagem MAXSUM o objetivo maximizar a soma das distncias entre os elementos de M, ou seja, Max z( M ) d (i, j ) . A abordagem MAXMIM, ao contrrio, considera a pior diversidade. O
i , jM , i j

objetivo, neste caso, Max z(M ) min{dij }, i j, j M . Kuo et al. (1993) provaram que MAXSUM NP-Difcil, utilizando uma reduo ao problema Clique em grafo. Ghosh (1996) provou que assim como MAXSUM, MAXMIM NPDifcil, a partir de uma reduo ao problema de recobrimento de vrtices. O estudo de complexidade do problema mostra claramente a limitao do uso exclusivo de mtodos exatos para a sua soluo. Neste trabalho proposto um algoritmo de construo aleatrio e guloso, assim como trs heursticas de busca local. Estes algoritmos so aplicados aos conceitos da metaheurstica ILS (Iterated Local Search) para instncias do problema abordando o critrio MAXSUM. Os testes computacionais realizados mostraram que os algoritmos propostos apresentam um desempenho mdio superior quando comparados com as melhores heursticas da literatura. O restante deste artigo est organizado conforme segue. Na seo 2 o Problema da Diversidade Mxima apresentado. Na seo 3 feita uma reviso da literatura assim e dois algoritmos da literatura conhecidos pelos bons resultados alcanados para o problema so descritos. Na seo 4 so discutidas as propostas de algoritmos deste trabalho. A seo 5 apresenta os resultados computacionais e finalmente, a seo 6 conclui o trabalho. 2. O Problema da Diversidade Mxima O objetivo do Problema da Diversidade Mxima (PDM) selecionar, a partir de um conjunto N de cardinalidade n, um subconjunto M N com m elementos que possuam a maior diversidade entre si. Uma medida de diversidade entre dois elementos pode ser representada pela distncia entre eles. A distncia, neste caso, calculada com base no conjunto de atributos (componentes) dos elementos de N. Desta forma, para definir o problema, considera-se o conjunto de ndices N = {1, 2, ..., n}, e: t, o nmero de atributos que caracterizam os elementos de N; a ik, o valor do atributo k, k = {1,..., t} do elemento i, i N. d(i,j), o ndice de diversidade entre dois elementos distintos, onde i e j possuem os respectivos valores de atributos (a i1, a i2, ..., a it) e (a j1, a j2, ..., a jt). O ndice de diversidade representa o grau de diferena existente entre os atributos dos elementos i e j, ou seja, a distncia entre eles, que deve ser calculada usando-se uma dentre as mtricas de distncias existentes. De acordo com a rea de aplicao, uma mtrica pode refletir melhor o problema que outra (Kochenberg e Glover, 1999). Seja D [nn] uma matriz simtrica que armazena os ndices de diversidade entre cada um dos elementos de N, preenchida da seguinte maneira: d(i, j) = d(j, i) e d(i, i) = 0, (i, j) N. O valor da diversidade de M determinado pela frmula div( M )
i , jM ,i j

d (i, j ) .

O Problema da Diversidade Mxima pode ser aplicado nas mais diversas reas relacionadas ao campo da pesquisa operacional como na administrao de recursos humanos (Dhir et al., 1994), (Weitz e Lakshminarayanan, 1998), biologia (Agrafiotis, 1997) e preservao ecolgica (Maser, 1999), (Unkel, 1985).

O trabalho de Kuo et al. (1993), alm da definio do problema, apresentou os dois modelos matemticos para o PDM mostrados a seguir. O PDM pode ser representado como um Problema de Programao Inteira considerando-se xi,i N, varivel binria igual a 1, se e somente se o elemento i estiver na soluo e 0, caso contrrio, e d(i, j) representando a diversidade entre i e j, i, j N. (1) Maximizar

d (i, j) x x
i 1 j i 1 i

n 1

(1)
j

sujeito a:

x
i 1

m,

(2) (3)

xi {0,1}, i 1,..., n .

A formulao 1, descrita pelas equaes 1-3 um modelo no linear devido a sua funo objetivo quadrtica (1) e tem como meta maximizar a soma das diversidades de m elementos de N. A igualdade (2) exige que exatamente m elementos faam parte de uma soluo vivel e (3) indica que as variveis do problema devem ser binrias. Uma verso linearizada de 1 descreve o PDM como um Problema de Programao Linear Inteira. Para isto, alm das notaes da formulao anterior, devem-se considerar as variveis de deciso yij que se tornam iguais a 1 se i e j fizerem parte da soluo e 0, caso contrrio, i,j N, i < j e Q = {(i, j): i, j N, i < j}. (2) Maximizar

d (i, j) y
i 1 j i 1

n 1

(4)

ij

sujeito a:

x
i 1

m,

(5) (6) (7) (8) (9) (10)

xi x j yi j 1, (i, j ) Q ,

xi yi j 0, (i, j ) Q ,
x j yi j 0, (i, j ) Q ,

yi j {0,1}, (i, j ) Q ,

xi {0,1}, i N.

Na formulao 2, a funo objetivo (4) deve maximizar a soma das diversidades de m elementos de N. A igualdade (5) exige que exatamente m elementos pertenam a uma soluo vivel. Nas restries (6) pode-se observar que a varivel binria yij assume valor 1 sempre que xi e xj receberem tal valor e yij assume valor 0 se xi e xj forem ambas iguais a 0 ou se xi ou xj (somente uma delas) for igual a 1. As restries (7) exigem que no caso em que xi pertencer soluo ento dever existir algum j tal que yij = 1. Da mesma forma que em (7), as restries (8) exigem que se xj pertencer soluo ento dever existir algum i tal que yij = 1. As restries (9) e (10) representam as variveis binrias do problema, sendo yij = 1 se xi e xj estiverem na soluo e 0 caso contrrio e cada xi assumindo valor 1 se pertencer soluo e 0, caso contrrio.

Outras formulaes matemticas para o PDM foram propostas em Glover (1995) para aplicaes especficas na rea de meio ambiente. Alm de Kuo et al. (1993), Cutler e Klastori (1997), Bhadury et al. (2000) e Mart et al. (2007) apresentam abordagens exatas para tratar o problema. A seo 3 descreve os principais trabalhos utilizando metodologias heursticas para o PDM. 3. Abordagens Anteriores Em Ghosh (1996) foi proposto um algoritmo GRASP para o PDM e para comprovar a qualidade da heurstica proposta foi implementado um algoritmo exato. Os resultados computacionais mostraram que o GRASP proposto alcana uma soluo tima ou uma soluo muito prxima da tima, mostrando desta forma sua eficincia ao menos para instncias de pequeno porte (n 40). Agrafiotis (1997) explorou o problema de selecionar subconjuntos de componentes qumicos. No trabalho introduziu duas medidas para quantificar a diversidade e apresentou uma soluo para o problema baseada em simulated annealing. O mtodo foi testado usando bases de dados formadas a partir de mtodos estatsticos. Os resultados foram visualizados a partir do algoritmo de mapeamento no-linear de Sammon [Sa69]. O artigo no fornece detalhes dos testes computacionais, apenas cita que o mtodo encontra resultados satisfatrios. Em Cutler e Klastori (1997) foram apresentadas duas heursticas para o PDM, uma relaxao lagrangeana e uma heurstica gulosa. Para avaliar os resultados obtidos foi implementado um algoritmo branch and bound e, desta forma, os autores concluram que a heurstica gulosa apresentou bons resultados para um conjunto de testes com nmero de elementos pequeno (n 40). Weitz e Lakshminarayanan (1998) apresentaram cinco heursticas para o PDM. Este trabalho foi realizado para resolver uma aplicao prtica que criar grupos de projetos em uma classe de estudantes, de forma tal que esses estudantes sejam inseridos em ambientes heterogneos, baseado em critrios como, por exemplo, nacionalidade, idade e formao. As heursticas foram testadas somente para uma instncia composto de dados reais e foi implementado tambm um algoritmo exato. Os testes apontaram heurstica LCW (Mtodo Lotfi-Cerveny-Weitz) como sendo a melhor para a soluo do problema. Em Glover et al. (1998) foram propostas quatro heursticas sendo duas delas, construtivas e as outras destrutivas onde, a partir de uma soluo heurstica com e elementos ocorre uma eliminao progressiva at que se tenha uma soluo vivel com m elementos. A eficincia dessas heursticas foi testada atravs de comparao com os resultados de um mtodo exato e para isso foram criadas diversas instncias de populaes com at 30 elementos. Foi citado pelos autores que as heursticas propostas obtiveram em mdia resultados prximos aos do algoritmo exato (a no mximo 2% do timo), com um tempo de computao muito menor. O trabalho de Kochenberger e Glover (1999) desenvolveu uma heurstica busca tabu para encontrar a mxima diversidade. Segundo os autores, a heurstica foi testada gerando aleatoriamente instncias de problemas com populaes de tamanho que variam de n = 100 a n = 1000 elementos onde se desejava obter subconjuntos de m elementos mais diversos com tamanho entre 10% a 30% de n. Os autores citam que testes computacionais foram realizados, mas os resultados no foram comparados com qualquer outro mtodo da literatura. Silva et al. (2004) apresentaram trs algoritmos construtivos e duas heursticas de busca local utilizados para implementar vrias heursticas GRASP para o PDM. Diversos experimentos computacionais foram realizados com instncias de mdio porte propostas no trabalho e mostraram que seus procedimentos superaram mtodos apresentados anteriormente. Silva et al (2007) incorporaram abordagem anterior um mdulo de reconexo por caminhos. Os testes realizados comprovaram a eficincia do mtodo hbrido proposto. Aringhieri et al. (2008) propuseram um algoritmo busca tabu para o problema. A busca tabu proposta utiliza os conceitos de lista tabu dinmica e memria secundria, esta ltima, armazena as segundas melhores solues encontradas, mas no utilizadas em cada iterao da

busca tabu e utilizada para reiniciar a busca em casos especficos. Os autores citam que os resultados alcanados puderam equiparar ou superar os outros mtodos. Em Palubeckis (2008) foi desenvolvido um algoritmo Iterated Tabu Search (ITS). Foi apresentado tambm um algoritmo steepest ascent. Para comparao foram considerados os dois mtodos propostos e os trabalhos de Silva et al. (2007) e Mart (2007). Instncias de maiores portes foram utilizadas e os resultados reportados demonstram boa eficincia do algoritmo ITS. Os trabalhos de Duarte e Mart (2007) e Gallego et al. (to appear) tm sido considerados referncias de algoritmos heursticos, obtendo os melhores resultados da literatura para o PDM. Por este motivo, os algoritmos apresentados nestes trabalhos, utilizados para efeito de comparao com a metodologia aqui proposta, so descritos a seguir. 3.1. Algoritmo Tabu_D2 Proposto em Duarte e Mrti (2007), implementa uma variante da heurstica destrutiva D2 de Glover et al. (1998) para a construo de uma soluo. Seja Sel o conjunto de elementos selecionados para compor a soluo. No incio do procedimento, este conjunto possui todos os elementos do conjunto N, isto : Sel = N. A cada passo, um elemento i* de menor D(i*) retirado da soluo, at que se obtenha Sel = M. O clculo de D(i*) mostrado na Equao 11.
D(i*) min[ D(i) R( j )
iSel

qual[i] . freq[i] R( j ) max_ qual max_ freq

(11)

Nesta equao, D(i) o somatrio das distncias dos pares i e j selecionados para compor as solues prvias, isto , D(i) = d ij xi x j ; freq[i] corresponde freqncia na qual o

elemento i aparece em solues prvias e qual[i] a mdia da qualidade (relacionada funo objetivo) das solues anteriores que incluem o elemento i. Os valores max_freq e max_qual so os mximos de freq[i] e qual[i]. Os fatores de penalidade e foram definidos pelos autores como 0,1 e 0,0001, respectivamente. Alm disso, R( j ) max( D(i)) min( D(i)) .
iSel iSel

Como mecanismo de memria de curto prazo da busca tabu foi implementado o mtodo LS_TS. A cada iterao, um elemento i pertencente soluo selecionado aleatoriamente. A probabilidade da seleo do elemento i inversamente proporcional a D(i). O conjunto N M de elementos fora da soluo investigado, obtendo-se um elemento j que proporciona o primeiro movimento de melhora na troca do elemento i por j. Se nenhum movimento de melhora obtido, o melhor movimento de piora escolhido. A troca realizada e os elementos i e j so includos em uma lista tabu. Durante um nmero de iterao, estes elementos so considerados tabu e, portanto, so proibidos de serem usados nas trocas. O mtodo termina aps um nmero consecutivo de movimentos sem melhora. citado que o nmero de iteraes no qual um elemento permanece tabu 0,28m para elementos que esto sendo inseridos na soluo e de 0,028m para os elementos que esto deixando a soluo. O nmero de iteraes sem melhora dado por 0,1n. 3.2. Algoritmo SS Em (Gallego, to appear) proposta uma implementao da metaheurstica scatter search, cujos conceitos so detalhados em Laguna e Mart (2003), denominado algoritmo SS. O mtodo consiste em explorar um espao de solues que fazem parte de um conjunto solues de referncia, denominado RefSet. Este conjunto armazena boas solues que foram encontradas durante o processo de busca. Os passos do algoritmo SS so: 1. 2. 3. Um conjunto P com tam solues diversas construdo utilizando Tabu_D2. O procedimento LS_TS aplicado como mtodo de melhoria a todas as solues em P. O conjunto inicial de solues de referncia RefSet consiste das b = 12 solues em P, das quais q = 30% so escolhidas de acordo com a qualidade das solues

e (1 q)% so escolhidas de acordo com a diversidade das mesmas. Uma medida de distncia dist aplicada para definir a diversidade de uma soluo em relao ao conjunto de RefSet. A distncia entre uma soluo t e as contidas em RefSet, dada por: dist (t , RefSet ) bm xir . Esta frmula conta o nmero de vezes
r 1 iM b

4. 5. 6. 7.

que cada elemento da soluo t aparece nas solues de RefSet e subtrai este valor da distncia mxima possvel (bm). O mtodo de gerao de subconjuntos considera cada par de solues de RefSet como subconjuntos de solues de tamanho 2. O mtodo de combinao das solues utiliza Tabu_D2 para a unio de elementos das solues contidas nos subconjuntos definidos no Passo 4. Novamente, o mtodo de melhoria aplicado a todas as solues geradas no Passo 5. RefSet atualizado se for obtida uma soluo melhor do que as j armazenadas atravs dos Passos 5 e/ou 6. Se RefSet tiver sido atualizado, o procedimento retorna ao Passo 4, caso contrrio, encerrado.

4. Iterated Local Search A metaheurstica Iterated Local Search (ILS) um procedimento iterativo no qual buscas locais so aplicadas a novas solues de partida, obtidas atravs de perturbaes em solues de timos locais. O mtodo funciona da seguinte maneira (Loureno et al, 2002): Dada uma soluo corrente s*, uma perturbao aplicada levando a uma soluo s. Em seguida, s explorada atravs de um procedimento de busca local atravs do qual obtida a soluo s*, que corresponde a um timo local. Um critrio de aceitao invocado para decidir, entre s* e s*, qual delas deve se tornar corrente na prxima iterao. A Figura 1 apresenta o pseudocdigo do algoritmo ILS.
Procedimento ILS s0 = GeraSolucaoInicial s* = BuscaLocal (s0) Faa s = Perturbacao(s*, histria) s* = BuscaLocal(s) s* = CriterioAceitacao (s*, s*, histria) Enquanto critrio de parada no for satisfeito Fim-Procedimento.

Figura 1. Pseudo-cdigo da metaheurstica ILS

Existem quatro componentes fundamentais do mtodo a serem considerados, representados no pseudo-cdigo por meio das funes: i) GeraSolucaoInicial, ii) BuscaLocal, iii) Perturbao e iv) CriterioAceitacao. Mais detalhadamente, i) retorna uma soluo inicial. Esta pode ser gerada aleatoriamente ou atravs de algum procedimento guloso; ii) retorna um timo local; iii) perturba a soluo atravs de um ou mais movimentos na soluo corrente; e iv) decide qual soluo ser considerada na prxima iterao do algoritmo. Uma perturbao no deve ser demasiadamente pequena para que o procedimento no retorne frequentemente soluo corrente e poucas novas solues sejam exploradas, assim como, no deve ser grande demais, pois neste caso o mtodo recairia em um algoritmo de mltiplos reincios aleatrios. O mecanismo de perturbao junto com o de busca local define a possvel transio entre a soluo corrente s* para a soluo vizinha s*. O critrio de aceitao determina se s* aceito ou no como a nova soluo corrente. Pode servir como um procedimento de

intensificao se for definido de forma que somente melhores solues so aceitas, isto , para um problema onde o objetivo a maximizao tem-se: CriterioAceitacao retorna s* se Z(s*) > Z(s*) e; s*, caso contrrio, onde Z a funo objetivo do problema. Neste trabalho, as quatro componentes do ILS foram definidas da seguinte maneira: 1. Construo da soluo inicial: Uma soluo inicial construda da seguinte maneira: Para cada elemento i N so selecionados os m elementos j N M que possuem os maiores ndices de diversidade em relao ao i. As diversidades destes elementos so somadas totalizando si. A partir da, os m elementos com maiores valores de si so escolhidos para compor a soluo. 2. Mecanismo de Perturbao: Foram utilizados sete nveis de perturbao, sendo os seis primeiros definidos com base em um valor percentual que indica o nmero de trocas que so realizadas entre elementos dentro e fora da soluo. No primeiro nvel so escolhidos, aleatoriamente, 2% dos elementos pertencentes soluo e, cada um desses, trocado com um outro elemento no pertencente mesma, tambm selecionado de forma aleatria. Nos cinco nveis seguintes, os percentuais adotados so 10, 40, 50, 70 e 80%, respectivamente. A utilizao do stimo nvel de perturbao condicionada aos casos nos quais todos os nveis de perturbao definidos anteriormente resultarem em um nmero de trocas entre mais de dois elementos. Nestes casos, a perturbao de nvel sete utilizada para alterar levemente a soluo. A cada iterao do mtodo um nvel de perturbao escolhido aleatoriamente. 3. Algoritmos de busca local: Na fase de busca local so utilizados trs algoritmos baseados nos conceitos clssicos apresentados em Sousa (2005) denominados como melhor vizinho, primeiro de melhora e busca randmica. a. O primeiro uma implementao do algoritmo de busca local proposto por Ghosh (1996). Cada elemento i pertencente soluo trocado por cada elemento j fora desta. A cada troca associada uma melhoria z(i, j) calculada por: z(i, j ) d ( j, u ) d (i, u ) . A cada iterao, todas as
uM {i}

possveis trocas so testadas e a soluo obtida da troca dos elementos i, j de maior z considerada corrente para a prxima iterao. A busca prossegue at que, em uma iterao, todas as trocas efetuadas retornem z(i, j) < 0. b. No segundo algoritmo de busca local calculada a melhoria z(i, j) referente s trocas e a soluo resultante da primeira troca na qual z(i, j) > 0 torna-se a soluo corrente da prxima iterao. A busca prossegue at que nenhuma soluo de melhora possa ser obtida. c. No terceiro algoritmo, a implementao da busca local randmica consiste em escolher aleatoriamente dois elementos i M e j N M e realizar a troca entre eles. Se o valor de z(i, j) associado a esta troca for maior do que 0 a soluo produzida torna-se corrente na prxima iterao. Caso contrrio, um novo par de elementos selecionado aleatoriamente. A busca prossegue at que um determinado critrio de parada seja alcanado. Neste trabalho os critrios de parada adotados foram nmero de iteraes sem melhora e tempo de processamento. 4. Critrio de aceitao: De acordo com o critrio de aceitao adotado, uma soluo s* passa ser corrente caso melhore o valor da funo objetivo da soluo s*, ou seja, se Z(s*) > Z(s*).

4. Resultados computacionais Com base na metodologia descrita na Seo 3 foram propostas trs diferentes verses de heursticas ILS, que se diferenciam pelo procedimento de busca local adotado, conforme Tabela 1.
Algoritmo
ILS1 ILS2 ILS3

Busca Local Melhor Vizinho (Ghosh, 1996) Primeiro de Melhora Randmica

Tabela 1. Algoritmos ILS propostos

Os algoritmos propostos foram implementados usando linguagem C e compilados na verso 3.3.3 do GCC. Os testes foram realizados em um computador Intel Pentium IV 3 Ghz com 1 Gb de memria RAM. Cada heurstica foi executada 10 vezes com o tempo mximo de processamento de 30 segundos para cada execuo. Para efeito de comparao foi utilizado o conjunto de instncias proposto em Silva et. al. (2004) e os algoritmos descritos na seo 3. No conjunto de instncias utilizado, o nmero de variveis n {100, 200, 300, 400, 500} e o parmetro m {0.1n, 0.2n, 0.3n, 0.4n}. Cada valor de diversidade d(i, j) foi gerado aleatoriamente dentro do intervalo [0, 9]. A Tabela 2 apresenta os valores de diversidades obtidos pelos algoritmos comparados. A coluna 1 apresenta as instncias e as colunas 2 e 3 mostram os valores de n e m de cada uma destas. Na coluna 4 encontra-se o melhor valor conhecido para cada instncia (Mart, 2008). As colunas 5 e 6 apresentam, respectivamente, os valores reportados em Gallego (to appear) para os procedimentos TabuD2 e SS. Estes, correspondem ao melhor valor obtido em 10 execues de 30 segundos com os algoritmos codificados pelos autores em linguagem Java, executados com Java Runtime Environment 1.5 e testados em um computador Pentium IV 3 GHZ com 3 Gb de memria RAM. Nas colunas 7 a 9 so apresentados os melhores valores de diversidades obtidos, em 10 execues, pelos algoritmos propostos ILS1, ILS2, ILS3.
Literatura Instncias
Silva.1 Silva.2 Silva.3 Silva.4 Silva.5 Silva.6 Silva.7 Silva.8 Silva.9 Silva.10 Silva.11 Silva.12 Silva.13 Silva.14 Silva.15 Silva.16 Silva.17 Silva.18 Silva.19 Silva.20

Propostos
ILS1 ILS2 ILS3

n 100 100 100 100 200 200 200 200 300 300 300 300 400 400 400 400 500 500 500 500

m 10 20 30 40 20 40 60 80 30 60 90 120 40 80 120 160 50 100 150 200

Melhor Valor 333 1195 2457 4142 1247 4450 9437 16225 2694 9689 20743 35881 4658 16950 36317 62487 7141 26258 56572 97344

TabuD2

SS

333 1195 2457 4139 1245 4448 9426 16225 2694 9683 20715 35871 4651 16929 36288 62429 7117 26229 56547 97269

333 1195 2457 4142 1247 4450 9437 16225 2694 9689 20743 35881 4658 16950 36317 62487 7141 26258 56572 97344

333 1195 2457 4142 1247 4450 9437 16225 2694 9689 20743 35875 4658 16956 36306 62460 7141 26239 56572 97317

333 1195 2457 4142 1247 4450 9437 16225 2694 9689 20743 35881 4658 16956 36310 62446 7136 26242 56572 97344

333 1195 2457 4142 1247 4450 9437 16225 2694 9689 20743 35881 4658 16956 36317 62487 7133 26258 56572 97335

Tabela 2. Comparao entre os melhores resultados reportados em Mart (2008) e algoritmos ILS propostos

A Tabela 2 demonstra que os algoritmos propostos sempre so capazes de alcanar a melhor soluo em cada instncia e, para a instncia Silva.14 o melhor resultado at ento conhecido na literatura pde ser melhorado. A Tabela 3 faz uma comparao entre a diferena percentual do melhor resultado obtido pelos algoritmos propostos e os algoritmos da literatura. Diferenas percentuais iguais a zero so representadas pelo smbolo (-).
Literatura Instncias
Silva.1 Silva.2 Silva.3 Silva.4 Silva.5 Silva.6 Silva.7 Silva.8 Silva.9 Silva.10 Silva.11 Silva.12 Silva.13 Silva.14 Silva.15 Silva.16 Silva.17 Silva.18 Silva.19 Silva.20 TabuD2 SS ILS1

Propostos
ILS2 ILS3

0,00072 0,00160 0,00045 0,00117 0,00062 0,00135 0,00028 0,00150 0,00159 0,00080 0,00093 0,00336 0,00110 0,00044 0,00077 0,01669

0,00035 0,00035

0,00017 0,00030 0,00043 0,00072 0,00028 0,00190

0,00019 0,00066 0,00070 0,00061 0,00216

0,00112 0,00009 0,00121

Soma

Tabela 3. Diferenas percentuais entre algoritmos da literatura e propostos

A diferena percentual foi obtida calculando-se a diferena entre o melhor valor conhecido para cada instncia e os resultados obtidos pelas heursticas. Este valor dividido pelo melhor valor. Pode-se notar que, em se tratando dos algoritmos propostos, pelo menos um deles, capaz de produzir o melhor valor em todas as instncias. Quanto aos algoritmos da literatura considerados, a diferena percentual mdia de aproximadamente 2% no caso do algoritmo TabuD2 e de menos de 0,04% para o algoritmo SS. A robustez dos algoritmos propostos pode ser avaliada de acordo com a diferena percentual entre a melhor soluo conhecida e a soluo obtida por estes e, ainda, de acordo com a diferena percentual entre a melhor soluo conhecida e a soluo mdia alcanada em 10 execues de cada algoritmo. Estes resultados so apresentados na Tabela 4.

Instncias
Silva.1 Silva.2 Silva.3 Silva.4 Silva.5 Silva.6 Silva.7 Silva.8 Silva.9 Silva.10 Silva.11 Silva.12 Silva.13 Silva.14 Silva.15 Silva.16 Silva.17 Silva.18 Silva.19 Silva.20

ILS1

ILS2

ILS3

% melhor 0,00017 0,00030 0,00043 0,00072 0,00028 0,00190

% mdia 0,00186 0,00062 0,00092 0,00020 0,00172 0,00201 0,00124 0,00093 0,00364 0,00107 0,00016 0,00111 0,01545

% melhor 0,00019 0,00066 0,00070 0,00061 0,00216

% mdia 0,00022 0,00074 0,00052 0,00067 0,00064 0,00083 0,00072 0,00078 0,00224 0,00065 0,00055 0,00035 0,00891

% melhor 0,00112 0,00009 0,00121

% mdia 0,00022 0,00037 0,00041 0,00039 0,00022 0,00086 0,00088 0,00058 0,00066 0,00168 0,00076 0,00030 0,00032 0,00766

Mdia

Tabela 4. Diferenas percentuais entre as melhores solues e solues mdias

Primeiramente, feita uma anlise em relao s melhores solues (colunas 2, 4 e 6): o algoritmo ILS3 apresenta menores diferenas percentuais, estando em mdia a 0,1% da melhor soluo conhecida. Os algoritmos ILS2 e ILS1 tm diferenas percentuais de aproximadamente 0,2%, ambos. Quanto diferena percentual mdia da melhor soluo para as solues mdias obtidas, os mtodos ILS1, ILS2 e ILS3 so de aproximadamente 1,5%, 0,9% e 0,8%, respectivamente. Os resultados apresentados mostram que a heurstica ILS produz resultados promissores para o problema. Concluses Neste artigo foi descrita uma metodologia aplicada a obteno de solues heursticas para o problema da diversidade mxima. Os procedimentos implementados no trabalho incluem uma heurstica de construo aleatria e gulosa, trs algoritmos de busca local baseados em conceitos clssicos e um esquema de perturbao de soluo que combinados produzem uma abordagem baseada na metaheurstica ILS. Os mtodos propostos mostraram-se simples no que se implementao. A despeito disto, os resultados alcanados demonstram que so superiores, na mdia, quando comparados aos mtodos da literatura para um conjunto formado por 20 instncias. Em particular, foi possvel encontrar uma nova melhor soluo para uma destas instncias. Com isto, conclui-se que o mtodo proposto promissor no tratamento de instncias do PDM. A fim de comprovar a robustez do mtodo, nos prximos passos deste estudo, deseja-se utilizar outros conjuntos de instncias disponveis na literatura com um nmero maior de variveis.

Agradecimentos Esta pesquisa foi parcialmente suportada pelo CT-Info/MCT/CNPq Universal 15/2007 e PROPP/UFOP. Os autores agradecem tambm FAPEMIG pelo apoio financeiro. Referncias Agrafiotis, D. K. (1997), Stochastic algorithms for maximizing molecular diversity, Journal Chem. Inf. Comput. Sci., 37, 841-851. Aringhieri, R., Cordone, R. e Melzani, Y. (2008), Tabu search versus GRASP for the maximum diversity problem, 4OR: A quarterly Journal of Operations Research, 6, 45-60. Bhadury, J., Mighty, E. J., e Damar, H. (2000), Maximizing workforce diversity in project teams: a network flow approach, Omega, 28, 143-153. Cutler, M. e Klastorin, T., The max diversity problem, Relatrio Tcnico, University of Washington, Department of Management Science, 1997. Dhir, K., Glover, F. e Kuo, C.-C. (1994), Optimizing diversity for engineering management, Proceedings of the IEEE International Engineering Management Conference. Duarte, A. E Mart, R. (2007), Tabu search for the maximum diversity problem, European Journal of Operational Research, 178, 71-84. Gallego, M., Duarte, A., Laguna, M. Mart, R. Hybrid heuristics for the maximum diversity problem, Computational Optimization and Applications (To appear). Glover, F., Kuo, C.-C. e Dhir, K. (1995), A discrete optimization model for preserving biological diversity. Applied Mathematical Modeling, 19, 696-701. Glover, F., Kuo, C.-C. & Dhir, K. (1998), Heuristic algorithms for the maximum diversity problem. Journal of Information & Optimization Science, 109-132. Ghosh, J.B. (1996), Computational aspects of the maximum diversity problem, Operations Research Letters, 19, 175181. Kochenberger, G. e Glover, F., Diversity data mining, Relatrio Tcnico, The University of Mississipi, 1999. Kuo, C.-C., Glover, F. e Dhir, K. (1993), Analyzing and modeling the maximum diversity problem by zero-one programming. Decision Science, 24, 1171-1185. Laguna, M. e Mart, R., Scatter Search: Methodology and Implementations in C, Kluwer Academic Publishers, Boston, 2003. Loureno, H. R., Martin, O. C. e Sttzle, T., Iterated Local Search, Handbook of Metaheuristics, F. Glover and G. Kochenberger (Eds.), International Series in Operations Research & Management Science, vol. 57. Kluwer Academic Publishers, Norwell, MA., 321353, 2002. Maser, C, Ecological diversity in sustainable development: the vital and forgotten dimension. Saint Lucie Press, 1999. Mart, R., Gallego, M. e Duarte, A., An Exact Method for the Maximum Diversity Problem, Relatrio Tcnico, Univesitat de Valncia, 2007. Mart, R., Rafael Mart - Departamento de Estadstica e Investigacin Operativa de la Universitat de Valncia. Disponvel em: < http://www.uv.es/rmarti/>. Acesso em: 24 de abril de 2008. Palubeckis, G. (2007), Iterated tabu search for the maximum diversity problem, Applied Mathematics and Computation, 189, 371383. Resende, M. G., Mart, R., Gallego, M. e Duarte, A., GRASP and path relinking for the Maxmin diversity problem, Relatrio Tcnico, AT&T Labs Research, TD-7BSN88, 2008. Silva, G. C., Ochi, L. S., e Martins, S. L. (2004), Experimental Comparison of Greedy Randomized Adaptive Search Procedures for the Maximum Diversity Problem, Lecture Notes on Computer Science, 3059, 498-512. Silva, G. C., Andrade, M., Ochi, L. S., Martins, S. L e Plastino, A. (2007), New heuristics for the maximum diversity problem, Journal of Heuristics, 13, 315-336. Sousa, M. J. F. (2008). Inteligncia Computacional para Otimizao - Notas de aula. Ouro Preto: UFOP. Disponvel em: <http://www.iceb.ufop.br/prof/marcone>. Acesso em: 22 abril de 2008.

Unkel, W. C., (1985), Natural diversity and national forest. Natural Areas Journal, 5, 8-13. Weitz, R. e Lakshminarayanan, S. (1998), An empirical comparison of heuristic methods for creating maximally diverse group, Journal of the Operational Research Society, 49, 635-646. (*) Autor para quem as correspondncias devem ser encaminhadas.

PARALLEL ITERATED LOCAL SEARCH APLICADO AO PLANEJAMENTO OPERACIONAL DE LAVRA


Sabir Ribas, Igor Machado Coelho Marcone Jamilson Freitas Souza, David Menotti Universidade Federal de Ouro Preto Departamento de Cincia da Computao Instituto de Cincias Exatas e Biolgicas 35400-000, Ouro Preto, MG {sabir, igor, marcone, menotti}@iceb.ufop.br RESUMO Este trabalho apresenta um algoritmo paralelo baseado na metaheurstica Iterated Local Search. Para test-lo, ele aplicado a um problema que necessita de agilidade na gerao da resposta, no caso, o planejamento operacional de lavra em minas a cu aberto. Dada a complexidade combinatria deste problema, foi desenvolvido um algoritmo heurstico hbrido, que combina a paralelizao do Iterated Local Search com os procedimentos GRASP e Variable Neighborhood Descent. O algoritmo paralelo foi implementado em uma arquitetura multi-core. Para valid-lo, os resultados obtidos foram comparados com aqueles produzidos pelo otimizador CPLEX e uma verso sequencial do mesmo, todos limitados ao mesmo tempo de processamento. Observou-se melhoria na qualidade das suas solues finais quando comparadas com as obtidas pela sua verso sequencial. Houve tambm melhora em relao s solues encontradas pelo CPLEX. PALAVRAS CHAVE. Algoritmos Paralelos. Multi-core. Metaheursticas. Iterated Local Search. Planejamento operacional de lavra. ABSTRACT This work presents a parallel algorithm based on Iterated Local Search metaheuristic. In order to test this algorithm, it is applied to a problem which requires fast answers, i.e., the open-pit mining problem. Given its combinatorial complexity, we develop a hybrid heuristic algorithm, which combines an Iterated Local Search parallel version with GRASP and Variable Neighborhood Descent procedures. The parallel algorithm was implemented on a multi-core architecture. In order to validate the proposed parallel algorithm, its results were compared with the results of both CPLEX and its sequential version, all in the same processing time. Results show improvement in the quality of its final solutions in relation to those obtained by its sequential version. In addition, the proposed algorithm overcomes the solutions found by CPLEX. KEYWORDS. Parallel Algorithms. Multi-core. Metaheuristics. Iterated Local Search. Open-pit mining.

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento

Pg. 2037

1. Introduo O crescimento da demanda por sistemas computacionais de auxlio tomada de deciso acompanha o aumento da complexidade das cadeias produtivas. Tais sistemas normalmente esto relacionados a proporcionar uma visualizao objetiva e clara da situao de uma linha de produo, resoluo de um gargalo nos processos de um sistema produtivo ou melhoria de qualidade de algum produto. Muitos problemas encontrados em linhas produtivas so de natureza combinatria e, como tal, o desafio encontrar a melhor entre as solues existentes. Para resolv-los destacam-se duas abordagens: a heurstica e a exata. A vantagem de se adotar metodologias exatas a garantia da obteno das solues timas para o problema, o que no acontece no caso de heursticas. Porm o uso de heursticas muito atraente quando a prioridade o tempo de resposta. Heursticas so mtodos de busca geralmente dotados de alguma inteligncia e apresentam boas solues em um tempo relativamente baixo se comparados com os mtodos exatos. Assim, mtodos heursticos passaram a ser vastamente empregados na resoluo de problemas reais. Para melhorar o desempenho das heursticas vm surgindo na literatura propostas de paralelizao desses procedimentos, como os de Resende e Ribeiro (2005), Muhammad (2006) e Campos et al. (2006). Isso se deve ao crescimento das facilidades em se montar um cluster e tambm pelo crescente investimento em multiprocessadores por parte dos fabricantes. O tempo de resoluo de problemas de otimizao poderia ser reduzido se os algoritmos utilizassem os recursos multi-core desses processadores assim como verses de sistemas operacionais especializados em ambientes distribudos e construo rpida de clusters, como o caso das distribuies Linux PelicanHPC e Parallel Knoppix. De forma a explorar a capacidade dos processadores e das arquiteturas multi-core atuais, desenvolve-se neste trabalho uma proposta de paralelizao da metaheurstica Iterated Local Search. Para test-la, esta aplicada a um problema que necessita de agilidade na gerao da resposta, no caso, o planejamento operacional de lavra em minas a cu aberto com alocao dinmica de caminhes. A tomada de deciso nesse problema tem que ser rpida j que os custos de produo envolvidos so bastante elevados (Rodrigues, 2006). Para resolv-lo, as abordagens variam entre mtodos exatos e heursticos. Entre essas, apontamos os trabalhos de White e Olson (1986), Chanda e Dagdelen (1995), Alvarenga (1997), Merschmann (2002), Costa et al. (2004), Rodrigues (2006), Guimares et al. (2007) e Coelho et al. (2008). Neste ltimo trabalho proposto um algoritmo heurstico hbrido que representa uma evoluo em relao ao de Costa (2005), por incluir mais restries e outros movimentos para explorar o espao de solues. O algoritmo proposto combina os procedimentos heursticos GRASP (Feo e Resende, 1995), Variable Neighborhood Descent (Mladenovic e Hansen, 1997) e Iterated Local Search (Loureno et al., 2003) para resolver o problema em pauta. Usando quatro problemas-teste da literatura, o algoritmo heurstico foi comparado com o otimizador CPLEX 9.1 aplicado a um modelo de programao matemtica. Foram realizados testes envolvendo dois minutos de processamento, considerado adequado para a tomada de deciso. Em dois dos problemas, o algoritmo proposto mostrou-se bastante superior; enquanto nos dois outros ele foi competitivo com o CPLEX, produzindo solues mdias com valores at 0,12% piores, na mdia. O restante deste trabalho est organizado como segue. A Seo 2 apresenta as abordagens para a resoluo do problema de planejamento de lavra. Na Seo 3 so apresentados e discutidos os resultados obtidos. Finalmente, na Seo 4, so apresentadas as concluses e propostas para trabalhos futuros. 2. Abordagens Nesta seo so apresentadas duas abordagens encontradas na literatura para o planejamento operacional de lavra, sendo uma exata e uma heurstica sequencial, bem como uma proposta de algoritmo heurstico paralelo. 2.1 Abordagem de Programao Matemtica O modelo matemtico de alocao dinmica de caminhes o mesmo descrito em Coelho et

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento

Pg. 2038

al. (2008), o qual, por sua vez, representa um aperfeioamento daquele proposto em Costa et al. (2004). Para sua apresentao, sejam os seguintes parmetros: M E F T C V Mr Ml Mu Er El Eu + + tij trj tlj tuj j j+ l Qui Txl Clk Cuk capl Til glk xi yik nil PmPm+ PePe+ djdj+ Ul Conjunto de frentes de minrio; Conjunto de frentes de estril; Conjunto de frentes formado por M U E; Conjunto de parmetros de controle analisados no minrio; Conjunto de equipamentos de carga; Conjunto de equipamentos de transporte; Ritmo de lavra recomendado relativo a minrio (t/h); Ritmo de lavra mnimo relativo a minrio (t/h); Ritmo de lavra mximo relativo a minrio (t/h); Ritmo de lavra recomendado relativo a estril (t/h); Ritmo de lavra mnimo relativo a estril (t/h); Ritmo de lavra mximo relativo a estril (t/h); Penalidade por desvio negativo da produo de minrio; Penalidade por desvio positivo da produo de minrio; Penalidade por desvio negativo da produo de estril; Penalidade por desvio positivo da produo de estril; Valor do parmetro j na frente i (%); Valor recomendado para o parmetro de controle j na mistura (%); Valor mnimo admissvel para o parmetro de controle j na mistura (%); Valor mximo admissvel para o parmetro de controle j na mistura (%); Penalidade por desvio negativo para o parmetro de controle j na mistura; Penalidade por desvio positivo para o parmetro de controle j na mistura; Penalidade por uso do l-simo caminho; Ritmo de lavra mximo para a frente i (t/h); Taxa mxima de utilizao do caminho l; Produo mnima do equipamento de carga k (t/h); Produo mxima do equipamento de carga k (t/h); Capacidade do caminho l (t); Tempo total de ciclo do caminho l na frente i (min); 1, se o caminho l compatvel com o equipamento de carga k; e 0, caso contrrio. Ritmo de lavra da frente i (t/h); 1, se o equipamento de carga k opera na frente i; e 0, caso contrrio. Nmero de viagens que um caminho l realiza frente i; Desvio negativo de produo de minrio em relao ao recomendado (t/h); Desvio positivo de produo de minrio em relao ao recomendado (t/h); Desvio negativo de produo de estril em relao ao recomendado (t/h); Desvio positivo de produo de estril em relao ao recomendado (t/h); Desvio negativo do parmetro de controle j na mistura (t/h); Desvio positivo do parmetro de controle j na mistura (t/h); 1, se o veculo l usado; e 0, caso contrrio.

e as seguintes variveis de deciso:

A seguir, pelas Equaes (1)-(26), apresentada uma formulao de programao linear inteira mista relativa alocao dinmica de uma frota heterognea de caminhes e equipamentos de carga, tendo-se como objetivo alcanar as metas de produo e qualidade de minrio e reduzir o nmero de caminhes necessrios.
+ min j d + +j d + + Pm + + Pm + Pe + + Pe+ + lU l j j jT jT lV

(1)

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento

Pg. 2039

iM

(t
iM

ij

tu j ) xi 0
tl j ) xi 0

j T j T j T

(2) (3) (4) (5) (6) (7) (8)

x
iE

El

(9) (10)

(t

ij

x
iE

+ Pe Pe+ = E r xi Qu i xi 0 i F i F j T

iM

(t

ij

tr j ) xi + d d + = 0 j j

(11) (12) (13) (14) (15)

iM

x
iM

Mu
i

Ml

d+, d 0 j j
+ Pm , Pm 0

iM

+ + Pm Pm = M r

x
iE kC

Eu 1 1 i F k C
i F, k C

Pe+ , Pe 0 xi nil capl = 0


lV

y y
iF

ik

(16)

i F l V l V i F, l V l V

(22)

ik

(17)

1 nil Til Txl 60 iF Ul 1 nil Til 0 60 iF nil + U l {0,1}

(23)

yik {0,1} xi Cu k y ik 0
kC

(18)

(24)

i F i F

(19)

(25)

xi Cl k y ik 0
kC

(20)

(26)

nil Til 60

ik kC , g lk 0

i F, (21) l V

Podemos distinguir nesta formulao trs grupos de equaes. O primeiro diz respeito ao problema de mistura de minrios com metas, sendo formado pelas Equaes (2)-(15). O segundo (Equaes (16) a (20)) modela a alocao das carregadeiras e a faixa de produtividade que torna vivel a utilizao desses equipamentos; enquanto o ltimo grupo (Equaes (21) a (26)) est relacionado ao transporte de material na mina e a alocao e utilizao dos caminhes. No primeiro grupo, as Equaes (7) e (10) modelam o atendimento s metas de produo de minrio e estril, respectivamente; enquanto as Equaes (4) visam atender as metas de qualidade estabelecidas para os diversos parmetros de controle. Para cada uma dessas equaes envolvendo metas, h variveis de desvio que so penalizadas na funo objetivo (1). As Equaes (2) e (3) impedem que solues infactveis com respeito aos limites de especificao dos parmetros de controle sejam aceitas. As Equaes (5) e (6) asseguram que a produo de minrio est dentro dos limites [Ml, Mu], enquanto que as Equaes (8) e (9) garantem que a produo de estril esteja na faixa [El, Er]. As Equaes (11) asseguram que o ritmo de lavra em cada frente no supera aquele estabelecido pelo usurio. As demais equaes desse grupo definem que as variveis envolvidas so no-negativas. Em relao ao segundo grupo, as Equaes (16) definem que em cada frente pode ser alocado, no mximo, um nico equipamento de carga, enquanto que as Equaes (17) asseguram que cada equipamento de carga pode operar, no mximo, em uma nica frente. As Equaes (18)

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento

Pg. 2040

caracterizam as variveis yik como binrias. As Equaes (19) e (20) limitam, respectivamente, o ritmo de lavra mximo e mnimo, definidos pela carregadeira alocada frente. J as Equaes (11) limitam o ritmo de lavra mximo definido pelo usurio. No terceiro grupo, cada Equao (21) faz com que um caminho somente realize viagens a uma frente onde esteja alocado um equipamento de carga compatvel. As Equaes (22) fazem com que o ritmo de lavra de uma frente seja igual produo realizada pelos caminhes alocados frente. As Equaes (23) definem que cada caminho opere no mximo Tx% em uma hora. As Equaes (24), juntamente com a funo objetivo, foram com que os caminhes usados sejam penalizados. As Equaes (25) foram que seja inteiro positivo o nmero de viagens que um caminho faz a uma frente. As Equaes (26) indicam que as variveis Ul so binrias. 2.2 Abordagem Heurstica 2.2.1 Representao de uma Soluo Uma soluo representada por uma matriz R = [Y | N], onde Y a matriz |F| 1 e N a matriz |F| |V|. Cada clula yi da matriz Y|F|1 representa a carregadeira k alocada frente i. O valor 1 significa que no existe carregadeira alocada. Se no houver viagens feitas a uma frente i, a carregadeira k associada a tal frente considerada inativa e no penalizada por produo abaixo da mnima para este equipamento de carga (Equao (18) do modelo matemtico). Na matriz N|F||V|, cada clula nil representa o nmero de viagens do caminho l V a uma frente i F. O valor 0 (zero) significa que no h viagem para aquele caminho. O valor 1 informa a incompatibilidade entre o caminho e a carregadeira alocada quela frente. A partir de Y, N e os tempos de ciclo da matriz Tc|F||V| so determinados X|F|1 e Tcv1|V| , os quais representam, respectivamente, a quantidade de massa lavrada em cada frente e o somatrio dos tempos de ciclo de cada caminho. 2.2.2 Avaliao de uma Soluo Uma soluo s avaliada pela funo f da Equao (27). Esta funo, que deve ser minimizada, tem como primeira componente a funo objetivo propriamente dita, que corresponde Equao (1) do modelo de programao matemtica. As demais componentes penalizam a ocorrncia de inviabilidades da soluo s em vista do fato de que os movimentos utilizados para explorar o espao de solues (vide Seo 2.2.4) podem gerar solues infactveis.

f ( s) = f

PM

( s) + f p ( s) + f jq ( s) + f l u ( s) + f kc ( s)
jT lV kC

(27)

Na Equao (27), f PM (s) uma funo que avalia s quanto ao atendimento s metas de produo e qualidade, bem como nmero de caminhes utilizados; f p(s) avalia s quanto ao desrespeito aos limites de produo estabelecidos para a quantidade de minrio e estril; fjq(s) avalia s quanto inviabilidade em relao ao j-simo parmetro de controle; flu(s) avalia s quanto ao desrespeito do atendimento da taxa de utilizao mxima do l-simo caminho e fkc(s), que avalia s quanto ao desrespeito aos limites de produtividade da carregadeira k. 2.2.3 Construo de uma Soluo inicial Uma soluo inicial para o problema obtida por um procedimento construtivo guloso. A construo feita em duas etapas. As alocaes das carregadeiras e a distribuio das viagens s frentes so feitas, na primeira etapa, s frentes de estril, e na segunda, s frentes de minrio. Esta estratgia adotada tendo em vista que nas frentes de estril o importante atender produo e no necessrio observar a qualidade. Em seguida, pela Figura 1, so apresentados os procedimentos de construo mencionados. Na classificao dos elementos candidatos insero na soluo, considera-se que para as frentes de estril, a melhor frente a que possui a maior massa, a melhor carregadeira a que oferece a maior produo e o melhor caminho o de maior capacidade. J para as frentes de minrio considera-se que a melhor frente a que possui o menor desvio dos teores em relao s metas, a melhor carregadeira a de maior produo e o melhor caminho o de menor capacidade.

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento

Pg. 2041

Procedimento Constri_Soluo_Estril 1 2 3 4 5 6 7 8 9 10 11 Seja s uma soluo vazia enquanto (a produo de estril for menor que a produo recomendada) e (existirem frentes de estril no utilizadas) faa frente_atual melhor frente de estril ainda no utilizada se no h carregadeira na frente frente_atual ento Aloque a melhor carregadeira ainda no alocada se todas as carregadeiras j foram alocadas ento Retorne s para cada caminho l faa se o caminho l for compatvel com a carregadeira da frente frente_atual ento enquanto (a produo de estril for menor que a produo recomendada) e (o caminho l pode fazer mais uma viagem) faa Aloque ao caminho l uma viagem para a frente frente_atual Retorne s;

Procedimento Constri_Soluo_Minrio enquanto (a produo de minrio for menor que a produo recomendada) e 1 (existirem frentes de minrio no utilizadas) faa Ordene as frentes pelos desvios de meta (ordem crescente) 2 frente_atual Escolha a melhor frente de minrio que pode ser utilizada 3 se no h carregadeira na frente f_atual ento 4 Aloque a melhor carregadeira ainda no alocada 5 se todas as carregadeiras j foram alocadas ento Retorne s 6 para cada caminho l faa 7 se o caminho for compatvel com a carregadeira da frente frente_atual ento enquanto (a produo de minrio for menor que a produo recomendada) e 8 (o caminho l pode fazer mais uma viagem) faa 9 Aloque ao caminho l uma viagem para a frente frente_atual 10 Retorne s;

Figura 1: Procedimentos para construo de uma soluo inicial 2.2.4 Estruturas de vizinhana Para explorar o espao de solues do problema foram utilizados 8 movimentos, apresentados a seguir, sendo os seis primeiros propostos em Costa (2005) e os dois ltimos propostos em Coelho et al. (2008). Movimento Nmero de Viagens - NNV(s): Este movimento consiste em aumentar ou diminuir o nmero de viagens de um caminho l em uma frente i onde esteja operando um equipamento de carga compatvel. Desta maneira, neste movimento uma clula nil da matriz N tem seu valor acrescido ou decrescido de uma unidade. Movimento Carga - NCG(s): Consiste em trocar duas clulas distintas yi e yk da matriz Y, ou seja, trocar os equipamentos de carga que operam nas frentes i e k, caso as duas frentes possuam equipamentos de carga alocados. No caso de apenas uma das frentes possuir equipamento de carga e a outra estiver disponvel, esse movimento consistir em realocar o equipamento de carga frente disponvel. Para manter a compatibilidade entre carregadeiras e caminhes, as viagens feitas s frentes so realocadas juntamente com as frentes escolhidas. Movimento Realocar Viagem de um Caminho - NVC(s): Consiste em selecionar duas clulas nil e nkl da matriz N e repassar uma unidade de nil para nkl. Desta forma, um caminho l deixa de realizar uma viagem em uma frente i para realiz-la em outra frente k. Restries de compatibilidade entre equipamentos so respeitadas neste movimento, havendo realocao de viagens apenas quando houver compatibilidade entre eles. Movimento Realocar Viagem de uma Frente - NVF(s): Duas clulas nil e nik da matriz N so selecionadas e uma unidade de nil realocada para nik. Portanto, esse movimento consiste em realocar uma viagem de um caminho l para um caminho k que esteja operando na frente i. Restries de compatibilidade entre equipamentos so respeitadas neste movimento, havendo realocao de viagens apenas quando houver compatibilidade entre eles.

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento

Pg. 2042

Movimento Operao Frente - NOF(s): Consiste em retirar de operao a carregadeira que esteja em operao na frente i. Todas as viagens de caminhes feitas a essa frente so, tambm, eliminadas. A carregadeira retorna operao assim que uma nova viagem associada a ele. Movimento Operao Caminho - NOC(s): Consiste em selecionar uma clula nil N e zerar seu contedo, isto , retirar de atividade um caminho l que esteja operando em uma frente i. Movimento Troca de Viagens - NVT(s): Duas clulas da matriz N so selecionadas e uma viagem realocada de uma para outra. Tal movimento pode ocorrer entre quaisquer clulas da matriz N, respeitando-se as restries de compatibilidade entre equipamentos. Movimento Troca de Carregadeiras - NCT(s): Consiste em trocar duas clulas distintas yi e yk da matriz Y, ou seja, em trocar as carregadeiras que operam nas frentes i e k. Analogamente ao movimento CG, em um movimento CT os equipamentos de carga das frentes so trocados, mas as viagens feitas s frentes no so alteradas. Para manter a compatibilidade entre carregadeiras e caminhes, as viagens feitas a frentes com equipamentos de carga incompatveis so removidas. 2.2.5 Algoritmo heurstico sequencial GVILS O algoritmo heurstico sequencial GVILS, proposto em Coelho et al. (2008), combina os procedimentos Greed Randomized Adaptative Search Procedure GRASP (Feo e Resende, 1995), Variable Neighborhood Descent VND (Mladenovic e Hansen, 1997) e Iterated Local Search ILS (Loureno et al., 2003). Seu pseudocdigo esquematizado na Figura 2.
Algoritmo GVILS (s) 1 s ConstriSoluoEstril() 2 s ConstriSoluoMinrio() 3 s VND(v) 4 enquanto (Critrio de parada no satisfeito) faa 5 s' Perturbao(s, nvel) 6 s" VND(s) 7 se f(s) < f(s) ento 8 s s 9 fim-se 10 fim-enquanto 11 s s* 12 retorne s

Figura 2: Algoritmo heurstico sequencial GVILS A construo de uma soluo inicial (linhas 1 e 2 do algoritmo GVILS) feita pelos procedimentos descritos na Seo 2.2.4. A busca local feita pelo procedimento VND usando-se os movimentos descritos na seo anterior e opera nas vizinhanas em uma ordem pr-definida, comeando das que exigem menor esforo computacional para aquelas que exigem maior. Assim, o VND segue a seguinte ordem de explorao: NCG, NNV, NVC, NVF. Os movimentos relativos s vizinhanas NCT, NOC, NOF e NVT no foram utilizados na busca local, mas apenas como perturbao. A justificativa para esta estratgia o fato de que estes ltimos quatro movimentos requerem um elevado tempo computacional durante a busca local, sem um benefcio proporcional ao esforo despendido. Uma das principais caractersticas de algoritmos baseados em ILS o conceito de perturbao. Seu objetivo diversificar a busca, gerando uma soluo diferente e cada vez mais distante da regio atual de explorao no espao de busca. Para cumprir esta misso, comumente so estabelecidos vrios nveis de perturbao. No trabalho em questo, para cada nvel n, so aplicados soluo corrente n+2 movimentos, escolhidos aleatoriamente dentre os 8 descritos na Seo 2.2.4. A essa soluo perturbada aplicada busca local, baseada no procedimento VND (linha 6 do algoritmo GVILS). Aps IterMax iteraes sem melhora em um dado nvel, este aumentado. Encontrando uma soluo melhor, a perturbao volta ao seu nvel mais baixo.

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento

Pg. 2043

2.2.6 Parallel Iterated Local Search (PILS) Neste trabalho, propomos uma paralelizao da metaheurstica Iterated Local Search, denominada Parallel Iterated Local Search (PILS). Seu pseudocdigo mostrado na Figura 3.
Procedimento Parallel Iterated Local Search 1 s0 GeraSoluoInicial 2 s* BuscaLocal (s0) 3 repita 4 A |P| cpias de s* 5 B 6 para cada s A faa em paralelo 7 s Perturbao (s*, histrico) 8 s BuscaLocal (s) 9 Adicione s ao conjunto B 10 fim 11 s* CritrioAceitao (s*, B, histrico) 12 at critrio de parada satisfeito 13 retorne s*

Figura 3: Parallel Iterated Local Search (PILS) Nesta figura, s0 uma soluo inicial; s* a melhor soluo obtida durante sua execuo; P o conjunto de nodos de processamento; A um conjunto que armazena |P| cpias da melhor soluo at ento; B um conjunto de solues refinadas a partir do conjunto A; s a soluo perturbada; e s, obtido pela aplicao da busca local soluo perturbada, , potencialmente, um timo local melhor que as solues de A. Como se observa na Figura 3, inicialmente, gerada uma soluo inicial e a ela aplicada uma busca local. Em seguida vem a parte paralela do algoritmo. Para isso, a cada iterao, criada uma sequncia A de solues idnticas melhor soluo encontrada at o momento, sendo o tamanho da sequncia definida como sendo o nmero de processos que sero criados. Para se aproveitar ao mximo a arquitetura utilizada, o nmero de processos deve ser igual ao nmero de nodos de processamento. O prximo passo a perturbao e o refinamento das solues presentes em A, os quais so realizados em um nodo de processamento. As solues refinadas em cada iterao so armazenadas em um conjunto B. Ao fim da parte paralela do algoritmo, aplicado um critrio de aceitao para se determinar a melhor soluo obtida at o momento considerando-se a prpria soluo s*, o conjunto B e outras solues eventualmente armazenadas. 2.2.7 PILS Aplicado ao Planejamento Operacional de Lavra O algoritmo proposto para tratar o Planejamento Operacional de Lavra, chamado PGVILS, a verso paralela daquele desenvolvido em Coelho et al. (2008) usando a estratgia PILS da Figura 3. A fase construtiva de PGVILS feita pelo procedimento descrito na Seo 2.2.3. A busca local feita por um procedimento baseado na metaheurstica Variable Neighborhood Descent (VND) usando-se os movimentos descritos na Seo 2.2.4 e adotando-se a mesma ordem de explorao apresentada na Seo 2.2.5. Alm disso, a definio dos nveis de perturbao segue a mesma estratgia estabelecida na Seo 2.2.5. 2.2.8 Sistema Desenvolvido Para implementar de forma rpida o algoritmo proposto, foi utilizada a biblioteca MapMP1 que corresponde a uma implementao da abstrao MapReduce. MapReduce uma abstrao simples e poderosa, geralmente aplicada ao processamento ou gerao de grandes massas de dados. Dean e Ghemawat (2004) apresentam uma viso geral sobre a implementao do MapReduce da Google, a qual facilita muito o trabalho de seus programadores. Esse modelo foi feito para processar grandes conjuntos de dados de uma maneira massivamente paralela e baseado nos seguintes fatores (Lmmel, 2009): (i) iterao sobre a
1

Disponvel em http://sourceforge.net/projects/mapreducepp

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento

Pg. 2044

entrada; (ii) computao sobre cada um dos pares chave/valor da entrada; (iii) agrupamento de todos os valores intermedirios por chaves; (iv) iterao sobre os grupos resultantes; (v) reduo de cada grupo. O usurio da biblioteca MapReduce expressa a computao como duas funes: map e reduce. map, escrita pelo usurio, recebe um par como entrada e produz um conjunto de pares intermedirios tambm na forma chave/valor. A biblioteca MapReduce agrupa todos os valores intermedirios associados mesma chave intermediria e os passa funo reduce. A funo reduce, tambm escrita pelo usurio, aceita uma chave intermediria e o conjunto de valores relacionados quela chave. Essa funo junta esses valores para formar um conjunto possivelmente menor de valores. Tipicamente, zero ou apenas um valor produzido pela funo reduce. Os valores intermedirios so passados para o usurio da funo reduce. Especificamente para problemas de otimizao, onde os itens a serem mapeados no necessitam ser ordenados ou agrupados por chaves, pois o que interessa a soluo e uma forma de se medir sua qualidade, o modelo pode ser simplificado. Usurios especificam as funes map e reduce. A primeira processa um item de um tipo e gera um tipo . A segunda mescla todos os dados intermedirios, representados por um conjunto de elementos do tipo , gerado a partir da aplicao da funo map a um conjunto de dados do tipo . Programas escritos nesse estilo funcional podem ser automaticamente paralelizados e executados em grandes clusters. MapMP uma implementao em C++ da abstrao MapReduce para multiprocessadores. Tal implementao compe o projeto MapReduce++ que atualmente conta com recursos de paralelizao tanto em threads quanto em rede. A paralelizao por threads permite aos usurios o desenvolvimento de procedimentos que utilizam ao mximo a capacidade dos computadores atuais, os quais possuem recursos de multiprocessamento. J a paralelizao em rede permite aos usurios o desenvolvimento de aplicaes distribudas para computao de alto desempenho em clusters sofisticados ou em um conjunto de computadores pessoais. O principal objetivo da biblioteca oferecer ao usurio todo aparato necessrio para o desenvolvimento rpido de aplicaes paralelas. 3. Resultados e Anlise A aplicao do algoritmo proposto PGVILS ao planejamento operacional de lavra foi desenvolvida em C++ usando o compilador g++ 4.0. O modelo de programao matemtico foi resolvido pelo otimizador CPLEX, verso 11. Tanto o algoritmo heurstico quanto o exato foram testados em um PC Pentium Core 2 Quad (Q6600), com 2,4 GHz e 8GB de RAM. O CPLEX foi executado no Windows Vista, e o algoritmo heurstico paralelo na distribuio Linux Ubuntu 8.04LTS, por questes de compatibilidade com a biblioteca de paralelizao OpenMP utilizada. Para testar o algoritmo proposto foram usados quatro cenrios de Coelho et al. (2008), os quais se referem a dados do planejamento operacional de empresas mineradoras do quadriltero ferrfero, situadas na regio central do Estado de Minas Gerais. Os parmetros de controle so os teores qumicos (Fe, SiO2, Mn, P, H2O, entre outros) e granulometrias especificadas para o minrio. Tanto os pesos da funo de avaliao quanto os parmetros do algoritmo heurstico foram os mesmos de Coelho et al. (2008). Os melhores resultados atuais para esses problemas-teste so os seguintes: PADC1: 227,12; PADC2: 252,41; PADC3: 164034,27 e PADC4: 164054,04. A Tabela 1 mostra os resultados obtidos em 15, 30, 60 e 120 segundos de processamento, usando-se 1, 2, 3 e 4 nodos de processamento. Nesta tabela, Ncleos indica a quantidade de ns de processamento, as demais colunas indicam o melhor valor e o valor mdio da funo de avaliao para cada problema-teste (PADC1, PADC2, PADC3 e PADC4) encontrado em 30 execues do algoritmo. Observa-se que os resultados obtidos pela aplicao do PGVILS em um nico ncleo equivalem aplicao da verso sequencial GVILS.

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento

Pg. 2045

TABELA 1: Resultados do algoritmo PGVILS


Tempo Ncleos Melhores valores de custo Valores mdios do custo (segs) PADC1 PADC2 PADC3 PADC4 PADC1 PADC2 PADC3 PADC4 15 1 227,12 257,40 164090,31 164140,49 4408,83 4431,14 164107,81 164271,73 15 2 227,12 254,80 164089,20 164132,21 2561,24 4143,19 164104,85 164272,55 15 3 227,12 253,37 164080,36 164140,49 2796,25 2852,68 164105,95 164275,18 15 4 227,12 254,80 164058,33 164140,49 3421,54 2218,68 164103,88 164269,16 30 1 227,12 252,41 164073,84 164137,04 1947,76 1681,23 164105,82 164242,80 30 2 227,12 252,41 164080,36 164155,10 947,70 724,88 164102,00 164247,43 30 3 227,12 253,37 164080,36 164146,27 694,23 1280,13 164100,86 164239,58 30 4 227,12 252,41 164072,84 164136,89 694,31 491,40 164105,40 164232,21 60 1 227,12 252,41 164073,84 164111,47 460,77 258,25 164101,43 164231,00 60 2 227,12 252,41 164073,02 164132,21 461,11 255,97 164093,72 164237,06 60 3 227,12 252,41 164073,72 164126,92 227,38 255,02 164095,43 164227,59 60 4 227,12 252,41 164080,36 164107,97 227,42 256,88 164096,15 164203,98 120 1 227,12 252,41 164048,15 164110,29 460,64 254,29 164097,44 164204,40 120 2 227,12 252,41 164052,47 164092,26 227,29 254,97 164086,35 164185,43 120 3 227,12 252,41 164073,02 164121,09 227,34 255,06 164090,93 164173,15 120 4 227,12 252,41 164045,73 164118,79 227,26 254,46 164083,43 164172,10
5000,00 4500,00 4000,00 3500,00 3000,00 Custo 2500,00 2000,00 1500,00 1000,00 500,00 0,00 1 2 Ncleos 3 4

15 segs 30 segs 60 segs 120 segs

Figura 4: Comportamento mdio do PGVILS no PADC1 em relao ao n de ncleos Pela Tabela 1 e Figura 4, pode-se observar que medida que o nmero de ncleos aumenta h uma tendncia de melhoria na qualidade da soluo final. Entretanto, em alguns casos, como o relatado na Figura 4, solues finais obtidas usando-se dois ncleos so melhores que aquelas com trs ou quatro ncleos. Isto ocorre devido aleatoriedade inerente ao mtodo, a qual faz com que a busca caminhe em direes diferentes no espao de solues. Assim, no h garantia sempre de que a escolha das regies de busca feita usando-se trs ou quatro ncleos seja mais promissora do que aquela realizada com dois ncleos. Na Tabela 2 so comparados os resultados obtidos nas abordagens exata (CPLEX), heurstica sequencial (GVILS) e heurstica paralela (PGVILS) com quatro ncleos. A ltima coluna apresenta a melhora do valor mdio das solues obtidas pelo PGVILS em relao aos obtidos pelo GVILS, de acordo com MelhoraMdia = ( MdiaGVILS MdiaPGVILS ) / MdiaPGVILS. O desvio calculado como segue: Desvio = ( Mdia MelhorLit ) / MelhorLit, sendo MelhorLit o melhor valor encontrado na literatura para o problema-teste em questo. Pela Tabela 2 observa-se que em quinze dos dezesseis casos analisados, o algoritmo paralelo PGVILS obteve solues finais de maior qualidade, em mdia, que o GVILS. O PGVILS apresentou melhora significativa nos problemas PADC1 e PADC2. J nos outros problemas, a melhora foi amena. Nos testes de quinze segundos, a melhora foi de at 99,72%. A maior melhora foi obtida nos testes de 30 segundos: 242,13% em relao mdia. Apesar da melhora observada em 15 e 30 segundos, a resoluo do problema em tais tempos no apropriada, principalmente no caso dos problemas PADC1 e PADC2. Nesses casos, o PGVILS ainda apresenta grande variabilidade na qualidade das solues finais encontradas. Entretanto, percebe-se que 60

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento

Pg. 2046

segundos tempo suficiente para a resoluo satisfatria do problema. Nesse tempo, o PGVILS superior ao CPLEX em dois dos quatro problemas. Outro ponto a ser observado que o PGVILS foi capaz de alcanar a melhor soluo da literatura para o problema PADC1 com apenas 15 segundos de processamento e, para o PADC2, a partir de 30 segundos. TABELA 2 Comparao do PGVILS com outras abordagens
Probl. PADC1 PADC2 PADC3 PADC4 PADC1 PADC2 PADC3 PADC4 PADC1 PADC2 PADC3 PADC4 PADC1 PADC2 PADC3 PADC4 Tempo (segs) 15 15 15 15 30 30 30 30 60 60 60 60 120 120 120 120 CPLEX 90238,416 261,834 164043,55 164065,21 90238,416 261,834 164043,31 164065,21 230,3 259,746 164015,67 164055,68 230,30 254,22 164043,55 164085,84 Melhor 227,12 257,40 164090,31 164140,49 227,12 252,41 164073,84 164137,04 227,12 252,41 164073,84 164111,47 227,12 252,41 164048,15 164110,29 GVILS Mdia 4408,83 4431,14 164107,81 164271,73 1947,76 1681,23 164105,82 164242,80 460,77 258,25 164101,43 164231,00 460,64 254,29 164097,44 164204,40 Desvio 1841,19% 1655,53% 0,04% 0,13% 757,59% 566,07% 0,04% 0,12% 102,88% 2,31% 0,04% 0,11% 102,82% 0,74% 0,04% 0,09% Melhor 227,12 254,80 164058,33 164140,49 227,12 252,41 164072,84 164136,89 227,12 252,41 164080,36 164107,97 227,12 252,41 164045,73 164118,79 PGVILS Mdia 3421,54 2218,68 164103,88 164269,16 694,31 491,40 164105,40 164232,21 227,42 256,88 164096,15 164203,98 227,26 254,46 164083,43 164172,10 Desvio 1406,49% 779,00% 0,04% 0,13% 205,70% 94,68% 0,04% 0,11% 0,13% 1,77% 0,04% 0,09% 0,06% 0,81% 0,03% 0,07% Melhora Mdia 28,855% 99,720% 0,002% 0,002% 180,533% 242,129% 0,000% 0,006% 102,609% 0,531% 0,003% 0,016% 102,692% -0,069% 0,009% 0,020%

4. Concluses Este trabalho apresentou uma proposta de paralelizao da metaheurstica Iterated Local Search (ILS) e desenvolveu um algoritmo heurstico paralelo, denominado PGVILS, aplicado ao problema de planejamento operacional de lavra com alocao dinmica de caminhes. O algoritmo desenvolvido combina os procedimentos heursticos ILS, Variable Neighborhood Descent (VND) e a fase de construo GRASP e explora a capacidade de multiprocessamento da gerao atual de computadores. O algoritmo PGVILS foi testado usando-se 1, 2, 3 e 4 ncleos de processamento e interrompido aps 15, 30, 60 e 120 segundos de execuo. Observou-se, como j era esperada, melhoria na qualidade das solues finais quando comparado com sua verso sequencial. Comparado com os resultados produzidos pelo otimizador CPLEX, o algoritmo proposto conseguiu super-lo com relao s melhores solues encontradas e produzir solues mdias competitivas com este. Como trabalho futuro prope-se a implementao de uma verso distribuda do algoritmo PGVILS de forma a execut-lo em um maior nmero de ncleos. Agradecimentos Os autores agradecem ao CNPq, processo 474831/2007-8, e FAPEMIG, processo CEX 299106.1/07, pelo apoio ao desenvolvimento da presente pesquisa. Referncias ALVARENGA, G. B. Despacho timo de caminhes numa minerao de ferro utilizando algoritmo gentico com processamento paralelo. Dissertao (Mestrado em Engenharia Eltrica), Programa de Ps-Graduao em Engenharia Eltrica, UFMG, Belo Horizonte, 1997. CAMPOS, G. D.; YOSHIZAKI, H. T. Y.; BELFIORE, P. P. Algoritmo Gentico e computao paralela para problemas de roteirizao de veculos com janelas de tempo e entregas fracionadas. Gesto e Produo, v. 13, p. 271-281, 2006.

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento

Pg. 2047

CHANDA, E. K. C.; DAGDELEN, K. Optimal blending of mine production using goal programming and interactive graphics systems, International Journal of Surface Mining, Reclamation and Environment, v. 9, p. 203-208, 1995. COELHO, I. M.; RIBAS, S.; SOUZA, M. J. F. Um algoritmo baseado em GRASP, Iterated Local Search para a otimizao do planejamento operacional de lavra. In: Anais do XI Encontro de Modelagem Computacional, Volta Redonda (RJ), 8 p., 2008. COSTA, F. P.; SOUZA, M. J. F. e PINTO, L. R. Um modelo de alocao dinmica de caminhes. Revista Brasil Mineral, v. 231, p. 26-31, 2004. COSTA, F. P. Aplicaes de tcnicas de otimizao a problemas de planejamento operacional de lavras em mina a cu aberto. 141 p. Dissertao (Mestrado em Engenharia Mineral) Programa de Ps-Graduao em Engenharia Mineral, UFOP, Ouro Preto, 2005. DEAN, J. e GHEMAWAT, S. MapReduce: Simplied Data Processing on Large Clusters, In OSDI'04, 6th Symposium on Operating Systems Design and Implementation, Sponsored by USENIX, in cooperation with ACM SIGOPS, pg 137-150, 2004. FEO, T. A.; RESENDE, M. G. C. Greedy randomized adaptive search procedures. Journal of Global Optimization, v. 6, p. 109133, 1995. GUIMARES, I. F.; PANTUZA, G. e SOUZA, M. J. F. Modelo de simulao computacional para validao dos resultados de alocao dinmica de caminhes com atendimento de metas de qualidade e de produo em minas a cu aberto. In: Anais do XIV Simpsio de Engenharia de Produo (SIMPEP), Bauru, CD-ROM, 11 p., 2007. LMMEL, R. Google's MapReduce Programming Model, Microsoft Corp. In www.cs.vu.nl/ ~ralf/MapReduce/paper.pdf Acesso em 03/03/2009. LOURENO, H. R.; MARTIN, O. C.; STUTZLE, T. Iterated Local Search. In: GLOVER, F. e KOCHENBERGER, G. (eds). Handbook of Metaheuristics, Kluwer Academic Publishers, 2003. MERSCHMANN, L.H.C. Desenvolvimento de um sistema de otimizao e simulao para anlise de cenrios de produo em minas a cu aberto. Dissertao (Mestrado em Engenharia de Produo) - Programa de Engenharia de Produo/COPPE, UFRJ, Rio de Janeiro, 2002. MLADENOVIC, N.; HANSEN, P. A Variable Neighborhood Search. Computers and Operations Research, v. 24, p. 1097-1100, 1997. MUHAMMAD, R. B. A Parallel Local Search Algorithm for Euclidean Steiner Tree Problem, In IEEE Proceedings of Seventh International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD 2006), p. 157-164, 2006. RESENDE, M. G. C e RIBEIRO, C. C. Parallel Greedy Randomized Adaptive Search Procedures. Parallel Metaheuristics: A New Class of Algorithms (E. Alba, ed.), 315-346, Wiley, 2005. RODRIGUES, L. F. Anlise comparativa de metodologias utilizadas no despacho de caminhes em minas a cu aberto. 86 p. Dissertao (Mestrado em Engenharia de Produo), Programa de Ps-Graduao em Engenharia de Produo, UFMG, Belo Horizonte, 2006. WHITE, J. W. e OLSON, J. P. Computer-based dispatching in mines with concurrent operating objectives. Mining Engineering, v. 38, n. 11, p. 10451054, 1986.

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento

Pg. 2048

Anais do IX Congresso Brasileiro de Redes Neurais / Inteligncia Computacional (IX CBRN) Ouro Preto 25-28 de Outubro de 2009 c Sociedade Brasileira de Redes Neurais

UM ALGORITMO HEURSTICO HBRIDO PARA O PLANEJAMENTO OPERACIONAL DE LAVRA


Igor Machado Coelho1 , Sabir Ribas1 , Marcone Jamilson Freitas Souza1 , Vitor Nazrio Coelho1
1 Universidade

Federal de Ouro Preto, Departamento de Computao, Ouro Preto, Minas Gerais, Brasil

imcoelho@iceb.ufop.br; sabir@iceb.ufop.br; marcone@iceb.ufop.br; vncoelho@gmail.com

Abstract This paper presents a hybrid algorithm based on Iterated Local Search metaheuristic. In order to test
this algorithm, it is applied to a problem which requires fast answers, i.e., the open-pit mining problem. The proposed heuristic algorithm uses GRASP to generate an initial solution and has Variable Neighborhood Descent as a method of local search. Periodically, a mathematical programming module is triggered to solve smaller parts of the problem in optimality. To validate the proposed hybrid method its results are compared to those produced by its pure heuristic version and to the CPLEX solver. The results show the efciency of the proposed algorithm.

Keywords Open Pit Mining, GRASP, Variable Neighborhood Descent, Iterated Local Search, Metaheuristics Resumo Este trabalho apresenta um algoritmo hbrido baseado na metaheurstica Iterated Local Search (ILS).
De forma a test-lo, ele aplicado a um problema que requer decises rpidas, o problema de planejamento operacional de lavra em minas a cu aberto. O algoritmo heurstico proposto utiliza GRASP para gerar uma soluo inicial e tem o Variable Neighborhood Descent como mtodo de busca local. Periodicamente, acionado um mdulo de programao matemtica para resolver na otimalidade partes menores do problema. Para valid-lo, seus resultados so comparados com aqueles produzidos por sua verso sem o mdulo de programao matemtica, bem como com os do otimizador CPLEX. Experimentos computacionais mostram a efetividade da proposta.

Palavras-chave Planejamento operacional de lavra, GRASP, Variable Neighborhood Descent, Iterated Local
Search, Metaheursticas

1. Introduo
Este trabalho trata do problema de planejamento operacional de lavra com alocao dinmica de caminhes (POLAD). O objetivo determinar o ritmo de lavra em cada frente, seja ela de minrio ou de estril, de forma que as metas requeridas de produo e qualidade sejam satisfeitas e o nmero de caminhes necessrios ao processo seja reduzido. De acordo com [1] , este problema pertence classe NP-difcil, uma vez que tem como subproblema, o Problema da Mochila Mltipla, o qual NP-difcil. Em vista da diculdade de resolv-lo na otimalidade, prope-se um algoritmo heurstico hbrido para encontrar solues sub-timas. O algoritmo

proposto baseado na metaheurstica Iterated Local Search - ILS [2] e utiliza GRASP [3] para gerar uma soluo inicial, Variable Neighborhood Descent - VND [4] para fazer busca local e tem um mdulo de programao matemtica para resolver na otimalidade partes menores do problema. O algoritmo proposto representa uma evoluo em relao ao de [5] , por incluir um mdulo de programao matemtica. Dado que a tomada de deciso no problema em pauta deve ser rpida, o desao produzir solues de boa qualidade no menor tempo. Assim, comparaes com outras metodologias so feitas tendo-se como foco a qualidade da soluo em um dado tempo de processamento. O restante deste trabalho est organizado como segue. Na Seo 2 so apresentados os trabalhos correlatos. A Seo 3 apresenta a metodologia para a resoluo do problema. Na Seo 4 descrito o algoritmo proposto e a Seo 5 mostra os resultados dos experimentos computacionais. A Seo 6 conclui o trabalho.

2. Trabalhos Correlatos
Em [6] foi proposto um algoritmo, baseado em programao linear e dinmica, que a base para o sistema DISPATCH, o qual vem operando em muitas minas em todo o mundo [7] . Um modelo de programao linear por metas foi apresentado em [8] para resolver um problema de mistura de minrios no planejamento de curto prazo em uma mina de carvo. O objetivo foi maximizar um critrio econmico e reduzir a soma dos desvios dos parmetros individuais de qualidade e da tonelagem em relao aos valores desejados. Um sistema para o despacho timo de caminhes em uma minerao de ferro foi desenvolvido em [9] com o objetivo de minimizar o tempo de la da frota de caminhes, aumentar a produtividade desta e melhorar a qualidade do minrio lavrado. O sistema tem o Algoritmo Gentico com ferramenta de otimizao e a base do sistema SMART MINE, atualmente muito utilizado em vrias minas brasileiras. Um sistema de otimizao e simulao, chamado de OTISIMIN, foi desenvolvido em [10] para anlise de cenrio de produo em minas a cu aberto. Esse modelo de otimizao foi aperfeioado posteriormente por [11] , incluindo-se restries de atendimento s metas de produo e qualidade. Em [1] foi proposta uma modelagem heurstica para o problema, baseada em Variable Neighborhood Search (VNS). O algoritmo proposto explora o espao de solues com base em seis tipos de movimentos, sendo estes os primeiros descritos na subseo 3.2 do presente trabalho. Pelos experimentos realizados, o VNS foi capaz de gerar solues de melhor qualidade em um menor tempo de processamento que aquelas obtidas pelo modelo exato, resolvido pelo LINGO. Em [12] , o problema resolvido por um algoritmo heurstico, denominado GVILS, que combina os procedimentos heursticos GRASP, VND e ILS. Alm dos movimentos de [1] , o algoritmo GVILS faz uso de mais outros dois movimentos para explorar o espao de solues. Na modelagem heurstica considerou-se, tambm, a minimizao do nmero de veculos. Usando quatro problemas-teste da literatura, o GVILS foi comparado com o otimizador CPLEX 9.1 aplicado a um modelo de programao matemtica. Foram realizados testes envolvendo 15 minutos de processamento. Em dois dos problemas, o algoritmo proposto mostrou-se bastante superior; enquanto nos dois outros ele foi competitivo com o CPLEX, produzindo solues mdias com valores at 0,08% piores, na mdia. Em [5] , so feitos testes com tempos limite menores, comparando a abordagem heurstica proposta com o otimizador CPLEX 9.1 aplicado ao mesmo modelo matemtico de [12] . Observou-se uma melhora no desempenho da abordagem heurstica proposta em relao resoluo do problema com solvers exatos quando o tempo de soluo um fator crtico. Os testes foram feitos com um limite de dois minutos de processamento. Tais resultados motivaram o desenvolvimento do presente trabalho, que busca explorar as caractersticas vantajosas de ambas as abordagens heurstica e exata.

3. Metodologia
3.1 Modelo Exato A formulao de programao matemtica usada neste trabalho a mesma de [12] , a qual uma evoluo do modelo de [1] . Nesta formulao, considera-se a funo de avaliao dada pela Equao (1): min j d + j
jT + j+d + + Pm + +Pm j jT + + Pe + + Pe + lUl lV

(1)

Na Equao (1) busca-se minimizar os desvios positivos (d + ) e negativos (d ) das metas de cada j j parmetro de controle j da mistura, bem como minimizar os desvios positivos e negativos das metas de + + produo de minrio e estril, representados pelas variveis de deciso Pm , Pm , Pe e Pe , respectivamente. Nesta funo tambm considera-se a minimizao do nmero de veculos utilizados, representado pela varivel binria Ul , que vale 1 se o veculo l for utilizado e 0, caso contrrio. As constantes j , j+ , , + , , + e l so pesos que reetem a importncia de cada componente da funo objetivo. 3.2 Modelo Heurstico

Representao de uma soluo Uma soluo representada por uma matriz R = [Y |N], sendo Y a matriz |F| 1 e N a matriz |F| |V |. Cada clula yi da matriz Y|F|1 representa a carregadeira k alocada frente i. O valor 1 signica que no existe carregadeira alocada. Se no houver viagens feitas a uma frente i, a carregadeira k associada a tal frente considerada inativa e no penalizada por produo abaixo da mnima para este equipamento de carga. Na matriz N|F||V | , cada clula nil representa o nmero de viagens do caminho l V a uma frente i F. O valor 0 (zero) signica que no h viagem para aquele caminho. O valor 1 informa a incompatibilidade entre o caminho e a carregadeira alocada quela frente. Avaliao de uma soluo Como os movimentos desenvolvidos podem gerar solues inviveis, uma soluo avaliada por uma funo f baseada em penalidades, dada pela Equao (2). Nesta equao, a componente fsM a funo objetivo propriamente dita (mesma do modelo matemtico - Equao (1)), e avalia s quanto ao atendimento s metas de produo e qualidade, bem como nmero de caminhes utilizados. As demais componentes penaliza a ocorrncia de inviabilidade na soluo corrente. Assim, f p (s) avalia s quanto ao q desrespeito aos limites de produo estabelecidos para a quantidade de minrio e estril; f j (s) avalia s quanto inviabilidade em relao ao j-simo parmetro de controle; flu (s) avalia s quanto ao desrespeito c do atendimento da taxa de utilizao mxima do l-simo caminho e fk (s) avalia s quanto ao desrespeito aos limites de produtividade da k-sima carregadeira. f (s) = f M (s) + f p (s) +

f jq(s) + flu(s) + fkc(s)


jT lV kC

(2)

Gerao de uma soluo inicial Uma soluo inicial para o problema obtida por um procedimento construtivo parcialmente guloso, semelhante da fase de construo GRASP. A construo feita em duas etapas. As alocaes das
3

carregadeiras e a distribuio das viagens s frentes so feitas, na primeira etapa, s frentes de estril, e na segunda, s frentes de minrio. Esta estratgia adotada tendo em vista que nas frentes de estril o importante atender produo, no sendo necessrio observar a qualidade. A classicao dos elementos candidatos a ser inseridos na soluo feita considerando que, para as frentes de estril a melhor frente a que possui a maior massa, a melhor carregadeira a que oferece a maior produo e o melhor caminho o de maior capacidade. J para as frentes de minrio considera-se que a melhor frente a que possui o menor desvio dos teores em relao s metas, a melhor carregadeira a que oferece a maior produo e o melhor caminho o de menor capacidade. A escolha da frente na segunda etapa da construo (minrio) feita usando-se uma funo guia, tal como em [13] . Inicialmente, todas as frentes candidatas so ordenadas tendo em vista os valores dos desvios das metas de qualidade. r-sima frente melhor classicada, associada a funo bias(r) = 1/(2r). A seguir, cada frente candidata escolhida com probabilidade p(r) = bias(r)/ bias(r) . Assim, d-se maior probabilidade de escolha frente que mais contribui para minimizar os desvios das metas. Estruturas de Vizinhana Para explorar o espao de solues do problema foram usados oito movimentos, apresentados a seguir, sendo os seis primeiros os de [1] . Movimento Nmero de Viagens - N NV (s). Este movimento consiste em aumentar ou diminuir o nmero de viagens de um caminho l em uma frente i, onde esteja operando um equipamento de carga compatvel. Desta maneira, neste movimento uma clula nil da matriz N tem seu valor acrescido ou decrescido de uma unidade. Movimento Carga - NCG (s). Consiste em trocar duas clulas distintas yi e yk da matriz Y , ou seja, trocar os equipamentos de carga que operam nas frentes i e k, caso as duas frentes possuam equipamentos de carga alocados. Havendo apenas uma frente com equipamento de carga, esse movimento consistir em realocar o equipamento de carga frente disponvel. Para manter a compatibilidade entre carregadeiras e caminhes, as viagens feitas s frentes so realocadas junto com as frentes escolhidas. Movimento Realocar Viagem de um Caminho - NVC (s). Consiste em selecionar duas clulas nil e nkl da matriz N e repassar uma unidade de nil para nkl . Assim, um caminho l deixa de realizar uma viagem em uma frente i para realiz-la em outra frente k. Restries de compatibilidade entre equipamentos so respeitadas neste movimento, havendo realocao de viagens apenas quando houver compatibilidade entre eles. Movimento Realocar Viagem de uma Frente - NV F (s). Duas clulas nil e nik da matriz N so selecionadas e uma unidade de nil realocada para nik . Portanto, esse movimento consiste em realocar uma viagem de um caminho l para um caminho k que esteja operando na frente i. Restries de compatibilidade entre equipamentos so respeitadas neste movimento, havendo realocao de viagens apenas quando houver compatibilidade entre eles. Movimento Operao Frente - N OF (s). Consiste em retirar de operao o equipamento de carga que esteja em operao na frente i. O movimento retira todas as viagens feitas a esta frente, deixando o equipamento inativo. O equipamento retorna operao assim que uma nova viagem associada a ele. Movimento Operao Caminho - N OC (s). Consiste em selecionar uma clula nil da matriz N e zerar seu contedo, signicando retirar de atividade um caminho l que esteja operando em uma frente i. Movimento Troca de Viagens - NV T (s). Duas clulas da matriz N so selecionadas e uma viagem realocada de uma clula para outra. Tal movimento pode ocorrer entre quaisquer clulas da matriz N, respeitando-se as restries de compatibilidade entre equipamentos. Movimento Troca de Carregadeiras - NCT (s). Consiste em trocar duas clulas distintas yi e yk da matriz Y , ou seja, trocar os equipamentos de carga que operam nas frentes i e k. Analogamente ao movimento CG, os equipamentos de carga das frentes so trocados, mas as viagens feitas s frentes no so alteradas. Para manter a compatibilidade entre carregadeiras e caminhes, as viagens feitas a frentes com equipamentos de carga incompatveis so removidas.

4. Algoritmo proposto
O algoritmo proposto, denominado H-GVILS, consiste em adicionar um mdulo de programao matemtica ao algoritmo heurstico GVILS de [5] . No algoritmo GVILS, o qual baseado em ILS e cujo pseudocdigo est apresentado na Figura 1, uma soluo inicial construda pelo procedimento descrito na Subseo 3.2. A busca local feita pelo procedimento VND usando-se os movimentos descritos na subseo 3.2. Estrategicamente, a busca local opera nas vizinhanas em uma ordem pr-denida, comeando das que exigem menor esforo computacional para aquelas que exigem maior esforo. Assim, o VND segue a seguinte ordem de explorao: NCG , N NV , NVC , NV F . Os movimentos relativos s vizinhanas NCT , N OC , N OF e NV T no foram utilizados na busca local, mas apenas como perturbao. Isto foi feito tendo em vista que estes ltimos movimentos requerem esforo computacional muito elevado, inadequado para o tempo computacional disponvel para a tomada de deciso .
Algoritmo GVILS( Soluo s ) 1 s ConstriSoluoEstril () 2 s ConstriSoluoMinrio( s ) 3 s VND( s ) 4 enquanto ( critrio de parada no satisfeito ) faa 5 s Perturbao ( s, nvel ) 6 s VND ( s ) 7 se ( f (s ) < f (s) ) ento 8 s s 9 m-se 10 m-enquanto 11 Retorne s m GVILS

Figura 1: Algoritmo GVILS

O objetivo da perturbao diversicar a busca, gerando uma soluo diferente e cada vez mais distante da regio atual de explorao no espao de busca. Para cumprir esta misso, so estabelecidos vrios nveis de perturbao. Para cada nvel n, so aplicados soluo corrente n + 2 movimentos, escolhidos aleatoriamente dentre os oito descritos na Subseo 3.2. A essa soluo perturbada aplicada busca local, baseada no procedimento VND (linha 6 da Fig. 1). Aps IterMax iteraes sem melhora em um dado nvel, este aumentado. No caso de se encontrar uma soluo de melhora, o nvel de perturbao volta ao seu nvel mais baixo. O algoritmo H-GVILS difere do GVILS em dois aspectos. A partir de um determinado nvel de perturbao, a busca local (linha 6 da Figura 1) no passa a ser feita de forma heurstica e sim de forma exata. Para tanto, xa-se uma parte grande do problema e resolve-se na otimalidade uma parte pequena do POLAD. Alm disso, h diferena tambm na maneira como so feitas as perturbaes aps esse determinado nvel de perturbao ser alcanado. No H-GVILS, para cada nvel p de perturbao, so aplicados soluo corrente p + 2 movimentos, escolhidos aleatoriamente dentre os oito descritos na Subseo 3.2. A diferena que aps um nvel H de perturbaes, o mtodo comea a fazer perturbaes da seguinte maneira: inicialmente seleciona-se aleatoriamente 10% das frentes e xa-se no modelo exato todas as conguraes das outras frentes no selecionadas, ou seja, as clulas das matrizes Y , de carregadeiras e N, de viagens, que no pertencem a estes 10% selecionados. Desta maneira, executa-se o otimizador de programao matemtica e retorna-se como soluo perturbada a soluo encontrada pelo mtodo exato. A cada nvel so aumentados mais 10% de frentes livres, de forma que ao trmino de dez nveis, o mtodo executado totalmente de forma exata. O procedimento de soluo via o otimizador interrompido em duas situaes: (i) aps encontrar a soluo
5

tima ou (ii) aps decorridos segundos de processamento.

5. Resultados Computacionais
O algoritmo H-GVILS proposto foi desenvolvido em C++ usando o framework de otimizao OptFrame, disponvel em https://sourceforge.net/projects/optframe compilado pelo g++ 4.0. O modelo exato foi resolvido pelo CPLEX 9.1 e pelo GLPK 4.9 na verso hbrida do algoritmo. Os testes foram executados em um microcomputador Pentium IV, 3.0 GHZ e 2 GB de RAM, com Windows XP Professional. Os cenrios utilizados para teste, bem como os parmetros do algoritmo proposto, foram os mesmos de [5] . Cada problema-teste foi executado 10 vezes pelo algoritmo H-GVILS, considerando-se como critrio de parada os tempos de 2 e 15 minutos. A seguir, ele foi comparado com o solver CPLEX 9.1, bem como o GVILS de [12] , em 15 minutos de execuo e de [5] , em 2 minutos de execuo. No houve comparao com o algoritmo de [1] visto que este no contemplava restries relativas taxa de utilizao de caminhes e a funo de custo era diferente. As Tabelas 1 e 2 apresentam os resultados mdios das funes objetivo obtidas pelos algoritmos H-GVILS, GVILS e pelo otimizador CPLEX em 15 e 2 minutos de processamento, respectivamente.
Tabela 1: Resultados 15 min. de processamento Problema -teste PADC01 PADC02 PADC03 PADC04 CPLEX GVILS H-GVILS 15 min 15 min 15 min 227,32 227,22 227,16 257,30 254,38 253,45 164.040 164.089,28 164.076,04 164.054 164.187,48 164.172,49

Tabela 2: Resultados 2 min. de processamento Problema -teste PADC01 PADC02 PADC03 PADC04 CPLEX GVILS H-GVILS 2 min 2 min 2 min 7.228,95 227,73 227,73 7.276,39 256,72 256,72 164.043,55 164.099,06 164.099,06 164.085,84 164.245,03 164.245,03

Como pode ser observado pela Tabela 1, o algoritmo H-GVILS superior a GVILS em todos os problemas-teste. Comparando-o com o CPLEX, verica-se que ele o superou nos problemas-teste PADC01 e PADC02 em at 1,49%; no entanto, teve desempenho inferior nos outros dois problemas, mas aqum apenas a 0,07% da soluo do CPLEX, no mximo. J na Tabela 2, em que o foco est no tempo computacional reduzido, no caso de dois minutos de processamento, verica-se que tanto o GVILS quanto o H-GVILS superam, em muito, as solues do CPLEX nos dois primeiros problemas-teste. Entretanto, tais algoritmos tm desempenho inferior nos demais problemas, mas cam com solues piores em 0,1%, no mximo. Observa-se, tambm, que o algoritmo H-GVILS obteve os mesmos resultados do GVILS, visto que sua busca hbrida apenas executada nas ltimas perturbaes do ILS, o que ocorreu aps os dois minutos de execuo do mtodo.

6. Concluses
Este trabalho teve seu foco no problema de planejamento operacional de lavra considerando alocao dinmica de caminhes. Foi proposto um algoritmo heurstico hbrido, que combina uma abordagem de programao matemtica com os procedimentos heursticos GRASP, Variable Neighborhood Descent e Iterated Local Search, para resolv-lo. A integrao proposta foi validada considerando-se que resultados melhores foram obtidos. O algoritmo heurstico tambm se mostrou adequado para ser usado como ferramenta de apoio deciso, uma vez que resultados de qualidade so obtidos rapidamente.

Agradecimentos: Os autores agradecem ao CNPq, processo 474831/2007-8, e FAPEMIG, processo


CEX 2991-06.1/07, pelo apoio a este trabalho.

Referncias:
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] COSTA, F. P. Aplicaes de tcnicas de otimizao a problemas de planejamento operacional de lavras em mina a cu aberto. Dissertao (Mestrado em Engenharia Mineral) PPGEM/UFOP, Ouro Preto, 2005. LOURENO, H. R.; MARTIN, O. C.; STTZLE, T. Iterated local search. In: GLOVER, F.; KOCHENBERGER, G. (Ed.). Handbook of Metaheuristics. Boston: Kluwer, 2003. FEO, T. A.; RESENDE, M. G. C. Greedy randomized adaptive search procedures. Journal of Global Optimization, v. 6, p. 109133, 1995. MLADENOVIC, N.; HANSEN, P. A variable neighborhood search. Computers and Operations Research, v. 24, p. 10971100, 1997. COELHO, I. M.; RIBAS, S.; SOUZA, M. J. F. Um algoritmo baseado em grasp, iterated local search para a otimizao do planejamento operacional de lavra. In: Anais do XI Encontro de Modelagem Computacional. Volta Redonda/RJ: [s.n.], 2008. WHITE, J. W.; OLSON, J. P. Computer-based dispatching in mines with concurrent operating objectives. Mining Engineering, v. 38, n. 11, p. 10451054, 1986. RODRIGUES, L. F. Anlise comparativa de metodologias utilizadas no despacho de caminhes em minas a cu aberto. Dissertao (Mestrado em Engenharia de Produo) DEP/UFMG, Belo Horizonte, 2006. CHANDA, E. K. C.; DAGDELEN, K. Optimal blending of mine production using goal programming and interactive graphics systems. Int. Journal of Surface Mining, Reclamation and Environment, v. 9, p. 203208, 1995. ALVARENGA, G. B. Despacho timo de caminhes numa minerao de ferro utilizando algoritmo gentico com processamento paralelo. Dissertao (Mestrado em Engenharia Mineral) DEE/UFMG, Belo Horizonte, 1997. MERSCHMANN, L. H. C. Desenvolvimento de um sistema de otimizao e simulao para anlise de cenrios de produo em minas a cu aberto. Dissertao (Mestrado em Engenharia de Produo) PEP/COPPE/UFRJ, Rio de Janeiro, 2002. COSTA, F. P.; SOUZA, M. J. F.; PINTO, L. R. Um modelo de alocao dinmica de caminhes. Rev. Brasil Mineral, v. 231, p. 2631, 2004. COELHO, I. M.; RIBAS, S.; SOUZA, M. J. F. Um algoritmo baseado em grasp, vnd e iterated local search para a resoluo do planejamento operacional de lavra. In: XV Simpsio de Engenharia de Produo. Bauru/SP: [s.n.], 2008. BRESINA, J. L. Heuristic-biased stochastic sampling. In: Proceedings of the 13th National Conference on Articial Intelligence, AAAI Press. Portland: [s.n.], 1996. p. 271278.

PLANEJAMENTO OPERACIONAL DE LAVRA COM ALOCAO DINMICA DE CAMINHES:


ABORDAGENS EXATA E HEURSTICA

Francisco Csar Rodrigues de Arajo MestrandoPPGEM/EM/UFOPOuro PretoMG E-mail: fcesaraujo@yahoo.com.br Marcone Jamilson Freitas Souza Prof. AdjuntoPPGEM/EM/UFOP e DECOM/ICEB/UFOPOuro PretoMG E-mail: marcone@iceb.ufop.br

TRATA DO PLANEJAMENTO OPERACIONAL DE LAVRA COM ALOCAO DINMICA DE CAMINHES. ESTE PROBLEMA CONSISTE EM DETERMINAR O NMERO DE VIAGENS QUE CADA CAMINHO DEVE FAZER A CADA FRENTE DE LAVRA, BEM COMO DECIDIR EM QUAIS FRENTES DE LAVRA ALOCAR AS CARREGADEIRAS, DE SORTE A ATENDER AS METAS DE PRODUO E QUALIDADE REQUERIDAS PARA O MINRIO A SER PRODUZIDO, FAZENDO O MELHOR APROVEITAMENTO DA FROTA DE VECULOS DISPONVEL. DADA SUA COMPLEXIDADE COMBINATRIA, O PROBLEMA ABORDADO POR UM PROCEDIMENTO HEURSTICO BASEADO NA METAHEURSTICA ITERATED LOCAL SEARCH. TAMBM FORMULADO UM MODELO DE PROGRAMAO MATEMTICA, O QUAL SERVE PARA VALIDAR O ALGORITMO HEURSTICO PROPOSTO. OS MODELOS PROPOSTOS SO TESTADOS POR MEIO DA UTILIZAO DE DADOS REAIS EM UM SOFTWARE DESENVOLVIDO PARA ESTE FIM.

RESUMO ESTE TRABALHO

Palavras-Chave: Planejamento de lavra em minas a cu aberto, Alocao Dinmica de Caminhes, Iterated Local Search, Metaheursticas.

ABSTRACT THIS WORK

DEALS WITH THE OPERATIONAL MINING PLANNING IN OPEN PIT MINES WITH EQUIPMENT DYNAMIC ALLOCATION. THIS PROBLEM CONSISTS IN DETERMINING THE NUMBER OF TRIPS THAT EACH TRUCK WOULD DO IN EACH MINING SITE AS WELL AS DECIDING IN WHICH MINING SITE TO ALLOCATE THE LOADERS MACHINES, IN ORDER TO ATTEND THE PRODUCTION AND QUALITY GOALS REQUIRED TO THE ORE PRODUCTION, DOING THE BEST UTILIZATION OF THE AVAILABLE VEHICLE FLEET. DUE TO THE COMBINATORIAL COMPLEXITY OF THE PROBLEM, IT IS SOLVED USING A HEURISTIC PROCEDURE BASED ON THE ITERATED LOCAL SEARCH METAHEURISTIC. ALSO IT IS PROPOSED A MODEL OF MATHEMATICAL PROGRAMMING, WHICH SERVES TO VALIDATE THE PROPOSED METAHEURISTIC ALGORITHM. THE PROPOSED MODELS ARE VALIDATED BY THE UTILIZATION OF REAL DATA IN A SOFTWARE DEVELOPED FOR THIS PURPOSE.

Keywords: Operational Mining Planning in open pit mines, Equipment Dynamic Allocation, Iterated Local Search, Metaheuristics.

INTRODUO O objetivo principal da Pesquisa Operacional (PO) encontrar a melhor utilizao de recursos limitados, procurando determinar a programao otimizada de atividades ou recursos, fornecendo um conjunto de procedimentos e mtodos quantitativos para tratar de forma sistmica problemas que envolvam a utilizao de recursos escassos. Dentre as aplicaes da PO, destaca-se sua utilizao em Planejamento de Lavra a cu aberto em Minerao, em especial, na alocao de mquinas (carregadeiras e/ou escavadeiras) e caminhes em uma frente de lavra. Estudos como os de Chanda e Dagdelen (1995), Alvarenga (1997), Costa (2005), Pinto e Merschmann (2001), Merschmann (2002), Pinto et al. (2003) e Costa et al. (2004, 2005), tm utilizado a Pesquisa Operacional com o objetivo de aplicar metodologias para a soluo destes tipos de problemas. Tais esforos se concentraram na aplicao de tcnicas de otimizao (programao linear e mtodos heursticos) que podem, no entanto, ser aprimoradas. Neste sentido, este trabalho tem como objetivo remodelar as metodologias referidas para a soluo do problema mencionado, concentrando-se nos mtodos heursticos. Apesar de estas tcnicas no garantirem a otimalidade, elas conseguem, em geral, produzir solues de boa qualidade, so de fcil implementao e baixo custo de desenvolvimento. Dentre as heursticas, destacam-se as chamadas metaheursticas, as quais, ao contrrio das heursticas convencionais, tm carter geral e so providas de mecanismos para escapar de timos locais (SOUZA, 2007). O restante do trabalho est organizado como segue. Na seo a seguir, descrito o problema abordado. Logo aps, apresentada uma modelagem de programao matemtica para o problema e, ainda, uma modelagem heurstica. Em seguida, so apresentados, discutidos e analisados os resultados obtidos pela aplicao dos modelos desenvolvidos a um caso real. A ltima seo conclui o trabalho.

DESCRIO DO PROBLEMA DE ALOCAO DINMICA DE CAMINHES No Planejamento de Lavra a Cu Aberto em Minerao, em especial, na alocao de mquinas e caminhes em uma frente de lavra, cada frente contm uma determinada quantidade de minrio, com caractersticas fsicas, qumicas e econmicas diferenciadas, denominadas parmetros de controle. Para satisfazer as especificaes exigidas pelos clientes, necessrio selecionar as frentes a serem lavradas, bem como os respectivos ritmos de lavra. Para a operao de minrio e estril, a mina conta com uma frota limitada de equipamentos de carga, os quais devem ser alocados s frentes de lavra e operarem em uma faixa de produtividade que torne vivel sua utilizao (COSTA, 2005). O transporte do material retirado da frente de lavra realizado por uma frota de caminhes com capacidades de carga diferentes. Esses caminhes so alocados s frentes de lavra dinamicamente, tentando-se evitar a formao de filas, ou seja, o caminho alocado a um ponto de carga ou basculamento que proporcione o menor tempo de fila possvel. O ritmo de lavra determinado pelas capacidades de operao dos equipamentos de carga e transporte alocados s diversas frentes. No sistema de alocao dinmica, os caminhes no ficam fixos a uma determinada frente de lavra, como no modelo esttico. Eles podem ser direcionados a diferentes frentes de lavra compatveis, aumentando a produtividade da frota e proporcionando, segundo Costa

(2005), um aumento na capacidade de produo da mina ou a reduo do nmero de equipamentos necessrios para manter o mesmo nvel de produo. No problema abordado, h dois pontos de descarga: um para minrio e outro para estril. Considera-se tambm que o transporte do material s frentes e ao britador feito por caminhes de capacidades diferentes. Sendo a alocao dinmica, ao descarregar o material, seja no britador (ou pilhas de estoque prximas ao britador) ou na pilha de estril, o caminho direcionado a uma frente, no necessariamente a mesma da viagem anterior. Admite-se, tambm, que h um conjunto de carregadeiras de diferentes capacidades de carregamento, sendo este conjunto menor que o conjunto das frentes s quais elas sero alocadas. Considerase, tambm, o planejamento para uma hora de produo, o qual aplicado at uma frente exaurir ou ocorrer uma parada de equipamento, situao na qual deve ser feito outro planejamento. Dado o elevado custo de uma carregadeira, normalmente impe-se uma quantidade mnima a ser extrada para justificar economicamente sua utilizao. desejvel tambm no planejamento de lavra considerar uma taxa de utilizao para os caminhes, ou seja, pode-se desejar que cada caminho utilizado no transporte de minrio e estril tenha uma determinada produtividade. Com a introduo deste requisito, o nmero de caminhes utilizados no transporte do material poder ser, naturalmente, menor do que aquele conseguido sem a utilizao dessa taxa.

MODELAGEM DO PROBLEMA ABORDADO

Introduo Para resolver o problema, so apresentados dois modelos: um de programao matemtica e outro heurstico. O primeiro modelo servir para validar o segundo e ser aplicado a instncias de pequeno porte. Para problemas de porte mais elevado, o primeiro modelo, em geral, no capaz de resolv-los na otimalidade, em virtude do tempo proibitivo de execuo. Modelo de programao matemtica O modelo proposto de alocao dinmica de caminhes adaptado de Costa et al. (2004). Especificamente, a equao referente relao estril/minrio substituda por uma equao de meta de produo de estril. Assim so criadas variveis de desvio relativas ao no atendimento desta meta. Adicionamente so includas restries relativas s taxas de utilizao dos veculos de transporte, bem como uma componente de avaliao do nmero de veculos usados. Sejam os seguintes parmetros de entrada: M: E: F: S : C: V: Pr: Conjunto de frentes de minrio; Conjunto de frentes de estril; Conjunto de frentes formado por M E; Conjunto de parmetros de qualidade analisados no minrio; Conjunto de equipamentos de carga; Conjunto de equipamentos de transporte; Ritmo de lavra recomendado relativo a minrio (t/h);

Pl : Ritmo de lavra mnimo relativo a minrio (t/h); Pu : Ritmo de lavra mximo relativo a minrio (t/h); Er : Ritmo de lavra recomendado relativo a estril (t/h); a- : Penalidade por desvio negativo da produo de minrio; a+ : Penalidade por desvio positivo da produo de minrio; : Penalidade por desvio negativo da produo de estril; + : Penalidade por desvio positivo da produo de estril; tij : Valor do parmetro j na frente i (%); trj : Valor recomendado para o parmetro j na mistura (%); tlj : Valor mnimo admissvel para o parmetro j na mistura (%); tuj : Valor mximo admissvel para o parmetro j na mistura (%); : Penalidade por desvio negativo para o parmetro j na mistura; + : Penalidade por desvio positivo para o parmetro j na mistura; Qui :Ritmo de lavra mximo para a frente i (t/h); Clk :Produo mnima do equipamento de carga k (t/h); Cuk :Produo mxima do equipamento de carga k (t/h); capl :Capacidade do caminho l (t); Til :Tempo total de ciclo do caminho l na frente i (min); :Peso associado importncia da utilizao do caminho l; l TxMaxl : Taxa mxima de utilizao admitida para o caminho l; glk : parmetro que assume o valor 1 se o caminho l compatvel com a carregadeira k e 0, caso contrrio; e as seguintes variveis de deciso: xi : Ritmo de lavra da frente i (t/h); yik : varivel que assume o valor 1 se a carregadeira k opera na frente i e 0, caso contrrio; nil : Nmero de viagens que um caminho l realiza na frente i em uma hora; dj- : Desvio negativo do parmetro j na mistura (t/h); dj+ : Desvio positivo do parmetro j na mistura (t/h); P- : Desvio negativo do ritmo de lavra de minrio em relao ao recomendado (t/h); P+ : Desvio positivo do ritmo de lavra de minrio em relao ao recomendado (t/h). Pe-: Desvio negativo do ritmo de lavra de estril em relao ao recomendado (t/h); Pe+: Desvio positivo do ritmo de lavra de estril em relao ao recomendado (t/h). usoul: Varivel binria que assume valor l se o caminho l usado e 0, caso contrrio. A seguir, apresentado pelas equaes (1)-(24) o modelo de programao matemtica relativo alocao dinmica de uma frota heterognea de caminhes e equipamentos de carga, levando-se em considerao metas de produo e qualidade de minrio, bem reduo no nmero de caminhes usados.
min
j s j

dj
j s

dj

Pe

Pe
l V

usou l

(1)

s.a:
(t ij
i M

tu j ) xi tl j ) xi

0 0

j S j S
dj 0

(2) (3) (4)

(t ij
i M

(t ij
i M

tr j ) xi

dj

j S

xi
i M

Pu
Pl

(5) (6)

xi
i M

xi
i M

P
Pe

P
Pe

Pr
Er

(7) (8)

xi
i E

xi xi

Qu i 0

i i

F F

(9) (10) (11) (12) (13)

dj dj 0 , 0 P , P 0 Pe , Pe

j S

y ik
k C

1
1

(14) (15)

y ik
i F

k
i
0
0
y 0

C
F, k
F

yijk
xi

{0,1}
Cu k y ik
k C

(16) (17) (18)

xi
k C

Cl k y ik
60

i i

F F, l C

nil Til

ik k C , g lk 0

(19) (20) (21) (22) (23) (24)

1 nil Til TxMaxl 60 i F xi nil capl 0


l V

l V i F

usou l
nil usoul
+

1 nil Til 60 i F
{0,1}

l V i l F, l V V

O modelo de mistura de minrios com metas formado pelas restries (2)-(13) e pela funo objetivo (1). As restries (7) e (8) dizem respeito, respectivamente, aos atendimentos das metas de produo de minrio e estril. As demais restries que complementam o modelo podem ser divididas em dois grupos. O primeiro diz respeito alocao de equipamentos de carga e a faixa de produtividade que torne vivel a utilizao desses equipamentos. O segundo grupo de restries est relacionado ao transporte de material na mina e a alocao e utilizao dos caminhes. Em relao ao primeiro grupo de restries, o conjunto (14) define que cada frente possui um nico equipamento de carga, enquanto que as restries (15) definem que cada equipamento de carga opera em uma nica frente. As restries (16) definem se um equipamento de carga deve ou no ser alocado a uma determinada frente de lavra. As restries (17) e (18) limitam, respectivamente, o ritmo de lavra mximo e mnimo, definido

pela carregadeira alocada frente. J as restries (9) limitam o ritmo de lavra mximo definido pelo usurio. No segundo grupo de restries, que est relacionado ao transporte de material na mina e a alocao e utilizao dos caminhes, cada restrio (19) faz com que um caminho somente realize viagens uma frente onde esteja alocado um equipamento de carga compatvel. As restries (20) definem que cada caminho opere no mximo TxMaxl% em uma hora. As restries (21) fazem com que o ritmo de lavra de uma frente seja igual produo realizada pelos caminhes alocados frente. As restries (22), juntamente com a funo objetivo, foram com que os caminhes usados sejam penalizados. As restries (23) determinam que o nmero de viagens que um caminho faz uma frente um valor inteiro positivo. As restries (24) indicam que as variveis usoul so binrias.

Modelo Heurstico

Iterated Local Search (ILS) Iterated Local Search (ILS) uma metaheurstica de busca local e como tal, baseado na noo de vizinhana. A explorao do espao de solues feita por meio de movimentos, os quais consistem em modificaes feitas na soluo corrente, guiando a solues vizinhas. O mtodo Iterated Local Search (ILS) baseado na idia de que um procedimento de busca local pode ser melhorado gerando-se novas solues de partida, as quais so obtidas por meio de perturbaes na soluo tima local (GLOVER e KOCHENBERGER, 2003). A perturbao precisa ser suficientemente forte para permitir que a busca local explore diferentes solues, mas tambm fraca o suficiente para evitar um reincio aleatrio. Para aplicar um algoritmo ILS, quatro componentes tm que ser especificadas: (a) Procedimento GeraSolucaoInicial(), que gera uma soluo inicial s para o problema; (b) Procedimento BuscaLocal, que retorna uma soluo melhorada s; (c) Procedimento Perturbacao, que modifica a soluo corrente s guiando a uma soluo intermediria s e (d) Procedimento CritrioAceitao, que decide de qual soluo a prxima perturbao ser aplicada. Na adaptao proposta para o ILS, o mtodo parte de uma soluo inicial gerada conforme descrito mais adiante, em subseo especfica. A seguir, feita uma busca local, de acordo com a subseo seguinte. A partir do timo local encontrado, so feitas, em cada iterao, perturbaes nessa soluo tima local, tal como especificado mais frente, seguida de nova aplicao de busca local. Em seguida, verifica-se se houve melhora no valor da funo de avaliao (critrio de aceitao). Em havendo, guarda-se esta soluo como a melhor at o presente momento e volta-se ao menor nvel de perturbao. No havendo, a soluo no armazenada e, neste caso, aplica-se a perturbao no nvel corrente soluo atual at que no haja melhora no valor da funo de avaliao (no caso, 10% do produto do nmero de frentes pelo nmero de caminhes). Decorrido esse nmero de iteraes sem melhora, o nvel de perturbao incrementado. As perturbaes so dispostas de forma que as de menores ndices so as mais fracas no sentido de complexidade computacional. O procedimento pra quando um tempo limite de processamento alcanado ou quando o nmero de iteraes sem melhora atingir um valor limiar.

Busca Local A Busca Local feita pelo Mtodo de Descida em Vizinhana Varivel (Variable Neighborhood Descent, VND), proposto originalmente em Mladenovic e Hansen (1997). Trata-se de um mtodo de busca local que consiste em explorar o espao de solues atravs de trocas sistemticas de estruturas de vizinhana, aceitando somente solues de melhora da soluo corrente e retornando primeira estrutura quando uma soluo melhor encontrada. Cada vizinhana da soluo corrente explorada por meio de movimentos que sero descritos a seguir. Em cada vizinhana, caminha-se de um vizinho para outro, parando-se ao encontrar um timo local.

Movimentos e Estruturas de Vizinhana Para explorar o espao de solues do problema so utilizados os seguintes movimentos, cada qual definindo uma dada vizinhana, aplicveis tanto para as frentes de minrio quanto para as de estril: (1) Retirar uma viagem de um caminho em uma frente qualquer; (2) Retirar duas viagens de um caminho em uma frente qualquer; (3) Realocar uma viagem a uma frente diferente, mantendo o caminho; (4) Realocar uma viagem a um caminho diferente, mantendo a frente; (5) Inserir uma viagem de um caminho a uma frente; (6) Retirar todas as viagens de um caminho em todas as frentes; (7) Desativar uma carregadeira; (8) Realocar uma carregadeira.

Dados de Entrada Sejam: F o conjunto de frentes, V o conjunto de veculos, C o conjunto de equipamentos de carga, T o conjunto dos parmetros de controle (teores de Fe, Al2O3 e etc e granulometria) presentes nas frentes, qui a quantidade mxima de massa lavrvel em cada frente i, tcil o tempo de ciclo de cada veculo l a cada frente i, tij o percentual do parmetro de controle j presente na frente i, Compatib|C|x|V| a matriz que representa a compatibilidade entre os equipamentos de carga k e os caminhes l, capl a capacidade de cada caminho l, clk a capacidade mnima de cada carregadeira k e cuk a capacidade mxima de cada carregadeira k e tucl a taxa de utilizao mnima desejvel para o l-simo caminho.

Representao de uma soluo Uma soluo representada por uma matriz R|F| (1+V) formada pelas matrizes Y|F| 1 e N|F| |V| , em que: yik: representa a alocao do equipamento de carga k frente i, observando-se o estado ativo ou inativo de cada equipamento; nil: representa o nmero de viagens do caminho l frente i. R|F|x(1+V) = [Y|F| 1 | N|F|
|V|]

(25)

A partir de Y, N e os tempos de ciclo da matriz Tc|F| |V| so determinados S|F| 1 e Tcv1 |V|, os quais representam, respectivamente, a quantidade de massa lavrada em cada frente e o somatrio dos tempos de ciclo de cada veculo.

Gerao de uma soluo inicial Para se gerar a soluo inicial necessrio se construir as matrizes Y|F| 1, N|F| |V|, S|F| 1 e Tcv1 |V|. Para se gerar a matriz Y|F| 1, inicialmente, atribui-se o valor 1 para todas as carregadeiras, ou seja, considera-se que no existe carregadeira alocada a nenhuma frente. Atribui-se, tambm, o valor 0 (zero) para o status de cada carregadeira informando a inatividade de cada uma delas em cada frente. Em seguida, as carregadeiras so alocadas aleatoriamente a cada uma das frentes disponveis. Para estas carregadeiras, atribui-se o status ativo (1), inicialmente. O nmero de viagens em cada clula da matriz N|F| |V| gerado aleatoriamente. Para cada clula nil verificado inicialmente o nmero mximo (nv_max) de viagens, por hora, em funo do tempo de ciclo (Tc) de cada caminho l s diversas frentes i. gerado, ento, de forma aleatria, um nmero compreendido entre 0 e o nmero mximo de viagens (nv_max). Posteriormente, verificado se existe carregadeira alocada a essa frente. Se existir, verifica-se se h compatibilidade entre a carregadeira k e o caminho alocado l. Caso afirmativo, verifica-se se a carregadeira k alocada frente i encontra-se ativa ou no. Estando ativa, considera-se o nmero aleatrio calculado anteriormente como sendo o nmero de viagens do caminho l frente i. O procedimento repetido para todas as clulas da matriz N|F| |V|. A quantidade de massa lavrvel (si) em cada frente gerada da seguinte forma: para cada frente i, gerado si como sendo o somatrio dos produtos das matrizes N|F| |V| e Capcam|V|, ou seja, entre o nmero de viagens (nil) e a capacidade de cada caminho (Capl). Para cada caminho, calculado tambm o somatrio do produto entre o nmero de viagens (nil) e o tempo de ciclo Tcil nas diversas frentes, gerando a matriz Tcv1 |V| (somatrio dos tempos de ciclo por caminho). Mesmo com a gerao de todas essas matrizes, conveniente verificar se existem inviabilidades na soluo inicial gerada. A correo das mesmas propicia uma soluo inicial de melhor qualidade diminuindo o esforo computacional exigido no refinamento dessa soluo. O procedimento verifica a existncia de duas inviabilidades. A primeira diz respeito ao somatrio dos tempos de ciclo por caminho. O tempo de ciclo acumulado de cada caminho no poder exceder a 60 minutos. Como o objetivo fornecer uma soluo em uma hora, h a necessidade de se fazer uma correo na soluo. Para cada caminho l, verificado se o tempo de ciclo acumulado (tcvl) superior a 60 minutos. Caso seja, gerada uma frente i, aleatoriamente, e retirada uma viagem do caminho l, caso exista. Em seguida, subtrai-se o tempo de ciclo (tci,l) correspondente. O procedimento repetido, para cada caminho, at que o tempo acumulado seja inferior ou igual a 60 minutos. Aps aplicar este reparador de inviabilidade, necessrio reconstruir a matriz S|F| 1 (massa lavrvel em cada frente).

A segunda inviabilidade diz respeito quantidade de massa lavrvel, por frente. Mesmo com a correo da primeira inviabilidade, no h garantias de que a massa lavrvel calculada seja inferior quantidade mxima lavrvel (Qu) existente em cada frente. Sendo superior, h a necessidade de se fazer a correo. Essa correo tambm dever ser realizada caso a quantidade de massa lavrvel calculada seja maior que capacidade mxima de produo da carregadeira em uma hora. Portanto, para cada frente, verificado se a quantidade de massa lavrvel calculada inicialmente superior quantidade mxima (Qu) existente na frente i e superior capacidade mxima de produo da carregadeira alocada frente i, por hora. Se pelo menos uma das duas situaes acontecer, gerado, aleatoriamente, um caminho l. Caso haja viagens desse caminho l frente i, retirada uma viagem e recalculados o tempo total (tcv) do caminho l e a quantidade de massa lavrvel si. atualizada tambm a varivel que corresponde somatria de todas as massas lavrveis, seja de minrio (t), seja de estril (est). Esse procedimento repetido para todas as frentes at que no haja mais nenhuma inviabilidade. Esse processo de gerao de uma soluo inicial repetido IterConstr (99) vezes e, em cada vez, aplica-se o mtodo da descida em vizinhana varivel (VND), descrito anteriormente (Busca Local), e a melhor soluo obtida utilizada como soluo inicial para o ILS. Este procedimento tem a vantagem de produzir uma soluo inicial de boa qualidade rapidamente, j que a busca local exige pouco esforo computacional.

Avaliao de uma soluo Uma soluo s avaliada em funo da produo, da qualidade do produto final e da alocao dos equipamentos utilizados (carga e transporte), como mostra a equao a seguir: f(s) = f p (s) +
j s

f jq (s ) + f l (s ) +
l V

f l u ( s) +
k C

f kc ( s )

(26)

em que: p f (s): funo que avalia s quanto a produo; q fj (s): funo que avalia s quanto qualidade do j-simo parmetro de controle; flu(s): funo que avalia s quanto ao atendimento da taxa de utilizao mxima do lsimo caminho. f l(s): funo que avalia s quanto ao nmero de caminhes utilizados. fkc(s): funo que avalia s quanto produtividade da carregadeira k. As duas ltimas parcelas da funo de avaliao so usadas apenas para guiar a busca no espao de solues e so desconsideradas na apresentao dos resultados, de forma a permitir uma comparao com a funo objetivo do modelo de programao matemtica. A seguir, mostrada a avaliao de cada um dos componentes da funo f(i): Produo de Minrio e Estril A produo de minrio e estril avaliada pela equao (27). f p (s) = (|Pr - P| + |Pre - Pe|) (27)

onde P a produo de minrio (t); Pr a meta de Produo de Minrio (t); Pe a produo de Estril (t); Pre a meta de Produo de Estril (t); a penalidade por no atendimento meta de minrio e a penalidade por no atendimento meta de estril. A produo P calculada segundo a equao (28), ou seja, obtida pela multiplicao do nmero de viagens dos caminhes s frentes, pela capacidade de carga de cada caminho. P=
i M l V

nil capl

(28)

onde M representa o conjunto de frentes de minrio; V o conjunto de equipamentos de transporte; nil indica o nmero de viagens de um caminho l frente i e capl a capacidade do caminho l (t); Para o clculo de Pe, substitui-se o conjunto das frentes de minrio M pelo conjunto E das frentes de estril e aplica-se uma equao similar (28). Qualidade da Mistura A qualidade da mistura avaliada segundo a equao (29), em que tmj o valor percentual encontrado para o parmetro j (%) na mistura; trj a meta de qualidade para o parmetro j (%); P indica a produo de minrio (t) e jq a penalidade por no atendimento meta de qualidade do parmetro de controle j;
| tr j tm j | 100

f jq (s ) =

q j

(29)

O valor tmj calculado atravs da mdia ponderada entre tij e a produo (em uma hora) de cada frente i de minrio, conforme mostrado na equao (30).

t ij xi
tmj=
i M

xi
i M

j S

(30)

onde o ritmo de lavra em cada frente i calculado com base na equao a seguir:

xi
l V

nil capl

(31)

Taxa de utilizao dos caminhes A utilizao dos caminhes avaliada pela equao (32).

f l u (s)

| TxUtill

TxMaxUtill |

l V

(32)

onde a penalidade por se ultrapassar a taxa mxima de utilizao dos caminhes; TxMaxUtill a taxa mxima permitida de utilizao do caminho l e TxUtill representa a taxa de utilizao do caminho l, dada por:
TxUtil l
i F

nil tcil

l V

(33)

sendo nil o nmero de viagens realizadas pelo caminho l frente i e tcil o tempo de ciclo do caminho l frente i. So utilizados dois valores para o peso na expresso (32). Um valor alto ( A) usado caso a quantidade transportada esteja acima da mxima permitida e outro valor, mais baixo ( B), caso a quantidade transportada esteja abaixo da mxima permitida. Nmero de caminhes utilizados A avaliao do nmero de caminhes utilizados feita com base na equao (34).
f l ( s)
l V

TxUtil l

(34)

onde a penalidade pela utilizao de caminhes e TxUtili uma funo que assume valor igual a 1 se o caminho l for utilizado; Avaliao da produtividade das carregadeiras A produtividade das carregadeiras avaliada pela equao (35).

f kc ( s )

(Cu k (Cl k

prod k ) se Cl k prod k prod k ) se prod k Cl k

Cu k

(35)

onde a penalidade por no se atingir a produtividade mxima da carregadeira k e penalidade por utilizar uma carregadeira k com uma produtividade inferior mnima;

Perturbaes Para escapar de timos locais, o mtodo Iterated Local Search utiliza-se de mecanismos de perturbaes, que so modificaes realizadas nos timos locais encontrados. As perturbaes funcionam como um mecanismo de diversificao do algoritmo. As seguintes perturbaes so usadas: (1) Retirar uma viagem, (2) Retirar duas viagens, (3) Realocar viagem mantendo o caminho, (4) Realocar viagem mantendo a frente, (5) Retirar viagem duas vezes, (6) Retirar duas viagens duas vezes, (7) Realocar viagem mantendo o caminho duas vezes, (8) Realocar viagem mantendo a frente duas vezes, (9) Realocar

carregadeira, (10) Desativar carregadeira, (11) Ativar carregadeira, (12) Trocar carregadeira, (13) Tirar todas as viagens de um caminho, (14) Inserir uma viagem.

RESULTADOS COMPUTACIONAIS O algoritmo heurstico ILS proposto foi desenvolvido na linguagem visual Delphi, verso 7 e o modelo de programao matemtica foi implementado no modelador e otimizador LINGO, verso 7.0. Ambos foram testados em um Notebook HP, AMD Turion64 Mobile, Technology MK-36, 2,01 GHz, com 1 GB de RAM. Apresentam-se, a seguir, os resultados do uso dessas metodologias em um problemateste envolvendo 5 parmetros de controle, 15 frentes de lavra, sendo 11 de minrio e 4 de estril, com 30 caminhes e 8 carregadeiras disponveis. Os dados desse cenrio foram submetidos a dez execues do algoritmo proposto. De forma a comparar o desempenho do ILS com o mtodo de programao matemtica executouse o otimizador LINGO, interrompendo-se a execuo em duas situaes: (1) decorrido o tempo gasto pelo ILS para gerar a melhor soluo em cada cenrio e (2) decorrido uma hora de processamento. Os resultados obtidos so apresentados na Tabela 1. Tabela 1: Comparao ILS Meta ILS 47,000 47,9825 0,3200 0,3175 0,0400 0,0419 2,35 2,9137 40,00 37,95 30.583,83 6 87,04 20 92 85 76,98 161 LINGO LINGO 47,9937 0,3166 0,0419 2,9197 37,87 30.812,70 7 73,35 18 80 74,90 161

Item %Fe %Al2O3 %P %PPC %He Fo Carregadeiras %Tx. util. car. Caminhes Viagens %Tx. util. cam. Tempo (seg.)

LINGO 47,9937 0,3166 0,0419 2,9197 37,87 30.811,74 6 82,75 17 71 72,89 3600

Como se observa na Tabela 1, o ILS foi capaz de gerar solues melhores que as do LINGO em vrios aspectos. Por exemplo, a soluo do ILS a que mais se aproximou das metas de qualidade. Com relao funo objetivo, observa-se que o ILS em 161 segundos produz uma soluo melhor que o LINGO, tanto em 161 segundos, quanto em uma hora de processamento. Com relao taxa de utilizao das carregadeiras, observa-se que o ILS produz solues com melhor aproveitamento desses equipamentos. J com relao ao nmero de veculos e viagens, as solues LINGO so mais eficientes; entretanto, esses aspectos tm prioridade inferior da qualidade dos parmetros de controle. Em relao aos valores mdios, o algoritmo ILS apresentou desvio de 2,13% quando comparado com o valor da funo objetivo da melhor soluo conhecida para esse problemateste.

CONCLUSES Este trabalho tratou o problema de planejamento operacional de lavra considerando alocao dinmica de caminhes. Dada sua dificuldade de resoluo na otimalidade, foi desenvolvido um algoritmo heurstico baseado na metaheurstica Iterated Local Search (ILS). O algoritmo foi testado em um cenrio relativo a um problema real de uma minerao de ferro, comparando-se as solues produzidas pelo ILS com aquelas produzidas por um otimizador aplicado a um modelo de programao matemtica desenvolvido. Os resultados obtidos mostraram que as melhores solues produzidas pelo ILS so de melhor qualidade que aquelas produzidas pelo otimizador LINGO, mesmo considerando as dimenses relativamente modestas do problema-teste tratado. Adicionalmente, verificou-se que as solues produzidas pelo ILS foram obtidas sem muito esforo computacional, ao contrrio daquelas geradas pelo otimizador. Este ltimo demandou tempo proibitivo para gerar solues prximas quelas geradas pelo ILS em poucos minutos, fato que valida a utilizao do algoritmo proposto, enquanto ferramenta de apoio tomada de deciso. Com relao s caractersticas das solues produzidas pelo algoritmo proposto, pode-se verificar que os valores dos parmetros de controle ficaram bem prximos das metas estabelecidas. Em relao frota de veculos de transporte e de equipamentos de carga ficou constatado o bom aproveitamento dos mesmos. No caso dos equipamentos de carga conseguiu-se reduzir a quantidade desses, bem como utiliz-los prximos de suas capacidades mximas de produo. J no caso dos veculos de transporte, houve um melhor aproveitamento desses, indicado pelas taxas de utilizao prximas meta. Esses resultados comprovam, portanto, a eficincia do mtodo heurstico proposto para a otimizao do planejamento operacional de lavra. Destaca-se, finalmente, que o algoritmo ILS flexvel, no sentido de que outras restries podem ser facilmente incorporadas ao algoritmo.

AGRADECIMENTOS Os autores agradecem FAPEMIG, processo CEX APQ-2991-6.01/07, e ao CNPq, processo 474831/2007-8, pelo apoio ao desenvolvimento deste trabalho.

REFERNCIAS BIBLIOGRFICAS ALVARENGA, G. B. (1997). Despacho timo de caminhes numa minerao de ferro utilizando algoritmo gentico com processamento paralelo, Dissertao de mestrado, Programa de Ps-Graduao em Engenharia Eltrica, Universidade Federal de Minas Gerais. CHANDA, E. K. C.; DAGDELEN, K. (1995). Optimal blending of mine production using goal programming and interactive graphics systems, International Journal of Surface Mining, Reclamation and Enviroment, v. 9, p. 203-208. COSTA, F. P. (2005). Aplicaes de tcnicas de otimizao a problemas de planejamento operacional de lavras em mina a cu aberto, Dissertao de mestrado, Programa de PsGraduao em Engenharia Mineral, Universidade Federal de Ouro Preto, 141 p. COSTA, F. P.; SOUZA, M. J. F. e PINTO, L. R. (2004). Um modelo de alocao dinmica de caminhes, Revista Brasil Mineral, v. 231, p. 26-31.

COSTA, F. P.; SOUZA, M. J. F. e PINTO, L. R. (2005). Um modelo de programao matemtica para alocao esttica de caminhes visando ao atendimento de metas de produo e qualidade, Revista da Escola de Minas, v. 58, p. 77-81. GLOVER, F.; KOCHENBERGER, G. (2003). Handbook of Metaheuristics. Kluwer Academic Publishers, Boston. MERSCHMANN, L. H. C. (2002). Desenvolvimento de um Sistema de Otimizao e Simulao para Cenrios de Produo em Minas a Cu Aberto, Dissertao de mestrado, COPPE/UFRJ, Rio de Janeiro, RJ, Brasil. MLADENOVIC, N. & HANSEN, P. (1997). A Variable Neighborhood Search. Computers and Operations Research, v. 24, p. 1097-1100. PINTO, L.R.; MERSCHMANN, L. H. C. (2001). Planejamento operacional da lavra de mina usando modelos matemticos. Revista Escola de Minas, v. 54, n. 3, p. 211-214. PINTO, L. R.; BIAJOLI, F. L. e MINE, O. M. (2003). Uso de otimizador em planilhas eletrnicas para auxlio ao planejamento de lavra. Relatrio tcnico, Programa de Psgraduao em Engenharia Mineral, Universidade Federal de Ouro Preto, Ouro Preto, Minas Gerais. SOUZA, M. J. F. (2007). Notas de aula da disciplina Inteligncia Computacional para Otimizao. Departamento de Computao, Universidade Federal de Ouro Preto, disponvel em http://www.decom.ufop.br/ prof/marcone/ disciplinas/Inteligncia Computacional/ Inteligncia Computacional.pdf. Acesso em 30/04/2008.

Francisco Csar Rodrigues de Arajo Programa de Ps-Graduao em Engenharia Mineral Escola de Minas Universidade Federal de Ouro Preto Campus Universitrio 35.400-000 Ouro Preto (MG) Brasil E-mail: fcesaraujo@yahoo.com.br

This document was created with Win2PDF available at http://www.win2pdf.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only. This page will not be added after purchasing Win2PDF.

Um algoritmo baseado em GRASP, VND e Iterated Local Search para a resoluo do problema de planejamento operacional de lavra
Igor Machado Coelho (UFOP) igor.machado@yahoo.com.br Sabir Ribas (UFOP) sabirribas@yahoo.com.br Marcone Jamilson Freitas Souza (UFOP) marcone@iceb.ufop.br

Resumo: Este trabalho trata do problema de planejamento operacional de lavra em minas a cu aberto, considerando alocao dinmica de caminhes. O objetivo determinar o ritmo de lavra em cada frente, seja ela de minrio ou de estril, de forma que as metas requeridas de produo e qualidade sejam satisfeitas. Dada a complexidade combinatria do problema, foi desenvolvido um algoritmo heurstico hbrido, o qual combina caractersticas dos procedimentos heursticos GRASP, Variable Neighborhood Descent e Iterated Local Search. Para validar o algoritmo proposto, os resultados obtidos pelo mesmo foram comparados com aqueles produzidos pelo otimizador CPLEX, aplicado a um modelo de programao matemtica encontrado na literatura. Os resultados obtidos mostraram que o algoritmo proposto competitivo, sendo capaz de gerar solues de boa qualidade rapidamente, com baixa variabilidade das solues finais. Palavras-chave: Planejamento operacional de lavra; Metaheursticas; GRASP; Variable Neighborhood Descent; Iterated Local Search. 1. Introduo Este trabalho trata do problema de planejamento operacional de lavra com alocao dinmica de caminhes. O objetivo determinar o ritmo de lavra em cada frente, seja ela de minrio ou de estril, de forma que as metas requeridas de produo e qualidade sejam satisfeitas e o nmero de caminhes necessrios ao processo seja reduzido. Supe-se a existncia de dois pontos de descarga: um para minrio e outro para estril. Apesar de se considerar um nico ponto de descarga para o minrio, que normalmente acontece no britador, admite-se que a descarga possa ser feita em um ponto prximo a ele. Isto , considera-se que a distncia das frentes ao britador e seus pontos prximos seja a mesma. Este procedimento normalmente admitido nas mineraes para evitar fila na descarga junto ao britador. Ao encontrar fila no britador, o caminho descarrega seu material em uma pilha em um ponto prximo a ele e, posteriormente, esse material retomado para descarga no britador. Considera-se que o transporte do material s frentes e ao britador feito somente por caminhes. Admite-se que h um conjunto de carregadeiras de diferentes produtividades, sendo este conjunto menor que o conjunto das frentes s quais elas sero alocadas. Dado o elevado custo de uma carregadeira, tambm se impe uma quantidade mnima a ser extrada para justificar economicamente sua utilizao. Para cada caminho, imposta uma taxa mxima de utilizao, para impedir que o mesmo fique em operao todo o tempo. Isto necessrio porque, na prtica, h variao nos tempos de ciclo e, alm disso, o ser humano no consegue trabalhar 100% de seu tempo. Para exemplificar o que isto representa na produo, uma taxa mxima de utilizao de 85% para

um caminho representa 51 (0,85 60) minutos de operao, no mximo, em uma hora. Supondo que o tempo mdio de ciclo (TMC) deste caminho s diversas frentes seja de 7 minutos por viagem, o nmero de viagens que poderia ser feita 51 minutos seria 7. Assim, um caminho com 80 t de capacidade poderia transportar at 560 t em uma hora (7 80), caso fosse limitado a essa taxa de utilizao. No sistema de alocao dinmica de caminhes, os caminhes no ficam fixos a uma determinada frente de lavra. Eles podem ser direcionados a diferentes frentes de lavra, o que faz aumentar a produtividade da frota e proporciona, segundo Costa (2005), um aumento na capacidade de produo da mina ou a reduo do nmero de equipamentos necessrios para manter um determinado nvel de produo. Nesse sistema tambm possvel diminuir o tempo de fila, uma vez que o caminho pode ser alocado a pontos de carga diferentes. Como desvantagens da alocao dinmica, apontam-se exigncia de um maior nmero de operaes e de um sistema de despacho de caminhes computadorizado. Considera-se, tambm, o planejamento para uma hora de produo, o qual aplicado at uma frente exaurir ou ocorrer uma parada de equipamento, seja por quebra ou manuteno, situao na qual deve ser feito outro planejamento. De acordo com Costa (2005), este problema pertence classe NP-difcil, uma vez que tem como subproblema, o Problema da Mochila Mltipla, o qual NP-difcil. Em vista da dificuldade de resolv-lo na otimalidade, prope-se um algoritmo heurstico para encontrar solues sub-timas. O algoritmo heurstico baseado nos procedimentos GRASP (Feo e Resende, 1995), Variable Neighborhood Descent (Mladenovic e Hansen, 1997) e Iterated Local Search (Loureno et al., 2003) e representa uma evoluo em relao ao de Costa (2005), por explorar mais vizinhanas que este ltimo. Este trabalho est organizado como segue. Na seo 2 so apresentados os trabalhos correlatos. Na seo 3 descrito o problema abordado, enquanto na seo 4 so apresentadas duas modelagens para o mesmo, sendo uma baseada em programao matemtica e outra, heurstica. A seo 5 descreve os cenrios utilizados para teste e a seo seguinte apresenta os experimentos computacionais. A seo 7 conclui o trabalho. 2. Trabalhos correlatos White e Olson (1986) propuseram um algoritmo que a base para o sistema DISPATCH, que vem operando em muitas minas em todo o mundo (RODRIGUES, 2005). O modelo utiliza programao linear e dinmica. A programao linear dividida em duas partes. Na primeira parte do modelo, realiza-se a otimizao do problema da mistura conseguindo, atravs disso, a minimizao do remanuseio, forando uma soluo prxima das restries crticas de mistura e satisfazendo a necessidade de alimentao da planta. A segunda parte do modelo otimiza o transporte na mina por meio da minimizao da necessidade de transporte, gerando o fluxo timo de transporte no caminho. A programao dinmica usa o fluxo timo no caminho obtido na programao linear, uma lista formada pelos caminhes a serem alocados, os tempos de viagem e as distncias entre os pontos de carga e descarga e executada a cada necessidade de alocao de caminho. Chanda e Dagdelen (1995) apresentaram um modelo de programao linear por metas para resolver um problema de mistura de minrios no planejamento de curto prazo em uma mina de carvo. O objetivo foi maximizar um critrio econmico e reduzir a soma dos desvios dos parmetros individuais de qualidade e da tonelagem em relao aos valores desejados. Merschmann (2002) desenvolveu um sistema de otimizao e simulao para anlise de cenrio de produo em minas a cu aberto. O sistema, denominado OTISIMIN

(Otimizador e Simulador para Minerao), foi desenvolvido em dois mdulos. O primeiro corresponde ao mdulo de otimizao onde um modelo de programao linear foi construdo e resolvido e o segundo a um mdulo de simulao que permite ao usurio utilizar os resultados obtidos na resoluo do modelo de programao linear como dados de entrada para a simulao. O mdulo de otimizao foi elaborado com o objetivo de otimizar o processo de mistura de minrios oriundos das vrias frentes de lavra de forma a atender as especificaes de qualidade impostas pela usina de tratamento e realizar a alocao de equipamentos (caminhes, carregadeiras e/ou escavadeiras) s frentes de lavra, considerando tanto alocao dinmica quanto esttica dos caminhes. Os modelos de otimizao de Merschmann (2002) foram aperfeioados por Costa et al. (2004, 2005). Nesses trabalhos, foram apresentadas modelagens de programao matemtica que reduziram significativamente o nmero de restries do modelo. Alm disso, os modelos incluam o atendimento s metas de produo e qualidade por meio da minimizao, na funo objetivo, dos desvios de atendimento s restries de meta. Ezawa e Silva (1995) desenvolveram um sistema de alocao dinmica de caminhes s frentes de lavra com o objetivo de reduzir a variabilidade dos teores do minrio e aumentar a produtividade do sistema de transporte. O sistema utilizava uma heurstica para seqenciar os caminhes de forma a minimizar a variao dos teores. Para validar o modelo, os autores utilizaram simulao e para o modelamento matemtico da mina, a teoria dos grafos. Com a implantao do sistema, foi obtido um aumento de 8% na produtividade do sistema de transporte e o gerenciamento passou a ter em mos dados mais precisos e em tempo real. Alvarenga (1997) desenvolveu um programa para o despacho timo de caminhes em uma minerao de ferro, a cu aberto, com o objetivo de minimizar o tempo de fila da frota de caminhes, aumentar a produtividade desta e melhorar a qualidade do minrio lavrado. No trabalho desenvolvido, que base do sistema SMART MINE, atualmente muito utilizado em vrias minas brasileiras, foi aplicada uma tcnica estocstica de otimizao, o algoritmo gentico com processamento paralelo. Basicamente, o problema consiste em indicar qual o ponto de basculamento ou carregamento ideal e a trajetria para o deslocamento, no momento em que h uma situao de escolha a ser realizada. O autor apontou ganhos de 5% a 15% de produtividade, comprovando a validade da proposta. Costa (2005) abordou problemas de planejamento operacional de lavra em minas a cu aberto. Foram apresentados e modelados problemas relativos mistura de minrios provenientes de vrias frentes de lavra, levando-se em considerao metas de produo e qualidade, restries operacionais e a alocao dos equipamentos de carga e transporte necessrios ao processo. O autor tratou problemas de mistura de minrios com alocao dinmica e esttica de caminhes. Cada problema foi resolvido por duas metodologias, uma baseada em tcnicas de programao matemtica e outra em tcnicas heursticas. Dada a NPcompletude desses problemas, foi utilizada a metaheurstica Variable Neighborhood Search (VNS), a qual permite escapar de timos locais ainda distantes do timo global. Para explorar o espao de solues, o autor utilizou seis tipos de movimentos, os quais esto descritos nas subsees 3.2.2.1 a 3.2.2.6 do presente trabalho. Pelos experimentos realizados, o modelo heurstico foi capaz de gerar solues de melhor qualidade em um menor tempo de processamento que aquelas obtidas pelo modelo exato. Rodrigues (2006) fez uma anlise comparativa de vrias metodologias utilizadas para o despacho de caminhes em minas a cu aberto. As metodologias testadas, baseadas em Programao Linear, Programao Dinmica e em Heursticas, so aquelas consideradas as bases de algoritmos utilizados em sistemas de despacho comercializados no Brasil. As

solues finais geradas por essas metodologias foram simuladas usando-se o ambiente ARENA, com o objetivo de reproduzir o comportamento das operaes de lavra. Os resultados obtidos mostraram o desempenho dos algoritmos utilizando as metodologias sob diferentes condies em minas a cu aberto. A autora, porm, afirma que no se pode, atravs dos resultados obtidos, concluir pela superioridade de uma delas. Guimares et al. (2007) apresentaram um modelo de simulao computacional para validar resultados obtidos pela aplicao de um modelo de programao matemtica na determinao do ritmo de lavra em minas a cu aberto. Os autores modelaram o problema usando o otimizador LINGO, verso 7.0, e validaram a soluo usando o ARENA, verso 7.0. Foi concludo que, ao contrrio do procedimento comumente adotado nas empresas mineradoras, o cumprimento da meta de produo no pode ser atingido simplesmente aumentando-se o nmero de veculos no sistema produtivo. Esta concluso foi obtida porque a partir de um determinado nmero de veculos no sistema, a produo no era alcanada e at pelo contrrio, diminuda, devido ao aumento no tempo de fila. 3. Mtodos de anlise 3.1 Programao matemtica O modelo proposto de alocao dinmica de caminhes uma adaptao daquele de Costa et al. (2004). Especificamente, a equao referente relao estril/minrio substituda por uma equao de meta de produo de estril. Esta substituio feita porque pode ser conveniente estabelecer limites inferiores ou superiores para a produo de estril que no sigam a mesma proporo da meta de minrio. Alm disso, mais lgico trabalhar com as metas de estril, do que com proporo entre a meta de estril e a de minrio. Assim, so criadas variveis de desvio relativas ao no atendimento desta meta. Adicionalmente, tal como em Guimares et al. (2007), so includas restries relativas s taxas de utilizao dos caminhes, bem como uma componente de avaliao do nmero de veculos usados. O planejamento da produo feito para uma hora, sendo replicado enquanto no houver frente exaurida e as condies operacionais forem as mesmas. O objetivo do modelo minimizar os desvios das metas de produo e qualidade, bem como reduzir o nmero de veculos necessrios operao. Para sua apresentao, sejam os seguintes parmetros: M : Conjunto de frentes de minrio; E : Conjunto de frentes de estril; F : Conjunto de frentes formado por M E; T : Conjunto de parmetros de controle analisados no minrio; C : Conjunto de equipamentos de carga; V : Conjunto de equipamentos de transporte; Pr: Ritmo de lavra recomendado relativo a minrio (t/h); Pl: Ritmo de lavra mnimo relativo a minrio (t/h); Pu: Ritmo de lavra mximo relativo a minrio (t/h); Er: Ritmo de lavra recomendado relativo a estril (t/h); - : Penalidade por desvio negativo da produo de minrio; + : Penalidade por desvio positivo da produo de minrio; - : Penalidade por desvio negativo da produo de estril; + : Penalidade por desvio positivo da produo de estril; tij : Valor do parmetro j na frente i (%); trj : Valor recomendado para o parmetro de controle j na mistura (%); tlj : Valor mnimo admissvel para o parmetro de controle j na mistura (%);

tuj :Valor mximo admissvel para o parmetro de controle j na mistura (%); :Penalidade por desvio negativo para o parmetro de controle j na mistura; j + :Penalidade por desvio positivo para o parmetro de controle j na mistura; j Qui :Ritmo de lavra mximo para a frente i (t/h); Clk :Produo mnima do equipamento de carga k (t/h); Cuk : Produo mxima do equipamento de carga k (t/h); capl : Capacidade do caminho l (t); tcil : Tempo total de ciclo do caminho l na frente i (min); l : Peso associado utilizao do caminho l; TxMaxl : Taxa mxima de utilizao admitida para o caminho l; glk : Parmetro que assume valor 1 se o caminho l compatvel com a carregadeira k e 0, caso contrrio. e as seguintes variveis de deciso: xi yik nil d j : Ritmo de lavra da frente i (t/h); : Varivel que assume valor 1 se a carregadeira k opera na frente i e 0, caso contrrio. : Nmero de viagens que um caminho l realiza frente i em uma hora; : Desvio negativo do parmetro de controle j na mistura (t/h);

: Desvio positivo do parmetro de controle j na mistura (t/h); P : Desvio negativo do ritmo de lavra de minrio em relao ao recomendado (t/h); P + : Desvio positivo do ritmo de lavra de minrio em relao ao recomendado (t/h). Pe : Desvio negativo do ritmo de lavra de estril em relao ao recomendado (t/h); Pe + : Desvio positivo do ritmo de lavra de estril em relao ao recomendado (t/h). usoul: Varivel binria que assume valor l se o caminho l usado e 0, caso contrrio.

+ j

A seguir, apresentado pelas equaes (1)-(24) o modelo de programao matemtica relativo alocao dinmica de uma frota heterognea de caminhes e equipamentos de carga, tendo-se como objetivo alcanar as metas de produo e qualidade de minrio e reduzir o nmero de caminhes necessrios.
min d + j+ d + + P + + P + + Pe + + Pe + + l usou l j j j
j T j T l V

(1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

iM

(t (t
iM

ij

tu j ) xi 0 j T

ij

tl j ) xi 0 j T

iM

(t

ij

tr j ) xi + d d + = 0 j T j j
iM

x Pu x Pl
i iM i
+

x + P P x + Pe Pe

iM

= Pr =Er

iE

xi Qu i i F xi 0 i F

d + , d 0 j T j j + 0 P , P Pe + , Pe 0

(11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24)

y y
kC iF k

ik

1 i F 1 k C
0 i F 0 i F

ik

yik {0,1} i F , k C

Cu y Cl y xi - y niltcil-60
xi kC kC k

ik

ik

ik kC , g lk 0

0 i F ,l V
l V

1 nil tcil TxMaxl 60 iF

xi -

n cap
lV il

= 0 i F

usou l

1 nil tcil l V 60 iF nil + i F , l V usoul {0,1} l V

O modelo de mistura de minrios com metas formado pelas restries (2)-(13) e pela funo objetivo (1). As restries (7) e (8) dizem respeito, respectivamente, aos atendimentos das metas de produo de minrio e estril. As demais restries que complementam o modelo podem ser divididas em dois grupos. O primeiro diz respeito alocao de equipamentos de carga e a faixa de produtividade que torne vivel a utilizao desses equipamentos. O segundo grupo de restries est relacionado ao transporte de material na mina e a alocao e utilizao dos caminhes. Em relao ao primeiro grupo de restries, o conjunto (14) define que em cada frente pode ser alocado, no mximo, um nico equipamento de carga, enquanto que as restries (15) definem que cada equipamento de carga pode operar, no mximo, em uma nica frente. As restries (16) definem que as variveis yik so binrias. As restries (17) e (18) limitam, respectivamente, o ritmo de lavra mximo e mnimo, definido pela carregadeira alocada frente. J as restries (9) limitam o ritmo de lavra mximo definido pelo usurio. No segundo grupo de restries, que est relacionado ao transporte de material na mina e a alocao e utilizao dos caminhes, cada restrio (19) faz com que um caminho somente realize viagens a uma frente onde esteja alocado um equipamento de carga compatvel. As restries (20) definem que cada caminho opere no mximo TxMaxl% em uma hora. As restries (21) fazem com que o ritmo de lavra de uma frente seja igual produo realizada pelos caminhes alocados frente. As restries (22), juntamente com a funo objetivo, foram com que os caminhes usados sejam penalizados. As restries (23) foram que seja inteiro positivo o nmero de viagens que um caminho faz a uma frente. As restries (24) indicam que as variveis usoul so binrias.

3.2 Metaheurstica 3.2.1 Representao de uma soluo


Uma soluo representada por uma matriz R|F|(1+V) formada pelas sub-matrizes Y|F|1 e N|F||V| , tal como indicado na equao (25). R|F|x(1+V) = [Y|F|1 | N|F||V|] (25)

Cada clula da matriz Y|F|1 representa a carregadeira k alocada frente i. O valor 1 significa que no existe carregadeira alocada. Se no houver viagens feitas a uma frente i, a carregadeira k associada a tal frente considerada inativa e no penalizada por produo abaixo da mnima para este equipamento de carga (restrio (18) do modelo matemtico). Na matriz N|F||V|, cada clula nil representa o nmero de viagens do caminho l V a uma frente i F. O valor 0 (zero) significa que no h viagem para aquele caminho. O valor 1 informa a incompatibilidade entre o caminho e a carregadeira alocada quela frente. A partir de Y, N e os tempos de ciclo da matriz Tc|F||V| so determinados X|F|1 e Tcv1|V| , os quais representam, respectivamente, a quantidade de massa lavrada em cada frente e o somatrio dos tempos de ciclo de cada caminho.

3.2.2 Vizinhana
Para explorar o espao de solues do problema foram desenvolvidos 8 movimentos, apresentados a seguir, sendo os seis primeiros propostos em Costa (2005).

3.2.2.1 Movimento Nmero de Viagens - NNV(s) Este movimento consiste em aumentar ou diminuir o nmero de viagens de um caminho l em uma frente i, onde esteja operando um equipamento de carga compatvel. Desta maneira, neste movimento uma clula nil da matriz N tem seu valor acrescido ou decrescido de uma unidade. 3.2.2.2 Movimento Carga - NCG(s) Consiste em trocar duas clulas distintas yi e yk da matriz Y, ou seja, trocar os equipamentos de carga que operam nas frentes i e k, caso as duas frentes possuam equipamentos de carga alocados. No caso de apenas uma das frentes possuir equipamento de carga e a outra estiver disponvel, esse movimento consistir em realocar o equipamento de carga frente disponvel. Para manter a compatibilidade entre carregadeiras e caminhes, as viagens feitas s frentes so realocadas juntamente com as frentes escolhidas. 3.2.2.3 Movimento Realocar Viagem de um Caminho - NVC(s) Consiste em selecionar duas clulas nil e nkl da matriz N e repassar uma unidade de nil para nkl. Assim, neste movimento, um caminho l deixa de realizar uma viagem em uma frente i para realiz-la em outra frente k. Restries de compatibilidade entre equipamentos so respeitadas neste movimento, havendo realocao de viagens apenas quando houver compatibilidade entre eles. 3.2.2.4 Movimento Realocar Viagem de uma Frente - NVF(s) Duas clulas nil e nik da matriz N so selecionadas e uma unidade de nil realocada para nik. Portanto, esse movimento consiste em realocar uma viagem de um caminho l para um caminho k que esteja operando na frente i. Restries de compatibilidade entre equipamentos so respeitadas neste movimento, havendo realocao de viagens apenas quando houver compatibilidade entre eles.

3.2.2.5 Movimento Operao Frente - NOF(s) Consiste em retirar de operao o equipamento de carga que esteja em operao na frente i. O movimento retira todas as viagens feitas a esta frente, deixando o equipamento inativo. O equipamento retorna operao assim que uma nova viagem associada a ele. 3.2.2.6 Movimento Operao Caminho - NOC(s) Consiste em selecionar uma clula nil da matriz N e zerar seu contedo, significando retirar de atividade um caminho l que esteja operando em uma frente i. 3.2.2.7 Movimento Troca de Viagens - NVT(s) Duas clulas da matriz N so selecionadas e uma viagem realocada entre elas. Tal movimento pode ocorrer entre quaisquer clulas da matriz N, respeitando-se as restries de compatibilidade entre equipamentos. 3.2.2.8 Movimento Troca de Carregadeiras - NCT(s) Consiste em trocar duas clulas distintas yi e yk da matriz Y, ou seja, trocar os equipamentos de carga que operam nas frentes i e k. Analogamente ao movimento CG, em um movimento CT os equipamentos de carga das frentes so trocados, mas as viagens feitas s frentes no so alteradas. Para manter a compatibilidade entre carregadeiras e caminhes, as viagens feitas a frentes com equipamentos de carga incompatveis so removidas. 3.2.3 Avaliao de uma soluo
Como os movimentos desenvolvidos podem gerar solues inviveis, uma soluo avaliada por uma funo f, a ser minimizada, composta por duas parcelas. A primeira parcela a funo objetivo propriamente dita (equao (1) do modelo de programao matemtica) e a segunda uma funo que penaliza a ocorrncia de inviabilidade na soluo corrente.

f ( s) = f

PM

( s ) + f p ( s ) + f jq ( s ) + f l u ( s ) + f kc ( s )
jT lV kC

(26)

em que: fPM(s) uma funo que avalia s quanto ao atendimento s metas de produo e qualidade, bem como nmero de caminhes utilizados (mesma do modelo de programao matemtica); fp(s) avalia s quanto ao desrespeito aos limites de produo estabelecidos para a quantidade de minrio e estril; fjq(s) avalia s quanto inviabilidade em relao ao j-simo parmetro de controle; flu(s) avalia s quanto ao desrespeito do atendimento da taxa de utilizao mxima do l-simo caminho e fkc(s), que avalia s quanto ao desrespeito aos limites de produtividade da carregadeira k.

3.2.4 Gerao de uma soluo inicial


Uma soluo inicial para o problema obtida por um procedimento construtivo parcialmente guloso, semelhante da fase de construo GRASP (FEO e RESENDE, 1995). A construo feita em duas etapas. As alocaes das carregadeiras e a distribuio das viagens s frentes so feitas, na primeira etapa, s frentes de estril, e na segunda, s frentes de minrio. Esta estratgia adotada tendo em vista que nas frentes de estril o importante atender produo e no necessrio observar a qualidade. Nas figuras 1 e 2 so mostrados os pseudocdigos dos procedimentos de construo mencionados. Na classificao dos elementos candidatos a ser inseridos na soluo considerase que para as frentes de estril, a melhor frente a que possui a maior massa, a melhor carregadeira a que oferece a maior produo e o melhor caminho o de maior capacidade. J para as frentes de minrio considera-se que a melhor frente a que possui o menor desvio dos teores em relao s metas, a melhor carregadeira a que oferece a maior produo e o

melhor caminho o de menor capacidade.


Algoritmo Constri_Soluo_Estril() 1 Seja s uma soluo vazia enquanto (a produo de estril for menor que a produo recomendada) e (existirem frentes de 2 estril no utilizadas) faa 3 frente_atual melhor frente de estril ainda no utilizada 4 se no h carregadeira na frente frente_atual ento 5 Aloque a melhor carregadeira ainda no alocada 6 se todas as carregadeiras j foram alocadas ento Retorne s 7 para cada caminho l faa 8 se o caminho l for compatvel com a carregadeira da frente frente_atual ento enquanto (a produo de estril for menor que a produo recomendada) 9 e (o caminho l pode fazer mais uma viagem) faa 10 Aloque uma viagem ao caminho l para a frente frente_atual 11 Retorne s; fim ConstroiEstril; FIGURA 1 Construo de uma soluo para o carregamento de estril Algoritmo Constri_Soluo_Minrio() enquanto (a produo de minrio for menor que a produo recomendada) e (existirem frentes de 1 minrio no utilizadas) faa Ordene as frentes pelos desvios de meta (ordem crescente) 2 frente_atual Escolha uma das frentes de minrio que podem ser utilizadas 3 se no h carregadeira na frente f_atual ento 4 Aloque a melhor carregadeira ainda no alocada 5 se todas as carregadeiras j foram alocadas ento Retorne s 6 para cada caminho l faa 7 se o caminho for compatvel com a carregadeira da frente frente_atual ento enquanto (a produo de minrio for menor que a produo recomendada) 8 e (o caminho l pode fazer mais uma viagem) faa 9 Aloque uma viagem ao caminho l para a frente frente_atual 10 Retorne s; fim ConstroiMinrio; FIGURA 2 Construo de uma soluo para o carregamento de minrio

A escolha da frente frente_atual na segunda etapa da construo (Figura 2) feita por uma funo guia, tal como em Bresina (1996). Primeiramente, todas as frentes candidatas so ordenadas tendo em vista os valores dos desvios das metas de qualidade. r-sima frente melhor classificada, associada uma funo guia bias(r) = 1/(2r). A seguir, cada frente candidata escolhida com probabilidade p(r ) = bias(r ) / bias(r ) . Nesta estratgia, d-se maior probabilidade de escolha frente que mais contribui para minimizar os desvios das metas.

3.2.5 Algoritmo proposto


O algoritmo proposto, denominado GVILS, combina os procedimentos GRASP (FEO e RESENDE, 1995), Variable Neighborhood Descent VND (MLADENOVIC e HANSEN, 1997) e Iterated Local Search ILS (LOURENO et al., 2003). Seu pseudocdigo est esquematizado na Figura 3. A construo de uma soluo inicial (linhas 1 e 2 da Figura 3) feita pelos procedimentos descritos na subseo anterior. A busca local feita pelo procedimento VND usando-se os movimentos descritos na subseo 3.2.2. Estrategicamente, a busca local opera nas vizinhanas em uma ordem pr-definida, comeando das que exigem menor esforo computacional para aquelas que exigem maior esforo. Assim, o VND segue a seguinte ordem de explorao: NCG, NNV, NVC, NVF. Os movimentos relativos s vizinhanas NCT, NOC, NOF e NVT no foram utilizados na busca local, mas apenas como perturbao. Esta estratgia foi adotada devido ao fato de estes ltimos movimentos requererem maior esforo computacional na busca local.

Algoritmo GVILS(s) 1 s Constri_Soluo-Estril(); 2 s Constri_Soluo_Minrio(); 3 s VND(v); 4 enquanto (Critrio de parada no satisfeito) faa 5 s' Perturbao(v, nvel); 6 s" VND(s); 7 se f(s) < f(s) ento 8 s s; 9 fim-se; 10 fim-enquanto; 11 s s*; 12 Retorne s; fim GVILS; FIGURA 3 Algoritmo GVILS proposto

O objetivo da perturbao diversificar a busca, gerando uma soluo diferente e cada vez mais distante da regio atual de explorao no espao de busca. Para cumprir esta misso, so estabelecidos vrios nveis de perturbao. Para cada nvel n, so aplicados soluo corrente n+2 movimentos, escolhidos aleatoriamente dentre os 8 descritos na subseo 3.2.2. A essa soluo perturbada aplicada busca local, baseada no procedimento VND (linha 6 da Figura 3). Aps IterMax iteraes sem melhora em um dado nvel, este aumentado. No caso de se encontrar uma soluo de melhora, o nvel de perturbao volta ao seu nvel mais baixo.

4. Descrio dos cenrios


Os cenrios utilizados para teste foram os mesmos de Costa (2005). Tais cenrios se referem a dados do planejamento operacional de empresas mineradoras do quadrilterro ferrfero, situado na regio central do Estado de Minas Gerais. Os parmetros de controle so os teores qumicos (Fe, SiO2, Mn, P, H2O etc) e granulometrias especificadas para o minrio. A diferena reside apenas na funo de avaliao que, ao contrrio deste autor, considera a penalizao pela utilizao de veculos, bem como na incluso de uma nova restrio que impede que um caminho opere mais que uma determinada taxa de utilizao, no caso, 85% do tempo. A Tabela 1 apresenta as principais caractersticas dos problemas-teste utilizados.
Problema-teste PADC01 PADC01 PADC01 PADC01 Fonte: Costa (2005). TABELA 1 Problemas-teste utilizados. Nmero de frentes Nmero de parmetros Nmero de de lavra de controle carregadeiras 17 10 8 17 10 8 32 10 7 32 10 7 Nmero de caminhes 30 30 30 30

Para os problemas-teste PADC01 e PADC02, os caminhes de 1 a 15 tm capacidade 50 t e compatveis com as carregadeiras Car01 a Car04; enquanto os demais caminhes tm capacidade 80 t e compatveis com as carregadeiras Car05 a Car08. J para os problemas-teste PADC03 e PADC04, todos os caminhes so de 50 t e compatveis com todas as carregadeiras. Os dois ltimos problemas diferem apenas na composio qumica e granulomtrica dos minrios presentes nas frentes de lavra. O nico parmetro do mtodo, IterMax, que indica o nmero de iteraes sem melhora em um dado nvel de perturbao, foi fixado em 60, aps uma bateria preliminar de testes.

10

Os pesos adotados na funo de avaliao so apresentados na Tabela 2. Tais pesos so os mesmos de Costa (2005).
Pesos =+ = = + TABELA 2 Pesos adotados para os parmetros de controle. Descrio Penalidade por tonelada abaixo ou acima da meta de produo (estril/minrio) Penalidade por tonelada abaixo ou acima da meta de qualidade Penalidade pelo uso de um caminho Taxa mxima de utilizao de um caminho Valor 100 1 1 85%

= + j T j j l l V
TxMaxl l V Fonte: Costa (2005).

5. Resultados computacionais e anlises


O algoritmo proposto (GVILS) foi desenvolvido em C++ usando o compilador g++ 4.0 e o IDE Eclipse 3.1. O modelo de programao matemtico foi modelado em AMPL e resolvido pelo otimizador CPLEX, verso 9.1. Os dois modelos, heurstico e de programao matemtico, foram testados em um microcomputador com processador Pentium IV, 3.0 GHZ e 2 GB de RAM, rodando Windows XP Professional. Cada problema-teste foi executado 10 vezes pelo algoritmo GVILS, considerando-se como critrio de parada o tempo de 15 minutos. J para o otimizador CPLEX foram considerados trs critrios de parada: 15, 60 e 120 minutos de processamento. A Tabela 3 apresenta os resultados da funo objetivo obtidos pelo algoritmo proposto e pelo otimizador CPLEX. A coluna Melhora indica o quanto o algoritmo GVILS melhorou a soluo produzida pelo CPLEX-120 (soluo obtida pelo CPLEX em duas horas de processamento). J a coluna Desvio mostra o desvio dos valores mdios de GVILS em relao melhor soluo conhecida em cada problema-teste.
Problemateste PADC01 PADC02 PADC03 PADC04 TABELA 3 Comparao de resultados: CPLEX GVILS. Melhor Mdia CPLEXCPLEX-60 CPLEX-120 GVILS GVILS 15 227,32 257,30 164.040 164.054 227,32 254,06 164.034 164.054 227,32 254,06 164.034 164.054 227,12 252,41 164.070 164.140 227,22 254,38 164.089 164.187 Melhora (%) 0,09 0,65 -0,02 -0,05 Desvio (%) 0,04 0,78 0,03 0,08

Como pode ser observado pela Tabela 3, o algoritmo GVILS foi capaz de, em 15 minutos de processamento, gerar solues de melhor qualidade que o CPLEX em duas horas de processamento nos problemas-teste PADC01 e PADC02. J nos dois ltimos problemasteste, o algoritmo proposto apresentou solues piores, mas apenas a um mximo de 0,05% da soluo do CPLEX. A variabilidade das solues finais tambm baixa, variando de 0,03% a 0,78%, no mximo. O algoritmo GVILS no foi comparado com o de Costa (2005) visto que a funo custo utilizada por este era diferente e, alm disso, o modelo desse autor no contemplava restries relativas taxa de utilizao de caminhes.

6. Concluses
Este trabalho teve seu foco no problema de planejamento operacional de lavra considerando alocao dinmica de caminhes. Em virtude da complexidade combinatria do problema, foi proposto um algoritmo

11

heurstico hbrido, que combina os procedimentos heursticos GRASP, Variable Neighborhood Descent e Iterated Local Search, para resolv-lo. Usando problemas-teste da literatura, o algoritmo heurstico foi comparado com o otimizador CPLEX aplicado a um modelo de programao matemtica. Verificou-se que o algoritmo proposto competitivo com este, pois foi capaz de encontrar solues de boa qualidade rapidamente e com baixa variabilidade das solues finais. Dado que a tomada de deciso no problema em pauta tem que ser rpida, os resultados encontrados validam a utilizao do algoritmo proposto, enquanto ferramenta de apoio deciso.

Agradecimentos
Os autores agradecem ao CNPq, processo 474831/2007-8, e FAPEMIG, processo CEX 2991-06.1/07, pelo apoio ao desenvolvimento da presente pesquisa.
Referncias ALVARENGA, G. B. Despacho timo de caminhes numa minerao de ferro utilizando algoritmo gentico com processamento paralelo. Dissertao (Mestrado em Engenharia Eltrica), Programa de Ps-Graduao em Engenharia Eltrica, Escola de Engenharia, Universidade Federal de Minas Gerais - UFMG, 1997. BRESINA, J. L. Heuristic-biased stochastic sampling. In Proceedings of the 13th National Conference on Artificial Intelligence, AAAI Press, Portland, p. 271278, 1996. CHANDA, E. K. C.; DAGDELEN, K. Optimal blending of mine production using goal programming and interactive graphics systems, International Journal of Surface Mining, Reclamation and Environment, v. 9, p. 203-208, 1995. COSTA, F. P. Aplicaes de tcnicas de otimizao a problemas de planejamento operacional de lavras em mina a cu aberto. 141 p. Dissertao (Mestrado em Engenharia Mineral) - Programa de Ps-Graduao em Engenharia Mineral, Escola de Minas, Universidade Federal de Ouro Preto - UFOP, Ouro Preto, 2005. COSTA, F. P.; SOUZA, M. J. F. e PINTO, L. R. Um modelo de alocao dinmica de caminhes. Revista Brasil Mineral, v. 231, p. 26-31, 2004. COSTA, F. P.; SOUZA, M. J. F. e PINTO, L. R. Um modelo de programao matemtica para alocao esttica de caminhes visando ao atendimento de metas de produo e qualidade. Revista da Escola de Minas, v. 58, p. 77-81, 2005. EZAWA, L. e SILVA, K. S. Alocao dinmica de caminhes visando qualidade. In: Anais do VI Congresso Brasileiro de Minerao, p. 1519, Salvador, Bahia, 1995. FEO, T. A.; RESENDE, M. G. C. Greedy randomized adaptive search procedures. Journal of Global Optimization, v. 6, p. 109133, 1995. GUIMARES, I. F.; PANTUZA, G. e SOUZA, M. J. F. Modelo de simulao computacional para validao dos resultados de alocao dinmica de caminhes com atendimento de metas de qualidade e de produo em minas a cu aberto. In: Anais do XIV Simpsio de Engenharia de Produo (SIMPEP), Bauru, CD-ROM, 11 p., 2004. LOURENO, H. R.; MARTIN, O. C.; STTZLE, T. Iterated Local Search. In: GLOVER, F. e KOCHENBERGER, G. (Eds). Handbook of Metaheuristics, Kluwer Academic Publishers, Boston, 2003. MERSCHMANN, L.H.C. Desenvolvimento de um sistema de otimizao e simulao para anlise de cenrios de produo em minas a cu aberto. Dissertao (Mestrado em Engenharia de Produo) - Programa de Engenharia de Produo/COPPE, Universidade Federal do Rio de Janeiro - UFRJ, Rio de Janeiro, 2002. MLADENOVIC, N.; HANSEN, P. A Variable Neighborhood Search. Computers and Operations Research, v. 24, p. 1097-1100, 1997. RODRIGUES, L. F. Anlise comparativa de metodologias utilizadas no despacho de caminhes em minas a cu aberto. 86 p. Dissertao (Mestrado em Engenharia de Produo), Programa de Ps-Graduao em Engenharia de Produo, Escola de Engenharia, Universidade Federal de Minas Gerais - UFMG, 2006. WHITE, J. W. e OLSON, J. P. Computer-based dispatching in mines with concurrent operating objectives. Mining Engineering, v. 38, n. 11, p. 10451054, 1986.

12

UM ALGORITMO HEURSTICO HBRIDO PARA RESOLUO DO PROBLEMA DE PROGRAMAO INTEGRADA DE VECULOS E TRIPULAES
Marcone Jamilson Freitas Souza Departamento de Computao, Programa de Ps-Graduao em Engenharia Mineral Universidade Federal de Ouro Preto 35.400-000 Ouro Preto (MG) marcone@iceb.ufop.br Sabir Ribas, Igor Machado Coelho Universidade Federal de Ouro Preto 35.400-000 Ouro Preto (MG) {sabirribas, igor.machado}@yahoo.com.br

RESUMO
Este trabalho trata da programao integrada de veculos e tripulaes. Dada a natureza combinatria do problema, a abordagem utilizada heurstica. O algoritmo proposto baseado nos procedimentos Iterated Local Search, Variable Neighborhood Descent e Busca Tabu. Para explorar o espao de busca so usados movimentos envolvendo realocaes e trocas de viagens nos veculos e tarefas nas tripulaes. Para testar o algoritmo foram utilizados dados reais da cidade de Belo Horizonte, Brasil. Os experimentos computacionais realizados mostraram que o algoritmo proposto foi capaz de produzir resultados superiores queles alcanados por um mtodo clssico de soluo dessas duas etapas do planejamento de transporte pblico. PALAVARAS CHAVE. Programao integrada de veculos e tripulaes, Transporte Pblico, Metaheursticas. rea principal: Logstica e Transportes (LGT)

ABSTRACT
This work deals with the integrated vehicle and crew scheduling. Due to the combinatorial complexity of the problem, the approach to solve it is heuristic. A hybrid algorithm, based on Iterated Local Search, Variable Neighborhood Descent and Tabu Search, is proposed. In order to explore the solution space, some moves based on reallocation and swap of both, trips of the vehicles schedule and tasks of the duties schedule are used. The algorithm was tested with real data of the city of Belo Horizonte, Brazil. Computational results show that the proposed algorithm was able to produce better solutions than a traditional method applied to solve these two stages of the public transport planning. KEYWORDS. Integrated Vehicle and Crew Scheduling, Public Transport, Metaheuristics. Main area: Logistic and Transports

1871

1. Introduo Dada a complexidade do planejamento do transporte no Sistema de Transporte Pblico, ele geralmente dividido em cinco etapas: planejamento das rotas, definio da tabela de horrios, programao dos veculos, programao das tripulaes e rodzio das tripulaes. Normalmente, a sada de uma etapa corresponde entrada da etapa subseqente. Neste trabalho, trata-se da resoluo de duas delas, a programao de veculos e a de tripulaes. Segundo Freling et al (2003), existem trs diferentes abordagens para resolver o problema de programao de veculos e de tripulaes: Seqencial, Independente e Integrada. Na abordagem seqencial os problemas de programao de veculos e tripulaes so resolvidos separadamente, sendo a soluo de um utilizada como entrada para a resoluo do outro. A abordagem seqencial, por sua vez, dividida em tradicional e inversa. A abordagem seqencial tradicional foi a primeira a ser estudada e a mais adotada por empresas de transporte. Nesta estratgia, resolvido primeiramente o problema de programao de veculos (PPV) e, a partir dessa soluo, resolvido o problema de programao das tripulaes (PPT). O inconveniente dessa abordagem que a soluo dos veculos guia a programao das tripulaes (FRELING et al., 2003), a qual tem o custo mais relevante entre os custos do sistema (BOUZADA, 2003). Uma alternativa para resolver esse problema aplicar a abordagem tradicional, mas considerando algumas caractersticas dos tripulantes na programao dos veculos, deixando outras caractersticas para serem tratadas posteriormente, durante a resoluo do PPT. Ainda que isto implique em acrscimos no custo da programao de veculos, essa alternativa facilita a resoluo do PPT e geralmente produz solues melhores que as obtidas pela abordagem tradicional (FRELING et al., 2003). Scott (1985) e Darby-Dowman (1988), apud Freling et al. (2003), e Reis (2007) utilizam esta ltima estratgia. Na abordagem seqencial inversa, o PPT resolvido primeiro, diretamente da tabela de horrios e, a seguir, resolvido o PPV. Esta estratgia justificada por dois motivos principais: 1) pelo fato de os custos com as tripulaes serem mais elevados que os com os veculos e 2) o conjunto de restries de veculos muito menor que o de tripulaes, o que sugere resolver o problema mais restrito primeiro, que tem menos alternativas de soluo. Bassi et al (2007) propem uma heurstica baseada em GRASP (Feo e Resende, 1995) para resolver o problema de programao de tripulaes, em que as tripulaes so criadas a partir da tabela de horrios, independentemente da soluo dos veculos. Em um segundo momento, o problema de programao de veculos resolvido tendo como entrada a soluo das tripulaes, definida anteriormente. Um mecanismo de Reconexo por Caminhos foi implementado para melhorar a soluo. A heurstica foi testada para vrias empresas de transporte e os resultados comparados com aqueles obtidos pela abordagem tradicional. De acordo com os autores, o procedimento proposto capaz de produzir solues com custos menores que os obtidos pelo procedimento seqencial tradicional. Na abordagem independente tanto a programao dos veculos quanto a dos tripulantes feita diretamente a partir da tabela de horrios. Geralmente, os resultados obtidos por essa abordagem no so viveis na prtica, pois alguns veculos operam sem um tripulante, e alguns tripulantes operam em veculos inexistentes, que no pertencem programao dos veculos. Entretanto, essa abordagem permite determinar os limitantes inferiores para a soluo tima do problema de programao de veculos e tripulaes. Na abordagem integrada os dois problemas so resolvidos simultaneamente. Obviamente, a dificuldade de se resolver o problema de programao integrada de veculos e tripulaes (PPVT) maior por que o espao de solues imenso. O PPVT contm todas as combinaes possveis de tripulaes para cada uma das possveis combinaes de veculos. A natureza combinatria desse problema ressaltada em Borndrfer et al. (2006) e em Freling et al. (2003). Entretanto, com o aumento na velocidade das CPUs, combinado com o progresso dos algoritmos, pesquisadores vm dando mais nfase a esse tpico recentemente. So exemplos de trabalhos utilizando esse tipo de abordagem: Freling et al. (1995), Haase e Friberg (1999) e Freling et al. (1999).

1872

Segundo Freling et al. (2003), a abordagem integrada do PPVT sempre permitir obter resultados melhores ou iguais aos resultados da abordagem seqencial, e resultados piores ou iguais aos da abordagem independente. Este trabalho apresenta um novo algoritmo para resolver o PPVT. O algoritmo combina os procedimentos heursticos Iterated Local Search, Variable Neighborhood Descent e Busca Tabu com Relaxao Adaptativa. O uso de mtodos heursticos justificado pela natureza combinatria do PPVT. A utilizao das tcnicas propostas justificada tendo em vista os resultados obtidos para cada problema isolado (Vide Souza et al. (2007) para o problema de programao de veculos e Marinho et al. (2004) para a programao de tripulaes). O restante deste artigo organizado como segue. Na Seo 2 descreve-se o problema tratado. O algoritmo proposto apresentado na Seo 3. Os resultados computacionais so apresentados e analisados na Seo 4 enquanto a ltima seo conclui o artigo. 2. Definio do Problema De acordo com Freling et al. (2003), o problema de programao veculos e tripulaes pode ser definido como segue: dada uma tabela de horrios de viagens a serem realizadas, encontrar a programao de custo mnimo para os veculos e para as tripulaes tal que ambas sejam factveis e mutuamente compatveis. Cada viagem possui horrios de inicio e fim e o tempo de viagem entre todos os pontos de nibus so conhecidos. A programao dos veculos factvel se (1) cada viagem atribuda a um nico veculo, e (2) cada veculo possui uma seqncia factvel de viagens, isto , todo veiculo deve ser capaz de executar consecutivamente as viagens a ele atribudas. Determinadas viagens no pertencem a nenhuma linha e, assim, so denominadas viagens mortas. O tempo de viagem morta o tempo em que um veculo viaja entre dois locais (terminais ou garagens) sem passageiros. Tal procedimento necessrio para reposicionar um veculo do ponto final de uma viagem ao ponto inicial da prxima viagem. As viagens atribudas a um veculo definem sua jornada diria de trabalho, sendo essa jornada conhecida como bloco do veculo. Cada bloco dividido em oportunidades de troca, definidos por um horrio e um local, onde e quando pode haver uma troca de tripulao. Uma tarefa definida por um conjunto de viagens entre duas oportunidades de troca consecutivas e representa a mnima poro de trabalho que pode ser associada a uma tripulao. O conjunto de tripulaes deve executar todas as tarefas assim como o de veculos deve executar todas as viagens. As tarefas que so associadas a uma mesma tripulao definem sua jornada de trabalho. A programao das tripulaes factvel se (1) cada tarefa associada a um nico tripulante, e (2) a seqncia de tarefas de cada um dos tripulantes pode ser realizada na prtica por apenas um tripulante. Em particular, cada tripulante deve satisfazer certos quesitos. Um exemplo tpico a restrio de tempo mximo de trabalho. O custo de um tripulante uma combinao de custos fixos e custos variveis. A Seo 3.4 detalha os custos considerados neste trabalho. As empresas analisadas neste trabalho estimam que em horrios de pico, perodos em que h um nmero maior de passageiros em trnsito, o tempo necessrio para a ocorrncia de uma troca de tripulaes de dois minutos, e fora desses horrios esse tempo de um minuto. Segundo elas, existem dois horrios de pico ao longo do dia: das 5:00 s 7:59 e das 16:00 s 18:59. Em funo disso, so considerados dois tipos de jornada de trabalho: jornada simples e jornada com dupla pegada. Este ltimo tipo de jornada existe em funo da necessidade de um nmero maior de tripulaes nos horrios de pico. Assim, em geral, nas jornadas com pegada dupla, as tripulaes trabalham durante o primeiro pico e retornam depois para atender viagens do segundo pico. Para caracterizar uma jornada com dupla pegada entre o final da primeira parte da jornada e o incio da subseqente deve haver um intervalo de pelo menos duas horas. Neste trabalho considera-se que os veculos esto sempre disponveis ao longo do dia e que h apenas uma garagem. 3. Metodologia Proposta 3.1. Representao de uma soluo Uma soluo para o PPVT consiste em um par (sV, sT), em que sV representa uma

1873

soluo para os veculos e sT representa uma soluo para as tripulaes. A soluo sV consiste em um conjunto de veculos, em que a cada um associada uma lista de viagens a serem feitas ao longo do dia. A soluo sT consiste em um conjunto de jornadas de trabalho para as tripulaes, em que a cada qual associada uma lista de tarefas a serem feitas diariamente. 3.2. Construo de uma soluo inicial Uma soluo inicial para o PPVT feita primeiramente construindo uma soluo inicial para os veculos e depois, a partir desta, gerada uma soluo para as tripulaes. As duas solues so construdas por procedimentos gulosos. Para a construo de uma soluo inicial do PPV aplicado um procedimento que, a cada iterao, insere uma nova viagem a um veculo, de acordo a funo de avaliao relativa aos veculos (veja a equao (2) da Seo 3.4). A escolha do veiculo que receber a viagem totalmente gulosa, o que significa que o veculo que apresentar o menor custo relativo alocao escolhido. O procedimento finalizado quando todas as viagens forem alocadas. O conjunto de viagens alocadas a cada veculo chamado de bloco do veculo. A partir do bloco de viagens de cada veculo construda uma soluo para o PPT. Inicialmente, cada veculo tem suas viagens agrupadas em tarefas. A seguir, as tarefas so ordenadas pelo horrio de incio. A cada passo h sempre uma jornada sem tarefas, alm do conjunto de jornadas no vazias. O procedimento funciona como segue. A primeira tarefa associada jornada do primeiro tripulante. Depois, para cada tarefa da seqncia, avaliada a insero na jornada de cada tripulante do conjunto e mais na jornada do tripulante sem tarefas. A avaliao das jornadas feita de acordo com a equao (8) da Seo 3.4, relativa programao das tripulaes. A tarefa associada jornada que apresentar menor custo de alocao. O procedimento pra quando todas as tarefas tiverem sido alocadas. 3.3. Estruturas de vizinhana Para explorar o espao de busca foram definidos seis tipos de movimentos. As vizinhanas NVR, NVS, NCR e NCS usam movimentos baseados em realocao (Reallocation) e troca (Swap), envolvendo viagens de veculos (Vehicle) e tarefas de tripulantes (Crew), respectivamente. As vizinhanas NVRP e NVSP consistem em realocao e troca de viagens em veculos, respectivamente, seguidas de uma reconstruo da programao das tripulaes afetadas pelos movimentos de acordo com a seo anterior. 3.4. Funo de avaliao O custo de uma soluo para o PPVT calculado pela equao (1): (1) em que fV(s) representa a componente de f que avalia s quanto programao dos veculos (equao 2) e fT(s) avalia s quanto programao das tripulaes (equao 8) e e so pesos. As funes fV(s) e fT(s) foram propostas em Souza et al. (2007) e Marinho et al. (2004), respectivamente, e modelaram satisfatoriamente problemas reais de Transporte Pblico.

f ( s ) = fV ( s ) + f T ( s )

f V (s) =

k F

k V

(s) + TL numTrLinha + EDP excessoDuplaPegV


fVk(s)

(2)

Na equao (2), o custo do veculo k, calculado pela equao (3); numTrLinha o nmero de trocas de linhas realizadas por todos os veculos e TL a penalidade associada; excessoDuplaPegV representa o excesso de vezes em que os veculos, durante suas jornadas, retornam garagem e permanecem l por duas horas ou mais e EDP a penalidade para esse quesito. Por restries operacionais, o nmero de duplas pegadas na programao dos veculos deve ser inferior a 60% do tamanho da frota.

f Vk ( s ) =

(i, j ) T

ij

+ CD g1 + CDng

(3)

Na equao (3), T o conjunto das n viagens do veiculo k, Cij o custo para realizar as viagens i e j consecutivas, calculado pela equao (4), CDg1 o custo da viagem do veculo k da

1874

garagem ao ponto de inicio da primeira viagem e CDng o custo da viagem do veculo k do ponto final de sua ltima viagem garagem.

CDij + CC ij C ij = CTij + CDij CDig + CD gj

se ociosoij < 0 se 0 ociosoij TempoMaxTerm se ociosoij > TempoMaxTerm


(4)

Na equao (4), CTij, CDij e CCij representam, respectivamente, o tempo em que o veculo permanece no terminal entre as viagens i e j, o tempo de viagem morta entre i e j, e o tempo em minutos em que a viagem i conflitante com a viagem j. TempMaxTerm o tempo mximo que um veculo pode permanecer no terminal, estabelecido por polticas operacionais do Sistema de Transporte Pblico e ociosoij corresponde ao tempo entre o fim da viagem i e o incio da viagem j menos o tempo de viagem morta, se for necessrio o reposicionamento do veculo. Nas equaes (5) e (6), em que so determinados os custos CDij e CTij, tem-se que: tvmij o tempo de viagem morta entre as viagens i e j; TempDeslocLim o tempo limite de viagem morta, wTD o peso se o tempo de viagem morta for maior que TempDeslocLim, wTT o peso se o tempo de permanncia no terminal ultrapassar o TempTermLim, 1 e 1 so pesos, no intervalo [0, 1], usados para ajustar as funes custo (5) e (6), respectivamente.

( tvm ) 1 ij CDij = 1 tvmij TD ( ocioso ) 2 ij CTij = 2 ociosoij TT


CC ij = - (ociosoij ) TC

se tvmij TempoDeslocLim se tvmij > TempoDeslocLim se ociosoij TempoTermLim se ociosoij > TempoTermLim

(5)

(6)

O conflito CCij entre duas viagens i e j avaliado pela equao (7): (7) em que wTC o peso associado a esse quesito. Seja R = {r1, r2, , r|R|} o conjunto de linhas a cargo da empresa e S1, S2, , S|S| subconjuntos de R, chamados grupos de linhas, com R = S1 S|S| e S1 S2 S|S| = . A avaliao das tripulaes feita pela equao (8) a seguir:

f T (s) =

iTrip

( penalidadeTempoOcioso

+ penalidadeHoraExtra i +
(8)

+ 3 numTrVPerm i + 4 numTrLPerm i + 5 numTrPPerm i + + 1 tempoSobre p i + 2 tempoExcTr abi + 3 tempoInsuf EJorn i + + 4 numTrocaV Pr oib + 5 numTrL Pr oibi + 6 numTrP Pr oibi ) + + 7 excessoDup laPeg + numTripula ntes
em que: (i) Trip o conjunto de tripulantes da componente sT; (ii) i e i so as penalidades aplicadas s restries e objetivos, respectivamente; (iii) penalidadeTempoOciosoi assume o valor 1 se ociosidade na jornada i for maior que duas horas e o valor 0.347 TempoOciosoi0.8 caso contrrio, onde TempoOciosoi corresponde ao tempo em que o tripulante fica ocioso ao executar a jornada i; (iv) penalidadeHoraExtrai assume 2 se o tempo de hora extra for maior que duas horas, caso contrrio assume valor 1.357 HoraExtrai0.6, onde HoraExtrai indica o tempo, em minutos, em que o tripulante que executa a jornada i faz hora extra; (v) numTrVeiculosPermi o nmero de vezes em que ocorre troca de veculos permitida durante a jornada i. Uma troca de veculos permitida quando h tempo para se efetuar a

1875

(vi)

(vii)

(viii)

(ix)

(x)

(xi) (xii)

(xiii) (xiv)

(xv)

troca de tripulaes; numTrLPermi o nmero de vezes em o tripulante associado jornada i na rota rj, realocado a uma outra rota rk, com as duas pertencentes ao mesmo grupo, isto , rj Sm R e rk Sm; numTrPPermi indica o nmero de vezes em que um tripulante realocado a um ponto (terminal) diferente durante a jornada i. Uma troca de terminal permitida se: (1) os terminais envolvidos na troca pertencerem ao mesmo grupo terminais; (2) as tarefas pertencerem ao mesmo veculo; (3) houver mais que duas horas de ociosidade entre duas tarefas consecutivas da jornada i, isto , em uma pegada dupla, a realocao de um tripulante entre diferentes terminais permitida. Uma troca de ponto (terminal) proibida caso no satisfaa a nenhum dos trs quesitos anteriores; tempoSobrepi a quantidade de tempo, em minutos, em que duas tarefas so realizadas simultaneamente na jornada i, isto , em duas tarefas consecutivas quando a segunda inicia antes do termino da primeira; tempoExcTrabi representa o tempo, em minutos, da jornada i que ultrapassa nove horas de trabalho. O tempo trabalhado em cada jornada i calculado como: TempoTrabi = (horrio de trmino da ultima tarefa da jornada i) (horrio inicial da primeira tarefa) (durao do intervalo entre as tarefas que caracterizam pegada dupla, se a jornada possuir pegada dupla); tempoInsufEJorni a quantidade de tempo, em minutos, que falta para que a diferena entre o horrio final da jornada i em um dia e o horrio inicial no dia subseqente atinja o tempo mnimo entre jornadas de 11 (onze) horas. Esse valor calculado como: tempoInsufEJorni = max {0, 1160 (1440 horrio de trmino da jornada i + horrio inicial da jornada i)}; numTrVProibi o nmero de vezes em que ocorreu troca proibida de veculos durante a jornada i. Uma troca de veculos proibida quando no h tempo para se efetuar a troca; numTrLProibi o nmero de vezes em que ocorreu troca proibida de linhas durante a jornada i. Uma troca de linha proibida se as linhas envolvidas pertencerem a grupos diferentes, isto , se dadas duas linhas rj e rk tivermos rj Sm R e rk Sm; numTrPProibi o nmero de vezes em que ocorreu troca proibida de pontos (terminais) durante a jornada i (veja o item (vii)); excessoDuplaPeg representa o nmero de jornadas classificadas como de pegada dupla que excede 1,25 (tamanho da frota de veculos). Esse valor uma estimativa da empresa, que assume que no mximo 50% dos tripulantes podem fazer pegadas duplas; numTripulantes o nmero de tripulantes escalados para executar o conjunto de jornadas e a penalizao correspondente.

Nos itens (iii) e (iv) so usadas funes cujos valores esto no intervalo [0, 16] e [0, 24], respectivamente. Nestas funes, de domnio [0, 120], quanto maior for o tempo de ociosidade ou hora-extra, mais acentuada a penalidade. Elas procuram, tambm, levar em considerao o fato de que a hora-extra 50% mais cara que a hora de trabalho normal. Maiores detalhes sobre a relao dos pesos utilizados podem ser vistos em Marinho (2005). 3.5. Uma nova heurstica integrada de refinamento Foram concebidos dois procedimentos de busca local para refinar solues do PPVT. O primeiro, chamado de Descida Randmica de Viagens em Veculos com Propagao (DRVVP), tem por objetivo melhorar estritamente a componente sV, relativa programao dos veculos, mas mantendo-se coerente a componente sT, relativa programao das tripulaes. Para isso, exploram-se as vizinhanas Realocao de Viagens de Veculos (NVR) e Realocao Propagada de Viagens de Veculos (NVRP). Nessa verso obtm-se, a cada iterao, um vizinho qualquer da soluo corrente por meio de um movimento m de acordo com a vizinhana NVR. Caso o vizinho v1 gerado proporcione melhora no valor da funo de avaliao, a nova soluo corrente ser o vizinho v2 obtido por meio de um movimento que possua as mesmas caractersticas de m

1876

(veculos e viagens; tripulantes e tarefas), mas agora, de acordo com a vizinhana NVRP; caso contrrio, um novo vizinho gerado. Esse procedimento se repete at que se exceda DescidaMax iteraes sem melhora na soluo. Para verificar se um vizinho proporciona melhora, esse mtodo considera apenas o custo referente programao dos veculos. O segundo procedimento a Descida Randmica de Viagens em Veculos Integrada (DRVVI). O objetivo, nesse caso, refinar uma soluo s utilizando-se vizinhanas que explorem a integrao dos dois problemas, no caso, NVRP, que faz a realocao propagada de viagens em veculos e NVSP, que faz a troca propagada de viagens em veculos. Essas so estruturas de vizinhana que exigem mais processamento que as demais e, por isso, a navegao no espao de busca geralmente mais lenta. As duas estruturas consistem em uma alterao simples, realocao ou troca, na programao de veculos e em uma adio gulosa de tarefas programao de tripulaes. A adio gulosa a parte mais custosa do processo, por isso deve restringir-se a momentos propcios. No caso, apenas para as solues pouco distantes da soluo corrente, com respeito ao custo da programao dos veculos, so aplicados os movimentos integrados. Mais especificamente, nesta busca local gera-se, a cada iterao, um vizinho qualquer da soluo corrente por meio de um movimento m de acordo com a vizinhana integrada escolhida. Se a estrutura escolhida for a NVRP, o movimento m ser obtido pela vizinhana NVR, j se a estrutura escolhida for a NVSP, o movimento m ser obtido pela vizinhana NVS. Caso o vizinho v1 gerado possua custo fV(v1) inferior ao valor obtido pela multiplicao de uma constante ( > 1) pelo custo fV(v) dos veculos na soluo corrente v, um novo vizinho v2 gerado por meio de um movimento m pertencente vizinhana escolhida e que utiliza os mesmos veculos e viagens do movimento m. Se o custo global f(v2), relativo a veculos e tripulaes do vizinho v2, for inferior ao custo global da soluo corrente f(v), a nova soluo corrente ser v2. Assim como no mtodo DRVVP, esse procedimento repetido at que se exceda DescidaMax iteraes sem melhora na soluo global. 3.6. O algoritmo ILS_VND_BTRA Descreve-se, a seguir, o algoritmo ILS-VND-BTRA para resolver o PPVT. Este algoritmo combina caractersticas dos procedimentos Iterated Local Search (ILS), Variable Neighborhood Descent (VND) e Busca Tabu com Relaxao Adaptativa (BTRA). Para fundament-lo, seja Nk (k=1,..., kmax) um conjunto finito de estruturas de vizinhana pr-selecionadas, e Nk(s) o conjunto de solues da k-sima vizinhana de s. Chamase uma soluo s de timo local com respeito a Nk(s), se no existe uma soluo s Nk(s) tal que f(s) < f(s). O procedimento heurstico VND (Hansen e Mladenovic, 2003) baseado em trs princpios bsicos: (1) um timo local para uma vizinhana pode no necessariamente ser para outra; (2) um timo global um timo local para todas as possveis vizinhanas; e (3) em vrios problemas, timos locais de uma vizinhana so relativamente prximos dos timos de outras. O procedimento VND_2N, proposto para fazer uma busca local no espao de solues do PPVT, est descrito na Figura 1. Ele inspira-se na idia da heurstica VND no sentido de que no somente as vizinhanas so alteradas, mas tambm os procedimentos de busca local usados. No passo 1 aplica-se a uma soluo s0 o procedimento DRVVP utilizando a vizinhana NVRP resultando uma soluo s1. Como DRVVP um procedimento de descida, a soluo s1 ou melhor que a soluo s0 ou a prpria soluo s0. Assim, a soluo s1 atribuda soluo s0. O algoritmo continua com a chamada ao procedimento DRVVP usando a vizinhana NVSP, gerando a soluo s2. Se o custo da soluo s2 for inferior ao custo de s0, ento se inicia novamente a execuo do passo 1. O Passo 1 termina quando os procedimentos DRVVP no produzirem melhoria nas solues. As execues dos Passos 2 e 3 so semelhantes do Passo 1, sendo que no Passo 2 o refinamento de uma soluo feito por meio dos procedimentos BTRA_R e BTRA_S e, no Passo 3, o refinamento feito pelo procedimento DRVVI usando a vizinhana NVRP e depois a NVSP. Os procedimentos BTRA_R e BTRA_S so baseados na metaheurstica Busca Tabu (Glover, 1997) com oscilao estratgica (ou Relaxao Adaptativa) usando as vizinhanas NCR e NCS, respectivamente. Estes procedimentos consistem em mudar periodicamente o valor dos pesos durante a busca, promovendo a gerao de inviabilidades para

1877

explorar regies ainda no visitadas do espao de solues. A descrio deste procedimento, especializado para resolver o PPT, est descrito em Marinho et al. (2004). Proc. Incio Passo 1 VND_2N Seja s0 uma soluo inicial s1 DRVVP (s0, NVRP) s2 DRVVP (s1, NVSP) Se s2 for melhor que s0, ento faa s0 s2 e volte ao incio do Passo 1 s3 BTRA_R (s2) s4 BTRA_S (s3) Se s4 for melhor que s2, ento faa s2 s4 e volte ao incio do Passo 2 s5 DRVVI (s4, NVRP) s6 DRVVI (s5, NVSP) Se s6 for melhor que s4, faa s4 s6 e volte ao incio do Passo 3 Se houve alguma melhora no Passo 3, volte ao Passo 2 Retorne s6 Figura 1 Procedimento VND_2N aplicado ao PPVT

Passo 2

Passo 3

Passo 4

Iterated Local Search ILS (Loureno et al. 2003) uma metaheurstica com quatro componentes bsicas: Gerao de soluo inicial, Busca Local, Perturbao e Critrio de aceitao. O primeiro mdulo tem por objetivo gerar uma boa soluo inicial para o problema. Busca local o mdulo que retorna um timo local para a busca. J Perturbao consiste em realizar modificaes nos timos locais s de forma a gerar uma nova soluo s prxima de s. O mdulo Critrio de aceitao consiste em determinar se o resultado s da aplicao da busca local soluo s vai ser aceita ou no como nova soluo corrente. Neste trabalho, considera-se que a soluo s aceita, e escreve-se s s, se ela for melhor que o timo local anterior, isto , se f(s) < f(s). As perturbaes no PPVT consistem em realizar movimentos aleatrios na vizinhana NVRP. O nmero de movimentos aleatrios mensurado pela varivel nvel, de forma que quanto maior esse nmero, maior a distncia da soluo perturbada ao timo local corrente. Uma perturbao de nvel i consiste em realizar i + 2 movimentos aleatrios. O nmero de modificaes no timo local, isto , o nvel de perturbao, aumentado sempre que as buscas locais no forem bem sucedidas em ILSMax vezes. O algoritmo encerrado quando um nmero mximo de modificaes, dado por NivelMax, ou um tempo limite alcanado. Na Figura 2 apresenta-se o pseudocdigo do algoritmo ILS-VND-BTRA proposto para resolver o PPVT. Algoritmo ILS-VND-BTRA 1: Entrada: s, f(.), NivelMax , ILSmax , TempoLimite 2: s* s; nvel 0; 3: enquanto nvel < NivelMax e tempo_de_processamento < TempoLimite faa 4: iter 0; 5: enquanto iter < ILSmax e tempo_de_processamento < TempoLimite faa 6: s Perturbao(s, nvel); 7: s VND_2N (s); 8: se f(s) < f(s*) ento 9: s* s; nvel 0; iter 0; 10: seno 11: s s*; iter iter + 1; 12: fim se 13: fim enquanto nvel nvel +1; 14: 15: fim enquanto 16: retorne s* Figura 2 Algoritmo ILS-VND-BTRA aplicado ao PPVT

1878

4. Resultados computacionais O algoritmo descrito foi implementado na linguagem C++ usando o ambiente de desenvolvimento e compilador Borland C++ Builder 6.0 e testado em um microcomputador com processador Intel Pentium, 3.00 GHz, com 1 GB de memria RAM e sistema operacional Windows XP Professional. Para validar o algoritmo foram disponibilizadas pela BHTRANS, empresa responsvel pelo gerenciamento do Sistema de Transporte Pblico da cidade de Belo Horizonte, problemasteste reais pertencentes a uma Bacia de Linhas de tal cidade. Os parmetros do mtodo ILS_VND_BTRA foram empiricamente ajustados em uma bateria preliminar de testes. O nmero de iteraes sem melhora do ILS (ILSmax) foi fixado em 50, enquanto BTmax (nmero de iteraes sem melhora no mtodo BTRA) foi fixado em 50. O valor escolhido para NivelMax foi 5 e o nmero de iteraes sem melhora (DescidaMax) nas chamadas dos procedimentos DRVVP e DRVVI foi dado por nmero de viagens tamanho mximo da frota de veculos. O valor do parmetro do procedimento DRVVI foi fixado em 1,2. O nmero mximo de duplas pegadas na programao dos veculos foi fixado em 60% do tamanho da frota referente soluo produzida manualmente pelas empresas analisadas. J o nmero mximo de duplas pegadas na programao das tripulaes foi fixado em 1,25 vezes o tamanho da frota. Esta ltima relao foi adotada considerando-se que, na prtica, a cada veculo esto associados 2,5 tripulantes e que no desejvel se ter mais que 50% das tripulaes fazendo dupla pegada. A primeira fase da abordagem seqencial tradicional usa o algoritmo ILS descrito em Souza ei al. (2007) e foi interrompido com 15 minutos de processamento. J a segunda fase usa o algoritmo BTRA descrito em Marinho et al. (2004). O tempo total de processamento foi limitado em meia hora. Portanto, na metodologia seqencial tradicional foi destinado 15 minutos para resolver o problema de programao de veculos e 15 minutos para resolver o problema de programao de tripulaes. Nas tabelas 1 e 2 so apresentados os valores dos parmetros utilizados para o clculo da funo de avaliao apresentada na seo 5.3. Na Tabela 2 os valores TempoDeslocLim e TempoTermLim so vinculados a cada problema-teste e representam os maiores tempos de viagem morta e terminal, nessa ordem, em minutos, encontrados nas solues utilizadas por duas empresas do Sistema. Tais parmetros so os mesmos utilizados pelos algoritmos que resolvem o PPV e o PPT de forma seqencial. Os pesos = 1 e = 2,5 relativos programao de veculos e tripulaes, respectivamente, foram utilizados com o objetivo de se dar uma importncia maior programao das tripulaes. Tabela 1 - Parmetros utilizados na funo de avaliao do PPVT
Parmetro TempoMaxTerm 1 1 2 2 TD TT TC EDP TL Valor 119 minutos 2 ln (16) / ln (1 x TempoDeslocLim ) 1 ln (16) / ln (2 x TempoTermLim ) 50 40 80 80 5 100 1 2.5 Parmetro 1 2 3 4 5 1 2 3 4 5 6 7 Valor 18 40 19 5 5 40 40 40 45 35 35 45

A Tabela 3 contm os resultados encontrados, relativos funo de avaliao, para as

1879

duas metodologias de soluo do PPVT em 10 execues para cada problema teste. Pode-se observar que h reduo tanto nos melhores valores quanto nos valores mdios da funo de avaliao em todos os casos analisados. O desvio do algoritmo proposto pequeno, provando sua robustez, pois h pouca variabilidade nos valores das solues finais. As melhores solues produzidas pelo algoritmo proposto tm valores da funo de avaliao at 6,43% melhores que aqueles relativos metodologia seqencial tradicional. Tabela 2 Problemas-teste e seus respectivos tempos limites relativos ao PPV
Probl.-teste TempoDeslocLim G02_DOM 18 G02_SEG 18 G02_SEX 18 G02_SAB 18 TempoTermLim Probl.-teste TempoDeslocLim 73 G27_DOM 23 118 G27_SEG 23 113 G27_SEX 23 62 G27_SAB 23 TempoTermLim 110 47 42 57

Tabela 3 - Comparao de resultados (Seqencial Tradicional Integrada)


Mtodo Seqencial Tradicional Mtodo Integrado Problema-teste Melhor Valor Valor Mdio Desvio Melhor Valor Valor Mdio Desvio G02_DOM 7036 7160,35 6,47% 6725,5 6841,5 1,72% G02_SEG 22507,5 22828,55 8,26% 21087,5 21297,7 1,00% G02_SEX 23045,5 23354,1 7,50% 21724,5 21910,1 0,85% G02_SAB 12938,5 13260,5 8,51% 12220 12468,05 2,03% G27_DOM 3497,5 3550,75 4,51% 3397,5 3442,3 1,32% G27_SEG 8299 8463,25 7,30% 7887,5 7992,55 1,33% G27_SEX 8429,5 8486,25 7,59% 7887,5 8015,55 1,62% G27_SAB 5193,5 5346,65 5,73% 5057 5176,35 2,36% Melhora 4,41% 6,31% 5,73% 5,55% 2,86% 4,96% 6,43% 2,63%

As tabelas 4 e 5 comparam, para cada metodologia, algumas caractersticas das melhores solues encontradas em quatro dias da semana das empresas G02 e G27. Tabela 4 Caractersticas das solues de G02: Mtodo Seq. Tradicional Mtodo Integrado
Empresa G02 Nmero de viagens Nmero de veculos Tempo de terminal (hh:mm) Tempo de viagem morta (hh:mm) Nmero de tripulantes Tempo ocioso (hh:mm) Tempo de hora-extra (hh:mm) Trocas de linhas Trocas de pontos Trocas de veculos fV fT f = f V + 2.5 f T Mtodo Seqencial Tradicional DOM SEG SEX SAB 90 260 260 172 11 40 40 23 16:13 22:26 5:56 21:02 8:24 12:50 12:14 16:48 21 62 63 37 15:13 15:04 9:23 15:44 5:04 6:44 7:34 20:08 1 5 7 1 2 18 19 9 6 62 66 11 841 2510 2553 1491 2478 7999 8197 4579 7036 22507.5 23045.5 12938.5 Mtodo Integrado DOM SEG SEX 90 260 260 11 40 39 13:44 8:12 22:14 9:50 15:06 14:58 19 62 63 11:07 7:52 6:28 14:58 8:28 12:31 4 4 6 3 11 8 2 34 34 893 2740 2887 2333 7339 7535 6725.5 21087.5 21724.5 SAB 172 23 21:02 18:36 34 15:12 19:44 2 10 15 1585 4254 12220

Apesar de a funo de avaliao dos veculos no visar a reduo do nmero de veculos, pelo menos diretamente, percebe-se pelas Tabelas 4 e 5 que o mtodo integrado produz solues com nmero igual ou menor de veculos que o mtodo tradicional. Comparando outras caractersticas das solues produzidas, observam-se as seguintes vantagens do mtodo integrado sobre o mtodo seqencial tradicional: reduo no nmero de tripulaes (de 21 para 19 aos domingos e de 37 para 34 aos sbados na empresa G02, de 24 para 23 s segundas e de 25 para 23 s sextas na empresa G27), reduo no tempo de ociosidade das tripulaes, reduo no tempo de espera em terminal ( exceo das sextas-feiras nas duas empresas). O aumento no nmero de horas-extras recompensado pela melhoria em alguma outra caracterstica da soluo como a

1880

diminuio do nmero de tripulaes ou do nmero de trocas de veculos. Por exemplo, na empresa G02 h s sextas um aumento na quantidade de horas-extras de quase 5 horas; no entanto, h uma reduo significativa no nmero de trocas de veculos (de 66 para 34). J na empresa G27, h s sextas um aumento de mais de 7 horas-extras; no entanto, este aumento acompanhado de uma reduo de duas tripulaes, bem como de 7 trocas de veculos (o que representa mais da metade do nmero de trocas de veculos da soluo produzida pelo mtodo tradicional). A despeito do aumento no tempo de espera em terminal s sextas-feiras nas duas empresas, valem as mesmas observaes anteriores, acrescidas ao fato de que, para a empresa G02, este aumento foi acompanhado da reduo de um veculo. Tabela 5 Caractersticas das solues de G27: Mtodo Seq. Tradicional Mtodo Integrado
Empresa G27 Nmero de viagens Nmero de veculos Tempo de terminal (hh:mm) Tempo de viagem morta (hh:mm) Nmero de tripulantes Tempo ocioso (hh:mm) Tempo de hora-extra (hh:mm) Trocas de linhas Trocas de pontos Trocas de veculos fV fT f = f V + 2.5 f T Mtodo Seq. Tradicional Mtodo Integrado DOM SEG SEX SAB DOM SEG SEX SAB 52 98 98 69 52 98 98 69 5 14 13 7 5 14 13 7 12:57 10:25 8:45 11:12 10:47 10:22 11:08 10:54 3:50 16:06 15:20 8:26 4:36 16:52 15:20 9:12 10 24 25 15 10 23 23 14 6:30 10:52 13:44 10:14 5:06 10:06 8:57 8:54 6:53 5:58 6:29 7:33 6:35 11:38 14:42 13:19 0 0 0 0 0 0 0 0 0 3 2 1 0 3 3 0 4 14 12 4 2 6 5 3 370 1019 952 661 385 1050 1005 682 1251 2912 2991 1813 1205 2735 2753 1750 3497.5 8299 8429.5 5193.5 3397.5 7887.5 7887.5 5057

Pelas tabelas 4 e 5 verifica-se, tambm, que o algoritmo proposto foi capaz de produzir solues melhores, sob o ponto de vista da funo de avaliao, para todos os dias considerados. Observa-se que, quanto integrao, h uma piora no custo dos veculos e uma reduo significativa no custo dos tripulantes, produzindo assim solues melhores para o conjunto. A aplicao da metodologia desenvolvida, com os pesos adotados neste trabalho, vantajosa em situaes nas quais, para a empresa, os custos envolvidos so maiores com as tripulaes. 5. Concluses Este artigo apresentou um algoritmo, baseado nas heursticas Iterated Local Search, Variable Neighborhood Descent e Busca Tabu com Relaxao Adaptativa, para resolver o problema de programao integrada de veculos e tripulantes. Os resultados obtidos pelo algoritmo proposto foram comparados com aqueles obtidos por um mtodo tradicional seqencial, que resolve primeiramente o problema de programao de veculos e depois o problema de programao de tripulantes. Para test-lo foram utilizados dados reais de empresas do Sistema de Transporte Pblico da cidade de Belo Horizonte (MG). Os experimentos computacionais realizados mostraram que o algoritmo proposto foi capaz de produzir resultados superiores queles alcanados pela clssica metodologia seqencial. Foram produzidas solues piores para os veculos, mas melhores para as tripulaes, gerando, no entanto, solues melhores para o conjunto. A melhora global proporcionada pelo algoritmo foi de at 6,43%, o que mostra que promissor explorar a interao desses problemas. Adicionalmente, a variabilidade das solues finais foi relativamente baixa com relao ao valor da funo de avaliao, no caso, inferior a 2,36%. Como trabalho futuro, faz-se necessrio fazer uma anlise de sensibilidade do algoritmo com respeito adoo de diferentes pesos para a funo de avaliao. Agradecimentos Os autores agradecem FAPEMIG (processo TEC 679/06), ao CNPq (processo 474831/2007-8) e BHTRANS pelo apoio ao desenvolvimento deste trabalho.

1881

Referncias Bassi, H. V., Silva, G. P., Marinho, E. H., Souza, M. J. F. (2007), GRASP and Path-relinking Applied to the Independent Crew Scheduling Problem, In: International Conference on Computers in Urban Planning and Urban Management, 2007, Foz do Igua, Reviewed papers in the Conference Proceedings of CUPUM 2007, v.1, p.1 11. Borndrfer, R.; Grtschel, M. and Pfetsch, M. (2006), Public transport to the fORe!, ORMS Today, v. 33(2), p. 30-40. Bouzada, C. F. (2003), Custo do Transporte Coletivo por nibus, Editora C/Arte, Belo Horizonte. Darby-Dowman, K., Jachnik, J. K.; Lewis, R. L. e Mitra, G. (1988), Integrated decision support systems for urban transport scheduling: Discussion of implementation and experience, in J. R. Daduna e A. Wren (eds.), Computer-Aided Transit Scheduling: Proceedings of the Fourth International Workshop, Springer Verlag, Berlin, p. 226-239. Feo, T.A., Resende, M.G.C. (1995), Greedy randomized adaptive search procedures, Journal of Global Optimization, v. 6, p. 109-133. Freling, R. C.; Boender, G. E. e Paixo, J. M. P. (1995), An integrated approach to vehicle and crew scheduling, Technical Report 9503/A, Econometric Institute, Erasmus University Rotterdam, Rotterdam. Freling, R., Huisman, D., Wagelmans, A. (2003), Models and Algorithms for Integration of Vehicle and Crew Scheduling, Journal of Scheduling, v. 6(1), p. 6385. Freling, R.; Wagelmans, A. P. M. e Paixo, J. M. P. (1999), An overview of models and techniques for integrating vehicle and crew scheduling, in N. H. M. Wilson (ed.), ComputerAided Transit Scheduling, Springer Verlag, Berlin, p. 441-460. Garey, M. R., Johnson, D. S. (1979), Computers and Intractability, In W. H. Freeman (ed.), A Guide to the Theory of NP-Completeness, New York. Glover, F., Laguna, M. (1997), Tabu Search, Kluwer Academic Publishers. Haase, K. e Friberg, C. (1999), An exact branch and cut algorithm for the vehicle and crew scheduling problem, in N. H. M. Wilson (ed.), Computer-Aided Transit Scheduling, Springer Verlag, Berlin, p. 63-80. Hansen, P., Mladenovic, N. (2003), Variable neighborhood search: Principles and applications, European Journal of Operations Research, v. 130, p. 449-467. Loureno, H. R.; Martin, O.; Sttzle, T. (2003), Iterated Local Search, In F. Glover and G. Kochenberger (ed.), Handbook of Metaheuristics, Kluwer Academic Publishers. Marinho, E. H. (2005), Heursticas Busca Tabu para o Problema de Programao de Tripulaes de nibus Urbano, Dissertao de mestrado, Niteri: Universidade Federal Fluminense, 89 p. Marinho, E. H., Ochi, L. S., Drummond, L. M. A., Souza, M. J. F., Silva, G. P. (2004), Busca Tabu aplicada ao Problema de Programao de Tripulaes de nibus Urbano, Simpsio Brasileiro de Pesquisa Operacional, 2004, So Joo Del Rey, Anais do XXXVI SBPO. Rio de Janeiro: SOBRAPO, v.1. p.1471 1482. Reis, J. v. A. (2007), Programao integrada de veculos e tripulaes de nibus urbano, Exame de qualificao de mestrado, Programa de ps-graduao em Engenharia de Transportes, So Paulo: Escola Politcnica da Universidade de So Paulo. Scott, D. (1985), A large linear programming approach to the public transport scheduling and cost model, in J. M. Rousseau (ed.), Computer Scheduling of Public Transport 2, North Holland, Amsterdan, p. 473-491. Souza, M. J. F., Silva, G. P., Simes, E. M. L. (2007), Programao de nibus urbano: uma abordagem heurstica In: Transporte em transformao XI: trabalhos vencedores do prmio CNT de Produo Acadmica 2006. Braslia: Positiva, 2007, v.1, p. 39-57.

1882

UM ALGORITMO EVOLUTIVO HBRIDO PARA O PROBLEMA DE RECOBRIMENTO DE ROTAS COM COLETA DE PRMIOS

MATHEUS S. A. SILVA, MARCIO T. MINE, LUIZ S. OCHI ,


Instituto de Computao - Universidade Federal Fluminense Rua Passo da Ptria 156 - Bloco E - 3o andar - So Domingos. CEP.: 24210-240 Niteri, RJ, Brasil

MARCONE J. F. SOUZA
Departamento de Computao - Universidade Federal de Ouro Preto Campus Universitrio, Morro do Cruzeiro. CEP.: 35400-000 Ouro Preto, MG, Brasil E-mails: {msalves;mmine;satoru}@ic.uff.br, marcone@iceb.ufop.br
Abstract This paper proposes a hybrid evolutionary algorithm for getting an approximate solution of a generalization of the Traveling Salesman Problem (TSP) know in literature as the Prize Collecting Covering Tour Problem (PCCTP). Computational results on a set of instances illustrate the effectiveness and the robustness of the proposed heuristic. Keywords Computational Intelligence, Metaheuristics, Evolutionary Algorithm.

Resumo Este artigo prope um algoritmo evolutivo hbrido para obter solues aproximadas para uma generalizao do Problema do Caixeiro Viajante (PCV), conhecido na literatura como Problema de Recobrimento de Rotas com Coleta de Prmios (PRRCP). Resultados computacionais para um conjunto de instancias mostram a eficincia e a robustez da heurstica proposta. Palavras-chave Inteligncia Computacional, Metaheursticas, Algoritmo Evolutivo.

Introduo

Com o aumento da complexidade dos processos produtivos, h uma necessidade cada vez maior da utilizao de sistemas inteligentes, que auxiliem o processo de tomada de deciso da melhor maneira possvel. Mtodos clssicos de otimizao tm encontrado dificuldade para obter a melhor soluo, dita tima, mesmo quando alguns deles possuem teoricamente a garantia de ating-la. A elevada complexidade dos problemas de otimizao encontrados em diferentes reas tem provocado a necessidade de desenvolvimento de novos mtodos mais eficientes na prtica para solucionar tais problemas. Esses mtodos so usualmente o resultado da adaptao de conceitos de vrias reas. Um exemplo bem sucedido so as metaheursticas, ou heursticas inteligentes. A principal caracterstica desta categoria de mtodos a possibilidade de encontrar diferentes timos locais durante a busca pela melhor soluo. Entre esses mtodos, destacamse os Algoritmos Evolutivos, os quais tm se mostrado eficientes na resoluo de vrios problemas combinatrios. Neste trabalho, desenvolvemos um Algoritmo Evolutivo Hbrido (AEH), que inclui fases de busca local por meio da metaheurstica Iterated Local Search (Mladenovic e Hansen, 1997) e a heurstica GENIUS (Gendreau et al., 1992). Esse algoritmo aplicado ao Problema de Recobrimento de Rotas com Coleta de Prmios (PRRCP). O PRRCP, referido na literatura como Prize Collecting Covering Tour Problem (PCCTP) uma

variao do Problema de Recobrimento de Rotas (PRR) (Covering Tour Problem - CTP), que por sua vez uma generalizao do Problema do Caixeiro Viajante (PCV) (Traveling Salesman Problem TSP). O PRR pode ser definido em um grafo nodirecionado G = (N, E), onde N = V W representa o conjunto dos vrtices que podem fazer parte da soluo (V), em unio com os vrtices que precisam ser cobertos (W). Os vrtices do conjunto W so ditos cobertos quando existe na soluo pelo menos um vrtice de V a uma distncia igual ou inferior a D de cada um desses vrtices, sendo D um parmetro do problema. O conjunto E formado pelas arestas que conectam os vrtices do conjunto V. Esse ltimo conjunto subdividido em dois outros conjuntos, T e V\T, sendo o conjunto T formado pelos vrtices obrigatrios, isto , que devem fazer parte da rota e V\T, o conjunto dos vrtices opcionais, que no necessariamente precisam fazer parte da rota. A partir destas consideraes, tem-se que o PRR consiste em determinar uma rota de comprimento mnimo sobre um subconjunto de V, contendo todos os vrtices obrigatrios T e cobrindo todos os vrtices de W. Uma vez que o PRR pode ser reduzido ao PCV fazendo-se D = 0, W = e N = T, e este se enquadra na classe de problemas NP-difceis, ento o PRR tambm o . O PRRCP, alm das restries comuns ao PRR, possui as seguintes particularidades: (i) a cada vrtice i de V est associado um prmio no-negativo pi; (ii) a quantidade dos prmios coletados nos vrtices

presentes na soluo tem que ser maior ou igual quantidade mnima pr-estabelecida, dada por PRIZE. O objetivo do PRRCP, assim como no PRR, encontrar uma rota de comprimento mnimo em um subconjunto de V, satisfazendo as restries de pertinncia de todos os vrtices de T soluo, a cobertura de todos os vrtices de W e por fim, a coleta da quantidade mnima de prmios (PRIZE). Analogamente ao PRR, o PRRCP tambm considerado um problema NP-Difcil, uma vez que pode ser reduzido ao PCV (D = 0, N = T, PRIZE = 0 e W = ). 2 Trabalhos Relacionados O PRR foi formulado inicialmente por Current e Schilling (1989). Nesse trabalho, os autores abordam o PRR atravs de uma heurstica de duas etapas, sendo que a primeira minimiza o comprimento da rota e a segunda maximiza o nmero de vrtices cobertos pela rota gerada na primeira etapa. Posteriormente, (Gendreau et al., 1995) propuzeram um procedimento baseado na heurstica GENIUS (Gendreau et al., 1992) e no Algoritmo PRIMAL Set Covering (Balas and Ho, 1980) para resoluo do PRR. Alm desse procedimento, nesse trabalho tambm foram propostas quatro regras de reduo, um algoritmo exato baseado na tcnica Branch-and-Cut e uma formulao matemtica. Maniezzo et al. (2005) apresentaram uma formulao matemtica para o PRR. Alm disso, os autores tambm apresentam heuristicas Scatter Search para o PRR. Em Motta et al. (2001) proposto uma nova formulao matemtica e uma heurstica GRASP para resolver o PRR. Por ser um problema relativamente novo, existem poucos trabalhos na literatura relacionados ao PRRCP. Em Lyra (2004) proposto uma formulao matemtica, uma regra de reduo dos vrtices do problema e uma heuristica GRASP (Feo e Resende, 1995) para o PRRCP. Na dissertao de Silva (2009) so propostas trs novas regras de reduo para o PRRCP, uma nova formulao matemtica e duas abordagens heursticas baseadas na metaheurstica Iterated Local Search para resoluo do PRRCP. 3 Metodologia proposta Para gerar uma soluo inicial so utilizados cinco algoritmos construtivos. Os algoritmos ADD e DROP foram utilizados por Lyra (2004) para o PRRCP. Os algoritmos de Insero Mais Barata e do Vizinho Mais Prximo foram propostos para PCV e adaptados para o PRRCP. Por fim, utiliza-se uma adaptao da heurstica GENIUS (Gendreau et al., 1992). Para explorar o espao de solues, utilizam-se cinco movimentos clssicos usados para o PCV, os quais so apresentados a seguir: (a) Shift - consiste em remover um vrtice e reinser-lo em outra posi-

o; (b) Swap - troca dois vrtices de suas posies; (c) Or-Opt - extenso do shift, consistindo em remover um conjunto de vrtices adjacentes e os reinserlos em outra posio; (d) 2-Opt - remove duas arestas no adjacentes e insere duas novas arestas (e) 3-Opt remove trs arestas no adjacentes e insere trs novas arestas. Alm desses movimentos, so usados quatro movimentos baseados nas fases de insero e remoo da heurstica GENIUS e na insero do algoritmo de Insero Mais Barata. Para avaliar uma soluo, utiliza-se uma funo f(s), baseada em penalidade, que determina os custos totais de deslocamento. Essa funo consiste em somar todos os custos (distncias) de todas as arestas presentes na soluo e penalizar o no atendimento das restries do problema. 4 Algoritmo Evolutivo Hbrido (AEH) para o PRRCP O termo Algoritmo Evolutivo (AE) compreende uma famlia de resolvedores de problemas com base em princpios que podem ser encontrados na evoluo biolgica (Eiben and Rudolph, 1999). As trs linhas principais de estudo nessa rea so o Algoritmo Gentico (AG), Estratgias de Evoluo (EE) e Programao Evolutiva (PE). Um AE tpico funciona da seguinte forma: a cada gerao constri-se um conjunto de indivduos, representando as solues de um problema de otimizao. Esses indivduos, juntamente com a populao vinda de geraes anteriores, so combinados numa fase de cooperao para formarem novos indivduos. Esses novos indivduos passam, ento, por uma fase de adaptao antes de se decidir quais sero includos na populao que ir para a prxima gerao. O algoritmo finaliza ao se atingir um nmero mximo de geraes (Hertz and Kobler, 2000). No Algoritmo Evolutivo proposto para resolver o PRRCP, utiliza-se o conceito de classes para diferenciar os indivduos. A classe A, representada pelo pool de solues elite, contm os melhores indivduos em termos de custo da soluo, encontrados durante as geraes. Esses indivduos so substitudos somente se melhores indivduos forem criados. A classe B representada por uma parcela da populao que tambm s substituda caso indivduos de melhor custo sejam gerados. Por fim, a classe C representada pela outra parcela restante da populao com indivduos de custos mais elevados, substitudos em todas as geraes. Para gerar a populao inicial, utilizam-se verses randomizadas dos cinco mtodos construtivos apresentados na Seo 3. Como os mtodos possuem idias diferentes, diversificando-os na gerao da populao inicial, diversificam-se os indivduos, promovendo assim uma miscigenao entre os indivduos. O Algoritmo 1 apresenta o pseudocdigo do Algoritmo Evolutivo Hbrido proposto.

procedimento Algoritmo Evolutivo Hbrido enquanto (!completo (populacao, pool) ) s0 SolucaoInicial s MRD(s0) pool s se !poolAtualizado ento populacao s fim se fim enquanto enquanto (ger < germax) sbase s populacao sguia s pool sRC Reconexo por Caminhos(sbase,sguia) s ILS-VNRD(sRC) pool s para (nind < classeC) s0 SolucaoInicial s MRD(s0) populacao s fim para ger ger + 1; fim enquanto s s* pool retorne s

se C da populacao, substituindo-se seus indivduos por novos indivduos. Como a populacao ordenada pelo custo dos indivduos, pode acontecer de um novo indivduo criado para a classe C possuir um custo menor que um indivduo da classe B. Quando isto ocorre, realiza-se a inverso de classes entre os indivduos, isto , automaticamente o novo indivduo passa a ser da classe B e o outro indivduo que pertencia a esta classe passa agora a pertencer classe C. Ao final do algoritmo, retorna-se o melhor indivduo (soluo) do pool. 4.1 Mtodo Randmico de Descida MRD O Mtodo Randmico de Descida, ou MRD, uma heurstica de refinamento que consiste em analisar um vizinho qualquer de uma dada soluo e o aceitar somente se ele for estritamente melhor que a soluo corrente. Caso esse vizinho no seja melhor, a soluo corrente permanece inalterada e outro vizinho gerado. O procedimento finalizado quando se atinge um nmero mximo de iteraes sem que haja melhorias no valor da melhor soluo obtida. 4.2 Reconexo por Caminhos RC O procedimento de Reconexo de Caminhos (Path Relinking) RC foi utilizado como fase de intensificao para o AEH proposto. Este algoritmo inicia calculando a diferena simtrica de todas as solues do pool de solues elite em relao soluo base, sbase, proveniente da populacao. A diferena simtrica pode ser entendida como a quantidade de passos que so necessrios para sair de uma soluo base e chegar soluo guia. Sair de uma soluo base e chegar a uma soluo guia significa que a cada iterao, um atributo que exista na soluo guia, mas que no pertena soluo base inserido na soluo base com o objetivo de que ao final do procedimento a soluo base coincida com a soluo guia. Definida a soluo base, sbase, enquanto ela possuir alguma diferena para sguia, o procedimento aplica um movimento que consiste em inserir na sbase um atributo de sguia. O movimento escolhido o melhor dentre os possveis movimentos que podem ser aplicados, isto , o que trouxer o maior benefcio para a soluo. A essa soluo intermediria, tambm chamada de candidata (scand), aplica-se uma busca local por meio do MRD. Se essa soluo s for melhor que a pior soluo do pool e atender ao critrio de diversificao de solues, ento atualiza-se o pool com s. O procedimento termina quando ocorre a convergncia das solues, isto , as solues base e guia possuem os mesmos vrtices e a ordem de visita dos vrtices em ambas as solues a mesma. 4.3 ILS-VNRD O procedimento ILS-VNRD tem como soluo inicial a melhor soluo encontrada durante a Reconexo por Caminhos (Subseo 4.2). Em seguida, aplica-se um mecanismo de busca local, o VNRD (Subseo

Algoritmo 1: Algoritmo Evolutivo Hbrido Neste algoritmo, inicialmente so criados vrios indivduos para compor uma populacao e o pool de solues elite. Cada indivduo ento submetido a uma busca local realizada pelo Mtodo Randmico de Descida - MRD (descrito na Subseo 4.1). Se esse indivduo s for melhor que o indivduo que possuir o pior custo dentre todas as solues do pool e possuir um percentual mnimo de diferena para todas as solues desse conjunto elite, ento atualizase o pool com a incluso de s. Caso esse indivduo no satisfaa os requisitos para entrar no pool (poolAtualizado), verifica-se se s pode fazer parte da populacao. Para isso preciso que ele seja melhor que a pior soluo desse conjunto, no precisando ter um percentual mnimo de diferena em relao aos demais indivduos. Criada a populacao inicial, enquanto o nmero mximo de gerao (germax) no for alcanado, aleatoriamente escolhe-se uma soluo da populacao para ser a soluo base do procedimento Reconexo por Caminhos (vide Subseo 4.2). A soluo guia selecionada do pool de solues elite de acordo com o grau de diferena em relao soluo base. A soluo que possuir o maior grau de diferena ser escolhida como guia. A melhor soluo encontrada durante a Reconexo por Caminhos ento submetida a uma busca local realizada pelo procedimento ILS-VNRD descrito na Subseo 4.3. Caso a soluo s retornada pelo ILS-VNRD seja melhor que a soluo de maior custo do pool e se s possuir uma porcentagem mnima de diferena para as demais solues do conjunto elite, atualiza-se o pool com s. Ao final de cada gerao reconstri-se a clas-

4.4). A cada iterao do procedimento ILS-VNRD, gera-se uma perturbao na soluo corrente. Essa perturbao consiste em realizar k movimentos Aleatrios dentre aqueles descritos na Seo 3, sendo k um nmero arbitrrio compreendido entre 1 e um valor parametrizado, denominado kp. A essa soluo perturbada, aplica-se o VNRD, tentando com isso gerar uma soluo melhorada. Se essa for melhor que a soluo corrente, ento a soluo melhorada aceita como a nova soluo corrente e reinicia-se o valor de kp. Essa repetio executada at que um nmero mximo de iteraes sem melhora seja realizado. Quando isso ocorre, incrementase o grau de perturbao, kp, em um fator delta, at que kp atinja seu valor mximo (kpmax). A variao do grau de perturbao uma estratgia importante, pois permite a intensificao da busca e diversificao das solues geradas. A busca intensificada quando o grau de perturbao baixo e a diversificao ocorre quando esse grau atinge um valor relativamente alto. 4.4 Mtodo de Descida Randmica em Vizinhana Varivel MDRVV O Mtodo de Descida Randmica em Vizinhana Varivel (Variable Neighboohoord Randon Descent, VNRD), uma variante do Mtodo de Descida em Vizinhana Varivel (Variable Neighboohoord Descent, VND), proposto por Nenad Mladenovic e Pierre Hansen em 1997. O VND um mtodo de refinamento que consiste em explorar o espao de solues por meio de trocas sistemticas de estruturas de vizinhana (descritas na Seo 3), aceitando somente solues de melhora da soluo corrente e retornando primeira estrutura quando uma soluo melhor encontrada. A grande diferena do VNRD para o VND que a explorao de cada vizinhana no feita por completa, apenas um percentual desta explorada. O valor desse percentual um parmetro passado para o mtodo. Este mtodo finaliza quando se aplica todas as estruturas de vizinhana e no se encontra nenhuma soluo de melhora. 5 Resultados e Concluses O Algoritmo Evolutivo Hibrido foi implementado na linguagem C++ utilizando o ambiente Microsoft Visual Studio 2008 e testado em um computador Intel Core 2 Duo, com 2.2 GHz e 2.5 GB de memria principal, rodando o sistema operacional Windows Vista. Para valid-lo, foram utilizados problemasteste adaptados para o PRRCP a partir do TSPLIB, proposto em Silva (2009). A justificativa para no se ter utilizado os problemas-teste do trabalho de Lyra (2009) se deve no disponibilidade de tais problemas na literatura. Em Silva (2009) foram criados problemas-teste com coleta mnima de 25%, 50% e 75% do prmio total dos vrtices de V. Com isso, em grande parte dos problemas, alguns vrtices do con-

junto V\T devem estar obrigatoriamente presentes na soluo, o que dificulta a resoluo do problema, pois o nmero de combinaes aumenta exponencialmente. Foram utilizados dois grupos de problemas para validar a metodologia proposta. Esses grupos, chamados de Grupo 1 e Grupo 2 respectivamente, possuem problemas com o nmero de vrtices variando entre 50 e 200 para o Grupo 1 e de 201 a 400 para o Grupo 2. Para cada problema foram realizadas 10 execues, cada qual partindo de uma semente diferente de nmeros aleatrios. Os parmetros adotados no Algoritmo Evolutivo foram: maxGer = 7, populationSize = 5, classBSize = 3, classCSize = 2, eliteSetSize = 5, percDiffSolution = 0,15, iterMaxMRD = 300, iterMaxILS = 100, iterMaxVNRD = 100, kpMinILSVNRD = 5, kpMaxILSVNRD = 7 e delta = 2. Tais valores foram definidos

atravs de testes preliminares. Para legitimar o desempenho do AEH proposto, este foi comparado com as duas melhores verses, descritas em Silva (2009), de um algoritmo de busca local baseado na metaheurstica Iterated Local Search, tendo como mtodo de busca local o MRD. Para o Grupo 1, o AEH foi comparado com a verso ILSMRD_AD, a qual tem o procedimento ADD como mtodo de gerao de soluo inicial. Para o Grupo 2, o AEH foi comparado com a verso ILSMRD_IB, a qual usa o procedimento da Insero Mais Barata para construir uma soluo. Esses algoritmos foram comparados pelos seguintes critrios: (a) custo mdio de todos os problemas
do grupo; (b) desvio mdio das solues em relao ao melhor custo conhecido; (c) taxa de sucesso de cada algoritmo em alcanar o melhor custo em pelo menos uma das dez execues; (d) porcentagem de problemas que cada algoritmo encontrou o menor custo sozinho e (e) tempo mdio gasto em cada execuo do algoritmo. O desvio mdio realizado pela equao 100(Mdia-MelhorValor)/ MelhorValor.

De acordo com os critrios considerados, observou-se que, para os problemas do Grupo 1, o AEH obteve um desempenho superior ao ILS-MRD_AD, j que o custo mdio das solues obtidas pelo AE foi de 20073 enquanto o ILS-MRD_AD obteve um custo mdio de 20080. O desvio mdio das solues do AE foi inferior ao do ILS-MRD_AD, no caso, de 0,02% contra 0,06% do outro algoritmo. Alm disso, o AEH encontrou o melhor valor conhecido em 99,1% dos casos do Grupo 1 contra os 96,4% obtidos pelo ILS-MRD_AD, e em 1,8% dos problemas-teste, o AE encontrou esse melhor valor sozinho enquanto o outro algoritmo no obteve sucesso nesse critrio. Em relao aos tempos de execuo, verifica-se que o AEH demandou mais tempo (1538 segundos contra 1256 segundos do ILS-MRD_AD). Em relao aos problemas do Grupo 2, observase que a diferena do desempenho do AEH em relao ao ILS-MRD_IB, avaliado pelos critrios propostos, foi mais significativa. De fato, o AEH obteve um custo mdio das solues de 33641, enquanto o ILS-MRD_IB obteve um custo mdio de 33752. O desvio mdio das solues do AE tambm foi inferi-

or ao do ILS-MRD_IB, no caso, de 0,14% contra 0,34% do outro algoritmo. Alm disso, o AEH encontrou o melhor valor conhecido em mais de 90% dos casos do Grupo 1 contra os 76,7% obtidos pelo ILS-MRD_IB, e em 16,7% dos problemas-teste, o AEH superou a melhor soluo conhecida nos problemas-teste desse grupo. Ainda em relao as instncias do Grupo 1, foi mostrado em Silva (2009) a soluo tima de parte dos problemas-teste deste grupo utilizando uma formulao matemtica e o software CPLEX 11; e tanto o ILS-MRD_IB como o AEH alcanaram o valor timo sempre que este conhecido. Em relao aos tempos de execuo, usando como critrio de parada um nmero fixo de iteraes, verifica-se que o AEH gastou cerca do dobro do tempo do ILS-MRD_IB (9294 segundos do AEH contra 4897 segundos do outro algoritmo). Este resultado j era esperado, pois uma iterao (gerao do AEH muito mais trabalhoso que uma iterao do ILS-MRD_IB. Neste contexto, novos testes computacionais foram efetuados usando agora como critrio de parada, um valor alvo a ser atingido. Foi verificado que o AEH possui uma convergncia emprica melhor quando se deseja encontrar uma soluo de boa qualidade, ou seja, se colocarmos um valor alvo difcil (soluo tima ou sub-tima) o AEH tende a ser mais rpido do que o algoritmo ILS-MRD_IB. Estes ltimos testes mostram que apesar do AEH possuir um tempo computacional maior por iterao, este tende a requerer na mdia menos iteraes para obter um valor alvo de boa qualidade. De acordo com os resultados apresentados, o AEH foi o que gerou as melhores solues para a maioria dos problemas-teste. Esse mrito se deve caracterstica do algoritmo em trabalhar com os dois tipos de buscas, local e populacional, mesclando solues de boa qualidade com solues de qualidade inferior, fazendo com que a busca local tenha mais chances de melhorar a soluo. O algoritmo se mostrou robusto por apresentar solues finais com baixa variabilidade, no caso, sempre inferior a 0,14%. 5 Concluses Este trabalho abordou o Problema de Recobrimento de Rotas com Coleta de Prmios (PRRCP). Para resolv-lo, foi proposto um Algoritmo Evolutivo Hbrido, que mescla busca local com busca populacional. Para gerar os indivduos da populao foram adaptados cinco mtodos de gerao de soluo inicial do PCV para serem utilizados no PRRCP. Para combinar diferentes indivduos, foi utilizado o procedimento Reconexo por Caminhos e para refinar esses indivduos, utilizou-se a metaheurstica Iterated Local Search (ILS), tendo o Variable Neighborhood Random Descent (VNRD) como mtodo de busca local. O VNRD explora a vizinhana de

uma soluo por meio de vrias estratgias apresentadas na Seo 3. De acordo com os resultados obtidos, verifica-se que o algoritmo proposto eficiente e robusto para resolver o PRRCP, sendo capaz de produzir solues de boa qualidade. Agradecimentos Os autores agradecem a CAPES, CNPq, FAPERJ e FAPEMIG pelo apoio ao desenvolvimento deste trabalho. Referncias Bibliogrficas Balas, E. and Ho, A. (1980). Set covering algorithms using cutting planes, heuristics, and subgradient optimizations: A computational study. Mathematical Programming, 12:37-70. Current, J. R. and Schilling, D. A. (1989). The covering salesman problem, Transportation Science 23: 208-213. Eiben, A. E. and Rudolph, G. (1999). Theory of evolutionary algorithms: A birds eye view. In Theoretical Computer Science. 229: 3-9. Feo, T. and Resende, M. (1995). Greedy randomized search procedure, Journal of Global Optimization 6: 109-133. Gendreau, M., Hertz, A. and Laporte, G. (1992). New insertion and post optimization procedures for the traveling salesman problem, Oper. Res.40: 1086-1094. Gendreau, M., Laporte, G. and Semet, F. (1995). The Covering tour problem, Oper. Res. 45: 568576. Hertz, A. and Kobler, D. (2000). A framework for the description of evolutionary algorithms. European Journal of Oper. Res., 126:1-12. Lyra, A. R. de. (2004). O problema de recobrimento de rotas com coleta de prmios: Regras de reduo, formulao matemtica e heursticas, Master's thesis, IC/UFF. Maniezzo, V., Baldacci, R. and Zamboni, M. (2005). Scatter search methods for the covering tour problem, In Metaheuristic Optimization via Memory and Evolution: Tabu Search and Scatter Search, vol 30: 59-91. Kluwer. Mladenovic, N. and Hansen, P. (1997). Variable neighboorhood search, Computers and Operations Research 24: 1097-1100. Silva, M. de S. A. (2009). Problema de Recobrimento de Rotas com Coleta de Prmios, Master's thesis, IC/UFF. Motta, L. C. S., Ochi, L. S. and Martinhon, C. A. (2001). Reduction rules for the covering tour problems, Eletronic Notes In Discrete Applied Mathematics 7: 168-171.

O PROBLEMA DE ROTEAMENTO DE VECULOS COM COLETA E ENTREGA SIMULTNEA: UMA ABORDAGEM VIA ITERATED LOCAL SEARCH E GENIUS1 Marcio Tadayuki Mine Matheus de Souza Alves Silva Luiz Satoru Ochi
Universidade Federal Fluminense Instituto de Computao

Marcone Jamilson Freitas Souza


Universidade Federal de Ouro Preto Instituto de Cincias Exatas e Biolgicas RESUMO Este trabalho considera o Problema de Roteamento de Veculos com Coleta e Entrega Simultnea (PRVCES). O PRVCES um problema bsico na rea da logstica reversa, a qual visa planejar o transporte de produtos aos clientes, bem como o retorno de resduos ou produtos utilizados por esses para a reciclagem ou depsitos especializados. O PRVCES pertence classe NP-difcil, uma vez que ele pode ser reduzido ao Problema de Roteamento de Veculos clssico quando nenhum cliente necessita de servio de coleta. Para resolv-lo, propese um algoritmo heurstico hbrido, denominado GENILS, baseado nas tcnicas Iterated Local Search, Variable Neighborhood Descent e GENIUS. O algoritmo proposto foi testado em trs conjuntos consagrados de problemas-teste da literatura e se mostrou competitivo com os melhores algoritmos existentes. ABSTRACT This work deals with the Vehicle Routing Problem with Simultaneous Pickup and Delivery (VRPSPD). The VRPSPD is a common problem in the area of reverse logistics, which aims to plan the transportation of products to customers, as well as the return of leavings or products used by them for recycling or to special depots. The VRPSPD is NP-hard, since it can be reduced to the classical Vehicle Routing Problem when no client needs the pickup service. To solve it, we propose a hybrid heuristic algorithm, called GENILS, based on Iterated Local Search, Variable Neighborhood Descent and GENIUS. The proposed algorithm was tested on three well-known sets of instances found in literature and it was competitive with the best existing approaches.

1. INTRODUO O Problema de Roteamento de Veculos (PRV), conhecido na literatura como Vehicle Routing Problem (VRP), foi originalmente proposto por Dantzig e Ramser (1959) e pode ser definido da seguinte forma: Dado um conjunto N de clientes, cada qual com uma demanda di e uma frota de veculos homognea com capacidade Q, tem-se como objetivo, estabelecer os trajetos de custo mnimo a serem percorridos pelos veculos, de forma a atender completamente a demanda dos clientes numa nica visita. Em 1989, Min props uma importante variante do PRV: o Problema de Roteamento de Veculos com Coleta e Entrega Simultnea (PRVCES), em que os servios de entrega e coleta devem ser realizados simultaneamente. Este modelo um problema bsico na rea da logstica reversa, a qual visa planejar o transporte de produtos aos clientes, bem como o retorno de resduos ou produtos utilizados por esses para a reciclagem ou depsitos especializados. A logstica reversa pode ser observada, por exemplo, na logstica postal ou no planejamento da distribuio de indstria de bebidas.
1

Trabalho vencedor do prmio de produo acadmica conferido pela Associao Nacional de Pesquisa e Ensino em Transportes (ANPET) e Confederao Nacional do Transporte (CNT). Ser publicado em captulo de livro da srie Transporte em transformao IX: trabalhos vencedores do prmio CNT de Produo Acadmica 2009

O PRVCES pertence classe de problemas NP-difceis, uma vez que ele pode ser reduzido ao PRV clssico quando nenhum cliente necessita de servio de coleta. Dessa forma, diversos trabalhos na literatura o tratam de forma heurstica. Min (1989) props um mtodo de trs fases para resolver o planejamento de distribuio de materiais para bibliotecas pblicas. A primeira fase do mtodo consiste em agrupar os clientes em clusters por meio do Mtodo de Ligao por Mdias (Average Linkage Method) (Anderberg, 2007). A segunda fase associa os veculos s respectivas rotas e a terceira consiste em resolver cada cluster por meio de uma heurstica para o Problema do Caixeiro Viajante. Essa heurstica atribui, iterativamente, uma penalidade aos arcos em que a carga do veculo foi excedida, procurando, dessa forma, gerar uma soluo vivel. Halse (1992) aborda o PRVCES por meio de uma heurstica que consiste em, primeiramente, associar os clientes aos veculos e, em seguida, gerar as rotas atravs de um procedimento baseado no mtodo 3-optimal. Dethloff (2001) desenvolveu uma adaptao do mtodo da Insero Mais Barata, em que os clientes so adicionados s rotas seguindo trs critrios: (i) distncia; (ii) capacidade residual e (iii) distncia do cliente ao depsito. Nesse trabalho no foi aplicado nenhum mtodo de refinamento da soluo. Vural (2003) desenvolveu duas verses do Algoritmo Gentico (Goldberg, 1989). A primeira faz a codificao dos indivduos atravs de chaves aleatrias (Random Keys) (Bean, 1994) e a segunda foi implementada como uma heurstica de refinamento, baseada na estrutura do AG desenvolvido por Topcuoglu e Sevilmis (2002). Gke (2004) trata o PRVCES com a metaheurstica Colnia de Formigas (Dorigo et al., 1996) e utiliza o mtodo 2-optimal como um procedimento de ps-otimizao. Nagy e Salhi (2005) desenvolveram uma metodologia para a resoluo do PRVCES com a restrio de limite de tempo para percorrer cada rota. Essa metodologia rene diferentes heursticas para resolver o PRV clssico, tais como, 2-optimal, 3-optimal, realocao, troca e, alm disso, procedimentos para viabilizar a soluo. DellAmico et al. (2006) utilizaram a tcnica branch-and-price por meio de duas abordagens: programao dinmica e relaxao do espao de estados (state space relaxation). Crispim e Brando (2005) propem uma tcnica hbrida, combinando as metaheursticas Busca Tabu (Glover e Laguna, 1997) e Variable Neighborhood Descent VND (Hansen e Mladenovi, 2001). Para gerar uma soluo foi utilizado o mtodo da varredura (sweep method) e, para refin-la, um procedimento de busca local que explora o espao de solues com movimentos de realocao e troca. Rpke e Pisinge (2006) desenvolveram uma heurstica baseada na Large Neighborhood Search LNS (Shaw, 1998). O LNS uma busca local baseada em duas idias para definir e explorar estruturas de vizinhana de alta complexidade. A primeira idia fixar uma parte da soluo e assim definir o espao de solues. A segunda consiste em realizar a busca por meio

de programao por restries, programao inteira, tcnicas branch-and-cut, entre outras. Montan e Galvo (2006) utilizaram a metaheurstica Busca Tabu considerando quatro tipos de estruturas de vizinhana. Essas estruturas utilizam os movimentos de realocao, troca e crossover. Para gerar uma soluo vizinha foram desenvolvidas duas estratgias, sendo que uma considera o primeiro movimento vivel e a outra, o melhor movimento vivel. Chen (2006) trata o problema por meio de uma tcnica baseada nas metaheursticas Simulated Annealing (SA) (Kirkpatrick et al., 1983) e Busca Tabu, enquanto Chen e Wu (2006) desenvolveram uma metodologia baseada na heurstica record-to-record travel (Dueck, 1993), a qual uma variao do SA. Algoritmos construtivos, heursticas de refinamento e tcnicas baseadas na metaheurstica Busca Tabu so apresentados em Bianchessi e Righini (2007). Essas tcnicas utilizam movimentos de troca de ns (node-exchange-based) e troca de arcos (arc-exchange-based). Wassan et al. (2007) propem uma verso reativa da metaheurstica Busca Tabu. Para gerar uma soluo inicial, foi utilizado o mtodo da varredura (sweep method) e para explorar o espao de solues, movimentos de realocao, de troca e de inverso do sentido da rota. Em Subramanian et al. (2008) foi desenvolvido um algoritmo baseado em Iterated Local Search (ILS), tendo como busca local o procedimento Variable Neighborhood Descent (VND). Para gerar uma soluo inicial foi utilizada uma adaptao da heurstica de insero de Dethloff (2001), porm sem considerar a capacidade residual do veculo. O VND explora o espao de solues usando movimentos baseados em realocao, troca e crossover. O VND realiza, a cada melhora na soluo corrente, uma intensificao nas rotas alteradas, por meio dos procedimentos de busca local Or-opt, 2-opt, exchange e reverse. O procedimento Or-opt que foi implementado consiste em permutar um, dois ou trs clientes consecutivos em uma rota. O 2-opt e o exchange realizam a permutao de um par de arcos e dois clientes, respectivamente. O movimento reverse consiste em inverter o sentido da rota, caso haja reduo na carga do veculo nos arcos. Os mecanismos de perturbao aplicados no ILS foram o ejection chain, o double swap e o double bridge. O ejection chain consiste em transferir um cliente de cada rota a outra adjacente. O double swap consiste em realizar duas trocas sucessivas e o double bridge consiste em remover quatro arcos e inserir quatro novos arcos. Uma descrio detalhada desse algoritmo, bem como uma nova formulao de programao matemtica para o PRVCES pode ser encontrada em Subramanian (2008). Zachariadis et al. (2009) abordada o PRVCES com uma tcnica hbrida, combinando as metaheursticas Busca Tabu e Guided Local Search (Voudouris e Tsang, 1996). Uma boa reviso do PRVCES pode ser encontrada em Parragh et al. (2008a, 2008b). Para comparar as abordagens da literatura, Dethloff (2001) props um conjunto com 40 problemas envolvendo 50 clientes cada. Salhi e Nagy (1999) apresentaram 28 problemas-teste com 50 a 199 clientes, sendo que a metade desses tm restries de limite de tempo. Por fim, Montan e Galvo (2006) adaptaram 18 problemas-teste de Solomon et al. (2005) e Gehring e Homberger (1999), envolvendo 100, 200 e 400 clientes. At o momento, os melhores resultados encontrados na literatura para esses problemas-teste pertencem a:

Chen e Wu (2006): um problema-teste de Salhi e Nagy (1999); Rpke e Pisinger (2006): 26 problemas-teste de Dethloff (2001); Wassan et al. (2007): 6 problemas-teste de Salhi e Nagy (1999); Zachariadis et al. (2009): 6 problemas de Salhi e Nagy (1999) e 27 de Dethloff (2001); Subramanian (2008) e Subramanian et al. (2008): todos os problemas-teste de Dethloff (2001) e Montan e Galvo (2006) e 17 de Salhi e Nagy (1999). Neste trabalho apresentado um novo algoritmo heurstico para resolver o PRVCES. O algoritmo proposto, denominado GENILS, combina as tcnicas Iterated Local Search, Variable Neighborhood Descent e uma adaptao da heurstica GENIUS. Ele difere do de Subramanian et al. (2008) basicamente por incluir a heurstica GENIUS e os procedimentos 3-optimal e 4-optimal na explorao do espao de busca. Conforme mostram os resultados, estas estratgias se mostraram eficientes na resoluo do problema. O restante deste trabalho est organizado como segue. Na Seo 2 descreve-se o problema abordado. A metodologia proposta apresentada na Seo 3. Na Seo 4 so apresentados e analisados os resultados encontrados, enquanto na Seo 5 conclui-se o trabalho, apontando trabalhos futuros. 2. DESCRIO DO PROBLEMA O Problema de Roteamento de Veculos com Coleta e Entrega Simultnea (PRVCES), ou Vehicle Routing Problem with Simultaneous Pickup and Delivery (VRPSPD), uma variante do PRV clssico. Neste problema existe um depsito com uma frota ilimitada de veculos de capacidade Q e um conjunto N de clientes espalhados geograficamente. Cada cliente i N est associado a duas quantidades di e pi, que representam a demanda por um determinado produto e a coleta no cliente i, respectivamente. O objetivo do problema definir as rotas necessrias para atender a todos os clientes, de forma a minimizar os custos referentes ao deslocamento dos veculos e satisfazer as seguintes restries: (a) cada rota deve iniciar e finalizar no depsito; (b) todos os clientes devem ser visitados uma nica vez e por um nico veculo; (c) as demandas por coleta e entrega de cada cliente devem ser completamente atendidas; (d) a carga do veculo, em qualquer momento, no pode superar a capacidade do veculo. Em algumas variantes desse problema, considera-se tambm a necessidade de cada veculo no percorrer mais que um determinado limite de distncia (tempo). A Figura 1 ilustra um exemplo do PRVCES.

Figura 1: Exemplo do PRVCES Na Figura 1, os clientes so representados pelos nmeros 1 a |N| e o depsito pelo nmero 0 (zero). Cada par [di / pi] denota a demanda e coleta em um cliente i, respectivamente. Nesta figura, h trs rotas a serem executadas por veculos de capacidade Q = 150. Em uma delas, o veculo sai do depsito e atende aos clientes 10, 8, 19, 9 e 2, retornando ao depsito no final. No primeiro cliente atendido nessa rota, feita uma entrega de 10 unidades do produto e recolhida outras 5 unidades. A ltima visita do veculo ocorre no cliente 2, o qual demanda 13 unidades do produto e necessita que sejam coletadas 30 unidades. 3. METODOLOGIA Apresenta-se, nesta Seo, a metodologia desenvolvida para resolver o PRVCES. Na Subseo 3.1 mostra-se como gerar uma soluo inicial. Na Subseo 3.2 so mostrados os movimentos usados para explorar o espao de busca, enquanto em 3.3 mostrado como uma soluo avaliada. Na Subseo 3.4 apresentado o algoritmo GENILS desenvolvido para resolver o problema. 3.1. Gerao de uma soluo inicial Para gerar uma soluo inicial so utilizadas trs heursticas baseadas em insero. A primeira, denominada IMB-1R, uma adaptao da heurstica de Insero Mais Barata, a qual constri uma soluo rota a rota. A segunda, denominada IMB-NR, foi proposta por Subramanian et al. (2008) e baseia-se na heurstica de insero de Dethloff (2001). A ltima, VRGENIUS, proposta neste trabalho, uma adaptao da heurstica GENIUS (Gendreau et al., 1992), desenvolvida para o Problema do Caixeiro Viajante, e possui duas fases: uma construtiva (VRGENI) e outra de refinamento (VRUS). A fase VRGENI um mtodo de insero, cuja caracterstica fundamental que a incluso de um cliente no realizada necessariamente entre dois outros clientes consecutivos. No entanto, esses dois clientes tornam-se adjacentes aps a insero. J a fase VRUS consiste em, a cada iterao, remover um cliente da soluo e reinseri-lo em outra posio que vise melhorar a soluo corrente. Caso essa melhora no seja possvel com nenhum cliente, esta fase finalizada. Vale ressaltar que, em ambas as fases, tanto a remoo, quanto a insero de um cliente realizada por procedimentos que analisam um espao reduzido da vizinhana explorada pelas buscas locais 3-optimal e 4-optimal. A eficincia desses procedimentos encontra-se no fato de que o espao analisado restrito ao nmero de vizinhos de cada cliente, sendo, no mximo, igual a um

parmetro p. 3.2. Estruturas de vizinhana Para explorar o espao de solues do problema, aplicam-se, neste trabalho, sete tipos diferentes de movimentos, a saber: (a) Shift: movimento de realocao que consiste em transferir um cliente de uma rota para outra; (b) Shift(2,0): movimento semelhante ao Shift, porm realocando dois clientes consecutivos de uma rota para outra; (c) Swap: consiste em trocar um cliente i de uma rota r1 com um outro cliente j de uma rota r2; (d) Swap(2,1): anlogo ao Swap, porm trocando dois clientes consecutivos de uma rota com um cliente de outra rota; (e) Swap(2,2): consiste em realizar a troca de dois clientes consecutivos de um rota com dois outros clientes consecutivos de outra rota; (f) M2-Opt: consiste em remover dois arcos e inserir dois novos arcos; (g) kOr-Opt: consiste em remover k clientes consecutivos de uma rota r e, em seguida, reinser-los em uma outra posio nessa mesma rota. O valor de k um parmetro. Esse movimento uma generalizao do Or-Opt proposto por Or (1976), em que realizada a remoo de no mximo trs clientes consecutivos. Destaca-se que no so permitidos movimentos que conduzam a solues inviveis. 3.3. Funo de avaliao Uma soluo s avaliada pela funo f apresentada pela Equao (1), que determina o custo total de deslocamento.

f (s) =
em que N: A: cij: xij:

(i , j )A

c x

ij ij

(1)

conjunto dos clientes, incluindo o depsito; conjunto dos arcos (i, j), com i, j N; custo de deslocamento ou distncia de um cliente i a um cliente j; indica se o arco (i,j) A utilizado (xij = 1) ou no (xij = 0) na soluo.

3.4. Algoritmo GENILS Para resolver o PRVCES prope-se um algoritmo hbrido, denominado GENILS. Este algoritmo utiliza o mtodo de gerao de soluo inicial descrito na Subseo 3.2, e combina os procedimentos heursticos Iterated Local Search ILS (Sttzle e Hoos, 1999), Variable Neighborhood Descent VND (Hansen e Mladenovi, 2001) e uma adaptao da heurstica GENIUS (Gendreau et al., 1992). Seu pseudocdigo apresentado pelo Algoritmo 1.
Algoritmo GENILS sA construa uma soluo com a IMB-1R sB construa uma soluo com a IMB-NR sC construa uma soluo com a VRGENIUS sA VND(sA) sB VND(sB) sC VND(sC) s s' | f(s') = min{f(sA), f(sB), f(sC)} iter 0 enquanto (iter < itermax) iter iter + 1 s' perturbao(s) s'' VND(s) se ( f(s'') < f(s) ) faa s s''

iter 0 fim-se fim-enquanto retorne s

Algoritmo 1: GENILS O algoritmo GENILS inicia gerando trs solues iniciais sA, sB, e sC, cada qual por um dos mtodos descritos na Subseo 3.4. Essas solues so, a seguir, refinadas pelo VND e a melhor soluo obtida usada como a soluo inicial s. Para escapar do timo local s, feita uma perturbao, gerando uma nova soluo s'. Em seguida, essa soluo perturbada refinada pela busca local VND, obtendo-se um novo timo local s''. Esta soluo torna-se a nova soluo corrente caso s'' seja melhor que s; caso contrrio, ela descartada e nova perturbao feita a partir da soluo s. Esse procedimento repetido at o nmero mximo de iteraes sem melhora na soluo corrente (itermax) seja atingido. As perturbaes so realizadas por um dos trs mecanismos descritos a seguir, escolhidos aleatoriamente: Mltiplos Shift: Consiste em realizar k movimentos Shift (descrito na Subseo 3.2) sucessivamente. O valor de k definido aleatoriamente entre 1, 2 ou 3; Mltiplos Swap: Segue a mesma idia da perturbao com mltiplos Shift, porm utilizando movimentos Swap; Ejection chain: Essa perturbao foi proposta por Rego e Roucairol (1996). Inicialmente, seleciona-se um subconjunto de m rotas R = {r1, r2, ..., rm} de forma arbitrria. Em seguida, transfere-se um cliente da rota r1 para a rota r2, um cliente de r2 para r3 e assim sucessivamente at que um cliente seja transferido da rota rm para a primeira rota r1. Nesse movimento, os clientes so escolhidos de forma aleatria. O VND explora o espao de solues por meio dos movimentos descritos na Subseo 3.2. Esse mtodo possui duas estratgias: a primeira consiste em determinar aleatoriamente a ordem das vizinhanas a serem pesquisadas, enquanto que a segunda a intensificao da busca nas rotas modificadas em cada iterao do mtodo. Essa intensificao realizada por meio de buscas locais baseadas nos movimentos Shift, Shift(2,0), Swap, 2-Opt, Swap(2,1), Swap(2,2), kOr-Opt com k = 3, 4, 5, apresentados na Subseo 3.2. Alm dessas buscas locais, a intensificao realizada por dois outros procedimentos inspirados na heurstica GENIUS, denominados G3-Opt e G4-Opt, que representam adaptaes das buscas locais 3optimal e 4-optimal. A adaptao consiste em analisar a insero de um arco (vi; vj) somente se os clientes vi e vj estiverem relativamente prximos. Para isso, define-se Np(v) como o conjunto dos p vizinhos mais prximos ao cliente v em uma rota r da soluo s, sendo p um parmetro. Alm disso, considere as seguintes definies: Nr, conjunto dos clientes pertencentes rota r; vi: cliente vi Nr; vh+1; vh-1: clientes, pertencentes rota r, sucessor e antecessor ao cliente vh Nr, respectivamente; vj : cliente vj Np(vi); vk: cliente vk Np(vi+1)

no caminho de vj para vi; vl: cliente vl Np(vj+1) no caminho de vi para vj. O procedimento G3-Opt funciona da seguinte forma: a cada passo, feita a remoo dos arcos (vi; vi+1), (vj; vj+1) e (vk; vk+1) e a insero dos arcos (vi; vj), (vi+1; vk) e (vj+1; vk+1) na rota r, de forma a melhorar a soluo s e tal que o custo seja o menor possvel. Ressalta-se que ambos os sentidos da rota r so analisados. Este procedimento repetido at que no seja possvel melhorar a soluo s. J o procedimento G4-Opt semelhante ao G3-Opt, com a diferena de que, a cada iterao, so removidos os arcos (vi; vi+1), (vl-1; vl), (vj ; vj+1) e (vk-1; vk) e adicionados os arcos (vi; vj), (vl; vj+1), (vk-1; vl-1) e (vi+1; vk). Por fim, realizado o movimento Reverse nas rotas modificadas, que consiste em inverter o sentido da rota, caso haja reduo na carga mxima. 4. RESULTADOS COMPUTACIONAIS Apresentam-se, nesta Seo, os resultados computacionais obtidos pelo algoritmo heurstico hbrido proposto para resolver o PRVCES. O sistema foi desenvolvido na linguagem C++, utilizando o ambiente Microsoft Visual C++, verso 2005. Foi utilizado um computador Intel Core 2 Duo com 1,66 GHz e 2 GB de memria RAM e sistema operacional Windows Vista Home Premium de 32 bits. Para validar o algoritmo, foram utilizados trs conjuntos de problemas-teste apresentados na Seo 1, a saber, os de Salhi e Nagy (1999), Dethloff (2001) e Montan e Galvo (2006). No conjunto de Salhi e Nagy (1999), no foram tratados os problemas que possuem restries de limite de tempo. O nmero mximo de iteraes do GENILS utilizado foi 10.000.

As Tabelas 1, 2 e 3 comparam o desempenho do GENILS com diferentes algoritmos da literatura. Nessas tabelas, a coluna Problema indica o problema-teste considerado, Melhor o melhor valor encontrado pelo algoritmo do respectivo autor e Tempo o tempo, em segundos, de processamento do algoritmo. Na coluna Gap, mostra-se o desvio percentual das solues mdias do GENILS em relao aos melhores resultados existentes. O Gap calculado pela expresso Gap = 100 (Mdia MelhorValor) / MelhorValor (coluna Gap). Tabela 1: Resultados obtidos pelo GENILS nos problemas-teste de Dethloff (2001)
Problema Rpke e Pisinger Tempo(1) Melhor (s) Zachariadis et al. Subramanian et al. GENILS Tempo(2) Tempo(3) Tempo(4) Melhor Melhor Melhor (s) (s) (s) Gap (%)

SCA3-0 SCA3-1 SCA3-2 SCA3-3 SCA3-4 SCA3-5 SCA3-6 SCA3-7 SCA3-8 SCA3-9 SCA8-0 SCA8-1 SCA8-2 SCA8-3 SCA8-4

636,10 697,80 659,30 680,60 690,50 659,90 651,10 666,10 719,50 681,00 975,10 1052,40 1039,60 991,10 1065,50

232,00 170,00 160,00 182,00 160,00 178,00 171,00 162,00 157,00 167,00 98,00 95,00 83,00 94,00 84,00

636,06 697,84 659,34 680,04 690,50 659,90 651,09 659,17 719,47 681,00 961,50 1050,20 1039,64 983,34 1065,49

2,83 2,12 2,58 3,13 2,68 2,56 4,40 2,98 3,98 3,86 3,21 3,55 4,67 3,29 2,68

635,62 697,84 659,34 680,04 690,50 659,90 651,09 659,17 719,47 681,00 961,50 1049,65 1039,64 983,34 1065,49

0,90 1,12 1,19 1,13 1,32 1,17 1,23 1,69 1,08 1,03 2,52 2,98 3,42 3,44 2,74

635,62 697,84 659,34 680,04 690,50 659,90 651,09 659,17 719,48 681,00 961,50 1049,65 1039,64 983,34 1065,49

6,77 8,49 8,13 8,45 8,09 8,19 8,21 6,76 8,85 8,63 5,65 5,67 5,92 4,58 5,98

0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

SCA8-5 SCA8-6 SCA8-7 SCA8-8 SCA8-9 CON3-0 CON3-1 CON3-2 CON3-3 CON3-4 CON3-5 CON3-6 CON3-7 CON3-8 CON3-9 CON8-0 CON8-1 CON8-2 CON8-3 CON8-4 CON8-5 CON8-6 CON8-7 CON8-8 CON8-9
(1) (2) (3)

1027,10 972,50 1061,00 1071,20 1060,50 616,50 554,50 521,40 591,20 588,80 563,70 499,10 576,50 523,10 578,20 857,20 740,90 716,00 811,10 772,30 755,70 693,10 814,80 774,00 809,30

96,00 93,00 92,00 85,00 86,00 171,00 190,00 176,00 177,00 173,00 179,00 195,00 226,00 174,00 163,00 86,00 81,00 84,00 91,00 87,00 94,00 96,00 94,00 94,00 92,00

1027,08 971,82 1052,17 1071,18 1060,50 616,52 554,47 519,26 591,19 589,32 563,70 500,80 576,48 523,05 580,05 857,17 740,85 713,14 811,07 772,25 756,91 678,92 811,96 767,53 809,00

4,50 2,67 4,32 3,43 4,12 3,89 2,97 3,32 2,78 3,12 3,45 2,98 2,40 5,02 3,14 3,40 3,73 2,87 3,82 2,98 5,76 4,00 2,46 4,21 3,87

1027,08 971,82 1051,28 1071,18 1060,50 616,52 554,47 518,00 591,19 588,79 563,70 499,05 576,48 523,05 578,24 857,17 740,85 712,89 811,07 772,25 754,88 678,92 811,96 767,53 809,00

3,44 2,48 5,39 2,05 3,10 2,02 1,83 2,10 1,34 1,79 1,71 1,93 1,52 1,51 1,58 3,74 2,82 2,46 2,82 3,37 3,30 3,04 2,73 3,42 3,60

1027,08 971,82 1051,28 1071,18 1060,50 616,52 554,47 518,01 591,19 588,79 563,70 499,05 576,48 523,05 578,25 857,17 740,85 712,89 811,07 772,25 754,88 678,92 811,96 767,53 809,00

6,62 6,57 5,56 5,57 5,62 6,77 7,76 9,28 9,18 6,29 9,16 7,33 6,96 8,75 6,87 6,36 4,88 6,95 5,87 5,01 5,82 5,67 4,71 5,23 5,86

0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

Tempo de CPU em um computador Pentium IV 1.5 GHz. Tempo de CPU em um computador Pentium IV 2.4 GHz. Tempo de CPU em um computador Intel Core 2 Quad 2.5 GHz. (4) Tempo de CPU em um computador Intel Core 2 Duo 1,6 GHz.

Tabela 2: Resultados obtidos pelo GENILS nos problemas-teste de Salhi e Nagy (1999)
Problema Wassan et al. Tempo(1) Melhor (s) Zachariadis et al. Subramanian et al. GENILS Tempo(3) Tempo(4) Gap Tempo(2) Melhor Melhor Melhor (s) (s) (s) (%)

CMT1X CMT1Y CMT2X CMT2Y CMX3X CMT3Y CMT12X CMT12Y CMT11X CMT11Y CMT4X CMT4Y CMT5X CMT5Y
(1) (2) (3)

468,30 458,96 668,77 663,25 729,63 745,46 644,70 659,52 861,97 830,39 876,50 870,44 1044,51 1054,46

48 69 94 102 294 285 242 254 504 325 558 405 483 533

469,80 469,80 684,21 684,21 721,27 721,27 662,22 662,22 838,66 837,08 852,46 852,46a 1030,55 1030,55

2,89 3,85 7,42 8,02 11,62 13,53 11,80 7,59 17,78 14,26 27,75 31,20 51,67 58,81

466,77 466,77 684,21 684,21 721,40 721,40 662,22 662,22 839,39 841,88 852,46 852,46 1030,55 1031,17

1,10 1,08 6,99 5,84 6,80 7,37 8,02 7,32 12,58 14,80 50,72 46,06 53,51 58,74

466,77 466,77 684,21 684,21 721,40 721,27 662,22 663,50 846,23 836,04 852,46 862,28 1033,51 1036,14

7,82 0,00 7,61 1,68 17,62 2,31 20,10 3,16 59,61 0,02 58,72 0,00 22,89 2,72 22,33 0,60 48,85 0,90 287,30 0,68 134,26 0,00 266,76 1,17b 768,94 0,29 398,75 0,54

Tempo de CPU em um computador Sun-Fire-V440 com um processador UltraSPARC-IIIi 1062 MHz.; Tempo de CPU em um computador Pentium IV 2,4 GHz. Tempo de CPU em um computador Intel Core 2 Quad 2,5 GHz.; (4) Tempo de CPU em um computador Intel Core 2 Duo 1,6 GHz. a Um resultado melhor de valor 852,35 foi obtido por Chen e Wu (2006). b Gap em relao ao valor encontrado por Chen e Wu (2006).

Tabela 3: Resultados obtidos pelo GENILS nos problemas-teste de Montan e Galvo (2006)
Problema Montan e Galvo Zachariadis et al. Subramanian et al. Tempo(2) Tempo(3) Tempo(1) Melhor Melhor Melhor (s) (s) (s) GENILS Tempo(4) Gap Melhor (s) (%)

r101 1042,62 12,20 1019,48 10,50 r201 671,03 12,02 666,20 8,70 c101 1259,79 12,07 1220,99 10,20 c201 666,01 12,40 662,07 5,70 rc101 1094,15 12,30 1059,32 12,90 rc201 674,46 12,07 672,92 10,50 r1_2_1 3447,20 55,56 3393,31 61,80 r2_2_1 1690,67 50,95 1673,65 47,40 c1_2_1 3792,62 52,21 3652,76 66,30 c2_2_1 1767,58 65,79 1753,68 60,90 rc1_2_1 3427,19 58,39 3341,25 45,30 rc2_2_1 1645,94 52,93 1562,34 62,40 r1_4_1 10027,81 330,42 9758,77 315,30 r2_4_1 3685,26 324,44 3606,72 273,60 c1_4_1 11676,27 287,12 11207,37 283,50 c2_4_1 3732,00 330,20 3630,72 336,00 rc1_4_1 9883,31 286,66 9697,65 145,80
rc2_4_1
(1)

1010,90 666,20 1220,26 662,07 1059,32 672,92 3371,29 1665,58 3640,20 1728,14 3327,98 1560,00 9695,77 3574,86 11124,30 3575,63 9602,53
3416,61

10,51 6,24 12,73 4,18 9,48 4,21 95,79 24,13 95,17 41,94 76,30 34,28 546,39 231,73 524,35 293,18 550,90
291,15

1009,95 666,20 1220,18 662,07 1059,32 672,92 3357,64 1665,58 3636,74 1726,59 3312,92 1560,00 9627,43 3582,08 11098,21 3596,37 9535,46
3422,11

35,65 39,62 18,34 16,62 12,79 24,03 175,81 103,44 117,62 127,81 299,30 77,48 2928,31 768,60 1510,44 569,01 2244,18
3306,84

-0,09 0,00 -0,01 0,00 0,00 0,00 -0,40 0,00 -0,10 -0,09 -0,45 0,00 -0,71 0,20 -0,23 0,58 -0,70
0,16

3603,53

328,16

3498,30

345,00

Tempo de CPU em um computador Athlon XP 2.0 GHz. (2) Tempo de CPU em um computador Pentium IV 2.4 GHz. (3) Tempo de CPU em um computador Intel Core 2 Quad 2.5 GHz. (4) Tempo de CPU em um computador Intel Core 2 Duo 1,6 GHz.

Em relao aos problemas-teste propostos por Dethloff (2001), o GENILS foi capaz de alcanar todas as melhores solues da literatura. Dos 14 problemas-teste de Salhi e Nagy (1999), o algoritmo proposto encontrou quatro melhores solues da literatura, enquanto que nos demais problemas, o gap mximo foi de 3,16%. importante ressaltar que neste conjunto nenhum algoritmo vence na maioria das instncias, ou seja, no existe uma dominncia clara de nenhum mtodo. O melhor desempenho do GENILS se deu nos problemas-teste de Montan e Galvo (2006), em que, dos 18 problemas desse conjunto, em 9 foram geradas novas melhores solues, em 6 foram encontrados os melhores resultados da literatura e nos 3 restantes, o gap foi inferior a 0,58%. Comparando o GENILS com outros algoritmos, verifica-se que o mesmo tem desempenho bastante prximo ao de Subramanian et al. (2008). De fato, tanto nos problemas-teste de Dethloff (2001) quanto nos de Montan e Galvo (2006), so esses os nicos algoritmos que tm todos os melhores resultados da literatura. Nesse segundo conjunto de problemas-teste, o GENILS foi superior ao de Subramanian et al. (2008) em 9 problemas e inferior em 3. J no conjunto de problemas de Salhi e Nagy (1999), o GENILS superou o algoritmo de Subramanian et al. (2008) em 2 casos e teve desempenho pior em 5. Uma comparao em termos de tempos computacionais no foi feita porque os resultados dos outros algoritmos da literatura foram obtidos em mquinas distintas. 5. CONCLUSES E TRABALHOS FUTUROS Este trabalho abordou o Problema de Roteamento de Veculos com Coleta e Entrega Simultnea (PRVCES). Para resolv-lo, foi proposto um algoritmo heurstico hbrido, denominado GENILS. Para gerar uma soluo inicial foram utilizadas adaptaes do mtodo da Insero Mais Barata e da heurstica GENIUS. Para refinar essa soluo, foi utilizada a metaheurstica Iterated Local Search (ILS), tendo o Variable Neighborhood Descent (VND) como mtodo de busca local. O VND explora a vizinhana de uma soluo utilizando os movimentos Shift, Shift(2,0), Swap, Swap(2,1), Swap(2,2), M2-Opt e kOr-Opt, apresentados

na Subseo 3.2. Alm disso, ele realiza uma intensificao da busca sempre que ocorre uma melhora na soluo corrente. Essa intensificao feita somente nas rotas modificadas e realizada pelas buscas locais apresentadas na Seo 3.2, pelos procedimentos G3-opt e G4-opt (os quais so baseados na heurstica GENIUS) e pelo movimento Reverse. De acordo com os resultados obtidos, verifica-se que o algoritmo proposto competitivo com as melhores abordagens da literatura, sendo capaz de produzir solues de qualidade. De fato, em um conjunto consagrado de problemas-teste, foram alcanados todos os melhores resultados da literatura; em outro, foram gerados nove melhores resultados e seis resultados iguais aos melhores da literatura; e no terceiro, foram igualados trs resultados da literatura, tendo-se um gap mximo igual a 3,16% para os demais problemas desse conjunto. Alm disso, o GENILS obteve solues com variabilidade inferior a 1% em 67 dos 72 problemasteste, o que corresponde a 93% dos casos. Um comportamento interessante do algoritmo GENILS o fato deste obter o melhor desempenho nos problemas de maior porte, os de Montan e Galvo (2006), o que mostra o seu potencial em resolver aplicaes reais, onde geralmente defrontamos com problemas de elevadas dimenses. Como trabalho futuro, pretende-se aprimorar os procedimentos G3-opt e G4-opt, baseados na heurstica GENIUS, de forma a considerar a recombinao de mltiplas rotas. Alm disso, estratgico combinar o algoritmo GENILS com a metaheurstica Busca Tabu, sendo esta acionada em substituio ao VND, por exemplo, aps certo nmero de iteraes do ILS. Isso se deve ao fato de que a Busca Tabu o algoritmo base de Wassan et al. (2007) e Zachariadis et al. (2009), os quais tm a maioria dos melhores resultados dos problemas-teste de Salhi e Nagy (1999), conjunto em que o GENILS teve o pior desempenho.
Agradecimentos Os autores agradecem a CAPES, CNPq e FAPERJ pelo apoio parcial ao desenvolvimento deste trabalho. REFERNCIAS BIBLIOGRFICAS Anderberg, M. R. (2007) Cluster analysis for applications. Monographs and Textbooks on Probability and Mathematical Statistics. Academic Press, Inc., New York. Bean, J. C. (1994) Genetic algorithms and random keys for sequencing and optimization. ORSA Journal on Computing, 6(2):154-160. Bianchessi, N.; Righini, G. (2007) Heuristic algorithms for the vehicle routing problem with simultaneous pickup and delivery. Computers & Operations Research, 34(2):578-594. Chen, J. F. (2006) Approaches for the vehicle routing problem with simultaneous deliveries and pickups. Journal of the Chinese Institute of Industrial Engineers, 23(2):141-150. Chen, J. F.; Wu, T. H. (2006) Vehicle routing problem with simultaneous deliveries and pickups. Journal of the Operational Research Society, 57(5):579-587. Crispim, J.; Brando, J. (2005) Metaheuristics applied to mixed and simultaneous extensions of vehicle routing problems with backhauls. Journal of the Operational Research Society, 56(7):1296-1302. Dantzig, G. B.; Ramser, J. H. (1959) The truck dispatching problem. Management Science, 6:80-91. Dell'Amico, M.; Righini, G.; Salanim, M. (2006) A branch-and-price approach to the vehicle routing problem with simultaneous distribution and collection. Transportation Science, 40(2):235-247. Dethloff, J. (2001) Vehicle routing and reverse logistics: the vehicle routing problem with simultaneous delivery and pick-up. OR Spektrum, 23:79-96. Dorigo, M.; Maniezzo, V.; Colorni, A. (1996) The Ant System: Optimization by a colony of cooperating agents. IEEE Transactions on Systems, Man, and Cybernetics-Part B, v 26, p 29-41. Dueck, G. (1993) New optimization heuristics: the great deluge algorithm and the record-to-record travel. Journal of Computational Physics, 104:86-92. Gehring, H; Homberger, J. (1999) A parallel hybrid evolutionary metaheristic for the vehicle routing problem with time windows. In: Miettinen K, Mkel M, Toivanen J, editors. Proceedings of EUROGEN99, v A2(S), Springer, Berlin, p 57-64. Gendreau, M.; Hertz, A.; Laporte, G. (1992) New insertion and post optimization procedures or the traveling

salesman problem. Operations Research, 40:1086-1094. Glover, F.; Laguna, M. (1992) Tabu Search, Kluwer Academic Publishers, Boston. Gke, E. I. (2004) A revised ant colony system approach to vehicle routing problems. Master's thesis, Graduate School of Engineering and Natural Sciences, Sabanci University. Goldberg, D. E. (1989) Genetic Algorithms in Search. Optimization and Machine Learning. Addison-Wesley, Berkeley. Halse, K. (1992) Modeling and solving complex vehicle routing problems. PhD thesis, Institute of Mathematical Statistics and Operations Research, Technical University of Denmark, Denmark. Hansen, P.; Mladenovi, N. (2003) Variable neighborhood search: Principles and applications, European Journal of Operations Research, 130:449-467. Kirkpatrick, S; Gellat, D.C.; Vecchi, M. P. (1983) Optimization by Simulated Annealing, Science, 220:671680. Min, H. (1989) The multiple vehicle routing problems with simultaneous delivery and pick-up points. Transportation Research A, 23(5):377-386. Mladenovi, N.; Hansen, P. (1997) Variable neighborhood search. Computers and Operations Research, 24:1097-1100. Montan, F. A. T.; Galvo, R. D. (2006) A tabu search algorithm for the vehicle routing problem with simultaneous pick-up and delivery service. Computers and Operations Research, 33(3):595-619. Nagy, G.; Salhi, S. (2005) Heuristic algorithms for single and multiple depot vehicle routing problems with pickups and deliveries. European Journal of Operational Research, 162:126-141. Or, I. (1976) Traveling salesman-type combinational problems and their relation to the logistics of blood banking. PhD thesis, Northwestern University, USA. Parragh, S.; Doerner, K.; Hartl, R. (2008a) A survey on pickup and delivery problems. Journal fr Betriebswirtschaft, 58(1):21-51. Parragh, S.; Doerner, K.; Hartl, R. (2008b) A survey on pickup and delivery problems. Journal fr Betriebswirtschaft, 58(2):81-117. Rego, C.; Roucairol, C. (1996) Meta-Heuristics Theory and Applications, chapter A Parallel Tabu Search Algorithm Using Ejection Chains for the Vehicle Routing Problem, p 661-675. Kluwer Academic Publishers, Boston. Rpke, S.; Pisinger, D. (2006) A unified heuristic for a large class of vehicle routing problems with backhauls. Technical Report 2004/14, University of Copenhagen. Salhi, S.; Nagy, G. (1999) A cluster insertion heuristic for single and multiple depot vehicle routing problems with backhauling. Journal of the Operational Research Society, 50:1034-1042. Shaw, P. (1998) Using constraint programming and local search methods to solve vehicle routing problems. In: CP-98 Proceedings of the Fourth International Conference on Principles and Practice of Constraint Programming, p 417-431, London. Solomon, M. M.; Joachim, I.; Desrosiers, J.; Dumas, Y.; Villeneuve, D. (1995) A request clustering algorithm for door-to-door handicapped transportation, Transportation Science, 29:63-78. Sttzle, T.; Hoos, H. H. (1999) Analyzing the run-time behaviour of iterated local search for the tsp. In Proceedings of the Third Metaheuristics International Conference, p 449-453, Angra dos Reis, Rio de Janeiro. Subramanian, A. (2008) Metaheurstica Iterated Local Search aplicada ao problema de roteamento de veculos com coleta e entrega simultnea. Dissertao de mestrado, Universidade Federal da Paraba, Joo Pessoa. Subramanian, A.; Cabral, L. A. F.; Ochi, L. S. (2008) An efficient ILS heuristic for the vehicle routing problem with simultaneous pickup and delivery. Relatrio Tcnico, Universidade Federal Fluminense, disponvel em http://www.ic.uff.br/~satoru/ index.php?id=2. Topcuoglu, H. and Sevilmis, C. (2002) Task scheduling with conicting objectives. In Yakhno, T. M., editor, ADVIS, volume 2457 of Lecture Notes in Computer Science, p 346-355. Springer. Voudouris, C.; Tsang, E. (1996) Partial constraint satisfaction problems and guided local search. In In The Second Int. Conference on the Practical Application of Constraint Technology (PACT'96), p 337-356. Vural, A. V. A (2003) GA based meta-heuristic for capacited vehicle routing problem with simultaneous pick-up and deliveries. Master's thesis, Graduate School of Engineering and Natural Sciences, Sabanci University. Wassan, N. A.; Wassan, A. H.; Nagy, G. (2007) A reactive tabu search algorithm for the vehicle routing problem with simultaneous pickups and deliveries. Journal of Combinatorial Optimization, 15(4):368-386. Zachariadis, E. E.; Tarantilis, C. D.; Kiranoudis, C. T. (2009) A hybrid metaheuristic algorithm for the vehicle routing problem with simultaneous delivery and pick-up service. Expert Systems with Applications, 36(2):1070-1081.

Marcio Tadayuki Mine (mmine@ic.uff.br) Matheus de Souza Alves Silva (msalves@ic.uff.br) Luiz Satoru Ochi (satoru@ic.uff.br) Instituto de Computao, Universidade Federal Fluminense Rua Passo da Ptria, 156, Bloco E, 3 Andar, CEP 24210-240 Niteri, Rio de Janeiro, Brasil Marcone Jamilson Freitas Souza (marcone@iceb.ufop.br) Departamento de Computao, Instituto de Cincias Exatas e Biolgicas, Universidade Federal de Ouro Preto Campus Universitrio, Morro do Cruzeiro, CEP 35400-000 Ouro Preto, Minas Gerais, Brasil

Anda mungkin juga menyukai