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 d