269
Applications of Integer Programming in Open Pit Mining Christopher Fricke Department of Mathematics and. Statistics The University of Melbourne August 2006 Submitted in total fulfillment of the requirements of the degree of Doctor of Philosophy Produced on archival quality paper

Applications of integer programming in open pit mining: (2006)

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Applications of integer programming in open pit mining: (2006)

Applications of Integer Programming in

Open Pit Mining

Christopher Fricke

Department of Mathematics and. Statistics

The University of Melbourne

August 2006

Submitted in total fulfillment of the requirements

of the degree of Doctor of Philosophy

Produced on archival quality paper

Page 2: Applications of integer programming in open pit mining: (2006)

Abstract

This thesis considers the application of integer programming techniques to solve the

open pit mine production scheduling problem. The objective of this research is to extend

the current state-of-the-art, to reduce the computational requirements for determining

optimal integer solutions, and to allow larger problem instances to be solved. This will

afford mine planning practitioners increased flexibility when designing long-term mine

plans, since a greater range of scenario analysis will be able to be undertaken in a short

period of time. This in turn will lead to the development of schedules that are more robust

to the inherent geological uncertainty present in any mine planning problem, and hence

reduce the variability of realised mining production. Since the formulations considered

are the most general structures possible for this application, the results presented are also

applicable to, and beneficial for, related, more complex optimisation problems in mining,

such as blending and stochastic mine planning problems.

We derive a relationship between the state-of-the-art binary integer programming for-

mulation for the open pit mine production scheduling problem, and a simpler integer

programming structure called the precedence constrained knapsack problem. We present

a new approach for determining facets of the precedence constrained knapsack polyhedron

based on clique inequalities. It is shown that the clique-based approach can generate facets

that cannot be found through existing techniques, which consider the lifting of knapsack

cover inequalities for the precedence constrained knapsack polyhedron. In addition, we

introduce a new problem, named the continuous precedence constrained knapsack prob-

lem. Investigation of this problem is motivated by the derivation of a relationship with the

state-of-the-art mixed integer programming formulation for the open pit mine production

scheduling problem. Valid inequalities for the continuous precedence constrained knapsack

polyhedron are derived by adapting both existing and new approaches for the precedence

constrained knapsack problem.

The new valid inequalities derived for the precedence constrained knapsack and con-

tinuous precedence constrained knapsack problems are used to strengthen the binary and

mixed integer programming formulations of the open pit mine production scheduling prob-

lem respectively. Testing of these enhanced formulations on data sets provided by our

research partner demonstrates that the time and memory requirements to determine the

optimal integer solutions are reduced, in many cases by a significant margin. It is also

shown that these formulations are able to solve larger problem instances to optimality

than was previously possible.

We also develop a suite of new heuristics to quickly find good feasible integer solutions

to the open pit mine production scheduling problem. The methodologies used are based

upon the adaptation of existing solution approaches for the ultimate pit problem, a simpler

optimisation problem in open pit mining, as well as the use of other integer programming

techniques including Dantzig-Wolfe decomposition and column generation.

Page 3: Applications of integer programming in open pit mining: (2006)

Declaration

This is to certify that:

1. this thesis comprises only my original work, except where

2. due acknowledgement has been made in the text to all other material used,

3. the thesis is less than 100,000 words in length, exclusive of tables, maps, bibliogra-

phies and appendices.

Signed:

Page 4: Applications of integer programming in open pit mining: (2006)

Preface

The following sections of this thesis are substantially based upon work published or sub-

mitted for publication elsewhere, or include collaborative work.

1. Parts of Chapters 4 and 5 are based upon `A strengthened formulation for the open

pit mine production scheduling problem', by N. Boland, C. Fricke and G. Froyland,

submitted for publication and under review.

2. Parts of Chapter 5 are based upon `Clique-based facets for the precedence con-

strained knapsack problem', by N. Boland, C. Fricke, G. Froyland and R. Sotirov,

submitted for publication and under review.

Page 5: Applications of integer programming in open pit mining: (2006)

Acknowledgements

The motivation for the research conducted in this thesis was provided by the Mine

Optimsation Group at BHP Billiton Pty. Ltd. I would like to thank this group for giving me

the opportunity to study such an interesting and practical problem, and for all their help,

through both the provision of data sets and assisting in the determination of a research

direction over the course of many meetings. Of particular note are the contributions made

by Peter Stone, Merab Menabde, Mark Zuckerberg and Edwin van Leeuwen.

I also wish to acknowledge the financial support I received during the past three years

from the Australian Federal Government, the Victorian State Government (Department

of Education and Training), and BHP Billiton Pty. Ltd., without which this course of

research would not have been possible.

I am fortunate to have been guided by four excellent supervisors during my candida-

ture. Firstly, I would like to thank Peter Taylor and Renata Sotirov, who were supervisors

during the first and second eighteen month periods of my candidature respectively. Peter,

thank you for your input during the initial stages of this research, where your experience

in both interacting with industry and setting achievable research goals proved to be in-

valuable. Renata, I greatly appreciate all the time and effort you spent proof reading my

many manuscripts over the past two years. Your comments and feedback are always help-

ful, and I have learned a great deal from them. To Natashia Boland and Gary Froyland,

who supervised me throughout both my honours year and PhD candidature, I will always

be indebted. Gary, working with you over the past five years has been an absolute plea-

sure. Your ability to grasp new concepts is exceptional, and your thoughts and comments

are always clear and concise. Natashia, your knowledge of integer programming will never

cease to amaze me. As the only expert in this field among my supervisors, the burden

of answering most of my technical questions has inevitably fallen to you. Without your

guidance and input the results achieved in this thesis would not have been possible.

To all of my friends, many of whom I have known for more than ten years, I thank

you for helping me to take a step back from my work and relax over the past four years.

I am extremely lucky to have such a close group of mates. You know who you are.

Finally, I must thank my family for all the love and support they have provided. My

grandparents Dorothy and David have always been a part of my life, and I thank you for

everything you have ever done for me. This research is dedicated to my parents, Heather

and Warren. Over the past twenty years they have left no stone unturned in giving me

every opportunity to receive the best education possible, for which I am eternally grateful.

I hope I have made you proud.

Page 6: Applications of integer programming in open pit mining: (2006)

Contents

1 Introduction 1

1.1 Basic Mining Terminology and the Importance of the Mining Industry in

the Australian Economy 2

1.2 Representation of an Orebody as a Block Model 6

1.3 From Orebody to Mathematical Model 10

1.4 Data Sets Used Throughout the Thesis 13

1.5 Contribution of the Thesis 14

1.6 Outline of the Thesis 16

1.7 Abbreviations and Notation Used Throughout the

Thesis 17

2 Background Mathematical Theory 23

2.1 Introduction 23

2.2 Integer Programming 23

2.3 Integer Programming Formulations and Valid

Inequalities 25

2.4 The Fundamentals of the Linear Programming Based Branch-and-Bound

Algorithm 28

2.4.1 Preprocessing 31

2.4.2 A Priori Addition of Valid Inequalities 32

2.4.3 Cutting Plane Algorithms 32

2.5 Knapsack Cover Inequalities 34

2.6 Solution of Integer Programs Using CPLEX by Ilog Inc. 35

2.7 Lagrangian Relaxation 37

2.8 Dantzig-Wolfe Decomposition and Column Generation 38

2.8.1 A Formula for the Direct Calculation of the Lagrangian Relaxation

Upper Bound 42

2.9 Conclusion 43

3 A Survey of Applications of Mathematical Optimisation in Open Pit.

Mining 45

3.1 Introduction 45

Page 7: Applications of integer programming in open pit mining: (2006)

3.2 The UItimate Pit Problem 48

3.2.1 Graph Theoretic Approaches to the UItimate Pit Problem 48

3.2.2 Network Flow Approaches to the Ultimate Pit Problem 50

3.2.3 Linear Programming Approaches to the Ultimate Pit Problem 51

3.2.4 Heuristic Approaches to the Ultimate Pit Problem 52

3.3 The Open Pit Mine Production Scheduling Problem 53

3.3.1 Formulation of the Open Pit Mine Production Scheduling Problem

as a Constrained Scheduling Problem 54

3.3.2 Heuristic Approaches to the Open Pit Mine Production

Scheduling Problem 56

3.3.3 Dynamic Programming Approaches to the Open Pit Mine

Production Scheduling Problem 58

3.3.4 Integer Programming Approaches to the Open Pit Mine

Production Scheduling Problem 59

3.4 Stochastic Mine Planning Problems 70

3.5 Closely Related Problems to the Open Pit Mine

Production Scheduling Problem 75

3.5.1 The Precedence Constrained Knapsack Problem 75

3.5.2 The Simple Assembly Line Balancing Problem 84

3.5.3 The Labour Constrained Project Scheduling Problem 87

3.5.4 The Resource Constrained Project Scheduling Problem 90

3.6 Conclusion 93

4 Integer Programming Formulations for The Open Pit Mine Produc-

tion Scheduling Problem and their Relationship to the Precedence Con-

strained Knapsack Problem 95

4.1 Introduction 95

4.2 Three Generalised Integer Programming Formulations for the Open Pit

Mine Production Scheduling Problem and the Relationships Between Them 97

4.3 Comparison of the Computational Performance of Three Generalised Inte-

ger Programming Formulations for the Open Pit Mine Production Schedul-

ing Problem 108

4.4 Precedence Constrained Knapsacks in Integer

Programming Formulations of the Open Pit Mine

Production Scheduling Problem 113

4.4.1 The Relationship Between the Cumulative Variable Binary Integer

Programming Formulation of the. Open Pit Mine Production

Scheduling Problem and the Precedence Constrained Knapsack Prob-

lem 113

vi

Page 8: Applications of integer programming in open pit mining: (2006)

4.4.2 The Continuous Precedence Constrained Knapsack Problem and its

Relationship to The Mixed Integer Programming Formulation of the

Open Pit Mine Production Scheduling Problem 114

4.5 Conclusion 117

5 A New Class of Facet-Defining Inequalities for the Precedence Con-

strained Knapsack Polyhedron and New Results for the Continuous

Precedence Constrained Knapsack Polyhedron 119

5.1 Introduction 119

5.2 Feasible Packings, Conflict Graphs and Their

Properties 120

5.2.1 Conflict Graphs and Their Properties 124

5.2.2 Required Polyhedral Results 125

5.3 Clique-Based Facets for the PCK Polyhedron 127

5.3.1 Case 1: Empty intersection set, P(C) — 0 127

5.3.2 Case 2: Non-empty intersection set, P(C) 0 132

5.4 Comparison of Cover-Based and Clique-Based

Polyhedral Approaches to the PCK Problem 140

5.5 Application of Cover-Based and Clique-Based

Inequalities to PCK Examples 144

5.5.1 PCK Problem Example 1 145

5.5.2 PCK Problem Example 2 153

5.6 New Results for the Continuous Precedence Constrained Knapsack Polyhe-

dron 156

5.7 Conclusion 161

6 Strengthening Mine Scheduling Integer Programs Using Valid Inequali-

ties Derived From Related Precedence Constrained Knapsack Problems163

6.1 Introduction 163

6.2 Strengthening the Integer Programming Formulation: The Single Block Case165

6.2.1 Cumulative Variable BIP Formulation: The Single Block Case . . . 165

6.2.2 MIP Formulation: The Single Block Case 168

6.3 Strengthening the Integer Programming Formulation: The Block Pair Case 171

6.3.1 Cumulative Variable BIP Formulation: The Block Pair Case . . . . 172

6.3.2 MIP Formulation: The Block Pair Case 175

6.4 Strengthening the Integer Programming Formulation Using Heuristically

Determined Clique Inequalities 178

6.5 Strengthening the Integer Programming Formulation Following the Enu-

meration of all Maximal Cliques in the Conflict Graph 184

6.6 Conclusion 190

vii

Page 9: Applications of integer programming in open pit mining: (2006)

7 New Heuristic Approaches to the Open Pit Mine Production. Scheduling

Problem 195

7.1 Introduction 195

7.2 Two Integer Programming-Based Heuristics for the Open Pit Mine Produc-

tion Scheduling Problem 196

7.3 A Floating Cone-Based Heuristic for the Open Pit Mine Production Schedul-

ing Problem 200

7.4 A Lagrangian-Based Heuristic for the Open Pit Mine

Production Scheduling Problem 203

7.4.1 Calculation of the Lagrangian Relaxation Upper Bound During the

Column Generation Algorithm 207

7.4.2 The Dantzig-Wolfe Decomposition Upper Bound for the Open Pit

Mine Production Scheduling Problem 208

7.4.3 A Modified Lagrangian-Based Heuristic for the Open Pit Mine Pro-

duction Scheduling Problem 210

7.5 Heuristic Results 212

7.6 Conclusion 215

8 Conclusions and Directions for Future Research 217

Bibliography 223

A Summary of Results of the Application of Precedence Constrained Knap-

sack Inequalities for Pit 1 Data Sets 233

B Summary of Results of the Application of Precedence Constrained Knap-

sack Inequalities for Pit 2 Data Sets 243

C Summary of Results of the Application of Precedence Constrained Knap-

sack Inequalities for Pit 3 Data Sets 253

viii

Page 10: Applications of integer programming in open pit mining: (2006)

List of Tables

1.1 Summary of the Properties of the Data Sets Used Throughout the Thesis 14

1.2 Notation Used Throughout the Thesis 18

1.2 Notation Used Throughout the Thesis (cont.) 19

1.2 Notation Used Throughout the Thesis (cont.) 20

1.3 Abbreviations Used Throughout the Thesis 21

1.3 Abbreviations Used Throughout the Thesis (cont.) 22

4.1 Computational Results for the (NCVBIP-OPMPSP), (CVBIP-OPMPSP)

and (MIP-OPMPSP) Formulations. 110

5.1 K-BMCs for PCK Problem Example 1. 146

5.2 Maximal Cliques for PCK Problem Example 1. 151

5.3 K-BMCs for PCK Problem Example 2. 154

5.4 Maximal Cliques for PCK Problem Example 2. 155

5.5 Summary of Results for the PCK Problem Examples. 156

6.1 Computational Results for (CVBIP-OPMPSP) with Single Block Variable

Fixing (6.2.1). 167

6.2 Computational Results for (MIP-OPMPSP) with Single Block Variable Fix-

ing. 170

6.3 Computational Results for the Addition of Block Pair Clique Inequalities

to (CVBIP-OPMPSP), (6.2.1). 174

6.4 Computational Results for the Addition of Block Pair Clique Inequalities

to (MIP-OPMPSP), (6.2.3) 177

6.5 Computational Results for the Addition of Heuristically Determined Clique

Inequalities to (CVBIP-OPMPSP), (6.2.1). 182

6.6 Computational Results for the Addition of Heuristically Determined Clique

Inequalities to (MIP-OPMPSP), (6.2.3) 183

6.7 Computational Results for the Addition of All Facet-Defining Clique In-

equalities for (PCKt, r) for each t E {1,...,T} and r E ?Z to (CVBIP-

OPMPSP), (6.2.1) 188

6.8 Computational Results for the Addition of All Maximal Clique Inequalities

for (C-PCKt, r ) for each t E {1, ... , T} and r E R. to (MIP-OPMPSP), (6.2.3)189

ix

Page 11: Applications of integer programming in open pit mining: (2006)

7.1 Dantzig-Wolfe Decomposition and Lagrangian Relaxation Upper Bounds

for the Open Pit Mine Production Scheduling Problem. 209

7.2 Computational Results for Heuristic Approaches to the Open Pit Mine Pro-

duction Scheduling Problem. 213

A.1 Summary of Results for the 67 Block Model Using 5 Time Periods 234

A.2 Summary of Results for the 67 Block Model Using 10 Time Periods. .. . 235

A.3 Summary of Results for the 115 Block Model Using 5 Time Periods. .. . 236

A.4 Summary of Results for the 115 Block Model Using 10 Time Periods... . 237

A.5 Summary of Results for the 182 Block Model Using 5 Time Periods.

238

A.6 Summary of Results for the 182 Block Model Using 10 Time Periods • 239

A.7 Summary of Results for the 354 Block Model Using 5 Time Periods. • 240

A.8 Summary of Results for the 354 Block Model Using 10 Time Periods... 241

B.1 Summary of Results for the 66 Block Model Using 5 Time Periods 244

B.2 Summary of Results for the 66 Block Model Using 10 Time Periods. 245

B.3 Summary of Results for the 90 Block Model Using 5 Time Periods 246

B.4 Summary of Results for the 90 Block Model Using 10 Time Periods. . 247

B.5 Summary of Results for the 166 Block Model Using 5 Time Periods. . • 248

B.6 Summary of Results for the 166 Block Model Using 10 Time Periods.. . 249

B.7 Summary of Results for the 420 Block Model Using 5 Time Periods. • 250

B.8 Summary of Results for the 420 Block Model Using 10 Time Periods.. . 251

C.1 Summary of Results for the 164 Block Model Using 5 Time Periods. . . . 254

C.2 Summary of Results for the 164 Block Model Using 10 Time Periods.. . . 255

Page 12: Applications of integer programming in open pit mining: (2006)

List of Figures

1.1 Example of a three dimensional block model. 7

1.2 Two dimensional example of how differing wall slopes affect the size and

structure of a block precedence set, where Ai \ {i} is the set of all blocks

that must be removed before block i can be mined 10

1.3 Two dimensional illustration of (1) an entire predecessor set Ai; (2) an

immediate predecessor set Si 11

1.4 Two dimensional example of an entire precedence set Ai. 12

1.5 Two dimensional example of an entire precedence set A(B) 12

1.6 Two dimensional example of an entire precedence set Ai and an entire

successor set D. 13

1.7 Two dimensional illustration of the effect of different block resolution in the

data sets derived from Pits 1 and 2. 14

2.1 Example of a feasible integer set X, a corresponding formulation (polyhe-

dron) P, and the ideal formulation P* = conv(X) 26

2.2 Example of a branch-and-bound tree 30

2.3 Example of how a branch-and-bound algorithm divides the feasible region

of an integer program. 30

5.1 Illustration of a descendant set Jg(k). 122

5.2 Illustration of the definition of Ji (k) from Condition 1 for Case 1, P(C) = 0,

on the precedence graph G = (N, S). Take ai = 1 for all i E N and b = 7. . 128

5.3 Illustration of the situations for consideration in Case 1, P(C) = O. .. . . . 129

5.4 Illustration of the definition of Q(C) and J2(k) from Condition 2 for Case

2, P(C) # 0, on the precedence graph G = (N,S). Take ai = 1 for all

iENand b= 11. 134.

5.5 Illustration of the situations for consideration in Case 2, P(C) # 0 136

5.6 Illustration of the set of all K-covers 143

5.7 PCK Problem Example 1 145

5.8 Illustration of the polynomial time lifting procedure of van de Leensel et.

al. (98]: Ki 146

xi

Page 13: Applications of integer programming in open pit mining: (2006)

5.9 Illustration of the polynomial time lifting procedure of van de Leensel et. al. [98]: K2 147

5.10 Illustration of the polynomial time lifting procedure of van de Leensel et. al. [98]: K3 147

5.11 Illustration of the polynomial time lifting procedure of van de Leensel et. al. [98]: K4 147

5.12 Illustration of the polynomial time lifting procedure of van de Leensel et. al. [98]: K5 148

5.13 Illustration of Park and Park [76] lifting heuristic: Hp 148 5.14 Illustration of Park and Park [76] lifting heuristic: H1 149 5.15 Illustration of Park and Park [76] lifting heuristic: H2 149 5.16 Illustration of Park and Park [76] lifting heuristic: H3 150 5.17 The conflict graph for PCK Problem Example 1. 151 5.18 PCK Problem Example 2 154 5.19 The conflict graph for PCK Problem Example 2. 155 5.20 Two dimensional illustration of (1) a(n incomparable) set of items C; (2) the

union of the entire precedence sets A(C); (3) a precedence aligned partition

Pc of A(C). 158

xii

Page 14: Applications of integer programming in open pit mining: (2006)

Chapter 1

Introduction

This thesis is concerned with the application of mathematical optimisation, in particular

integer programming, to solve planning problems that arise in the mining industry. One

of the great challenges in the field of operations research is to successfully model and

solve problems arising from industrial applications. In many practical problems, both the

complexity of the system being modelled and the size of the input data contribute to the

problem difficulty. Optimisation problems in mining display both these characteristics.

As noted by Dimitrakopoulos [30], `orebody modelling and strategic mine planning are

the backbone of the mining industry and represent a complex and critically important

part of mining ventures. They have a profound effect on the value of a mine as well as

determining the technical plan to be followed from mine development to mine closure.'

Although mathematical optimisation has been applied to planning problems in mining

over the past forty years, there is still significant scope for improvement of the models

and techniques used. This is particularly the case for exact optimisation methods such as

integer programming, where the combination of algorithm developments and the greater

availability of computational power has meant that problem instances that were thought

to be intractable a decade ago are now able to be solved to optimality in a matter of hours

or even minutes.

The Australian Bureau of Statistics defines the mining industry as the group of in-

dustries engaged in mining for coal, oil and gas, and metallic minerals [6]. The publication

Australian Commodity Statistics 2005 [5] from the Australian Bureau of Agricultural and

Resource Economics reports that the mining industry is one of the most significant in

Australia, contributing around 4.1% of Gross Domestic Product (approximately $34,044

million in 2004-05), and 1% of total employment (approximately 93,000 people in 2004-05).

In addition, it is Australia's largest export earner, accounting for 41% of the total value

of exports in 2004-05 (approximately $67,503 million). The size of the industry means

that even small percentage improvements in efficiency in mining operations can result in

savings of millions of dollars.

The primary purpose of this chapter is to introduce the terminology used in the mining

industry, and to give an insight into the size and importance of the mining industry in the

1

Page 15: Applications of integer programming in open pit mining: (2006)

Australian economy (Section 1.1). We also describe the geological method used to quantify

the size, shape and distribution of an orebody (Section 1.2), and note how this descrip-

tion can be transformed into a representation suitable for use in mathematical modelling

(Section 1.3). A number of elementary geometric properties of such representations are

then formalised and presented. A description of the data sets that have been provided by

our research partner BHP Billiton Pty. Ltd. for use throughout this thesis is provided in

Section 1.4. In Section 1.5 we note the contribution of the thesis to the current body of

knowledge, and in Section 1.6 we outline the structure of the thesis. A summary of the

notation and abbreviations used throughout the thesis is given in Section 1.7.

1.1 Basic Mining Terminology and the Importance of the

Mining Industry in the Australian Economy

The mining industry is based around the science, technique and business of mineral dis-

covery and exploration. EduMine [34] gives the following general definition of a mineral.

Mineral: Any natural resource extracted from the earth for human use, e.g.

ores, salts, coal or petroleum.

Since minerals occur naturally in many forms, a key element in determining the method

of mining and production for any mining operation is the structure of the specific mineral

under consideration. In Australia, the majority of mining operations are concerned with

the extraction of metals such as gold, copper and iron. Most metals occur naturally as

ores, which need to be refined into the desired final product after they have been extracted

from the earth. Hustrulid and Kuchta [47] give the following definition of ore.

Ore: A natural aggregation of one or more solid minerals that can be mined,

processed, and sold at a profit.

Mineral exploitation is a complex process, but can be considered in the following three

general stages, as described by Banfield and Havard [8].

1. Exploration: The search for a mineral deposit and the subsequent investigation of

any deposit found until an orebody, if such exits, has been established.

2. Development: Work done on a mineral deposit, after exploration has disclosed

ore in sufficient quantity to justify extraction, in order to make the ore available for

mining.

3. Production: The mining of ores, and as required, the subsequent processing into

products ready for marketing.

2

Page 16: Applications of integer programming in open pit mining: (2006)

This thesis is particularly concerned with the production stage of a mineral deposit,

that is, the mining and subsequent processing of the ore. There is significant scope for the

application of mathematical optimisation at this stage of the mining process, as many of

the current `best practice' techniques have been in existence for over a quarter of a century,

with little or no consideration of the recent advances in mathematical optimisation.

Following the exploration and development phases of a mining project, one of two

general mining methods are applied to an orebody, depending on the location of the

orebody in relation to the earth's surface. These methods are open pit mining, applied

when the orebody lies close to the surface, and underground mining, applied when the

orebody is located at a significant depth below the surface. The majority of operational

mines in Australia are open pits, hence this thesis will focus on applying optimisation

techniques to this method of mining. EduMine [34] gives a basic definition of open pit

mining as follows.

Open pit mining: A form of operation designed to extract minerals that lie

near the surface. Waste, or overburden, is first removed, and the mineral is

broken and loaded, as in a stone quarry. Important chiefly in the mining of

ores of iron and copper.

As already noted, the specific ore to be mined and its location determines the method

of mining and production. Ores are generally divided into two classes, those of base

metals and blended ores. The Australian Bureau of Statistics (ABS) [6] includes the

following minerals under the classification of ore: copper, gold, nickel, tantalum, uranium,

zinc, lead and silver (base metals), and bauxite, alumina, iron ore, and manganese ore

(blended ore). EduMine [34] defines the collective term base metals as follows.

Base Metals: A classification of metals usually considered to be of low value

and higher chemical activity when compared with the noble metals (gold, silver,

platinum, etc.). This nonspecific term generally refers to the high-volume, low-

value metals copper, lead, tin, and zinc.

Base metals are often found close to the earth's surface, and are exploited using open

pit mining methods. The processing of base metals generally requires only refinement of

the material mined, that is, separation of the ore and waste. Hence, a relatively straight-

forward decision needs to be made for each unit of material extracted from the pit: should

it be refined from ore into the final product, or discarded as waste. In order for this

decision to be made, in general a cutoff grade is applied to the deposit. As defined by

Hustrulid and Kuchta [47], a cutoff grade is the grade at which the mineral resource can.

no longer be processed at a profit. The issue of determination of the cutoff grade is con-

sidered in more detail in Section 1.2. Many mathematical optimisation techniques have

been applied for the case of base metals in the open pit mining industry, all of which apply

a cutoff grade to determine whether each unit of material is valuable enough to process.

3

Page 17: Applications of integer programming in open pit mining: (2006)

An example of a base metal for which significant open pit mining operations exist in

Australia is copper. The ABS [6] reports that major Australian copper mining and smelt-

ing operations are located at Olympic Dam (South Australia) and Mt Isa (Queensland),

with smaller projects in New South Wales, Queensland, Western Australia and Tasmania.

A standard measure used to signify the size of a mineral deposit is Economic Demonstrated

Resources (EDR). As described by the ABS [6], the EDR is a measure of the resources

that are established, analytically demonstrated or assumed with reasonable certainty to be

profitable for extraction or production under defined investment assumptions. Classifying

a mineral resource as EDR reflects a high degree of certainty as to the size and quality of

the resource and its economic viability. Australia's EDR of copper is 32.8 Mt, which is 7%

of the world's total copper EDR, and gives Australia the third largest copper EDR in the

world [6]. Approximately 905,000 tonnes of copper were produced in Australia in 2004-05,

which was 5.7% of the total world copper production [5]. Apart from Olympic Dam and Mt

Isa, other significant copper operations are located at Northparkes and Cadia-Ridgeway

(New South Wales), Golden Grove (Western Australia), Ernest Henry, Osborne and Mt

Gordon (Queensland) and Mt Lyell (Tasmania). As a producer of copper, Australia ranks

fourth, with 6% of world output, after Chile, the United States of America and Peru [5].

Australia's exports of copper concentrates and refined copper were valued at $3.06 billion

in 2004-05, 4.5% of the value of total mineral commodity exports [5]. The production

levels of other base metals in Australia in 2004-05 included 682,000 tonnes of lead, 2,095

tonnes of tin, and 1,352,000 tonnes of zinc [5].

The second class of ore produced in Australia is blended ore. EduMine [34] gives the

following definition of the process of ore blending.

Ore Blending: Method whereby a mine, or a group of mines, served by a

common mill, sends ores of slightly varied character for treatment, and separate

bins or stockpiles are provided. From these, regulated percentages of ores are

drawn and blended to provide a steady and predictable feed to the mineral

dressing plant.

The significant complicating factor in the case of blended ore is that the concept

of a cutoff grade is no longer relevant. This is because the final product consists of a

specified target percentage of ore and impurities. In this case material of low quality

can be mixed with material of high quality, meaning that there is no clear definition of

what constitutes ore and waste. Hence the application of a cutoff grade is a redundant

concept. Because of this, there has been very little research in the area of application of

mathematical optimisation to the case of blended ore, except where significant assumptions

have been made regarding the definition of ore and waste. This leaves enormous scope for

the development of new models and optimisation techniques in this area.

An example of a blended ore for which significant open pit mining operations exist in

Australia is iron ore. As noted by the ABS [6], iron ore is the source of primary iron for

4

Page 18: Applications of integer programming in open pit mining: (2006)

the world's steel industries. Over 97% of Australia's iron ore production occurs in the

Hamersley Basin of Western Australia. Small production also comes from elsewhere in

Western Australia, Tasmania and South Australia. Australia's EDR of iron ore is 12.4 Gt

which is about 9% of world EDR. Australia has the fourth largest iron ore holding in the

world [6].

As reported by the Australian Bureau of Agricultural and Resource Economics [5],

production of iron ore in Australia totalled 252 Mt in 2004-05, which was 17.4% of world

output, making Australia the world's third largest producer behind Brazil and China.

Australia also produced 14.2 Mt of iron and steel in 2004-05. Iron ore was a major

contributor to Australia's export income in 2004-05, with 228 Mt valued at $8.1 billion

exported. In addition, Australia exported 2.2 Mt of iron and steel, which generated revenue

of $2.0 billion. The combined iron ore and iron and steel exports accounted for 14.9% of

Australia's total mineral commodity export revenue in 2004-05. The production levels of

other blended ores in Australia in 2004-05 included 58 Mt of bauxite and 3,554,000 tonnes

of manganese ore.

The Mining Council of Australia reported on a number of significant investment

projects in the area of copper and iron ore mining in their Trade and Investment Activity

Brief for the December 2004 quarter [69]. These included BHP Billiton's Rapid Growth

project in Western Australia, with expected investment of $820 million; Rio Tinto's Yan-

docoogina expansion in Western Australia, with expected investment of $1.25 billion;

upgrades to port facilities at Hamersley Iron's Port Dampier facility, with total invest-

ment of nearly $1 billion; and upgrades to the Kalgoorlie-Esperance rail line to enhance

ore shipments, at a cost of over $40 million.

These examples show the magnitude of both existing and potential future open pit

mining operations in Australia. It is evident that any improvements in efficiency that

are made in the techniques of open pit mining could have substantial benefits for the

Australian economy. It is also apparent that the opportunity exists for the application of

optimisation techniques in both the planning and operational phases of a mining project.

Hustrulid and Kuchta [47] note that the planning phase offers the greatest opportunity to

minimise the capital and operating costs of the project, while maximising the operability

and profitability of the venture. Mathematical optimisation has been applied to solve

problems that arise in the planning phase of a mining operation with varied success over

the past forty years. A fundamental problem in this area is that of determining a schedule

for exploiting an orebody over a period of twenty to fifty years so that the profit realised

from the mining operation is maximised. The determination of methods to achieve this in

time frames acceptable in industry for models of realistic size remains an open question

in mine planning.

Traditionally, mining engineers have developed mine plans by hand, using their per-

sonal experience. In recent times, a number of computational techniques have been de-

veloped to assist mining engineers in this planning phase. The breakthrough in this area

5

Page 19: Applications of integer programming in open pit mining: (2006)

occurred in 1965, when Helmut Lerchs and Ingo Grossmann published their paper Opti-

mum design of open-pit mines [62]. Since this time, a number of mathematical techniques

have been developed and applied in an attempt to make the process of open pit min-

ing more efficient and profitable. Together with the rapid improvement in computation

power, in terms of both memory and speed, this has seen a significant change in the way

in which open pit mine plans are produced. Our aim is to develop strengthened integer

programming formulations of the open pit mine production scheduling problem, in order

to allow larger problem instances to be solved to optimality than is currently possible, and

to improve the efficiency (particularly with respect to the solution time) with which these

problems can be solved. A direct result of any such improvements is that problems of

more realistic size will be able to be solved using an exact (integer programming) method

rather than a heuristic, as is often the case in practice at present.

In this thesis, we focus on applying mathematical optimisation to problems involving

the open pit mining of base metals. Many of the ideas presented may also be applicable to

open pit mining problems involving blended ores. Another outcome of any improvements

made in this area is their relevance to the newly emerging field of stochastic mine planning.

It is widely acknowledged in industry that few mining projects perform as expected due to

inaccuracies in orebody modelling and reserve estimates. The resulting under performance

can lead to capital investment losses in the order of hundreds of millions of dollars. This

has recently led researchers to include stochastic elements in their models in an attempt

to account for this variability. The backbone of these stochastic models, however, is still

an integer programming formulation of the open pit mine production scheduling problem.

Hence any improvements in the computational performance of such models will be able

to be extended for use in stochastic mine planning models.

We now describe the basic elements required when applying mathematical optimisation

to problems in open pit mining.

1.2 Representation of an Orebody as a Block Model

A fundamental concern when creating a mathematical model of a mining operation is

to ensure that the geological characteristics of the orebody are captured and represented

appropriately. As described by Hustrulid and Kuchta [47], most potential orebodies are

explored by geologists using diamond core drilling. The small diameter core collected from

each hole provides a continuous `line' of geologic information. Each of the recovered cores

is studied in detail, and the properties of interest are recorded. By drilling a pattern of

such holes, a series of similarly segmented lines are located in space. Using the information

obtained, together with a knowledge of the geologic setting and other factors, the mining

geologist is able to construct a three dimensional representation of the orebody. The aim

of this representation is to quantify the size, shape and distribution of the orebody and the

geologic properties of interest. The representation constructed takes the form of a three

6

Page 20: Applications of integer programming in open pit mining: (2006)

dimensional array of (often regular) blocks, known as a block model. A block model is

essentially a discretisation of the volume of earth under consideration into a set of blocks.

Throughout this thesis we will describe a block model either by the number of blocks

N it contains, or as a set of blocks N = {1, ... , N}. The nature of the representation

of an orebody as a discrete block model naturally leads to the application of integer

programming techniques when considering optimisation problems in open pit mining.

When creating a block model in the exploration phase of the mining process, a num-

ber of characteristics are assigned to each block i E Al* using geological techniques. These

characteristics are then used as inputs into the planning phase of the mining process. The

nature of the characteristics recorded depends on the specific ore being mined. In most

base metal cases, the total tonnage of each block (which varies because different elements

in the ground have different densities) and the tonnage (or percentage) of ore are sufficient

characteristics to consider for mine planning considerations. Other characteristics of im-

portance can be the tonnage of secondary ores or impurities in each block. Representation

as a block model also provides the mine planner with a method of visualisation of the

orebody. A simple example of a block model is given in Figure 1.1.

Figure 1.1: Example of a three dimensional block model.

As described by Froyland et. al. [38], the information in a block model is gathered

from a series of drillholes. These long, narrow holes are drilled into the orebody during

the exploration phase of the mining project, and the mineral composition of the material

extracted is analysed. Relatively few holes are drilled for most orebodies due to the expense

of drilling each hole. Hence the output of drilling is a sparse set of data from which a

three dimensional block model must be constructed. The most common approach used in

the mining industry to achieve this is that of kriging. Essentially, kriging is a local linear

7

Page 21: Applications of integer programming in open pit mining: (2006)

interpolation method used to assign grades (ore percentages) to blocks that lie between

drillholes. As noted by Froyland et. al. [38], if it is assumed that the linear correlation

of the grades of pairs of blocks depends only on the distance between the blocks and

the direction in three dimensions of one block from another, then the kriged estimate of

block grades is the `best' (in the sense of minimum variance) linear estimator of the block

grades. A more detailed introduction to the method of kriging is provided by Hustrulid and

Kuchta [47]. A kriged block model is a single deterministic representation of an orebody.

Traditionally, such models have been used for mine planning. More recently, alternative

statistical methods have been used to produce multiple realisations of the orebody, in

an attempt to quantify the geological uncertainty that stems from the sparseness of the

available drillhole data. Section 3.4 considers these methods in more detail.

Once a block model of the orebody has been established, a decision is made as to

whether each block i E N contains sufficient ore for it to be considered valuable to mine.

In the case of base metals, this decision depends on the cutoff grade applied to the

deposit. As described by Lane [61], material with a mineral content above the cutoff

grade is defined as ore and will subsequently be scheduled for processing, while the other

material is left or dumped as waste. The decision as to what constitutes a cutoff grade

is less clear in the case of blended ores. The definition of the cutoff grade is a complex

problem in itself, to which significant research has been devoted. The book by Lane [61] is

regarded as the essential reference in the area of cutoff grade determination. More recently

(e.g. Menabde et. al. [67]), a variable cutoff grade has been used over the life of the mine,

following the solution of an optimisation problem involving the cutoff grade.

The application of a cutoff grade to a block model allows each block i E N to be

assigned a value ci in dollars. This value is the net worth of mining the block given its

ore content, and may be negative for waste blocks, which contain little ore, and for which

the cost of removal is greater than any income their ore content may generate. To assign

this dollar value to the block, an assumption must be made as to the expected future

price of the metal. A significant level of risk is associated with this assumption due to the

high variability in metal prices on world markets over time. This matter is considered in

further detail in Section 3.4. In general, a single price estimate is assumed and used to

determine the dollar value of each block. Hence a typical block model in the case of a base

metal records three attributes for each block: the total tonnage, tonnage (or percentage)

of ore, and the dollar value of mining the block. For more complex orebodies or final

products, additional attributes may be recorded, for example the tonnage of secondary

ores or impurities.

A further consideration when determining a block model is that as the block size

used in the model decreases, the amount of information about the deposit increases. As

described by Hustrulid and Kuchta [47], there is, however, a point where the gain in

information obtained from decreasing block size is offset by the increase in estimation

error due to the smaller size of each block and the sparseness of the drillhole data. In

8

Page 22: Applications of integer programming in open pit mining: (2006)

addition, the cost (computationally as well as in dollar terms) of decreasing the block size

may become prohibitive at some level. In particular, note that dividing each of the linear

dimensions of a block by two multiplies the total number of blocks to be estimated (and

subsequently used as inputs to a mathematical model) by a factor of eight. From this it is

evident that determination of the block size to be used in a model is not trivial, and is an

optimisation problem in itself. See Shaw and Khosrowshahi [89] for a detailed discussion

of this problem, as well as a proposed methodology for optimal ore block design. Hustrulid

and Kuchta [47] note that as a rule of thumb, the minimum size of a block should not be

less than one quarter of the average drillhole interval. The height of a block is generally

that of the bench height that will be used in the mining process. A bench is a horizontal

layer of material in a mine, and is the basic extraction component of an open pit mine.

Bench heights are generally determined by the size of the equipment to be used in the

mine. Further discussion of benches, their determination, and their use in block models

can be found in Hustrulid and Kuchta [47].

Following consideration of these elements, a block model is established and ready for

use in the mine planning process. A number of practical constraints exist in an open pit

mining operation. Typical examples of such constraints are identified by Hustrulid and

Kuchta [47] as follows:

1. the overlying material must be removed before the underlying;

2. safe wall slopes must be maintained, with the allowable angles dictated by the com-

position of the slope material (often 45° is used for block models of base metals);

3. the production capacity is limited by the amount of equipment available; and

4. the ore processing capacity is also limited.

Depending on the composition and purpose of the ore being mined, additional con-

straints such as blending capacities and environmental impact may also be relevant. The

first two of the practical constraints identified above fall into the category of geometric

constraints. The representation of the orebody as a three dimensional array of regular

blocks allows these geometric constraints to be modelled mathematically in a straightfor-

ward manner. Constraint 1 effectively says that the removal of a given block is contingent

upon the removal of a set of blocks located above and/or around the block of interest.

Hence each block has its own set of predecessor blocks which must be removed before the

underlying block can be accessed. In three dimensions, these sets generally take the shape

of an inverted cone, and are referred to as block precedence sets. The block precedence

sets are also designed to include the wall slope constraints (Constraint 2) for the pit, which

are in turn determined by the composition of the material surrounding and containing the

ore. The maximum angle of the wall slope allowed is reflected by the blocks included in

the precedence set of each block, as well as the block size used in the model. An example

of how varying wall slopes can change the structure of a block precedence set is given in

9

Page 23: Applications of integer programming in open pit mining: (2006)

Slope angle 45°

Figure 1.2. The ability to easily model these geometric constraints mathematically is a

further reason for representing the orebody as a block model. The remaining constraints

(Constraints 3 and 4) are production constraints, and effectively limit the number of blocks

that can be removed from the pit at any time. These constraints are independent of the

block model representation.

Slope angle 60°

Figure 1.2: Two dimensional example of how differing wall slopes affect the size and

structure of a block precedence set, where Ai \ {i} is the set of all blocks that must be

removed before block i can be mined.

1.3 From Orebody to Mathematical Model

In order to apply mathematical optimisation in open pit mining, it is first necessary to

create a mathematical representation of the orebody. This is achieved by constructing a

directed acyclic graph G = (N, S) from the geological block model of the orebody, where

the node set is the set of all blocks N. The set of directed arcs S C N x N captures

the geometric constraints of removing the overlying material before the underlying, and

ensuring safe wall slopes in the pit, as described in Section 1.2. The transformation of a

block model into a directed acyclic graph for mathematical modelling purposes was first

proposed by Lerchs and Grossmann [62], and has been widely used ever since. In the

graph G, a precedence relationship (i, j) E S exists if block i can be mined only if block

j has already been extracted from the pit. Note that these precedence relationships are

transitive, so without loss of generality we assume that S does not contain any redundant

relationships, that is, S is the minimal generating arc set for the pit geometry constraints.

It follows that the set of all precedence relationships A is the transitive closure of S, and

10

Page 24: Applications of integer programming in open pit mining: (2006)

(i, j) E A if and only if there exists a path from node i to node j in the directed acyclic

graph G = (N, S).

Throughout this thesis, for each (i, j) E S, block i is called an immediate predeces-

sor of block j, and block j is an immediate successor of block i. Let Si be the set of

immediate predecessors of block i, that is let Si = { j E N : (i, j) E S}, and let Ri be the

set of immediate successors of block i, that is Ri = {j E N : (j,i) E S}. The set Si may

be referred to as either the immediate predecessor set or the minimal generating set for block i, and the set Ri is referred to as the immediate successor set of block

i. In addition, let Ai be the minimal set of blocks, including block i, that must be

removed for block i to be mined, that is Ai = {j E N : ( i, j) E A} U {i}. Note that

inclusion in the set Ai is transitive, so if j E Arc and k E Ai then j E Ai. In practice for

each block i E N the set Ai generally has the three dimensional shape of an inverted cone,

the slope of which depends on the safe wall slope requirement of the pit. An illustration

of the difference between the minimal generating set Si and the entire precedence set Ai

for a block i is given in Figure 1.3. Unless otherwise noted, in all diagrams throughout

the remainder of this thesis we show the set of immediate predecessors Si for all i E N.

(1) Entire Predecessor

Set (Ai)

(2) Immediate Predecessor

Set (Si)

En. ENIFA4

Figure 1.3: Two dimensional illustration of (1) an entire predecessor set Ai; (2) an imme-

diate predecessor set Si.

The transformation of a block model into a directed acyclic graph allows a number of

mathematical properties of block models to be established. The transitivity of the entire

precedence sets leads directly to Property 1, which is used throughout this thesis.

Property 1. Let i E N. For all j E Ai it must be that Ai Ç Ai.

Property 1 effectively says that if a block j E N lies in the entire precedence set Ai

of another block i, then the entire precedence set of block j must also lie in the entire

precedence cone of block i. This respects the two geometric constraints in a mine: that

the overlying material must be removed before the underlying, and that safe wall slopes

must be maintained in the pit. An implicit assumption made here is that the angle of

11

Page 25: Applications of integer programming in open pit mining: (2006)

the wall slope is constant (or at least non-increasing) at all depths of the pit, which is a

fundamental requirement for safe wall slopes to be maintained in open pit mines.

We now extend these precedence ideas to a set of blocks B Ç N. Let A(B) = UiEBAi be the union of the Ai sets for the blocks in the set B. Then A(B) gives the minimal set

of blocks that must be removed for all blocks in the set B to be mined. Examples of an

Ai set and an A(B) set are given in Figures 1.4 and 1.5.

Figure 1.4: Two dimensional example of an entire precedence set Ai.

Figure 1.5: Two dimensional example of an entire precedence set A(B).

Now consider the set of blocks that cannot be mined unless block i has been mined,

and include block i in this set. This is the set of all successors of block i, which we denote

as Di, hence Di = {j E N : i E Ai}. Property 2 follows directly from the transitivity of

the entire precedence sets Ai.

Property 2. Let i E N. For all j E Ai it must be that i E Dj.

Again the assumption of constant (or non-increasing) wall slopes throughout the pit

is implied. Hence, given a set of blocks N and the immediate predecessor set Si for each

block i E N, the corresponding entire precedence sets A, entire successor sets Di, and

immediate successor sets Ri can be deduced. An illustration of an A set and a Di set is

given in Figure 1.6. Note that block i is included in both the entire precedence set A and

the entire successor set Di.

12

Page 26: Applications of integer programming in open pit mining: (2006)

Figure 1.6: Two dimensional example of an entire precedence set Ai and an entire successor

set D=.

We have introduced the general method of representing an orebody as a directed

acyclic graph, and described some of the basic properties such graphs. Further properties

of interest will be derived in Chapter 5.

1.4 Data Sets Used Throughout the Thesis

Throughout this thesis we test the various integer programming formulations developed on

block models of two different working pits provided by our research partner BHP Billiton

Pty. Ltd. as well as an artificially created pit. The block models for the two working

pits are tested at four different resolutions, to investigate the effect of different block sizes

on the computational performance of the models. Note that we only store the average

data values for each block, so a larger number of blocks represents greater data resolution.

In Pit 1 the height of the blocks is constant at each of the four resolutions. Hence the

lower resolution instances correspond to flat block shapes, which become more cubic as the

resolution is increased, and all cases have the same number of benches (levels of blocks).

Since there are only five benches, for Pit 1 all blocks can be accessed early in the mine's life,

and there are relatively few precedence constraints in the precedence graph G = (N, S). In Pit 2 the number of layers of blocks is increased as the resolution is increased. Hence for

Pit 2 the block shapes are approximately cubic at all resolutions. Since there are a greater

number of benches than in Pit 1, there are a greater number of precedence constraints per

block in the precedence graph. An illustration of the difference in resolution of the blocks

in Pits 1 and 2 is given in Figure 1.7. We also consider a third artificially created data set, representing a theoretical `worst

case' scenario. In this block model (Pit 3), there are four benches, and all of the (positively

valued) ore blocks are located on the bottom bench. In this scenario, no ore blocks can be

accessed in the early stages of the mine's development. In addition, all the ore blocks are

assigned the same economic value and have the same tonnage, making the data set highly

symmetric.

13

Page 27: Applications of integer programming in open pit mining: (2006)

High Resolution

Pit 1

_-_

\ I \ r

1■■■■11EW \11i■11111/

\111111111■W MEW

Pit 2 Low Resolution High Resolution

111■■■■■11r \•11111111101I MIME UMW

Low Resolution

Figure 1.7: Two dimensional illustration of the effect of different block resolution in the

data sets derived from Pits 1 and 2.

The resulting nine data sets are summarised in Table 1.1.

Number

of

Blocks

INI

Number

of Immediate

Precedence

Relationships

181

Number

of Total

Precedence

Relationships

IAI

Number

of

Benches

Pit 1

67 190 830 5

115 368 1609 5

182 615 2797 5

354 1670 6066 5

Pit 2

66 312 623 5

90 544 1232 6

166 1551 7910 12

420 5900 63537 26 .

Pit 3

164 747 2038 4

Table 1.1: Summary of the Properties of the Data Sets Used Throughout the Thesis

1.5 Contribution of the Thesis

This thesis makes both theoretical and applied contributions.

14

Page 28: Applications of integer programming in open pit mining: (2006)

Theoretical Contributions

The main theoretical contribution of this thesis is the derivation of new results for

the precedence constrained knapsack (PCK) polyhedron. This investigation is motivated

by the demonstration of a relationship between the polyhedron defined by a generalised

state-of-the-art binary integer programming formulation of the open pit mine production

scheduling problem and the PCK polyhedron. Our new results for the PCK polyhedron

are based on clique inequalities derived from a graph representing, pairwise conflict rela-

tionships between variables. We derive necessary and sufficient conditions under which

such inequalities define facets of the PCK polyhedron. A comparison with existing polyhe-

dral approaches to the PCK problem, which are based on knapsack cover-like inequalities,

is presented, and we provide a more complete classification of these knapsack cover-like

inequalities than has previously been given. We demonstrate that our clique-based ap-

proach can generate facet-defining inequalities for the PCK polyhedron that cannot be

found using the existing cover-based approaches. It is also shown that in cases where the

inequalities found by the two approaches correspond, our new approach avoids the need

for the computationally expensive lifting procedures required by the existing cover-based

approaches.

A second theoretical contribution of this thesis is the introduction of a new polyhedron,

the continuous precedence constrained knapsack (C-PCK) polyhedron, which is motivated

by an investigation of the state-of-the-art mixed integer programming formulation of the

open pit mine production scheduling problem. We adapt both existing and new approaches

for the PCK problem to derive knapsack cover and clique inequalities that are valid for

the C-PCK polyhedron.

Applied Contributions

Three integer programming formulations for the open pit mine production schedul-

ing problem from the recent literature are generalised and compared. These generalised

structures not only model the open pit mine production scheduling problem, but are also

the basis for models of more complex applications of optimisation in open pit mining,

such as blending and stochastic mine planning problems. By considering these general

integer programs, and solving all formulations using the commercially available mixed in-

teger programming solver CPLEX by Ilog Inc. [50], we ensure that our results are easily

reproducible, and applicable to a wide range of problems in open pit mine planning.

We derive relationships between the generalised state-of-the-art binary and mixed in-

teger programming formulations for the open pit mine production scheduling problem and

the precedence constrained knapsack (PCK) and continuous precedence constrained knap-

sack (C-PCK) problems, which allows us to apply our new theoretical results to strengthen

these mine scheduling integer programs. In particular, by applying PCK-based ideas we

15

Page 29: Applications of integer programming in open pit mining: (2006)

are able to eliminate binary decision variables from the integer programs a priori, result-

ing in a tightening of the initial formulation. Further strengthening of the formulations

is achieved following the derivation and a priori addition of valid clique inequalities using

our new theoretical results for the PCK and C-PCK problems. We demonstrate that these

strengthened formulations reduce the time and memory requirements to find the optimal

integer solutions of the mine scheduling integer programs, in many cases by a significant

margin. In addition we demonstrate that larger problem instances are able to be solved

to optimality than was previously possible. The practical ramifications of these results

include an increase in the scope for analysis that mine planners are able to undertake

when constructing long- and medium-term mine plans. This will allow more scenarios

to be evaluated, and lead to the determination of schedules that are more robust to the

inherent geological uncertainty present in all mine planning problems. In turn, the devia-

tion of actual mine production from forecasted production will be reduced, giving greater

certainty regarding the future cash flows of mining projects. We also note how the integer

programming formulations studied are related to a number of other scheduling models in

management science and operations research. Hence the developments made in this thesis

could also be beneficial for these related applications.

A further practical contribution is the derivation of new heuristics for the open pit mine

production scheduling problem. We adapt approaches used for the simpler ultimate pit

problem to determine feasible integer solutions for the open pit mine production scheduling

problem in significantly reduced time. We also present heuristics using other integer

programming techniques including Dantzig-Wolfe decomposition and column generation.

1.6 Outline of the Thesis

The structure of this thesis is as follows. We begin by introducing the background mathe-

matical theory that will be applied throughout the thesis in Chapter 2. In Chapter 3, we

review the application of mathematical optimisation in open pit mine planning over the

past forty years. Of particular interest are two binary integer programming formulations

for the open pit mine production scheduling problem that have appeared in the recent

literature, as well as a mixed integer programming model for the stochastic mine planning

problem. We also review a number of closely related scheduling problems to which integer

programming has been applied.

In Chapter 4 we present and compare generalised versions of the three integer pro-

gramming formulations for the open pit mine production scheduling problem found in the

recent literature. We derive a relationship between the state-of-the-art binary integer pro-

gramming formulation and a widely researched problem in mathematical programming

known as the precedence constrained knapsack (PCK) problem. In addition, we

introduce a new polyhedron, the continuous precedence constrained knapsack (C-PCK)

polyhedron, motivated by an investigation of the structure of the state-of-the-art mixed

16

Page 30: Applications of integer programming in open pit mining: (2006)

integer programming formulation for the open pit mine production scheduling problem.

In Chapter 5 we investigate the PCK and C-PCK polyhedrons in more detail. We

derive a new class of facet-defining inequalities for the PCK polyhedron based on clique

inequalities. We compare our new approach to previous polyhedral investigations of the

PCK problem, and demonstrate that our clique-based approach can generate facet-defining

inequalities that cannot be found through existing approaches. We also derive new valid

inequalities for the C-PCK polyhedron, by adapting results from both previous and new

approaches to the PCK problem.

We then apply these results to determine valid clique inequalities for the integer pro-

gramming formulations of the open pit mine production scheduling problem in Chapter

6. We present a number of approaches to the problem of finding valid clique inequalities

and adding them to the integer programs a priori. The application of these PCK-based

results leads to an improvement in the computational efficiency of the integer programs

for the open pit mine production scheduling problem under consideration.

Finally, in Chapter 7, we develop and implement new heuristics for the open pit mine

production scheduling problem, by adapting concepts applied to the ultimate pit problem

as well as other integer programming techniques, including Dantzig-Wolfe decomposition

and column generation.

1.7 Abbreviations and Notation Used Throughout the

Thesis

A summary of the notation and abbreviations used throughout the thesis is given in Tables

1.2 and 1.3.

17

Page 31: Applications of integer programming in open pit mining: (2006)

Notation Definition

the weight of item i E N in a PCK problem instance, ai E Z.

the entire precedence set of block/item i E N (including block/item j), At Ç N. the union of the entire precedence sets for the blocks/items in

the set B, A(B) = UjEBAj,

the set of all precedence relationships derived from a block model.

the capacity of the knapsack in a PCK problem instance, b E 7G+.

a set of blocks/items, B Ç N. the (undiscounted) value of block/item i E N, ci E Z.

the discounted cash flow received from mining block i E N in time period t E {1,...,T}, c= E Z.

the convex hull of the PCK feasible set P.

a set of items that is a cover for an instance of the PCK problem,

C c N. a clique in the conflict graph CG, C Ç N. a conflict graph for the PCK problem with edge {i, j) E E

if and only if H({i, j}) > b.

a conflict graph for the time period t, attribute r problem

for (CVBIP-OPMPSP).

a conflict graph for the C-CPK problem with edge {i, j } E C-E

if and only if kE(A,uA;)\{i,jl ak > b. a conflict graph for the time period t, attribute r problem

for (MIP-OPMPSP).

the set of edges in the conflict graph C-CG.

the set of edges in the conflict graph C-CGt, r-

the continuous precedence constrained knapsack feasible set.

the discount factor applied per time period to any cash flows

received in the future, 0 < b _< 1.

the entire successor set of block/item i (including block/item

Di C N. the it/1' standard basis vector.

the set of edges in the conflict graph CG.

the set of edges in the conflict graph CGt, r-

a family of valid inequalities for an integer programming problem.

a face of a polyhedron P.

ai

Ai

A(B)

A

b

B

et ct.

conv(P)

C

C

CG = (N, E)

CGt, r

C-CG =

C-CGt , r

C-E

C-Et, r

C-P

s

Di

ei

E Et, r

.7"

F

Table 1.2: Notation Used Throughout the Thesis

18

Page 32: Applications of integer programming in open pit mining: (2006)

9i G = (JV, S)

gmax / min

Hi

H(B)

JB(k)

Notation Definition

Kt

KP

L

l=

d t r

M

N

O

P

Pi

P(B)

PB P(B)

the average grade of block i E N. the directed graph representing the immediate precedence

relationships derived from a block model.

the upper/lower bound on the average grade of material mined

in any time period.

the capacity required for item i to be included in the knapsack in

the PCK problem, Hi

the total capacity required to include all items in the set B in

the knapsack in the PCK problem, H(B) _ EjEA(B) aj. the descendant set of block/item k in the set of blocks/items B,

.ÎB(k)= Dk fl B for each k E A(B)\B.

the set of all subsets of N (combinations of blocks) that could

be mined in time period t E { 1, ... , T}.

a subset of Kt, Kt ç Kt

the 0-1 knapsack polyhedron.

the number of benches in a block model.

the bench number of block i E N. the lower bound on the tonnage of attribute r E 12. produced

in time period t E {1, ... , T}.

the number of conditionally simulated block models in an instance

of a stochastic mine planning problem.

the total number of blocks in a block model.

the set of all blocks in a block model/items in a PCK

problem instance.

the set of all ore blocks as defined by the application of a cutoff

grade, O Ç N. a polyhedron/formulation; also the PCK feasible set.

a precedence aligned partition of A(B) for item i E N, where

UiEBPi= A(B), Ç Ai for all iE B, Pi f1 Pj =0 for all i j.

the convex hull of feasible solutions to the PCK problem restricted to

the variables in A(B), P(B) = conv(projA(B){x(D) E P : D Ç A(B)}).

a precedence aligned partition of A(B), PB = UiEBPi• the set of all items in the intersection of the entire precedence sets of

all the items in the set B, P(B) = njEBAi..

_ EjEAi aj.

Table 1.2: Notation Used Throughout the Thesis (cont.)

19

Page 33: Applications of integer programming in open pit mining: (2006)

Notation Definition

Q7 the total amount of attribute r E 7Z in the entire precedence set of

block i E N, Q; = EJEAi q?• qi the amount (tonnes) of attribute r E 7Z contained in block i E N.

Q(B) the set of all items in the intersection of the entire precedence sets of

all the items in the set B, with no items in their entire successor

sets Di that satisfy the same property,

Q(B) = {i E P(B) : Di \ {i} n P(B) = 0. Rn the n-dimensional real numbers.

1I the n-dimensional non-negative real numbers.

Ri the set of immediate successors of block i (not including block i),

RiçN.

R2(B) the set of items in A(B) \ B that have two or more successors in

the set B, R2(B) = {k E A(B)\ B : I{i EB: kEA3 }I> 2}.

R. the set of attributes of concern to the mining operation.

Si the set of immediate predecessors of block/item i E N (not including block/item i), Si Ç N.

S(B) the set of all immediate predecessors for items in the set B,

S(B) = UiEB Si.

S the set of all immediate precedence relationships derived from

a block model.

T the number of time periods over which mine production is to

be scheduled.

U the total number of possible cutoff grades in a stochastic mine

planning problem.

u;. the upper bound on production/extraction of

attribute r E R in time period t E {1, ... ,T} (in tonnes).

V the net (undiscounted) value of the entire precedence set of

block/item i E N, V = EDE A, C i C. W the set of waste blocks as defined by the application of a cutoff

grade, W Ç N.

x(B) the characteristic vector of the set B, x(B) = EiEB ei.

Zn the n-dimensional integers.

Z the n-dimensional non-negative integers.

Table 1.2: Notation Used Throughout the Thesis (cont.)

20

Page 34: Applications of integer programming in open pit mining: (2006)

Abbreviation Description

B & B branch-and-bound.

BIP binary integer program.

C-PCK continuous precedence constrained knapsack.

(GPCKj, r ) the time period t E 1, ... , T}, attribute r E 7 polyhedron

derived from (MIP-OPMPSP).

(CVBIP-OPMPSP) the generalised cumulative variable binary integer

programming formulation of the open pit mine

production scheduling problem, defined on page 97.

DWD Dantzig-Wolfe decomposition.

IP integer program.

(K-)BMC a (K-)Boyd minimal cover for the PCK problem.

(K-)MIC a (K-)minimal induced cover for the PCK problem.

LCSP labour constrained scheduling problem.

LP linear program.

MIP mixed integer program.

(MIP-OPMPSP) the generalised mixed integer programming formulation

of the open pit mine production scheduling problem,

defined on page 104.

MP master problem.

(MP-DWD-OPMPSP) the master problem of the Dantzig-Wolfe decomposition of

(CVBIP-OPMPSP), defined on page 205.

(NCVBIP-OPMPSP) the generalised non-cumulative variable binary integer

programming formulation of the open pit mine

production scheduling problem,

defined on page 99.

NPV net present value.

PCK precedence constrained knapsack.

(PCK,) the time period t E 1, ... , T}, attribute r E 72. polyhedron

derived from (CVBIP-OPMPSP).

PFRS predecessors-first, remaining variables second.

RCPSP resource constrained project scheduling problem.

RMP restricted master problem.

Table 1.3: Abbreviations Used Throughout the Thesis

21

Page 35: Applications of integer programming in open pit mining: (2006)

Abbreviation Definition

SALBP simple assembly line balancing problem.

(SP-t) the subproblem for time period t E { 1, ... , T} in the

column generation approach to (CVBIP-OPMPSP),

defined on page 206.

(SP2-t) the subproblem in the Lagrangian-based heuristic for

the open pit mine production scheduling problem,

defined on page 211.

(TP-t) the integer program solved for time period t E {1, ... , T} in

the first integer programming-based heuristic for the open

pit mine production scheduling problem, defined on page 197.

(TP2-t) the integer program solved for time period t E IL... , T} in

the second integer programming-based heuristic for the open.

pit mine production scheduling problem, defined on page 199.

(UP) the integer programming formulation of the ultimate pit problem,

defined on page 196.

Table 1.3: Abbreviations Used Throughout the Thesis (cont.)

Page 36: Applications of integer programming in open pit mining: (2006)

Chapter 2

Background Mathematical Theory

2.1 Introduction

This thesis is chiefly concerned with the application of integer programming to solve plan-

ning problems in open pit mine planning. Integer programming itself is an extensive topic,

made up of many varied techniques. In this chapter we give a brief description of the inte-

ger programming techniques applied in this thesis. These include the concept of a strong

formulation for an integer program, the theory of valid inequalities, and the definition of

facet-defining inequalities for the convex hull of an integer program (Section 2.3). We also

present the basics of linear programming based branch-and-bound algorithms (Section

2.4), which are the most widely used approach to solving integer programming problems,

and discuss techniques for improving their computational efficiency such as preprocessing,

the a priori addition of valid inequalities, and the development and application of cut-

ting plane algorithms. A class of valid inequalities of particular interest in this thesis are

knapsack cover inequalities, which are introduced in Section 2.5. Throughout this the-

sis we solve all integer programming formulations using the commercial software CPLEX

by Ilog Inc. [50]. A description of the basics of the CPLEX software is given in Section

2.6. We conclude this chapter with a discussion of two alternative methods of formulating

and solving integer programs, known as the Lagrangian relaxation and the Dantzig-Wolfe

decomposition, in Sections 2.7 and 2.8. We then show how a column generation algorithm

can be used to solve the Dantzig-Wolfe decomposition to give an alternative bound on the

optimal value of an integer program, and how the Lagrangian relaxation upper bound can

also be determined during the column generation algorithm.

2.2 Integer Programming

Integer programming is the study of the solution of mathematical optimisation problems

where some or all of the decision variables must take integer values. Mathematical mod-

els involving integer decision variables occur in many applications, particularly in cases

where the problem involves yes/no decisions. The most widely studied area of integer

23

Page 37: Applications of integer programming in open pit mining: (2006)

programming, and the focus of this thesis, is the case where the objective function and all

constraints of the mathematical program are linear. Two excellent references in this field

are Nemhauser and Wolsey [73] and Wolsey [109]. We now give a brief overview of the

field of integer programming.

Consider the linear program

max c x

(LP) s.t. Ax < b

x > 0,

where A is an m x n matrix, c is an n-dimensional row vector, b is an m-dimensional column

vector, and x is an n-dimensional column vector of decision variables. The solution of such

problems has been investigated in great detail since 1947, when the late George Dantzig

first developed the Simplex method to solve linear programs efficiently. If we consider

(LP) with the additional restriction that all decision variables must be integer, we have a

(linear) integer program (IP), given by

max c x

(IP) s.t. Ax < b

x E Z+,

and if all the decision variables are restricted further to take either the value 0 or 1 only,

we have a 0-1 or binary integer program (BIP), given by

max c x

(BIP) s.t. Ax < b

x E {0,1}".

An additional case for consideration occurs when some, but not all, of the decision

variables are restricted to take integer values. This is known as a (linear) mixed integer

program (MIP), written as

max cx + hy

(MIP) s.t. Ax + Gy < b

x E 7L+

y >_ 0,

where G is an m x p matrix, his a p-dimensional row vector, and y is a p-dimensional col-

umn vector of continuous decision variables. The addition of the integrality constraints on

the decision variables makes the solution of problems of the form (IP), (BIP) and (MIP)

significantly more difficult than the solution of the relaxed problem of the form (LP).

Specialised techniques have been developed to efficiently solve mathematical programs

with integrality restrictions on the decision variables, including implicit enumeration, the

Gomory cutting plane algorithm, and the linear programming based branch-and-bound

(and-cut) algorithm. The first paper presenting a branch-and-bound algorithm for an in-

teger program is that of Land and Doig [60], and, as noted by Wolsey [109], almost all,

24

Page 38: Applications of integer programming in open pit mining: (2006)

commercial codes for solving integer programs since the 1960s have implemented linear

programming based branch-and-bound algorithms. Throughout this thesis, we use the

commercial software CPLEX by Ilog Inc. [50] to solve all linear and integer programs,

which employs a sophisticated linear programming based branch-and-bound-and-cut al-

gorithm. The basics of such an algorithm are presented in Section 2.4, based on detailed

descriptions given by Nemhauser and Wolsey [73], Winston [107] and Wolsey [109], while

some details of the CPLEX software are described in Section 2.6.

Before applying a branch-and-bound algorithm to solve an integer program, one must

establish, or formulate, the integer program to be solved. A wide variety of practical

problems can be formulated and solved using integer programming. However, translating

a problem description into a formulation, referred to as the process of mathematical mod-

elling, is often an art in itself, as there are a number of possible formulations that could

arise from the same problem description [109]. Hence the first, and often most important

step, is to consider the formulation that will be used to solve the problem, and to try to

make it as strong as possible so that the optimal solution is obtained quickly. We give

some background regarding alternative formulations and their strengths in Section 2.3.

2.3 Integer Programming Formulations and Valid

Inequalities

Wolsey [109] goes into great detail to examine alternative mathematical formulations of

an integer program and explain why one might be better than another. A fundamental

concept is that of the feasible region, or polyhedron, defined by a formulation of an integer

program.

Definition 2.3.1 (Wolsey [109]). A subset of 1R' described by a finite set of linear

constraints P = {x E l[8n : A x < b} is a polyhedron.

Note that a bounded polyhedron is also referred to as a polytope.

Definition 2.3.2 (Wolsey [109]). A polyhedron P Ç 1P;n+n is a formulation for a set

X Ç Zn x IRP if and only if X = P n (Zn x RP).

Wolsey [109] goes on to introduce the notion of an ideal formulation P* for an integer

program, where the solution of a linear program over P* gives an integer solution. This

idea is formalised as follows.

Definition 2.3.3 (Wolsey [109]). Given a set X Ç Rn, the convex hull of X, denoted

conv(X), is defined as: conv(X) = {x : x = i_1 Ai xi, Ei=1 = 1, Ai > 0

for i =1,...,t, {x1, ... , xt } a finite subset of X }.

Wolsey [109] then notes that conv(X) is a polyhedron and that the extreme points of

conv(X) all lie in X. It follows that the integer program zip = max {c x : x E X}, where

25

Page 39: Applications of integer programming in open pit mining: (2006)

o o o o o o o o o

o o o

o o

Feasible set of integer points

X

Formulation (polyhedron)

P

Ideal formulation (convex hull)

P' = conv(X)

X2

X = {A x < b, x E Z } as in (IP), can be replaced by the equivalent linear program

max {c x : x E conv(X)}. That is, conv(X) is the ideal formulation P* for (IP). An

illustration of an integer feasible set X, a corresponding formulation (polyhedron) P, and

the ideal formulation P* = conv(X) is given in Figure 2.1.

x,

Figure 2.1: Example of a feasible integer set X, a corresponding formulation (polyhedron)

P, and the ideal formulation P* = conv(X).

In most cases, there is an exponential number of inequalities required to describe

conv(X), and no simple way in which to characterise them. However, the ideal represen-

tation conv(X) has the property that X C conv(X) C P for all formulations P, which

leads to the following definition.

Definition 2.3.4 (Wolsey [109]). Given a set X C Rn, and two formulations Pi and

P2 for X, P1 is a better formulation than P2 if P1 C P2.

For any problem of the form (IP), the formulation used is crucial in determining the

efficiency with which the problem can be solved. The theory of valid inequalities can be

used to generate improved formulations of a given integer program.

Definition 2.3.5 (Wolsey [109]). An inequality it x < io is a valid inequality for

X CR" ifrx< ro forallx E X.

For any formulation of an integer program, there is often a substantial number of

additional valid inequalities that can be shown to exist. Two significant questions identified

by Wolsey [109] are as follows.

1. Which are the `good' or useful valid inequalities?

2. If we know a set or family of valid inequalities for a problem, how can we use them

in trying to solve a particular problem instance?

In answer to the first question, we seek to determine strong valid inequalities for the

formulation P = {x E Rn : A x < b}. In order to define what we mean by strong valid

inequalities for P, the following definitions from Nemhauser and Wolsey [73] are required.

26

Page 40: Applications of integer programming in open pit mining: (2006)

Definition 2.3.6 (Nemhauser and Wolsey [73]). A set of points xl, ... , xk E 1[8" is

affinely independent if the solution of E i ai xi = 0, ; i ai = 0 is unique and is

given by ai = 0 for i = 1, ... ,k.

Definition 2.3.7 (Nemhauser and Wolsey [73]). A polyhedron P is of dimension

k, denoted by dim(P) = k, if the maximum number of affinely independent points in P is

k + 1. Further, P C R" is full-dimensional if and only if dim(P) = n.

Full-dimensional polyhedra have the property that there is no equation a' x = bi for some i E {1,... , m} satisfied at equality by all points x E P.

Theorem 2.3.1 (Wolsey [109]). If P is a full-dimensional polyhedron, it has a unique

minimal description

P = {x E II8n :ai x <bi for i E {1,...,m}},

where each inequality is unique to within a positive multiple.

This means that if one of the inequalities in the minimal description is removed, the

resulting polyhedron is no longer P, so each of the inequalities is necessary. Necessary

inequalities can be characterised using the following concepts.

Definition 2.3.8 (Wolsey [109]). If (lr,lro) is a valid inequality for P, and F = {x E P : n x = pro}, F is called a face of P, and we say that (n, pro) represents F. A face F is said to be proper if F # 0 and F # P.

Definition 2.3.9 (Wolsey [109]). A face F of P is a facet of P if dim(F) = dim(P)-1.

Proposition 2.3.1 (Wolsey [109]). If P is full-dimensional, a valid inequality n x < Iro

is necessary in the description of P if and only if it defines a facet of P.

It follows directly that for any formulation P, the set of strongest valid inequalities

corresponds exactly to the set of facet-defining inequalities, which give the ideal formula-

tion P' (or convex hull cony (X)) of the integer program. Nemhauser and Wolsey [73] give

a theorem that characterises facets and is useful in determining when a valid inequality

is a facet for general polyhedrons (Theorem 3.6, p.91). We restate Theorem 3.6 from

Nemhauser and Wolsey for the simpler case of a full dimensional polyhedron.

Theorem 2.3.2 (Nemhauser and Wolsey [73]). Let F = {x E P : n x Iro} be a

proper face of P = {x E 1R' : A x < b), where P is a full-dimensional polyhedron. The

following two statements are equivalent:

1. F is a facet of P.

2. Ifax =Ao for all x E F then

(A,Ao)_(an, a 7ro) for some a E II8.

27

Page 41: Applications of integer programming in open pit mining: (2006)

Direct characterisation of facet-defining inequalities is a problem often considered when

solving difficult instances of (IP). There are a wide range of approaches used to deter-

mine valid (and facet-defining) inequalities for integer programs, including Theorem 2.3.2.

Other approaches are discussed in great detail in Chapters 8 and 9 of Wolsey [109].

Once a set or family of valid inequalities for an integer program is determined, the

question of how to use them to aid in solving a particular problem instance must be

considered. The two most common approaches are to add all valid inequalities found to the

formulation a priori (discussed in Section 2.4.2), or to use them in a cutting plane algorithm

(discussed in Section 2.4.3). Before we expand on these approaches, we introduce the

most common solution method for integer programming problems, the linear programming

based branch-and-bound algorithm.

2.4 The Fundamentals of the Linear Programming Based

Branch-and-Bound Algorithm

The most widely used approach to solve integer programs is the method of employing

a linear programming based branch-and-bound algorithm, first introduced by Land and

Doig in 1960 [60]. It is a divide and conquer approach that uses the concept of the linear

programming relaxation (LP relaxation) of the integer program, that is, the solution

of the formulation with the integrality restrictions on the decision variables relaxed. For

example, the integer program zip = max {c x : x E X} where X = P n 7G+ with

formulation P = {x E lR : A x < b} has the LP relaxation zLp = max {c x : x E P}.

One important property of the LP relaxation is presented by Winston [107] and given

in Theorem 2.4.1 below.

Theorem 2.4.1 (Winston [107]). Let x* be an optimal solution of zLp with objective

zLp. If x* E X and zLp = 4p, then x* is also an optimal solution of the integer program

That is, if the solution to the LP relaxation of an integer program has all decision

variables taking integer values, then the optimal solution to the LP relaxation is also the

optimal solution to the integer program. A further fundamental piece of theory used in

obtaining solutions to integer programs is presented by Nemhauser and Wolsey [73] and

given by Theorem 2.4.2.

Theorem 2.4.2 (Nemhauser and Wolsey [73]). The integer program defined by zip

is equivalent to the linear program max {c x : x E conv(X)}, where conv(X), the convex

hull of X, is defined by Definition 2.3.3.

As a result of Theorem 2.4.2, when the exact inequalities that give conv(X) can be

defined, that is, the ideal formulation P* can be described exactly, the integer program

can be solved as a linear program. However, in most cases of an integer programming

28

Page 42: Applications of integer programming in open pit mining: (2006)

problem, a very large number of inequalities are needed to explicitly describe conv(X),

and it may be the case that determining the entire set of these facet-defining inequalities

is as difficult computationally as solving the original integer program itself. Since X is by definition a subset of conv(X), conv(X) Ç {x E Rn : A x < b}, and conv(X) contains

all feasible integer points of X, the extreme points of conv(X) are also integer. Thus it

will be the case, when the objective of the problem is maximisation, that zip < xLp, that is, xLp gives an upper bound on the value of the optimal integer solution of the problem.

This result is stated in Corollary 2.4.1.

Corollary 2.4.1 (Nemhauser and Wolsey [73]). For a maximisation problem, zip <

zLp.

Theorem 2.4.1 and Corollary 2.4.1 are crucial to the solution method of linear pro-

gramming based branch-and-bound. Linear programming based branch-and-bound is an

attractive solution method for integer programming problems due to the speed and ef-

ficiency with which linear programs can be solved using the Simplex method. A linear

programming based branch-and-bound algorithm obtains an optimal solution to an integer

program with the objective of maximisation using the following procedure.

1. Solve the LP relaxation zLp of the integer program zip (this is referred to as the root node relaxation of zip).

2. If all decision variables are integer, then an optimal solution has been found (due to

Theorem 2.4.1).

3. If some decision variables are fractional, then the value of the objective found is an

upper bound on the optimal value of the integer program (due to Corollary 2.4.1).

4. The feasible region of the LP relaxation is now partitioned by branching as follows:

• choose a fractional variable (called the branching variable);

• split the problem into two subproblems with more restrictive bounds on the

branching variable. This is achieved by setting the branching variable to either

take a value less than or equal to its integer lower bound, or greater than or

equal to its integer upper bound (for example, if the decision variable xi has

fractional solution xl = 5.5, branch on xi < 5 and xi > 6 - see Figures 2.2 and

2.3);

• then set

Subproblem 1 := Root node relaxation + integer lower bound restriction

(e.g. xi < 5)

and

Subproblem 2 := Root node relaxation + integer upper bound restriction

(e.g. xi > 6);

29

Page 43: Applications of integer programming in open pit mining: (2006)

x s

x,

o o o o.. 0 0 0

o o o

o o

• build a tree in which each subproblem is a node (as shown in Figure 2.2);

xl* = 5.5

Node 1

Subproblem 1

Node 2

Subproblem 2

Figure 2.2: Example of a branch-and-bound tree

Figure 2.3: Example of how a branch-and-bound algorithm divides the feasible region of

an integer program.

• choose a node and solve the new subproblem;

• the solution to this subproblem may result in:

— an integer solution: this gives a lower bound on the optimal integer solution,

and the node is not explored any further (called a leaf node);

— an infeasible solution: stop exploring the node and choose another sub-

problem to solve (also a leaf node);

— a fractional solution:

* if less than the current best lower bound, stop exploring the node (due

to Corollary 2.4.1, called pruning);

30

Page 44: Applications of integer programming in open pit mining: (2006)

* if greater than the current best lower bound and less than the current

best upper bound, update the upper bound;

* repeat the branching process.

As the size of the integer program under consideration increases, in general so does the

size of the branch-and-bound tree to be explored. In turn, this increases the computational

effort required to obtain an optimal integer solution. In the case of a binary integer

program. (BIP), given n binary variables, the worst case scenario requires as many as

O(211) nodes to be explored in the branch-and-bound tree. This exponential complexity

can make the computation of optimal solutions impractical in some cases, particularly as

a different linear program is solved at each node in the branch-and-bound tree.

There are a number of decisions made during the application of the branch-and-bound

algorithm that can affect its computational performance. They include:

• how to branch (which node to branch on first) - generally the most fractional variable

(i.e. variable with value closest to 2) is chosen;

• which direction to branch on first for that variable (up or down);

• how to choose the next node to branch on (depth-first search or best-bound search).

Depth-first search refers to the strategy where a first feasible solution is found as

quickly as possible in the branch-and-bound tree. This requires the complete exploration

of a single branch until an integer solution is obtained. Best-bound search refers to a

strategy where the node with the best global bound (least upper bound if maximising,

greatest lower bound if minimising) is always chosen. The aim is to minimise the total

number of nodes evaluated in the tree.

Other techniques that can be applied to try to improve the computational efficiency

of a linear programming based branch-and-bound algorithm include preprocessing, the a

priori addition of valid inequalities, and the development of cutting plane approaches. We

will now give a brief overview of each of these techniques.

2.4.1 Preprocessing

As noted by Wolsey [109], it is beneficial to check whether a formulation of a linear or

integer program is as strong as possible given the information available before attempting

to solve it. Such a check is called preprocessing, and is generally incorporated into com-

mercial MIP solvers. The step of preprocessing involves simplifying constraints, tightening

bounds, reducing problem size, and eliminating redundancy. In the case of integer pro-

grams this step can be particularly beneficial, since it may allow the initial LP relaxation

to be tightened, and hence give a better initial upper bound (in the case of a maximisation

problem). In turn, this may reduce the overall number of linear programs that need to be

solved to find the optimal integer solution, and thus improve the computational efficiency

of the branch-and-bound algorithm.

31

Page 45: Applications of integer programming in open pit mining: (2006)

2.4.2 A Priori Addition of Valid Inequalities

Wolsey [109] notes that preprocessing is an initial step that can be used to tighten the

formulation of an integer program, and that an extra step can be carried out before the

application of a branch-and-bound algorithm as follows. Given an initial formulation

P = {x : A x < b, x > 0} with X = P fl Zn, if a family of valid inequalities ,T given

by ir x < iro, (ir, iro) E .P can be found for X, they can be added to the formulation P to give a new formulation P' _ {x : A x < b, it x < iro for all (ir, iro) E > 0} with

X = Pin Zn. A branch-and-bound algorithm can then be applied to the formulation P' to

solve the problem under consideration. The addition of valid inequalities in this manner

is referred to as the a priori addition of valid inequalities.

One potential advantage of adding a set of valid inequalities to a formulation a priori

is that if the inequalities are chosen so that the formulation P' is significantly smaller

than the formulation P, the bounds should be improved, resulting in a more efficient

solution of the problem using the branch-and-bound algorithm. The chances of finding

feasible integer solutions throughout the branch-and-bound tree may also be increased.

One way in which the relative strength of two formulations can be compared is to use

the concept of the root node gap. The root node gap is defined to be the relative gap

between the initial (root node) LP relaxation and the optimal integer solution, calculated (Root Node Relaxation — Optimal Integer Solutionl

x 100%. The smaller the root as1\ Optimal Integer Solution /J

node gap, the stronger the initial formulation.

It should be noted that in some cases, a family of valid inequalities .7 for an integer

program may be very large. Adding all such inequalities to the formulation directly can

cause the linear programs solved at each node in the branch-and-bound tree to become

large, and subsequently require significantly longer to solve, slowing down the overall speed

of the branch-and-bound algorithm. Hence the choice of any inequalities that are added

to a formulation a priori is very important. An alternative approach is to use a cutting

plane algorithm, where only valid inequalities from .F that are violated by the solution of

the current LP relaxation of an integer program are added to the formulation.

2.4.3 Cutting Plane Algorithms

Suppose X = P n Zn, where P = {x : Ax < b, x > 0}, and we have a family .7' of valid

inequalities it x < lro, (Or, iro) E .P for X. If .P contains so many inequalities that adding

them all to P a priori slows down the overall solution process due to the increased size

of the LP relaxation, an alternative approach is to implement a cutting plane algorithm

to only add inequalities from that reduce the size of the formulation. In this approach,

valid inequalities from .F that cut off the fractional solution to the LP relaxation at the

current node of the branch-and-bound tree are determined by the solution of the separation

problem. Adding inequalities determined in this manner can tighten the formulation of

the integer program.

32

Page 46: Applications of integer programming in open pit mining: (2006)

For an integer program (IP), the separation problem is described by Wolsey [109]

as follows. Given x* E Ilan a solution to the LP relaxation of (IP), is x* E conv(X)? If

not, find an inequality rr x < rr° satisfied by all points in X, but violated by the point

x*. Hence a cutting plane algorithm takes a fractional solution to the LP relaxation of

(IP), and finds inequalities from a family of valid inequalities .P for (IP) that cut off the

current fractional solution, by solving this separation problem. However, it is necessary

to note that given a family of valid inequalities .P, the solution of the separation problem

for .P may be a difficult problem in itself. It may be polynomially solvable, or it may be

NP hard, in which case it is desirable to develop a heuristic separation algorithm.

A generic cutting plane algorithm for zip = max{c x : x E X} where X = P n Zn and

P = {x E IRn : A x < b} that generates useful inequalities from .P is described by Wolsey

[109] as follows.

Initialisation: Set t = 0 and P° = P.

Iteration t: Solve the linear program : zt = max {c x : x E Pt).

Let xt be an optimal solution to this linear program.

If xt E Zn, stop, xt is an optimal solution for zjp.

If xt Zn, solve the separation problem for xt and the family F.

If an inequality ext, r8) E .P is found with rrtxt > r(t) so that it cuts off xt, set Pt+1

Pt n {x : in x < rra}, and set t = t + 1. Otherwise stop.

If the algorithm terminates without finding an integral solution for zip, then

Pt =P n {x: x <ro, iE{1,...,t}}

is an improved formulation for the problem that can be solved using a branch-and-bound

algorithm.

A further refinement of linear programming based branch-and-bound algorithms is

to embed strong cutting plane algorithms within the branch-and-bound framework. In

such approaches, cutting planes are generated at nodes throughout the branch-and-bound

tree, and the resulting algorithm is called a branch-and-bound-and-cut algorithm.

Most commercial integer programming solvers now employ branch-and-bound-and-cut al-

gorithms, where a number of generic cutting planes such as knapsack covers, cliques and

Gomory cuts are considered at each node of the branch-and-bound tree. We now discuss

one particular type of valid inequality that has successfully been applied in a number

of branch-and-bound-and-cut algorithms, known as knapsack cover inequalities. These

inequalities will be of particular interest later in this thesis.

33

Page 47: Applications of integer programming in open pit mining: (2006)

xi = o erwise

Then the 0-1 knapsack problem is given by:

for all j E H. 1, if item i is included in the knapsack

0 th

2.5 Knapsack Cover Inequalities

As noted by Wolsey [109], one particular family of strong valid inequalities that can be

used to tighten an integer programming formulation are knapsack cover inequalities.

These are derived from the 0-1 knapsack problem, which is defined as follows. A set

N = { 1, ... , N} of items are available, each with integer value ci E Z and positive integer

weight at E 7L+. The knapsack has a positive integer weight capacity of b E Z+ units, and

the objective is to maximise the value of the items included in the knapsack, subject to

the weight capacity constraint. An integer programming formulation of the 0-1 knapsack

problem is as follows. Let

max >2 ci xi (2.5.1) iEN

s.t. >2 ai xi < b (2.5.2) i€N xi E {0, 1} for all i E N. (2.5.3)

The constraint (2.5.2) is referred to as a (0-1) knapsack constraint. Knapsack con-

straints play an important role in integer programming formulations of mining problems,

as they are used to model the production capacity constraints described in Section 1.2.

The knapsack polyhedron KP is the convex hull of the set of all solutions for the 0-1

knapsack problem, i.e.

KP := conn fx E {0,1}N : E ai xi < b . i=i

As defined by Wolsey [109], a set C Ç H is a cover for KP if E ai > b. A cover is iEC

minimal if C\{ j } is not a cover for any j E C. Using this definition, it is easy to see

that the (minimal) knapsack cover inequality

xi < (Ci —1 (2.5.5) iEC

is valid for KP, i.e. at most ICI — 1 of the ICI items in the cover can be included in the

knapsack. Significant discussion of knapsack cover inequalities, and methods for strength-

ening them, is given by Wolsey [109]. In particular, the extended cover inequality

(2.5.6) is a strengthened cover inequality that is valid for KP.

Proposition 2.5.1 (Wolsey [109]). If C is a cover for KP, the extended cover inequality

E ici —1 jEE(C)

is valid for KP, where E(C) = C U {j aj > ai for all i E C}.

(2.5.6)

(2.5.4)

34

Page 48: Applications of integer programming in open pit mining: (2006)

If C is a minimal cover for KP, and ai < b for all i E H, then a procedure known as

lifting can be applied to determine a strengthened inequality for KP of the form

E ai xi + E yj ri + E xi < ICII - 1 + E iEN\C jEC2 iECI

jEC2

(2.5.7)

where (C1, C2) is any partition of C such that C1 # O. The lifting problem is solved

to determine valid values for ai for i E N \ C and yj for j E C2 such that (2.5.7) is

valid for. KP. When the lifting problem seeks the values of ai and yj that are as large

as possible for all i E N \ C and j E C2 such that (2.5.7) is valid for X, the problem is

referred to as the maximum lifting problem. Nemhauser and Wolsey [73] present a

general sequential lifting procedure for any valid inequality for a binary integer program,

which can be applied to knapsack cover inequalities of the form (2.5.5). They note that

the coefficients ai and yj are dependent on the order in which the variables are lifted, and

that the procedure should commence with an E N \ C, since beginning with a j E C2 is

equivalent to starting with EiECiu{j} xi < I. Hence by considering different orderings

of the elements of H \ C and C2, a family of valid inequalities for KP can be obtained.

They also note that the maximum lifting problem is itself an optimisation problem, which

may be difficult to solve in general. In the case of a minimal knapsack cover, 1.AÎ \ C1I

0-1 knapsack problems must be solved in a general sequential lifting algorithm. It follows

that a general sequential lifting algorithm requires a series of optimisation problems to be

solved, which may be time consuming. For this reason heuristic lifting procedures may be

employed in practice.

2.6 Solution of Integer Programs Using CPLEX by Ilog Inc.

Throughout this thesis we will solve all integer programming formulations using the com-

mercially available software CPLEX by Ilog Inc. [50]. CPLEX is an optimisation tool

used mainly for solving linear programming problems, linear (mixed) integer program-

ming problems, and quadratic programming problems. We will chiefly use it to solve

linear integer programming problems, for which it employs a sophisticated branch-and-

bound-and-cut algorithm, the basics of which are described in Section 2.4. We access

CPLEX using the Ilog Concert Technology libraries, which allow the CPLEX optimisa-

tion engine to be embedded in a C++ application. All computations in this thesis are

carried out using CPLEX v8.0 via Ilog Concert Technology on an. XP1000 Alphastation

(466 MHz CPU).

As described by the Ilog CPLEX User's Manual [50], when solving an integer program

in CPLEX, the problem is automatically preprocessed, in order to strengthen the initial

linear programming relaxation and decrease the overall size of the problem, as described in

Section 2.4.1. Thus the output may report a number of values for the linear programming

relaxation at the root node of the branch-and-bound tree. Throughout this thesis we will

use both the initial root node relaxation value (before preprocessing occurs) and the final

35

Page 49: Applications of integer programming in open pit mining: (2006)

upper bound reported at the root node to calculate the root node gaps given by different

integer programming formulations.

CPLEX presents a number of options for a user to control the branch-and-bound-and-

cut process. These include the ability to control:

1. how the next branching variable is chosen by issuing a priority order;

2. the direction in which the algorithm should branch first;

3. how the next node should be chosen (i.e. depth-first or best-bound search);

4. whether it is more important to find feasible solutions or prove optimality of the

incumbent solution; and

5. what the stopping criteria should be (i.e. how far the incumbent upper bound is

from the incumbent integer solution when the algorithm terminates).

In addition, the user can control which type of cuts are added, and how aggressively

they are generated, throughout the branch-and-bound-and-cut process. The Ilog CPLEX

User's Manual [50] notes that CPLEX considers the following cuts for addition in its

branch-and-bound-and-cut algorithm: clique cuts, cover cuts, disjunctive cuts, flow cover

cuts, flow path cuts, Gomory fractional cuts, generalised upper bound cover cuts, implied

bound cuts, and mixed integer rounding cuts. Unless otherwise noted, we will always

use the default options in CPLEX when solving integer programs throughout this thesis.

The only difference is that we use a stopping criteria of a final relative gap of 1%, rather

than the default relative final gap of 0.01%. In our case, this guarantees that the integer

solution obtained lies within 1% of the true optimal integer solution, and ensures that

time will not be wasted on an overly tight optimality criteria.

An additional option available to the user of CPLEX involves the manner in which

any valid inequalities determined by the user are added to the formulation a priori. As

noted in Section 2.4.2, if a family of valid inequalities for a particular integer program

is identified, they can be added to the formulation before a branch-and-bound-and-cut.

algorithm is applied to strengthen the initial formulation. However, if the family of valid

inequalities found is very large, the overall efficiency of the branch-and-bound-and-cut

algorithm may be reduced as the linear programs solved at each node of the tree are

significantly larger than the initial formulation. To overcome this, CPLEX has an option

to allow any valid inequalities determined to be added to a pool of cuts known as User

Cuts. Cuts from this pool are then added to the formulation by CPLEX during the

branch-and-bound-and-cut algorithm only if they are violated by the incumbent linear

programming relaxation at a particular node, and the total number applied is reported

at the conclusion of the algorithm. Adding the cuts in this way ensures that the solution.

of the linear programming relaxations throughout the tree is not slowed down due to

the inclusion of a large number of redundant inequalities. However, the size of the User

36

Page 50: Applications of integer programming in open pit mining: (2006)

Cut pool may affect the algorithm, since checking all cuts in the pool for violation may

take a significant amount of time. When adding predetermined valid inequalities to a

formulation in this thesis we will consider both adding them directly to the formulation,

and also adding them as User Cuts.

2.7 Lagrangian Relaxation

Consider the integer program

(IP)

z = max c x s.t. A x < b

Dx < e

x E 7G .

where A is an m x n matrix, D is a p x n matrix, c is an n-dimensional row vector,

b is an m-dimensional column vector, e is a p-dimensional column vector, and x is an

n-dimensional column vector of decision variables.

Consider the situation where the constraints (A x < b, x E Z) are nice, that is,

an integer program subject to just these constraints is (relatively) easy to solve, and the

constraints (D x < e) are considered to be complicated, that is, the presence of these

constraints greatly increases the complexity of the integer program. It is easy to see that

if the complicating constraints (D x < e) are ignored, the resulting problem is a relaxation

of (IP). One method used to deal with the complicating constraints described by Wolsey

[109] is to add them to the objective function with a penalty term u (e — D x), where u is

the dual variable or Lagrange multiplier associated with the constraints (D x < e).

The resulting problem

(IP(u))

z(u) = max c x — u (D x — e)

s.t. A x < b

x E 7L+

is called the Lagrangian relaxation of (IP) with parameter u. Since (IP(u)) is a relax-

ation of (IP), z(u) > z and we have an upper bound on the optimal value of (IP). To find

the best (smallest) upper bound over the infinity of possible values for u, we solve the

Lagrangian dual problem

(LD) min {z(u) : u > 0}.

Wolsey [109] notes that solving the Lagrangian relaxation (IP(u)) may sometimes give

the optimal integer solution of (IP).

37

Page 51: Applications of integer programming in open pit mining: (2006)

2.8 Dantzig-Wolfe Decomposition and Column Generation

Consider the case where an integer programming problem (IP) given by max {ex : x E X} has a feasible region X that can be written as the intersection of two or more sets with the

structure X = flk o Xk for some K > O. Further, consider the case where the constraints take the form

Alxl

Dlxl

l E t

+A2x2 +... +AKx K = b

< d1

... < •

... < •

DKxK < di( , xK E 7Gn+K,

so that the sets Xk = {xk E 7L+ : Dk xk < dk} are independent for k = 1, ... , K, and only

the joint constraints E Akxk = b link together the different sets of variables. k=1

In this situation, given an objective function max E ckxk, we can dualise the joint k=1

constraints to obtain the Lagrangian dual given by

min L(u)

where L(u) = max E (ck — uAk) xk + ub : xk E Xk for k = 1, .. _ K . The calcu- k=1

lation of L(u) in this case breaks up into K distinct subproblems of the form

K

L(u) = E max {(ck — uAk) xk xk E Xk } + ub.

k=1

It is noted by Wolsey [109] that an alternate way to exploit this structure is to solve

an equivalent problem of the form

max KK

E ryk k: E Bk Ak=ß, Ak E %L k=1 k=1

for k= 1, ... ,K

where each matrix Bk has a very large number of columns, one for each of the feasible

points in Xk, and each vector ak contains the corresponding variables. In this case the

problems we wish to solve are integer programs with a very Iarge number of variables.

One way in which an integer program of this form can arise is through the use of the

Dantzig-Wolfe decomposition (or reformulation).

Consider again the integer program

38

Page 52: Applications of integer programming in open pit mining: (2006)

(IP)

max c x

s.t. A x < b

Dx < e

x E 7G+.

where the constraints (A x < b, x E Z) are nice, and the constraints (D x < e) are

complicated. To simplify the presentation of the Dantzig-Wolfe decomposition, assume

that the feasible region of the LP relaxation of (IP) is bounded. Then the result presented

by Winston [107] and given in Theorem 2.8.1 holds.

Theorem 2.8.1 (Winston [107]). Suppose the extreme points of the feasible region of

the LP relaxation of (IP) are P1, P2, ..., PK. Then any point x in the feasible region

may be written as a linear combination of P1, P2, . . . ,PK. That is, there exist weights

P1,µ2, .. • 7 11K such that

x=p1Pi+µ2P2+...+µK PK. (2.8.1)

Moreover, the weights pi, P2i ... , µK may be chosen such that

pl+P2+•.•+µK = 1 and pi > 0 for all i= 1,2, ... , K. (2.8.2)

Any linear combination of vectors for which the weights satisfy the equation (2.8.2) is

called a convex combination. Thus if the feasible region of a linear program is bounded,

any point within the feasible region may be written as a convex combination of the extreme

points. This result may be extended to the case of an integer program, where any point

within the convex hull may be written as a convex combination of the extreme points of

the convex hull of the integer program.

Consider again (IP). Let Q = {x E 7L+ : A x < b} be the feasible region defined by

the nice constraints of (IP). In addition let /C = { 1, ... , K} index the extreme points of

conv(Q), given by {xl, ... , xK }. Applying Theorem 2.8.1 to Q we have that

x = E ilk xk

kE1C for all x E Q,

where:

• JC = { 1, ... , K} indexes the set of extreme points of conv(Q), given by {x1, .. .

• E = 1, kEK

• µk > 0 for all k E K.

Thus the integer program (IP) has the following equivalent formulation:

K •

39

Page 53: Applications of integer programming in open pit mining: (2006)

E uk xk

(kE1C

s.t.

(DWD) D P

k xk

E kE1C

< e

= 1

Pk E z:. for all k E K.

The formulation (DWD) is known as the Dantzig-Wolfe decomposition of the prob-

lem (IP). In large-scale problems, the (DWD) formulation may contain many variables,

since each variable corresponds to an extreme point of the convex hull of Q. This leads to

the use of column generation to solve such a formulation.

Column generation is a solution technique that was developed to efficiently solve linear

(and integer) programs with very large numbers of decision variables, since such problems

often encounter computational difficulties when other solution methods are applied to

them. Barnhart et. al. [10] present four reasons for considering column generation refor-

mulations where the number of possible columns is very large. They are:

• they may provide tighter bounds than more compact formulations;

• they may avoid symmetry that requires branch-and-bound algorithms to expend con-

siderable run time to enumerate (explicitly or implicitly) a large number of equivalent

solutions;

• they are amenable to decomposition, perhaps separating into a number of indepen-

dent subproblems that may be solved easily; and

• they may provide the only formulation possible.

A column generation formulation of an integer program involves a master problem

(MP) that is to be optimised. The master problem is restricted in the sense that all of its

columns are not known explicitly. Hence it is referred to as the restricted master problem

(RMP). In this thesis we are particularly interested in using column generation to solve the

linear programming relaxation of the Dantzig-Wolfe decomposition of the integer program

(IP), that is, the case where the master problem in the column generation algorithm is

given by the LP relaxation of (DWD).

A general column generation algorithm for solving the LP relaxation of (DWD) uses

the LP relaxation of the Dantzig-Wolfe decomposition of (IP) as the master problem (MP).

Hence the appropriate master problem is as follows.

max

40

Page 54: Applications of integer programming in open pit mining: (2006)

max

s.t.

(MP)

C E Pk

xk

kEiC

(E µk xk

kEK

E Pk

kEK

Pk > 0 for all k E IC,

where:

• 1C indexes the set of all extreme points of the convex hull of Q, given by {xl,

• a is the vector of dual multipliers corresponding to the first set of constraints;

• 17 is the dual multiplier corresponding to the second set of constraints.

It is important to note that before the column generation algorithm can begin, an initial

set of feasible columns for (MP) must be generated. This is often a non-trivial exercise

and can affect the solution time of the column generation algorithm. A typical approach

to generating an initial set of feasible columns is to employ a heuristic for the problem.

In the case where the null solution is feasible for the problem under consideration, it can

be used to initialise the column generation algorithm.

The column generation algorithm for solving (DWD) proceeds as follows. An initial

set of columns -/C Ç 1C, that provides a feasible and bounded solution, is generated, and

the restricted master problem (RMP), which is (MP) optimised over this restricted

set of columns, is solved. An optimal primal solution is obtained, with corresponding

dual values aK and if . It is then checked whether the dual multipliers (A ) are dual

feasible for (MP). Rather than checking each point separately, it is possible to do so by

solving an optimisation problem, known as the subproblem, which identifies the feasible

column with the most negative reduced cost rI. The subproblem is given by:

(Subproblern) rK = max (c — At D) x — x E conv(Q)

Let k* represent the column of x variables identified as the solution to the subproblem. If

rK < 0, then the solution {a , i') is dual feasible for (MP), and the incumbent solution

xK is optimal for (MP). In this case, the column generation algorithm is terminated.

Otherwise, the incumbent set of columns in (RMP) is increased by setting K := /C U {k*},

and (RMP) is resolved. The algorithm continues until r < O.

When rK > 0, the column identified by the subproblem will improve the optimal

solution of (RMP) by the greatest amount, since it is the most positive reduced cost

▪ 1

41

Page 55: Applications of integer programming in open pit mining: (2006)

D

(E k xk < e kEK

E fik

kEK

Ak

(2.8.4)

(2.8.5)

(2.8.6)

= 1

> 0 for all kE 1C.

column. When the column generation algorithm terminates, the incumbent solution to

(RMP) gives an upper bound on the optimal solution of the integer program (IP). This

bound is an alternative bound to that provided by the LP relaxation of (IP), and may

be better in some instances. If this bound is not integral, then the implementation of a

branch-and-price algorithm is necessary to solve (IP) to optimality. Branch-and-price

is a solution technique similar to that of branch-and-bound (see Wilhelm [106] or Wolsey

[109] for more details), where the column generation (RMP) and subproblems are solved

at each node of the branch-and-bound tree (instead of the LP relaxation of the incumbent

formulation), to obtain a bound on the optimal integer solution value. The implementation

of specialised branching rules is also necessary in branch-and-price algorithms.

2.8.1 A Formula for the Direct Calculation of the Lagrangian Relaxation

Upper Bound

When employing a column generation algorithm to solve the Dantzig-Wolfe reformulation

of an integer program, the concept of Lagrangian duality, as described in Section 2.7,

can be used to provide an alternate upper bound at each iteration of the column generation

algorithm. We will now discuss how such a bound is obtained. Again consider the integer

program

zip = max c x

(IP) s.t. D x < e

x E Q,

where Q = {x E 7G+ : A x < b} is the feasible region defined by the nice constraints of the

original integer program. Let IC = { 1, ... , K} index the extreme points of conv(Q), given

by {x1, ... , xK }. Define for some set 1C C AC the restricted master problem (RMP) to be

zK = max c E µk xk kEK

s.t.

(2.8.3)

This is the linear programming relaxation of the Dantzig-Wolfe decomposition of the

integer program (IP). Given AT the optimal LP dual multiplier for constraint (2.8.4) and.

17K the optimal LP dual multiplier for constraint (2.8.5), let ri be the reduced cost of the

greatest reduced cost extreme point in {x1, ... , x K }, i.e. let

rK= + xE

mmaxQ)(c — ÀK D) x.

42

Page 56: Applications of integer programming in open pit mining: (2006)

Consider also the Lagrangian relaxation of (IP)

max cx +u(e— Dx)

zLR(U) = s.t.

x E Q

= u e + max (c — u D) x. xEconv(Q)

As noted in Section 2.7, it is straightforward to show that for any u > 0,

zLR(u) > xiP• (2.8.7)

Since the restricted master column generation linear program is a linear program, and

we are given the optimal dual multipliers (i.e. the optimal solution to the dual), we have

(by the Strong Duality Theorem - see Winston [107]) that

zk- = nK (1) + AKe = TiK + Vce.

From the definition of r= we have ic

zi7 + rK = 7 f + AKe — 717 + max (c — D) x xEconv(Q)

= AKe + max (c — Ar D) x. xEconv(Q)

From linear programming duality (see Winston [107]) we also have that > 0 (since

(2.8.4) is an inequality constraint) so substituting AT for u in (2.8.7) we have

ZLR(Ar)

but

> ZIP

ZLR(AK ) = ACe + max xEconv(Q)

—A D)x

= z + rK,

Therefore zK + r provides an upper bound on ZIP. At each iteration of the column

generation algorithm for solving (DWD), the value ZK + rK can be calculated to provide

the Lagrangian relaxation upper bound on the optimal integer solution to (IP) for the

incumbent values of the dual variables.

2.9 Conclusion

In this chapter we have presented the background mathematical theory that will be used

throughout this thesis. We have focused on concepts and techniques within the field of

integer programming. The elementary concepts of integer programming were introduced

in Section 2.2. We then introduced the notion of a strong formulation, along with a

basic introduction to the theory of valid inequalities, in Section 2.3. Particular attention

43

Page 57: Applications of integer programming in open pit mining: (2006)

was given to the concept of facet-defining inequalities for a formulation of an integer

program. The basics of a generic linear programming based branch-and-bound algorithm

were presented in Section 2.4, including the concepts of preprocessing, the a priori addition

of valid inequalities, and the development and application of cutting plane algorithms. We

also studied a certain class of valid inequalities that arise in numerous integer programming

models known as knapsack cover inequalities in Section 2.5. A brief summary of the use

of the commercially available software CPLEX by Ilog Inc. to solve integer programming

problems was presented in Section 2.6. We concluded the chapter by presenting two

alternate methods of formulating and solving an integer programming problem, Lagrangian

relaxation (Section 2.7) and Dantzig-Wolfe decomposition (Section 2.8). We also described

how the solution technique of column generation can be used to solve the Dantzig-Wolfe

decomposition of an integer program, and give an alternate bound on the optimal integer

solution of the integer program. All of these concepts will be employed in the remainder

of this thesis.

44

Page 58: Applications of integer programming in open pit mining: (2006)

Chapter 3

A Survey of Applications of

Mathematical Optimisation in

Open Pit Mining

3.1 Introduction

Over the past forty years, mathematical optimisation has been applied to a wide range

of problems within the mining industry, particularly in the area of open pit mine plan-

ning and design. Applications of operations research in the area of mine planning were

proposed as early as 1956, when Thomas Ware (then Administrative Vice President of

International Minerals) wrote in an invited letter to the editor of Operations Research

[102] that `there is more need for operations research in mining than in almost any other

industry'. He commented further that `it would seem to the writer that, after drilling,

there are continuing opportunities for applications of operations research in mining, and

that such applications would lead to continuing progress in the mining industry. I would

like, for example, to see the techniques of operations research applied to mine planning in

the near future.'

It was, however, a further ten years before the first real progress was made in the

application of operations research in mine planning. This occurred in 1965, when Helmut

Lerchs and Ingo Grossmann [62] presented two mathematical methods for determining the

ultimate pit limit of an open pit mine, in what has become the most widely cited, and

perhaps the most famous, application of operations research in open pit mining. Beginning

with the methods presented by Lerchs and Grossmann, a review of the development of the

approaches to the ultimate pit problem over the past forty years is given in Section 3.2.

Although determination of the final pit limit is a significant step in the mine planning

process, it is only a small element in the development of a mine plan. In fact, Blackwell

[13] divides the mine planning process into the following three main components.

1. Long-term planning, which covers the expected life of the mine, including the deter-

45

Page 59: Applications of integer programming in open pit mining: (2006)

mination of the ultimate pit limit, construction of processing plants, and the location

of access haulage ramps.

2. Medium-term planning, where an extraction sequence that will assure the required

supply of ore for a period of about five years is determined.

3. Short-term planning, which focuses on the next several days to weeks of operation,

where details such as the individual blast layouts, the capacity of stockpiles, and the

immediate availability of various types of ore are considered.

The major focus of this thesis is the area of long-term mine planning, since this is

one of the main tools used in the evaluation of proposed mining projects. As noted by

Caccetta et. al. [18], a large open pit mine can have a life of 20 to 50 years. This motivates

the problem of finding the optimal (with respect to net present value) sequence in which

material should be removed over the life of the mine. This problem is referred to as

the open pit mine production scheduling problem, and is the major focus of this

thesis. A review of the current state-of-the-art techniques for solving the open pit mine

production scheduling problem is given in Section 3.3.

Before considering the application and development of mathematical optimisation in

the area of long-term mine planning, it is important to note that there is a fundamental

limitation when applying optimisation techniques to such problems. This limitation is the

need to make significant assumptions when formulating the mathematical models. Denby

and Schofield [29] note that a great variety of computer-based optimisation techniques

have been developed to assist the mine planner in the preparation of mine plans. They

warn that claims that a computerised plan is optimal need to be tempered by the following

observations.

• All techniques use algorithms that are based on an arbitrary subdivision of the

deposit into blocks.

• Most techniques are based on grade estimates that are inherently inaccurate (due to

geological uncertainty), and they fail to address this inaccuracy.

• Even true (mathematical) optimisers produce results that are only optimal for a

given set of conditions.

• The assumptions used to create the block model can produce inaccurate block values.

• Optimisation tends to proceed according to some economic criteria, and ignores

many of the technical constraints of mining operations.

• All computerised optimisers produce pits that need to be turned into practical plans.

Subsequently this results in practical, but sub-optimal, pits.

46

Page 60: Applications of integer programming in open pit mining: (2006)

Hence it is important to consider the assumptions under which mathematical models

of mining problems are developed. A set of general assumptions common to the majority

of mathematical models used for mine planning are presented by Froyland et. al. [38].

These assumptions are as follows.

1. A deterministic block model is used as input data.

2. The selling price of the product is known perfectly into the future.

3. The infrastructure is fixed throughout the life of the mine (for example, processing

plant capacities and mining capacities are fixed).

4. Grade control is assumed to be perfect, that is, once a block has been blasted, its

contents are precisely known.

5. The requirement of maintaining safe wall slopes can be represented by the removal

of a cone of blocks from the pit.

Throughout this thesis we will adopt the above assumptions in all models developed.

Clearly, relaxation of assumptions 1. - 4. is desirable to create a more accurate model.

of a mining operation. Recently authors have developed more complex mathematical

models where assumptions 1. and 2. are relaxed. Such approaches fall into the category

of stochastic mine planning, and are reviewed in Section 3.4.

In the remainder of this chapter, a review of the three main areas in open pit mine

planning to which mathematical optimisation techniques have been applied is presented.

These areas are the ultimate pit problem, considered in Section 3.2, the open pit mine production scheduling problem (Section 3.3) and stochastic mine planning (Sec-

tion 3.4). Note that the area of mine optimisation is very competitive in the commercial

market place, and as such many authors are reluctant to release detailed descriptions of

their methodologies or analysis of their results. In addition, there are no well established

`benchmark' results to use for comparison of new techniques, as in many other areas of

mathematical optimisation. In Section 3.5 we present a review of a number of problems

that are closely related to the open pit mine production scheduling problem that arise

in other applications of mathematical optimisation. Of particular interest are the results

for the precedence constrained knapsack problem presented in Section 3.5.1, which will

be extended and adapted for use in the open pit mine production scheduling problem in

Chapters 5 and 6 of this thesis. The other problems reviewed in Section 3.5 are the sim-

ple assembly line balancing problem, the labour constrained scheduling problem, and the

resource constrained scheduling problem. We note that any modelling or algorithmic ad-

vances made for these problems could possibly be applied to the open pit mine production

scheduling problem, and vice-versa.

47

Page 61: Applications of integer programming in open pit mining: (2006)

3.2 The Ultimate Pit Problem

As described by Caccetta et. al. [19], a fundamental problem in open pit mining is that

of determining the ultimate pit limits of the mine, often referred to as the pit design

problem or the ultimate pit problem. The objective is to determine the pit contour

which maximises the difference between the value of the extracted ore and the total ex-

traction cost of the ore and waste, while satisfying the restriction of safe wall slopes for

the pit. This problem was first described by Lerchs and Grossmann [62], who presented

two mathematical methods for determining the ultimate pit limit of the mine. Since Ler-

chs and Grossmann's initial description of the problem, there has been a wide range of

research conducted into the solution of the ultimate pit problem. A brief survey of the

many approaches implemented is given by Kim [56]. These approaches are divided into

the following four general categories:

• graph theory;

• network flow;

• linear programming; and

• heuristics.

Kim notes that these four optimisation techniques all make a number of key assump-

tions, the most significant of which are:

• the grade and cost of mining each block is known and accurate;

• the cost of mining each block does not depend on the sequence of mining;

• the desired slopes and pit outlines can be approximated by removed blocks; and

• the objective is to maximise the total `undiscounted' profit of the mine.

A brief summary of the significant contributions made by each approach is now presented.

3.2.1 Graph Theoretic Approaches to the Ultimate Pit Problem

The ultimate pit problem was first described by Lerchs and Grossmann [62], who presented

two mathematical methods for determining the ultimate pit limit of an open pit mine.

This was the first, and possibly most famous, application of mathematical optimisation

in open pit mining. Application of both methods presented follows conversion of the

three dimensional array of blocks from the geological block model into a directed graph

G = (N, S), as described in Section 1.3. Each block i corresponds to a node i E JV, with

a weight cp, representing the net economic value of the block. This value is the difference

between the value of the ore on the market and the cost of excavating the block. The

weight can be either positive (ore blocks) or negative (waste blocks). There is a directed

48

Page 62: Applications of integer programming in open pit mining: (2006)

arc (i, j) E S from node i to node j if block i cannot be extracted before block j, as

dictated by the requirement of safe wall slopes in the pit. Lerchs and Grossmann showed

that the problem of deciding which blocks to extract to maximise profit is equivalent to

finding a maximum weight set Ç of nodes in G, such that all successors of the nodes in C

are also included in G. Such a set is called a maximum closure of G. The first of the two algorithms presented by Lerchs and Grossmann [62] for solution

of the ultimate pit problem is a dynamic programming algorithm for a two dimensional

pit (or a single vertical section of a mine). This has since been extended to a dynamic

programming algorithm for a three dimensional pit by Johnson and Sharp [53], although

in practice it has been found to be computationally intractable. The second algorithm pre-

sented by Lerchs and Grossmann is a graph theoretic algorithm for finding the maximum

closure of the directed graph G derived from the three dimensional block model. This is

generally refereed to as the Lerchs Grossmann algorithm, and has been widely applied

in the mining industry over the past forty years. At each step of the algorithm, some of

the pit slope constraints are ignored, enabling a profitable pit to be found. The algorithm

moves towards optimality by gradually ignoring fewer and fewer pit slope constraints, un-

til a pit that is feasible with respect to all pit slope constraints is found. No numerical

results were presented by Lerchs and Grossmann, however subsequently many researches

have implemented and tested the Lerchs Grossmann algorithm, to the extent that over

the years it has become the benchmark for comparison of new solution techniques for the

ultimate pit problem. An elementary introduction to both the dynamic programming and

graph theoretic methods developed by Lerchs and Grossmann is given by Hustrulid and

Kuchta [47].

Many extensions and modifications of the Lerchs Grossmann algorithm have been de-

veloped and implemented over the past forty years. The general aim of these modifications

has been to improve the computational efficiency of the algorithm, hence allowing larger

instances of the ultimate pit problem to be solved to optimality, and also allowing more

rigorous sensitivity analysis of the final pit design to be carried out. Some of the extensions

presented in the literature include:

• the use of dynamic programming to bound the optimum and hence reduce the size

of the problem (Caccetta and Giannini [17]);

• modification of the arc generation rules to make the implementation of the algorithm

more straightforward (Zhao and Kim [113]);

• parameterisation, where a nested family of ultimate pits of maximum economic value

are produced by varying a single input parameter of the model, for example the metal

price (Seymour [86]); and

• incorporation of variable slope angles in the algorithm (Khalokakaie et. al. [55]).

Although the graph theoretic approach is elegant and can be implemented directly, it

49

Page 63: Applications of integer programming in open pit mining: (2006)

still exhibits computational limitations, and can also require the development of complex

data structures. For these reasons, a number of alternative approaches to the ultimate

pit problem have also been proposed and investigated. These include applying network

flow algorithms, linear programming, and heuristic approaches. In particular, the gains

in efficiency in network flow algorithms over the past ten years have seen this approach

begin to supersede the graph theoretic approach as the industry standard. Details of the

network flow approach are given in Section 3.2.2.

3.2.2 Network Flow Approaches to the Ultimate Pit Problem

An alternative approach to solving the ultimate pit problem, first presented by Picard [79],

is to use a maximum flow algorithm. Picard showed that the maximum closure problem

for the graph G = (JV, S) can be formulated as a maximum flow problem on a related

network G = (J1Î, S). To derive G from G, a dummy sink node s and a dummy source

node t are added to the set of nodes N. Hence N := N U {s, t}. The sink node s is joined

to every node of G with positive weight by an arc with capacity equal to the weight of the

node. The nodes of G with non-positive weight are joined to the source node t by an arc

with capacity equal to the absolute value of the weight of the node. The arcs of G are all

given capacity co. Picard [79] then showed that the maximum closure of G corresponds

to a minimum cut of G. As noted by Ahuja et. al. [3], a fundamental theorem in the

area of network flows is the max-flow min-cut theorem, which says that by solving a

maximum flow problem in a network, the complementary (dual) minimum cut problem is

also solved. When combined with the result of Picard [79], this allows the ultimate pit

problem to be solved as a maximum flow problem on the network G. A detailed comparison of the network flow approach with the Lerchs Grossmann al-

gorithm for solving the ultimate pit problem was carried out by Caccetta et. al. [18].

The network flow implementation was based on Dinic's algorithm (described in detail by

Ahuja et. al. [3]), which has a theoretical complexity of O(m n2), where m = ISl and

n = The algorithms were implemented on a SUN SPARC II workstation with 64

MB of memory, and were tested on 11 block models of size varying from 20,979 blocks

to 3,175,200 blocks. The computational results indicated that the network flow algorithm

was faster than the Lerchs Grossmann algorithm. However, it was also found that the Ler-

chs Grossmann algorithm became more efficient as the graph G became denser, that is, as

the number of slope constraints in the model was increased. The two algorithms required

similar amounts of memory. For the larger pits, application of a dynamic programming

bounding technique, developed by Caccetta and Giannini [17], was required to reduce the

size of the model to allow the optimal solution to be found for the Lerchs Grossmann

implementation.

Hochbaum and Chen [46] compare the implementation of a number of variations of a

basic push-relabel maximum flow algorithm with the Lerchs Grossmann algorithm. The

50

Page 64: Applications of integer programming in open pit mining: (2006)

/n m log n2 \ push-relabel maximum flow algorithm has complexity O I I when run on a

\\\ m / network G = (N, S) where n = INJ and m = ISI; for more details on push-relabel

maximum flow algorithms see Hochbaum and Chen [46] or Goldberg and Tarjan [42]. The

computations were carried out on a 100-MHz SGI challenge (IP19) computer system with

640 MB of memory and 1 MB secondary cache. For a mine size of 54,000 blocks, the

Lerchs Grossmann algorithm required 94.8 seconds to find the optimal solution, compared

with 28.8 and 24.6 seconds for the two best performed push-relabel algorithms. When

the mine size was increased to 108,800 blocks, the requirements were 301.8 seconds for

the Lerchs Grossmann approach, and 69.7 and 45.1 seconds respectively for the push-

relabel approaches. In the case of 162,750 blocks, the computation times were. 568.5

seconds, 106.9 seconds, and 76.4 seconds respectively. These results demonstrate that the

push-relabel algorithm exhibits superior performance compared to the Lerchs Grossmann

algorithm for the mine data tested. However, the Lerchs Grossmann algorithm was found

to have an advantage in that it used space and memory more economically, reducing the

computational requirements of the system.

Muir [72] considers a network flow generalisation of the Lerchs Grossmann algorithm

based on the network flow approach first presented by Hochbaum [45]. It is called the

pseudoflow algorithm, and is shown to be theoretically more efficient than the Lerchs

Grossmann graph theoretic algorithm. Muir compares the performance of the Lerchs

Grossmann algorithm and two variations of the pseudoflow algorithm on three block mod-

els of sizes 994,480 blocks (13 arcs per node), 4,536,900 blocks (81 arcs per node) and

760,000 blocks (81 arcs per node). The run times were 1,527 seconds (Lerchs Grossmann)

compared to 126 seconds and 29 seconds (pseudoflow) for the 994,480 block model, 56,843

seconds compared to 645 and 1,140 seconds for the 4.5 million block model, and 95 seconds

compared to 429 and 19 seconds for the 760,000 block model. No details of the machine

used were given. Both the results and the theory presented show that the pseudoflow vari-

ants became increasingly more efficient than the generic Lerchs Grossmann algorithm as

the number of blocks was increased, hence allowing larger models to be solved in reduced

time.

As these studies have shown, the gain in efficiency in network flow algorithms over

the past ten years has led to the network flow approach superseding the famous Lerchs

Grossmann graph theoretic algorithm as the most efficient method to obtain a solution to

the ultimate pit problem.

3.2.3 Linear Programming Approaches to the Ultimate Pit Problem

The fact that the ultimate pit problem can be formulated as a network flow problem

also allows it to be formulated as a relatively simple linear program. However, solution

of the ultimate pit problem using linear programming has been found to be intractable

for realistically sized block models. One of the reasons for this is described by Ahuja

51

Page 65: Applications of integer programming in open pit mining: (2006)

et. al. [3], where it is shown that the simplex algorithm for solving linear programs is

an exponential-time algorithm (although it often runs much faster in practice), while

many polynomial algorithms exist for the maximum flow problem (for example Dinic's

algorithm has complexity O(n2 m) for a network with n nodes and m arcs). In addition,

when applying the simplex algorithm to the ultimate pit problem, the data storage and

computation requirements are often too large to be handled, even by modern computers.

Meyer [68] presented the first formulation of the ultimate pit problem as a linear

program. A number of assumptions were required to enable solution of this model, which

limited the practical use of the implementation. Further consideration of this approach was

given by Caccetta and Giannini [16], who modified the restrictions proposed by Meyer, but

found the network flow approach to be more practical. More recently, a detailed analysis

of the linear programming approach to the ultimate pit problem is given by Underwood

and Tolwinski [97]. A dual simplex algorithm for finding the minimum cost flow on the

network G derived from the graph G, in the method developed by Picard [79], is presented.

Both the Lerchs Grossmann and dual simplex algorithms are implemented on an Intel 486

(66 MHz) processor. The limiting step in the computations is identified to be that of

examining the block dependencies. This means that the `denser' the precedence set (i.e.

the shallower the slope angles and the deeper the mine), the greater the computational

requirement. The algorithms are compared on two block models, labelled A and B. Model

A contained 232,224 blocks, and Model B contained 408,100 blocks. The CPU times

required for. Model A were 1,168 seconds for the dual simplex algorithm and 1,206 seconds

for the Lerchs Grossmann algorithm, while for Model B they were 1,193 seconds and 2,104

seconds respectively. Although these run times are comparable, as indicated in Section

3.2.2 the network flow approach is generally superior to the graph theoretic approach,

and hence is also expected to outperform the dual simplex algorithm based on the linear

programming model presented by Underwood and Tolwinski [97].

3.2.4 Heuristic Approaches to the Ultimate Pit Problem

The difficulty of implementation and solution of the Lerchs Grossmann algorithm for large

block models has led a number of researchers to investigate the application of heuristics to

solve the ultimate pit problem. The most widely considered is the floating cone method,

of which a basic description is given by Hustrulid and Kuchta [47]. This is based on the

idea that given a safe wall slope requirement, the set of blocks that must be removed

before a block i E N can be removed from the pit forms a cone with block i as its base.

The floating cone method searches for cones in which the total weight (i.e. value) of all the

blocks in the cone is positive. A brief review of the floating cone method and some further

modifications is given by Kim [56]. One particular modification of interest is the Korobov

algorithm, first presented in 1974, and described in detail by Dowd and Onur [33]. The

basis of this method is that only cones whose base block is an ore block (i.e. a block with

positive value) are considered for inclusion in the ultimate pit. Moving from the top of the

52

Page 66: Applications of integer programming in open pit mining: (2006)

block model down, such cones are considered, and the positive block values within each

cone are allocated against the negative block values within the cone until the values of all

positive blocks have been allocated. If, when the allocation is complete, the value of the

cone is positive, this cone is added to the optimum solution set. Once a cone of blocks has

been included in the optimum solution set, these blocks are not considered for inclusion

in subsequent cones, and the original block values are restored for those blocks that have

not yet been removed from the pit. The algorithm then continues on the current level

of the block model, or, if there are no more blocks of positive value on the current level,

on the next level down. Dowd and Onur [33] show by example that this algorithm does

not reach the true optimal solution in all cases. They then develop a modified version of

the Korobov algorithm, where they alter the method with which positive block values are

allocated against negative block values as follows. If two or more cones under consideration

have blocks in common, allocation is first made against the non-common blocks; allocation

against common blocks is done only after the values of all non-common negative blocks

have been reduced to zero. A comparison of this modified Korobov algorithm with the

Lerchs Grossmann algorithm is undertaken on a PC with a 50 MHz 80486 processor. No

details of the data sets used are given, however the increased efficiency of the modified

Korobov algorithm when compared to the Lerchs Grossmann algorithm is evident.

As noted in Section 3.1, determination of the ultimate pit is only a small step in

the mine planning process. The next significant, and less-widely investigated, step is

that of determining the sequence in which the blocks should be removed from the pit

over the lifetime of the mine. This is referred to as the open pit mine production

scheduling problem, and is described in Section 3.3. Traditionally, many algorithms for

the open pit mine production scheduling problem include implementations or modifications

of approaches used to determine the ultimate pit of the mine.

3.3 The Open Pit Mine Production Scheduling Problem

Wang and Sevim [101] note that long-term production planning for open pit mines is

an unsolved problem, mainly due to its size and the interaction between the variables

involved, such as the ultimate pit limit, production rate, mining sequence, mine life, and

cutoff grade. Sevim and Lei [85] define the general production scheduling problem for an

open pit mine to be that of finding the mining sequence that maximises the net present

value of the operation, including determination of:

• the production rate, that is, the number of blocks to be mined in each year;

• the specific group of blocks to be mined in each year;

• the milling cutoff grade that will determine the amount of waste and ore mined in

each year; and

• the ultimate pit limits.

53

Page 67: Applications of integer programming in open pit mining: (2006)

A significant complication with the solution of the general production scheduling problem,

where the annual production rates and the life of the project are unknown at the outset,

is that all four variables interact in a circular fashion. That is, a cutoff grade must be

determined to define the extent of the ore body, and hence, the ultimate pit limits; then

the ultimate pit limits are used to devise a production schedule, including the yearly

production and the mining sequence. Subsequently, the selected production rate and the

mining rate are used to calculate the revenues and costs, which in turn define the economic

cutoff grade.

Sevim and Lei [85] present a heuristic for this general production scheduling problem,

based on that developed by Wang and Sevim [101], where maximum metal pits are

generated. These pits contain more metal than any other pit of the same size. A dynamic

programming algorithm is then used to find the optimal net present value among all

possible sequences of maximum metal pits. This in turn determines the optimal cutoff

grade and yearly production rates. The algorithm was implemented on a block model

with 43,000 blocks, and found the optimal mine life to be 11 years. No details of the

computational requirements were presented. The limitation that it is computationally

impossible for the dynamic programming approach to complete an exhaustive search of

all the possible paths for a realistic sized block model is identified. In a second moderate

case considered, the evaluation of 1.28 x 1011 sequences would have be necessary.

Denby and Schofield [28] present a self-learning genetic algorithm to provide, simulta-

neously, a combined pit limit and extraction schedule to maximise the net present value

of the operation. The approach presented considers a two dimensional optimisation only.

The algorithm was tested against a number of known optimal schedules produced by

manual methods, using a PC-compatible 486DX (33 MHz with 8 MB RAM). No details

relating to the size of the block models or the number of arcs were given. The percentage

efficiency of the algorithm, defined to represent how close the net present value of the

solution given by the genetic algorithm was to the manually scheduled net present value,

was found to be consistently high. In no case did it fall fall below 97%, and values greater

than 99% were usually obtained. Solution times were all less than 600 seconds.

Although some consideration has been given to the general production scheduling

problem, the majority of approaches in the literature overcome the interaction between

the main variables by formulating the problem as a constrained scheduling problem. This

is a widely accepted practice in industry, and is considered in detail in Sections 3.3.1 -

3.3.4.

3.3.1 Formulation of the Open Pit Mine Production Scheduling Problem

as a Constrained Scheduling Problem

Onur and Dowd [74] note that one way in which the circular constraints of the general

open pit mine production scheduling problem can be overcome is to formulate the prob-

lem as a constrained scheduling problem. Formulation of the open pit mine production

54

Page 68: Applications of integer programming in open pit mining: (2006)

scheduling problem in this manner is widely accepted for industrial applications, and still

exhibits significant computational difficulty. The constrained scheduling formulation is

closely related to a number of more general scheduling problems in operations research

and management science. These include the precedence constrained knapsack problem,

the simple assembly line balancing problem, the labour constrained scheduling problem,

and the resource constrained project scheduling problem. A brief review of these problems

will be presented in Section 3.5.

The standard approach to the constrained scheduling formulation of the open pit mine

production scheduling problem makes the assumptions presented by Froyland et. al. (2004)

[38] and described in Section 3.1. That is, that

1. a deterministic block model is used as input data;

2. the selling price of the product is known perfectly into the future;

3. the infrastructure is fixed throughout the life of the mine (for example, processing

plant capacities and mining capacities are fixed);

4. grade control is assumed to be perfect, that is, once a block has been blasted, its

contents are precisely known; and

5. the requirement of maintaining safe wall slopes can be represented by the removal

of a cone of blocks from the pit.

In particular, a significant difference from the general production scheduling problem

is that a cutoff grade is assumed, allowing economic values to be assigned to each block

in the block model prior to optimisation. In addition, an annual production rate is also

assumed, leaving determination of the specific group of blocks to be mined in each year

as the remaining outstanding problem. Hence, the constrained open pit mine production

scheduling problem requires three main classes of constraints to be considered: production

capacity constraints, block precedence constraints, and the logical requirement that each

block in the block model can be extracted at most once during the life of the mine.

In some cases additional constraints on the grade of the material to be mined are also

included. The most common approach used to solve the constrained version of the open

pit mine production scheduling problem is described by Onur and Dowd [74] as that of

finding the ultimate pit (using one of the methods described in Section 3.2, generally the

Lerchs Grossmann algorithm), and then scheduling the blocks within this ultimate pit in

a manner such that the net present value is maximised. Methods used to achieve this

include heuristics, dynamic programming and integer programming.

Since the open pit mine production scheduling problem considers the manner in which

a mine should be exploited over time, the time value of money becomes a factor that

must be considered. As described by Peirson et. al. [78], the time value of money is

a fundamental principle of finance that says that a dollar is worth more the sooner it

55

Page 69: Applications of integer programming in open pit mining: (2006)

is received, all other things being equal. This is the case because it is possible to invest

money held at the present time and earn interest on it. In order to compare a series of cash

flows that occur over time, a discount factor 6, where 0 < 6 < 1, is applied per annum

to each cash flow to determine the equivalent amount that would need to be invested at

the present time to grow to the value of the cash flow at the time that it is realised. This

discounted amount is known as the present value of the cash flow. Projects that involve a

series of both positive and negative cash flows that will be realised over a time horizon are

often evaluated using the net present value criterion. This is described by McCutcheon

and Scott [66] as follows. Following the selection of an appropriate discount rate (8), or

using a spread or probability distribution of possible discount rates, a project consisting

of different cash flows over time will be profitable if NPV(8) > 0, and thus the decision

to pursue a project may be based on this criterion. Since an open pit mine is typically

exploited over a period of 10 to 50 years, the cash flow realised from the extraction and

sale of a certain block from within the pit will depend on the time that the cash flow

occurs. It follows that the objective of the open pit mine production scheduling problem

is to maximise the net present value of the cash flows earned by the mine.

3.3.2 Heuristic Approaches to the Open Pit Mine Production Scheduling Problem

Dagdelen [25] notes that the objective for the planning process of an open pit mine is

usually to find the optimum annual schedule that will give the highest net present value,

while meeting various production, blending, sequencing and pit slope constraints. The

traditional process for determining such a schedule begins with the assumption of initial

production capacities in the mining system and the estimates for the related costs and

commodity prices. Once the economic parameters are known, the ultimate pit limit is

determined, so that the portion of the deposit that can be economically mined is estab-

lished. Within the ultimate pit limit, the deposit is then divided into a series of nested

pits, going from the smallest pit with highest value per tonne of ore, to the largest pit

with the lowest value per tonne of ore. Each nested pit is divided further into pushbacks

or phases, which are defined by Hustrulid and Kuchta [47] to be the minimum size `bite'

of a nested pit that can be considered for mine planning. These pushbacks are designed

to include haul road access, and act as a guide during the scheduling of yearly production.

The cutoff grade strategy is then defined in order to differentiate ore from waste, and

further, to determine how each individual block should be processed. These steps are then

repeated in a circular fashion, as further refinements are made to the production capac-

ities and estimated costs. Once the final set of pushbacks is determined, the next step

is to develop a long-term yearly production schedule for the mine. In the simplest case,

yearly schedules are determined by mining from the top bench of the smallest pushback

towards the bottom bench. Once a given pushback is exhausted, mining from the top

of the next smallest pushback commences. It is evident that this approach is unlikely to

56

Page 70: Applications of integer programming in open pit mining: (2006)

result in the yearly schedule that will maximise the net present value of the cash flows of

the mine. More recent approaches allow multiple pushbacks to mined simultaneously in

an attempt to overcome this shortcoming. The underlying assumption in these methods

is that previously designed pushbacks will guide the scheduling process, and that this will

result in a distribution of cash flows that will give a high net present value. This is a

significant assumption that will not hold for many open pit mines.

Dagdelen [25] also notes that there are many sophisticated software packages in the

mining industry to perform the ultimate pit limit analysis and design of pushbacks as

described above. These packages are then used to determine yearly mine plans and sched-

ules. In particular, the Whittle Four-X [104] package and its predecessors, which have

widely been considered to be the state-of-the-art in mine production scheduling software

over the past twenty years, use the approach described above. However, all software

packages determine the ultimate pit limits, pushbacks and cutoff grades on the basis of

break-even analysis, without any consideration given to the time value of money. Hence

Dagdelen argues that the traditional mine planning techniques that provided the highest

undiscounted profits need to be reconsidered to provide net present value-maximised mine

plans and schedules.

Gershon [40] cites a number of reasons for using heuristic approaches to the open pit

mine production scheduling problem. These include that:

• common sense approaches that are easily understood by mine engineers can be used;

• such approaches can then be used to guide a manually derived schedule; and

• a method that can quickly and efficiently approximate the results of a mathematical

optimisation approach is desirable.

Gershon [40] then presents a heuristic for scheduling the blocks located within the

ultimate pit, based on the concept of a ranked positional weight. Cones are generated

downwards for each block, to capture the idea that there may be a number of blocks that

cannot be mined at any given time because one particular block has not yet been mined.

Until this key block has been mined, all those below it cannot be mined. The total quality

of ore within the downward cone is then used to measure the desirability of mining the

block at the apex of that cone, called the positional weight of the block. A discount

factor is applied to the positional weight depending on the depth of the block within the

mine, to reflect the fact that a high grade on the 15th level below the surface is not as

desirable, in present value terms, as a similar grade on the 3'd level. At each iteration of

the heuristic, the positional weight is determined for each exposed block, and then ranked.

The block with the highest positional weight is then mined, and the positional weights

are recalculated based on the revised set of exposed blocks. No details of a computational

implementation of the heuristic are presented.

Wang [100] notes that a computer aided, trail-and-error approach based on the concept

57

Page 71: Applications of integer programming in open pit mining: (2006)

of phase-bench sequencing is the most commonly practiced scheduling method. This

approach usually consists of:

• designing several mining phases by generating nested pits using a pit design algo-

rithm (such as the Lerchs Grossmann or moving cone algorithms);

• computing the grade and tonnage of each bench in each phase; and

• in a trial-and-error fashion, finding a feasible phase-bench sequence that meets the

mining and milling capacities at the specified cutoff grades.

It is noted that this approach is time consuming, and is generally considered to be complete

as soon as the first feasible schedule is found, even though this may be far from the

optimal schedule. The reason this approach is so widely used is its simplicity, combined

with the flexibility it affords for considering practical constraints, such as the minimum

operating radius of mining equipment, the maximum number of benches that can be mined

simultaneously, and the maximum downward development speed.

Although the state-of-the-art approach to solving the open pit mine production schedul-

ing problem has traditionally been based on a heuristic, the recent advances in algorithms

for solving mathematical programming problems has meant that exact methods for solving

the problem have become feasible for industrial implementation. In particular, dynamic

programming and integer programming formulations of the open pit mine production

scheduling problem have recently been investigated in detail.

3.3.3 Dynamic Programming Approaches to the Open Pit Mine

Production Scheduling Problem

As described by Sniedovich [92], dynamic programming solves a complex problem by

decomposing it into a sequence of subproblems, which are then solved and used to construct

the solution to original problem. The problem to be solved is referred to as a sequential

decision process, which is decomposed into a series of stages, and at each stage the

process could be in any one of a number of different states. At each stage a decision

must be made, which will depend on the current state of the process. The decisions made

are related by a functional equation. Since the scheduling of a mining operation is

essentially a progression of stages (time periods), where at each stage the state is the set

of blocks remaining in the pit, a dynamic programming formulation of the open pit mine

production scheduling problem can be developed quite naturally.

Onur and Dowd [74] present such a dynamic programming algorithm to schedule the

extraction of the blocks within a previously determined ultimate pit. No computational

results are presented. A limitation identified by the authors is that the computing times

required mean that, for large orebodies, the method cannot be implemented on a personal

computer.

58

Page 72: Applications of integer programming in open pit mining: (2006)

Wang [100] presents a dynamic programming algorithm for phase-bench sequencing

within an ultimate pit. After the mining phases have been designed, the pit state is

represented by the bench levels down to which the phases have been mined. An algorithm

for generating all feasible pit states for a set of predesigned phases is presented. The

dynamic programming algorithm is then applied to find the optimal mining sequence to

reach each feasible pit state, and the final state indicates the overall net present value of the

project. The best sequence of states (i.e. optimal long-term mining schedule) is then found

by tracing the sequence of states used to obtain the optimal net present value back from

the final state. Implementation of the algorithm is illustrated by a small two-dimensional

example, with a total of 21 feasible states. No computational results for application of the

algorithm to practical block models are presented.

Tolwinski and Underwood [94] also develop a dynamic programming approach to the

open pit mine production scheduling problem. They aim to overcome the computational

difficulties stemming from the curse of dimensionality associated with the open pit mine

production scheduling problem by the development of a successive approximation method

to solve their functional equation. The method used is based on the corridor method

of solving dynamic programming problems with very large state spaces. The success of

such a method depends greatly on the proximity of the initial region considered to the

optimal state space. The dynamic programming algorithm developed was applied to two

three dimensional block models of size 88,400 blocks. One had a relatively homogeneous

distribution of ore, while the other had the ore concentrated in at least two separate

locations hidden under several layers of waste. In both cases, significant improvement in

the net present value able to be realised from the mine was found when compared with a

myopic heuristic used to generate the initial feasible schedule for the dynamic programming

algorithm. No details on implementation or computer run times are reported.

Although recent advantages in computational power have allowed increasingly large

dynamic programming problem instances to be solved, the size of the state space in dy-

namic programming formulations of the open pit mine production scheduling problem is

still prohibitively large in most practical applications.

3.3.4 Integer Programming Approaches to the Open Pit Mine

Production Scheduling Problem

Over the past fifteen years significant algorithmic development has resulted in greatly

improved computational performance by the state-of-the-art mixed integer programming

solvers. Combined with a rapid increase in the availability of computing power, this has

allowed increasingly larger instances of integer programs to be solved to optimality. In

particular, solving exact integer programming formulations of the open pit mine produc-

tion scheduling problem in time frames acceptable for industrial application has become

a possibility.

Perhaps the first paper to mention an integer programming formulation of the open

59

Page 73: Applications of integer programming in open pit mining: (2006)

pit mine production scheduling problem was that of Gershon [39], who noted that while

addressing the ultimate pit problem is an integral function of any mine planning system, it

fails to take into account the time sequencing of material removal (production scheduling).

An application of integer programming termed the mine scheduling optimisation (MSO)

approach is then described, the objectives of which are to:

• optimise all aspects of a mine operation, from mine to plant to market;

• optimise life-of-mine schedules;

• optimise intermediate and short-term schedules subject to, and consistent with, the

life-of-mine schedule; and

• provide an efficient means of updating schedules when conditions change or new

information becomes available.

A typical MSO model is described as consisting of approximately 8,000 constraints

and 12,000 decision variables. The formulation used is not explicitly presented, however

many features of it are described. It is noted that the inclusion of integer variables allows

actual mining conditions to be modelled, such as the fact that all precedent volumes must

be completely mined prior to commencing mining on the subsequent volume. It is noted

that the goal is to relate all operations back to costs because the objective usually involves

costs or net present value. Other objectives such as maximum life of mine or maximum

production of product are also considered. The MSO model is then implemented in APEX-

IV, noted to be widely considered as the state-of-the-art in linear programming software

at the time (1983). A discussion regarding the consideration of time periods follows, with

a 20 year schedule presented as a typical example. The 20 year schedule is divided into five

time periods, four of which cover the first ten years, with the final ten years constituting

a time period by itself. The justification is that fine resolution is provided for the earlier

time periods without sacrificing long-term direction. The areas mined in the first two years

of the twenty year model are then broken up and scheduled over 24 months to provide a

more detailed schedule. Then the areas mined in the first three months are broken up into

production volumes to be scheduled on a weekly basis over 13 weeks.

No computational results are reported, nor are any specific examples presented. It is

mentioned that successes had been achieved for four different applications in three different

industries. It is also noted that further work will include incorporating any advances in

the field of mathematical programming that will allow significant computational savings,

or any new ideas for handling integer variables.

A BIP formulation of the open pit mine production scheduling problem has also been

incorporated within more detailed models of the mine production process. In particular,

Barbaro and Romani [9] link the production scheduling problem of a mine with the problem

of determining the location of existing or new production units and processing facilities.

Their model seeks to simultaneously optimise:

60

Page 74: Applications of integer programming in open pit mining: (2006)

• the mine production schedule;

• the selection and location of processing facilities (mineral beneficiation plants, smelt-

ing plants, refineries, or blending facilities);

• the production of blended ore; and

• market selection.

In order to do so, they require many simplifying assumptions to enable their model to

be solved. An example of an application of their model to a centralised coal preparation

plant system is presented. The problem consists of two coal mines, two possible centralised

preparation plant sites, a choice of a preparation plant with two processing streams and/or

a blending facility, two possible markets with a maximum sulfur limit, and one time period.

The formulation contains only 32 continuous variables and 10 binary variables, a greatly

simplified model. The formulation is solved on a IBM 370/3081 computer system. No

details regarding the computation times are presented.

The problem of incorporating stockpiles into a mine production scheduling problem is

considered by Smith [91]. The case of phosphate mining in Idaho, USA is considered. The

problem at this site is that the complex geology of the ore body leads to highly variable

ore quality characteristics. As a consequence, a standard mine production schedule leads

to erratic mill feed characteristics, which greatly decrease ore recovery, and subsequently

the profit of the operation. In an attempt to reduce this variability, the plant feed is

blended at the mill. Another means of blending the ore is via the use of stockpiles. At this

particular mine, stockpiles play a crucial role in allowing production at the plant to be

maintained twelve months per year. The isolation of some of the mines that feed the plant

means that transportation of the ore to the plant during the winter months is infeasible.

The year-round production is maintained by mining and transporting a greater quantity

of ore than can be processed during the summer months, and using the excess to build

a large stockpile at the plant. This stockpile is then depleted for processing during the

winter months, when no new ore can be brought to the plant.

Smith [91] does not present a formal mathematical model of the problem considered.

However, a qualitative description, along with some AMPL [37] code, is presented. A

particular point of interest in Smith's proposed model is that each block's phosphorus

oxide (P205) content is held in a parameter. This differs to the standard approach of

applying a cutoff grade to a model, where the blocks are categorised as either ore or waste

before the optimisation is undertaken, and is one way in which the problem of defining a

cutoff grade in the case of blended ore can be overcome. Other parameters are defined for

each time period's demand for ore tonnage, ore quality targets and the total number of

time periods over which production is to be optimised. Variables are used to represent the

decisions made in each time period and the deviation from each time period's production

targets. Smith describes two kinds of decision variables: continuous variables representing

61

Page 75: Applications of integer programming in open pit mining: (2006)

the tonnage mined from a block or stockpile, and binary variables to indicate if the block

is being mined during a time period, or if the block has been exhausted. This is another

area in which Smith's model differs slightly from the standard approach, because the

model used is a mixed integer program (MIP) rather than a binary integer program. This

variation effectively allows a block to be mined over more than one time period, that is,

fractions of blocks can be mined in each time period.

The proposed model has the objective of minimising the deviation from all produc-

tion goals. The particular goal noted is to minimise the deviation from the target P2O5

production in each period. In the AMPL formulation presented, the stockpile grade is

a parameter, that is, it is assumed that the stockpile quality characteristics are known

in advance. This is a simplifying assumption that allows the stockpile constraints to be

modelled linearly. Additional constraints are imposed to limit the tonnage mined from

each block over time to the tonnage available in the block, to ensure that the stockpile

is exhausted by the end of the haulage season, and to satisfy the mill demand for each

time period using a combination of shipments from the stockpile and the mine. Block

precedence constraints are also imposed.

One of the major problems identified by Smith [91] with regards to the formulation

described is that because there are two binary variables for each block and time period,

even a small number of blocks can result in a problem that is too large for solution by

a commercial MIP solver such as CPLEX by IIog Inc. [50], which is the optimisation

engine used by AMPL. In the case of the phosphate mine under consideration, when

the original block model was considered with seven time periods, the resultant model

contained 4,452 binary variables, which was too large for a satisfactory solution to be

obtained. The following four strategies are proposed by Smith [91] to reduce the number

of binary variables in the formulation.

1. Combine two or more blocks into a super-block to reduce the number of blocks in

the model.

2. Remove all blocks with insignificant tonnage and combine them with the next closest

block.

3. Recognise that all blocks should not be available in all time periods, and consequently

use a different (smaller) block set for each time period.

4. Decrease the number of time periods by increasing the time span of each period.

Application of the above methods allowed the model to be reduced to 198 binary

variables, and subsequently enabled the model to be solved using CPLEX. Smith also

identifies other solution strategies that can be employed to reduce the solution time by

manipulating the branch-and-bound algorithm within CPLEX. These strategies include

the following.

62

Page 76: Applications of integer programming in open pit mining: (2006)

• Recognise that the majority of constraints in the model describe the block precedence

relationships, and that such constraints have only two non-zero coefficients, a +1 and

a -1, a construction typical of network flow problems, and seen in the description of

the ultimate pit problem in Section 3.2. This indicates that computation time may

be decreased by selecting the Network Simplex algorithm to solve the LP relaxations

at each node of the branch-and-bound tree.

• Relax the integrality tolerance on the binary variables and the optimality criteria

(relative gap between the incumbent integer solution and the linear programming

upper bound when the branch-and-bound algorithm terminates).

• Set the branch-and-bound algorithm to pursue a depth-first search strategy or a

best-bound search strategy.

• Impose a branching priority ordering on the binary variables. Binary variables asso-

ciated with earlier time periods should have greater priority for branching, as they

affect a greater number of subsequent decisions.

No details regarding any computational experiments conducted are presented.

Ramazan and Dimitrakopoulos [81] present a binary integer programming (BIP) for-

mulation for the open pit mine production scheduling problem, which they note is based

on the most common models used in the industry over the previous 35 years. The model

presented is as follows. Given a maximum of T time periods over which production is to

be scheduled, and a total of N blocks in the block model, for each block i E { 1, ... , N} and

time period t E { 1, ... , T} the formulation contains a binary variable yz, which is equal to

1 if block i is mined in time period t, and equal to 0 otherwise. The discounted cash flow

generated from mining block i in time period t is given by bt cj, where 0 < b < 1 is the

discount factor applied per time period. Each block i has ore tonnage q,°, total tonnage

qR and average grade g;. Upper and lower bounds are imposed on the average grade of

the material sent to the mill (gm and gm;,,), the total tonnage of ore processed in any

time period (uô and lo), and the total amount of material mined in any time period (4 and lR). In addition, Si is the set of immediately overlying blocks that must be mined

before block i can be mined. These parameters give rise to the following BIP formulation

of the open pit mine production scheduling problem.

63

Page 77: Applications of integer programming in open pit mining: (2006)

max T N

E E jt yt

t=1 j=1

(3.3.1)

s.t.

E < 1 for all i E {1, . . . , N}(3.3.2) t=1

N N N

9min q yi 9i q yi < gmax E q yi for all t E { 1, . . . , T} (3.3.3) i=1 i=1 i=1

1, < E q y= < uô for all t E { 1, . . . , T} (3.3.4) i=1

lR < E R yt < uR for all t E {1, . . . , T} (3.3.5) i=1

yZ < E for all t E {1,...,T}, e=1

forall iE{1,...,N},

for all j E Si (3.3.6)

yt E {0,1} for all t E {1,...,T},

for all i E {1,..., N}(3.3.7)

The objective (3.3.1) is to maximise the net present value of cash flows realised by

the mining operation. Constraint (3.3.2) is referred to as a reserve constraint, and

imposes the logical rule that a block cannot be mined more than once. This model also

contains grade blending constraints, which are imposed by (3.3.3). The production

constraints are imposed by (3.3.4) and (3.3.5), where (3.3.4) considers ore processing

capacity and (3.3.5) considers total mining capacity. The block precedence constraints

are modelled by (3.3.6). This is the basic BIP model that has traditionally been used to

solve the open pit mine production scheduling problem. In many cases, the grade-blending

constraints (3.3.3), and lower bounds on the processing capacity are not applicable, and

are ignored.

A method of reducing the number of binary variables in the formulation (3.3.1): (3.3.2)-

(3.3.7) is presented by Ramazan and Dimitrakopoulos [81], based on the (undiscounted)

economic value of each block. A block of positive economic value is referred to as an

ore block, while negative valued blocks are referred to as waste. To reduce the number

of binary variables, the variables representing ore blocks are defined as binary, while all

remaining variables are continuous, taking a value between 0 and 1. This means that the

schedule produced can contain a number of partially mined waste blocks, and the formu-

lation becomes a mixed integer program. The solution of the MIP model is considered

to be satisfactory if less than an acceptable amount, which may be 5% to 10%, of the

64

Page 78: Applications of integer programming in open pit mining: (2006)

waste blocks are partially mined across all time periods. This is due to the fact that the

waste blocks do not affect the processing capacity, ore grade or quality parameters. If the

results contain a high amount of partially mined waste blocks, the economic values used in

the objective function are modified to decrease the fractional mining of the waste blocks.

Data from a gold mine was used to test the formulations. The MIPs were solved using

CPLEX v6.6 by Ilog Inc. [50] using a P4 Intel processor, and each formulation contained

3,180 variables (with various subsets of them binary). The mine was to be scheduled over

three time periods using a discount rate of 8% per annum, and there were 1,060 blocks

in the block model. In the case where all variables were binary, the formulation reached

a gap of 15.36% after two and a half hours of CPU time. Many other cases, where some

variables were linear, were also tested with varying results.

In a more recent article, Ramazan et. al. [80] note that it is often not possible to solve

an integer programming formulation of the open pit mine production scheduling problem

within a reasonable time, since the number of integer variables in the model is too great

for the current computer technology to handle. They present a method for aggregating

blocks to reduce the number of binary variables in the model in an attempt to overcome

this problem. They define a fundamental tree as any combination of blocks such that:

1. the group of blocks has a positive (undiscounted) value in total;

2. the blocks obey the slope constraints; and

3. there is no subset of the chosen blocks that meets 1. and 2.

A linear programming formulation is presented to find a set of fundamental trees for a

block model. Application of this formulation significantly reduces the number of decision

variables required for the scheduling model, allowing larger instances of the problem to

be solved. In the integer program each fundamental tree is treated as one block, with

aggregated attributes including ore and waste tonnage, average ore grade, cost of mining

and income from ore processing.

The BIP formulation of Ramazan and Dimitrakopoulos [81] is then applied on a block

model containing 871,875 blocks. All blocks with (undiscounted) economic value greater

than 0 are classified as ore. Before applying the BIP model, four pushbacks are generated

from the block model using the Whittle 3D [105] computer package. As noted in Section

3.3.2 a pushback is defined to be the minimum size `bite' of a pit that can be considered

for mine planning purposes. Fundamental trees are found individually for each pushback,

before the BIP scheduling model is applied within each pushback. The largest model solved

is for pushback 3, with 4,920 binary variables. The optimal net present value (NPV) (to

a gap of 5.5%) is found in 36 minutes CPU time. Note that the machine used is not

reported.

Ramazan et. al. [80] also present a comparative analysis between the BIP model incor-

porating the fundamental tree algorithm, and three commercially available mine schedul-

ing software packages using the pushbacks generated from the 871,875 block model. The

65

Page 79: Applications of integer programming in open pit mining: (2006)

packages used are MINTEC's M821V1 [70], EARTHWORK's NPV Scheduler [26] and

Whittle's Milawa mine scheduling program [104]. A discount rate of 10% per annum is

used. It is noted that the fundamental tree scheduling method generated approximately

$21.2 million greater NPV than the best performing software package (Whittle's Milawa

package), an improvement of 5.5%.

Caccetta and Hill [20] propose a specialised branch-and-bound-and-cut method for

solving a slightly modified BIP formulation of the open pit mine production scheduling

problem compared to the standard formulation of Ramazan and Dimitrakopoulos [81].

This formulation is the basis for much of the work in this thesis. Again there are T time

periods over which production is to be scheduled and N blocks in the block model. The

most significant difference to the previous approach is that Caccetta and Hill's model

defines the binary decision variables as follows. Let

1, if block i is mined in time periods 1, ... , t

0, otherwise,

for all i E {1, ... ,N} and t E {1, ... , Tl.

Defining the decision variables in such a way results in an improved branching scheme

in the branch-and-bound-and-cut algorithm, that is, the standard branching for the model

containing these decision variables is closely related to special ordered sets branching in

the standard BIP formulation (3.3.1): (3.3.2)-(3.3.7). This advantage is discussed in more

detail in Section 4.3.

In the model of Caccetta and Hill [20], for each time period t E {1, ... , T}, the tonnage

of ore mined in time period t is also a variable in the model, represented by wt. Further,

the set of blocks is divided into two subsets: the set O of ore blocks and the set W of waste

blocks. Hence the reserve, production and precedence constraints from the formulation of

Ramazan and Dimitrakopoulos [81] need to be modified. Upper bounds on the amount

of waste and ore mined in each time period t E { 1, ... , 71 are given by uÿy and ûto

respectively, while /to is the lower bound on the amount of ore mined in time period t. For

each block i E { 1, ... , N}, qR is the total tonnage of block i, and Si is the set of blocks

that must be removed immediately prior to the mining of block i. The discounted cash

flow generated from mining block i in time period t is given by 6 cj, where 0 < 3 < 1 is

the discount factor applied per time period. The binary integer programming model then

takes the following form.

2=

66

Page 80: Applications of integer programming in open pit mining: (2006)

T N max E .5t Gi (xÿ - x z-1

t=2 i=1

N

E b ci xi i=1

(3.3.8)

s.t.

E qR x1 — wl = 0 iEO

E qR (x; - xi-1) — wt = 0 for all t E {2, . . . , T} iEO

E gi xi iEW

R t t i (xi - xi -

1 )

iE W < 4, forallt E {2,...,T}

(3.3.9)

(3.3.10)

(3.3.11)

(3.3.12)

xt-1 : x,

< x! for all t E {2, . . . ,T} (3.3.13)

< xt., for all t E {1,...,T}, i E {1,...,N},

and j E Si (3.3.14)

lo < wt < tto for all t E {1,... ,T} (3.3.15)

x; E {0,1} for all i E {1,...,N} and t E

The objective (3.3.8) is to maximise the net present value of the mining operation.

Constraints (3.3.9), (3.3.10) and (3.3.15) determine the amount of ore that is mined in each

time period. Production constraints on the tonnage of waste mined in each time period

are imposed by (3.3.11) and (3.3.12). The block precedence constraints are modelled by

(3.3.14), and the reserve constraints are given by (3.3.13). In Section 4.2 we show that

generalised versions of the two binary integer programming formulations (3.3.1): (3.3.2)-

(3.3.7) and (3.3.8): (3.3.9)-(3.3.16) for the open pit mine production scheduling problem

presented in this section model the same problem and have equivalent linear programming

relaxations.

Caccetta and Hill [20] developed a customized branch-and-bound-and-cut method to

solve the formulation (3.3.8): (3.3.9)-(3.3.16) of the open pit mine production scheduling

problem. The algorithm was implemented in C++ and contained about 17,000 lines of

code. No details of the branch-and-bound-and-cut method are provided, although it is

mentioned that the key features include:

• the block model is reduced to only include blocks inside the ultimate pit;

• cutting planes involving knapsack constraints are identified using the production

constraints and the block precedence constraints;

• the cutting plane phase is terminated early if tailing-off is detected or if the LP

subproblem is not solved to optimality within a prescribed time limit (one minute);

and

67

Page 81: Applications of integer programming in open pit mining: (2006)

K 1

k=1 rk

N k

gi

_ N

1 gi xi

(E i=1

t t-1 (xi - xi )

Q

< Q, for all t E {2, ... , T}.

(3.3.17)

(3.3.18) K 1 E rk k=1 i=1

• all LP subproblems are solved using CPLEX v6.6 by Ilog Inc. [50].

The branch-and-bound-and-cut algorithm was tested on an SGI Origin 2000 shared

memory multiprocessor computer. The models used in the test data ranged from 6,720 to

209,664 blocks, with ten time periods in all cases. For the smallest data set (6,720 blocks),

after 4 hours of computation the optimality gap reported is 0.1317%. For the largest data

set (209,664 blocks), the optimality gap was 11.0502 % after 8 hours, and 8.3265% after

20 hours of computation.

These results compare favorably to commercially available mine planning software, as

reported by the authors. In particular, in Chapter 4 we show that this BIP formulation

is computationally more efficient than the standard formulation (3.3.1): (3.3.2)-(3.3.7)

when tested on block models provided by our research partner and described in Section

1.4. Hence the formulation (3.3.8): (3.3.9)-(3.3.16) can be considered to be the current

state-of-the-art BIP formulation for the open pit mine production scheduling problem.

Caccetta and Hill [20] also present a number of possible modelling extensions of their

BIP formulation. The first involves processing of different ore types. The case considered

is that of having K > 2 ore types that have to be processed through the same mill. It is

assumed that the processing rate for each ore type k E {1, ... , K} is known, and is given

by rk tonnes per hour. If q, is the tonnage of ore type k in block i, and Q is the expected

time in hours that the mill is available per period, the total processing time per period

constraints can then be written as:

Another extension considered is that of restricting the maximum vertical depth that

can be mined in any one period. This is a practical constraint that models the ability to

incorporate haul roads to allow access to the extracted ore in the pit design. Let D be

the maximum vertical depth that can be mined in any one period, and suppose blocks i

and j have depth zi and zi respectively. Then if zi < zi and zi — zi > D, block j must be

mined at least one time period after block i, and we have:

< x:-1 for t E {2, . .. ,T}.

These constraints effectively introduce additional (modified) block precedence constraints

to the model, although they may apply even when blocks i and j do not have an existing

precedence relationship.

Specification of a minimum pit bottom width, which facilitates the movement of exca-

vation equipment, is also considered. However, Caccetta and Hill [20] propose that such

a constraint is unable to be modelled linearly, and note that the usual way with which it

68

Page 82: Applications of integer programming in open pit mining: (2006)

is dealt in practice is to manually `smooth' the base of each incrementally developed pit.

This may result in a loss of optimality.

The final extension considered by Caccetta and Hill [20] is that of the inclusion of

stockpiles in the mining operation. The reasons cited for forming stockpiles are for blending

purposes, storage of excessive production and storage of low grade ore for possible future

processing. The difficulty with modelling the inclusion of stockpiles in the system is

described as follows. When a block is placed on the stockpile, its characteristics (grade,

tonnage, etc.) are known. However, as blocks are mixed on the stockpile the characteristics

of any materials removed from the stockpile for processing must be treated as variables.

The fact that the amount of ore that will be removed from the stockpile in each time period

is unknown before the overall optimisation creates non-linear constraints for modelling this

process. While not presenting a mathematical formulation of these constraints, Caccetta

and Hill [20] describe that this non-linearity can be overcome by defining a variable for

the number of grams of metal taken from the stockpile per time period, as well as the

total tonnage of material taken from the stockpile per time period. Using these variables,

the average grade of the ore removed from the stockpile is implied, and can be rounded.

They go on to say that several different constraints to bound the average grade value, as

well as conservation of movement constraints, are added to the model. No computational

results using any of the modelling extensions described above are presented.

It is evident that the algorithmic improvement in commercial MIP solvers, along with

the rapid increase in the availability of computation power, has allowed integer program-

ming to become the best approach to solve the open pit mine production scheduling

problem. In Chapter 4 we generalise the two BIP formulations presented in this section,

and give a computational comparison of their performance. We then go on to develop

new valid inequalities for the models in Chapter 5, and show that the a priori addition of

these inequalities can further improve the computational efficiency of these formulations

in Chapter 6.

A significant limitation of the general approach to solving the open pit mine production

scheduling problem is the number of assumptions that are made in order for the problem

to be modelled and solved. These assumptions were outlined in Section 3.1. In particular,

a number of inputs to the model, such as the composition of each block and the price of the

ore (and hence the market value of each block), are assumed to be known with certainty

before the mining operation is commenced, when in reality their values arc unknown. The

area of stochastic mine planning considers and attempts to overcome the uncertainty in

the values of the inputs to the open pit mine production scheduling problem. This has

been a fast-growing area of research over recent years. A review of some of the problems

considered in stochastic mine planning follows in Section 3.4.

69

Page 83: Applications of integer programming in open pit mining: (2006)

3.4 Stochastic Mine Planning Problems

One area of significant recent interest in the mining industry is that of stochastic mine

planning. The main focus of stochastic mine planning is to overcome the uncertainty in

the geology of the orebody, and hence the block model which is used as an input to the

mine planning process. As described by Godoy and Dimitrakopoulos [41], a traditional

deterministic approach to the open pit mine production scheduling problem uses a single

estimated orebody model to produce a mining schedule. Since this model is based on

incomplete and imperfect geological information, estimation errors are propagated to the

various mining processes involved in the optimisation. The final result is a single, and often

biased, forecast for the outcome of the life-of-mine production schedule. Menabde et. al.

[67] also propose that since traditional open pit mine planning, pit design, and long-term

scheduling is based on a block model of the orebody built by interpolation techniques such

as kriging from the drillhole data, estimation errors are highly likely. They go on to note

that the drillhole data for a mining project is typically sparse, and could support a range

of possible outcomes for the orebody. In particular, a unique deterministic block model

will often be a good representation of the global resource, but will not be representative

of the potential local variability or the uncertainty in the estimate. Li et. al. [63] further

describe that geological uncertainty is recognised as a critical factor in establishing accurate

and reliable estimation, categorisation and economic assessment of mineral resources and

reserves, in terms of both quality and quantity. Incomplete understanding of geological risk

is recognised as a major contributing factor to mining projects not meeting their financial

expectations. As noted by Dimitrakopoulos et. al. [32], recent surveys have shown that out

of 48 completed mining projects in Australasia, nine realised reserves that were 20% less

than the original forecast from the block model, and 13 realised over 20% more reserves

than estimated by the block model. For Canada and the USA, a similar survey showed

that 73% of mining projects failed due to problems in their ore reserve estimates, which

led to a loss of $US 1,106 million in capital investment. Inaccurate forecasts such as

these can lead to problems in production, and may result in a company incurring financial

penalties for failing to meet long-term contracts for certain products, or extra holding costs

when excess products need to be stored in warehouses or stockpiles. Hence any method

of quantifying the potential variation in the realisation of an orebody is viewed as being

extremely valuable by mine managers.

Li et. al. [63] report that stochastic simulation is a recognised tool for quantifying the

spatial distribution of geological risk in earth science and engineering. The most common

stochastic simulation approach applied in the mining industry is that of conditional

simulation. As desctibed by Dimitrakopoulos et. al. [31], conditional simulation is a

Monte-Carlo type simulation approach developed for modelling uncertainty in spatially

distributed attributes, such as characteristics of mineral deposits. Menabde et. al. [67] re-

port that this approach allows the generation of a number of equally probable realisations

70

Page 84: Applications of integer programming in open pit mining: (2006)

of the block model, all of which honour the drillhole data along with the first and second

order statistics of the orebody represented, respectively, by the probability distribution

and variogram. Conditional simulation has been incorporated in the design of ultimate

pit limits by Whittle and Bozorgebrahimi [103]. However, the application of greater inter-

est to this body of research is where conditionally simulated orebody models are used as

inputs to the open pit mine production scheduling problem. For example, Menabde et. al.

[67] present a new method for simultaneous optimisation of the extraction sequence and

cutoff grade optimisation policy for a set of conditionally simulated orebody realisations.

They address the question of whether it is possible to use the set of conditionally simulated

realisations to produce a mine design and production schedule with higher expected net

present value (since net present value is a random variable in the case of multiple reali-

sations of the orebody) and/or less variability from one realisation to another (i.e. lower

variance in net present value). They demonstrate that the use of variable cutoff grade

optimised under uncertainty, using the set of equally likely realisations of the orebody, can

provide a substantial improvement in terms of expected net present value. They present

a mixed integer programming formulation based on the BIP formulation of Caccetta and

Hill [20], which includes the multiple realisations of conditional simulations and variable

cutoff grades. The goal of the optimisation is to find the extraction sequence and cutoff

grade policy which, when evaluated through the whole set of equally likely conditionally

simulated orebodies, produces the best possible expected net present value. It is noted

that in practice, an open pit mine is divided into a number of mining phases, which are

mined bench by bench, where each bench is a horizontal layer of blocks within the given

mining phase, all with the same elevation. A bench within a phase is sometimes referred

to as a panel, and as such the mining unit in the model presented is a panel (horizontal

aggregation of blocks), rather than a block.

The formulation presented by Menabde et. al. [67] uses the following parameters. There

are T time periods over which production is to be scheduled, M conditionally simulated

block models, N panels in each block model, and U possible cutoff grades. The total rock

in panel i in simulation m is given by q,R,n, while the total ore in, and value of, panel i in

simulation m when mined with cutoff grade g is given by qP 9 and crg respectively. The

maximum mining and processing capacities in time period t are given by 4 and up. The

discount factor per period is given by 5 where 0 < E < 1, and S, is the set of panels that

must be removed immediately before starting panel i. The decision variables of the model

are as follows. Let

71

Page 85: Applications of integer programming in open pit mining: (2006)

zig = the fraction of panel i extracted with cutoff grade g in time period t,

for all jE{1,..., N}, g E{1,...,U}, and t E {1,...,T};

{ 1, if the extraction of panel i has started in time periods 1,... ,t

, otherwise,

for all i E { 1, ... , N}, and t E {1,... , T};

{ 1, if cutoff grade g is selected in time period t

0, otherwise,

for all g E {1,..., U}, and t E {1,...,T}.

The mixed integer programming model then takes the following form.

72

Page 86: Applications of integer programming in open pit mining: (2006)

MNUT r LE E E at c 9 4g

m=1 i=1 g=1 t=1

max (3.4.1)

s.t.

m=1 i=1 g=1

M EM r

N r

U

L L gag 4m=1 i=1 g=1

E rU

L L. 4 s=1 g=1

xÿ

U E dt 9

g=1

zig

0<zig

i

dt

< uR for all t E { 1, ... , TX3.4.2)

< up for all t E {1,...,T 3.4.3)

< æ, for all i E {1, ... , N}

and t E {1, ... , T} (3.4.4)

< 4 for all i E {1, ... , NX3.4.5)

U

EE z g foralliE{1,...,N}, g=1 s=1

t E {1,...,T},

and j E Si (3.4.6)

= 1 for all t E {1, ... , T}(3.4.7)

< 1

E {0,1}

E {0,1}

for all i E {1,... , N},

g E {1, ... , U},

and t E {1, ... , T} (3.4.8)

foralliE{1,..., N},

g E {1,... , U},

and t E {1,... , T} (3.4.9)

for all i E { 1, ... , N},

and t E {1,... ,T} (3.4.10)

for all g E {1, ... , U},

and t E {1,...,T}. (3.4.11)

M N U

M E ern Zig

The objective function (3.4.1) is to maximise the expected net present value, while

constraints (3.4.2) and (3.4.3) enforce the mining and processing limits on average over

the set of simulations. Constraints (3.4.4)-(3.4.6) enforce the panel extraction precedence

constraints, and constraints (3.4.7) and (3.4.11) ensure that the same cutoff grade is ap-

plied to all panels extracted in any given time period. Note that if we set M = 1 and U = 1, i.e. use a single realisation of the orebody and a single cutoff grade, then we would

have a MIP formulation for the open pit mine production scheduling problem. This idea

73

Page 87: Applications of integer programming in open pit mining: (2006)

is explored in more detail in Chapter 4. Menabde et. al. [67] present results where ten

conditional simulations of a block model containing one type of metal and using one pro-

cessing plant were selected. Their mixed integer programming formulation is solved in the

commercially available software package CPLEX v9.0 by Ilog Inc. [50]. No details of the

computational performance are presented, however an increase of 4.1% in expected net

present value was obtained compared to the case of mean grade based optimisation.

Ramazan and Dimitrakopoulos [82] also use multiple simulated orebody models as

inputs to a stochastic integer programming formulation for the open pit mine production

scheduling problem. The objective is to maximise the net present value of the operation,

less the cost of any deviation between the planned amount of ore tonnage, grade and

quality per time period and the actual amount produced by the operation. The model is

implemented on a hypothetical two dimensional gold deposit containing 200 blocks. Fifty

simulations of the orebody are generated for input to the stochastic integer programming

model. The time horizon used is three years. Results are presented that show that a

traditional (deterministic) mine plan has the highest total deviation in ore production when

compared to five schedules generated using the stochastic integer programming model with

varying cost parameters. No results on the computational performance of the formulation

are reported.

A secondary consideration in the area of stochastic mine planning is to develop methods

to capture the variability in the metal price in a mathematical model. Considerable

research has been carried out in the area of metal price forecasting, much of which is

a generalisation of the famous Black and Scholes [12] Brownian motion framework for

forecasting stock prices. A key assumption in these studies is the stochastic process that

the underlying metal price is assumed to follow. For example, Achireko and Ansong

[2] present an approach where the stochasticity of the price of gold is modelled using a

multivariate normal distribution. An alternative approach is presented by Martinez and.

Wolff [65], who develop a non-parametric bivariate metal price forecasting methodology

based on a dynamic copula (dynamic dependence structure), which is able to account for

the joint uncertainty of two metal prices. These financial modelling approaches and their

implications are not considered in this thesis, but obviously contribute to another area of

importance in the mine planning process.

As shown in this section, stochastic mine planning is a rapidly developing field in

the area of mine planning. In particular, the use of conditionally simulated orebody

models to overcome the geological uncertainty of the block model is quickly becoming

standard practice for mine planners. These conditionally simulated models are often used

as inputs for the open pit mine production scheduling problem. Hence any advances in

the development of solution methodologies for the open pit mine production scheduling

problem will lead to benefits in the area of stochastic mine planning.

74

Page 88: Applications of integer programming in open pit mining: (2006)

3.5 Closely Related Problems to the Open Pit Mine

Production Scheduling Problem

The structure of the binary integer programming formulation of the (constrained) open

pit mine production scheduling problem is very similar to a number of other mathematical.

programming formulations. In this section we give a brief review of four such problems: the

precedence constrained knapsack problem, the simple assembly line balancing problem, the

labour constrained scheduling problem, and the resource constrained scheduling problem.

We are particularly interested in results for the precedence constrained knapsack (PCK)

problem, as we will show that the exact structure of the PCK problem lies within a

generalised BIP formulation of the open pit mine production scheduling problem in Section

4.4.1. We will then use this observation to apply some of the PCK concepts discussed in

Section 3.5.1 to strengthen the formulation of the open pit mine production scheduling

problem and improve its computational efficiency.

3.5.1 The Precedence Constrained Knapsack Problem

In Section 2.5 we described the well-known and widely researched 0-1 knapsack prob-

lem. Many variations of this problem have also been studied; for a detailed discussion

see Kellerer et. al. [54]. One variation of particular interest in this thesis is that of the

precedence constrained knapsack (PCK) problem, also known as the partially ordered

knapsack problem. In the PCK problem, the 0-1 knapsack problem is complicated further

by the introduction of precedence constraints on the items available for inclusion in the

knapsack. An instance of the PCK problem is described by a set of items N = {1, ... , N), each with value ci E Z and weight ai E Z+, as well as a knapsack capacity b E Z+. In addi-

tion, a set of precedence relationships on the items, denoted by S Ç 11, ... , N) x { 1, ... , N) is given. The PCK problem is the problem of finding a maximum value subset of N whose

total weight does not exceed the knapsack capacity, and that also satisfies the precedence

relationships. The structure of the PCK problem is very closely related to the BIP formu-

lations for the open pit mine production scheduling problem presented in Section 3.3.4.

In particular, both classes of constraints from the PCK problem (precedence constraints

and knapsack constraints) are present in the open pit mine production scheduling problem

formulations. Hence, a PCK problem can be viewed as a simplified open pit mine pro-

duction scheduling problem for a single time period. Further insight into the relationship

between the open pit mine production scheduling problem and the precedence constrained

knapsack problem is presented in Section 4.4.1.

The PCK problem itself appears in a wide range of applications. These include invest-

ment problems (Ibarra and Kim [48]), tool management problems (Stecke and Kim [93])

and local access telecommunication network design (Shaw et. al. [88]). As in the case of

the precedence constraints derived from block models for the open pit mine production

scheduling problem, the precedence constraints in the PCK problem can be represented

75

Page 89: Applications of integer programming in open pit mining: (2006)

by a directed acyclic graph G = (H, S), where the node set is the set of all items H, and

each precedence constraint in S is represented by a directed arc. It is assumed that the

precedence constraints are transitive, so without loss of generality we have that S does not

contain any redundant relationships, that is, S is the set of all immediate predecessor arcs.

It follows that the set of all precedence relationships A is the transitive closure of S, and

j) E A if and only if there exists a path from node i to node j in the directed acyclic

graph G = (Ar, S). If G contains a cycle, all nodes within the cycle must either all be

included in, or all be excluded from, the knapsack. Hence the cycle can be contracted into

a single node, with cumulative value and weight coefficients, and the resulting directed

graph is acyclic. As presented by Boyd [14], an integer programming formulation of the

PCK problem is as follows. Let

1, if item i is included in the knapsack xi

for all i E H. 0, otherwise

The PCK problem may then be written as:

max E ci xi (3.5.1) iEN

S.t.

ai xi < b (3.5.2) jEN

xi < xi for all (i, j) E S (3.5.3)

xi E {0, 1} for all i E H. (3.5.4)

Johnson and Niemi [51] showed that the PCK problem is NP-complete. As noted by

You and Yamada [110], if the PCK problem under consideration is not too large (defined

to contain less than 2000 items), it may be solved exactly as an integer program, possibly

using a specialised branch-and-bound algorithm such as that presented by Shaw and Cho

[87]. The algorithm of Shaw and Cho [87] is developed for a special case of the PCK

problem called the tree knapsack problem, where the precedence graph G is an out-tree.

Computational results are presented that show that this specialised algorithm is compa-

rable to the dynamic programming approach of Cho and Shaw [23], and that it is about

ten times faster than the integer programming solver CPLEX v3.0 in most (randomly

generated) cases tested. In the case of larger problem instances, other solution approaches

to the PCK problem include dynamic programming (Johnson and Niemi [51], Shaw et.

al. [88], Cho and Shaw [23], Samphaiboon and Yamada [83]), Lagrangian relaxation (You

and Yamada [110]) and heuristics (Ibarra and Kin [48], Kolliolpoulous and Steiner [58],

Woeginger [108]). Again many of these approaches rely on the underlying precedence

graph having a special structure, such as that of an out-tree.

In Section 4.4.1 we will demonstrate that the structure of the PCK problem appears in

integer programming formulations for the open pit mine production scheduling problem.

76

Page 90: Applications of integer programming in open pit mining: (2006)

We now review previous polyhedral analysis of the PCK feasible set P, defined by (3.5.2)-

(3.5.4). Such polyhedral analysis has been carried out by Boyd [14], Park and Park [76]

and van de Leensel et. al. [98], and is based on the extension of classes of valid inequalities

for the 0-1 knapsack problem. The only assumption made by these authors regarding the

precedence graph is that the precedence relationships are transitive. The basic terminology

used by Boyd [14], Park and Park [76] and van de Leensel et. al. [98] is as follows. Let

Si be the set of immediate predecessors of item i, that is let Si = {j E N : (i,j) E S}.

The set Si may be referred to as either the immediate predecessor set or the minimal

generating set for item i. In addition, let Ai be the minimal set of items, including

item i, that must be included for item i to be included in the knapsack, that is Ai =

{j E N : (i, j ) E A} U {i}. Note that inclusion in the set Ai is transitive, so if j E Ak and k E A. then j E Ai. Two items i, j E N are called incomparable if i Ai and

j Ai. A set B C N is incomparable if the elements of B are pairwise incomparable.

Let H(B) _ E jEA(B) aj be the total capacity required to include the items in the set B in

the knapsack. It follows that H({i}) _ >jE A, aj is the total capacity required to include

item i in the knapsack. For ease of notation let Hi = H({i}). It is assumed that for every

item, there exists a feasible solution in which it is included in the knapsack. Otherwise,

the item can be deleted from the problem instance. Hence we have that Hi < b for all

i E N. A set C C N is a cover if H(C) > b. A cover is a minimal cover if no proper

subset of it is a cover. It is obvious that for any cover C Ç Al the cover inequality

xi < ICI-1 (3.5.5) jEC

is valid for P, i.e. at most ICI — 1 of the ICI items in the cover can be included in the

knapsack. This is a direct extension of the definition of a cover for a 0-1 knapsack inequality

as defined in Section 2.5.

Park and Park [76] define a cover C C N to be an induced cover (IC) if C is

incomparable. An induced cover is a minimal induced cover (MIC) if H(C \ {i}) < b

for all i E C, in which case the associated cover inequality (3.5.5) is called an MIC

inequality. This definition differs from that used by Boyd [14] and van de Leensel et. al.

[98]. Boyd [14] defines a cover C C N to be minimal if C is incomparable and H(C)—ai < b

for all i E C. We shall call such a cover a Boyd minimal cover (BMC), and the

associated cover inequality a BMC inequality. Park and Park [76] note without proof

that in general, a BMC is also a MIC, but the converse does not hold.

Boyd [14] and van de Leensel et. al. [98] also consider a generalised version of a cover.

A K-cover is a cover C C N with the property that for all B C C with I BI = K, B is a

cover. It is obvious that if C is a K-cover then

E xi < K —1 (3.5.6) jEC

is valid for P. In fact, both Boyd and van de Leensel et. al. fail to observe this explicitly;

their definition requires C to be incomparable and B to be a BMC for all B C C with

77

Page 91: Applications of integer programming in open pit mining: (2006)

ABI = K. We will refer to such a C as a K-Boyd minimal cover (K-BMC). Boyd and

van de Leensel et. al. also extend the concept of a (1, k)-configuration from the 0-1 knapsack

problem to the PCK problem as follows. A set C U {t} is called a (1, k)-configuration if

• C U {t} C N is incomparable, with t C

• C U {t} is a cover and H(A(C U {t}) \ {t}) < b

• Q U {t} is a (Boyd) minimal (induced) cover for all Q C C with IQI = k where

2<k<ICI.

For a (1, k)-configuration it is shown that

(r— k - 1)xt + E xi < r

iEZ(r)

(3.5.7)

is valid for P, where r is such that k < r < ICI and Z(r) is any subset of C with I Z(r)I = r.

Van de Leensel et. al. [98] are the only authors known to us who have derived facet-

defining inequalities for the convex hull conv(P) of the PCK feasible set P. They do so by

applying a general sequential lifting procedure to cover inequalities of the form (3.5.5) and

(3.5.6). They redefine the term minimal induced cover to coincide with the definition of a

Boyd minimal cover, and consider BMCs (which they call MICs) in their study of the PCK

polyhedron. Throughout this thesis we will distinguish between MICs and BMCs. Van de

Leensel et. al. [98] consider BMCs and K-BMCs separately, and for both cases develop a

general sequential lifting procedure, based on that presented by Nemhauser and Wolsey

[73], to lift the (K-)cover inequality to a facet of conv(P). The resulting facet-defining

inequality takes the form

xi + E ai (1 - xi) + E ai xi < K — 1, (3.5.8) iEC iEA(C)\C iEN\A(C)

where of course K = ICI in the case of a BMC.

They note that in general, calculating each lifting coefficient ai requires the solution

of a separate PCK problem. Further, they show that determining the maximum lifting

coefficients for the items in the set N \ A(C) is NP-complete in the strong sense. Finally,

a polynomial time algorithm for determining the maximum lifting coefficients for items in

the set A(C) \ C is presented. This algorithm applies only in the special case K = ICI, is described in Section 3.5.1.3, and will be applied to examples of the PCK problem in

Chapter 5.

Park and Park [76] consider MICs C Ç N, and present a heuristic for determining

lifting coefficients for items in the set A(C) \ C to strengthen the MIC inequality (3.5.5).

They show that under certain conditions, this lifted inequality is facet-defining for the

lower-dimensional polyhedron P(C), defined as P(C) = conv(projA(c){x(D) E P : D Ç.

A(C)}) for any incomparable set C C N. That is, P(C) is the convex hull of P restricted

to those variables in A(C). Since BMCs are also MICs as noted by Park and Park [76],

78

Page 92: Applications of integer programming in open pit mining: (2006)

their heuristic can also be applied to strengthen BMC inequalities of the form (3.5.5).

The algorithm of Park and Park is described in Section 3.5.1.5, and will be applied to

examples of the PCK problem in Chapter 5. No further significant results for MICs have

been developed by previous authors.

3.5.1.1 Lifting Procedures for Boyd Minimal Covers

As noted in Section 3.5.1, in their investigations of the polyhedral structure of the PCK

problem, Boyd [14], Park and Park [76] and van de Leensel et. al. [98] all consider the

derivation of strong cover inequalities by applying lifting procedures to valid cover in-

equalities of the form (3.5.5). We will examine these lifting procedures in the remainder of

this section. All the above authors begin by considering a lower dimensional polyhedron,

defined as follows.

Definition 3.5.1 (Park and Park [76]). Let P be the PCK feasible set defined by

(3.5.2)-(3.5.4). For any incomparable set B C N, define

P(B). conv(projA( B){x(D) E P : D Ç A(B)}).

Then P(B) is the convex hull of feasible solutions to (3.5.1): (3.5.2)-(3.5.4) restricted

to those variables in A(B). Boyd [14] presents the following theorem.

Theorem 3.5.1 (Boyd [14]).

Suppose C C N is a BMC. Then the BMC inequality (3.5.5) is a facet of P(C) if and

only if Ai f1 A; = 0 for all i, j E C, i ,E j.

Park and Park [76] present an approach for lifting an MIC inequality into a facet of

P(C) when Ai n A; # 0 for all i, j E C, i # j. As part of their lifting procedure they

introduce the following definitions.

Definition 3.5.2 (Park and Park [76]). For a given set 13 Ç N, let R2(B) = {k E

A(B)\B:I{jEB: kEAA> 2}.

That is, R2(B) is the set of items in A(B) \ B that have two or more successors in B.

Definition 3.5.3 (Park and Park [76]). Let Q(B) = conv(projA(BI\ B,(B){x(D) E P :

R2(B) Ç D Ç A(B)}).

Thus Q(B) is obtained from P(B) by setting xi = 1 for all i E R2 (B).

Boyd [14] derives conditions under which subsets of the original constraints (3.5.3)

and the LP relaxation of (3.5.4) are facet-defining for the convex hull conv(P) of the

PCK feasible set P. A procedure called rooting for inducing facets of P(C) from BMC

inequalities (3.5.5) that do not satisfy the condition of Theorem 3.5.1 is also introduced.

No computational results are reported.

79

Page 93: Applications of integer programming in open pit mining: (2006)

3.5.1.2 Lifting Approach of Van de Leensel et. al. [98]

In their investigation of the PCK polyhedron, van de Leensel et. al. [98] consider the valid

inequalities (3.5.5) and (3.5.6) derived from BMCs and K-BMCs independently. They note

that BMCs are special cases of K-BMCs, and that in general BMC inequalities of the form

(3.5.5) do not define facets of the PCK polyhedron. Hence lifting of BMC inequalities is

potentially beneficial. They consider the general sequential lifting procedure for a given

BMC C Ç H. They note that in order to apply the general sequential lifting technique of

Nemhauser and Wolsey [73] repeatedly to a BMC inequality of the form (3.5.5), the order

in which the variables are lifted is important. A predecessors first, remaining variables

second (PFRS) order is defined as follows.

Definition 3.5.4 (van de Leensel et. al. [98]). For a set B C H, 7r is called a PFRS-

order for B if ir is a one-to-one mapping it : (A(B)\B) U (N \ A(B)) -+ {1, ... , (A(B) \

B) U (H \ A(B))1} satisfying the following conditions:

1. 7r(i) < ir(j) if i E A(B)\B, j E N \ A(B)

2. ir(i) < r(j) if i, j E A(B)\B and j E Ai \ {i}

3. ir(i) < 7r(j) ifi,j EH \A(B) and j Ek\{j}.

It is noted that under the assumption that the directed graph G = (H, S) is acyclic,

such an order always exists. Two lifting problems are then defined, to determine the lifting

coefficients ai for the variables corresponding to the items i E A(C) \ C and i E N \ A(C)

respectively, and the following theorem is proved.

Theorem 3.5.2 (van de Leensel et. al. [98]). Let

• C Ç N be a BMC with its corresponding valid inequality (3.5.5);

• ir be a PFRS-order for C;

• lifting coefficients ai for variables xi with i E A(C) \ C be determined from the

relevant lifting problem;

• lifting coefficients ai for variables xi with i E N \ A(C) be determined from the

relevant lifting problem.

Then the resulting inequality

E xi + E ai (1 - xi) + E ai xi iEC iEA(C)\C iEN\A(C)

defines a facet of conv(P).

< SCI -1 (3.5.9)

80

Page 94: Applications of integer programming in open pit mining: (2006)

It is noted that calculating each lifting coefficient ai for i E (A(C) \ C) U (N \ A(C))

requires the solution of a PCK problem, which are themselves NP-complete (as shown

by Johnson and Niemi [51]). However, for the items in the set A(C) \ C, corresponding

to the predecessors of the BMC C Ç N, an algorithm to solve the lifting problem under

a PFRS-order in polynomial time is derived. This algorithm is presented in detail in

Section 3.5.1.3. It is also shown that the lifting problem for the items in the set N \ A(C)

is strongly NP-hard.

Van de Leensel et. al. [98] also present a lifting procedure to generate facet-defining

inequalities for the PCK polyhedron from valid K-cover inequalities of the form (3.5.6).

Again, for a given K-cover C C N, separate lifting problems to determine the lifting

coefficients ai for the variables corresponding to the items i E A(C)\C and i E N \ A(C)

are presented. The following theorem is proved.

Theorem 3.5.3 (van de Leensel et. al. [98]).

Let

• C C N be a K-cover;

• it be a PFRS-order for C;

• lifting coe f ficients ai for the variables xi with i E A(C)\C be determined from the

relevant lifting problem;

• lifting coef ficients ai for the variables xi with i E N \ A(C) be determined from the

relevant lifting problem.

Then the resulting inequality

E xi + E ai (1 — xi) + E ai xi < K — 1 iEC iEA(C) \C iEN\ A(C)

1. is valid, and ai > 0 for all i E (A(C)\C) U (N \ A(C)); and

(3.5.10)

2. defines a facet of conv(P).

Again the determination of each lifting coefficient ai for every i E A(C) \ C and

i E N \ A(C) requires the solution of a difficult maximisation problem. No analysis

of the complexity of the lifting problem is presented. It is also noted that Theorems

3.5.2 or 3.5.3 could be applied to lift valid inequalities of the form (3.5.7) derived from

(1, k)-configurations into facets of conv(P) using a PFRS-order or other valid order. Com-

putational results for a small PCK problem example containing 12 nodes and 14 arcs are

presented by van de Leensel et. al. [98]. There were 36 BMCs found, which led to 63 dif-

ferent facet-defining inequalities after the application of the lifting procedure under PFRS

orders. In addition, 7 K-covers (11 different facets) and 24 (1, k)—configurations (100

different facets) were also identified. Their results showed that a significant reduction in.

root node gap is possible by including the inequalities derived using the lifting procedure

81

Page 95: Applications of integer programming in open pit mining: (2006)

under PFRS orders, although in certain problem instances the inequalities found were not

particularly useful.

3.5.1.3 Polynomial Time Lifting Procedure of van de Leensel et. al. for Boyd

Minimal Covers

We now present the polynomial time algorithm for lifting the predecessors of the BMC

C C J1/ into the BMC inequality (3.5.5). The following definitions are required.

• Let C Ç Ar be a BMC. For B Ç A(C)\C let f (B) be the number of components

(connected subgraphs) in the subgraph of G induced by B U C.

• Let C C H be a BMC and let A(C)\C = {1, ... ,m1. Then for i E A(C) \ C let

yi = f({1, ..., i — 1}) — f({1,...,i}). (3.5.11)

Then yi represents the reduction in the number of components by adding node i and

the arcs representing the precedence relations in which i is involved to the subgraph

of G inducedby C U{1,...,i-1}.

• Let 7r be a reversed topological ordering on A(C) \ C, i.e. 7r(i) < 7r(j) for i, j E

A(C)\C and j E Ai.

The following theorem is then presented.

Theorem 3.5.4 (van de Leensel et. al. [98]).

Let C C N be a BMC and let 7r be a reversed topological ordering on A(C)\C. If the

lifting coefficients yi are determined according to (3.5.11) under the order a, then for each

j = 7r-1(1),... ,7r-1(IA(C) \ CI) the inequality

7r-'(j E >2 yi (1- xi) < ICI -1 (3.5.12) iEC i=it-1(1)

is valid and facet-defining for the polytope conv(P(A)) where A = , 7r-1(IA(C)\

CI)}.

We will apply this polynomial time algorithm to examples of the PCK problem in

Chapter 5.

3.5.1.4 Lifting Approach of Park and Park [76]

For a given MIC C Ç .A(, Park and Park [76] consider two cases when investigating

the application of the MIC inequality (3.5.5) in determining the polyhedral structure of

the PCK polyhedron: R2(C) = 0 and R2(C) O. When R2(C) = 0, Ai n Al = 0 for all

i, j E C, and it follows from Theorem 3.5.1 that the MIC inequality (3.5.5) is facet-defining

for the restricted polyhedron P(C).

82

Page 96: Applications of integer programming in open pit mining: (2006)

For the case where R2(C) 0 0, Park and Park show that for a MIC C Ç N, Q(C) is

non-empty and full-dimensional. They then show that the MIC inequality (3.5.5) is valid

for Q(C), and prove the following proposition.

Proposition 3.5.1 (Park and Park [76]).

For a MIC C C N, the corresponding MIC inequality (3.5.5) is a facet of Q(C) if and

only if H(C \ {i}) + < b for all j E Ai \ (R2(C) U {i}) and i E C.

Park and Park note that if C Ç N is a BMC, then Proposition 3.5.1 always holds.

For a given MIC C C N for which R2(C) # 0 and Proposition 3.5.1 holds, a heuristic

procedure is presented to lift the associated MIC inequality on the set of variables in

R2(C) to define a facet of P(C). This procedure is described in more detail in Section

3.5.1.5. The lifted MIC inequality is given by

E xi - E 7i xi < ICI - 1 - E 7i. (3.5.13) iEC iER2 (C) iE R2 (C)

Park and Park show that their heuristic procedure is valid for any IC inequality, and

gives a maximum lifting for a MIC inequality. They also show that for a given MIC C Ç N, if the subgraph of G induced by C U R2(C) is connected, then the lifted MIC inequality

EIEC xi — EiE R2 (C) 71xi < 0 is facet-defining for P(C). They also consider the problem

of finding an optimal order of lifting. They prove that for a given fractional solution x* to

the PCK problem and IC C Ç N, an optimal choice of lifting for the variables in R2(C)

is as follows. Sort the solution variables to obtain the result xi < x2 < ... < xq where

q = 1R2(C)I. Then apply the procedure from 1 to q.

It is also noted that for the lifted MIC inequality (3.5.13), the general lifting problem

on the variables xi, i E N \ A(C) is itself a PCK problem, and hence is NP-complete. No

computational results are presented. Since BMCs are special cases of MICs, as noted by

Park and Park [76], the lifting procedure presented in this section is also valid for BMCs.

We consider the application of Park and Park's lifting procedure for the variables in R2(C)

in Section 3.5.1.5.

3.5.1.5 Park and Park Lifting Heuristic for Minimal Induced Covers

We now introduce the lifting heuristic presented by Park and Park [76] for lifting a MIC

C Ç Al into a facet of P(C) when Ai fl Aj # 0 for all i, j E C. The following definitions

are required.

• For each item i E N, let Ri be the set of immediate successors of item i, and let

dG(i) = IR; I, i.e. dc(i) is the number of immediate successors of node i in the graph

G = (N, S).

• Anode i E N is called a leaf of G if dO) = 0, and L(G) is the set of leaves of G.

83

Page 97: Applications of integer programming in open pit mining: (2006)

• A node i E N is called a co-leaf of G if R= C L(G). M(G) is the set of co-leaves of

G.

• For a given set B ÇH, for each item iEH, UB(i):= {i}U {kEB:kEAt}.

• For i E M(G), the aggregated graph with respect to i is obtained by replacing

the set of nodes UL(G) (i) with a single new node, and joining all the arcs which have

one end in UL(G) (i) to the node.

• For a given set B C N, the reduced graph G(B) consists of the set of nodes

B U R2(B), as well as all edges (i, j) E A with both i, j E BU R2(B), i.e the

subgraph of G induced by B U R2(B).

As noted in Section 3.5.1.1, Park and Park [76] present a heuristic procedure to lift

the MIC inequality (3.5.5) for a given MIC C Ç N for which Proposition 3.5.1 holds, on

the set of variables in R2(C) to define a facet of P(C). The lifted cover inequality is given

by (3.5.13). The procedure to determine ryq for all i E R2(C) is given by Procedure 1.

Procedure 1 (Park and Park [76]).

(Initialization) Ho = G(C), k =1.

(Step k) If 11k_1 has no arc, stop.

Otherwise, choose arbitrary k E M(Hk_1). Set yk = dHk _ l (k) —1.

Construct the aggregated graph from Hk_1 with respect to k and set Hk

to be the resulting graph.

Set k = k +1 and go to step k.

Since BMCs are special cases of MICs, the Procedure 1 is also valid for BMCs. We

will apply this heuristic procedure to examples of the PCK problem in Chapter 5.

3.5.2 The Simple Assembly Line Balancing Problem

A significant development in the area of manufacturing was the introduction of the assem-

bly line as a method by which to increase the efficiency of the entire production system.

As defined by Baybars (1986) [11], an assembly line performs a set of distinct tasks for

the assembly of a product, and it consists of a set of work stations linked together by

a transport mechanism and a detailed specification of how the assembly of the product

flows from one station to another. A task is the smallest indivisible work element and

a station is a location along the flow line where the tasks are processed, and it consists

of human/robotic operators and/or machinery/equipment (by definition, a task cannot

be divided between two or more stations without conflict). The series of stations and

the transport mechanism, usually a conveyor, is referred to as the assembly line. The

84

Page 98: Applications of integer programming in open pit mining: (2006)

conveyor moves at each interval of CT time units, known as the cycle time. The time

required for the completion of a task is known as the process time. The sum of the

process times of all the tasks assigned to a station is known as the work content of

that station. Since the cycle time is CT, the item is available to a station for only CT time units, so the work content of a station should not exceed CT. The cycle time is

traditionally predetermined, based on the forecasted demand for a product in a specific

period. A further constraint on the system is the existence of technological sequencing

requirements, known as precedence relations: the processing of a task may not begin

until certain other tasks, i.e. its immediate predecessors have been completed.

The assumptions of the simple assembly line balancing problem (SALBP), as described.

by Baybars (1986) [11] are as follows.

• All input parameters are known with certainty.

• A task cannot be split among two or more stations.

• Tasks cannot be processed in arbitrary sequences due to technological precedence

requirements.

• All tasks must be processed.

• All stations under consideration are equipped and manned to process any one of the

tasks.

• The task process times are independent of the station at which they are performed

and of the preceding or following tasks.

• Any task can be processed at any station.

• The total assembly line is serial, with no feeder or parallel sub-assembly lines.

• The assembly system is assumed to be designed for a unique model of a single

product.

There are two main versions of the SALBP. The first, referred to as SALBP-1, has the

following additional assumption.

• The cycle time CT is given and fixed.

The objective is then to minimise the total slack of the system, i.e. minimise the

number of stations along the line.

The second version, referred to as SALBP-2, is the same as SALBP-1 except that

instead of the assumption of fixed cycle time, it has the following assumption.

• The number of stations is given and fixed.

85

Page 99: Applications of integer programming in open pit mining: (2006)

The objective of SALBP-2 is then to minimise the cycle time, or equivalently,

maximise the production rate.

An integer programming model of SALBP-1 is as follows. A set of N = {1,... , N}

tasks is given, and there are T work stations available in total. The process time of each

task i E N is given by qi, and CT is the cycle time, equal across all work stations. Each

task i E N also has a set of immediate predecessor tasks Si. The decision variables used

in the model are as follows. Let

1, if task i is assigned to station t Yi = for all i E N, and t E {1, ... , T}.

The integer programming formulation of SALBP-1 is then given as follows.

T N

min E t yt t=1 i=1

s.t.

(3.5.14)

= 1 for all i E N (3.5.15)

< CT for all t E {1,... , T} (3.5.16)

yt < E 4 forall t E {1,... , T}, i EN and j E Si (3.5.17) s=1

yt E{0,1} for all i E N and t E {1,...,T} (3.5.18)

The objective (3.5.14) was first proposed by Patterson and Albracht (1975) [77], and

is based on the introduction of a fictitious sink into the precedence graph, whenever the

graph contains several original sinks. Without loss of generality, it is assumed that task

N is such a unique sink. Then the objective is to minimise the number of the station to

which task N is assigned, because this is the last station used.

Constraint (3.5.15) is known as the occurrence constraint, and guarantees that

every task is assigned to a station, while the cycle time constraint (3.5.16) enforces

the restriction that the work content of every station is at most the cycle time. The task

precedence constraints are given by (3.5.17).

We can relate SALBP-1 to the open pit mine production scheduling problem as fol-

lows. Each task i E N is equivalent to a block in the block model, and each work station

t E {1, ... , TI is equivalent to a time period in which mine production could be sched-

uled. Hence the binary decision variables of SALBP-1 are equivalent to those of the

BIP formulation for the open pit mine production scheduling problem of Ramazan and

Dimitrakopoulos [81] presented in Section 3.3.4. The cycle time CT is equivalent to the

0, otherwise

86

Page 100: Applications of integer programming in open pit mining: (2006)

production capacity of the mine in each time period. The occurrence constraint (3.5.15)

is a stronger form of the reserve constraint, since not all blocks have to be mined in the

open pit mine production scheduling problem, while the cycle time constraint (3.5.16) is

a production capacity constraint for a single attribute. The task precedence constraints

(3.5.17) are equivalent to the block precedence constraints. Hence the structure of the in-

teger programming formulations of SALBP-1 and the open pit mine production scheduling

problem is very similar. Note however that the objective (3.5.14) differs to that of the

open pit mine production scheduling problem: in the context of mining, (3.5.14) attempts

to minimise the life of the mine, that is, complete the mining as quickly as possible.' If

we were to consider SALBP-2, where the objective is to minimise the cycle time, in the

context of open pit mine planning this would be equivalent to trying to minimise the pro-

duction capacity of the mine in each time period, given a fixed number of time periods.

In the open pit mine production scheduling problem, both the life of the mine and the

production capacity in each time period are generally assumed to be given, hence neither

of these objectives are relevant in the context of the open pit mine production scheduling

problem.

An extensive review of the simple assembly line balancing problem is given by Scholl

and Becker [84]. They note that there are two main classes of exact solution approaches

to SALBP-1: branch-and-bound algorithms and dynamic programming. The branch-and-

bound procedures are all specialised with respect to the search strategies and enumeration

schemes used. It is also noted that SALBP-1 can be formulated as a special case of the

generalised resource constrained scheduling problem (GRCSP), but that applying exact

procedures for GRCSP is not competitive with specialised SALBP-1 procedures. Heuristic

methods including genetic algorithms, tabu search and simulated annealing have also been

proposed and implemented for SALBP-1.

3.5.3 The Labour Constrained Project Scheduling Problem

The labour constrained scheduling problem (LCSP) is similar to the simple assembly

line balancing problem, in that it involves sequencing a set of jobs subject to precedence

constraints. Again each job has a specified processing time, however, in addition each job

also has a labour profile which varies as the job is processed. Given the amount of labour

available in each time period, the problem is to finish all the jobs as soon as possible

(minimise the makespan), subject to the precedence and labour constraints. As described

by Cavalcante et. al. [21], as instance of the LCSP is determined by a set N = {1, ... , N}

of jobs, the processing time ci and a labour profile (qil, ... , qi c{) of each job i E N, and a

directed graph G = (JAT, S) representing the precedence constraints between the jobs. An

amount L of labour is available in each time period.

There are two main integer programming formulations of the LCSP. The first, referred

87

Page 101: Applications of integer programming in open pit mining: (2006)

to as the weak-y formulation, is presented by Cavalcante et. al. [21] as follows. Let

y: I 1, if job i starts in time period t _

Sl 0, otherwise

for all iE .Ar and t E{1, ... ,T}.

In addition, a variable si is introduced for all i E N, to denote the time period in

which job i starts. The weak-y formulation is then given by

min s,, (3.5.19)

s.t.

for all i E N (3.5.20)

8i = E t y,t for all iEN (3.5.21) t=1

si + Gi < sj for all (i, j) E S (3.5.22)

u+1 < L for all t E { 1 } (3.5.23) qiu yi , . . . (3.5.23 , T iEN u=1

yz E {0,1}

for all i E N and t E{1,...,T}. (3.5.24)

Constraint (3.5.20) forces each job to be completed, constraint (3.5.21) expresses si in

terms of the 14 variables, while the precedence constraints and the labour constraints are

enforced by (3.5.22) and (3.5.23) respectively. A stronger formulation, called the strong-y

formulation is also presented, where the precedence constraints are tightened and the si

variables are eliminated. The strong-y formulation is given by

min E t yt j (3.5.25) t=1

s.t. (3.5.20), (3.5.23), (3.5.24) t+c; t

E yi E y1

for-all (i, j) E S 8=1 8=1

and t E {1,...,T}. (3.5.26)

The strong-y formulation of the LCSP is closely related to the BIP formulation of the

open pit mine production scheduling problem presented by Ramazan and Dimitrakopou-

los [81] presented in Section 3.3.4, with (3.5.20) being a stronger form of the reserve

constraints, and (3.5.23) representing the production constraints. Note however that the

representation of the precedence constraints differs: in fact, the representation used in the

strong-y formulation of LCSP could be used in the BIP formulation of the open pit mine

production scheduling problem of Ra,mazan and Dimitrakopoulos [81]. We will consider

this representation in Chapter 4. Note also that the objective of the LCSP is equivalent to

88

Page 102: Applications of integer programming in open pit mining: (2006)

min

s.t.

minimising the life of the mine in the application of open pit mine production scheduling.

Cavalcante et. al. [21] also present two alternate formulations of the LCSP, using binary

decision variables defined as follows. Let

1, if job i starts in or before time period t

0, otherwise

for all iE .Ai and t E{1,...,T}.

It follows that y= = xi — x=-1 for all i E N and t E {1, ... , T}. The weak-x formula-tion for the LCSP is then given by

min sn (3.5.27)

_

s.t.

Xi = 1

xâ < xz+1

Si = j

t (x4 -4-1) Ji

Si + Ci

Ê Ext-u+1 - xt —u ! ( 9iu = a ) iEN u=1

< Si

< L

for all i E N (3.5.28)

for all j E AI

and t E {1, ... ,T} (3.5.29)

for all i E N (3.5.30)

for all (i, j) E S (3.5.31)

for all t E { 1, ... ,TX3.5.32)

E {0,1} for all i E N

and t E {1, . . . , T}. (3.5.33)

Constraints (3.5.28) and (3.5.29) force each job to be completed, constraint (3.5.30)

expresses si in terms of the x; variables, while the precedence constraints and the labour

constraints are enforced by (3.5.31) and (3.5.32) respectively. Again a stronger formula-

tion, called the strong-x formulation is also presented, where the precedence constraints

are tightened and the si variables are eliminated. The strong-x formulation is given by

ErT

xt N

(3.5.34) t=1

(3.5.28), (3.5.29), (3.5.32), (3.5.33)

xt.+c f < xt. for all (i, j) E S

and t E {1, ... , T}. (3.5.35)

The strong-x formulation of the LCSP is closely related to the BIP formulation of the

open pit mine production scheduling problem of Caccetta and Hill [20] which is presented

in Section 3.3.4. The reserve constraints are given by (3.5.29), the production constraints

are equivalent to (3.5.32), and the block precedence constraints are represented by (3.5.35).

89

Page 103: Applications of integer programming in open pit mining: (2006)

Again, the objective of LCSP is equivalent to minimising the life of the mine in the context

of open pit mining. It is also evident that the binary decision variables of the two BIP

formulations of the open pit mine production scheduling problem presented in Section

3.3.4 can be related in the same way as the binary decision variables in the LCSP. This

will be considered in Section 4.2.

Cavalcante et. al. [21] develop strong cutting planes, using generalised upper bound

(GUB) knapsack cover inequalities, for the integer programming formulations of the LCSP

presented, and show that it is possible to find good solutions for medium sized problem

instances. In particular, they note that branching on the x= variables may lead to a

more balanced division of the search space than branching on the yz variables. They

identify areas for future work, including the investigation of problem-specific preprocessing,

branching, and variable selection rules. They also develop a tabu search method for finding

good feasible solutions for large problem instances.

3.5.4 The Resource Constrained Project Scheduling Problem

Sequencing and scheduling problems arise in situations where a large, complex project

consisting of many individual activities is to be completed over a substantial period of time.

The ability to begin each activity is contingent on the completion of a number of other

activities, giving rise to precedence relationships between the activities. Before the project

is started, the project manager would like to know the optimal time at which to begin

and complete the activities that make up the project. This optimisation may be carried

out with respect to a number of different criteria, depending on the characteristics of the

particular project under consideration. The problem of determining an optimal schedule

of starting times for the activities of the project is known as the project scheduling

problem. A further complication occurs when the amount of certain resources available

for use in the project is restricted. This form of the project scheduling problem is then

concerned with the optimal allocation of scarce resource to activities over time, and is

known as the resource constrained project scheduling (RCPS) problem. Thus the

RCPS problem seeks an optimal schedule of starting times for the activities that make up

the project, subject to constraints on the amount of resource available for consumption,

as well as constraints on the order in which the activities may be completed.

The assumptions under which the RCPS problem is modelled greatly influence the

mathematical formulations used and the solution techniques employed. Generally, it is

assumed that the project is deterministic, that is, that all data relevant to the project under

consideration is available, and takes integer values. The characteristics of the deterministic

case of the general RCPS problem are presented by Zamani (2001) [111] and described

below.

• A finite set of activities are given.

• Each activity

90

Page 104: Applications of integer programming in open pit mining: (2006)

— requires a fixed integer time duration

requires a fixed amount of one or more resource types

— is subject to a set of precedence relations which specify permissible activity

orderings.

• The time span over which the project is to be completed is divided into discrete

units.

• Activities may not be interrupted once started.

• Fixed limits on the availabilities of each resource type exist.

Optimisation of the project schedule may be based on a number of criteria. Tra-

ditionally, the objective has been the minimisation of the overall project duration, also

referred to as makespan minimisation. These problems have mainly stemmed from

the area of deterministic machine scheduling. This application involves the allocation of

machines to jobs in processing, manufacturing and production industries. A detailed de-

scription of such applications is given by Graves et.al. (1993) [43]. Also note that the

project scheduling problem with objective of makespan minimisation is closely related to

the simple assembly line balancing problem described in Section 3.5.2. In recent times, the

objective of maximisation of the net present value (NPV) of the cash flows generated by

the project has become increasingly popular, referred to as the max-NPV RCPS problem.

As identified by Elmaghraby (1995) [35], applications of the max-NPV RCPS problem

include large construction projects typically found in the building industry, make-to-order

production planning, and construction engineering. We note that the objective of max-

imisation of the net present value of the cash flows generated by a project corresponds

with the objective of the open pit mine production scheduling problem. Hence the open

pit mine production scheduling problem can be viewed as a special case of the max-NPV

RCPS problem, where the activities correspond to blocks, and the mine planner seeks

to determine a schedule for extracting the blocks from the pit that maximises the net

present value of the cash flows received, subject to a limited extraction capacity in each

time period. This application of the max-NPV RCPS problem is a special case since all

of the blocks in the designated mining area do not necessarily need to be extracted during

the life of the mine. This corresponds to the case of the max-NPV RCPS problem where

completion of the project does not depend upon completion of all of the activities. In

general applications of the RCPS problem, the completion of the project requires all of

the activities identified as part of the project to be finished.

There is, however, one significant difference between the open pit mine production

scheduling problem and the max-NPV RCPS problem. In the integer programming for-

mulations of the max-NPV RCPS problem, the planning horizon is divided into discrete

time units, and each activity has a known duration that requires a certain number of

time units for completion. That is, the duration of each activity is significantly greater

91

Page 105: Applications of integer programming in open pit mining: (2006)

(3.5.36)

for all i E N and j E Si (3.5.37)

for all rER andtE {1,...,T} (3.5.38)

for all i E N. (3.5.39)

max E Gi St{

iEN s.t.

ti + pi < ti

qr (r, t) < u;.

ti > 0

than the length of the individual time units. In contrast, the nature of the open pit mine

production scheduling problem is that a large number of blocks may be removed in each

time period, that is, the length of the individual time unit is greater than the duration of

the individual activities. This subtle difference results in a different integer programming

formulation for the max-NPV RCPS problem compared to those presented for the open

pit mine production scheduling problem in Section 3.3.4.

The generic integer programming formulation of the RCPS problem with the objective

of maximization of NPV (max-NPV RCPS problem) is given by Vanhoucke et.al. (2001)

[99] as follows. A set N of activities to be scheduled is given, along with a cash flow ci

and a duration pi for each activity. The project is to be scheduled over T time periods. A

discount rate of S per time period is applied, where 0 < S < 1. The immediate precedence

relationships are represented by the directed acyclic graph G = (.1, S). A set of resources

R required by the activities is also given, and each activity i E N requires an amount

qr of resource r per time period in which it is in progress. The amount of each resource

r E R. available in time period t E {1,... ,T} is given by ut.. The decision variables of the

formulation are defined as follows. Let

ti be the start time of activity i, for all i E N.

In addition, given a schedule T = (t1, ... , tN), let

y(r, t) = {i EN: ti < t < +pi}

be the set of activities in progress at time t (or in time interval [t - 1, t]), and thus

qr, (T, t) = E iEry(r, t)

is the consumption of resource r by a schedule r in time period t. The formulation of the

max-NPV RCPS problem is then given by

It is evident that although the max-NPV RCPS problem is closely related to the open

pit mine production scheduling problem in its description, the integer programming formu-

lation used to solve it is very different. This is due to the difference in activity duration in

the two applications. Since the duration of the activities in the max-NPV RCPS problem

92

Page 106: Applications of integer programming in open pit mining: (2006)

are greater than the length of the time periods, the structure of the objective function,

the precedence constraints, and the resource constraints is fundamentally different to the

corresponding elements of the open pit mine production scheduling problem. Hence solu-

tion techniques for the max-NPV RCPS problem will not necessarily be easily adapted to

the open pit mine production scheduling problem.

A review of recent approaches to the max-NPV RCPS problem is given by Herroelen

et.al (1997) [44]. The most common exact solution approach is to develop specialised

branch-and-bound algorithms, including those of Icmeli et. al. (1996) [49], de Reyck et.

al. (1998) [27] and Vanhoucke et. al. (2001) [99]. In all three cases the method of branch-

and-bound performs well for the max-NPV RCPS problem when the projects considered

are of a relatively small size (less than 50 activities). For projects of greater size, heuristic

methods are generally employed. These include Lagrangian relaxation (Kimms (2001)

[57]), tabu search (Zhu et.al. (1999) [114]), and simulated annealing (Etgar et.al. (1996)

[36]). The maximum number of activities considered by any of these authors is 740.

3.6 Conclusion

In this chapter, we have presented a survey of the developments in the application of

mathematical optimisation in the field of open pit mining over the past forty years. We

have paid particular attention to the area of long-term mine planning, and described in

detail three well-known problems: the ultimate pit problem, the open pit mine production

scheduling problem, and stochastic mine planning. The key assumptions made when

formulating a mathematical model of a mine scheduling problem have been discussed, and

the solution approaches used by various authors have been considered. We noted that

the area of mine optimisation is very competitive in the commercial market place, and as

such many authors are reluctant to release detailed descriptions of their methodologies or

analysis of their results. In addition, there are no well established `benchmark' results to

use for comparison of new techniques as in many other areas of mathematical optimisation.

Throughout the remainder of this thesis we will focus on the second of the open

pit mining problems reviewed in this chapter, the open pit mine production scheduling

problem. In Section 3.3 we presented two binary integer programming formulations for

this problem that have been presented in the recent literature. In Section 3.4 we presented

a mixed integer programming formulation for a stochastic mine planning problem, which

we noted could be simplified to the case of the open pit mine production scheduling

problem. The focus of the remainder of this thesis is to extend the state-of-the-art integer

programming formulations for the open pit mine production scheduling problem to enable

larger problem instances to be solved with increased efficiency. This in turn will give mine

planners the ability to evaluate an increased number of possible schedules, and hence

improve their long-term plans and the profitability of a mining project. We also noted

that the open pit mine production scheduling problem is closely related to the stochastic

93

Page 107: Applications of integer programming in open pit mining: (2006)

mine planning problems described in Section 3.4, and hence any advancement in the ability

to solve the open pit mine production scheduling problem efficiently could also be applied

to the case of stochastic mine planning.

In Section 3.5, we presented four closely related problems to the open pit mine produc-

tion scheduling problem from the wider body of literature on sequencing and scheduling

problems. These were the precedence constrained knapsack problem, the simple assembly

line balancing problem, the labour constrained scheduling problem, and the resource con-

strained scheduling problem. We discussed their characteristics and their relationship to

the open pit mine production scheduling problem, and gave a brief review of the solution

approaches for these problems that exist in the literature. Note that any new results that

are developed for the open pit mine production scheduling problem may be able to be

successfully applied to these closely related problems, and vice-versa.

94

Page 108: Applications of integer programming in open pit mining: (2006)

Chapter 4

Integer Programming

Formulations for The Open Pit

Mine Production Scheduling

Problem and their Relationship to

the Precedence Constrained

Knapsack Problem

4.1 Introduction

In Section 3.3.4 we presented two binary integer programming (BIP) formulations for

the open pit mine production scheduling problem. The first, as described by Ramazan

and Dimitrakopoulos [81] and given by (3.3.1): (3.3.2)-(3.3.7), is based on the traditional

model that has been widely used in the mining industry over the past 35 years. The

second is a more recent advancement presented by Caccetta and Hill [20] and given by

(3.3.8): (3.3.9)-(3.3.16). In Section 3.4 we also described a mixed integer programming

(MIP) formulation used in stochastic mine planning, and noted that it could be simplified

for application to the open pit mine production scheduling problem. This model was

presented by Menabde et. al. [67] and is given by (3.4.1): (3.4.2)-(3.4.11). In this chapter,

we present generalised versions of these three formulations, which allow us to compare

their structure and computational performance. These generalised structures not only

model the open pit mine production scheduling problem, but are also the basis for more

complex applications of integer programming in open pit mining, such as blending and

stochastic mine planning problems. Hence any improvements in the general formulations

will be able to be extended for use in these related, more complex problems.

Throughout the remainder of this thesis we consider the traditional case of the open pit

95

Page 109: Applications of integer programming in open pit mining: (2006)

mine production scheduling problem, where a single deterministic block model containing

N blocks is used as input, the economic value of each block has been determined based on

the block's ore content, there are no grade blending requirements, and the mining is to be

scheduled over T periods. This follows the standard set of assumptions for the problem

described in Section 3.1. The economic value of block ti E {1, ... , N} is ci units, and the

discount factor applied per time period is given by 5, where 0 < 6 < 1. A set of attributes

R of concern to the mining operation is determined when generating the block model, for

example the tonnes of ore and tonnes of impurities contained in each block. Each block

i E {1, ... , N} is assigned a value qr for each attribute r E 1Z. An upper bound on the

tonnage of each attribute able to be processed in time period t is given by u;.. In addition,

Ai is the minimal set of blocks that must be removed for block i to be removed from the

pit, including block i, and Si is the set of immediate predecessors of block i, as described

in Section 1.3.

In Section 4.2 we present generalised binary integer programming formulations for the

open pit mine production scheduling problem based on those presented by Ramazan and

Dimitrakopoulos [81] and Caccetta and Hill [20], and show that they model the same

problem and have equivalent LP relaxations. We then adapt the mixed integer program-

ming formulation of Menabde et. al. [67] to the case of the open pit mine production

scheduling problem. We note that this adapted formulation in fact models a different

problem to the generalised binary integer programming formulations presented, but that

the linear programming relaxations of all three formulations are equivalent. We note that

these generalised integer programming formulations are the basic structure upon which

models of more complex problems, such as blending or stochastic mine planning problems,

are based. We then compare the computational performance of these three generalised

integer programming formulations in Section 4.3 on the data sets described in Section

1.4. We see that the BIP formulation of Caccetta and Hill [20] significantly outperforms

the BIP formulation of Ramazan and Dimitrakopoulos [81], and that the simplified MIP

formulation of Menabde et. al. [67] gives an improvement in the net present value re-

alised from the schedule, as well as a further improvement in computational efficiency.

We then demonstrate in Section 4.4.1 that the general structure of the precedence con-

strained knapsack (PCK) problem lies within the generalised binary integer programming

formulation of Caccetta and Hill [20]. This observation will be used in Chapters 5 and 6

to develop strong valid inequalities for the generalised BIP formulation of Caccetta and

Hill [20] of the open pit mine production scheduling problem, which can be added a priori

to improve the initial formulation. We also introduce a new polyhedron, called the con-

tinuous precedence constrained knapsack (C-PCK) polyhedron in Section 4.4.2, and show

how it is related to the generalised MIP formulation of Menabde et. al. [67].

96

Page 110: Applications of integer programming in open pit mining: (2006)

4.2 Three Generalised Integer Programming Formulations

for the Open Pit Mine Production Scheduling Problem

and the Relationships Between Them

In this section, we compare the structure of three integer programming formulations for

the open pit mine production scheduling problem. We begin by presenting a generalised

version of the BIP formulation of Caccetta and Hill [20]. The decision variables of the

model take the form

{ 1, if block i is mined in time periods 1, ... , t

0, otherwise

for all i E {1,..., N} and t E {1,...,T}.

We refer to these decision variables as cumulative decision variables. For ease of

notation, we introduce a set of dummy decision variables x°, i E {1,..., N}, which are

assigned the value 0. The generalised cumulative variable BIP formulation for the open

pit mine production scheduling problem (CVBIP-OPMPSP) is then given by

T N EE

bt (xi — xt_1) t=1 i=1.

s.t.

E q= (x! — x —1) < uT i=1

xt-1 < x.ti

xi < xT

x° = 0

xT E {0,1}

(4.2.1)

for all t E {1,...,T} and r E 2. (4.2.2)

for all t E {1,...,T} and i E {1,...,N} (4.2.3)

for all t E {1,...,T}, i E {1,..., N},

and j E Si (4.2.4)

for all i E { 1, ... , N} (4.2.5)

for all t E {1,...,T} and i E {1,...,N}. (4.2.6)

max

The objective (4.2.1) is to maximise the net present value of the mining operation. The

term (x; — xt—') is necessary since the binary decision variable for block i switches from

value 0 to 1 in the time period in which block i is mined, and then is fixed at value 1 for

the remaining time periods. Constraints on the amount of each attribute r E R able to be

extracted or processed in each time period are enforced by (4.2.2). These constraints are

referred to as production constraints. There are also constraints enforcing the rule that

each block can be mined at most once (4.2.3), known as reserve constraints, and the

block precedence constraints (4.2.4). These three classes of constraints: production

constraints, reserve constraints, and block precedence constraints, are the basis of all

models of open pit mine scheduling problems. In particular, more complex scheduling

problems, such as those incorporating blending or stochastic elements, also contain these

97

Page 111: Applications of integer programming in open pit mining: (2006)

constraints. Note that the formulation (CVBIP-OPMPSP) contains NT binary decision

variables and N(T — 1) + ISJ T + IRS T constraints.

The formulation (CVBIP-OPMPSP) differs to that presented by Caccetta and Hill

[20] and given by (3.3.8): (3.3.9)-(3.3.16) in the following ways. Before implementing

their model, Caccetta and Hill apply a cutoff grade to divide the set of all blocks into

two subsets: one of ore blocks and one of waste blocks. They then apply production

constraints on each of these sets, and include the tonnes of ore processed in each time

period as a decision variable in the model, with a prescribed lower and upper bound. The

formulation (CVBIP-OPMPSP) is more general than this since it allows for any number

of attributes to be considered for processing, rather than just waste and a single type

of ore. It does not explicitly apply or require a cutoff grade, and hence the problem of

determining the optimal cutoff grade could be incorporated into (CVBIP-OPMPSP) with

a straightforward extension of the model, similar to that included in the MIP formulation

of Menabde et. al. [67]. Note that although the tonnes of ore processed in each time

period is not explicitly included as a variable in (CVBIP-OPMPSP), this value can easily

be extracted from the output as E qz (xt* - x=t-1)*) for each time period t E {1, ... ,T} i=1

and attribute r E R, where x=* represents the optimal value for variable x= as given by

the solution to (CVBIP-OPMPSP). Lower bounds on the tonnes of each attribute to be

mined and processed in each time period are not explicitly included in (CVBIP-OPMPSP),

however it is a straightforward extension of the model to do so if required by the particular

mining operation under consideration. It is important to note when this is the case that if

overly restrictive lower bounds are applied, the problem may become infeasible, whereas

the removal of the lower bounds means that the null solution (mine nothing in each time

period) is always feasible.

We also consider an alternative BIP formulation of the open pit mine production

scheduling problem, based on that presented by Ramazan and Dimitrakopoulos [81]. This

alternative BIP formulation has the following decision variables. Let

1, if block i is mined in time period t

0, otherwise

for all i E {1, ... , N} and t E {1, ... , T}.

We refer to these decision variables as non-cumulative decision variables. The gen-

eralised non-cumulative binary integer programming formulation for the open pit mine

production scheduling problem (NCVBIP-OPMPSP) is then given by

98

Page 112: Applications of integer programming in open pit mining: (2006)

T N max E E St c= yi

t=1 i=1

s.t.

(4.2.7)

< u;. for all t E {1, ... , T} and r E R (4.2.8)

< 1 for all i E {1,...,N1 (4.2.9)

forall t E{1,... ,T}, i E{1,...,N},

and j E Si (4.2.10)

yz E{0,1} for all t E {1,... ,T} and i E {1,...,N}. (4.2.11)

Again, the objective (4.2.7) is to maximise the net present value of the mining opera-

tion. The production constraints are modelled by (4.2.8), the reserve constraints are given

by (4.2.9), and the block precedence constraints are enforced by (4.2.10). This formulation

contains NT binary decision variables and N + ISI T + T constraints. In compari-

son, the formulation (NCVBIP-OPMPSP) has the same number of decision variables, but

N(T — 2) less constraints than the cumulative variable formulation (CVBIP-OPMPSP).

Note that the formulation (NCVBIP-OPMPSP) does not include constraints on the

minimum and maximum grade of ore produced in each time period, while the model of

Ramazan and Dimitrakopoulos [81] given by (3.3.1): (3.3.2)-(3.3.7) does. Such constraints

are generally only relevant when the ore being mined is to be blended into a final product,

rather than when the ore under consideration is a base metal. Blending constraints could

easily be incorporated in (NCVBIP-OPMPSP) if required by the mining operation. In

addition, the formulation (NCVBIP-OPMPSP) allows for any number of attributes to be

considered, rather than just ore tonnes and total tonnes, and does not require the prior

application of a cutoff grade to the block model. Again there are no lower bounds on

the production constraints in (NCVBIP-OPMPSP), however these could be included if

required.

A more significant difference between (NCVBIP-OPMPSP) and the formulation of

Ramazan and Dimitrakopoulos [81] is the form of the block precedence constraints. Ra- t

mazan and Dimitrakopoulos represent the precedence constraints as ys < yl for all a=1

t E {1, ... ,T}, i E {1, ... , N} and j E Si. This representation mirrors that of the prece-

dence constraints in the weak y-formulation of the labor constrained scheduling problem,

described in Section 3.5.3. In (NCVBIP-OPMPSP), the precedence constraints take the t t

form E y: < E y7 for all t E {1, ... , T}, i E {1, ... , N} and j E Si. This is the s=1 a=1

99

Page 113: Applications of integer programming in open pit mining: (2006)

representation that the precedence constraints in the strong y-formulation of the labor

constrained scheduling problem take. It is easy to see that since all variables are binary,

and each block i E {1, ... , N} can be mined at most once, these two representations of the

block precedence constraints model the same relationship. As noted by Cavalcante et. al.

[21], the strong y-formulation representation of the precedence constraints is tighter than

the weak y-formulation representation in the case of the labour constrained scheduling

problem. Hence we transfer the strong y-formulation representation of the precedence

constraints to the formulation (NCVBIP-OPMPSP). In fact, this representation of the

block precedence constraints in (NCVBIP-OPMPSP) is equivalent to the representation

in (CVBIP-OPMPSP), as will be shown as part of the proof of Proposition 4.2.1.

Proposition 4.2.1. The binary integer programming formulations (CVBIP-OPMPSP)

and (NCVBIP-OPMPSP) model the same problem and have equivalent LP relaxations,

i.e. for each x feasible for the LP relaxation of (CVBIP-OPMPSP), we can construct y

feasible for the LP relaxation of (NCVBIP-OPMPSP) with identical objective value, and

vice-versa.

Proof.

( ) Consider a feasible solution x to the LP relaxation of (CVBIP-OPMPSP). Define

yt = xt — xi-1 for all i E ,N} and t E {1, . . . , T}. (4.2.12)

Note that for each i E {1, ... ,N} and t E {1, .

x= =

.. , T} we can rearrange (4.2.12) to obtain

t t y -}- -1 xt.

= Yi + yz-1 + xz-2

s = yi•

s=1

Now since x is feasible for (CVBIP-OPMPSP) we have

(4.2.13)

E qi (xi _ 4_1

) <

i=1 for all r E R and t E { 1, ... , T} by (4.2.2)

1V

E r t

9i yi d=1

Also

< /4 for all r E ?Z and t E {1,...,T} by (4.2.12).

x=-1 < xi for all i E {1,..., N} and t E {1,...,T} by (4.2.3)

xi - 4-1 > 0 for all i E {1,...,N} and t E {1,...,T}

yi > 0 for all i E {1,...,, N} and t E {1, ... ,T} by (4.2.12).

100

Page 114: Applications of integer programming in open pit mining: (2006)

From the precedence constraints (4.2.4) we have

t t

E y= 8=1 8=1

for all i E {1,...,N}, j E Si and t E {1,...,T}

for all i E {1,... ,N}, j ESz and tE {1,...,T}

by (4.2.13).

For the LP relaxation of (CVBIP-OPMPSP) we have 0 < xz < 1 for all i E {l,... , N} and t E {1, ... ,T} from (4.2.6). In particular, xT _< 1 for all i E {1,..., N}, from which it

follows that > y < 1 for all i E {1, ... , N} by (4.2.13). Also since W is the difference 8=1

of two values between 0 and 1 by (4.2.12), and xß-1 < xz by (4.2.3), it follows that yz < 1

for all iE{1,...,N} and tE{1,...,T}. Hence given x feasible for the LP relaxation of (CVBIP-OPMPSP) we have constructed

y such that

E < ter for all r E R and t E { 1, ..., T} i=1

t t

E y: < E y; for all i E{1,...,N}, j ESi and tE{1,...,T} 8=1 8=1

E y, < 1 for all i E {1,...,N} e=1

0 < y= < 1 for all i E {1,... , N} and t E {1,.. . , T },

and thus y is feasible for the LP relaxation of (NCVBIP-OPMPSP).

The objective value of the LP relaxation of (CVBIP-OPMSP) is given by

N T N T

E E bt ci (x -x,-1), and from (4.2.12) it follows that this is equal to E E at c y;,

i=1 t=1 i=1 t=1 which is the value of the objective function of (NCVBIP-OPMPSP).

Consider a feasible solution y to the LP relaxation of (NCVBIP-OPMPSP). Define

xz = y for all i E {1,...,N} and t E {1,...,T}, (4.2.14) 8=1

with x° = 0 for all i E

t-1 Note that for all i E {1,..., N} and t E { 1, , T } we have y = E y, — E y:, and

8=1 8=1 hence from (4.2.14) it follows that

yi = xi - xi 1 for all i E { 1, ... , N} and t E {1,... , T}. (4.2.15)

101

Page 115: Applications of integer programming in open pit mining: (2006)

Now since y is feasible for (NCVBIP-OPMPSP) we have

E gryZ < u;, for all r E R and t E {1,...,T} by(4.2.8) i=1

E (4 - x=-1) < u;, for all r E R and t E { 1, . . . , T } by (4.2.14) . i=1

From the precedence constraints (4.2.10) we have

< E y; for all iE{1,. .,N}, jE Si and t E {1,...,T} a=1

< x for all i E {1,...,N}, jESi and t E {1,...,T} by(4.2.15).

Also from (4.2.9) we have

T

E yi < 1 for all i E 11,..., N} s=1

xT < 1 for all i E {1, ... , N} by (4.2.14). (4.2.16)

Since y is binary and we are considering the LP relaxation of (NCVBIP-OPMPSP), (4.2.11) becomes 0 < y < 1 for all i E {1, ... , N} and t E {1,... ,T}, and by (4.2.15) it follows that

x= - xi-i > 0 xt-1 < x? (4.2.17)

for all i E {1,... , N} and t E {1,...,T}. Combining (4.2.16) and (4.2.17) we have that xti < 1 for all i E {1,...,N} and t E {1,...,T}, and since yz > 0 for all i E {1, ...,N} and t E {1,....,T} it follows by (4.2.15) and (4.2.17) that x= > 0 for all i E {1, ... , N} and t E{1,...,T}.

Hence given y feasible for the LP relaxation of (NCVBIP-OPMPSP) we have con-structed x such that

E qZ (x= —xi-1) < u; for all r E R and t E {1,...,T} i=1

xi < x foralliE{1,...,N}, jESi and t E {1,...,T}

xi-1 < x. for all i E {1, ... ,N} and t E {1, ... ,T}

x° = 0 for all i E {1, ... , N}

0 < x2 < 1 for all i E {1, ... ,N1 and t E {1,...,T},

and thus x is feasible for the LP relaxation of (CVBIP-OPMPSP).

The objective value of the LP relaxation of (NCVBIP-OPMSP) is given by

N T N T

E E bt ci yt, and from (4.2.12) it follows that this is equal to E E bt ci (4- xß-1),

i=1 t=1 1=1 t=1 which is the value of the objective function of (CVBIP-OPMPSP).

102

Page 116: Applications of integer programming in open pit mining: (2006)

Thus we have shown for the formulations (NCVBIP-OPMPSP) and (CVBIP-OPMPSP)

that there is a bijection from the LP feasible set of one to the other and vice versa, and

that this bijection preserves the objective value. When we impose the integrality restric-

tions on the decision variables, i.e. set xi E {0,1} and y, E {0,1} for all i E {1, ... , N} and t E {1,... , T}, we have that

t t t—i yi = xi — xi

= 1 if block i is mined in time period t and 0 otherwise,

(4.2.18)

for all i E {1,... , N} and t E {1, ... , T}. Thus the decisions made by the two formulations

are the same. Hence we have shown that the formulations (NCVBIP-OPMPSP) and

(CVBIP-OPMPSP) model the same problem and have equivalent LP relaxations. O

We will compare the computational performance of these two formulations in Section

4.3.

We also adapt the MIP formulation of Menabde et. al. [67] given by (3.4.1): (3.4.2)-

(3.4.11) to model the open pit mine production scheduling problem. This formulation was

originally developed to solve stochastic mine planning problems. As noted in Section 3.4,

if we set M = 1 and U = 1, i.e. use a single realisation of the orebody and a single cutoff

grade, then this MIP formulation for the stochastic mine planning problem is simplified

to the case of the open pit mine production scheduling problem. The decision variables

of the adapted MIP model for the open pit mine production scheduling problem take the

following form. Let

1, if the extraction of block i has started in time periods 1, ... , t 0, otherwise

for all i E {1, . .. , N} and t E {1,...,T};

= the fraction of block i extracted in time period t for all i E {1,..., N} and t E {1,...,T}.

Again for ease of notation, we introduce a set of dummy decision variables x°, i E {1,... , N}, which are assigned the value 0, as in (CVBIP-OPMPSP). The generalised

MIP for the open pit mine production scheduling problem (MIP-OPMPSP) is then given

by

103

Page 117: Applications of integer programming in open pit mining: (2006)

T N

max E E bt c= x= t=1 i=1

s.t.

(4.2.19)

E qz 4 < u;. for all t E{1,...,T} and r E7 (4.2.20) i=1

xit-1 < xi for all t E {1,...,T}

and i E {1,... , N} (4.2.21)

for all t E {1,...,T}

and iE {1,... ,N}

for all t E {1, . . . , T}, i E {1,..., N}

(4.2.22)

and j E Si (4.2.23)

= 0 for all i E {1,... , N} (4.2.24)

4 E {0,1} for all t E {1,...,T}

and i E {1,... , N} (4.2.25)

0 < 4 < 1 for all t E { 1, ... , T}

and i E {1, ... , N}. (4.2.26)

The objective (4.2.19) is to maximise the net present value of the mining operation.

The production constraints are enforced by (4.2.20), and the reserve constraints are given

by (4.2.21). The additional logical requirement that the sum of the fractions of a block

extracted over all time periods cannot exceed 1 is given by (4.2.22). The block precedence

constraints are enforced by (4.2.23). The formulation (MIP-OPMPSP) contains 2NT

decision variables, NT of which are binary. It also contains IRS T+NT+N(T-1)+ISI T =

IRS T + 181 T + 2NT - N constraints, which is NT more constraints than (CVBIP-

OPMPSP).

When compared to the formulation of Menabde et. al. [67], (MIP-OPMPSP) is simpli-

fied since there is no need for the binary decision variables that indicate the cutoff grade

that is selected in each time period. In addition, any number of attributes, rather than

just total tonnes and ore tonnes, are able to be included in (MIP-OPMPSP).

Note that the formulation (MIP-OPMPSP) models a different problem to that mod-

elled by the BIP formulations (NCVBIP-OPMPSP) and (CVBIP-OPMPSP). Although

(MIP-OPMPSP) is based on the binary variable formulation (CVBIP-OPMPSP), the def-

inition of the binary (x) decision variables in (MIP-OPMPSP) differs to the definition in

(CVBIP-OPMPSP). In (MIP-OPMPSP), for all i E {1, ... , N} and t E {1, .... , T}, 4 = 1

if the mining of block i has commenced by time period t, rather than if the complete

104

Page 118: Applications of integer programming in open pit mining: (2006)

Also

xz) < u;. for all r E 7Z and t E {1,...,T} by (4.2.2)

r for all r E 7Z and t E {1, ... , T} by (4.2.27). r t

qi zi

mining of block i occurs in time period t, as in (CVBIP-OPMPSP). In (MIP-OPMPSP),

the binary decision variables are used to model the block precedence constraints, where,

similar to (CVBIP-OPMPSP), the mining of block i E {1,... , N} cannot be commenced

until all blocks in its entire precedence set Ai \ {i} have been completely extracted. How-

ever, in (MIP-OPMPSP) it is not necessary to completely remove each block in the time

period in which its mining is commenced. This difference may allow fractions of valuable

blocks to be extracted in earlier time periods than is possible using the model (CVBIP-

OPMPSP), which will result in an increase in the net present value of the schedule gener-

ated by (MIP-OPMPSP). Clearly, this is a significantly different problem to that modelled

by (CVBIP-OPMPSP). However, we will now show that the LP relaxations of (CVBIP-

OPMPSP) and (MIP-OPMPSP) are equivalent.

Proposition 4.2.2. The LP relaxations of (CVBIP-OPMPSP) and (MIP-OPMPSP) are equivalent, i.e. for each x feasible for the LP relaxation of (CVBIP-OPMPSP) we can

construct (x, z) feasible for the LP relaxation of (MIP-OPMPSP) with identical objective value, and vice-versa.

Proof.

(=) Consider a feasible solution x to the LP relaxation of (CVBIP-OPMPSP). Define

xi = xâ

for all i E {1,...,N} and t E {1, ... ,T,

and z= = xz — x• for all i E {1, ... , N} and t E {1, ... ,T}. (4.2.27)

Note that for each i E {l,... , N} and t E { 1, ... , T} we can rearrange (4.2.27) to obtain

X:

= zit -I- zi-1 + xi-2

(4.2.28)

Now since x is feasible for (CVBIP-OPMPSP) we have

xz for all i E { 1, ... , N} and t E {1,. x, — x 1 > 0 for all i E {1, ... , N} and t E {1,..

z; > 0 for all i E {1, ... , N} and t E {1, . .

. . ,T} by (4.2.3)

.,T}

. , T} by (4.2.27).

105

Page 119: Applications of integer programming in open pit mining: (2006)

From the precedence constraints (4.2.4) we have

x= < itti for all i E {1,...,N}, j E Si and t E { 1, ... , T}

xi < z for all i E {1,...,N}, j E Si and t E {1,...,T} a=1

by (4.2.28).

For the LP relaxation of (CVBIP-OPMPSP) we have that 0 < < 1 for all i E {1,... , N}

and t E {1, ... ,T} from (4.2.6). Since 4 is the difference of two values between 0 and

1 by (4.2.27), and 4-1 < 4 by (4.2.3), it follows that 4 < 1 for all i E {1, ... , N} and

t E {1, ... ,T}.

Hence given x feasible for the LP relaxation of (CVBIP-OPMPSP) we have constructed

(x, z) such that

E qz 4 < u; for all r E R and t E { 1, . . . , T} i=1

xz-1 < 4 for all i E {1,... ,N} and t E {1,...,T}

E z= = 4 for all ïE{1,..., N} and tE{1,... ,T} s=1

xi < z1 for all i E {1,...,N}, j ESi and tE{1,...,T} s=1

x0 = 0 for all i E {1,... , N}

0 < 4 < 1 foralliE{1,... ,N} andtE{1,...,T}

0< 4 < 1 for all i E {1,... ,N} and t E {1,...,T},

and thus (x,z) is feasible for the LP relaxation of (MIP-OPMPSP).

The objective value of the LP relaxation of (CVBIP-OPMSP) is given by N T N T

E E ci (4 — 4-1), and from (4.2.27) it follows that this is equal to E E St ci 4, i=1 t=1 i=1 t=1 which is the value of the objective function of (MIP-OPMPSP).

( =)

Consider (x, z) a feasible solution to the LP relaxation of (MIP-OPMPSP). Define

E 4 for all i E {1, ... ,N} and t E {1,...,T}, (4.2.29) s=1

with 4° = 0 for all i E {1, ... , N}.

t t-1 Note that for all i E {1, ... , N} and t E {1,... , T} we have 4 = E 4 - E zz , and

s=1 s=1 hence from (4.2.29) it follows that

4 = - 4-1 for all i E {1, ... , N} and t E {1,...,T}. (4.2.30)

106

Page 120: Applications of integer programming in open pit mining: (2006)

Now since (x, z) is feasible for (MIP-OPMPSP) we have

E qi 4 < ur for all r E R and t E {1,... , T} by (4.2.20) i=i

E Qz (xt — 4-1) < t4 for all r E 7Z and t E {1,...,T} by (4.2.30). i=1

Combining (4.2.22) and (4.2.23) we have

t t

E z; < E z; for all i E {1, ... ,N}, j ESi and tE{1,...,T} s=1 s=1

x; < it. for all i E {1, . . . , N}, j E Si and t E {1,...,T} by (4.2.29).

From (4.2.26) we have

z= > 0 for all iE {1,... ,N} and t E{1,...,T} _ 2 > by (4.2.30)

xz-1 < xz for all i E {1,..., N} and t E { 1, ... , T}.

Since we are considering the LP relaxation of (MIP-OPMPSP), from (4.2.22) and (4.2.25)

we have

Ezi <x,<1 xi <1 s=1

for all i E {1, ... , N} and t E {1, ... , T} by (4.2.29). Also, since 4 > 0 for all i E

{ 1, ... , N} and t E {1,..., T } it follows by (4.2.29) that x; > 0 for all i E {1,..., N} and

t E { 1, ... ,T}. Hence given (x, z) feasible for the LP relaxation of (MIP-OPMPSP), we have con-

structed x such that

x; - -1) < for all r E 7Z and t E{1,...,T}

for all i E { 1, ... , N}, j E Si and t E { 1, ... , T }

for all i E {1,..., N} and t E {1,...,T}

for all i E {1,..., N}

for all i E {1,...,N} and t E {1, ... ,T},

and thus x is feasible for the LP relaxation of (CVBIP-OPMPSP).

The objective value of the LP relaxation of (MIP-OPMSP) is given by N T N T

E E dt ci 4, and from (4.2.27) it follows that this is equal to E E dt ci (x, — -t-1), t=1 t=1 i=1 t=1 which is the value of the objective function of (CVBIP-OPMPSP).

Thus we have shown that the formulations (MIP-OPMPSP) and (CVBIP-OPMPSP)

have equivalent LP relaxations. J

107

Page 121: Applications of integer programming in open pit mining: (2006)

Corollary 4.2.1. The LP relaxations of (NCVBIP-OPMPSP) and (MIP-OPMPSP) are

equivalent.

Proof. This result follows directly from Propositions 4.2.1 and 4.2.2. ❑

Hence the three generalised integer programming formulations for the open pit mine

production scheduling problem presented will have the same root node relaxation value,

however the optimal integer solution for (MIP-OPMPSP) will be greater than or equal

to the optimal integer solutions of (NCVBIP-OPMPSP) and (CVBIP-OPMPSP) since it

models a different problem. In Section 4.3 we compare the computational performance of

the three formulations that we have presented in this section.

4.3 Comparison of the Computational Performance of Three Generalised Integer Programming Formulations for the Open Pit Mine Production Scheduling Problem

We now present a computational comparison of the three generalised integer program-

ming formulations for the open pit mine production scheduling problem introduced in

Section 4.2. The data sets used are described in Section 1.4. All instances are solved

using CPLEX v8.0 [50] via Bog Concert Technology on a XP1000 Alphastation (466 MHz

CPU), using the default settings for mixed integer optimisation. All integer programs are

solved to a final gap of 1%, that is, the branch-and-bound algorithm terminates when (current upper bound - incumbent integer solution) 0.01. The base case for the Pit 1

incumbent integer solution - and Pit 2 instances is a mine life of 15 years. Hence the instances tested correspond to

five time periods of three years each, and ten time periods of eighteen months each. In

Pit 3 the base case is a mine life of ten years. In Pits 1 and 2 the block models contain

two attributes, the total tonnes and the tonnes of ore in each block, while the Pit 3 block

model contains a single attribute, representing the total tonnage of each block. In all cases

the production constraints are such that the entire ore body can be extracted over the life

of the mine, with the production capacity for each attribute equal in all time periods. In

all tables in this thesis, we present two values for the root node gap: the first (Root Node

Gap 1) uses the initial LP relaxation of the problem, and the second (Root Node Gap 2)

uses the last root node LP relaxation value reported by CPLEX after it has performed

its automatic preprocessing algorithms. In both cases the value reported is a percentage, LP relaxation -optimal integer solution) x 100%. All calculated as Root Node Gap = ( optimal integer solution

CPU times reported are in seconds. A time limit of 100 hours (360000 seconds) and a

memory limit of 1GB was placed on all computations. If either the time or memory limits

were reached, the computation was stopped and the current gap at the incumbent integer

solution is reported in the Final Gap column of the table. In these instances, the limit

that was reached is indicated by a t (time) or an m (memory) in the CPU Time column

of the table. A comparison of the computational performance of the three generalised

108

Page 122: Applications of integer programming in open pit mining: (2006)

integer programming formulations (NCVBIP-OPMPSP), (CVBIP-OPMPSP) and (MIP-

OPMPSP) on the data sets described in Section 1.4 is given in Table 4.1. Note that all

averages calculated throughout this thesis are geometric averages.

109

Page 123: Applications of integer programming in open pit mining: (2006)

Data Set

No. Time Pers

(NCVBIP-OPMPSP) (CVBIP-OPMPSP) (MIP-OPMPSP) No. B & B

Nodes

Root Node Cap 1

Root Node Gap 2

CPU Time

Final Cap %

No. B & B

Nodes

Root Node Cap 1

Root Node Cap 2

CPU Time

Final Gap %

No. B & B

Nodes

Root Node Cap 1

Root Node Gap 2

CPU Time

Final Cap

Pit 1

N = 67 5 2500 12.2 10.4 46.1 < 1.0 2700 12.2 9.5 24.7 < 1.0 800 11.3 9.2 22.0 < 1.0 181 = 190 10 > 2161700 14.1 14.1 115334m 3.3 > 2132700 14.1 11.4 40300' 2.6 7400 12.2 9.9 558.7 < 1.0 N = 115 5 2400 6.7 6.7 115.3 < 1.0 3840 6.7 6.0 103.1 < 1.0 300 6.1 5.1 46.9 < 1.0

181 = 368 10 > 1216200 7.5 7.5 190531m 3.3 > 1935300 7.5 7.0 96784m 1.2 3000 6.8 6.2 986.6 < 1.0 N = 182 5 2930 4.1 4.0 307.3 < 1.0 1100 4.1 3.9 101.3 < 1.0 740 4.1 3.7 168.8 < 1.0

(81 = 615 10 > 1045400 4.6 4.4 3600001 2.3 143400 4.6 4.4 15843.7 < 1.0 2190 4.1 3.7 1585.2 < 1.0 N = 354 5 500 1.6 1.5 283.6 < 1.0 500

I 1.6 1.5 159.6 < 1.0 50 1.5 1.4 231.1 < 1.0

IS1 = 1670 10 > 263400 1.8 1.8 3600001 1.8 28900 1,8 1.7 13745.2 < 1.0 700 1.6 1.6 2885.2 < 1.0

Pit 2 [ N = 66 5 1000 6.3 5.4 18.3 < 1.0 800 6.3 5.2 15.3 < 1.0 50 4.3 3.5 9.5 < 1.0

1S1 = 312 10 142200 10.4 8.9 9397.6 < 1.0 15700 10.4 8.9 539.9 < 1.0 500 8.7 8.3 109.0 < 1.0 N = 90 5 3000 12.1 10.6 135.1 < 1.0 4700 12.1 10.3 75.0 < 1.0 200 10.7 8.8 35.0 < 1.0

IS1 = 544 10 > 1330500 13.5 12.6 302636m 4.2 1016200 13.5 11.9 64183.3 < 1.0 1000 11.5 9.6 358.1 < 1.0 N = 166 5 117000 45.5 44.1 25655.9 < 1.0 3300 45.5 39.3 434.7 < 1.0 1200 44.3 40.8 376.8 < 1.0

SSI = 1551 10 > 206800 48.5 48.5 3600001 30.2 > 1520500 48.5 45.2 3600001 4.9 6700 46.0 42.6 10816.2 < 1.0 N = 420 5 > 182900 70.3 70.3 3600001 5.9 19800 70.3 68.5 10232.8 < 1.0 3900 69.5 66.3 6005.9 < 1.0

1S1 = 5900 10 > 26700 72.3 71.1 3600001 69.9 > 119000 72.3 70.2 3600001 3.6 > 47700 71.0 63.6 3600001 3.6

Pit 3

N = 164 5 13500 25.3 24.3 719.1 < 1.0 1100 25.3 21.6 50.1 < 1.0 4400 22.8 20.8 186.0 < 1.0 IS1 = 747 10 > 975400 26.0 24.7 303000m 5.7 37700 26.0 23.2 2543.3 < 1.0 133300 24.4 22.3 20239.0 < 1.0

Table 4.1: Computational Results for the (NCVBIP-OPMPSP), (CVBIP-OPMPSP) and (MIP-OPMPSP) Formulations.

Page 124: Applications of integer programming in open pit mining: (2006)

Note that a + in the Number of Branch-and-Bound Nodes column in Table 4.1 indicates

an instance where the formulation was unable to find the optimal integer solution, before

either the imposed memory or time limit was reached. Since thirteen of the fourteen

instances where this occurred were instances using ten time periods, it is evident that

dividing the life of the mine into smaller time periods significantly increases the difficulty

of solving the integer program, in terms of both the CPU time and the number of branch-

and-bound nodes required to find the optimal integer solution. Note also that six of the

unsolved instances with ten time periods reached the time limit and seven reached the

memory limit.

There are nine instances in which (NCVBIP-OPMPSP) did not find the optimal integer

solution within the prescribed time or memory limits. In four of these cases, (CVBIP-

OPMPSP) also did not find the optimal integer solution within the time or memory limits.

The gaps reported in the footnotes of the table show that (CVBIP-OPMPSP) was closer to

finding the optimal integer solution in each of these instances. In all cases where both BIP

formulations found the optimal integer solution, (CVBIP-OPMPSP) required (an average

of 3.5 times) less CPU time than (NCVBIP-OPMPSP). There were however four cases

where (NCVBIP-OPMPSP) required less branch-and-bound nodes while still requiring

more CPU time. In terms of computational efficiency, we regard CPU time as the most

critical factor when evaluating the performance of a formulation for this application in

open pit mining, as this is the benchmark in industry. The ultimate goal is to be able

to solve integer programming formulations of problems of realistic size in around twelve

hours. Note also that in all cases the Root Node Gap 2 values for (CVBIP-OPMPSP)

were less than those reported for (NCVBIP-OPMPSP), indicating that the cumulative

decision variables are more amenable to the internal preprocessing algorithms employed

by CPLEX. For both these reasons we conclude that (CVBIP-OPMPSP) outperforms

(NCVBIP-OPMPSP), and hence we will consider only (CVBIP-OPMPSP) from here for-

ward.

An explanation for the increased efficiency of (CVBIP-OPMPSP) when compared to

(NCVBIP-OPMPSP) is as follows. In both formulations, whenever a decision variable

is fixed (to either 0 or 1) by a branch in the branch-and-bound tree, a number of other

decision variables can be fixed through implication. For example, in (CVBIP-OPMPSP),

if x; is fixed to 0, then immediately x; = 0 for s = 1,... , t — 1. Similarly, if x; is

fixed to 1, then x; = 1 for s = t + 1,... , T. In the case of (NCVBIP-OPMPSP), if y

is fixed to 0, no additional information is gained regarding yi for s E {1, ... , T} \ {t}.

When yt = 1, it follows that 0 for s E {1,...,T} \ {t}. There are NT decision

variables in (NCVBIP-OPMPSP), and at most N of these will equal 1 in an optimal

solution, so most branching will see y, set equal to 0, and no additional information

regarding y, for s E { 1, ... , T1 \ {t} gained. The branching in (CVBIP-OPMPSP) is

`more balanced', in that regardless of whether a variable is set to 0 or 1 by a branch,

other variables for the block under consideration can be fixed immediately. In this way

111

Page 125: Applications of integer programming in open pit mining: (2006)

the branching in (CVBIP-OPMPSP) is effectively on sets of variables rather than single

variables, and is closely related to a special type of branching known as special ordered

sets (SOS) branching. Of course other implications arise through the precedence and

production constraints when a variable is fixed by branching, however the fact that sets

of variables are being branched on in (CVBIP-OPMPSP) rather than single variables will

mean that more of these implications result when (CVBIP-OPMPSP) is used compared

to (NCVBIP-OPMPSP). In addition, the relationship between the decision variables in

(CVBIP-OPMPSP) and (NCVBIP-OPMPSP) is similar to the relationship between the

strong-x and strong-y formulations of the labour constrained scheduling problem (LCSP)

presented in Section 3.5.3. As noted by Cavalcante et. al. [21], in the LCSP application,

branching on the (cumulative) xZ decision variables may lead to a more balanced division

of the search space than branching on the (non-cumulative) y= decision variables, which

is considered to be an advantage in solving the integer program. This is also the case

for the formulations (CVBIP-OPMPSP) and (NCVBIP-OPMPSP) for the open pit mine

production scheduling problem.

We see from Table 4.1 that (MIP-OPMPSP) only fails to find the optimal integer

solution within the prescribed time and memory limits on one occasion. In addition, in

all Pit 1 and Pit 2 instances, (an average of 16.0 times) less branch-and-bound nodes

are required to find the optimal integer solution when using (MIP-OPMPSP) compared

to (CVBIP-OPMPSP), and in all but two of these instances (an average of 3.9 times)

less CPU time is required. Hence the improvement in computational efficiency of (MIP-

OPMPSP) over (CVBIP-OPMPSP) is also evident. The percentage increases in NPV

from (MIP-OPMPSP) over (CVBIP-OPMPSP) were 0.9%, 1.6%, 0.5%, 0.8%, 0.0%, 0.5%,

0.2%, and 0.3% for the Pit 1 data sets, and 1.7%, 1.5%, 1.3%, 1.4%, 0.8%, 1.6%, 0.6%

and 0.9% for the Pit 2 data sets. Hence we can see that (MIP-OPMPSP) can give a slight

improvement in the NPV realised from the open pit mining operation. Since the optimal

integer solutions from (MIP-OPMPSP) were greater than those from (NCVBIP-OPMPSP)

and (CVBIP-OPMPSP), the Root Node Gap 1 values are less for (MIP-OPMPSP), even

though the initial root node relaxations are the same, as shown by Proposition 4.2.2.

The behaviour of (CVBIP-OPMPSP) and (MIP-OPMPSP) on the artificial (Pit 3)

data set differs to the Pit 1 and Pit 2 data sets. In the case of Pit 3, (MIP-OPMPSP)

requires both more CPU time and a greater number of branch-and-bound nodes than

(CVBIP-OPMPSP) for both the 5 and 10 time period instances. This indicates that the

distribution of the valuable (ore) blocks within the pit can affect the performance of the

branch-and-bound algorithm. In Pit 3, all the positively valued blocks are located at

the bottom of the block model and cannot be accessed early in the mine's life. Hence

the ability to access fractions of valuable blocks earlier in the mine's life in the (MIP-

OPMPSP) model is mitigated, and the increased size of the formulation (in terms of both

number of decision variables and constraints) compared to (CVBIP-OPMPSP) has a more

telling effect on the computational performance. The structure of the Pit 3 data set is

112

Page 126: Applications of integer programming in open pit mining: (2006)

such that there is no increase in the NPV obtained by using (MIP-OPMPSP) compared

to (CVBIP-OPMPSP).

Note that there are still significant root node gaps for both (CVBIP-OPMPSP) and

(MIP-OPMPSP) in all cases, particularly for problem instances with large numbers of

blocks and time periods. This indicates that there may be possible computational improve-

ments if we can strengthen the initial formulation through the derivation and addition of

strong valid inequalities. This is the focus of Chapters 5 and 6 of this thesis.

4.4 Precedence Constrained Knapsacks in Integer

Programming Formulations of the Open Pit Mine

Production Scheduling Problem

In Section 3.5.1 we described the precedence constrained knapsack (PCK) problem, and

presented an integer programming formulation for the problem. We now derive a relation-

ship between the PCK problem and the cumulative variable binary integer programming

formulation of the open pit mine production scheduling problem (CVBIP-OPMPSP). This

will allow us to use concepts developed for the PCK problem to derive strong valid in-

equalities for (CVBIP-OPMPSP). In this section we also introduce a new variant of the

PCK problem, the continuous precedence constrained knapsack (C-PCK) problem.

We then demonstrate that the C-PCK structure is closely related to the mixed integer

programming formulation of the open pit mine production scheduling problem (MIP-

OPMPSP). Hence we will be able to derive valid inequalities for (MIP-OPMPSP) using

new results obtained from the C-PCK problem.

4.4.1 The Relationship Between the Cumulative Variable Binary Integer

Programming Formulation of the Open Pit Mine Production

Scheduling Problem and the Precedence Constrained Knapsack

Problem

Consider again (CVBIP-OPMPSP). We derive a class of valid inequalities for this formu-

lation as follows. The cumulative available production capacity for a particular attribute

r E R. up to and including time period t can be represented by the aggregated produc-tion constraints, where (4.2.2) is summed over times 1, . , . , t:

t N`

t

E L. qi ( i - i - ) < E ,ur.

8=1 it=1 8=1 (4.4.1)

The aggregated production constraints (4.4.1) can be reduced as follows. For given

113

Page 127: Applications of integer programming in open pit mining: (2006)

us r

us r

s (4.4.2)

t E {1,... , T} and r E R, (4.4.1) is equivalent to

N t

E Qi E (x= - xs-1

/\

. t

i=1 s=1 N

E q (zit - x°) i=1

E x: i=1

since x, = 0, for all i E {1,..., N}. It follows that (4.4.2) is a valid 0-1 knapsack inequality

for (CVBIP-OPMPSP). If we consider the aggregated production feasible set for a given

time period t E {1,... , T} and attribute r E R, we have a PCK feasible set, which is

described by

N t

E qi xi < ur (4.4.3) i=1 s=1

x= < xti for all i E {1,... , N} and j E Si (4.4.4)

xi E {0,1} for all i E {1,..., N}. (4.4.5)

The aggregated production constraint (4.4.3) is a 0-1 knapsack inequality, while the

time period t precedence constraints are given by (4.4.4). It follows that the LP relaxation

of (4.4.3)-(4.4.5) is a PCK polyhedron, which we will denote by (PCKt, r). Note that the

(CVBIP-OPMPSP) polyhedron lies in the Cartesian product of the (PCKt, r) polyhedrons

for all t E {1,... , T} and r E R. As noted by Crowder et. al. [24], it follows that the

addition of any strong valid inequalities for (PCKt, r) could improve the computational

performance of (CVBIP-OPMPSP). We will explore this idea further in Chapter 6.

4.4.2 The Continuous Precedence Constrained Knapsack Problem and

its Relationship to The Mixed Integer Programming Formulation

of the Open Pit Mine Production Scheduling Problem

We now extend the analysis presented in Section 4.4.1 to the mixed integer programming.

formulation (MIP-OPMPSP) for the open pit mine production scheduling problem. We

begin by introducing a new polyhedron, which we refer to as the continuous precedence constrained knapsack (C-PCK) polyhedron.

4.4.2.1 The Continuous Precedence Constrained Knapsack Problem

In Section 3.5.1 we introduced the precedence constrained knapsack (PCK) problem and

presented a review of polyhedral results for this problem. We now introduce a new variant

of the PCK problem, which we label the continuous precedence constrained knap-

sack (C-PCK) problem. As in the case of the PCK problem, an instance of the C-PCK

problem is described by a set of items N = {l , ... , N}, each with value ci E Z and weight.

114

Page 128: Applications of integer programming in open pit mining: (2006)

ai E Z+, as well as a knapsack capacity b E Z. In addition, a set of precedence rela-

tionships on the items, denoted by S C {1, ... , N} x {1, ... , N} is given. In the C-PCK

problem, fractions of items are able to be included in the knapsack, provided that each

item in their precedence set is completely included in the knapsack. Hence binary decision

variables are used to model the precedence relationships, but every item also has an asso-

ciated continuous variable indicating the amount of the item included in the knapsack. A

mixed integer programming formulation of the C-PCK problem is as follows. Let

xi 1, if any part of item i is included in the knapsack

0, otherwise for all i E N;

= the fraction of item i included in the knapsack for all i E N.

The C-PCK problem may then be written as

max > cz Zi

iEN s.t.

(4.4.6)

L. ai zi < b (4.4.7) iEN

zi < xi for all i E N (4.4.8)

xi < zi for all (i, j) E S (4.4.9)

xi E{0,1} foralliE N (4.4.10)

0 < zi < 1 for all i E N. (4.4.11)

The objective (4.4.6) is to maximise the total value of the (fractions of) items included

in the knapsack. The knapsack constraint (4.4.7) is enforced on the continuous variables

for each item. The logical requirement that the fraction of an item included in the knapsack

cannot exceed 1 is modelled by (4.4.8), while the precedence relationships, where each of

the predecessors of an item must be completely included in the knapsack before the item

can begin to be included, are given by (4.4.9). This is clearly an extension of the well-

known precedence constrained knapsack problem to the continuous case. We now derive

a relationship between the C-PCK problem the mixed integer programming formulation

of the open pit mine production scheduling problem.

4.4.2.2 Relationship Between the Continuous Precedence Constrained

Knapsack Problem and the Mixed Integer Programming Formulation

of the Open Pit Mine Production Scheduling Problem

Following the approach of Section 4.4.1, we derive a class of valid inequalities for (MIP-

OPMPSP) as follows. Consider the cumulative available production capacity for a par-

ticular attribute r E R. up to and including time period t E { 1, ... , T}. This can be

115

Page 129: Applications of integer programming in open pit mining: (2006)

represented by aggregated production constraints, where (4.2.20) is summed over

time periods 1, ... , t:

t N

E E qi x= E u* s=1 i=1 3=1

N t

EN

x= < E u*'

i=1 s=1 s=1 (4.4.12)

If we consider the time period t logical constraints (4.2.22) and precedence constraints

(4.2.23), we obtain the following feasible set:

N t t

E qr E zz "< Eu$ (4.4.13) i=1 8=1 8=1

E 4 < 4 for all i E {1,. . . , N} (4.4.14) s=1

x < E 4 for all i E {1,..., N} and j E Si (4.4.15) a=1

4 E {0,1} for all i E {1, ... , N} (4.4.16)

0 < zz < 1 for all i E {1,... ,N}. (4.4.17)

t Note that if we let zi = E zi, xi = x_, ai = gT and b = E uT in

s=1 s=1 (4.4.13)-(4.4.17), we have

E ai zi i=1

zi

< b

< xi for all i E {1,..., N} (4.4.18)

xi < for all i E { 1, ... , N} and j E Si (4.4.19)

xi E {0,1} foralli E{1,...,N}, (4.4.20)

and combined with the fact that 0 < E 4 = zi < 1, we have a C-PCK feasible set. s=1

Hence we will refer to the LP relaxation of (4.4.13)-(4.4.17) as the (C-PCKt, r) polyhedron.

Note that the (MIP-OPMPSP) polyhedron lies in the Cartesian product of the (C-PCKt, r)

polyhedrons for all t E 11, ... , T} and r E R. As noted by Crowder et. al. [24], the

addition of any strong valid inequalities for (C-PCKt, r) could improve the computational

performance of (MIP-OPMPSP). We will derive new valid inequalities for the (C-PCKt, r)

polyhedron in Chapter 5, and consider their application to (MIP-OPMPSP) in Chapter

6.

116

Page 130: Applications of integer programming in open pit mining: (2006)

4.5 Conclusion

In this chapter we have presented three generalised versions of integer programs for the

open pit mine production scheduling problem, based on those presented in the recent

literature by Ramazan and Dimitrakopoulos [81], Caccetta and Hill [20], and Menabde

et. al. [67]. We showed in Section 4.2 that the non-cumulative decision variable BIP

formulation (NCVBIP-OPMPSP) and the cumulative variable BIP formulation (CVBIP-

OPMPSP) model the same problem, and that their LP relaxations are equivalent. We

also showed that the generalised MIP formulation (MIP-OPMPSP) models a different

problem, due to a difference in the definition of the binary decision variables, but that

the LP relaxations of (MIP-OPMPSP) and the BIP formulations (CVBIP-OPMPSP) and

(NCVBIP-OPMPSP) are equivalent. A comparison of the computational performance

of (NCVBIP-OPMPSP) and (CVBIP-OPMPSP) in Section 4.3 showed that (CVBIP-

OPMPSP) is significantly more efficient, since the definition of the decision variables allows

the branching in (CVBIP-OPMPSP) to occur on sets of variables rather than on individual

variables. We also showed that (MIP-OPMPSP) enabled a slight improvement in the net

present value realised from the schedule to be obtained, as well as further improvements

in computational efficiency in most cases. We noted that there are still significant root

node gaps for both (CVBIP-OPMPSP) and (MIP-OPMPSP), particularly for problem

instances with large numbers of blocks and time periods, motivating the investigation of

additional strong valid inequalities for these formulations.

In Section 4.4.1 we demonstrated that the structure of the precedence constrained

knapsack (PCK) problem is closely related to (CVBIP-OPMPSP). In particular, we de-

rived aggregated production constraints from the initial formulation, which were sub-

sequently reduced to a valid 0-1 knapsack inequality for (CVBIP-OPMPSP). We then

defined the time period t, attribute r polyhedron (PCKt, r ), and noted that the (CVBIP-

OPMPSP) polyhedron lies within the Cartesian product of the (PCKt, r ) polyhedrons for all t E {1,...,T} and r E R.. Hence, the addition of any strong inequalities for (PCKt, r)

could improve the computational performance of (CVBIP-OPMPSP).

We introduced a new polyhedron called the continuous precedence constrained

knapsack (C-PCK) polyhedron in Section 4.4.2.1. We showed that for (MIP-OPMPSP),

the time period t, attribute r polyhedron takes the form (C-PCKt, r), and noted that

the (MIP-OPMPSP) polyhedron lies within the Cartesian product of the (C-PCKt, r)

polyhedrons for all t E { 1, ... , T} and r E 7?.. We develop new strong valid inequalities for

the PCK and C-PCK polyhedrons in Chapter 5, and apply them to (CVBIP-OPMPSP)

and (MIP-OPMPSP) in Chapter 6, with the aim of improving the computational efficiency

of these formulations.

117

Page 131: Applications of integer programming in open pit mining: (2006)

I

Page 132: Applications of integer programming in open pit mining: (2006)

Chapter 5

A New Class of Facet-Defining

Inequalities for the Precedence

Constrained Knapsack Polyhedron

and New Results for the

Continuous Precedence

Constrained Knapsack Polyhedron

5.1 Introduction

In Chapter 4 we presented a cumulative variable binary integer program for the open pit

mine production scheduling problem given by (CVBIP-OPMPSP), and demonstrated that

the aggregated production polyhedron for a given time period t E {1, ... , T} and attribute

r E R is in fact a precedence constrained knapsack polyhedron, given by (PCKt, r). We

noted that since the (CVBIP-OPMPSP) polyhedron lies in the Cartesian product of the

(PCKt, r ) polyhedrons for all t E {1, ... , T} and r E R, the addition of any strong inequal-

ities for (PCKt, r) could improve the computational performance of (CVBIP-OPMPSP).

A review of the precedence constrained knapsack (PCK) problem was presented in Section

3.5.1, where particular attention was paid to previous analysis of the PCK polyhedron,

the majority of which is based on knapsack cover-like inequalities. It was shown that the

application of a maximum lifting procedure, which may require the solution of a num-

ber of NP-complete subproblems, is required to obtain facet-defining inequalities using

this approach. In this chapter, we present a new approach for determining facets of the

PCK polyhedron. Unlike previous work [14, 76, 98], we do not take knapsack covers as

our starting point, but instead investigate clique inequalities derived from a graph repre-

senting pairwise conflict relationships between variables. We show that our clique-based

119

Page 133: Applications of integer programming in open pit mining: (2006)

approach can generate facet-defining inequalities that cannot be found through the exist-

ing cover-based approaches for the PCK problem. It is also shown that in cases where the

facet-defining inequalities found by both approaches correspond, our clique-based approach

avoids the need to solve difficult maximum lifting problems. We will subsequently apply

our new results for the PCK problem to strengthen the formulation (CVBIP-OPMPSP)

for the open pit mine production scheduling problem in Chapter 6.

In Section 5.2, we derive properties of the precedence relationships that will be useful in

our investigation, and present the concept of a conflict graph. In Section 5.3 we introduce

clique inequalities for the PCK problem, and derive necessary and sufficient conditions

under which they represent facets of the convex hull conv(P) of the PCK feasible set P. A comparison of clique inequalities and the results of Boyd [14], Park and Park [76], and

van de Leensel et. al. [98], which, as already mentioned, are all based on knapsack cover-

like inequalities, is presented in Section 5.4. We also provide a more complete classification

of these knapsack cover-like inequalities than has previously been given. The differences,

similarities, and computational strength of the various classes of constraints are illustrated

in examples in Section 5.5, where we demonstrate that our clique-based approach can

generate facet-defining inequalities for conv(P) that cannot be found through the existing

cover-based approaches, and that avoid the need for the computationally expensive lifting

procedures that are used in existing cover-based approaches.

In Chapter 4 we also presented a generalised mixed integer programming formula-

tion for the open pit mine production scheduling problem, given by (MIP-OPMPSP). In

addition, we introduced a new polyhedron, the continuous precedence constrained

knapsack (C-PCK) polyhedron, and showed that the (MIP-OPMPSP) polyhedron lies

within the Cartesian product of the (C-PCKt, r) polyhedrons for all t E {1,... , T} and

r E R. Hence the addition of any strong inequalities for (C-PCKt, r.) could improve the

computational performance of (MIP-OPMPSP). In Section 5.6 we present an initial in-

vestigation of, and derive new valid inequalities for, the C-PCK polyhedron.

5.2 Feasible Packings, Conflict Graphs and Their Properties

In Sections 5.2 - 5.5 we consider the precedence constrained knapsack (PCK) feasible set

P, defined by

E a; xi < b (5.2.1) i=1

xi < xi for all (i, j) E S (5.2.2)

xi E {0,1} for all i E {1, . . . , N }. (5.2.3)

We now derive a new class of facet-defining inequalities for the convex hull conv(P) of

the PCK feasible set P. Throughout this chapter, we let AI = {1, ... , N} be the set of

120

Page 134: Applications of integer programming in open pit mining: (2006)

items under consideration for the PCK problem. The precedence constraints in the PCK

problem can be represented by the directed acyclic graph G = (N, S), where the node

set is the set of all items N, and each precedence constraint in S is represented by a

directed arc. Recall the geometric properties of the block models introduced in Section

1.3. Throughout this chapter we assume that these properties hold for the precedence

sets under consideration for the PCK problem. We restate the relevant definitions and

properties here. The precedence constraints are transitive, so without loss of generality we

assume that S does not contain any redundant relationships. Hence the set of arcs S in

the directed acyclic precedence graph G = (N, S) is the set of all immediate predecessor

arcs. It follows that the set of all precedence relationships A is the transitive closure of S, and (i, j) E A if and only if there exists a path from node i to node j in G. Let Si be the

set of immediate predecessors of item i, that is let Si = {j E N : (i, j) E S}. In addition,

let A, be the minimal set of items, including item i, that must be included for item i to

be included in the knapsack, that is Ai = {j E N : (i, j) E A} U W. Note that inclusion

in the set Ai is transitive, so if j E Ak and k E Ai then j E Ai. The transitivity of the

entire precedence sets leads directly to Property 1, which is used throughout this chapter.

Property 1. Let i E N. For all j E Ai it must be that Ai Ç Ai.

Property 1 effectively says that if an item j E N lies in the entire precedence set Ai

of another item i, then the entire precedence set of item j must also lie in the entire

precedence set of item i.

We also extended these precedence ideas to sets of items B Ç N. Let A(B) = Ui€ BAI

be the union of the Ai sets for the items in the set B. Then A(B) gives the minimal set

of items that must be included for all items in the set B to be included in the knapsack.

Now consider the set of items that cannot be included unless item i has been included in

the knapsack, and include item i in this set. This is the set of all successors of item i, which we denote as Di, hence Di = { j E N : i E Ail. Property 2 follows directly from

the transitivity of the entire precedence sets Ai.

Property 2. Let i E N. For all j E Ai it must be that i E Dj.

Hence, given a set of items Al' and the immediate predecessor set Si for each item

i E N, the corresponding entire precedence sets Ai and entire successor sets Di can be

deduced.

For a given set of items B C N we also require the concept of a subset of B that

contains the successors of an item k E A(B) \ B.

Definition 5.2.1. For each set B Ç N with A(B)\B # 0, for each k E A(B)\B there

exists j E B such that j E Dk. Let JB(k) denote these j, that is JB(k) = Dk n B for each k E A(B) \ B. We refer to .ÎB (k) as the descendant set of k in B.

See Figure 5.1 for an illustration of a descendant set 38(k).

121

Page 135: Applications of integer programming in open pit mining: (2006)

B = (a, b, c)

A(B) 4 B

O J"B(k)= (b,c)

Figure 5.1: Illustration of a descendant set JB (k).

We now combine the properties of the precedence sets with the knapsack constraint

(5.2.1), to determine the minimum capacity required to include each item in the knapsack.

Let H(B) _ E jEA(B) aj be the total capacity required to include the items in the set B in

the knapsack. It follows that H({i}) = EjEA; aj is the total capacity required to include

item i in the knapsack. For ease of notation let Hi = H({i}). We assume that for every

item, there exists a feasible solution in which it is included in the knapsack. Otherwise,

the item can be deleted from the problem instance.

Assumption 1. Each individual item in the set N could be included in the knapsack, that

is Hi <b for all i E N.

It follows directly from Assumption 1 that the PCK polyhedron is full-dimensional.

This allows us to apply Theorem 2.3.2 to characterise facets of the PCK polyhedron.

We now determine when the inclusion of a given set of items B C N in the knapsack

is feasible. In what follows, ei is the ith standard basis vector in IIgINI ,

Definition 5.2.2. For any set B C N, let x(B) E {0,1}INI induce B, that is x(B) _

E ei . iEB

Definition 5.2.3. Let B C N such that

(i) for all j E B, Ai C B, and

(ii) H(B) = aj < b.

jEA(B)

Then we say that the set of items B is a feasible packing of the knapsack.

We now provide a series of technical results regarding feasible packings and precedence

sets. These are all straightforward, but help to simplify the proofs of our main results in

Section 5.3.

Lemma 5.2.1. Let B1, ... , B,,,,, m E Z+ be a collection of feasible packings such that

H(B1 U ... U B„ t.) < b. Then B1 U ... U Bit. is a feasible packing.

122

Page 136: Applications of integer programming in open pit mining: (2006)

Proof. Let B1,... , B,,,, , m E Z+ be a collection of feasible packings such that H(B1 U... U

B,,,) < b. Then for each i E B1 U ... U B,n there exists j such that i E It follows from

Property 1 that A, C B3. Hence from Definition 5.2.3 it follows that B1 U .. U B,,, is a

feasible packing. ❑

Lemma 5.2.2. Let i, j E N. If i E Ai and j E Az, then i = j.

Proof. Let i E AI C N. From Property 1, it follows that Ai C Ai. Similarly, if j E Ai C N

then Ai C Ai. So we have A C C Ai and hence A = Ai. It follows directly that

i= j. ❑

Lemma 5.2.3. Let B C N. If i E A(B) then Ai Ç A(B).

Proof. Let i E A(B) = UjEBAj. Then there exists j E B such that i E Ai. It follows from

Property 1 that Ai Ç Ai and hence A Ç A(B). ❑

Lemma 5.2.4. Let j E N \ Di for some i E N. Then Ai C N \ Di.

Proof. Let j E N\ Di for some i E N and suppose that Ai N \ D. Then there must

exist a k E Di n Ai. By Property 1 we have that Ak Ç Ai and since k E Di it follows

that i E Ak, and from Property 1 we have that Ai C Ak. So A C Ak C Ai, from which

it follows that i E A.. From the definition of Di we then have that j E Di, which is a

contradiction. Hence Ai C N \ Di. ❑

Lemma 5.2.5. If B C N with H(B) < b, then A(B) is a feasible packing.

Proof Let B C N with H(B) < b, but assume that A(B) is not a feasible packing. Then

it must be that for some i E A(B), Ai A(B). This is a contradiction of Lemma 5.2.3.

Hence A(B) is a feasible packing. ❑

If B C N with H(B) < b then we say that B induces a feasible packing.

Corollary 5.2.1. For any item i E N it must be that {i} induces a feasible packing, that

is, Ai is a feasible packing.

Proof. Set B = {i} in Lemma 5.2.5. Then H(13) = Hi and the result follows directly from

Assumption 1. ❑

Lemma 5.2.6. Let B C N such that

1. B is minimal in the sense that A(B \ {i}) A(B) for all i E B, and

2. H(B) < b.

Then A(B)\{i} is a feasible packing for any i E B.

Proof. Let i E B C N. We now show Conditions (i) and (ii) from Definition 5.2.3 of a

feasible packing.

123

Page 137: Applications of integer programming in open pit mining: (2006)

(i) Let j E A(B)\{i} and suppose Ai g A(B) \ {i}. Now j E A(B) so Aj Ç A(B)

by Lemma 5.2.3, and since Aj ¢ A(B) \ {i} it must be that i E Aj. Hence by

Property 1 Ai C Ai. Also, it must be that j E A(B \ {i}), since otherwise j E

and by Lemma 5.2.2 it would be that j = i, contradicting j E A(B) \ {i}. Hence

Aj Ç A(B \ {i}) by Lemma 5.2.3. Then

A(B) = UkEB Ak

UkEB\{i} Ak U Ai Ç A(B \ {i}) U Aj since Ai Ç Aj

= A(B \P}) since Aj Ç A(B \ {i}),

so A(B \ {i}) Ç A(B), which is a contradiction to the minimality of B (Condition 1

of Lemma 5.2.6). Therefore it must be that Aj C A(B)\{i}.

(ii) Since H(B) < b and A(B)\{i} Ç A(B), it follows that H(A(B) \ {i}) < b.

Hence A(B) \ {i} satisfies the conditions for a feasible packing.

Corollary 5.2.2. Let k E N. Then Ak \ {k} is a feasible packing.

Proof. Let k E N, and take B = {k} in Lemma 5.2.6. Then k E A(B), so A(B) $ 0,

and B satisfies Condition 1 of Lemma 5.2.6. Also H(B) = Hk < b by Assumption 1, so

B also satisfies Condition 2 of Lemma 5.2.6. Hence A(B)\{k} = Ak \ {k} is a feasible

packing. D

5.2.1 Conflict Graphs and Their Properties

In order to identify potential facet-defining inequalities for cony(P), we require the follow-

ing definition of a conflict graph for the instance of the PCK problem under consideration.

Definition 5.2.4. A conflict graph CC = (N, E) contains the edge {i, j} E E if and

only if the pair of items i and j cannot be included in the knapsack together, that is if

and only if H({i, j}) > b.

In all illustrations of a conflict graph throughout this chapter, we show only nodes

that are not singletons. A clique C Ç N in the conflict graph CG is a set of nodes such

that every pair of nodes in C is joined by an edge. Hence each pair of items in C cannot

be included in the knapsack simultaneously, and it follows that at most one item in C can

be included in the knapsack. A maximal clique is a clique that cannot be enlarged by

adding any additional node. We now derive technical properties of cliques in the conflict

graph, useful in our main results in Section 5.3.

Lemma 5.2.7. Let C C N be a clique in the conflict graph CG. Then for each i E

C, (Ai \{i})n C =0.

124

Page 138: Applications of integer programming in open pit mining: (2006)

Proof. Let i E C where C C N is a clique in the conflict graph CG. Suppose that there

exists j E Ai n C, with j i. By Property 1, Ai Ç Ai so Ai U = Ai. By Definition

5.2.4, and since C is a clique, it must be that Hi = H({i, j}) > b, which contradicts

Assumption 1. Hence (Ai \ {i}) n C = O. ❑

Corollary 5.2.3. Let C C N be a clique in the conflict graph CG. Then for each i E

C, Ai n c {i}.

Proof. From Lemma 5.2.7 we have that for each i E C, (Ai \ {i}) fl C = 0. Since i E C, it

follows directly that Ai n C = {i}. ❑

Lemma 5.2.8. Let C C Al' be a clique in the conflict graph CG. Then for each i E

C, Ai \ {i} C A(C) \C.

Proof. Let i E C where C C N is a clique in the conflict graph CG. We have that

Ai Ç A(C), so it follows that Ai \ {i} C A(C). But (Ai \ {i}) f1 C = 0 by Lemma 5.2.7,

and hence Ai \ {i} Ç A(C)\C. ❑

Lemma 5.2.9. Let C C N be a clique in the conflict graph CG. Then for each k E A(C)\C,

Ak C A(C)\C.

Proof. Let C C N be a clique in the conflict graph CG, and let k E A(C) \ C. Then

k E A(C), and there exists i E C such that k E A. It follows from Property 1 that

Ak C Ai, and since k # i, we have that Ak C Ai \ {i}. Suppose that Ak A(C)\C. Then

there must exist j i such that j E Ak n C. By Property 1 it follows that Ai Ç Ak Ç Ai,

so U Ai = Ai. But i, j E C, and thus by the definition of C, H({i, j}) = Hi > b. This

contradicts Assumption 1. Hence Ak Ç A(C) \ C. ❑

5.2.2 Required Polyhedral Results

Along with the properties of the precedence sets and conflict graphs in the PCK problem,

we also require a number of general results from polyhedral theory. The basics of polyhe-

dral theory were presented in Section 2.3. We now derive further general results regarding

polyhedra and facets that we require in our main results in Section 5.3.

Lemma 5.2.10. Let Q and P be non-empty polyhedra such that Q C P. Then dim(Q) <

dim(P).

Proof. Let dim(Q) = m. Then by Definition 2.3.7 there exists m + 1 af$ncly independent

points in Q. These same m + 1 points are in P, and hence dim(Q) < dim(P). ❑

Lemma 5.2.11. Let P be a non-empty polyhedron, and F be a face of P. If dim(F) =

dim(P), then F = P.

125

Page 139: Applications of integer programming in open pit mining: (2006)

Proof. Let F = {x E P : q x = r}, where q x < r is a valid inequality for P. Suppose dim(F) = dim(P) but F 0 P. Then F C P and there exists a point y E P \ F. Since y ¢ F it follows that q y < r. Let m = dim(P) + 1 = dim(F) + 1, and suppose x1, ... , xm are m affinely independent points in F. Now suppose Ez_, b; xt + bm+i y = 0 for b with >__i' bi = 0. If bm+1 = 0 then bi = 0 for all i = 1, ... ,m by Definition 2.3.6

since xl, ... , xm are affinely independent. Hence xl, ... , xm, y are affinely independent, and there are m + 1 affinely independent points in in P. Thus dim(P) = m, which is a

1=1 —1 E bi r since xi E F for each i = 1,... , m

• bm+1 i=1

= —r E bi bm+1 i=1

_ —r bm+1

( bm+1)

= r.

This contradicts q y < r. Hence F = P.

by the definition of the b's

Lemma 5.2.12. Let F and F be two faces of a non-empty polyhedron P, and let F 5 P 5 P. Then F cannot represent a facet of P.

Proof. Let F = {x E P : it x = pro } and F = {x E P : 7 x = yo }. Since F $ F

it follows that F = {x E P : it x = pro}, therefore F is a face of P. So we have

that F is a face of P which is a face of P, and F 5 P 5 P. Suppose F is a facet of

P. Then by Definition 2.3.9 dim(F) = dim(P) — 1 and by Lemma 5.2.10 we have that

dim(F) = dim(P) 1 < dim(P) < dim(P). If dim(P) = dim(P) — 1 = dim(F), by

Lemma 5.2.11 we have that F = P which contradicts our condition that F 5 P. So it

must be that dim(P) = dim(P), and hence by Lemma 5.2.11 P = P. This contradicts

our condition that P 5 P, thus F cannot represent a facet of P.

In addition to the results presented above and the properties of polyhedra discussed

in Section 2.3, we will also require the following result of Balas [7].

Lemma 5.2.13 (Balas [7] ). Let P1, ... , P,. be a finite set of polytopes (bounded polyhe-

dra), and P = Uh=i Ph

contradiction. Thus bm+1 0 0 and we have

—1

y = E bi xi bm+1 f=1

and so q y = bm+1 L

—1 • bz q xi

126

Page 140: Applications of integer programming in open pit mining: (2006)

Let H+ _ {x E : dt x < dio} be an arbitrary halfspace, and H — = {x E Rn : di x > dio}.

IfPÇH+, then

H — n conv(P) = conv(H — n P).

5.3 Clique-Based Facets for the PCK Polyhedron

The properties derived in Section 5.2 are now used to identify facets of conv(P), where

CG = (N, E) is a conflict graph determined according to Definition 5.2.4. The following

result is obvious.

Lemma 5.3.1. Let C C N be a clique in the conflict graph CG. Then the clique inequality

is valid for P.

E x j < 1 jEC

(5.3.1)

Proof. From Definition 5.2.4 of the conflict graph CG = (N, E), for each edge {i, j} E E

we have that xi + xi < 1 is valid for P. Hence all clique inequalities such that ICI = 2

from CG are valid for P. It follows directly that all clique inequalities of the form (5.3.1)

from CG are valid for P. D

Definition 5.3.1. Let C C N be a clique in the conflict graph CG. Let P(C) be the set of

items in the intersection of the entire precedence sets of all the items in the clique C, that

is P(C) = nj EC Ai.

The set P(C) may or may not be empty. We consider these two cases separately.

5.3.1 Case 1: Empty intersection set, P(C) = 0

In this case, we are able to determine necessary and sufficient conditions under which

(5.3.1) is facet-defining for conv(P). We also give a straightforward procedure that, given

any maximal clique C Ç N with P(C) = 0, can generate a maximal clique satisfying these

conditions.

Definition 5.3.2. Let C C N be a clique in the conflict graph CG. Let

Fe = x E conv(P) : E xi 1 , that is, Fc represents the face of conv(P) determined jEC

from the valid clique inequality (5.3.1).

The necessary and sufficient conditions on C so that Fc is facet-defining for conv(P)

are given by Condition 1.

Condition 1. Let C C N be a maximal clique in the conflict graph CG with P(C) = O.

Either A(C) \ C = 0, or for every k E A(C) \ C there exists j E C \ Jc(k) such that

H({j, k}) < b. Let J1(k) denote the set of all such j.

127

Page 141: Applications of integer programming in open pit mining: (2006)

C= (a, b,c)

A(C) \ C

0 J^c(k) _ (c)

Ji(k) = ia. b)

Figure 5.2: Illustration of the definition of Ji (k) from Condition 1 for Case 1, P(C) = 0,

on the precedence graph G = (H, S). Take ai = 1 for all i E H and b = 7.

See Figure 5.2 for an illustration of Ji (k) when A(C)\C 0 in Case 1.

Suppose a maximal clique C Ç N in the conflict graph CG with P(C) = 0 is given,

and Condition 1 does not hold. The following lemma shows that in this case (5.3.1) is

redundant in the description of cony(P). It also provides a way to construct another

maximal clique C' from C for which Condition 1 holds.

Lemma 5.3.2. Let C Ç H be a maximal clique in the conflict graph CG with P(C) = 0.

Suppose Condition 1 does not hold, that is A(C)\C # 0 and for some k E A(C)\C,

H({j, k}) > b for all j E C \ Jc(k). Then C' = (C \ Jc(k)) U {k} is also a maximal clique

in CG, P(C') = 0, and the clique inequality (5.3.1) for C is redundant in the description

of conv(P).

Proof. Let C Ç N be a maximal clique in the conflict graph CG with P(C) = 0. Suppose

Condition 1 does not hold, that is A(C) \ C 0 and there exists k E A(C) \ C such

that H({j, k}) > b for all j E C \ Jc(k). Since P(C) = 0, we have that Jc(k) 5 C. Let

C' = (C \Jc(k))U{k}. Then IC'l > 2 and C' is also a clique in CG = (N, E). Suppose that C'

is not a maximal clique in CG, so there exists i ¢ C' such that {i, j} E E for all j E C'. Note

that i ¢ Jc(k) since otherwise k E AZ and {i, k} ¢ E by Assumption 1. Since {i, k} E E

and by Definition 5.2.1 we have that Ak C Ah for all h E Jc(k), it follows that {i, h} E E

forall h E fc(k). So we have {i,j}E E for all j E C' UJc(k)= (C\ Jc(k))U{k}U Jc(k).

In particular, {i, j} E E for all j E C, which contradicts the maximality of C. Hence

C' = (C \ Jc(k)) U {k} is also a maximal clique in CG.

By definition we have that k E Aj for all j E Jc(k), and hence by Lemma 5.2.3 Ak Ç Aj

for all j E Jc(k). It follows that Ak Ç njE jC(k)Aj. Hence P(C') = nj E(c\Jc(k))u{k} `4j =

(njEC\Jc(k)Aj) n Ak Ç (njEc\ Jc(k)Aj) n (njE jc(ky i) = niec Ai = P(C) = O.

Let HPc={x EIRi'I: E €C xj=1} and HPc,={xERIArl : > jEC, xj=1}. Let

Ic = P n HPc and Ic, = P n HP'. We will show that Ic $ Ic,. Let x E Ic. Then there

is exactly one j E C such that xi = 1. If j E Jc(k) then k E Aj and xk = 1, implying

that x E Ic,. If j E C \ Jc(k) then obviously x E Ic,. Hence 1c Ç Ic,. Now consider the

feasible packing Ak. Then x(Ak) E Ic,. However, since k E A(C) \ C, by Lemma 5.2.9 we

have that Ak Ç A(C)\C, and hence Ak n C = 0. Thus x(Ak) Ic. Hence Ic 5 Ic,. Since

128

Page 142: Applications of integer programming in open pit mining: (2006)

O C (a, b)

A(C) \ C O N \ A(C)

Figure 5.3: Illustration of the situations for consideration in Case 1, P(C) = 0.

Ic and Icy are sets of binary vectors, it follows that conv(Ic) conv(IIR).

Now observe that Fc = conv(P) flHPc and Fc, = conv(P) flHPc, and furthermore, by

Lemma 5.3.1, the hyperplanes HPc and HPc, are defined by valid inequalities for P. Thus

by Lemma 6.1.1 of Balas [7] we have that cony(Ie) = conv(P fl HPc) = conv(P) fl HPc = Fc, and that conv(Ic,) = conv(P fl HPc) = conv(P) fl HPc' = Fc,, and hence Fc Fc'.

Note also that 0 E P but 0 ¢ Fe', hence Fc, 5 P. It follows from Lemma 5.2.12 that Fc cannot represent a facet of cony(P), and hence the clique inequality (5.3.1) for C is

redundant in the description of conv(P). ❑

We now prove that Condition 1 is necessary and sufficient on C so that Fc is facet-

defining for conv(P), where C C .N is a maximal clique in the conflict graph CG with

P(C) = O. Following the approach of Theorem 2.3.2, for FC to be facet-defining for

conv(P), we need to show that if

A x =Ao for all x E Fc

(5.3.2)

holds for some (A, Ao), then

(A, Ao) = a (sei, 1 (5.3.3) jEC

for some a.

Theorem 5.3.1. Let C C N be a maximal clique in the conflict graph CG with P(C) = 0. Then Fe from Definition 5.3.2 is a facet of conv(P) if and only if Condition .1 holds.

Proof.

( )

Consider C C N such that C is a maximal clique in the conflict graph CG, P(C) = 0,

and Condition 1 holds. Suppose A x = Ao for all x E Fc holds for some (A, Ao), where Fc is given by Definition 5.3.2. If it can be shown that Ak = Ao for all k E C, and Ak = 0 otherwise, then by Theorem 2.3.2 we will have proved that Fc represents a facet of conv(P). There are three cases to consider, described in detail below and illustrated in

Figure 5.3.

129

Page 143: Applications of integer programming in open pit mining: (2006)

1. Case 1(a): Let k E H \ A(C).

Note that in this case Jc (k) = O. Since C is maximal there must exist at least one

h E C such that H({h, k}) < b. Since h E C and k E H \ A(C), it follows that h # k.

In what follows, we will show that x(Ah U Ak ) E Fe and x((Ah U Ak ) \ {k}) E Fe,

and hence deduce that Ak = O.

We begin by considering x(Ah U Ak). By Assumption 1, Corollary 5.2.1 and Lemma

5.2.1, Ah U Ak is a feasible packing and we have

x(Ah U Ak) _ E ej E P. jEAhUAk

By Corollary 5.2.3, AhnC = {h}, and since k E H\A(C) it follows that either Ak f1C =

0, or by Assumption 1 and the definition of the conflict graph CG, Ak n C = {h}.

Hence

(Ah u Ak ) n C = (Ah n C) u (Ak n C) _ {h}.

Thus 1(Ah U Ak) n CI = 1, and it follows that x(Ah U Ah) E F.

We now consider x((Ah U Ak) \ {k}). Since h # k, we have that (Ah U Ak) \ {k} =

Ah U (Ak \ {k}). Also H((Ah U Ak ) \ {k}) < H({h, k}) < b. By Assumption 1 and

Corollary 5.2.2, both Ah and Ak \ {k} are feasible packings, and hence by Lemma

5.2.1, Ah U (Ak \ {k}) is a feasible packing. So we have

x((Ah U Ak) \ {k}) = E ej E P. jE(Ah LAk )\{k}

We have shown above that (Ah U Ak) n C = {h}, and since k 0 h, it follows that.

((Ah UAk)\{k})nC ={h}. So R(Ah u Ak) \{k}) nCI =1, and we have

x((Ah U Ak) \ {k}) = > ej E Fc E Ai = A0.

jE(AhUAk)\{k} jE(AhuAk )\{k}

Recall that x(Ah U Ak ) E Fc, so E aj = A0, and hence Ak = O. Since k E jEAhUAk

H \ A(C) was chosen arbitrarily, it follows that Ak = 0 for all k E H \ A(C).

2. Case 1(b): Suppose A(C) \ C 0 and let k E A(C) \ C.

By Condition 1 there exists Ji (k) E C \ Jc (k) such that H({ ji (k), k}) < b for all

jl (k) E 4(k). Let ji (k) E Ji (k). In what follows, we will show that x(Ajl (k) U Ak) E

Fe and x((A11(k) U Ak) \ {k}) E Fc, and hence deduce that Ak = O.

We begin by considering x(Aj,(k) U Ak ). By Assumption 1, Corollary 5.2.1 and

Lemma 5.2.1, Ajl (k) U Ak is a feasible packing. Thus x(Aj,(k) U Ak) E P. By

Corollary 5.2.3, Amon n C = {ji (k)}, and since k E A(C) \ C, by Lemma 5.2.9 we

have that Ak C A(C) \ C. Hence Ak n C = 0, and it follows that

(Ajl(k ) u Ak ) n C = ( Aj,(k) nC) u (Ak nC) = { ji(k)} u 0 = {ji (k)}.

130

Page 144: Applications of integer programming in open pit mining: (2006)

Thus 1(Aj1(k) U Ak ) n Ci = 1 and we have

x(Aj1(k) U Ak) = E ei E Fc. 9EA}1(k)UAk

We now consider x((Aj1(k) UAk) \ {k}). By the definition of ji (k), we have that

H((Aj1(k) U Ak) \ {k}) < H({ji(k), k}) < b. Note that by Definition 5.2.1, ji(k) E

C \ Jc(k), so ii(k) ¢ Ak. Hence (Aj1(k) U Ak) \ {k} = Aj1(k) U (Ak \ {k}). By

Assumption 1 and Corollary 5.2.2, both Aj1(k) and Ak \ {k} are feasible packings,

and by Lemma 5.2.1, A31(k) U (Ak \ {k}) is a feasible packing. So we have

x( (k) U Ak) \ {k})

ej E P.

jE(A!1(k )UAk)\{k}

From above we have (Ail (k ) U Ak) nC = {11(k)}, and since by definition ji (k) k, it

follows that ((Ai, (k)U Ak) \ {k}) nC = {ji(k)}. Hence I((Ail (k) U Ak) \ {k}) nCI = 1,

and it follows that

x((Aj1(k) U Ak ) \ {k }) _ E ej E Fc

jE(Aj1(k)UAk )\{k} j E( A,i1(k)UAk)\{ k }

= Ao.

Recall that x(Aj1 (k) U Ak) E Fc, so E aj = A0, and hence Ak = O. Since 3EA.,1 (k)UAk

k E A(C)\C was chosen arbitrarily, it follows that Ak = 0 for all k E A(C)\C.

3. Case 1(c): Let k E C.

In what follows, we will show that x(Ak) E Fc and Ai = 0 for all j E Ak \ {k}, and

hence deduce that Ak = A0. By Corollary 5.2.1, Ak induces a feasible packing and

we have

x(Ak) _ E e j E P. jEAk

Since k E C, by Corollary 5.2.3 Ak nC = {k}. Hence U Ak nCi = 1, and it follows that

x(Ak) _ E ej E Fc E Ai = a0,

jEAk jEAk

E .\ j+ ak = a0. jEAk \{k}

(5.3.4)

By Lemma 5.2.8 we have Ak \ {k} Ç A(C)\C, and from Case 1(b) we have

j =0 for all j E A(C)\C Aj= 0 for all j E Ak\ {k}.

Hence (5.3.4) reduces to Ak = A0. Since k E C was chosen arbitrarily, it follows that

Ak = Ao for all k E C.

131

Page 145: Applications of integer programming in open pit mining: (2006)

It has been shown that Ak = 0 for all k E N \ C and Ak = Ao for all k E C. Since we

assumed that for some (a, A0), A x = Ao for all x E Fc, we have shown that Fc represents

a facet of conv(P).

(=)

Suppose that C C N is a maximal clique in the conflict graph CG, P(C) = 0 and

Fc = {x E conv(P) EIEC xl = 1} is a facet of conv(P). Suppose Condition 1 does

not hold. Then by Lemma 5.3.2 the clique inequality (5.3.1) for C is redundant in the

description of conv(P), and hence Fc cannot represent a facet of conv(P), which is a

contradiction. ❑

We have shown that Condition 1 is necessary and sufficient for FC from Definition 5.3.2

to represent a facet of conv(P) when C C N is a maximal clique in the conflict graph CG and P(C) = 0.

We now use Lemma 5.3.2 to show how, by the application of the following simple

procedure, we can generate a maximal clique C' Ç N that does satisfy Condition 1 from a

maximal clique C C N with P(C) = 0 that does not satisfy Condition 1, and hence derive

a facet-defining inequality for conv(P).

Procedure 2. Let C Ç N be a maximal clique in the conflict graph CG with P(C) = 0, and suppose Condition 1 does not hold. From Lemma 5.3.2 it follows that for some k E A(C)\C, C' = (C \ Jc(k)) U {k} is also a maximal clique in CG with P(C') = 0. Replace C by C'. Repeat this procedure until C satisfies Condition 1.

We now prove that Procedure 2 will always terminate with a maximal clique that

satisfies Condition 1, and hence yield a clique inequality of the form (5.3.1) that defines a

facet of conv(P).

Lemma 5.3.3. Let C C N be a maximal clique in the conflict graph CG with P(C) = 0, and suppose Condition 1 does not hold. Then application of Procedure 2 will terminate with a maximal clique C Ç JV with P(C) = 0 for which Condition 1 does hold.

Proof. Let C Ç N be a maximal clique in the conflict graph CG with P(C) = 0, and

suppose Condition 1 does not hold. From Lemma 5.3.2 it follows that for some k E A(C)\C,

C' = (C\Jc(k))U{k} is also a maximal clique in CG with P(C') = 0, and that FC Fc'. By

Proposition 3.1 [page 88] of Nemhauser and Wolsey [73], we have that for any polyhedron

Q, the number of distinct faces of Q is finite. Hence it will only be possible to replace C

by C' a finite number of times before C satisfies Condition 1. ❑

5.3.2 Case 2: Non-empty intersection set, 2(C) # 0

In this case, we are able to determine necessary and sufficient conditions under which a

strengthened form of (5.3.1) is facet-defining for conv(P). We also give a straightforward

132

Page 146: Applications of integer programming in open pit mining: (2006)

procedure that, given any maximal clique C C N with P(C) , 0, can generate a maximal

clique satisfying these conditions. As shown by Lemma 5.3.1, for each clique C Ç N in the

conflict graph CG, the corresponding clique inequality (5.3.1) is valid for P. However, in

the case where P(C) # 0, it is possible to strengthen this clique inequality as follows.

Lemma 5.3.4. Let C C N be a clique in the conflict graph CG with P(C) 0 0, and let

i E P(C). Then the inequality

E x < xz

jEC

(5.3.5)

is valid for P.

Proof. Let C C N be a clique in the conflict graph CG with P(C) 0, and let i E P(C).

From Definition 5.3.1 we have that C C Di.. Hence i E Ai for each j E C. It follows from

the transitivity of the precedence constraints (4.2.4) that for all j E C, xj < xi. Hence if

xi = 0 it must be that xi = 0 for all j E C, and (5.3.5) holds. Otherwise, xi = 1 and (5.3.5)

is equivalent to the clique inequality (5.3.1), which is valid for P by Lemma 5.3.1. So we

have that the strengthened clique inequality (5.3.5) is valid for P when P(C) # O. D

Definition 5.3.3. Let C Ç N be a clique in the conflict graph CG with P(C) # 0, and

let i E P(C). Let 4 = z E conv(P) : E xj = xi , that is, 4 represents the face of jEC

conv(P) determined from the valid inequality (5.3.5).

We now define the set Q(C) which will be used throughout this section.

Definition 5.3.4. Let C Ç N be a clique in the conflict graph CG, and let P(C) be

determined according to Definition 5.3.1. Let Q(C) _ {i E P(C) : (Di \ {i}) fl P(C) = 0).

That is, Q(C) is the set of items that lie in the intersection of the entire precedence sets

of all the items in the clique C, with no items in their successor sets Di that satisfy the

same property.

See Figure 5.4 for an illustration of a set Q(C). Note that if IP(C)I = 1, then Q(C)

P(C). As we will show, the following condition is necessary and sufficient on C so that 4 is facet-defining for conv(P).

Condition 2. Let C C ,Al be a maximal clique in the conflict graph CG with P(C) # 0,

let Q(C) be determined according to Definition 5.3.4, and let i E Q(C). Either (Di \ {i}) fl (A(C)\C) = 0, or for every k E (Di \ {i}) fl (A(C) \ C) there exists j E C \ 3e (k) such that

H({j, k}) < b. Let J2(k) denote the set of all such j.

See Figure 5.4 for an illustration of J2(k) when (Di \ {i}) fl (A(C) \ C) # 0.

Suppose a maximal clique C Ç N in the conflict graph CG with P(C) 0 is given,

with Q(C) determined according to Definition 5.3.4, i E Q(C), and suppose Condition 2

does not hold. The following lemma shows that in this case (5.3.5) is redundant in the

description of conv(P). It also provides a way to construct another maximal clique C,

from C for which Condition 2 holds.

133

Page 147: Applications of integer programming in open pit mining: (2006)

C = {a, b, c}

O J°c(k) _ {b, c}

®U0P(C)

8 Q(C)

0 D; (i) n a(C) C

J2(k) _ {a}

Figure 5.4: Illustration of the definition of Q(C) and .12(k) from Condition 2 for Case 2,

P(C) # 0, on the precedence graph G = (N, S). Take ai = 1 for all i E N and b = 11.

Lemma 5.3.5. Let C Ç N be a maximal clique in the conflict graph CG with P(C) 0 0, let Q(C) be determined according to Definition 5.3.4, and let i E Q(C). Suppose Condition 2 does not hold. Then (Di \ {i}) n (A(C)\C) # 0 and for some k E (Di \ {i}) n (A(C)\C), H({j, k}) > b for all j E C \ Jc(k). Then C' = (C \ Jc(k)) U {k} is also a maximal clique in CG. Furthermore, i E Q(C'), and the strengthened clique inequality (5.3.5) for C and item i is redundant in the description of conv(P).

Proof. Let C C N be a maximal clique in the conflict graph CG with P(C) # 0, let Q(C) be determined according to Definition 5.3.4, and let i E Q(C). Suppose Condition 2 does

not hold. Then (Di \ {i}) n (A(C)\C) # 0 and there exists k E (Di \ {i}) n (A(C)\C) such

that H({j, k}) > b for all j E C \ Jc(k). From the definition of Q(C) we have that C Dk since k E Di \ {i}. Hence Jc(k) 5 C. Let C' = (C \ Jc(k)) U {k}. Then ICI > 2 and C' is

also a clique in CG = (N, E). Suppose that C' is not a maximal clique in CG, so there

exists m C' such that {m, l} E E for all 1 E C'. Note that m ¢ .Îc (k) since otherwise

k E Am and {m, k} ¢ E by Assumption 1. Since {m, k} E E and by Definition 5.2.1 we

have that Ak Ç Ah for all h E Jc(k), it follows that {m, h} E E for all h E fc(k). So we

have {m, l} E E for all l E C' U Jc(k) _ (C \ Jc(k)) U {k} U Jc(k). In particular {m, l} E E

for all l E C, which contradicts the maximality of C. Hence C' = (C \ Jc(k)) U {k} is also

a maximal clique in CG. We now show that i E Q(C'). First, we show that i E P(C`). To begin, i E P(C) so

i E Aj for all j E C, and hence for all j E C \ Jc(k). Furthermore k E Di so i E Ak by the

definition of descendant sets. Thus i E k for all j E C', i.e. i E P(C'). Now suppose that

i ¢ Q(C'). Then there must exist h E Di \ {i} such that Dh D C'. But since ti E Q(C), we know that Dh C, so it must be that Dh Jc(k). Now k E C' Ç Dh so Dk Ç Dh

by Property 1 and the definition of descendant sets. But .Îc(k) Ç Dk, which contradicts

Dh 2Jc(k). Thus it must be that i E Q(C') as required.

Let HP = {x E }[dig' : EJEC x1 = xi} and HPC, = {x E jEC, xi = xi}. Let

I = P fl HF and = P fl HPC,. We will show that 5 Is,. Let x E Pc. Then either

xi = 0 or xi = 1. Consider first xi = O. By the validity of (5.3.5) xi = 0 for all j E C.

134

Page 148: Applications of integer programming in open pit mining: (2006)

Similarly, since k E Di it follows that i E Ak and hence xk = O. Thus x E I,. Now

consider the case xi = 1. Then there is exactly one j E C such that xi = 1. If j E Jc(k)

then k E Ai and xk = 1, implying that x E If j E C \ JJ(k) then obviously x E I ,. Hence Pi C Pa,. Now consider the feasible packing Ak. Since k E Di, we have that i E Ak

and hence x(Ak) E 1 ,. However, since k E A(C) \ C, by Lemma 5.2.9 Ak Ç A(C)\C, and

hence Ak fl C = O. Thus x(Ak) Hence 5 Ia,. Since and le, are sets of binary

vectors, it follows that conv(ID $ conv(I ,).

Now observe that 4 = conv(P) fl HPC and 4, = conv(P) fl HPC,, and furthermore by

Lemma 5.3.4 the hyperplanes HPC and HPC, are defined by valid inequalities for P. Thus

by Lemma 6.1.1 of Balas [7] we have that conv(4) = conv(P n1-14) = conv(P) fl HPC =

4, and that conv(I,) = conv(P fl HP,,) = conv(P) n HPC, = 4,, and hence 4 5 Fe,.

Now consider the feasible packing Ai. Then x(Ai) E P but since j E Di for all j E C',

x(A,) F ,, and hence 5 P. It follows from Lemma 5.2.12 that 4 cannot represent

a facet of conv(P), and hence the clique inequality (5.3.5) for C and item i is redundant

in the description of conv(P).

We now prove that Condition 2 is necessary and sufficient on C so that 4 is facet-

defining for conv(P) where C C ,nî is a maximal clique in the conflict graph CG with

P(C) O. Following the approach of Theorem 2.3.2, for FG from Definition 5.3.3 to be

facet-defining for cony(P), we need to show that if

a x = Ao for all x EF (5.3.6)

holds for some (A, ao), then

(A, A0) = a Eej — ei, 0 (5.3.7) jEC

for some a.

Theorem 5.3.2. Let C C N be a maximal clique in the conflict graph CG with P(C) 0,

let Q(C) be determined according to Definition 5.3.4, and let i E Q(C). Then 4 from

Definition 5.3.3 is a facet of conv(P) if and only if Condition 2 holds.

Proof.

(=)

Consider C C N such that C is a maximal clique in the conflict graph. CG with

P(C) # 0, Q(C) is defined as in Definition 5.3.4, i E Q(C), and Condition 2 holds. Suppose

that A x = Ao for all x E 4, where 4 is given by Definition 5.3.3. Note that the zero

vector induces a feasible packing, since it is always feasible to have an empty knapsack.

Hence 0 E P. In this case, 0 E 4 as well, and hence A0 = O. Thus if it can be shown that

135

Page 149: Applications of integer programming in open pit mining: (2006)

O e =(a.bl

0(C)

© D,\{i) n A(C)\C

• \,a(c)

• N \ D

Figure 5.5: Illustration of the situations for consideration in Case 2, P(C) # O.

Ak = —Ai for all k E C, and )k = 0 for all k E N \ (C U {i}), then by Theorem 2.3.2 we

will have proved that 11 represents a facet of conv(P). There are four cases to consider,

described in detail below and illustrated in Figure 5.5.

1. Case 2(a): Let k E N \ Di.

In what follows, we will show that x(Ak ) E 4 and x(Ak \ {k}) E 4, and hence

deduce that Ak = O. We begin by considering x(Ak). By Corollary 5.2.1 Ak induces

a feasible packing and we have

x(Ak)= Eej E P. jEAk

Since k Di, by Lemma 5.2.4 we have that Ak C N \ Di. From the definition of

Q(C) we also have that C C Di, and thus Ak n C = 0. From the definition of Di it

follows that since k ¢ Di, i ¢ Ak , and we have x(Ak) E

We now consider x(Ak \ {k}). By Corollary 5.2.2 we have that Ak \ {k} is a feasible

packing. Hence

x(Ak \ {k}) = E ej E P..

j EAk \ {k}

From above we have that Ak n C = 0, and it follows directly that (Ak \ {k}) n C = 0.

Since î ¢ Ak we also have that i ¢ Ak \ {k}. Hence

x(Ak \ {k}) = E ej E 4 E aj = A0 = O. jEAk\{k}

jEAk \{k}

Recall that x(Ak ) E so EjEAk Aj = ap = O, and hence Ak = O. Since k E N \ Di

was chosen arbitrarily, it follows that Ak = 0 for all k E ..V \ Di.

2. Case 2(b): Suppose (Di \ {i}) n (A(C)\C) # 0 and let k E (Di \ {i}) n (A(C)\C).

By Condition 2 there exists J2(k) E C \ Jc(k) such that H({j2(k), k}) < b for all

j2(k) E J2(k). Let j2(k) E J2(k). In what follows, we will show that x(Ai2(k) UAk) E

Fc and x((Aj2(k) U Ak ) \ {k}) E 4, and hence deduce that Ak = O.

136

Page 150: Applications of integer programming in open pit mining: (2006)

We begin by considering x(Aj2(k) U Ak). By Assumption 1, Corollary 5.2.1 and

Lemma 5.2.1, we have that Aj2(k) UAk is a feasible packing. Hence x(Aj2(k) UAk) E P.

By Corollary 5.2.3, A.2 (k) n C = {j2 (k)}, and since k E A(C) \C, by Lemma 5.2.9 we

have that Ak C A(C) \ C. Hence Ak n C = 0, and it follows that

(Aj2(k) u Ak) n C = (Aj2(k) n C) u (Ak n C) = {j2(k)} u 0 = {j2(k)}.

By the definition of Q(C), C C Di and thus j2(k) E Di. From the definition of Di it

follows that i E Aj2(k). Hence I (Aj2(k) U Ak) n Ci = 1 and i E Aj2(k), and we have

x(Ai2(k) U Ak) = >2 ej E ` jEAj2(k)UAk

We now consider x((Aj2(k) U Ak) \ {k}). By the definition of j2(k), we have that

H((Aj2(k) u Ak ) \ {k}) < H({j2(k),k}) < b. Note that by Condition 2 j2(k) E

C\Jc(k), so it follows from Definition 5.2.1 that k ¢ Aj2(k). Hence (Aj2(k)UAk) \{k} =

Aj2(k) U (Ak \ {k}). By Assumption 1 and Corollary 5.2.2, both Ai2(k) and Ak \ {k}

are feasible packings, and by Lemma 5.2.1, Aj2(k) U (Ak \ {k}) is a feasible packing.

So we have

x((Aj2(k) u Ak ) \ {k }) _ E ei E

.iE(Aj2 (k)UAk)\{k}

From above we have that (Aj2(k)UAk)nC = {j2(k)}, and since by definition j2(k) k,

it follows that ((Aj2 (k)UAk)\{k})nC = {j2(k)}. Hence I((Aj2(k)UAk)\{k})nCI = 1,

and since i E Ai2(k), it follows that

x((Aj2(k)UAk)\{k}) = > e j E 4 > aj = ao = O. jE(A)2(k)UAk)\{k} jE(Aj2(k)UAk )\{k}

Recall that x(Aj2(k ) U Ak) E so E Ai = Ao = 0, and hence Ak = O.

jEAj2(k)UAk Since k E (Di \ {i}) n (A(C) \C) was chosen arbitrarily, it follows that Ak = 0 for all

k E (Di \ {i}) n (A(C)\C).

3. Case 2(c): Let k E Di \ A(C).

Note that since i E A(C) we have that k # i. Since C is maximal there must exist

at least one h E C such that H({h, k}) < b. In what follows, we will show that

x(Ah U Ak) E and x((Ah U Ak) \ {k}) E 4, and hence deduce that Ak = O.

We begin by considering x(Ah U Ah). By Corollary 5.2.1 both Ah and Ak induce a

feasible packing, and it follows from Lemma 5.2.1 that Ah U Ak is a feasible packing.

So we have

x(Ah U Ak ) = E ei E P. jEAhUAk

137

Page 151: Applications of integer programming in open pit mining: (2006)

Since h E C, i E Ah and k A(C), it follows directly from Assumption 1 and the

definition of the conflict graph CG that x(Ah U Ak) E

We now consider x((Ah UAk) \{k}). Since k ¢ A(C) and h E C we have that k ¢ Ah,

and hence (AhUAk)\{k} = AhU(Ak\{k}). Also H((AhUAk)\{k}) < H({h, k}) < b.

By Assumption 1 and Corollary 5.2.2, both Ah and Ak \ {k} are feasible packings,

and by Lemma 5.2.1 Ah U (Ah \ {k}) is a feasible packing. So we have

x((Ah UAk)\ {k})= E ei E P. jE(AhUAk)\{k}

Since h E C, i E Ah and k # h it follows that

x((Ah U Ak) \ {k}) E E a j = ao = 0. jE(AhUAk )\{k}

Recall that x(Ah U Ah) E so E aj = A0 = 0, and hence Ak = 0. Since jEAhUAk

k E Di \ A(C) was chosen arbitrarily, it follows that Ak = 0 for all k E Di \ A(C).

4. Case 2(d): Let k E C.

In what follows, we will show that x(Ak) E 4 and Ai = 0 for all j E A(C) \ (C U {i}),

and hence deduce that Ak = —Ai. By Corollary 5.2.1, Ak induces a feasible packing

and we have

x(Ak). E ei E P. jEAk

Since k E C, from Corollary 5.2.3 Ak n C = {k}, and IAk n Ci = 1. By the definition

of Q(C), C Ç Di and thus k E Di. From the definition of Di it follows that i E Ah,

and we have

x(Ak) _ E ej E Fc E aj = ao = 0. (5.3.8) jEAk . jEAk

By Lemma 5.2.8 we have Ak\{k} C A(C)\C. From Case 2(a) we have that Ai = 0 for

all j E N\Di and from Case 2(b) we have that Ai =, 0 for all j E (Di \{i})fl (A(C)\C).

Hence Ai = 0 for all j E A(C) \ (C U {i}), and (5.3.8) reduces to

Ak + ai = = 0 Ak = -Ai.

Since k E C was chosen arbitrarily, it follows that Ak = —Ai for all k E C.

It has been shown that ak = 0 for all k E N \ (C U {i}) and Ak = -Ai for all k E C.

Since we assumed that for some (A, Ao), A x = A0 for all x E 4, we have shown that 4 represents a facet of conv(P).

138

Page 152: Applications of integer programming in open pit mining: (2006)

(=)

Suppose that C C N is a maximal clique in the conflict graph CG, P(C) # 0, Q(C)

has been determined according to Definition 5.3.4, i E Q(C), and 4 _ {x E conv(P) :

= x; } is a facet of conv(P). Suppose Condition 2 does not hold. Then by Lemma EjEC xj

5.3.5 the inequality (5.3.5) for C and item i is redundant in the description of conv(P),.

and hence 4 cannot represent a facet of conv(P), which is a contradiction. ❑

We have shown that Condition 2 is necessary and sufficient for 4 given by Definition

5.3.3 to represent a facet of conv(P) when C C N is a maximal clique in the conflict graph

CG, P(C) $ 0, Q(C) has been determined according to Definition 5.3.4, and i E Q(C).

We now use Lemma 5.3.5 to show how, by the application of the following simple

procedure, we can generate a maximal clique C' C N that does satisfy Condition 2 from a

maximal clique C Ç N that does not satisfy Condition 2, and hence derive a facet-defining

inequality for conv(P).

Procedure 3. Let C C N be a maximal clique in the conflict graph CG with P(C) # 0,

let Q(C) be determined according to Definition 5.3.4, and let i E Q(C). Suppose Condition

2 does not hold. From Lemma 5.3.5 it follows that for some k E (A(C) \ C) n (D1 \ {i}),

C' _ (C \ Jc(k)) U {k} is also a maximal clique in CG. Replace C by C'. Repeat this

procedure until C satisfies Condition 2.

We now prove that Procedure 3 will always terminate with a maximal clique that

satisfies Condition 2, and hence yield a clique inequality of the form (5.3.5) that defines a

facet of conv(P).

Lemma 5.3.6. Let C C N be a maximal clique in the conflict graph CG with P(C) 0 0,

let Q(C) be determined according to Definition 5.3.4, and let i E Q(C). Suppose Condition

2 does not hold. Then application of Procedure 3 will terminate with a maximal clique

C C N with P(C) 0 0 for which Condition 2 does hold.

Proof. Let C C N be a maximal clique in the conflict graph CG with P(C) # 0, let

Q(C) be determined according to Definition 5.3.4, and let i E Q(C). Suppose Condition

2 does not hold. From Lemma 5.3.5 it follows that for some k E (D; \ {i}) fl (A(C) \ C), C' = (C \ Jc(k)) U {k} is also a maximal clique in the conflict graph CG, i E Q(C'), and

that 1"-' 5 Fa,. By Proposition 3.1 [page 88] of Nemhauser and Wolsey [73] we have that

for any polyhedron Q, the number of distinct faces of Q is finite. Hence it will only be

possible to replace C by C' a finite number of times before C satisfies. Condition 2. D

In this section we have derived a new class of facet-defining inequalities for the PCK

polyhedron. Conditions 1 and 2 can be checked to determine whether clique inequalities of

the form (5.3.1) and (5.3.5) are facet-defining whenever a PCK problem instance contains

pairs of items that cannot be included in the knapsack together. We also presented a

139

Page 153: Applications of integer programming in open pit mining: (2006)

procedure to generate a facet-defining clique inequality from any maximal clique in the

conflict graph. We now compare the polyhedral investigations of the PCK problem carried

out by other authors and described in Section 3.5.1 to our new clique-based approach.

5.4 Comparison of Cover-Based and Clique-Based

Polyhedral Approaches to the PCK Problem

Investigation of the structure of the PCK polyhedron has previously been carried out

by Boyd [14], Park and Park [76] and van de Leensel et. al. [98]. All of these authors

consider the derivation of strong inequalities for the PCK feasible set P defined by (5.2.1)-

(5.2.3) by applying lifting procedures to valid knapsack cover-based inequalities. The

approaches used by these authors were reviewed in Section 3.5.1. We now consider some

of the knapsack cover-based inequalities studied by these authors, and compare them to

the clique inequalities introduced in Section 5.3.

Recall from Section 3.5.1 that for a given PCK problem instance, two items i, j E Ar

are called incomparable if i ¢ Ai and j ¢ A. A set B Ç fi is incomparable if the

elements of B are pairwise incomparable. Park and Park [76] define a cover C C Iv' to be

an induced cover (IC) if C is incomparable. An induced cover is a minimal induced cover (MIC) if H(C \ {i}) < b for all i E C. This definition differs from that used by

Boyd [14] and van de Leensel et. al. [98]. Boyd [14] defines a cover C C H to be minimal

if C is incomparable and H(C) — at < b for all i E C. We shall call such a cover a Boyd

minimal cover (BMC). Park and Park [76] note without proof that in general, a BMC

is also a MIC, but the converse does not hold. In fact, it is straightforward to show that

a given MIC C Ç H is also a BMC if a= > H(C) — b for all i E C, as follows.

Lemma 5.4.1. Let B C H such that for every i E B, i 0 Ai for all j E B \ {i}. Then

A(B \ {i}) Ç A(B)\{i} for all i E B.

Proof. Let B CH such that for every i E B, i ¢ Ai for all j E B \ {i}. Then we have:

A(B \ {i}) = U,iEB\{i}Aj

Ç (UjEB\{:}Ar) U (AZ \ {i })

= (UiE BAi) \ {i} since i Ai for all j E B \ {i}

= A(B)\{i}

and hence A(B \ {i}) Ç A(B)\{i}. O

Lemma 5.4.2. Let C C N be a BMC. Then C is also a MIC

Proof. Let C C H be a BMC. Then C is an incomparable cover and H(C) — a= < b for

all i E C. By Lemma 5.4.1 we have that A(C \ {i}) C A(C) \ {i}, and it follows that

H(C \ {i}) < H(C) — ai < b for all i E C. Hence C also satisfies the definition of a

MIC. O

140

Page 154: Applications of integer programming in open pit mining: (2006)

Lemma 5.4.3. Let C C N be an induced cover (IC). If ai > H(C) — b for all i E C, then

C is also a BMC.

Proof. Let C C N be an IC. Then C is an incomparable cover. If ai > H(C) — b for all

i E C then the second part of the definition of a BMC is also satisfied and C is also a

BMC. D

It follows directly that since a MIC is a special case of an IC, the condition of Lemma

5.4.3 must also hold for a MIC to be a BMC.

Boyd [14] and van de Leensel et. al. [98] also consider a generalised version of a cover.

A K-cover is a cover C C JV with the property that for all B Ç C with IBI = K, B is a

cover. It is obvious that if C is a K-cover then

E x j < K-1 jEC

(5.4.1)

is valid for P. In fact, both Boyd and van de Leensel et. al. fail to observe this explicitly;

their definition requires C to be incomparable and B to be a BMC for all B Ç C with

IBI = K. We will refer to such a C as a K-Boyd minimal cover (K-BMC). Boyd and

van de Leensel et. al. do not seek results for K-covers under looser conditions. Note that

C a ICI-cover is simply a cover, and C a ICI-BMC is a BMC. Let us extend the concept

of an MIC in a similar manner to that used by Boyd [14] and van de Leensel et. al. [98]

for BMCs. A set C Ç N is a K-MIC if C is incomparable, and for all B Ç C with

IBI = K, B is an MIC, in which case we call the corresponding K-cover inequality (5.4.1)

a K-MIC inequality. As in the case of BMCs, MICs are special cases of K-MICs. Hence

we consider only K-BMCs and K-MICs from here forward. Note that the concept of a

K-MIC has not been investigated by any previous author.

Our review of previous polyhedral approaches to the PCK problem in Section 3.5.1

showed that all previous polyhedral analysis for the PCK problem uses knapsack cover-

based results, and that lifting (K-)MIC and (K-)BMC inequalities into facets of conv(P)

is a complicated problem. Both Boyd [14] and Park and Park [76] present procedures for

lifting the BMC inequality E x j < [CI - 1 for a given BMC C Ç H into a facet of jEC

the restricted polyhedron P(C), while van de Leensel et. al. [98] show that lifting (K-

)BMC inequalities into facets of conv(P) requires the repeated solution of NP-complete

maximum lifting problems. For a given BMC C Ç N, they present a polynomial time

algorithm for the determination of the lifting coefficients for variables in the predecessor

set A(C) \ C, and show that the lifting problem for variables in N \ A(C) is strongly

NP-hard. We presented both van de Leensel et. al.'s polynomial time algorithm and Park

and Park's lifting heuristic for lifting variables in the set A(C) \ C in Sections 3.5.1.3 and

3.5.1.5, and we will apply these procedures to PCK problem examples in Section 5.5.

Consider now an instance of the PCK problem and let CC = (N, E) be a conflict

graph determined according to Definition 5.2.4. We now compare the covers investigated

141

Page 155: Applications of integer programming in open pit mining: (2006)

by Boyd [14], Park and Park [76] and van de Leensel et. al. [98] with cliques in the conflict

graph CG. Of particular interest in our investigation are 2-BMCs and 2-MICs, that is

cases where for a given K-BMC or K-MIC C Ç .M, all B Ç C such that IBI = 2 are

BMCs or MICs respectively. In particular, there is a precise correspondence between 2

MICs and cliques in the conflict graph CG. The following results will be used throughout

the remainder of this chapter.

Lemma 5.4.4. Let C C N.

1. If C is a clique in the conflict graph CG, then

(i) C is a cover;

(ii) C is incomparable.

2. C is a 2-MIC if and only if C is a clique in the conflict graph CG.

3. If C is a K-BMC then C is a K-MIC.

4. If C is a K-MIC then C is not a k-MIC for any k # K.

Proof.

1. (i) This follows directly from the definition of the conflict graph CG (Definition

5.2.4).

(ii) This follows directly from Lemma 5.2.7.

2. Let C C N be a 2-MIC. Then all B Ç C with IBI = 2 are MICs. Hence each pair of

items i, j E C cannot be included in the knapsack simultaneously. This is exactly

the definition of a clique in the conflict graph CG (Definition 5.2.4).

3. Let C Ç N be a K-BMC. Then all B Ç C with IBI = K are BMCs. It follows from

Lemma 5.4.2 that all B Ç C with IBI = K are also MICs. Hence C is a K-MIC.

4. Let C C AT be a K-MIC. Then all B C C with IBI = K are MICs, so H(B \{i}) < b

for all i E B. Clearly, C cannot be a k-MIC where k < K, since H(B) < b for all

B with IBI = 1, ... ,K — 1. Suppose C is also a k-MIC where k > K. Then for all

BÇC with IBI = k, H(B \{i})<b for all jE B. But IB\{i}I=k-1> K for

any i E B, and we have H(B) > b for all B with FBI = K by definition, which is a

contradiction. Hence C cannot be a K-MIC for any k 0 K.

Corollary 5.4.1. Let C Ç N. If C is a clique in the conflict graph CG then

(i) C cannot be a K-MIC where K > 2;

(ii) C cannot be a K-BMC where K > 2.

142

Page 156: Applications of integer programming in open pit mining: (2006)

All K-covers

j2-MICs = Clique

Maximal Cliques

7----Maximal cliques that satisfy

Conditions 1 or 2

Figure 5.6: Illustration of the set of all K-covers

Proof.

(i) Let C C N be a clique in the conflict graph CG. Then H({i, j}) > b for all i, j E C, i # j. Suppose C is also a K-MIC with K > 2. Then all B Ç C with IBI = K > 2

are K-MICs. Now IB \ {i}I > 2 for all i E B, and we have a contradiction to the

definition of C a K-MIC which requires H(B \ {i}) < b for all i E B.

(ii) This follows directly from Lemma 5.4.4 3. and part (i).

We use Lemma 5.4.4 and Corollary 5.4.1 to demonstrate where cliques determined

from the conflict graph CG fit into the set of all K-covers; these results justify everything

in Figure 5.6 except for the placement of the set of maximal cliques that satisfy Conditions

1 or 2. In fact, this, too, is justified, as we will now show.

Lemma 5.4.5. Let C C N be a maximal clique in the conflict graph CG. If C is also a

2-BMC, then either P(C) = 0 and Condition 1 is satisfied, or P(C) 0 and Condition 2 is satisfied.

Proof. Let C C N be a maximal clique in the conflict graph CG, and suppose C is also a

2-BMC.

If P(C) = 0, then suppose A(C) \ C # 0 (otherwise Condition 1 holds), and let k E A(C) \ C. It must be that ie(k) C, otherwise k E P(C), which is a contradiction.

If P(C) 51 0, let i E Q(C), suppose (D1 \ {i}) n (A(C)\C) 0 (otherwise Condition 2

holds), and let k E (D1 \ {i}) n (A(C) \ C). It must be that .Îc(k) C, otherwise k E P(C) and C C Dk, which is a contradiction of the assumption that i E Q(C).

In either case, choose any j E C\ Jc(k), and also choose any m E fe(k). Now k E Am, so by Property 5.3.1, Ak Ç Am, and hence A({j, k}) C A({j, m}). Also m ¢ Ak, since

143

Page 157: Applications of integer programming in open pit mining: (2006)

Ak C A(C)\C by Lemma 5.2.3, and m E Jc(k) C C. Furthermore, m, j E C so in V A;.

Thus in ¢ Ai U Ak = A({j,k}). It follows that A({j,k}) Ç A({j,m}) \ {m}. Since C is

a 2-BMC and j, m E C we have H(A({ j, m}) \ {m}) = H({ j, m}) — a„a < b and hence

H({j,k}) <b.

In the case P(C) = 0, this shows that Condition 1 is satisfied; otherwise it shows that

Condition 2 is satisfied. ❑

To complete the classification given in Figure 5.6, and highlight the new contribution

of clique-based inequalities, we note that there do exist examples of maximal cliques

satisfying Conditions 1 or 2 that are not 2-BMCs: Example 1 in the following section has

no 2-BMCs, but has four maximal cliques in the conflict graph satisfying Condition 2.

Of course, it is certainly possible that our facet-defining clique-based inequalities could

be derived by maximum lifting of 2-MIC inequalities. (It is not hard to see from the form

of (3.5.8) that it would be impossible to arrive at an inequality of the form of either

(5.3.1) or (5.3.5) by maximum lifting, unless K = 2.) However, as van de Leensel et. al.

[98] show, maximum lifting requires the solution of NP-complete subproblems: derivation

of our clique-based inequalities does not require the application of a maximum lifting

procedure to yield facet-defining constraints. Note however that our approach does require

the determination of maximal cliques in the conflict graph, which is considered in detail

in Chapter 6.

Furthermore, we note that van de Leensel et. al. [98] do not discuss the facet-defining

status of (5.4.1) in the case that C is a 2-MIC rather than 2-BMC. Furthermore, their

polynomial time lifting algorithm only applies to the special case that K = ICI and only

applies to coefficients of variables in A(C) \ C, not to the whole of J1î.

5.5 Application of Cover-Based and Clique-Based

Inequalities to PCK Examples

We now demonstrate that our clique-based approach to determining facets of cony (P) can

find facets that would not be found using the cover-based approaches of previous authors,

and demonstrate their relative strengthening effect on the LP relaxation of a PCK problem

instance. To be fair, we restrict our attention to polynomial time approaches, and do

not attempt to any lifting except that for which polynomial time algorithms have been

developed.

We give two PCK problem examples. For each, we find all K-BMCs, and where

applicable, use the polynomial time algorithm of van de Leensel et. al. [98] and the lifting

procedure of Park and Park [76] to lift the corresponding inequalities of the form (5.4.1).

We also derive the conflict graph CG = (N, E) for these examples, find all maximal cliques

in CG, and apply Procedures 2 or 3 as appropriate to derive all facet-defining clique-based

inequalities.

144

Page 158: Applications of integer programming in open pit mining: (2006)

a,=a, a2 =5 a = 7, i=4,5,6,7 a = 4, 1=8,9,10,11,12,13

.c,-c2 -13 c3 -9 C4 - C6 -c,2 -1

CB -0

4 Ce -C,o -2 c9 -c„-3

b- 40

Figure 5.7: PCK Problem Example 1.

5.5.1 PCK Problem Example 1

Consider the PCK Problem Example 1 given in Figure 5.7. There are eight K-BMCs in

this example, all of which are 3-BMCs. Note in particular that there are no 2-BMCs in

this example. For the 3-BMCs with ICI = 3, for which A(C) \ C ,-E 0, we apply both

the lifting heuristic of Park and Park [76] and the polynomial time lifting algorithm of

van de Leensel et. al. [98] for the items in the predecessor sets A(C) \ C to strengthen

the 3-BMC inequalities of the form (5.4.1). The 3-BMCs and corresponding inequalities

are given in Table 5.1. The application of the lifting procedures used is demonstrated in

Sections 5.5.1.2 and 5.5.1.1.

Of course if lifting for K-BMCs with ICI > K were available, it would also be possible

to strengthen the inequality for the cover {4, 5, 6, 7}: this could be lifted to either x4 +

x5 + x6 +x7 < x10 + 1, or x4 + x5 + x6 + x7 < x11 + 1. For interest, we tried adding these

to the LP relaxation; we found doing so did not change the value reported in Table 5.5.

5.5.1.1 Application of the Polynomial Time Lifting Procedure of van de

Leensel et. al. [98]

Recall the polynomial time algorithm of van de Leensel et. al. [98] for lifting variables in

the predecessor set of a BMC C C N described in Section 3.5.1.3. Consider the K-BMC

C = {4, 5, 6}. We have that A(C) \C = {8, 9, 10, 11, 12}. A reverse topological ordering on

this set is it = (8, 9,10,11,12) (note that this is not a unique reverse topological ordering).

The lifting algorithm proceeds as follows.

145

Page 159: Applications of integer programming in open pit mining: (2006)

K-BMC Corresponding K-BMC inequality

(lifted when A(C)\C 0 and K = ICO

{4,5,6} x4 + x5 + x6 < x9 + x10

x4 + x5 + x6 < x9 + x11 X4 + x5 + x6 < x10 + xll

{5,6,7} x5 + x6 + x7 < xlo + x11 x5+x6+x7 Ç x10+x12

x5+x6+x7 < xll+x12

{4,5,7} x4+ x5+x7 < x9+x11

x4+x5+x7 < x10+xl1 {4, 6, 7} X4 + X6 + X7 < xio + x11

x4+x6+x7 < x10+ x12

{4,5,6,7} x4+x5+x6+ x7 < 2

{1,12,13} xi+x12+x13 < 2

{3,8,9} x3+ x8 +x9 < 2

{2,8,13} x2+x8 +x13 < 2

Table 5.1: K-BMCs for PCK Problem Example 1.

Step 1.

Choose B = 8.

The subgraph of G induced by B U C is given by K1, shown in Figure 5.8.

Hence f (1) = 3 and ys = O.

O O

Figure 5.8: Illustration of the polynomial time lifting procedure of van de Leensel et. al.

[98]: K1.

Step 2.

Choose B = 9.

The subgraph of G induced by B U Ki is given by K2, shown in Figure 5.9.

Hence 'y9= f(1)—f (2)=3-2=1.

146

Page 160: Applications of integer programming in open pit mining: (2006)

0 Figure 5.9: Illustration of the polynomial time lifting procedure of van de Leensel et. al.

[98]: K2.

Step 3. Choose B = 10. The subgraph of G induced by B U K2 is given by K3, shown in Figure 5.10. Hence 710 = f (2) —1(3) = 2 — 1 = 1.

Figure 5.10: Illustration of the polynomial time lifting procedure of van de Leensel et. al. [98]: K3.

Step 4. Choose B = 11. The subgraph of G induced by B U K3 is given by K4, shown in Figure 5.11. Hence 711= f (3)— f (4)=1-1=0.

Figure 5.11: Illustration of the polynomial time lifting procedure of van de Leensel et. al. (98]: K4.

Step 5. Choose B = 12. The subgraph of G induced by B U K4 is given by Kg , shown in Figure 5.12. Hence 712 = f (4)— f (5)=1-1=0.

147

Page 161: Applications of integer programming in open pit mining: (2006)

Figure 5.12: Illustration of the polynomial time lifting procedure of van de Leensel et. al.

[98]: K5.

So the lifted K-BMC inequality of the form (3.5.12) is

x4 + x5+x6+(1 — x9)+(1 — x10) < 2

x4 + x5 + x6 < x9 + xlo

Note that since the reverse topological order ir used was not unique, the lifted K-BMC

inequalities

x4 + x5 + x6 < x9 + x11 and

x4+x5+x6 < xlo+x11.

could also have been generated by this lifting heuristic.

Following the application of this lifting procedure to all K-BMCs derived for PCK

Problem Example 1 we obtain the lifted K-BMC inequalities presented in Table 5.1.

5.5.1.2 Application of Park and Park [76] lifting heuristic

We now consider the lifting heuristic for MICs of Park and Park [76] presented in Section

3.5.1.5. Park and Park [76] show that Proposition 3.5.1 always holds for a BMC, and hence

the lifting heuristic described in Section 3.5.1.5 can be applied to the K-BMCs found for

PCK Problem Example 1. Again consider C = {4, 5, 6}, for which R2(C) = {9, 10, 11}.

The corresponding K-BMC inequality of the form (3.5.6) is x4 + x5 + x6 < 2. The lifting

procedure of Park and Park (Procedure 1) is applied as follows.

We have R2({C}) = {9, 10, 11}.

H0 = G(C) as shown in Figure 5.13.

L(Ho) = {4, 5, 6}. M(Ho) = {9, 10, 11}.

Figure 5.13: Illustration of Park and Park [76] lifting heuristic: Ho.

148

Page 162: Applications of integer programming in open pit mining: (2006)

Step 1. Choose k = 9. Set yg= 2-1=1. UL(H0) (9) = {9} U {4, 5}. Hl is given in Figure 5.14.

L(Hi) = {9', 6}. M(Hi) = {10, 11}.

Figure 5.14: Illustration of Park and Park [76] lifting heuristic: Hl.

Step 2. Choose k = 10. Set yio = 2 —1 = 1.

UL(Hl )(10) = {10} U {9', 6}. H2 is given in Figure 5.15. L(H2) = {10'}. M(H2) = {11}.

Figure 5.15: Illustration of Park and Park [76] lifting heuristic: H2.

Step 3. Choose k = 11. Set y11=1-1=0. UL( H2) (11) = {11} U {10'}. H3 is given in Figure 5.16. L(H3) = {11'}. M(H3) = O.

Since H3 has no arc, stop.

149

Page 163: Applications of integer programming in open pit mining: (2006)

Figure 5.16: Illustration of Park and Park [76] lifting heuristic: H3.

So the lifted K-BMC inequality of the form (3.5.13) is

x4+x4+x6 -x9,-x10 < 3-1-2

x4 + x5+x6 < x9+x10

Note that at each step of this algorithm the choice of k is arbitrary amongst the

incumbent co-leaf set M. Hence this procedure could also generate the lifted K-BMC

inequalities

x4 + x5 + x6 < x9 + x11 and

x4 + x5 + x6 < x10 + xll.

Note that both lifting procedures for the variables in A(C) \ C generated the same

lifted K-BMC inequality. This will hold in general for a BMC C C A for the following

reason. Procedure 1 of Park and Park only considers lifting the variables corresponding

to items in the set R2 (C). The algorithm of van de Leensel et. al. only lifts variables

corresponding to items in A(C) \ C whose inclusion in the induced subgraph reduces the

number of components in this graph, that is, items with two or more successors in C.

These items are exactly the set R2 (C). Hence both procedures will result in the same

lifted K-BMC inequalities.

After applying the polynomial time algorithm of van de Leensel et. al. [98] and Pro-

cedure 1 of Park and Park [76] to the remaining K-BMCs we obtain the lifted K-BMC

inequalities as shown in Table 5.1. These inequalities could be strengthened further by de-

termining the maximum lifting coefficient for each item in the set N \ A(C). This problem

was shown to be NP-complete in the strong sense by van de Leensel et. al. [98], and we

do not attempt to solve this problem for these 3-BMC inequalities. Hence the inequalities

found are not necessarily facet-defining for cony (P).

5.5.1.3 Application of Clique-Based Approach

Applying the approach for deriving facets of conv(P) from clique inequalities to this exam-

ple, we obtain the conflict graph given in Figure 5.17. Note that each clique in this conflict

graph represents a 2-MIC that is not a 2-BMC. There are five maximal cliques C C N in

this conflict graph as shown in Table 5.2, all of which are such that P(C) # 0. One of the

maximal cliques (C3 = {1, 2, 3}) does not satisfy Condition 2. However, a maximal clique

that does satisfy Condition 2 can be derived from C3 by the application of Procedure 3.

For example, by replacing items 1 and 2 in C3 with their immediate predecessor item 5,

we obtain C2 = {3, 5}, which does satisfy Condition 2.

150

Page 164: Applications of integer programming in open pit mining: (2006)

Figure 5.17: The conflict graph for PCK Problem Example 1.

The maximal cliques and the corresponding facet-defining strengthened clique inequal-ities are given in Table 5.2. Note that none of the six facet-defining inequalities derived

from these maximal cliques appear in Table 5.1, and could not be obtained by further

lifting of any of the inequalities that do appear in Table 5.1. Hence we see that the clique-

based approach has derived facets of conv(P) that cannot be found using the cover-based

approach of previous authors.

Maximal Clique Corresponding facet-defining clique inequality

{1,6} xi + x6 < x1a

xi + x6 < x11

{3,5} x3 + x5 < xio

x3 + x5 < x11

{1, 2, 3} Not facet-defining

{1,2,7} xl+x2+ x7 < x11 {2,3,4} x2+x3+x4 < X10

Table 5.2: Maximal Cliques for PCK Problem Example 1.

We compare the relative strength of the inequalities found by the different approaches

as follows. Let P1 be the polyhedron defined by the lifted K-BMC inequalities, the relevant

precedence constraints, and the requirement that 0 < x; < 1 for all i E N, and Iet P2 be

the polyhedron defined by the facet-defining clique inequalities, the relevant precedence

constraints, and the requirement that 0 < x; < 1 for all i E N. Then we have:

151

Page 165: Applications of integer programming in open pit mining: (2006)

x4+x5+x6 < xg+x10

X4 + x5 + x6 < xg + x11

x4+x5+x6 < x10+x11

x5+x6+ x7 < x10+x11

x5+x6+ x7 < x10+x12

X5 + x6 + x7 < x11 + x12

x4+x5+x7 < x9+x11

x4+x5+x7 < x10+x11

x4+x6+x7 < x10+x11

x4+x6+x7 < x10+ x12 x4+x5+x6+ x7 < 2

x1 + x12 + x13 < 2

x3 + x8 + x9 < 2

X2 + xg + x13 < 2

xl < x4

X1 < X5

X2 < 5

X2 < 6

X3 < X6

X3 < X7

X4 < X8

X4 < xg

X4 < X10

5 < xg

5 < X10

X5 < x11

X6 < x10

X6 < x11

X6 < X12

X7 < x11

X7 < X12

X7 < X13

0<xi < 1 for all i E{1,...,13}.

152

Page 166: Applications of integer programming in open pit mining: (2006)

P2 =

xl +x6 < x10

xl + x6 < x11

X3 + x5 < x10

x3 + x5 < x11

xl + x2 + x7 < x11

X2 + x3 + x4 < x10

X1 < X4

Xi < 5

X2 < 5

X2 < 6

X3 < 6

X3 < 7

X4 < xg

X4 < x9

X4 < x10

X5 < xg

X5 < X10

X5 < X11

X6 < x10

X6 < x11

X6 < x12

X7 < x11

X7 < X12

X7 < x13

0 xi < 1 for all iE{1,...,13}.

Consider the point xi = 2 for all i E JV \ {9,10,11,12}; x9 = xio = x11 = x12 = 1.

Note that Eiev ai xi= 392 < b = 40, and hence the knapsack constraint is satisfied.

This point is feasible for P1. However it is not feasible for P2, since xi + x2 + x7 = x2 + x3 + x4 = 2 1. Hence the clique inequalities are stronger valid inequalities for

this instance of the PCK problem than the K-BMC inequalities lifted on their predecessor

variables.

5.5.2 PCK Problem Example 2

Consider now PCK Problem Example 2 given in Figure 5.18. There are nine K-BMCs

C Ç N in this example, all of which are 2-BMCs. For the 2-BMCs with ICI = 2 for which

A(C) \C 0 0, application of the polynomial time lifting algorithm of van de Leensel et. al.

[981 (or the heuristic of Park and Park [761) for the items in the predecessor sets A(C) \ C

allows us to strengthen the 2-BMC inequalities of the form (5.4.1). The 2-BMCs and

153

Page 167: Applications of integer programming in open pit mining: (2006)

x1+ x7 < 1

x3+x5 < 1

X3 + x8 < x10

X4 + x7 < x10 X4 + x11 < 1

x5 + x8 < 1

X6 + x7 < x12

X6 + x8 < x12

X3 + x5 + x8 < 1

{1, 7}

{3, 5}

{3, 8}

{4, 7}

{4,11}

{5, 8}

{6, 7}

{6, 8}

{3, 5, 8}

Corresponding K-BMC inequality

(lifted when A(C)\C 0)

K-BMC

a, =a = a,2 =3 a2 = al3 = 2 a3 = a4 = all = 4 a5 = 5 a6 = 7 afi = 8

a9 = a10 = 1

c,=13 c2=8 c3 =12 c4 =6 C5 = C9 = C11 = 3 C6 =C6 = 5 c,= 4 c,o=2 C72 = Ct3= 1

b = 20

Figure 5.18: PCK Problem Example 2.

corresponding (lifted) inequalities are given in Table 5.3. Again, these inequalities could

be strengthened further by determining the maximum lifting coefficient for each item in

the set N \ A(C), however, we do not attempt to solve this difficult lifting problem.

Table 5.3: K-BMCs for PCK Problem Example 2.

Applying the approach for deriving facets of conv(P) from clique inequalities to this

example, we obtain the conflict graph given in Figure 5.19. Again note that each clique in

this conflict graph represents a 2-MIC; only {4,11} is a 2-BMC. There are ten maximal

cliques C Ç N in this conflict graph, as shown in Table 5.4, all of which are such that

P(C) = 0, and six of which do not satisfy Condition 1. However, a maximal clique that

does satisfy Condition 1 can be derived from these maximal cliques in all instances, by

154

Page 168: Applications of integer programming in open pit mining: (2006)

Figure 5.19: The conflict graph for PCK Problem Example 2.

the application of Procedure 2. As a result, there are four clique-based inequalities that

are facet-defining for this example, as seen in Table 5.4. In this case, the maximal clique

{4,11} is also a 2-BMC, and since it satisfies Condition 1, we see that Lemma 5.4.5 holds.

The remaining maximal cliques in the conflict graph CG all contain 2-I3MCs within them,

and we see that all 2-BMCs are cliques in the conflict graph, but not necessarily maximal

cliques. In this case the facet-defining clique-based inequalities could be reproduced by the

lifting approach of van de Leensel et. al. [98], but in all cases some of the lifted variables

lie in the set N \ A(C), and so would require solution of at least one NP-complete lifting

problem. Here using maximal cliques in the conflict graph CG has bypassed the need to

solve such difficult lifting problems.

Maximal Clique Corresponding facet-defining

clique inequality

{1, 2, 3, 4} Not facet-defining

{1, 2, 3, 8} Not facet-defining

{1, 3, 4, 6} Not facet-defining

{1,3,6,8} xl+x3-I-x6+x8 < 1

{1, 2, 4, 7} Not facet-defining

{1,4,6,7} x1+x4+x6+ x7 < 1

{2, 3, 4, 5} Not facet-defining

{2,3,5,8} x2+x3+x5+x8 < 1

{4, 9} Not facet-defining

{4,11} x4 + x11 < 1

Table 5.4: Maximal Cliques for PCK Problem Example 2.

155

Page 169: Applications of integer programming in open pit mining: (2006)

A comparison of the LP relaxations for PCK Problem Examples 1 and 2 is presented in

Table 5.5. The cases tested are those of the standard integer programming formulation for

the PCK problem, and this formulation with the addition of the K-BMC inequalities (lifted

on their predecessor variables where possible), and also with the addition of the facet-

defining clique inequalities. It is evident from Table 5.5 that the addition of the K-BMC

inequalities, lifted on their predecessor variables where possible, results in a reduction in

the root node gap (of approximately 6% in example 1 and 10% in example 2). The addition

of the facet-defining clique-based inequalities to the PCK formulation results in a further

reduction in root node gap (of approximately 15% in both cases). In the second example

the optimal integer solution is found by solving the LP relaxation with the addition of the

facet-defining clique inequalities. These results indicate that the addition of facet-defining

clique-based inequalities for the PCK problem is beneficial in certain instances.

Example

Number

Formulation LP

relaxation

IP

value

Gap

(%)

1 Standard integer programming formulation 35.73 29.00 23.20

Standard integer programming formulation

with 3-BMC inequalities 34.00 29.00 17.24

Standard integer programming formulation

and facet-defining clique inequalities 29.75 29.00 2.59

2 Standard integer programming formulation 32.31 26.00 24.26

Standard integer programming formulation

with 2-BMC inequalities 29.75 26.00 14.42

Standard integer programming formulation

and facet-defining clique inequalities 26.00 26.00 0.00

Table 5.5: Summary of Results for the PCK Problem Examples.

5.6 New Results for the Continuous Precedence Constrained

Knapsack Polyhedron

In Chapter 4 we introduced a new polyhedron, the continuous precedence constrained

knapsack (C-PCK) polyhedron. Recall that a mixed integer programming formulation

of the C-PCK problem is as follows. Let

Xi = 1, if any part of item i is included in the knapsack

0, otherwise for all i E g;

zi = the fraction of item i included in the knapsack for all i E

156

Page 170: Applications of integer programming in open pit mining: (2006)

The C-PCK problem is then given by

max >2 zi iEN

s.t.

(5.6.1)

ai zi < b (5.6.2) iEN

zi < xi for all i E N (5.6.3)

xi < zj for all (i, j) E S (5.6.4)

xi E {0,1} for all i E N (5.6.5)

0 < zi < 1 for all i E N. (5.6.6)

The C-PCK feasible set is defined by (5.6.2)-(5.6.6). We will denote this feasible set

by C-P. We now extend results presented for the PCK feasible set P in Sections 3.5.1 and

5.3 to the C-PCK feasible set C-P. Note that all of the properties of precedence sets and

feasible packings that were derived in Section 5.2 for the PCK problem carry over to the

case of the C-PCK problem, since they are independent of the definitions of the decision

variables in the problem.

We begin by deriving a valid 0-1 knapsack inequality for C-P as follows. Consider a

set of items C C N. Note that it is possible for the union of the entire precedence sets of

the items in C to overlap. To ensure that each item in this union is only counted in the

knapsack inequality once, let Pc = {Pi : i E Cl define a partition of A(C) such that

UiEC P; = A(C), Pi C Ai for all i E C, and Pi fl Pi = 0 for all i # j. We call such a

partition precedence aligned. An example of a set of items C, the union of the entire

precedence sets A(C), and a corresponding precedence aligned partition is given in Figure

5.20.

Theorem 5.6.1. For a given attribute r E ?Z, time period t E {1,... , T}, set of items

C C N and precedence aligned partition Pc,

E E ai) xi < b (5.6.7) iEC jEPi \{i}

is a 0-1 knapsack inequality valid for the C-PCK polyhedron C-P.

Proof. Since (5.6.2) is valid for C-P, and since A(C) \ C C A1, the following inequality is

also valid:

E aj

jEA(C)\C

Since Pc partitions A(C), it follows that UiEC (UiEP,\{i}) = A(C) \ C. 1-fence the

following inequality is also valid:

aj zi. < b (5.6.8) iEC jEP\{i}

157

Page 171: Applications of integer programming in open pit mining: (2006)

(1)

C={i,j,k}

A(C)=Ai UAiU Ak

Pi UPI UPk

(2)

(3) Pi

0 Pi.

O Pk

Figure 5.20: Two dimensional illustration of (1) a(n incomparable) set of items C; (2) the

union of the entire precedence sets A(C); (3) a precedence aligned partition Pc of A(C).

Furthermore, for all i E C, Pi \ {i} Ç Ai \ {i}, and by (5.6.4) and the transitivity of the

precedence relationships we have that xi < zj for all j E Ai \ {i}. Hence

(E ) ai xi < b

jEP,\{i}

E ai) xi < b jEP;\{i}

is valid for C-P. ❑

Since UiEc (UJEP1\{i}) = A(C) \ C it follows that a set of blocks C is a knapsack cover

for (5.6.7) if

E aj > b, (5.6.9) jEA(C)\C

and hence when considering knapsack covers for (5.6.7) the choice of partition of A(C) \

C is irrelevant. Note however that the valid knapsack inequality (5.6.7) may be useful

for determining other valid inequalities for C-P, such as (1, k)-configurations or pack

inequalities. For further detail regarding (1, k)-configuration and pack inequalities derived

from 0-1 knapsack inequalities see Padberg [75], van de Leensel et. al. [98], or Atamtürk

[4]. For C a cover for (5.6.7), it follows directly that the corresponding knapsack cover

inequality

E xi < - 1 (5.6.10) iEC

iEC

iEC

158

Page 172: Applications of integer programming in open pit mining: (2006)

is valid for C-P.

We now adapt the concept of Boyd minimality from covers for the PCK polyhedron to

covers for the C-PCK polyhedron. To do so we require the following concepts. Consider

a set of items B C N, and let S(B) be the set of all immediate predecessors for the items

in B, i.e. S(B) = UiEB Si. It follows from the definition of A(B) that S(B) is the minimal

generating set for A(B)\B, i.e. A(S(B)) = A(B)\B and A(S(B)) \ {k} 5 A(S(B)) for

all k E S(B). Thus S(B) satisfies Condition (i) of Definition 5.2.3 of a feasible packing of

the knapsack. If H(S(B)) = E aj < b also holds, then Condition (ii) of Definition jEA(S(B))

5.2.3 is also satisfied, and S(B) is a feasible packing of the knapsack.

Hence, we define a cover C C N to be (Boyd) minimal for (C-PCK) if (5.6.9) holds,

the cover C is incomparable and the following minimality condition holds:

E aj — ak < b for all k E S(C). (5.6.11) jE(A(C)\C)

Although we do not derive any further cover-based results for the C-PCK problem, we

will use condition (5.6.11) in Section 6.3 in the initial application of our new results for

the C-PCK problem to (MIP-OPMPSP).

As in the case of the PCK problem, a general sequential lifting procedure for minimal

cover inequalities of the form (5.6.10) could be developed to lift such inequalities into facets

of conv(C-P). We do not consider the derivation of such procedures in this thesis. Instead

we choose to focus on the adaptation of our clique-based results for the PCK problem to

the C-PCK problem.

Since the definition of the binary decision variables in the C-PCK problem differs to the

definition in the PCK problem, to adapt our clique-based approach to the C-PCK feasible

set C-P, we must alter the definition of the conflict graph. This is due to the fact that if we

applied the definition of an edge in the conflict graph from the PCK problem (Definition

5.2.4) to the case of the C-PCK problem, i.e. {i, j} E E if and only if H({i, j}) > b,

the corresponding interpretation is that all of both items i and j cannot fit in a feasible

packing of the knapsack. However, it could be that some of both items i and j may be

able to be included in the knapsack (i.e. E ak < b or ak < b). kE(A;UA.0\1i} kE(A;UAimj}

Due to the change in definition of the binary decision variables for the C-PCK problem

compared to the PCK problem, when this is the case both xi and xi are equal to 1 in

the corresponding feasible solution for the C-PCK problem. Hence the valid inequality

corresponding to the edge in this definition of the conflict graph is xi + xj < 2, rather than

xi + xj < 1 as in the PCK case. We can, however, derive valid clique inequalities on the

binary (x) decision variables if we modify our definition of an edge in the conflict graph

for the C-PCK problem as follows.

Definition 5.6.1. A conflict graph C-CG = (.N, C-E) contains the edge {i, j} E C-E if

and only if at most one of the items i or j can have any fraction of it included in the

159

Page 173: Applications of integer programming in open pit mining: (2006)

knapsack, that is if and only if E ak > b. kE(A;UA,)\{i, j}

Definition 5.6.1 implies that for each edge {i, j} E C-E, the inequality xi + xi < 1

is valid for the C-PCK problem. Again we consider cliques C C N in the conflict graph

C-CG, that is, a set of items such that at most one item in the set C can have any part

of it included in the knapsack. This definition leads to the following result.

Lemma 5.6.1. Let C C N be a clique in the conflict graph C-CG. Then the clique

inequality

is valid for C-P.

E xj < 1

jEC (5.6.12)

Proof. From Definition 5.6.1 of the conflict graph C-CG = (N, C-E), for each edge {i, j} E

C-E we have that xi + xi < 1 is valid for C-P. Hence all clique inequalities such that

= 2 from C-CG are valid for C-P. It follows directly that all clique inequalities of the

form (5.6.12) from C-CG are valid for C-P. D

Again we apply Definition 5.3.1 of an intersection set to the case of the C-PCK problem,

that is, P(C) = f1jEC Ai. For a clique C C N in the conflict graph C-CG with P(C) # 0, we can strengthen the clique inequality of the form (5.6.12) as follows.

Lemma 5.6.2. Let C Ç N be a clique in the conflict graph C-CG with P(C) 0 0, and let

i E P(C). Then the inequality

E xj < ;EC

(5.6.13)

is valid for C-P.

Proof. Let C Ç N be a clique in the conflict graph C-CG with P(C) 0 0, and let i E P(C).

From Definition 5.3.1 we have that C Ç Di. Applying Assumption 1 it follows that

i E Aj \ {j} for each j E C, and hence from the transitivity of the precedence constraints

(5.6.4) we have that for all j E C, xi < zi. If zi = 1, (5.6.13) is equivalent to the

clique inequality (5.6.12), which is valid for C-P by Lemma 5.6.1. If zi < 1 it must be

that xi = 0 for all j E C, and (5.6.13) holds. So we have that the strengthened clique

inequality (5.6.13) is valid for C-P when P(C) 00. D

Note that the alternate definition of the binary decision variables and the fact that we

have a mixed integer programming formulation for the C-PCK problem, means that the

facet-defining conditions for clique-based inequalities derived in Section 5.3 for the PCK

polyhedron are not directly applicable to the case of the C-PCK polyhedron. Since there

is no straightforward transferral of our results, we leave the derivation of conditions under

which clique inequalities of the form (5.6.12) and (5.6.13) are facet-defining for the C-PCK

polyhedron to future work, with the belief that any such conditions will be closely related

to those derived for the PCK polyhedron.

160

Page 174: Applications of integer programming in open pit mining: (2006)

5.7 Conclusion

In this chapter we presented a new approach for determining facets of the precedence

constrained knapsack (PCK) polyhedron based on clique inequalities. The conditions

derived in Section 5.3 can be checked to determine whether clique inequalities derived from

the conflict graph are facet-defining whenever the PCK problem instance contains pairs of

items that cannot be included in the knapsack together. A procedure to generate a facet-

defining clique inequality from any maximal clique in the conflict graph is also presented in

Section 5.3. A comparison with previous polyhedral approaches to the PCK problem based

on knapsack cover-like inequalities in Sections 5.4 and 5.5 demonstrated that the clique-

based approach can generate facet-defining inequalities that cannot be found through the

cover-based approach of previous authors. In the case where the facet-defining inequalities

found by both approaches correspond, we showed that our clique-based approach avoids

the need to repeatedly solve NP-complete maximum lifting problems. We noted that a

relaxation of the conditions under which previous results were obtained could have allowed

additional facet-defining inequalities to be determined. We then provided a thorough

classification of PCK covers and cliques, showing the relationships between them. We

also noted that the derivation of a maximum lifting procedure for 2-MICs is an obvious

direction for future research. We also showed computationally that the addition of facet-

defining clique-based inequalities is beneficial in certain PCK problem instances.

In addition, we presented an initial investigation of a new polyhedron, the continuous

precedence constrained knapsack (C-PCK) polyhedron, which was introduced in Section

4.4.2.1. We derived a valid 0-1 knapsack inequality for the C-PCK problem, from which

other valid inequalities such as knapsack cover inequalities, (1, k)-configuration inequali-

ties, or pack inequalities could be derived. We also adapted the concept of a conflict graph

from the PCK problem to the C-PCK problem, and derived valid clique inequalities for

the C-PCK polyhedron from this conflict graph. The determination of conditions under

which such inequalities represent facets of the C-PCK polyhedron is another direction for

future research.

We apply the new results presented in this chapter for the PCK and C-PCI{ problems

to the integer programming formulations (CVBIP-OPMPSP) and (MIP-OPMPSP) of the

open pit mine production scheduling problem in Chapter 6.

161

Page 175: Applications of integer programming in open pit mining: (2006)
Page 176: Applications of integer programming in open pit mining: (2006)

Chapter 6

Strengthening Mine Scheduling

Integer Programs Using Valid

Inequalities Derived From Related

Precedence Constrained Knapsack

Problems

6.1 Introduction

In Section 4.4.1 we derived a relationship between the cumulative variable binary integer

programming formulation for the open pit mine production scheduling problem (CVBIP-

OPMPSP) and the precedence constrained knapsack (PCK) problem, and showed that

the (CVBIP-OPMPSP) polyhedron lies in the Cartesian product of the (PCKt, r) poly-

hedrons for all t E { 1, ... ,711 and r E 7Z. In Chapter 5 we then derived a new class of

facet-defining inequalities for the PCK polyhedron, based on cliques in a conflict graph

representing pairwise conflict relationships between variables. We also showed that our

new clique-based results can generate facet-defining inequalities for the PCK polyhedron

that cannot be found through the cover-based approaches of previous authors. In addition,

we showed that when the facet-defining inequalities found by both approaches correspond,

our clique-based approach avoids the need to repeatedly solve NP-complete maximum lift-

ing problems. Hence in this chapter we apply our new clique-based results to the open

pit mine production problem, and show that the addition of clique inequalities for the re-

lated PCK problems can improve the computational efficiency of the integer programming

formulation (CVBIP-OPMPSP).

Adapting the concept of a conflict graph for the PCK problem from Section 5.2.1 to

(CVBIP-OPMPSP), for each time period t E {1, ... , T} and attribute r E 7Z we have a conflict graph CC1, r = ({1, ... , N}, Et, r ), which contains the edge {i, j} E Et, r if and

163

Page 177: Applications of integer programming in open pit mining: (2006)

only if >2 > >2 t4. By Lemma 5.3.1, it follows that for any t E { 1, ... , T} and kEA;UAj 6=1

r E R, for every clique C Ç {1,... , N} in CGt, ,, the clique inequality

xt; < 1 (6.1.1) jEC

is valid for (PCKt,,.), and hence for (CVBIP-OPMPSP). Further, by Lemma 5.3.4, for any clique C for which P(C) = niEc Ai # 0, for each i E P(C) the strengthened clique inequality

x? < x= (6.1.2) jEC

is valid for (PCKt,,.), and hence for (CVBIP-OPMPSP).

In Section 4.4.2.2 we also derived a relationship between the mixed integer program-ming formulation for the open pit mine production scheduling problem (MIP-OPMPSP)

and the continuous precedence constrained knapsack (C-PCK) problem, and showed that

the (MIP-OPMPSP) polyhedron lies in the Cartesian product of the (C-PCKt, ,.) polyhe-

drons for all t E {1, ...,T} and r E R. We extended some of the cover-based concepts

for the PCK problem of previous authors to the C-PCK problem in Section 5.6. We

also adapted the basics of our clique-based approach for the PCK problem to the C-PCK

problem. In order to apply our new clique-based results for the C-PCK problem to (MIP-

OPMSP), the required conflict graph is defined as follows. For each time period t E

{1,...,T} and attribute r E 7Z we have a conflict graph C-CGt,r. = ({1,..., N},C-Et, ,.)

which contains the edge {i, j} E C-Et, ,. if and only if > qk > >2 t4. kE(A;UA1) \{i,j} 8=1

By Lemma 5.6.1, it follows that for any t E { 1, ... ,T} and r E R, for every clique

C C {1, ... , N} in C-CGt, r the clique inequality

< 1 (6.1.3) jEC

is valid for (C-PCKt, r), and hence for (MIP-OPMPSP). Further, for any clique C for which

P(C) = jEC Aj 0, for each i E P(C) the strengthened clique inequality

xt < >2 4 (6.1.4) jEC 8=1

is valid for (C-PCKt, r), and hence for (MIP-OPMPSP).

The application of our new theoretical results for the PCK and C-PCK polyhedrons to

the mine scheduling integer programs (CVBIP-OPMPSP) and (MIP-OPMPSP) proceeds

as follows. We begin in Section 6.2 by considering constraints based on single blocks, noting

that these are in fact cover inequalities for the related (C-)PCK problems. We then extend

our analysis to multiple blocks, beginning with the a priori addition of clique inequalities

for pairs of blocks in Section 6.3. In Section 6.4 we develop a simple heuristic for finding

164

Page 178: Applications of integer programming in open pit mining: (2006)

cliques in the conflict graphs based on that presented by Skiena [90], and add the resulting

clique inequalities to the formulations (CVBIP-OPMPSP) and (MIP-OPMPSP) a priori.

In Section 6.5 we consider the problem of generating all maximal cliques in a given graph,

known as the clique enumeration problem, and implement the algorithm of Bron and

Kerbosch [15] for this problem. In the case of (CVBIP-OPMPSP), we then check the

necessary and sufficient conditions derived in Section 5.3 to find all facet-defining clique

inequalities for (PCKt, r ) for all t E {1, ... ,T} and r E 7Z. We add these inequalities to

(CVBIP-OPMPSP) a priori. We also extend this analysis to (MIP-OPMPSP). Although

we did not derive necessary and sufficient conditions under which clique inequalities are

facet-defining for the C-PCK polyhedron, we believe that they will be closely related to

the conditions derived for the PCK polyhedron. Hence we check modified conditions when

adding maximal clique inequalities in the case of (MIP-OPMPSP) in Section 6.5.

6.2 Strengthening the Integer Programming Formulation:

The Single Block Case

In this section we consider both the cumulative variable binary integer programming

formulation (CVBIP-OPMPSP) and the mixed integer programming formulation (MIP-

OPMPSP) for the open pit mine production scheduling problem. We apply valid inequal-

ities a priori for the PCK and C-PCK problems based on single blocks, which strengthen

these formulations by eliminating decision variables, and improve their computational

performance.

6.2.1 Cumulative Variable BIP Formulation: The Single Block Case

We begin by considering the cumulative variable BIP formulation for the open pit mine

production scheduling problem (CVBIP-OPMPSP) and the related PCK problems. Our

initial adaptation of PCK-based results to the open pit mine production scheduling prob-

lem is as follows. As noted in Section 3.5.1, if an instance of the PCK problem contains

an item i E N such that the total capacity required to include item i in the knapsack is

greater than the capacity of the knapsack, then there is no feasible solution to the PCI{

problem containing item i, and hence item i can be deleted from the problem instance. We

can apply this concept to the time period t, attribute r polyhedron (PCKt, r ), to eliminate

decision variables from (CVBIP-OPMPSP) prior to the application of a branch-and-bound

algorithm as follows.

Consider the time period t, attribute r polyhedron given by (PCKt, r). For each block

i E {1, ... , N}, for the extraction of block i in time period t to be feasible, each block

in the entire precedence set At must be removed in time period t or earlier. If, for

any attribute, the production capacity required to achieve this exceeds the cumulative

production capacity available up to and including time period t, block i cannot be extracted

165

Page 179: Applications of integer programming in open pit mining: (2006)

in time period t or earlier, that is, x: = 0, 1 < s < t. It follows that

= 0 if E q; > E uT for any t E { 1, . . . , T} and r E TZ, jEA; s=1

(6.2.1)

which effectively deletes the variable for block i from the (PCKt, r) problem instance.

Note that this is a direct application of a PCK cover-based result. Recall from Section

3.5.1 that a set C Ç JV is a cover for the PCK problem if H(C) = E ai > b. In the case jEA(C)

of (CVBIP-OPMPSP), if we take C = {i}, then when > q? > > u; for some r E R, jEA; s=1

C is a cover for (PCKt, r), and the corresponding cover inequality xz < ICI — 1 = 0 is

valid for (PCKt, r), and hence valid for (CVBIP-OPMPSP).

Inclusion of (6.2.1) in (CVBIP-OPMPSP) allows a number of decision variables to be

fixed to 0 prior to application of the branch-and-bound algorithm, resulting in a reduction

in the number of decision variables in the model. The formulation (CVBIP-OPMPSP) with

and without this variable fixing has been tested on the data sets described in Section 1.4.

The computational advantage of the tighter formulation is shown by the results in Table

6.1. Recall from Chapter 4 that in all tables in this thesis we present two values for the root

node gap: the first (Root Node Gap 1) uses the initial LP relaxation of the problem, and

the second (Root Node Gap 2) uses the LP relaxation value after CPLEX has performed

its automatic preprocessing algorithms. In both cases the value reported is a percentage, calculated as Root Node Gap (LP relaxation- optimal integer solution), x 100%. All

l\ optimal integer solution solution)

CPU times reported are in seconds. A time limit of 100 hours (360000 seconds) and a

memory limit of 1GB is placed on all computations. If either the time or memory limits

are reached, the computation is stopped and the current gap at the incumbent solution

is reported in the Final Gap column of the table. In these instances, the limit that was

reached is indicated by a t (time) or an m (memory) in the CPU Time column of the table.

Again note that all averages calculated throughout this thesis are geometric averages.

166

Page 180: Applications of integer programming in open pit mining: (2006)

Data Set

No. Time Pers

(CVBIP-OPMPSP) (CVBIP-OPMPSP) with Single Block Fixing (6.2.1)

No. Dec Vars

No. B & B

Nodes

Root Node Gap 1

Root Node Gap 2

CPU Time

Final Cap %

No. Dec Vars

No. B & B

Nodes

Root Node Cap 1

Root Node Gap 2

CPU Time

Final Gap %

Pitt

N = 67 5 335 2700 12.2 9.5 24.7 < 1.0 289 900 3.3 3.3 9.5 < 1.0 ISI = 190 10 670 > 2132700 14.1 11.4 40300m 2.6 567 > 3768100 5.4 4.8 59190m 1.5 N = 115 5 575 3840 6.7 6.0 103.1 < 1.0 535 610 2.6 2.3 22.6 < 1.0 ISI = 368 10 1150 > 1935300 7.5 7.0 96784m 1.2 1044 456000 3.3 3.2 17479.7 < 1.0 N = 182 5 910 1100 4.1 3.9 101.3 < 1.0 865 100 1.9 1.8 28.6 < 1.0 ISI = 615 10 1820 143400 4.6 4.4 15843.7 < 1.0 1719 27210 2.4 2.3 2469.6 < 1.0 N = 354 5 1770 500 1.6 1.5 159.6 < 1.0 1749 290 1.2 1.1 189.9 < 1.0

ISI = 1670 10 3540 28900 1.8 1.7 13745.2 < 1.0 3447 29970 1.3 1.3 12753.0 < 1.0

Pit 2

N = 66 5 330 800 6.3 5.2 15.3 < 1.0 292 60 4.9 3.4 2.3 < 1.0 ISI = 312 10 660 15700 10.4 8.9 539.9 < 1.0 566 13030 5.9 5.0 251.9 < 1.0 N = 90 5 450 4700 12.1 10.3 75.0 < 1.0 396 300 5.7 4.8 9.0 < 1.0

ISI = 544 10 900 1016200 13.5 11.9 64183.3 < 1.0 760 172700 5.9 5.4 5410.8 < 1.0 N = 166 5 830 3300 45.5 39.3 434.7 < 1.0 621 2290 6.8 5.5 103.7 < 1.0

ISI = 1551 10 1660 > 1520500 48.5 45.2 360000` 4.9 1185 164320 7.6 7.2 13035.4 < 1.0 N = 420 5 2100 19800 70.3 68.5 10232.8 < 1.0 1481 1200 10.3 9.7 652.6 < 1.0

ISI = 5900 10 4200 > 119000 72.3 70.2 360000m 9.6 2816 101500 9.7 9.3 60463.3 < 1.0

Pit l

N = 164 5 820 1100 25.3 21.6 50.1 < 1.0 802 15 6.2 4.6 14.1 < 1.0 SSI = 747 10 1640 37700 26.0 23.2 2543.3 < 1.0 1579 1600 9.6 7.9 179.2 < 1.0

Table 6.1: Computational Results for (CVBIP-OPMPSP) with Single Block Variable Fixing (6.2.1).

Page 181: Applications of integer programming in open pit mining: (2006)

In each of the eighteen instances tested, (CVBIP-OPMPSP) with single block fixing

gave a significantly tighter root node relaxation (for both Root Node Gaps 1 and 2)

than (CVBIP-OPMPSP). Hence it is clear that the single block fixing constraints (6.2.1)

are not automatically detected and applied in the preprocessing phase by CPLEX. In

addition, three of the instances for which (CVBIP-OPMPSP) did not find the optimal

integer solution within the prescribed time or memory limits were able to be solved by the

strengthened formulation. In the fourteen instances where both formulations found the

optimal integer solution, the strengthened formulation was (on average 5.6 times) faster

and required (an average of 7.1 times) less branch-and-bound nodes in thirteen of these

instances. From these results we conclude that the addition of the single block fixing

constraints (6.2.1) to (CVBIP-OPMPSP) is computationally beneficial. Throughout the

remainder of this thesis we will use the formulation (CVBIP-OPMPSP), (6.2.1) as the

benchmark for comparison.

6.2.2 MIP Formulation: The Single Block Case

A similar argument to that presented in Section 6.2.1 can be constructed in the case of

the mixed integer programming formulation (MIP-OPMPSP), using results derived for the

C-PCK problem. Noting the difference in the definition of the binary decision variables

for the C-PCK problem compared to the PCK problem, in Section 5.6 we showed that a

set of items C C Ar is a knapsack cover for the C-PCK polyhedron if

ai > b. (6.2.2) jEA(C)\C

To examine the single block case in (MIP-OPMPSP), we again consider the (C-PCKt, r)

polyhedron for all t E { 1, ... , T} and r E R. For each block i E { 1, ... , N} we take

C = {i}, and when > > >2 of for some t E {1, ... , T} and r E R., C is a cover jEAi\{i} 8=1

for (C-PCKt, r). In this case the corresponding cover equation xz < —1 = 0 is valid

for (C-PCKt, r), and hence for (MIP-OPMPSP). That is, we have that

xt = 0 if > > >2 t4 for some t E { 1, ... , T} and r E R. (6.2.3) jEAi\{i} 8=1

In the context of the open pit mine production scheduling problem, (6.2.3) says that

for the extraction of block i to have commenced by time period t, all blocks in the entire

precedence set excluding block i, (Ai \ {i}), must have been completely removed in time

period t or earlier. If, for any attribute, the production capacity required to achieve this

exceeds the cumulative production capacity available up to and including time period t,

the mining of block i cannot be commenced in time period t or earlier, that is, x= = 0, 1 <_

8<t. Note that it is also possible to apply restrictions on the continuous (z) variables in the

case of (MIP-OPMPSP). Clearly, if x= = 0 then z, = 0 by the definition of the decision

168

Page 182: Applications of integer programming in open pit mining: (2006)

variables. However, we can further restrict the values that some of the z variables are

able to take as follows. If the mining of block i E {1,... , N} is able to be commenced in

time period t, but not completed, then we can restrict the value that the corresponding

continuous decision variable (zz) can take to be less than or equal to the total remaining

capacity that is able to be mined in time period t, divided by the capacity of block i. That t t

is, if > < E uT and E qj > E 4; we have that jEAi\{i} 3=1 jEAi s=1

t

4 s qj r i. (

zi < ur. — qi • (6.2.4) s=1 jEAi \{i}

We consider two cases for testing of (MIP-OPMPSP): adding the binary variable fix-

ing constraints (6.2.3) only, and adding (6.2.3), the implied continuous variable fixing

constraints (4 = 0), and the continuous variable restricting constraints (6.2.4) when ap-

propriate. The formulation (MIP-OPMPSP) has been tested for both these cases on the

data sets described in Section 1.4. The results are presented in Table 6.2. In all tables

throughout the remainder of this thesis, if either the time or memory limits are reached

before the optimal integer solution (to a tolerance of 1%) is found, the current gap at the

incumbent integer solution is reported in the footnotes of the table.

169

Page 183: Applications of integer programming in open pit mining: (2006)

Data Set

No. Time Pers

(MIP-OPMPSP) (MIP-OPMPSP) with Single Block Binary Variable Fixing (6.2 3)

(MIP-OPMPSP) with Single Block Binary and Continuous Variable Fixing (6.2.3), (6 2.4)

No. Dec Vars

No. B & B

Nodes

Root Node Gap 1

Root Node Gap 2

CPU Time

No. Dec Vars

No. B & B

Nodes

Root Node Gap 1

Root Node Gap 2

CPU Time

No. Dec Vars

No. Cont Vars Restricted

No. B & B

Nodes

Root Node Gap 1

Root Node Gap 2

CPU Time

Pit 1

N = 67 5 670 800 11.3 9.2 22.0 627 80 3.2 2.6 6.0 584 3 140 2.7 2.3 7.5 ?SI = 190 10 1340 7400 12.2 9.9 558.7 1242 1820 4.2 3.8 123.0 1144 5 700 3.9 3.1 67.5 N = 115 5 1150 300 6.1 5.1 46.9 1113 170 2.5 2.4 24.4 1076 3 10 2.2 1.9 14.4

!SI = 368 10 2300 3000 6.8 6.2 986.6 2199 320 2.8 2.6 139.0 2098 5 300 2.7 2.4 131.2 N = 182 5 1820 740 4.1 3.7 168.8 1775 140 1.9 1.8 53.4 1730 0 140 1.9 1.8 55.1 SSI = 615 10 3640 2190 4.1 3.7 1585.2 3544 800 2.0 1.8 602.4 3448 5 1470 2.0 1.8 982.6

N = 354 5 3540 50 1.5 1.4 231.1 3519 60 1.0 0.9 150.2 3498 0 60 1.0 0.9 151.0 ISI = 1670 10 7080 700 1.6 1.6 2885.2 6989 80 1.0 0.9 1157.3 6898 2 70 1.0 0.9 866.3

Pitt

N = 66 5 660 50 4.3 3.5 9.5 624 6 2.9 2.5 1.8 588 2 6 2.9 2.5 1.9 SSI = 312 10 1320 500 8.7 8.3 109.0 1236 200 6.9 6.8 27.9 1152 10 100 4.6 4.3 22.1 N = 90 5 900 200 10.7 8.8 35.0 846 60 4.4 4.1 9.2 792 0 60 4.4 4.1 9.2

pi = 544 10 1800 1000 11.5 9.6 358.1 1666 300 5.3 5.0 85.9 1532 6 440 4.6 4.3 81.8 N = 166 5 1660 1200 44.3 40.8 376.8 1457 80 8.3 7.6 36.8 1254 6 30 5.9 5.4 35.5

SiI = 1551 10 3320 6700 46.0 42.6 10816.2 2858 1100 8.6 8.4 920.5 2396 13 247 5.9 5.7 241.6 N = 420 5 4200 3900 69.5 66.3 6005.9 3584 400 10.1 9.4 680.6 2968 3 500 9.8 9.1 749.5

'SI = 5900 10 8400 > 47700 71.0 63.6 3600001 7028 2000 9.5 8.9 7167.0 5656 12 1000 9.0 8.8 4039.3

Pit 3

N =164 5 1640 4400 22.8 20.8 186.0 1631 300 15.2 14.4 40.1 1622 9 700 14.0 12.3 57.4 ISS = 747 10 3280 133300 24.4 22.3 20239.0 3228 4200 14.0 12.8 832.7 3176 9 2700 13.5 12.4 627.7

Table 6.2: Computational Results for (MIP-OPMPSP) with Single Block Variable Fixing.

1 Gap at time limit is 3.6%.

Page 184: Applications of integer programming in open pit mining: (2006)

Comparing (MIP-OPMPSP) with (MIP-OPMPSP) and binary variable fixing, in all

instances tested the CPU time was reduced (by an average of 4.7 times) and in all but

one instance the number of branch-and-bound nodes was also reduced (by an average of

8.4 times). In all cases the root node gaps (both Gaps 1 and 2) were also decreased, often

substantially, showing that the constraints (6.2.3) are not automatically detected in the

preprocessing phase by CPLEX. In addition, for the 420 block model with 10 time periods,

(MIP-OPMPSP) did not find the optimal integer solution within the imposed limit of 100

hours CPU time, while (MIP-OPMPSP) with binary variable fixing found the optimal

integer solution in less than two hours. Hence the computational advantage of the binary

variable fixing constraints (6.2.3) is clear.

When we also included continuous variable fixing, the results were mixed. Relatively

few continuous variables were restricted in all cases tested. However, whenever continuous

variables were restricted, there was a reduction in both Root Node Gaps 1 and 2. There

were ten instances where the CPU time was decreased over binary variable fixing only, and

eight instances where the number of branch-and-bound nodes required was reduced. Hence

the addition of continuous variable restricting inequalities is beneficial in certain instances,

but is not clearly better than binary variable fixing alone. Since these results do not give

as clear an improvement in computational efficiency compared to binary variable fixing

alone, we will use (MIP-OPMPSP) with binary variable fixing only as the benchmark for

the comparison throughout the remainder of this thesis.

6.3 Strengthening the Integer Programming Formulation:

The Block Pair Case

The results in Section 6.2 show that taking the simple concept of eliminating items from

a PCK or C-PCK problem instance and applying it to the open pit mine production

scheduling problem in the form of single block variable fixing gives a significant computa-

tional improvement in both the cumulative variable BIP and MIP formulations. We now

consider the adaptation of our clique-based results for the PCK and C-PCK problems to

the related integer programming formulations of the open pit mine production scheduling

problem.

Again, our starting point for the cumulative variable BIP formulation

(CVBIP-OPMPSP) is the time period t, attribute r polyhedron (PCKt, r). We noted that

the single block elimination constraints applied in Section 6.2 were knapsack covers C for

(PCKt, T ) such that ICI = 1. Hence one option is to extend the cover-based analysis to

covers C C {1, ... , N} for (PCKt, r ) where ICI > 1. Adapting the terminology for the PCK

problem introduced in Section 3.5.1, a Boyd minimal cover (BMC) for the time period

t attribute r polyhedron is a set of blocks C Ç {1, ... , N} such that C is incomparable, t t

q > E uT and > q — qz < E uT for all i E C. In our review of previous jEC s=1 jEC 8=1

171

Page 185: Applications of integer programming in open pit mining: (2006)

polyhedral analysis of the PCK problem in Section 3.5.1 we saw that the application

of maximum lifting procedures to Boyd minimal cover inequalities could result in facet-

defining inequalities for the PCK polyhedron. However, in Chapter 5 we derived a new.

class of facet-defining inequalities for the PCK problem based on cliques, rather than

starting with the cover-based approaches of previous authors. We showed that our clique

based approach can generate facet-defining inequalities that cannot be found through

the existing cover-based approaches for the PCK problem, and that in cases where the

inequalities found by the two approaches correspond, our clique-based approach avoids the

need to solve difficult maximum lifting problems. Hence in this chapter we will apply our

clique-based results for the PCK polyhedron to (CVBIP-OPMPSP), rather than adapt

the cover-based approaches of previous authors reviewed in Section 3.5.1. As noted in

Section 6.1, in the case of (CVBIP-OPMPSP), for each t E {1, ... ,T} and r E R we can

construct a conflict graph CGt, r. Similarly, in the case of (MIP-OPMPSP) we consider

the (C-PCKt, r) polyhedrons for all t E {1, ... , T} and r E R, and construct a conflict

graph C-CGt, r for each t E {1, ... , T} and r E R. We begin the application of our clique-

based results with the simplest possible case: the addition of clique inequalities for cliques

C Ç {1,... , N} in the conflict graphs such that ICI = 2.

6.3.1 Cumulative Variable BIP Formulation: The Block Pair Case

Recall from Section 6.1 that in the case of (CVBIP-OPMPSP), for each t E {1, ... , T} and r E R we can construct a conflict graph CGt, r = ({1, ... , N}, Et, ,.), which contains

the edge {i, j} E Et, r if and only if EkEA,uA; qk > E9_1 ur. Note that every edge in

{i, j} E Et, r is in fact a clique C Ç {1, ... , N} in CGt, r such that ICI = 2, and hence by

Lemma 5.3.1, the corresponding block pair clique inequality

< 1 (6.3.1)

is valid for (PCKt, r), and hence for (CVBIP-OPMPSP). Further, for any distinct pair of

blocks B = {i, j} for which P(B) = A2 n A; o 0, for each k E P(B) the strengthened

clique inequality

(6.3.2)

is valid for (PCKt, r), and hence for (CVBIP-OPMPSP).

As an initial application of our clique-based results for the PCK problem to the open pit

mine production scheduling problem, we consider the a priori addition of block pair clique

inequalities of the form (6.3.1) and (6.3.2) to (CVBIP-OPMPSP). Note that we do not add

a block pair inequality for every edge in each of the conflict graphs constructed. Instead,

we incorporate some of the cover-based results presented in Section 3.5.1 along with some

of the concepts that we introduced in Section 5.3 to ensure that the block pair clique

inequalities added are not dominated by any other block pair clique inequalities. In Section

5.4 it was shown that all cliques in the conflict graph are 2-MICs, and that 2-MICs are a

172

Page 186: Applications of integer programming in open pit mining: (2006)

subset of 2-BMCs. Our review of previous analysis of the PCK polyhedron in Section 3.5.1

showed that all facet-defining cover-based inequalities for the PCK polyhedron are derived

from BMCs rather than MICs, and hence the Boyd minimality condition is the strongest

min imality condition for PCK covers. Thus we add only block pair clique inequalities

that are also Boyd minimal covers, that is we require both E 40; > E uT kE(A,UAj ) s=1

(definition of an edge in CGt, r = definition of a cover in the two block case), and t t

E qk - qi < E 4 and E qk — q; < E uT (Boyd minimality ke(A;UAi) s=1 kE(A;UA2 ) 8=1

condition in the two block case). In addition, in Section 5.3 we showed that for cliques C

such that P(C)

Q(C) = {k E P(C) : Dk \ {k} n P(C) = 0}. Hence for any block pair clique C found such

that P(C) 0 0, we determine the set Q(C) and only add inequalities of the form (6.3.2)

for each k E Q(C). Considering only block pair clique inequalities that satisfy these extra

conditions ensures that the inequalities added are not dominated by any other block pair

clique inequalities.

Note that the purpose of this initial investigation is to determine whether the simplest

application of clique-based inequalities has any effect on the computational efficiency of

(CVBIP-OPMPSP). Hence we do not check that the block pair cliques found are maximal

cliques in CGt, r, or whether the facet-defining conditions derived in Section 5.3 hold.

These aspects will be considered in Section 6.5. Also, we do not consider the application

of lifting procedures for the block pair inequalities found, even though they are also cover

inequalities, since our main interest is the area of clique-based approaches to the PCK

problem.

We consider adding the block pair clique inequalities found both directly to the for-

mulation, and also to the pool of User Cuts in CPLEX (described in Section 2.6). The

results for (CVBIP-OPMPSP) are presented in Table 6.3. All. CPU times reported include

both the time to determine the block pair clique inequalities as well as the time required

to solve the resulting integer program.

= nice A; 0 0, facet-defining clique inequalities are derived using the set

173

Page 187: Applications of integer programming in open pit mining: (2006)

(CVBIP-OPMPSP) with Single Block Variable Fixing (6.2.1)

(CVBIP-OPMPSP), (6.2.1) with Direct Addition of Block Pair Clique Inequalities

(CVBIP-OPMPSP), (6.2.1) with Addition of Block Pair Clique Inequalities as User Cuts

Data No. No. B Root Root CPU No. Clique No. B Root Root Overall No. User No. B Root Root Overall Set Time & B Node Node Time Inequalities & B Node Node CPU Cuts & B Node Node CPU

Pers Nodes Gap 1 Gap 2 Added Nodes Gap 1 Gap 2 Time Applied Nodes Gap 1 Gap 2 Time

Pit1 [ N = 67 5 900 3.3 3.3 9.5 70 670 2.1 1.9 8.9 49 200 3.3 1.8 5.1

ISI = 190 10 > 3768100 5.4 4.8 59190' 271 > 3541800 3.5 3.3 685192 185 1806400 5.4 3.3 41153.9 N = 115 5 610 2.6 2.3 22.6 227 3000 1.5 1.4 16.7 173 360 2.6 1.4 16.5 ISI = 368 10 456000 3.3 3.2 17479.7 396 163910 2.2 2.0 7911.5 305 61350 3.3 2.2 2911.8 N = 182 5 100 1.9 1.8 28.6 233 500 1.3 1.2 51.3 116 190 1.9 1.3 40.1 ISI = 615 10 27210 2.4 2.3 2469.6 1107 173400 1.7 1.7 20942.6 507 > 1160200 2.4 1.7 1114852 N = 354 5 290 1.2 1.1 189.9 740 200 0.9 0.9 187.5 250 80 1.0 0.9 148.8

ISI = 1670 10 29970 1.3 1.3 12753.0 795 57000 1.1 1.1 21575.8 280 40800 1.2 1.1 17714.6

Pit 2

N = 66 5 60 4.9 3.4 2.3 105 190 1.5 1.2 3.4 39 140 4.9 1.3 3.4 181 = 312 10 13030 5.9 5.0 251.9 164 2000 3.7 3.2 61.9 50 1800 5.9 3.4 61.1 N = 90 5 300 5.7 4.8 9.0 118 100 4.1 3.2 6.1 53 120 5.7 3.3 9.1

SSI = 544 10 172700 5.9 5.4 5410.8 336 20280 4.2 3.5 1361.3 170 19350 5.9 3.9 1602.8 N = 166 5 2290 6.8 5.5 103.7 440 600 5.0 4.2 69.6 183 200 6.8 4.2 48.5

181 = 1551 10 164320 7.6 7.2 13035.4 1064 141170 5.3 4.5 17450.6 444 48600 7.6 4.5 7890.9 N = 420 5 1200 10.3 9.7 652.6 1797 1800 8.1 7.6 1129.6 642 1090 10.3 7.8 635.7

181 = 5900 10 101500 9.7 9.3 60463.3 3877 50850 7.8 7.1 27197.7 1085 109160 9.7 7.7 68567.3

[ Pit 3

N = 164 5 15 6.2 4.6 14.1 192 0 6.2 3.9 18.8 59 30 6.2 4.6 19.7 PI = 747 10 1600 9.6 7.9 179.2 336 2000 9.6 8.1 676.2 193 1600 9.6 7.9 442.7

Table 6.3: Computational Results for the Addition of Block Pair Clique Inequalities to (CVBIP-OPMPSP), (6.2.1).

1 Gap at memory limit is 1.5%. 2 Gap at memory limit is 1.5%. 3 Gap at memory limit is 1.1%.

Page 188: Applications of integer programming in open pit mining: (2006)

From Table 6.3 we see that adding the block pair clique inequalities to (CVBIP-

OPMPSP), (6.2.1) as User Cuts gives the fastest CPU time and least branch-and-bound

nodes in nine instances, while adding them directly to the formulation gives the fastest

CPU time and least number of branch-and-bound nodes in a further three instances.

Adding the block pair clique inequalities as User Cuts allowed the 67 block 10 time period

instance to be solved to optimality, while adding the block pair clique inequalities directly

was unable to solve this instance within the prescribed memory limit. However, the 182

block 10 time period instance was unable to be solved within the prescribed memory limit

when the block pair clique inequalities were added as User Cuts, compared to solution

in less than one hour when no additional inequalities were added to (CVBIP-OPMPSP),

(6.2.1). In the block pair clique case, an average of 46.7% of the inequalities were applied

when added as User Cuts. In all cases where the block pair clique inequalities were added

directly to the formulation the Root Node Gap 1 value was the smallest (or equal smallest)

across all instances tested. Hence we see that the addition of the simplest form of clique

inequalities to (CVBIP-OPMPSP), (6.2.1) gives a tighter initial formulation, and results

in an improvement in computational efficiency in some cases.

6.3.2 MIP Formulation: The Block Pair Case

We now adapt the approach derived in Section 6.3.1 for adding block pair clique inequalities

to (CVBIP-OPMPSP) to the mixed integer programming formulation (MIP-OPMPSP).

Recall from Section 6.1 that in the case of (MIP-OPMPSP), for each t E {1, ... , T} and

r E R we can construct a conflict graph C-CGt, r = •. , N}, C-Et, r ) which contains

E uT. Again note that every the edge {i, j} E C-Et,,. if and only if

kEA;UA.A{i, j} 8=1 edge {i, j} E C-Et, r is in fact a clique C in C-CGt, r such that ICI = 2, and hence by

Lemma 5.6.1 the corresponding block pair clique inequality

xz + xtj < 1 (6.3.3)

is valid for (C-PCKt, r ), and hence for (MIP-OPMPSP). Further, for any distinct pair of

blocks B = {i, j} for which P(B) = A n Ai # 0, for each k E P(B) the strengthened

clique inequality

x= + xtj < E z7 (6.3.4) a=1

is valid for (C-PCKt, r ), and hence for (MIP-OPMPSP). Our initial investigation considers

the a priori addition of block pair clique inequalities of the form (6.3.3) and (6.3.4) to (MIP-

OPMPSP). Following the ideas presented in Section 6.3.1, to ensure that the block pair

clique inequalities added are not dominated by any other block pair clique inequalities,

we add only block pair clique inequalities that are also (Boyd) minimal covers for (C- t

PCKt, r) according to (5.6.11). That is we require both qk > > ,4kE(A;uA,)\{i,j} e=1

175

Page 189: Applications of integer programming in open pit mining: (2006)

(definition of an edge in C-CGt, r = definition of a cover in the two block case) and

E qk — qn, < E ue for all m E S({i,j}) = Si U Si (definition of (Boyd) kE(A;Um\{i,j} 8=1 minimality for covers for the C-PCK problem as presented in Section 5.6 in the block

pair case). For block pair cliques C found such that ICI = 2 we also determine the set

Q(C) _ {k E P(C) : Dk \ {k} n P(C) = 0}, and only add inequalities of the form (6.3.4)

for each k E Q(C).

The purpose of this initial investigation is to determine whether the simplest applica-

tion of clique-based inequalities has any effect on the computational efficiency of (MIP-

OPMPSP). Hence we do not check that the block pair cliques found are maximal cliques

in C-CGt, r, and we do not consider the application of lifting procedures for the block pair

inequalities found, even though they are also cover inequalities, since our main interest is

the area of clique-based approaches to the C-PCK problem.

We consider adding the block pair clique inequalities found both directly to the formu-

lation, and also to the pool of User Cuts in CPLEX. The results for (MIP-OPMPSP) are

presented in Table 6.4. Again all CPU times reported include both the time to determine

the block pair clique inequalities as well as the time required to solve the resulting integer

program.

176

Page 190: Applications of integer programming in open pit mining: (2006)

(MIP-OPMPSP) with Single Block Binary Variable Fixing (6.2.3)

(MIP-OPMPSP), (6.2.3) and Direct Addition of Block Pair Clique Inequalities

(MIP-OPMPSP), (6.2.3), with Addition of Block Pair Clique Inequalities as User Cuts

Data No. No. B Root Root CPU No. Block No. B Root Root Overall No. User No. B Root Root Overall Set Time At B Node Node Time Pair & B Node Node CPU Cuts & B Node Node CPU

Pers Nodes Cap 1 Gap 2 Inequalities Nodes Gap 1 Gap 2 Time Applied Nodes Cap 1 Cap 2 Time

Pit 1

N = 67 5 80 3.2 2.6 6.0 13 130 3.0 2.7 6.8 11 100 3.2 2.5 6.6 IS1 = 190 10 1820 4.2 3.8 123.0 31 2100 3.8 3.5 165.6 24 1700 4.2 3.4 102.6 N = 115 5 170 2.5 2.4 24.4 132 126 1.8 1.6 19.1 83 20 2.5 1.8 12.8 IS1 = 368 10 320 2.8 2.6 139.0 205 460 2.1 2.1 171.3 125 330 2.8 2.1 137.3 N = 182 5 140 1.9 1.8 53.4 14 30 1.8 1.7 59.5 5 30 1.9 1.8 52.7 ISI = 615 10 800 2.0 1.8 602.4 191 370 1.8 1.7 426.8 51 400 2.0 1.6 533.6 N = 354 5 60 1.0 0.9 150.2 57 10 1.0 0.9 190.6 6 30 1.0 0.9 188.0

1S1 = 1670 10 80 1.0 0.9 1157.3 145 10 1.0 0.9 685.8 15 30 1.0 0.9 823.5

Pit 2

N = 66 5 6 2.9 2.5 1.8 3 0 2.7 2.2 3.3 3 6 2.9 2.1 1.9 IS1 = 312 10 200 6.9 6.8 27.9 31 200 6.9 6.7 31.9 1 200 6.9 6.7 31.9 N = 90 5 60 4.4 4.1 9.2 19 60 4.0 3.5 7.6 11 25 4.4 3.7 8.6

ISI = 544 10 300 5.3 5.0 85.9 58 200 5.0 5.0 87.9 7 260 5.3 4.8 83.7 N = 166 5 80 8.3 7.6 36,8 24 109 8.3 7.6 66.6 7 100 8.3 7.6 49.5

IS1 = 1551 10 1100 8.6 8.4 920.5 74 400 8.6 8.2 355.7 21 400 8.6 8.4 390.4 N = 420 5 400 10.1 9.4 680.6 90 810 9.8 9.6 1011.3 22 400 10.1 9.1 812.8

1S1= 5900 10 2000 9.5 8.9 7167.0 245 6200 9.3 9.2 24861.7 60 3200 9.5 8.7 16254.7

Pit 3

N = 164 5 300 15.2 14.4 40.1 384 200 15.2 13.2 46.2 0 300 15.2 14.4 43.3 IS1 = 747 10 4200 14.0 12.8 832.7 480 3700 14.0 12.5 969.5 88 3500 14.0 12.9 716.8

Table 6,4: Computational Results for the Addition of Block Pair Clique Inequalities to (MIP-OPMPSP), (6.2.3).

Page 191: Applications of integer programming in open pit mining: (2006)

From Table 6.4 we see that adding the block pair clique inequalities to (MIP-OPMPSP)

as User Cuts results in the fastest CPU time and least number of branch-and-bound nodes

in six instances, and the equal least number of branch-and-bound nodes in a further three

instances. The direct addition of the block pair clique inequalities gives the fastest CPU

time in four instances, the least number of branch-and-bound nodes in five instances,

and the equal least number of nodes in three instances. Hence the addition of the block

pair clique inequalities can be beneficial in certain instances, but does not display a clear

advantage over the case of not adding these inequalities. The direct addition of the block

pair clique inequalities results in the least (or equal least) Root Node Gap 1 value in all

instances. An average of 37.7% of the block pair clique inequalities added are applied

when they are added to the formulation as User Cuts. Again the addition of the simplest

form of clique inequalities to (MIP-OPMPSP), (6.2.3) gives a tighter initial formulation

and results in increased computational efficiency in some instances.

6.4 Strengthening the Integer Programming Formulation

Using Heuristically Determined Clique Inequalities

Our initial investigation in Section 6.3 showed that the addition of clique inequalities for

cliques C in the conflict graphs such that ICI = 2 was beneficial in certain instances for

both (CVBIP-OPMPSP) and (MIP-OPMPSP). We now extend our clique-based analysis

by developing a simple heuristic to identify cliques C such that ICI > 2 in the conflict graphs

constructed for (CVBIP-OPMPSP) and (MIP-OPMPSP). We then add the corresponding

clique-based inequalities to these formulations a priori. Our heuristic is a modification of

that presented by Skiena [901 for finding a maximal clique in a given graph G = (N, E). The heuristic of Skiena is initialised by sorting the nodes of G from highest degree to

lowest degree. The node of highest degree is included in the clique, and then each of the

remaining nodes is considered in order to determine whether they are adjacent to all the

nodes included in the clique so far. If so, the node being tested is added to the clique,

otherwise the next node in the list is considered. This heuristic returns a maximal clique

C in the graph G. We modify this heuristic for application to the integer programming formulation (CVBIP

OPMPSP) for the open pit mine production scheduling problem as follows. For each

t E {1, ... ,T} and r E 7Z, we construct the conflict graph CGt, r = (N, Et,,.). We then

sort the nodes of CGt,,. from highest degree to lowest degree, and store the resulting sorted

list of nodes in .IVt, r, deleting the nodes of degree zero. The heuristic is then applied to

each node in the sorted list .t, r in turn. At each iteration of the heuristic, if the next node

in Nt, r has yet to be included in a clique, it is included in the current clique, and then each

of the remaining nodes in Nt, r is considered in order of decreasing degree to determine

whether they are adjacent to all the nodes included in the current clique to date. If so,

the node being tested is added to the current clique, otherwise the next node in the list is

178

Page 192: Applications of integer programming in open pit mining: (2006)

considered. If the size of the clique at the completion of an iteration is greater than one, a

clique C in the conflict graph CG t, r has been found. Once a node is included in a clique, it

is not considered for inclusion in any further cliques. As opposed to the original heuristic

of Skiena [90], which terminates once a maximal clique had been found, we continue the

algorithm for each node in the sorted list Nt, r to allow the possibility of finding more than

one clique in the conflict graph. Note that only the first clique generated by our heuristic

is guaranteed to be a maximal clique: subsequent cliques may be able to be enlarged by

including nodes that have already been included in a previously found clique. However

the approach we have taken ensures that there is no near duplication of cliques, since we

are interested in the effect of finding and adding relatively few clique inequalities involving

different variables that are valid for (CVBIP-OPMPSP). In addition, since not all of the

cliques found are maximal, and we want our heuristic approach to run as fast as possible,

we do not check the facet-defining conditions derived in Section 5.3. In the case where

P(C) 0 however, we determine the set Q(C) and only add inequalities of the form (6.1.2)

for all i E Q(C). Pseudocode for this heuristic is given below.

179

Page 193: Applications of integer programming in open pit mining: (2006)

INPUT: a conflict graph CGt, r and a sorted list of nodes Nt, r for all t E {1,... ,T} and rER

FORt= 1 :T

FOR r = 1 : r1Zi

INCLIQUE[i] = 0 for all i E {1, . . . , N};

FOR i=1 , ri IF (INCLIQUE[i] = 0)

INCLIQUE[i] = 1;

C := r[i];

FOR j =i+1: (Nt, r

IF (INCLIQUE[j] = 0)

IF ( {Nt, r[j], k } E Et, r FORALL k E C)

C := C U {1Vt, r[j]}

INCLIQUE[j] := 1;

ENDIF

ENDIF

ENDFOR

ENDIF

IF (ICI>1)

IF (P(C) = 0)

ADD TO CONSTRAINTS:

ELSE

FOR (i E Q(C))

E x3t. < 1 ; (jEC

ADD TO CONSTRAINTS: E x3t. < xi jEC

ENDFOR

END IF ELSE

ENDIF

ENDFOR

ENDFOR

ENDFOR

We add all clique inequalities found by our heuristic a priori to the formulation

(CVBIP-OPMPSP). Note that the clique inequalities found are not necessarily facet-

defining for (PCKt, r), since the cliques used may not be maximal, and we have not checked

our facet-defining conditions from Section 5.3. These additional considerations are the

subject of Section 6.5. The computational results for adding the heuristically determined

180

Page 194: Applications of integer programming in open pit mining: (2006)

clique inequalities to (CVBIP-OPMPSP), (6.2.1) a priori, both directly and as User Cuts,

are given in Table 6.5. Note that the CPU times include the time to run the heuristic as

well as solve the final integer program.

We also consider heuristically finding clique inequalities for the conflict graph C-CGt, r

for each t E {1, ... , T} and r E R in the case of (MIP-OPMPSP). The procedure applied is

the same as that described above for the formulation (CVBIP-OPMPSP). The results for

adding the resulting clique-based inequalities to (MIP-OPMPSP) a priori, both directly

and as User Cuts, are given in Table 6.6.

181

Page 195: Applications of integer programming in open pit mining: (2006)

(CVBIP-OPMPSP) with Single Block Fixing (6.2.1)

(CVBIP-OPMPSP), (6.2.1) with Direct Addition of Heuristically Determined Clique Inequalities

(CVBIP-OPMPSP), 6.2.1) with Addition of Heuristically Determined C ique Inequalities as User Cuts

Data No. No. B Root Root CPU No. Clique No. B Root Root Overall No. User No. B Root Root Overall Set Time & B Node Node Time Inequalities & B Node Node CPU Cuts & B Node Node CPU

Pers Nodes Gap 1 Gap 2 Added Nodes Gap 1 Gap 2 Time Applied Nodes Gap 1 Gap 2 Time

Pit 1

N = 67 5 900 3.3 3.3 9.5 61 600 2.5 2.3 7.3 57 500 3.3 2.4 6.9 181 = 190 10 > 3768100 5.4 4.8 591901 95 > 3548300 3.8 3.6 641242 84 1569480 5.4 3.7 24804.4 N = 115 5 610 2.6 2.3 22.6 74 600 1.6 1.4 21.7 57 120 2.6 1.6 13.1

!SI = 368 10 456000 3.3 3.2 17479.7 147 94560 2.2 2.1 3678.6 113 237400 3.3 2.2 10088.7 N = 182 5 100 1.9 1.8 28.6 102 740 1.4 1.3 55.4 72 200 1.9 1.3 37.8 (SI = 615 10 27210 2.4 2.3 2469.6 208 211570 1.7 1.7 20958.6 167 227500 2.4 1.7 22473.1 N = 354 5 290 1.2 1.1 189.9 170 10 0.9 0.9 142.9 54 90 1.0 0.9 144.1

ISI = 1670 10 29970 1.3 1.3 12753.0 256 15910 1.1 1.1 6662.8 77 7170 1.2 1.1 3085.3

Pit 2

N = 66 5 60 4.9 3.4 2.3 50 30 2.7 2.2 2.1 6 10 4.9 2.3 2.0 181 = 312 10 13030 5.9 5.0 251.9 99 1400 4.5 4.2 43.8 45 5790 5.9 4.2 184.2 N = 90 5 300 5.7 4.8 9.0 44 20 2.9 2.5 5.5 39 140 5.7 2.7 8.6

181 = 544 10 172700 5.9 5.4 5410.8 113 17700 4.3 3.8 846.5 65 77770 5.9 3.7 2571.8 N = 166 5 2290 6.8 5.5 103.7 166 430 6.2 5.0 51.1 14 1190 6.8 5.2 74.3

1S1 = 1551 10 164320 7.6 7.2 13035.4 307 40726 7.0 6.4 3910.7 50 419450 7.6 6.8 35738.5 N = 420 5 1200 10.3 9.7 652.6 475 1420 7.5 7.3 728.3 95 1210 10.3 7.1 745.0

SSI = 5900 10 101500 9.7 9.3 60463.3 894 219600 7.2 6.9 138850.9 219 169210 9.7 7.1 117919.0

Pit 3

N = 164 5 15 6.2 4.6 14.1 3 0 3.6 2.9 17.4 3 10 6.2 3.3 17.9 181 = 747 10 1600 9.6 7.9 179.2 29 200 3.6 3.1 140.1 16 300 9.6 2.9 91.3

Table 6.5: Computational Results for the Addition of Heuristically Determined Clique Inequalities to (CVBIP-OPMPSP), (6.2.1).

Gap at memory limit is 1.5%. 2 Gap at memory limit is 2.1%.

Page 196: Applications of integer programming in open pit mining: (2006)

(MIP-OPMPSP) with Binary Variable Fixing (6.2.3)

(MIP-OPMPSP), (6.2.3) and Direct

Addition of Heuristically Determined Clique Inequalities

(MIP-OPMPSP), (6.2.3), with Addition of heuristically Determined Clique

Inequalities as User Cuts Data No. No. B Root Root CPU No. Clique No. B Root Root Overall No. User No. B Root Root Overall Set Time Sc B Node Node Time Inequalities Sc B Node Node CPU Cuts & B Node Node CPU

Pers Nodes Gap 1 Gap 2 Added Nodes Cap 1 Gap 2 Time Applied Nodes Gap 1 Gap 2 Time

0 Pit 1

N = 67 5 80 3.2 2.6 6.0 66 100 2.4 2.1 6.7 64 110 3.2 2.1 6.8 181 = 190 10 1820 4.2 3.8 123.0 116 1200 2.8 2.6 112.6

I 114 700 4.2 2.6 63.7

N = 115 5 170 2.5 2.4 24.4 79 27 1.4 1.1 21.7 74 20 2.5 1.4 14.1 181 = 368 10 320 2.8 2.6 139.0 160 200 1.7 1.5 102.2 134 300 2.8 1.6 130.8 N = 182 5 140 1.9 1.8 53.4 84 80 1.4 1.4 51.2 62 10 1.9 1.4 52.4 IS1 = 615 10 800 2.0 1.8 602.4 203 780 1.4 1.4 593.0 153 170 2.0 1.4 313.3 N = 354 5 60 1.0 0.9 150.2 205 0 0.9 0.8 147.8 52 10 1.0 0.9 150.2

181 = 1670 10 80 1.0 0.9 1157.3 305 30 0.9 0.9 670.5 75 30 1.0 0.9 758.7

Pit 2

N = 66 5 6 2.9 2.5 1.8 32 10. 2.7 2.4 3.2 7 0 2.9 2.1 2.1 181 = 312 10 200 6.9 6.8 27.9 64 357 6.9 6.4 43.2 4 200 6.9 6.8 25.5 N = 90 5 60 4.4 4.1 9.2 63 20 4.0 3.8 8.0 31 63 4.4 3.4 9.5

181= 544 10 300 5.3 5.0 85.9 116 300 4.8 4.7 84.7 52 300 5.3 4.7 72.0 N = 166 5 80 8.3 7.6 36.8 155 100 7.6 7.4 50.7 12 200 8.3 7.0 67.0

181 = 1551 10 1100 8.6 8.4 920.5 261 400 7.6 6.9 297.1 45 258 8.6 7.5 271.8 N = 420 5 400 10.1 9.4 680.6 546 200 7.6 7.3 738.7 138 500 10.1 7.3 1067.9

181 = 5900 10 2000 9.5 8.9 7167.0 904 1100 7.2 7.1 7331.1 276 600 9.5 7.1 3077.5

Pit 3

N = 164 5 300 15.2 14.4 40.1 5 0 3.5 3.1 22.9 3 15 15.2 3.4 27.5 181 = 747 10 4200 14.0 12.8 832.7 31 500 3.5 3.1 508.0 29 200 14.0 3.2 255.1

Table 6.6: Computational Results for the Addition of Heuristically Determined Clique Inequalities to (MIP-OPMPSP), (6.2.3).

Page 197: Applications of integer programming in open pit mining: (2006)

From Table 6.5 we see that adding the heuristically determined clique inequalities

directly to (CVBIP-OPMPSP) gives the fastest CPU time in seven instances and the least

number of branch-and-bound nodes in eight instances, while adding the clique inequalities

as User Cuts gives the fastest CPU time in six instances and the least number of branch-

and-bound nodes in five instances. Note that adding the heuristically determined clique

inequalities to the 67 block, 10 time period instance as User Cuts allowed this instance

to be solved to optimality, while when they were added directly to the formulation, the

instance was unable to be solved within the prescribed memory limit. An average of

51.2% of the inequalities were applied when added to the formulation as User Cuts. In

all cases where the heuristically determined clique inequalities were added directly to the

formulation, the Root Node Gap 1 value was the smallest.

From Table 6.6 we see that adding the heuristically determined clique inequalities to

(MIP-OPMPSP) as User Cuts gives the fastest CPU time and requires the least number of

branch-and-bound nodes in eight instances (and equal least number of nodes in a further

three instances), while adding the inequalities directly to the formulation gives the fastest

CPU time in six instances and least number of branch-and-bound nodes in five instances

(and equal least in two others). An average of 48.2% of the inequalities were applied when

added to the formulation as User Cuts. In all cases where the heuristically determined

clique inequalities were added directly to the formulation, the Root Node Gap 1 value was

the smallest.

Although these results are mixed, in most cases the addition of the heuristically de-

termined clique inequalities resulted in an improvement in computational efficiency when

compared to the benchmark formulations. Note that the CPU times reported include the

time taken to run the heuristic, as well as the time required to solve the resulting integer

program. Even so, one of the heuristic approaches resulted in the fastest CPU time in

27 of the 36 instances tested across both formulations. Hence we see that the addition of

strong clique-based inequalities that can be determined quickly is beneficial for the mine

scheduling integer programs under consideration.

6.5 Strengthening the Integer Programming Formulation

Following the Enumeration of all Maximal Cliques in

the Conflict Graph

One of the necessary and sufficient conditions derived in Section 5.3 for our clique-based

inequalities to represent facets of the PCK polyhedron is that the clique must be a maximal

clique in the conflict graph. Generating maximal cliques in a graph is a fundamental

problem in graph theory. The problem of generating all maximal cliques in a given

graph is known as the clique enumeration problem. Skiena [90] notes that the clique

enumeration problem is very closely related to the problems of generating all maximal

184

Page 198: Applications of integer programming in open pit mining: (2006)

independent sets or all minimal vertex covers of a given graph, so algorithms that solve

one of these problems may produce good solutions for the other two. As shown by Moon

and Moser [71], a graph with n vertices can have as many as 3T maximal cliques. Hence,

enumeration of all maximal cliques is a difficult problem: in fact it is NP-hard [112].

The clique enumeration problem was first considered by Bron and Kerbosch [15], who

presented two algorithms for generating all maximal cliques of a given graph. Both are

backtracking algorithms that use a branch-and-bound technique to cut off branches that

cannot lead to a clique. The first version generates cliques in lexicographic order, while the

second attempts to minimise the number of branches traversed by sequentially generating.

cliques with a large common intersection. For a graph with n vertices, the worst-case

time complexity of the second algorithm of Bron and Kerbosch is shown to be O(3 9) by

Tomita et. al. [95]. Other algorithms for the clique enumeration problem are presented

by Tsukiyama et. al. [96], Chiba and Nishizeki [22], Johnson et. al. [52], Kose et. al. [59],

Makino and Uno [64] and Abu-Khzam et. al. [1].

For a graph G = (Y, E) with n = PVI vertices and m = IEI edges, the first algorithm

of Makino and Uno [64] runs with O(M(n)) time delay and in 0(n2) space, where M(n)

denotes the time to multiply two n x n matrices, and time delay is defined to be the

time between producing one maximal clique and the next. They show that since matrix

multiplication can be completed in O(n2.376) time, this algorithm improves on all previous

algorithms for dense graphs. Their second algorithm runs with 0(6,4) time delay and

in O(n + m) space, where A denotes the maximum degree of G. This algorithm also

requires O(n m) time for preprocessing. They also show that this algorithm improves on

all previous algorithms when G is sparse. Abu-Khzam [1] compared the two algorithms

of Bron and Kerbosch [15] with the algorithm of Kose et. al. [59] and their own algorithm

in the application of DNA microanalysis, and found that the first algorithm of Bron and

Kerbosch [15] performed best on sparse graphs, while the second algorithm of Bron and

Kerbosch [15] performed best on dense graphs.

In this section we apply the first algorithm of Bron and Kerbosch [15] to find all

maximal cliques in the conflict graphs CGt, r and C-CGt,,. for each t E {1, ... , T} and

r E R. We do so for two reasons. Firstly, the algorithm does not require specific data

structures, as in the algorithm of Makino and Uno [64], and hence is straightforward

to adapt and implement in our application. The second reason is that it still performs

relatively well when compared to more recent algorithms, as shown by the investigation

of Abu-Khzam et. al. [1].

The clique enumeration algorithm that we implement is described by Bron and Ker-

bosch [15] for a graph G = (N, E) as follows. Three global sets of nodes, COMPSUB,

CANDIDATES and NOT are maintained throughout the execution of the algorithm, as

well as two local sets of nodes NEW_CANDIDATES and NEW_NOT. The set COMPSUB

stands for the currently growing clique; the set CANDIDATES contains the prospective

nodes which are connected to all nodes in COMPSUB and using which COMPSUB can be

185

Page 199: Applications of integer programming in open pit mining: (2006)

expanded; and the set NOT contains nodes which are not allowed to expand COMPSUB,

since all maximal cliques containing them have already been found by the algorithm. The

algorithm is performed by the recursive backtracking function EXTEND, which is called

at each node of the search tree. This function proceeds as follows. The set COMPSUB

is expanded using a prospective node y from the set CANDIDATES. To avoid finding

the same maximal clique several times, the set CANDIDATES is then updated by CAN-

DIDATES:= CANDIDATES\{v}. Local sets NEW_CANDIDATES and NEW NOT are

then generated, where NEW_CANDIDATES is the intersection of CANDIDATES and the

neighbourhood I'({v}) of y, where P({v}) = {u E H : (u, y) E E}. Similarly, NEW.NOT

is the intersection of NOT and I'({v}. If NEW_CANDIDATES and NEW NOT are empty,

then no vertex remains that is completely connected to a vertex in COMPSUB, and

COMPSUB is a maximal clique. The maximal clique found is reported, and the most re-

cently added vertex to COMPSUB is removed from COMPSUB and added to NOT. This

allows the algorithm to avoid replicating maximal cliques. If NEW_CANDIDATES and

NEW NOT are not empty, EXTEND is called again, using the sets NEW_CANDIDATES

and NEW_NOT as arguments to become the child node's CANDIDATE and NOT sets

respectively. The algorithm is initialised by setting CANDIDATES:= H, COMPSUB:=

0, and NOT:= O. Pseudocode for the Bron-Kerbosch algorithm is given below.

INITIALISATION: COMPSUB := 0; CANDIDATES := H; NOT := 0; r({v}) := {u E H : (u, v) E E} for all v E H.

FOR y = 1 : 'CANDIDATES'

EXTEND(CANDIDATES, NOT);

ENDFOR

FUNCTION EXTEND(CANDIDATES, NOT)

select y E CANDIDATES;

CANDIDATES := CANDIDATES \ {v};

COMPSUB := COMPSUB U {v};

NEW_CANDIDATES := CANDIDATES n r({v}); NEW..NOT := NOT n T({v}); IF (NEW_CANDIDATES = 0) & (NEW NOT = 0)

COMPSUB is a maximal clique;

COMPSUB:= COMPSUB \ {v};

NOT:= NOT U {v};

ELSE

EXTEND(NEW_CANDIDATES, NEW. NOT);

END IF ELSE

We apply this procedure in the case of (CVBIP-OPMPSP) to determine all facet-

186

Page 200: Applications of integer programming in open pit mining: (2006)

defining clique-based inequalities for (PCKt, r ) for all t E {1, ... , T) and r E R as follows.

For each t E {1, ... , T} and r E R, we apply the enumeration algorithm of Bron and

Kerbosch [15] to find all maximal cliques in CGt, r, as described above. For each maximal

clique C Ç {1, ... , N} found, we then determine the intersection set P(C). If P(C) = 0, we

check Condition 1 as described in Section 5.3, and if this condition is satisfied then we have

found a facet-defining clique inequality for (PCKt, r) of the form (6.1.1), which we add

to the formulation (CVBIP-OPMPSP) a priori. Note that if Condition 1 is not satisfied,

there is no need to apply our reduction procedure (Procedure 2), since we have already

found all maximal cliques using the enumeration algorithm. If P(C) # 0, we determine

the set 2(C), and then check Condition 2 for each i E Q(C) as described in Section 5.3.

If Condition 2 is satisfied we add a facet-defining clique inequality for (PCKt, r) of the

form (6.1.2) to the formulation (CVBIP-OPMPSP) a priori. Again since we have found

all maximal cliques in CGt, r there is no need to apply our reduction procedure (Procedure

3) if Condition 2 is not satisfied. We consider adding the clique inequalities both directly

to the formulation, and to the pool of User Cuts. The results are presented in Table 6.7

We also consider finding all maximal cliques in the conflict graph C-CGt, r for each

t E {1, ... , T} and r E R in the case of (MIP-OPMPSP). Although we have not derived

necessary and sufficient conditions under which clique inequalities of the form (6.1.3) and

(6.1.4) are facet-defining for the (C-PCKt, r) polyhedron, we believe that any such condi-

tions will be closely related to the conditions derived for the PCK polyhedron in Section

5.3. Hence in the case where P(C) = 0, we add only clique inequalities corresponding to

cliques C C {1, ... , N} in C-CGt, r that satisfy Condition 1. When P(C) 0 0, we add only

clique inequalities of the form (6.1.4) corresponding to cliques C Ç { 1, ... , N} that satisfy

Condition 2. Since these conditions produce strong valid inequalities for (PCKt, r) (and

hence for (CVBIP-OPMPSP)), we expect that they will also produce strong valid inequal-

ities for (C-PCKt, r), and hence for (MIP-OPMPSP). Again we add the resulting clique-

based inequalities to (MIP-OPMPSP) a priori, both directly and as User Cuts. The proce-

dure applied is the same as that described above for the formulation (CVBIP-OPMPSP).

The results for adding the resulting clique-based inequalities to (MIP-OPMPSP) a priori,

both directly and as User Cuts, are given in Table 6.8. All CPU times reported in Tables

6.7 and 6.8 include the time required to build each conflict graph for all t E {1,... , T } and r E R, the time taken to enumerate all maximal cliques in these conflict graphs, as

well as the time required to solve the resulting integer program.

187

Page 201: Applications of integer programming in open pit mining: (2006)

(CVBIP-OPMPSP) with Single Block Variable Fixing (6.2.1)

(CVBIP-OPMPSP), (6.2.1) with Direct Addition of All Facet-Defining

Clique Inequalities for (PCKL, r) for all t E { 1, ... , T} and r E R

(CVBIP-OPMPSP), (6.2.1) with Addition of All Facet-Defining Clique Inequalities for (PCK1, r )

for all t E { 1, ... , T} and r E R as User Cuts Data No. No. B Root Root CPU No. Clique No. B Root Root Overall No. User No. B Root Root Overall Set Time & B Node Node Time Inequalities & B Node Node CPU Cuts & B Node Node CPU

Pers Nodes Gap 1 Gap 2 Added Nodes Cap 1 Gap 2 Time Applied Nodes Gap 1 Gap 2 Time

Pit 1

N = 67 5 900 3.3 3.3 9.5 80 480 2.4 2.2 7.4 53 510 3.3 3.3 6.8 ISI = 190 10 > 3768100 5.4 4.8 591901 152 > 3869990 3.9 3.7 586862 112 1874400 5.4 3.7 30802.9 N = 115 5 610 2.6 2.3 22.6 144 90 1.4 1.2 17.2 116 540 2.6 1.3 26.3 ISI = 368 10 456000 3.3 3.2 17479.7 321 127200 2.1 2.0 4992.1 213 38390 3.3 2.1 1681.9

N = 182 5 100 1.9 1.8 28.6 368 240 1.2 1.1 43.6 103 260 1.9 1.3 44.0 ISS = 615 10 27210 2.4 2.3 2469.6 - - - - - - - - - - N = 354 5 290 1.2 1.1 189.9 7441 90 0.9 0.8 310.8 716 0 1.0 0.9 207.2

181 = 1670 10 29970 1.3 1.3 12753.0 7808 75500 1.1 1.0 45510.2 708 4100 1.2 1.0 2275.6

Pit 2 [

N = 66 5 60 4.9 3.4 2.3 137 190 1.3 0.8 4.1 37 130 4.9 1.0 2.8 181 = 312 10 13030 5.9 5.0 251.9 217 3500 2.6 2.2 106.2 68 5520 5.9 2.4 190.0 N = 90 5 300 5.7 4.8 9.0 229 60 1.2 0.7 6.7 60 140 5.7 1.1 7.7

ISI = 544 10 172700 5.9 5.4 5410.8 371 7380 2.9 2.3 466.1 115 343700 5.9 2.7 211053.0

N = 166 5 2290 6.8 5.5 103.7 539 200 5.0 4.2 47.0 280 310 6.8 4.0 53.8 181 = 1551 10 164320 7.6 7.2 13035.4 1006 153900 5.2 4.4 21064.6 504 173400 7.6 4.8 24305.3

N = 420 5 1200 10.3 9.7 652.6 7858 900 5.5 5.1 1055.4 1711 1350 10.3 5.5 867.8 1S1 = 5900 10 101500 9.7 9.3 60463.3 - - - - - - - - - -

Pit 3 N = 164 5 15 6.2 4.6 14.1 - - - - - - - - - - ISI = 747 10 4200 14.0 12.8 832.7 - - - - - - - - - -

Table 6.7: Computational Results for the Addition of All Facet-Defining Clique Inequalities for (PCKt, r ) for each t E {1, ... , T} and r E R. to

(CVBIP-OPMPSP), (6.2.1).

1 Gap at memory limit is 1.5%. 2 Gap at memory limit is 1.3%.

Page 202: Applications of integer programming in open pit mining: (2006)

(MIP-OPMPSP) with Single Block Binary Variable Fixing (6.2.3)

(MIP-OPMPSP), (6.2.3) and Direct Addition of Maximal Clique Inequalities for

(C-PCKe, r for all t E (1, ... ,T) and r E R

(MIP-OPMPSP), (6.2.3) with Addition of Maximal Clique Inequalities for (PCKe, r

for all t E { 1, ... , T} and r E R as User Cuts Data No. No. B Root Root CPU No. Clique No. B Root Root Overall No. User No. 13 Root Root Overall Set Time & B Node Node Time Inequalities & B Node Node CPU Cuts & 13 Node Node CPU

Pers Nodes Cap 1 Gap 2 Added Nodes Cap 1 Cap 2 Time Applied Nodes Cap 1 Cap 2 Time

Pit 1

N = 67 5 80 3.2 2.6 6.0 59 40 2.2 1.9 6.2 49 70 3.2 2.0 5.8 ISI = 190 10 1820 4.2 3.8 123.0 83 1000 3.1 2.9 83.2 68 780 4.2 3.0 66.7 N = 115 5 170 2.5 2.4 24.4 250 40 1.3 1.1 22.0 182 10 2.5 1.3 16.1

181 = 368 10 320 2.8 2.6 139.0 258 220 1.6 1.5 159.4 175 100 2.8 1.5 101.4 N = 182 5 140 1.9 1.8 53.4 283 30 1.4 1.3 42.4 77 70 1.9 1.4 49.7 ISI = 615 10 800 2.0 1.8 602.4 - - - - - - - - - - N = 354 5 60 1.0 0.9 150.2 6512 0 0.8 0.8 191.6 360 10 1.0 0.8 221.8

181 = 1670 10 80 1.0 0.9 1157.3 7160 70 0.9 0.8 1386.1 369 30 1.0 0.9 789.4

Pit 2

N = 66 5 6 2.9 2.5 1.8 138 9 2.3 2.3 2.5 10 7 2.9 2.3 2.0 181 = 312 10 200 6.9 6.8 27.9 207 200 6.2 6.1 33.0 15 100 6.9 6.2 25.4 N = 90 5 60 4.4 4.1 9.2 201 27 2.6 2.5 9.8 35 30 4.4 2.5 10.6

SSI = 544 10 300 5.3 5.0 85.9 268 290 4.2 4.1 75.0 64 300 5.3 4.0 75.7 N = 166 5 80 8.3 7.6 36.8 471 200 5.4 5.3 74.8 224 200 8.3 5.4 63.6

181= 1551 10 1100 8.6 8.4 920.5 933 310 5.8 5.5 374.5 419 400 8.6 5.7 342.0

N = 420 5 400 10.1 9.4 680.6 6424 771 7.3 7.0 1318.0 1056 290 10.1 7.1 1124.8 181 = 5900 10 2000 9.5 8.9 7167.0 - - - - - - - - - -

Pit 3

N = 164 5 300 15.2 14.4 40.1 1115 0 3.5 3.2 169.7 189 0 15.2 3.3 156.9 SSI = 747 10 4200 14.0 12.8 832.7 - - - - - - - - - -

Table 6.8: Computational Results for the Addition of All Maximal Clique Inequalities for (C-PCKt, r) for each t E {l, ... , T} and

r E R. to (MIP-OPMPSP), (6.2.3)

Page 203: Applications of integer programming in open pit mining: (2006)

Note that dashes in Tables 6.7 and 6.8 indicate instances where the imposed memory

limit of 1GB was reached during the maximal clique enumeration algorithm, and hence all

maximal clique inequalities could not be determined and added to the integer programming

formulation. This indicates that the investigation and application of more recent maximal

clique enumeration algorithms could be of further benefit. From Table 6.7 we see that

adding all facet-defining clique inequalities for (PCKt, r ) for all t E {1, ... , T} and r E 7

to (CVBIP-OPMPSP) as User Cuts gives the fastest CPU time and the least number of

branch-and-bound nodes in four instances, while adding the inequalities directly to the

formulation gives the fastest CPU time in five instances and the least number of branch-

and-bound nodes in eight instances. Again note that adding the facet-defining clique

inequalities to the 67 block, 10 time period instance as User Cuts allowed this instance

to be solved to optimality, while when they were added directly to the formulation, the

instance was unable to be solved within the prescribed memory limit. An average of 39.1%

of the inequalities were applied when added to the formulation as User Cuts. In all cases

where the facet-defining clique inequalities were added directly to the formulation, the

Root Node Gap 1 value was the smallest.

From Table 6.8 we see that adding maximal clique inequalities for (C-PCKt, r) to (MIP-

OPMPSP) as User Cuts gives the fastest CPU time in six instances, and the least number

of branch-and-bound nodes in six instances (and equal least in one further instance),

while adding the inequalities directly to the formulation gives the fastest CPU time in

six instances and the least number of branch-and-bound nodes in six instances (and equal

least nodes in one further instance). An average of 32.1% of the inequalities were applied

when added to the formulation as User Cuts. In all cases where the facet-defining clique

inequalities were added directly to the formulation, the Root Node Gap 1 value was the

smallest.

Although the results are mixed, we see that there is computational benefit from adding

these clique-based inequalities in certain instances. In particular, the direct addition of

all facet defining inequalities for (PCKt, r ) for all t E {1, ... , T} and r E R. to (CVBIP-

OPMPSP), (6.2.1) resulted in the smallest Root Node Gap 1 value (i.e. strongest initial

formulation) in nine of the eighteen problem instances, and equal smallest in two further

instances. In the case of (MIP-OPMPSP) the addition of maximal clique inequalities

for (C-PCKt, r) resulted in the smallest Root Node Gap 1 value in eleven instances, and

equal smallest in three further instances. This indicates that the addition of strong clique

inequalities for the related (C-)PCK problems can be of benefit in strengthening integer

programming formulations of the open pit mine production scheduling problem.

6.6 Conclusion

In this chapter we applied our new results for the PCK and C-PCK problems to the state-

of-the-art integer programming formulations (CVBIP-OPMPSP) and (MIP-OPMPSP) of

190

Page 204: Applications of integer programming in open pit mining: (2006)

the open pit mine production scheduling problem. By considering the (PCKt, r ) and (C-

PCKt, r) polyhedrons for all t E {1, ... , T} and r E 7Z, we were able to eliminate decision

variables from (CVBIP-OPMPSP) and (MIP-OPMPSP) prior to the application of the

branch-and-bound algorithm in Section 6.2, and saw the computational benefit of doing so.

We determined that the formulations (CVBIP-OPMPSP), (6.2.1) and (MIP-OPMPSP),

(6.2.3) would be used as benchmarks from here forward. In Section 6.3 we considered the

simplest application of our clique-based results for the PCK and C-PCK problems, and

added block pair clique inequalities derived from edges in the conflict graphs to (CVBIP-

OPMPSP) and (MIP-OPMPSP) a priori. In most cases further computational benefit

was obtained from doing so. We then implemented a simple heuristic for finding cliques

in the conflict graphs in Section 6.4, before adding the corresponding clique inequalities a

priori to the formulations (CVBIP-OPMPSP) and (MIP-OPMPSP), resulting in further

computational improvement in some instances. In Section 6.5 we considered the problem

of finding all maximal cliques in the conflict graphs, and implemented the enumeration

algorithm of Bron and Kerbosch [15]. This enabled us to find and add all the facet-

defining inequalities for (PCKt, r) for all t E {1,...,T} and r E 7Z to (CVBIP-OPMPSP)

a priori. We also added maximal clique-based inequalities for (C-PCKt, r ) that satisfied

our facet-defining conditions for (PCKt, r ) to (MIP-OPMPSP), since we believe that the

appropriate facet-defining conditions in the case of the C-PCK problem will be closely

related to those derived for the PCK problem in Section 5.3. These approaches showed

that the a priori addition of clique-based inequalities for the related (C-PCK) problems

can strengthen the initial formulations of mine scheduling integer programs, and lead to

improvements in computational efficiency.

In Appendices A to C we summarise all the computational results presented in this

chapter for each data set in turn. Comparing the four PCK-based approaches tested

for (CVBIP-OPMPSP) and (MIP-OPMPSP), we see that the results are mixed. None

of the approaches for determining clique inequalities clearly outperformed the others in

terms of CPU time or the number of branch-and-bound nodes required to find the optimal

integer solution. Further testing on additional data sets is required before final conclusions

regarding the best approach can be made.

Perhaps the clearest outcome in the case of (CVBIP-OPMPSP) is that the direct

addition of all facet defining inequalities for (PCKt, r ) for all t E { 1, ... , T} and r E 7Z

resulted in the smallest Root Node Gap 1 value (i.e. strongest initial formulation) in

nine of the eighteen problem instances, and equal smallest in two further instances. This

indicates that the addition of strong clique inequalities for the PCK problem can be of

benefit in strengthening the BIP formulation of the open pit mine production scheduling.

problem. There were also two occasions where this approach resulted in the fastest overall

CPU time. It must be noted that all times reported are the overall CPU times required,

including the time to determine the respective classes of inequalities to be added to the

formulation (in some cases requiring the construction of a number of conflict graphs), and

191

Page 205: Applications of integer programming in open pit mining: (2006)

also the time required to solve the resulting formulation using the branch-and-bound-and-

cut algorithm of CPLEX. Since there are faster and more memory efficient algorithms in

the literature for solving the clique enumeration problem than the algorithm of Bron and

Kerbosch [15] that was implemented in Section 6.5, the application of these more recent

algorithms could further improve the CPU times required for the results presented in Table

6.7. Implementation of such an algorithm may also result in any of the four instances where

the clique enumeration algorithm was unable to complete within the prescribed memory

limit to be solved. This will be of particular importance when considering larger instances

of the open pit mine production scheduling problem, containing more blocks and time

periods.

The policy of adding all block pair clique inequalities to (CVBIP-OPMPSP), (6.2.1)

resulted in the best performing formulation overall in terms of CPU time on only three

occasions, although as an initial investigation it did demonstrate that the addition of

clique-based inequalities can result in further computational improvements over the case of

single block binary variable fixing (6.2.1) alone. Note that there were only three occasions

where the fastest CPU time across all the approaches tested was a result of the single block

binary variable fixing only, which itself was shown in Table 6.1 to clearly outperform the

generalised formulation (CVBIP-OPMPSP). Hence it is evident that the addition of clique

inequalities valid for the related PCK problems is of computational benefit to (CVBIP-

OPMPSP). There is no clear evidence to suggest whether adding the valid inequalities

found directly to the formulation or as User Cuts is a better policy in terms of reducing

the CPU time. Hence determination of the best method for deriving and applying these

clique inequalities requires further computational testing.

When comparing the approaches used to derive valid inequalities for (MIP-OPMPSP)

from the related (C-PCK) problems, again the results are mixed. The addition of max-

imal clique inequalities for (C-PCKt,,.) resulted in the smallest Root Node Gap 1 value

(strongest initial formulation) in eleven instances, and equal smallest in three further in-

stances, showing that the addition of clique inequalities can also be of benefit in strength-

ening this formulation. The approach of adding heuristically determined clique inequalities

resulted in the fastest overall CPU time in eight instances, indicating that if strong clique-

based inequalities for (MIP-OPMPSP) could be found quickly then there is a potential

for substantial computational savings. Again the benchmark results of (MIP-OPMPSP)

with single block binary variable fixing (6.2.3) was outperformed in terms of CPU time

by a clique-based approach in all but three instances.

Note that the most difficult data sets for finding and proving optimal integer solutions

were the 67 block data set with 10 time periods from. Pit 1, and the 420 block data set

with 10 time periods from Pit 2. As described in Section 1.4, the 67 block data set

contains blocks with a long, flat shape, and relatively few precedence constraints. There

was significant tailing off evident in the branch-and-bound algorithm for this data set when

using the (CVBIP-OPMPSP) formulation, indicating that the block shape used can affect

192

Page 206: Applications of integer programming in open pit mining: (2006)

the performance of the branch-and-bound algorithm. The use of the (MIP-OPMPSP)

formulation for this instance did not encounter the same difficulties. In the case of the 420

block data set, the block shapes were regular, and the computational difficulty encountered

when solving this instance can be attributed to the size of the problem. For the Pit 3

data set with 10 time periods, the (MIP-OPMPSP) formulation reported significant root

node gaps, even after the addition of valid clique-based inequalities, indicating that the

distribution of the ore within the block model can also affect the performance of the branch-

and-bound algorithm when solving the open pit mine production scheduling problem.

Clearly, there are many other possible approaches for using (C-)PCK-based inequal-

ities to strengthen mine scheduling integer programs. One approach not considered in

this thesis is that of the formulation of a separation problem for finding clique inequalities

violated by the LP relaxation of (CVBIP-OPMPSP) or (MIP-OPMPSP), and then im-

plementation of a specialised branch-and-cut algorithm for these mine scheduling integer

programs Both heuristic and exact separation approaches could be considered in such an

algorithm. This is an obvious direction for future research. Alternative heuristic meth-

ods for determining cliques in the conflict graphs and adding the corresponding clique

inequalities to the integer programming formulations a priori could also be investigated.

As already noted, the implementation of more recent algorithms for the clique enumera-

tion problem could also result in further improvements in computational efficiency in the

approaches described in Section 6.5. The addition of other PCK-based inequalities to the

mine scheduling integer programs, such as the knapsack cover-based inequalities of pre-

vious authors presented in Section 3.5.1, or any new inequalities derived for the C-PCK

problem, is another possible direction for future research.

193

Page 207: Applications of integer programming in open pit mining: (2006)
Page 208: Applications of integer programming in open pit mining: (2006)

Chapter 7

New Heuristic Approaches to the

Open Pit Mine Production

Scheduling Problem

7.1 Introduction

As discussed in Section 3.3.2, a number of heuristic approaches to the open pit mine

production scheduling problem have been presented in the literature. The approach taken

by most of these heuristics is described by Dagdelen [25] as being that of determining the

ultimate pit limit using any of the methods described in Section 3.2, and then dividing

the resulting pit into a series of nested sub-pits in order of decreasing value per tonne of

ore. Each of these nested sub-pits is divided further into pushbacks, the mining of which is

then scheduled heuristically. Examples of the scheduling heuristics applied include mining

the pushbacks in order of increasing size (least number of blocks to greatest number of

blocks), or in order of decreasing economic value, subject to the precedence constraints.

It is noted by Dagdelen [25] that such heuristics are unlikely to result in the yearly mining

schedule that maximises the net present value of the cash flows generated by the mine.

In this chapter we develop a suite of new heuristics for the open pit mine produc-

tion scheduling problem using more sophisticated mathematical programming approaches.

The first two approaches utilise ideas developed for the ultimate pit problem and de-

scribed in Section 3.2, while the third uses a modified column generation algorithm to

solve the Dantzig-Wolfe reformulation of the cumulative variable binary integer program-

ming formulation of the open pit mine production scheduling problem given by (CVBIP-

OPMPSP).

195

Page 209: Applications of integer programming in open pit mining: (2006)

Yi = , otherwise 0 th

1, if block i is included in the ultimate pit

7.2 Two Integer Programming-Based Heuristics for the Open

Pit Mine Production Scheduling Problem

In this section, we develop two heuristics to determine a feasible schedule for the open pit

mine production scheduling problem, using the mathematical programming formulation

of the ultimate pit problem. The ultimate pit problem was described in Section 3.2, and

a brief overview of the linear programming solution approach was presented in Section

3.2.3. We now present the binary integer programming formulation of the ultimate pit

problem, as described by Underwood and Tolwinski [97], and adapt it for use in solving the

open pit mine production scheduling problem. Underwood and Tolwinski [97] describe an

ultimate pit as `a collection of blocks which can be most profitably removed while obeying

restrictions on the slope of the mine's walls'. That is, the ultimate pit problem is a sim-

plified version of the open pit mine production scheduling problem, where the production

capacity constraints and time of extraction of each block are disregarded.

As we have done throughout this thesis, we assume that a deterministic block model

containing N blocks is given. Each block i E {1, ... , N} has an (undiscounted) value

ci E Z, and the immediate predecessor set of each block is given by Si. The binary integer

program for the ultimate pit problem presented by Underwood and Tolwinski [97) assigns

a value of 1 to blocks included in the ultimate pit, and a value of 0 otherwise. The decision

variables of the model are as follows. Let

for all i E {1,..., N}.

The binary integer programming formulation of the ultimate pit problem (UP) is then

given by

max

s.t. t

for all i E {1,..., N} and j E

yi E {0,1} for all i E{1, ..., N }.

(7.2.1)

(7.2.2)

(7.2.3)

The objective (7.2.1) is to maximize the (undiscounted) value of the ore extracted

from the pit. The constraints (7.2.2) are the block precedence constraints, which enforce

the requirement of safe wall slopes in the mine. As noted in Section 3.2, this integer

programming formulation has the integrality property, that is, solution of the LP relaxation

of (UP) gives an integral solution. Hence the integer programming formulation of the

ultimate pit problem can be solved as a linear program with greatly increased efficiency.

We now present a simple extension of the BIP formulation of the ultimate pit prob-

lem (UP) which can be used as a heuristic for the open pit mine production scheduling

problem. Note that the integer program (UP) contains only one (block precedence con-

straints) of the three classes of constraints necessary to model the open pit mine production

196

Page 210: Applications of integer programming in open pit mining: (2006)

(7.2.4)

for all iE {1,...,N} and j E Si (7.2.5)

for all r ER. (7.2.6)

for all i E {1,..., N} (7.2.7)

N

E bt ciyi =1

yz < y + dj-1

E qi yi < ur i=1

y! + 4-1 <

max

s.t.

scheduling problem. Hence to adapt the formulation, the reserve constraints and produc-

tion constraints must be included, and time periods must be introduced to the model.

Inclusion of these additional constraints results in the loss of the integrality property,

hence the resulting model must be solved as an integer program. Again for each block

i E {1,... , N} we let Ai be the minimal set of blocks that must be removed for block i

to be removed from the pit, including block i. Also note that from the block model each

block i E {1, ... , N} is assigned a value q, for each attribute r E R. of interest, and an

upper bound on the tonnage of each attribute able to be processed in time period t is

given by t4. The objective is to maximise the net present value of the cash flows received

by the mining operation, hence we also require the use of the discount factor 5 in the

objective function, where 0 < 5 < 1. To ensure that a schedule that is feasible for the

life of the mine is generated by our heuristic, we introduce an additional parameter dti for

all i E {1, ... ,N1 and t E {1,... , T }, which is updated throughout the heuristic. The

purpose of this parameter is to store the blocks that have been included in the schedule

so far, and hence d= = 1 if block i is mined in time period 1, ... , t, and dz = 0 otherwise.

Note that we initialise d° = 0 for all i E {1,... , N}. The decision variables of the integer

program used in the heuristic for time period t are defined as

t 1, if block i is mined in time period t yi —

, for all i E {1

, N} and t E {1, ,

T}. 0, otherwise

The heuristic solves the following integer program (TP-t) for each time period t E

{1,...,T} in turn:

Yi = 0

yz E {0,1}

if E > E ur for any r E R. (7.2.8) jEA; s=1

for all i E {1,...,N}. (7.2.9)

The block precedence constraints are given by (7.2.5), the production constraints are

enforced by (7.2.6), and the reserve constraints are imposed by (7.2.7). We also include

the single block variable fixing constraints (6.2.1) in the form (7.2.8). Hence the model

(TP-t) is a simple extension of the BIP formulation (UP) for the ultimate pit problem to

a BIP formulation for a single time period mine production scheduling problem, where

the solutions to the previous time period problems are used as inputs.

197

Page 211: Applications of integer programming in open pit mining: (2006)

Application of this heuristic results in the derivation of a feasible combination of blocks

for each time period which, when combined across all time periods, gives an overall feasible

production schedule for the life of the mine. The objective is locally greedy in that it

considers only the cash flow received in the current time period, without considering

the cash flows able to be realised in subsequent time periods. Hence, depending on the

distribution of ore within the orebody and the slope constraints, it is unlikely that this

heuristic will generate the true optimal integer solution. However, since mathematical

optimisation is being employed, this heuristic is expected to produce a schedule that is

close to the optimal integer solution. This heuristic is implemented in C++, with all

integer programs solved using CPLEX v8.0 by Ilog Inc. [50], accessed using Ilog Concert

Technology. Results for the application of this heuristic to the data sets described in

Section 1.4 are presented in Section 7.5.

One disadvantage of the integer programming-based heuristic described above is that

it is locally greedy, and does the best it can with respect to the cash flows received in the

current time period without considering the effect on the cash flows received in subsequent

time periods. We now develop a second integer programming-based heuristic similar to

that described above, that considers both the current time period and the remaining life

of the mine. To do so, we effectively solve a two time period scheduling problem for each

t E {1,... , T } in turn, by considering the current time period, and then aggregating the

remaining time periods into a single time period. There are two sets of decision variables

for the time period t problem in this approach, defined as follows. Let

Yt =

if block i is included in the schedule for time period t otherwise

for all i E {1,..., N} and t E {1, ... , T}, if block i is included in the schedule for time periods t + 1, ... ,T otherwise

forall iE{1,..., N} andt E{1,...,T}.

_

Again, we use the additional input parameter dz for all i E {1, — , N} and t E {1, ... , T}, where dt = 1 if block i has been included in a schedule for time periods

1, ... , t, and d= = 0 otherwise. The time period t integer program used in this heuristic in.

then given by (TP2-t) as follows:

198

Page 212: Applications of integer programming in open pit mining: (2006)

max N N

E 64+1

i=1 i=1

(7.2.10)

s.t.

yz < y

w= < w

for all i E { 1, ... , N} and j E Si (7.2.11)

for all iE{1,..., N} and j E Si (7.2.12)

E q: y2 < u; for all rE R (7.2.13) i=1

N T

EqT w= < E us for all r E R (7.2.14)

i=1 s=t+1

y, + d=-1 < 1 for all i E {1, . . . , N} (7.2.15)

y, + w= < 1 for all i E {1, ... , N} (7.2.16)

y= = 0 if E q > E uT for any r E 72(7.2.17) jEA; s=1

ya E {0, 1} for all i E {1, ... , N} (7.2.18)

wt E {0, 1} for all i E {1,..., N}. (7.2.19)

The objective is to maximise the discounted cash flow generated by the schedule found

for the current time period, as well as the potential schedule for the remaining (aggregated)

time periods, where the discount factor used for the aggregated time periods is that which

would apply in the next (disaggregated) time period. The block precedence constraints are

given by (7.2.11) for the current time period problem, and by (7.2.12) for the aggregated

time period problem. The production constraints are (7.2.13) for the current time period

and (7.2.14) for the aggregated time period, while the reserve constraints are imposed by

(7.2.15) and (7.2.16) respectively. In addition, we include the single block variable fixing

constraints (6.2.1) in the form (7.2.17). Clearly, the integer program (TP2-t) is larger

than the corresponding problem (TP-t), and hence we expect the CPU time required

to run the second integer programming-based heuristic to exceed that of the first integer

programming-based heuristic. However, the net present value found by the second heuristic

may be greater since the problem solved is closer to the original integer programming

formulation (CVBIP-OPMPSP). Again this heuristic is implemented in C++, with all

integer programs solved using CPLEX v8.0 by Ilog Inc. [50], accessed using Ilog Concert

Technology. Results for the application of this second integer programming-based heuristic

to the data sets described in Section 1.4 are presented in Section 7.5.

199

Page 213: Applications of integer programming in open pit mining: (2006)

7.3 A Floating Cone-Based Heuristic for the Open Pit Mine

Production Scheduling Problem

The second heuristic developed for the open pit mine production scheduling problem is

based on the floating cone heuristic for the ultimate pit problem, described in detail in

Section 3.2.4. The floating cone heuristic is based on the idea that in order to extract block

i E {1, ... , N} in time period t E {1,... ,T}, all of the blocks in the entire precedence

set Ai, often referred to as the cone of blocks required to remove block i, must have

been extracted in time period t or earlier. To initialise this heuristic, for each block

i E {1, ... , N} we determine the net (undiscounted) value of its entire precedence set,

given by V = E cj, and the total amount of each attribute r E R required to remove jEA.

block i, given by Qi = > q;:. We also make use of the depth of each block in the jEAj

pit. For each block i E { 1, ... , N} let h be the number of layers of blocks that lie above

block i, including the layer in which block i lies. Then li gives the bench number of block

i E {1, ... , N}, where for all blocks i on the surface of the pit, li = 1, and the total number

of benches is given by L.

We develop two versions of this algorithm, one based on the original floating cone

heuristic, and the other incorporating the modification of Korobov [33]. The first floating

cone heuristic (Floating Cone 1) ranks the blocks in decreasing order of the value of their

entire precedence sets, i.e. in order of decreasing V for all i E {1, ... , N}, while the

Korobov variation (Floating Cone 2) considers the blocks in order of decreasing block

value ci for all i E {1, ... , N}. For each time period t E {1, ... , T} in turn, we move from

the top of the pit down, considering blocks on the surface first ({i E {1, ... , N} : li= 1}),

until we reach blocks on the bottom bench of the pit ({i E {1, ... , N} : li = L}). Whenever

the next block in the ranking on the current level of the pit has not been included in the

schedule to date, and can feasibly be mined in the time period under consideration, we

include this block and its entire precedence set in the schedule for time period t. Once

a set of blocks has been included in the schedule, these blocks are removed from the

existing entire precedence sets of any blocks yet to be extracted from the pit, and the

dollar and attribute values of the blocks remaining in the pit are adjusted accordingly, as

is the remaining capacity for the current time period. The algorithm then continues on

the current level of the pit, or on the next level down if no further cones of blocks from

the current level can feasibly be included in the schedule. Pseudocode for this heuristic

algorithm is given below.

200

Page 214: Applications of integer programming in open pit mining: (2006)

INITIALISATION: rank •= vector of all blocks ranked in order of:

1) decreasing V (Floating Cone 1)

2) decreasing ca (Floating Cone 2) :=0 for all iE{1,...,N} and tE{1,...,T}

used_capacity [t] [r] := 0 for all t E { 1, . , T} and r E 7Z

value[t] := 0 for all t E {1,...,T} pits[t][i] := 0 for all t E {1,...,T} and i E {1, ... , N}

>2 q; for all iE{1,..., N} and rER. ] EAi

V:=>2 ci for all iE{1,..., N} jEA;

Page 215: Applications of integer programming in open pit mining: (2006)

FOR t=1:T FOR T=1: Ns.t. dank=0 [:)

FOR I =1: L IF (l[rank[i]] = 1))

IF (used_capacity[t][r] + Qrank[Z] 5-4 for all r E R);

value[t] := value[t] + (St Vrank[Z]; FOR (j E Arank[:])

IF (c/ti = 0)

pits[t][j] := 1;

FOR s=t:T;

d = 1;

ENDFOR

ENDIF

ENDFOR

FOR r = 1

used_capacity[t][r] := used_capacity[t][r] + Tank[:]' FOR j =1: N

173 := E q% (1— dk)i kEAj

ENDFOR

ENDFOR

FOR j =1:N

Vj :_ E ck (1 —4): kEAj

ENDFOR

ENDIF

ENDIF

ENDFOR

ENDFOR

ENDFOR

The output of this pseudocode is as follows:

• pits[t][i] = 1 if block i is included in the schedule for time period t, for all i E

{1,...,N} and t E {1,...,T};

• E value[t] gives the total net present value of the schedule found. t=i

The two versions of the floating cone-based heuristic for the open pit mine production

scheduling problem have been implemented in C++ using the Ilog Concert Technology

libraries [50]. Results for the application of these heuristics to the data sets described in

Section 1.4 are presented in Section 7.5.

202

Page 216: Applications of integer programming in open pit mining: (2006)

7.4 A Lagrangian-Based Heuristic for the Open Pit Mine

Production Scheduling Problem

As described in Section 2.7, if an integer program (IP) in the form z = max {c x : D x < e, x E X Ç Zn}, where X = {x E Zn : A x < b} is too difficult to solve

directly, the complicating constraints D x < e may be ignored, resulting in a relaxation

z' = max {c x : x E X} of the original problem. When the complicating constraints

are added into the objective function with Lagrange multipliers (dual variables) u, the

resulting problem z(u) = max {c x + u (e — D x) : x E X} is referred to as the

Lagrangian relaxation of (IP), and we have that z(u) > z for all u > 0. To find the

best (smallest) upper bound over the whole range of values for u, we solve the Lagrangian

dual problem given by wLD = min {z(u) : u > 0}. As noted by Wolsey [109], solving the

Lagrangian relaxation may sometimes lead to an optimal solution of the original problem

(IP). In this section, we develop a heuristic for the open pit mine production scheduling

problem based on a Lagrangian relaxation of the non-cumulative variable binary integer

programming formulation (NCVBIP-OPMPSP), which was presented in Section 4.2. We

restate the non-cumulative variable formulation (NCVBIP-OPMPSP) here. Let

yi J 1, if block i is mined in time period t

Sl 0, otherwise

for all i E {1, ... ,N} and t E {1,...,T}.

Then the open pit mine production scheduling problem is given by

T N

s

max E t t ci yi t=1 i=1

.t.

E y= < 1 for all i E {1, . . . , N} t=1

y; t t

< forall t E {1,...,T },

a=1 8=1 i E{1,...,N} and j E Sz

r t < for all t E {1,...,T} and r E 7Z 4 yi _ th:.th:. i=1

y= E {0,1} for all i E { 1, ... ,N1 and t E { 1, ... , T}.

Note that the above formulation is presented in the form

Dy < e

203

Page 217: Applications of integer programming in open pit mining: (2006)

(IP)

Zip = max c y

s.t. D y < e

y E Q

< u;,

where

Q =yE{0,1} NT r t

i=1 for all t E {1,...,T} and r E R }.

The Lagrangian relaxation of (IP) is then given by (IP(u)):

(IP(u))

zip (u) = max c y + u(e — D y)

s.t. y E Q.

Note that Q = Qi x Q2 x ... x QT where

Qt = E {O, l}N : E q= wi < u;., for all r E 72, i=1

for all t E {

that is, part of the feasible region of (NCVBIP-OPMPSP) can be decomposed into in-

dependent regions for each time period t E {1, ... , T}. So we see that the production

constraints can be considered to be independent for each time period t E {1, ... , T}, while

the block precedence constraints and reserve constraints act as joint constraints. As noted

in Section 2.8, when part of the feasible region of an integer program can be decomposed in

this manner, an alternate solution approach to solving the Lagrangian dual is to formulate

the Dantzig-Wolfe decomposition of (IP), and use column generation to solve it. This is

the reason that we consider the formulation (NCVBIP-OPMPSP) in this section, rather

than (CVBIP-OPMPSP). As noted in Section 2.8.1, the Lagrangian relaxation can then

be used to provide an alternate upper bound on the optimal integer value of (IP).

In this section we will formulate the Dantzig-Wolfe decomposition of (NCVBIP-OPMPSP),

and use column generation to solve it. Dantzig-Wolfe decomposition and column gener-

ation were introduced in Section 2.8. The Dantzig-Wolfe reformulation of (NCVBIP-

OPMPSP) is developed as follows. Let Kt be the set of all subsets of {1, ... , N} (combi-

nations of blocks) that can be mined in time period t E {1,... ,T}. The master problem

(MP) decision variables are then defined as follows. Let

1, if block combination k is used in time period t

0, otherwise

for all t E {1, ... , T} and k E Kt.

The master problem of the Dantzig-Wolfe decomposition of (NCVBIP-OPMPSP) is

then given by (MP-DWD-OPMPSP) as follows.

Pk

204

Page 218: Applications of integer programming in open pit mining: (2006)

T

max E k k t=1 kElCt

s.t.

(7.4.1)

E E < 1 for all i E {1,..., N} (ai) (7.4.2) t=1 kE1Cts.t.iEk

E µk < 1 for all t E {1, . . . , T} (,ßt ) (7.4.3) kEiCt

t t

E E µk < E E for all t = 1, . . . ,T, s=1 kE1Css.t.iEk s=1 lE1C8 s.t.jEl

i E {1,..., N}

and j E Si (-di ) (7.4.4)

/4 E {0,1} for all t E {1,...,T}

and k E Kt. (7.4.5)

The objective (7.4.1) is to maximise the net present value realised from the mining

operation, where 4 is the (discounted) value realised from mining block combination k in

time period t, i.e.

4 = E bt ci. (7.4.6) iEk

The first set of constraints (7.4.2) are the reserve constraints, which ensure that each

block i E {1, ... , N} is removed at most once over the lifetime of the mine. Each of these

constraints has an associated dual variable, denoted ai. Constraints (7.4.3) have the as-

sociated dual variable Qt, and impose the restriction that no more than one combination

of blocks can be mined in each time period t E { 1, ... , T}. The third class of constraints

(7.4.4) imposes the block precedence relationships, that is, if block i E {1, ... , N} is in-

cluded in a combination in time period t E {1, ... , T}, then each of its immediate predeces-

sor blocks j E Si must have been included in a combination used in the current time period

or earlier. Each block precedence pair (i, j) has a block precedence constraint in each time

period t E {1, ... , T}, with associated dual variable -di. Each combination of blocks ittk for

all t E { 1, ... , T} and k E Kt corresponds to a column in the Dantzig-Wolfe reformulation.

As noted in Section 2.8, each combination in (MP-DWD-OPMPSP) also corresponds to

an extreme point of the convex hull of Q = fy E {0,1}NT : >N 1 q, yq < ur,

for all t E {1,...,T} and r E 7Z}. We will use column generation to solve the LP relax-

ation of this reformulation of (NCVBIP-OPMPSP). The column generation procedure is

initialised with a restricted set of feasible columns Kt Ç Kt for all t E { 1, ... , T}, where

1Ct contains at least one feasible column for each time period t E {1,... , T}. This initial

linear program is solved, and it is then checked whether the solution is dual feasible by

solving an optimisation problem known as the subproblem, as described in Section 2.8.

205

Page 219: Applications of integer programming in open pit mining: (2006)

N T

E atci — «i — E E y,= i=1 jESi s=t

g — Qt

Yit wi (IERi s=t

max T

(7.4.7)

Hence the subproblem seeks to find the column with the largest reduced cost, subject

to the production constraints. If the reduced cost of this column is positive, it is added

to the current set of columns available to (MP-DWD-OPMPSP). If the reduced cost is

non-positive, then the current solution is dual feasible, and the incumbent solution of

(MP-DWD-OPMPSP) is the optimal solution to the LP relaxation.

Since we have shown that the area of the feasible region given by Q can be decomposed

into a series of independent subproblems for each time period t E {1, ... , T}, we are able

to solve an independent subproblem for each time period t E {1, ... , T} in turn at each

iteration of the column generation algorithm. When an entire iteration finds no positive

reduced cost columns, the dual variables from the (MP-DWD-OPMPSP) are dual feasible,

and the column generation algorithm for the LP relaxation is complete. The solution of

the LP relaxation of (MP-DWD-OPMPSP) then gives an upper bound on the optimal

integer solution of (NCVBIP-OPMPSP).

The subproblem decision variables are defined as follows. Let

wi = 1, if block i is included in the new combination for time period t

0, otherwise

for all i E {1, ... , N}.

Then the subproblem for time period t is given by (SP-t) as follows.

s.t.

E qi wi < u;. for all r E R (7.4.8) i=1

wi = 0 if E q; >E ti; for any r E R (7.4.9) jEAi s=1

wi E {0, 1} for all i E {1, ... N}. (7.4.10)

The objective (7.4.7) is to find the most positive reduced cost column, where Ri is

the set of immediate successors of each block i E {1, ... , N}. As described in Section

1.3, by the transitivity of the precedence relationships we have that Ri can be determined

directly from the immediate predecessor (Si) sets. The subproblem is subject to the pro-

duction capacity constraints (7.4.8) for each r E R., since these were the `easy' constraints

that were included in Q. We also include the single block variable fixing constraints

(6.2.1) developed in Section 6.2.1 for (CVBIP-OPMPSP) in the form (7.4.9), since it was

shown that the formulations (NCVBIP-OPMPSP) and (CVBIP-OPMPSP) are equivalent

in Section 4.2, and hence any inequality valid for (CVBIP-OPMPSP) is also valid for

(NCVBIP-OPMPSP).

206

Page 220: Applications of integer programming in open pit mining: (2006)

The column generation approach is applied to solve (MP-DWD-OPMPSP), and hence

obtain an upper bound for the optimal integer solution of (NCVBIP-OPMPSP), on the

data sets described in Section 1.4 in Section 7.4.2.

7.4.1 Calculation of the Lagrangian Relaxation Upper Bound During

the Column Generation Algorithm

As described in Section 2.8.1, when solving the Dantzig-Wolfe decomposition, the La-

grangian relaxation upper bound for the integer program under consideration can be cal-

culated following each iteration of the column generation procedure, using the incumbent

values of the dual variables from the master problem and the least reduced costs obtained

as the solution of the subproblems.

Recall from Section 7.4 that for the formulation (NCVBIP-OPMPSP) represented as

(IP), the Lagrangian relaxation of (IP) is given by (IP(u)) as follows.

zip(u) = max c y + u(e — D y)

s.t. y E Q.

Again let K be the set of extreme points of conv(Q), and let 1C Ç X. Then the restricted

master linear program for (IP), based on the Dantzig-Wolfe decomposition, is given by

z = max E (c y k) pit k E IC

s.t.

E Pk

k E1C

E (D yk ) l k

kEK

Pk

< 1

< e

E {0, 1} for all k E 1C.

(7.4.11)

(7.4.12)

(7.4.13)

(7.4.14)

We note that this is the form that (MP-DWD-OPMPSP) takes in Section 7.4. Follow-

ing the approach of Wolsey [109] described in Section 2.8.1, if we solve the LP relaxation

of (7.4.11): (7.4.12)-(7.4.14), then given ,f the optimal LP dual multiplier for constraint

(7.4.12) and p! the optimal LP dual multiplier for constraint (7.4.13), let r be the

reduced cost of the least reduced cost extreme point in {x1, ... , x K }, i.e. let

rK = —nrc + max (c — ACD) y (7.4.15) yEconv(Q)

where

yEmaxQ) c y = yEconv(Q) '

yt) t '

(c

Emax ct w

s.t. w E conv(Qt)

(7.4.16)

(7.4.17)

207

Page 221: Applications of integer programming in open pit mining: (2006)

In Section 2.8.1 we showed that zK + rK provides an upper bound on zip, where zK

is the incumbent solution to the restricted master linear program, and rK is the reduced

cost of the least reduced cost extreme point in {xl, ... , xK}. In the case of the Dantzig-

Wolfe decomposition of the open pit mine production scheduling problem, in the column

generation subproblem we find the most positive reduced cost as

RCt = —rlK + wEcon (Qt) µ (c — KD)w, (7.4.18)

_ N _ where if = E ai + ßt, and µKD corresponds to the dual variables for the precedence

i=1 constraints ÿ from (MP-DWD-OPMPSP). Therefore, at each iteration of the column gen-

eration procedure, the Lagrangian relaxation upper bound on the optimal integer solution

is given by T N

E (RCt + ßt) + E ai, t=i i=i

(7.4.19)

since the column generation subproblem objective includes the terms —ßt and — E ai. i=i

7.4.2 The Dantzig-Wolfe Decomposition Upper Bound for the Open Pit Mine Production Scheduling Problem

We now apply our column generation procedure for the LP relaxation to the data sets

described in Section 1.4, to determine the upper bound given by the Dantzig-Wolfe decom-

position and the Lagrangian relaxation of (NCVBIP-OPMPSP). In all cases the algorithm

is initialised with a null starting solution, that is, a vector of zeros for each time period

t E { 1, ... , Tl. The results are presented in Table 7.1.

208

Page 222: Applications of integer programming in open pit mining: (2006)

Data Set

No. Time Pers

Number Subproblems

Solved

Number Columns Added

CPU Time

Gap From DWD Upper

Bound

Cap From Best Lagrangian

Upper Bound

(NCVBIP-OPMPSP) Root Node

Gap 1

(CVBIP-OPMPSP), (6.2.1) Root Node

Gap 1

Pit 1

N = 67 5 1330 1116 300.9 3.3 3.2 12.2 3.3

181 = 190 10 3070 2361 1734.9 5.2 5.2 14.1 5.4

N = 115 5 7860 3474 8124.9 2.6 2.5 6.7 2.6

1S1 = 368 10 4540 4450 17471+ - 3.3 7.5 3.3

N = 182 5 4320 4320 37954+ - 2.2 4.1 1.9

181 = 615 10 2650 2650 32170+ - 5.3 4.6 2.4

N = 354 5 1800 1800 3672+ - 64.1 1.6 1.2

SSI = 1670 10 1060 1060 1292+ - 68.6 1.8 1.3

Pit 2

N = 66 5 4875 2868 3434.3 4.5 4.4 6.3 4.9

181 = 312 10 4560 2650 3704.6 5.1 5.1 10.4 5.9

N = 90 5 5468 7650 11964+ - 5.5 12.1 5.7

181 = 544 10 3364 3480 7451+ - 6.0 13.5 5.9

N = 166 5 2070 2070 15640+ - 14.5 45.5 6.8

1S1 = 1551 10 1140 1140 5311+ - 30.0 48.5 7.6

N = 420 5 590 590 987+ - 101.1 70.3 10.3

181 = 5900 10 320 320 361+ - 128.7 72.3 9.7

Pit 3

N = 164 5 885 827 1890.5 6.2 10.4 25.3 6.2

IS1 = 747 10 2080 1543 17657.4 9.6 17.6 26.0 9.6

Table 7.1: Dantzig-Wolfe Decomposition and Lagrangian Relaxation Upper Bounds for the Open Pit Mine Production Scheduling

Problem.

Page 223: Applications of integer programming in open pit mining: (2006)

We compare the upper bounds obtained with the gaps calculated using the initial

LP relaxation values (before CPLEX applied its automatic preprocessing algorithms) for

(NCVBIP-OPMPSP) in Table 7.1. We also include the gaps for (CVBIP-OPMPSP),

(6.2.1) for comparison, since we did not test the formulation (NCVBIP-OPMPSP) with

the addition of the single block variable fixing constraints. We see that the Dantzig-Wolfe

decomposition and Lagrangian relaxation give tighter upper bounds in all cases for Pits

1 and 2 where the column generation algorithm terminated. However, the majority of

instances generated a very large number of columns, to the point where the prescribed

memory limit of 1GB was reached before the column generation algorithm had completed.

In these cases, the Lagrangian relaxation upper bound was still able to be calculated,

however it was generally still large, since the incumbent values of the dual multipliers were

far from optimal. In the case of Pit 3 the Dantzig-Wolfe decomposition upper bound was

equal to the LP relaxation of (CVBIP-OPMPSP), (6.2.1), while the best bound found from

the Lagrangian relaxation was worse. When we consider that the results reported in Table

7.1 only give us a linear programming upper bound on the optimal integer solution, and not

an integer solution, we see that trade-off between a small reduction in gap and a significant

increase in CPU time is not worthwhile. This is particularly the case when it is remembered

that the root node relaxations for the integer programming formulations are calculated in

a matter of seconds, and that the values reported for the integer programs are reduced

further by the automatic preprocessing algorithms employed by CPLEX. To obtain an

integer solution using the Dantzig-Wolfe decomposition and column generation approach,

the implementation of a branch-and-price algorithm is required, where a LP is solved using

the column generation approach at each node of the search tree. Clearly this approach is

computationally infeasible when compared to solving the formulation (CVBIP-OPMPSP),

(6.2.1) directly. However, we will adapt the Dantzig-Wolfe reformulation presented in this

section to create another heuristic for the open pit mine production scheduling problem

in Section 7.4.3. Note that it is also possible to initialise the column generation algorithm

with a feasible schedule determined by a heuristic such as those presented in Sections 7.2

and 7.3. We also considered this approach, and found no significant change to the results

presented in Table 7.1.

7.4.3 A Modified Lagrangian-Based Heuristic for the Open Pit Mine Production Scheduling Problem

We now use the idea of Dantzig-Wolfe decomposition and the framework developed so

far in this section to formulate an alternate heuristic for the open pit mine production

scheduling problem. In this heuristic, we will again employ column generation to solve

the linear programming relaxation of the master problem (MP-DWD-OPMPSP), but will

use a modified subproblem. In the approach described in Section 7.4, the subproblems

for each time period are considered independently, and ignore the precedence constraints.

The result is that combinations of blocks are generated for each time period that may not

210

Page 224: Applications of integer programming in open pit mining: (2006)

E at Ci — ai — 7.0 E 7z! max

N T T

i=1 jES; s=t IER; 9=t — ßt (7.4.20)

be precedence feasible, and hence are unable to be combined in (MP-DWD-OPMPSP) to

give a schedule that is feasible for the life of the mine. In addition, precedence feasible

columns may be generated for different time periods, however they may share one or

more blocks, meaning that only fractions of these columns are able to be combined in

(MP-DWD-OPMPSP).

One approach to overcome these problems is to include the block precedence constraints

in the subproblems, using the method employed in the integer programming heuristics

described in Section 7.2. That is, when solving the subproblem for time period t, a vector

dt is used as input to the block precedence constraints for the time period t subproblem,

where d, = 1 if block i has been used in a combination generated in the current iteration

in time periods 1, ... , t, and 0 otherwise. We initialise this parameter by setting d° = 0

for all i E {1,.... , N}. This will mean that in each iteration of the column generation

procedure, a feasible schedule for the life of the mine is produced, in a similar manner to

the integer programming heuristic described in Section 7.2.

This column generation approach to solving (MP-DWD-OPMPSP) will again use the

same master problem as presented in Section 7.4. The formulation of the subproblem is

as follows. Let

Wi = if block i is included in the new combination for time period t

otherwise

forall iE{1,...,N}.

The subproblem for time period t (SP2-t) is given by

s.t.

for all r E R (7.4.21)

for all i E {1, ... , N) and j E Si (7.4.22)

for all i E {1,... , N} (7.4.23)

qT wi < ut, i=1

wi < wj +

wi + —1 < 1

wi = 0 if E > E ur for any r E R (7.4.24) jEAi 8=1

wi E {0,1} for all i E {1, ... , N). (7.4.25)

After solving the subproblem for time period t E {1,..., T}, the d vector is updated

via

dt := dt-1 -I- wt*, (7.4.26)

where w' is the optimal solution to (SP2-t). In addition, rather than add only columns

with positive reduced cost to the library of columns available to the master problem, we

211

Page 225: Applications of integer programming in open pit mining: (2006)

add all columns found regardless of their reduced cost. This means that at each iteration

of the column generation procedure, an entire feasible schedule for the life of the mine is

found. Following the completion of the column generation algorithm, we solve the resulting

master problem as an integer program, to obtain an integer solution for the instance of

the open pit mine production scheduling problem under consideration. This approach

is a heuristic for the optimal solution of the mine production scheduling problem, since

the solution space for feasible columns in the later time periods is restricted by their

dependence on the columns generated in the earlier time periods. Hence the optimal

integer solution to this heuristic will be less than or equal to the true optimal integer

solution to (NCVBIP-OPMPSP). This heuristic has been implemented on the data sets

described in Section 1.4 in Section 7.5, where the column generation procedure is initailsied

with the null solution for each time period.

7.5 Heuristic Results

The heuristics described in Sections 7.2 and 7.3 and 7.4.3 have been implemented on the

data sets described in Section 1.4. For each heuristic we record the percentage gap from the optimal integer solution, calculated as Heuristic Solution - Optimal Integer Solution x

Optimal Integer Solution 100%, and the CPU time required to run the heuristic. The optimal integer solutions used

are those reported by (CVBIP-OPMPSP), (6.2.1), except for the 67 block data set with

10 time periods, where the optimal integer solution used is that reported by (CVBIP-

OPMPSP), (6.2.1) and the addition of the block pair clique inequalities as User Cuts

(Table 6.3). Note that these integer solutions were proved to be within 1% of the true

optimal integer solution. Hence it is possible the integer solution reported by a heuristic

a could improve over the integer solution with which it is compared. The results are

reported in Table 7.2.

212

Page 226: Applications of integer programming in open pit mining: (2006)

Data Set

No. Time Pers

Heuristic Integer Programming 1 Integer Programming 2 Floating Cone 1 Floating Cone 2 Lagrangian Based Best Performing Heuristic Percentage

Gap CPU Time

Percentage

Gap CPU Time

Percentage

Gap CPU Time

Percentage

Gap CPU Time

Percentage Gap

CPU Time

(closet to optimal integer solution)

Pit 1

N = 67 5 -0.2 0.2 -4.7 4.6 -15.0 0.1 -14.5 0.1 -71.1 169.4 Integer Programming 1 181 = 190 10 -1.2 0.4 -2.7 10.2 -9.1 0.1 -11.5 0.1 -58.0 1773.2 Integer Programming 1 N = 115 5 -0.2 1.0 -1.4 24.6 -21.0 0.2 -19.4 0.2 -67.7 3256.5 Integer Programming 1 ISt = 368 10 +0.1 1.2 -2.6 41.4 -19.4 0.2 -18.9 0.2 - 4446+ Integer Programming 1 N = 182 5 +0.3 2.1 0.0 158.2 -23.4 0.7 -22.1 0.5 - 5463+ Integer Programming 1

151 = 615 10 -0.3 3.3 -2.2 267.5 -22.9 0.7 -21.2 0.5 - 4053+ Integer Programming 1 N = 354 5 +0.3 16.2 -1.1 2867.8 -27.1 2.7 -28.1 2.5 - 3627+ Integer Programming 1

181 = 1670 10 +0.3 20.9 -0.9 1099.6 -27.4 2.7 -27.9 2.5 - 2542+ Integer Programming 1

Pit 2

N = 66 5 -12.3 0.2 -8.1 3.5 -50.2 0.0 -51.0 0.0 -39.7 719.4 Integer Programming 2 181 = 312 10 -15.9 0.3 -5.6 4.7 -47.3 0.0 -45.1 0.0 -20.7 1987.2 Integer Programming 2 N = 90 5 -3.7 0.4 -2.7 9.6 -50.0 0.1 -48.9 0.1 -56.8 551.9 Integer Programming 2

181 = 544 10 -14.6 0.6 -10.0 20.2 -46.5 0.1 -46.9 0.1 - 2506+ Integer Programming 2 N = 166 5 -94.8 9.7 -9.4 45.2 -28.2 0.4 -35.3 0.5 -94.8 39.6 Integer Programming 2

181 = 1551 10 -94.3 17.5 -10.7 86.0 -25.9 0.5 -23.4 0.6 -94.3 114.0 Integer Programming 2 N = 420 5 -98.7 75.1 -11.6 825.9 -16.0 5.7 -16.7 5.8 - 2995+ Integer Programming 2

1S1 = 5900 10 -98.6 136.6 -13.0 2015.1 -14.2 6.6 -15.5 6.3 - 2199+ Integer Programming 2

Pit 3

N = 164 5 -100.0 4.8 -19.1 91.9 -100.0 0.1 -100.0 0.1 -100.0 5.6 Integer Programming 2 SSI = 747 10 -100.0 1.5 -27.3 165.6 -100.0 0.1 -100.0 0.1 -100.0 9.8 Integer Programming 2

Table 7.2: Computational Results for Heuristic Approaches to the Open Pit Mine Production Scheduling Problem.

Page 227: Applications of integer programming in open pit mining: (2006)

The best heuristic alternative gives the smallest (negative) gap from the optimal integer

solution found using (CVBIP-OPMPSP), (6.2.1). In all cases tested, one of the integer

programming-based heuristics achieved this. For Pit 1 the first integer programming

heuristic was able to find an integer solution with a greater net present value than that

found by (CVBIP-OPMPSP), (6.2.1) in four instances. However, note that in the cases for

Pits 2 and 3 where it was not the best performing heuristic, the solution found was far from

optimal. In these cases this heuristic found a valuable pit in early time periods, but was

subsequently unable to find a feasible schedule that provided a positive net present value

in later time periods. When this was the case, the second integer programming-based

heuristic, which not only considered the value of the blocks mined in the current time

period, but also looked ahead by aggregating the remaining time periods into a single time

period, performed the best. Note however that this heuristic required significantly longer

CPU times to run than the first integer programming-based heuristic in all instances. The

most negative gap obtained when using the second integer programming-based heuristic

was -27.3%, and in all other instances the gap obtained was greater than -20%, making

this the most consistent heuristic in terms of achieving near-optimal integer solutions.

Although the CPU times required for this heiristic are greater than those for the first

integer programming-based heuristic, they still compare favourably to the CPU times for

(CVBIP-OPMPSP), (6.2.1) in most cases.

The main advantage of the floating cone heuristic variations is the relatively short

CPU time required to run them. This compares favourably to the CPU times required by

the integer programming-based heuristics, since no optimisation problems are required to

be solved in the floating cone heuristic. The gaps obtained when using the floating cone

heuristics are consistently in the range of -10% to -50%, and are more negative than the

gaps reported by the second integer programming-based heuristic in all instances. Hence

we see the trade-off between a reduction in CPU time and a decrease in the quality of

solution in terms of the net present value generated by the schedule. In the case of Pit

3, where all the blocks with positive value are located on the bottom bench of the pit,

the data set contains no cones with positive (undiscounted) value, and hence the solution

determined by the floating cone heuristic is to mine nothing. In cases such as these as

alternative heuristic should be employed.

The Lagrangian-based heuristic encountered memory problems, with a very large num-

ber of columns being generated in most instances. In fact, the memory limit of 1GB was

reached before the algorithm was complete in eight instances (indicated by a + in the rele-

vant CPU time column in Table 7.2). In the cases where an integer solution was obtained,

the gap was more negative than that found by the second integer programming-based

heuristic. In addition, the CPU times were significantly longer than those required by

both the integer programming-based heuristics and the floating cone heuristics.

214

Page 228: Applications of integer programming in open pit mining: (2006)

7.6 Conclusion

In this chapter, we have presented a number of new heuristics for the open pit mine

production scheduling problem. The first two (Section 7.2) were based on the integer pro-

gramming formulation of the ultimate pit problem, and were found to generate the largest

net present values of all the heuristics developed in this chapter when tested on the data

sets presented in Section 1.4. We also adapted the floating cone heuristic that has been

employed for the ultimate pit problem to the open pit mine production scheduling problem

in Section 7.3, and found that the main advantage of this heuristic is that relatively short

CPU times are required to run it, as no integer programs are solved in its implementation.

We then presented a Dantzig-Wolfe reformulation of (NCVBIP-OPMPSP) in Section 7.4,

where the production constraints were treated independently in subproblems, and the

block precedence constraints and reserve constraints were used as joint constraints in the

master problem. We presented a column generation algorithm for solving this formula-

tion, and noted how the Lagrangian relaxation upper bound could be determined at each

iteration of the column generation algorithm. When applying this column generation al-

gorithm to the data sets described in Section 1.4, we found that in some instances a slight

improvement in the root node gap before automatic preprocessing is applied by CPLEX

could be obtained when the algorithm terminated. However, in the majority of instances,

a very large number of columns were generated, resulting in the algorithm reaching the

prescribed memory limit of 1GB before termination. It was noted that to find the op-

timal integer solution using this approach, a branch-and-price algorithm would need to

be implemented, but that the difficulty of solving even the root node relaxation made

this approach computationally infeasible when compared to solving the original binary

integer programming formulation (CVBIP-OPMPSP), (6.2.1). The Dantzig-Wolfe refor-

mulation and column generation solution approach were then adapted to provide another

heuristic for the open pit mine production scheduling problem, however this heuristic was

outperformed by at least one of the other heuristics developed in all instances tested.

The results of the implementation of the heuristics developed in this chapter show that

the inclusion of mathematical optimisation techniques in heuristic approaches to the open

pit mine production scheduling problem allows feasible integer solutions of good quality

to be found in relatively short CPU times. The most consistent heuristic in terms of

producing near-optimal integer solutions was found to be the second integer programming-

based heuristic. The floating cone heuristics, where no optimisation problems are solved,

gave the fastest CPU times, but often produced schedules of poor quality when compared

to the integer programming-based approaches.

215

Page 229: Applications of integer programming in open pit mining: (2006)
Page 230: Applications of integer programming in open pit mining: (2006)

Chapter 8

Conclusions and Directions for

Future Research

This thesis has considered the application of integer programming techniques to solve

the open pit mine production scheduling problem. The application of exact methods

such as integer programming to solve problems of realistic size in open pit mine planning

applications in time frames acceptable in industry has only recently become a possibility,

due to both algorithmic advancements and the increased availability of computing power.

The aim of developing strengthened integer programming formulations for the open pit

mine production scheduling problem, to allow larger problem instances to be solved than is

currently possible, and to improve the efficiency (particularly with respect to the solution

time) with which these problems can be solved, has been achieved. The main value of

such improvements is that problems of more realistic size will be able to be solved using an

exact (integer programming) method rather than a heuristic, as is often the case at present

in practice. In addition, a reduction in the solution time will allow mine planners greater

flexibility when developing long-term plans for the exploitation of open pit mines, since

they will be able to conduct a greater range of scenario analysis, and hence determine more

robust schedules than is currently possible. This in turn will lead to reduced deviations

in the realised output of mining operations compared to the forecasted output, and thus

greater certainty in future cash flows. Integer programming techniques were also employed

to develop new heuristics for the open pit mine production scheduling problem, to enable

the fast detection of good integer feasible solutions for the problem.

Another outcome of the developments achieved in this thesis is their relevance to more

complex planning problems in open pit mining, such as blending problems and the newly

emerging field of stochastic mine planning. The backbone of these more complex planning

models is a generalised integer programming formulation of the open pit mine production

scheduling problem such as those studied in this thesis. Hence the improvements in the

model formulations presented in this thesis will be able to be extended for use in these

related problems. In addition, since we considered the most general models possible, and

217

Page 231: Applications of integer programming in open pit mining: (2006)

solved all formulations using the commercially available mixed integer programming solver

CPLEX by Ilog Inc. [50], our results are easily reproducible for mine planning practitioners.

We also noted that the structure of the binary integer programming formulation of the

open pit mine production scheduling problem is closely related to a number of other more

general scheduling problems that arise in industrial applications of mathematical optimi-

sation. These include the precedence constrained knapsack problem, the simple assembly

line balancing problem, the labour constrained scheduling problem, and the resource con-

strained scheduling problem. The advances achieved for the open pit mine production

scheduling problem may be able to be adapted to other general scheduling problems such

as these, and lead to improved computational performance for these problems.

This thesis has also contributed to the theory of integer programming through the

derivation of a new class of facet-defining inequalities for the precedence constrained knap-

sack. problem. This structure is related to mine scheduling integer programs, and is also

found in many other applications of integer programming, such as telecommunications

network design and investment problems. Hence the new results presented will also be

of benefit in these areas. In addition, we introduced a new polyhedron, derived from the

continuous precedence constrained knapsack (C-PCK) problem. A number of prelimi-

nary results regarding classes of valid inequalities for this new polyhedron were presented.

There is significant scope for further and more detailed polyhedral analysis of the C-PCK

problem in the future.

Following an introduction to the required background mathematical theory in Chapter

2 and a survey of the literature in the area of open pit mine optimisation in Chapter 3,

we presented three generalised integer programming formulations for the open pit mine

production scheduling problem based on models recently presented by Ramazan and Dim-

itrakopoulos [81], Caccetta and Hill [20] and Menabde et. al. [67] in Chapter 4. We showed

that the binary integer programming (BIP) formulations (NCVBIP-OPMPSP) (based on

the model of Ramazan and Dimitrakopoulos [81]) and (CVBIP-OPMPSP) (based on the

model of Caccetta and Hill [201) are equivalent. Computational experiments showed that

(CVBIP-OPMPSP) clearly outperformed (NCVBIP-OPMPSP) when applied to the data

sets provided by our research partner, due to the difference in the definition of the de-

cision variables. As a result, we adopted (CVBIP-OPMPSP) as the state-of-the-art BIP

formulation for the open pit mine production scheduling problem. We also presented a

generalised mixed integer programming (MIP) formulation for the open pit mine produc-

tion scheduling problem (MIP-OPMPSP), based on the model of Menabde et. al. [67],

and showed that its LP feasible set has a one-to-one correspondence with the LP feasible

sets of the two BIP formulations presented. When solving all three of these formula-

tions, we found that a number of problem instances were intractable, particularly as the

number of blocks in the block model and the number of time periods considered were

increased. In addition, the formulations gave significant root node gaps, indicating an

opportunity to improve the computational performance of the models by strengthening

218

Page 232: Applications of integer programming in open pit mining: (2006)

the initial integer programming formulations. We then presented a class of valid inequal-

ities for (CVBIP-OPMPSP) and (MIP-OPMPSP) referred to as aggregated production

constraints, and through reduction derived valid 0-1 knapsack inequalities for these for-

mulations. This led us to define the time period t E {1,...,T}, attribute r E R problem

for (CVBIP-OPMPSP), which we noted had the structure of the precedence constrained

knapsack (PCK) problem, the polyhedron of which is referred to as the (PCKt, r ) poly-

hedron. It follows that the (CVBIP-OPMPSP) polyhedron lies in the Cartesian product

of the (PCKt, r) polyhedrons for all t E {1, ... , T} and r E R. We also introduced the

continuous precedence constrained knapsack (C-PCK) polyhedron, and showed that the

(MIP-OPMPSP) polyhedron lies in the Cartesian product of the (C-PCKt, r) polyhedrons

for all t E {1, ... , T} and r E R. We noted that the addition of any strong valid in-

equalities for (PCKt, r) and (C-PCKt, r) could improve the computational performance of

(CVBIP-OPMPSP) and (MIP-OPMPSP) respectively.

The relationship demonstrated between the precedence constrained knapsack problem

and the open pit mine production scheduling problem motivated the development of new

results for the PCK problem in Chapter 5. In particular, we investigated clique inequalities

derived from a graph representing pairwise conflict relationships between variables, rather

than considering the knapsack cover-based approach of previous authors. We derived

necessary and sufficient conditions for these clique-based inequalities to represent facets of

the convex hull of the PCK feasible set, and also presented a procedure to derive a facet-

defining inequality from any maximal clique found in the conflict graph. A comparison

with previous polyhedral approaches to the PCK problem demonstrated that our clique-

based approach can generate facet-defining inequalities that cannot be found through

the existing cover-based approaches, and that when the facet-defining inequalities found

by both approaches correspond, our approach avoids the need to repeatedly solve NP-

complete maximum lifting problems. In Section 5.4 we noted that a relaxation of the

conditions under which previous results were obtained could have allowed additional facet-

defining inequalities to be determined, and provided a thorough classification of PCK

covers and cliques, demonstrating the relationship between them. We also presented an

initial polyhedral study of the C-PCK problem in Section 5.6. In particular, we derived

a valid 0-1 knapsack inequality, from which knapsack cover inequalities are able to be

obtained, and also adapted our clique-based results for the PCK problem to derive valid

clique inequalities for the C-PCK polyhedron.

We then applied our new results for the PCK and C-PCK problems to strengthen mine

scheduling integer programs in Chapter 6. We began by adding all clique inequalities for

cliques C such that Cl( = 2 to the formulations (CVBIP-OPMPSP) and (MIP-OPMPSP)

a priori, to demonstrate the benefit of the simplest form of these new valid inequalities.

We then developed a simple heuristic for finding cliques in the respective conflict graphs,

and added the resulting clique inequalities to (CVBIP-OPMPSP) and (MIP-OPMPSP) a

priori. Finally, we implemented the algorithm of Bron and Kerbosch [15] for enumerating

219

Page 233: Applications of integer programming in open pit mining: (2006)

all maximal cliques in a graph, and hence were able to add all facet-defining clique inequal-

ities for (PCKt, r) for all t E {1, ... , T} and r E R. to (CVBIP-OPMPSP) a priori, and

also were able to derive and add maximal clique inequalities for (MIP-OPMPSP). In all

approaches the addition of clique inequalities gave a reduction in root node gap for both

(CVBIP-OPMPSP) and (MIP-OPMPSP), and led to improvements in computational ef-

ficiency. However, there was no single clique-based approach that clearly outperformed

the others in terms of either the CPU time or the number of branch-and-bound nodes

required to find the optimal integer solution, indicating the need for further testing before

final conclusions regarding the best clique-based approach can be drawn.

We concluded the thesis by presenting new heuristic approaches to the open pit mine

production scheduling problem in Chapter 7. We developed two integer programming-

based heuristics using the mathematical programming formulation of the ultimate pit

problem, which were successful in finding near-optimal solutions in relatively short CPU

times. We also adapted the floating cone heuristic for the ultimate pit problem to the

open pit mine production scheduling problem, using both the original version and the

modification of Korobov [33]. The main advantage of this approach is the very short

CPU times required, since no integer programs are solved by this heuristic. Finally, we

presented the Dantzig-Wolfe reformulation of (NCVBIP-OPMPSP), and implemented a

column generation algorithm for solving it. In addition, we noted that the Lagrangian

relaxation upper bound can be calculated at each iteration of the column generation al-

gorithm, and derived a formula for doing so. When the column generation algorithm

terminated, the upper bounds found were tighter than those given by the original inte-

ger programming formulation (NCVBIP-OPMPSP). However, this solution approach was

found to be computationally intensive, and the imposed memory limit was reached in

most instances before the algorithm was complete. Since the value determined by this al-

gorithm was only an upper bound, and not an integer solution, it was concluded that the

implementation of a branch-and-price algorithm to find the optimal integer solution using

the Dantzig-Wolfe decomposition is not comparable to solving the integer programming

formulation (CVBIP-OPMPSP), (6.2.1) directly. The Dantzig-Wolfe reformulation and

column generation algorithm were then adapted to give another heuristic for the open pit

mine production scheduling problem. This algorithm was again found to be computation-

ally intensive in terms of required memory, and as such impractical compared to the other

new heuristics developed.

There are a number of possible extensions of the ideas and results presented in this the-

sis. From a theoretical perspective, there is significant scope for further and more detailed

polyhedral analysis of the continuous precedence constrained knapsack problem introduced

in Chapter 5. Such investigations could involve the derivation of maximum lifting proce-

dures for knapsack cover inequalities in a similar manner to the methods considered by

previous authors for the precedence constrained knapsack problem, and the derivation of

other valid knapsack-based inequalities such as (1, k)-configuration inequalities or pack

220

Page 234: Applications of integer programming in open pit mining: (2006)

inequalities. Further extension of our new clique-based approach for the PCK problem

presented in Chapter 5 to the C-PCK problem is also possible, with the derivation of nec-

essary and sufficient conditions for clique-based inequalities to derive facets of the C-PCK

polyhedron an obvious area for future research. As noted in Chapter 5, the derivation

of a maximum lifting procedure for 2-MIC inequalities for the PCK problem is another

area of interest. Given the relationships derived between the integer programming for-

mulations (CVBIP-OPMPSP) and (MIP-OPMPSP) and the PCK and C-PCK problems

respectively, extension of the results for the PCK and C-CPK polyhedrons to determine

facet-defining inequalities for the (CVBIP-OPMPSP) and (MIP-OPMPSP) polyhedrons

respectively could result in further advances in the ability to solve industrial-sized prob-

lems in open pit mine planning.

The applications considered in this thesis also have a number of possible extensions.

The data sets used for testing the various formulations throughout were relatively small

compared to those encountered in industrial applications, to enable the testing of many

new concepts. Clearly it is desirable to consider larger data sets to establish the benefit

of the results of this thesis in industrial applications. In addition, in Chapter 6 we con-

sidered only the a priori addition of valid clique inequalities to the formulations (CVBIP-

OPMPSP) and (MIP-OPMPSP): an alternative approach is to implement a cutting plane

procedure to determine violated clique inequalities throughout the branch-and-bound tree,

following the formulation and solution of the appropriate separation problem. This could

lead to the derivation of a specialised branch-and-cut algorithm for mine scheduling integer

programs. Such an algorithm could also apply modifications of the single block binary vari-

able fixing constraints at nodes throughout the search tree. Alternatively, other methods

for determining clique inequalities to be added a priori to the integer programming formu-

lations could also be investigated, in particular implementing more efficient maximal clique

enumeration algorithms, or the derivation of alternative heuristics for determining cliques

in the conflict graphs. In larger problem instances it may also be desirable to construct

only a single conflict graph for each time period to reduce memory requirements, resulting

in a conflict graph CGt for each t E {1,...,T}. Note that such an approach would require

the derivation of facet-defining conditions for a precedence constrained multiple knapsack

problem.

When considering the application of PCK-based results to strengthen mine scheduling

integer programs, we focussed on applying our new clique-based results. We did so since

we showed in Chapter 5 that our clique-based approach can generate facets that cannot

be found through the existing cover-based approaches, and that when the inequalities

found by the two approaches correspond, the clique-based approach avoids the need to

repeatedly solve NP-complete maximum lifting problems. Clearly, the existing cover-based

approaches for the PCK problem could also be applied to strengthen mine scheduling

integer programs An investigation of both the a priori addition of strong knapsack cover-

based inequalities, possibly including the PFRS lifting procedure of van de Leensel et.

221

Page 235: Applications of integer programming in open pit mining: (2006)

al. [98] or the polynomial time lifting heuristics of van de Leensel et. al. [98] or Park

and Park [76], and the development of a specialised branch-and-cut procedure using these

inequalities and lifting procedures, are additional directions of possible future research.

The ultimate result could be an all-encompassing specialised branch-and-cut algorithm

for solving mine scheduling integer programs, incorporating both clique and cover-based

inequalities.

This thesis has extended the state-of-the-art for the application of integer programming

to solve mine scheduling problems. Both the theoretical and numerical results presented

are promising, and there is significant scope for further gains to be made through extension

of the ideas, approaches and results presented.

222

Page 236: Applications of integer programming in open pit mining: (2006)

Bibliography

[1] F.N. Abu-Khazam, N.E. Baldwin, M.A. Langston, and N.F. Samatova. On the

relative efficiency of maximal clique enumeration algorithms, with applications to

high-throughput computational biology. In Proceedings, International Conference

on Research Trends in Science and Technology, Beirut, Lebanon, (2005).

[2] P.K. Achireko and G. Ansong. Stochastic model of mineral prices incorporating

neural network and regression analysis. Transactions of the Institution of Mining

and Metallurgy (Section A: Mineral Technology), 109: A49-A54 (2000).

[3] R. Ahuja, T. Magnanti, and J. Orlin. Network Flows: Theory, Algorithms and

Applications. Prentice Hall, New Jersey, 1993.

[4] A. Atamtürk. Cover and pack inequalities for (mixed) integer programming. Annals

of Operations Research, 139: 21-38 (2005).

[5] Australian Bureau of Agricultural and Resource Economics. Australian Commodity

Statistics 2005. http://www.abareconomics.com.

[6] Australian Bureau of Statistics. Year Book Australia 2003: Mining.

http: //www.abs.gov.au/ausstats/abs%40.nsf/ 94713ad445ff 1425ca25682000192af2/

96709519d6596df2ca256cae0004f4af!OpenDocument.

[7] E. Balas. Disjunctive programming. Annals of Discrete Mathematics, 5: 3-51 (1979).

[8] A F Banfield and J.F. Havard. Let's define our terms in mineral evaluation. Mining

Engineering, 27: 74-78 (1975).

[9] R.W. Barbaro and R.V. Ramani. Generalized multiperiod MIP model for production

scheduling and processing facilities selection and location. Mining Engineering, 38:

107-114 (1986).

[10] C. Barnhart, E.L. Johnson, G.L. Nemhauser, M.W.P. Savelsbergh, and P.H. Vance.

Branch-and-price: column generation for solving huge integer programs. Operations

Research, 46: 316-329 (1998).

[11] I. Baybars. A survey of exact algorithms for the simple assembly line balancing

problem. Management Science, 32: 909-932 (1986).

223

Page 237: Applications of integer programming in open pit mining: (2006)

[12] F. Black and M. Scholes. The pricing of options and corporate liabilities. Journal

of Political Economy, 81: 637-659 (1973).

[13] G.H. Blackwell. Computerized mine planning for medium-size open-pits. Transac-

tions of the Institution of Mining and Metallurgy (Section A: Mining Industry), 102: A83-A88 (1993).

[14] E.A. Boyd. Polyhedral results for the precedence-constrained knapsack problem.

Discrete Applied Mathematics, 41: 185-201 (1993).

[15] C. Bron and J. Kerbosch. Algorithm 457: Finding all cliques of an undirected graph.

Communications of the ACM, 16: 575-577 (1973).

[16] L. Caccetta and L.M. Giannini. Application of operations research techniques in

open pit mining. In Byong-Hun Ahn, editor, Asian-Pacific Operations Research:

APORS'88. Elsevier Science Publishers B.V., North-Holland, 1990.

[17] L. Caccetta and L.M. Giannini. An application of discrete mathematics in the design

of an open pit mine. Discrete Applied Mathematics, 21: 1-19 (1988).

[18] L. Caccetta, L.M. Giannini, and P. Kelsey. On the implementation of exact optimiza-

tion techniques for open pit design. Asia-Pacific Journal of Operational Research,

11: 155-170 (1994).

[19] L. Caccetta, L.M. Giannini, and P. Kelsey. Optimum open pit design: a case study.

Asia-Pacific Journal of Operational Research, 8: 166-178 (1991).

[20] L. Caccetta and S.P. Hill. An application of branch and cut to open pit mine

scheduling. Journal of Global Optimization, 27: 349-365 (2003).

[21] C.C.B. Cavalcante, C. Carvalho de Souza, M.W.P. Savelsbergh, Y. Wang, and L.A.

Wolsey. Scheduling projects with labour constraints. Discrete Applied Mathematics,

112: 27-52 (2001).

[22] N. Chiba and T. Nishizeki. Arboricity and subgraph listing algorithms. SIAM

Journal on Computing, 14: 210-223 (1985).

[23] G. Cho and D.X. Shaw. A depth-first dynamic programming algorithm for the tree

knapsack problem. INFORMS Journal on Computing, 9: 431-438 (1997).

[24] H. Crowder, E.L. Johnson, and M. Padberg. Solving large-scale zero-one linear

programming problems. Operations Research, 31: 803-834 (1983).

[25] K. Dagdelen. Open pit optimization - strategies for improving economics of mining

projects through mine planning. In Proceedings of the International Symposium on

Orebody Modelling and Strategic Mine Planning: Uncertainty and Risk Management,

Perth, WA, 21-24 (2004).

224

Page 238: Applications of integer programming in open pit mining: (2006)

[26] Datamine. Introductory training course notes. 2001.

[27] B. de Reyck and W. Herroelen. A branch-and-bound procedure for the resource con-

strained project scheduling problem with generalized precedence relations. European

Journal of Operational Research, 111: 152-174 (1998).

[28] B. Denby and D. Schofield. Open-pit design and scheduling by use of genetic algo-

rithms. Transactions of the Institution of Mining and Metallurgy (Section A: Mining

Industry), 103: A21-A26 (1994).

[29] B. Denby and D. Schofield. Inclusion of risk assessment in open-pit design and

scheduling. Transactions of the Institution of Mining and Metallurgy (Section A:

Mining Industry), 104: A67-A71 (1995).

[30] R. Dimitrakopoulos. Foreward. In Proceedings of the International Symposium on

Orebody Modelling and Strategic Mine Planning: Uncertainty and Risk Management,

Perth, WA, vii-viii (2004).

[31] R. Dimitrakopoulos, C.T. Farrelly, and M. Godoy. Moving forward from traditional

optimization: grade uncertainty and risk effects in open-pit design. Transactions of

the Institution of Mining and Metallurgy (Section A: Mining Industry), 111: A82

A88 (2002).

[32] R. Dimitrakopoulos, L. Martinez, and S..Ramazan. Optimising open pit design with

simulated orebodies and Whittle Four-X: A maximum upside/minimum downside

approach. In Proceedings of the International Symposium on Orebody Modelling and

Strategic Mine Planning: Uncertainty and Risk Management, Perth, WA, 243-248

(2004).

[33] P.A. Dowd and A.H. Onur. Open-pit optimization part 1: optimal open-pit de-

sign. Transactions of the Institution of Mining and Metallurgy (Section A: Mining

Industry), 102: A95-A104 (1993).

[34] EduMine. Dictionary of Mining, Mineral and Related Terms.

http://xmlwords.infomine.com/xmlwords.htm.

[35] S.E. Elmaghraby. Activity nets: a guided tour through some recent developments.

European Journal of Operational Research, 82: 383-408 (1995).

[36] R. Etgar, A. Shtub, and L.J. LeBlanc. Scheduling projects to maximize net present

value the case of time-dependent, contingent cash flows. European Journal of

Operational Research, 96: 90-96 (1997).

[37] R. Fourer, D.M. Gray, and B.W. Kernighan. AMPL: A Modeling Language for

Mathematical Programming. Boyd and Fraser, Massachusetts, 1994.

225

Page 239: Applications of integer programming in open pit mining: (2006)

[38] G. Froyland, M. Menabde, P. Stone, and D. Hodson. The value of additional drilling

to open pit mining projects. In Proceedings of the International Symposium on .

Orebody Modelling and Strategic Mine Planning: Uncertainty and Risk Management,.

Perth, WA, 169-176 (2004).

[39] M.E. Gershon. Mine scheduling optimization with mixed integer programming. Min-

ing Engineering, 35: 351-354 (1983).

[40] M.E. Gershon. An open-pit production scheduler: algorithm and implementation.

Mining Engineering, 39: 793-796 (1987).

[41] M. Godoy and R. Dimitrakopoulos. A multi-stage approach to profitable risk man-

agement for strategic planning in open pit mines. In Proceedings of the International Symposium on Ore body Modelling and Strategic Mine Planning: Uncertainty and Risk Management, Perth, WA, 339-346 (2004).

[42] A.V. Goldberg and R.E. Tarjan. A new approach to the maximum flow problem.

Journal of the Association for Computing Machinery, 35: 921-940 (1988).

[43] S.C. Graves, A.H.G. Rinnooy Kan, and P.H. Zipkin (editors). Handbooks in Op-erations Research and Management Science Volume 4: Logistics of Production and Inventory. Elsevier Science Publishers B.V., Amsterdam, 1993.

[44] W. Herroelen, P. van Dommelen, and E. Demeulemeester. Project network models

with discounted cash flows: a guided tour through recent developments. European

Journal of Operational Research, 100: 97-121 (1997).

[45] D.S. Hochbaum. A new-old algorithm for minimum cut and maximum flow in closure

graphs. Networks, 37(4): 171-193 (2001).

[46] D.S. Hochbaum and A. Chen. Performance analysis and best implementations of

old and new algorithms for the open-pit mining problem. Operations Research, 48:

894-914 (2000).

[47] W. Hustrulid and M. Kuchta. Open Pit Mine Planning and Design, Volume 1:

Fundamentals. A.A. Balkerma, Rotterdam, 1995.

[48] O.H. Ibarra and C.E. Kim. Approximation algorithms for certain scheduling prob-

lems. Mathematics of Operations Research, 3: 197-204 (1978).

[49] O. Icmeli and S. Erenguc. A branch and bound procedure for the resource con-

strained project scheduling problem with discounted cash flows. Management Sci-

ence, 42: 1395-1408 (1996).

[50] Ilog Inc. Ilog CPLEX 8.0 User's Manual, 2002.

226

Page 240: Applications of integer programming in open pit mining: (2006)

[51] D.S. Johnson and K.A. Niemi. On knapsacks, partitions, and a new dynamic pro-

gramming technique for trees. Mathematics of Operations Research, 8: 1-14 (1983).

[52] D.S. Johnson, M. Yannakakis, and C.H. Papadimitriou. On generating all maximal

independent sets. Information Processing Letters, 27: 119-123 (1988).

[53] T.B. Johnson and W.R. Sharp. A three-dimensional dynamic programming method

for optimal open pit design. Technical report, U.S. Bureau of Mines Report of

Investigations 7553, 1971.

[54] H. Kellerer, U. Pferschy, and D. Pisinger. Knapsack Problems. Springer-Verlag,

Berlin, 2004.

[55] R. Khalokakaie, P.A. Dowd, and R.J. Fowell. Lerchs-Grossmann algorithm with

variable slope angles. Transactions of the Institution of Mining and Metallurgy

(Section A: Mining Technology), 109: A77-A85 (2000).

[56] Y.C. Kim. Ultimate pit limit design methodologies using computer models the

state of the art. Mining Engineering, 28: 1454-1459 (1978).

[57] A. Kimms. Maximizing the net present value of a project under resource constraints

using a Lagrangian relaxation based heuristic with tight upper bounds. Annals of

Operations Research, 102: 221-236 (2001).

[58] S.G. Kolliopoulos and G. Steiner. Partially-ordered knapsack and applications to

scheduling. Lecture Notes in Computer Science, 2461: 612-624 (2002).

[59] F. Kose, W. Weekwerth, T. Linke, and O. Fiehn. Visualizing plant metabolomic

correlation networks using clique-metabolite matrices. Bioinformatics, 17: 1198

1208 (2001).

[60] A.H. Land and A.G. Doig. An automatic method for solving discrete programming

problems. Econometrica, 28: 497-520 (1960).

[61] K.F. Lane. The Economic Definition of Ore: Cut-Off Grades in Theory and Practice.

Mining Journal Books Limited, London, 1988.

[62] H. Lerchs and I.F. Grossmann. Optimum design of open-pit mines. Transactions

CIM, Vol. LXVIII: 17-24 (1965).

[63] S. Li, R. Dimitrakopoulos, J. Scott, and D. Dunn. Quantification of geological

uncertainty and risk using stochastic simulation and applications in the coal mining

industry. In Proceedings of the International Symposium on Ore body Modelling and

Strategic Mine Planning: Uncertainty and Risk Management, Perth, WA, 185-192

(2004).

227

Page 241: Applications of integer programming in open pit mining: (2006)

[64] K. Makino and T. Uno. New algorithms for enumerating all maximal cliques. Pro-

ceedings çm SWAT, Lecture Notes in Computer Science, 3111: 260-272 (2004).

[65] L. Martinez and R. Wolff. New method for metal price risk using copulas. In Pro-

ceedings of the International Symposium on Orebody Modelling and Strategic Mine

Planning: Uncertainty and Risk Management, Perth, WA, 193-199 (2004).

[66] J.J. McCutcheon and W.F. Scott. An Introduction to the Mathematics of Finance.

Butterworth-Heinemann, Oxford, 1998.

[67] M. Menabde, G. Froyland, P. Stone, and G. Yeates. Mining schedule optimisation for

conditionally simulated orebodies. In Proceedings of the International Symposium on

Orebody Modelling and Strategic Mine Planning: Uncertainty and Risk Management,

Perth, WA, 347-352 (2004).

[68] M. Meyer. Applying linear programming to the design of ultimate pit limits. Man-

agement Science, 16: B121-B135 (1969).

[69] Mineral Council of Australia. Trade and Investment Activity Brief - December Quar-

ter 2004. http://www.minerals.org.au/_data/assets/pdflle/6307/tiab_Q4_04.pdf.

[70] Mintec Inc. General training workbook. 1999.

[71] J.W. Moon and L. Moser. On cliques in graphs. Israel Journal of Mathematics, 3:

23-28 (1965).

[72] D.C.W. Muir. Pseudoflow, new life for Lerchs-Grossmann pit optimization. In Pro-

ceedings of the International Symposium on Ore body Modelling and Strategic Mine

Planning: Uncertainty and Risk Management, Perth, WA, 39-48 (2004).

[73] G.L. Nemhauser and L.A. Wolsey. Integer and Combinatorial Optimization. Wiley-

Interscience, New York, 1988.

[74] A.H. Onur and P.A. Dowd. Open-pit optimization part 2: production scheduling

and inclusion of roadways. Transactions of the Institution of Mining and Metallurgy

(Section A: Mining Industry), 102: A105-A113 (1993).

[75] M.W. Padberg. Covering, packing and knapsack problems. Annals of Discrete

Mathematics, 4: 265-287 (1979).

[76] K. Park and S. Park. Lifting cover inequalities for the precedence-constrained knap-

sack problem. Discrete Applied Mathematics, 72: 219-241 (1997).

[77] J.H. Patterson and J.J. Albracht. Assembly-line balancing: zero-one programming

with Fibonacci search. Operations Research, 23: 166-172 (1975).

228

Page 242: Applications of integer programming in open pit mining: (2006)

[78] G. Peirson, R. Brown, S. Easton, and P. Howard. Business Finance, 7th Edition.

McGraw-Hill, Sydney, 2000.

[79] J.C. Picard. Maximum closure of a graph and applications to combinatorial prob-

lems. Management Science, 22: 1268-1272 (1976).

[80] S. Ramazan, K. Dagdelen, and T.B. Johnson. Fundamental tree algorithm in op-

timising production scheduling for open pit mine design. Transactions of the In-

stitution of Mining and Metallurgy (Section A: Mining Technology), 114: A45-A54

(2005).

[81] S. Ramazan and R. Dimitrakopoulos. Recent applications of operations research in

open pit mining. Transactions of the Society for Mining, Metallurgy and Exploration,

316: 73-78 (2004).

[82] S. Ramazan and R. Dimitrakopoulos. Stochastic optimisation of long-term produc-

tion scheduling for open pit mines with a new integer programming formulation.

In Proceedings of the International Symposium on Ore body Modelling and Strategic

Mine Planning: Uncertainty and Risk Management, Perth, WA, 353-360 (2004).

[83] N. Samphaiboon and T. Yamada. Heuristic and exact algorithms for the precedence-

constrained knapsack problem. Journal of Optimization Theory and Applications,

105: 659-676 (2000).

[84] A. Scholl and C. Becker. State-of-the-art exact and heuristic solution procedures

for simple assembly line balancing. European Journal of Operational Research, 168:

666-693 (2006).

[85] H. Sevim and D.D. Lei. The problem of production planning in open pit mines.

INFOR, 36: 1-12 (1998).

[86] F. Seymour. Pit limit parameterization from modified Lerchs-Grossmann algorithm.

SME Annual Meeting, Mar 6-9, 1995, Denver, Colorado, Preprint 95-69.

[87] D.X. Shaw and G. Cho. The critical-item, upper bounds, and a branch-and-bound

algorithm for the tree knapsack problem. Networks, 28: 205-216 (1998).

[88] D.X. Shaw, G. Cho, and H. Chang. A depth-first dynamic programming procedure

for the extended tree knapsack problem in local access network design. Telecommu-

nication Systems, 7: 29-43 (1997).

[89] W.J. Shaw and S. Khosrowshahi. Open pit optimization - strategies for improving

economics of mining projects through mine planning. In Proceedings of the Interna-

tional Symposium on Ore body Modelling and Strategic Mine Planning: Uncertainty

and Risk Management, Perth, WA, 21-24 (2004).

229

Page 243: Applications of integer programming in open pit mining: (2006)

[90] S.S. Skiena. The Algorithm Design Manual. Springer-Verlag, New York, 1997.

[91] M.L. Smith. Optimizing inventory stockpiles and mine production: an application of

separable and goal programming to phosphate mining using AMPL/CPLEX. CIM

Bulletin, 92: 61-64 (1999).

[92] M. Sniedovich. Dynamic Programming. M. Dekker, New York, 1992.

[93] K.E. Stecke and I. Kim. A study of part type selection approaches for short-term

production planning. International Journal of Flexible Manufacturing Systems, 1:

7-29 (1988).

[94] B. Tolwinski and R. Underwood. A scheduling algorithm for open pit mines. IMA

Journal of Mathematics Applied in Business and Industry, 7: 247-270 (1996).

[95] E. Tomita, A. Tanaka, and H. Takahashi. The worst-case time complexity for gen-

erating all maximal cliques. In Proceedings of the 10th International Computing and

Combinatorics Conference (COCOON 2004), Lecture Notes in Computer Science,

3106: 161-170 (2004).

[96] S. Tsukiyama, M. Ide, H. Aviyoshi, and I. Shirakawa. A new algorithm for generating

all the maximum independent sets. SIAM Journal on Computing, 6: 505-517 (1977).

[97] R. Underwood and B. Tolwinski. A mathematical programming viewpoint for solving

the ultimate pit problem. European Journal of Operational Research, 107: 96-107

(1998).

[98] R.L.M.J. van de Leensel, C.P.M. van Hoesel, and J.J. van de Klundert. Lifting

valid inequalities for the precedence constrained knapsack problem. Mathematical

Programming Series A, 86: 161-185 (1999).

[99] M. Vanhoucke, E. Demeulemeester, and W. Herroelen. On maximizing the net

present value of a project under renewable resource constraints. Management Sci-

ence, 47: 1113-1121 (2001).

[100] Q. Wang. Long-term open-pit production scheduling through dynamic phase-bench

sequencing. Transactions of the Institution of Mining and Metallurgy (Section A:

Mining Industry), 105: A99-A104 (1996).

[101] Q. Wang and H. Sevim. Open pit production planning through pit-generation and

pit-sequencing. Transactions of the Society for Mining, Metallurgy and Exploration,

294: 1968-1974 (1993).

[102] T.M. Ware. Operations research in the mining industry. Operations Research, 4:

119-120 (1956).

230

Page 244: Applications of integer programming in open pit mining: (2006)

[103] D. Whittle and A. Bozorgebrahimi. Hybrid pits - linking conditional simulation

and Lerchs-Grossmann through set theory. In Proceedings of the International Sym-

posium on Orebody Modelling and Strategic Mine Planning: Uncertainty and Risk

Management, Perth, WA, 399-404 (2004).

[104] Whittle Programming Pty. Ltd. Four-X Whittle multi-element open pit optimisation

software - user manual. Melbourne, 1998.

[105] 'Whittle Programming Pty. Ltd. Three-D Whittle open pit optimization software:

user manual. Melbourne, 1995.

[106] W.E. Wilhelm. A technical review of column generation in integer programming.

Optimization and Engineering, 2: 159-200 (2001).

[107] W.L. Winston. Operations Research: Applications and Algorithms. Duxbury Press,

California, 1994.

[108] G.J. Woeginger. On the approximability of average completion time scheduling

under precedence constraints. Discrete Applied Mathematics, 131: 237-252 (2003).

[109] L.A. Wolsey. Integer Programming. John Wiley & Sons, New York, 1998.

[110] B.-J. You and T. Yamada. A pegging approach to the precedence-constrained knap-

sack problem. Working Paper NDA-CS-0501, 2006.

http://wvw.nda.ac.jp/"yamada/ypublication.html.

[111] M.R. Zamani. A high performance exact method for the resource-constrained project

scheduling problem. Computers and Operations Research, 28: 1387-1401 (2001).

[112] Y. Zhang. http://www.cs.utk.edu/"yzhang/ce/.

[113] Y. Zhao and Y.C. Kim. A new optimum pit limit design algorithm. In 23rd Pro-

ceedings of the Application of Computers and Operations Research in the Mineral

Industry, Tuscon, AZ, 423-434 (1992).

[114] D. Zhu and R. Padman. A metaheuristic scheduling procedure for resource-

constrained projects with cash flows. Naval Research Logistics, 46: 912-927 (1999).

231

Page 245: Applications of integer programming in open pit mining: (2006)
Page 246: Applications of integer programming in open pit mining: (2006)

Appendix A

Summary of Results of the Application of Precedence Constrained Knapsack Inequalities for Pit 1 Data Sets

Page 247: Applications of integer programming in open pit mining: (2006)

Formulation Table No.

No. User Cuts

Applied

No. Inequalities

Added

No. B Sc B Nodes

Root Node Gap 1

Root Node Gap 2

CPU Time

(NCVBIP-OPMPSP) 4.1 2500 12.2 10.4 46.1 (CVBIP-OPMPSP) 4.1 2700 12.2 9.5 24.7 (CVBIP-OPMPSP), (5.2.1) 6.1 46 900 3.3 3.3 9.5 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 70 670 2.1 1.9 8.9 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 6.3 49 70 200 3.3 1.8 5.1 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 61 600 2.5 2.3 7.3 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 57 61 500 3.3 2.4 6.9 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 80 480 2.4 2.2 7.4 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 53 80 510 3.3 3.3 6.8

(MIP-OPMPSP) 4.1 800 11.3 9.2 22.0 (MIP-OPMPSP), (5.2.5) 6.2 43 80 3.2 2.6 6.0 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 86 + 3 140 2.7 2.3 7.5 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 13 130 3.0 2.7 6.8 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 11 13 100 3.2 2.5 6.6 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 66 100 2.4 2.1 6.7 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 64 66 110 3.2 2.1 6.8 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 59 70 2.3 1.9 7.7 (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 40 59 88 3.2 2.1 6.3

Table A.1: Summary of Results for the 67 Block Model Using 5 Time Periods.

Page 248: Applications of integer programming in open pit mining: (2006)

Formulation Table No.

No. User

Cuts Applied

No. Inequalities

Added

No. B & 13 Nodes

Root Node

Cap 1

Root Node Cap 2

CPU Time

(NCVBIP-OPMPSP) 4.1 > 2161700 14.1 14.1 1153341 (CVBIP-OPMPSP) 4.1 > 2132700 14.1 11.4 403002 (CVBIP-OPMPSP), (5.2.1) 6.1 103 > 3768100 5.4 4.8 59190g (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 271 > 3541800 3.5 3.3 685194 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 6.3 185 271 1806400 5.4 3.3 41153.9 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 95 > 3548300 3.8 3.6 641245 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 84 95 1569480 5.4 3.7 24804.4 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 152 > 3869990 3.9 3.7 586866 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 112 152 1874400 5.4 3.7 30802.9 (MIP-OPMPSP) 4.1 7400 12.2 9.9 558.7 (MIP-OPMPSP), (5.2.5) 6.2 98 1820 4.2 3.8 123.0 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 196 + 5 700 3.9 3.1 67.5 MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 31 2100 3.8 3.5 165.6 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 24 31 1700 4.2 3.4 102.6 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 116 1200 2.8 2.6 112.6 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 114 116 700 4.2 2.6 63.7 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 83 700 3.2 3.0 73.9 (MIP-OPMPSP), (5.2.5), All Clique Ings User Cuts 6.8 55 83 700 4.3 3.1 60.1

Table A.2: Summary of Results for the 67 Block Model Using 10 Time Periods.

1 Gap at memory limit is 3.3%. 2 Gap at memory limit is 2.6%. 3 Gap at memory limit is 1.5%. 4 Gap at memory limit is 1.5%. 5 Gap at memory limit is 2.3%. 6 Gap at memory limit is 1.3%.

Page 249: Applications of integer programming in open pit mining: (2006)

Formulation Table No.

No. User Cuts

Applied

No. Inequalities

Added

No. B & B Nodes

Root Node Gap 1

Root Node Gap 2

CPU Time

(NCVBIP-OPMPSP) 4.1 2400 6.7 6.7 115.3 (CVBIP-OPMPSP) 4.1 3840 6.7 6.0 103.1 (CVBIP-OPMPSP), (5.2.1) 6.1 40 610 2.6 2.3 22.6 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 227 3000 1.5 1.4 16.7 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 6.3 173 227 360 2.6 1.4 16.5 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 74 600 1.6 1.4 21.7 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 57 74 120 2.6 1.6 13.1 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 144 00 1.4 1.2 17.2 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 116 144 540 2.6 1.3 26.3

(MIP-OPMPSP) 4.1 300 6.1 5.1 46.9 (MIP-OPMPSP), (5.2.5) 6.2 37 170 2.5 2.4 24.4 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 74 + 3 10 2.2 1.9 14.4 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 132 126 1.8 1.6 19.1 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 83 132 20 2.5 1.8 12.8 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 79 27 1.4 1.1 21.7 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 74 79 20 2.5 1.4 14.1 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 250 10 1.4 1.2 22.0 (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 118 250 50 2.5 1.4 18.5

Table A.3: Summary of Results for the 115 Block Model Using 5 Time Periods.

Page 250: Applications of integer programming in open pit mining: (2006)

Formulation Table No.

No. User Cuts

Applied

No. Inequalities

Added

No. B & B Nodes

Root Node Gap 1

Root Node Gap 2

CPU Time

(NCVBIP-OPMPSP) 4.1 > 1216200 7.5 7.5 1905311 (CVBIP-OPMPSP) 4.1 > 1935300 7.5 7.0 967843 (CVBIP-OPMPSP), (5.2.1) 6.1 96 456000 3.3 3.2 17479.7 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 396 163910 2.2 2.0 7911.5 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 6.3 305 396 61350 3.3 2.2 2911.8 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 147 94560 2.2 2.1 3678.6 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 113 147 237400 3.3 2.2 10088.7 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 321 127200 2.1 2.0 4992.1 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 213 321 38390 3.3 2.1 1681.9 (MIP-OPMPSP) 4.1 3000 6.8 6.2 986.6 (MIP-OPMPSP), (5.2.5) 6.2 101 320 2.8 2.6 139.0 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 202 + 5 300 2.7 2.4 131.2 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 205 460 2.1 2.1 171.3 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 125 205 330 2.8 2.1 137.3 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 160 200 1.7 1.5 102.2 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 134 160 300 2.8 1.6 130.8 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 258 160 1.7 1.6 102.7 (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 128 258 230 2.8 1.7 117.8

Table A.4: Summary of Results for the 115 Block Model Using 10 Time Periods.

1 Gap at memory limit is 3.3%. 2 Gap at memory limit is 1.2%.

Page 251: Applications of integer programming in open pit mining: (2006)

Formulation Table No.

No. User Cuts

Applied

No. Inequalities

Added

No. B & B Nodes

Root Node Gap 1

Root Node Gap 2

CPU Time

(NCVBIP-OPMPSP) 4.1 2930 4.1 4.0 307.3 (CVBIP-OPMPSP) 4.1 1100 4.1 3.9 101.3 (CVBIP-OPMPSP), (5.2.1) 6.1 35 100 1.9 1.8 28.6 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 233 500 1.3 1.2 51.3 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 6.3 116 233 190 1.9 1.3 40.1 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 102 740 1.4 1.3 55.4 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 72 102 200 1.9 1.3 37.8 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 368 240 1.2 1.1 43.6 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 103 368 260 1.9 1.3 44.0

(MIP-OPMPSP) 4.1 740 4.1 3.7 168.8 (MIP-OPMPSP), (5.2.5) 6.2 45 140 1.9 1.8 53.4 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 90 + 0 140 1.9 1.8 55.1 (MIP-0PMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 14 30 1.8 1.7 59.5 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 5 14 30 1.9 1.8 52.7 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 84 80 1.4 1.4 51.2 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 62 84 10 1.9 1.4 52.4 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 283 100 1.5 1.4 85.8 (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 55 283 30 1.9 1.5 48.5

Table A.5: Summary of Results for the 182 Block Model Using 5 Time Periods.

Page 252: Applications of integer programming in open pit mining: (2006)

Formulation Table No.

No. User Cuts

Applied

No. Inequalities

Added

No. B & B Nodes

Root Node Gap 1

Root Node Gap 2

CPU Time

(NCVBIP-OPMPSP) 4.1 > 1045400 4.6 4.4 360000' (CVBIP-OPMPSP) 4.1 143400 4.6 4.4 15843.7 (CVBIP-OPMPSP), (5.2.1) 6.1 101 27210 2.4 2.3 2469.6 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 1107 173400 1.7 1.7 20942.6 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 6.3 507 1107 > 1160200 2.4 1.7 1114852 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 208 211570 1.7 1.7 20958.6 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 167 208 227500 2.4 1.7 22473.1 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 - - - - - (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 - - - - - - (MIP-OPMPSP) 4.1 2190 4.1

r .

co co

r- co e}

' er ' '

r-• ;

1585.2 (MIP-OPMPSP), (5.2.5) 6.2 96 800 2.0 602.4 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 192 + 5 1470 2.0 982.6 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 191 370 1.8 426.8 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 51 191 400 2.0 553.6 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 203 780 1.4 593.0 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 153 203 170 2.0 313.3 (MIP-OPMPSP), (5.2.5), All Clique Ings Direct 6.8 - - - (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 - - - - -

Table A.6: Summary of Results for the 182 Block Model Using 10 Time Periods.

Gap at time limit is 2.3%. 2 Gap at memory limit is 1.1%.

Page 253: Applications of integer programming in open pit mining: (2006)

Formulation Table No.

No. User Cuts

Applied

No. Inequalities

Added

No. B & B Nodes

Root Node Gap 1

Root Node Gap 2

CPU Time

(NCVBIP-OPMPSP) 4.1 500 1.6 1.5 283.6 (CVBIP-OPMPSP) 4.1 500 1.6 1.5 159.6 (CVBIP-OPMPSP), (5.2.1) 6.1 21 290 1.2 1.1 189.9 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 740 200 0.9 0.9 187.5 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 6.3 250 740 80 1.0 0.9 148.8 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 170 10 0.9 0.9 142.9 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 54 170 90 1.0 0.9 144.1 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 7441 90 0.9 0.8 310.8 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 716 7441 0 1.0 0.9 207.2

(MIP-OPMPSP) 4.1 50

1— 01—

p

6

ÔC . 6

6 6

6 b

Ôen

ï

1.4 231.1 (MIP-OPMPSP), (5.2.5) 6.2 21 60 0.9 150.2 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 42 + 0 60 0.9 151.0 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 57 10 0.9 190.6 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 6 57 30 0.9 188.0 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 205 0 0.8 147.8 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 52 205 10 0.9 150.2 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 6512 10 0.8 322.4 (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 284 6512 10 0.8 233.8

Table A.7: Summary of Results for the 354 Block Model Using 5 Time Periods.

Page 254: Applications of integer programming in open pit mining: (2006)

Formulation Table No.

No. User Cuts

Applied

No. Inequalities

Added

No. B & B Nodes

Root Node

Cap 1

Root Node Cap 2

CPU Time

(NCVBIP-OPMPSP) 4.1 > 263400 1.8 1.8 3600001 (CVBIP-OPMPSP) 4.1 28900 1.8 1.7 13745.2 (CVBIP-OPMPSP), (5.2.1) 6.1 93 29970 1.3 1.3 12753.0 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 795 57000 1.1 1.1 21575.8 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 6.3 280 795 40800 1.2 1.1 17714.6 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 256 15910 1.1 1.1 6662.8 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 77 256 7170 1.2 1.1 3085.3 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 7808 75500 1.1 1.0 45510.2 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 708 7808 4100 1.2 1.0 2275.6 (MIP-OPMPSP) 4.1 700 1.6 1.6 2885.2 (MIP-OPMPSP), (5.2.5) 6.2 91 80 1.0 0.9 1157.3 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 182 + 2 70 1.0 0.9 866.3 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 145 10 1.0 0.9 685.8 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 15 145 30 1.0 0.9 823.5 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 305 30 0.9 0.9 690.5 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 75 305 30 1.0 0.9 758.7 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 7160 30 0.9 0.9 1106.1 (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 310 7160 30 1.0 0.9 790.2

Table A.8: Summary of Results for the 354 Block Model Using 10 Time Periods.

1 Gap at time limit is 1.8%.

Page 255: Applications of integer programming in open pit mining: (2006)
Page 256: Applications of integer programming in open pit mining: (2006)

Appendix B

Summary of Results of the Application of Precedence Constrained Knapsack Inequalities for Pit 2 Data Sets

243

Page 257: Applications of integer programming in open pit mining: (2006)

Formulation Table No.

No. User Cuts

Applied

No. Inequalities

Added

No. B & B Nodes

Root Node Cap 1

Root Node Cap 2

CPU Time

(NCVBIP-OPMPSP) 4.1 1000 6.3 5.4 18.3 (CVBIP-OPMPSP) 4.1 800 6.3 5.2 15.3 (CVBIP-OPMPSP), (5.2.1) 6.1 38 60 4.9 3.4 2.3 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 105 190 1.5 1.2 3.4 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 6.3 39 105 140 4.9 1.3 3.4 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 50 30 2.7 2.2 2.1 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 6 50 10 4.9 2.3 2.0 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 137 190 1.3 0.8 4.1 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 37 137 130 4.9 1.0 2.8

(MIP-OPMPSP) 4.1 50 4.3 3.5 9.5 (MIP-OPMPSP), (5.2.5) 6.2 36 6 2.9 2.5 1.8 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 72 + 2 6 2.9 2.5 1.9 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 3 0 2.7 2.2 3.3 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 3 3 6 2.9 2.1 1.9 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 32 10 2.7 2.4 3.2 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 7 32 0 2.9 2.1 2.1 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 138 0 2.4 2.4 3.1 (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 6 138 0 2.9 2.3 2.2

Table B.1: Summary of Results for the 66 Block Model Using 5 Time Periods.

Page 258: Applications of integer programming in open pit mining: (2006)

Formulation Table

No. No. User Cuts

Applied

No. Inequalities

Added

No.

B & B Nodes

Root Node Cap 1

Root Node Cap 2

CPU Time

(NCVBIP-OPMPSP) 4.1 142200 10.4 8.9 9397.6 (CVBIP-OPMPSP) 4.1 15700 10.4 8.9 539.9 (CVBIP-OPMPSP), (5.2.1) 6.1 94 13030 5.9 5.0 251.9 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 164 2000 3.7 3.2 61.9 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 6.3 50 164 1800 5.9 3.4 61.1 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 99 1400 4.5 4.2 43.8 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 45 99 5790 5.9 4.2 184.2 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 217 3500 2.6 2.2 106.2 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 68 217 5520 5.9 2.4 190.0

(MIP-OPMPSP) 4.1 500 8.7 8.3 109.0 (MIP-OPMPSP), (5.2.5) 6.2 84 200 6.9 6.8 27.9 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 168 + 10 100 4.6 4.3 22.1 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 31 200 6.9 6.7 31.9 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 1 31 200 6.9 6.7 31.9 (M1P-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 64 357 6.9 6.4 43.2 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 4 64 200 6.9 6.8 25.5 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 207 100 6.3 5.9 24.5 (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 9 207 300 6.9 6.2 33.1

Table B.2: Summary of Results for the 66 Block Model Using 10 Time Periods.

Page 259: Applications of integer programming in open pit mining: (2006)

Formulation Table No.

No. User Cuts

Applied

No. Inequalities

Added

No. B & B Nodes

Root Node Gap 1

Root Node Gap 2

CPU Time

(NCVBIP-OPMPSP) 4.1 3000 12.1 10.6 135.1 (CVBIP-OPMPSP) 4.1 4700 12.1 10.3 75.0 (CVBIP-OPMPSP), (5.2.1) 6.1 54 300 5.7 4.8 9.0 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 118 100 4.1 3.2 6.1 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 6.3 53 118 120 5.7 3.3 9.1 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 44 20 2.9 2.5 5.5 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 39 44 140 5.7 2.7 8.6 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 229 60 1.2 0.7 6.7 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 60 229 140 5.7 1.1 7.7

(MIP-OPMPSP) 4.1 200 10.7 8.8 35.0 (MIP-OPMPSP), (5.2.5) 6.2 54 60 4.4 4.1 9.2 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 108 + 0 60 4.4 4.1 9.2 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 19 60 4.0 3.5 7.6 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 11 19 25 4.4 3.7 8.6 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 63 20 4.0 3.8 8.0 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 31 63 63 4.4 3.4 9.5 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 201 28 2.6 2.5 10.9 (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 29 201 36 4.4 2.5 10.1

Table B.3: Summary of Results for the 90 Block Model Using 5 Time Periods.

Page 260: Applications of integer programming in open pit mining: (2006)

Formulation Table No.

No. User Cuts

Applied

No. Inequalities

Added

No. B & B Nodes

Root Node Gap 1

Root Node Gap 2

CPU Time

(NCVBIP-OPMPSP) 4.1 > 1330500 13.5 12.6 302636' (CVBIP-OPMPSP) 4.1 1016200 13.5 11.9 64183.3 (CVBIP-OPMPSP), (5.2.1) 6.1 140 172700 5.9 5.4 5410.8 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 336 20280 4.2 3.5 1361.3 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ings User Cuts 6.3 170 336 19350 5.9 3.9 1602.8 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 113 17700 4.3 3.8 846.5 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 65 113 77770 5.9 3.7 2571.8 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 371 7380 2.9 2.3 466.1 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 115 371 343700 5.9 2.7 211053.0

(MIP-OPMPSP) 4.1 1000 11.5 9.6 358.1 (MIP-OPMPSP), (5.2.5) 6.2 134 300 5.3 5.0 85.9 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 268 + 6 440 4.6 4.3 81.8 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 58 200 5.0 5.0 87.9 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 7 58 260 - 5.3 4.8 83.7 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 116 300 4.8 4.7 84.7 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 52 116 300 5.3 4.7 72.0 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 268 218 4.2 4.1 73.4 (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 52 268 270 5.3 4.1 66.8

Table B.4: Summary of Results for the 90 Block Model Using 10 Time Periods.

' Gap at memory limit is 4.2%.

Page 261: Applications of integer programming in open pit mining: (2006)

Formulation Table No.

No. User Cuts

Applied

No. Inequalities

Added

No. B & B Nodes

Root Node Gap 1

Root Node Cap 2

CPU Time

(NCVBIP-OPMPSP) 4.1 117000 45.5 44.1 25655.9 (CVBIP-OPMPSP) 4.1 3300 45.5 39.3 434.7 (CVBIP-OPMPSP), (5.2.1) 6.1 209 2290 6.8 5.5 103.7 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 440 600 5.0 4.2 69.6 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 6.3 183 440 200 6.8 4.2 48.5 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 166 430 6.2 5.0 51.1 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 14 166 1190 6.8 5.2 74.3 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 539 200 5.0 4.2 47.0 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 280 539 310 6.8 4.0 53.8

(MIP-OPMPSP) 4.1 1200 44.3 40.8 376.8 (MIP-OPMPSP), (5.2.5) 6.2 203 80 8.3 7.6 36.8 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 406 + 6 30 5.9 5.4 35.5 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 24 109 8.3 7.6 66.6 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 7 24 100 8.3 7.6 49.5 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 155 100 7.6 7.4 50.7 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 12 155 200 8.3 7.0 67.0 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 471 200 5.4 5.2 76.3 (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 158 471 130 8.3 5.4 54.6

Table B.5: Summary of Results for the 166 Block Model Using 5 Time Periods.

Page 262: Applications of integer programming in open pit mining: (2006)

Formulation Table No.

No. User Cuts

Applied

No. Inequalities

Added

No. B & B Nodes

Root Node Cap 1

Root Node Gap 2

CPU Time

(NCVBIP-OPMPSP)

of 01

03

03 01 0

1

ofa.

"4 .t

en

en

ia

> 206800 48.5 48.5 360000' (CVBIP-OPMPSP) > 1520500 48.5 45.2 3600002 (CVBIP-OPMPSP), (5.2.1) 475 169320 7.6 7.2 13035.4 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 1064 141170 5.3 4.5 17450.6 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 444 1064 48600 7.6 4.5 7890.9 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 307 40726 7.0 6.4 3910.7 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 50 307 419450 7.6 6.8 35738.5 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 1006 153900 5.2 4.4 21064.6 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 504 1006 173400 7.6 4.8 24305.3 (MIP-OPMPSP) 4.1 6700 46.0 42.6 10816.2 (MIP-OPMPSP), (5.2.5) 6.2 462 1100 8.6 8.4 920.5 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 924 - 13 247 5.9 5.7 241.6 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 74 400 8.6 8.2 355.7 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 21 74 400 8.6 8.4 390.4 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ings Direct 6.6 261 400 7.6 6.7 297.1 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 45 261 258 8.6 7.5 271.8 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 933 400 5.8 5.7 353.3 (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 342 933 230 8.6 5.8 254.4

Table B.6: Summary of Results for the 166 Block Model Using 10 Time Periods.

1 Gap at time limit is 30.2%. 2 Cap at time limit is 4.9%.

Page 263: Applications of integer programming in open pit mining: (2006)

Formulation Table No.

No. User Cuts

Applied

No. Inequalities

Added

No. B & B Nodes

Root Node Gap 1

Root Node Gap 2

CPU Time

(NCVBIP-OPMPSP) 4.1 > 182900 70.3 70.3 360000' (CVBIP-OPMPSP) 4.1 19800 70.3 68.5 10232.8 (CVBIP-OPMPSP), (5.2.1) 6.1 619 1200 10.3 9.7 652.6 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 1797 1800 8.1 7.6 1129.6 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 6.3 642 1797 1090 10.3 7.8 635.7 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 475 1420 7.5 7.3 728.3 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 95 475 1210 10.3 7.1 745.0 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 7858 900 5.5 5.1 1055.4 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 1711 7858 1350 10.3 5.5 867.8

(MIP-OPMPSP) 4.1 3900 69.5 66.3 6005.9 (MIP-OPMPSP), (5.2.5) 6.2 616 400 10.1 9.4 680.6 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 1232 + 3 500 9.8 9.1 749.5 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 90 810 9.8 9.6 1011.3 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 22 90 400 10.1 9.1 812.8 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 546 200 7.6 7.3 738.7 (MIP-OPMPSP), (5.2.5), Heuristic Clique Inegs User Cuts 6.6 138 546 500 10.1 7.3 1067.9 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 6424 300 7.3 7.3 1126.6 (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 876 6424 700 10.1 7.1 1711.4

Table B.7: Summary of Results for the 420 Block Model Using 5 Time Periods.

1 Gap at time limit is 5.9%.

Page 264: Applications of integer programming in open pit mining: (2006)

Formulation Table No.

No. User

Cuts Applied

No. Inequalities

Added

No. B & B Nodes

Root Node Gap 1

Root

Node Cap 2

CPU Time

(NCVBIP-OPMPSP) 4.1 > 26700 72.3 71.1 360000' (CVBIP-OPMPSP) 4.1 > 119000 72.3 70.2 3600002 (CVBIP-OPMPSP), (5.2.1) 6.1 1384 101500 9.7 9.3 60463.3 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 3877 50850 7.8 7.1 27197.7 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 6.3 1085 3877 109160 9.7 7.7 68567.3 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 894 219600 7.2 6.9 138850.9 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 219 894 169210 9.7 7.1 117919.0 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 - - - - - (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 - - - - - -

(MIP-OPMPSP) 4.1 > 47700 71.0 63.6 3600003 (MIP-OPMPSP), (5.2.5) 6.2 1372 2000 9.5 8.9 7167.0 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 2744 + 12 1000 9.0 8.8 4039.3 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ings Direct 6.4 245 6200 9.3 9.2 24861.7 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 60 245 3200 9.5 8.7 16254.7 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 904 1100 7.2 7.1 7331.1 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 276 904 600 9.5 7.1 3077.5 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 - - - - - (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 - - - - - -

Table B.8: Summary of Results for the 420 Block Model Using 10 Time Periods.

1 Gap at time limit is 69.9%. 2 Cap at time limit is 3.6%. 3 Gap at time limit is 3.6%.

Page 265: Applications of integer programming in open pit mining: (2006)
Page 266: Applications of integer programming in open pit mining: (2006)

Appendix C

Summary of Results of the Application of Precedence Constrained Knapsack Inequalities for Pit 3 Data Sets

Page 267: Applications of integer programming in open pit mining: (2006)

Formulation Table No.

No. User

Cuts Applied

No. Inequalities

Added

No. B & B

Nodes

Root Node Gap 1

Root Node Gap 2

CPU Time

(NCVBIP-OPMPSP) 4.1 13500 25.3 24.3 719.1 (CVBIP-OPMPSP) 4.1 1100 25.3 21.6 50.1 (CVBIP-OPMPSP), (5.2.1) 6.1 18 15 6.2 4.6 14.1 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 192 0 6.2 3.9 18.8 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 6.3 59 192 30 6.2 4.6 19.7 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 3 0 3.6 2.9 17.4 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 3 3 10 6.2 3.3 17.9 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 - - - - -

(CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 - - - - - -

(MIP-OPMPSP) 4.1 4400 22.8 20.8 186.0 (MIP-OPMPSP), (5.2.5) 6.2 9 300 15.2 14.4 40.1 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 18 + 9 700 14.0 12.3 57.4 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 384 200 15.2 13.2 46.2 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 0 384 300 15.2 14,4 43.3 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 5 0 3.5 3.1 22.9 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 3 5 15 15.2 3.4 27.5 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 1115 20 3.5 3.1 176.3 (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 85 1115 0 15.1 3.2 151.8

Table C.1: Summary of Results for the 164 Block Model Using 5 Time Periods.

Page 268: Applications of integer programming in open pit mining: (2006)

Formulation Table

No. No.

User Cuts

Applied

No. Inequalities

Added

No. B Sc B Nodes

Root Node Gap 1

Root Node Gap 2

CPU

Time

(NCVBIP-OPMPSP) 4.1 > 975400 26.0 24.7 3030001 (CVBIP-OPMPSP) 4.1 37700 26.0 23.2 2543.3 (CVBIP-OPMPSP), (5.2.1) 6.1 61 1600 9.6 7.9 179.2 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs Direct 6.3 336 2000 9.6 8.1 676.2 (CVBIP-OPMPSP), (5.2.1), Block Pair Clique Ineqs User Cuts 6.3 193 336 1600 9.6 7.9 442.7 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs Direct 6.5 29 200 3.6 3.1 140.1 (CVBIP-OPMPSP), (5.2.1), Heuristic Clique Ineqs User Cuts 6.5 16 29 300 9.6 2.9 91.3 (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs Direct 6.7 - - - - - (CVBIP-OPMPSP), (5.2.1), All Clique Ineqs User Cuts 6.7 - - - - - - (MIP-OPMPSP) 4.1 133300 24.4 22.3 20239.0 (MIP-OPMPSP), (5.2.5) 6.2 52 4200 14.0 12.8 832.7 (MIP-OPMPSP), (5.2.5), (5.2.9) 6.2 104 ± 9 2700 13.5 12.4 627.7 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs Direct 6.4 480 3700 14.0 12.5 969.5 (MIP-OPMPSP), (5.2.5), Block Pair Clique Ineqs User Cuts 6.4 88 480 3500 14.0 12.9 716.8 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs Direct 6.6 31 500 3.5 3.1 508.0 (MIP-OPMPSP), (5.2.5), Heuristic Clique Ineqs User Cuts 6.6 29 31 200 14.0 3.2 255.1 (MIP-OPMPSP), (5.2.5), All Clique Ineqs Direct 6.8 - - - - - (MIP-OPMPSP), (5.2.5), All Clique Ineqs User Cuts 6.8 - - - - - -

Table C.2: Summary of Results for the 164 Block Model Using 10 Time Periods.

1 Gap at memory limit is 5.7%.

Page 269: Applications of integer programming in open pit mining: (2006)

Minerva Access is the Institutional Repository of The University of Melbourne

Author/s:

Fricke, Christopher

Title:

Applications of integer programming in open pit mining

Date:

2006

Citation:

Fricke, C. (2006). Applications of integer programming in open pit mining. PhD thesis,

Department of Mathematics and Statistics, The University of Melbourne.

Publication Status:

Unpublished

Persistent Link:

http://hdl.handle.net/11343/37089

File Description:

Applications of integer programming in open pit mining