Anda di halaman 1dari 21

1 | Page

Integer Programming Pit Schedule Generation


In CPLEX
Project report submitted for the partial fulfillment of the requirements for the degree of

Bachelor of Technology (Hons.) in


Mining Engineering
By

Bihari Lal Pandey


(11MI31024)
Under the guidance of

Prof. Biswajit Samanta


&
Prof. Ashis Bhattacherjee

Department of Mining Engineering


Indian Institute of Technology
Kharagpur (721302)

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.

---------------------------------------------Bihari Lal Pandey (11MI31024)


Fourth Year Undergraduate Student,
Department of Mining Engineering,
IIT Kharagpur.

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.

I hereby declare that

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.

---------------------------------------------Bihari Lal Pandey (11MI31024)


Fourth Year Undergraduate Student,
Department of Mining Engineering,
IIT Kharagpur.

Date:

4 | Page

Department of Mining Engineering,


Indian Institute of Technology,
Kharagpur

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.

----------------------------------------------

---------------------------------------

(Signature of the Supervisor)

(Signature of the Supervisor)

Prof. Biswajit Samanta

Prof. Ashis Bhattacherjee

Department of Mining Engineering

Department of Mining Engineering

Indian Institute of Technology,

Indian Institute of Technology,

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.

1.1: Brief Introduction of Open-Pit Mine


Open-pit mining is a surface mining operation whereby ore, or waste, is excavated from the
surface of the land. In the process of digging the surface of the land, a deeper and deeper pit is
formed until the mining operation ends.

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.

1.2: Aim of the project


To implement Integer Programming Formulation to Constrained Pit Limit Problem using
CPLEX CP optimizer and Optimization Programming Language Interface.

1.3: Objectives of the project

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

Chapter 2: Literature Review


The earliest work that addresses sequencing together with operational resource constraints, i.e.,
the production scheduling problem, is perhaps found in Johnson (1969), who proposes a very
general linear program to maximize net present value subject to sequencing and operational
resource constraints; he allows for a variable cutoff grade and proposes Dantzig-Wolfe
decomposition to solve model instances. Because of the state of hardware and software at the
time, he illustrates only small examples. Early computational work relies on the following
simplifications: (i) blocks are aggregated into strata, e.g., Busnach et al. (1985), Klingman and
Phillips (1988), and Gershon and Murphy (1989); (ii) binary block extraction decisions are
relaxed to be continuous, e.g., Tan and Ramani (1992), Fytas et al. (1993); and/or (iii) the
monolithic problem is addressed in stages, e.g., Sundar and Acharya (1995), Sevim and Lei
(1998). Heuristics, e.g., genetic algorithms, also appear in the literature, e.g., Denby and
Schofield (1994), Zhang (2006), though the examples tested are small.

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

Boland et al. (2009) propose an aggregation scheme for their production


scheduling model, which assumes a variable cutoff grade and possesses
upper bound constraints on production and processing. The authors
introduce aggregates of blocks grouped by precedence and use this
construct to approximate a solution for the original, mixed integer program.
Gleixner (2008) extends results from this model variant with a different type
of aggregation and also presents ideas for using Lagrangian Relaxation in
this context. Askari-Nasab et al. (2010) present two formulations which rely
on the construct of a mining-cut; this construct helps to aggregate blocks
appropriately.

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.

3.2 Model Assumptions


The standard assumptions made for this approach, most of which were already mentioned above,
can be summarised as outlined by Froyland et al. [19]:

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

limitation on mining and processing activities (resource constraints).

Model Variables and Notation

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

3.4.2 Constrained Pit Limit Problem

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.

3.4.3 Process Constraint Production Schedule Plan


A generalization of (CPIT) determines whether a block, if extracted, is sent to the processing
plant or to the waste dump. In this case, in addition to our variable xbt which equals 1 if we
extract block b in time period t, and 0 otherwise, we employ a second variable, ybdt , which
equals the amount of block b we send to destination d, e.g., a processing facility, in time period t
. We must ensure that a block is only sent to a processing facility if it is extracted. In essence, we
are determining a profit-maximizing extraction sequence of blocks subject to operational
resource constraints, as before, but we are also now determining the location to which these
blocks are sent. Correspondingly, we record the associated profit (or cost), which is no longer
determined a priori, and also the corresponding amount of operational resource usage, which can
differ depending on the destination to which a block is sent. We also allow for side constraints
more general than upper and lower bounds on operational resource consumption. The
precedence constrained production scheduling problem, (PCPSP), consists of solving:

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

4.1.1: Inputs regarding the algorithm:


Total blocks: 1060
Total Constraint:30958

16 | P a g e

Total Decision variable: 7420


Total arcs or edges: 3922
The mine blocks data taken from the above source:

4.1.2 Output of the program


Maximum discounted profit comes out to be 20726813$ and the period taken to mine entire
block is 3 years.
It was achieved after 4737 iteration of Mixed Integer Program. Total 130 nodes were processed
and 90 nodes unprocessed.
Solution statistics can be seen from figure below:

17 | P a g e

Fig 2: Statistics of scheduling problem

Solution is listed for 250 blocks in Appendix.

Iterative Summary of Solution Engine:


Bound incumbent of value 0.000000 after 0.00 sec. (0.35 ticks)
Tried aggregator 6 times.
MIP Presolve eliminated 2120 rows and 1062 columns.
MIP Presolve modified 6 coefficients.

18 | P a g e

Aggregator did 5 substitutions.


Reduced MIP has 28833 rows, 6354 columns, and 69303 nonzeros.
Reduced MIP has 6354 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.22 sec. (376.73 ticks)
Probing time = 0.17 sec. (8.64 ticks)
Tried aggregator 1 time.
Reduced MIP has 28833 rows, 6354 columns, and 69303 nonzeros.
Reduced MIP has 6354 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.06 sec. (86.63 ticks)
Probing time = 0.02 sec. (8.26 ticks)
Clique table members: 41056.
MIP emphasis: balance optimality and feasibility.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 1.34 sec. (1536.05 ticks)

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

---

---

0 2.09940e+007 1768 2072562.0589 2.09940e+007

0 2.09824e+007 1726 2072562.0589

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%

2 2.09060e+007 1290 2.07061e+007 2.07769e+007

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%

3 2.08409e+007 1183 2.07120e+007 2.07769e+007

973

0.31%

5 2.07860e+007 887 2.07120e+007 2.07769e+007

1977

0.31%

11+
11

20+

2.07139e+007 2.07769e+007

9 2.07373e+007 360 2.07139e+007 2.07769e+007


8

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%

Cover cuts applied: 1


Implied bound cuts applied: 1
Gomory fractional cuts applied: 1

Root node processing (before b&c):


Real time

6.46 sec. (4924.64 ticks)

Parallel b&c, 4 threads:


Real time

2.34 sec. (2223.21 ticks)

Sync time (average) = 1.37 sec.


Wait time (average) = 1.38 sec.

20 | P a g e

Total (root+branch&cut) =

8.80 sec. (7147.85 ticks)

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.

5.1 Future Scope:

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.

Anda mungkin juga menyukai