Sie sind auf Seite 1von 134

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

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 muito 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 + j dj + P + P 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 j d j = 0 j T

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
d+ j , d j 0 j T

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

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.

1) 2) 3) 4)

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

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 e qualidade, bem como reduzir o nmero de veculos necessrios operao.

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 junho 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 + j d j + P + P + Pe + Pe + l usou l 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 j d j = 0 j T

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+ j , d j 0 j T

P+ , P 0 Pe + , Pe 0

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

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 nil : conjunto de equipamentos de transporte; : 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 j P
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 j : Penalidade por no atendimento meta de qualidade do parmetro de controle 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

4 1 -1 5

1 0 -1 2

...

1 4 -1 0

2 0 -1 1

0 3 -1 0

4 1 -1 5

1 0 -1 2

...

1 4 -1 0

5
-1 2

4
-1 2

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 4 -1 0

2 0 -1 1

0 3 -1 0

1 5 -1 2

4 1 -1 5

1 4 -1 0

0
-1

1
-1

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 2
0,74

Cenrios 3
0,04

4
0,25

5
-0,24

6
0,64

7
0,02

8
1,32

GanhoMelhor
(%) Tempo de execuo (s)

0,03

62

161

67

216

143

171

121

177

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 2
-1,62

Cenrios 3
-1,37

4
-0,66

5
-1,42

6
-0,62

7
-0,37

8
-0,89

GanhoMdio
(%) Tempo de execuo (s)

-1,86

78,9

148,3

70,3

151,2

109,9

185,9

110,2

211,7

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 2
0,501

3
0,039

4
0,261

5
-0,236

6
0,132

7
0,021

8
0,201

Distancia (%)
0,0261

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. e 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. Uma abordagem Heurstica para o Planejamento de Lavra com Alocao Dinmica de Caminhes. Submetido para publicao na Revista Escola de Minas.

123

Das könnte Ihnen auch gefallen