• Sonuç bulunamadı

4.2.1 Características Gerais

O programa de computador Evolpit desenvolvido em VBA na plataforma

Windows, trabalha a partir de um arquivo ASCII que contem informações relativas a

um recurso mineral que, por sua vez, é representado por um modelo de blocos.

O modelo de recursos utilizado é uma adaptação do modelo apresentado por L&G onde se pode trabalhar com até 22 seções totalizando até 6.776 blocos (22 linhas, 22 colunas e até 14 níveis).

A função de mérito (objetivo) inserida no algoritmo foi a de maximização do valor não descontado da cava final (otimização mono objetivo).

Visando a aplicação de parte da teoria que engloba os algoritmos genéticos, existem os seguintes recursos no código do algoritmo implementado:

Parâmetros de entrada:

- Modelo de blocos:

- Origem;

- Tamanho dos blocos;

- Tamanho do modelo de blocos.

- Parâmetros de controle de loop:

- Tamanho da população;

- Probabilidade de cruzamento;

- Probabilidade de mutação;

- Percentual de elitismo;

40

Resultados:

- Visualização das informações do modelo de blocos processado;

- Resultados de todos os indivíduos da população por geração;

- Visualização dos blocos lavrados através de seções verticais;

- Resumo dos resultados no caso de processamento de mais de um cenário de lavra.

4.2.2 Interface de parâmetros

Assim que é carregada na memória, a interface responsável pela entrada dos parâmetros a serem utilizados pelo programa é exibida conforme figura a seguir:

41

4.2.2.1 Modelo de Blocos

Origem: definem-se as coordenadas x,y e z que correspondem ao vértice do

canto superior anterior esquerdo do paralelepípedo que representa o modelo de recursos em blocos discretizados de mesmo tamanho.

Tamanho dos Blocos: refere-se aos tamanhos de cada bloco regular, nas

direções dos três eixos do paralelepípedo (x,y e z). Ressalta-se que todos os blocos possuem o mesmo tamanho, ou seja, o algoritmo não trabalha com sub-blocos.

Tamanho do modelo: define as dimensões do paralelepípedo relativo ao

modelo de blocos nas três direções (linhas, colunas e níveis).

Estrutura do arquivo de modelo de blocos: Arquivo ASCII separado por vírgulas

contendo seis colunas, necessariamente na seguinte ordem:

1) Número da linha de cada bloco do modelo;

2) Número da coluna de cada bloco do modelo;

3) Número do nível de cada bloco do modelo;

4) Valor monetário do bloco (poderá ser positivo ou negativo).

Salienta-se que, na primeira linha, devem existir as descrições de cada coluna do arquivo.

4.2.2.2 Parâmetros de controle de loop

Semente: parâmetro utilizado para criação de números aleatórios no algoritmo.

Esse parâmetro é importante para se obter repetibilidade dos cenários avaliados.

População: tamanho da população que será utilizada no algoritmo genético. O

tamanho máximo da população permitido nesse código é de 2000 indivíduos.

Cruzamento: refere-se à taxa de cruzamento que será utilizada no algoritmo

42

Mutação: refere-se à taxa de mutação que será utilizada no algoritmo genético.

Geralmente varia de 0,001 a 0.1.

Elitismo: será a taxa utilizada para cópia do melhor indivíduo de cada geração.

Por exemplo, uma taxa de 0,2 em uma população de 100 indivíduos: serão copiados 20 indivíduos iguais ao melhor indivíduo da geração. Mesmo com uma taxa de zero, o algoritmo sempre manterá o melhor indivíduo em cada geração.

4.2.3 Resultados

Após o processamento dos cálculos, são geradas várias planilhas conforme descrito a seguir:

4.2.3.1 Modelo Lido

A planilha Model_CSV contem os parâmetros referentes à posição geométrica

dos blocos (linha, coluna e nível), bem como ao valor monetário de cada bloco.

4.2.3.2 Visualização seções verticais

Serão geradas tantas planilhas de linhas quantas existirem no arquivo de modelo de blocos lido. Terão o nome r_nome da linha, por exemplo: r1 que representa a linha (row) 1. A figura a seguir exibe a seção vertical referente à linha 1 de um modelo de blocos de apenas uma linha:

-4 -4 -4 -4 -4 8 12 12 0 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 0 12 12 8 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 8 12 12 0 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 0 12 12 8 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 8 12 12 0 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 0 12 12 8 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 8 12 12 0 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 0 12 12 8 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 8 12 12 0 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4

43

4.2.3.3 Planilhas auxiliares

PopIni: contem os dados referentes à população inicial cujos valores podem ser

verdadeiro (extrair bloco) ou falso (não extrair bloco).

PopFit: contem os valores da aptidão calculada para cada individuo para todas

as gerações.

NCopias: contem o número de cópias de cada indivíduo calculado pelo

algoritmo genético de acordo com a sua aptidão.

Resultados Grupo: Caso sejam utilizadas algumas opções de loop, o resultado

dos melhores indivíduos de cada condição simulada será armazenado nessa planilha.

4.2.3.4 Planilha de Resultados

Nessa planilha, cada célula representa um indivíduo, ou seja, uma cava final. O valor contido em cada célula representa o valor não descontado do lucro da cava. Cada linha representa uma geração. Assim, o número de linhas da planilha será igual ao número de gerações definido na interface de parâmetros. O número de colunas será equivalente ao tamanho da população utilizado.

4.2.3.5 Seções verticais cava final

A geometria final da cava final será visualizada por meio de seções verticais conforme a figura a seguir:

FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

44

Nessa figura, cada célula representa um bloco. Os blocos que serão lavrados estão na cor verde e possuem valor verdadeiro (true). Já os blocos em amarelo representam os blocos que permanecerão in situ e possuem valor falso (false).