Report

28
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

description

Scheduling open cast mine

Transcript of Report

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

ByBihari Lal Pandey(11MI31024)

Under the guidance of Prof. Biswajit Samanta&Prof. Ashis Bhattacherjee

Department of Mining EngineeringIndian Institute of TechnologyKharagpur (721302)18 | 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:Bihari Lal Pandey (11MI31024)Fourth Year Undergraduate Student,Department of Mining Engineering,IIT Kharagpur.

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.

---------------------------------------------- Date:Bihari Lal Pandey (11MI31024)Fourth Year Undergraduate Student,Department of Mining Engineering,IIT Kharagpur.

Department of Mining Engineering,Indian Institute of Technology,KharagpurCertificateThis 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 BhattacherjeeDepartment of Mining Engineering Department of Mining EngineeringIndian Institute of Technology, Indian Institute of Technology,Kharagpur Kharagpur

List of Contents

Chapter 1: Introduction.61.1: Brief Introduction Of Open-Pit Mine.61.2: Aim of the project....71.3: Objectives of the project..7

Chapter 2: Literature Review8Chapter 3: Model......................................... ...............................................103.1: Introduction....................................103.2: Model Assumption.103.3: Consrtaints..103.4:Model Variables and Notations...113.4.1: Notation.113.4.2:Pit Constrained Problem123.4.3:PCPSP13Chapter 4: Results.154.1: Case Study..154.1.1: Inputs regarding the Algorithm...154.1.2: Output of the code.......16

Chapter 5: Conclusion...195.1: Future Scope...19References.......20Appendix.21

Chapter 1: Introduction

Mining is the process of extracting a naturally occurring material from the earth to deriveprofit. Operations research has been used extensively in mining to plan when and how toperform both surface and underground extraction; decisions entail how to recover and treatthe extracted material.1.1: Brief Introduction of Open-Pit MineOpen-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 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 projectTo 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.

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.

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.

Chapter 3: Model3.1: IntroductionInteger 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 AssumptionsThe 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 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: 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).

3.4 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

Parameters

Variables

3.4.2 Constrained Pit Limit Problem

(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:

Chapter 4: Results

4.1: Case StudyThe 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:30958Total Decision variable: 7420 Total arcs or edges: 3922The mine blocks data taken from the above source:

4.1.2 Output of the programMaximum 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:

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.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 Cuts/ Node Left Objective IInf Best Integer Best Bound ItCnt Gap

* 0+ 0 0.0000 2.47317e+007 --- * 0+ 0 2005675.5936 2.47317e+007 --- * 0+ 0 2072562.0589 2.47317e+007 --- 0 0 2.09940e+007 1768 2072562.0589 2.09940e+007 35 912.95% 0 0 2.09824e+007 1726 2072562.0589 Fract: 1 125 912.39%* 0+ 0 2.06988e+007 2.09824e+007 1.37%* 0+ 0 2.07061e+007 2.08204e+007 0.55% 0 2 2.09060e+007 1290 2.07061e+007 2.07769e+007 125 0.34%Elapsed time = 6.58 sec. (5019.97 ticks, tree = 0.00 MB, solutions = 5)* 3+ 1 2.07120e+007 2.07769e+007 0.31% 3 3 2.08409e+007 1183 2.07120e+007 2.07769e+007 973 0.31% 7 5 2.07860e+007 887 2.07120e+007 2.07769e+007 1977 0.31%* 11+ 7 2.07139e+007 2.07769e+007 0.30% 11 9 2.07373e+007 360 2.07139e+007 2.07769e+007 2475 0.30%* 20+ 8 2.07269e+007 2.07769e+007 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: 1Implied bound cuts applied: 1Gomory 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. 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.

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.optimization-online.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.