Reviewing The Long Term Production Scheduling Construction Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

An optimum long term production schedule of cement quarry operations is a combination of best annual feasible block extraction sequences having the least mining cost and a minimum deviation from the required quality parameters.

Genetic algorithms, when applied to scheduling, view production schedules as individuals or chromosomes. Each chromosome is characterized by its fitness. The fitness of a chromosome is measured by the associated values of objective functions. GA works iteratively, and each iteration is called a generation. Each generation consists of a population of chromosomes. A population comprises new schedules or children generated from the previous generation plus schedules surviving from the previous generation. Population size of each generation usually remains constant, as the generations' progress. Reproduction and mutation operators are applied to the individuals that were part of the previous generation (the parents), to produce children. Most fit individuals in each generation reproduce, while the least fit die. The birth, death and reproduction processes that determine the composition of the next generation can be complex, and usually depend on the fitness levels of the individuals of the current generation (Pinedo, 2005).

A bi-objective modified non-dominated sort based genetic algorithm (BiOGA) is developed to search for the optimum long term production schedules for cement quarry operations. A simplified general flow chart showing steps of BiOGA is shown in Figure 3.1.

Bi-Objective Genetic Algorithm

Annual production schedules are generated and the best ones are selected using BiOGA. A number of considerations need to be made for BiOGA. These include;

Figure 3.1 Simplified general flow chart showing the steps of BiOGA

Problem representation

Selection of genetic parameters

Generation of initial population

Fitness function and

Selection of genetic operators

Bi-objectives constitute the fitness function of BiOGA. These bi-objectives are;

Minimizing the discounted mining cost and

Minimize the cumulative annual deviation of major oxides including SiO2, CaO, Al2O3, and Fe2O3 from the specified quality requirements.

Appropriate representation of solution of production scheduling problem as a chromosome is an important aspect of BiOGA. The specific properties of production scheduling are analyzed to decide about proper representation, genetic parameters, fitness function and genetic operators for BiOGA. These properties can be termed as deposit description and includes block model, deposit orientation and direction of mining.

Deposit Description

The deposit description includes block model, deposit orientation, direction of mining and number of blocks mined per year. Block model is a distinguishing property of production scheduling for cement quarry operations and includes information regarding the quality and quantity of the deposit. A description of the information stored in a block model is given in Table 3.1.

Two other important properties are deposit orientation and direction of mining. These properties of two cement quarry operations in Pakistan are shown in Figure 3.2 and 3.3. Satellite imagery of Bestway Cement Plant Hattar, Pakistan and the adjacent quarry operations is shown in Figure 3.2. Deposit orientation and direction of mining are also highlighted. Deposit orientation is North-West while the direction of mining is towards South-West. Contour map of DG Khan Cement Company (Khairpur plant) quarry operations area is shown in Figure 3.3. Deposit orientation is South-East while the direction of mining is towards South.

Parameters for Bi-Objective Genetic Algorithm

Various genetic algorithm parameters are to be used for implementing the BiOGA to search for the optimum long term production schedule. Appropriate values for these parameters are selected. These parameters are;

Number of variables: This is the total number of blocks in the block model.

Number of objective functions: This is a bi-objective optimization problem and has two objective functions.

Population size: Size of population is variable and gives the number of production schedules generated.

Generation gap: This assures that a certain number of individuals will always propagate through to successive generations.

Crossover rate: This crossover rate is an optional parameter and indicates that how many individuals in a chromosome will go through the crossover operator. In the case of tournament selection crossover rate is not used and is taken as 1.

Maximum number of generations: This will dictate the number of iterations the algorithm goes through.

Table 3.1 Description of the information stored in a block model



Block ID

A block ID is a unique identifier for each block


This is one of the location parameter and indicates the easting of a block


This is the 2nd location parameter indicating the northing of a block


This is the 3rd location parameter indicating the elevation of a block

Size X

This indicates the size of block along easting

Size Y

This indicates the size of block along northing

Size Z

This indicates the bench height


This indicates the volume in m3 in a block


This indicates the tons of material in each block

Mining Cost

This indicates the mining cost in Rs. of a block


This is one of the quality parameter showing block's percentage Al2O3 content


This is the 2nd quality parameter showing block's percentage CaO content


This is the 3rd quality parameter showing block's percentage Fe2O3 content


This is the 4th quality parameter showing block's percentage SiO2 content


This is the 5th quality parameter showing block's percentage MgO content


This is the 6th quality parameter showing block's percentage K2O content


This is the 7th quality parameter showing block's percentage LOI content

Figure 3.2 Satellite imagery of Bestway cement plant and quarry operations

Figure 3.3 Contour map DG Khan Cement (Khairpur Plant) quarry area

Insertion rate: The insertion rate specifies that only a certain percentage of the individuals produced at each generation are reinserted into the population.

Number of sub populations: This parameter is used to divide the single population into multiple sub populations. Each sub population evolves over generations and from time to time individuals migrate from one subpopulation to another.

Migration rate between sub populations: This indicates that a migration will occur between sub populations after a certain number of generations. A migration rate of 30 % or 0.3 means that a migration will occur after every 30 generations.

Number of individuals per sub population: This parameter defines the number of individuals in each sub population.

Once GA parameters are decided, a proper problem representation is employed.

Problem Representation

Production scheduling problem is represented as an array that encodes mining sequence of blocks. This mining sequence is a combination of all the blocks and each of this combination represents a candidate optimum production schedule (candidate solution) or a chromosome. A chromosome is represented as an array encoding the block ID and mining sequence of each block. Length of an array is equal to the number of blocks. A sample chromosomes is shown in Figure 3.4

Block ID

Year of Mining





. . . .













Figure 3.4 Representation of production schedule as a chromosome

A chromosome or a feasible production schedule is one that satisfies mining constraints. These constraints are;

Block precedence constraint and

Minimum bench width constraint

Block precedence means that only exposed blocks can be mined. Similarly for a block to be mined there should be enough required space (bench width) for machinery to maneuver. Multiple chromosomes are generated as the initial population.

Initial Population

The algorithm works on a population of candidate solutions. Number of production schedules in initial population equals the value of BiOGA parameter population size. Each member of initial population is generated in steps. These steps are explained using a sample data shown in Figure 3.5. Sample data constitutes 215 blocks at 4 benches.

Top bench

2nd bench

3rd bench

Lowest bench

Figure 3.5 Sample data

Flow chart of generating a feasible production schedule for the initial population is shown in Figure 3.6. The steps involved in generating the initial population are as follows;

Initially Exposed and Minable Blocks

A list of initially exposed blocks is generated. Depending upon the direction of mining, all the blocks having maximum or minimum values of easting are the initially exposed blocks. If mining constraint of minimum bench width is satisfied, these initially exposed blocks are the candidate base blocks to be mined first. Exposed blocks and blocks violating minimum bench width constraint are shown in Figure 3.7.

if random # =1

if all blocks are mined

Check mining constraints

Select blocks to be mined in the next period

if all blocks are Not mined

if population size < max*

if population size >= max

Classify blocks as minable, not minable, preferred minable and best minable

Generate a long term production schedule

Return all annual production schedules

if random # =0

Check the Population size count

Check if all blocks are mined or not

Generate a list of exposed blocks

Select two base blocks

Select a 3rd base block

Generate a random binary integer

Mine the base blocks and store as mined blocks

Update list of exposed blocks

Check mining constraints

(Block precedence and minimum bench width) constraints

Generate list of minable exposed block

Increment population size count by 1

max* stands for number of maximum generations

Figure 3.6 Flow chart of generating a feasible production schedule

Exposed blocks

Blocks violating minimum bench width constraint

Figure 3.7 Exposed blocks and blocks violating minimum bench width constraint

Base Block Selection

Multiple base blocks at multiple benches are selected at random. These blocks are the first to be mined. Selection of base blocks is a conditional random selection because the blocks selected for mining needs to satisfy mining constraints. One block each at the top and lowest bench is selected while an optional third base block at one of the intermediate benches may also be selected. Randomly selected base blocks from sample data are shown in Figure 3.8.

Base block

Block violating minimum bench width constraint

Figure 3.8 Base blocks and blocks violating minimum bench width constraint

Generate Chromosome

A chromosome is a feasible long term production schedule. A conditional random feasible mining sequence for the entire blocks is generated. Conditional random selection of a block, for mining, is based on the number of exposed sides or free faces. Blocks are categorized, based on the number of free faces, as minable (having a single free face), preferred minable (having two free faces) and best minable (having three free faces). An exposed block may have one or multiple free faces. The blocks having multiple free faces (preferred minable and best minable) are given preference to be mined before the blocks having a single free face (minable blocks).

Mining sequence is generated taking into consideration both the mining constraints of block precedence and minimum bench width. The status of a block changes from available block to mined block, once it is selected for mining, similarly the status of its neighboring blocks i.e. the block on the left, right and back side might also change. The block on the back of a mined block gets exposed and becomes minable. Similarly the blocks on the left and right might get more exposed and become preferred minable or best minable and hence are preferred for mining in the next period. Mining progresses as the blocks are selected for the next period, till all the blocks are mined and a complete long term production schedule or a chromosome is generated. A complete mining sequence of sample data is shown in Figure 3.9. Numbers on blocks are indicating the sequence of mining.

Fitness Function

The fitness of each long term production schedule is calculated based on bi-objective functions. These bi-objective functions are a distinguishing feature of production scheduling for cement quarry operations. The first objective function is a cost minimization function. The present worth of cost (PWC), of blocks mined in each year, is calculated as the total sum of discounted mining costs of all the blocks. Any appropriate value for discount rate can be used in calculating the PWC using the formula;

(3.1) where n = Number of periods or years

The second objective function is to minimize the cumulative annual deviation of major oxides including SiO2, CaO, Al2O3, and Fe2O3 from the specified quality requirements. Average percentage content of major oxides (SiO2, CaO, Al2O3, Fe2O3) in the blocks mined in year 1 is calculated. These values are compared with the

(a) Initial stage (b) Base block selection

(c) 1st stage (d) 2nd stage

(e) 3rd stage (f) 4th stage

(g) 5th stage (h) 6th stage

(i) 7th stage (j) 8th stage

(k) 9th stage (l) Final stage

Figure 3.9 Mining Sequences of sample data

required percentage content of major oxides, to calculate the percentage difference between the two. These percentage differences for the 4 major oxides are summed to get a percent annual deviation of major oxides from the desired percent contents in year 1. Similarly percent annual deviations for the rest of the years are calculated. Averaging the sum of all percent annual deviations gives the cumulative annual deviation of major oxides of a production schedule. Based on the bi-objective function values of each production schedule in a population, Pareto optimal fronts are identified and ranked accordingly.

A crowding distance between each production schedule in each Pareto front is calculated. The best production schedules are tracked based on the rank and crowding distance and have more chances to be selected as parents in the next generation. GA operators are applied for the selection, cross over and mutation of production schedules.

Genetic Operators

Genetic operators are used to generate an offspring population. The operators applied are;

Tournament selection

Order Crossover and

Mutation (rectification) of long term production schedules

Tournament Selection

Tournament selection is one of the selection operators (policies) for selecting the individuals (long term production schedules) for the next mating pool. In this approach a small subset (two or three) from the population are picked randomly and the individual production schedules with the lowest Pareto front rank in this subset becomes a parent. If the rank of all production schedules in the subset is same, the selection is made on the basis of crowding distance. A production schedule having the maximum crowding distance is selected as a parent for the next generation. The tournament repeats for every parent needed. By varying the tournament size the selection pressure can be adjusted.

Order Crossover

Mining constraints and the specific nature of production scheduling problems restrict the application of standard crossover and mutation operators as they would result in infeasible solutions. Production scheduling of quarry operations is one of the optimization problems that involves mining blocks in a feasible sequence. A block can only be mined only if it satisfies the mining conditions and also a block cannot be mined more than once. Various crossover operators like partially matched crossover, order based crossover and cycle crossover etc. are used in these types of optimization problems.

BiOGA uses order two point crossover operator. This type of crossover insures the validity of new production schedules. Mining sequence of one production schedule is changed according to that of another. Working of an order two point crossover is explained by considering the following example. Given two parent chromosomes, two random crossover points are selected partitioning them into a left, middle and right portion. The ordered two-point crossover behaves in the following way. "Child 1 inherits its left and right section from parent 1, and its middle section is determined by the genes in the middle section of parent 1 in the order in which the values appear in parent 2. A similar process is applied to determine child 2" (Sivanandam, 2008).

An example of order two point crossover is shown in Figure 3.10.

Crossover points

Parent 1: 7 3 |6 1 4 | 2 5 8 Child 1: 7 3 | 4 6 1 | 2 5 8

Parent 2: 5 2 |3 8 4 | 7 6 1 Child 2: 5 2 | 3 4 8 | 7 6 1

Figure 3.10 Order crossover

Mutate / Rectify Offspring Chromosome

The new production schedules (offsprings) generated after applying crossover operator may become infeasible due to a violation of mining constraints. Although the order crossover ensures the block precedence constraints, still there can be a few blocks that need to be modified. These slight modifications in the production schedule are treated as mutation.

Evaluate Offsprings and Generate New Population

An intermediate population of production schedules is generated by combining the offspring population with the current generation population. The population size is almost one and half times the initial population. Population, containing initial and offspring population, is sorted based on non-domination. The structure of Pareto based modified non-dominated sort genetic algorithm (NSGA-II) is shown in Figure 3.11.

Generate P0 at random

P0 = (F1, F2,...) = Non-dominated-sort (P0)

for all Fi ∈ P0

Assign-crowding-distance (Fi)

t = 0

while (not done) do

Generate child population Qt from Pt

Rt = Pt ∪ Qt

F = (F1, F2,...) = Non-dominated-sort(Rt)

Pt+1 = ∅ i = 1

while |Pt+1| < N do

Assign-crowding-distance (Fi)

Pt+1 = Pt+1 ∪ Fi

i = i + 1



Pt+1 = Pt+1[0 : N]

t = t + 1


Figure 3.11 The NSGA-II algorithm (Jensen, 2001)

The new generation is produced, as each front is filled in ascending order one by one. This ensures that only the best solution is selected based on it rank and crowding distance. If the addition of a complete front results in exceeding the population size, the production schedules in that particular front are sorted on the basis of their crowding distance. These production schedules are added one by one until the population size is reached. This process ensures elitism as all the previous and current best production schedules are added in the population.

Generating Optimum Long Term Production Schedules

Once a new generation is produced genetic operators are used to generate another offspring population and the process repeats to generate the subsequent generations. BiOGA is a stochastic search and optimization technique. To specify convergence criteria for BiOGA is difficult. Generally genetic algorithms are instructed to terminate after a specified number of generations and then test the quality of the best members of the population. One can generate optimum results after a certain number of generations and using different values for various genetic algorithm parameters (Chipperfield, 1994).

The final population after a certain number of iterations gives a set of multiple sub-optimal (or at times optimal) long term production schedules. These long term production schedules are further used for generating optimal short term production schedules using mixed integer linear programming.