Sunteți pe pagina 1din 134

Ministrio da Educao e do Desporto

Escola de Minas da Universidade Federal e Ouro Preto


Departamento de Engenharia de Minas
Programa de Ps-Graduao em Engenharia Mineral

PLANEJAMENTO OPERACIONAL DE LAVRA COM ALOCAO


DINMICA DE CAMINHES: ABORDAGENS EXATA E
HEURSTICA

Autor: Francisco Csar Rodrigues de Arajo

Orientador: Prof. Dr. Marcone Jamilson Freitas Souza

Dissertao apresentada ao Programa de


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

Ouro Preto, 27 de junho de 2008

PLANEJAMENTO OPERACIONAL DE LAVRA COM ALOCAO


DINMICA DE CAMINHES: ABORDAGENS EXATA E
HEURSTICA

Francisco Csar Rodrigues de Arajo

Esta dissertao foi apresentada em sesso pblica e aprovada em 27


de junho de 2008, pela Banca Examinadora composta pelos seguintes
membros:

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

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

_____________________________________________________
Prof. Dr. Luiz Satoru Ochi (UFF)

ii

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

iii

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

Palavras-Chave: Planejamento de lavra em minas a cu aberto, Alocao Dinmica de


Caminhes, Planejamento da produo, Iterated Local Search, Programao Linear por
Metas, Metaheursticas.

iv

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

Keywords: Operational Mining Planning in open pit mines, Equipment Dynamic


Allocation, Production planning, Iterated Local Search, Goal Programming,
Metaheuristics.

Sumrio
AGRADECIMENTOS ................................................................................................ III
RESUMO.......................................................................................................................IV
ABSTRACT.................................................................................................................... V
SUMRIO .....................................................................................................................VI
LISTA DE FIGURAS................................................................................................VIII
LISTA DE TABELAS ................................................................................................... X
LISTA DE SIGLAS E ABREVIATURAS..................................................................XI
1.

PRELIMINARES ................................................................................................... 1
1.1
1.2
1.3

INTRODUO ..................................................................................................... 1
JUSTIFICATIVA ................................................................................................... 2
ESTRUTURA DO TRABALHO ............................................................................... 3

2. PROBLEMA DE PLANEJAMENTO DE LAVRA COM ALOCAO


DINMICA DE CAMINHES .................................................................................... 4
2.1
PLANEJAMENTO DE LAVRA ................................................................................ 4
2.1.1
Introduo................................................................................................. 4
2.1.2
Descrio do Planejamento...................................................................... 5
2.2
ALOCAO DE CAMINHES .............................................................................. 12
2.2.1
Alocao Esttica de Caminhes ........................................................... 14
2.2.2
Alocao Dinmica de Caminhes......................................................... 15
2.3
CARACTERSTICAS DO PROBLEMA DE ALOCAO ABORDADO ........................ 16
3.

REVISO BIBLIOGRFICA ............................................................................ 18


3.1
INTRODUO ................................................................................................... 18
3.2
PROGRAMAO POR METAS ............................................................................ 22
3.3
O MODELO DE ALOCAO DINMICA DE COSTA ET AL. (2004) ....................... 25
3.4
HEURSTICAS ................................................................................................... 29
3.4.1
Introduo............................................................................................... 29
3.4.2
Metaheursticas....................................................................................... 31

4.

MODELAGEM DO PROBLEMA ABORDADO ............................................. 35


4.1
INTRODUO ................................................................................................... 35
4.2
MODELO DE PROGRAMAO MATEMTICA .................................................... 35
4.3
MODELO HEURSTICO ...................................................................................... 40
4.3.1
Dados de Entrada ................................................................................... 40
4.3.2
Representao de uma Soluo .............................................................. 40

vi

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

RESULTADOS COMPUTACIONAIS............................................................... 96
5.1
5.2
5.3

6.

INTRODUO ................................................................................................... 96
RESULTADOS OBTIDOS ..................................................................................... 99
DISCUSSO DOS RESULTADOS ........................................................................ 106

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

REFERNCIAS BIBLIOGRFICAS...................................................................... 112


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

vii

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

viii

Figura 4.28 Perturbao Realocar uma Viagem mantendo o caminho...................... 71


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

ix

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

Lista de Siglas e Abreviaturas


AG
ARENA
BT
CVRD
CSN
GRASP
ILS
LINGO
NP
OTISIMIN
PCV
PO
SA
VNS
VND

Algoritmo Gentico
Software de Simulao
Busca Tabu
Companhia Vale do Rio Doce
Companhia Siderrgica Nacional
Greedy Randomized Adaptive Search Procedures
Interated Local Search
Modelador e Otimizador de Programao Linear e Inteira
No Polinomial
Otimizador e Simulador para Minerao
Problema do Caixeiro Viajante
Pesquisa Operacional
Simulated Annealing
Variable Neighborhood Search
Variable Neighborhood Descent

xi

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

Nesta investigao trata-se o problema de planejamento operacional de lavra


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

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

expectativa que solues de melhor qualidade sejam produzidas a um custo de


desenvolvimento mais baixo.

1.3 Estrutura do Trabalho


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

2. Problema de Planejamento de Lavra com Alocao


Dinmica de Caminhes
2.1 Planejamento de Lavra
2.1.1

Introduo

Em praticamente todas as empresas de minerao, principalmente as de mdio e


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

2.1.2

Descrio do Planejamento

De posse dos dados relativos quantidade e qualidade do minrio disponvel na


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

Os equipamentos de carga e descarga trabalham sob orientao da equipe


responsvel pelo sistema de despacho.
A Figura 2.1 mostra um tipo de equipamento utilizado para o carregamento de
minrio e estril da mina.

Figura 2.1 Modelo de Carregadeira (L1850)


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

Figura 2.2 Modelo de Caminho


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

Figura 2.3 Pilha de Estoque


A Figura 2.4 mostra o minrio sendo depositado diretamente no britador.

Figura 2.4 Britador


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

Figura 2.5 Correia transportadora


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

10

Figura 2.6 Modelo de Caminho Pipa

Figura 2.7 Modelo de Motoniveladora

11

Todo esse processo produtivo supervisionado pela equipe de operao,


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

Figura 2.8 Processo Produtivo de uma mineradora do Quadriltero Ferrfero

2.2 Alocao de caminhes


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

12

Figura 2.9 Equipamentos de Transporte e de Carga


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

13

2.2.1

Alocao Esttica de Caminhes


O problema da mistura de minrio com alocao esttica de caminhes

geralmente adotado devido simplificao das operaes e ao custo relativo


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

Alocao Esttica de Caminhes


DESCRIO
carregadeiras

Caminho 1

Frente 1
Carregadeira 1

Caminho 2

Mistura

Frente 2

Desejada
Carregadeira 2

Caminho 3

Frente 3

frentes = m in erio esteril

Caminho 4

ca m in hoes

Figura 2.10 Alocao Esttica de Caminhes

14

2.2.2

Alocao Dinmica de Caminhes


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

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

Alocao Dinmica de Caminhes


DESCRIO
carregadeiras

Caminho 1

Frente 1
Carregadeira 1

Caminho 2

Mistura

Frente 2

Desejada
Carregadeira 2

Caminho 3

Frente 3

frentes = min erio esteril

Caminho 4

ca min hoes

Figura 2.11 Alocao Dinmica de Caminhes

15

2.3 Caractersticas do Problema de Alocao Abordado


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

16

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

17

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

18

Segundo Munirathinam e Yingling (1994), vrios modelos propostos na


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

19

Moraes (2005) tratou o problema de blendagem de produtos de minrio de ferro,


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

20

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

21

movimentos: a) realocar equipamentos de carga; b) retomar ou parar a operao em uma


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

de algoritmos utilizados em sistemas de despacho

comercializados no Brasil. As solues finais geradas por essas metodologias foram


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

3.2 Programao por Metas


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

22

Considere o seguinte problema de otimizao linear multiobjetivo (por


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

23

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

24

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

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


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

M : Conjunto de frentes de minrio;


E : Conjunto de frentes de estril;

25

F : Conjunto de frentes formado por M E;


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

:Penalidade por desvio negativo para o parmetro de qualidade j na mistura;


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

26

e as seguintes variveis de deciso:


xi

: Ritmo de lavra da frente i (t/h);

1 se o equipamento de carga k opera na frente i;


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

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

j T

3.1

s.a:

(t

tu j ) xi 0 j T

3.2

tl j ) xi 0 j T

3.3

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

3.4

iM

ij

(t

iM

(t

iM

ij

ij

Pu

3.5

Pl

3.6

+ P P + = Pr

3.7

iM

iM

iM

xi Qu i i F

3.8

xi Ql i i F

3.9

27

x
iE

xi 0 i F

3.10

d +j , d j 0 j T

3.11

P+ , P 0

3.12

rem xi 0

3.13

ik

1 i F

3.14

ik

1 k C

3.15

yik {0,1} i F , k C

3.16

iM

kC

iF

xi -

Cu

yik 0 i F

3.17

Cl

y ik 0 i F

3.18

kC

xi -

kC

niltcil-60

ik
kC , g lk 0

n tc
iF

xi -

il

il

n cap
lV

il

0 i F , l V

3.19

60 l V

3.20

= 0 i F

3.21

nil + i F , l V

3.22

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.

primeiro diz respeito alocao de equipamentos de carga e a faixa de produtividade


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

28

O segundo grupo de restries est relacionado ao transporte de material na


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

3.4 Heursticas
3.4.1

Introduo
Muitos problemas prticos so classificados na literatura como NP-completos ou

NP-difceis, isto , so problemas para os quais ainda no existem algoritmos que os


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

29

complexidade. Dentre esses procedimentos, destacam-se as heursticas. Uma heurstica


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

3.4.1.1 Mtodo da Descida/Subida (Descent/Uphill Method)


A idia desta tcnica partir de uma soluo inicial qualquer e a cada passo
analisar todos os seus possveis vizinhos, movendo somente para aquele que representar
uma melhora no valor atual da funo de avaliao. Dessa forma, o mtodo pra quando
um timo local encontrado. A Figura 3.1 mostra o pseudocdigo do Mtodo de
Descida aplicado minimizao de uma funo de avaliao f a partir de uma conhecida
soluo inicial s e considerando a busca em uma dada vizinhana N(.).

procedimento Descida(f(.),N(.), s);


1.
V = {s N(s) | f(s) < f(s)};
2.
enquanto (|V | > 0) faa
3.
Selecione s V , onde s = arg min{f(s) | s V };
4.
s s ;
5.
V = { s N(s) | f(s) < f(s)};
6.
fim-enquanto;
7.
Retorne s;
fim Descida;
Figura 3.1 Mtodo da Descida

30

3.4.1.2 Mtodo Randmico de Descida


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

procedimento RandomicoDescida(f(.),N(.), IterMax, s);


1.
Iter = 0; {Contador de iteraes sem melhora }
2.
enquanto (Iter < IterMax) faa
3.
Iter Iter + 1;
4.
Selecione aleatoriamente s N(s);
5.
se (f(s) < f(s)) ento
6.
Iter = 0;
7.
s s;
8.
fim-se;
9.
fim-enquanto;
10.
Retorne s;
fim RandomicoDescida;
Figura 3.2 Mtodo Randmico de Descida

3.4.2

Metaheursticas
A maioria das heursticas desenvolvidas muito especfica para um problema

particular, no sendo eficientes (ou mesmo aplicveis) na resoluo de uma classe mais
ampla de problemas.

31

Somente a partir da dcada de 1980 intensificaram-se os estudos no sentido de se


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

Simulated Annealing (SA), Busca Tabu (BT), GRASP, VND, VNS, ILS, Colnia de
Formigas etc.

3.4.2.1 Iterated Local Search


O mtodo Iterated Local Search (ILS) baseado na idia de que um
procedimento de busca local pode ser melhorado gerando-se novas solues de partida,
as quais so obtidas por meio de perturbaes na soluo tima local. A perturbao
precisa ser suficientemente forte para permitir que a busca local explore diferentes
solues, mas tambm fraca o suficiente para evitar um reincio aleatrio (LOURENO

et al., 2003).
O mtodo ILS , portanto, um mtodo de busca local que procura focar a busca
no no espao completo de solues, mas em um pequeno subespao definido por
solues que so timas locais de determinado procedimento de otimizao
(LOURENO et al., 2003).

32

Para aplicar um algoritmo ILS, quatro componentes tm que ser especificadas:


(a) Procedimento GeraSolucaoInicial(), que gera uma soluo inicial s para o
problema; (b) Procedimento BuscaLocal, que retorna a melhor soluo s de uma dada
vizinhana; (c) Procedimento Perturbao, que modifica a soluo corrente s guiando a
uma soluo intermediria s e (d) Procedimento CritrioAceitao, que decide de qual
soluo a prxima perturbao ser aplicada.
A Figura 3.3 ilustra o pseudocdigo do algoritmo ILS bsico.

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

33

critrio de aceitao e da perturbao que eles induzem aos procedimentos de


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

3.4.2.2 Mtodo de Descida em Vizinhana Varivel


O Mtodo de Descida em Vizinhana Varivel (Variable Neighborhood

Descent, VND), de acordo com Mladenovic e Hansen (1997), um mtodo de busca


local que consiste em explorar o espao de solues atravs de trocas sistemticas de
estruturas de vizinhana, aceitando somente solues de melhora da soluo corrente e
retornando primeira estrutura quando uma soluo melhor encontrada. Apresenta-se,
a seguir, o pseudocdigo desse algoritmo para um problema de minimizao.

1)
2)
3)
4)

Seja r o nmero de estruturas de vizinhana distintas


s s 0 , onde s0 a soluo inicial e s a soluo corrente
k 1 , onde k a estrutura de vizinhana corrente
enquanto (k r ) faa

a) encontre o melhor vizinho s ' N k ( s ) , onde k a ksima estrutura de vizinhana


b) se f ( s ' ) < f ( s ) , ento s s ' e k 1
c) caso contrrio, k k + 1
5) retorne a soluo s
Figura 3.4 Pseudocdigo do algoritmo VND

34

4. Modelagem do Problema Abordado


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

4.2 Modelo de Programao Matemtica


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

35

Para a apresentao do modelo, sejam os seguintes parmetros de entrada:


M : Conjunto de frentes de minrio;
E : Conjunto de frentes de estril;
F : Conjunto de frentes formado por M E;
T : Conjunto de parmetros de controle1 analisados no minrio;
C : Conjunto de equipamentos de carga;
V : Conjunto de equipamentos de transporte;
Pr: Ritmo de lavra recomendado relativo a minrio (t/h);
Pl: Ritmo de lavra mnimo relativo a minrio (t/h);
Pu: Ritmo de lavra mximo relativo a minrio (t/h);
Er: Ritmo de lavra recomendado relativo a estril (t/h);

- : Penalidade por desvio negativo da produo de minrio;


+ : Penalidade por desvio positivo da produo de minrio;

- : Penalidade por desvio negativo da produo de estril;


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

:Penalidade por desvio negativo para o parmetro de controle j na mistura;


+ :Penalidade por desvio positivo para o parmetro de controle j na mistura;
Qui :Ritmo de lavra mximo para a frente i (t/h);
1

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)

36

Clk :Produo mnima do equipamento de carga k (t/h);


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

l : Peso associado importncia da utilizao do caminho l;


TxMaxl : Taxa mxima de utilizao admitida para o caminho l;

1 se o caminho l compatvel com o equipamento de carga k ,


g lk =
0 caso contrrio
e as seguintes variveis de deciso:
xi

: Ritmo de lavra da frente i (t/h);

1 se o equipamento de carga k opera na frente i;


yik =
0 caso contrrio
nil : Nmero de viagens que um caminho l realiza na frente i em uma hora;

d j : Desvio negativo do parmetro de controle j na mistura (t/h);


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

4.1

(t

tu j ) xi 0 j T

4.2

tl j ) xi 0 j T

4.3

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

4.4

j T

j T

l V

s.a:
iM

ij

(t

iM

(t

iM

ij

ij

Pu

4.5

Pl

4.6

+ P P + = Pr

4.7

+ Pe Pe + =Er

4.8

iM

iM

iM

x
iE

xi Qu i i F

4.9

xi 0 i F

4.10

d +j , d j 0 j T

4.11

P+ , P 0

4.12

Pe + , Pe 0

4.13

ik

1 i F

4.14

ik

1 k C

4.15

yik {0,1} i F , k C

4.16

kC

iF

xi -

Cu

yik 0 i F

4.17

Cl

y ik 0 i F

4.18

kC

xi -

kC

niltcil-60

ik
kC , g lk 0

0 i F , l V

1
nil tcil TxMaxl l V
60 iF

4.19
4.20

38

xi -

n cap
lV

usou l

il

= 0 i F

1
nil tcil
60 iF

l V

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

4.21
4.22
4.23
4.24

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

39

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

4.3 Modelo Heurstico


4.3.1

Dados de Entrada
Sejam: F o conjunto de frentes, V o conjunto de veculos, C o conjunto de

equipamentos de carga, T o conjunto dos parmetros de controle (teores de Fe, Al2O3 e


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

4.3.2

Representao de uma Soluo


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

Y|F|1 e N|F||V| , em que:


yik : representa a alocao do equipamento de carga k frente i, observando-se o estado
ativo ou inativo de cada equipamento;
nil : representa o nmero de viagens do caminho l frente i.

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

4.25

40

A partir de Y, N e os tempos de ciclo da matriz Tc|F||V| so determinados S|F|1 e


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

Carreg

Cam1

Cam2

...

Cam|V|

F1

(5 , 1 )

...

F2

(3 , 0)

-1

-1

...

F3

(-1 , 0)

...

-1

F4

(6 , 1)

-1

...

F|F|

(2 , 1)

...

Figura 4.1 Representao de uma Soluo

Cada clula da matriz Y|F|1 composta de duas informaes: a primeira diz


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

41

caminho. O valor 1 informa a incompatibilidade entre o caminho e a carregadeira


alocados quela frente.
Exemplificando, a linha 1 diz respeito frente F1 onde est alocada a
carregadeira de nmero 5 que se encontra ativa (5 , 1). J na frente F2, a carregadeira 3
est alocada, mas no se encontra em operao no momento (3 , 0). Entretanto, na frente
F3 no existe carregadeira alocada no momento (-1 , 0). Em relao matriz N|F||V|, que
se refere ao nmero de viagens de um caminho l a uma determinada frente i, a linha 4
mostra que o caminho Cam1 realizar 7 viagens frente F4, o caminho Cam2
incompatvel com a carregadeira de nmero 6 alocada frente e o caminho Cam|V| no
far nenhuma viagem esta frente.

4.3.3

Gerao de uma Soluo Inicial


Para se gerar a soluo inicial necessrio se construir as matrizes Y|F|1, N|F||V|,

S|F|1e Tcv1|V|.
A Figura 4.2 mostra o pseudocdigo da gerao da matriz Y (alocao das
carregadeiras). Inicialmente, atribui-se o valor 1 para todas as carregadeiras, ou seja,
considera-se que no existe carregadeira alocada a nenhuma frente. Atribui-se, tambm,
o valor 0 (zero) para o status de cada carregadeira informando a inatividade de cada
uma delas em cada frente. Em seguida, as carregadeiras so alocadas aleatoriamente a
cada uma das frentes disponveis. Para estas carregadeiras, atribui-se o status ativo (1),
inicialmente.

42

Procedimento Gera_Carreg( Y );
Variveis i,k:inteiro;
Incio
MaxFrno mximo de frentes;
Ncarreg no total de carregadeiras;
Para i1 at maxFr
y[i].n_carr-1; {nmero da carregadeira}
y[i].n_ativo0; {status da carregadeira}
Fim para
Para k1 at Ncarreg
Repita
ialeatrio(maxFr);
se y[i].n_carr = -1{no existe carregadeira alocada}
y[i].n_carrk;
y[i].n_ativo1;
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
MaxFrno mximo de frentes;
Ncam no total de caminhes;
Para i1 at MaxFr
Para l1 at Ncam
nv_maxint(60/Tc[i,l]);
nvaleatrio(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
MaxFrno mximo de frentes;
Ncam no total de caminhes;
Para i1 at MaxFr
Para l1 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
MaxFrno mximo de frentes;
Ncam no total de caminhes;
Para l1 at Ncam
Para i1 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
MaxFrno mximo de frentes;
Ncam no total de caminhes;
Para l1 at Ncam
enquanto Tcv[l]>60
ialeatrio(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
MaxFrno mximo de frentes;
Ncam no total de caminhes;
Para i1 at MaxFr
Enquanto (s[i]>qu[i]) ou (s[i]>cu[Y[i].N_carr])
laleatrio(Ncam);
Se n[i,l] > 0
n[i,l]n[i,l]-1;
tcv[l]  tcv[l] - tc[i,l]);
s[i]s[i] cap[l];
se minrio
t  t - cap[l]
seno est  est - cap[l];
Fim enquanto
Fim para
Fim{ Refina_S }
Figura 4.7 Reparador de Inviabilidade de Massa Lavrvel

O pseudocdigo mostrado na Figura 4.7 mostra que, para cada frente,


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

47

4.3.4

Avaliao de uma Soluo


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

qualidade. Considerando que o modelo heurstico pode gerar inviabilidades, alm da


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

f
jT

q
j

(s ) + f l ( s ) +

f
lV

u
l

( s) +

kC

c
k

(s)

4.26

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

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


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

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


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

As duas ltimas parcelas da funo de avaliao so usadas apenas para guiar a


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

Produo de Minrio e Estril


A Produo de minrio e estril avaliada pela equao 4.27.

48

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

4.27

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

: Penalidade por no atendimento meta de minrio;


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

P=

n cap

iM lV

il

4.28

onde:
M : conjunto de frentes de minrio;
V

: conjunto de equipamentos de transporte;

nil

: nmero de viagens de um caminho l frente i;

capl : capacidade do caminho l (t);


Para o clculo de Pe, substitui-se o conjunto das frentes de minrio M pelo
conjunto E das frentes de estril e aplica-se a frmula 4.28.

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

49

j T

| tr j tm j |

f jq ( s ) = qj P

4.29

100

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

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


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

tmj=

t x
x

iM

iM

ij

j T

4.30

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

xi =

n cap
lV

il

4.31

Taxa de utilizao dos caminhes


A utilizao dos caminhes avaliada pela equao 4.32.

f l u ( s ) = | Txl TxMaxl |

l V

4.32

onde:

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


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

50

l V

Txl = nil tcil

4.33

iF

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

Nmero de caminhes utilizados


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

4.34.

f l ( s ) = Txl

4.34

lV

onde:

: Penalidade pela utilizao de caminhes;

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




Avaliao da produtividade das carregadeiras


A produtividade das carregadeiras avaliada pela equao 4.35.

(Cu k prod k ) se Cl k prod k Cu k


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

k C

4.35

onde:

: Penalidade por no se atingir a produtividade mxima da carregadeira k;


: Penalidade por utilizar uma carregadeira k com uma produtividade inferior mnima;

51

4.3.5

Movimentos e Estruturas de Vizinhanas


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

alterao que proporcione mudana na soluo corrente. A construo de s


determinada aps se aplicar um ou mais movimentos.
Foram desenvolvidos vrios tipos de movimentos, aplicveis tanto para as
frentes de minrio quanto para as de estril:

 Retirar uma viagem de um caminho em uma frente qualquer (Retirar_Viagem);


 Retirar

duas

viagens

de

um

caminho

em

uma

frente

qualquer

(Retirar_Duas_Viagens);

 Realocar uma viagem a uma frente diferente, mantendo o caminho


(Realocar_Viagem_mc);

 Realocar uma viagem a um caminho diferente, mantendo a frente


(Realocar_Viagem_mf);

 Realocar um equipamento de carga, uma nica vez (Realocar_Carregadeira);


 Ativar um equipamento de carga (Ativar_Carregadeira);
 Desativar um equipamento de carga (Desativar_Carregadeira);
 Inserir uma viagem de um caminho em uma frente (Inserir_Viagem);
 Retirar todas as viagens de um caminho em todas as frentes (Retirar_Viagens);
 Trocar carregadeira inativa por uma ativa (Trocar_carregadeira);
Esses movimentos definem as estruturas de vizinhana e so detalhados a seguir.

4.3.5.1 Movimento Retirar_Viagem


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

52

Antes do Movimento

Depois do Movimento

...

...

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

...

...

Figura 4.8 Movimento Retirar_uma_viagem


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

4.3.5.2 Movimento Retirar_Duas_Viagens


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

Depois do Movimento

...

...

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

Figura 4.9 Movimento Retirar_duas_viagens

53

Nessa figura o caminho de nmero 4 realiza 4 viagens frente 1, inicialmente.


Aps a implementao desse movimento, este caminho passa a realizar 2 viagens
frente 1.

4.3.5.3 Movimento Realocar_Viagem_mc


O movimento Realocar_Viagem_mc consiste em transferir uma viagem de
uma frente i para uma outra frente i, mantendo o mesmo caminho l, isto , selecionase uma clula nil da matriz N, retira-se uma viagem, seleciona-se outra clula nil da
matriz N e faz-se a transferncia da viagem.
A Figura 4.10 ilustra este movimento.
Antes do Movimento

Depois do Movimento

...

...

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

Figura 4.10 Movimento Realocar uma Viagem mantendo o caminho


Na Figura 4.10 o caminho de nmero 5 realiza 2 viagens frente F e nenhuma
viagem frente 2, inicialmente. Aps a implementao deste movimento, este caminho
passa a realizar 1 viagem frente F e 1 viagem frente 2.

4.3.5.4 Movimento Realocar_Viagem_mf


O movimento Realocar_Viagem_mf consiste em transferir uma viagem de um
caminho l para um outro caminho l, mantendo a mesma frente i, isto , seleciona-se
uma clula nil da matriz N, retira-se uma viagem, seleciona-se outra clula nil da matriz
N e faz-se a transferncia da viagem.

54

A Figura 4.11 ilustra este movimento.


Antes do Movimento

Depois do Movimento

...

...

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

...

...

Figura 4.11 Movimento Realocar uma Viagem mantendo a frente


Nessa figura o caminho de nmero 2 realiza 3 viagens frente 2 e o caminho
4 realiza 1 viagem frente 2, inicialmente. Aps a implementao desse movimento, o
caminho 2 passa a realizar 2 viagens e o caminho 4 realiza tambm 2 viagens frente
2.

4.3.5.5 Movimento Realocar_Carregadeira


No movimento Realocar_Carregadeira, procede-se da seguinte forma: a
carregadeira k e todas as viagens alocadas frente i so transferidas para uma outra
frente i. Da mesma forma, a carregadeira k e todas as viagens alocadas frente i so
transferidas para a frente i (se houver carregadeira alocada frente i).
A Figura 4.12 ilustra este movimento.
Antes do Movimento

Depois do Movimento

Carreg

...

Carreg

...

1 (3 , 1)

(-1,0)

-1

-1

-1

-1

-1

-1

2 (6 , 1)

(6 , 1)

(-1,0)

-1

-1

-1

-1

-1

-1

(3 , 1)

...

(1 , 1)

...

F (1 , 1)

Figura 4.12 Movimento Realocar Carregadeira

55

A Figura 4.12 mostra o movimento Realocar_Carregadeira efetuado nas


frentes 1 e 3. A carregadeira de nmero 3 alocada frente 1 transferida para a frente 3
bem como todas as viagens alocadas essa frente. Mesmo no havendo carregadeira
alocada frente 3, inicialmente, todos os dados relativos a essa frente so transferidos
frente 1.

4.3.5.6 Movimento Ativar_Carregadeira


Esse movimento consiste em ativar uma carregadeira, isto , seleciona-se uma
carregadeira, verifica-se se ela encontra-se desativada e, caso esteja, muda-se o seu
estado para ativada. Se a carregadeira selecionada no estiver desativada, repete-se o
procedimento um certo nmero de vezes at que se encontre uma desativada ou at que
se ultrapasse esse nmero de vezes, no caso, dado pelo produto do nmero de frentes
pelo nmero de caminhes.
A Figura 4.13 mostra o movimento Ativar_Carregadeira efetuado na frente 2.
A carregadeira de nmero 6 alocada na frente 2 que estava desativada passa a estar
ativa. Isso significa que, a partir daquele momento, essa frente estar em atividade
podendo, portanto, ter caminhes alocados a ela.
Antes do Movimento

Depois do Movimento

Carreg

...

Carreg

...

1 (3 , 1)

(3, 1)

2 (6 , 0)

(6 , 1)

(-1,0)

-1

-1

-1

-1

-1

-1

(-1,0)

-1

-1

-1

-1

-1

-1

...

(1 , 1)

...

F (1 , 1)

Figura 4.13 Movimento Ativar Carregadeira

4.3.5.7 Movimento Desativar_Carregadeira


O movimento Desativar_Carregadeira consiste em desativar uma carregadeira,
isto , seleciona-se uma carregadeira, verifica-se se ela encontra-se ativada e, caso

56

esteja, muda-se o seu estado para desativada. Caso no esteja, repete-se o procedimento
at encontrar uma carregadeira ativa. Encontrando, retiram-se todas as viagens alocadas
aos caminhes que trabalham naquela frente.
A Figura 4.14 ilustra este movimento.
Antes do Movimento

Depois do Movimento

Carreg

...

Carreg

...

1 (3 , 1)

(3, 1)

2 (6 , 1)

(6 , 0)

(-1,0)

-1

-1

-1

-1

-1

-1

(-1,0)

-1

-1

-1

-1

-1

-1

...

(1 , 1)

...

F (1 , 1)

Figura 4.14 Movimento Desativar Carregadeira


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

4.3.5.8 Movimento Inserir_Viagem


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

57

Antes do Movimento

Depois do Movimento

...

...

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

...

...

Figura 4.15 Movimento Inserir uma viagem


Nessa figura o caminho de nmero 4 realiza 4 viagens frente 1, inicialmente.
Aps a implementao desse movimento, este caminho passa a realizar 5 viagens
frente 1.

4.3.5.9 Movimento Retirar_Viagens


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

Antes do Movimento

Depois do Movimento

Carreg

...

Carreg

...

1 (3 , 1)

(3, 1)

2 (6 , 1)

(6 , 1)

(-1,0)

-1

-1

-1

-1

-1

-1

(-1,0)

-1

-1

-1

-1

-1

-1

...

(1 , 1)

...

F (1 , 1)

Figura 4.16 Movimento Retirar Viagens

58

4.3.5.10 Movimento Trocar_carregadeira


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

Depois do Movimento

Carreg

...

Carreg

...

1 (3 , 1)

(4 , 1)

2 (4 , 0)

(3 , 0)

(-1,0)

-1

-1

-1

-1

-1

-1

(-1,0)

-1

-1

-1

-1

-1

-1

...

(1 , 1)

...

F (1 , 1)

Figura 4.17 Movimento Trocar Carregadeira


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

4.3.6

Mtodos de Busca Local Aplicados ao Planejamento de Lavra


As tcnicas de busca local, tambm conhecidas como heursticas de refinamento

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

59

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

4.3.6.1

Descida com retirada de uma viagem


Este mtodo consiste em aplicar o mtodo da Descida utilizando o movimento

retirar uma viagem, descrito na seo 4.3.5.1.


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

Procedimento Descida_tirar1_Viagem(N, Tcv, Tc, S, fo, Cap);


Variveis i,l,fo:inteiro;
Melhorou:lgico;
Incio
Melhorouverdadeiro;
Repita
fofo;
{guardar a soluo corrente}
escolher_melhor_vizinho(fo,i,l);
se fo < fo
{se melhorou}
fofo;
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}
tt Cap[l]
seno est  est Cap[l];
seno
melhoroufalso;
fim se
at no melhorou;
Fim{ Descida_tirar1_viagem }
Figura 4.18 Descida_tirar_uma_viagem

60

4.3.6.2 Descida com retirada de duas viagens


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

Procedimento Descida_tirar2_Viagens(N, Tcv, Tc, S, fo, Cap);


Variveis i,l,fo:inteiro;
Melhorou:lgico;
Incio
Melhorouverdadeiro;
Repita
fofo;
{guardar a soluo corrente}
escolher_melhor_vizinho(fo,i,l);
se fo < fo
{se melhorou}
fofo;
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}
tt Cap[l]
seno est  est 2*Cap[l];
seno
melhoroufalso;
fim se
at no melhorou;
Fim{ Descida_tirar2_viagens }
Figura 4.19 Descida_tirar_duas_viagens

4.3.6.3 Descida com realocao de uma viagem mantendo o caminho


Esse mtodo consiste em aplicar o mtodo da Descida utilizando o movimento
realocar uma viagem_mc, descrito na seo 4.3.5.3.
A Figura 4.20 ilustra o pseudocdigo desta busca local.

61

Procedimento Descida_Realocar_uma_Viagem_mc(N, Tcv, Tc, S, fo, Cap);


Variveis i,l,i,fo:inteiro;
Melhorou:lgico;
Incio
Melhorouverdadeiro;
Repita
fofo;
{guardar a soluo corrente}
escolher_melhor_vizinho(fo,i,l,i);
se fo < fo
{se melhorou}
fofo;
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}
tt 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}
tt + Cap[l]
seno est  est + Cap[l];
seno
melhoroufalso;
fim se
at no melhorou;
Fim{ Descida_Realocar_uma_Viagem_mc }
Figura 4.20 Descida_realocao_de_viagem_mantendo_caminho
Neste procedimento, para cada caminho com alguma viagem realocada uma
viagem para outra frente e analisada sua funo de avaliao. Aquela que produzir a
melhor funo de avaliao feita, desde que represente uma melhora global.

4.3.6.4 Descida com realocao de uma viagem mantendo a frente


Este mtodo consiste na aplicao do mtodo da Descida utilizando o
movimento realocar uma viagem_mf, descrito na seo 4.3.5.4.
A Figura 4.21 ilustra o pseudocdigo desta busca local.

62

Procedimento Descida_Realocar_uma_Viagem_mf(N, Tcv, Tc, S, fo, Cap);


Variveis i,l,l,fo:inteiro;
Melhorou:lgico;
Incio
Melhorouverdadeiro;
Repita
fofo;
{guardar a soluo corrente}
escolher_melhor_vizinho(fo,i,l,l);
se fo < fo
{se melhorou}
fofo;
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}
tt 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}
tt cap[l]
seno est  est cap[l];
seno
melhoroufalso;
fim se
at no melhorou;
Fim{ Descida_Realocar_uma_Viagem_mf }
Figura 4.21 Descida_realocao_de_viagem_mantendo_frente
Neste procedimento, para cada frente, realocada uma viagem de um caminho
para outro, caso exista alguma viagem e analisada sua funo de avaliao. Aquela que
produzir a melhor funo de avaliao realizada, desde que represente uma melhora
global.

4.3.6.5 Descida inserir uma viagem


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

63

Procedimento Descida_Inserir1_Viagem(N, Tcv, Tc, S, fo, Cap);


Variveis i,l,fo:inteiro;
Melhorou:lgico;
Incio
Melhorouverdadeiro;
Repita
fofo;
{guardar a soluo corrente}
escolher_melhor_vizinho(fo,i,l);
se fo < fo
{se melhorou}
fofo;
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}
tt + cap[l]
seno est  est + cap[l];
seno
melhoroufalso;
fim se
at no melhorou;
Fim{ Descida_inserir1_viagem }
Figura 4.22 Descida_inserir_uma_viagem
Neste procedimento, para cada caminho inserida uma viagem e analisada sua
funo de avaliao. Aquela que produzir a melhor funo de avaliao realizada,
desde que represente uma melhora global.

4.3.6.6 Descida tirar viagens


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

64

Procedimento Descida_Tirar_Viagens(N, Tcv, Tc, S, fo, Cap);


Variveis i,l,fo:inteiro;
Melhorou:lgico;
Incio
Melhorouverdadeiro;
Repita
fofo;
{guardar a soluo corrente}
escolher_melhor_vizinho(fo,i,l);
se fo < fo
{se melhorou}
fofo;
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}
tt (n[i,l]*cap[l])
seno est  est - (n[i,l]*cap[l]);
n[i,l]:=0; {atualizar (zerar) viagens}
seno
melhoroufalso;
fim se
at no melhorou;
Fim{ Descida_tirar_viagens }
Figura 4.23 Descida_tirar_viagens
Neste procedimento, para cada caminho com uma ou mais viagens em uma
determinada frente, so retiradas todas as viagens e analisada sua funo de avaliao.
A retirada que produzir a melhor funo de avaliao realizada, desde que represente
uma melhora global.

4.3.6.7 Descida desativar carregadeira


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

65

Procedimento Descida_Desativar_Carregadeira(N, Tcv, Tc, S, fo, Cap);


Variveis i,l,fo:inteiro;
Melhorou:lgico;
Incio
Ncam no total de caminhes;
Melhorouverdadeiro;
Repita
fofo;
{guardar a soluo corrente}
escolher_melhor_vizinho(fo,i);
se fo < fo
{se melhorou}
fofo;
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}
tt (n[i,l]*cap[l])
seno est  est - (n[i,l]*cap[l]);
n[i,l] 0; {atualizar (zerar) viagens}
seno
melhoroufalso;
fim se
at no melhorou;
Fim{ Descida_Desativar_Carregadeira }
Figura 4.24 Descida_desativar_carregadeira
Neste procedimento, para cada frente onde exista uma carregadeira ativa, so
retiradas todas as viagens de todos os caminhes e analisada sua funo de avaliao. A
retirada que produzir a melhor funo de avaliao realizada, desde que represente
uma melhora global.

4.3.6.8 Descida realocar carregadeira


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

66

Procedimento Descida_Realocar_Carregadeira(N, Tcv, Tc, S, fo, Y, Cap);


Variveis i,l,fo,aux:inteiro;
Melhorou:lgico;
Incio
Ncam no total de caminhes;
Melhorouverdadeiro;
Repita
fofo;
{guardar a soluo corrente}
escolher_melhor_vizinho(fo,i,k);
se fo < fo
{se melhorou}
fofo;
// 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
melhoroufalso;
fim se
at no melhorou;
Fim{ Descida_Realocar_Carregadeira }
Figura 4.25 Descida_realocar_carregadeira
Neste procedimento, para cada frente onde exista uma carregadeira ativa, feita
a inverso dessa carregadeira com as seguintes trocando tambm as viagens de cada
caminho e analisada sua funo de avaliao. A inverso que produzir a melhor funo
de avaliao realizada, desde que represente uma melhora global.

4.3.7

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

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

67

perturbaes. Foram desenvolvidas as seguintes perturbaes para o mtodo ILS


aplicado ao planejamento de lavra:

4.3.7.1 Perturbao Retirar uma viagem


Nessa perturbao, utilizado o movimento Retirar uma Viagem, descrito na
seo 4.3.5.1. So gerados aleatoriamente dois valores (i,l). O primeiro se refere frente

i e o segundo, ao caminho l. Se houver viagens alocadas para o caminho l, retirada


uma viagem da clula nil da matriz N; caso contrrio, o procedimento repetido at que
se encontre um caminho l com pelo menos uma viagem frente i.
A Figura 4.26 mostra o pseudocdigo referente perturbao Retirar uma
Viagem no qual as frentes e os caminhes so escolhidos de forma aleatria at que se
encontre viagens alocadas.

Procedimento Perturbao_Retirar_uma_viagem(N);
Variveis i,l:inteiro;
Incio
MaxFrno mximo de frentes;
Ncam no total de caminhes;
Repita
ialeatrio(MaxFr);
laleatrio(Ncam);
at n[i,l] > 0;
n[i,l]  n[i,l] -1;
se minrio
{atualizar massa lavrada geral de minrio ou estril}
tt cap[l]
seno est  est cap[l];
Fim{ Perturbao_Retirar_uma_viagem }
Figura 4.26 Perturbao_Retirar_uma_viagem

4.3.7.2 Perturbao Retirar duas viagens


Esta perturbao utiliza-se do movimento Retirar duas Viagens descrito em
4.3.5.2, anlogo ao mostrado no item 4.3.7.1. So gerados dois valores (i,l), de forma
aleatria, representando a frente i e o caminho l. Se houver viagens alocadas para esse

68

caminho, so retiradas duas viagens da clula nil da matriz N. Caso contrrio, so


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

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

4.3.7.3 Perturbao Realocar_Viagem_mc


Na perturbao Realocar uma Viagem mantendo caminho utiliza-se o
movimento Realocar_Viagem_mc, descrito em 4.3.5.3. Geram-se inicialmente dois
valores (i,l), aleatoriamente. O primeiro diz respeito frente i e o segundo, ao caminho

l. Para o primeiro valor i, verifica-se se existe um equipamento de carga alocado frente


i e, tambm, se este est ativo. Na inexistncia de um equipamento satisfazendo essas
condies, o procedimento repetido at que a condio seja satisfeita. De posse do
segundo valor l, verifica-se se existe viagem alocada clula nil da matriz N.
Inexistindo um veculo com pelo menos uma viagem, procura-se aleatoriamente um
novo veculo. Este procedimento repetido at que seja encontrado um veculo com
pelo menos uma viagem, interrompendo-se a busca caso ela no seja bem sucedida aps
um determinado nmero de iteraes. Nesta ltima situao, nova frente gerada

69

aleatoriamente. Este procedimento se encerra quando gerada uma frente i e um


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

70

Procedimento Perturbao_Realocar_uma_Viagem_mc(N, S, Cu, Cap, Tcv, Y );


Variveis i,l,i,cont:inteiro;
Achou:lgico;
Incio
MaxFrno mximo de frentes;
Ncam no total de caminhes;
Cont0;
Achoufalso;
Repita
Repita
ialeatrio(MaxFr);
at encontrar carregadeira alocada e ativa;
Repita
laleatrio(Ncam);
contcont + 1;
se n[i,l] > 0 ento Achouverdadeiro;
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}
tt cap[l]
seno est  est cap[l];
n[i,l]n[i,l] + 1;
se minrio
{atualizar massa lavrada geral de minrio ou estril}
tt + 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}
tt + cap[l]
seno est  est + cap[l];
n[i,l]n[i,l] - 1;
se minrio
{atualizar massa lavrada geral de minrio ou estril}
tt cap[l]
seno est  est cap[l];
Fim{ Perturbao_Realocar_uma_Viagem_mc }
Figura 4.28 Perturbao Realocar uma Viagem mantendo o caminho

71

4.3.7.4 Perturbao Realocar_Viagem_mf


A Figura 4.29 mostra o pseudocdigo referente perturbao Realocar uma
Viagem mantendo a frente.

Procedimento Perturbao_Realocar_uma_Viagem_mf(N, S, Cu, Cap, Tcv, Y);


Variveis i,l,l,cont:inteiro;
Achou:lgico;
Incio
MaxFrno mximo de frentes;
Ncam no total de caminhes;
Cont0;
Achoufalso;
Repita
Repita
ialeatrio(MaxFr);
at encontrar carregadeira alocada e ativa;
Repita
laleatrio(Ncam);
contcont + 1;
se n[i,l] > 0 ento Achouverdadeiro;
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}
tt cap[l]
seno est  est cap[l];
n[i,l]n[i,l] + 1;
se minrio
{atualizar massa lavrada geral de minrio ou estril}
tt + 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}
tt + cap[l]
seno est  est + cap[l];
n[i,l]n[i,l] - 1;
se minrio
{atualizar massa lavrada geral de minrio ou estril}
tt cap[l]
seno est  est cap[l];
Fim{ Perturbao_Realocar_uma_Viagem_mf }
Figura 4.29 Perturbao Realocar uma Viagem mantendo a frente

72

Esta perturbao utiliza o movimento Realocar_Viagem_mf descrito em


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

4.3.7.5 Perturbao Retirar_Viagem_2x


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

4.3.7.6 Perturbao Retirar_Duas_Viagens_2x


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

4.3.7.7 Perturbao Realocar_Viagem_mc_2x


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

4.3.7.8 Perturbao Realocar_Viagem_mf_2x


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

4.3.7.9 Perturbao Realocar_Carregadeira


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

73

novo valor de i at que as condies prvias sejam satisfeitas. Em seguida, gera-se um


segundo valor i referente outra frente, diferente do primeiro.
De posse dos valores de i e i, ou seja, das frentes i e i, efetua-se a troca entre as
carregadeiras, isto , a carregadeira que se encontra na frente i realocada frente i e,
caso haja carregadeira alocada frente i, esta transferida frente i. Tambm efetuamse as trocas referentes aos nmeros de viagens de cada caminho alocados s duas
frentes.
A

Figura

4.30

mostra

pseudocdigo

referente

perturbao

Realocar_Carregadeira.

Procedimento Perturbao_Realocar_Carregadeira(N, S, Cu, Tcv, Y);


Variveis i,l,ii,aux:inteiro;
Incio
MaxFrno mximo de frentes;
Ncam no total de caminhes;
Repita
ialeatrio(MaxFr);
at encontrar carregadeira alocada e ativa;
iialeatrio(MaxFr);
{troca viagens}
Para l1 at Ncam faa
auxn[i,l];
n[i,l] n[ii,l];
n[ii,l]aux;
Fim para;
{troca carregadeiras}
auxy[i].n_carr;
y[i].n_carr y[ii].n_carr;
y[ii].n_carraux;
Fim{ Perturbao_Realocar_Carregadeira }
Figura 4.30 Perturbao Realocar Carregadeira

4.3.7.10 Perturbao Desativar_Carregadeira


Na perturbao Realocar_Carregadeira utiliza-se o movimento descrito na
seo 4.3.5.7. Gera-se um valor referente carregadeira k, verificando-se se a mesma
encontra-se ativa. Caso isso no ocorra, gera-se novamente um novo valor de k at que

74

as condies acima sejam satisfeitas. Em seguida, localiza-se em qual frente i a


carregadeira k est operando. De posse desses valores, a carregadeira k desativada e
so zeradas todas as viagens de cada caminho j na frente i onde opera a carregadeira k.
A

Figura

4.31

mostra

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;
MaxFrno mximo de frentes;
Ncam no total de caminhes;
achoufalso;
Repita
kaleatrio(Ncarreg);
i1;
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;
iii;
{retirar viagens}
Para l1 at Ncam faa
se n[i,l] > 0
se minrio
t  t (n[i,l] * cap[l])
seno est  est - (n[i,l] * cap[l]);
fim se
n[i,l] 0;
fim se
Fim para
Fim{ Perturbao_Desativar_Carregadeira }
Figura 4.31 Perturbao Desativar Carregadeira

75

4.3.7.11 Perturbao Ativar_Carregadeira


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

Figura

4.32

mostra

pseudocdigo

referente

perturbao

Ativar_Carregadeira.

Procedimento Perturbao_Ativar_Carregadeira(N, S, Cu, Tcv, Y);


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

76

4.3.7.12 Perturbao Trocar_Carregadeira


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

Figura

4.33

mostra

pseudocdigo

referente

perturbao

Ativar_Carregadeira.

77

Procedimento Perturbao_Trocar_Carregadeira(N, S, Cu, Y, Compatib);


Variveis i,i,i,l,k,nv,x,aux:inteiro;
ok,achou:lgico;
Incio
Ncarreg no total de carregadeiras;
MaxFrno mximo de frentes;
Ncam no total de caminhes;
nv MaxFr* Ncam;
x0;
achoufalso;
Repita
xx+1;
kaleatrio(Ncarreg);
i1;
Enquanto i < = MaxFr faa
se y[i].N_carr = k
se y[i].N_ativo = 0
{encontrou carregadeira inativa }
ii;
achou  verdadeiro;
fim se
i  MaxFr;
fim se
i  i + 1;
Fim enquanto
at (achou = verdadeiro) ou (x > nv);
se x > nv abandone;
nv1;
Enquanto nv < = Ncarreg faa
ialeatrio(MaxFr);
se (y[i].N_carr <> -1) e (Cu[y[i].N_carr] < Cu[y[i].N_carr])
se y[i].N_Ativo = 1
ii;
okfalso;
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_carraux;
fim se;
nvNcarreg;
fim se
fim se
nvnv+1;
Fim enquanto;
Fim{ Perturbao_Trocar_Carregadeira }

Figura 4.33 Perturbao Trocar Carregadeira

78

4.3.7.13 Perturbao Tirar_Viagens


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

Procedimento Perturbao_Tirar_Viagens(N);
Variveis i,l:inteiro;
Incio
MaxFrno mximo de frentes;
Ncam no total de caminhes;
laleatrio(Ncam);
Para i1 at MaxFr faa
se (n[i,l]>0) e (y[i].N_ativo=1)
ento
se minrio
ento t  t (n[i,l] * cap[l])
seno est  est (n[i,l] * cap[l])
fim se
n[i,l]  0;
fim se
Fim para
Fim{ Perturbao_Tirar_Viagens }
Figura 4.34 Perturbao_tirar_viagens

4.3.7.14 Perturbao Inserir_viagem


Nesta perturbao, utilizado o movimento Inserir_Viagem, descrito na seo
4.3.5.8. So gerados aleatoriamente dois valores (i,l). O primeiro se refere frente i e o
segundo, ao caminho l. Se houver carregadeira ativa nesta frente i e esta for compatvel
com o caminho l, inserida uma viagem da clula nil da matriz N; caso contrrio, o
procedimento repetido at que se encontre uma frente onde haja uma carregadeira
trabalhando, ou se atinja um nmero de vezes, dado pelo produto do nmero de frentes
pelo nmero de caminhes. Neste ltimo caso, a perturbao no realizada.
A Figura 4.35 mostra o pseudocdigo referente perturbao Inserir uma
Viagem.

79

Procedimento Perturbao_Inserir_uma_viagem(N,Y);
Variveis i,l:inteiro;
Incio
MaxFrno mximo de frentes;
Ncam no total de caminhes;
vz MaxFr * Ncam;
x  0;
Repita
xx+1;
ialeatrio(MaxFr);
laleatrio(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}
tt + cap[l]
seno est  est + cap[l];
fim se
Fim{ Perturbao_Inserir_uma_viagem }
Figura 4.35 Perturbao_Retirar_uma_viagem

80

4.3.8

Iterated Local Search (ILS)


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

adaptado ao Problema de Alocao Dinmica de Caminhes.

Procedimento ILS(fo,N,S,Qu,Cu,Cap,Tc,Tcv,Y,itermax, tempolimite);


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

81

menor nvel de perturbao. No havendo, a soluo no armazenada e, neste caso,


aplica-se a perturbao no nvel corrente soluo atual at que no haja melhora no
valor da funo de avaliao (no caso, 10% do resultado de no de frentes no de
caminhes). Decorrido esse nmero de iteraes sem melhora, o nvel de perturbao
incrementado.
A Figura 4.37 ilustra o pseudocdigo referente aos nveis de perturbao
aplicados ao mtodo ILS descrito anteriormente.

Procedimento Perturbao(S,nvel,Qu,N,Y,Cu,Cap);
Incio
Caso nvel seja
1: perturbao_cr(s,Qu,N,Y, Cu,Cap);
2: perturbao_n1(s,Qu,N,Y, Cu,Cap);
3: perturbao_n2(s,Qu,N,Y, Cu,Cap);
4: perturbao_nv(s,Qu,N,Y, Cu,Cap);
5: perturbao_n3(s,Qu,N,Y, Cu,Cap);
6: perturbao_acr(s,Qu,N,Y, Cu,Cap);
7: perturbao_ad(s,Qu,N,Y, Cu,Cap);
8: perturbao_ad(s,Qu,N,Y, Cu,Cap);
9: perturbao_ad(s,Qu,N,Y, Cu,Cap);
10:perturbao_ad(s,Qu,N,Y, Cu,Cap);
seno
perturbao_n2(s,Qu,N,Y, Cu,Cap);
perturbao_n3(s,Qu,N,Y, Cu,Cap);
fim-caso;
Fim{ Perturbao }
Figura 4.37 Nveis de perturbao do ILS
O procedimento Perturbao desenvolvido no mtodo ILS e descrito
anteriormente consiste na aplicao de vrios nveis de perturbao, as quais so
dispostas de forma que as de menores ndices so as mais fracas no sentido de
complexidade computacional. Aps a aplicao da perturbao de nvel 10 so
aplicadas consecutivamente as perturbaes perturbao_n2 e perturbao_n3, as quais
estabelecem um mecanismo de diversificao para o algoritmo.
As figuras 4.38 a 4.44 ilustram os pseudocdigos referentes cada nvel de
perturbao.

82

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

Procedimento Perturbao_cr(S,Qu,N,Y,Cu,Cap);
Incio
{Perturbao: desativar uma carregadeira}
movimento_desativar1_carregadeira(s,Qu,N,Y, Cu,Cap);
Fim{ Perturbao_cr }
Figura 4.38 Perturbao desativar uma carregadeira
A perturbao de nvel 1 consiste em aplicar o movimento desativar uma
carregadeira. A perturbao gerada resultante da aplicao deste movimento.
A Figura 4.39 mostra o pseudocdigo referente ao nvel 2 de perturbao.

Procedimento Perturbao_n1(S,Qu,N,Y, Cu,Cap);


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

83

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

Procedimento Perturbao_n2(S,Qu,N,Y, Cu,Cap);


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

Procedimento Perturbao_nv(S,Qu,N,Y, Cu,Cap);


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

84

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

Procedimento Perturbao_n3(S,Qu,N,Y, Cu,Cap);


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

85

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

Procedimento Perturbao_acr(S,Qu,N,Y, Cu,Cap);


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

Procedimento Perturbao_ad(S,Qu,N,Y, Cu,Cap);


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

86

Procedimento VND(fo,S,Qu,N,Y, Cu,Cap);


Var k, nv:inteiro;
fo:real;
Incio
k1;
nv8; {quantidade de descidas}
fofo;
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 k1;
fofo;
seno k k + 1;
fim se;
fim enquanto;
Fim{ VND }
Figura 4.45 Algoritmo VND
Nesse procedimento so executados oito tipos diferentes de busca local, todos j
descritos no item 4.3.6:
(a) descida_tirar1_viagem;
(b) descida_tirar_viagens;
(c) descida_inserir1_viagem;
(d) descida_realocar1_viagem_mf;
(e) descida_ realocar1_viagem_mc;
(f) descida_realocar1_carregadeira;
(g) descida_desativar1_carregadeira;
(h) descida_tirar2_viagens.

87

4.4 Implementao Computacional


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

4.4.1

Tela de abertura

Figura 4.46 Tela de abertura do sistema

88

A Figura 4.46 mostra a tela de abertura do sistema. No exemplo considerado, h


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

4.4.2

Tela principal do sistema


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

como o clculo da produo de minrio e tambm de estril, o clculo das percentagens


de cada parmetro de controle e as diferenas, em toneladas, em relao meta.

Figura 4.47 Tela principal

89

Em relao aos parmetros do mtodo, destacam-se as metas de minrio e de


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

4.4.3

Tela de relatrio das solues inicial e final


A Figura 4.48 mostra a tela com a alocao das carregadeiras nas diversas

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

Figura 4.48 Tela das solues inicial e final

90

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

4.4.4

Tela de relatrio do nmero de viagens de cada caminho


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

frente, o nmero total de viagens de cada caminho, o total de viagens considerando


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

Figura 4.49 Tela do nmero de viagens de cada caminho

91

4.4.5

Tela do Tempo de Ciclo dos Caminhes


A Figura 4.50 mostra a tela com o tempo de ciclo dos caminhes em cada frente.

Figura 4.50 Tela do tempo de ciclo dos caminhes

A Figura 4.50 mostra que na frente 7, o tempo de ciclo do caminho 11 8,7


minutos. Os dados dessa tabela so lidos diretamente de uma planilha em Excel.

4.4.6

Tela de Compatibilidade entre Caminhes e Carregadeiras


A Figura 4.51 mostra a tela com a compatibilidade entre caminhes e

carregadeiras.

92

Figura 4.51 Tela de compatibilidade entre caminhes e carregadeiras

Na Figura 4.51, o nmero 1 significa que a carregadeira e o caminho so


compatveis e 0, caso contrrio. Assim, mostra-se nesta Figura que a carregadeira 4
compatvel com o caminho 1.

4.4.7

Tela com a Capacidade Mxima de cada Caminho.


A Figura 4.52 mostra a tela com a capacidade mxima de cada caminho.

Figura 4.52 Tela com a capacidade mxima de cada caminho

A Figura 4.52 mostra que o caminho 7 tem capacidade de 50 toneladas. Esses


dados so disponibilizados por uma planilha em Excel.

93

4.4.8

Tela com a Capacidade Mnima de cada Carregadeira.


A Figura 4.53 mostra a tela com a capacidade mnima de cada carregadeira.

Figura 4.53 Tela com a capacidade mnima de cada carregadeira


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

4.4.9

Tela com a Capacidade Mxima de cada Carregadeira.


A Figura 4.54 mostra a tela com a capacidade mxima de cada carregadeira.

94

Figura 4.54 Tela com a capacidade mxima de cada carregadeira


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

95

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

Cenrio

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

carregadeiras

F15_M11_E4_V30_C8.6 Cenrio 5, com taxa de utilizao de caminhes de at 85%

7
F15_M11_E4_V30_C8.7
8

Base, com compatibilidade total entre caminhes e

Base, com compatibilidade total entre caminhes e


carregadeiras e sem limite mnimo para carregadeiras

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

96

Na Tabela 5.1, cada problema-teste da forma FX_MY_EZ_VT_CK.W, onde X


representa o nmero de frentes de lavra, Y o de frentes de minrio, Z o de frentes de
estril, T o nmero de caminhes, K o nmero de carregadeiras e W o cenrio.
Como referncia para os demais, o cenrio 1 (base) leva em considerao a
compatibilidade entre caminhes e carregadeiras, o limite mnimo para as carregadeiras
e a no observncia da taxa de utilizao de caminhes.
Na Tabela 5.2 so apresentadas as metas de produo e qualidade, bem como o
nmero de equipamentos disponveis e as prioridades de cada parmetro de controle de
qualidade.

Nesta tabela,

%Fe,

%Al2O3,

%P,

%PPC

e %He representam,

respectivamente, os percentuais de ferro, alumina, fsforo, perda por calcinao e


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

Tabela 5.2 Metas de produo e qualidade, nmero de equipamentos disponveis e


prioridades
Item

% Fe

%
Al2O3

%P

%
PPC

% He

Minrio

Estril

(t)

(t)

4000

1200

30

Cam. Carreg.

Meta /
47,000

0,320

MI

0,040 2,350 40,000

# Equip.
Prioridade

MC

Na Tabela 5.3 so apresentados os parmetros usados nas execues do


algoritmo desenvolvido, os quais foram calibrados em uma bateria inicial de testes. Os
pesos adotados consideram que o fsforo (P) o parmetro de controle mais crtico.

97

Tabela 5.3 Parmetros utilizados


Parmetro
A

Significado
Penalidade por ultrapassar a taxa mxima de utilizao de
um caminho

Valor
1.000.000

Penalidade por no atingir a taxa mxima de utilizao de

100

um caminho
Penalidade pela utilizao de um caminho

Penalidade pela produtividade da carregadeira ficar abaixo

10

da mnima exigida
Penalidade pela produtividade da carregadeira ter ficado

acima da mxima imposta


q
Fe
=5

Alq O =100
2

qj

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

Pq =100.000
q
PPC
=1.000
q
He
=1

IterConstr

Penalidade por no atendimento meta de produo de


minrio e estril, respectivamente
Nmero de aplicaes do mtodo de construo da soluo
inicial

2.000.000

100

IterMax

Nmero mximo de iteraes sem melhora do ILS

50

NivelMax

Nmero mximo de nveis de perturbao do ILS

10
10% do nmero

NumMaxVezes

Nmero mximo de vizinhos avaliados em um dado nvel

de frentes

de perturbao

nmero de
caminhes

98

5.2 Resultados obtidos


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

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

47,9825

47,9825

47,9825

47,9825

47,9889

47,9825

47,9825

47,9825

0,3175

0,3175

0,3175

0,3175

0,3172

0,3175

0,3175

0,3175

0,0419

0,0419

0,0419

0,0419

0,0419

0,0419

0,0419

0,0419

2,9137

2,9137

2,9137

2,9137

2,9154

2,9137

2,9137

2,9137

37,95

37,95

37,95

37,95

37,97

37,95

37,95

37,95

4000

4000

4000

4000

4000

4000

4000

4000

1200

1200

1200

1200

1200

1200

1200

1200

30.630,50

30.583,83

30.626,50

30.577,83

30.710,98

30.615,16

30.632,10

30.594,76

carregadeiras

caminhes
viagens
Tempo(s)
% TxUtil

27

20

26

21

28

21

24

21

89

92

92

89

86

89

89

89

62

161

67

216

143

171

121

177

54,19

76,98

58,78

73,13

52,73

71,81

59,56

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 =

Encontrado Meta
Meta

em que Encontrado representa o valor encontrado para o parmetro de controle e Meta


representa a meta estabelecida para o respectivo parmetro de controle.

Tabela 5.5 Desvios percentuais dos parmetros de controle da melhor soluo em


relao s metas estabelecidas

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

Cenrios
4

2,09

2,09

2,09

2,09

2,10

2,09

2,09

2,09

-0,78

-0,78

-0,78

-0,78

-0,88

-0,78

-0,78

-0,78

4,75

4,75

4,75

4,75

4,75

4,75

4,75

4,75

23,99

23,99

23,99

23,99

24,06

23,99

23,99

23,99

-5,12

-5,12

-5,12

-5,12

-5,08

-5,12

-5,12

-5,12

0,00

0,00

0,00

0,00

0,00

0,00

0,00

0,00

0,00

0,00

0,00

0,00

0,00

0,00

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

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

Cenrios
4

48,0294

48,0418

47,9974

48,0044

48,0026

47,9942

47,9891

48,0008

0,3164

0,3165

0,3169

0,3179

0,3165

0,3163

0,3169

0,3168

0,0419

0,0420

0,0419

0,0420

0,0419

0,0419

0,0419

0,0419

2,9241

2,9227

2,9205

2,9132

2,9248

2,9226

2,9179

2,9212

37,8053

38,0143

37,7995

38,2775

37,9240

37,7885

37,8855

37,9420

4000

4000

4000

4000

4000

4000

4000

4000

1200

1200

1200

1200

1200

1200

1200

1200

31.207,84

31.234,70

31.057,22

30.862,02

31.074,52

30.850,68

30.752,01

30.929,69

carregadeiras

6,4

6,3

6,3

6,5

6,5

6,4

6,2

caminhes
Viagens
tempo(s)
% TxUtil

26,6

20,9

25

20,6

26,8

21,5

26,5

21,1

89,6

90,2

91,1

90,5

87,2

89

88,4

88,4

78,9

148,3

70,3

151,2

109,9

185,9

110,2

211,7

55,951

72,909

60,361

74,381

54,342

69,911

55,249

71,126

100

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

Desvio =

Mdia Melhor
Melhor

em que Mdia representa o valor mdio encontrado nas dez execues do mtodo e

Melhor representa o melhor valor encontrado nessas execues.


Tabela 5.7 Desvios percentuais encontrados para algumas caractersticas das solues.
Cenrios
4
5

fo

1,88

2,13

1,41

0,93

carregadeiras

6,67

5,00

5,00

0,00

1,18

0,77

0,39

1,09

-7,14

8,33

6,67

3,33

caminhes
viagens
% TxUtil

-1,48

4,50

-3,85

-1,90

-4,29

2,38

10,42

0,48

0,67

-1,96

-0,98

1,69

1,40

0,00

-0,67

-0,67

3,25

-5,29

2,69

1,71

3,06

-2,64

-7,24

-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

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

Caminhes
Viagens
Tempo(s)
% TxUtil

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

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

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

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

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

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

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

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

30.638,50

30.812,70

30.638,50

30.655,50

30.638,50

30.811,74

30.638,50

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

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


Cenrios

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

Caminhes
Viagens
Tempo(s)
% TxUtil

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

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

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

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

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

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

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

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

30.638,5

30.737,99

30.638,50

30.659,5

30.638,5

30.659,50

30.638,50

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 =

LINGO MelhorILS
LINGO

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

Tabela 5.10 Percentual de melhora do ILS em relao ao LINGO no tempo da melhor


soluo do ILS
Cenrios

Item

GanhoMelhor

0,03

0,74

0,04

0,25

-0,24

0,64

0,02

1,32

62

161

67

216

143

171

121

177

(%)
Tempo de
execuo (s)

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

103

GanhoMdio =

LINGO * MdiaILS
LINGO *

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

Tabela 5.11 Percentual de melhora do ILS em relao ao LINGO no tempo mdio de


processamento do ILS
Item

GanhoMdio

Cenrios
1

-1,86

-1,62

-1,37

-0,66

-1,42

-0,62

-0,37

-0,89

78,9

148,3

70,3

151,2

109,9

185,9

110,2

211,7

(%)
Tempo de
execuo (s)

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
% Fe
% Al2O3
%P
% PPC
% He
minrio(t)
estril (t)
Fo
carregadeiras

caminhes
Viagens
tempo(s)
% TxUtil

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

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

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

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

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

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

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

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

30.638,50

30.736,99

30.638,50

30.657,50

30.638,50

30.655,50

30.638,50

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
% Fe
% Al2O3
%P
% PPC
% He
minrio(t)
estril (t)
Fo
carregadeiras

caminhes
Viagens
tempo(h)
% TxUtil

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

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

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

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

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

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

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

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

30.638,50

30.735,99

30.638,50

30.655,50

30.638,50

30.655,50

30.638,50

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

0,0261

0,501

0,039

0,261

-0,236

0,132

0,021

0,201

0,0261

0,498

0,039

0,254

-0,236

0,132

0,021

0,199

62

161

67

216

143

171

121

177

Distancia (%)
em uma hora

Distancia (%)
em 20 horas
Tempo ILS (s)

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

5.3 Discusso dos resultados


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

106

carregadeiras e caminhes e de se impor um limite mnimo de carregamento para as


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

107

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

108

6. Concluses e trabalhos futuros


Este trabalho tratou o problema de planejamento operacional de lavra
considerando alocao dinmica de caminhes. Dada sua dificuldade de resoluo na
otimalidade, foi desenvolvido um mtodo heurstico baseado na metaheurstica Iterated

Local Search (ILS).


Para gerar uma soluo inicial distribuem-se aleatoriamente carregadeiras s
frentes de lavra, seguida da atribuio tambm aleatria de viagens aos diversos
caminhes, respeitando-se a compatibilidade entre caminhes e carregadeiras. A seguir,
utilizam-se dois reparadores para as inviabilidades que esta estratgia pode trazer. O
primeiro reparador de inviabilidade procura solucionar o problema de a soma dos
tempos de ciclo de cada caminho superar 60 minutos, enquanto o segundo visa a
respeitar a capacidade mxima da carregadeira em uma hora de produo. A essa
soluo gerada aplica-se um refinamento por meio do mtodo da descida em vizinhana
varivel (VND), usando-se diferentes tipos de movimento para explorar o espao de
busca. Este mtodo de construo e refinamento aplicado certo nmero de vezes e a
melhor soluo construda utilizada como soluo inicial para o mtodo ILS. Essa
soluo inicial representa um timo local com respeito a todas as vizinhanas
consideradas, uma vez que feita a descida completa com relao a cada vizinhana.
Para escapar do timo local produzido pelo mtodo VND, utilizou-se o mtodo Iterated

Local Search (ILS). Nesse mtodo, cada perturbao consiste em promover


modificaes na soluo tima local corrente. A soluo perturbada , ento, refinada
pelo mtodo VND. Havendo melhora no timo local corrente, move-se para a melhor
soluo; do contrrio, aumenta-se o nvel de perturbao. O nvel de perturbao mais
baixo indica pequenas modificaes na soluo tima local corrente, enquanto nveis
mais elevados consistem em promover modificaes mais acentuadas na soluo. O
mtodo encerra-se aps um nmero mximo de iteraes sem melhora.
Para testar o mtodo foram utilizados 8 cenrios relativo a um problema real de
uma minerao de ferro. Para cada cenrio, foram comparadas as solues produzidas

109

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

110

entre os mtodos no ser possvel devido s caractersticas diferentes dos problemas


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

111

Referncias Bibliogrficas
ALVARENGA, G. B. (1997). Despacho timo de caminhes numa minerao de ferro

utilizando algoritmo gentico com processamento paralelo, Dissertao de


mestrado, Programa de Ps-Graduao em Engenharia Eltrica, Universidade
Federal de Minas Gerais.
ARENALES, M.; ARMENTANO, V.; MORABITO, R.; YANASSE, H. (2007).
Pesquisa Operacional para cursos de engenharia, Editora Campus, Rio de Janeiro.
CHANDA, E. K. C.; DAGDELEN, K. (1995). Optimal blending of mine production
using goal programming and interactive graphics systems, International Journal of

Surface Mining, Reclamation and Enviroment, v. 9, p. 203-208.


COSTA, F. P. (2005). Aplicaes de tcnicas de otimizao a problemas de

planejamento operacional de lavras em mina a cu aberto, Dissertao de mestrado,


Programa de Ps-Graduao em Engenharia Mineral, Universidade Federal de Ouro
Preto, 141 p.
COSTA, F. P.; SOUZA, M. J. F. e PINTO, L. R. (2004). Um modelo de alocao
dinmica de caminhes, Revista Brasil Mineral, v. 231, p. 26-31.
COSTA, F. P.; SOUZA, M. J. F. e PINTO, L. R. (2005). Um modelo de programao
matemtica para alocao esttica de caminhes visando ao atendimento de metas
de produo e qualidade, Revista da Escola de Minas, v. 58, p. 77-81.
EZAWA, L. e SILVA, K. S. (1995). Alocao dinmica de caminhes visando
qualidade. VI Congresso Brasileiro de Minerao, p. 1519, Salvador, Bahia.
GLOVER, F.; KOCHENBERGER, G. (2003). Handbook of Metaheuristics. Kluwer
Academic Publishers, Boston.
LOURENO, H. R.; MARTIN, O. C.; STTZLE, T. (2003). Iterated Local Search. In

Handbook of Metaheuristics, Glover, F. and Kochenberger, G. (Eds). Kluwer


Academic Publishers, Boston.

112

MERSCHMANN, L. H. C. (2002). Desenvolvimento de um Sistema de Otimizao e

Simulao para Cenrios de Produo em Minas a Cu Aberto, Dissertao de


mestrado, COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.
MLADENOVIC, N. e HANSEN, P. (1997). A Variable Neighborhood Search.

Computers and Operations Research, v. 24, p. 1097-1100.


MORAES, E. F. (2005). Um modelo de programao matemtica para otimizar a

composio de lotes de minrio de ferro na mina Cau da CVRD, Dissertao de


mestrado, Programa de Ps-Graduao em Engenharia Mineral, Universidade
Federal de Ouro Preto, 78 p.
MUNIRATHINAM, M. e YINGLING, J. C. (1994). A review of computer-based truck
dispatching strategies of surface mining operations, International Journal of Surface

Mining, Reclamation and Environment, v. 8, p. 1-15.


MUTMANSKY, J. M. (1979). Computing and operations research techniques for
production scheduling. Computer methods for the 80s in the mineral industry, p.
615625, New York.
PHPMETAR (2006). Pesquisa Operacional. Disponvel em phpmetar.incubadora.
fapesp.br/portal/Faculdade/ Pesquisa%20Operacional. Acesso em 04/07/2006.
PINTO, L.R.; MERSCHMANN, L. H. C. (2001). Planejamento operacional da lavra de
mina usando modelos matemticos. Revista Escola de Minas, v. 54, n. 3, p. 211214.
PINTO, L. R.; BIAJOLI, F. L. e MINE, O. M. (2003). Uso de otimizador em planilhas

eletrnicas para auxlio ao planejamento de lavra. Relatrio tcnico, Programa de


Ps-graduao em Engenharia Mineral, Universidade Federal de Ouro Preto, Ouro
Preto, Minas Gerais.
RODRIGUES, L. F. (2006). Anlise comparativa de metodologias utilizadas no

despacho de caminhes em minas a cu aberto, Dissertao de mestrado, Programa


de Ps-Graduao em Engenharia de Produo, Universidade Federal de Minas
Gerais, 86 p.

113

SOUZA, M. J. F. (2006). Notas de aula do curso Pesquisa Operacional aplicada


Minerao. Programa de Ps-Graduao em Engenharia Mineral, Universidade
Federal de Ouro Preto.
SOUZA, M. J. F. (2007). Notas de aula da disciplina Inteligncia Computacional para
Otimizao. Departamento de Computao, Universidade Federal de Ouro Preto,
disponvel

em

http://www.decom.ufop.br/prof/marcone/disciplinas/Inteligncia

Computacional/IntelignciaComputacional.pdf. Acesso em 08/05/2007.


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

114

Anexo I: PROBLEMAS-TESTE
So caracterizados, a seguir, os dados dos problemas-teste utilizados.

Parmetros de Controle

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

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

Legenda: M = minrio; E = estril; Fe = ferro; Al2O3 = alumina, P = fsforo, PPC =


perda por calcinao; He = hematita especulada.

Tempo de Ciclo dos Caminhes, em minutos

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

Cam1 a
Cam11
10,2
10,2
9,8
7,9
8,6
8
8,7
7,8
8,7
10,2
9,8
7,9
8,6
8
8,7

Cam12 a
Cam30
12,2
12,2
11,7
11,1
10,5
10
10,3
10
10,2
12,2
12
10
10,3
10
10,5

Legenda: Fr = frente; Cam = caminho

115

Capacidade dos caminhes, em toneladas

...

11

12

13

14

15

16

17

18

19

20

...

29

30

50

50

50

50

50

...

50

50

50

50

50

80

80

80

80

80

...

80

80

Capacidade mxima e mnima das carregadeiras, em toneladas


C1

C2

C3

C4

C5

C6

C7

C8

Max

900

900

900

900

1000

1000

1100

1100

Min

250

300

250

300

350

300

400

400

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


carregadeiras

116

Matriz de compatibilidade entre caminhes e carregadeiras


C1

C2

C3

C4

C5

C6

C7

C8

CAM1

CAM2

CAM3

CAM4

CAM5

CAM6

CAM7

CAM8

CAM9

CAM10

CAM11

CAM12

CAM13

CAM14

CAM15

CAM16

CAM17

CAM18

CAM19

CAM20

CAM21

CAM22

CAM23

CAM24

CAM25

117

CAM26

CAM27

CAM28

CAM29

CAM30

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


compatvel

118

Anexo II: Modelo de Programao Matemtica


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

119

! Teor mnimo, teor mximo, teor recomendado, teor;


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

120

! A meta de produo de estril deve ser buscada sempre que possvel;


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

121

! A varivel y deve ser binria;


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

122

Anexo III: Publicaes


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

ARAJO, F.C.R.; SOUZA, M.J.F.; TOLEDO, J.P. Um Mtodo Hbrido, Baseado em

Simulated Annealing e Mtodo da Subida, para Resolver o Problema de Seleo de


Projetos Mineiros Concorrentes: IV Congresso Brasileiro de Mina a Cu Aberto e
IV Congresso Brasileiro de Mina Subterrnea. Belo Horizonte, 2006.

ARAJO, F.C.R.; SOUZA, M.J.F. Planejamento Operacional de Lavra com Alocao


Dinmica de Caminhes: Abordagens Exata e Heurstica. V Congresso Brasileiro de
Mina a Cu Aberto e V Congresso Brasileiro de Mina Subterrnea. Belo Horizonte,
2008.

ARAJO, Francisco Csar Rodrigues; SOUZA, Marcone Jamilson Freitas. Uma


abordagem Heurstica para o Planejamento de Lavra com Alocao Dinmica de
Caminhes. Submetido para publicao na Revista Escola de Minas.

123

S-ar putea să vă placă și