2 | Page
ACKNOWLEDGMENT
I take this opportunity to thank Prof. B. Samanta, Department of Mining Engineering, IIT
Kharagpur for his invaluable guidance and constant encouragement at each and every step of my
thesis work.
Also, I would like to thank, Prof. A. Bhattacharjee, Department of Mining Engineering, IIT
Kharagpur for giving his valuable inputs and experience right through my project work period.
I also owe sincere thanks to Mr. Nayan Maiti, Research Scholar who had helped in carrying out
the execution of algorithms and for constantly enriching my raw knowledge.
Finally, I would like to add that the contents of this report have been made by extensive literature
survey and various sources have been used to finally compile the report. Any error or mistake or
lack of understanding of a particular concept/process would be involuntary and suggestions
regarding the same are most welcomed.
Date:
3 | Page
Declaration
I, Bihari Lal Pandey, 11MI31024, have submitted this report entitled Integer Programming Pit
Schedule Generation In CPLEX in partial fulfillment of the Degree of Bachelors of
Technology (B. Tech.) in Mining Engineering under the guidance of Prof. Biswajit Samanta
and Prof. Ashis Bhattacherjee of Department of Mining Engineering, Indian Institute of
Technology, Kharagpur.
The work contained in this report is original and has been done by me under the guidance
of my supervisors
The work has not been submitted to any other Institute for any degree or diploma
I have followed the guidelines provided by the institute in preparing the report and have
followed the norms and guidelines given in the Ethical Code of Conduct of the Institute.
Date:
4 | Page
Certificate
This is to certify that this Project Report titled Integer Programming Pit Schedule
Generation In CPLEX is a bona-fide record of the work carried out by Bihari Lal Pandey, Roll
No. 11MI31024, for the requirements for the degree of Bachelor of Technology in Mining
Engineering during the academic session 2014-2015, in the Department of Mining Engineering,
Indian Institute of Technology, Kharagpur.
----------------------------------------------
---------------------------------------
Kharagpur
Kharagpur
5 | Page
List of Contents
Chapter 1: Introduction.6
1.1: Brief Introduction Of Open-Pit Mine.6
1.2: Aim of the project....7
1.3: Objectives of the project..7
Chapter 2: Literature Review8
Chapter 3: Model......................................... ...............................................10
3.1: Introduction....................................10
3.2: Model Assumption.10
3.3: Consrtaints..10
3.4:Model Variables and Notations...11
3.4.1: Notation.11
3.4.2:Pit Constrained Problem12
3.4.3:PCPSP13
Chapter 4: Results.15
4.1: Case Study..15
4.1.1: Inputs regarding the Algorithm...15
4.1.2: Output of the code.......16
Chapter 5: Conclusion...19
5.1: Future Scope...19
References.......20
Appendix.21
6 | Page
Chapter 1: Introduction
Mining is the process of extracting a naturally occurring material from the earth to derive
profit. Operations research has been used extensively in mining to plan when and how to
perform both surface and underground extraction; decisions entail how to recover and treat
the extracted material.
Base metals are mostly found close to the surface and can be extracted by the method of open pit
mining: Waste on the top is removed first, until valuable material can be extracted in small pieces
(called mining). As a second procedure, the mined material has to be refined to the final product
(called processing). Mined material will only be processed if the prospective profit exceeds the
cost. The grade of ore at which refinement is no longer profitable(and the material discarded as
waste) is termed cutoff grade.
For the planning of open pit mining operations, the ore body is generally approximated by
subdividing it into small mining units called blocks. This is essentially a discretisation of the ore
7 | Page
body into a three-dimensional array of mostly regular blocks, called the block model, and thus
well-suited for adoption in a mathematical model. A major assumption here, as in many
applications found in the literature, is the complete knowledge of the geological properties of
each block which are essential for mine planning. For open pit mining of base metals it is often
sufficient to know the rock and ore tonnage. Any feasible pit outline has a cash value which can
be computed.
This information is subsequently used to calculate the cost of mining and processing and to make
an assumption about the return that selling the final product will yield. Amongst other things due
to varying metal prices, this involves a considerable level of risk making best- and worst-case
analysis crucial. Furthermore, since a mine is usually operated for several years, the time value
of money has to be accounted for. By discounting the cash flows occurring during each time
period to the present, one obtains the so-called net present value, which is the significant value to
be considered for maximising the profit of a mining operation. Again, we will assume that this
has been taken into account and hence fixed values can be assigned to mining costs and
processing profits for each block.
The open pit production scheduling problem, whose variants we subsequently mathematically
define as Constrained Pit Limit Problem and Process Constrained Pit Limit Problem, seeks to
determine when, if ever, to mine each block in the deposit and what to do with each block that is
extracted, i.e., send it to a particular type of processing plant or to the dump. The objective is to
maximize the net present value gained from the extracted material subject to spatial precedence
constraints, and to various operational constraints. The simplest variant of this problem might
only contain a single (upper bound) operational resource constraint, i.e., a production (or
extraction) upper bound. More complicated variants possess multiple operational resource
constraints, e.g., processing limits, lower bound operational resource constraints, inventory
balance, and/or blending requirements.
The key objective of the project is to implement the Integer Programming Formulation
technique to design Long Term Mine Production Plan.
Write Python scripts for implementing precedence using proper Data Structure.
Execute the model using Optimization Programming Language in CPLEX STUDIO.
8 | Page
Caccetta and Hill (2003) provide an exact approach to solving a monolithic production
scheduling problem by defining variables representing whether a block is mined by time period
t. The model contains precedence constraints, as well as operational resource constraints,
processing plant grade constraints, and inventory balance constraints; they use a fixed cutoff
grade. The authors use a branch-and-cut strategy combined with a heuristic to solve model
instances. Ramazan (2007) assumes a fixed cutoff grade, and includes upper and lower bounds
on processing, and upper bounds on production. He also includes a grade constraint. The author
constructs aggregate fundamental trees to reduce the size of his production scheduling
problem.
Researchers have used Lagrangian Relaxation, e.g., Dagdelen and Johnson
(1986), in order to maximize net present value subject to constraints on
production and processing. Akaike and Dagdelen (1999) extend this work by
iteratively altering the values of the Lagrangian multipliers until the solution
to the relaxed problem meets the original side constraints, if possible.
Kawahata (2006) includes a variable cutoff grade. This research has been
successful at solving some instances, though authors also report difficulty in
obtaining convergence, or even determining a feasible solution for the
monolithic problem.
9 | Page
10 | P a g e
Chapter 3: Model
3.1: Introduction
Integer Programming Model and Mixed Integer Programming Model for solving the problem is
presented. Assumption included in formulation of the model is discussed first followed by
discussion of each model along with their notation and constraints.
A deterministic block model is given as input data. Deterministic here means we know
the geological property like tonnage and grade with full certainty.
mining and processing costs, the selling price of the product and future discount rates are
perfectly known into the future,
the infrastructure is fixed (though not necessarily constant) throughout the life of the
mine (e.g. mining and processing capacities),
grade control is assumed to be perfect (i.e. once a block has been blasted, its content is
precisely known) and
the requirement to maintain safe wall slopes (and remove overlying material before the
underlying) can be modelled as precedence relations between the blocks (i.e. for each
block to be mined, a cone of predecessor blocks has to be extracted previously).
3.3 Constraints
11 | P a g e
Long term open pit scheduling can be viewed as a optimization problem which follows certain
constraints. It basically follows 2 type of constraint beside some other case specific constraint
which may vary from one mine to another:
3.4
removal of overlying blocks before the underlying ones and maintenance of safe wall
slopes (precedence constraints), and
We proceed to set forth three mathematical models relevant to open pit mining. In Sect. 3.1, we
give notation for all three models. Script letters represent set names, while upper- and lower-case
letters in Roman font denote parameters; standard lower-case letters of x and y serve as our
variables. Parameter and variable names decorated with hats or tildes correspond to related
notation that differs by index depending on the model formulation in which it is used. Section 3.2
describes the ultimate pit limit problem. Section 3.3 gives the constrained pit limit problem.
Finally, Sect. 3.4 introduces the precedence constrained production scheduling problem. Sections
3.5 and 3.6 provide a discussion regarding the strength of the formulation and modeling
implications for the three models we set forth, respectively.
3.4.1 Notation
Indices and Set
12 | P a g e
Parameters
Variables
13 | P a g e
(CPIT) takes as inputs (i) a profit per block, (ii) minimum and maximum operational resource
requirements per time period, and (iii) a set of precedences for each block. With these inputs, a
solution to (CPIT) suggests a profit-maximizing schedule subject to operational resource
constraints and constraints regarding precedences between blocks. (CPIT) does not account for
details such as stockpiling.
14 | P a g e
15 | P a g e
Chapter 4: Results
4.1: Case Study
The Management Science & Complex Systems group at Universidad Adolfo Ibanez (UAI) brings
from the school of Business and the Faculty of Engineering & Sciences, a public library of data
for the ultimate pit optimization and pit scheduling.
In this case study the data of a real mine is taken and the block precedence was calculated using
the Spline Interpolation Theory. The block value data was taken from the source mentioned here.
These are the two inputs required for designing ultimate pit using maxflow-mincut algorithm.
The data of the mine is as follows.
Block model: 1060 blocks of unknown size
Block value computation: Extraction cost = tonns * min_caf * 1
Process benefit: (19.29 * Recovery * Grade - Process_cost) * tonns
Process cost = 8.195 (if Type=OXOR), 16.862 (if Type=FRWS or FROR)
The data regarding this can be obtained from: http://mansci-web.uai.cl/minelib/newman1.xhtml
16 | P a g e
17 | P a g e
18 | P a g e
Nodes
Node Left
Cuts/
Objective IInf Best Integer
Best Bound
ItCnt
0+
0.0000 2.47317e+007
0+
2005675.5936 2.47317e+007
---
0+
2072562.0589 2.47317e+007
---
---
Fract: 1
Gap
35 912.95%
125 912.39%
0+
2.06988e+007 2.09824e+007
1.37%
0+
2.07061e+007 2.08204e+007
0.55%
125
Elapsed time = 6.58 sec. (5019.97 ticks, tree = 0.00 MB, solutions = 5)
0.34%
19 | P a g e
3+
2.07120e+007 2.07769e+007
0.31%
973
0.31%
1977
0.31%
11+
11
20+
2.07139e+007 2.07769e+007
2.07269e+007 2.07769e+007
0.30%
2475
0.30%
0.24%
69
38 2.07282e+007
21 2.07269e+007 2.07296e+007
3810
0.01%
106
75 2.07278e+007
5 2.07269e+007 2.07290e+007
4383
0.01%
20 | P a g e
Total (root+branch&cut) =
Chapter 5:
Conclusion
Set mapping was used to implement precedence relations. Constrained programming engine of
CPLEX was used to find approximate solution. Being a NP-Hard problem its worst case
convergence time is very high (exponential).But actual running time depends on particular data
instances (not size) and hence vary from case to case Decision variable was modeled in
cumulative fashion rather than individually. This resulted in effective reduction in running time
of MIP. Addition of processing constraint increases the expected running time.
Use of CP engine was due to the unpredictable nature of convergence of integer programming
problem. Cp engine iterate over the decision variable domain searching for optimal solution and
hence it gives greater control over the running time in comparison to convergence time of Mixed
Integer Program. Cumulative nature of boolean decision variable further reduced the number of
iteration CP engine had to make.
Instead of taking a deterministic ore body model a stochastic model can be considered as
is generally the case. This model can be further developed by making the degree of
uncertainty vary with the time.
We can improve the model by giving it an efficient initial solution which will result in
improved converging time. Behaviour of convergence time depending on the different
initial solution generated can also be analyzed in attempt to develop a mathematical
model.
21 | P a g e
References:
1. Askari-Nasab, H., Awuah-Offei, K., & Eivazy, H. (2010). Large-scale open pit production
scheduling using mixed integer linear programming. International Journal of Mining and
Mineral Engineering, 2, 185214.
2. Klingman, D., & Phillips, N. (1988). Integer programming for optimal phosphate-mining
strategies. Journal of the Operational Research Society, 39(9), 805810.
3. Bienstock, D., & Zuckerberg, D. (2009). A new LP algorithm for precedence constrained
production
scheduling.
Optimization
Online.
URL:http://www.optimizationonline.org/DB_HTML/2009/08/2380.html.
4. Boland, N., Dumitrescu, I., Froyland, G., & Gleixner, A. (2009). LP-based disaggregation
approaches to solving the open pit mining production scheduling problem with block processing
selectivity. Computers & Operations Research, 36(4), 10641089.
5. Daniel Espinoza, Marcos Goycoolea, Eduardo Moreno & Alexandra N. Newman
(2012) MineLib: A Library of Open Pit Mining Problems, Ann. Oper. Res. 206(1), 91-114.
6. Caccetta, L., & Hill, S. (2003). An application of branch and cut to open pit mine scheduling.
Journal of Global Optimization, 27(23), 349365.
7. Denby, B., &Schofield, D. (1994). Open-pit design and scheduling by use of genetic
algorithms. Transactions of the Institution of Mining and Metallurgy, Section A: Mining Industry,
103, A21A26.
8. Gleixner, A. (2008). Solving large-scale open pit mining production scheduling problems by
integer programming. Masters thesis, Technische Universitt Berlin.
9. Ramazan, S. (2007). The new fundamental tree algorithm for production scheduling of open
pit mines. European Journal of Operational Research, 177(2), 11531166.