Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
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
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.
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:
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
(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
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
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
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
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
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
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
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
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
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
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
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.)
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
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
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
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
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
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
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
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
* 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
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
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
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
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
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
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
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
(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
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
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
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
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
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
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
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
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
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
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
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
/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
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
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
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
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
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
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
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
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
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
• 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
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
• 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
• 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
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
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
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
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
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
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
— 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
(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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
I
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
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
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
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
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
(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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
(=)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
(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
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
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
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
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
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
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
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
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).
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
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
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%.
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
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
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
(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%.
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
(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
(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).
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
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
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
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
(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%.
(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).
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
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
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
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
(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%.
(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)
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
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
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
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
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
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
(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
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
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
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
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;
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
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
(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
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
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
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
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
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.
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
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
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
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.
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
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
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
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
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
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
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
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
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
[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
[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
[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
[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
[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
[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
[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
[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
Appendix A
Summary of Results of the Application of Precedence Constrained Knapsack Inequalities for Pit 1 Data Sets
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.
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%.
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.
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%.
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.
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%.
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.
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%.
Appendix B
Summary of Results of the Application of Precedence Constrained Knapsack Inequalities for Pit 2 Data Sets
243
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.
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.
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.
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%.
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.
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%.
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%.
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%.
Appendix C
Summary of Results of the Application of Precedence Constrained Knapsack Inequalities for Pit 3 Data Sets
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.
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%.
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