Beruflich Dokumente
Kultur Dokumente
Mineral
PLANEJAMENTO OPERACIONAL DE LAVRA COM ALOCAO DINMICA DE CAMINHES: ABORDAGENS EXATA E HEURSTICA
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.
PLANEJAMENTO OPERACIONAL DE LAVRA COM ALOCAO DINMICA DE CAMINHES: ABORDAGENS EXATA E HEURSTICA
Esta dissertao foi apresentada em sesso pblica e aprovada em 27 de junho de 2008, pela Banca Examinadora composta pelos seguintes membros:
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
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
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.
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
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.
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.
Caminho 1
Mistura
Desejada
ca m in hoes
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.
Caminho 1
Mistura
Desejada
ca min hoes
15
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.
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.
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
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
(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.
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
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.
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.
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
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);
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
38
xi -
n cap
lV il
= 0 i F l V
usou l
1 nil tcil 60 iF
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.2
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.
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.
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
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
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
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):
48
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);
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
f l u ( s ) = | Txl TxMaxl |
l V
4.32
onde:
50
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.
f l ( s ) = Txl
lV
4.34
onde:
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
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.
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.
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
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.
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.
54
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.
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)
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.
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)
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.
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.
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)
58
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
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
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
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
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.
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.
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.
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.
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.
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:
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
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
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
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.
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
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
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
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 }
78
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
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
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
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
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
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
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.1
Tela de abertura
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
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.
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
frentes, bem como a tonelagem mxima a ser retirada de cada uma delas tanto para a soluo inicial e final da heurstica.
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
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.
91
4.4.5
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
carregadeiras.
92
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
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
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
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
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
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 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
NumMaxVezes
98
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
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 =
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
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
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
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 =
em que Mdia representa o valor mdio encontrado nas dez execues do mtodo e
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
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
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
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
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
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 =
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 =
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
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
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
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.
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
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
112
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.
Fr\Cam Frente1 Frente2 Frente3 Frente4 Frente5 Frente6 Frente7 Frente8 Frente9 Frente10 Frente11 Frente12 Frente13 Frente14 Frente15
115
1 2
50
50
50
50
50
...
50
50
50
50
50
80
80
80
80
80
...
80
80
Max Min
900 250
900 300
900 250
900 300
1000 350
1000 300
1100 400
1100 400
116
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
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
118
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
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