371
targets are met for all the processing plants in each period with any deviations from the
upper and lower limits of tonnage requirements being penalized in the objective function.
Similarly, constraints (8) and (9) ensure that the target grade requirements for all the elements are met as closely as possible for all the plants in each period. Again, any deviations
from the upper and lower limits of grade requirements for every element are penalized in
the objective function. Constraint (10) and (11) ensure that the average grade of element e
in the material sent to the stockpiles is within the acceptable grade range. Constraint (12)
ensures that the inventory of a stockpile at any point cannot exceed its capacity. Constraint
(13) and (14) are concerned with the flow of materials from the stockpiles. They ensure that
the amount of material reclaimed from a stockpile at a period cannot exceed the inventory
of that stockpile at the end of previous period. Constraint (15) and (16) ensure that the
average grade of element e sent to the waste dumps is within the acceptable grade range of
the dump.
3 GENETIC ALGORITHM BASED SOLUTION APPROACH
The industrial scale instances of short-term production scheduling problem of multiple
mines can be a huge problem containing close to thousand to millions of variables and
constraints. Such problems cannot be solved by standard solvers within a reasonable amount
of time (Mousavi et al. 2014). This paves the way for heuristic techniques which can give
suboptimal solutions for such problems within a reasonable amount of computational time.
In this section, the popularly known genetic algorithm that has been customized to solve
such problems is presented.
3.1 Encoding of schedules
Genetic algorithm relies on encoding of data from phenotype (physical) to genotype (gene)
form. In this work, the production schedule i.e. the sequence in which the blocks would be
extracted from the mines is expressed as an array of integers (from left to right) with the
integers being the ID’s of blocks. Also, the time period at which a particular block would be
extracted is determined on the basis of its position in the array as well as the mining capacity of the mine. Figure 1 shows the encoding procedure for a sample 2D block model with a
mining capacity of 3 blocks per period.
3.2 Generation of initial population
Generation of initial population is the first step in the implementation of any genetic algorithm. In this study, topological sorting technique has been used for the same. In this technique, the block arrangement is first converted into a directed graph with the blocks forming
the nodes and the precedence relationships between the blocks forming the arcs. The arcs are
directed from a block to all its predecessors. To generate sequences for a mine, a node, of all
the nodes having no outgoing arcs, is randomly selected from the graph. The selected node,
along with all its incoming arcs, is then removed from the directed graph. This process is then
repeated until all the nodes have been removed from the graph. The order in which the nodes
are removed gives a sequence for the mine.
Figure 1. (a) Sample 2D block model; (b) Phenotype representation; (c) Genotype representation.
2 3 4 5
Block
T ime
I 11 21 31 6141 71sls l 91
ldenti ficaPeriod' s
~~~
6
7 8
tion Num2 2 3
Index
9
ber
3
Period 1
Period 2
Period 3
targets are met for all the processing plants in each period with any deviations from the
upper and lower limits of tonnage requirements being penalized in the objective function.
Similarly, constraints (8) and (9) ensure that the target grade requirements for all the elements are met as closely as possible for all the plants in each period. Again, any deviations
from the upper and lower limits of grade requirements for every element are penalized in
the objective function. Constraint (10) and (11) ensure that the average grade of element e
in the material sent to the stockpiles is within the acceptable grade range. Constraint (12)
ensures that the inventory of a stockpile at any point cannot exceed its capacity. Constraint
(13) and (14) are concerned with the flow of materials from the stockpiles. They ensure that
the amount of material reclaimed from a stockpile at a period cannot exceed the inventory
of that stockpile at the end of previous period. Constraint (15) and (16) ensure that the
average grade of element e sent to the waste dumps is within the acceptable grade range of
the dump.
3 GENETIC ALGORITHM BASED SOLUTION APPROACH
The industrial scale instances of short-term production scheduling problem of multiple
mines can be a huge problem containing close to thousand to millions of variables and
constraints. Such problems cannot be solved by standard solvers within a reasonable amount
of time (Mousavi et al. 2014). This paves the way for heuristic techniques which can give
suboptimal solutions for such problems within a reasonable amount of computational time.
In this section, the popularly known genetic algorithm that has been customized to solve
such problems is presented.
3.1 Encoding of schedules
Genetic algorithm relies on encoding of data from phenotype (physical) to genotype (gene)
form. In this work, the production schedule i.e. the sequence in which the blocks would be
extracted from the mines is expressed as an array of integers (from left to right) with the
integers being the ID’s of blocks. Also, the time period at which a particular block would be
extracted is determined on the basis of its position in the array as well as the mining capacity of the mine. Figure 1 shows the encoding procedure for a sample 2D block model with a
mining capacity of 3 blocks per period.
3.2 Generation of initial population
Generation of initial population is the first step in the implementation of any genetic algorithm. In this study, topological sorting technique has been used for the same. In this technique, the block arrangement is first converted into a directed graph with the blocks forming
the nodes and the precedence relationships between the blocks forming the arcs. The arcs are
directed from a block to all its predecessors. To generate sequences for a mine, a node, of all
the nodes having no outgoing arcs, is randomly selected from the graph. The selected node,
along with all its incoming arcs, is then removed from the directed graph. This process is then
repeated until all the nodes have been removed from the graph. The order in which the nodes
are removed gives a sequence for the mine.
Figure 1. (a) Sample 2D block model; (b) Phenotype representation; (c) Genotype representation.
2 3 4 5
Block
T ime
I 11 21 31 6141 71sls l 91
ldenti ficaPeriod' s
~~~
6
7 8
tion Num2 2 3
Index
9
ber
3
Period 1
Period 2
Period 3
