416
New data generation and solution techniques for the Sequential Ordering Problem with Time Windows Emily Jane Eleftheria Duane Submitted in total fulfilment of the requirements of the degree of Doctor of Philosophy November 2014 Department of Mathematics and Statistics The University of Melbourne Produced on archival quality paper

New data generation and solution techniques for the

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: New data generation and solution techniques for the

New data generation and

solution techniques for the

Sequential Ordering Problem

with Time Windows

Emily Jane Eleftheria Duane

Submitted in total fulfilment of the requirements

of the degree of Doctor of Philosophy

November 2014

Department of Mathematics and Statistics

The University of Melbourne

Produced on archival quality paper

Page 2: New data generation and solution techniques for the

ii

Page 3: New data generation and solution techniques for the

Abstract

The motivation for this thesis resulted from a study of semi-automated rail

mounted gantry cranes at an Australian seaport container terminal. The

Sequential Ordering Problem with Time Windows (SOP-TW) can arise as

a subproblem of these crane operations.

The SOP-TW corresponds to the task of scheduling a single crane to move

a set of containers, where each container has: a fixed pick-up location; a

fixed drop-off location; a time window during which the container must be

picked up and moved to its destination; and some container movements

must be performed before other container movements. A crane schedule is

a list showing the pick-up time of each container. If time permits, a crane

is allowed to sit idle between moving containers; however, once a container

is collected from its pick-up location it must be delivered to its drop-off

location. Consequently, the order of the container movements and a path

for the crane can be determined from the schedule.

For this application the aim is to minimise the total time the crane spends

moving while not carrying a container, that is, the total time moving from

the drop-off location of one container movement to the pick-up location of

the next container movement.

The SOP-TW can be viewed in more general terms as the problem of

scheduling n jobs on a single machine with sequence-dependent setup times,

generalised precedence constraints between some pairs of jobs and start time

windows, where the objective is to minimise the sum of all setup times; the

jobs are container moves and the setup time is the time needed for a crane

to move from the drop-off location for one job to the pick-up location for

the next.

iii

Page 4: New data generation and solution techniques for the

iv Abstract

A detailed critique of existing SOP-TW data generators and their resulting

data sets is undertaken and reveals a lack of available, feasible, difficult SOP-

TW problem instances for testing methods for solving the SOP-TW. This

motivates the development of a comprehensive port-specific data generator

for creating feasible SOP-TW problem instances, and a variety of interesting

SOP-TW instances are constructed. Importantly, the underlying method-

ology of this new generator is sufficiently general to be easily adapted for

non-port settings.

Three existing formulations for the Asymmetric Travelling Salesman Prob-

lem with Time Windows (ATSP-TW) are extended to model the SOP-TW.

An efficient preprocessing routine that simultaneously addresses both time

windows and precedence relations is given that ultimately reduces the size

of the mixed integer programming (MIP) models implemented. A compu-

tational study of the two compact MIPs is performed to provide a baseline

for comparison.

Three techniques for solving the SOP-TW are identified and investigated:

• a construction heuristic for generating feasible solutions;

• an IP-based heuristic for generating feasible solutions; and

• a scheduling approach embedded within a branch-and-bound frame-

work.

A series of comprehensive computational studies are performed to investigate

the effectiveness of these techniques against each other and the baseline

MIPs.

While a crane scheduling application provided the initial motivation and the

foundation of the data generator, it is important to note that the techniques

presented in this thesis are applicable to other contexts where the SOP-TW

arises.

Page 5: New data generation and solution techniques for the

Declaration

This is to certify that:

(i) the thesis comprises only my original work towards the PhD except

where indicated in the Preface,

(ii) due acknowledgement has been made in the text to all other material

used,

(iii) the thesis is less than 100,000 words in length, exclusive of tables,

maps, bibliographies and appendices.

Emily Jane Eleftheria Duane

v

Page 6: New data generation and solution techniques for the

vi Declaration

Page 7: New data generation and solution techniques for the

Preface

The initial motivation for this research was a real world problem considered

for an industrial project. While the application is mentioned in Chapters 1–

3, the research and findings of that study exclusively appear in Froyland et

al. [1].

A manuscript based on some of the work in Chapters 7–8 is in preparation,

with the thesis supervisors Professor Natashia Boland and Dr Heng-Soon

Gan as co-authors.

vii

Page 8: New data generation and solution techniques for the

viii Preface

Page 9: New data generation and solution techniques for the

Acknowledgments

I gratefully acknowledge that the research in this thesis was primarily sup-

ported by an Australian Postgraduate Award from the Australian Govern-

ment. I was also very fortunate to be supported by a PhD top-up scholarship

from the Defence Science and Technology Organisation (DSTO) of Australia.

A very special thanks to Tim Surendonk from DSTO for his patience!

The initial motivation for this thesis arose from an Australian-German in-

dustry collaboration between the ARC Centre of Excellence for Mathematics

and Statistics of Complex Systems (MASCOS), the DFG Research Center

MATHEON and Patrick Corporation. I gratefully acknowledge the support of

a PhD top-up scholarship provided by MASCOS for that initial work.

I have also had indirect financial support to complete this research. Thanks

to Professor Peter Hall and the ARC Centre of Excellence for Mathematical

and Statistical Frontiers (ACEMS) who have kept me employed (and sane)

for the last five years while I slowly finished my thesis on a part-time basis.

Many thanks to my supervisors Natashia Boland and Heng-Soon Gan for

their support and guidance. Heng-Soon, thanks so much for taking over my

primary supervision when Natashia left the University of Melbourne – I’m

sure it wasn’t easy taking on a student that had only partially implemented

so many different ideas! Thanks also to Peter Taylor, Moshe Sniedovich,

Andrew Wirth and Matthew Simpson for their advice over the years.

Very special thanks to Vicky Mak who gave me the branch-and-Lagrangian

code she developed during her PhD [2]. As a novice programmer, seeing

working branch-and-Lagrangian code provided a great starting point for

the branch-and-bound code I developed for the work in Chapters 7 and 8.

Thanks also to Andre Costa; our discussions about the random elements of

the data generator were very helpful in the early stages of its development.

ix

Page 10: New data generation and solution techniques for the

x Acknowledgments

An especially big thank you to Sophie Dickson, Alex Feigin and Jason Looker

who provided feedback on the first draft of this thesis – you definitely went

above and beyond the call of friendship duties!

As an extreme extrovert, one of the biggest challenges has been the social

isolation that seems necessary to complete a significant piece of independent

research in a silent office for 40+ hours a week. Consequently I would like

to thank my fellow Maths and Stats PhD Pilgrims: Jason, Loretta, Paul,

Maya, Ana, Alana, Ruth, Tim, Allan, Chris, Liam, Caley, Natalie, Liv and

Soph – thanks for making the journey more enjoyable.

Many thanks to Liv and Soph who were always so happy to help with my C

programming queries in the early days of learning to code in C. Of course,

being scientists, your help never stopped there: thank you for your useful

suggestions regarding aspects of the C implementation of the procedures

proposed in this thesis – they are peppered throughout my code.

And I really need to thank Soph, yet again. Sophie Dickson, you’ve been a

fantastic friend as we’ve tackled our theses together. More than program-

ming and proof-reading assistance, you’ve provided more essential support:

chocolate, humour, kindness, compassion, humility, as well as an outstand-

ing model for hard work and determination. Our friendship has definitely

been the highlight of the whole journey.

For their companionship on the home-stretch of the journey, a very big

thanks to my Thesis Bootcamp buddies, Alice and Natalie. I have no idea

what your theses are about, but it hasn’t mattered; our PhD struggles have

been the same, as will our joy when we are all finished!

I am also indebted to the fantastic team of administrators and technicians

that support the Department of Mathematics and Statistics: Janet, Kirsten,

Lynne, Charlotte and Dean in the General Office; Darla and Yolanda in Fi-

nance; and Tracy, Jeff, Theo, Ling and Jim in IT. Your invaluable assistance

ensures academics and students can focus on their research and teaching.

Finally, I could not have completed this PhD without the love and support of

my husband Jason Looker. Words cannot express the depth of my gratitude.

For my father and mother,

and all those who have suffered dementia and its consequences.

Page 11: New data generation and solution techniques for the

Publications

Froyland, G., Koch, T., Megow, N., Duane, E. and Wren, H. (2008). “Op-

timizing the landside operation of a container terminal”. OR Spectrum,

30(1): 53-75.

Boland, N., Duane, E. and Gan, H.-S. “A branch-and-bound algorithm for

solving the Sequential Ordering Problem with Time Windows”. In prepa-

ration.

xi

Page 12: New data generation and solution techniques for the

xii Publications

Page 13: New data generation and solution techniques for the

Contents

Abstract iii

Declaration v

Preface vii

Acknowledgments ix

Publications xi

1 INTRODUCTION 1

1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 A high-level crane scheduling problem . . . . . . . . . 4

1.1.2 Motivating a low-level crane scheduling problem . . . 6

1.1.3 A single crane scheduling problem: the SOP-TW . . . 7

1.1.4 Summary of motivation . . . . . . . . . . . . . . . . . 11

1.2 Thesis outline . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.3 Contributions of this thesis . . . . . . . . . . . . . . . . . . . 12

2 SOP-TW: DEFINITION, LITERATURE AND DATA 17

2.1 Definition of the SOP-TW . . . . . . . . . . . . . . . . . . . . 17

2.2 Relaxations of the SOP-TW . . . . . . . . . . . . . . . . . . . 20

2.3 Complexity of the SOP-TW . . . . . . . . . . . . . . . . . . . 25

2.4 Literature review . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.5 Existing SOP-TW data sets . . . . . . . . . . . . . . . . . . . 34

2.5.1 Special case: the SOP-TW without release dates . . . 34

2.5.2 Data sets used by Escudero and Sciomachen . . . . . . 35

2.5.3 Motivation for a new SOP-TW data generator . . . . 40

xiii

Page 14: New data generation and solution techniques for the

xiv CONTENTS

2.6 Chapter summary . . . . . . . . . . . . . . . . . . . . . . . . 43

3 A NEW SOP-TW DATA GENERATOR 45

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.2 Procedure RandomPortDataGen . . . . . . . . . . . . . . . . 46

3.2.1 Generating the container storage yard’s spatial layout 49

3.2.2 Properties of ISA and ISA container locations . . . . . 52

3.2.3 Generating sets of container movements . . . . . . . . 54

3.2.4 Allocating an origin and destination for each movement 54

3.2.5 Generating natural precedence relations . . . . . . . . 59

3.2.6 Generating time windows for each container move . . 61

3.2.7 Summary of input parameters and data generated . . 63

3.3 Procedure MapCraneDataToSOPTW . . . . . . . . . . . . 63

3.3.1 The single crane scheduling problem . . . . . . . . . . 65

3.3.2 Relationship between the single crane scheduling prob-

lem and the SOP-TW . . . . . . . . . . . . . . . . . . 66

3.4 Parameter settings . . . . . . . . . . . . . . . . . . . . . . . . 69

3.4.1 Parameters to fix . . . . . . . . . . . . . . . . . . . . . 69

3.4.2 Parameters to vary . . . . . . . . . . . . . . . . . . . . 69

3.5 Data sets generated . . . . . . . . . . . . . . . . . . . . . . . 72

3.6 Summary of SOP-TW data set parameters . . . . . . . . . . 74

3.6.1 Time windows: a, b and w . . . . . . . . . . . . . . . . 76

3.6.2 Processing times, setup times and minimum delays:

p, s and δ . . . . . . . . . . . . . . . . . . . . . . . . . 78

3.6.3 Precedence delays: α and α . . . . . . . . . . . . . . . 80

3.7 Chapter summary . . . . . . . . . . . . . . . . . . . . . . . . 81

4 FORMULATIONS OF THE SOP-TW 83

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

4.2 Compact formulations of the SOP-TW . . . . . . . . . . . . . 84

4.2.1 Model MIP1 . . . . . . . . . . . . . . . . . . . . . . . 85

4.2.2 Model MIP2 . . . . . . . . . . . . . . . . . . . . . . . 86

4.2.3 Comparison of the compact MIP models . . . . . . . . 87

4.3 A cutting plane formulation . . . . . . . . . . . . . . . . . . . 89

4.3.1 Model MIP3 . . . . . . . . . . . . . . . . . . . . . . . 90

4.3.2 Valid inequalities for the SOP-TW . . . . . . . . . . . 91

4.4 Alternative MIP models for the SOP-TW . . . . . . . . . . . 91

Page 15: New data generation and solution techniques for the

CONTENTS xv

4.5 Data preprocessing . . . . . . . . . . . . . . . . . . . . . . . . 92

4.5.1 Precedence preprocessing . . . . . . . . . . . . . . . . 92

4.5.2 Time window preprocessing . . . . . . . . . . . . . . . 93

4.5.3 Creating variables and eliminating arcs . . . . . . . . 95

4.5.4 Computational study of preprocessing . . . . . . . . . 98

4.6 Computational study of the compact formulations . . . . . . 102

4.6.1 Machine and optimiser specifications . . . . . . . . . . 104

4.6.2 Summary of compact MIP methods tested . . . . . . . 104

4.6.3 LP relaxation results, discussion and conclusions . . . 104

4.6.4 MIP results, discussion and conclusions . . . . . . . . 110

4.7 Chapter summary and an overview of solving the SOP-TW . 118

5 HEURISTICS 121

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

5.2 Partial schedules . . . . . . . . . . . . . . . . . . . . . . . . . 123

5.3 Construction heuristics . . . . . . . . . . . . . . . . . . . . . . 124

5.3.1 Two rank ordering construction heuristics for the SOP 125

5.3.2 An insertion order heuristic for the SOP-TW . . . . . 128

5.4 Symmetry-breaking heuristics . . . . . . . . . . . . . . . . . . 138

5.4.1 Related work . . . . . . . . . . . . . . . . . . . . . . . 142

5.4.2 An IP-based perturbation heuristic . . . . . . . . . . . 145

5.4.3 Notes on implementing the catalyst heuristic . . . . . 147

5.5 Chapter summary . . . . . . . . . . . . . . . . . . . . . . . . 149

6 COMPUTATIONAL STUDY OF THE HEURISTICS 151

6.1 Machine and optimiser specifications . . . . . . . . . . . . . . 152

6.2 Summary of heuristic methods tested . . . . . . . . . . . . . . 152

6.3 Guide to results of the heuristics experiments . . . . . . . . . 155

6.3.1 Time to find first solution . . . . . . . . . . . . . . . . 158

6.3.2 Number of unique solutions . . . . . . . . . . . . . . . 163

6.3.3 Time at which best true-cost solution is found . . . . 166

6.3.4 Cost and cost gap of first solution and best solution . 168

6.4 Construction heuristic results . . . . . . . . . . . . . . . . . . 172

6.4.1 BKA instances vs. n25/n50/n100 instances . . . . . . 173

6.4.2 Number of jobs, n . . . . . . . . . . . . . . . . . . . . 175

6.4.3 Number of precedences, |P | . . . . . . . . . . . . . . . 175

6.4.4 Variability of maximum time window widths, γ . . . . 175

Page 16: New data generation and solution techniques for the

xvi CONTENTS

6.4.5 Key results for BKA data group . . . . . . . . . . . . 177

6.4.6 Key results for n25 data group . . . . . . . . . . . . . 177

6.4.7 Key results for n50 data group . . . . . . . . . . . . . 178

6.4.8 Key results for n100 data group . . . . . . . . . . . . 179

6.4.9 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . 180

6.5 IP-based catalyst heuristic results . . . . . . . . . . . . . . . . 180

6.5.1 Key results for BKA data group . . . . . . . . . . . . 181

6.5.2 Key results for n25 data group . . . . . . . . . . . . . 182

6.5.3 Key results for n50 data group . . . . . . . . . . . . . 182

6.5.4 Key results for n100 data group . . . . . . . . . . . . 183

6.5.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . 185

6.6 Heuristics in a branch-and-bound scheme . . . . . . . . . . . 185

6.6.1 At the root node . . . . . . . . . . . . . . . . . . . . . 185

6.6.2 At nodes within the tree . . . . . . . . . . . . . . . . . 186

6.7 Other heuristic techniques . . . . . . . . . . . . . . . . . . . . 187

6.7.1 Lagrangian relaxation heuristics . . . . . . . . . . . . 188

6.7.2 Improvement heuristics . . . . . . . . . . . . . . . . . 190

6.8 Key findings and further work . . . . . . . . . . . . . . . . . . 191

6.9 Chapter summary . . . . . . . . . . . . . . . . . . . . . . . . 193

7 A SCHEDULING BRANCH-AND-BOUND SCHEME 195

7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

7.2 A scheduling-based B&B algorithm . . . . . . . . . . . . . . . 196

7.3 Notation and mappings for BB . . . . . . . . . . . . . . . . . 199

7.3.1 A forward partial schedule in BB . . . . . . . . . . . . 202

7.4 Criteria for pruning nodes of BB . . . . . . . . . . . . . . . . 204

7.4.1 Criterion 1: arc exists . . . . . . . . . . . . . . . . . . 204

7.4.2 Criterion 2: job availability . . . . . . . . . . . . . . . 206

7.4.3 Criterion 3: effect on unscheduled jobs . . . . . . . . . 206

7.4.4 Criterion 4: LP feasibility . . . . . . . . . . . . . . . . 214

7.4.5 Criterion 5: dominance by bound . . . . . . . . . . . . 214

7.4.6 Criterion 6: heuristics for obtaining feasible solutions . 215

7.4.7 Criterion 7: identifying dominance . . . . . . . . . . . 215

7.4.8 General CheckCriteria procedure . . . . . . . . . . . . 216

7.5 Implementation notes for Criteria 3 and 7 . . . . . . . . . . . 216

7.5.1 Implementation of Criterion 3 . . . . . . . . . . . . . . 216

Page 17: New data generation and solution techniques for the

CONTENTS xvii

7.5.2 Implementation of Criterion 7 . . . . . . . . . . . . . . 221

7.6 Using heuristics within the B&B tree . . . . . . . . . . . . . . 221

7.6.1 Using the construction heuristic at Criterion 6 . . . . 222

7.6.2 Using the catalyst heuristic at Criterion 6 . . . . . . . 224

7.6.3 Using the construction heuristic at the root node . . . 226

7.6.4 Using the catalyst heuristic at the root node . . . . . 227

7.7 Chapter summary . . . . . . . . . . . . . . . . . . . . . . . . 228

8 COMPUTATIONAL STUDY OF THE B&B SCHEME 229

8.1 Chapter outline . . . . . . . . . . . . . . . . . . . . . . . . . . 229

8.2 Machine and optimiser specifications . . . . . . . . . . . . . . 231

8.3 Baseline B&B methods . . . . . . . . . . . . . . . . . . . . . . 231

8.3.1 Key results for BKA data group . . . . . . . . . . . . 234

8.3.2 Key results for n25 data group . . . . . . . . . . . . . 236

8.3.3 Key results for n50 data group . . . . . . . . . . . . . 239

8.3.4 Key results for n100 data group . . . . . . . . . . . . 241

8.3.5 Conclusions on the baseline B&B methods . . . . . . . 243

8.4 Incorporating heuristics within the B&B tree . . . . . . . . . 244

8.4.1 Key results for BKA data group . . . . . . . . . . . . 244

8.4.2 Key results for n25 data group . . . . . . . . . . . . . 247

8.4.3 Key results for n50 data group . . . . . . . . . . . . . 249

8.4.4 Key results for n100 data group . . . . . . . . . . . . 262

8.4.5 Conclusions on the B&B methods with heuristics . . . 268

8.5 Effectiveness of each criterion . . . . . . . . . . . . . . . . . . 270

8.5.1 General comments . . . . . . . . . . . . . . . . . . . . 270

8.5.2 Specific comments on each criterion . . . . . . . . . . 275

8.5.3 Conclusions on the effectiveness of each criterion . . . 282

8.6 Further work . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

8.7 Chapter summary . . . . . . . . . . . . . . . . . . . . . . . . 285

9 CONCLUSION 287

Bibliography 295

A Acronyms and notation 307

B Key interface assumptions 311

Page 18: New data generation and solution techniques for the

xviii CONTENTS

C Ordinary versus generalised precedence relations 315

D Formulae for the coordinates of the ISA and ISA locations 317

E Fixed parameter values for the data generator 321

F SOP-TW data set parameter summary statistics 325

G Preprocessing results tables 331

H LP relaxation results tables 343

I Additional results of the heuristics experiments 355

I.1 Construction heuristic results . . . . . . . . . . . . . . . . . . 366

I.1.1 Individual data set results . . . . . . . . . . . . . . . . 366

I.1.2 Aggregated data group and data class results . . . . . 371

J Modified construction heuristic and related algorithms 381

Page 19: New data generation and solution techniques for the

List of Tables

2.1 Reference summary for the SOP-TW. . . . . . . . . . . . . . 29

3.1 Summary of the input parameters required to generate a

crane problem instance using RandomPortDataGen . . . . . 64

3.2 Summary of the “crane scheduling instance” output produced

by RandomPortDataGen. . . . . . . . . . . . . . . . . . . . . 65

3.3 Mapping of a crane scheduling instance to a SOP-TW instance. 68

3.4 Summary of the parameters varied to generate the data classes. 70

3.5 Summary of the data classes created by our port data generator. 73

3.6 Summary of data groups. . . . . . . . . . . . . . . . . . . . . 74

3.7 Summary of the key SOP-TW data set parameters. . . . . . . 75

3.8 Total number of elements per parameter by class. . . . . . . . 76

4.1 Summary of arc elimination results by data group. . . . . . . 100

4.2 Ratio of mean arcs created to the complete arc set, |A|m . . . . 101

4.3 Notation for preprocessing times. . . . . . . . . . . . . . . . . 102

4.4 Breakdown of preprocessing times by procedure. . . . . . . . 103

4.5 Summary of compact MIP methods. . . . . . . . . . . . . . . 104

4.6 Notation for LP results tables. . . . . . . . . . . . . . . . . . 105

4.7 Relative improvement gained by using PALL (as in M2 and

M4) rather than P (as in M1 and M3) . . . . . . . . . . . . . 106

4.8 Total number of nonzero LP relaxation times . . . . . . . . . 109

4.9 Total LP relaxation times. . . . . . . . . . . . . . . . . . . . . 109

4.10 Time limit for each method tested (per instance) . . . . . . . 111

4.11 MIP solve times that exceed 1,800 seconds for n25 instances. 115

4.12 Solution status summary for the n50 data sets . . . . . . . . 115

5.1 Rank and backward rank orderings of the vertices in Fig. 5.1 126

xix

Page 20: New data generation and solution techniques for the

xx LIST OF TABLES

5.2 Some time feasible solutions for the symmetry examples. . . . 139

6.1 Summary of heuristic methods . . . . . . . . . . . . . . . . . 153

6.2 Weights to modify objective function via catalyst penalty βk 153

6.3 Heuristic time limits. . . . . . . . . . . . . . . . . . . . . . . . 153

6.4 MIP solve time statistics for the n25 group . . . . . . . . . . 153

6.5 Figure and table references to main results of the heuristics

experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

6.6 Percentage of instances where at least one solution was found,

evaluated at key times for each heuristic. . . . . . . . . . . . . 159

6.7 Distribution of setup times for data set (BKA, 6). . . . . . . 174

6.8 Total number of insertion orders tried for each of the four

n100 instances which had a single feasible solution constructed,

and the time the solution was produced. . . . . . . . . . . . . 179

6.9 Catalyst weights for the extended n100 experiments. . . . . . 184

6.10 Number and percentage of n100 problem instances that did

not finish solving for each extended-run heuristic . . . . . . . 184

7.1 Summary of notation related to the scheduling-based B&B

scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

7.2 Summary of criteria to check when evaluating node j . . . . . 218

7.3 H0 time limit at Criterion 6, for each instance by group. . . . 224

7.4 H1 4 time limit at Criterion 6, for each instance by group. . . 226

7.5 H0 time limit at root node, for each instance by group. . . . . 227

7.6 H1 4 time limit at root node, for each instance by group. . . 228

8.1 Maximum solve time for each method tested . . . . . . . . . . 231

8.2 Summary of MIP and baseline B&B methods. . . . . . . . . . 233

8.3 Time ratios for the BKA group at key percentiles: M1, M3,

M5 and M7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

8.4 Time ratios for the n25 group at key percentiles: M1–M8. . . 237

8.5 Unrestricted solve times for the n25 instances that had at

least one MIP exceed 1,800 seconds. . . . . . . . . . . . . . . 238

8.6 Summary of B&B methods incorporating heuristics. . . . . . 245

8.7 Time ratios for the BKA group at key percentiles: M3, M5,

M9 and M10. . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

Page 21: New data generation and solution techniques for the

LIST OF TABLES xxi

8.8 Time ratios for the n25 group at key percentiles: M1, M5,

M9 and M10. . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

8.9 Summary of B&B methods with heuristics for the n50 instances.250

8.10 Summary of ‘solution status at termination’ comparisons for

the n50 instances. . . . . . . . . . . . . . . . . . . . . . . . . 257

8.11 Summary of B&B methods with heuristics for the n100 in-

stances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

8.12 Percentage of n100 instances where a feasible solution was

found prior to termination, split into two groups based on γ. 267

8.13 Summary of the conclusions on the B&B methods with heuris-

tics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

8.14 B&B node information for key methods by data group. . . . . 271

8.15 Mean percentage of B&B nodes pruned (i.e. not created) due

to each criterion, for key methods by data group. . . . . . . . 273

8.16 Mean percentage of B&B nodes pruned by Criteria 1, 2 & 3 . 274

8.17 Mean percentage of problem instances where at least one LP

solution was integer. . . . . . . . . . . . . . . . . . . . . . . . 277

8.18 Criterion 7 pruning results . . . . . . . . . . . . . . . . . . . . 281

A.1 Key acronyms. . . . . . . . . . . . . . . . . . . . . . . . . . . 308

A.2 Key notation for the SOP-TW. . . . . . . . . . . . . . . . . . 309

E.1 Summary of fixed input parameters for RandomPortDataGen322

F.1 Notation for parameter summary tables. . . . . . . . . . . . . 325

F.2 Summary statistics for parameter a. . . . . . . . . . . . . . . 327

F.3 Summary statistics for parameter b. . . . . . . . . . . . . . . 327

F.4 Summary statistics for parameter w. . . . . . . . . . . . . . . 328

F.5 Summary statistics for parameter p. . . . . . . . . . . . . . . 328

F.6 Summary statistics for parameter s. . . . . . . . . . . . . . . 329

F.7 Summary statistics for parameter δ. . . . . . . . . . . . . . . 329

F.8 Summary statistics for parameter α. . . . . . . . . . . . . . . 330

F.9 Summary statistics for parameter α. . . . . . . . . . . . . . . 330

G.1 Notation for preprocessing tables. . . . . . . . . . . . . . . . . 331

G.2 Preprocessing results for Classes 1–9 (n25). . . . . . . . . . . 332

G.3 Preprocessing results for Classes 10–15 (n50). . . . . . . . . . 334

G.4 Preprocessing results for Classes 16–21 (n100). . . . . . . . . 335

Page 22: New data generation and solution techniques for the

xxii LIST OF TABLES

G.5 Preprocessing results for BKA instances. . . . . . . . . . . . 336

G.6 Notation for preprocessing times. . . . . . . . . . . . . . . . . 336

G.7 Preprocessing times (seconds) for Classes 1–9 (n25). . . . . . 337

G.8 Preprocessing times (seconds) for Classes 10–15 (n50). . . . . 339

G.9 Preprocessing times (seconds) for Classes 16–21 (n100). . . . 340

G.10 Preprocessing times (seconds) for BKA instances. . . . . . . 341

H.1 Notation for tables showing lower bounds from LP relaxations.343

H.2 Lower bounds from LP relaxations for Classes 1–9 (n25). . . 344

H.3 Lower bounds from LP relaxations for Classes 10–15 (n50). . 346

H.4 Lower bounds from LP relaxations for Classes 16–21 (n100). . 347

H.5 Lower bounds from LP relaxations for BKA instances. . . . . 348

H.6 Notation for LP relaxation times. . . . . . . . . . . . . . . . . 348

H.7 LP relaxation times (seconds) for Classes 1–9 (n25). . . . . . 349

H.8 LP relaxation times (seconds) for Classes 10–15 (n50). . . . . 351

H.9 LP relaxation times (seconds) for Classes 16–21 (n100). . . . 352

H.10 LP relaxation times (seconds) for BKA instances. . . . . . . 353

I.1 Notation for heuristic results summary tables. . . . . . . . . . 356

I.2 Summary statistics for measure NUMSOLN (i) and (iii). . . . 359

I.3 Summary statistics for measure NUMSOLN (ii) and (iv). . . 360

I.4 Summary statistics for measure FIRSTTIME. . . . . . . . . . 361

I.5 Summary statistics for measure BESTTIME. . . . . . . . . . 362

I.6 Summary statistics for measure FIRSTCOST. . . . . . . . . . 363

I.7 Summary statistics for measure BESTCOST. . . . . . . . . . 364

I.8 Summary statistics for measure FIRSTCOSTGAP. . . . . . . 365

I.9 Summary statistics for measure BESTCOSTGAP. . . . . . . 365

I.10 Notation for construction heuristic ratio results tables. . . . . 366

I.11 Construction heuristic ratio results for BKA instances. . . . 367

I.12 Construction heuristic ratio results for n25 instances. . . . . . 367

I.13 Construction heuristic ratio results for n50 instances. . . . . . 369

I.14 Construction heuristic ratio results for n100 instances. . . . . 370

I.15 Notation for construction heuristic results summary tables. . 371

I.16 Summary statistics for the number of insertion orders tried . 377

I.17 Summary statistics for the number of feasible solutions found 378

I.18 Summary statistics for the number of unique feasible solutions 378

I.19 Summary statistics for ratio Rsuccess . . . . . . . . . . . . . . 379

Page 23: New data generation and solution techniques for the

LIST OF TABLES xxiii

I.20 Summary statistics for ratio Runique . . . . . . . . . . . . . . 379

Page 24: New data generation and solution techniques for the

xxiv LIST OF TABLES

Page 25: New data generation and solution techniques for the

List of Figures

1.1 Simplified schematic of Patrick Corporation’s redeveloped Port

Botany container terminal. . . . . . . . . . . . . . . . . . . . 2

1.2 Elevation view of the RMG container exchange area. . . . . . 3

1.3 Ground plan view of the RMG container exchange area. . . . 3

1.4 The four possible container movement types. . . . . . . . . . . . . 9

1.5 Simplified RMG container exchange area. . . . . . . . . . . . . . 9

2.1 (a) SOP-TW general case: release dates and waiting per-

mitted. (b) SOP-TW special case: no release dates and\or

waiting is not permitted. . . . . . . . . . . . . . . . . . . . . . 35

3.1 Flowchart of the main components of RandomPortDataGen

with corresponding section references. . . . . . . . . . . . . . 48

3.2 Parametrised layout of a container yard. . . . . . . . . . . . . 50

3.3 Representing a crane scheduling instance as a SOP-TW in-

stance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

3.4 Box plot of parameter a values by data class. . . . . . . . . . 77

3.5 Box plot of parameter b values by data class. . . . . . . . . . 77

3.6 Box plot of parameter w values by data class. . . . . . . . . . 77

3.7 Box plot of parameter p values by data class. . . . . . . . . . 79

3.8 Box plot of parameter s values by data class. . . . . . . . . . 79

3.9 Box plot of parameter δ values by data class. . . . . . . . . . 79

3.10 Box plot of parameter α values by data class. . . . . . . . . . 81

3.11 Box plot of parameter α values by data class. . . . . . . . . . 81

4.1 Relative strength of MIP1 and MIP2 LP lower bounds. . . . 107

4.2 Performance profile for the BKA instances, Methods 1 and 3. 113

4.3 Performance profile for the n25 instances, Methods 1–4. . . . 114

xxv

Page 26: New data generation and solution techniques for the

xxvi LIST OF FIGURES

4.4 Comparison of lower bound quality for all n50 instances. . . . 116

4.5 Comparison of lower bound quality for all n100 instances. . . 117

5.1 A precedence graph for a SOP problem instance, with ranks. 126

5.2 Graphs and data for the symmetry examples. . . . . . . . . . 140

5.3 Solution schedules. . . . . . . . . . . . . . . . . . . . . . . . . 140

5.4 Box plot of catalyst ratio ρ values by data class. . . . . . . . 149

6.1 Box plots of “time first solution is found” for each heuristic. . 161

6.2 Box plots of “number of solutions found” (iii) for each heuristic.164

6.3 Box plots of “number of solutions found” (iv) for each heuristic.165

6.4 Box plots of “time best solution is found” for each heuristic. . 167

6.5 Box plots of “true cost of first solution” for each heuristic. . . 169

6.6 Box plots of “cost of best true-cost solution” for each heuristic.170

6.7 Box plots of “true cost gap of first solution” for each heuristic.171

6.8 Box plots of “true cost gap of best solution” for each heuristic.171

7.1 An example of BB with four jobs. . . . . . . . . . . . . . . . . 199

7.2 Elements of a scheduling branch-and-bound tree, BB. . . . . 203

7.3 Flowchart of pruning criteria with section references. . . . . . 205

7.4 Graphical representation of a schedule with related times

when (a) k = 0, (b) k = 1 and (c) k = 2. . . . . . . . . . . . . 208

7.5 Graphical representation of the components that contribute

to the second part of the lower bound . . . . . . . . . . . . . 213

8.1 Summary of main methods investigated in this thesis, includ-

ing those to come in this chapter, with corresponding results

section references. . . . . . . . . . . . . . . . . . . . . . . . . 232

8.2 Performance profile for the BKA instances. . . . . . . . . . . 234

8.3 Performance profile for n25 instances. . . . . . . . . . . . . . 236

8.4 Solution status summary for the n50 data sets . . . . . . . . 240

8.5 Performance profile for the n50 instances where at least one

method proved optimality (18 instances). . . . . . . . . . . . 240

8.6 Comparison of lower bound quality for all n50 instances. . . . 242

8.7 Lower bound quality where optimality not proved (42 in-

stances). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

8.8 Comparison of lower bound quality for all n100 instances. . . 243

8.9 Performance profile for the BKA instances. . . . . . . . . . . 246

Page 27: New data generation and solution techniques for the

LIST OF FIGURES xxvii

8.10 Performance profile for the n25 instances. . . . . . . . . . . . 248

8.11 Solution status summary for the n50 data sets . . . . . . . . 252

8.12 Performance profile for the n50 instances where at least one

method proved optimality (21 instances). . . . . . . . . . . . 256

8.13 Comparison of lower bound quality for all n50 instances. . . . 259

8.14 Lower bound quality where optimality not proved (39 in-

stances). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

8.15 Box plot of the relative gaps for each exact method for the

n50 instances (60 instances). . . . . . . . . . . . . . . . . . . 261

8.16 Solution status summary for the n100 data sets . . . . . . . . 264

8.17 Comparison of lower bound quality for all n100 instances. . . 265

8.18 Box plot of the relative gaps for each exact method for the

n100 instances (60 instances). . . . . . . . . . . . . . . . . . . 266

D.1 Parametrised layout of a container yard . . . . . . . . . . . . 320

E.1 Elevation view of the RMG container exchange area . . . . . 323

E.2 Ground plan view of the RMG container exchange area . . . 323

F.1 Box plots of a, b, w, p, s, δ, α and α values for BKA group. . 326

I.1 Box plot of catalyst ratio ρ values by data class. . . . . . . . 355

I.2 Box plots of “number of solutions found” (i) for each heuristic.357

I.3 Box plots of “number of solutions found” (ii) for each heuristic.358

I.4 Box plots of number of insertion orders tried, by data group. 372

I.5 Box plots of number of insertion orders tried, by data class. . 372

I.6 Box plots of number of feasible solutions found, by data group.373

I.7 Box plots of number of feasible solutions found, by data class. 373

I.8 Box plots of number of unique feasible solutions, by data group.374

I.9 Box plots of number of unique feasible solutions, by data class.374

I.10 Box plots of H0 ratio Rsuccess, by data group. . . . . . . . . . 375

I.11 Box plots of H0 ratio Rsuccess, by data class. . . . . . . . . . 375

I.12 Box plots of H0 ratio Runique, by data group. . . . . . . . . . 376

I.13 Box plots of H0 ratio Runique, by data class. . . . . . . . . . . 376

Page 28: New data generation and solution techniques for the

xxviii LIST OF FIGURES

Page 29: New data generation and solution techniques for the

List of Algorithms

1 Procedure AssignOriginsInISA . . . . . . . . . . . . . . . . . 55

2 Procedure AssignOriginsInISA . . . . . . . . . . . . . . . . . 57

3 Procedure AssignDestinationsInISA . . . . . . . . . . . . . . 58

4 Procedure AssignDestinationsInISA . . . . . . . . . . . . . . 60

5 Procedure UpdateReleaseDates . . . . . . . . . . . . . . . . . 94

6 Procedure UpdateDueDates . . . . . . . . . . . . . . . . . . . 94

7 Procedure Preprocessing . . . . . . . . . . . . . . . . . . . . . 97

8 Procedure InsertionAlgorithm . . . . . . . . . . . . . . . . . . 129

9 Procedure InsertNextJob . . . . . . . . . . . . . . . . . . . . 130

10 Procedure RepeatInsAlg . . . . . . . . . . . . . . . . . . . . . 135

11 Procedure ConstructionHeuristic . . . . . . . . . . . . . . . . 137

12 An algorithm for LP-based branch-and-bound . . . . . . . . . 197

13 A scheduling-based branch-and-bound algorithm . . . . . . . . 200

14 Procedure Criterion7 . . . . . . . . . . . . . . . . . . . . . . . 217

15 Procedure CheckCriteria . . . . . . . . . . . . . . . . . . . . . 219

16 Procedure ModifiedInsertionAlgorithm . . . . . . . . . . . . 382

17 Procedure ModifiedInsertNextJob . . . . . . . . . . . . . . . 383

18 Procedure ModifiedRepeatInsAlg . . . . . . . . . . . . . . . 384

19 Procedure ModifiedConstructionHeuristic . . . . . . . . . . 385

xxix

Page 30: New data generation and solution techniques for the

xxx LIST OF ALGORITHMS

Page 31: New data generation and solution techniques for the

Chapter 1

INTRODUCTION

The initial motivation for this dissertation—a complex high-level crane scheduling

problem at a seaport container terminal—is described in this chapter. A subproblem

is detailed, which is the focus of the remainder of this thesis. The contributions of

this work are summarised and a thesis outline concludes the chapter.

1.1 Motivation

Sea freight containers are used to transport goods from one location to an-

other. At a container terminal, containers are usually transshipped from

one transportation vehicle to another via various types of handling equip-

ment. With increasing competition between seaport container terminals and

greater containerisation of cargo, there is great demand to better handle

these important units.

Patrick Corporation’s seaport container terminal at Port Botany in Sydney,

Australia, was recently redeveloped; a simplified schematic of the site is

shown in Figure 1.1. The layout of the new container exchange area is

illustrated in Figures 1.2 and 1.3. Containers move into and across the

exchange area by five rail mounted gantry cranes (RMGs). Since the cranes

share the bi-directional travelling rail, they cannot pass each other.

On the landside, the Gantry Road Interface (GRI) and the Gantry Rail

Interface (GRAI)—collectively called the GRA—are the areas for trucks

1

Page 32: New data generation and solution techniques for the

2 INTRODUCTION

QU

AYSIDE

LAN

DSID

E

EXPORT

IMPORT

MA

IN C

ON

TAIN

ER STOR

AG

E YARD

Berth

s

Stradd

lecarrier

Truck b

ays

Railw

ay tracks

RMG

rail

RMG

rail

Qu

ay crane

GRI

GR

AIISA

GSI

Truck

RMG

Fig

ure

1.1:S

imp

lified

schem

atic

ofP

atrickC

orporation

’sred

eveloped

Port

Botan

ycon

tainer

termin

al.

Page 33: New data generation and solution techniques for the

1.1 Motivation 3

GRI GRAI ISA GSI

LANDSIDE QUAYSIDE

Figure 1.2: Elevation view of the RMG container exchange area.

GRI

GRAI

ISA

GSI

Figure 1.3: Ground plan view of the RMG container exchange area.

and trains to deliver export containers and collect import containers.

On the quayside, straddle carriers transport containers between the Gantry

Straddle Interface (GSI) and the main container storage yard. In addition to

these movements, the straddle fleet perform container shuffling movements

within the main yard, and transport containers between the main yard and

the quay where ship (un)loading operations are performed by quay cranes.

The Intermediate Stacking Area (ISA) acts as a buffer between the landside

and quayside operations. Almost all containers passing through the port will

transit each of GRA, ISA and GSI, collectively known as the RMG container

exchange area. By using the ISA as a buffer, truck and rail exchanges are

decoupled from straddle operations; this will increase the efficiency of the

straddle fleet by allowing better scheduling of container movements.

As a point of reference while reading this thesis, tables of key acronyms and

notation for the SOP-TW are presented in Appendix A.

Page 34: New data generation and solution techniques for the

4 INTRODUCTION

1.1.1 A high-level crane scheduling problem

The initial motivation for this thesis was a high-level crane scheduling prob-

lem at the Port Botany seaport container terminal where the RMG container

exchange area includes an intermediate buffer with a large capacity. The

problem under consideration was to schedule and locate the pick-up and

drop-off of shipping containers at the RMG container exchange area; the

schedule would be determined over a rolling planning horizon.

When export containers leave Australia, each container arrives at the port

on a truck or train, gets transferred from a location in the GRA to a location

in the ISA by RMG, is moved again by RMG from its position in the ISA

to a location in the GSI, then moved from the GSI into the main container

storage yard by straddle carrier, and eventually delivered to the quay to be

loaded on to a ship. Import containers enter Australia so the transit/transfer

process through the port is reversed: ship, main yard, GSI, ISA, GRA.

For each container it is necessary to determine the locations where the con-

tainer should enter the area, exit the area, and where the container should

be stored within the buffer. These three locations define the two RMG

movements that the container will make through the exchange area.

The arrival and departure times of a container at the exchange area are

determined by the (ship/truck/train) transport schedules that carry the

container to and from the port. Naturally, a container cannot be moved by

an RMG if it has not yet arrived at the exchange area. Importantly, each

container has a deadline, namely that it is moved through the exchange

area by the time it will be collected at either the GRA or the GSI. Since

each container is moved twice to cross the exchange area, an intermediate

deadline is introduced; the second move must meet the original deadline,

thus the first move (always to move the container into the ISA) must satisfy

an earlier deadline. The operations of the gantry cranes must be scheduled

such that all containers are moved and all deadlines are met.

To complicate the scheduling component, the truck arrival times are only

known at a coarse level (only the hour of arrival is known, booked 24 hours

in advance); the exact times are only known upon each truck arrival at the

terminal. Moreover, no truck is allowed to wait more than 15 minutes for

its corresponding container(s) to be collected/delivered. As a result, this

Page 35: New data generation and solution techniques for the

1.1 Motivation 5

high-level crane scheduling problem is an online problem.

In this setting, several different objectives are of interest to the terminal

operators, including minimising total crane utilisation and the difference in

workload between the cranes. Other measures such as total ISA utilisation

and the dwell time of containers in the ISA are also important. Addition-

ally, RMG scheduling decisions at the container exchange area have work-

load implications for the straddle fleet, so the flow-on effects must also be

considered.

This high-level crane scheduling problem—where container locations are not

fixed, container movements are performed by multiple cranes operating on a

shared rail, and some arrival times are not known a priori—is very complex.

During 2005, a pilot study within the context of the high-level crane schedul-

ing problem was undertaken by a team of mathematicians. A brief descrip-

tion of that work is given here; for additional details and published results

of the study, see Froyland et al. [1].

Data for a busy one-month period was provided, which required the move-

ment of over 30,000 containers through the ISA. Since all containers must

be moved twice (once in to the ISA, and once out of the ISA), a total of

more than 60,000 container moves must be scheduled within this period.

A decomposition approach that solves the crane scheduling problem over a

number of shorter periods was devised. To ensure feasibility over all of the

shorter periods, the higher-level problem can be solved (heuristically) to fix

the origin and destination locations of each container move, and to refine

the period over which it is possible for this move to occur, that is, fix a time

window during which the move must take place.

Specifically, the work performed for the pilot study was a practical blend of

optimisation and heuristics. The solution approach was divided into three

sequential parts: strategic, tactical and operational. The approach moti-

vates partitioning the ISA—and thus the whole RMG container exchange

area—into five equal-sized portions, where one RMG exclusively operates

in each portion. These portions are further divided into four equal-sized

corridors. An RMG operates mainly within one corridor per hour, cycling

through and re-visiting each corridor every four hours; for more details, see

Froyland et al. [1].

Page 36: New data generation and solution techniques for the

6 INTRODUCTION

At the strategic stage, an integer program (IP) is solved to assign each

quayside container move (from GSI to ISA, or ISA to GSI) to a particular

hour in the planning horizon (the busy one-month period). With the time

of each quayside move fixed to a one hour period, subsequent decisions

about locations and the order in which each crane will perform container

movements can be solved independently for each hour.

At the tactical stage, a number of IPs are solved to assign container locations

in the GSI (one IP for each hour). Due to the space-time partitioning

strategy of the RMG container exchange area, the location decisions also

determine which of the five RMGs will move each container, and reduces

the candidate ISA and GRA locations to within the same corridor.

In the final operational stage, an online algorithm is used to make ISA and

GRA location decisions, and decide the order and time the RMGs perform

each container move.

This time-scale decomposing, space-time partitioning, three-stage solution

approach was very effective in tackling the high-level crane scheduling prob-

lem; a solution within 8% of the theoretical optimum was obtained. An

analysis of how the RMGs spent their time revealed that the majority of

operations were very efficient; approximately 92% of total RMG moving

time was unavoidable.

1.1.2 Motivating a low-level crane scheduling problem

Of the potentially avoidable RMG moving time, at least 90% is time the

RMGs travel while empty, that is, moving between two loaded container

movements. Consequently, reducing empty crane travel time by re-ordering

the container movements in the final operational stage is worthy of further

investigation, since it has the greatest potential for improving the solution

obtained. This motivates the decision to explore a closely related subprob-

lem, where the pick-up and drop-off locations have been determined a priori,

and the aim is to minimise the total time each crane travels while empty.

The partitioning strategy of the RMG container exchange area motivates a

single crane subproblem. With this strategy in place, the high-level crane

scheduling problem has been reduced from one very large and complex multi-

Page 37: New data generation and solution techniques for the

1.1 Motivation 7

crane scheduling problem to a collection of simpler single crane scheduling

problems. There were several benefits to such an approach: complex inter-

crane constraints to ensure cranes do not collide were not required, the

solution space was significantly reduced, and each single crane scheduling

problem could be solved independently of the other crane scheduling prob-

lems.

At the final operational stage, an online algorithm was required to make

scheduling decisions due to uncertainty in the exact truck arrival times, as

there was no control over when a truck would arrive within the hour. A

different approach is taken in this thesis: what if these arrival times could

be controlled? In such a scenario, once the truck slot has been booked, the

terminal operator then instructs the truck to arrive at the port at time t to

drop-off/pick-up their container. This crane scheduling problem is an offline

problem, and would enable further reductions in the total time the cranes

move while empty.

In summary, by fixing container locations a priori, taking advantage of an

area partitioning strategy and removing the online component, the high-level

(multi-location, multi-crane, online) crane scheduling problem is reduced to

a low-level (fixed-location, single-crane, offline) crane scheduling problem,

where the objective is to minimise the total time the crane moves while

empty. This subproblem of the original high-level crane scheduling problem

is the focus of the remainder of this thesis.

1.1.3 A single crane scheduling problem: the Sequential Or-

dering Problem with Time Windows

The single crane scheduling problem is formally defined in general terms in

Chapter 2; it can be described as a single machine scheduling problem as

well as a TSP-variant, namely an Asymmetric Travelling Salesman Problem

with Time Windows and additional Precedence Constraints (ATSP-TW-

PC). Since the ATSP-PC is also known as the Sequential Ordering Problem

(SOP), the ATSP-TW-PC is also known as the Sequential Ordering Problem

with Time Windows (SOP-TW).

The SOP-TW can arise as a subproblem of various real-life scheduling and

routing problems, including within manufacturing planning [3, 4], a job-

Page 38: New data generation and solution techniques for the

8 INTRODUCTION

shop environment [5, 6], ship scheduling [7] and crane scheduling at seaport

container terminals [1].

In the port setting described earlier, the SOP-TW corresponds to the task

of scheduling a single crane to perform a set of container movements, where

each container movement has a fixed pick-up location, a fixed drop-off lo-

cation, a time window during which the container must be picked up (and

consequently moved to its destination), and some container movements must

be performed before other container movements.

A solution to a SOP-TW problem instance, a crane schedule, is a list show-

ing the pick-up time of each container. If the times permit, a crane is allowed

to sit idle between moving containers (either at the end of one movement or

the beginning of the next movement). However, once a container is collected

from its pick-up location it must be delivered to its drop-off location. Con-

sequently, the order of the container movements and a path for the crane

can be determined from a crane schedule.

For this application the aim is to minimise the total time the crane spends

moving while not carrying a container, that is, the total time moving from

the drop-off location of one container movement to the pick-up location of

the next container movement.

1.1.3.1 Container movements through the exchange area

Since each container must traverse the full length of the RMG container

exchange area (i.e. from landside to quayside, or vice versa) with a stopover

in an allocated ISA location, each container is moved twice by an RMG.

Consequently, there are two time windows associated with each container.

For an export (import) container, the first time window is the period of time

during which the crane must pick-up the container from its allocated GRA

(GSI) location and deliver it to its allocated location in the ISA. Similarly,

the second time window is the period of time during which the crane must

pick-up the export (import) container from its ISA location and deliver it

to its GSI (GRA) location. The four possible container movement types are

shown in Figure 1.4.

To simplify the RMG container exchange area setup, the movement types at

Page 39: New data generation and solution techniques for the

1.1 Motivation 9

the GRA and GSI interfaces can be regarded as symmetric. As such, these

two interfaces can be grouped and called ISA for “not ISA”. Then there are

only two movement types—in to the ISA (I) or out of the ISA (O), as shown

in Figure 1.5.

EI: Export container moved in to the ISA;

EO: Export container moved out of the ISA;

II: Import container moved in to the ISA;

IO: Import container moved out of the ISA.

Figure 1.4: The four possible container movement types.

I: container moved in to the ISA;

O: container moved out of the ISA.

Figure 1.5: Simplified RMG container exchange area.

Within any planning horizon of interest, it is possible that only one of a

container’s two moves needs to be scheduled. However, if both time windows

are within the planning horizon both container moves must be scheduled.

In such cases, a natural precedence relation arises; a container must be

delivered into its ISA location before it can be collected from that ISA

location for its next movement.

Since the number of locations in ISA, GRA and GSI are limited, some loca-

tions are used for more than one container pick-up and/or drop-off. Since

these locations are allocated a priori, as are the container time windows,

precedence relations between pairs of containers may arise to ensure that

Page 40: New data generation and solution techniques for the

10 INTRODUCTION

a schedule is feasible. For example, if an ISA location is used to store two

different containers, the container already in the location must be picked up

and moved before the next container can be dropped off. Again, this results

in a natural precedence relation between the two container moves.

If the time windows of two containers that use the same location do not over-

lap there is no need for explicit precedence relations; these implicit prece-

dences are still useful and will be used throughout this thesis. Conversely,

if the two time windows do overlap, the container already residing in the

location must be moved out before the other container can be moved in.

This generates the need for explicit precedence relations between some pairs

of containers.

1.1.3.2 Assumptions

For the data generator presented in Chapter 3, it is assumed that each

planning horizon is short enough that each ISA location is used at most twice

(a container out followed by a container in). Since the partitioning strategy

devised in [1] forced each RMG to operate across the ISA with a cycling

corridor approach, this assumption is realistic. Additional justification of

this assumption is given in the explanation of Assumption 8 in Appendix B.

As a result of the previous assumption, to ensure basic feasibility of all

problem instances generated, it must be assumed that the number of storage

locations in the ISA is at least the number of containers to be moved in to the

ISA during the planning horizon. Similarly, it is assumed that the number

of storage locations in the ISA is at least the number of containers to be

moved in to the ISA (thus out of the ISA) during the planning horizon.

In the original high-level problem, packing operations to rearrange contain-

ers within the ISA comprised only 0.4% of the total RMG moving time;

see [1]. Since the low-level single crane problem now has fixed container

locations, it is likely that the locations would be selected to avoid the need

for any packing. Consequently, in this thesis it is assumed that no packing

operations are required within each planning horizon.

Additional assumptions that influence the design of the data generator are

detailed in Appendix B for the interested reader.

Page 41: New data generation and solution techniques for the

1.2 Thesis outline 11

1.1.4 Summary of motivation

The proposed redevelopment of a seaport container terminal provided the

initial motivation for this thesis. A complex high-level crane scheduling

problem that would arise as a result of the redevelopment was investigated

in a pilot study. The study delivered a practical blend of optimisation and

heuristics with a three-stage solution approach that proved to be very effec-

tive; a solution within 8% of the theoretical optimum was obtained.

The success of the pilot solution approach—which included time-scale de-

composition and space-time partitioning—along with a new focus on the

areas of greatest potential improvement in solution quality, motivated the

shift from the high-level problem to a related general subproblem, the Se-

quential Ordering Problem with Time Windows.

The SOP-TW arises as a subproblem of several other scheduling and routing

applications. As a result, most of this thesis will discuss the SOP-TW in

terms of a generic machine scheduling problem, rather than concentrating on

the specific crane application that provided the initial motivation. The key

exception is a comprehensive port-specific data generator for constructing

feasible SOP-TW problem instances. However, as will be noted, even this

generator can be modified to model more general settings and to construct

instances for closely related problems.

This thesis focuses on techniques for solving the SOP-TW. Consequently, a

series of computational studies are performed and their results are compared.

While the original crane scheduling problem provided the initial motivation

and the foundation of the data generator, it is important to note that the

techniques presented in this thesis are applicable to other contexts where

the SOP-TW arises.

1.2 Thesis outline

The remainder of this thesis is organised as follows.

The SOP-TW is formally defined in Chapter 2. The main literature review

of the SOP-TW and related problems is also discussed in Chapter 2, followed

by a detailed critique of existing SOP-TW data generators. This critique

Page 42: New data generation and solution techniques for the

12 INTRODUCTION

motivates a new, comprehensive, port-specific data generator for creating

feasible SOP-TW problem instances, which is described in Chapter 3.

Three mixed integer programming formulations of the SOP-TW are pre-

sented in Chapter 4. An efficient preprocessing routine is developed to

tighten time windows, find additional valid precedence relations and ulti-

mately reduce the size of the MIP models implemented. A computational

study of the two compact formulations is performed.

Two heuristic approaches for solving the SOP-TW are proposed in Chap-

ter 5; a construction heuristic and an IP-based heuristic. An extensive

computational study of both methods is performed in Chapter 6.

A scheduling-based branch-and-bound algorithm with problem-specific prun-

ing criteria is described in Chapter 7. Several variations of the algorithm are

investigated via a computational study in Chapter 8; the performance of the

B&B algorithm is compared with that of the two compact MIP formulations.

Finally, the thesis is concluded in Chapter 9. Directions for future research

are suggested, including refinements to the techniques proposed in this the-

sis, as well as several ideas for alternative approaches.

1.3 Contributions of this thesis

This thesis makes several contributions to the body of SOP-TW research.

A detailed critique of existing SOP-TW data generators (and their result-

ing data sets) reveals a lack of available, feasible, difficult SOP-TW problem

instances for testing methods for solving the SOP-TW. Therefore, a compre-

hensive port-specific data generator for creating feasible SOP-TW problem

instances is developed, and a variety of interesting SOP-TW instances are

constructed. Important design features of the data generator include:

• All data sets produced are feasible. This guarantees no computational

effort (generating or solving) is expended on infeasible problems.

• The data generator is capable of producing a wide variety of problem

instances that have characteristics relevant to the original port setting.

Page 43: New data generation and solution techniques for the

1.3 Contributions of this thesis 13

• A wide variety of hard data sets are easy to generate by changing a

range of application-specific parameters.

• The underlying methodology of the new generator is sufficiently gen-

eral to allow easy adaptation for non-port settings.

• Data sets for related problems can be constructed after only minor

modifications to the current generator.

Importantly, the port-inspired problem instances are converted into gen-

eral SOP-TW instances so that application-specific information (such as

the underlying locations in the seaport container yard) cannot be deduced

or exploited. While exploiting application-specific information would en-

able bespoke solution methods for these instances, the focus of this thesis is

solving the general SOP-TW. Consequently, this thesis focuses on solution

techniques that do not use any application-specific information.

Three formulations for the Asymmetric Travelling Salesman Problem with

Time Windows (ATSP-TW) presented by Ascheuer et al. [8] are extended

to model the SOP-TW. Since the ATSP-TW is a special case of the SOP-

TW (where there are no explicit precedences) the preprocessing techniques

described by Ascheuer et al. [8] can be directly applied to the SOP-TW.

However, additional preprocessing based on precedences is possible and thus

implemented. Consequently, an efficient preprocessing routine that simulta-

neously addresses both time windows and precedence relations is given that

ultimately reduces the size of the MIP models implemented. A comprehen-

sive computational study of two of these MIPs provide the benchmark by

which the other solution techniques in this thesis are compared.

Three techniques for solving the SOP-TW are identified and investigated

via a series of extensive computational studies:

• a construction heuristic for generating feasible solutions;

• an IP-based heuristic for generating feasible solutions; and

• a scheduling approach embedded within a branch-and-bound frame-

work.

The computational studies compare the effectiveness of these techniques

with each other and the benchmark MIPs.

Page 44: New data generation and solution techniques for the

14 INTRODUCTION

The construction heuristic attempts to build a feasible solution by inserting

new jobs into a partial schedule, and is adapted from a heuristic for the

ATSP-TW by Nikolakopoulos and Sarimveis [9]. Importantly, our version

of the heuristic explicitly allows for precedence relations and the associated

precedence delays that arise in the SOP-TW. Testing shows that the heuris-

tic is successful on small and medium problem instances but, unsurprisingly,

falters as the number of jobs increases.

The IP-based heuristic attempts to differentiate solutions by reducing the

symmetry of the solution space. This is done by introducing a new penalty

term in the objective function. This penalty acts like a tie-breaker: solu-

tions that are essentially equivalent in terms of the original objective func-

tion may now appear significantly different, thus reducing the symmetry

of those solutions. Moreover, a well-chosen penalty can act as a catalyst

for finding feasible solutions faster than solving the original MIP. Margot

[10] reviews the main mathematical programming techniques that address

symmetry during the solution of an integer linear program, including per-

turbation approaches like the objective penalty described above. Margot

observes that this type of approach “in general, does not help much and

can even be counter-productive” though “is sometimes helpful when trying

to find a good solution”. The IP-based perturbation heuristic we propose

and the penalty scheme we test outperform the benchmark MIPs and con-

struction heuristic on the hardest problem instances, but does not reliably

produce feasible solutions within a reasonable time limit.

The branch-and-bound (B&B) scheme is an exact solution method that

takes a scheduling approach: each node in the B&B tree represents a dif-

ferent partial schedule. To test if a new node should be created, a set of

problem-specific criteria have been developed, which the algorithm sequen-

tially evaluates. This scheduling-based B&B scheme with this set of seven

criteria is a novel solution approach for the SOP-TW. However, three crite-

ria (Criteria 2, 3 and 7) closely resemble tests used in dynamic programming

(DP) solution approaches for related problems (e.g. see [7], [11] and [12]) that

reduce the size of a DP state space graph by detecting and eliminating states

that cannot lead to an optimal solution or are clearly infeasible. Nonethe-

less, our implementations of these tests are modified for the SOP-TW and

to work within this scheduling-based B&B scheme, thus are fundamentally

Page 45: New data generation and solution techniques for the

1.3 Contributions of this thesis 15

different. In another novel criterion (Criterion 6), either the construction

heuristic or the IP-based heuristic are executed; this criterion is optional in

that it is only called at select nodes in the B&B tree. Notably, the inclusion

of a heuristic in the B&B scheme is found to be particularly important when

solving relatively difficult problem instances.

Overall, this scheduling approach embedded within a B&B framework out-

performs solving the pure MIPs directly with state-of-the-art optimisation

software. The extra precedence information derived by the preprocessing

routine is utilised in several criteria, thus is vital to the success of the algo-

rithm. Two important design features of the scheduling-based B&B scheme

are:

• The B&B framework is extensible; new criteria for the SOP-TW can

be easily incorporated.

• Existing criteria can be modified to solve other TSP variants and

scheduling problems.

Finally, many recommendations for further research into the SOP-TW are

suggested throughout this thesis.

Page 46: New data generation and solution techniques for the

16 INTRODUCTION

Page 47: New data generation and solution techniques for the

Chapter 2

SOP-TW: DEFINITION,

LITERATURE AND DATA

In this chapter the Sequential Ordering Problem with Time Windows (SOP-TW) is

formally defined. The SOP-TW is compared with several well-known problems and

a review of the literature on the SOP-TW and closely related problems is presented.

This leads to a discussion about the availability of SOP-TW data sets, which moti-

vates the need for problem-specific data and thus the creation of a data generator.

2.1 Definition of the SOP-TW

The single crane scheduling problem with pre-assigned container locations,

the SOP-TW, can be described in machine scheduling terms as follows,

where a crane is a machine and container moves are jobs. Consider a single

machine problem with n non-preemptable jobs. For each job i, let pi be its

processing time and [ai, bi] be the time window1 in which job i can start its

processing (pi, ai, bi ≥ 0 and ai ≤ bi). At least one time window must be ac-

tive, that is, there is at least one i ∈ {1, . . . , n} where ai > 0 and/or bi <∞.

(The time window of job i is called inactive if there are no restrictions on

the start time, that is, any nonnegative start time is allowed.) Moreover,

1The earliest start time of job i, ai, is also known as the release date of job i. Similarly,

bi is the latest start time of job i or, alternatively, the due date of job i. In some appli-

cations the due date is defined as the latest completion time, bi+pi, but not in this thesis.

17

Page 48: New data generation and solution techniques for the

18 SOP-TW: DEFINITION, LITERATURE AND DATA

waiting is permitted: the machine is allowed to be idle between jobs. Let

P be the set of generalised precedence arcs, where P 6= ∅. For each pair

of jobs i and j, where (i, j) ∈ P , there exists a minimum time gap αij ≥ 0

between the start of job i and the start of job j. Setup is also required before

a job starts processing. The setup duration is sequence-dependent, defined

by the parameter sij ≥ 0 if job j is processed immediately after job i. The

objective is to minimise the total setup time required to process all jobs.

The motivation for this choice of objective is discussed in Section 1.1.2.

Alternative objectives are briefly considered in Sections 2.4.4 and 4.2.3. In

particular, minimising the completion time of the final job—also known as

the makespan and calculated as the sum of all setup, processing and waiting

times—is a common scheduling objective. Since waiting is permitted in the

SOP-TW, a schedule that minimises the total setup time does not necessarily

minimise the makespan. However, as discussed in Section 2.5.1, these two

objectives are equivalent in the special case without release dates.

Using the three-field classification α|β|γ commonly used in scheduling liter-

ature (see Graham et al. [13], Lawler et al. [14] or Pinedo [15]) the SOP-TW

can be classified as 1|prec, sij , TWi|∑sij , that is, the problem of minimis-

ing the sum of the setup times on a single machine subject to generalised

precedence relations, sequence-dependent setup times, and time windows on

the start time of each job.

The SOP-TW can also be defined over a directed graph, D := (V ∪ {0}, A)

on n + 1 vertices, where V = {1, . . . , n} is the set of n jobs, and vertex 0

is a fictitious (dummy) start job. Arc (i, j) ∈ A denotes job j is processed

immediately after job i and the cost of the arc is given by sij . Each vertex

i ∈ V is associated with a processing time pi and a start time window

[ai, bi]. A precedence relation between vertices i and j exists if (i, j) ∈ P ,

where αij is the minimum time gap between the start of job i and the

start of job j. On this directed graph D, the aim is to find a tour (i.e. all

jobs “visited”) which minimises the total setup time (i.e. the total “travel”

time). The minimum time delay between starting job i and starting job

j is defined as δij := pi + sij . In our application, the δ values satisfy the

triangle inequality (δik ≤ δij+δjk), thus the s values satisfy the weak triangle

inequality sik ≤ sij +pj +sjk. This inequality means that the setup between

jobs i and k cannot be performed faster by setting up via a third job j.

Page 49: New data generation and solution techniques for the

2.1 Definition of the SOP-TW 19

2.1.1 The SOP-TW as a TSP variant

While the SOP-TW can be viewed as a single machine scheduling problem, it

can also be viewed as a Travelling Salesman Problem (TSP) variant where a

TSP city is equivalent to a job to be processed on a machine. Then vertices

1 to n represent cities in set V , vertex 0 is the salesperson’s depot, and

arcs connect pairs of cities. Each city i ∈ V has an associated arrival time

window given by [ai, bi] and the minimum length of visit required at city i

is pi. For each pair of cities in precedence set P , say (i, j) ∈ P , αij is the

associated minimum time gap between the arrival times at cities i and j.

In the TSP, the cost of travelling from city i to city j is cij and the aim

is to minimise the total cost of travelling between cities. In the SOP-TW

version, the aim is to minimise the total time spent travelling between cities,

so cij = sij for all (i, j) ∈ A.

A tour in D is a sequence of cities, starting and ending at the depot, which

visits each city in V exactly once such that there exists an arc in A between

each pair of successive cities in the sequence. In addition to visiting all

cities, a feasible tour for the SOP-TW requires the salesperson to arrive at

each city within the city’s time window, stay at the city for some minimum

amount of time, and respect all precedence relations requiring particular

cities to be visited before other cities. The aim is to find a feasible tour

with minimal cost (in our case, minimal total time spent travelling between

cities).

The SOP-TW extends the TSP via the addition of precedence constraints

and active time windows: the SOP-TW reduces to the ATSP-TW in the

absence of precedence constraints (as shown in §2.2), and reduces to the

SOP if all time windows are inactive. Furthermore, waiting is permitted: if

the salesperson arrives at city i before the start of its time window, ai, the

salesperson waits at city i with the visit officially beginning at ai.

Herein, a tour in D is formally defined as a permutation of the n cities in

V , given by π = (π1, . . . , πn), which implicitly starts and ends at the depot

(π0 = πn+1 = 0), such that (πi, πi+1) ∈ A for all i = 0, . . . , n. The cost of a

tour given by permutation π is the sum of the individual costs of transition

between each pair of successive cities in the permutation,∑n

i=0 sπi,πi+1 .

For the SOP-TW, a tour given by π is a time feasible permutation if

Page 50: New data generation and solution techniques for the

20 SOP-TW: DEFINITION, LITERATURE AND DATA

(a) all precedence relations given by the set P are satisfied; and

(b) the arrival time at each city is within the city’s time window.

Given a permutation π, precedence (i, j) ∈ P is satisfied if city i is visited

before city j, that is, k < l, where city i is the k-th city in permutation π

(πk = i) and city j is the l-th city in permutation π (πl = j). The (earliest)

arrival time at the l-th city of permutation π is defined as

tπl = max {aπl , tπl−1+ pπl−1

+ sπl−1,πl , max s.t. (πk,πl)∈P,k<l{tπk + απk,πl}}(2.1)

for l = 1, . . . , n. These times are calculated sequentially, initialised with

tπ0 = t0 = 0 for the depot. The time window for city πl = j ∈ V is satisfied

if tj ∈ [aj , bj ]. Consequently, the tour given by permutation π = (π1, . . . , πn)

is a time feasible permutation if

(a) k < l for all (i, j) ∈ P , where πk = i and πl = j; and

(b) ti ∈ [ai, bi] for all i ∈ V .

The aim in solving the SOP-TW is to find a time feasible permutation of

the cities with the smallest cost.

The relationship between the SOP-TW and several well-known problems is

demonstrated in the next section.

2.2 Relaxations of the SOP-TW

It is well-known in integer programming that any inequality valid for a re-

laxation of an integer program is valid for the integer program itself. Since

generating valid inequalities for a relaxation is often easier than generating

valid inequalities for the original integer program, and many valid inequal-

ities are known for the key relaxations of the SOP-TW, it is important to

identify the relationships between the SOP-TW and related problems.

The following abbreviations are for a series of related problems:

Page 51: New data generation and solution techniques for the

2.2 Relaxations of the SOP-TW 21

Abbreviation Problem name

AP Assignment Problem

ATSP Asymmetric Travelling Salesman Problem

ATSP-PC1 ATSP with additional Precedence Constraints, set PC1

ATSP-PC2 ATSP with additional Precedence Constraints, set PC2

ATSP-TW ATSP with Time Windows

ATSP-TW-PC2 ATSP-TW with additional Precedence Constraints, PC2

(where PC2 is not induced by the TWs) i.e. the SOP-TW

In this section the relationship between the problems named above will be

shown. In particular, when PC1 and PC2 are appropriately defined (as will

be done later in this section):

AP ⊇ ATSP ⊇ ATSP-PC1 ⊇ ATSP-TW ⊇ ATSP-TW-PC2, and

AP ⊇ ATSP ⊇ ATSP-PC2 ⊇ ATSP-TW-PC2,

where F1 ⊇ F2 means that the problem denoted by F1 includes at least

all solutions in the feasible region of problem F2; in other words, F1 is a

relaxation of F2.

Show 1. AP ⊇ ATSP ⊇ ATSP-TW.

Ascheuer et al. [16] present a cutting plane formulation for the ATSP-TW

that extends the Dantzig, Fulkerson and Johnson [17] TSP formulation by

including a class of inequalities that forbid paths that violate the time win-

dows, known as infeasible path elimination constraints (IPECs):

Z(ATSP-TW) = min∑

(i,j)∈A

sijxij

s.t.∑

j∈V ∪{0}s.t.(i,j)∈A

xij = 1 ∀i ∈ V ∪ {0} (2.2)

∑i∈V ∪{0}

s.t.(i,j)∈A

xij = 1 ∀j ∈ V ∪ {0} (2.3)

x(A(W )) ≤ |W | − 1 ∀W ⊂ V ∪ {0}, 2 ≤ |W | ≤ n (2.4)

x(Q) ≤ |Q| − 1 ∀ infeasible pathsQ = (v1, v2, . . . , vk)

(2.5)

xij ∈ {0, 1} ∀(i, j) ∈ A, (2.6)

Page 52: New data generation and solution techniques for the

22 SOP-TW: DEFINITION, LITERATURE AND DATA

where xij is 1 if arc (i, j) ∈ A is used in the tour. For infeasible path

Q = (v1, v2, . . . , vk) with length k − 1, x(Q) :=∑k−1

i=1 xvivi+1 . For a set of

cities W ⊂ V ∪ {0}, A(W ) := {(i, j) ∈ A : i, j ∈ W} is the set of arcs

connecting cities in W , hence x(A(W )) is the sum of the arcs connecting

cities in W .

The IPECs, constraints (2.5), ensure the time windows are satisfied by pro-

hibiting subpaths that lead to time window violations. By removing the

IPECs, the ATSP-TW relaxes to the ATSP:

Z(ATSP) = min∑

(i,j)∈A

sijxij

s.t. (2.2), (2.3), (2.4) and (2.6).

Removing the subtour elimination constraints (SECs), constraints (2.4), the

relaxation of the ATSP formulation gives the AP:

Z(AP) = min∑

(i,j)∈A

sijxij

s.t. (2.2), (2.3) and (2.6).

Show 2. ATSP-PC 1 ⊇ ATSP-TW.

So far AP ⊇ ATSP ⊇ ATSP-TW has been shown. To show ATSP-PC1 ⊇ATSP-TW, a connection must be established between PC1 and the time

windows of the ATSP-TW.

The time window parameters (a,b) and minimum time delays (δ) of the

ATSP-TW induce a precedence set of pairs of cities, PTW (a, b, δ). This set

contains all pairs of cities with non-overlapping time windows. For example,

consider cities i and j with time windows [ai, bi] and [aj , bj ], respectively.

If bi < aj + δji, the time windows of i and j are non-overlapping such

that city i must precede city j (but not necessarily immediately before) in

any feasible tour. Consequently, all pairs of cities can be checked to see

if one must precede the other, in which case they are added to the prece-

dence set PTW (a, b, δ). However, this set only records precedences between

pairs of cities, and not specific information about time windows. Hence, if

PC1 ⊆ PTW (a, b, δ) then ATSP-PC1 ⊇ ATSP-TW, that is, ATSP-PC1 is a

relaxation of the ATSP-TW.

Page 53: New data generation and solution techniques for the

2.2 Relaxations of the SOP-TW 23

More formally, if city i must precede city j—denoted by i ≺ j—then every

path from j to i is infeasible, hence IPECs of the form in (2.7) are satisfied

by all feasible tours:

Z(ATSP-PC1) = min∑

(i,j)∈A

sijxij

s.t. (2.2), (2.3), (2.4) and (2.6)

x(Q(j, i)) ≤ |Q(j, i)| − 1, ∀(i, j) ∈ PC1, ∀Q(j, i), (2.7)

where Q(j, i) denotes a path from j to i (thus |Q(j, i)| denotes the length of

path Q(j, i)), and PC1 ⊆ PTW (a, b, δ). Consequently, constraints (2.7) are a

subset of constraints (2.5), so ATSP-PC1 is a relaxation of the ATSP-TW.

Show 3. ATSP-TW ⊇ ATSP-TW-PC 2.

To establish ATSP-TW ⊇ ATSP-TW-PC2, precedence set PC2 is defined as

containing at least one precedence that is not implied by the time windows of

the ATSP-TW, that is, PC2 * PTW (a, b, δ). In other words, the ATSP-TW-

PC2 is defined as per the ATSP-TW with additional precedence constraints

between pairs of cities not already given by the time windows. Consequently,

if the time windows are the same for both problems (or the time windows of

the ATSP-TW are a relaxation of the time windows of the ATSP-TW-PC2)

then ATSP-TW ⊇ ATSP-TW-PC2.

More formally, for a pair of cities, say i and j where i ≺ j, every path from j

to i is infeasible, hence IPECs of the form in (2.8) are satisfied by all feasible

tours:

Z(ATSP-TW-PC2) = min∑

(i,j)∈A

sijxij

s.t. (2.2), (2.3), (2.4), (2.5) and (2.6)

x(Q(j, i)) ≤ |Q(j, i)| − 1, ∀(i, j) ∈ PC2, ∀Q(j, i), (2.8)

where PC2 * PTW (a, b, δ). Consequently, constraints (2.8) are a superset of

constraints (2.5), so ATSP-TW is a relaxation of ATSP-TW-PC2.

Page 54: New data generation and solution techniques for the

24 SOP-TW: DEFINITION, LITERATURE AND DATA

Show 4. ATSP-PC 2 ⊇ ATSP-TW-PC 2.

Removing the time window IPECs, constraints (2.5), the relaxation of the

ATSP-TW-PC2 formulation gives the ATSP-PC2:

Z(ATSP-PC2) = min∑

(i,j)∈A

sijxij

s.t. (2.2), (2.3), (2.4), (2.6) and (2.8).

Show 5. ATSP ⊇ ATSP-PC 1 and ATSP ⊇ ATSP-PC 2.

Since the ATSP-PC1 is the ATSP with IPECs (2.7), the ATSP is a relaxation

of ATSP-PC1. Similarly, the ATSP-PC2 is the ATSP with IPECs (2.8), thus

the ATSP is a relaxation of ATSP-PC2.

In summary, it has been shown that the problems outlined above have the

following orderings when PC1 ⊆ PTW (a, b, δ) and PC2 * PTW (a, b, δ):

AP ⊇ ATSP ⊇ ATSP-PC1 ⊇ ATSP-TW ⊇ ATSP-TW-PC2,

and AP ⊇ ATSP ⊇ ATSP-PC2 ⊇ ATSP-TW-PC2.

The ATSP-PC is also known as the Sequential Ordering Problem (SOP).

For brevity and clarity, we call the ATSP-TW-PC the Sequential Ordering

Problem with Time Windows (SOP-TW). However, it is a subtle but very

important point to recognise the origin of the precedence constraints in the

naming of the SOP-TW. Consequently, let us denote ATSP-PC1 as SOP1

and ATSP-PC2 as SOP2. Then the problem orderings can be renamed as:

AP ⊇ ATSP ⊇ SOP1 ⊇ ATSP-TW ⊇ SOP2-TW,

and AP ⊇ ATSP ⊇ SOP2 ⊇ SOP2-TW.

Finally, recall from the start of this section that any inequality valid for a

relaxation of an integer program is valid for the integer program itself. Since

the AP, ATSP, ATSP-PC1, ATSP-PC2 and ATSP-TW are relaxations of the

ATSP-TW-PC2 (SOP2-TW), all valid inequalities for these relaxations also

hold for the ATSP-TW-PC2 (SOP2-TW).

Page 55: New data generation and solution techniques for the

2.3 Complexity of the SOP-TW 25

2.3 Complexity of the SOP-TW

It is well-known that the TSP is an NP-hard optimisation problem [18]. As

shown in Section 2.2, the SOP-TW reduces to the ATSP-TW if P = ∅,and reduces to the ATSP if the time windows are also relaxed. Since the

ATSP is NP-hard, so is the SOP-TW. Furthermore, since the problem of

finding a feasible solution to the ATSP-TW is NP-complete in the strong

sense [19], the problem of finding a feasible solution to the SOP-TW is also

NP-complete in the strong sense.

In the next section the literature on container terminals and related work

in both the TSP and machine scheduling fields is reviewed.

2.4 Literature review

In this section, key references are reviewed. Relevant survey papers on

container terminal operations are highlighted for the interested reader, as

well as general references on machine scheduling problems and the TSP.

A review of the two most closely related TSP variants—the SOP and the

ATSP-TW—follows, with a review of the state-of-the-art for the ATSP-TW.

Finally, literature on the SOP-TW and closely related problems is discussed.

2.4.1 General references

Three recent survey papers expansively describe and categorise the main

logistic operations—and subsequent decision problems—of container termi-

nals. Vis and de Koster [20] provide a detailed overview of the literature

for a selection of decision problems common at container terminals (with

55 references up to 2001). Steenken, Voß and Stahlbock [21] comprehen-

sively categorise a wide variety of container terminal operations, presenting

a review and discussion of relevant literature (with over 200 references).

The broad categories considered include the ship planning process, stor-

age and stacking logistics, simulation systems, and transport optimisation.

Stahlbock and Voß [22] update and extend the previous review (also with

over 200 references). The interested reader is directed to these three surveys

for insight on the types of problems that arise at seaport container terminals.

Page 56: New data generation and solution techniques for the

26 SOP-TW: DEFINITION, LITERATURE AND DATA

Both machine scheduling problems and the TSP with its many variants have

been studied for decades and continue to be an area of extensive investiga-

tion: for example, see the books [14, 15, 23] on scheduling; for the TSP, see

the books [24, 25, 26, 27]. Indeed, since sequencing and routing problems are

present in many industrial applications—and often modelled as TSP and/or

scheduling problems—these areas will continue to be of interest.

2.4.2 The SOP and ATSP-TW

Two TSP variants are closely related to the SOP-TW: the SOP (ATSP-PC)

and the ATSP-TW. Many papers have considered these NP-hard problems,

with both exact and heuristic methods developed.

The SOP was introduced by Escudero [28] where he presents a heuristic for

finding feasible solutions. Early mathematical formulations for the SOP are

presented by Ascheuer, Escudero, Grotschel and Stoer in [29, 30] along with

a cutting plane procedure used to find lower bounds on the optimal value.

Escudero, Guignard and Malik [31] present another formulation and use a

Lagrangian relax-and-cut approach to find even stronger lower bounds. A

polyhedral study is conducted by Balas, Fischetti and Pullyblank [32].

Both the SOP and ATSP-TW are considered by Ascheuer [33] where he

describes new classes of valid inequalities which are used within branch-

and-cut (B&C) schemes. This work results in a cutting plane model for the

ATSP-TW, as in [16], which extends the formulation for the TSP by Dantzig,

Fulkerson and Johnson [17] by including a class of inequalities that forbid

paths that violate the time windows (known as infeasible paths, as described

in Section 2.2). Ascheuer, Fischetti and Grotschel [8] test this cutting plane

model and two compact MIP formulations via B&C algorithms.

The first compact model is based on a TSP formulation proposed by Miller,

Tucker and Zemlin [34] that remodels the Dantzig, Fulkerson and Johnson

(DFJ) subtour elimination constraints by using additional t variables. As

demonstrated by Desrochers and Laporte [35], these t variables can be used

to include side constraints, such as time windows via a big-M constraint.

The second compact model used in [8] is an arc-based model that avoids the

big-M constraints, which was introduced by van Eijl [36] and Maffioli and

Page 57: New data generation and solution techniques for the

2.4 Literature review 27

Sciomachen [37]. We modify both compact formulations for the SOP-TW

and present them in Section 4.2.

Nikolakopoulos and Sarimveis [9] present a general heuristic algorithm to

solve the ATSP, SOP and ATSP-TW. The main algorithm incorporates an

insertion construction heuristic and improvement heuristics within a thresh-

old accepting algorithm (a variation of simulated annealing). Their method

does not require parameter tuning for the different variations, and produces

feasible solutions in reasonable time on their test bed of instances. However,

it is important to note that their threshold accepting algorithm requires a

feasible initial solution to begin. In Section 5.3.2 we modify their inser-

tion construction heuristic for the SOP-TW, but as we demonstrate in §6.4,

generating feasible solutions for our larger SOP-TW instances is extremely

difficult (this is unsurprising; see the notes on complexity in §2.3).

Dumas, Desrosiers, Gelinas and Solomon [11] present an exact dynamic pro-

gramming (DP) algorithm for solving the TSP-TW. The effectiveness of the

approach lies in three new elimination tests which significantly reduce the

state space and the number of state transitions. The most effective test

uses precedence information induced from the time windows to eliminate

transitions: transition from city i to city j can only be feasible if all pre-

decessors of j have been visited prior to arriving at i. The other two tests

eliminate states that ultimately cause time window violations. While we

incorporate tests that evaluate similar conditions (compare with Criteria 2

and 3 in Section 7.4), our implementation is fundamentally different.

Focacci, Lodi and Milano [38] propose a hybrid framework that merges Con-

straint Programming (CP) and Operations Research techniques to solve

both the symmetric and asymmetric TSP-TW. Constraint propagation is

used to direct feasibility, while Lagrangian techniques drive the optimisa-

tion.

2.4.3 State-of-the-art for the ATSP-TW

Dash et al. [39] propose a new formulation for the ATSP-TW where time

windows are further subdivided into subwindows called buckets. Valid in-

equalities for this time bucket formulation are derived as well as correspond-

ing efficient separation algorithms. The valid inequalities are embedded in a

Page 58: New data generation and solution techniques for the

28 SOP-TW: DEFINITION, LITERATURE AND DATA

B&C algorithm; the computational results indicate this is one of the current

state-of-the-art techniques for the ATSP-TW. Like the B&C algorithm of

Ascheuer et al. [8], this algorithm could be extended and used to solve the

SOP-TW but is beyond the scope of this thesis (see §4.7 for details).

Li [40] proposes a bi-directional dynamic programming approach for solving

the ATSP-TW. By performing forward and backward DP simultaneously

significantly fewer non-dominated labels are created, producing an efficient

DP algorithm. An extensive computational study using six benchmark data

sets shows this method is among the state-of-the-art solution techniques for

the ATSP-TW, solving a number of open instances for the first time.

Roberti [41] proposes several exact algorithms to solve a variety of Vehicle

Routing Problem (VRP) variants. For the ATSP-TW, Roberti proposes two

new tour relaxations which he uses to compute valid lower bounds. An exact

DP algorithm based on the relaxations is used to obtain an optimal integer

solution. Like Li [40], an extensive computational study demonstrates this

method is the current best, including solving many previously open bench-

mark problems. In general, Roberti’s methods outperform those of Li [40]

and Dash et al. [39], as well as the B&C methods of Ascheuer et al. [8] and

the CP-based method of Focacci et al. [38].

2.4.4 The SOP-TW

When compared with other problems in the TSP and machine scheduling

literature, relatively few papers have considered the SOP-TW. Of those

papers, the definition of the SOP-TW may vary from our description in two

ways: the form of the objective function and the form of the precedence

constraints.

Some versions of the SOP-TW (such as in [4, 37, 42, 43, 7, 5, 6]) consider

minimising the makespan—the sum of all travelling, processing and waiting

times and denoted Cmax—rather than minimising the sum of all travelling

times,∑n

i=0 sπi,πi+1 (such as in this thesis, as well as in [12]). Except for

a special case (such as in [44, 45, 46]; see Section 2.5.1), these two objec-

tive functions are significantly different. Since the form of the objective

function often influences the solution approach (e.g. dynamic programming,

greedy heuristics), an approach may be rendered unsuitable if the form of

Page 59: New data generation and solution techniques for the

2.4 Literature review 29

the objective function differs.

Another point of difference is whether the precedence constraints involve

a minimum time-lag, such as our αij . In the presence of such a time-lag,

as in [5, 6], the precedences are called generalised precedence constraints;

otherwise they are termed ordinary precedence relations, as in [4, 37, 42,

43, 7, 12, 44, 45, 46]. With ordinary precedences, only the order of the jobs

are important. In contrast, the introduction of time-lags force additional

checks on the timing of each job. As a result, a schedule that is infeasible

for a SOP-TW instance with generalised precedence constraints may be

feasible for the equivalent problem with ordinary precedences, as proved

in Appendix C.2 Thus the presence of minimum time-lags may also affect

the solution approach. More on the relationship between generalised and

ordinary precedences is presented in Appendix C.

As shown in Table 2.1, to the best of our knowledge, we are the first to

consider the SOP-TW with generalised precedence constraints with the aim

of minimising the sum of all travelling times, that is, the SOP-TW as stated

in Section 2.1. Consequently, we cannot directly compare our results with

existing results in the literature.

Objective function

Cmax∑n

i=0 sπi,πi+1

Pre

c. ordinary [4, 37, 42, 43, 7, 44, 45, 46] [12]

generalised [5, 6] our work

Table 2.1: Reference summary for the SOP-TW.

Both Hurink and Knust [5] and Brucker and Knust [6] consider the SOP-

TW as a machine scheduling variant with makespan objective; Hurink and

Knust [5] present a tabu search algorithm for finding upper bounds while

Brucker and Knust [6] present a method to find lower bounds.

Also minimising makespan, Escudero and Sciomachen present a MIP model

for the SOP-TW [4], a heuristic for improving feasible solutions [42] and a

2A feasible solution to the SOP-TW with generalised precedences (gen-SOP-TW) is

always feasible for the SOP-TW with ordinary precedences (ord-SOP-TW); the reverse is

not true. An infeasible solution to the ord-SOP-TW is always infeasible for the gen-SOP-

TW; the reverse is not true. A proof of these propositions is given in Appendix C.

Page 60: New data generation and solution techniques for the

30 SOP-TW: DEFINITION, LITERATURE AND DATA

heuristic for finding feasible solutions [43]. Maffioli and Sciomachen [37] (as

well as van Eijl [36] for the Delivery Man Problem with Time Windows)

introduce an arc-based linear MIP model that avoids big-M constraints; we

present a modified version of the arc-based model in Section 4.2.2.

The SOP-TW without release dates is a special case of the SOP-TW, where

minimising∑n

i=0 sπi,πi+1 is equivalent to minimising makespan; this will be

discussed in more detail in Section 2.5.1. For this special case, Ortuno [44]

outlines a Lagrangian approach and an algorithmic framework to identify

and strengthen violated valid inequalities based on due dates and prece-

dences. Escudero and Ortuno [45] present the valid cuts based on due dates

and the corresponding heuristic separation algorithm; Alonso-Ayuso, Detti,

Escudero and Ortuno [46] present this again, but also give some compu-

tational results of their implementation of this Lagrangian relax-and-cut

scheme for finding lower bounds.

Several papers have considered the SOP-TW as a TSP variant. Mingozzi,

Bianco and Ricciardelli [12] present an exact algorithm based on a dynamic

programming formulation, where the aim is to minimise∑n

i=0 sπi,πi+1 (note

that this method cannot be used when the objective is Cmax). To reduce

the size of the state space graph they introduce new bounding functions.

Fagerholt and Christiansen [7] consider the SOP-TW with additional allo-

cation constraints, where the objective is Cmax. They also present a forward

dynamic programming algorithm, where the problem is solved as a shortest

path problem. Like in [11], both [7] and [12] reduce the size of the state

space graph by detecting and eliminating states that cannot lead to an op-

timal solution or are clearly infeasible. We apply similar but fundamentally

different tests in Section 7.4 to prune branch-and-bound nodes.

2.4.5 Other closely related problems

The SOP-TW is closely related to a number of classical optimisation prob-

lems, including Pickup and Delivery Problems (PDPs), Dial-a-Ride Prob-

lems (DARPs) and Vehicle Routing Problems (VRPs). In this section, a

brief description of these problems and their most pertinent variants is given,

and similarities and differences to the SOP-TW are noted. Seminal refer-

ences and more recent contributions are provided for the interested reader.

Page 61: New data generation and solution techniques for the

2.4 Literature review 31

In a complementary vein, Laporte and Martin [47] classify and review nu-

merous cycle location problems that arise in transportation and telecommu-

nication applications. In particular, they consider several problems with ad-

ditional sequencing constraints relevant to the SOP-TW, such as the ATSP-

PC, ATSP-TW, PDPs, DARPs, TSP with Pickup and Delivery (TSP-PD)

and the Pickup and Delivery Problem with Time Windows (PDP-TW).

Pickup and Delivery Problems are a large family of routing problems involv-

ing the distribution of one or more commodities between various locations.

Parragh, Doerner and Hartl [48, 49] provide a two-part comprehensive sur-

vey that reviews and classifies vehicle routing problems that involve pickup

and delivery operations. The surveys are restricted to problems and solution

approaches where routing—rather than scheduling—is most important. As

a result, approaches that focus on full-truck-load problems (problems where

there is unit vehicle capacity, unit demand and unit supply) are excluded.

In the first part [48], the focus is transportation routing problems where

all goods to be delivered are transported from the depot(s) to linehaul

customers and all goods to be picked up are transported from backhaul

customers to the depot(s). The second part [49] focuses on PDPs where

goods are transported between pickup and delivery locations; these vari-

ants are most closely related to the SOP-TW. Of particular interest are the

dial-a-ride problems—which we address in §2.4.5.1—and the vehicle routing

problems—which we address in §2.4.5.2.

2.4.5.1 Dial-a-Ride Problems

Dial-a-Ride Problems are closely related to the ATSP-PC. A typical DARP

involves scheduling a fleet of vehicles to pickup and deliver passengers be-

tween various locations, subject to additional side constraints. Since each

passenger must be picked up before they can be delivered to their desti-

nation, a precedence relation arises between passenger pickup and delivery

locations. In general, the transport vehicles can carry multiple passengers,

so a vehicle route may visit other locations between each passenger’s origin

and destination.

Many DARP variations exist, and generalise several important vehicle rout-

ing problems, such as the VRP with Time Windows (VRP-TW) and the

Page 62: New data generation and solution techniques for the

32 SOP-TW: DEFINITION, LITERATURE AND DATA

VRP with Pickup and Delivery (VRP-PD) with and without time windows.

See Cordeau and Laporte [50] for a survey of various models and algorithms

for DARPs.

The TSP reappears in PDPs. An important single-vehicle variation of the

DARP is the TSP with Pickup and Delivery (TSP-PD). The TSP-PD is

a TSP where the set of 2n cities take the form of n pickup-delivery pairs

such that for each pair, called a request, the pickup city must be visited

before the delivery city. The aim is to find a least cost tour of the cities such

that all requests are met. In the ATSP-PC each city may have multiple

predecessors and/or successors, thus the TSP-PD is a special case. See

Ruland [51], Ruland and Rodin [52], and Dumitrescu, Ropke, Cordeau and

Laporte [53] for polyhedral results and branch-and-cut algorithms for the

TSP-PD.

2.4.5.2 Vehicle Routing Problems

The Vehicle Routing Problem is a well-known combinatorial optimisation

problem with many variants. While VRPs arise in a myriad of real-world

contexts, they are often described in terms of the distribution of commodities

between depots and customers (nodes), where the distribution is performed

by a fleet of vehicles. In this setting, the VRP consists of determining a set

of vehicle routes that satisfy customer demand—and any side constraints—

while minimising the sum of the distribution costs of all vehicle routes.

Common side constraints include vehicle capacities, time/distance limits

on route length, precedence relations between pairs of customers, and time

windows on customers visits. Other variations include: fleet type (heteroge-

neous/homogeneous); number and size of commodities; stochastic demand;

number and size of depots; symmetric/asymmetric distribution costs; and

input that changes over time.

Numerous books, guides and surveys on the VRP have been developed.

Moreover, the vast VRP literature includes many recent contributions, high-

lighting the ongoing interest in this area of research. For more details on

the VRP, common variants, applications, models and a variety of exact and

heuristic solution methodologies, see: Toth and Vigo [54]; Golden, Raghavan

and Wasil [55]; Laporte [56, 57, 58]; Cordeau, Gendreau, Laporte, Potvin

Page 63: New data generation and solution techniques for the

2.4 Literature review 33

and Semet [59]; Baldacci, Toth and Vigo [60]; Cordeau, Laporte, Savelsbergh

and Vigo [61]; Potvin [62]; and Pillac, Gendreau, Gueret and Medaglia [63].

Recent PhD theses address a number of VRP variants and review the state-

of-the-art: for example, see Tramontani [64], Jepsen [65], Roberti [41] and

Subramanian [66].

The TSP is a special case of the VRP—thus the VRP is NP-hard—where

there is only one uncapacitated vehicle in the fleet. As a result, TSP sub-

problems arise when VRP solution techniques take a two-stage cluster-first

route-second approach. Consequently, the SOP-TW can be viewed as a

special case of the VRP with Time Windows and additional Precedence

Constraints (VRP-TW-PC) where there is only one vehicle.

Several VRP variants are closely related to the SOP-TW. The two most rel-

evant generalisations are the VRP with Time Windows (VRP-TW) and the

VRP with Pickup and Delivery (VRP-PD) with and without time windows.

In the VRP-TW, each customer must be visited within a specified time win-

dow. Consequently, the VRP-TW is a generalisation of the ATSP-TW (a

relaxation of the SOP-TW, discussed in §2.2) where multiple vehicles can

service the cities. For an overview of the VRP-TW and a variety of exact

and heuristic methods that was up-to-date as of 2002, see Cordeau, De-

saulniers, Desrosiers, Solomon and Soumis [67]. For a survey of the most

effective exact algorithms for solving the VRP-TW from 2002 to 2012, see

Baldacci, Mingozzi and Roberti [68]. For a comprehensive survey of impor-

tant heuristic solution techniques for solving the VRP-TW, see Braysy and

Gendreau [69, 70].

In a common version of the VRP-PD, n commodities are to be distributed

by the vehicle fleet, where each commodity is associated with a single pickup

node (origin) and a single delivery node (destination). The pickup node must

be visited before the corresponding delivery node, so precedence relations

exists between n node-pairs. Moreover, both nodes in the precedence node-

pair must be visited by the same vehicle. Consequently, the VRP-PD is a

generalisation of the TSP-PD, where there are multiple vehicles to perform

requests.

The VRP-PD with Time Windows (VRP-PD-TW) is a generalisation of the

VRP-TW; the VRP-TW is a special case of VRP-PD-TW when all origins

Page 64: New data generation and solution techniques for the

34 SOP-TW: DEFINITION, LITERATURE AND DATA

(or alternatively, all destinations) are at the depot. When people rather than

commodities are transported, the VRP-PD and VRP-PD-TW are usually

known as DARPs and often incorporate constraints and/or objective func-

tion terms to account for passenger inconvenience such as waiting time and

journey time. See Desaulniers, Desrosiers, Erdmann, Solomon and Soumis

[71], Cordeau, Laporte, Potvin and Savelsbergh [72] and Cordeau, Laporte

and Ropke [73] for reviews of key models, methods, results and applications

of the VRP-PD and VRP-PD-TW.

2.5 Existing SOP-TW data sets

To date, SOP-TW instances with up to 3,000 jobs have been considered in

the literature. Insight on why these large problems have been successfully

tackled via heuristic methods is given in this section.

The bulk of research on the SOP-TW has been performed by Laureano

Escudero and various collaborators. A special case of the SOP-TW they

have considered is discussed in Section 2.5.1, while the SOP-TW data sets

used to test their methods are described in Section 2.5.2. The motivation

for a new SOP-TW data generator is presented in Section 2.5.3.

2.5.1 Special case: the SOP-TW without release dates

As noted in Section 2.4, Ortuno [44], Escudero and Ortuno [45] and Alonso-

Ayuso, Detti, Escudero and Ortuno [46] consider the SOP-TW without

release dates, that is, where ai = 0 for all i ∈ V . In this special case,

and when waiting (idle time) is not permitted, minimising∑n

i=0 sπi,πi+1 is

equivalent to minimising makespan. The details follow: Firstly, recall that

the makespan of a schedule is the sum of all setup, processing and waiting

times, denoted Cmax. Without release dates (and indeed, with sufficiently

relaxed release dates) waiting is not required; as soon as the current job

has been processed, the setup and processing of the next job can begin

immediately. Consequently, the makespan is reduced to the sum of all setup

and processing times:∑n

i=0(sπi,πi+1 + pπi). Since the sum of processing

times is constant, minCmax is equivalent to min∑n

i=0 sπi,πi+1 in this special

Page 65: New data generation and solution techniques for the

2.5 Existing SOP-TW data sets 35

case. Figure 2.1 shows partial schedule (. . . → i → j → k → . . .) for the

general case and the special case with no release dates.

(a) . . .

Time

∆. . .

ai aj ak

pi sij pj sjk pk

(b) . . .

Time

. . .pi sij pj sjk pk

Figure 2.1: (a) General case: release dates and waiting permitted. (b) Special

case: no release dates and\or waiting is not permitted. Note that ∆ is the

machine idle time before starting job j due to release date aj .

2.5.2 Data sets used by Escudero and Sciomachen

In several publications, including a book chapter [4] and two journal articles

[42, 43], Laureano Escudero and Anna Sciomachen consider the SOP-TW

with the objective of minimising makespan. The research presented therein

appears to be based on work published in various research reports (especially

[74]) as the material and data sets of all of these publications significantly

overlap or are very closely related.

In [4], Escudero and Sciomachen consider a real-life application of the SOP-

TW where jobs are to be sequenced on a single machine in a card assembly

line. They present a MIP model for this problem and outline an algorithm

for finding feasible solutions. No results are reported for the MIP, while the

algorithm is tested on one real-life problem instance we call RL-1. This data

set is described in Section 2.5.2.1.

In [42], Escudero and Sciomachen outline an algorithm with local search

procedures for finding an initial feasible solution and give a local search

heuristic for improving feasible solutions. These algorithms are tested on

RL-1, another real-life instance we call RL-2 (see §2.5.2.2), and two sets

of randomly generated instances we call RG-1 (see §2.5.2.3) and RG-2 (see

§2.5.2.4).

Page 66: New data generation and solution techniques for the

36 SOP-TW: DEFINITION, LITERATURE AND DATA

In [43], Escudero and Sciomachen give a more detailed description of the

algorithm for finding an initial feasible solution originally presented in [42].

The algorithm is tested on RL-1, RL-2, and two sets of randomly generated

instances we call RG-3 (see §2.5.2.5) and RG-4 (see §2.5.2.6).

The two main contributions of the research in [4, 42, 43] are (1) a heuris-

tic for generating a feasible solution for the SOP-TW, and (2) a heuristic

for improving feasible solutions by reducing makespan. They test the effec-

tiveness of the algorithms on two real-life cases and a collection of random

problem instances they generate; the characteristics of these instances are

now described.

2.5.2.1 Real-life instance RL-1

This instance has n = 300 jobs and |P | = 2,142 precedences (≈ 7.14n).

Interestingly, only 14 unique jobs, called part numbers, make up the 300

jobs; there are 12 jobs with part number A, 27 jobs with part number B,

etc. All jobs with the same part number have identical processing times and

characteristics (precedence relations, family). Precedence relations between

different parts hold for all jobs with those part numbers: D parts (12 jobs)

must precede all A parts (also 12 jobs), so there are 144 precedences between

theD and A parts. The part numbers are divided into two families, such that

there is no setup time between two jobs in the same family, while the setup

time between jobs in different families is 300. It is important to note that

(1) the processing time of each job (in the range [4.3, 14.5]) is significantly

smaller than the inter-family setup time of 300, and (2) the setup times can

only take two values (0 or 300). Finally, only 27 of the 300 jobs have active

time windows (all with C or G part numbers), while the remaining 273 jobs

have no release date and the same large due date; 273 jobs are released on a

Monday and must be completed by Friday, while 27 jobs must be processed

within 16 hours of being release.

2.5.2.2 Real-life instance RL-2

The characteristics of RL-2 are similar to RL-1, except this instance has

n = 139 jobs and |P | = 479 precedences (≈ 3.45n).

Page 67: New data generation and solution techniques for the

2.5 Existing SOP-TW data sets 37

2.5.2.3 Random instances RG-1

This set contains 50 instances, generated as follows. For a given value of n,

3n precedence relationships are generated by drawing 3n pairs of integers

from the discrete uniform distribution over [1, n]; the j-th pair, say (πj , σj),

gives the (ordinary) precedence relation that job πj must precede job σj .

For each i ∈ V , integer processing times, release dates and due dates are

also generated from discrete uniform distributions such that pi ∈ [1, 100],

ai ∈ [1, 100], and bi ∈ [ai − 1 + 2pi, ai − 1 + 2npi].3 The values of n are 100,

500, 1,000, 2,000 and 3,000, with ten instances generated for each value of

n. For n = 100, the jobs are randomly allocated to 5 families: for each pair

of families, the inter-family setup times are drawn from a discrete uniform

distribution in [5, 500]; the intra-family setup times are zero. For n ≥ 500,

the jobs are randomly allocated to 10 families, with setup times allocated

as for n = 100.

2.5.2.4 Random instances RG-2

This set contains 102 instances, generated in a similar way as RG-1. For

a given value of n, 3n precedence relationships are generated as described

for RG-1. The values of n are 100, 200, 300, 400 and 500. The prob-

lem instances are split (unevenly) between nine classes, labelled E1 to E9.

Classes E1–E5 (a total of 80 instances) have 5 families where integer setup

times are generated from the discrete uniform distribution over [5, 500]. In-

teger processing times and release dates are generated from discrete uniform

distributions such that pi ∈ [1, 50] and ai ∈ [1, 1000]. Classes E6–E9 (22

instances) have one job per family (i.e. every pair of jobs will have a non-

zero setup time) where integer setup times are generated from the discrete

uniform distribution over [5, 500]. Integer processing times and release dates

are generated from discrete uniform distributions such that pi ∈ [1, 20] and

ai ∈ [1, 10000].4

3To match Escudero and Sciomachen, for all data sets discussed in §2.5, release dates

correspond to the time a job can be started, while due dates correspond to the time a job

must be completed.4Note that although [42] does not describe how due dates are generated, we assume

that they are the same as described for RG-1.

Page 68: New data generation and solution techniques for the

38 SOP-TW: DEFINITION, LITERATURE AND DATA

2.5.2.5 Random instances RG-3

This set contains 55 data sets generated as per RG-1, for n = 500.5

2.5.2.6 Random instances RG-4

As per RG-1, except due dates are generated from a discrete uniform distri-

bution in [ai− 1 + npi, ai− 1 + 5npi], and for n = 100, 300, 500, 800, 1,000,

1,500 and 3,000 (one instance per value of n).6

2.5.2.7 A note on the random instances RG-1 to RG-4

In [43], the last procedure of the preprocessing routine checks a list of 10

conditions for testing the infeasibility of a problem instance. However, this

list is not exhaustive, and so an infeasible instance may not be identified.

When discussing the generation of the random problem instances in [42]

and [43], Escudero and Sciomachen do not address the issue of producing

infeasible data sets. This appears to be a significant oversight, as all of the

data generators outlined above could easily generate an infeasible instance.

However, since all of their time windows are relatively wide (reducing the

likelihood of infeasibility), the most likely cause of an infeasible instance

is their method for generating precedence relations. In contrast, the data

generator described in Chapter 3 is designed to ensure all data sets produced

are feasible. This guarantees no computational effort (generating or solving)

is expended on infeasible problems.

2.5.2.8 Other data sets used with collaborators

Ortuno’s PhD thesis [44] (supervised by Escudero) considers the special case

of the SOP-TW described in Section 2.5.1. A Lagrangian approach and an

algorithmic framework to identify and strengthen violated valid inequalities

5Note that although [43] does not describe how setup times are generated, we assume

that they are the same as described in [42] for RG-1.6As with RG-3, although [43] does not describe how setup times are generated, we

assume that they are the same as described in [42] for RG-1.

Page 69: New data generation and solution techniques for the

2.5 Existing SOP-TW data sets 39

based on due dates and precedences are presented; no computational experi-

ments are reported. The valid cuts based on due dates and the corresponding

heuristic separation algorithm are also given in the closely related publica-

tion by Escudero and Ortuno [45]; again, no experiments are reported.

Alonso-Ayuso, Detti, Escudero and Ortuno [46] repeat most of the content

in [45], extend the preprocessing scheme given by Escudero, Guignard and

Malik [31] for the SOP, and present some computational results of their

implementation of this Lagrangian Relax-and-Cut scheme for finding lower

bounds.

Their data sets are constructed from 9 SOP instances (used in [28, 30, 31]);

each SOP instance is converted into a SOP-TW instance by adding deadlines

to some jobs (no release dates). Five sets of randomly generated deadlines7

are considered for each underlying SOP, giving a total of 45 instances; n

ranges from 8 to 99. The majority of instances have only a few active

deadlines; for example, the 99 job instances have at most 8 active deadlines,

leaving 91 time windows relaxed.

The main MIP presented by Maffioli and Sciomachen [37] is tested on ran-

domly generated instances created along the lines of RG-1, where n ranges

from 6 to 40 jobs and |P | ranges from zero to 2.45n. For each i ∈ V , in-

teger processing times, release dates and due dates are also generated from

discrete uniform distributions such that pi ∈ [1, 100], ai ∈ [1, 100], and

bi ∈ [ai + pi, ai + 2npi]. The instances are split into three classes based

on the type of setup times. The first class has setup times drawn from a

discrete uniform distribution in [5, 500]; the second class has jobs grouped

into families, such that there is no setup time between two jobs in the same

family, while the setup time between jobs in different families is 300; the

third class is similar to the second class, except the non-zero setup times are

random positive integers.

While Maffioli and Sciomachen’s results can not be directly extrapolated

(due to makespan objective) it is very interesting to note that their MIP

reached optimality faster on data sets where there was at least n precedences

and the time windows were tight (measured by the time window widths and

scaled for processing times). This supports the hypotheses that: (1) a rela-

7No details are given on how the deadlines are generated.

Page 70: New data generation and solution techniques for the

40 SOP-TW: DEFINITION, LITERATURE AND DATA

tively small number of precedence relationships makes an instance harder to

solve, and (2) relatively tight time windows makes an instance easier to solve

(noted in Section 3.4.2). Indeed, these points are interrelated: as average

time window widths reduce, the average number of precedences induced by

time windows will increase (see Section 4.5.4 for more on this). However,

it is also important to note that the observation that tightly constrained

problems are solved faster may not be true if the solution technique does

not have an efficient method for discarding infeasible solution candidates.

2.5.3 Motivation for a new SOP-TW data generator

Since the majority of data sets used by Alonso-Ayuso, Detti, Escudero and

Ortuno [46] have so few active deadlines and no release dates, these instances

reflect a special case of the SOP-TW problem quite different to the one we

are primarily interested in, as described in §2.5.1. As a result, we decided

against using these instances in this thesis.

We also chose not to replicate the data generation methods of Escudero and

Sciomachen, as described in RG-1 to RG-4. This is for four main reasons,

discussed in more detail below:

1. the properties of their underlying real-life application are substantially

different to our real-life application;

2. we want a port-specific data generator capable of generating a wide

variety of problem instances that have relevant characteristics;

3. a wide variety of hard data sets should be easy to generate by changing

a range of application-specific parameters; and

4. all problem instances generated should be guaranteed to be feasible.

(1) Differences in real-life applications

Like in Chapter 3, Escudero and Sciomachen generate random data sets with

their particular real-life application in mind, and thus their various data sets

reflect the characteristics of that production environment. Understandably,

they have also designed their algorithms (for generating feasible solutions

and also improving makespan) with that application in mind, and so they

effectively cater to—and exploit—the characteristics of those instances.

Page 71: New data generation and solution techniques for the

2.5 Existing SOP-TW data sets 41

In our real-life application of the SOP-TW (compare with the application

described in RL-1), there is no concept of families, part numbers, or “fixed”

setup times (e.g. setup is either 0 or 300). Each of these concepts signif-

icantly affect algorithmic design; they reduce the complexity of a problem

instance by inherently introducing significant symmetry, and thus enable

“interchangeability” (job i is identical (in some sense) to job j, so can be

treated as such) and “swapping” (job i is different (in some sense) to job j,

say based on family, so swap i for another job with the same family as job j).

Moreover, by having a relatively large non-zero setup time, schedules that

include many transitions between jobs in different families are automatically

highly penalised. In contrast, when processing and setup times are similar,

it is more difficult to distinguish good transitions from bad transitions.

Contrasting RL-1, the key characteristics of our real-life application are: all

jobs are unique; there is very little symmetry in the parameter values; there

is no concept of families; setup times may vary significantly; generally, setup

times are not symmetric (i.e. sij 6= sji); the range of processing times has

the same order of magnitude as the range of setup times; potentially, there

is quite a large range of setup times to/from a particular job; all of our time

windows are active; and all of our time windows are different.

Since our real-life application has fundamentally different characteristics,

it is unlikely that Escudero and Sciomachen’s algorithm for finding feasi-

ble solutions will work as effectively on our problem instances; we do not

test this hypothesis due to time constraints. Additionally, since minimising

makespan is different to minimising the sum of the setup times, Escudero

and Sciomachen’s algorithm for improving makespan needs to be modified to

improve our objective. However, we do not do this since any results obtained

by implementing this modified algorithm could not be directly compared.

(2) Comprehensive port-specific data generator

By construction, RG-1 to RG-4 could never satisfy (2); the random data

generation methods of Escudero and Sciomachen were not motivated by a

seaport container terminal application. Consequently, those problem in-

stances were not designed with that application in mind. In contrast, we

want to test our methods on relevant data, thus we are motivated to create

a comprehensive port-specific data generator that will generate interesting

Page 72: New data generation and solution techniques for the

42 SOP-TW: DEFINITION, LITERATURE AND DATA

and feasible SOP-TW instances.

(3) Easily generate a wide variety of hard problem instances

In general, it becomes harder to find a feasible solution for SOP-TW in-

stances as n increases (all other characteristics unchanged). However, the

relative ease with which feasible solutions are found for RL-1 and RL-2,

and most instances in RG-1, RG-3 and RG-4, indicates that these data sets

are not especially hard. This is unsurprising for the randomly generated in-

stances. For all of these instances, pi ∈ [1, 100] and ai ∈ [1, 100], both with

expected value of 50.5. For RG-1 and RG-3, bi ∈ [ai− 1 + 2pi, ai− 1 + 2npi]

with expected value ai−1+(n+1)pi; for RG-4, bi ∈ [ai−1+npi, ai−1+5npi]

with expected value ai − 1 + 3npi. Since n is in the limits of the interval

over which the due dates are drawn, the release dates become insignificant

as n increases, reducing the relative difficulty of finding a feasible solution.

For example, consider instances when n = 3,000. For RG-1 and RG-3, the

expected value of the due dates is 151,600; for RG-4, the expected value

of the due dates is 454,549.5. With all release dates drawn from [1, 100],

the relaxed problem with no release dates (§2.5.1) is almost equivalent. In

contrast, if the range of release dates was larger (possibly also dependent

on n, or another parameter), in general it would be harder to find feasible

solutions. Indeed this appears to be the case with the RG-2 data sets.

The most difficult instances considered by Escudero and Sciomachen are

RG-2; these have non-trivial release dates and more general setup times so

their properties more closely resemble those of our application. Interestingly,

the results presented in [42] show that in 9 out of 102 instances in RG-2 a

feasible solution was not found. It is possible that these instances were

infeasible. Alternatively, they may be difficult data sets for their algorithm;

unfortunately, no comment is made on this in [42]. For those that did

have a feasible solution, the average CPU time of the algorithm increased

significantly for all n when release dates were non-trivial and there was one

job per family (i.e. n families, as is the case with our problem instances)

rather than just 5 families. In other words, on average, the algorithm took

significantly longer to terminate on instances in E6–E9 compared with the

instances in E1–E5, indicating they were substantially harder instances.

The main advantages of the data generation schemes described in §2.5.2.3–

Page 73: New data generation and solution techniques for the

2.6 Chapter summary 43

2.5.2.6 are that they are relatively simple and easy to implement. Moreover,

it is easy to vary the input parameters to get a range of different data sets.

However, it appears that to generates data sets which are hard (in terms

of finding a feasible solution) also increases the risk of producing infeasible

problem instances (as may have been the case with the RG-2 instances).

Since we know what aspects make our real-life application hard, a tailor-

made data generator enables these parameters to be varied to achieve hard

data sets.

It is important to note that we convert all crane problem instances into

SOP-TW instances (see Section 3.3), so that application-specific information

(such as the underlying locations in the container yard) cannot be deduced

or exploited. While exploiting application-specific information would enable

bespoke solution methods for these instances, the focus of this thesis is

solving the general SOP-TW. Consequently, we develop general purpose

solution methods that do not use any application-specific information.

(4) Data generator must produce feasible SOP-TW instances

As noted in Section 2.5.2.7, the data generator described in Chapter 3 is

designed to ensure all data sets are feasible. In contrast, it is an oversight

that the risk of generating infeasible instances is not discussed in [42] or [43],

as this is possible under the schemes described therein.

To address these four issues, a detailed methodology for generating random,

feasible crane scheduling instances with time windows and natural prece-

dence relations—real-life inspired SOP-TW instances—is given in the next

chapter.

2.6 Chapter summary

Our initial interest in the SOP-TW was sparked by a real-world crane

scheduling problem that arises at seaport container terminals. In this chap-

ter the SOP-TW was formally defined, and its relationship to closely related

problems was discussed.

To the best of our knowledge, we are the first to consider the SOP-TW with

generalised precedence constraints with the aim of minimising the sum of all

Page 74: New data generation and solution techniques for the

44 SOP-TW: DEFINITION, LITERATURE AND DATA

travelling times, that is, the SOP-TW as stated in Section 2.1. Consequently,

we cannot directly compare our results with existing results in the literature.

This fact, along with the desire to have a diverse set of SOP-TW problem

instances, motivates the need for problem-specific data and thus the creation

of a data generator. A detailed method for creating port-specific container

data based on a real world terminal layout is developed in the next chapter.

Page 75: New data generation and solution techniques for the

Chapter 3

A NEW SOP-TW DATA

GENERATOR

In this chapter a detailed method for creating port-specific container data based on

a real world terminal layout is developed. By using this method, port-specific SOP-

TW data sets are generated with a number of characteristics that are used to test

our solution techniques.

3.1 Introduction

Our initial interest in the SOP-TW was sparked by a real-world scheduling

problem, where a series of gantry cranes were to be used to move shipping

containers at a quayside/landside exchange interface of a seaport container

terminal, and the interface has a temporary storage area with a large capac-

ity; schedules were to be generated over a rolling planning horizon. In the

remainder of this chapter we present a general methodology (split into two

procedures) for generating random data for this crane problem, and then

converting that crane scheduling data into data for the SOP-TW.

The first procedure, RandomPortDataGen, generates random, feasible test

data for a crane scheduling problem with time windows and natural prece-

dence relations. Via a number of parameters, the data generator can cre-

ate random problem instances with specific characteristics, including: num-

ber and layout of locations; number of containers; distribution of contain-

45

Page 76: New data generation and solution techniques for the

46 A NEW SOP-TW DATA GENERATOR

ers to locations for pick-up and drop-off; width of time windows; density

of multiple-use locations and precedence relations. The second procedure,

MapCraneDataToSOPTW , converts the crane scheduling data sets gener-

ated by RandomPortDataGen into SOP-TW data sets.

By enabling the automatic generation of feasible test data sets based on

the setup and dynamics of a realistic port system (given by a set of key

parameters), techniques for solving the crane scheduling problem can be

tested on a variety of interesting, feasible data sets. Furthermore, by con-

verting this crane data into data for a more general problem, namely the

SOP-TW, the performance of new techniques can be more readily compared

and contrasted with those already established in the vast TSP and machine

scheduling literature.

The outline for the rest of this chapter is as follows. In §3.2 the procedure

RandomPortDataGen is presented. The focus of §3.2.1 is how to generate

the physical storage locations within the container yard; the properties of

these locations are discussed in §3.2.2. In Sections 3.2.3–3.2.6 the focus is

on generating container movements with associated precedences and time

windows. In §3.3 the procedure MapCraneDataToSOPTW is presented.

The parameter settings used to generate all data sets are discussed in §3.4.

A summary of the data sets generated and their characteristics is given in

§3.5–3.6.

3.2 Procedure RandomPortDataGen: generating ran-

dom crane problem instances

Within seaport container terminals, cranes are often used to move containers

from one place to another. A loaded crane job consists of picking up a

container from one location and dropping it off at another location, taking

some amount of time, called the processing time. Once a loaded crane job is

performed, the crane moves unloaded to the pick-up location of the next job.

Associated with each container movement is a time window: a time interval

during which the container must be picked up from its current location.

Since a physical storage location within a container yard can only be oc-

cupied by at most one container at any time, precedence relations between

Page 77: New data generation and solution techniques for the

3.2 Procedure RandomPortDataGen 47

some pairs of container moves naturally arise. In particular, if container A is

to be dropped off at a location containing container B which is to be picked

up, then container B must be picked up before container A is dropped off.

This ensures that the location stores at most one container at any time.

Once the set of container movements, processing times, time windows and

precedence relations are known, the task is to schedule one or more cranes

to move all containers while satisfying the time windows and precedence

relations.

Within this context, crane problem data sets generally contain informa-

tion on the dimensions of the locations and containers, the distances (and

thus travel times) between all pairs of locations, and a number of unique

container movements with associated processing times, time windows and

precedence relations. The procedure RandomPortDataGen is composed

of several sequentially ordered sub-procedures to generate this information.

These sub-procedures are presented in this section, and summarised in Fig-

ure 3.1.

A method for generating the container storage yard’s spatial layout is pre-

sented in Section 3.2.1. Once the spatial layout is constructed, the set of all

storage locations is known, and is partitioned into two groups: ISA and ISA.

(Recall, these areas are named after the Intermediate Stacking Area; all stor-

age locations in ISA are locations not in the ISA.) The properties of these

two types of locations are discussed in Section 3.2.2. In Section 3.2.3, two

sets (types) of container movements are discussed: MISA→ISA andMISA→ISA.

Each container movement within the sets has a spatial aspect defined by an

origin location and a destination location. The method by which these lo-

cations are allocated is discussed in Section 3.2.4. After all container move-

ments are spatially defined, the two temporal aspects of container move-

ments are generated. Specifically, Section 3.2.5 shows how some pairs of

container movements may induce (natural) precedence relations, while Sec-

tion 3.2.6 outlines a technique for generating a time window for each con-

tainer movement. Importantly, by following the RandomPortDataGen pro-

cedure presented herein (that is, performing the constituent sub-procedures

in a sequential fashion) crane problem data sets that are guaranteed to have

a feasible solution are produced, as will be highlighted throughout the dis-

cussion.

Page 78: New data generation and solution techniques for the

48 A NEW SOP-TW DATA GENERATOR

INPUT

parametersTable 3.1

generate the container storage yard

spatial layout i.e. ISA and ISA locations

properties of ISA and ISA locations

§3.2.1

§3.2.2

generate the container movement sets

i.e. MISA→ISA and MISA→ISA

§3.2.3

spatially define container movements

i.e. assign origin and destination locations§3.2.4

origins for MISA→ISA containers §3.2.4.1

origins for MISA→ISA containers §3.2.4.2

destinations for MISA→ISA containers §3.2.4.3

destinations for MISA→ISA containers §3.2.4.4

define temporal aspects of container moves

generate precedence relations §3.2.5

generate time windows §3.2.6

OUTPUT

problem instanceTable 3.2

Figure 3.1: Flowchart of the main components of RandomPortDataGen with

corresponding section references.

Page 79: New data generation and solution techniques for the

3.2 Procedure RandomPortDataGen 49

3.2.1 Generating the container storage yard’s spatial layout

The first important feature to be constructed by the data generator is the

physical layout of the container yard, that is, the set of container storage

locations. Arbitrary layouts in R2 could be described by specifying (xi, yi)

for each container location i. However, we have opted for a simple layout

based on rectangular container locations that are constructed sequentially

in R2 from origin (0, 0).

While the ideas presented herein could be extended to generate a more

complex configuration, we construct two groups of storage locations, called

ISA and ISA. The aim of this section is to automatically generate (xi, yi)

for each container location i in the simple case where ISA and ISA are each

regular rectangular grids of container locations, defined by a small set of

parameters including grid spacing, group shape and distance between the

two groups.

The method for generating a physical layout of the container yard such

as that in Figure 3.2 is now described. Firstly, a number of parameters

are defined that will be used to calculate explicit location coordinates in

R2. The numerical (rectangular) dimensions of a single location within each

group is required where:

• dL(j) ∈ R+ is the length of a single location in group j, and

• dW (j) ∈ R+ is the width of a single location in group j,

for j ∈ {ISA, ISA}. This allows locations in different groups to have different

sizes, which is necessary to model locations in real container terminals.

The length and width of each group in terms of the number of container

locations is also required where:

• cL(j) ∈ Z+ is the number of locations in a row of group j, and

• cW (j) ∈ Z+ is the number of locations in a column of group j,

for j ∈ {ISA, ISA}. Consequently, the total number of container storage

locations in group j is given by nl(j) = cL(j)cW (j) for j ∈ {ISA, ISA}.

As shown in Figure 3.2, the intra-group spacing, bj = (bL(j), bW (j)) ∈ R2,

and inter-group spacing, f = (fL, fW ) ∈ R2, are defined such that:

Page 80: New data generation and solution techniques for the

50 A NEW SOP-TW DATA GENERATOR

. . . .l1

ISA

x(LENGTH

DIRECTION)

y(WIDTH

DIRECTION)

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

(0,0)

dL(ISA) bL(ISA)

dW (ISA)

bW (ISA) b ISA = (bL(ISA),bW (ISA))

l2ISA l

ISAcL(ISA)-1 l

ISAcL(ISA)

l ISAcL(ISA)+1

l ISA(cW (ISA)-2)cL(ISA)+1

l ISA(cW (ISA) -1)cL(ISA) +1 l

ISA(cW (ISA) -1)cL(ISA) +2 l

ISAcW (ISA) (cL(ISA) -1) l

ISAcW (ISA) cL(ISA)

l ISA(cW (ISA) -1)cL(ISA)

l ISA2cL(ISA)

ISA

ISA

fW

fL

dL(ISA)bL(ISA)

dW (ISA)

bW (ISA)b ISA = (bL(ISA),bW (ISA))

l1ISA l

ISAcL(ISA)l2

ISA

l ISA

cW (ISA) cL(ISA) l ISA

(cW (ISA) -1)cL(ISA) +1

f = ( fL , fW )~

Figure 3.2: Parametrised layout of a container yard.

Page 81: New data generation and solution techniques for the

3.2 Procedure RandomPortDataGen 51

• bL(j) is the length between adjacent locations in the same row in j,

• bW (j) is the width between adjacent locations in the same column in j,

for j ∈ {ISA, ISA}, and

• fL is the length between the left-most edges of the first columns of

each group, and

• fW is the width dividing the two groups.

The locations are constructed in an iterative fashion, starting with the co-

ordinates of the ISA group at location one (denoted by lISA1 ∈ R2, in Fig-

ure 3.2); the bottom left corner of this location is placed at (0,0). The

centre-point of the rectangle representing container storage location lISA1 is

recorded as the location coordinate, denoted by

lISA1 = (XISA

1 , Y ISA1 ) = (0.5dL(ISA), 0.5dW (ISA)).

(More generally, the coordinate of location i in group j, lji , will be denoted

by (Xji , Y

ji ) for i = 1, . . . , nl(j) where j ∈ {ISA, ISA}.)

The coordinate of lISA2 is constructed relative to lISA

1 based on the intra-group

spacing between them and the size of each location in ISA, thus

lISA2 = (XISA

2 , Y ISA2 ) = (XISA

1 + bL(ISA) + dL(ISA), Y ISA1 ).

The first location in the second row of ISA, lISAcL(ISA)+1, is also adjacent to

lISA1 with coordinate

lISAcL(ISA)+1 = (XISA

cL(ISA)+1, YISAcL(ISA)+1) = (XISA

1 , Y ISA1 + bW (ISA) + dW (ISA)).

In a similar way, all other ISA locations are constructed, consistent with the

number of locations in each row (given by cL(ISA)) and the number of rows

in ISA (given by cW (ISA)). The formulae for calculating the coordinate of

each location in ISA, lISAi = (XISA

i , Y ISAi ), is given in Appendix D.

Using the inter-group spacings between ISA and ISA, f = (fL, fW ), the

coordinate of the first location of ISA, lISA1 , is calculated relative to the first

position in the last row of ISA, lISA(cW (ISA)−1)cL(ISA)+1, as seen in Figure 3.2.

The process used for each location in ISA is repeated for each location within

ISA. The formulae for calculating the coordinate of each location in ISA,

lISAi = (XISA

i , Y ISAi ), is given in Appendix D.

Page 82: New data generation and solution techniques for the

52 A NEW SOP-TW DATA GENERATOR

The procedure outlined above generates a coordinate in R2 for each container

storage location in the container yard, from which the distance between any

pair of locations can be explicitly calculated. These distances can then be

used to calculate the crane travel times between any pair of locations.

Since a crane is likely to move faster when not carrying a container, two

crane velocities (one each for loaded and unloaded) are used to calculate

two crane travel times between each pair of locations. Indeed, if vunloaded is

the velocity of a crane when unloaded, and d(i, j) is the Euclidean distance

between locations i and j, then (assuming the crane travels at a constant

velocity over this distance) the travel time of an unloaded crane between i

and j is given by tunloaded(i, j) = d(i,j)vunloaded

. Similarly, if vloaded is the loaded

crane velocity, then the travel time of a loaded crane between i and j is

given by tloaded(i, j) = d(i,j)vloaded

. Then the values of tloaded can be used to

calculate the processing time of container moves, where the processing time

of container move k is pk = ∆+ + tloaded(Ok, Dk) + ∆−, where Ok ∈ R2 is

the pick-up location of container move k, Dk ∈ R2 is the drop-off location of

container move k, ∆+ is the crane hoist time, and ∆− is the crane lowering

time.

Once the physical layout and coordinates of locations are constructed for all

locations in ISA and ISA, and hence the distances and travel times for each

pair of locations has been explicitly calculated, a set of container moves and

their processing times can be constructed. However, to generate container

movements that have special properties, the scheme outlined in the sub-

procedures in Sections 3.2.3–3.2.6 is introduced. In the next section the

properties of ISA and ISA container locations are discussed.

3.2.2 Properties of ISA and ISA container locations

Recall from Section 1.1.3.2 (page 10) that the first group of locations, col-

lectively called the ISA (the Intermediate Stacking Area), has the property

that each container location l ∈ ISA can be used at most twice as part of

a container movement. This consists of at most one pick-up (i.e. at most

one container move has origin l) and at most one drop-off (i.e. at most one

container move has destination l). Moreover, if the location is used for a

pick-up and a drop-off, the pick-up container must be collected before the

Page 83: New data generation and solution techniques for the

3.2 Procedure RandomPortDataGen 53

drop-off container is delivered; two containers cannot be in the same physical

space simultaneously.

The properties of the ISA group of locations ensure that at most one con-

tainer resides in an ISA location at any time. Moreover, if a location in

this group is used twice, a natural precedence relation between the pick-up

move and drop-off move ensues. Consequently, by appropriately param-

eterising the allocation of containers to locations in ISA, the density of

such precedence relations can be controlled (as described in Sections 3.2.4.1

and 3.2.4.4).

The second group of locations, collectively called the ISA (not the Interme-

diate Stacking Area), has the property that each container location l ∈ ISA

can be used multiple times as an origin and/or destination of any number

of container movements. However, to ensure that at most one container

resides in an ISA location at any time, the time windows of each container

movement that utilises the location must not overlap (where time windows

are assigned in Section 3.2.6). Specifically, only once a container movement

with an earlier time window has been performed can the container move-

ment with the next time window use that location. Again, by appropriately

parameterising the allocation of containers to locations in ISA, the number

and the distribution of use of ISA locations that are used multiple times can

be controlled (as described in Sections 3.2.4.2 and 3.2.4.3).

Once the container storage yard (and thus the locations within the yard)

are divided into the two groups given by ISA and ISA, it is assumed that all

container movements fall into one of two categories. The first category is the

set of container movements where container i has Oi ∈ ISA and Di ∈ ISA,

that is, the container is picked up from a location in ISA and will be dropped

off at a location in ISA. This set of container movements is denoted by

MISA→ISA. The second category is the set of container movements where

container i has Oi ∈ ISA and Di ∈ ISA, that is, the container is picked up

from a location in ISA and will be dropped off at a location in ISA. This set

of container movements is denoted by MISA→ISA.

In the next section the number of container movements in the sets MISA→ISA

and MISA→ISA are specified.

Page 84: New data generation and solution techniques for the

54 A NEW SOP-TW DATA GENERATOR

3.2.3 Generating sets of container movements

Let n be the total number of containers to be moved, and hence the total

number of container movements to be created. Let p be the proportion of

the n containers that will start in an ISA location, where p ∈ [0, 1]. Since np

is not guaranteed to be integer, let nISA = bnpc be the number of containers

that have an ISA location as its origin, thus nISA = |MISA→ISA|. Then

nISA = n − nISA is the number of containers that have origin in ISA and

destination in ISA, thus nISA = |MISA→ISA|. Recall Figure 1.5 (page 9):

containers in set MISA→ISA move as per the “O” arrows, while containers in

set MISA→ISA move as per the “I” arrows.

Without loss of generality, container movements in the set MISA→ISA will be

indexed from 1 to nISA, and containers in the set MISA→ISA will be indexed

from nISA+1 to n. Furthermore, since there is a unique mapping between

containers and container movements, index i refers not only to container

movement i but also container i. Henceforth container move i, job i and

container i will be used interchangeably throughout this thesis.

3.2.4 Allocating an origin and destination for each move-

ment

This part of the scheme specifies a pick-up location (origin Oi) and a drop-

off location (destination Di) for each container move i ∈ {1, . . . , n}. This is

achieved systematically in four parts:

1. the origin of each container i ∈ MISA→ISA is randomly assigned to a

unused location in ISA, described in §3.2.4.1;

2. the origin of each container i ∈ MISA→ISA is randomly assigned to a

used or unused ISA location via a Bernoulli trial, described in §3.2.4.2;

3. the destination of each container i ∈ MISA→ISA is randomly assigned

to a used or unused ISA location via a Bernoulli trial, described in

§3.2.4.3; and

4. the destination of each container i ∈ MISA→ISA is randomly assigned

to a location in ISA that has been used or unused for a pick-up via a

Bernoulli trial, described in §3.2.4.4.

Page 85: New data generation and solution techniques for the

3.2 Procedure RandomPortDataGen 55

3.2.4.1 Assign origins for MISA→ISA containers

Firstly, recall from Section 1.1.3.2 (page 10) that ISA locations can be used

at most once as a pick-up location. Thus each container in MISA→ISA must

be allocated a unique origin in ISA; this requires at least nISA locations in

ISA (|ISA| ≥ nISA) otherwise the data set can not be feasible. Specifically,

for each i ∈ MISA→ISA an origin for i, Oi, is selected at random from ISA

while ensuring that Oi 6= Oj for all i, j ∈MISA→ISA. The pseudocode of this

procedure, AssignOriginsInISA, is shown in Algorithm 1.

Algorithm 1: Procedure AssignOriginsInISA(container set MISA→ISA)

Input: The set of containers to be moved from ISA to ISA, MISA→ISA = {1, . . . , nISA}Output: An origin for each container in MISA→ISA; the set of unused ISA locations,

Unused(ISA); and the set of ISA locations used for a pick-up only,

UsedP ickup(ISA)

initialise

Unused(ISA)← {lISA1 , lISA

2 , . . . , lISAnl(ISA)} // all ISA locations are unused

UsedP ickup(ISA)← ∅ // no origins assigned

foreach i ∈MISA→ISA do

// select an element of Unused(ISA) to be the origin of container i

j ← a random element of Unused(ISA) // random ≡ equal probability

Oi ← j // set the origin location of container i to ISA location j

Unused(ISA)← Unused(ISA)\{j} // remove j from Unused(ISA)

UsedP ickup(ISA)← UsedP ickup(ISA) ∪ {j} // add j to UsedP ickup(ISA)

return Oi ∀i ∈MISA→ISA, Unused(ISA), UsedP ickup(ISA)

3.2.4.2 Assign origins for MISA→ISA containers

Next, the containers in MISA→ISA are allocated origin locations in ISA. Since

locations in ISA can be used multiple times, the allocation of containers to

used and unused locations is controlled via a Bernoulli trial with probability

pOISA

of picking a location that has been allocated previously. The algorithm

is now described.

Firstly, container nISA+1 is randomly allocated any ISA location. Then

each container from nISA+2 to n is randomly allocated an ISA location

already used for the pick-up of another MISA→ISA container if the result of

a Bernoulli trial with probability pOISA

is a success. In other words, if the

Page 86: New data generation and solution techniques for the

56 A NEW SOP-TW DATA GENERATOR

Bernoulli trial is a success, the origin of the current container has equal

probability of being allocated any of the locations already used for a pick-

up. If the Bernoulli trial is a failure, the origin of the current container

is randomly allocated one of the locations not yet used for a pick-up (i.e.

each of the unused ISA locations have equal probability of being chosen).

If the set of ISA locations not yet used for a pick-up becomes empty, then

each remaining container is randomly allocated any ISA location (i.e. the

probability of selecting any particular ISA location is 1|ISA|). The pseudocode

of this procedure, AssignOriginsInISA, is shown in Algorithm 2.

3.2.4.3 Assign destinations for MISA→ISA containers

Once all origins are assigned, the destinations of containers in MISA→ISA are

allocated ISA locations in the same way as origins were assigned for con-

tainers in MISA→ISA, where pDISA

is the probability of success for a Bernoulli

trial, where success is “allocate the destination of the current container to

an ISA location already used for a pick-up or drop-off”. The pseudocode of

this procedure, AssignDestinationsInISA, is shown in Algorithm 3.

3.2.4.4 Assign destinations for MISA→ISA containers

Finally, the destinations of containers in MISA→ISA can be assigned to lo-

cations in ISA. As before, at most one container can be dropped off to

any one ISA location. However, an important feature of a data set is the

relative proportion of ISA locations that are used for both a pick-up and

a drop-off, as these locations generate natural precedence relations between

the containers that use them. Consequently, the proportion of locations that

generate these precedence relations is controlled in the following procedure

where MISA→ISA containers are assigned a destination in ISA.

Containers in MISA→ISA can be assigned a destination in ISA as follows.

(This requires at least nISA ISA locations, i.e. |ISA| ≥ nISA, otherwise the

data set can not be feasible.) Specifically, for each i ∈ {nISA + 1, . . . , n},container i is allocated an ISA location already used for the pick-up of

an MISA→ISA container (determined in Section 3.2.4.1) if the result of a

Bernoulli trial with probability pDISA is a success. Here success means “al-

Page 87: New data generation and solution techniques for the

3.2 Procedure RandomPortDataGen 57

Algorithm 2: Procedure AssignOriginsInISA(container set MISA→ISA,

probability pOISA

)

Input: The containers to be moved from ISA to ISA, MISA→ISA = {nISA + 1, . . . , n};the probability of success for Bernoulli trials, pO

ISA

Output: An origin for each container in MISA→ISA; the set of unused ISA locations,

Unused(ISA); and the set of ISA locations used for a pick-up, Used(ISA)

initialise

Unused(ISA)← {lISA1 , lISA

2 , . . . , lISAnl(ISA)

} // all ISA locations are unused

Used(ISA)← ∅ // no origins or destinations assigned

// select an element of Unused(ISA) to be the origin of container nISA + 1

j ← a random element of Unused(ISA) // random ≡ equal probability

Oi ← j // set the origin location of container i to ISA location j

Unused(ISA)← Unused(ISA)\{j} // remove j from Unused(ISA)

Used(ISA)← Used(ISA) ∪ {j} // add j to Used(ISA)

foreach i ∈MISA→ISA\{nISA + 1} doif Unused(ISA) 6= ∅ then

// Perform a Bernoulli trial to decide if the origin location of

container i will be from Used(ISA) or Unused(ISA)

k ← outcome of a Bernoulli trial with probability of success pOISA

if k = 1, i.e. the trial was a success then

// select an element of Used(ISA) to be the origin of i

j ← a random element of Used(ISA) // random ≡ equal probability

Oi ← j // set the origin location of i to ISA location j

else

// k = 0, i.e. the trial was a failure

// select an element of Unused(ISA) to be the origin of i

j ← a random element of Unused(ISA) // random ≡ equal probability

Oi ← j // set the origin location of i to ISA location j

Unused(ISA)← Unused(ISA)\{j} // remove j from Unused(ISA)

Used(ISA)← Used(ISA) ∪ {j} // add j to Used(ISA)

else

// all ISA locations have been used at least once

// select an element of Used(ISA) to be the origin of container i

j ← a random element of Used(ISA) // random ≡ equal probability

Oi ← j // set the origin location of container i to ISA location j

return Oi ∀i ∈MISA→ISA, Unused(ISA), Used(ISA)

Page 88: New data generation and solution techniques for the

58 A NEW SOP-TW DATA GENERATOR

Algorithm 3: Procedure AssignDestinationsInISA(set MISA→ISA,

location sets Used(ISA) and Unused(ISA), probability pDISA

)

Input: The set of containers to be moved from ISA to ISA, MISA→ISA; the set of unused

ISA locations, Unused(ISA); the set of ISA locations already used for a pick-up,

Used(ISA); the probability of success for Bernoulli trials, pDISA

Output: A destination location for each container in MISA→ISA

foreach i ∈MISA→ISA do

if Unused(ISA) 6= ∅ then// Perform a Bernoulli trial to decide if the destination location

of container i will be from Used(ISA) or Unused(ISA)

k ← outcome of a Bernoulli trial with probability of success pDISA

if k = 1, i.e. the trial was a success then

// select an element of Used(ISA) to be the destination of i

j ← a random element of Used(ISA) // random ≡ equal probability

Di ← j // set the destination location of i to ISA location j

else

// k = 0, i.e. the trial was a failure

// select an element of Unused(ISA) to be the destination of i

j ← a random element of Unused(ISA) // random ≡ equal probability

Di ← j // set the destination location of i to ISA location j

Unused(ISA)← Unused(ISA)\{j} // remove j from Unused(ISA)

Used(ISA)← Used(ISA) ∪ {j} // add j to Used(ISA)

else

// all ISA locations have been used at least once

// select an element of Used(ISA) to be the destination of i

j ← a random element of Used(ISA) // random ≡ equal probability

Di ← j // set the destination location of i to ISA location j

return Di ∀i ∈MISA→ISA

Page 89: New data generation and solution techniques for the

3.2 Procedure RandomPortDataGen 59

locate the destination of the current container to an ISA location already

used for a pick-up”. If the set of available used ISA locations (used for a

pick-up only) becomes empty, then all remaining containers are randomly

allocated any ISA location not yet used for a pick-up or drop-off. If the set

of ISA locations not yet used becomes empty, then each remaining container

is randomly allocated any ISA location already used for a pick-up (but not

a drop-off). The pseudocode of this procedure, AssignDestinationsInISA,

is shown in Algorithm 4.

3.2.5 Generating natural precedence relations

This sub-procedure explicitly calculates the natural time-lag that must occur

between container movements that use the same ISA location, and thus

generate a generalised precedence relation with a strictly positive time-lag.

The time-lag is said to be natural as it is the time-lag which must hold true,

given the dynamics of the underlying physical system.

For example, let ti be the time the crane picks up container i from its origin

at Oi. Then, if container i is an MISA→ISA container with origin at ISA lo-

cation l (Oi = l), and container j is an MISA→ISA container with destination

at ISA location l (Dj = l), then container i must be picked up from location

l before container j is dropped at location l. Furthermore, since there is only

one crane, container i must be picked up from l before container j is picked

up from location Oj in ISA, that is, ti ≤ tj . Moreover, once container i is

picked up, it must be moved to Di, taking processing time pi (where pi was

defined at the end of Section 3.2.1). Then the earliest time at which con-

tainer j can be picked up is ti+pi+tunloaded(Di, Oj), where tunloaded(Di, Oj)

is the travel time of an unloaded crane from location Di to location Oj .

Therefore tj ≥ ti + pi + tunloaded(Di, Oj). The minimum time-lag that natu-

rally occurs between containers i and j due to the use of the same ISA loca-

tion is the natural time-lag αij . We set αij = pi + tunloaded(Di, Oj). Thus,

for all pairs of containers that use the same ISA location, αij can be explic-

itly calculated. Consequently, ti+αij ≤ tj for all (i, j) container pairs where

container move i must precede container move j because Oi = Dj ∈ ISA.

Page 90: New data generation and solution techniques for the

60 A NEW SOP-TW DATA GENERATOR

Algorithm 4: Procedure AssignDestinationsInISA(set MISA→ISA,

location sets UsedP ickup(ISA) and Unused(ISA), probability pDISA)

Input: The containers to be moved from ISA to ISA, MISA→ISA; the set of unused ISA

locations, Unused(ISA); the set of ISA locations already used for a pick-up,

UsedP ickup(ISA); the probability of success for Bernoulli trials, pDISA

Output: A destination location for each container in MISA→ISA

initialise

UsedDropoff (ISA)← ∅ // set of destination-only locations

UsedP ickup&Dropoff (ISA)← ∅ // locs. used as an origin & destination

foreach i ∈MISA→ISA do

if Unused(ISA) 6= ∅ thenif UsedP ickup(ISA) 6= ∅ then

// Perform a Bernoulli trial to decide if the destination of

container i will be from UsedP ickup(ISA) or Unused(ISA)

k ← outcome of a Bernoulli trial with probability of success pDISA

if k = 1, i.e. the trial was a success then

// select destination of i from UsedP ickup(ISA)

j ← a random element of UsedP ickup(ISA)

Di ← j // set the destination of i to ISA location j

UsedP ickup(ISA)← UsedP ickup(ISA)\{j}UsedP ickup&Dropoff (ISA)← UsedP ickup&Dropoff (ISA) ∪ {j}

else

// k = 0, i.e. the trial was a failure

// select destination of i from Unused(ISA)

j ← a random element of Unused(ISA)

Di ← j // set destination location of i to ISA location j

Unused(ISA)← Unused(ISA)\{j} // remove j from Unused(ISA)

UsedDropoff (ISA)← UsedDropoff (ISA) ∪ {j}

else

// no more ‘‘pick-up only’’ ISA locations, UsedP ickup(ISA) = ∅// select an element of Unused(ISA) to be the destination of i

j ← a random element of Unused(ISA)

Di ← j // set the destination location of i to ISA location j

Unused(ISA)← Unused(ISA)\{j}UsedDropoff (ISA)← UsedDropoff (ISA) ∪ {j}

else

// all ISA locations have been used at least once

// select an element of UsedP ickup(ISA) to be the destination of i

j ← a random element of UsedP ickup(ISA)

Di ← j // set the destination location of i to ISA location j

UsedP ickup(ISA)← UsedP ickup(ISA)\{j}UsedP ickup&Dropoff (ISA)← UsedP ickup&Dropoff (ISA) ∪ {j}

return Di ∀i ∈MISA→ISA

Page 91: New data generation and solution techniques for the

3.2 Procedure RandomPortDataGen 61

3.2.6 Generating time windows for each container move

The final sub-procedure generates time windows for each container move.

Since the purpose of the RandomPortDataGen procedure is to generate

random test data sets for a crane scheduling problem with time windows

and precedence relations, data sets that are infeasible are not useful. Con-

sequently, the method to generate time windows must ensure that there is

at least one feasible solution for every instance constructed. To this end, we

adopt and extend the approach of Norbert Ascheuer, as discussed in Sec-

tion 6.7 of his PhD thesis [33]. The method presented here ensures that the

time windows are constructed around a feasible solution that is probably

not too far from the optimal solution, namely a feasible solution based on

the second-nearest-neighbour (SNN) algorithm.

The SNN algorithm works by selecting the second best (in some sense)

option of those available at each step, instead of the best. This algorithm

is applied to the set of container movements generated in Section 3.2.4 of

the scheme, where the second-nearest container move is selected as the next

crane job, where second-nearest equates to second-closest crane job based

on unloaded crane travel time.

Consider the following example where container move i has just been per-

formed (so the crane is at location Di). Set J is the set of crane movements

(jobs) yet to be done, so the nearest crane job yet to be done is given by

argminj∈J{tunloaded(Di, Oj)}, and the second-nearest is the crane job that

gives the next smallest crane travel time. However, as some container moves

must precede others due to natural time lags (as described in Section 3.2.5),

the choice of next crane job can only be selected from the set of moves that

have no predecessors, or those moves for which all preceding moves have

already been performed. Consequently, instead of using set J , the set JA

is used, where JA is the set of jobs yet to be done that are ready to be

performed immediately. Thus the second-nearest of the available jobs is

selected. If there are multiple second-nearest moves to choose from, one is

picked at random (that is, with equal probability of being selected).

To start the SNN algorithm, a dummy move is created with zero processing

time, and zero travel time to the origin of any other move. The first real

container move is chosen at random from JA as they are all equally good

Page 92: New data generation and solution techniques for the

62 A NEW SOP-TW DATA GENERATOR

at this stage. The SNN algorithm is then used to generate an ordering of

the crane movements which constitutes a solution. The reference solution

generated by the SNN algorithm is then used to construct time windows for

each container that will lead to a feasible data set.

The earliest start time for each container move in the SNN solution is cal-

culated sequentially from the processing times and unloaded crane travel

times already derived. Specifically,

tSNN(i+1) = tSNN(i) + pSNN(i) + tunloaded(DSNN(i), OSNN(i+1))

for i = 1, . . . , n − 1 where SNN(i) is the i-th container move in the SNN

solution, and tSNN(0) = 0 (where i = 0 is the dummy move used to initialise

the SNN algorithm). These earliest start times are then chosen to be the

mid-points of each container’s time window; if TWi = [ai, bi] is the time

window for container i, then tSNN(i) = ai + bi−ai2 = ai+bi

2 .

To construct an interval around each time window mid-point, two more pa-

rameters are required. Let wL be the minimum length of any time window

interval, and wU be the maximum length of any time window interval. Vary-

ing these parameters will ultimately lead to the construction of time windows

with different features, for example: wide time windows (wL and wU big);

short time windows (wL and wU small); a big range of time windows widths

(wU − wL large); and homogeneous time window lengths (wU − wL = 0).

Given wL and wU , a random time window width for each container i, ri, is

selected from a uniform distribution with range [wL, wU ]. Then ri and the

mid-point of the time window, tSNN(i) (generated by the times of the SNN

solution) are used to calculate the beginning and end of each container’s

time window. Thus the time window for container i is

TWi = [max{tSNN(i) −1

2ri, 0}, tSNN(i) +

1

2ri]

= [ai, bi]

where i = 1, . . . , n. Clearly, the SNN reference solution is time-feasible for

time windows generated this way, hence is a feasible solution to a data set.

In some instances, these time windows (that are randomly generated via

their random width) may overlap with other time windows, hence some pre-

processing to update these time windows may be possible. This is particu-

larly true for pairs of containers with a precedence relation. For example, if

Page 93: New data generation and solution techniques for the

3.3 Procedure MapCraneDataToSOPTW 63

container i must precede container j yet bj < bi, then bi can be updated such

that b∗i = bj − αij . Similarly, if aj < ai, then aj can be updated such that

a∗j = ai + αij . The full suite of preprocessing routines applied are described

in detail in Section 4.5.

3.2.7 Summary of input parameters and data generated

The procedure to generate data for the crane scheduling problem mentioned

in this chapter’s introduction—RandomPortDataGen—has been described

throughout Section 3.2. A summary of the main input parameters is given

in Table 3.1; these are discussed in more detail in Section 3.4. A summary

of the output data—a crane scheduling instance—generated by performing

RandomPortDataGen is shown in Table 3.2.

In the next section a procedure for converting crane problem data sets gen-

erated by RandomPortDataGen into SOP-TW instances is described.

3.3 Procedure MapCraneDataToSOPTW : convert-

ing crane instances into SOP-TW instances

Recall from Chapter 1 that this thesis is motivated by a crane scheduling

problem at a seaport container terminal. The focal problem is the task of

scheduling cranes to move shipping containers at a quayside/landside ex-

change interface of a port. In this section we show how the single crane

scheduling problem can be modelled as a TSP-variant, namely the Asym-

metric Travelling Salesman Problem with Time Windows and additional

Precedence Constraints, or alternately called the SOP-TW.

As described in §2.5, due to a lack of available, feasible, difficult SOP-

TW problem instances, we developed procedure RandomPortDataGen (de-

scribed in §3.2) to generate port-specific data for the single crane scheduling

problem. In this section a procedure for converting the crane problem in-

stances into SOP-TW instances is described.

By converting the port-inspired instances into general SOP-TW instances,

application-specific information (such as the underlying locations in the con-

tainer yard) cannot be deduced or exploited. While exploiting application-

Page 94: New data generation and solution techniques for the

64 A NEW SOP-TW DATA GENERATOR

Notation Description

CONTAINER YARD

ISA the first group of container storage locations in the port interface

ISA the second group of container storage locations in the port interface

fL length of space between the left-most edges of the first columns of ISA and ISA

fW width of space dividing ISA and ISA

L total length of the container yard

CONTAINER YARD LOCATIONS (for j ∈ {ISA, ISA})

dL(j) ∈ R+ length of a single location in group j

dW (j) ∈ R+ width of a single location in group j

cL(j) ∈ Z+ number of locations in a “row” of group j

cW (j) ∈ Z+ number of locations in a “column” of group j

nl(j) total number of container storage locations in group j, so nl(j) = cL(j)cW (j)

bL(j) length of space between adjacent locations in the same row in group j

bW (j) width of space between adjacent locations in the same column in group j

lji = (X

ji , Y

ji ) (X, Y ) coordinate of location i in group j for i ∈ {1, . . . , nl(j)}, where l

ji ∈ R2

+ ∪ {0}

d(a, b) Euclidean distance between the coordinates of location a and location b

CRANE PROPERTIES

vunloaded velocity of a crane when unloaded

vloaded velocity of a crane when loaded

tunloaded(a, b) travel time of an unloaded crane between locations a and b, so tunloaded(a, b) =d(a,b)

vunloaded

tloaded(a, b) travel time of a loaded crane between locations a and b, so tloaded(a, b) =d(a,b)

vloaded

∆+ crane hoist time

∆− crane lowering time

CONTAINERS (JOBS)

n total number of containers to be moved (integer)

V = {1, . . . , n} set of all containers

p proportion of the n containers that will start in an ISA location

nISA = bnpc number of containers that have an ISA location as its origin (integer)

nISA

= n− nISA number of containers that have an ISA location as its origin (integer)

pOISA

probability of success for a Bernoulli trial, where success is “allocate the origin

of the current container to an ISA location already used for a pick-up”

pDISA

probability of success for a Bernoulli trial, where success is “allocate the destination of

the current drop-off container to an ISA location already used for a pick-up or drop-off”

pDISA probability of success for a Bernoulli trial, where success is “allocate the destination

of the current container to an ISA location already used for a pick-up”

wL minimum length (duration) of any time window interval (integer)

wU maximum length of any time window interval (integer)

wW difference between the maximum and minimum length of any time window interval,

so wW = wU − wL (integer)

p the average processing time of the n container moves (n jobs)

ψ the average number of jobs that could be processed during the minimum time window

duration, i.e. ψ = bwLpc, so wL = dψpe (as wL is integer)

γ the average number of jobs that could be processed during the maximum time window

duration above the minimum time window duration, i.e. γ = bwWpc, so wW = dγpe

Table 3.1: Summary of the input parameters required to generate a crane problem

instance using data generator RandomPortDataGen.

Page 95: New data generation and solution techniques for the

3.3 Procedure MapCraneDataToSOPTW 65

Notation Description

MISA→ISA

= {1, . . . , nISA} the set of containers that have origin in ISA and destination in ISA

MISA→ISA

= {nISA + 1, . . . , n} the set of containers that have origin in ISA and destination in ISA

Oi ∈ R2 the pick-up location of container i

Di ∈ R2 the drop-off location of container i

pi the processing time of container i

(where pi = ∆+ + tloaded(Oi, Di) + ∆−)

αij the minimum (natural) time-lag that naturally occurs between

containers i and j due to the use of the same ISA location

(where αij = pi + tunloaded(Di, Oj))

tSNN(i) the earliest start time for container move i in the SNN solution

(i.e. SNN(i) is the i-th container move in the SNN solution)

ri ∈ [wL, wU ] the random time window width for container i

TWi = [ai, bi] time window of container i, where ai = max{tSNN(i) − 12ri, 0}

is the earliest pick-up time of i, and bi = tSNN(i) + 12ri is the

latest pick-up time of i

Table 3.2: Summary of the “crane scheduling instance” output produced by

RandomPortDataGen.

specific information would enable bespoke solution methods for these in-

stances, the focus of this thesis is solving the general SOP-TW. Conse-

quently, the remaining chapters of this thesis will focus on solution tech-

niques that do not use any application-specific information.

3.3.1 The single crane scheduling problem

The single crane scheduling problem has containers moving into and across

the quayside/landside exchange interface of a seaport by a single rail mounted

gantry crane (RMG). One crane must perform all container movements

across the interface, that is, the crane must move each container from ISA

to ISA or ISA to ISA. Moreover, the crane can only carry one container at

a time.

In this thesis, it is assumed that the container pick-up and drop-off locations

are predetermined, and thus the container movements are fixed. Addition-

ally, each container movement must be performed within a predetermined

time window. The operation of the gantry crane must be scheduled such

that all of the container movements are started within their associated time

window.

To minimise the crane operating costs, schedules that minimise the total

Page 96: New data generation and solution techniques for the

66 A NEW SOP-TW DATA GENERATOR

travel time of the crane are sought. Since the pick-up and drop-off locations

are fixed for each container move, it is assumed that the crane will take

the shortest path—and thus time—between the origin and destination lo-

cations. This implies that the time for the crane to perform a loaded move

(a movement while carrying a container) is fixed. Consequently, the real

objective is to minimise the sum of the empty travel times, that is, the total

time the crane spends moving from the end of one loaded move to the start

of another.

Procedure RandomPortDataGen—outlined in Section 3.2—generates data

for this single crane scheduling problem. The characteristics of the crane

problem data sets are controlled by a set of input parameters. These pa-

rameters are summarised in Table 3.1, while the crane scheduling instance

produced by procedure RandomPortDataGen is listed in Table 3.2. The

relationship between the single crane scheduling problem and the SOP-TW

is described in the next section and highlighted pictorially in Figure 3.3.

3.3.2 Relationship between the single crane scheduling prob-

lem and the SOP-TW

Recall the SOP-TW problem description given in Section 2.1. In the TSP

context, the cities represent loaded crane moves, so “visit city i for time

pi” means “crane performs container move i taking time pi”. Travelling

between cities represents empty crane moves, that is, moving the crane

from the end location of container move i to the start location of container

move j, incurring cost cij (travel time sij). The time window for each

container dictates when a container can begin its move. Hence ai is the

earliest pick-up time for container move i, bi is the latest pick-up time for

container move i, and ti is the scheduled pick-up time for container move i,

where ti ∈ [ai, bi]. The precedence relations between pairs of cities amounts

to precedence relations between pairs of container moves, implying some

containers must be moved before other containers. These relationships are

highlighted in Figure 3.3, with the comparison of the problem descriptions

shown in Table 3.3.

Page 97: New data generation and solution techniques for the

3.3 Procedure MapCraneDataToSOPTW 67

Fig

ure

3.3:

Rep

rese

nti

ng

acr

an

esc

hed

uli

ng

inst

ance

asa

SO

P-T

Win

stan

ce.

Th

ele

ftfi

gure

show

sa

sim

pli

fied

conta

iner

yard

layo

ut

wit

hth

ree

conta

iner

mov

es;

the

pat

hof

the

cran

eis

show

nfo

rw

hen

the

conta

iner

sar

em

oved

sequ

enti

ally

.T

he

yard

layo

ut

isre

mov

edin

the

mid

dle

figu

re,

and

hig

hli

ghts

that

each

mov

eb

ecom

esa

city

inth

eT

SP

vers

ion

.T

he

righ

tfi

gure

show

sth

eco

mp

lete

TS

Pre

pre

senta

tion

:th

eth

ree

conta

iner

mov

esar

en

owth

ree

citi

esan

dth

ep

ick-u

pan

dd

rop

-off

loca

tion

s

are

rem

oved

.S

ince

the

citi

es(c

onta

iner

s)m

ayn

otb

evis

ited

(mov

ed)

sequ

enti

ally

,al

lar

csb

etw

een

the

citi

esar

esh

own

.

Page 98: New data generation and solution techniques for the

68 A NEW SOP-TW DATA GENERATORN

otationC

rane

sched

ulin

gin

stance

SO

P-T

Win

stance

sij

crane

traveltim

efrom

end

ofm

ovei

to

start

of

move

j(sij

=tunloaded (D

i ,Oj ))

time

taken

totravel

betw

eencities

ian

dj

pi

pro

cessing

time

ofm

ovei

requ

iredvisit

time

incity

i

(pi

=∆

++tloaded (O

i ,Di )

+∆−

)

TWi

=[ai ,b

i ]tim

ew

ind

owof

contain

eri

time

win

dow

forarriv

ing

atcity

i

ti ∈[ai ,b

i ]sch

edu

ledp

ick-u

ptim

eof

contain

eri

sched

uled

arrivaltim

eat

cityi

δij

min

imu

mtim

e-lagb

etween

pick

ing

up

conta

ineri

and

pick

ing

up

contain

erj

min

imu

mtim

e-lagb

etween

visitin

gcity

i

and

visitin

gcity

j

(δij

=pi+tunloaded (D

i ,Oj ))

(δij

=pi+sij )

αij

imp

osedtim

e-lagb

etween

pick

ing

up

contain

eri

and

pick

ing

up

contain

erj

imp

osedtim

e-lagb

etween

visitin

gcity

i

and

visitin

gcity

j

(natu

ralαij

=pi+tunloaded (D

i ,Oj ))

Tab

le3.3:

Map

pin

gof

acran

esch

edu

ling

instan

ceto

aS

OP

-TW

instan

ce.

Page 99: New data generation and solution techniques for the

3.4 Parameter settings 69

3.4 Parameter settings

As we wish to investigate a variety of solution techniques on a diverse set

of SOP-TW problem instances, we have constructed a data generator that

takes a large number of parameters as input. Table 3.1 lists all of the param-

eters required to generate a crane problem instance using our data generator.

Some of these parameters are used as input to the generator, while others

may be calculated within the generator from the input parameters.

As it is impractical to investigate all possible combinations of parameters

over a range of settings, we have decided to permanently fix most parame-

ters, and vary only a few of the parameters that control the characteristics

we consider the most interesting. This is discussed in the current section and

in Appendix E; the final data classes generated are presented in Section 3.5.

3.4.1 Parameters to fix

The layout of the container yard (and thus the distances between container

storage locations within the container yard) and the properties of the crane

(namely the crane velocities and hoisting times) have been fixed. This im-

plies that the crane travel times are based purely on the distance travelled,

not on the specific locations of the origin and destination. Moreover, con-

tainers are physically identical with respect to the crane: moving a container

from location a to location b has processing time ∆+ + tloaded(a, b) + ∆−,

regardless of which container is being moved. We have also fixed some of

the container characteristics. All of these parameter settings are listed in

Appendix E along with the reasons why these settings were chosen.

3.4.2 Parameters to vary

While any of the container parameters could be varied to get an interesting

variety of data sets, the four parameters we consider to be the most inter-

esting are n, p, pDISA and γ (where γ is used to calculate wW ). For these

parameters the range of values used is shown in Table 3.4.

As is typical of TSP-type problems, problem difficulty generally increases

with n. Consequently, data classes with a range of n values are generated.

Page 100: New data generation and solution techniques for the

70 A NEW SOP-TW DATA GENERATOR

Parameter Range of values to be considered

n 25, 50, 100

p 0.25, 0.5, 0.75

pDISA 0, 0.25, 0.5, 0.75, 1

γ Low (2), Moderate (10), High (20)

Table 3.4: Summary of the parameters varied to generate the data classes.

Parameter p is predominately fixed to 0.5, that is, 50% of containers will

be moved from ISA to ISA, while the other 50% will be moved from ISA

to ISA. However, p is varied twice to see if there is an obvious effect on the

difficulty involved in solving these problems.

The parameter pDISA is of particular interest, as this controls the number of

precedences generated by the multiple use of a single ISA location. Note

that we believe that adding some precedences makes the problem harder,

but too many will make the problem easier by enabling the relatively easy

construction of large partial solutions; with many precedences it is easier to

construct a partial order (subsequence) of jobs, based purely on the prece-

dences.

The variety of time window widths (controlled by wW ) is controlled by

varying γ. This is discussed in more detail in the following section. Note

that we believe that if all of the time windows are relatively narrow, then

this leads to the creation of many time-window induced precedences, again

making the problem relatively easier. Maffioli and Sciomachen’s results—

noted in Section 2.5.2.8—support this hypothesis. Otherwise, little is known

about the affect of the structure of the time windows on problem difficulty.

3.4.2.1 Parameters ψ and γ: controlling time window variability

Let p be the average processing time of the jobs in a data set, and wL be

the minimum width of a job time window in the data set. The parameter ψ

is introduced to characterise wL in terms of p. In particular, ψ controls wL,

such that wL = dψpe. For all problem classes wL is fixed so that at least 10

Page 101: New data generation and solution techniques for the

3.4 Parameter settings 71

average jobs could be processed during the shortest time window, that is,

wL = d10pe (so ψ = 10).

Similarly, the parameter γ is introduced to characterise the variability in

the width of the job time windows in a data set, wW , in terms of p. In

particular, γ controls wW , such that wW = dγpe. Thus γ is the number of

average jobs that are able to be processed during the maximum time window

duration above the minimum time window duration. Thus γ = bwWp c, where

wW = wU − wL, though we always calculate wW using γ.

If γ is low (L) then the time window widths of the n jobs are very similar.

Indeed, γ = 0 implies that wW = 0 and so all time windows are the same

width (namely the minimum width wL). When γ is moderate (M) the time

window widths of the n jobs are moderately different; when γ is high (H)

the time window widths are very variable. For any γ, some time window

widths are wide enough to potentially allow an extra γ jobs to be performed

during that time window.

For our problem classes we have varied γ so that L = 2, M = 10 and H = 20.

Once the origin and destination locations of a job have been assigned by the

data generator, the processing time of that job is calculated. Once this has

been done for all jobs the average processing time of the n jobs in the data

set is calculated via p =∑i=ni=1 pin . Widths wL and wW are calculated using

ψ, γ and p, which are subsequently used to generate a random time window

width for each job in the data set (as described in Section 3.2.6).

It is worth noting that ψ is the minimum number of average jobs that can

be processed during any time window, while ψ+γ is an upper bound on the

maximum number of average jobs that can be processed during the longest

time window.

Finally, recall from Section 2.1 that the SOP-TW must have at least one

active time window, that is, there is at least one i ∈ {1, . . . , n} where ai > 0

and/or bi < ∞. Since we are particularly interested in SOP-TW instances

for which it is difficult to find feasible solutions, we only generate data sets

where every time window is active.

Page 102: New data generation and solution techniques for the

72 A NEW SOP-TW DATA GENERATOR

3.5 Data sets generated

As noted in Chapter 1, our initial motivation was a real world scheduling

problem at a seaport container terminal. To test our solution methodolo-

gies on a range of realistic problem instances, we created a data generator

to construct feasible data sets. The generator has a large range of input

parameters so that many aspects of containers, cranes and port container

yards are incorporated and easily varied.

To produce the data sets used in this thesis, almost all parameters were fixed,

including the container yard layout and crane specifications; see Appendix E.

Only four key parameters were varied:

• n, the number of containers (jobs);

• p, the proportion of n containers to be moved out of the container

storage yard (so 1 − p is the proportion of n containers to be moved

into the container storage yard);

• pDISA, a probability that controls the number of strict precedence rela-

tions between the jobs; and

• γ, a parameter that controls maximum time window widths.

Table 3.5 summarises the values used to construct 21 test data classes, where

each class contains 10 randomly generated data sets. All classes use the data

generator input parameters listed in Appendix E, and a combination of n,

p, pDISA and γ from the range of values shown in Table 3.4. A statistical

summary of the data set parameters generated is given in Section 3.6 to

highlight the characteristics of those new data classes.

As noted in Section 2.4, Brucker and Knust [6] and Hurink and Knust [5]

consider the problem most similar to our SOP-TW: their objective is to min-

imise the schedule makespan, and they investigate feasibility by modifying

deadlines. Brucker and Knust test their methods on modified job-shop prob-

lem instances, as well as 35 modified ATSP-TW data sets from Ascheuer

[33]. The modified ATSP-TW data sets, which we name BKA, have 17 jobs,

generalised precedence relations between certain jobs-pairs, and are scaled

by four factors applied to processing times, time windows, setup times and

precedence time lags.

Page 103: New data generation and solution techniques for the

3.5 Data sets generated 73

Data Class Class Data generator parameter

group number name n p pDISA γ

n25 1 n25 1 25 0.25 0.5 M

2 n25 2 25 0.50 0.5 M

3 n25 3 25 0.75 0.5 M

4 n25 4 25 0.5 0.00 M

5 n25 5 25 0.5 0.25 M

6 n25 6 25 0.5 0.75 M

7 n25 7 25 0.5 1.00 M

8 n25 8 25 0.5 0.5 L

9 n25 9 25 0.5 0.5 H

n50 10 n50 1 50 0.5 0.25 M

11 n50 2 50 0.5 0.50 M

12 n50 3 50 0.5 0.75 M

13 n50 4 50 0.5 0.25 H

14 n50 5 50 0.5 0.50 H

15 n50 6 50 0.5 0.75 H

n100 16 n100 1 100 0.5 0.25 M

17 n100 2 100 0.5 0.50 M

18 n100 3 100 0.5 0.75 M

19 n100 4 100 0.5 0.25 H

20 n100 5 100 0.5 0.50 H

21 n100 6 100 0.5 0.75 H

Table 3.5: Summary of the data classes created by our port data generator.

Each class contains 10 randomly generated data sets with these parameters.

Page 104: New data generation and solution techniques for the

74 A NEW SOP-TW DATA GENERATOR

In addition to our own 21 data classes, we test our methods on the 35 BKA

data sets as they most closely resemble our original problem. However, all

of the BKA data sets have intentionally1 infeasible deadlines. To convert

the BKA data sets into feasible instances we relax all deadlines to a large

constant, namely

bi = 2( max(i,j)∈P

{αij}+ maxi∈V{pi}+ max

i∈V{ai}), ∀i ∈ V ∪ {0}.

Since our objectives are different (minimising makespan versus minimising

the sum of the travelling times), no direct comparison of results will be

made.

Table 3.6 summarises the data groups which form our test problem instances.

These problem classes will be used throughout this thesis as the benchmark

data sets on which to test our SOP-TW solution techniques.

Data group names BKA n25 n50 n100

Classes per group 1 9 6 6

Instances per class 35 10 10 10

Total # of instances 35 90 60 60

Table 3.6: Summary of data groups.

3.6 Summary of SOP-TW data set parameters

New data classes of crane problem instances were generated using the pro-

cedure RandomPortDataGen (§3.2) and the input settings described in

the previous section. The crane problem instances were then converted

into SOP- TW instances as per the procedure MapCraneDataToSOPTW

(§3.3).

A SOP-TW problem instance is characterised by time windows, processing

times, setup times and precedence delays. Additionally, a larger set of prece-

dence delays, PALL, can be constructed during preprocessing; see Section

4.5 for details. A description of eight key parameters is given in Table 3.7.

1The methods of Brucker and Knust [6] include testing problem feasibility: they test

a lower bound on the makespan by modifying deadlines and then testing the feasibility of

the modified problem.

Page 105: New data generation and solution techniques for the

3.6 Summary of SOP-TW data set parameters 75

Name Parameter description

ai earliest start time of job i, i ∈ V ∪ {0}

bi latest start time of job i, i ∈ V ∪ {0}

wi width of time window i, wi = bi − ai, i ∈ V ∪ {0}

pi processing time of job i, i ∈ V ∪ {0}

sij setup time if job j is processed immediately after job i, (i, j) ∈ A

δij minimum time delay between start time of jobs i and j, δij = pi + sij , (i, j) ∈ A

αij minimum time gap between start time of jobs i and j, (i, j) ∈ P

αij minimum time gap between start time of jobs i and j, (i, j) ∈ PALL

Table 3.7: Summary of the key SOP-TW data set parameters.

Statistical summaries of these key parameter values are given for each of the

new data classes. In Section 4.5, data preprocessing routines are described

and applied to all problem instances. For brevity, only post-preprocessing

summaries of a, b, w, s and δ are included here; there is no change to p or

α with preprocessing, and α values only exist post-preprocessing.

For general preprocessing results, see §4.5.4; from these results the high-

level effect of preprocessing on the statistical summaries can be reverse-

engineered. The main changes due to preprocessing are: some a values have

increased; some b values and some w values have decreased; and, the number

of s values and δ values have decreased as the number of arcs decreased.

The box plots2 in Figures 3.4–3.11 summarise the values of each parameter

by data class; parameter values from all 10 randomly generated data sets

within each class are pooled to generated one box plot per class, per pa-

rameter. The total number of parameter elements in each class is given in

Table 3.8; the average number of elements in a single data set is approxi-

mately one-tenth of the class total. The statistics which underpin each box

plot are in Appendix F. Sections 3.6.1–3.6.3 summarise features of the data

sets. For completeness, box plots summarising the data set parameters for

the BKA instances, Class 0, are in Figure F.1 (page 326).

2These box plots were generated in R Version 2.15.2 [75] with default settings. The

edges of a box are the 25th and 75th percentiles (q1 and q3, respectively), and the line

within a box is the median. The default maximum whisker length is 1.5, thus data points

are marked as outliers if they are greater than q3+1.5(q3−q1) or less than q1−1.5(q3−q1).

The end point of each whisker is the most extreme data point not classified as an outlier.

Page 106: New data generation and solution techniques for the

76 A NEW SOP-TW DATA GENERATOR

Class a b w p s δ α α

0 630 630 630 630 6960 6960 2896 2896

1 260 260 260 260 5122 5122 58 892

2 260 260 260 260 4981 4981 64 955

3 260 260 260 260 5135 5135 38 907

4 260 260 260 260 5345 5345 0 833

5 260 260 260 260 5069 5069 31 951

6 260 260 260 260 4880 4880 96 981

7 260 260 260 260 4684 4684 120 1037

8 260 260 260 260 4215 4215 65 1407

9 260 260 260 260 5585 5585 71 542

10 510 510 510 510 14233 14233 60 6944

11 510 510 510 510 13664 13664 140 7043

12 510 510 510 510 13459 13459 182 7083

13 510 510 510 510 17239 17239 67 5319

14 510 510 510 510 16821 16821 134 5383

15 510 510 510 510 16583 16583 170 5451

16 1010 1010 1010 1010 31903 31903 167 38065

17 1010 1010 1010 1010 31570 31570 257 37992

18 1010 1010 1010 1010 31172 31172 374 38090

19 1010 1010 1010 1010 41199 41199 129 33858

20 1010 1010 1010 1010 39799 39799 252 34145

21 1010 1010 1010 1010 39693 39693 371 34135

Table 3.8: Total number of elements per parameter by class.

The box plots are coloured coded by n value; the data classes with 25 jobs

per instance are yellow, the data classes with 50 jobs per instance are orange,

and the data classes with 100 jobs per instance are red.

3.6.1 Time windows: a, b and w

As noted in §3.2.6, the initial midpoint of each time window is the earliest

start time for each container move in the second-nearest-neighbour solution.

As n increases, so must the average time window midpoint to ensure the

generated data set is feasible. As a result, the spread of the release dates

(Figure 3.4) and due dates (Figure 3.5) increases with the number of jobs

Page 107: New data generation and solution techniques for the

3.6 Summary of SOP-TW data set parameters 77

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

020

0040

0060

0080

0010

000

Figure 3.4: Releases dates: a values (seconds) by data class.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

2000

4000

6000

8000

1000

012

000

Figure 3.5: Due dates: b values (seconds) by data class.

●●●●

●●

●●

●●

●●●●●●●●

● ●●●●

●●●

● ●●

●●

●●●

●● ●

●●●●●●

●● ●●●●

●●●

●● ●●●●

●●

●●●

●●

●●●

●●●

●●

●●●

●●●

●●●

●●●

●●

●●●

●●●●●

●●●●

●●●●

●●●●

●● ●●

●●●●●● ●●●●●

●●●

●●●

●●

●●

●●

●●●●

●●●●●

●●●

●●

●●●●●

●●●●

●●●

●●●

●●●

●●

●●

●●●●

●●

●●●

●●● ●

●●●●

●●

●●●●●●

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

2000

4000

6000

8000

1000

012

000

γ = Hγ = Mγ = Hγ = Mγ=Hγ=Lγ = M

Figure 3.6: Time window widths: w values (seconds) by data class.

Page 108: New data generation and solution techniques for the

78 A NEW SOP-TW DATA GENERATOR

in a data set.

Recall from §3.4.2.1 that for all problem classes the minimum width of a

job time window in a data set, wL, is fixed so that at least 10 average jobs

could be processed during the shortest time window. Figure 3.7 shows that

the average processing time of the jobs in a data set is approximately the

same across all data classes, thus the first quartile values of w in Figure 3.6

are also similar.

Figure 3.6 shows that the parameter γ successfully controls the variability in

the width of job time windows, w, with the spread of values increasing with

γ. In particular, for Class 8 where γ is low (L), the time window widths of

the 25 jobs are very similar. When γ is moderate (M)—Classes 1–7, 10–12

and 16–18—the time window widths are considerably more variable, and

even more so where γ is high (H)—Classes 9, 13–15 and 19–21.

The 10 large w outliers in each class correspond to the time window width of

the dummy job (i=0) in each data set, which increases due to b0 increasing

with n (i.e. for each data set, a0 = 0 and b0 = maxi∈V {bi}, thus w0 = b0).

Excluding these outliers, the spread of time window widths are very similar

for given γ regardless of the number of jobs; once again, this is because

average processing time is approximately the same regardless of class.

3.6.2 Processing times, setups and minimum delays: p, s & δ

These three parameters are very closely related: the p and s values are crane

travel times between pairs of container yard locations, and the δ values

are combinations of the p and s values. Recall from Section 3.4.1 that

the parameters that control the underlying container yard layout and crane

specifications have been fixed. As a result, the spread of values for each of

these three parameters (Figures 3.7–3.9) are approximately the same across

the 21 classes.

While the p and s values are both travel times between pairs of locations,

the p values correspond to the time required for a crane to move a container

from its pick-up location to its drop-off location, and includes the crane

hoist and lowering times (70 seconds). The s values correspond to times

the crane travels between the drop-off location of one job and the pick-up

Page 109: New data generation and solution techniques for the

3.6 Summary of SOP-TW data set parameters 79

●●●●●●●●●● ●●●●●●●●●● ●●●●●●●●●● ●●●●●●●●●● ●●●●●●●●●● ●●●●●●●●●

●●●●●●●●●● ●●●●●●●●●● ●●●●●●●●●● ●

●●

●●●●●

●●●● ●●●●●●●●●● ●

●●

●●

●●

●●

● ●●●●●●●●

● ●●●●●●●

●●● ●●●

●●●●●●●

●●●●●●●●●● ●●●●●●●●●● ●●●●●●●●●● ●●●●●●●●●● ●●●●●●●●●● ●●●●●●●●●●

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

020

4060

8010

012

014

0

Figure 3.7: Processing times: p values (seconds) by data class.

●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●

●●●●

●●●●

●●

●●●●●●●●●

●●

●●

●●●

●●●●

●●●●●●●

●●

●●

●●●●

●●●●●●●●●●●●●●●

●●●●

●●●●●●●●●●●●

●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●

●●●●●●●

●●●●●●●●●●

●●●●●●●●

●●

●●●●

●●●●●●

●●

●●●●

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

010

2030

4050

60

Figure 3.8: Setup times: s values (seconds) by data class.

●●●●●●●●●●●●

●●

●●●●●●●●●●●●●●●●●●●●●●●●

●●

●●

●●●●●●●●●●●

●●●●●●●●●●

●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●

●●

●●●●●●●●●●●●●

●●●

●●●●●●●●●●●

●●

●●●●●●

●●●●

●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●

●●●●●●●●●●●●

●●●

●●●●●

●●●●●●●●●●

●●●

●●●●●●●●●●

●●●●●●●●●●

●●●●

●●●●●●●●●●●

●●●

●●●●

●●●●●●●●●●

●●

●●

●●●●●●

●●●●●●●●●●●

●●●●●●●●●● ●●●●●●●●●●●●●

●●●●●●●●●●●●●

●●●●●●●●●●●●

●●

●●

●●●

●●●

●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●

●●

●●●●●●●●●●

●●●

●●

●●●●●●●●●●●●

●●●●●●

●●

●●●

●●

●●●●●●●●●●●●

●●●●●●●●●●●

●●●

●●●●●●●●●●●●●●

●●●●●●●●●●●●●

●●●

●●

●●●●●●●●●●●●●●

●●

●●

●●●

●●

●●●●●●●●●●●●●●●

●●●●●●●

●●●●●●●●●●●●●●

●●●●●●●●

●●●●●●●●●●●●

●●●

●●●●●●

●●●●●●●●●●●

●●

●●

●●●●●●●●●●●●

●●

●●●

●●●●●●●●●●●

●●●●●●

●●●●●●●●●●●●

●●

●●●●●●●●●●●

●●●

●●●●

●●●

●●●

●●●●●●●●●●●●●

●●●

●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●

●●

●●●

●●

●●

●●●●●●●●●●●●

●●

●●

●●

●●

●●

●●●●

●●●●●●●●●●●●●●●●●●●●●

●●●

●●●

●●

●●●●●●●●●●●●

●●●●●●●●

●●●●●

●●

●●

●●●●●●●●●●

●●●●

●●

●●

●●●●●●●●●●●●●

●●

●●●

●●

●●●●

●●

●●●●

●●●●●●●●●●

●●●●●●●●●●●

●●

●●●●●●●●●●

●●

●●●●●●●●●●●●●●●●●●●●●

●●●●●

●●●●●●●

●●

●●

●●●●●●●●●●

●●

●●●●●●●●●

●●●●

●●

●●●●●●●

●●●●●

●●●●●●●●

●●

●●●

●●

●●●●●●●●●

●●●●

●●●

●●●●●●●●●

●●●●

●●●●●●●●●●●●●●●●●●

●●●

●●

●●

●●

●●

●●●

●●●●●●●

●●

●●●●●●●●

●●●●●●

●●●●●●●●

●●●●

●●●

●●●●●●●●●●

●●●●●●●●

●●

●●●

●●●●●●●●

●●●●●●●●●

●●●

●●●●●●●●●

●●●●●●

●●●

●●●

●●●●●●●●●

●●

●●●●●●●●●

●●●●●●●●●

●●

●●●●●●●●●

●●●

●●●●●

●●

●●●●●●●●

●●

●●●●●●●

●●●●

●●

●●●●●●●●●●●●

●●●●●●●●●●

●●●●●●●●●●●●●●●

●●●●●●●●●●●

●●●

●●●

●●

●●●●

●●●●●●●●●●●●●●

●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●

●●●●●

●●●●●●●●●●●

●●●●●●●●●●●●●●

●●●

●●●●●●●●●●●●●

●●●●●

●●●

●●●●●●●●●●●●●●

●●●

●●●●●●●●●●●●●●

●●●●●●●●●●●●●

●●

●●

●●

●●●●

●●●●●

●●

●●

●●

●●

●●

●●

●●●●●●●●●●●●●

●●●●●●●●●●●●●●

●●●●●●

●●●●●●●●●●●●

●●●

●●●●

●●

●●●●

●●●

●●

●●

●●

●●●●

●●●●

●●●●●●●●●●●●

●●●

●●

●●●

●●●●●●●●●●●●●●

●●●●●●●

●●

●●

●●●●●●●●●●●●●●

●●

●●●●●●

●●●●

●●

●●●

●●●●●●●

●●

●●●●●

●●

●●●●●●●●●●●●

●●

●●●●●●●●●●●●●●

●●

●●

●●

●●

●●

●●

●●●

●●●●

●●●●●●●●●●●●●

●●

●●

●●

●●●

●●●●●

●●

●●

●●●●●●●●●●●●●●

●●●●●●●●

●●●

●●●●●●●●●●●●

●●●●

●●●●●●●

●●●

●●●

●●

●●●●●●●●●●●●●

●●●

●●

●●●

●●●●●●●●●

●●●●●●●●●●●●

●●●●●

●●

●●

●●●●●

●●

●●

●●●●●●

●●

●●●●●●●●●●●●

●●●

●●

●●

●●

●●●●●●

●●

●●●

●●

●●●●●●●●●●●

●●●

●●●●

●●●●●●●●●●●●

●●

●●●●●●●●●●●●●●

●●●●●

●●●

●●

●●●●●●●●●●●●●

●●●●●●●

●●

●●●

●●●●●●●●●●●

●●●●●

●●●

●●

●●

●●●

●●

●●●●●●●●●●●●●

●●

●●

●●

●●●●

●●

●●

●●

●●●

●●●

●●●●●●●●●●●●●

●●

●●●●●

●●●●●●●●●●●

●●

●●●

●●●●●●●●●●●●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●●●●●●●●

●●●●

●●●●●

●●

●●

●●●●●●

●●●●

●●

●●●●●●●●●●

●●●●

●●

●●●●●

●●●

●●●

●●

●●

●●

●●●●●●●●●●●

●●

●●

●●●●

●●

●●

●●●●●

●●●●●●●●●●●●

●●

●●●●●●●●●●●●

●●●●

●●

●●●

●●●●●●●●

●●●●●●●●

●●

●●●

●●●

●●●●●●●●●●●●●

●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●

●●●●●●●●●●●●●●●

●●●●●●●

●●●●●●●●●●●●●●●●●

●●●●●●

●●●

●●

●●

●●

●●

●●

●●

●●●●●●●●●

●●●

●●●

●●

●●

●●●●●●●●●●●●

●●●●

●●

●●●

●●

●●●●●●●●●●●●●●●

●●●

●●

●●

●●●

●●

●●●●●●●●●●●●

●●●

●●

●●●

●●

●●

●●●

●●

●●●

●●

●●

●●●

●●●

●●

●●

●●●●●

●●

●●●●●●●●●●●●●●●●●●●

●●●●

●●

●●●

●●●●●●●●●●

●●●

●●●●

●●●

●●

●●●●●●●●●●●●●●●●●●●●

●●●●●

●●●●●●●●●●●●●●

●●●●●●●●●

●●

●●●

●●●

●●●●

●●

●●

●●●●●●

●●●●●

●●●●●●

●●●●●

●●●●●●●●●●●●●●●●●●

●●

●●●●●

●●

●●●●●●●●●●●●●●●

●●●

●●

●●●

●●●●●●●●●●●●●

●●●●●●●●●●

●●●●●●●●●●●●●●●●●

●●●

●●●●●

●●

●●●●●●●●●●●●●●

●●

●●

●●

●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●

●●

●●

●●

●●●●●●●

●●●●

●●

●●●●

●●

●●●

●●

●●

●●●●●●●●●●●●●●●●●

●●●

●●●

●●

●●●●

●●●●

●●●●●●●●●●●●●●●

●●●●●●

●●●●●●●

●●●●●

●●●

●●●●●●●●●●●●●●●●●●

●●●●●●●●

●●●

●●●

●●●●●●

●●●●●

●●●●●

●●●●●●●●●●●●●●●●●

●●●

●●●

●●

●●●●

●●●

●●●

●●●●

●●●●●●●●●●●●●●

●●

●●●●●●

●●

●●●

●●●●●●●●●●●●●●●

●●

●●

●●

●●

●●

●●

●●●●●●●●●●●●●●●●

●●●●

●●●●●●

●●

●●●●

●●

●●●●●●●●●

●●●●●●●●●●●●

●●●

●●●

●●

●●

●●

●●●●

●●●●●●●●●●●●●●●

●●●●●●●

●●

●●●

●●

●●●●●●●●●●●●●

●●●●

●●●●

●●●●●●●●●●●

●●●

●●

●●

●●●●●

●●●●●

●●●

●●●●●●●●●●●●●

●●●●●

●●●

●●●●●●●●●●●●●●●●●

●●●●●●

●●●●

●●

●●

●●●

●●●

●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●

●●●

●●

●●●

●●●●

●●●●●●

●●●●

●●●●●●●●●●●●●●●

●●●

●●●●●

●●

●●●●●●

●●●●●●●●

●●●●●●●●●●●

●●

●●●●●●●●

●●

●●●●●●●●●●●●

●●

●●●

●●

●●●●●

●●

●●

●●

●●●●●●●●●

●●●●●●●●●●●●●●

●●●

●●

●●

●●●

●●

●●●

●●

●●●●●●●●

●●●

●●●●●●●●●●

●●

●●●●●●●●●●

●●●●

●●●

●●●

●●●●

●●●●●●●●●●●●●

●●●●

●●

●●●●●

●●●●●●●●●

●●●

●●

●●

●●

●●●

●●●●●●

●●●●●●●●●●●●●●

●●

●●●●●●

●●●●●

●●●

●●

●●●●●

●●

●●●●●●

●●●●●●●●●●●●●●

●●●●●●

●●

●●

●●●●●

●●●●●●●

●●●●●●●●●●●●

●●

●●●

●●●●●●●●

●●●●●●

●●●●●●●●●●●●●●●

●●●

●●●

●●●●●

●●●●●

●●

●●

●●●●

●●

●●

●●

●●●

●●●●●●●●

●●●●

●●

●●●

●●●●●●●●●●●●

●●●●●●●●●●

●●

●●●

●●●●

●●

●●●●●●●●●●●●●●

●●

●●●

●●

●●

●●

●●●

●●●●●●●●●●●●●●

●●●●●●●●●●●

●●

●●

●●

●●●

●●●●●●

●●●●●●●●●●●●●●

●●●●

●●●●

●●

●●●●●

●●●●●●●●

●●●●●●●●

●●●

●●

●●

●●●●●●●●

●●

●●●

●●●●●●●●●●●●

●●●●

●●

●●●●●●●●●

●●●●●●●●●●●●●●

●●●

●●

●●●●●

●●●●

●●●●●●●●●●●

●●●●●●

●●●●●●●●●●●●●●●●●

●●●●●●●●

●●

●●●

●●

●●●●

●●

●●●●

●●●

●●●●

●●

●●

●●●

●●●

●●

●●

●●●●●●●●●●●●●

●●●●

●●●●

●●●●●●●●●●●

●●●●

●●●●●●●●●

●●●

●●●●

●●

●●●●●

●●

●●

●●●

●●●

●●●●

●●●●●●●●●●●

●●●●●●●

●●●●●●●

●●●●●●●●●●●●●●

●●●

●●●●

●●●●●●●●●●●●●●●●

●●●●●●●

●●●

●●●●●

●●●●

●●

●●

●●

●●●

●●●●●●●●●●●●

●●●●●●

●●●

●●●●●

●●●●●●●●●●●●●

●●

●●

●●

●●●●●●●●●●●●●

●●●

●●●

●●●●●●●●●

●●●●●●●●

●●●

●●

●●

●●●●●

●●

●●●●●

●●●●●●●●●●●●●

●●●

●●

●●

●●

●●

●●

●●●●●●

●●●

●●●●●●●●●●

●●●●●●●●●●●

●●

●●●

●●

●●

●●●

●●●●

●●●●●

●●●●●

●●●●●●

●●

●●●

●●

●●●

●●●●●●●●●●●●

●●●●●●●●●●●●

●●●●●●●●●●●●●

●●

●●●

●●●●●●●●●

●●

●●

●●●●

●●●

●●●●●●●●●●●●●●

●●

●●●

●●

●●●

●●●●●●●●●●●

●●●●●●●

●●

●●●●●

●●●●●●●●

●●

●●

●●

●●●●●

●●●●●●●●●●

●●●●●

●●●●

●●

●●

●●

●●●●●●●●●●●●●

●●●

●●●

●●

●●●

●●

●●●●

●●●

●●

●●●●

●●

●●●●

●●

●●●●

●●

●●●●●

●●●●●●●●●●●●●●●●●

●●

●●●●●

●●●●●

●●

●●

●●●●

●●●●

●●●

●●

●●●●●

●●

●●●●●●●●●●●●●●●

●●●●●●●●●●

●●●

●●●

●●●●●

●●●

●●●●

●●●

●●●●●●●●

●●●●●●●●●●●●●●●●

●●●●

●●●●●●●●●●●●●

●●

●●●●

●●●●●

●●●●●●●●●●

●●●●●●●●●●●●●●●●

●●●●●●

●●●●●●

●●●●●●●

●●●●●●

●●

●●●●●

●●●●●

●●

●●●●●

●●●●●●●●

●●●●●●●●●●●●●●●●●

●●

●●●

●●●●●●●●

●●●●●●●●●●●●●●

●●●●

●●

●●

●●●

●●●

●●●●●●●

●●●●

●●

●●●

●●●●●●●●●●●●●●●●●●

●●

●●●●●

●●

●●

●●●●●●●●

●●●●●●●

●●

●●

●●●●●●●●●●●●●●●●●●

●●●

●●●●●

●●●

●●●●●●●●●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●●●●●●

●●

●●

●●

●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●

●●●●●●

●●●●

●●●

●●●

●●

●●●●

●●

●●●●●●

●●●●

●●

●●

●●

●●●●●●●●●●●●●●

●●●●

●●●●

●●

●●●●●

●●●

●●●

●●●●

●●

●●●

●●

●●●

●●●●●●

●●●●

●●

●●●

●●●

●●●

●●●

●●●●●●●●●●●●●●●●●●

●●

●●●●●●●●●●●●

●●

●●●●●

●●

●●●●●

●●●●●●●●●

●●●

●●

●●●●

●●

●●●●●●●●●●●●●●●●●

●●●●●

●●

●●●●●●●●●●●●●●

●●●●●●●

●●●

●●●●●●●●

●●●●

●●●●●●●●●●●●●●●●

●●●●

●●

●●

●●●●●

●●●●●●●●

●●●

●●●●●●●

●●

●●●

●●●●●

●●

●●

●●

●●●●●

●●

●●●●

●●●●●●●●●●●●●●●●●

●●●

●●

●●

●●●●●●●●

●●●●●●●●

●●●●●●●●●●●●●●●

●●●●●●

●●●●●

●●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●

●●●●●●●●●●●●●●●●●

●●●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●●●●●●●●

●●●●

●●●●●●

●●●

●●●

●●●●●●●●●●●●●●●●●●●

●●

●●●●

●●●●●

●●●●●●●

●●

●●

●●●●●●●●●●●●●●

●●●●

●●●●●●●●●●●●●●●●●●●

●●●

●●

●●

●●

●●

●●

●●●●

●●

●●●●●●●●●●●●

●●●●●●●●●●●●●●

●●●●●●●●●●

●●●●

●●●●●

●●

●●●

●●

●●●●●●●●●●●●●●●●

●●●●●●●

●●●●●●●●●●●●●●●

●●●●

●●

●●●●●●●

●●●●●●●●●●●

●●●●

●●●●●●●●●●●●●●●

●●●

●●●

●●

●●

●●●●

●●●●●●●●●

●●●●●●●●●●

●●●●●●●●

●●●●●●●●●●●●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●●●●●●●●●●●●●●●●●●●

●●

●●

●●

●●●●

●●●

●●●●●●●●●●●●●●●●●●

●●●

●●

●●

●●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●●●●●

●●●●

●●●

●●●●

●●

●●●●●

●●●●●●

●●●

●●●●

●●●●

●●●●

●●●●●●●●●●●●●●●●

●●●

●●●

●●●

●●

●●●

●●●●

●●●●●

●●

●●●

●●●●

●●●●●●●●●●●●

●●●

●●

●●●●

●●

●●●●

●●

●●

●●●●●●

●●●●●●●●

●●●●●●●●●●●●●

●●●●●●

●●

●●

●●●●●●●●●●●●●●

●●●●●●●●●●

●●

●●

●●●●

●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●

●●●●●●●●●●

●●●

●●

●●●●●

●●●

●●

●●●●●

●●●

●●

●●●●

●●●

●●

●●●

●●●●●●●●●●●

●●

●●●●●●

●●

●●●●●●●

●●

●●

●●●●●

●●●●●●●●●

●●●

●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●●●●

●●●

●●

●●●

●●

●●●●●●●

●●

●●●●●●

●●●

●●●

●●●

●●

●●●●

●●●●●●●●●●●●●●●●

●●●●

●●●

●●●●

●●●●●●●●

●●●

●●

●●●

●●●●

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

050

100

150

200

Figure 3.9: Minimum time delays: δ values (seconds) by data class.

Page 110: New data generation and solution techniques for the

80 A NEW SOP-TW DATA GENERATOR

location of the next job; since the crane can feasibly drop-off a container

and then pick-up a container from the same ISA location, the s values can

be zero.

Finally, note that the outliers at zero in each box plot of Figure 3.7—and

thus Figure 3.9—arise due to the dummy job of each data sets (i.e. p0 = 0).

3.6.3 Precedence delays: α and α

Varying p affects the number of precedence arcs generated, |P |. When p = 0,

|P | = 0, thus there will be no α values; as a result, there is no box plot for

Class 4 in Figure 3.10.

Just like the δ values, the α values depend on the pick-up and drop-off lo-

cations of job-pairs, as described in §3.2.5. Consequently, the α values have

the same range as δ values, excluding the outlier zero3. Indeed, the δ and

α values of each class can be viewed as samples from the set of all possi-

ble combinations that can arise from the underlying container yard layout.

However, since there are always many more normal arcs than precedence

arcs (|A| � |P |, as per Table 3.8), δ has a much larger sample for all classes.

As a result, the box plots of δ values in Figure 3.9 are very similar across

classes, whereas the box plots of α values in Figure 3.10 show greater vari-

ability.

The precedence set PALL arises during data preprocessing, where each arc

(i, j) ∈ PALL has precedence delay αij ; see Section 4.5 for details. The ma-

jority of arcs in PALL come from arcs in precedence set P TW with associated

precedence delay αij := max{δij , aj − bi} (§4.5.1 and §4.5.4). Figure 3.9

shows that the maximum value of δ is approximately 200 (200.23 according

to Table F.7). Consequently, Figure 3.11 shows that the vast majority of

αij values arise via αij = aj − bi, rather than αij = δij . As a result, the box

plots of α values—shown in Figure 3.11—are very similar to the box plots

of release dates (Figure 3.4) and due dates (Figure 3.5).

3A precedence relation (i, j) arises when containers i and j (corresponding to non-

dummy jobs i and j) share a location such that i must be moved out of the location

before j can be moved into the location. As a result, αij > 0 for all (i, j) ∈ P .

Page 111: New data generation and solution techniques for the

3.7 Chapter summary 81

●●

●●

●●

● ●

●●

●●

●●

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

8010

012

014

016

018

020

0

Figure 3.10: Original precedence delays: α values (seconds) by data class.

●●●●●●●●

●● ●

●●●

●●●●

●●●●●●●●

●●●●●●●●●●●●

●●●● ●

●●●●●●●●●●●● ●●

●●●●● ●●●●●●

●●●●●●●●●●

●●●●●

●●●●

●●●●●●●●●●

●●●●●

●●

●●●●●● ●●●

●●● ●●

●●●●●●●●●

●●

●●●●●

●●●●●

●●●●

●●●●●

●●●

●●

●●●●●●●●

●●

●●●

●●●●

●●

●●

●● ●●●

●●●●

●●●●●●●

●●●

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

020

0040

0060

0080

00

Figure 3.11: All precedence delays: α values (seconds) by data class.

3.7 Chapter summary

Procedure RandomPortDataGen is a significant contribution of this chap-

ter. It is a detailed method for creating port-specific container data based

on a real world terminal layout. By using this method, crane scheduling

data sets have been generated with a number of characteristics. Since each

crane scheduling instance output by RandomPortDataGen directly trans-

lates into a feasible SOP-TW problem instance, we focus on the more general

problem of the SOP-TW for the remainder of this thesis.

Page 112: New data generation and solution techniques for the

82 A NEW SOP-TW DATA GENERATOR

Page 113: New data generation and solution techniques for the

Chapter 4

FORMULATIONS OF THE

SOP-TW

Several integer programming formulations of the SOP-TW are presented in this

chapter; the pros and cons of each formulation are discussed. A data preprocessing

routine to aid efficient implementation is given, and computational studies of this

procedure and the compact formulations are performed.

4.1 Introduction

As noted in Section 2.2, the ATSP is a relaxation of the SOP-TW; indeed,

the ATSP is a relaxation of various interesting problems. Consequently,

many formulations of the ATSP exist. As new models have been developed,

the relationships between the different formulations have been analysed:

important works in this area include contributions by Wong [76], Langevin

et al. [77], Padberg and Sung [78], Gouveia and Voß [79], and Orman and

Williams [80]. Recently, Oncan et al. [81] classified and compared 24 existing

ATSP formulations. In addition to a review of the known relationships

between the various formulations, an important contribution of this survey

paper is the introduction of new relationships.

While many of these ATSP formulations could be used as the foundation of

a SOP-TW formulation, for brevity, only three integer programming (IP)

formulations of the SOP-TW are presented in this chapter.

83

Page 114: New data generation and solution techniques for the

84 FORMULATIONS OF THE SOP-TW

All three IPs extend well-known formulations of the closely related ATSP-

TW, which are ultimately extensions of ATSP formulations. The formula-

tions are:

1. a compact model called MIP1 based on a formulation originally pro-

posed by Miller, Tucker and Zemlin [34] and extended by Ascheuer,

Fischetti and Grotschel [8], described in §4.2.1;

2. a compact model called MIP2 based on a formulation originally pro-

posed by van Eijl [36] and Maffioli and Sciomachen [37] and adopted

by Ascheuer, Fischetti and Grotschel [8], described in §4.2.2; and

3. a cutting plane model called MIP3 based on a formulation originally

proposed by Dantzig, Fulkerson and Johnson [17] and extended by

Ascheuer, Fischetti and Grotschel [16, 8], described in §4.3.1.

The outline for the rest of this chapter is as follows. In §4.2 two SOP-TW

formulations—MIP1 and MIP2 —are presented that are both compact and

easy to implement; the pros and cons of these two models is discussed. A

cutting plane formulation, MIP3, is presented in §4.3. Alternate MIP models

for the SOP-TW are mentioned in §4.4. A data preprocessing routine to aid

efficient implementation of all techniques proposed in this thesis is given

in §4.5, along with a computational study of this preprocessing routine. A

comprehensive computational study of the two compact MIPs is performed

in §4.6 to provide a benchmark for the techniques subsequently proposed in

this thesis. Finally, §4.7 summarises the contributions of this chapter and

outlines the solution approaches proposed in the remainder of the thesis.

4.2 Compact formulations of the SOP-TW

In this section two mixed integer linear programming (MIP) formulations

of the SOP-TW are presented using the notation defined in Chapter 2 and

summarised in Table A.2 (page 309). Both MIPs are compact (i.e. have a

polynomial number of constraints in the number of jobs) and easy to im-

plement. These compact MIPs will provide a benchmark for the techniques

subsequently proposed in this thesis. Moreover, in Chapter 7 a scheduling-

based branch-and-bound method will be introduced that requires at least

Page 115: New data generation and solution techniques for the

4.2 Compact formulations of the SOP-TW 85

one MIP formulation of the SOP-TW; both of these MIPs will be tested in

that method.

4.2.1 Model MIP1

This model of the SOP-TW is based on a simple extension to an IP for-

mulation of the ATSP-TW presented by Ascheuer et al. [8], which they

name Model 1. Their formulation extends the TSP formulation proposed by

Miller, Tucker and Zemlin [34] that introduced additional t variables. The t

variables are used to formulate a significantly smaller set of inequalities that

replace the subtour elimination constraints, and can be used to incorporate

side constraints such as those arising from travel times and time windows.

Our extension of the model proposed by Ascheuer et al. is given by con-

straints (4.1)–(4.7), and named MIP1 ; the addition of inequality (4.5) ex-

tends Model 1 to include precedence constraints. Moreover, the times are

non-negative real values as given by constraint (4.6), rather than natural

numbers.1 The first SOP-TW formulation, MIP1, is as follows:

(MIP1 ) min∑

(i,j)∈A

sijxij

s.t.∑

j∈V ∪{0}s.t.(i,j)∈A

xij = 1 ∀i ∈ V ∪ {0}, (4.1)

∑i∈V ∪{0}

s.t.(i,j)∈A

xij = 1 ∀j ∈ V ∪ {0}, (4.2)

ti + δij −Mij(1− xij) ≤ tj ∀(i, j) ∈ A, j 6= 0, (4.3)

ai ≤ ti ≤ bi ∀i ∈ V, (4.4)

ti + αij ≤ tj ∀(i, j) ∈ P, (4.5)

ti ∈ R+ ∪ {0} ∀i ∈ V ∪ {0}, (4.6)

xij ∈ {0, 1} ∀(i, j) ∈ A (4.7)

1All times in the data sets created by our data generator in Chapter 3 are real val-

ues, rather than natural numbers; they are derived from the real-world port layout that

underpins the data generator. Thus the start times given by ti for all i ∈ V are real too.

Page 116: New data generation and solution techniques for the

86 FORMULATIONS OF THE SOP-TW

where

xij :=

1, if job j is processed immediately after job i,

0, otherwise,

and ti is the scheduled start time of job i, δij := pi+sij is the minimum time

delay between starting job i and starting job j, Mij := max{bi + δij − aj , 0}are big-M values used in big-M constraints (4.3) that are only active when

i immediately precedes j, αij is the minimum time lag between starting job

i and starting job j (where αij ≥ δij), P is a precedence set consisting of

pairs of jobs for which these minimum time lags apply, and A is the set of

all job-pair partial orderings (i.e. (i, j) ∈ A if job j can be started directly

after job i).

4.2.2 Model MIP2

As with MIP1, this formulation is also based on an extension to an IP formu-

lation of the ATSP-TW presented by Ascheuer et al. [8], which they name

Model 3. The formulation, originally proposed by van Eijl [36] and Maffioli

and Sciomachen [37], avoids the big-M constraints—which are known to be

weak—by introducing additional arc variables (y). Like the t-variables in

MIP1, these y variables are used to formulate a smaller set of inequalities

that replace the Dantzig, Fulkerson and Johnson subtour elimination con-

straints (constraints (2.4) in Section 2.2), as well as model additional side

constraints such as times.

Our extension of the model proposed by Ascheuer et al. is given by con-

straints (4.1), (4.2) and (4.7)–(4.11), and named MIP2. The addition of

inequality (4.10) extends Model 3 to include precedence constraints. As

with MIP1, the times are non-negative real values as given by constraints

(4.11), rather than natural numbers. The second SOP-TW formulation,

Page 117: New data generation and solution techniques for the

4.2 Compact formulations of the SOP-TW 87

MIP2, is as follows:

(MIP2 ) min∑

(i,j)∈A

sijxij

s.t. (4.1), (4.2), (4.7),∑i∈V

s.t.(i,j)∈A

yij +∑

i∈V ∪{0}s.t.(i,j)∈A

δijxij ≤∑

k∈V ∪{0}s.t.(j,k)∈A

yjk ∀j ∈ V, (4.8)

aixij ≤ yij ≤ bixij ∀(i, j) ∈ A, i 6= 0, (4.9)∑k∈V ∪{0}s.t.(i,k)∈A

yik + αij ≤∑

k∈V ∪{0}s.t.(j,k)∈A

yjk ∀(i, j) ∈ P, and (4.10)

yij ∈ R+ ∪ {0} ∀(i, j) ∈ A, i 6= 0. (4.11)

The y variables simultaneously capture two pieces of information when

yij > 0. Firstly, if yij > 0 then i immediately precedes j. Secondly, if

yij > 0 then yij is the start time of job i. Inequalities (4.9) force yij to zero

if xij = 0, while inequalities (4.8) and (4.9) ensure that if xij = 1 then yij

is the start time of job i—equivalent to ti in MIP1 —and job j is processed

immediately after job i. Indeed,

ti =∑

j∈V ∪{0}s.t.(i,j)∈A

yij , (4.12)

with at most one non-zero yij for each i ∈ V . If the release date of the first

job in the schedule is zero, the start time of that job may also be zero.

It is worth noting that for all j ∈ V , y0j are not required, thus are omitted

in (4.11). Consequently, they are also omitted from inequalities (4.9). In

contrast, for all i ∈ V such that (i, 0) ∈ A, yi0 are required. This is to ensure

that the final job is also assigned a start time.

Since the t variables in MIP1 are an aggregation of the y variables in MIP2 —

as per equation (4.12)—MIP2 is a stronger formulation than MIP1. Other

merits and differences of the two models are discussed in Section 4.2.3.

4.2.3 Comparison of the compact MIP models

Both MIP formulations will be used for benchmarking and within the branch-

and-bound scheme proposed in Chapter 7. The main differences and advan-

Page 118: New data generation and solution techniques for the

88 FORMULATIONS OF THE SOP-TW

tages of each model are now discussed.

The key difference between MIP1 and MIP2 is how they model time: the

first has node-based time variables, while the latter has arc-based time vari-

ables. In ATSP models these variables are used to break subtours by captur-

ing the order cities are visited; in the SOP-TW they model the time at which

each job is processed, implicitly break subtours and allow for time-related

objective functions.

Both MIP1 and MIP2 can be modified to accommodate time-based objec-

tives using the current time variables. For example, compared with the TSP

literature, the machine scheduling literature pays relatively little attention

to problems with the objective∑

(i,j)∈A sijxij (see Graham et al. [13], Lawler

et al. [14] or Pinedo [15]). Instead, prominence has been given to minimising

objectives such as: the latest completion time, Cmax (i.e. makespan); maxi-

mum lateness, Lmax (the largest difference between the completion time and

due date of a job); the sum of the completion times,∑

i∈V Ci; total tardi-

ness,∑

i∈V Ti (where Ti = max{0, Ci − di}); and the number of tardy jobs,∑i∈V Ui (where Ui = 0 if Ci ≤ di, otherwise 1). Similarly, objectives that

include weight coefficients, wi, on Ci, Ti and Ui have also been considered.

Since these objectives are unrelated to sequence-dependent setup times, the

heuristics and lower bounding techniques that focus on these objectives are

of limited use within this thesis. However, both MIP1 and MIP2 can be

modified to accommodate these objectives. Indeed, in Section 5.4 the ob-

jective of both IPs are modified by incorporating the sum of the weighted

time variables.

By observation, MIP2 is a stronger formulation than MIP1 ; the y arc vari-

ables are much more strongly linked to the x arc variables (constraints (4.8)

and (4.9)) than the t node variables (big-M constraints (4.3)). Indeed, within

the context of the ATSP, arc-based approaches generally provide stronger

lower bounds while node-based models based on the Miller, Tucker and Zem-

lin (MTZ) t variables are beneficial for the speed of their LP relaxation [81].

The computational experiments in Section 4.6.3 show the same behaviour.

There exist several well-known liftings for the MTZ time window constraints

in MIP1, such as those in Desrochers and Laporte [35] and Sherali and

Driscoll [82]. We do not include the liftings in [35] in our implementation

Page 119: New data generation and solution techniques for the

4.3 A cutting plane formulation 89

due to their limited effectiveness on asymmetric problems: on Desrochers

and Laporte’s “Asymmetric random” problem instances the average lower

bound improvements were 0.4%–0.7%. Although Sherali and Driscoll [82]

prove that their MTZ liftings are theoretically and computationally stronger

than those of Desrochers and Laporte (stronger lower bounds; fewer B&B

nodes explored), the computational effort required at each node is signifi-

cantly increased, usually resulting in longer total solve times than the weaker

formulations.

As noted at the start of Section 4.2, at least one MIP formulation of the

SOP-TW is required for node-pruning criteria of the B&B method proposed

in Chapter 7. In Criterion 4 (LP feasibility), the LP relaxation of a MIP is

solved. Since this is repeated at each node of the B&B tree, the LP relaxation

must be fast-solving; this is the primary reason MIP1 is included. The value

of the LP solved in Criterion 4 can be used for Criterion 5 (dominance by

bound), but Criterion 6 (heuristics for obtaining feasible solutions) requires

a modified MIP with time variables, so either MIP will suffice.

In this thesis, no liftings have been included in either MIP1 or MIP2 for

several reasons. Predominately, the MIPs will be used in a scheme where

each LP relaxation must solve as quickly as possible; since an LP is solved

at every node of a B&B tree, even a small increase in LP solve time can have

a big impact on total solve time. Given the significant additional computa-

tional effort required by a lifted model, this would negate the benefits of a

slightly better lower bound. As a proxy, all MIP results can be adjusted by

the best improvement gained by liftings. However, as will be shown later in

this thesis (for example, see Figure 8.3 in Chapter 7) our best cases would

still easily outperform a lifted model. Furthermore, the ease of implementing

the models as they stand is also beneficial.

4.3 A cutting plane formulation

The model presented in this section is an extension of the model presented

in Section 2.2 for the ATSP-TW. Since this formulation has exponentially

many constraints in the number of jobs it is not a compact formulation.

Page 120: New data generation and solution techniques for the

90 FORMULATIONS OF THE SOP-TW

4.3.1 Model MIP3

As with MIP1 and MIP2, this formulation is also based on a simple extension

to an IP formulation of the ATSP-TW presented by Ascheuer, Fischetti

and Grotschel in [8], as well as in [16]. Their formulation is extended here

to implicitly include generalised precedence constraints by broadening the

definition of an infeasible path used in inequalities (4.14). Thus a cutting

plane formulation for the SOP-TW follows:

(MIP3 ) min∑

(i,j)∈A

sijxij

s.t. (4.1), (4.2) and (4.7)∑(i,j)∈A(W )

xij ≤ |W | − 1 ∀W ⊂ V ∪ {0}, 2 ≤ |W | ≤ n (4.13)

k−1∑i=1

xvivi+1 ≤ |Q| − 1 ∀ infeasible pathsQ = (v1, . . . , vk)

(4.14)

where constraints (4.13) are subtour elimination constraints (SECs). Recall

that an infeasible path for the SOP-TW is a sequence of jobs that would

lead to a violation of at least one precedence relation and/or at least one

job’s time window. Let Q be an arbitrary infeasible path with k jobs, where

vi is the i-th job in the path Q. Since Q is a path—not a tour—the length

of Q is |Q| = k − 1 (the number of arcs traversed in the path).

MIP3 only contains binary arc variables, with the time constraints regard-

ing precedences and time windows incorporated via the inequalities (4.14),

which forbid paths that violate the time windows and/or precedence rela-

tions. To incorporate the precedence information, a new item is checked

when assessing if path Q is feasible: when calculating (by simulation) the

earliest start time of each job in Q, all times must also satisfy the precedence

relations (i.e. tj ≥ ti + αij for all (i, j) ∈ P ). If the resulting times violate a

time window (i.e. ti > bi for some i ∈ V ), the path is considered infeasible.

This cutting plane formulation has several advantages. Firstly, it is a

stronger formulation than both compact formulations. Secondly, it does not

require additional variables, and thus does not require linking constraints

to connect the x variables to new variables. However, this restricts the ob-

Page 121: New data generation and solution techniques for the

4.4 Alternative MIP models for the SOP-TW 91

jective function to depend on x only; in contrast, the two compact models

allow for many varied objective functions.

A major disadvantage of MIP3 is that there are exponentially many con-

straints in both (4.13) and (4.14). Consequently, these constraints are typ-

ically generated during the solution process and added to the model as

individual constraints are found. This is the major drawback which the

two compact formulations address: they can be solved directly, avoiding

the need to devise a sophisticated implementation that iteratively solves a

relaxed model and identifies violated constraints.

4.3.2 Valid inequalities for the SOP-TW

The AP, ATSP, SOP (ATSP-PC) and ATSP-TW were shown to be relax-

ations of the SOP-TW in Section 2.2; consequently, all valid inequalities for

these relaxations also hold for the SOP-TW.

As noted by Ascheuer, Fischetti and Grotschel [8], the inequalities given

by (4.14) can be very weak. As a result, they present a number of other

inequalities that are stronger than the current infeasible path inequalities.

Since a full investigation of MIP3 is beyond the scope of this thesis, these

inequalities are not presented here.

4.4 Alternative MIP models for the SOP-TW

As noted in Section 2.4, Escudero and Sciomachen [4] present a MIP model

for the SOP-TW; this same model is presented by Maffioli and Sciomachen

[37] (which they call Model 2.1). We do not present or investigate that

model in this thesis as it has two major disadvantages: it contains both

the exponential set of subtour elimination constraints (4.13) and also big-M

constraints. An alternative model that overcomes both disadvantages was

introduced by van Eijl [36] and Maffioli and Sciomachen [37] (which they

call Model 3.2); MIP2, which was presented in §4.2.2, is a modified version

of it. The performance of MIP2 is investigated in Section 4.6.

Escudero and Ortuno [45] and Alonso-Ayuso, Detti, Escudero and Ortuno

[46] present a formulation for the SOP-TW without release dates. As noted

Page 122: New data generation and solution techniques for the

92 FORMULATIONS OF THE SOP-TW

in Section 2.5, there is no concept of waiting time in this special case of

the SOP-TW, thus the start time of the j-th job in a given schedule (π) is

modelled as the sum of the processing and sequence-dependent setup times

of preceding jobs (i.e.∑j−1

i=0{sπi,πi+1 + pπi}). Moreover, this formulation

also contains the exponential set of subtour elimination constraints (4.13)

as well as an exponential set of precedence forcing constraints (discovered

independently and introduced in [30] and [32], and strengthened in [31] and

[44]); like MIP3, investigation of this model is beyond the scope of this

thesis.

4.5 Data preprocessing

A range of preprocessing techniques may be applied to a SOP-TW problem

instance to (a) identify additional valid precedence relations, and (b) reduce

the problem to a smaller equivalent problem by tightening time windows

and/or reducing the arc set A. Since the ATSP-TW is a special case of the

SOP-TW (where P = ∅) the preprocessing techniques described by Ascheuer

et al. [8] can be directly applied to the SOP-TW. Moreover, since we assume

that P 6= ∅, additional preprocessing based on precedences is possible and

thus implemented.

The preprocessing techniques applied in this thesis are presented herein.

The largest set of valid precedence relations, PALL, is of particular impor-

tance, since this set is used extensively in the solution techniques presented

throughout this thesis (for example, see Section 5.3.2.4 and 7.4.2). Addi-

tionally, PALL is used to tighten time windows and reduce the arc set A so

as to maximise the preprocessing that can be achieved.

4.5.1 Precedence preprocessing

Given the time windows of two jobs—[ai, bi] and [aj , bj ]—if bi < aj + δji, it

is implied that job i must be processed before job j in any feasible sched-

ule. Consequently, (i, j) is a precedence induced by the time windows of

jobs i and j, thus (i, j) ∈ P TW where P TW is the set of all implicit prece-

dences implied by the time windows. The associated precedence delay is

αij := max{δij , aj − bi}.

Page 123: New data generation and solution techniques for the

4.5 Data preprocessing 93

The set of all precedences, PALL, is constructed recursively using the original

precedence set P and the time-window-induced precedence set P TW . The

transitive closure of the directed graph G := (V ∪ {0}, P ∪ P TW ), denoted

C(G) := (V ∪ {0}, PALL), is a graph which contains an arc (i, j) whenever

there is a directed path from i to j in G. The precedence delay on arc

(i, j) ∈ PALL, αij , is the maximum accumulated delay along any directed

path from i to j:

αij := maxQ∈Zij

∑e∈E(Q)

max{αPe , αTWe }

where Zij is the set of all directed paths from i to j in G, E(Q) is the set of

arcs that define path Q ∈ Zij (thus E(Q) ⊆ P ∪ P TW ), and

αPe :=

αe, if e ∈ P ,

0, otherwise,

and

αTWe :=

αe, if e ∈ P TW ,

0, otherwise.

4.5.2 Time window preprocessing

Given the precedence relations in PALL, a rank ordering of the jobs in V

can be determined via a topological sort, where ri is the rank of job i and

ri < rj for all j ∈ V such that (i, j) ∈ PALL. For a detailed description

of rank ordering see Section 5.3.1, where this concept is described in the

context of a construction heuristic for the SOP.

In order of increasing rank, the release date of each job can be updated

according to the set of its strict predecessors. This procedure is shown in

Algorithm 5.

Similarly, in order of decreasing rank, the due date of each job can be up-

dated according to the set of its strict successors. This procedure is shown

in Algorithm 6.

If at least one time window update was made by UpdateReleaseDates(⇀R)

and/or UpdateDueDates(↼R), additional time window precedences may ex-

Page 124: New data generation and solution techniques for the

94 FORMULATIONS OF THE SOP-TW

ist, thus P TW and PALL may need to be updated. If P TW and PALL

are updated, then additional time window updates may be possible. Con-

sequently, several preprocessing iterations may be required. However, by

performing the time window updates according to a rank ordering and us-

ing the set of all strict predecessors/successors, the process of updating the

time windows is efficient, thus minimising the number of iterations required.

Algorithm 5: Procedure UpdateReleaseDates(rank ordering⇀R)

Input: An increasing rank ordering of the jobs in V based on PALL,⇀

R

Output: Updated release dates (if any)

initialiseai ← ai ∀i ∈ Vσ(i)← {j ∈ V : (i, j) ∈ PALL} ∀i ∈ V // set of successors of i

for i←⇀

R (1) to⇀

R (n) do

for j ∈ σ(i) do

if aj < ai + αij thenaj ← ai + αij

return ai ← ai ∀i ∈ V

Algorithm 6: Procedure UpdateDueDates(reverse rank ordering↼R)

Input: A decreasing rank ordering of the jobs in V based on PALL,↼

R

Output: Updated due dates (if any)

initialise

bi ← bi ∀i ∈ Vπ(j)← {i ∈ V : (i, j) ∈ PALL} ∀j ∈ V // predecessors of j

for j ←↼

R (1) to↼

R (n) do

for i ∈ π(j) do

if bi > bj − αij then

bi ← bj − αij

return bi ← bi ∀i ∈ V

Page 125: New data generation and solution techniques for the

4.5 Data preprocessing 95

4.5.3 Creating variables and eliminating arcs

To enable efficient implementation of the solution techniques discussed in

this thesis, the smallest number of variables that model the SOP-TW should

be created and used. All three MIP models presented in this chapter contain

the binary arc variables xij , which are created via the arc set A. Instead of

starting with m = n(n+1) arcs (i.e. the complete set of arcs), A is initialised

to a set of core arcs, C, then is iteratively updated via arc elimination. Once

the set A is finalised, xij is only created if (i, j) ∈ A.

The set of core arcs, C, consists of all job-pairs (i, j) such that job j can

immediately follow job i, and is defined as follows. For all i, j ∈ V ∪ {0}such that i 6= j, (i, j) ∈ C if

• (j, i) /∈ PALL and ai + δij ≤ bj ; or

• j = 0 and σ(i) = ∅ (i.e. job i has no strict successors); or

• i = 0 and π(j) = {0} (i.e. the only predecessor of j is the dummy job).

Thus arc set A is initialised to C.

At this stage, A is likely to be significantly smaller than the complete set

of arcs. However, this set is reduced further via a number of logical deduc-

tions using PALL. In particular, the arc elimination procedures of Ascheuer

et al. [8] are invoked, namely:

(E-i) for any (i, j) ∈ A, if there exist k ∈ V such that (i, k) ∈ PALL and

(k, j) ∈ PALL (i.e. (i, k, j) is a precedence chain), then (i, j) cannot be

in any feasible solution, thus remove (i, j) from A; and

(E-ii) for any (i, j) ∈ A, and any set of k jobs, Q := {v1, . . . , vk}, where

k ≤ n − 2 and i, j /∈ Q, if all concatenations of job set Q with (i, j)

give an infeasible subpath (by violating the due date of at least one

job in each subpath), then (i, j) cannot be in any feasible solution,

thus remove (i, j) from A.

Concatenations of sequence (i, j) and job set Q := {v1, . . . , vk} are formed

by enumerating all possible permutations of set Q and then inserting the

sequence (i, j) into all possible positions of each of those permutations. For

example, let the first permutation of set Q be sequence (v1, v2, . . . , vk−1, vk).

Page 126: New data generation and solution techniques for the

96 FORMULATIONS OF THE SOP-TW

The k + 1 concatenations of (i, j) with (v1, v2, . . . , vk−1, vk) are:

(i, j, v1, v2, . . . , vk−1, vk)

(v1, i, j, v2, . . . , vk−1, vk)

(v1, v2, i, j, . . . , vk−1, vk)

...

(v1, v2, . . . , i, j, vk−1, vk)

(v1, v2, . . . , vk−1, i, j, vk)

(v1, v2, . . . , vk−1, vk, i, j)

Since Q has k! permutations and (i, j) can be inserted into k+1 positions in

each of those permutations, there are a total of (k + 1)! subpaths produced

by all concatenations of sequence (i, j) with job set Q.

When |Q| = 1 (say Q = {u}) (E-ii) says that for any i, j ∈ V such that

ai + δij ≤ bj (that is, (i, j) is pair-wise time-feasible) if there exists any

u ∈ V \{i, j} such that both subpath P1 := (i, j, u) and subpath P2 := (u, i, j)

are infeasible (by violating the due date of u in P1, and violating the due

date(s) of i and/or j in P2), then (i, j) cannot be in any feasible solution,

thus remove (i, j) from A.

When |Q| = 2 (say Q = {u, v}) (E-ii) says that for any (i, j) ∈ A, if there

exists any u, v ∈ V \{i, j} (u 6= v) such that all the subpaths

P1 := (i, j, u, v), P2 := (u, i, j, v), P3 := (u, v, i, j),

P4 := (i, j, v, u), P5 := (v, i, j, u), and P6 := (v, u, i, j)

are infeasible (by violating the due date(s) of u and/or v in P1 and P4, and

violating the due date(s) of i and/or j and/or v in P2 and P3, and violating

the due date(s) of i and/or j and/or u in P5 and P6), then (i, j) cannot be

in any feasible solution, thus remove (i, j) from A.

Although the concatenation idea presented in (E-ii) can be extended for

|Q| > 2, the number of subpaths to check increases dramatically as Q in-

creases in size, which makes complete enumeration of these subpaths very

time consuming. Consequently, |Q| ≤ 2 in this thesis.

The complete preprocessing procedure is shown in Algorithm 7.

Page 127: New data generation and solution techniques for the

4.5 Data preprocessing 97

Algorithm 7: Procedure Preprocessing(problem instance η)

Input: Problem instance η // includes TWs and precedence set P

Output: Updated time windows, PTW , PALL and arc set A

repeat Precedence and time window preprocessing

Construct PTW

Construct PALL⇀

R← rank ordering of jobs in V based on PALL

UpdateReleaseDates(rank ordering⇀

R)↼

R← reverse rank ordering of⇀

R

UpdateDueDates(rank ordering↼

R)

until time windows have not changed

Construct core arc set, C, and set A← C

// arc eliminations based on (E-i)foreach (i, j) ∈ A do

if ∃u ∈ V \{i, j} s.t. (i, u) ∈ PALL and (u, j) ∈ PALL thenA← A\(i, j)

Calculate the earliest start time (EST) for every 2, 3 and 4 job sequence:

foreach i, j ∈ V , i 6= j do

// EST at j when i immediately precedes j

EST2(i, j) = max{aj , ai + max{δij , αij}}foreach k ∈ V , k 6= i, k 6= j do

// EST at k when (i, j) immediately precedes k

EST3(i, j, k) = max{ak, EST2(i, j) + max{δjk, αjk}}foreach l ∈ V , l 6= i, l 6= j, l 6= k do

// EST at l when (i, j, k) immediately precedes l

EST4(i, j, k, l) = max{al, EST3(i, j, k) + max{δkl, αkl}}

// arc eliminations based on (E-ii), |Q| = 1foreach (i, j) ∈ A doif ∃u ∈ V \{i, j} s.t. EST3(i, j, u) > bu and

(EST2(u, i) > bi or EST3(u, i, j) > bj) thenA← A\(i, j)

// arc eliminations based on (E-ii), |Q| = 2foreach (i, j) ∈ A doif ∃u, v ∈ V \{i, j} s.t.(EST3(i, j, u) > bu or EST4(i, j, u, v) > bv) and

(EST2(u, i) > bi or EST3(u, i, j) > bj or EST4(u, i, j, v) > bv) and

(EST2(u, v) > bv or EST3(u, v, i) > bi or EST4(u, v, i, j) > bj) and

(EST3(i, j, v) > bv or EST4(i, j, v, u) > bu) and

(EST2(v, i) > bi or EST3(v, i, j) > bj or EST4(v, i, j, u) > bu) and

(EST2(v, u) > bu or EST3(v, u, i) > bi or EST4(v, u, i, j) > bj) thenA← A\(i, j)

return Time windows [ai, bi] ∀i ∈ V ; PTW ; PALL; and arc set A

Page 128: New data generation and solution techniques for the

98 FORMULATIONS OF THE SOP-TW

4.5.4 Computational study of preprocessing

The preprocessing code was implemented in Xpress Mosel Version 2.4.1 and

run in Xpress-IVE Version 1.19.01, on a Dell Latitude D620 laptop with an

Intel(R) Core(TM)2 CPU T7600 @ 2.33 GHz and 2.00GB of RAM running

Windows XP Professional SP3 (32 bits).

The preprocessing results for each data group are given in Appendix G in

Tables G.2–G.5, while the notation describing the column headings is given

in Table G.1. A breakdown of the time spent in each procedure for all prob-

lem instances is shown in Tables G.7–G.10, while the notation describing the

column headings is given in Table G.6. A statistical summary of the eight

key SOP-TW data set parameters for each data class is given in Section 3.6.

General conclusions are presented here.

As noted at the start of this section, a range of preprocessing techniques

may be applied to a SOP-TW problem instance to identify additional valid

precedence relations, and reduce the problem to a smaller equivalent prob-

lem by tightening time windows and/or reducing the arc set A. Both goals

have been achieved by applying the preprocessing procedure shown in Al-

gorithm 7. A summary of the key observations and conclusions from the

preprocessing implementation is given below.

Precedence sets P , P TW and PALL

PALL is mostly composed of arcs from P TW . This is not surprising for two

reasons. Firstly, |P | was intentionally kept relatively small; too many prece-

dences generally make a SOP-TW problem instance significantly easier to

solve. Secondly, unless the time window intervals (bi−ai for job i) are com-

paratively long and each overlap with many other jobs—which would make

finding feasible solutions easier—many time window induced precedences are

to be expected. Indeed, to ensure the methods presented in this thesis were

tested on a variety of data sets, time window variability was controlled—and

thus so was |P TW | variability—as described in Section 3.4.2.1 and shown in

Table 3.5. Evidence of success in achieving that variability is in the summary

statistics described in §3.6.1 and Figure 3.6, as well as the |P TW | columns

of Tables G.2–G.5; as desired, |P TW | decreases as γ increases.

Page 129: New data generation and solution techniques for the

4.5 Data preprocessing 99

P TW = ∅ for all BKA instances

For all BKA instances, P TW = ∅ due to the large deadlines. Consequently,

P = PALL for these data sets. Moreover, |P | is relatively big for the BKA

data sets (n = 17, mean |A| = 199, mean |P | = 83, mean |P TW | = 0, mean

|PALL| = 83), when compared with our data sets2 (e.g. over all n25 data

sets: mean |A| = 500, mean |P | = 6, mean |P TW | = 89, mean |PALL| = 95).

However, this is somewhat counteracted by the large due dates in the BKA

data sets.

Time window updates

Very few time window updates were achieved for the n25, n50 and n100 data

sets; as seen in columns a∗ and b∗ in Tables G.2-G.4, the maximum number of

updates to release dates for any data set was six, while the maximum number

of updates to due dates was five. The BKA data sets (where n = 17) had

significantly more; as seen in Table G.5, the maximum number of updates

to release dates for any data set was 12, while the maximum number of

updates to due dates was 29, which was mostly due to the large deadlines.

Precedence and time window preprocessing

Preprocessing of the precedences and time windows was very efficient: the

Iter columns in Tables G.2–G.5 show that at most two iterations of the loop

was required for any data set. This is due to the time window updates

utilising a rank ordering of the jobs, which ensured the full flow-on effect

of time window updates were captured in one iteration. A second iteration

was only required if a time window update was made in the first iteration,

as a change to time windows may result in additional precedences for P TW

and PALL.

Arc elimination

E1 is the number of arcs eliminated due to a precedence chain (E-i), E2 is the

number of arcs eliminated due to concatenation (E-ii) when |Q| = 1, E3 is

2As noted earlier, |P | was intentionally kept relatively small; too many precedences

generally make the problem instances significantly easier to solve.

Page 130: New data generation and solution techniques for the

100 FORMULATIONS OF THE SOP-TW

the number of arcs eliminated due to concatenation (E-ii) when |Q| = 2, and

|A| is the number of remaining arcs/variables after preprocessing. Table 4.1

summarises the mean number of arcs eliminated by each arc elimination

procedure, by data group; the full tables are in Appendix G.

BKA n25 n50 n100

Mean # core arcs, |C| 218.7 525.3 1,854.2 6,321.0

Mean # arcs eliminated, |E| 19.9 25.2 320.9 2,732.1

(as a % of core arcs) (9.1%) (4.8%) (17.3%) (43.2%)

Mean E1 19.9 24.7 316.3 2,717.1

(as a % of all arcs eliminated) (100%) (98.2%) (98.6%) (99.4%)

(as a % of core arcs) (9.1%) (4.7%) (17.1%) (43.0%)

Mean E2 0 0 0 0

(as a % of all arcs eliminated) (0%) (0%) (0%) (0%)

(as a % of core arcs) (0%) (0%) (0%) (0%)

Mean E3 0 0.4 4.6 15.0

(as a % of all arcs eliminated) (0%) (1.8%) (1.4%) (0.6%)

(as a % of core arcs) (0%) (0.08%) (0.2%) (0.2%)

Mean # arcs created, |A| = |C| − |E| 198.9 500.2 1,533.3 3,588.9

Table 4.1: Summary of arc elimination results by data group.

Procedure (E-i) is the most effective elimination procedure, responsible for

over 98% of all arc eliminations. Moreover, this elimination procedure is

increasingly successful at eliminating core arcs as n increases (from 4.7%

for n25 to 43% for n100). While this reflects the nature of the underlying

problem—proportionally more precedences should exist as n increases if all

other problem characteristics are unchanged—it is particularly important

for the branch-and-bound scheme discussed in Chapter 7 that all infeasible

arcs are eliminated prior to solving a problem instance.

E2=0 for all problem instances

For all problem instances, E2=0, thus the E2 column is omitted from Tables

Page 131: New data generation and solution techniques for the

4.5 Data preprocessing 101

G.2–G.5 (Appendix G). This result is primarily due to earlier preprocessing

by elimination procedure (E-i), the success of which is captured in E1.

Total arc reductions

As shown in Table 4.2, significant arc reductions are made by preprocessing,

especially as n increases. In general, the ratio of {the mean number of arcs

created} to {the complete arc set}, |A|m , reduces as n increases. Ultimately,

this arc reduction results in both fewer variables and constraints in all MIP

models tested.

BKA n25 n50 n100

Mean # arcs created, |A| 199 500 1,533 3,589

m = n(n+ 1) 306 650 2,550 10,100

Ratio |A|m 0.65 0.77 0.60 0.36

Table 4.2: Ratio of mean arcs created to the complete arc set, |A|m .

In Chapter 7 a scheduling-based branch-and-bound method is proposed, and

is investigated via a comprehensive computational study in Chapter 8. As

will be evident in Chapter 7 and noted in Section 8.5.1, this arc reduction

also significantly reduces the ultimate size of a scheduling B&B tree. The

decreasing ratio implies that, on average, proportionally fewer branches will

exist between each level of the B&B tree as n increases, though it is expected

that the mean number of branches out of each node would still increase

with n.

Preprocessing by time consumption

Table 4.3 summarises the key preprocessing times recorded and Table 4.4

shows the breakdown of time spent in each component of the preprocess-

ing procedure. The majority of preprocessing time is in TE3 and TEST ,

that is, performing the concatenation arc elimination procedure (E-ii) when

|Q| = 2, and in the associated earliest start time calculations. Both TE3

and TEST increase dramatically as n increases; calculating EST4(i, j, k, l)

for all i, j, k, l ∈ V is an O(n4) procedure (recall n = |V |) as is procedure

(E-ii) when |Q| = 2. Since EST4(i, j, k, l) is required to perform the con-

Page 132: New data generation and solution techniques for the

102 FORMULATIONS OF THE SOP-TW

catenation arc elimination procedure (E-ii) when |Q| = 2, it would be very

time consuming to perform the (E-ii) procedures on larger data sets. Given

E2=0 for all data sets and E3 is relatively small compared with E1, it is

unlikely that performing these concatenation arc elimination procedures will

be worthwhile for larger problem instances.

Notation Description

TTW Time spent constructing PTW

TALL Time spent constructing PALL

T⇀R Time spent performing rank ordering

T a∗ Time spent updating release dates

T b∗ Time spent updating due dates

TE1 Time spent eliminating arcs due to a precedence chain (E-i)

TE2 Time spent eliminating arcs due to concatenation (E-ii) where |Q| = 1

TE3 Time spent eliminating arcs due to concatenation (E-ii) where |Q| = 2

TEST Time performing EST2, EST3 and EST4 calculations defined in Alg. 7

Table 4.3: Notation for preprocessing times (all times are in seconds).

Now that all test problem instances have been preprocessed, the solution

techniques presented in this thesis will be trialled on the preprocessed in-

stances. To start, a computational study of the two compact MIPs from

Section 4.2 is presented in the next section.

4.6 Computational study of the compact formula-

tions

In this section the two compact MIPs are investigated via a computational

study. The machine and optimiser specifications used for all experiments are

given in §4.6.1. Each of the two compact MIPs are tested with the two sets of

precedence constraints: the original precedence set P , and the extended set

of precedences constructed during preprocessing PALL. A summary of the

four MIPs studied is given in §4.6.2. An investigation of the LP relaxations

of the MIPs is reported in §4.6.3, while the performance of the MIPs are

tested and compared in §4.6.4.

Page 133: New data generation and solution techniques for the

4.6 Computational study of the compact formulations 103

BKA n25 n50 n100

Mean TTW 0 <0.01 <0.01 0.01

(as a % of mean total time) (0%) (0.02%) (0.02%) (0.01%)

Mean TALL <0.001 <0.01 0.02 0.35

(as a % of mean total time) (0.28%) (0.19%) (0.21%) (0.23%)

Mean T⇀R 0.012 0.03 0.08 0.64

(as a % of mean total time) (7.59%) (3.67%) (0.78%) (0.43%)

Mean T a∗ 0.002 0.01 0.02 0.40

(as a % of mean total time) (1.34%) (1.59%) (0.20%) (0.27%)

Mean T b∗ 0.001 <0.01 0.01 0.12

(as a % of mean total time) (0.80%) (0.21%) (0.12%) (0.08%)

Mean TE1 0.004 0.05 0.16 0.64

(as a % of mean total time) (2.40%) (5.57%) (1.56%) (0.43%)

Mean TE2 0.004 0.07 0.12 1.10

(as a % of mean total time) (2.21%) (7.78%) (1.18%) (0.73%)

Mean TE3 0.095 0.54 6.69 91.42

(as a % of mean total time) (57.71%) (59.00%) (64.05%) (60.96%)

Mean TEST 0.045 0.20 3.33 55.27

(as a % of mean total time) (27.67%) (21.97%) (31.89%) (36.86%)

Mean total time 0.164 0.91 10.45 149.95

Table 4.4: Breakdown of preprocessing times by procedure (seconds).

Page 134: New data generation and solution techniques for the

104 FORMULATIONS OF THE SOP-TW

4.6.1 Machine and optimiser specifications

All code was implemented in C and compiled with Microsoft Visual Studio

2005 Version 8.0. The LPs and MIPs were solved using IBM R©ILOG R©CPLEX R© Callable Library Version 12.1 [83] on a PC with an Intel R©Xeon R©CPU 2.33 GHz and 3.25GB of RAM running Windows XP Professional SP3

(32 bits), with parameter CPX PARAM NODEFILEIND set to 3 (node files are

transferred to disk and compressed) and parameter CPX PARAM THREADS set

to 1 (CPLEX uses a single thread). All other parameters are at default

settings unless otherwise noted.

4.6.2 Summary of compact MIP methods tested

Table 4.5 provides a summary of the compact MIP methods tested, along

with a description of each method as applied to a SOP-TW instance.

Name Method with description as applied to a SOP-TW instance

M1 MIP1 Ponly: Solve MIP1 with precedence set P only (αij)

M2 MIP1 PrecAll: Solve MIP1 with precedence set PALL (αij)

M3 MIP2 Ponly: Solve MIP2 with precedence set P only (αij)

M4 MIP2 PrecAll: Solve MIP2 with precedence set PALL (αij)

Table 4.5: Summary of compact MIP methods.

Throughout this thesis, M1 will refer to Method 1 (MIP1 with P ), M2 will

refer to Method 2 (MIP1 with PALL), M3 will refer to Method 3 (MIP2

with P ) and M4 will refer to Method 4 (MIP2 with PALL).

4.6.3 LP relaxation results, discussion and conclusions

In this section the quality and speed of the LP relaxation of the four MIP

methods are reported; the raw results tables are in Appendix H. The nota-

tion used in the tables throughout this section is summarised in Table 4.6.

Page 135: New data generation and solution techniques for the

4.6 Computational study of the compact formulations 105

Notation Description

Group Data group name

AP LP relaxation of the Assignment Problem

LP1 LP relaxation of the MIP in Method 1 (MIP1 Ponly)

LP2 LP relaxation of the MIP in Method 2 (MIP1 PrecAll)

LP3 LP relaxation of the MIP in Method 3 (MIP2 Ponly)

LP4 LP relaxation of the MIP in Method 4 (MIP2 PrecAll)

#Imp > 0 Number of instances where PALL version is stronger

max. %Imp Maximum percentage improvement of LP bound by PALL version

Presolve OFF Solution time when presolve is turned off

Presolve ON Solution time when presolve is turned on∑|NZ| Total number of nonzero LP relaxation times (by method)

TOTAL Total time spent performing LP relaxations (by method)

Table 4.6: Notation for LP results tables (all times are in seconds).

4.6.3.1 LP lower bounds

The relative strength of the various MIP formulations can be evaluated by

comparing the value of the corresponding LP relaxations; since the objective

function is being minimised, each LP value provides a lower bound (LB) on

the optimal value of the MIP. If formulation F1 always yields a larger LB

than formulation F2, then F1 is a stronger formulation than F2.

For the four MIP methods in Table 4.5, there are two factors that affect the

strength of the LB: the underlying MIP model (that is, MIP1 or MIP2 )

and the underlying precedence set (that is, P or PALL). As noted in Sec-

tion 4.2.3, MIP2 is expected to provide stronger lower bounds than MIP1.

Since P ⊆ PALL, a formulation with precedence set PALL is expected to be

stronger than the same formulation with precedence set P . The quality of

these two strengthenings on the four data groups is now discussed.

P vs. PALL

Table 4.7 shows the relative improvement gained by using PALL (as in M2

and M4) rather than P (as in M1 and M3). Since P = PALL for the BKA

data sets (noted in Section 4.5.4) this row of the table is not applicable

Page 136: New data generation and solution techniques for the

106 FORMULATIONS OF THE SOP-TW

(NA). For the other data groups (n ≥ 25), many problem instances were

strengthened by using PALL rather than P ; when MIP1 was the underlying

MIP, the percentage of instances that had a better LB due to PALL were

49%, 70% and 95% for n25, n50 and n100, respectively. Similarly, when

MIP2 was the underlying MIP, the percentage of instances that had a better

LB were 52%, 73% and 97% for n25, n50 and n100, respectively.

MIP1 : LP2−LP1 MIP2 : LP4−LP3

Data group #Imp > 0 max. %Imp #Imp > 0 max. %Imp

BKA (35 instances) NA NA NA NA

n25 (90 instances) 44 (49%) 0.274 47 (52%) 0.258

n50 (60 instances) 42 (70%) 0.118 44 (73%) 0.213

n100 (60 instances) 57 (95%) 0.064 58 (97%) 0.073

Table 4.7: Relative improvement gained by using PALL (as in M2 and M4)

rather than P (as in M1 and M3), by data group.

Even though the percentage of instances strengthened increases as n in-

creases, the size of the improvement decreases as n increases. Moreover,

since the maximum percentage improvement of any problem instance is

only 0.274%, expanding P to PALL (i.e. expanding the explicit set of prece-

dences to include all other implicit precedence relations) only offers a minor

strengthening of the underlying MIP.

Finally, it is also worth noting that the frequency and magnitude of the

strengthening on offer is approximately the same for both MIP formulations.

MIP1 vs. MIP2

The box plots3 in Figure 4.1 show the relative strength of MIP1 and MIP2

LP lower bounds. In each subplot, box plot 1 shows the percentage im-

provement of MIP2 over MIP1 when the precedence set is P , while box

3These box plots were generated in MATLAB Version 7.11.0.584 (R2010b) with default

settings. The edges of a box are the 25th and 75th percentiles (q1 and q3, respectively),

and the line within a box is the median. The default maximum whisker length is 1.5,

thus data points are marked as outliers if they are greater than q3 + 1.5(q3 − q1) or less

than q1− 1.5(q3− q1). The end point of each whisker is the most extreme data point not

classified as an outlier.

Page 137: New data generation and solution techniques for the

4.6 Computational study of the compact formulations 107

plot 2 shows the percentage improvement of MIP2 over MIP1 when the

precedence set is PALL. As seen in Table 4.7, the improvement gained by

using PALL rather than P is less than 0.3% for all problem instances, thus

there is very little difference between the two box plots in each subplot.

0

5

10

15

1 2

Perc

enta

geim

prov

emen

tM

IP1

vs M

IP2

(b) n25

0

2

4

6

8

1 2

Perc

enta

geim

prov

emen

tM

IP1

vs M

IP2

(c) n50

0

1

2

3

4

5

6

1 2

Perc

enta

geim

prov

emen

tM

IP1

vs M

IP2

(d) n100

0

200

400

600

800

1 2

(a) BKA

Perc

enta

geim

prov

emen

tM

IP1

vs M

IP2

Figure 4.1: Relative strength of MIP1 and MIP2 LP lower bounds. Sub-

plots are arranged by data group: (a) BKA, (b) n25, (c) n50, and (d) n100.

Entries in box plot 1 of each subplot are calculated as 100(LP3−LP1LP1 ), i.e. per-

centage improvement of MIP2 over MIP1 when precedence set is P ; entries

in box plot 2 of each subplot calculated as 100(LP4−LP2LP2 ), i.e. percentage

improvement of MIP2 over MIP1 when precedence set is PALL.

As noted in Section 4.2.3, MIP2 is expected to provide stronger lower bounds

than MIP1. As can be seen in Figure 4.1, the minimum percentage improve-

ment is greater than, but close to, zero for all four data groups, as expected.

The fact that the minimums are close to zero indicates that for some problem

instances within each data group, there is very little difference in the lower

Page 138: New data generation and solution techniques for the

108 FORMULATIONS OF THE SOP-TW

bounds of the two underlying MIPs. Interestingly, the maximum percentage

improvement decreases as n increases; this indicates that the difference in

the relative strength of the two MIPs diminishes as n increases.

For n ≥ 25, the median is close to 2%: 1.5%, 1.9% and 2.3% for n25,

n50 and n100, respectively. In other words, the LP relaxation of MIP2

is at most 2.3% stronger than the LP relaxation of MIP1 for 50% of the

problem instances. In contrast, the median for the BKA data group is

almost 18% and the range is almost 820%; this is unsurprising given the very

weak AP relaxations (evident in Table H.5) that underpin MIP1 and MIP2,

proportionally larger |P | compared to our data sets (noted in Section 4.5.4),

as well as the large deadlines in the BKA data sets.

4.6.3.2 LP solve times

For each method, the LP relaxation was solved twice: once with CPLEX

presolve turned off, and again with presolve turned on. The total number

of nonzero4 LP relaxation times are shown in Table 4.8, and the total time

spent performing the LP relaxations are shown in Table 4.9. As anticipated,

the solve times with presolve on are significantly faster than the solve times

with presolve off.

The number of nonzero LP relaxation times often increases when PALL is

used instead of P , regardless of presolve and the underlying MIP model.

Moreover, the number of nonzero LP relaxation times almost always in-

creases when MIP2 is used instead of MIP1, regardless of presolve and the

underlying precedence set. These observations are also true for the total LP

solve times; using PALL and\or MIP2 significantly increases the total solve

time of the LP relaxations.

4.6.3.3 Summary of the LP results

Throughout Section 4.6.3, the quality and speed of the LP relaxation of each

of the four compact MIP methods has been tested. In terms of LB quality,

expanding P to PALL only offered a minor strengthening of the underlying

MIP; even though the percentage of instances strengthened increased with

4Some LP relaxation times are so fast they are reported as zero seconds.

Page 139: New data generation and solution techniques for the

4.6 Computational study of the compact formulations 109

Presolve OFF Presolve ON

Data group AP LP1 LP2 LP3 M4 AP LP1 LP2 LP3 LP4

BKA (35 instances) 0 2 2 30 30 0 0 0 1 1

n25 (90 instances) 9 27 18 90 90 2 0 5 3 3

n50 (60 instances) 11 57 60 60 60 2 4 2 6 10

n100 (60 instances) 25 60 60 60 60 1 12 14 20 36∑|NZ| (out of 245) 45 146 140 240 240 5 16 21 30 50

Table 4.8: Total number of nonzero LP relaxation times by data group.

Presolve OFF Presolve ON

Group AP LP1 LP2 LP3 LP4 AP LP1 LP2 LP3 LP4

BKA 0 0.03 0.03 0.52 0.52 0 0 0 0.02 0.02

n25 0.14 0.42 0.28 4.09 5.53 0.03 0 0.08 0.05 0.05

n50 0.17 0.97 1.56 29.41 59.88 0.03 0.06 0.03 0.09 0.16

n100 0.39 3.89 8.72 170.55 820.41 0.02 0.19 0.22 0.31 0.58

TOTAL 0.70 5.31 10.59 204.57 886.34 0.08 0.25 0.33 0.47 0.81

Table 4.9: Total LP relaxation times (seconds) by data group.

n, the size of the improvement decreased as n increased. Indeed, since

the maximum percentage improvement of any problem instance was only

0.274%, PALL offered very little improvement for the extra time required.

This was especially true for MIP2 ; for example, with presolve off, the time

to solve all instances with MIP2 and precedence set PALL is 886.34 seconds,

compared with 204.57 seconds for MIP2 and precedence set P (presolve on:

0.81 seconds and 0.47 seconds, respectively).

As expected, MIP2 did provide stronger lower bounds than MIP1 for many

instances. This was particularly noticeable for the BKA data sets. For

each of the other data groups, the LP relaxation of MIP2 was at most 2.3%

stronger than the LP relaxation of MIP1 for 50% of the problem instances.

The maximum percentage improvement in the LB decreased as n increased,

so the difference in the relative strength of the two MIPs diminished as n

increased. Futhermore, since the time to solve MIP2 significantly increased

as n increased, the overall benefit (a trade-off between quality and speed)

of using MIP2 rather than MIP1 diminished as n increased.

As an example, consider the times and LBs of the n100 instances: the total

LP solve time of all 60 instances (presolve off) are 3.89 seconds (M1: MIP1

Page 140: New data generation and solution techniques for the

110 FORMULATIONS OF THE SOP-TW

with P ), 8.72 seconds (M2: MIP1 with PALL), 170.55 seconds (M3: MIP2

with P ) and 820.41 seconds (M4: MIP2 with PALL). Despite a significant

increase in solve time, the LBs provided by M2 are at most 0.064% stronger

than those provided by M1, while the LBs provided by M4 are at most

0.073% stronger than those provided by M3. Similarly, the LBs provided by

M3 and M4 are at most 6.5% stronger than those provided by M1 and M2

but take significantly longer to solve.

4.6.3.4 LP conclusions

As noted at the start of this chapter, at least one MIP formulation is re-

quired for use in the B&B method proposed in Chapter 7. In particular, an

LP relaxation of a MIP will be solved at every node of a B&B tree. Conse-

quently, the LP relaxation must be fast-solving. Based on the results of this

section, the LP relaxation of Method 1 (MIP1 with precedence set P ) is the

most likely candidate for this purpose. This is supported by the evidence in

Figures 8.2 and 8.3 where Methods 2, 3 and 4 are also trialled within the

B&B method.

As will be shown in Section 8.5, on average, more than 10,000 LPs are solved

for each n25 and BKA data set, and 100,000s of LPs are solved for each

n50 and n100 data set. Consequently, even a small increase in LP solve time

will have a massive impact on the total solve time of the B&B scheme. This

demonstrates why—in this context—the speed of the LP relaxation is more

important than the strength. Indeed, unless the LBs are very strong—which

would significantly increase the LP solve time—not many B&B nodes will

be pruned by these LBs (for example, see Table 8.15 on page 273).

Finally, since the LP solve times with presolve on are significantly faster,

presolve will remain on—for both LPs and MIPs—for the remainder of this

thesis.

4.6.4 MIP results, discussion and conclusions

In this section the performance of the MIP methods are tested and com-

pared.

Page 141: New data generation and solution techniques for the

4.6 Computational study of the compact formulations 111

4.6.4.1 Time limits for MIP runs

Since each MIP will take considerably longer to solve than the corresponding

LP relaxation, time limits that depend on problem size are imposed; these

time limits are summarised in Table 4.10. The maximum solve time is

set to 1,800 seconds for each method when applied to each BKA and n25

problem instance; this ensures that most of these instances can be solved to

optimality. As the difficulty of solving a problem instance generally increases

non-linearly in n, the limit is set to 22.368n ln(n) for n ≥ 25 (as opposed to

linear limit = 72 n; 22.368 is the constant that achieves limit = 1,800 for

n25). While most n50 and n100 instances could not be solved to optimality

within the limit, the limit was sufficient to ensure that the performance of

the methods tested could be compared and reasonable conclusions drawn.

Data group names BKA n25 n50 n100

Time limit (CPU seconds) 1,800 1,800 4,375 10,300

Table 4.10: Time limit for each method tested (per instance) by group.

4.6.4.2 Comparing solver performance using performance pro-

files

Throughout this thesis performance profiles [84] are used to compare the

relative performance of various methods (solvers) on the problem instances

described in Section 3.5. For each method being tested, a performance profile

graphically describes the proportion of problem instances (y-axis) that are

within a certain ratio (x-axis) of the best method; the definition of best may

vary, although it is usually in terms of solve time or solution quality.

Solve times. When performance is measured by solve time, the comput-

ing time required to solve problem p with solver s, given by tp,s, is com-

pared to the best time of any solver on problem p. Consequently, Dolan and

More [84] define the time-based performance ratio of solver s on problem p

as

rp,s =tp,s

min{tp,s : s ∈ S}(4.15)

Page 142: New data generation and solution techniques for the

112 FORMULATIONS OF THE SOP-TW

where S is the set of all solvers being compared. By definition, rp,s ≥ 1.

To evaluate the effectiveness of solver s ∈ S across a set of problem instances,

P, Dolan and More define the cumulative distribution function for the time-

based performance ratio, ρs, such that for solver s

ρs(τ) =1

|P|size{p ∈ P : rp,s ≤ τ} (4.16)

is the probability that performance ratio rp,s is within a factor of τ ∈ R of

the best ratio. In other words, it is the proportion of problems that s can

solve, if for each problem, solver s is given τ times the minimum solve time

required. The probability that solver s is the fastest solver is given by ρs(1).

When graphed (for example, see Figure 4.3 on page 114) the performance

of different solvers are easily compared; for small ratios, solvers with high

cumulative probabilities indicate relative success. Moreover, if the plot for

solver s1 is always strictly behind the plot for solver s2 (e.g. compare the

plot of Method 7 with the plot of Method 5 in Figure 8.2 on page 234) then

solver s1 is always outperformed by solver s2.

Lower bounds. For data sets where all solvers time out, the time-based

performance ratio as given in (4.15) is not useful. Consequently, we define

the value-based performance ratio of solver s on problem p as

rp,s = 100× LBp − LBp,s

LBp

where LBp,s is the lower bound at termination for solver s on problem p,

and LBp = max{LBp,s : s ∈ S} is the best lower bound at termination of

any solver in S for problem p. By definition, rp,s ≥ 0 as the lower bound gap

for the best solver will be zero. As per (4.16), the cumulative distribution

function of rp,s is defined as

ρs(τ) =1

|P|size{p ∈ P : rp,s ≤ τ}. (4.17)

The probability that solver s terminates with the largest lower bound is

given by ρs(0).

Page 143: New data generation and solution techniques for the

4.6 Computational study of the compact formulations 113

4.6.4.3 Results for BKA data group

Since P = PALL for the BKA data sets (noted in Section 4.5.4) Method 1

is equivalent to Method 2, and Method 3 is equivalent to Method 4. As a

result, only Methods 1 and 3 are referred to in this section. The time-based

performance profile comparing the two MIP methods is shown in Figure 4.2.

0 2 4 6 8 10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Time/BestTime

Pro

port

ion o

f in

sta

nces

Method 1

Method 3

Figure 4.2: Performance profile for the BKA instances, Methods 1 and 3.

All instances were solved to optimality within the time limit of 1,800 seconds,

except for one dataset (#15) on Method 1. For this problem instance, the

IP gap was 20.92%, however the best upper bound was the optimal value,

thus the gap was due to the lower bound.

Method 1 was the best solver on 29% of the problems (10 out of 35) while

Method 3 was the best solver on 71% of the problems (25 out of 35). Con-

sequently, Method 3 outperformed Method 1, as is evident in Figure 4.2.

This is in line with the LP results presented in Section 4.6.3, where the LP

relaxation of MIP2 was more than 18% stronger than the LP relaxation

of MIP1 for 50% of the problem instances, and was 820% stronger on one

problem instance. In contrast, the median was close to 2% for each of our

three data groups, indicating that the relative performance of MIP2 over

MIP1 may not be similar for our data sets; indeed, this is evident in the

next section.

Page 144: New data generation and solution techniques for the

114 FORMULATIONS OF THE SOP-TW

4.6.4.4 Results for n25 data group

Almost all instances were solved to optimality for most methods. However,

two of the 90 problem instances (n25 1, #1; n25 7, #2) were not solved to

optimality within the 1,800 second time limit by any of the four methods.

The relative performance of the four MIP methods on the remaining 88

instances are compared via a time-based performance profile as shown in

Figure 4.3.

0 2 4 6 8 10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Time/BestTime

Prop

ortio

n of

inst

ance

s

Method 1Method 2Method 3Method 4

Figure 4.3: Performance profile for the n25 instances, Methods 1–4.

Based on the performance profile, MIP1 (M1 and M2) outperforms MIP2

(M3 and M4); MIP1 delivers the best solve time for 90.9% of instances.

Comparing the effect of precedence set, MIP1 with precedence set P out-

performs MIP1 with precedence set PALL (47.7% for M1 compared with

43.2% for M2); similarly, MIP2 with precedence set P outperforms MIP2

with precedence set PALL (5.7% for M3 compared with 3.4% for M4).

Several problem instances were not solved to optimality within the 1,800

second time limit. In particular, of the 90 instances tested, Methods 1 and

2 both had four instances time out, while Method 3 and 4 both had five

instances time out. The unrestricted solve time of these instances are in

Table 4.11, where T Mi is the MIP solve time for method i; “NA” indicates

that the solve time for that (instance, method) combination are less than

1,800 seconds.

Page 145: New data generation and solution techniques for the

4.6 Computational study of the compact formulations 115

Class # & name Data set # M1 M2 M3 M4

1, n25 1 1 8,443.56 12,981.84 7,121.23 3,807.70

2, n25 2 4 NA NA 1,918.09 NA

2, n25 2 8 5,582.14 6,805.73 NA NA

6, n25 6 1 2,094.41 NA 12,395.56 8,172.75

6, n25 6 5 NA NA NA 1,834.84

7, n25 7 2 3,646.92 4,822.98 12,559.28 16,385.83

9, n25 9 5 NA 6,472.83 NA NA

9, n25 9 10 NA NA 1,953.95 2,623.19

Table 4.11: MIP solve times that exceed 1,800 seconds for n25 instances.

The results in Table 4.11 demonstrate that some instances are significantly

harder to solve than others. Moreover, these unrestricted solve times are

provided so that other methods presented later in this thesis can be com-

pared to the worst case MIP results; see Section 8.3.2 (page 236).

4.6.4.5 Results for n50 data group

Table 4.12 summarises the solution status of the 60 problem instances for

each of the four MIP methods at termination, where OPT is the number

of instances solved to optimality, FEAS is the number of instances that

terminate with at least one feasible solution found but optimality was not

proved, and NO SOL is the number of instances where no feasible solution

was found.

Status at termination

OPT FEAS NO SOL

Met

hod

M1 0 5 55

M2 2 12 46

M3 0 1 59

M4 0 1 59

Table 4.12: Solution status summary for the n50 data sets (60 instances).

Page 146: New data generation and solution techniques for the

116 FORMULATIONS OF THE SOP-TW

From Table 4.12 it is clear that none of the MIPs were successful at consis-

tently finding a feasible solution within the time limit, though MIP1 (M1

and M2) did outperform MIP2 (M3 and M4).

For instances where no feasible solution was found, the quality of the LB

at termination can be compared, as shown in Figure 4.4 for all 60 of the

n50 instances. For all instances, the method with the worst lower bound

is always within 6.5% of the best lower bound for that problem instance;

Figure 4.4 shows that M4 has the maximum LB gap. Overall, MIP1 (M1

and M2: 63.3%) outperforms MIP2 (M3 and M4: 36.7%) in LB quality

at termination. Individually, each method terminated with the best LB as

follows: M1, 25.0%; M2, 38.3%; M3, 28.3%; and M4, 8.3%.

0 1 2 3 4 5 6 70

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Percentage LB gap from best LB, 100*(BestLB−LB)/(BestLB)

Prop

ortio

n of

inst

ance

s

Method 1Method 2Method 3Method 4

Figure 4.4: Comparison of lower bound quality for all n50 instances.

4.6.4.6 Results for n100 data group

None of the n100 problem instances solved to optimality within the time

limit for any method. Moreover, no feasible solutions were found for any

instance with any method prior to termination. Figure 4.5 illustrates the

quality of the lower bounds at termination for all 60 of the n100 instances.

For all n100 instances, the method with the worst lower bound is always

within 4.3% of the best lower bound for that problem instance. Overall,

MIP1 (M1 and M2: 81.7%) outperforms MIP2 (M3 and M4: 18.3%) in LB

Page 147: New data generation and solution techniques for the

4.6 Computational study of the compact formulations 117

quality at termination. Individually, each method terminated with the best

LB as follows: M1, 38.3%; M2, 43.3%; M3, 15.0%; and M4, 3.3%.

0 1 2 3 4 5 6 70

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Percentage LB gap from best LB, 100*(BestLB−LB)/(BestLB)

Prop

ortio

n of

inst

ance

s

Method 1Method 2Method 3Method 4

Figure 4.5: Comparison of lower bound quality for all n100 instances.

CPLEX’s default working memory is 128MB; when the size of the tree ex-

ceeds 128MB, some nodes are transferred to node files which are compressed

and stored in memory (i.e. the default setting of CPX PARAM NODEFILEIND

is 1). To extend memory without increasing working memory, we set pa-

rameter CPX PARAM NODEFILEIND to 3 so that node files are transferred to

disk and compressed. Even then, CPLEX ran out of memory on the fourth

instance of class n100 3 with Method 3 after 3270.09 seconds, terminat-

ing with no feasible solutions. No doubt, many other 100 job (instance,

method) combinations would run out of memory if given unrestricted time

limits. As a result, methods which attempt to either run to optimality or

terminate with at least one feasible solution within a reasonable time limit

are sought in the remainder of this thesis. These MIP results will be used

as a benchmark for those new methods.

4.6.4.7 Summary of the MIP results

While the MIP results were promising for n25 and the BKA data sets,

the MIPs proved to be highly unsuccessful at finding a feasible solution

within the time limit for the 50 and 100 job problem instances. In the

original problem that motivated this thesis, many SOP-TWs will need to be

Page 148: New data generation and solution techniques for the

118 FORMULATIONS OF THE SOP-TW

solved so faster solution techniques are required. This motivates the need

for other solution techniques that can find feasible solutions quickly and

prove optimality within a reasonable amount of time. Several methods that

attempt to meet both of these goals are presented in the following chapters.

4.7 Chapter summary and an overview of

solving the SOP-TW

In this chapter, three integer programming formulations of the SOP-TW

were presented, and the merits and drawbacks of each formulation were

discussed. To aid efficient implementation of the compact formulations and

the other solution techniques to come, a data preprocessing routine was also

presented, along with a computational study that showed the efficacy of the

routine.

A computational study of the compact formulations evaluated four MIP

methods and their LP relaxations, where each of the two compact MIPs

was solved with each of the two sets of precedence relations, P and PALL.

As noted at the start of this chapter, at least one MIP formulation is re-

quired for use in the B&B method proposed in Chapter 7. In particular, an

LP relaxation of a MIP will be solved at every node of a B&B tree. Con-

sequently, the LP relaxation must be fast-solving. Based on the results of

this chapter, the LP relaxation of Method 1 (MIP1 with precedence set P )

is the most likely candidate for this purpose.

While the MIP results were initially promising for the n25 and BKA data

sets, the MIPs proved to be highly unsuccessful at finding a feasible solution

within the time limit for the 50 and 100 job problem instances. This moti-

vates the need for other solution techniques that can find feasible solutions

quickly and prove optimality within a reasonable amount of time.

There are many Operations Research techniques—both heuristic and exact—

worth applying to solve the SOP-TW. Several heuristics for finding feasible

solutions to the SOP-TW are presented in Chapter 5. In Chapter 6, these

heuristics will be shown to be much more effective than the pure MIPs,

though they still struggle to find feasible solutions for very large problem

Page 149: New data generation and solution techniques for the

4.7 Chapter summary and an overview of solving the SOP-TW 119

instances (when n is 100). Instead, a more promising B&B approach based

on scheduling is pursued in Chapter 7, and investigated via a comprehensive

computational study in Chapter 8.

Many other optimisation techniques are also worthy of investigation. No-

tably, branch-and-cut [85]—a hybrid of cutting plane methods and branch-

and-bound—is a technique that has been successfully applied to many prob-

lems, including the ATSP-TW [8, 39]. One advantage of a branch-and-cut

scheme is that it can be faster than a pure LP-based B&B scheme. How-

ever, we decided against implementing branch-and-cut for several reasons.

Predominantly, it can be very time-consuming to implement and requires

highly sophisticated programming skills. Instead, we believe that success

can be more readily—and simply—attained by exploring a more natural

scheduling-based B&B approach, which is discussed in Chapter 7.

Page 150: New data generation and solution techniques for the

120 FORMULATIONS OF THE SOP-TW

Page 151: New data generation and solution techniques for the

Chapter 5

HEURISTICS

A number of heuristics for finding feasible solutions to the SOP-TW are presented in

this chapter. Firstly, an insertion-based construction heuristic is given. A family of

IP-based heuristics for finding feasible solutions faster is also proposed. An extensive

computational study of the heuristics is presented in the next chapter.

5.1 Introduction

“Modern heuristic search methods” [86] defines a heuristic as follows:

A heuristic technique (or simply, a heuristic) is a method

which seeks good (i.e. near-optimal) solutions at a reasonable

computational cost without being able to guarantee optimality,

and possibly not feasibility. Unfortunately, it may not even be

possible to state how close to optimality a particular heuristic

solution is.

Despite the absence of quality and feasibility guarantees, heuristics can be

extremely important. For example, heuristics are often incorporated within

an exact method, such as branch-and-bound (B&B). At the root node, a

good feasible solution can be used for reduced-cost variable fixing; this re-

duces the size of the linear program at the root, which may ultimately lead

to considerable time savings. Similarly, a heuristic may be called at other

nodes within the B&B tree to seek a good feasible solution that can be

121

Page 152: New data generation and solution techniques for the

122 HEURISTICS

used to prune nodes; this will reduce the size of the tree and may signif-

icantly reduce total solve time. Naturally, a trade-off occurs between the

cost (usually time) of using a heuristic which has no guarantees, compared

with the potential benefit of finding a feasible solution. As will be shown

in Sections 6.4, 6.5 and 8, computational experiments may help to identify

circumstances where the inclusion of a particular heuristic is worthwhile.

A primal heuristic is a method that attempts to find integer feasible solu-

tions. While some primal heuristics are designed to find feasible solutions

for a specific problem, others are generic procedures that can be applied to

a variety of different problems. Examples of the latter type include the Fea-

sibility Pump [87], Relaxation Induced Neighborhood Search (RINS) [88],

and Local Branching [89]. For an overview of a variety of primal heuristics

for mixed integer programs see Berthold [90]. See the main literature review

in Section 2.4 for the most relevant heuristic references for the ATSP-TW,

SOP-TW and similarly difficult related problems.

It is worth noting that some primal heuristics—such as Local Branching and

RINS—try to improve an existing feasible solution. Since finding feasible

solutions is particularly difficult for large SOP-TW instances, we focus in-

stead on heuristic methods that attempt to find an initial feasible solution,

that is, heuristics which do not rely on a feasible solution as a starting point.

The remainder of this chapter is organised as follows. Firstly, in Section 5.2

two types of partial schedules are described; these will be used in the

construction heuristic (§5.3) and the scheduling-based branch-and-bound

scheme (Chapter 7). In Section 5.3 construction heuristics are discussed

and an insertion-based construction heuristic for the SOP-TW is presented.

In Section 5.4 an IP-based heuristic is given. This heuristic solves a modi-

fied MIP which acts as a surrogate of the equivalent true MIP. When tuned

appropriately, the modification acts like a catalyst, often enabling feasible

solutions to be found faster than solving the equivalent true MIP. The trade-

off is solution quality; the surrogate MIP has a modified objective function,

so any feasible solutions are likely to be suboptimal. An extensive compu-

tational study of these heuristics is performed in Chapter 6, along with a

discussion of key findings and suggestions for further work on heuristics for

the SOP-TW.

Page 153: New data generation and solution techniques for the

5.2 Partial schedules 123

5.2 Partial schedules

Recall that a solution to the SOP-TW is a permutation of the jobs in the

set V , also known as an ordering or schedule (these terms will be used

interchangeably). Not all permutations are feasible solutions to the SOP-

TW. However, as shown in Section 2.1, the earliest start time of each job in

a given permutation can be calculated sequentially. The permutation is a

feasible ordering of the jobs if the associated start time of each job is within

its time window while simultaneously satisfying all precedence relations.

Since an ordering of the jobs may be constructed in stages, an incomplete

ordering (an ordering that does not contain all of the jobs in V ) may be

constructed. An incomplete ordering can also be called a partial schedule.

As with a complete schedule, an earliest possible start time for each job in

a partial schedule can be calculated assuming that the jobs appear in that

order in the final schedule. In this thesis, a partial schedule is considered

feasible if the associated start time of each job in the partial schedule is

within its time window while simultaneously satisfying all precedence rela-

tions. In some cases it may be appropriate to only require the precedence

relations to be satisfied, where one or both jobs of a precedence-pair are in

the partial schedule, but this will be noted where appropriate (such as in

Section 5.3.2.1).

A forward partial schedule is an incomplete ordering of the jobs in V , where

it is assumed that these jobs will exactly form the beginning of a com-

plete schedule. Thus any additions to a forward partial schedule will al-

ways be added to the end of the incomplete schedule. For example, if⇀S= (v1, v2, . . . , vm−1, vm) is a forward partial schedule with m jobs, then the

first m jobs in the final (complete) schedule will be (v1, v2, . . . , vm−1, vm).

Thus the m-th job added to a forward partial schedule will always be placed

in the m-th position of the complete schedule. This type of partial sched-

ule is used extensively in the scheduling-based branch-and-bound scheme

presented in Chapter 7.

Consider partial schedule S = (v1, v2, . . . , vm−1, vm) where vi is the job in

the i-th position and m < n. If unscheduled job j may be inserted between

any two jobs already in the schedule (so not necessarily into position m+ 1),

then adjacent jobs in the original partial schedule are not assumed to stay

Page 154: New data generation and solution techniques for the

124 HEURISTICS

adjacent if the partial schedule is updated. In this thesis, this type of partial

schedule is called an insertion partial schedule, and is used extensively in

Section 5.3.

5.3 Construction heuristics

As noted in Section 2.3, the SOP-TW is an NP-hard problem; even finding a

feasible solution is NP-complete in the strong sense. Despite this, heuristics

can be devised that attempt to “construct” a feasible solution for a SOP-

TW problem instance. Such algorithms, which use a series of steps and

rules to guide the generation of a feasible solution, are called construction

heuristics. For a minimisation problem, the cost of such a solution provides

an upper bound on the optimal cost. This solution and the upper bound

it provides can then be used in a number of ways, including within other

solution techniques.

If feasibility rather than optimality is the goal, a construction heuristic en-

ables the generation of a feasible solution in a systematic way. If achieving

an optimal (or near optimal) solution is the goal, a feasible solution can

provide a valuable upper bound. This upper bound can then be used within

another solution technique, for example as a cutting plane applied at the

root node of a B&B tree. This extra cut may lead to a reduction in the size

of the B&B tree and/or a faster solution time. Alternatively, information

derived from a different solution method, such as a partial solution, may be

used as input to a construction heuristic.

To demonstrate how a partial solution could be used to generate an upper

bound on the SOP-TW, consider the following example. At a node of a

B&B tree, say node i, branching information that has led to the LP at node

i can be retrieved. In other words, at this node i, the decision variables that

have been fixed and the values these variables have been fixed to can be

determined. Not all variables will be fixed, so this is only a partial solution.

However, this partial solution may be used as input to an appropriate con-

struction heuristic. If a feasible schedule is successfully constructed based

on this partial solution, the cost of the schedule is an upper bound on the

integer problem at node i and all of its descendant nodes. As with a root

Page 155: New data generation and solution techniques for the

5.3 Construction heuristics 125

node cut, this may aid with pruning a B&B tree, and thus reducing the size

of the B&B tree, leading to integer solutions more quickly.

5.3.1 Two rank ordering construction heuristics for the SOP

The search for a SOP-TW construction heuristic starts by looking at con-

struction heuristics for related problems. As shown in Section 2.2, one re-

laxation of the SOP-TW is the SOP (ATSP-PC). A feasible solution for the

SOP is an ordering of the jobs that respects all precedence relations. The

precedence relations can be represented by a precedence graph: each vertex

represents a job, while an arc between two vertices, say (i, j), indicates job

i must precede job j. A non-zero value on the arc, say αij , indicates by

how much i must precede j. Clearly, for a SOP instance to have a feasible

solution, the precedence graph must be acyclic.

Perhaps not surprisingly, it is easy to find a feasible solution to the SOP, if

one exists. A simple construction heuristic for the SOP begins with a given

precedence graph of a SOP instance, followed by a topological sort of the

vertices. This produces a rank ordering of the vertices, where the rank of

vertex i, ri, is the maximum number of precedence arcs in a directed path

that ends at vertex i. By sequencing the vertices—which represent jobs—

in ascending rank order (i.e. all vertices of lesser rank must be sequenced

before vertices of higher rank) a feasible solution for the SOP instance is

constructed.

An alternative ordering—which we name backward rank ordering—is where

the backward rank of vertex i, ri, is the maximum number of precedence

arcs in a directed path that starts at vertex i. By sequencing the vertices

in descending backward rank order (i.e. all vertices of higher backward rank

must be sequenced before vertices of lesser backward rank) a feasible solution

for the SOP instance is constructed.

An example of a SOP precedence graph with both rank and backward rank

shown on each vertex is given in Figure 5.1. A table summarising the value

of the ranks and backward ranks is given in Table 5.1, where R(i) is the set

of jobs with rank i, and R(i) is the set of jobs with backward rank i.

Page 156: New data generation and solution techniques for the

126 HEURISTICS

2

3

7

4

6

9

10

1

5 8

0,3 1,2

0,2

0,1 1,0

1,0

2,1 3,0

0,1 1,0

i1,0

LEGEND

Rank of node i

Backward rankof node i

Figure 5.1: A precedence graph for a SOP problem instance, with ranks.

i R(i) R(i)

0 {1,3,4,5} {6,8,9,10}

1 {2,6,8,10} {3,5,7}

2 {7} {2,4}

3 {9} {1}

Table 5.1: Rank and backward rank orderings of the vertices in Figure 5.1.

Page 157: New data generation and solution techniques for the

5.3 Construction heuristics 127

Given the precedence graph in Figure 5.1, all solutions of the form

permutation

of the jobs

in R(0)

,

permutation

of the jobs

in R(1)

,

permutation

of the jobs

in R(2)

,

permutation

of the jobs

in R(3)

are feasible solutions to the SOP; for example, (1, 3, 4, 5, 2, 6, 8, 10, 7, 9) and

(3, 5, 4, 1, 6, 10, 8, 2, 7, 9). Some solutions not of this form are also feasible;

for example, S = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) also obeys all precedence relations,

even though the corresponding ranks are r(S) = (0, 1, 0, 0, 0, 1, 2, 1, 3, 1).

Similarly, all solutions of the form

permutation

of the jobs

in R(3)

,

permutation

of the jobs

in R(2)

,

permutation

of the jobs

in R(1)

,

permutation

of the jobs

in R(0)

are feasible solutions to the SOP; for example, (1, 2, 4, 3, 5, 7, 6, 8, 9, 10) and

(1, 4, 2, 5, 7, 3, 10, 8, 9, 6). As before, some solutions not of this form are

also feasible; for example, S = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) also obeys all prece-

dence relations, even though the corresponding backward ranks are r(S) =

(3, 2, 1, 2, 1, 0, 1, 0, 0, 0).

Although these two very simple construction heuristics are guaranteed to

generate a feasible solution for feasible SOP instances, it is non-trivial to

incorporate additional steps to allow for time windows on jobs, as neces-

sary for a construction heuristic for the SOP-TW. As noted by Ascheuer,

Fischetti and Grotschel [8, p. 477], the difficulty in solving the ATSP-TW,

another relaxation of the SOP-TW, is extremely dependent on the structure

of the time windows. Consequently, although these or other SOP heuristics

can be adapted so they try to respect time windows as well as precedence

relations, they cannot guarantee that the resulting solution is feasible with

respect to the time windows of general SOP-TW problem instances. This

highlights why finding a feasible solution to the SOP-TW is NP-complete

in the strong sense.

Page 158: New data generation and solution techniques for the

128 HEURISTICS

5.3.2 An insertion order heuristic for the SOP-TW

In this section a SOP-TW construction heuristic based on a construction

heuristic for the ATSP-TW by Nikolakopoulos and Sarimveis [9] is pre-

sented. The algorithm is built upon the idea of an insertion order, which is

a permutation of the jobs to be scheduled, denoted by ω = (ω1, ω2, . . . , ωn).

Given an insertion order ω, jobs are sequentially inserted into an incomplete

schedule, S′, with the aim of constructing a full, feasible schedule.

To insert the i-th job, ωi, into partial schedule S′ (where (i − 1) jobs have

been successfully inserted into S′) the range of precedence-feasible insertion

positions are identified, that is, positions in S′ such that inserting job ωi

would respect all precedence relations involving job ωi and jobs already in

S′. The heuristic is greedy by inserting job ωi into the best of these positions,

where best means the position that has the smallest impact on the cost of

the new partial schedule that includes ωi. If inserting job ωi in the best

position will lead to a time window violation,1 ωi is not inserted into that

position and the next best insertion position is considered for job ωi. If

job ωi cannot be inserted into any position in S′ without violating at least

one precedence relation or time window constraint, the insertion order ω

cannot lead to a feasible schedule. The pseudo code for this procedure,

InsertionAlgorithm, is described in Algorithm 8; the details for inserting

a job into a partial schedule, InsertNextJob, is given in Algorithm 9. A

detailed description of the procedure and notation is given in Section 5.3.2.1.

To ensure an infeasible insertion order is detected as early as possible in

the algorithm, and infeasible partial schedules are not generated unneces-

sarily, it is important to use the complete set of all explicit and implicit

precedences—PALL—when inserting the next job. This is discussed in de-

tail in Section 5.3.2.4.

5.3.2.1 A detailed description of the insertion order algorithm

In this section the main components of InsertionAlgorithm (Algorithm 8,

page 129) and InsertNextJob (Algorithm 9, page 130) are discussed.

1Since waiting is permitted for early arrivals, a time window violation is caused by a

job’s earliest start time exceeding the latest start time deadline.

Page 159: New data generation and solution techniques for the

5.3 Construction heuristics 129

Algorithm 8: Procedure InsertionAlgorithm(insertion order ω)

Input: Insertion order, ω = (ω1, . . . , ωn) // n jobs to be scheduled

Output: Status (success or fail), and—if success—one feasible schedule and its cost

initialise

S ← void, z(S)← +∞ // empty schedule

S′ ← (v0 = depot, v1 = ω1, vn+1 = depot) // initial partial schedule

Nsch ← 1 // number of jobs successfully inserted into S′

repeat insert next unscheduled job into partial schedule S′

w ← ωNsch+1 // next job to insert based on insertion order ω

if procedure InsertNextJob(S′, w) returns success then

// job w was successfully inserted into current partial schedule

Nsch ← Nsch + 1

else

status ← fail // insertion order ω was unsuccessful

until fail to insert a job or all jobs are successfully inserted (i.e. Nsch = n)

if Nsch = n then

// A full, feasible schedule was constructed

S ← S′, z(S)← cost of S

status ← success // insertion order ω was successful

return status, S, z(S)

Page 160: New data generation and solution techniques for the

130 HEURISTICS

Algorithm 9: Procedure InsertNextJob(partial schedule S′, next job w)

Input: Current partial schedule S′ = (v0, v1, . . . , vk−1, vn+1); next job to insert, w

Output: Status (success or fail), and—if success—the updated partial schedule

initialiselast predecessor of w in S′, π(w)← v0, with position index ι(π(w))← 0

first successor of w in S′, σ(w)← vn+1, with position index ι(σ(w))← n+ 1

BadPositions← ∅ // set of positions w cannot be inserted

foreach i ∈ {1, . . . , k − 1} do ESTvi ← earliest start time of job vi in S′

foreach i ∈ {1, . . . , k − 1} doif (vi, w) ∈ PALL then

π(w)← vi, ι(π(w))← i // job vi is a predecessor of w

else if (w, vk−i) ∈ PALL then

σ(w)← vk−i, ι(σ(w))← k − i // job vk−i is a successor of w

// initialise the range of positions for inserting job w into S′

Λ← {ι(π(w)), . . . , ι(σ(w))− 1} // Λ will always have at least one element

foreach i ∈ Λ do

∆i = svi,w + sw,vi+1 − svi,vi+1 // cost of inserting job w after job vi

repeat attempt to insert job w into S′

// set start times to the last values accepted, given by EST

foreach i ∈ {1, . . . , k − 1} do T (vi)← EST (vi)

// the best position available is m+ 1, i.e. after job vm

m = argmini∈Λ\BadPositions{svi,w + sw,vi+1 − svi,vi+1}// calculate T (w) and recalculate T (vi) for each i = m+ 1, . . . , k − 1

T (w)← earliest start time of job w if inserted in position m+ 1

foreach i ∈ {m+ 1, . . . , k − 1} doT (vi)← new earliest start time of job vi if w is inserted in position m+ 1

if inserting job w into position m+ 1 causes a time window violation then

// T (w) > bw and/or T (vi) > bvi for at least one i ≥ m+ 1

BadPositions← BadPositions ∪ {m} // disallow position after job vm

else

// inserting job w into position m+ 1 is feasible, so update S′

// move each job after position m+ 1 up one position

foreach i = k + 1, . . . ,m+ 2 do vi ← vi−1

vm+1 ← w // insert job w into position m+ 1

// update start time of each job in the partial schedule

foreach i ∈ {m+ 1, . . . , k} do EST (vi)← T (vi)

status ← success // job w was successfully inserted into S′

until successfully insert job w or |Λ| = |BadPositions|if |Λ| = |BadPositions| then

// could not insert job w so insertion order ω was unsuccessful

S′ ← void, status ← fail

return status, S′

Page 161: New data generation and solution techniques for the

5.3 Construction heuristics 131

Initialisation: insert first job so v1 = ω1.

To initialise the partial schedule S′, the first non-trivial job in the schedule

is set to the first job in the insertion order. That is, let

S′ = (v0 = depot, v1 = ω1, vn+1 = depot)

be the first partial schedule, where the depot is a dummy start and finish

job. The cost of this partial schedule is

sv0,v1 + pv1 + sv1,vn+1 = sdepot,ω1 + pω1 + sω1,depot,

where pvi is the processing time of job vi and svi,vi+1 is the sequence-

dependent setup time between job vi and job vi+1. Since the depot job

is a dummy job, sdepot,vi = svi,depot = 0 for all i ∈ {1, . . . , n}.

Insert second job from insertion order, ω2.

The next job to be inserted is ω2. If there is no precedence relation between

ω1 and ω2 (i.e. (ω1, ω2), (ω2, ω1) 6∈ PALL) there are two possible positions to

insert ω2 into S′, namely before ω1 or after ω1. Let Λ be the set of possible

insertion positions in S′ for the new job so that a given m ∈ Λ means the

new job will be inserted after job vm in the current incomplete schedule S′.

Thus for new job ω2, Λ = {0, 1}, as ω2 could be inserted after v0 or v1.

The cost of these two options are pω2 + sω2,ω1 + pω1 and pω1 + sω1,ω2 + pω2 ,

respectively. Since the aim is to minimise the cost of the final schedule,

the heuristic is greedy at each step by choosing the new schedule with the

smallest increase in cost. Consequently, the change in cost of each schedule

is evaluated, and the schedule with the smallest change is selected:

min{(pω2 + sω2,ω1 + pω1)− pv1 , (pω1 + sω1,ω2 + pω2)− pv1}

= min{(pω2 + sω2,ω1 + pω1)− pω1 , (pω1 + sω1,ω2 + pω2)− pω1}

= min{pω2 + sω2,ω1 , sω1,ω2 + pω2}.

Since pω2 is common to both values, this is equivalent to selecting the new

insertion position based on min{sω2,ω1 , sω1,ω2}.

Generalisation: determine insertion position for job k.

In general, there are many more possible insertion positions to choose from,

so the change in cost is more complicated. Recall from §2.1 (page 18) that

Page 162: New data generation and solution techniques for the

132 HEURISTICS

δij := pi+sij is the minimum time delay between starting job i and starting

job j. With δvi,vi+1 = pvi + svi,vi+1 and Λ as the set of possible insertion

positions in S′ for job ωk of the insertion order ω, the smallest change in

cost of inserting job ωk into S′ is given by:

mini∈Λ{δvi,ωk + δωk,vi+1 − δvi,vi+1}

= mini∈Λ{(pvi + svi,ωk) + (pωk + sωk,vi+1)− (pvi + svi,vi+1)}

= mini∈Λ{svi,ωk + pωk + sωk,vi+1 − svi,vi+1}.

Since pωk will be in all terms, this is equivalent to selecting the insertion

position based on the position that gives

mini∈Λ{svi,ωk + sωk,vi+1 − svi,vi+1}.

Thus, in general, node ωk is inserted after node vm in S′, where

m = argmini∈Λ{svi,ωk + sωk,vi+1 − svi,vi+1}.

Allowing for precedences: determine the range of precedence-

feasible insertion positions.

In the small example of trying to insert job ω2 into the initialised schedule

S′ = (v0 = depot, v1 = ω1, vn+1 = depot), it was assumed there was no

precedence between ω1 and ω2. If there is a precedence relation between ω1

and ω2, say (ω1, ω2) ∈ PALL, then there is only one position to insert ω2,

that is after ω1, so v2 = ω2. Conversely, if (ω2, ω1) ∈ PALL, then ω2 must

be inserted before job ω1, that is v1 = ω2 and ω1 is moved to position v2 in

the new partial schedule.

In general, to ensure each new job added to S′ satisfies all precedence re-

lations, the last predecessor and first successor of that job in S′ is deter-

mined. This gives the range of precedence-feasible insertion positions for

the new job. Specifically, when the k-th job ωk is to be inserted, sequen-

tially check if (vj , ωk) or (ωk, vj) is in PALL, from j = 1 to j = |S′| − 2. If

(vj , ωk) ∈ PALL, then update the last predecessor of ωk, π(ωk), to vj (with

position index ι(π(ωk)) = j, where ι(a) is the position index of job a in S′).

If (ωk, vj) ∈ PALL, then set the first successor of ωk, σ(ωk), to vj (with

position index ι(σ(ωk)) = j), and stop.2 Thus only positions in the range

2By checking precedences sequentially from j = 1 to j = |S′| − 2, as soon as the first

Page 163: New data generation and solution techniques for the

5.3 Construction heuristics 133

{ι(π(ωk)), . . . , ι(σ(ωk)) − 1} are considered when attempting to insert the

new job ωk. If ωk has no successors in S′, the first successor of ωk is set

to vn+1 (the depot), i.e. σ(ωk) = vn+1 and ι(σ(ωk)) = |S′|. Similarly, if ωk

has no predecessors in S′, the last predecessor of ωk is v0 (the depot), i.e.

π(ωk) = v0 and ι(π(ωk)) = 0.

Checking time feasibility of an insertion.

After the k-th job ωk has been inserted into position vm (where 1 ≤ m ≤ k),

the time feasibility of the new partial schedule S′ is checked (where |S′| =

k + 2 ≤ n+ 2, as S′ always includes the depot as the dummy start and end

jobs). Specifically, the earliest start time for each job vi, T (vi), is calculated

and checked for feasibility, sequentially from vm to vk. There is no need

to check jobs before vm as the earliest start times of those jobs must have

been feasible for the previous partial schedule to have been accepted. If the

current job, say job vi (m ≤ i ≤ k), is arrived at before its release date,

avi , the earliest start time at job vi is initially set to the release date, i.e.

T (vi) = avi and updated for any precedence delay, i.e. T (vi) ≥ T (vl) +αvlvifor all l < i such that (vl, vi) ∈ PALL. If the earliest start time is later

than the due date bvi , i.e. T (vi) > bvi , then the time window for job vi

is violated, and this partial schedule is infeasible. Thus job ωk cannot be

inserted into position vm, and so this position is now disallowed and ωk is

removed from position vm. If there were other possible insertion positions for

ωk, ωk is inserted into the next best position and this new partial schedule

is re-tested for time feasibility.

When a job cannot be feasibly inserted into a partial schedule.

If ωk cannot be inserted without violating a time window or precedence

relation, the current insertion order is infeasible and must be rejected. A

new insertion order must be generated, and the process is repeated until

a full, feasible schedule is constructed, or some other stopping criterion

terminates the process (e.g. the maximum number of attempts is reached,

or a time limit is exceeded).

successor is found, the range of precedence-feasible insertion positions for new job ωk is

known; using PALL ensures that if (ωi, ωj) ∈ P and (ωj , ωk) ∈ P then (ωi, ωk) ∈ PALL,

and so ωi cannot be inserted into partial schedule S′ after job ωk.

Page 164: New data generation and solution techniques for the

134 HEURISTICS

Generating insertion orders.

Although any permutation of the jobs {1, 2, . . . , n} is an insertion order,

there are several orderings of the jobs that may be more likely to lead to

the construction of a feasible schedule. For example, jobs can be sorted

according to (1) increasing release dates, (2) increasing due dates, or (3)

increasing time window midpoints (where the midpoint is ai+bi2 for each job

i)3. For all of our implementations we have used random insertion orders

(i.e. random permutations of the jobs {1, 2, . . . , n}) to ensure our results

are unbiased. The proportion of insertion orders that lead to a feasible

schedule is also recorded as this gives an indication of the abundance of

feasible solutions as a proportion of all permutations.

5.3.2.2 Key modifications to the insertion order algorithm

While our InsertionAlgorithm is similar to that of Nikolakopoulos and

Sarimveis [9], some aspects of the implementation are quite different.

Firstly, Nikolakopoulos and Sarimveis [9] do not allow waiting: for each job

i ∈ V , the start time of job i in the current schedule, ti, must be in [ai, bi],

where ti is calculated such that the machine is never idle (i.e. only processing

jobs or setting up between jobs). Consequently, a schedule where ti < ai for

some i ∈ V , is infeasible; since we permit waiting (i.e. allow the machine to

be idle) we would set ti = ai so such a schedule may be feasible.

Secondly, to allow for the differences between the ATSP-TW and the SOP-

TW, our insertion algorithm must explicitly allow for all precedence relations

and the associated precedence delays.

Finally, Nikolakopoulos and Sarimveis set the first two non-trivial jobs in

the schedule to the first two jobs in the insertion order. It is not clear why

this is done, as this will immediately make some insertion orders infeasible.

For example, if (i, j) ∈ PALL and ω1 = j and ω2 = i, this insertion order

can never generate a feasible schedule under this scheme. To avoid this, we

3Due to time window preprocessing (§4.5.2), the midpoints of the time windows may

no longer correspond to the midpoints of the time windows generated by the random data

generator in Section 3.2.6, that is, the basis from which a feasible solution does exist for

each data set generated. Thus, if no time window preprocessing has occurred, the schedule

given by jobs sorted by time window midpoints is guaranteed to be feasible.

Page 165: New data generation and solution techniques for the

5.3 Construction heuristics 135

only insert the first job into the first partial schedule, so we do not discard

insertion orders unnecessarily.

5.3.2.3 Using the insertion order algorithm

Unsurprisingly, for reasons noted in Section 5.3.1, the InsertionAlgorithm

cannot guarantee a feasible schedule will be constructed for all insertion

orders. However, the algorithm can be repeated with different insertion

orders until a feasible schedule is obtained or a predetermined number of

insertion orders each fail to produce a feasible schedule. This procedure,

named RepeatInsAlg, is shown in Algorithm 10.

Algorithm 10: Procedure RepeatInsAlg(AttemptLimit)

Input: Maximum number of insertion orders to try, AttemptLimit

Output: Status (success or fail), and—if success—one feasible schedule and its cost

initialise

S ← void, z(S)← +∞ // empty schedule

Nfail ← 0 // fail counter

repeat attempt to construct one feasible schedule using InsertionAlgorithm

Generate a new random insertion order, ω // a random permutation of the jobs

if InsertionAlgorithm(ω) returns success then

// a feasible schedule was constructed using ω

S ← feasible schedule, z(S)← cost of S

status ← successelse

// insertion order ω was unsuccessful

Nfail ← Nfail + 1

until a feasible schedule is constructed or Nfail = AttemptLimit

if Nfail = AttemptLimit then

// AttemptLimit insertion orders did not generate a feasible schedule

status ← fail

return status, S, z(S)

While the InsertionAlgorithm is locally greedy when inserting the next

job, if the algorithm yields a feasible schedule, the schedule is likely to be

suboptimal. This is due to the fact that the objective is the sum of the

sequence-dependent setup times; since jobs are successively inserted into lo-

cally optimal positions that satisfy precedence and time window constraints,

early decisions that appear to be good may actually restrict choices later.

Page 166: New data generation and solution techniques for the

136 HEURISTICS

Consequently, it may be desirable to generate a pool of feasible solutions,

from which the best found can be used, or traits of feasible solutions may be

examined. Thus, we propose that RepeatInsAlg be called repeatedly by the

ConstructionHeuristic until at least one stopping criterion is satisfied, as

shown in Algorithm 11. Potential stopping criteria include: iteration limit;

failed iteration limit; solution pool size; and, a time limit.

As the computational results in Section 6.4 show, a framework that allows

for repeated attempts is particularly important when trying to find feasible

schedules for difficult SOP-TW problem instances, but is still insufficient for

very difficult instances.

5.3.2.4 A note on using PALL in InsertNextJob

To appreciate the importance of using PALL—the set of all explicit and im-

plicit precedence relations—in InsertNextJob (thus InsertionAlgorithm),

an example where only explicit precedences are checked and enforced is pre-

sented. This example will demonstrate that using PALL avoids unnecessary

computational work, and insertion orders are not discarded unnecessarily.

Consider a SOP-TW instance with five jobs, V = {1, 2, 3, 4, 5}, and ex-

plicit precedence set P = {(1, 2), (2, 3)}; note the implicit precedence (1, 3).

Given insertion order ω = (3, 1, 4, 5, 2), the initial partial schedule is S′ =

(depot, 3,depot). By considering explicit precedences only, job 1 can be

inserted either before or after job 3, as P does not contain the implicit

precedence (1, 3). The insertion position that yields the smallest impact on

the cost of the new partial schedule is chosen. Thus if s31 ≤ s13, job 1 is

inserted after job 3: the new partial schedule is S′ = (depot, 3, 1,depot),

which respects the explicit precedences (1, 2) and (2, 3). However, since

these precedences imply that job 1 must precede job 3, S′ cannot lead to

a feasible complete schedule. Unfortunately, the infeasibility is only de-

tected when trying to insert job 2—the final job in the insertion order—as

job 2 cannot be inserted without violating one of the precedence relations.

Computational time has been wasted coming to this conclusion, and inser-

tion order ω is now discarded as it cannot deliver a feasible schedule using

InsertionAlgorithm. In contrast, by using PALL = {(1, 2), (1, 3), (2, 3)} in-

stead of P = {(1, 2), (2, 3)}, it is clear from the outset that job 1 can only

Page 167: New data generation and solution techniques for the

5.3 Construction heuristics 137

Algorithm 11: Heuristic procedure to construct feasible SOP-TW solu-

tions, ConstructionHeuristic(η,Runs,Fails,SolnTarget,Attempts,Time)

Input: A SOP-TW problem instance, η; maximum number of iterations to perform,

Runs; maximum number of iterations allowed to fail before stopping, Fails;

maximum number of unique feasible solutions to construct, SolnTarget;

maximum number of insertion orders to try at each iteration, Attempts;

maximum run time allowed , T ime (CPU seconds)

Output: Status (success or fail at finding at least one feasible schedule), and—if

success—all schedules found, including the best feasible schedule

initialise

S∗ ← void, z(S∗)← +∞ // incumbent best solution is an empty schedule

SolnPool← void // pool of unique feasible solutions is empty

// stopping criteria counters

Iter ← 0 // iterations counter

NumEpicFails← 0 // failed iterations counter

NumSolns← 0 // unique feasible solution counter

repeat attempt to construct feasible schedules using RepeatInsAlg

// repeat until Runs iterations have been performed or Fails iterations

have failed to produce a feasible solution or SolnTarget unique

feasible solutions have been found or T ime CPU seconds used

Iter ← Iter + 1

if RepeatInsAlg(Attempts) returns success then

// a feasible schedule was constructed, given by S with cost z(S)

status ← success

if the schedule S is new thenNumSolns← NumSolns+ 1

SolnPool← SolnPool + S // add S to the solution pool

if z(S) < z(S∗) then

S∗ ← S, z(S∗)← z(S) // update the incumbent as S is better

else

// Attempts insertion orders did not yield a feasible schedule

NumEpicFails← NumEpicFails+ 1

until Iter = Runs or NumEpicFails = Fails or NumSolns = SolnTarget or T ime

if NumSolns = 0 then

// a total of Fails×Attempts random insertion orders did not generate a

feasible schedule for SOP-TW problem instance η

status ← fail

return status, SolnPool, S∗, z(S∗)

Page 168: New data generation and solution techniques for the

138 HEURISTICS

be inserted before job 3. Consequently, an infeasible partial schedule is not

created from the outset, and ω might still lead to a feasible schedule using

InsertionAlgorithm.

This small example demonstrates the importance of using all implicit prece-

dences in the InsertionAlgorithm. The two main benefits are (1) compu-

tational time is not wasted creating partial schedules that will ultimately

be infeasible, and (2) an insertion order is not rejected that may otherwise

lead to a feasible schedule.

In the next section, an entirely different type of heuristic for finding feasible

solutions is presented. Unlike the construction heuristic—which was tailored

to the SOP-TW—a more general IP-based heuristic is described that can

be applied to a broad class of IP problems that includes the SOP-TW. A

computational study of both heuristics will be presented in the next chapter.

5.4 Symmetry-breaking heuristics

Symmetry is a type of invariance that arises in several areas of mathematics,

including mathematical programming. In general terms, a mathematical

object has symmetry if it does not change under certain transformations.

Symmetries are present in many combinatorial problems—including within

solutions and between solutions—and often contribute to the difficulty of

solving those problems. However, identifying and eliminating symmetries

can reduce the solution space to be searched, and thus help to solve large

problem instances more quickly.

Recall that the solution structure of the SOP-TW contains two key compo-

nents: a vehicle routing component and a scheduling component, together

denoted (π, T (π)). The routing component, permutation π = (π1, . . . , πn),

defines the order to perform jobs. The scheduling component, denoted here

by vector T (π) = (Tπ1 , . . . , Tπn), defines the start time of each job in the

permutation. The cost of permutation π, z(π) =∑n

i=0 sπi,πi+1 , is the sum

of the sequence-dependent setup cost between each pair of jobs in the per-

mutation.

Given a solution of the structural routing variables (e.g. the x variables in

Page 169: New data generation and solution techniques for the

5.4 Symmetry-breaking heuristics 139

the three MIPs of Chapter 4 that implicitly define π), the scheduling deci-

sions can be implied: we can “step through” permutation π to sequentially

calculate the times that constitute the scheduling decisions. Let EST (π)

denote the earliest start time vector for permutation π, where the earliest

start time calculation is given by Equation 2.1 (§2.1, page 20).

This equation explicitly calculates the earliest feasible start time for each

job. However, there may be some flexibility in the choice of times; for a given

π, increasing the values of some start times may not change the feasibility,

cost or fundamental structure of the solution. Since the time variables are

not part of the cost function, this can be viewed as a type of symmetry in

the solution space. This idea is demonstrated in the following examples.

Consider the problem instance shown in Figure 5.2: V = {1, 2, 3, 4}; pro-

cessing times p2 = 2 and pi = 1 for i ∈ {1, 3, 4}; precedence set P = {(1, 4)}with precedence delay α14 = 3; and time windows and setup times

TW =

2 8

0 10

5 10

4 12

and s =

− 1 1 1

2 − 1 1

1 1 − 1

− 1 1 −

.

For brevity, the depot is omitted as values associated with the depot are

zero.

Soln # Solution (π, T (π)) z(π)∑Tπi T (π) = EST (π)?

(i) ((1,2,3,4),(2,4,7,9)) 3 22 Yes

(ii) ((1,2,3,4),(4,6,9,11)) 3 30 No

(iii) ((1,3,2,4),(2,5,7,10)) 3 24 Yes

(iv) ((2,3,1,4),(0,5,7,10)) 3 22 Yes

(v) ((2,1,3,4),(0,4,6,8)) 4 18 Yes

Table 5.2: Some time feasible solutions for the symmetry examples.

Example 1. Symmetry within a solution.

Permutation π = (1, 2, 3, 4) has cost z(π) = 3; the earliest start time of

each job is given by EST (π) = (2, 4, 7, 9), and corresponds to solution (i)

in Table 5.2 and Figure 5.3. However, there are many other feasible start

Page 170: New data generation and solution techniques for the

140 HEURISTICS

3

41

2

1,2,8

2,0,10

1,4,12

1,5,10

Processing time

Time window}

12

1

11

11

11

Setup time

(a) Network graph.

41 3

Precedence delay

(b) Precedence graph.

Figure 5.2: Graphs and data for the symmetry examples.

Time

a2 a3a4a1 b4b2 ,b3b1

0 1 2 3 4 5 6 7 8 9 10 11 12

s12p1 p2 p3 p4s23 s34

s12p1 p2 p3 p4s23 s34

s13p1 p2p3 p4s24s32

s13p1p2 p3 p4s21 s34

s14p1p2 p3 p4s23 s31

(i)

(ii)

(iii)

(iv)

(v)

Figure 5.3: Solution schedules.

Page 171: New data generation and solution techniques for the

5.4 Symmetry-breaking heuristics 141

times for each job; solution (ii) is one alternative option. Since π allows many

feasible options for the time variables, this example demonstrates one type

of solution space symmetry which is formally described in Definition 1. �

Definition 1. Solutions (π,EST (π)) and (π, T (π)) are structurally sym-

metric feasible solutions if time feasible permutation π (defined on page 20)

with earliest start times EST (π) has alternative feasible start times T (π)

such that EST (πi) 6= T (πi) for at least one i ∈ V .

Another type of symmetry is highlighted in the next example.

Example 2. Symmetry between solutions.

Given two permutations, say π1 and π2, where π1 6= π2 but z(π1) = z(π2),

these permutations are “equally good”. However, the earliest start time of

each job in the two permutations may be different, so this demonstrates

another type of symmetry; while the cost of each permutation may be the

same, the two underlying solutions have differences. For example, com-

pare solutions (i) and (iii) in Table 5.2 and Figure 5.3: π1 = (1, 2, 3, 4),

π2 = (1, 3, 2, 4) and z(π1) = z(π2) = 3. However, EST (π1) 6= EST (π2) and∑Tπ1

i<∑Tπ2

i. This symmetry between solutions is formally described in

Definition 2. �

Definition 2. Solutions (π1, T (π1)) and (π2, T (π2)) are cost symmetric

feasible solutions if π1 and π2 are time feasible permutations, π1 6= π2 and

z(π1) = z(π2).

Another example of this type of symmetry is given in the next example.

Example 3. Symmetry between solutions, again.

Both solutions (i) and (iv) have the optimal cost (z = 3) and the same sum

of the start times (∑T = 22). However, the solution schedules have several

key differences which are visible in Figure 5.3: in solution (iv), the first job

starts earlier, the last job starts later, and there are two idle periods (the

first wait is for job 3 to be released, while the second wait is due to the

precedence delay between jobs 1 and 4). These differences—which may or

may not be considered desirable qualities in a solution—could be exploited

to break the solution symmetries in the cost and sum of the start times. �

The insertion order construction heuristic presented in §5.3.2 and the B&B

Page 172: New data generation and solution techniques for the

142 HEURISTICS

scheme described in Chapter 7 use the earliest start time calculation given

by Equation 2.1. In contrast, neither MIP1 or MIP2 (§4.2) require or

encourage jobs to start as early as possible.

To address the two types of symmetry, defined above, in MIP1 and MIP2,

we shift our attention to the time variables (t and y, respectively) that

are linked to the path-based x variables, as a means to distinguish feasible

solutions that initially appear to be the same (in terms of x in Example 1,

cost in Example 2, and cost and sum of the start times in Example 3), but

actually have implicit differences (in terms of the time variables). For both

types of symmetry, we attempt to distinguish otherwise equal solutions, via

a modified cost function with a preference for earlier start times. Before

this heuristic is described in Section 5.4.2, a brief review of recent work on

reducing symmetry is presented.

5.4.1 Related work

Symmetry is an active area of research in constraint programming. Smith

[91] identifies three key approaches for eliminating and/or reducing symme-

try and its effects:

1. remodelling to produce an inherently less symmetric model;

2. adding symmetry-breaking constraints to a model that ensure only one

solution in a set of equivalent symmetric solutions are satisfied; and

3. adding symmetry-breaking constraints during the search so that solu-

tions that are symmetric to those already considered are not investi-

gated.

For a review of constraint programming approaches to solving symmetric

problems see Gent et al. [92].

In mathematical programming, “an integer linear program (ILP) is symmet-

ric if its variables can be permuted without changing the structure of the

problem” [10]. An example of this type of symmetry is scheduling jobs on

identical machines; if S1 is the schedule for machine M1 and S2 is the sched-

ule for machine M2, processing schedule S1 on M2 and S2 on M1 will not

change the structure of the problem if M1 and M2 are identical machines.

Page 173: New data generation and solution techniques for the

5.4 Symmetry-breaking heuristics 143

Margot [10] reviews the main mathematical programming techniques that

address this type of symmetry during the solution of an ILP—perturbation,

variable fixing, symmetry breaking inequalities (SBIs), and pruning of the

enumeration tree—as well as related topics including symmetry detection.

Liberti [93, 94] proposes a method to solve symmetric mixed integer linear

programs (MILPs), nonlinear programs (NLPs) and mixed integer nonlin-

ear programs (MINLPs) faster by automatically detecting and adding static4

SBIs (SSBIs) to the original problem formulation. Given the original prob-

lem, the method automatically computes the SSBIs, which are designed

to exclude some symmetric solutions while ensuring at least one optimal

solution remains. Consequently, the reformulation can be solved via stan-

dard branch-and-bound solvers. In [93], computational results for many

MILPs and MINLPs from well known mathematical programming libraries

are given. However, Liberti notes that with only static SBIs (as opposed to

dynamic SBIs)

. . . it is not so clear that the proposed approach helps in solving

general MILPs, although we have interesting results for some

selected instances. The performance on NLPs/MINLPs, on the

other hand, is much better.

Ghoniem and Sherali [95] combine SSBIs with an objective perturbation

scheme that uses information derived from the SSBIs. Computational re-

sults for three highly symmetric applications show this combined approach

outperforms using either component on its own.

Recall that the SOP-TW is not usually5 structurally symmetric in terms

of the binary routing variables, though there may exist some symmetry

in the continuous time variables (see Example 1 and Definition 1, p.139).

Consequently, many of the techniques described in [10] are not generally

applicable to the SOP-TW. However, the simplest technique, perturbation,

is readily applicable to the SOP-TW and the two types of symmetry defined

4Static SBIs break symmetries at the modelling level, while dynamic SBIs break sym-

metries during the search process, for example, at the branching level of a B&B scheme.5It is possible to create problem instances with values of the setup times such that pairs

of jobs in a route could be exchanged with no change to the objective function. While this

is unlikely for our problem instances, the symmetry-breaking ideas described here would

still apply provided the release dates are slightly different.

Page 174: New data generation and solution techniques for the

144 HEURISTICS

in Definitions 1 and 2.

Perturbation involves changing the original problem slightly—for example,

by slightly changing the cost coefficients in the objective function—in an

attempt to break the symmetry outright or somehow account for the sym-

metry that may be present in the problem. Margot [10] makes two impor-

tant observations regarding a perturbation approach to tackling symmetry

in ILPs:

. . . adding a small random perturbation to the coefficients ci

for i = 1, . . . , n easily destroys the symmetry in the problem.

This, in general, does not help much and can even be counter-

productive.

and

Using perturbation is sometimes helpful when trying to find a

good solution, but using symmetry information is a superior ap-

proach when dealing with an infeasible problem or when proving

optimality of a solution.

Based on these observations, breaking time symmetries via perturbation may

help to find good solutions faster to feasible SOP-TW instances. However,

it will be especially important to design the perturbation so that it is not

counter-productive, that is, take even longer to find solutions than solving

the original problem directly.

Recall that a heuristic technique attempts to find good feasible solutions at

a reasonable computational cost, without guaranteeing optimality or even

feasibility. Moreover, recall that solving the compact MIPs of Chapter 4

(which are exact techniques, not heuristics) did not produce feasible solu-

tions for the vast majority of n50 and n100 instances which are known to

be feasible. Since unaddressed symmetry in the time variables may be con-

tributing to the difficulty of solving these harder instances, heuristics that

involve a perturbation to the objective function are proposed in the next

section.

Recall from Section 4.2 that the routing and time variables are only weakly

linked via constraints in both compact MIPs. Consequently, the time sym-

metry can be captured and destroyed by incorporating the time variables

Page 175: New data generation and solution techniques for the

5.4 Symmetry-breaking heuristics 145

directly in the objective function of both MIPs. The proposed perturbations

to the cost coefficients will not be random, rather they will be scaled to the

problem instance in an attempt to improve the likelihood of finding feasible

solutions. The modified MIPs—the perturbation heuristics—can be solved

with a commercial integer programming solver, just as for Methods 1 to 4.

For the perturbation heuristics to be considered useful, feasible solutions

will need to be found for a larger proportion of the hard problem instances,

within a reasonable computation time. Indeed, if there is any benefit from

a perturbation heuristic, it suggests that time symmetries do contribute to

the difficulty of solving the SOP-TW.

These perturbation heuristics are a much simpler approach compared with

other symmetry-breaking techniques. Moreover, they build on the results of

the previous chapter by modifying existing MIPs, and incorporate ideas used

in the other methods proposed in this thesis, such as the use of the earliest

start times, ESTs, used in the construction heuristic and the scheduling-

based branch-and-bound scheme which will be presented in Chapter 7. While

this perturbation approach does not reduce the solution space, it does shift

the objective function. Consequently, otherwise symmetric solutions will

be valued differently as a means to distinguish them, rather than explicitly

excluding symmetric solutions.

5.4.2 An IP-based perturbation heuristic for generating fea-

sible solutions

In Sections 4.6.4.5 and 4.6.4.6, the computational results showed that the

four MIP methods of Chapter 4 were highly unsuccessful at finding a feasible

solution within the time limit for the 50 and 100 job problem instances. Since

a solution approach that does not allow for symmetries may spend precious

computation time exploring essentially equivalent solutions, we devise an

IP-based heuristic that attempts to reduce the impact of these symmetries

on the MIPs, and thus act as a catalyst to obtain feasible solutions faster.

Recall MIP1 (§4.2.1). In this model, the x and t variables are weakly linked

via time-delay constraints (4.3):

ti + δij − (1− xij) ·Mij ≤ tj , ∀(i, j) ∈ A, j 6= 0.

Page 176: New data generation and solution techniques for the

146 HEURISTICS

The x and y variables are more strongly linked in MIP2 (§4.2.2) via con-

straints (4.8) and (4.9):∑i∈V

s.t.(i,j)∈A

yij +∑

i∈V ∪{0}s.t.(i,j)∈A

δij · xij ≤∑

k∈V ∪{0}s.t.(j,k)∈A

yjk, ∀j ∈ V, and

ai · xij ≤ yij ≤ bi · xij , ∀(i, j) ∈ A, i 6= 0.

Since the true objective function for both MIPs is to minimise the total

setup time between consecutive jobs, given by min∑

(i,j)∈A sijxij , this ob-

jective function does not explicitly drive the choice of the time variables.

In contrast, our IP-based heuristic involves an explicit time dependence in

the objective function: solve MIP1 and/or MIP2 with a modified objective

function that explicitly includes a time penalty. The new objective function

is called a surrogate cost function, as it is a substitute for the true cost.

While many penalty schemes are possible we investigate our IP-based heuris-

tic using the simple surrogate objective functions shown below:

COST MIP OBJECTIVE FUNCTION

true MIP1 & MIP2 z(x) =∑

(i,j)∈A sijxij

surrogate MIP1 only z1(x, t) = z(x) +∑

i∈V βti, where β ≥ 0

surrogate MIP2 only z2(x, y) = z(x) +∑

(i,j)∈A βyij , where β ≥ 0

The surrogate MIPs will explicitly preference earlier start times when β > 0,

and thus attempt to reduce both types of solution symmetry encountered

during the search for solutions. As a result, it is hoped that feasible solutions

will be found faster when solving the surrogate MIPs, when compared with

solving the true MIPs, MIP1 and MIP2 (equivalent to the surrogate MIPs

with β = 0).

This IP-based method can be described as a catalyst heuristic; for some

β > 0, feasible solutions may be found faster, though this is not guaranteed.

Moreover, optimal solutions of the surrogate MIPs may not be optimal solu-

tions of the true MIPs due to the modified objective function. Consequently,

the value of β should be chosen initially with the aim of finding feasible so-

lutions faster, and if successful, subsequently tuned to balance the trade-off

between speed to find feasible solutions, the number of feasible solutions

Page 177: New data generation and solution techniques for the

5.4 Symmetry-breaking heuristics 147

found, and the true-cost quality of those solutions. This is discussed in

more detail in Section 5.4.3.

For example, note that solution (v) in Table 5.2 (page 139) has the largest

cost but has the smallest sum of the start times. If the penalty used in the

catalyst heuristic is sufficiently large, this solution is more likely to be found

than solutions (i)–(iv); if β = 1, the surrogate cost of solution (v) is 22,

while the smallest surrogate cost of the other solutions is 25 for solutions (i)

and (iv).

5.4.3 Notes on implementing the catalyst heuristic

The selection of the catalyst penalty, β, is especially important as it will

influence (for better or worse):

• the speed to the first solution;

• the number of feasible solutions found; and

• the true-cost quality of those solutions.

For example, a very large penalty is unlikely to result in good quality solu-

tions; the surrogate component of the objective function will dwarf the true

cost component, such that the true cost of each solution found may be vastly

different and thus poor quality. Conversely, a very small penalty may be an

insufficient catalyst to re-direct the search of the feasible region while signif-

icantly increasing the computation time to the first solution found; however,

it may produce good quality solutions.

We test several penalties that are proportional to key data of the problem

instance being solved. In particular, the penalty β is defined as

β = ωρ

where ω is a weight from the set {0, 0.01, 0.1, 1, 5, 10} and ρ is a ratio defined

as

ρ =UB∑i∈V ai

where

UB = min

∑i∈V

maxj∈V{sij},

∑j∈V

maxi∈V{sij}

.

Page 178: New data generation and solution techniques for the

148 HEURISTICS

Note that ω = 0 corresponds to solving the corresponding true MIP, which

we include for comparison in the computational results.

The numerator of ratio ρ corresponds to a generous upper bound on the

optimal cost. The denominator of ρ is the sum of the job release dates,

which is a lower bound on the sum of the job start times. Note that all of

our data sets have multiple non-zero release dates (as evident in Figure 3.4,

page 77) so dividing by zero will not be an issue.

By including the ratio ρ in the penalty β, the weight ω is approximately

normalised; each ω will produce results that are less dependent on underlying

properties of the problem instance being solved as some of those properties

are accounted for by ρ. For example, consider the surrogate component of

the objective function for MIP1 :∑i∈V

βti =∑i∈V

ωρti = ωUB

∑i∈V ti∑i∈V ai

.

By definition ai ≤ ti for all i ∈ V , so∑

i∈V ai ≤∑

i∈V ti and∑i∈V ti∑i∈V ai

≥ 1.

Thus including the sum of the release dates in the denominator of ρ will

help scale down the influence of the start time variables in the surrogate

objective function that might otherwise overwhelm the true cost component.

How much the surrogate component influences the full surrogate objective

function can then be controlled via the weight ω. The same idea applies to

the surrogate objective function for MIP2.

The box plots in Figure 5.4 show the spread of ρ values for each of the data

classes described in Sections 3.5 and 3.6. All values are less than 0.1, and

clearly decrease as n increases. This is due to the magnitude of the release

dates in the ratio’s denominator, which clearly outweighs the upper bound

in the numerator; both the number and spread of the release dates increase

significantly as n increases, as shown in Table 3.8 (page 76) and Figure 3.4

(page 77). In contrast the values of the setup times are approximately the

same across the 21 data classes (Figure 3.8, page 79), so the value of UB

increases linearly with n.

The ρ values for the BKA data sets are in the range [0.05,0.72]; see Class 0

in Figure I.1 (page 355). These ρ values are generally larger and more

spread out as the release dates for the BKA instances are consistently much

smaller than for our problem instances (see Table F.2), while the setup times

Page 179: New data generation and solution techniques for the

5.5 Chapter summary 149

●●

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

0.02

0.04

0.06

0.08

Figure 5.4: Box plot of catalyst ratio ρ values by data class.

are generally smaller but much more variable than our setup times (see

Table F.6).

5.5 Chapter summary

In this chapter, several heuristics for finding an initial feasible solution were

presented. An insertion-based construction heuristic for the SOP-TW was

presented in Section 5.3. In Section 5.4 an IP-based heuristic was proposed,

which solves a modified MIP in an attempt to reduce the effect of symmetry

in the time variables. If successful, it will enable feasible solutions to be

found faster than solving the equivalent true MIP. A comprehensive compu-

tational study of both of these heuristic methods is performed in the next

chapter.

Page 180: New data generation and solution techniques for the

150 HEURISTICS

Page 181: New data generation and solution techniques for the

Chapter 6

COMPUTATIONAL

STUDY OF THE

HEURISTICS

In this chapter the performance of the construction heuristic and IP-based cata-

lyst heuristic are tested and compared via a comprehensive computational study.

Methods to incorporate these heuristics within a branch-and-bound scheme are con-

sidered. Finally, additional heuristics are discussed but not implemented.

In this chapter the construction heuristic and IP-based catalyst heuristic are

investigated via a computational study. The machine and optimiser speci-

fications used for all experiments are given in §6.1. A summary of the 25

heuristic variations studied is given in §6.2. A guide to the results of the

heuristic experiments, and the relative performance of all 25 heuristics across

seven key measures is reported in §6.3. Detailed results for the construction

heuristic are discussed in §6.4, while detailed results for the IP-based cata-

lyst heuristic are discussed in §6.5. A discussion of how these two heuristic

methods could be incorporated within a branch-and-bound scheme are dis-

cussed in §6.6 in anticipation of the scheduling-based B&B scheme proposed

in Chapter 7. Other heuristic techniques are briefly mentioned in §6.7. The

key findings of this chapter and suggestions for further work are given in

§6.8. A chapter summary is given in §6.9.

151

Page 182: New data generation and solution techniques for the

152 COMPUTATIONAL STUDY OF THE HEURISTICS

6.1 Machine and optimiser specifications

As in Section 4.6, the code for all heuristics were implemented in C and com-

piled with Microsoft Visual Studio 2005 Version 8.0. The modified MIPs in

the catalyst heuristic were solved using IBM R©ILOG R©CPLEX R© Callable

Library Version 12.1 on a PC with an Intel R©Xeon R© CPU 2.33 GHz and

3.25GB of RAM running Windows XP Professional SP3 (32 bits), with pa-

rameter CPX PARAM NODEFILEIND set to 3 (node files are transferred to disk

and compressed) and parameter CPX PARAM THREADS set to 1 (CPLEX uses

a single thread). All other parameters are at default settings unless oth-

erwise noted. This includes the parameter CPX PARAM MIPEMPHASIS which

was kept at default setting 0, that is, a balanced setting, as this “works

toward a rapid proof of an optimal solution, but balances that with effort

toward finding high quality feasible solutions early in the optimization” [96].

Consequently, the results from executing the modified MIPs in the catalyst

heuristic can be directly compared with the pure MIP results in Chapter 4.

6.2 Summary of heuristic methods tested

Table 6.1 provides a summary of the heuristic methods tested, along with

a description of each method as applied to a SOP-TW instance. H0 is the

construction heuristic as described in §5.3.2 (page 128). The IP-based cata-

lyst heuristic is investigated for the four MIP methods, M1–M4, studied in

§4.6 (page 102). Each MIP is tested with six different catalyst penalties that

are controlled via a weight; this results in one family of catalyst heuristics

for each MIP, where the six members of the same family differ by the weight

used to modify the MIPs objective function.

Table 6.2 shows the six weights used within the catalyst penalty βk. The first

weight, ω1 = 0, will apply no penalty; methods with this weight corresponds

to the original MIPs as per M1–M4. Recall from §3.6 that the magnitude

of the setup values (see Fig. 3.8, p.79) are significantly smaller than the

magnitude of the release dates (see Fig. 3.4, p.77). Since the catalyst penalty

is applied to the start times of the jobs in the modified objective function,

the other five weights provide a wide variety of penalties for investigation.

Page 183: New data generation and solution techniques for the

6.2 Summary of heuristic methods tested 153

Name Method with description as applied to a SOP-TW instance

H0 Construction: Run InsertionPrimalHeuristic with Runs,

Fails and SolnTarget unrestricted and Attempts=1

H1 k M1 with catalyst βk: Solve MIP1 with precedences P (αij)

and modified objective min∑

(i,j)∈A sijxij +∑

i∈V βkti

H2 k M2 with catalyst βk: Solve MIP1 with precedences PALL (αij)

and modified objective min∑

(i,j)∈A sijxij +∑

i∈V βkti

H3 k M3 with catalyst βk: Solve MIP2 with precedences P (αij)

and modified objective min∑

(i,j)∈A sijxij +∑

(i,j)∈A βkyij

H4 k M4 with catalyst βk: Solve MIP2 with precedences PALL (αij)

and modified objective min∑

(i,j)∈A sijxij +∑

(i,j)∈A βkyij

Table 6.1: Summary of heuristic methods, where k ∈ {1, . . . , 6}.

k 1 2 3 4 5 6

ωk 0 0.01 0.1 1 5 10

Table 6.2: Weights to modify objective function via catalyst penalty βk.

Data group names BKA n25 n50 n100

Run time per instance 60 60 180 300

Table 6.3: Heuristic time limits (CPU seconds) for each instance by group.

Method Minimum Median Mean Maximum # timed out

M1 1.4 38.4 195.9 1,800* 4

M2 3.2 40.2 190.0 1,800* 4

M3 7.9 119.8 360.3 1,800* 5

M4 6.8 159.9 387.3 1,800* 5

Table 6.4: MIP solve time statistics (in seconds) for the sixty n25 instances.

‘*’ indicates at least one instance timed out so was not solved to optimality.

‘# timed out’ gives the number of instances that timed out at 1,800 seconds.

Page 184: New data generation and solution techniques for the

154 COMPUTATIONAL STUDY OF THE HEURISTICS

Table 6.3 shows the run time allowed for each heuristic on each instance

within a data group. These times are significantly less than the times allowed

for the exact MIP methods (see §4.6.4.1, p.111) in recognition that these are

heuristic methods.

The time limit is set to 60 seconds for each BKA and n25 problem instance

even though exact solution methods may prove optimality for some of these

instances relatively quickly. For comparison, indicative summary statistics

on the solve times of the four MIP methods on the 90 n25 instances are

shown in Table 6.4; a maximum solve time of 1,800 seconds indicates that

at least one instance was not solved to optimality within the MIP time limit

of 1,800 seconds. For the instances not solved to optimality, the capped time

limit of 1,800 seconds was used in the calculation of the median and mean.

While most heuristic methods did not terminate with a feasible solution

within the time limit (as per Table 6.3) for many n50 instances and most

n100 instances, the limit was sufficient to ensure that the performance of

the heuristics tested could be compared and reasonable conclusions drawn.

However, for the 100-job problem instances the time limit is extended to

10,300 seconds (the same time allowed for MIPs M1–M4 as per Table 4.10,

p.111) for the construction heuristic and each catalyst heuristic with the

best weight as judged at the original n100 time limit of 300 seconds; this is

explained further in §6.5.4.

Note that catalyst penalty βk = ωkρ, where ρ ∈ R is calculated using data

from the problem instance being solved, as described in Section 5.4.3.

In total, 25 methods are tested: the construction heuristic; M1 with catalyst

βk, for k ∈ {1, . . . , 6}; M2 with catalyst βk, for k ∈ {1, . . . , 6}; M3 with

catalyst βk, for k ∈ {1, . . . , 6}; and M4 with catalyst βk, for k ∈ {1, . . . , 6}.When β is 0 (β1) there is no catalyst, thus the original (exact) MIPs are

solved as per M1–M4. Consequently, the β1 results are extensions of those

reported in Section 4.6.4 for Methods 1 to 4, and enable direct comparison

between the original MIPs and the modified MIPs.

Page 185: New data generation and solution techniques for the

6.3 Guide to results of the heuristics experiments 155

6.3 Guide to results of the heuristics experiments

As noted in Section 5.4.3, the value of the catalyst penalty influences the

speed to find solutions, as well as the quantity and true-cost quality of solu-

tions found. Consequently, the key measures of interest for each heuristic—

including the construction heuristic—are:

• number of solutions found;

• time to first solution;

• time to best true-cost solution;

• true cost of first solution;

• true cost gap of first solution (if optimal value is known);

• cost of best true-cost solution; and

• cost gap of best true-cost solution (if optimal value is known).

The results for each of these measures are summarised graphically in a series

of figures (and summarised numerically in a series of tables in Appendix I).

Each figure contains up to four subplots, where subplots are arranged by

data group such that:

• each subplot (a) contains results for the BKA problem instances;

• each subplot (b) contains results for the n25 problem instances;

• each subplot (c) contains results for the n50 problem instances; and

• each subplot (d) contains results for the n100 problem instances.

Each subplot contains up to 25 box plots, where each box plot1 corresponds

to the pooled results of the data group for a particular heuristic method;

the 25 heuristic methods and their names (used as labels) are summarised

in Table 6.1. Consequently, each subplot allows the relative performance of

the heuristic methods to be compared for each measure for each data group.

To evaluate the relative performance of the heuristics on a single measure

as the number of jobs varies, the subplots (a)–(d) within a single figure can

be compared.

1These box plots were generated in R Version 2.15.2 [75] with default settings.

Page 186: New data generation and solution techniques for the

156 COMPUTATIONAL STUDY OF THE HEURISTICS

For example, for any measure, the entries in the box plot labelled Hi k of

a subplot correspond to the results of using heuristic Hi k (the catalyst

method MIP Mi with catalyst penalty βk which has weight wk) on that par-

ticular data group, while the box plot labelled H0 contains the construction

heuristic results. Results for the catalyst heuristics are shown as a family of

up to six coloured box plots, with H1 k box plots coloured dark blue, H2 k

box plots coloured light blue, H3 k box plots coloured purple and H4 k box

plots coloured pink.

The number in the parentheses following a method name in a box plot label

is the number of elements used to construct the box plot; this corresponds to

the number of problem instances in the data group where at least one feasible

solution was found within the time limit (that is, “zeroes” as described

below are excluded). Consequently, the maximum number of elements is

the number of problem instances in each data group (Table 3.6, p.74).

Table 6.5 summarises the figure and table references of the main results

by data group. Additional results specific to the construction heuristic are

discussed in Section 6.4 and Section I.1 of Appendix I, while additional

results specific to the catalyst heuristics are discussed in Section 6.5.

Note that four variants of which results are reported for the “number of

solutions” measure are as follows:

(i) H0 box plot is included, and instances where no solutions were found—

“zeroes”—are excluded for all methods;

(ii) H0 box plot is included, and zeroes are included;

(iii) H0 box plot is excluded, and zeroes are excluded; and

(iv) H0 box plot is excluded, and zeroes are included.

As can be seen in Figures I.2a–I.2c (p.357) and Figures I.3a–I.3c (p.358),

including the H0 results overshadows the results for the other methods, so

variants which exclude H0—(iii) and (v)—allow the relative performance of

the catalyst methods to be evaluated. Similarly, including the zeroes can

distort the other results within a box plot. Consequently, variants which

exclude the zeroes—(i) and (iii)—allow the relative performance when at

least one feasible solution is found to be evaluated; for example, compare

Figure 6.2c (p.164) and Figure 6.3c (p.165), where the only difference is the

exclusion of the zeroes.

Page 187: New data generation and solution techniques for the

6.3 Guide to results of the heuristics experiments 157

BKA

n25

n50

n100

Mea

sure

sF

igu

reT

ab

leF

igu

reT

ab

leF

igu

reT

ab

leF

igu

reT

ab

le

%in

stan

ces

wit

h≥

1so

luti

on

fou

nd

,by

tim

eN

A6.6

a,

p.1

59

NA

6.6

b,

p.1

59

NA

6.6

c,p

.160

NA

6.6

d,

p.1

60

Nu

mb

erof

solu

tion

s(i

)I.

2a,

p.3

57

I.2,

p.3

59

I.2b

,p

.357

I.2,

p.3

59

I.2c,

p.3

57

I.2,

p.3

59

I.2d

,p

.357

I.2,

p.3

59

Nu

mb

erof

solu

tion

s(i

i)I.

3a,

p.3

58

I.3,

p.3

60

I.3b

,p

.358

I.3,

p.3

60

I.3c,

p.3

58

I.3,

p.3

60

I.3d

,p

.358

I.3,

p.3

60

Nu

mb

erof

solu

tion

s(i

ii)

6.2

a,

p.1

64

I.2,

p.3

59

6.2

b,

p.1

64

I.2,

p.3

59

6.2

c,p

.164

I.2,

p.3

59

6.2

d,

p.1

64

I.2,

p.3

59

Nu

mb

erof

solu

tion

s(i

v)

6.3

a,

p.1

65

I.3,

p.3

60

6.3

b,

p.1

65

I.3,

p.3

60

6.3

c,p

.165

I.3,

p.3

60

6.3

d,

p.1

65

I.3,

p.3

60

Tim

eto

firs

tso

luti

on

6.1

a,

p.1

61

I.4,

p.3

61

6.1

b,

p.1

61

I.4,

p.3

61

6.1

c,p

.161

I.4,

p.3

61

6.1

d,

p.1

61

I.4,

p.3

61

Tim

eto

bes

ttr

ue-

cost

solu

tion

6.4

a,

p.1

67

I.5,

p.3

62

6.4

b,

p.1

67

I.5,

p.3

62

6.4

c,p

.167

I.5,

p.3

62

6.4

d,

p.1

67

I.5,

p.3

62

Tru

eco

stof

firs

tso

luti

on

6.5

a,

p.1

69

I.6,

p.3

63

6.5

b,

p.1

69

I.6,

p.3

63

6.5

c,p

.169

I.6,

p.3

63

6.5

d,

p.1

69

I.6,

p.3

63

Tru

eco

stgap

of

firs

tso

luti

on

6.7

a,

p.1

71

I.8,

p.3

65

6.7

b,

p.1

71

I.8,

p.3

65

NA

NA

NA

NA

Cost

of

bes

ttr

ue-

cost

solu

tion

6.6

a,

p.1

70

I.7,

p.3

64

6.6

b,

p.1

70

I.7,

p.3

64

6.6

c,p

.170

I.7,

p.3

64

6.6

d,

p.1

70

I.7,

p.3

64

Cost

gap

of

bes

ttr

ue-

cost

solu

tion

6.8

a,

p.1

71

I.9,

p.3

65

6.8

b,

p.1

71

I.9,

p.3

65

NA

NA

NA

NA

Tab

le6.

5:

Fig

ure

and

tab

lere

fere

nce

sto

mai

nre

sult

sof

the

heu

rist

ics

exp

erim

ents

,by

dat

agr

oup

.

Page 188: New data generation and solution techniques for the

158 COMPUTATIONAL STUDY OF THE HEURISTICS

For a given feasible solution to a problem instance, the cost gap is defined

as 100(SOL−OPTOPT ), where SOL is the value of the feasible solution, and OPT

is the optimal value of the problem. The cost gaps of the first solutions and

best solutions are only evaluated for the BKA and n25 problem instances

since optimal solutions for the n50 and n100 problem instances are not

known; see Figures 6.7 and 6.8 (p.171).

Finally, recall that P = PALL for all BKA problem instances, thus M1=M2

and M3=M4 for this data group. It follows that H1 k=H2 k and H3 k=H4 k

for all k ∈ {1, . . . , 6} for the BKA data group, and so the H2 and H4 box

plots duplicate the H1 and H3 box plots; consequently they are omitted

from all BKA figures.

6.3.1 Time to find first solution: Figure 6.1 & Table 6.6

To compare each heuristic method on the speed to find feasible solutions,

results are presented as follows. The box plots in Figure 6.1 (p.161) show the

distribution of the exact time to find each first feasible solution. Table 6.6 is

arranged by data group, to show the percentage of instances where at least

one feasible solution was found, evaluated at key times for each heuristic.

Note that for the n100 instances, the original time limit for each heuristic is

300 seconds per instance; an extended limit of 10,300 seconds is allowed for

methods H0, H1 4, H2 4, H3 4 and H4 6 only, for reasons discussed in the

n100 results of Sections 6.4 (§6.4.8, p.179) and 6.5 (§6.5.4, p.183).

To highlight the success of finding feasible solutions, a table cell in Table 6.6

is shaded dark green if at least one feasible solution has been found for

100% of instances, light green if the percentage is in the range (0, 100), and

unshaded if the percentage of instances is zero (i.e. no feasible solutions have

been found for any instances with this method by this time).

To reference the results in Table 6.6, let Γ(g, h, t) denote the percentage of

instances of data group g with at least one feasible solution found by method

h after time t has elapsed. If the catalyst weight index is not stated for the

catalyst heuristics, the result being described is generally true for each of

the weights. The time limit is denoted T and corresponds to the termination

times in Table 6.3.

Page 189: New data generation and solution techniques for the

6.3 Guide to results of the heuristics experiments 159M

ETH

OD

KEY

TIM

ES

(seconds)

NA

ME

0.0

01

0.0

10.1

15

10

H0

100.0

100.0

100.0

100.0

100.0

100.0

H1

117.1

17.1

97.1

100.0

100.0

100.0

H1

211.4

11.4

97.1

100.0

100.0

100.0

H1

32.9

2.9

91.4

100.0

100.0

100.0

H1

414.3

14.3

97.1

100.0

100.0

100.0

H1

511.4

11.4

97.1

97.1

97.1

100.0

H1

611.4

11.4

97.1

100.0

100.0

100.0

H2

1N

AN

AN

AN

AN

AN

A

H2

2N

AN

AN

AN

AN

AN

A

H2

3N

AN

AN

AN

AN

AN

A

H2

4N

AN

AN

AN

AN

AN

A

H2

5N

AN

AN

AN

AN

AN

A

H2

6N

AN

AN

AN

AN

AN

A

H3

111.4

11.4

17.1

100.0

100.0

100.0

H3

25.7

5.7

11.4

94.3

97.1

100.0

H3

32.9

2.9

8.6

85.7

97.1

100.0

H3

40.0

0.0

5.7

97.1

100.0

100.0

H3

58.6

8.6

28.6

88.6

100.0

100.0

H3

62.9

2.9

25.7

94.3

97.1

100.0

H4

1N

AN

AN

AN

AN

AN

A

H4

2N

AN

AN

AN

AN

AN

A

H4

3N

AN

AN

AN

AN

AN

A

H4

4N

AN

AN

AN

AN

AN

A

H4

5N

AN

AN

AN

AN

AN

A

H4

6N

AN

AN

AN

AN

AN

A

(a)BKA

(35

inst

ance

s).

METH

OD

KEY

TIM

ES

(seconds)

NA

ME

0.0

01

0.0

10.1

15

10

30

60

H0

95.6

95.6

100.0

100.0

100.0

100.0

100.0

100.0

H1

14.4

4.4

10.0

64.4

87.8

96.7

98.9

100.0

H1

25.6

5.6

12.2

63.3

85.6

92.2

100.0

100.0

H1

37.8

7.8

15.6

78.9

94.4

98.9

100.0

100.0

H1

42.2

2.2

23.3

88.9

93.3

100.0

100.0

100.0

H1

51.1

1.1

12.2

86.7

93.3

98.9

100.0

100.0

H1

62.2

2.2

16.7

84.4

92.2

96.7

100.0

100.0

H2

14.4

4.4

8.9

61.1

77.8

88.9

98.9

100.0

H2

22.2

2.2

12.2

60.0

82.2

92.2

96.7

98.9

H2

313.3

13.3

22.2

82.2

92.2

98.9

100.0

100.0

H2

41.1

1.1

18.9

88.9

96.7

100.0

100.0

100.0

H2

52.2

2.2

16.7

88.9

93.3

97.8

100.0

100.0

H2

61.1

1.1

13.3

87.8

93.3

96.7

100.0

100.0

H3

12.2

2.2

2.2

8.9

36.7

45.6

60.0

77.8

H3

21.1

1.1

1.1

6.7

32.2

42.2

63.3

75.6

H3

310.0

10.0

10.0

16.7

47.8

61.1

85.6

93.3

H3

413.3

13.3

13.3

67.8

94.4

97.8

97.8

98.9

H3

52.2

2.2

2.2

76.7

88.9

98.9

100.0

100.0

H3

62.2

2.2

2.2

80.0

95.6

100.0

100.0

100.0

H4

16.7

6.7

6.7

8.9

44.4

53.3

67.8

75.6

H4

26.7

6.7

6.7

7.8

25.6

34.4

56.7

76.7

H4

311.1

11.1

11.1

17.8

54.4

70.0

85.6

94.4

H4

43.3

3.3

3.3

60.0

82.2

94.4

100.0

100.0

H4

53.3

3.3

3.3

77.8

88.9

94.4

100.0

100.0

H4

62.2

2.2

2.2

76.7

87.8

97.8

100.0

100.0

(b)n

25

(90

inst

an

ces)

.

Tab

le6.

6:

Per

centa

geof

inst

ance

sw

her

eat

leas

ton

eso

luti

onw

asfo

un

d,

eval

uat

edat

key

tim

esfo

rea

chh

euri

stic

.

Page 190: New data generation and solution techniques for the

160 COMPUTATIONAL STUDY OF THE HEURISTICSM

ETH

OD

KEY

TIM

ES

(seconds)

NA

ME

0.0

10.1

15

10

30

60

180

H0

25.0

73.3

100.0

100.0

100.0

100.0

100.0

100.0

H1

10.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

H1

20.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

H1

30.0

0.0

0.0

0.0

0.0

8.3

13.3

20.0

H1

41.7

1.7

5.0

10.0

10.0

45.0

58.3

73.3

H1

50.0

0.0

0.0

3.3

5.0

25.0

38.3

65.0

H1

60.0

0.0

0.0

1.7

3.3

10.0

30.0

40.0

H2

10.0

0.0

1.7

1.7

1.7

1.7

1.7

3.3

H2

20.0

0.0

0.0

0.0

0.0

0.0

0.0

1.7

H2

31.7

1.7

3.3

5.0

5.0

8.3

11.7

20.0

H2

40.0

0.0

3.3

8.3

8.3

36.7

56.7

71.7

H2

50.0

0.0

0.0

0.0

0.0

20.0

38.3

58.3

H2

60.0

0.0

0.0

0.0

0.0

13.3

21.7

36.7

H3

10.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

H3

20.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

H3

30.0

0.0

0.0

0.0

0.0

1.7

1.7

1.7

H3

41.7

1.7

3.3

6.7

11.7

15.0

16.7

26.7

H3

51.7

1.7

1.7

8.3

16.7

16.7

21.7

31.7

H3

61.7

1.7

1.7

1.7

1.7

8.3

11.7

23.3

H4

10.0

0.0

0.0

0.0

0.0

1.7

1.7

1.7

H4

20.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

H4

30.0

0.0

0.0

0.0

0.0

0.0

0.0

1.7

H4

40.0

0.0

0.0

6.7

6.7

10.0

11.7

18.3

H4

51.7

1.7

1.7

8.3

8.3

10.0

11.7

16.7

H4

63.3

3.3

3.3

8.3

8.3

13.3

15.0

23.3

(c)n

50

(60

instan

ces).

METH

OD

KEY

TIM

ES

(seconds)

NA

ME

10

30

60

180

300

600

3,6

00

10,3

00

H0

0.0

0.0

0.0

0.0

0.0

0.0

3.3

6.7

H1

10.0

0.0

0.0

0.0

0.0

NA

NA

NA

H1

20.0

0.0

0.0

0.0

0.0

NA

NA

NA

H1

30.0

0.0

0.0

0.0

0.0

NA

NA

NA

H1

41.7

1.7

5.0

6.7

8.3

8.3

8.3

8.3

H1

50.0

0.0

0.0

0.0

0.0

NA

NA

NA

H1

60.0

0.0

0.0

0.0

0.0

NA

NA

NA

H2

10.0

0.0

0.0

0.0

0.0

NA

NA

NA

H2

20.0

0.0

0.0

0.0

0.0

NA

NA

NA

H2

30.0

0.0

0.0

0.0

0.0

NA

NA

NA

H2

40.0

0.0

1.7

5.0

10.0

10.0

10.0

10.0

H2

50.0

0.0

0.0

0.0

0.0

NA

NA

NA

H2

60.0

0.0

0.0

0.0

1.7

NA

NA

NA

H3

10.0

0.0

0.0

0.0

0.0

NA

NA

NA

H3

20.0

0.0

0.0

0.0

0.0

NA

NA

NA

H3

30.0

0.0

0.0

0.0

0.0

NA

NA

NA

H3

40.0

0.0

0.0

0.0

1.7

1.7

1.7

1.7

H3

50.0

0.0

0.0

0.0

0.0

NA

NA

NA

H3

60.0

0.0

0.0

0.0

0.0

NA

NA

NA

H4

10.0

0.0

0.0

0.0

0.0

NA

NA

NA

H4

20.0

0.0

0.0

0.0

0.0

NA

NA

NA

H4

30.0

0.0

0.0

0.0

0.0

NA

NA

NA

H4

40.0

0.0

0.0

0.0

0.0

NA

NA

NA

H4

50.0

0.0

0.0

0.0

0.0

NA

NA

NA

H4

60.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

(d)n

100(60

instan

ces).

Tab

le6.6:

contin

ued

.

Page 191: New data generation and solution techniques for the

6.3 Guide to results of the heuristics experiments 161

●●

●● ● ●● ●

● ●

● ●●● ●● ●● ● ●●● ● ●

●●● ●● ●●● ● ●● ●

●● ●●●

● ●●● ● ●

●●

H0 ( 35 )

H1_1 ( 35 )

H1_2 ( 35 )

H1_3 ( 35 )

H1_4 ( 35 )

H1_5 ( 35 )

H1_6 ( 35 )

H2_1 ( 0 )

H2_2 ( 0 )

H2_3 ( 0 )

H2_4 ( 0 )

H2_5 ( 0 )

H2_6 ( 0 )

H3_1 ( 35 )

H3_2 ( 35 )

H3_3 ( 35 )

H3_4 ( 35 )

H3_5 ( 35 )

H3_6 ( 35 )

H4_1 ( 0 )

H4_2 ( 0 )

H4_3 ( 0 )

H4_4 ( 0 )

H4_5 ( 0 )

H4_6 ( 0 )

0 2 4 6 8

(a) BKA (35 instances).

●●●●

● ●● ● ●● ● ●

● ●●● ●●●●● ●

●● ●● ●● ●●● ●● ●● ● ●● ● ● ●

● ● ● ● ●●● ● ●●●●●● ●●● ● ●● ●

● ●● ● ●●● ●● ●

●●●● ● ● ● ● ● ●

●● ● ●● ●● ●● ●

● ●● ●● ● ● ●● ●● ● ●●● ●

●● ● ●● ●● ●●● ●● ● ●● ● ●● ●

● ● ● ●● ●●

●● ●● ●●

● ●● ●● ● ●● ●● ●● ●● ● ●● ●● ● ●●●●● ●● ●

● ●● ● ●● ●●● ●● ●● ●●

●● ●

● ● ● ●●● ● ●

●● ●●●● ●● ●●

● ● ●● ●● ●● ● ●●●● ●●● ●

●● ● ●● ● ●● ●●●● ●●●● ● ● ●

H0 ( 90 )

H1_1 ( 90 )

H1_2 ( 90 )

H1_3 ( 90 )

H1_4 ( 90 )

H1_5 ( 90 )

H1_6 ( 90 )

H2_1 ( 90 )

H2_2 ( 89 )

H2_3 ( 90 )

H2_4 ( 90 )

H2_5 ( 90 )

H2_6 ( 90 )

H3_1 ( 70 )

H3_2 ( 68 )

H3_3 ( 84 )

H3_4 ( 89 )

H3_5 ( 90 )

H3_6 ( 90 )

H4_1 ( 68 )

H4_2 ( 69 )

H4_3 ( 85 )

H4_4 ( 90 )

H4_5 ( 90 )

H4_6 ( 90 )

0 10 20 30 40 50 60

(b) n25 (90 instances).

●●

● ●● ● ●

● ●

● ●● ●

● ●

H0 ( 60 )

H1_1 ( 0 )

H1_2 ( 0 )

H1_3 ( 12 )

H1_4 ( 44 )

H1_5 ( 39 )

H1_6 ( 24 )

H2_1 ( 2 )

H2_2 ( 1 )

H2_3 ( 12 )

H2_4 ( 43 )

H2_5 ( 35 )

H2_6 ( 22 )

H3_1 ( 0 )

H3_2 ( 0 )

H3_3 ( 1 )

H3_4 ( 17 )

H3_5 ( 19 )

H3_6 ( 14 )

H4_1 ( 1 )

H4_2 ( 0 )

H4_3 ( 1 )

H4_4 ( 11 )

H4_5 ( 10 )

H4_6 ( 14 )

0 50 100 150

(c) n50 (60 instances).

H0 ( 0 )

H1_1 ( 0 )

H1_2 ( 0 )

H1_3 ( 0 )

H1_4 ( 5 )

H1_5 ( 0 )

H1_6 ( 0 )

H2_1 ( 0 )

H2_2 ( 0 )

H2_3 ( 0 )

H2_4 ( 6 )

H2_5 ( 0 )

H2_6 ( 1 )

H3_1 ( 0 )

H3_2 ( 0 )

H3_3 ( 0 )

H3_4 ( 1 )

H3_5 ( 0 )

H3_6 ( 0 )

H4_1 ( 0 )

H4_2 ( 0 )

H4_3 ( 0 )

H4_4 ( 0 )

H4_5 ( 0 )

H4_6 ( 0 )

0 50 100 150 200 250 300

(d) n100 (60 instances).

Figure 6.1: Box plots of “time first solution is found” for each heuristic. The

horizontal axes are time in seconds.

Page 192: New data generation and solution techniques for the

162 COMPUTATIONAL STUDY OF THE HEURISTICS

For example, Table 6.6b shows that 95.6% of n25 instances (86 out of 90) had

at least one feasible solution found by the construction heuristic after 0.001

seconds, and 100% after 0.1 seconds had elapsed; thus Γ(n25,H0, 0.001)=95.6

and Γ(n25,H0, 0.1)=100. In contrast, only 10% of the instances had at least

one feasible solution found by the catalyst heuristic H1 1 after 0.1 seconds,

but 100% of the instances did by 60 seconds; thus Γ(n25,H1 1, 0.1)=10 and

Γ(n25,H1 1, 60)=100. Table 6.6a shows that all BKA instances had at least

one feasible solution found by each of the catalyst methods by 10 seconds,

thus Γ(BKA,H1, 10)=100 and Γ(BKA,H3, 10)=100.

Across all heuristics, the percentage of instances that terminate at 60 seconds

with at least one feasible solution is 100% for BKA and is consistently high

(>75%) for n25.

The construction heuristic, H0, is very successful at finding feasible solutions

for all BKA, n25 and n50 instances within one second. For n50, the most

successful catalyst methods, H1 4 and H2 4, terminated at 180 seconds with

feasible solutions for 73% and 72% of instances, respectively. In contrast,

for n100, H0 does not find any feasible solutions within the 300 second time

limit. As will be discussed in §6.4.8, when the time limit is extended to

10,300 seconds, feasible solutions are found for 6.7% of n100 instances.

Recall from §6.2 that catalyst methods H1 and H2 are based on MIP1, while

H3 and H4 are based on MIP2. Comparing results for the underlying MIPs,

the percentage of instances that terminate with at least one feasible solution

is almost always2 higher for H1 and H2 compared with H3 and H4 across

all weights and data groups. That is, Γ(g,Hi k, T ) ≥ Γ(g,Hj k, T ) for data

groups g ∈ {BKA,n25, n50, n100}, heuristics i ∈ {1, 2} and j ∈ {3, 4},and all weights k ∈ {1, 2, 3, 4, 5, 6}). The compact box plots of the H1 and

H2 methods (relative to H3 and H4) in Figures 6.1a and 6.1b shows the

distribution of the first solution times, indicating the relative speed of H1

and H2 over the H3 and H4 catalyst methods. These results are in keeping

with comments made in Section 4.2.3.

For all data groups, the percentage of instances that terminate with at least

one feasible solution is higher for large catalyst weights (ω ≥ 1) compared

to low weights (ω < 1), regardless of the underlying MIP or precedence

2There is only one exception: Γ(n50,H1 1, 180) = 0 < Γ(n50,H4 1, 180) = 1.7).

Page 193: New data generation and solution techniques for the

6.3 Guide to results of the heuristics experiments 163

set. That is, for each data group g ∈ {BKA,n25, n50, n100} and each

heuristic i ∈ {1, 2, 3, 4}, Γ(g,Hi k, T ) ≥ Γ(g,Hi j, T ), where the low weights

are j ∈ {1, 2, 3} and the high weights are k ∈ {4, 5, 6}. This provides some

supporting evidence for the hypothesis that the IP-based catalyst with a

non-zero weight can be a method for finding feasible solutions faster than

solving the pure MIPs directly (which correspond to Hi 1) for the SOP-TW.

It is worth noting that it is difficult to see additional trends and make

conclusions for the n50 and n100 instances as, unlike the results for BKA

and n25 instances, the percentage of instances that terminate with at least

one feasible solution varies greatly for n50 and is very small for n100. This

is interesting in and of itself regarding the number of solutions, but presents

challenges to interpreting results for other measures; this is reflected in the

following discussion of the box plots results.

6.3.2 Number of unique solutions: Figures 6.2 and 6.3

The construction heuristic is extraordinarily good at finding many unique

feasible solutions for n ≤ 50, as can be seen in Figures I.2a–I.2c (page 357);

Table I.18 (page 378) shows the summary statistics for the number of unique

feasible solutions found by the construction heuristic for each data group and

class (note that the results for n100 are from the extended time of 10,300

seconds). However, that is the nature of the construction heuristic; it is

very fast at sampling the solution space, thus it is capable of generating a

large and diverse solution pool when the number of jobs is relatively small.

In contrast, the catalyst methods seek increasingly better (in terms of the

surrogate cost) feasible solutions, so its search of the solution space is neces-

sarily very limited. Consequently, the maximum number of solutions found

for any instance with any catalyst method was 41 solutions (method H1 4

on an n50 instance; Figure 6.2c), compared with 49,950 for the construction

heuristic on an n25 instance.

For each family of catalyst methods (H1 in blue and H3 in purple), a signifi-

cant proportion of the BKA instances are solved to optimality (with respect

to the surrogate cost function) well within the time limit; 30% for H1 and

28.6% for H3. This makes intrepreting the results in Figures 6.2a and 6.3a

difficult, as the faster the catalyst solves, generally fewer solutions are found.

Page 194: New data generation and solution techniques for the

164 COMPUTATIONAL STUDY OF THE HEURISTICS

● ●●

● ●●

●●

H1_1 ( 35 )

H1_2 ( 35 )

H1_3 ( 35 )

H1_4 ( 35 )

H1_5 ( 35 )

H1_6 ( 35 )

H2_1 ( 0 )

H2_2 ( 0 )

H2_3 ( 0 )

H2_4 ( 0 )

H2_5 ( 0 )

H2_6 ( 0 )

H3_1 ( 35 )

H3_2 ( 35 )

H3_3 ( 35 )

H3_4 ( 35 )

H3_5 ( 35 )

H3_6 ( 35 )

H4_1 ( 0 )

H4_2 ( 0 )

H4_3 ( 0 )

H4_4 ( 0 )

H4_5 ( 0 )

H4_6 ( 0 )

0 5 10 15 20 25

(a) BKA (35 instances).

●●

● ●●●

●●

●●●

● ●

●●●

●●

●●

●●● ●●●●

H1_1 ( 90 )

H1_2 ( 90 )

H1_3 ( 90 )

H1_4 ( 90 )

H1_5 ( 90 )

H1_6 ( 90 )

H2_1 ( 90 )

H2_2 ( 89 )

H2_3 ( 90 )

H2_4 ( 90 )

H2_5 ( 90 )

H2_6 ( 90 )

H3_1 ( 70 )

H3_2 ( 68 )

H3_3 ( 84 )

H3_4 ( 89 )

H3_5 ( 90 )

H3_6 ( 90 )

H4_1 ( 68 )

H4_2 ( 69 )

H4_3 ( 85 )

H4_4 ( 90 )

H4_5 ( 90 )

H4_6 ( 90 )

0 5 10 15 20 25 30

(b) n25 (90 instances).

●●

●●

H1_1 ( 0 )

H1_2 ( 0 )

H1_3 ( 12 )

H1_4 ( 44 )

H1_5 ( 39 )

H1_6 ( 24 )

H2_1 ( 2 )

H2_2 ( 1 )

H2_3 ( 12 )

H2_4 ( 43 )

H2_5 ( 35 )

H2_6 ( 22 )

H3_1 ( 0 )

H3_2 ( 0 )

H3_3 ( 1 )

H3_4 ( 17 )

H3_5 ( 19 )

H3_6 ( 14 )

H4_1 ( 1 )

H4_2 ( 0 )

H4_3 ( 1 )

H4_4 ( 11 )

H4_5 ( 10 )

H4_6 ( 14 )

0 10 20 30 40

(c) n50 (60 instances).

H1_1 ( 0 )

H1_2 ( 0 )

H1_3 ( 0 )

H1_4 ( 5 )

H1_5 ( 0 )

H1_6 ( 0 )

H2_1 ( 0 )

H2_2 ( 0 )

H2_3 ( 0 )

H2_4 ( 6 )

H2_5 ( 0 )

H2_6 ( 1 )

H3_1 ( 0 )

H3_2 ( 0 )

H3_3 ( 0 )

H3_4 ( 1 )

H3_5 ( 0 )

H3_6 ( 0 )

H4_1 ( 0 )

H4_2 ( 0 )

H4_3 ( 0 )

H4_4 ( 0 )

H4_5 ( 0 )

H4_6 ( 0 )

5 10 15 20 25

(d) n100 (60 instances).

Figure 6.2: Box plots of “number of solutions found” for each heuristic: H0

box plots are excluded, as are instances where no solutions were found.

Page 195: New data generation and solution techniques for the

6.3 Guide to results of the heuristics experiments 165

● ●●

● ●●

●●

H1_1 ( 35 )

H1_2 ( 35 )

H1_3 ( 35 )

H1_4 ( 35 )

H1_5 ( 35 )

H1_6 ( 35 )

H2_1 ( 0 )

H2_2 ( 0 )

H2_3 ( 0 )

H2_4 ( 0 )

H2_5 ( 0 )

H2_6 ( 0 )

H3_1 ( 35 )

H3_2 ( 35 )

H3_3 ( 35 )

H3_4 ( 35 )

H3_5 ( 35 )

H3_6 ( 35 )

H4_1 ( 0 )

H4_2 ( 0 )

H4_3 ( 0 )

H4_4 ( 0 )

H4_5 ( 0 )

H4_6 ( 0 )

0 5 10 15 20 25

(a) BKA (35 instances).

●●

● ●●●

●●

●●

● ●

●●●

● ●●● ●●●

●●

●●● ●●●●

H1_1 ( 90 )

H1_2 ( 90 )

H1_3 ( 90 )

H1_4 ( 90 )

H1_5 ( 90 )

H1_6 ( 90 )

H2_1 ( 90 )

H2_2 ( 90 )

H2_3 ( 90 )

H2_4 ( 90 )

H2_5 ( 90 )

H2_6 ( 90 )

H3_1 ( 90 )

H3_2 ( 90 )

H3_3 ( 90 )

H3_4 ( 90 )

H3_5 ( 90 )

H3_6 ( 90 )

H4_1 ( 90 )

H4_2 ( 90 )

H4_3 ( 90 )

H4_4 ( 90 )

H4_5 ( 90 )

H4_6 ( 90 )

0 5 10 15 20 25 30

(b) n25 (90 instances).

● ●● ●● ●●● ● ●●●

● ●

● ● ●●● ●● ● ●● ● ●

● ●●● ●●●● ●●●

●●●

●● ●● ●● ●●● ●●● ●●

●● ●● ●●● ●●● ●

●● ●● ●●● ●●●

●●●● ●● ●● ●●● ●●●

H1_1 ( 60 )

H1_2 ( 60 )

H1_3 ( 60 )

H1_4 ( 60 )

H1_5 ( 60 )

H1_6 ( 60 )

H2_1 ( 60 )

H2_2 ( 60 )

H2_3 ( 60 )

H2_4 ( 60 )

H2_5 ( 60 )

H2_6 ( 60 )

H3_1 ( 60 )

H3_2 ( 60 )

H3_3 ( 60 )

H3_4 ( 60 )

H3_5 ( 60 )

H3_6 ( 60 )

H4_1 ( 60 )

H4_2 ( 60 )

H4_3 ( 60 )

H4_4 ( 60 )

H4_5 ( 60 )

H4_6 ( 60 )

0 10 20 30 40

(c) n50 (60 instances).

●● ● ● ●

●●● ●●●

●●

H1_1 ( 60 )

H1_2 ( 60 )

H1_3 ( 60 )

H1_4 ( 60 )

H1_5 ( 60 )

H1_6 ( 60 )

H2_1 ( 60 )

H2_2 ( 60 )

H2_3 ( 60 )

H2_4 ( 60 )

H2_5 ( 60 )

H2_6 ( 60 )

H3_1 ( 60 )

H3_2 ( 60 )

H3_3 ( 60 )

H3_4 ( 60 )

H3_5 ( 60 )

H3_6 ( 60 )

H4_1 ( 60 )

H4_2 ( 60 )

H4_3 ( 60 )

H4_4 ( 60 )

H4_5 ( 60 )

H4_6 ( 60 )

0 5 10 15 20 25

(d) n100 (60 instances).

Figure 6.3: Box plots of “number of solutions found” for each heuristic: H0

box plots excluded; instances where no solutions were found are included.

Page 196: New data generation and solution techniques for the

166 COMPUTATIONAL STUDY OF THE HEURISTICS

The results for n25 are clearer; Figures 6.2b and 6.3b show that for each

family of catalyst heuristics, increasing the catalyst penalty via the catalyst

weight generally increases the number of feasible solutions found.

For n50 instances, the effect of including the “zeroes” is quite stark; com-

paring Figures 6.2c and 6.3c show how the distribution of the number of

solutions found by the catalyst heuristics are skewed towards zero due to

the relatively small percentage of n50 instances that terminate with at least

one feasible solution for most catalyst heuristics, as seen in Table 6.6c

6.3.3 Time at which best true-cost solution is found: Fig. 6.4

The BKA instances are noticeably easier to solve than problem instances in

the other data groups. For these instances, the construction heuristic (H0)

is clearly the fastest heuristic for reaching the best true-cost solution, with

a maximum time of 0.1 seconds for any BKA instance (maximum of H0

results is 0.1 in Table I.5, p.362). This is not surprising; as will be discussed

in more detail in Section 6.4, there is relatively more symmetry in the setup

times of the BKA instances, as indicated by a small number of unique setup

values and very high frequency for some of those values. When combined

with the greedy aspect of the construction heuristic, the cost gap of the

first solution is 0% for more than 50% of BKA instances (see H0 box plot

in Figure 6.7a; median of H0 results is 0 in Table I.8, p.365), and the cost

gap of the best solution is 0% for all BKA instances (see H0 box plot in

Figure 6.8a; maximum of H0 results is 0 in Table I.9 on p.365, that is, H0

finds the optimal solution for all BKA instances).

As noted earlier, for the catalyst methods, many BKA instances were solved

to optimality (with respect to the surrogate cost function) well within the

time limit. Consequently, those first and best time results are naturally

truncated. However, as can be seen in Figure 6.4a, as the catalyst weight

increases, the time the best solution is found generally increases too, and

also becomes more variable.

For n25, and even more so for n50, the best times for the construction heuris-

tic are spread more evenly across the execution time; see the H0 box plot in

Figures 6.4b and 6.4c. Since the insertion orders are randomly generated,

the best solution is equally likely to be found by any successful insertion

Page 197: New data generation and solution techniques for the

6.3 Guide to results of the heuristics experiments 167

●●● ●●●● ●●● ●

● ●

●● ●●

● ●● ●● ●

● ● ●

●● ●●●

● ●●

● ●● ● ●

●●● ● ●

● ●●● ●

H0 ( 35 )

H1_1 ( 35 )

H1_2 ( 35 )

H1_3 ( 35 )

H1_4 ( 35 )

H1_5 ( 35 )

H1_6 ( 35 )

H2_1 ( 0 )

H2_2 ( 0 )

H2_3 ( 0 )

H2_4 ( 0 )

H2_5 ( 0 )

H2_6 ( 0 )

H3_1 ( 35 )

H3_2 ( 35 )

H3_3 ( 35 )

H3_4 ( 35 )

H3_5 ( 35 )

H3_6 ( 35 )

H4_1 ( 0 )

H4_2 ( 0 )

H4_3 ( 0 )

H4_4 ( 0 )

H4_5 ( 0 )

H4_6 ( 0 )

0 10 20 30 40 50 60

(a) BKA (35 instances).

H0 ( 90 )

H1_1 ( 90 )

H1_2 ( 90 )

H1_3 ( 90 )

H1_4 ( 90 )

H1_5 ( 90 )

H1_6 ( 90 )

H2_1 ( 90 )

H2_2 ( 89 )

H2_3 ( 90 )

H2_4 ( 90 )

H2_5 ( 90 )

H2_6 ( 90 )

H3_1 ( 70 )

H3_2 ( 68 )

H3_3 ( 84 )

H3_4 ( 89 )

H3_5 ( 90 )

H3_6 ( 90 )

H4_1 ( 68 )

H4_2 ( 69 )

H4_3 ( 85 )

H4_4 ( 90 )

H4_5 ( 90 )

H4_6 ( 90 )

0 10 20 30 40 50 60

(b) n25 (90 instances).

● ●

●●

●●●

●●

● ●

●●●

H0 ( 60 )

H1_1 ( 0 )

H1_2 ( 0 )

H1_3 ( 12 )

H1_4 ( 44 )

H1_5 ( 39 )

H1_6 ( 24 )

H2_1 ( 2 )

H2_2 ( 1 )

H2_3 ( 12 )

H2_4 ( 43 )

H2_5 ( 35 )

H2_6 ( 22 )

H3_1 ( 0 )

H3_2 ( 0 )

H3_3 ( 1 )

H3_4 ( 17 )

H3_5 ( 19 )

H3_6 ( 14 )

H4_1 ( 1 )

H4_2 ( 0 )

H4_3 ( 1 )

H4_4 ( 11 )

H4_5 ( 10 )

H4_6 ( 14 )

0 50 100 150

(c) n50 (60 instances).

H0 ( 0 )

H1_1 ( 0 )

H1_2 ( 0 )

H1_3 ( 0 )

H1_4 ( 5 )

H1_5 ( 0 )

H1_6 ( 0 )

H2_1 ( 0 )

H2_2 ( 0 )

H2_3 ( 0 )

H2_4 ( 6 )

H2_5 ( 0 )

H2_6 ( 1 )

H3_1 ( 0 )

H3_2 ( 0 )

H3_3 ( 0 )

H3_4 ( 1 )

H3_5 ( 0 )

H3_6 ( 0 )

H4_1 ( 0 )

H4_2 ( 0 )

H4_3 ( 0 )

H4_4 ( 0 )

H4_5 ( 0 )

H4_6 ( 0 )

0 50 100 150 200 250 300

(d) n100 (60 instances).

Figure 6.4: Box plots of “time best solution is found” for each heuristic. The

horizontal axes are time in seconds.

Page 198: New data generation and solution techniques for the

168 COMPUTATIONAL STUDY OF THE HEURISTICS

order at any time within the limit. In contrast, the catalyst methods seek

increasingly better (in terms of the surrogate cost) feasible solutions, so the

best solutions are likely to be found later rather than earlier, hence these

box plots are skewed towards the time limit, as can be seen in all other box

plots of Figures 6.4b and 6.4c.

6.3.4 True cost and true cost gap of first solution (Figures 6.5

& 6.7) and best solution (Figures 6.6 & 6.8)

As noted earlier, for the construction heuristic, the cost gap of the first

solution found is 0% for more than 50% of BKA instances, and the cost gap

of the best solution is 0% for all BKA instances. In contrast, Figure 6.7a

(page 171) shows the cost gaps of the first solution found is generally much

larger for all of the catalyst heuristics. While the minimum cost gap of the

first solution is 0% for all catalyst methods, the smallest median of the cost

gap of the first solution is 42.9%, that is, at least 50% of first solutions for

any catalyst method had a cost gap of 42.9% or more. Moreover, the value

and spread of the best cost gap box plots in Figure 6.8a (page 171) generally

increase with increasing the catalyst weights.

Recall that including the catalyst penalty in the objective function affects

the true-cost quality of solutions found. The effect will be most notable

where the weight is 1 or greater, that is, for weight index j ∈ {4, 5, 6}.Consequently, this is reflected in the first and best true-cost results for the

BKA, n25 and n50 instances shown in Figures 6.5–6.8.

For n25 and n50, and for each family of catalyst heuristics, Hi, the dis-

tributions of the first solution cost box plots (Figures 6.5b–6.5c) and best

solution cost box plots (Figures 6.6b–6.6c) generally increase when the cata-

lyst weight is greater than or equal to one (i.e. Hi j for j ∈ {4, 5, 6}). Indeed,

the value and spread of the best cost gap box plots for n25 in Figure 6.8b

generally increase when the catalyst weights are above one. As noted above,

this is unsurprising; as the catalyst weight increases, the surrogate compo-

nent of the objective function grows, and thus the true-cost quality of the

solutions found generally decreases, and thus the true cost and true cost

gap is likely to increase and become more varied. Note that while we do

not have the optimal values for the n50 instances (so gap results cannot be

Page 199: New data generation and solution techniques for the

6.3 Guide to results of the heuristics experiments 169

●●

●●●●

●●

H0 ( 35 )

H1_1 ( 35 )

H1_2 ( 35 )

H1_3 ( 35 )

H1_4 ( 35 )

H1_5 ( 35 )

H1_6 ( 35 )

H2_1 ( 0 )

H2_2 ( 0 )

H2_3 ( 0 )

H2_4 ( 0 )

H2_5 ( 0 )

H2_6 ( 0 )

H3_1 ( 35 )

H3_2 ( 35 )

H3_3 ( 35 )

H3_4 ( 35 )

H3_5 ( 35 )

H3_6 ( 35 )

H4_1 ( 0 )

H4_2 ( 0 )

H4_3 ( 0 )

H4_4 ( 0 )

H4_5 ( 0 )

H4_6 ( 0 )

100 200 300 400

(a) BKA (35 instances).

●● ● ●●

●● ●● ●● ●

● ● ●● ●●●●

● ● ●

●● ● ● ●

● ● ●●● ●

● ●●● ●● ●

● ●●

●●

● ● ●●●

●●

●●

● ●● ●

H0 ( 90 )

H1_1 ( 90 )

H1_2 ( 90 )

H1_3 ( 90 )

H1_4 ( 90 )

H1_5 ( 90 )

H1_6 ( 90 )

H2_1 ( 90 )

H2_2 ( 89 )

H2_3 ( 90 )

H2_4 ( 90 )

H2_5 ( 90 )

H2_6 ( 90 )

H3_1 ( 70 )

H3_2 ( 68 )

H3_3 ( 84 )

H3_4 ( 89 )

H3_5 ( 90 )

H3_6 ( 90 )

H4_1 ( 68 )

H4_2 ( 69 )

H4_3 ( 85 )

H4_4 ( 90 )

H4_5 ( 90 )

H4_6 ( 90 )

200 300 400 500 600 700

(b) n25 (90 instances).

●●

● ●

●●

H0 ( 60 )

H1_1 ( 0 )

H1_2 ( 0 )

H1_3 ( 12 )

H1_4 ( 44 )

H1_5 ( 39 )

H1_6 ( 24 )

H2_1 ( 2 )

H2_2 ( 1 )

H2_3 ( 12 )

H2_4 ( 43 )

H2_5 ( 35 )

H2_6 ( 22 )

H3_1 ( 0 )

H3_2 ( 0 )

H3_3 ( 1 )

H3_4 ( 17 )

H3_5 ( 19 )

H3_6 ( 14 )

H4_1 ( 1 )

H4_2 ( 0 )

H4_3 ( 1 )

H4_4 ( 11 )

H4_5 ( 10 )

H4_6 ( 14 )

300 400 500 600 700 800

(c) n50 (60 instances).

H0 ( 0 )

H1_1 ( 0 )

H1_2 ( 0 )

H1_3 ( 0 )

H1_4 ( 5 )

H1_5 ( 0 )

H1_6 ( 0 )

H2_1 ( 0 )

H2_2 ( 0 )

H2_3 ( 0 )

H2_4 ( 6 )

H2_5 ( 0 )

H2_6 ( 1 )

H3_1 ( 0 )

H3_2 ( 0 )

H3_3 ( 0 )

H3_4 ( 1 )

H3_5 ( 0 )

H3_6 ( 0 )

H4_1 ( 0 )

H4_2 ( 0 )

H4_3 ( 0 )

H4_4 ( 0 )

H4_5 ( 0 )

H4_6 ( 0 )

550 600 650 700 750 800 850 900

(d) n100 (60 instances).

Figure 6.5: Box plots of “true cost of first solution” for each heuristic.

Page 200: New data generation and solution techniques for the

170 COMPUTATIONAL STUDY OF THE HEURISTICS

●●●●●

●●

H0 ( 35 )

H1_1 ( 35 )

H1_2 ( 35 )

H1_3 ( 35 )

H1_4 ( 35 )

H1_5 ( 35 )

H1_6 ( 35 )

H2_1 ( 0 )

H2_2 ( 0 )

H2_3 ( 0 )

H2_4 ( 0 )

H2_5 ( 0 )

H2_6 ( 0 )

H3_1 ( 35 )

H3_2 ( 35 )

H3_3 ( 35 )

H3_4 ( 35 )

H3_5 ( 35 )

H3_6 ( 35 )

H4_1 ( 0 )

H4_2 ( 0 )

H4_3 ( 0 )

H4_4 ( 0 )

H4_5 ( 0 )

H4_6 ( 0 )

50 100 150 200

(a) BKA (35 instances).

● ●● ● ●

●●

●●

●● ●

●●

●●●

●●●●

●●● ● ●

●●

●●

●●

● ●●● ●●

●●

●●

●● ●

● ●●

●●

●● ●

H0 ( 90 )

H1_1 ( 90 )

H1_2 ( 90 )

H1_3 ( 90 )

H1_4 ( 90 )

H1_5 ( 90 )

H1_6 ( 90 )

H2_1 ( 90 )

H2_2 ( 89 )

H2_3 ( 90 )

H2_4 ( 90 )

H2_5 ( 90 )

H2_6 ( 90 )

H3_1 ( 70 )

H3_2 ( 68 )

H3_3 ( 84 )

H3_4 ( 89 )

H3_5 ( 90 )

H3_6 ( 90 )

H4_1 ( 68 )

H4_2 ( 69 )

H4_3 ( 85 )

H4_4 ( 90 )

H4_5 ( 90 )

H4_6 ( 90 )

200 300 400 500

(b) n25 (90 instances).

●●

H0 ( 60 )

H1_1 ( 0 )

H1_2 ( 0 )

H1_3 ( 12 )

H1_4 ( 44 )

H1_5 ( 39 )

H1_6 ( 24 )

H2_1 ( 2 )

H2_2 ( 1 )

H2_3 ( 12 )

H2_4 ( 43 )

H2_5 ( 35 )

H2_6 ( 22 )

H3_1 ( 0 )

H3_2 ( 0 )

H3_3 ( 1 )

H3_4 ( 17 )

H3_5 ( 19 )

H3_6 ( 14 )

H4_1 ( 1 )

H4_2 ( 0 )

H4_3 ( 1 )

H4_4 ( 11 )

H4_5 ( 10 )

H4_6 ( 14 )

300 400 500 600 700

(c) n50 (60 instances).

H0 ( 0 )

H1_1 ( 0 )

H1_2 ( 0 )

H1_3 ( 0 )

H1_4 ( 5 )

H1_5 ( 0 )

H1_6 ( 0 )

H2_1 ( 0 )

H2_2 ( 0 )

H2_3 ( 0 )

H2_4 ( 6 )

H2_5 ( 0 )

H2_6 ( 1 )

H3_1 ( 0 )

H3_2 ( 0 )

H3_3 ( 0 )

H3_4 ( 1 )

H3_5 ( 0 )

H3_6 ( 0 )

H4_1 ( 0 )

H4_2 ( 0 )

H4_3 ( 0 )

H4_4 ( 0 )

H4_5 ( 0 )

H4_6 ( 0 )

500 600 700 800

(d) n100 (60 instances).

Figure 6.6: Box plots of “cost of best true-cost solution” for each heuristic.

Page 201: New data generation and solution techniques for the

6.3 Guide to results of the heuristics experiments 171

Figure 6.7: Box plots of “true cost gap of first solution” for each heuristic;

n50 and n100 are not shown because the optimal values are not known.

●● ●

● ●

H0 ( 35 )

H1_1 ( 35 )

H1_2 ( 35 )

H1_3 ( 35 )

H1_4 ( 35 )

H1_5 ( 35 )

H1_6 ( 35 )

H2_1 ( 0 )

H2_2 ( 0 )

H2_3 ( 0 )

H2_4 ( 0 )

H2_5 ( 0 )

H2_6 ( 0 )

H3_1 ( 35 )

H3_2 ( 35 )

H3_3 ( 35 )

H3_4 ( 35 )

H3_5 ( 35 )

H3_6 ( 35 )

H4_1 ( 0 )

H4_2 ( 0 )

H4_3 ( 0 )

H4_4 ( 0 )

H4_5 ( 0 )

H4_6 ( 0 )

0 100 200 300 400

(a) BKA (35 instances).

●● ● ● ●

●●●● ●●●

●● ●●

● ●

●● ●● ●

●●

●●● ●●● ●

●● ●●●

● ● ●

● ● ● ● ●

●● ●●

●● ● ●

●●

● ● ●●

●●● ●

●●●● ●

●●●●

●● ●●

● ● ●●

● ●●●

●●

H0 ( 90 )

H1_1 ( 90 )

H1_2 ( 90 )

H1_3 ( 90 )

H1_4 ( 90 )

H1_5 ( 90 )

H1_6 ( 90 )

H2_1 ( 90 )

H2_2 ( 89 )

H2_3 ( 90 )

H2_4 ( 90 )

H2_5 ( 90 )

H2_6 ( 90 )

H3_1 ( 70 )

H3_2 ( 68 )

H3_3 ( 84 )

H3_4 ( 89 )

H3_5 ( 90 )

H3_6 ( 90 )

H4_1 ( 68 )

H4_2 ( 69 )

H4_3 ( 85 )

H4_4 ( 90 )

H4_5 ( 90 )

H4_6 ( 90 )

0 50 100 150 200 250 300 350

(b) n25 (90 instances).

Figure 6.8: Box plots of “true cost gap of best solution” for each heuristic;

n50 and n100 are not shown because the optimal values are not known.

●●● ●●

● ●●

●● ●●

●●●● ●

●●

● ●

● ●

●● ●●

H0 ( 35 )

H1_1 ( 35 )

H1_2 ( 35 )

H1_3 ( 35 )

H1_4 ( 35 )

H1_5 ( 35 )

H1_6 ( 35 )

H2_1 ( 0 )

H2_2 ( 0 )

H2_3 ( 0 )

H2_4 ( 0 )

H2_5 ( 0 )

H2_6 ( 0 )

H3_1 ( 35 )

H3_2 ( 35 )

H3_3 ( 35 )

H3_4 ( 35 )

H3_5 ( 35 )

H3_6 ( 35 )

H4_1 ( 0 )

H4_2 ( 0 )

H4_3 ( 0 )

H4_4 ( 0 )

H4_5 ( 0 )

H4_6 ( 0 )

0 20 40 60 80

(a) BKA (35 instances).

●●

● ●●●● ●●● ●● ●●● ●● ●● ●●●●● ●● ● ●● ● ●● ●●● ●●● ●●

● ● ●●

● ●

●● ●● ●● ●● ●●● ●●

●●● ●● ● ●● ●●●● ●● ● ●

●● ●● ●● ● ●

●● ●●

● ●● ●

● ●●

● ● ●● ●● ●

●●● ● ●●● ●● ● ●●● ● ●

●●●

● ●

●● ● ● ●● ●

● ●● ●●● ●● ● ● ●

● ● ●● ●

●● ●

H0 ( 90 )

H1_1 ( 90 )

H1_2 ( 90 )

H1_3 ( 90 )

H1_4 ( 90 )

H1_5 ( 90 )

H1_6 ( 90 )

H2_1 ( 90 )

H2_2 ( 89 )

H2_3 ( 90 )

H2_4 ( 90 )

H2_5 ( 90 )

H2_6 ( 90 )

H3_1 ( 70 )

H3_2 ( 68 )

H3_3 ( 84 )

H3_4 ( 89 )

H3_5 ( 90 )

H3_6 ( 90 )

H4_1 ( 68 )

H4_2 ( 69 )

H4_3 ( 85 )

H4_4 ( 90 )

H4_5 ( 90 )

H4_6 ( 90 )

0 20 40 60 80 100 120 140

(b) n25 (90 instances).

Page 202: New data generation and solution techniques for the

172 COMPUTATIONAL STUDY OF THE HEURISTICS

calculated for these instances) the same trend is seen in the first cost and

best cost box plots in Figures 6.5c and 6.6c, respectively.

This ends the discussion of the results of all 25 heuristic methods. Additional

results specific to the construction heuristic are discussed in the following

section (with reference to more results in Section I.1 of Appendix I), while

results specific to the catalyst heuristics are discussed in Section 6.5.

6.4 Construction heuristic results

The computational results presented in Section 6.3 evaluated and compared

the performance of all 25 heuristic methods across a range of common mea-

sures. In this section, results specific to the construction heuristic, H0, are

discussed. Problem instance characteristics that influence the relative suc-

cess of H0 are given particular attention, including the data group type

(BKA versus the data generated in Chapter 3, discussed in §6.4.1), the

number of jobs (§6.4.2), the number of precedences (§6.4.3), and the vari-

ability of maximum time window widths (§6.4.4). Key results for each data

group are also reported in Sections 6.4.5–6.4.8.

Since the construction heuristic did not produce any feasible solutions for

any n100 problem instance within the original 300 second time limit (see

Table 6.6d, p.160), all of the n100 (Data Classes 16–21) results reported in

this section are from the extended experiments with a time limit of 10,300

seconds.3

Recall that the construction heuristic is not guaranteed to produce a feasible

solution for every insertion order. Moreover, the likelihood of successfully

producing a feasible solution with a random insertion order for any SOP-TW

data set is dependent on the characteristics of that data set; it is inherently

easier to find feasible solutions for some problem instances (for example,

those with very wide time windows). Consequently, the results that follow

are discussed at up to three resolutions; for individual data sets, at the

data class level (where all instances within a class have the same input

310,300 seconds is the time limit for all exact methods for the n100 instances. Con-

sequently, these construction heuristic results can be compared with the MIP results in

§4.6.4.6 and the scheduling-based B&B scheme results in Chapter 8.

Page 203: New data generation and solution techniques for the

6.4 Construction heuristic results 173

parameters to the data generator), and at the data group level (where all

instances within a group have the same number of jobs).

The complete set of tables and figures from which the following comments

are based are located in Section I.1 of Appendix I. For individual data

sets, Section I.1.1 contains results on: the number of insertion orders tried,

|IO|; the number of insertion orders that produced a feasible solution, |FS|;the number of unique feasible solutions constructed, |UFS|; the ratio of

successful insertion orders, Rsuccess = |FS|/|IO|; and the ratio of unique

feasible solutions, Runique = |UFS|/|FS|. In Section I.1.2, the results from

Section I.1.1 are aggregated at the data class and data group levels and

summarised via box plots and their summary statistics to describe the dis-

tribution of the values.

It is worth noting that a feasible solution is considered unique the first

time the corresponding job permutation is constructed. Consequently, cost

symmetric solutions—feasible solutions with the same total setup cost but

with different job permutations—are considered unique.

In the discussion of results that follows, superscripts on |IO|, |FS|, |UFS|,Rsuccess or Runique will be used to indicate particular sets of problem in-

stances, that is, RBKAsuccess refers to the Rsuccess values for the BKA instances.

6.4.1 BKA instances vs. n25/n50/n100 instances

Let χ denote the set of all n25, n50 and n100 problem instances, that is,

all data sets generated by the methodology described in Chapter 3. The

construction heuristic results highlight key differences between the charac-

teristics of the BKA problem instances and the problem instances in χ. In

particular, they demonstrate how, aside from fewer jobs, the BKA instances

appear to be significantly easier to solve on two fronts.

Firstly, the symmetry in the BKA data set values is highlighted by sig-

nificantly smaller uniqueness ratios, that is, RBKAunique � Rχunique (see Fig-

ures I.12a and I.13a) as the range for |UFS|BKA is fully contained in the

range for |UFS|χ (see Figures I.8 and I.9) despite |FS|BKA � |FS|χ (see

Figures I.6a and I.7a).

The most extreme example is data set (BKA, 6) which had the maximum

Page 204: New data generation and solution techniques for the

174 COMPUTATIONAL STUDY OF THE HEURISTICS

|FS| (624,058) and minimum |UFS| (14,879) of all BKA instances, resulting

in the minimum Runique of 0.024; just 2.4% of the 624,058 feasible solutions

found were unique. This seems unsurprising when the distribution and value

of the setup times (costs) for this instance are considered, as shown in Ta-

ble 6.7; of the 114 arcs that remain after preprocessing, 81 arcs had non-zero

setup times, with only 7 unique values. Consequently, many unique feasible

solutions for this instance had the same total cost (sum of the solution setup

times) due to the combined effect of the small number of preprocessed arcs,

the distribution of the setup times on those arcs, and the greedy nature of

the construction heuristic. However, this combined effect also led to dispro-

portionately many insertion orders producing the same feasible solutions,

resulting in such a low value of Runique.

Setup time Frequency

0 33

6 21

10 18

12 9

16 19

24 11

30 2

35 1

114

Table 6.7: Distribution of setup times for data set (BKA, 6).

Secondly, the wider time windows throughout the BKA data sets (discussed

in §4.5.4, and indicated by |P TW | = 0 for all instances in Table G.5) con-

tributes to the significantly higher success ratios, that is, RBKAsuccess � Rχsuccess

(see Figures I.10a and I.11a) as |FS|BKA � |FS|χ (see Figures I.6a and I.7a)

despite

q3(|IO|BKA) < mean(|IO|n25)� min{|IO|n50} � min{|IO|n100},

that is 75% of BKA instances had an |IO| less than the mean |IO| of the n25

instances (see Figure I.4b and Table I.16), both of which are much smaller

than the minimum number of insertion orders tried for the n50 and n100

instances (see Figure I.5a).

Page 205: New data generation and solution techniques for the

6.4 Construction heuristic results 175

6.4.2 Number of jobs, n

As n increases, the number of feasible solutions found, |FS|, decreases sig-

nificantly (see Figure I.6) even though the number of insertion orders tried,

|IO|, increases (see Figure I.4). As a result, Rsuccess decreases dramatically

as n increases (Figure I.10). This demonstrates how complexity increases

with increasing n, thus we do expect the construction heuristic to fail, which

is seen for the n100 instances.

Moreover, Runique increases with n (Figure I.12). |FS| is large for n25 but

still Runique is very high (over 92% for all n25 instances, and over 99.3%

for 75% of n25 instances; min(Rn25unique) = 0.920 and q1(Rn25

unique) = 0.993 in

Table I.20) so it is not surprising that as |FS| decreases for n50 and n100

that Runique increases too.

6.4.3 Number of precedences, |P |

Class 7 has the biggest range and interquartile range for |IO|, |FS| (and

therefore Rsuccess) and |UFS| of any of the nine n25 classes. Recall Table 3.8

(p.76): of the n25 classes, instances in Class 7 have the largest precedence

sets P (as pDISA = 1 in Table 3.5 on p.73) which can be seen in column α.

Moreover, Class 7 has the second largest precedence set PALL even though

γ = M (compare values in column α for Classes 1–6 that also have γ = M).

Despite this, the distribution of values for each data set parameter of Class 7

are not significantly different to Classes 1–6 (see §3.6.1–3.6.3, especially the

precedence delays in Figures 3.10 and 3.11 on p.81). Consequently, the very

large variation in construction heuristic measures |IO|, |FS|, Rsuccess and

|UFS| for Class 7 is likely due to a combination of (1) relatively larger |P |and |PALL|, and (2) a greater variability in the structure of the precedence

graphs P and PALL due to the additional precedences.

6.4.4 Variability of maximum time window widths, γ

Recall from Section 3.4.2.1 (p.70) that parameter γ controls the variability

in the width of the job time windows in a data set, and is the number of

Page 206: New data generation and solution techniques for the

176 COMPUTATIONAL STUDY OF THE HEURISTICS

average jobs that are able to be processed during the maximum time window

duration above the minimum time window duration.

Comparing high variability (γ = H) of the maximum time window widths

with low and moderate variability (γ = L and γ = M) delivers one of the

most clear results for the construction heuristic: Rsuccess increases with data

parameter γ.

For n25, compare the box plots for Class 8 which has γ = L, and the box

plots for Class 9 which has γ = H: RHsuccess > RLsuccess (Fig. I.11, p.375) as

|IO|H < |IO|L (Fig. I.5, p.372) and |FS|H > |FS|L (Fig. I.7, p.373).

For n50, compare the box plots for Classes 10-12 which have γ = M , and the

box plots for Classes 13-15 which have γ = H: RHsuccess > RMsuccess (Fig. I.11,

p.375) as |IO|H < |IO|M (Fig. I.5, p.372) and |FS|H > |FS|M (Fig. I.7,

p.373).

Consequently, Rsuccess increases with data parameter γ. This is unsurpris-

ing; holding all other attributes constant, increasing the average length of

time windows will increase the number of feasible solutions for that problem

instance. If the total number of feasible solutions is larger due to wider time

windows, the construction heuristic has a better chance of constructing a

feasible solution as, on average, there will be fewer time window violations.

If γ = H, the number of all precedence relations, given by |PALL|, decreases.

If |PALL| is small, then the probability that there will be either (1) a time

window violation or (2) a precedence violation (either of which will result in

the the insertion order not producing a feasible solution) will also decrease.

This is reflected in the Runique values; in Figure I.13b, compare the box plots

for Class 8 and Class 9 for the most striking difference. Class 8 is the only

n25 class with γ = L, and has the maximum |PALL| of 1,407. In contrast,

Class 9 is the only n25 class with γ = H, and has the minimum |PALL|of 542. Since the Class 9 problem instances have fewer precedences and

generally have wider time windows, a random insertion order is less likely to

produce an infeasible solution (as the probability of a time window violation

or precedence violation will decrease) thus each feasible solution generated

is more likely to be unique.

Page 207: New data generation and solution techniques for the

6.4 Construction heuristic results 177

6.4.5 Key results for BKA data group

Overall, the construction heuristic was the fastest heuristic to find feasible

solutions for the BKA instances, with at least one feasible solution found by

0.001 seconds for each of the 35 instances, as shown in Table 6.6a (compare

with 1 second for the fastest catalyst heuristics).

In addition to being fast, the construction heuristic consistently produced

feasible solutions; 75% of BKA instances had Rsuccess of 0.999 or more,

meaning at least 99.9% of the random insertion orders tried produced fea-

sible solutions for 75% of BKA instances. This indicates the inherent “eas-

iness” of the BKA data sets; almost all random permutations of the set

of jobs can produce a feasible solution via the construction heuristic for

75% of the instances. However, since the BKA problem instances contain

significant symmetries and have very wide time windows, many insertion

orders produce the same feasible solutions. Consequently, the ratio Runique

varies greatly for BKA with a minimum of 0.024, an interquartile range of

0.451, and range of 0.808 (compare the box plots in Figure I.12a, and see

Table I.20).

6.4.6 Key results for n25 data group

As with the BKA problem instances, the construction heuristic was the

fastest heuristic to find feasible solutions for the n25 instances, with at

least one feasible solution found by 0.1 seconds for each of the 90 instances,

as shown in Table 6.6b (compare with 10 seconds for the fastest catalyst

heuristics: H1 4, H2 4 and H3 6).

The quality of the feasible solutions found by the construction heuristic are

close to those of the best quality catalyst heuristics (Figures 6.5b and 6.6b).

The best cost gap was 0% as 11 of 90 instances had the optimal solution

found within the 60 second time limit; the worst cost gap at 60 seconds was

14.8%.

With respect to Rsuccess, the hardest instance is (7,2) with only 13.3% of

insertion orders tried producing feasible solutions (Table I.12). The easiest

instance is (9,4) with 64.6% of insertion orders producing feasible solutions.

Page 208: New data generation and solution techniques for the

178 COMPUTATIONAL STUDY OF THE HEURISTICS

As noted in §6.4.4, Rsuccess increases with data parameter γ; this effect was

very clear for the n25 data group (see the box plots for Classes 8 and 9 in

Figure I.11b).

Unlike the BKA problem instances, almost all insertion orders that pro-

duced feasible solutions, produced unique feasible solutions; see Figures I.12a

and I.13a.

6.4.7 Key results for n50 data group

Overall, the construction heuristic performed well within the 180 second

time limit for each data set. As shown in Table 6.6c, all 60 instances had at

least one feasible solution found by 1 second. In contrast, the best catalyst

heuristic (H1 1) had at least one feasible solution found by 1 second for

only 5% of instances, and only 73.3% of the instances (44 out of 60) by 180

seconds.

Of the 21 instances where the optimal solution is known4, the construction

heuristic never found the optimal solution; the best gap for any of those

instances after 180 seconds was 11.6%.

Even though the construction heuristic found feasible solutions very quickly

for all n50 instances, Rsuccess decreased very significantly when compared

to results for n25 and BKA; see Figures I.10–I.11 which shows the clear

trend that Rsuccess decreases with increasing n. This demonstrates that

these problem instances are substantially harder to solve due to the higher

number of jobs to schedule, which is in line with the complexity results (see

§2.3, p.25).

The construction heuristic found more feasible solutions when γ = H (Classes

13–15), rather than when γ = M (Classes 10–12); see Figure I.7b. This

makes sense; when γ = H, there exists a greater proportion of wider time

windows, thus the proportion of feasible solutions when compared with the

(fixed) number of insertion orders (n!) is also greater. As a result, the

construction heuristic has a greater chance of generating a feasible solution

from any random insertion order, which is reflected by higher Rsuccess val-

ues (compare Classes 13–15 with 10–12 in Figure I.11b), and a significant

4As determined by any exact method in this thesis.

Page 209: New data generation and solution techniques for the

6.4 Construction heuristic results 179

increase in the number of feasible solutions found.

With respect to Rsuccess, the hardest instance is (11,10) with only 0.152% of

insertion orders tried producing feasible solutions (only 439 feasible solutions

found, Table I.13). The easiest instance is (13,2) with 6.3% of insertion

orders producing feasible solutions (15,157 feasible solutions found).

While Runique increased dramatically from BKA to n25, Runique increased

again for n50 such that all insertion orders that produced feasible solutions,

produced unique feasible solutions; Runique = 1 for all n50 instances (see

Table I.20 and Figures I.12–I.13).

6.4.8 Key results for n100 data group

The effectiveness of the construction heuristic disappeared for the 100 job

problem instances; no feasible solution was found for any instance within the

300 second time limit. This is unsurprising; these data sets are substantially

harder to solve due the larger number of jobs to schedule, which is supported

by the complexity results (see §2.3, p.25).

When given the extended time limit of 10,300 seconds, only 4 of 60 n100

instances (6.7%) had a feasible solution constructed, and all had high γ

(Classes 19–21, n100 4–n100 6). Table 6.8 shows the total number of in-

sertion orders tried during the time limit, and the time at which the sole

solution was found.

Class # & name # |IO| Time (secs)

19, n100 4 4 3,157,071 5,753.8

20, n100 5 10 3,226,303 8,790.9

21, n100 6 4 3,261,751 1,414.3

21, n100 6 8 3,439,096 3,251.4

Table 6.8: Total number of insertion orders tried for each of the four n100

instances which had a single feasible solution constructed, and the time the

solution was produced.

Since the insertion orders are generated randomly, the insertion order that

produced the feasible solution could have been generated at any time. How-

Page 210: New data generation and solution techniques for the

180 COMPUTATIONAL STUDY OF THE HEURISTICS

ever, the probability of generating a feasible solution from a random insertion

order is approximated by the ratio of success, Rsuccess, which is 3 × 10−7

for these four instances. Since we intentionally generated feasible problem

instances via the data generator described in Chapter 3, all of the n100

instances do have feasible solutions even though no feasible solutions are

found by the construction heuristic for the majority of instances.

6.4.9 Conclusions

The complexity results which show that, in general, finding feasible solutions

to the SOP-TW is NP-complete in the strong sense, indicates that heuristics

like the construction heuristic are unlikely to be successful on non-trivial

problem instances. Consequently, the results obtained in this chapter are not

surprising, namely that the construction heuristic would work fast and with

great success on the BKA and n25 instances (17 and 25 jobs, respectively),

but would start to slow for the n50 instances, and then be highly unsuccessful

for the n100 instances. Indeed, this is precisely the behaviour observed.

However, as will be discussed later, the construction heuristic may be very

useful when incorporated into another solution technique.

6.5 IP-based catalyst heuristic results

In the IP-based catalyst investigations, a surrogate problem is solved: MIP1

or MIP2 with a surrogate objective function (see §5.4.2, p.145). For each fea-

sible solution found by a catalyst method, the time it was found is recorded

and the true cost of that solution is calculated to evaluate its quality. The

times are compared with the time it takes to find feasible solutions for the

MIPs with the true objective function (that is, the pure MIPs where the

catalyst weight is zero). Some general observations for the SOP-TW are:

• The quality of the results are heavily dependent on the choice of the

catalyst penalty (βi) in the surrogate cost function, which was varied

via a weight (ωi).

• The surrogate component of the cost function should depend on the

size and attributes of the problem instance (such as ρ) if a single

Page 211: New data generation and solution techniques for the

6.5 IP-based catalyst heuristic results 181

catalyst weight is to be used across a range of instances.

• It was relatively easy to find a range of penalties that produced feasible

solutions faster than the pure MIPs. Indeed, with good values for the

weight, the first feasible solution to the surrogate problem was often

found much faster than the first feasible solution to the true problem

(see Figures 6.1b and 6.1c on page 161, where Hi 1 corresponds to the

pure MIPs for i ∈ {1, 2, 3, 4}).

• With good values for the weight and fixed solution time, more feasible

solutions were found for the surrogate problem than the true problem

(see Figures 6.2 and 6.3, on p.164 and p.165 respectively).

• The true-cost quality of the feasible solutions was very good for low

weights (0.01 and 0.1); see Figures 6.7 and 6.8 on page 171, where

results with these weights correspond to box plots Hi 2 and Hi 3 for

i ∈ {1, 2, 3, 4}.

• Many BKA instances and some n25 instances were solved to optimal-

ity (in terms of the surrogate cost function) in much less than the 60

second time limit, thus the results for best time and the number of

solutions found are naturally truncated.

6.5.1 Key results for BKA data group

Both H1 and H3 performed well for the BKA problem instances, but H1

(MIP1 ) generally outperformed H3 (MIP2 ). This is demonstrated in Fig-

ure 6.1a (p.161); method H1 j consistently finds the first feasible solution as

fast (if not faster) than H3 j, for all catalyst weights ωj where j ∈ {1, . . . , 6}.Moreover, the best true-cost solutions are generally found faster by the H1

methods compared to the H3 methods; see Figure 6.4a (p.167).

There is not much difference between H1 and H3 in terms of the quality of

the first and best solutions found (Figures 6.5a and 6.6a, p.169 and p.170

respectively), though the cost gap of the best solution found does increase

with increasing weight (see Figure 6.8a, p.171) as anticipated.

Page 212: New data generation and solution techniques for the

182 COMPUTATIONAL STUDY OF THE HEURISTICS

6.5.2 Key results for n25 data group

The results for catalyst methods H1, H2, H3 and H4 show very clear patterns

on the n25 problem instances. For each i ∈ {1, . . . , 4}, Figures 6.2b (p.164)

and 6.3b (p.165) show that the number of solutions found by method Hi j

increases as j increases (that is, the weight ωj increases), while Figure 6.1b

(p.161) shows that the time the first solution is found by method Hi j de-

creases as j increases. Both of these results provide supporting evidence for

the hypothesis that the IP-based catalyst method may be able to find more

feasible solutions faster than solving the pure MIPs (recall that M1=H1 1,

M2=H2 1, M3=H3 1 and M4=H4 1).

The trade-off of the catalyst methods (quantity and speed to find feasible

solutions at a cost to solution quality) is particularly evident for weights of

1 or more (Hi j for j ∈ {4, 5, 6}), as demonstrated by increasing cost gap of

the first solution found as seen in Figure 6.7b (p.171), and increasing cost

gap of the best solution found in Figure 6.8b (p.171).

6.5.3 Key results for n50 data group

The construction heuristic found at least one feasible solution by 1 second

for all 60 n50 problem instances. In contrast, none of the catalyst methods

found at least one feasible solution for all 60 instances within the 180 second

time limit; the best performing method is H1 4 with at least one feasible

solution for 73.3% of the instances, as per Table 6.6c (p.160). Catalyst

methods with low weights (Hi 2 and Hi 3) very clearly lagged behind the

methods with higher weights (Hi 4 to Hi 6) at all key times. Indeed, the

pure MIPs (Hi 1) were clearly outperformed on this measure by all catalyst

measures with higher weights (Hi 4 to Hi 6) at all key times.

For almost all key times and weights, the MIP1 catalyst methods (H1 and

H2) dominated the MIP2 catalyst methods (H3 and H4). This is seen in the

percentage of instances with at least one feasible solution found (Table 6.6c,

p.160) and the number of solutions found (Figures 6.2c and 6.3c, pages 164

and 165). Given so many of the n50 instances did not have feasible solutions

found within the 180 second time limit, it is much harder to draw meaningful

conclusions on the cost of the first and best solutions found, though they do

Page 213: New data generation and solution techniques for the

6.5 IP-based catalyst heuristic results 183

appear to increase with increasing weight.

6.5.4 Key results for n100 data group

Four of the 24 catalyst methods—three with a catalyst weight of 1—produced

feasible solutions for up to 10% of n100 instances within the original heuristic

time limit of 300 seconds; see Table 6.6d (p.160). Since no feasible solutions

were found for any n100 instance with the pure MIPs (see Section 4.6.4.6,

p.116) with a time limit of 10,300 seconds, these results support the hypoth-

esis that the IP-based catalyst with a non-zero weight can be a method for

finding feasible solutions faster than solving the pure MIPs directly for the

SOP-TW.

For the best weight of H1, H2, H3 and H4, the time limit was extended

to 10,300 seconds to determine if additional instances had feasible solutions

produced. The reasoning for the selection of weights is given in Table 6.9.

However, extending the time limit for those catalyst methods did not pro-

duce feasible solutions for any other n100 instances, indicating how hard it is

to find feasible solutions for these larger instances with these heuristic meth-

ods. Indeed, computational limits were encountered for the extended-runs

as follows.

Recall from §6.1 that CPLEX parameter CPX PARAM NODEFILEIND was set

to 3. CPLEX’s default working memory is 128MB; when the size of the

tree exceeds 128MB, some nodes are transferred to node files which are

compressed and stored in memory (that is, CPX PARAM NODEFILEIND=1 is the

default setting). To extend memory without increasing working memory, we

set parameter CPX PARAM NODEFILEIND to 3 so that node files are transferred

to disk and compressed. Even then, for three of the four MIP-based heuristic

methods allowed the extended time limit of 10,300 seconds, CPLEX ran out

of memory trying to solve numerous instances as summarised in Table 6.10.

Consequently, while the results reported in this chapter do provide some ev-

idence to support the hypothesis that the catalyst methods can sometimes

find feasible solutions faster than solving the pure MIPs directly, computa-

tional limits may be encountered with these IP-based heuristics. In contrast,

the construction heuristic does not use a large amount of computational ef-

fort, memory or special software.

Page 214: New data generation and solution techniques for the

184 COMPUTATIONAL STUDY OF THE HEURISTICS

Method Weight Reason

H1 4 ω4 = 1 This was the only weight for an H1 method where solutions

were found by 300 seconds (8.33%, 5 of 60 instances).

H2 4 ω4 = 1 This weight had the largest number of instances with at

least one solution by 300 seconds (10%, 6 of 60 instances

for ω4 = 1; compare with 1.67% for ω6 = 10, and none for

the other weights).

H3 4 ω4 = 1 This was the only weight for an H3 method where solutions

were found by 300 seconds (1.67%, 1 of 60 instances).

H4 6 ω6 = 10 No solutions found for any H4 method by 300 seconds.

Looking at the n50 results, weight ω6 = 10 produced the

most data sets with at least one solution found (14 com-

pared with 1, 0, 1, 11 and 10 for the first five weights respec-

tively). The number of solutions found by an H4 method

is also generally higher for this weight for each of the other

data groups.

Table 6.9: Catalyst weights for the extended n100 experiments.

Method Count Percentage

H1 4 22 36.7%

H2 4 23 38.3%

H3 4 4 6.7%

H4 6 0 0.0%

Table 6.10: Number and percentage of n100 problem instances that did not

finish solving for each extended-run heuristic due to lack of memory.

Page 215: New data generation and solution techniques for the

6.6 Heuristics in a branch-and-bound scheme 185

6.5.5 Conclusions

The catalyst methods were relatively quick to find feasible solutions for the

BKA and n25 instances, but slowed considerably for the n50 instances.

Despite that, the best catalyst methods still found feasible solutions faster

than the pure MIPs for these instances. For example, method H1 4 found

feasible solutions for 73.3% of the n50 instances by 180 seconds; in contrast,

the corresponding pure MIP method M1 (H1 1) found no feasible solutions

for any of the n50 instances in the same time. Similarly, none of the pure

MIPs found solutions for the n100 instances, but the best catalyst methods

found solutions for up to 10% of those instances.

Despite outperforming the pure MIPs and construction heuristic on the

hardest problem instances, these heuristics cannot reliably produce feasible

solutions within a reasonable time limit. Consequently, alternative solution

techniques will be investigated in the next chapter. However, as will be

discussed in the next section, the best catalyst methods (and the construc-

tion heuristic) may be very useful when incorporated into another solution

technique.

6.6 Heuristics in a branch-and-bound scheme

The construction heuristic and the IP-based catalyst heuristics studied in

this chapter can be incorporated into a branch-and-bound scheme, such as

the one proposed in the next chapter, in an attempt to generate feasible

solutions—heuristic upper bounds—at key points of the solution process.

6.6.1 At the root node

Regardless of whether the B&B tree is LP-based or scheduling-based, any or

all of the heuristics could be executed at the root node of a B&B tree. This

would correspond to solving the original (unrestricted) problem, as solved

in this chapter.

The heuristic results showed that the relative effectiveness of each method

at finding feasible solutions varied with the number of jobs and time limit

Page 216: New data generation and solution techniques for the

186 COMPUTATIONAL STUDY OF THE HEURISTICS

allowed. Consequently, the time limit provided for each heuristic at the root

node should depend on the method and the size of the problem instance.

For example, the construction heuristic is very fast to find feasible solutions

for smaller problem instances; it needs less than 5 seconds to find many

feasible solutions for instances with 50 or fewer jobs. In contrast, execut-

ing the construction heuristic at the root node for 100 job problems is not

worthwhile; the time required to find at least one feasible solution may be

prohibitive. Instead, computation time may be better spent solving the

problem with an exact method that embeds the heuristic at key points of

the solution process. For example, the construction heuristic could be exe-

cuted at select nodes within the scheduling-based B&B scheme proposed in

the next chapter; for n100 instances, this may mean running the construc-

tion heuristic at nodes where 50–75 jobs have already been scheduled, and

thus only 25–50 jobs remain to be scheduled.

The catalyst methods with weights greater than or equal to unity find feasi-

ble solutions faster than the corresponding pure MIPs (that is, the catalyst

methods with zero weight) for both the n25 and n50 instances (Figure 6.1).

This gives some insight on which catalyst weights to use, the problem sizes

the catalyst may be useful for, and also the minimum time required to have

a good chance at finding at least one feasible solution. Consequently, the

results from this chapter provide a guide to determining where, when, and

the duration of including the catalyst within other methods, such as the

scheduling-based B&B scheme in the next chapter.

6.6.2 At nodes within the tree

When executing a heuristic at a node within a B&B tree, information avail-

able at the B&B node may be useful. In the case of a scheduling-based B&B

tree, a node represents a feasible forward partial schedule, thus this infor-

mation could be used as input to the heuristic. As a result, it may actually

speed up the time required to obtain an outcome from the heuristic, as some

decisions have already been made.

In the next chapter, we propose using the construction heuristic and the

best catalyst method within our scheduling-based B&B tree in an attempt

to find upper bounds (feasible solutions). For any heuristic inclusion, there

Page 217: New data generation and solution techniques for the

6.7 Other heuristic techniques 187

is a trade-off between the benefit of finding an upper bound, and using the

time limit to investigate as many nodes as possible to raise the lower bound

(and thus say something about the optimality gap if the branch-and-bound

process terminates prior to optimality). Since it would be time consuming

to run the heuristics at all nodes, careful consideration must be given as

to when, where and for how long each heuristic should be executed. That

balance is investigated via a computational study that considers a range of

scenarios.

The construction heuristic results described earlier suggest that it could

be very effective to execute the construction heuristic at select nodes of a

scheduling-based B&B scheme: briefly (<5 secs) at nodes at level 25 for n50

problem instances (that is, where only 25 jobs remain to be scheduled), and

at levels 50 and 75 for n100 problem instances (where only 50 jobs and 25

jobs remain, respectively).

The catalyst results suggest that it may be effective to use method H1 4

(MIP1 with original precedence set P and a catalyst weight of 1) for 10

seconds on SOP-TW subproblems with only 25 jobs remaining. This cor-

responds to nodes at level 25 of n50 B&B trees, and level 75 of n100 B&B

trees. Since there are many B&B nodes at each of these levels, 10 seconds

is a significant amount of time to dedicate to a heuristic method. Conse-

quently, 5 seconds may provide a better balance between success at finding

a feasible solution for the time investment spent trying to find those feasible

solutions.

6.7 Other heuristic techniques

There are many other heuristics that could be adapted and applied to solve

the SOP-TW. In this section, Lagrangian relaxation heuristics and improve-

ment heuristics are briefly discussed. In particular, a Lagrangian-based

heuristic we implemented and trialled is outlined. However, a further in-

vestigation of these types of heuristics is beyond the scope of this thesis for

reasons that will be noted.

Page 218: New data generation and solution techniques for the

188 COMPUTATIONAL STUDY OF THE HEURISTICS

6.7.1 Lagrangian relaxation heuristics

Lagrangian relaxation is a method for finding lower bounds on the optimal

value of a problem. The “difficult” constraints of the problem are relaxed

into the objective function via penalties called Lagrange multipliers. The

remaining constraints are “easy”, so solving the relaxed problem is also

easy. The optimal value of this relaxed problem gives a lower bound on the

optimal value of the original problem.

A Lagrangian heuristic is a method that endeavours to convert the solution

of a Lagrangian relaxation subproblem (which gives a lower bound) into

a feasible solution of the original problem (which gives an upper bound).

Given we are trying to find the optimal solution to the original problem, we

seek the maximum lower bound that can be achieved by a Lagrangian relax-

ation subproblem. While many different methods can be used to do this, the

iterative method of subgradient optimisation was used in our implementa-

tion (discussed in §6.7.1.1–6.7.1.2) to determine the value of the Lagrangian

multipliers. For more details on Lagrangian relaxation, Lagrangian heuris-

tics and subgradient optimisation, the interested reader is referred to [97],

[98], [99] and [100]. See [61] for a brief review of Lagrangian relaxation

approaches applied to the VRP-TW.

If a Lagrangian heuristic is successful at producing a feasible solution, the

value of this solution is an upper bound on the optimal value of the origi-

nal problem. This solution, along with the best lower bound, can be used

in a number of ways. One important use is within a branch-and-bound

framework and is discussed in the next section.

6.7.1.1 Lagrangian heuristics within a B&B framework

When a Lagrangian heuristic is used within a branch-and-bound framework,

this becomes an exact solution technique. Nevertheless, in practice, it can

be difficult to solve large problems to optimality in a reasonable amount of

time. In general, performing many subgradient iterations will reduce the

gap between the lower and upper bounds, and thus should reduce the size

of the B&B tree. However, this may come at a significant computational

cost. In spite of this, if insufficient subgradient iterations are performed,

Page 219: New data generation and solution techniques for the

6.7 Other heuristic techniques 189

the bounds may be weak, resulting in a larger B&B tree. Thus a trade-

off exists between the size of the tree and the total number of iterations.

Consequently, an efficient scheme requires careful implementation: it relies

upon generating good quality bounds in reasonable time, via an effective

subgradient search procedure.

Schemes that combine branch-and-bound with Lagrangian heuristics are

regularly used to solve NP-hard problems. For example, a branch-and-

Lagrangian solution approach has been successfully applied to another TSP

variant: the Asymmetric Travelling Salesman Problem with Replenishment

Arcs [2]. Focacci, Lodi and Milano [38] also use a Lagrangian approach to

improve the quality of the bounds they use in their overall approach. They

found their overall approach to be effective when compared with the state-

of-the-art methods in the literature. Consequently, if good lower bounds are

obtained, it appears that this scheme can be applied very successfully.

Our implementation of a Lagrangian heuristic for the SOP-TW involves

solving the Assignment Problem relaxation given by

(AP) min∑

(i,j)∈A

sijxij

s.t. (4.1)− (4.2)

xij ∈ [0, 1] ∀(i, j) ∈ A.

The major benefit of the Assignment Problem relaxation is that the solu-

tion is naturally integral (that is, the linear relaxation of the Assignment

Problem always gives binary solutions when solved with a simplex-type

method). Consequently, each subproblem is a simple linear program that

is easy to solve. We Lagrangian-relax the subtour elimination constraints,

SECs, (4.13) and infeasible path elimination constraints, IPECs, (4.14) of

MIP3 (see §4.3). Given there are exponentially many constraints in these

sets it is not feasible to relax all constraints into the objective. Instead,

violated constraints are added into the objective as they are found during

subgradient optimisation.

The subgradient optimisation procedure requires an upper bound to ini-

tialise a step size that is used to update the Lagrange multipliers. If this

upper bound is weak, this directly impacts the choice of the Lagrange mul-

tipliers. Given our construction heuristic and most of the catalyst methods

Page 220: New data generation and solution techniques for the

190 COMPUTATIONAL STUDY OF THE HEURISTICS

failed to produce feasible solutions for the vast majority of n100 problem in-

stances, we could not use these heuristics to reliably produce upper bounds.

6.7.1.2 Preliminary implementation, results and further work

Details of the implementation we trialled are omitted, as this line of research

was not investigated beyond a very basic scheme, which entailed solving the

Assignment Problem relaxation with minimal SECs and minimal IPECs

added to the objective as they were found during subgradient optimisation.

While additional constraints and liftings could be included, the scheme was

not extended. The initial results for the n25 instances were not particularly

promising (weak lower bounds; long time to converge; tuning to find suitable

parameters was onerous; no feasible solutions were found), so we decided not

to investigate this method any further, especially since both the construction

heuristic and catalyst methods were producing excellent heuristic results

for small to medium sized problems. For larger problems, we decided to

pursue exact B&B methods which incorporate the construction heuristic

and catalyst methods to attempt to find upper bounds during the solution

process.

However, there are many options for extending the Lagrangian scheme men-

tioned here. Firstly, strengthenings to the minimal subtour elimination con-

straints and minimal infeasible path elimination constraints may be found.

Additionally, other constraints could be trialled; all valid inequalities for

SOP-TW relaxations (for example, the ATSP-TW and SOP; see §2.2, p.20)

are also valid for the SOP-TW, so any or all of these valid inequalities could

be included in the scheme.

Once the scheme is competitive with other heuristics both in terms of time

and strength of the lower and upper bounds generated, it may be worth

inserting the Lagrangian heuristic into a B&B framework.

6.7.2 Improvement heuristics

Many heuristics—such as Simulated Annealing [101], Tabu Search [102],

Local Branching [89] and Relaxation Induced Neighborhood Search [88]—

require a feasible solution to initialise, and subsequently attempt to find

Page 221: New data generation and solution techniques for the

6.8 Key findings and further work 191

better feasible solutions. Since our construction heuristic and most of the

catalyst methods failed to produce feasible solutions for the vast majority

of n100 problem instances, we can not reliably produce feasible solutions to

seed these types of improvement heuristics.

In contrast, some heuristics—such as Evolutionary Algorithms like Genetic

Algorithms [103]—do not require initial feasible solutions, but can per-

form better if feasible solutions are in the initial population (for example,

see [104]). However, since these techniques are still heuristics, there is no

guarantee of obtaining an optimal solution, let alone a feasible solution. As

a result, investigation of additional heuristics are beyond the scope of this

thesis. Instead, exact methods which may have better success at finding

feasible solutions for the n100 instances are considered in the next chapter.

6.8 Key findings and further work

At least one catalyst heuristic outperforms the pure MIPs5 at all key time

points for the n25, n50 and n100 data groups (see Table 6.6). This supports

the hypothesis that the IP-based catalyst with a non-zero weight can be a

method for finding feasible solutions faster than by solving the pure MIPs

directly for the SOP-TW.

The construction heuristic clearly dominates the catalyst methods for BKA,

n25 and n50 problem instances, both in terms of producing feasible solutions

quickly, and producing many feasible solutions. In terms of true cost quality

of the best solutions found, the best catalyst methods mostly perform at

least as well as the construction heuristic. However, neither the construction

heuristic or the catalyst methods (for any weight) are satisfactory at reliably

producing feasible solutions for the n100 problem instances, let alone quickly.

This is unsurprising given the complexity results (§2.3, p.25).

As noted earlier, these results suggest that these heuristic methods are only

suitable for use on smaller problem instances (50 or fewer jobs). Conse-

quently, we will investigate how they could be incorporated into an exact

B&B scheme for tackling larger problems in the next chapter.

5Recall that the pure MIPs correspond to Hi 1 for i ∈ {1, 2, 3, 4} as weight ω1 = 0.

Page 222: New data generation and solution techniques for the

192 COMPUTATIONAL STUDY OF THE HEURISTICS

The heuristic investigations presented in this chapter give rise to many in-

teresting questions. These include:

• Can insertion orders be generated in a non-random way that increases

the probability of producing a feasible solution? If so, this could im-

prove the success of the construction heuristic on n100 instances.

• Can a “symmetry indicator” be devised that evaluates the level of

symmetry a priori? That is, can examining a data set ahead of solving

it indicate the level of symmetry anticipated? This idea arose due

to (BKA,6): all insertion orders produced a feasible solution thus

Rsuccess = 1. However, less than half the number of unique feasible

solutions of any other BKA instance were produced for (BKA,6), and

thus it had the smallest Runique of any BKA instance. We believe this

is due to the significant amount of symmetry in the data set, which

means that the same solutions are repeatedly sampled. Knowing the

relative level of symmetry ahead of running a heuristic may be useful

as it may inform the time limit provided to the heuristic.

• Could analysing optimal solutions (or suboptimal feasible solutions)

provide greater insight on good catalyst weights? A computational

study analysing the optimal solution(s) of each problem might suggest

a different perturbation scheme that may allow a closer relationship

between the surrogate cost function and true cost function. Indeed, it

would be very interesting to see if general conclusions could be made.

• What other schemes could be used to determine and/or apply weights

in the catalyst heuristic? For example, weights may vary for each job

(in MIP1 ) or job-pair (in MIP2 ) and may be a function of problem

attributes such as time windows or set-up times, or vary dynamically

with run time; determining the best weights to use is a complex opti-

misation problem in its own right.

• What other surrogate cost functions could be used? Instead of per-

turbing the true objective function by adding the βt (βy) component

to MIP1 (MIP2 ) perhaps there is another option; this may include re-

moving cx from both surrogate cost functions. Alternatively, entirely

new variables could be added; since this could change the underlying

MIP, in the first instance it may be worth incorporating new variables

Page 223: New data generation and solution techniques for the

6.9 Chapter summary 193

and constraints that are redundant.

Unfortunately, answers to these questions are beyond the scope of this thesis

but are recommended for future research. Additionally, it would be interest-

ing to investigate various improvement heuristics but they are also beyond

the scope of this thesis.

6.9 Chapter summary

In Chapter 5, several heuristics for finding an initial feasible solution were

presented. In this chapter, a comprehensive computational study of those

heuristics was performed. The key measures of interest for each heuristic

were:

• number of solutions found;

• time to first solution;

• time to best true-cost solution;

• true cost of first solution;

• true cost gap of first solution (if optimal value is known);

• cost of best true-cost solution; and

• cost gap of best true-cost solution (if optimal value is known).

The results for each of these measures were discussed, and summarised

graphically and numerically in a series of figures and tables.

An insertion-based construction heuristic for the SOP-TW was described

in Section 5.3; the results of experiments on this heuristic were discussed

in Sections 6.3 and 6.4. The construction heuristic was very successful at

finding good quality feasible solutions quickly for smaller problem instances,

but was unable to find any for the n100 data sets with the original heuristic

time limit of 300 seconds. With the extended time limit of 10,300 seconds

(that is, the same time limit given to the pure MIPs in Section 4.6.4.6) a

single feasible solution was found for only four of the 60 data sets. However,

since none of the pure MIPs produced feasible solutions for these instances

within 10,300 seconds, this is some progress in tackling these hard problems.

Page 224: New data generation and solution techniques for the

194 COMPUTATIONAL STUDY OF THE HEURISTICS

In Section 5.4, an IP-based perturbation heuristic that solves a modified MIP

was proposed; the results of experiments on this heuristic were discussed

in Sections 6.3 and 6.5. When tuned appropriately, the modification to

the objective function acts like a catalyst, enabling feasible solutions to

be found faster than solving the equivalent true MIP. The trade-off was

solution quality; the surrogate MIP has a modified objective function, so the

feasible solutions found were suboptimal. Like the construction heuristic,

this catalyst heuristic was also very successful at finding feasible solutions

quickly for small problem instances.

Most importantly, four of the 24 catalyst methods—three with a catalyst

weight of 1—produced feasible solutions for up to 10% of n100 instances

within the original heuristic time limit of 300 seconds. This provides sup-

porting evidence for the hypothesis that the IP-based catalyst with a non-

zero weight can be a method for finding feasible solutions faster than solving

the pure MIPs directly for the SOP-TW. However, extending the time limit

to 10,300 seconds for those methods did not produce feasible solutions for

any other n100 instances, indicating how hard it is to find feasible solutions

for these larger instances.

Although various improvement heuristics could have been proposed and in-

vestigated, these were not implemented as finding feasible solutions to hard

problems is still a challenge. Consequently, the focus of the remainder of

this thesis is devising exact schemes that may generate feasible solutions

throughout the solution process. As mentioned in Section 6.6, this will

include incorporating the heuristics studied here into a branch-and-bound

scheme, both at the root node and at nodes within the B&B tree.

Page 225: New data generation and solution techniques for the

Chapter 7

A SCHEDULING

BRANCH-AND-BOUND

SCHEME

A branch-and-bound scheme based on a scheduling approach is presented in this

chapter. In this method, each node of a branch-and-bound tree represents a unique

partial schedule. The pruning criteria applied to identify partial schedules that lead

to infeasibility is a critical component of the scheme. This criteria is a list of

logical conditions that can be checked sequentially. Implementation notes for the

most complicated criteria are given, and the options for including heuristics at the

root node and within the branch-and-bound tree are discussed.

7.1 Introduction

Since finding feasible solutions to hard SOP-TW problems remains a chal-

lenge, the focus of this chapter is devising exact schemes that may generate

feasible solutions throughout the solution process. This includes incorpo-

rating the heuristics studied in the previous two chapters into a scheduling-

based branch-and-bound (B&B) scheme, both at the root node and at nodes

within the B&B tree. The B&B algorithm will be presented and the key

components will be discussed in detail. For additional details of branch-and-

bound and related topics for solving integer programs see [105, 106].

195

Page 226: New data generation and solution techniques for the

196 A SCHEDULING BRANCH-AND-BOUND SCHEME

The outline for the remainder of this chapter is as follows. In §7.2 a high-level

overview of the scheduling-based B&B algorithm is presented. The notation

and mappings used to describe and connect information in the B&B tree,

including forward partial schedules, is given in §7.3. The seven criteria used

to prune nodes in the B&B tree are described throughout §7.4, while ad-

ditional implementation details that are not immediately obvious are given

in §7.5. Section 7.6 describes how the best heuristics from Chapters 5 and

6 will be implemented within the scheduling-based B&B tree, both at the

root node and at nodes deeper in the tree.

7.2 A scheduling-based B&B algorithm

When constructing a B&B tree, each new node is labelled by a unique

identifier—usually the next unassigned integer—which is called its node

number. The root node is given the special node number of 0. Henceforth,

the node with node number i, will be referred to as node i. Consequently,

N is defined to be the set of all node numbers in a B&B tree, and each

element of N represents a node in the tree.

The problem at the root node of a branch-and-bound tree represents the full

problem, that is, when no decisions have been made. Every branch in a B&B

tree represents a decision, where this decision is in the form of restricting a

decision variable. Each new node (generated by a new branch) represents a

subproblem of the problem at its parent node.

In Section 4.2 two compact mixed integer linear programs (MIPs) for the

SOP-TW were presented. Commercial MIP solvers at their default settings

will use an LP-based B&B scheme to solve such formulations; this was the

case in Section 4.6.4. A generic algorithm for LP-based B&B is given in

Algorithm 12.

There is an important distinction between the standard LP-based B&B al-

gorithm and the scheduling-based B&B algorithm described in this chapter:

the former algorithm branches on fractional variables at a node, and the

latter algorithm branches on the assignment of a job to the next position

in the schedule, that is, it considers appending a job to the current partial

schedule dictated by the current B&B node. Such a B&B scheme, coupled

Page 227: New data generation and solution techniques for the

7.2 A scheduling-based B&B algorithm 197

Algorithm 12: An algorithm for LP-based branch-and-bound

Input: A mixed integer linear program with formulation F

Output: Problem status (optimal or infeasible) and solution

initialise

root node ← node 0

root node problem F 0 ← F

list of unexplored nodes ← {0} (i.e. root node only)

incumbent x∗ ← void

if minimising then z∗ ← +∞ else z∗ ← −∞

while list of unexplored nodes 6= ∅ dochoose node from list to explore: node i, representing problem F i

solve LP relaxation of F i: zi ← LP value, xi ← LP solution

if LP relaxation is infeasible thenprune node i due to infeasibility

else

// LP relaxation is feasible

if zi is worse than z∗ thenprune node i due to bound

else if LP relaxation is integer then

update incumbent: z∗ ← zi, x∗ ← xi

// no further branching required for this node

else

// zi is better than z∗, but xi is not integer

choose a variable that is fractional in xi for branching: xij /∈ Zcreate two child nodes by branching on xij : subproblems F i1 , F

i2

add nodes representing F i1 and F i2 to list of unexplored nodes

if incumbent = ∅ thenstatus ← infeasible

elsestatus ← optimal

return status, z∗, x∗

Page 228: New data generation and solution techniques for the

198 A SCHEDULING BRANCH-AND-BOUND SCHEME

with strong dominance rules, has been shown to be very effective for many

single machine scheduling problems such as 1|rj |Lmax and 1| |∑wjTj ; see

Pinedo [15] for details.

The effectiveness of the scheduling B&B scheme for the SOP-TW can be

justified intuitively. Recall that finding a feasible solution for the SOP-TW

is NP-complete in the strong sense. Hence any strong deductions that can be

carried out to prune infeasible or dominated solutions efficiently will stand

a good chance of performing well (compare with effective dynamic program-

ming approaches that also rely on the elimination of states via domination

or feasibility tests, such as in [7] and [12]). With the partial schedule ob-

tained at every node in the B&B scheme, many more deductions or tests

can be carried out at the node, in contrast to those possible for an LP-based

fractional solution. Furthermore, the deductions or tests can be specified in

“algorithmic” syntax that is easy to implement, as opposed to inequalities

or cuts in an LP-based B&B scheme, such as in branch-and-cut.

Recall the definition of the integer variables from Section 4.2.1, namely

xuv :=

1, if job v is processed immediately after job u,

0, otherwise,

where u, v ∈ V ∪ {0} and xuv exists if and only if (u, v) ∈ A where A is the

preprocessed arc set. In a scheduling branch-and-bound tree—BB—the root

node represents an empty schedule: the position of each job in the schedule

is unknown, and the value of each xuv has not yet been assigned.

Recall the definition of a forward partial schedule from Section 5.2. On each

branch of BB a decision will take the form xuv = 1 where the decision is

really “what is v?”, initialised with u=depot (a dummy job) on the branches

out of the root node. Thus each node in BB represents a forward partial

schedule, and each decision (branch) adds a new job to the forward partial

schedule of the parent node. The result of this approach is that each node

in BB represents a unique forward partial schedule. An example of BB with

four jobs is shown in Figure 7.1; note that BB is only partially expanded.

A generic algorithm for this approach is given in Algorithm 13, where the

input is a SOP-TW problem instance and a MIP formulation (which may be

one of the formulations given in §4.2), and the procedure CheckCriteria (de-

Page 229: New data generation and solution techniques for the

7.3 Notation and mappings for BB 199

*,*,*,*

1 ,*,*,* 2 ,*,*,* 3 ,*,*,* 4 ,*,*,*

1 ,2 ,*,* 1 ,3 ,*,* 1 ,4 ,*,*

1 ,3 ,2 ,* 1 ,3 ,4 ,*

Leve l 0

Leve l 1

Leve l 2

Leve l 3

x01 = 1 x02 = 1 x03 = 1 x04 = 1

x14 = 1x13 = 1x12 = 1

x34 = 1x32 = 1

Figure 7.1: An example of BB with four jobs. Each node at level l has the

first l jobs scheduled, with the job in the l-th position the latest job to be

scheduled. * denotes that a job has not been scheduled in that position.

scribed in Section 7.4) evaluates if the new child node under consideration—a

temporary node—should be pruned or added to the set of unexplored nodes.

7.3 Notation and mappings for BB

In this section notation and mappings to describe and connect information

at each node of the scheduling B&B tree, BB, are introduced; these are sum-

marised in Table 7.1 (p.201), along with other notation used in this chapter.

The relationship between nodes at adjacent levels of BB are demonstrated

in Figure 7.2 (p.203).

The level of a node describes the number of decisions that have been made

to reach that node. Thus the level of node i ∈ N of a B&B tree is given by

the depth of the branches leading from the root node to node i. In BB, the

level of a node also corresponds to the number of jobs in the partial schedule

at that node. Thus the maximum depth of the tree is the total number of

jobs to be scheduled, n = |V |.

Page 230: New data generation and solution techniques for the

200 A SCHEDULING BRANCH-AND-BOUND SCHEME

Algorithm 13: A scheduling-based branch-and-bound algorithm

Input: V , n, pu, au, bu, suv, P (with α’s), PALL (with α’s)

Output: An optimal schedule, or problem is infeasible.

initialise

list of unexplored nodes sorted by best LP value, heap← ∅incumbent x∗ ← void, z∗ ← +∞

solve LP at node 0 (root node)

z0 ← value of LP relaxation of node 0

x0 ← solution of the LP relaxation of node 0

UnscheduledJobs(0) = V // all jobs are unscheduled at root node 0

if LP at node 0 is infeasible thenstatus ← infeasible; goto return

else if x0 is integer then

update incumbent: z∗ ← z0, x∗ ← x0

status ← optimal; goto return

else

// LP is feasible but x0 is not integer

add node 0 to heap

while heap 6= ∅ dochoose node at head of heap: node i

if zi ≥ z∗ then// incumbent better than remaining nodes in heap

status ← optimal; goto return

else

forall the k ∈ UnscheduledJobs(i) do

// let the index of the new node be j

if procedure CheckCriteria(i,k) returns success then

zj ← value of the LP relaxation of node j

xj ← solution of the LP relaxation of node j

UnscheduledJobs(j)← UnscheduledJobs(i)\{k}if xj is integer then

if zj < z∗ then

update incumbent: z∗ ← zj , x∗ ← xj

// no further branching required for node j

elseadd node j to the heap, and sort such that the head of the heap

has best LP value

elseprune node j (as infeasible or dominated)

if z∗ = +∞ thenstatus ← infeasible

elsestatus ← optimal

return status, z∗, x∗

Page 231: New data generation and solution techniques for the

7.3 Notation and mappings for BB 201

Notation Description

n total number of jobs to be scheduled

V set of all jobs to be scheduled, where V = {1, . . . , n}A set of job-pairs such that (i, j) ∈ A if j can start directly after i

ai earliest start time of job i ∈ Vbi latest start time of job i ∈ Vpi processing time of job i ∈ Vsij setup time if job i is immediately followed by job j

αij minimum time delay required between starting jobs i and j

BB scheduling-based B&B tree

N set of all nodes in a B&B tree

N (l) set of all nodes at level l in a B&B tree

λ(i) level in BB of node i ∈ N

κ(i) new job added to the partial schedule at node i ∈ N

ψ(i) parent node of node i ∈ N

γ(i) set of child nodes of node i ∈ N

Si forward partial schedule at node i ∈ N , where Si = (v1i , . . . , v

λ(i)i )

and vmi is the job in the m-th position of SiSi set of jobs in the forward partial schedule Si at node i ∈ N ,

where Si = {v1i , . . . , v

λ(i)i }

β(w) job immediately before job w ∈ V in a schedule

I(w) set of all jobs processed before job w ∈ V in a schedule

tw actual start time of job w in a partial schedule

Ew earliest start time of job w based on strict predecessors of w,

where Ew = maxr∈I(w):(r,w)∈P {tr + αrw}Tw earliest start time of job w in a partial schedule,

where Tw = max{aw, Ew, Tβ(w) + pβ(w) + sβ(w),w}π(w) set of predecessors of w, where π(w) = {v ∈ V : (v, w) ∈ PALL}Πwj set of unscheduled jobs that are predecessors of unscheduled job w at

node j, where w ∈ (V \Sj) and Πwj = {m ∈ (V \Sj) : (m,w) ∈ PALL}Lkv set of unscheduled jobs that have exactly k unscheduled predecessors

(that is, |Πwj | = k) that would have their latest start time violated

as a result of scheduling job v in position l at node j

Pwj set of all permutation sequences formed from the set Πwj

T pw start time of job w given permutation sequence p ∈ Pwj precedes job w

TMINwj lower bound on minp∈Pwj{T pw}, that is, TMIN

wj ≤ minp∈Pwj{T pw}LBj the value of the LP relaxation of the problem at node j ∈ N

UBj the value of the best upper bound of the problem at node j ∈ N

Zj sum of partial schedule setup times at node j, Zj =∑m=l−1m=1 s

vmj vm+1j

Cj earliest completion time of partial schedule at node j, Cj = Tj + pv

Table 7.1: Summary of notation related to the scheduling-based B&B scheme.

Page 232: New data generation and solution techniques for the

202 A SCHEDULING BRANCH-AND-BOUND SCHEME

Let λ be a mapping such that

Nλ−→ {1, . . . , n}

maps a node number to the level of that node in the tree. That is, λ(i) is

the level of node i in the tree, and thus corresponds to the number of jobs

in the partial schedule at that node.

Let κ be a mapping such that

Nκ−→ {1, . . . , n}

maps a node number to the new job being scheduled at that node. That is,

κ(i) is the new job added to the partial schedule at node i. Since one job is

added to a partial schedule at each level in the tree, and node i is at level

λ(i), κ(i) is the job in the λ(i)-th position of the forward partial schedule.

Let ψ be a mapping such that

Nψ−→ N

maps a node number to the node number of its parent node, that is, ψ(i) is

the parent node of node i. Furthermore, let γ(i) be the set of child nodes of

node i (where γ(i) = ∅ if node i has no child nodes). Thus λ(ψ(i)) = λ(i)−1,

and λ(j) = λ(i) + 1 for all j ∈ γ(i).

The decisions on the branches of a path from the root node (node 0) to some

other node, say node i, define that path and a corresponding partial schedule.

As each decision adds a new job to the partial schedule at the parent node,

each node in a scheduling B&B tree defines a unique partial schedule. Thus

at node i, which is located at level λ(i) of a tree, λ(i) positions of the partial

schedule have been fixed by the sequence of decisions on the λ(i) branches

to node i.

7.3.1 A forward partial schedule in BB

Each node within the tree BB represents a forward partial schedule. The

root node at level 0 represents an empty schedule where no jobs are fixed.

From level 0 to level 1, we branch on arcs (the x variables) leaving the depot

such that x0v = 1 if job v is scheduled in the first position. From level l to

Page 233: New data generation and solution techniques for the

7.3 Notation and mappings for BB 203

root nodenode 0

LEVEL 0

node ψ(i)LEVEL λ(ψ(i)) = λ(i)−1

LEVEL λ(i) = the level of node i in the B&B tree

(empty partialschedule)

ψ(i) = the parent nodeof node i

node i

γ(i) = the set of the child nodes of node i

κ(i) = the job scheduled in position λ(i) of the partial schedule at node i

LEVEL λ(j) = λ(i) + 1 for all j γ(i)

Figure 7.2: Elements of a scheduling branch-and-bound tree, BB.

level l + 1 we branch on arcs leaving the job scheduled in position l. For

example, let job u be scheduled in position l at node i in BB (so κ(i) = u

and λ(i) = l). If the decision on one of the branches leaving node i is

xuv = 1, then job v is scheduled immediately after job u; one child node of

i, say node j, has job v scheduled in position l + 1: ψ(j) = i, κ(j) = v and

λ(j) = λ(i) + 1 = l + 1.

Let Si = (v1i , v

2i , . . . , v

λ(i)i ) denote the forward partial schedule at node i of

tree BB, where vmi is the job in the m-th position of the partial schedule at

node i. The decision variable on the branch connecting node i to its parent

node ψ(i) is xκ(ψ(i)),κ(i), as κ(ψ(i)) was the job added to the partial schedule

at the parent node ψ(i) and κ(i) is the job added to the partial schedule at

node i. Equivalently,

xκ(ψ(i)),κ(i) = xvλ(i)−1i ,v

λ(i)i

as κ(ψ(i)) = vλ(i)−1i and κ(i) = v

λ(i)i . Let Si = {v1

i , v2i , . . . , v

λ(i)i } be the set

of jobs in the forward partial schedule Si at node i. Consequently, vmi = vmψ(i)

for m = 1, . . . , λ(i)− 1 thus Si = Sψ(i) ∪ {vλ(i)i }.

Page 234: New data generation and solution techniques for the

204 A SCHEDULING BRANCH-AND-BOUND SCHEME

7.4 Criteria for pruning nodes of BB

A range of criteria can be checked to evaluate if a node of BB is worth

branching on. In particular, consider node j of BB: job κ(j) = v is to be

placed in position λ(j) = l of the forward partial schedule at node j. Let

job κ(ψ(j)) = u be the job in position l − 1, that is, let u be the job added

at the parent node of j, node ψ(j).

In the following subsections a list of logical conditions are outlined that can

be applied to identify if the partial schedule at node j will be infeasible

in BB, or is inferior to an existing node. A flowchart of the criteria with

corresponding section references is given in Figure 7.3.

Recall the earliest start time for a job is calculated by Equation 2.1 (page 20);

it is restated here in notation to be used within our criteria. First consider

some job w ∈ V in a schedule, the job immediately before it, β(w), and the

set of all jobs processed before w, I(w). The earliest time job w ∈ V can

start is given by

Tw = max{aw, Ew, Tβ(w) + pβ(w) + sβ(w),w} (7.1)

where aw is the earliest start time of job w (as [aw, bw] is the time window

associated with job w),

Ew = maxr∈I(w):(r,w)∈P

{tr + αrw} (7.2)

is the earliest start time based on strict predecessors of job w, and tr is the

start time of some job r in the schedule.

7.4.1 Criterion 1: check if arc (u, v) exists

This criterion checks if arc (u, v) is in arc set A, where u is the job scheduled

at parent node ψ(j). In other words, this checks if it is feasible for job v to

immediately follow job u. If the arc does not exist, node j can be pruned

as the problem represented by node j is infeasible.

Page 235: New data generation and solution techniques for the

7.4 Criteria for pruning nodes of BB 205

Criterion 1

check if arc exists§7.4.1

Criterion 2

check job availability§7.4.2

Criterion 3

check effect on unscheduled jobs§7.4.3

additional implementation notes §7.5.1

Criterion 4

check LP feasibility§7.4.4

Criterion 5

check dominance by bound§7.4.5

Criterion 6

execute heuristics§7.4.6

additional implementation notes §7.6

Criterion 7

check dominance between nodes§7.4.7

additional implementation notes §7.5.2

Figure 7.3: Flowchart of pruning criteria with section references.

Page 236: New data generation and solution techniques for the

206 A SCHEDULING BRANCH-AND-BOUND SCHEME

7.4.2 Criterion 2: check if job v is available to begin

This criterion checks if all jobs that must precede job v have already been

scheduled. Let π(v) = {w ∈ V : (w, v) ∈ PALL} be the set of all jobs that

must precede job v. If π(v) ⊆ Sψ(j), job v is available to begin; otherwise

node j is pruned.

7.4.3 Criterion 3: check if scheduling job v in position l

causes a time window violation for an unscheduled job

The aim of this criterion is to evaluate if scheduling job v in position l

(at node j) causes a time window violation for another unscheduled job; if

so, node j can be pruned. For the case where unscheduled job w has no

predecessors, this is as simple as checking that scheduling job w directly

after job v does not violate w’s deadline. For cases where w has one or

more predecessors, we look ahead and check that the shortest path from v

to w via its predecessors does not violate w’s deadline. To achieve this, the

following strategy is employed:

1. The earliest possible time that a job can start depends on the number

of its predecessors that have not yet been scheduled. Consequently,

for each unscheduled job w ∈ (V \Sj) at node j, calculate the set of

unscheduled jobs that are predecessors of job w, denoted Πwj .

2. For k ∈ {0, 1, 2}, calculate Lkv , the set of unscheduled jobs that have

exactly k unscheduled predecessors (that is, |Πwj | = k) that would

have their latest start time violated as a result of scheduling job v in

position l.

3. Extending the results derived for k = 2, the set of k jobs in Πwj

can form a set of permutation sequences, Pwj , which can be used to

calculate Lkv for k ≥ 3.

4. Since there are up to k! permutation sequences in Pwj , evaluating all

sequences is likely to be computationally prohibitive. Consequently,

we derive a lower bound to be used in the calculation of Lkv for k ≥ 3,

and thus calculate a subset of L(k≥3)v which is denoted by L

(k≥3)v .

Page 237: New data generation and solution techniques for the

7.4 Criteria for pruning nodes of BB 207

5. Finally, a set of jobs that will violate their latest start time is given by

Lj = L0v ∪ L1

v ∪ L2v ∪ L(≥3)

v .

If |Lj | 6= 0 then the partial schedule represented by node j is infeasible:

each job in Lj will violate its time window, thus node j can be pruned.

However, if L0v, L

1v, L

2v and L

(≥3)v are evaluated sequentially, node j

can be pruned as soon as the currently evaluated set is non-empty.

The details of this strategy are now discussed.

By definition, the earliest start time of job v, the job considered to be

scheduled at the current node, is given by Tv = max {av, Ev, Tu + pu + suv}where Ev = maxw∈Sψ(j):(w,v)∈P {tw + αwv}.

To quantify the effect of scheduling job v in position l on other unscheduled

jobs, we wish to know if there are unscheduled jobs that will violate their

latest start time, even if the job is scheduled to start at its earliest possible

time. The earliest possible time that a job can start depends on the number

of its predecessors that have not yet been scheduled. For some unscheduled

job w ∈ (V \Sj) at node j, let

Πwj = {m ∈ (V \Sj) : (m,w) ∈ PALL}

be the set of unscheduled jobs that are predecessors of job w. We seek to

calculate Lkv , the set of unscheduled jobs that have exactly k unscheduled

predecessors (that is, |Πwj | = k) that would have their latest start time

violated as a result of scheduling job v in position l.

For k = 0,

L0v = {w ∈ (V \Sj) : Tw > bw, |Πwj | = 0}.

Since Tw = max{aw, Ew, Tv + pv + svw} and aw ≤ bw,

L0v = {w ∈ (V \Sj) : max{Ew, Tv + pv + svw} > bw, |Πwj | = 0}.

Figure 7.4a shows a graphical representation of the schedule for k = 0.

For k = 1,

L1v = {w ∈ (V \Sj) : max{Ew, Tβ(w) + pβ(w) + sβ(w),w} > bw, |Πwj | = 1}

Page 238: New data generation and solution techniques for the

208 A SCHEDULING BRANCH-AND-BOUND SCHEME

u pu

pv

Tu

Tv = m

ax{av ,E

v ,Tu +

pu +

suv }

suv

vj 2

vj 1

. . .T

w = max{a

w ,E

w ,T

v +p

v +s

vw }s

vw

u pu

pv

Tu

Tv = m

ax{av ,E

v ,Tu +

pu +

suv }

suv

vj 2

vj 1

. . .β(w

)

pβ(w

)

Tβ(w

) = max{a

β(w) ,E

β(w) ,T

v +p

v +s

vβ(w) }

svβ(w

)w

Tw = m

ax{aw

,Ew

,Tβ(w

) +p

β(w) +

sβ(w

)w }s

β(w)w

(a)

(b)

u pu

pv

Tu

Tv = m

ax{av ,E

v ,Tu +

pu +

suv }

suv

vj 2

vj 1

. . .

1

svπ

1

1 π2

(c)w

π1

π2

2s

π2 π

1

1

π2

π1

svπ

2

2 w

1 w

Tw = m

in{Tw

, Tw

Β

1 = max{a

π1 ,E

π1 ,T

v +p

v +s

vπ1 }

Α

2

2 = max{a

π2 ,E

π2 ,T

π1 +

1 +s

π1 π

2 }Α

Α

2 = max{a

π2 ,E

π2 ,T

v +p

v +s

vπ2 }

ΒT

π1 = m

ax{aπ

1 ,Eπ

1 ,Tπ

2 +p

π2 +

2 π1 }

ΒΒ

Tw

= max{a

w ,E

w ,T

π1 +

1 +s

π1 w }

ΒΒ

Tw

= max{a

w ,E

w ,T

π2 +

2 +s

π2 w }

ΑΑ

wvvv

0

1

l -1

l

l +1

l +2

l +3

LEVEL

PER

MU

TATIO

N A

PER

MU

TATIO

N B

Fig

ure

7.4:G

raph

ical

represen

tationof

asch

edu

lew

ithrelated

times

forsom

eu

nsch

edu

ledjob

w∈

(V\

Sj )

atnod

ej

wh

en

(a)k

=0,

(b)k

=1

an

d(c)

k=

2.

Each

nod

eis

ajob

and

anarc

betw

eentw

on

od

essh

ows

the

setup

time.

Ineach

case,

Lkv6=∅

ifth

ereex

istsat

least

on

ew∈

(V\

Sj )

such

thatTw>bw

.

Page 239: New data generation and solution techniques for the

7.4 Criteria for pruning nodes of BB 209

where Tβ(w) = max{aβ(w), Eβ(w), Tv + pv + sv,β(w)} since Πwj = {β(w)} for

some w ∈ (V \Sj). Figure 7.4b shows a graphical representation of the

schedule for k = 1.

Now consider k = 2. Let Πwj = {π1, π2} for some job w ∈ (V \Sj). If there

are no precedence relations between jobs π1 and π2, job π1 can be scheduled

before job π2, or vice versa. For the sequence with job π1 scheduled before

job π2, let the earliest start time for job w be TAw ; for the schedule with job

π2 scheduled before job π1, let TBw be the earliest start time for job w. Then

TAw = max{aw, Ew, TAπ2+ pπ2 + sπ2,w}

where

TAπ2= max{aπ2 , Eπ2 , T

Aπ1

+ pπ1 + sπ1,π2}

and

TAπ1= max{aπ1 , Eπ1 , Tv + pv + sv,π1}.

A similar expression can be obtained for TBw . Consequently,

L2v = {w ∈ (V \Sj) : min{TAw , TBw } > bw, |Πwj | = 2}.

Figure 7.4c shows a graphical representation of the schedule for k = 2. If

(π1, π2) ∈ PALL or (π2, π1) ∈ PALL, then only one of the sequences needs

to be considered.

For k ≥ 3, the set of jobs in Πwj for some job w ∈ (V \Sj) can form a set

of permutation sequences. Let Pwj be the set of all permutation sequences

formed from the set Πwj . Using previously described notation, T pw is the

start time of job w ∈ (V \Sj) given permutation sequence p ∈ Pwj before

job w. The set of jobs that will violate their latest start time, given k ≥ 3,

is

L(≥3)v = {w ∈ (V \Sj) : min

p∈Pwj{T pw} > bw, |Πwj | ≥ 3}.

Since there are up to k! permutation sequences in Pwj , evaluating all se-

quences is likely to be computationally prohibitive, so instead we seek a

lower bound TMINwj on minp∈Pwj{T

pw}, that is, minp∈Pwj{T

pw} ≥ TMIN

wj so

that a job w ∈ (V \Sj) will belong to the set L(≥3)v if TMIN

wj > bw. The

lower bound on minp∈Pwj{Tpw} is established as follows.

Page 240: New data generation and solution techniques for the

210 A SCHEDULING BRANCH-AND-BOUND SCHEME

Firstly, recall from §2.1 that the minimum time delay between starting job

u and starting job v is defined as δuv := pu + suv, and that all δ values

satisfy the triangle inequality, and thus the s values satisfy the weak triangle

inequality suv ≤ sur + pr + srv. This means that setting up two jobs (u and

v) by going via a third job (r) is never faster.

Let m = |Πwj | ≥ 3, J(h) be the job in position h of the schedule and TJ(h) be

the earliest start time of job J(h). At node j, J(l−1) = u and J(l) = v, and

we wish to test the effect of setting J(l+m+ 1) = w for some unscheduled

job w ∈ (V \Sj); the m jobs between v and w will be the unscheduled

predecessors of w from the set Πwj as this is the smallest set of jobs that

must be scheduled before w. Due to the triangle inequality, the earliest start

time of w cannot be reduced by scheduling more than the m jobs in set Πwj

between v and w. Consequently, the earliest start time for job J(l + 1) is:

TJ(l+1) = max{aJ(l+1), EJ(l+1), Tv + pv + sv,J(l+1)}

≥ max

{mini∈Πwj

{ai}, mini∈Πwj

{Ei}, Tv + pv + mini∈Πwj

{sv,i}}

:= B

since

aJ(l+1) ≥ mini∈Πwj

{ai}, EJ(l+1) ≥ mini∈Πwj

{Ei} and sv,J(l+1) ≥ mini∈Πwj

{sv,i}

as the values for aJ(l+1), EJ(l+1) and sv,J(l+1) cannot be smaller than the

smallest value given by a predecessor of w from the set Πwj .

The earliest start time expressions for jobs J(l+2), . . . , J(l+m), J(l+m+1)

and their lower bounds are:

TJ(l+2) = max{aJ(l+2), EJ(l+2), TJ(l+1) + pJ(l+1) + sJ(l+1),J(l+2)}

≥ TJ(l+1) + pJ(l+1) + sJ(l+1),J(l+2)

≥ B + pJ(l+1) + sJ(l+1),J(l+2)

Page 241: New data generation and solution techniques for the

7.4 Criteria for pruning nodes of BB 211

TJ(l+3) = max{aJ(l+3), EJ(l+3), TJ(l+2) + pJ(l+2) + sJ(l+2),J(l+3)}

≥ TJ(l+2) + pJ(l+2) + sJ(l+2),J(l+3)

≥ B + pJ(l+1) + sJ(l+1),J(l+2) + pJ(l+2) + sJ(l+2),J(l+3)

= B +l+2∑

h=l+1

pJ(h) +l+2∑

h=l+1

sJ(h),J(h+1)

...

TJ(l+m) ≥ B +l+m−1∑h=l+1

pJ(h) +l+m−1∑h=l+1

sJ(h),J(h+1)

TJ(l+m+1) = max{aJ(l+m+1), EJ(l+m+1), TJ(l+m) + pJ(l+m) + sJ(l+m),J(l+m+1)}

≥ max

{aJ(l+m+1), EJ(l+m+1), B +

l+m∑h=l+1

pJ(h) +

l+m∑h=l+1

sJ(h),J(h+1)

}.

Since we are testing the effect of setting J(l+m+ 1) = w for some unsched-

uled job w ∈ (V \Sj),

TJ(l+m+1) ≥ max

{aw, Ew, B +

l+m∑h=l+1

pJ(h) +

l+m∑h=l+1

sJ(h),J(h+1)

},

and so

minp∈Pwj

{T pw} = TJ(l+m+1)

≥ max

{aw, Ew, B +

l+m∑h=l+1

pJ(h) +

l+m∑h=l+1

sJ(h),J(h+1)

}

≥ max

aw, Ew, B +∑i∈Πwj

pi +∑i∈Πwj

(min

k∈(Πwj∪{w}){sik}

):= TMIN

wj .

Note thatl+m∑h=l+1

pJ(h) =∑i∈Πwj

pi

as the m jobs in positions l + 1 to l +m will be the jobs in w’s predecessor

set Πwj , and

l+m∑h=l+1

sJ(h),J(h+1) ≥∑i∈Πwj

(min

k∈(Πwj∪{w}){sik}

)

Page 242: New data generation and solution techniques for the

212 A SCHEDULING BRANCH-AND-BOUND SCHEME

as the sum of the m setup times cannot be smaller than the sum of the

smallest setup times from each predecessor in Πwj into another predecessor

or job w.

Since we have derived a lower bound on minp∈Pwj{Tpw}, rather than evaluate

L(≥3)v by evaluating T pw for each permutation in Pwj , it is easier to evaluate

L(≥3)v using the lower bound TMIN

wj :

L(≥3)v = {w ∈ (V \Sj) : TMIN

wj > bw, |Πwj | ≥ 3}

where L(≥3)v ⊆ L

(≥3)v . Thus, a set of jobs that will violate their latest start

time is given by

Lj = L0v ∪ L1

v ∪ L2v ∪ L(≥3)

v .

If |Lj | ≥ 1 then the partial schedule represented by node j is infeasible: each

job in Lj will violate its time window, thus node j can be pruned from BB.

Also note that if L0v, L

1v, L

2v and L

(≥3)v are evaluated sequentially, node j

can be pruned as soon as the currently evaluated set is non-empty.

Alternate version of Criterion 3 A simpler version of this criterion fol-

lows. Let L(>0)v be the set of unscheduled jobs with at least one unscheduled

predecessor that would have their latest start time violated as a result of

scheduling job v in position l, that is,

L(>0)v = L1

v ∪ L2v ∪ L(≥3)

v

where L(>0)v ⊇ L1

v ∪ L2v ∪ L

(≥3)v . Rather than evaluate L1

v, L2v and L

(≥3)v

separately which may be impractical, we propose using another lower bound,

LBwj , to determine elements of L(>0)v . In particular, let

LBwj = max

Ew, Tv + pv +∑i∈Πwj

(pi + min

k∈(V \Sψ(j)){ski}

)+ mink∈(V \Sj)

{skw}

,

so that a job w ∈ (V \Sj) will belong to the set L(>0)v if LBwj > bw; Fig-

ure 7.5 shows a graphical representation of the components that contribute

to the second part of the lower bound. Thus

L(>0)v = {w ∈ (V \Sj) : LBwj > bw, |Πwj | > 0}

is a set of unscheduled jobs with at least one unscheduled predecessor that

would violate their latest start time. Combined with L0v, Lj = L0

v ∪ L(>0)v

Page 243: New data generation and solution techniques for the

7.4 Criteria for pruning nodes of BB 213

up up v

T uT v

= m

ax{a

v ,E

v ,T

u+p u

+s u

v}

s uv

v j2v j1

. . .

p π1

p π2

wT w

≥ L

B wj

π 1 π 2v

0

1

l

-1

l

.

. .

l +

m+1

L

EVEL

p πm

π m. . .

min

{s

kπ1 }

k∈(V

\ S ψ

(j))

min

{s

kπ2 }

k∈(V

\ S ψ

(j))

min

{s

kπm}

k∈(V

\ S ψ

(j))

min

{s kw

} k∈

(V\ S

j)

Uns

ched

uled

pre

dece

ssor

s of w

: Πw

j = {

π 1, π 2,

... ,

π m}

Fig

ure

7.5:

Gra

ph

ical

rep

rese

nta

tion

ofth

eco

mp

onen

tsth

atco

ntr

ibu

teto

the

seco

nd

par

tof

the

low

erb

oun

dLBwj,

wh

ere

LBwj

=m

ax{ E

w,T

v+pv

+∑ i∈

Πwj

( pi+

mink∈

(V\S

ψ(j

)){s ki}) +

mink∈

(V\S

j){s kw}} .

L(>

0)

v6=∅

ifth

ere

exis

tsat

leas

ton

e

w∈

(V\

Sj)

such

thatLBwj>b w

.

Page 244: New data generation and solution techniques for the

214 A SCHEDULING BRANCH-AND-BOUND SCHEME

is also a set of jobs that will violate their latest start time, where Lj ⊆ Lj .

Since the lower bound used in L(>0)v is simpler (hence easier and faster to

calculate) than the bounds used in L1v, L

2v and L

(≥3)v , this alternative version

of Criterion 3 may be more useful in BB, particularly if L1v, L

2v and L

(≥3)v

are likely to be empty. However, since LBwj may not be a strong as the

bounds used in L1v, L

2v and L

(≥3)v , it is possible that an unscheduled job that

would be in sets L1v, L

2v or L

(≥3)v is not in L

(>0)v .

7.4.4 Criterion 4: LP feasibility

The SOP-TW can be modelled as a MIP; two compact formulations are

given in Section 4.2. Given a valid MIP formulation of the SOP-TW, this

criterion checks if the LP relaxation of the problem at node j is feasible. If

the LP is not feasible, then the partial schedule at node j cannot lead to a

feasible complete schedule, thus we can prune node j. If the LP is feasible,

the LP value gives a lower bound, LBj , which is a lower bound on the total

setup cost of a complete schedule based on the partial schedule at j. Also

if the LP solution is integer, the LP value gives an upper bound, UBj , and

this node can be pruned. Moreover, if UBj is less than the current best

upper bound, UB, of BB then UBj becomes the new global upper bound.

If node j passes all seven criteria, LBj is used to determine where in the

heap node j is placed (see Alg. 13, p. 200). It is also worth noting that the

earliest start times calculated in Criterion 3 are used to update the lower

bounds on the release dates; this results in tighter LPs for Criterion 4.

7.4.5 Criterion 5: dominance by bound

Given a valid MIP formulation of the SOP-TW, this criterion checks if the

value of the LP relaxation of the problem at node j, LBj , is worse than UB,

the current best upper bound of BB. If LBj > UB, node j is dominated

by a known upper bound (possibly from an existing node) so we can prune

node j.

Page 245: New data generation and solution techniques for the

7.4 Criteria for pruning nodes of BB 215

7.4.6 Criterion 6: heuristics for obtaining feasible solutions

This criterion attempts to generate at least one feasible solution, via a heuris-

tic, to confirm that the problem at node j is feasible; we propose using both

the construction heuristic (§5.3.2, page 128) and the best catalyst heuristic

(§5.4.2, page 145) from the two previous chapters. If an integer solution is

found it gives an upper bound, UBj , and shows that the forward partial

schedule at this node can lead to a feasible complete schedule. If UBj is

better than the current best upper bound, UB, of BB then UBj becomes

the new global upper bound.

To use the construction heuristic for this criterion some modifications are

required; the construction heuristic needs to take the forward partial sched-

ule as a starting point, and new jobs can only be inserted after the final job

of the initial forward partial schedule. This will be discussed in more detail

in Section 7.6.1.

The surrogate MIP used in the catalyst heuristic solves the MIP at node j

with a surrogate objective function. While the construction heuristic can

only succeed or fail at generating feasible solutions, the MIP solver (CPLEX)

may also prove that the surrogate MIP is infeasible; if so, then the true MIP

is also infeasible (as the surrogate MIP has the same feasible set as the orig-

inal MIP) and thus node j can be pruned. However, if the catalyst method

does not find an integer solution or prove the surrogate MIP is infeasible,

this node will not be pruned by Criterion 6. The implementation of the

catalyst heuristic for Criterion 6 is discussed in more detail in Section 7.6.2.

7.4.7 Criterion 7: identifying dominance

In addition to pruning nodes that will prove to be infeasible (such as with

Criteria 1–4 and 6) a feasible node can be pruned if it is dominated by

another feasible node. That is, if the result of a valid comparison of two

nodes is that one node is clearly stronger than the other, the stronger node

is kept while the dominated node is pruned, such as with Criterion 5.

This criterion evaluates if an existing node dominates node j (and if so, do

not create node j), or if node j dominates existing nodes (and if so, prune

these nodes from the list of active nodes that have already been created). A

Page 246: New data generation and solution techniques for the

216 A SCHEDULING BRANCH-AND-BOUND SCHEME

valid comparison is one between two nodes that have exactly the same set

of potential “ends” to the schedule, both in terms of the jobs remaining to

be scheduled and the cost of scheduling those remaining jobs. Here, node j

is compared to existing nodes (for example, node k) that have:

1. the same set of remaining jobs, V \Sj (so Sk = Sj); and

2. the same job in position l (vlk = vlj) thus the same setup time to the

next job.

The details of procedure Criterion7 is shown in Algorithm 14, with some

notes on its implementation in Section 7.5.2.

A summary of each criterion is shown in Table 7.2.

7.4.8 General CheckCriteria procedure

While each criterion is valid in its own right, the order in which we check each

criterion is arranged according to computational effort and sophistication.

For example, Criterion 7 is computationally more time-consuming than, say

Criteria 1 and 2. As such, it is sensible to perform the fast tests that

evaluate basic feasibility properties before proceeding to the more time-

consuming criteria. Consequently, as shown in Algorithm 15, the structure of

the procedure CheckCriteria is a sequence of tests: only when a node passes

a simpler/faster test do we proceed to a more complex/time-consuming test.

7.5 Implementation notes for Criteria 3 and 7

Criteria 3, 6 and 7 require implementation details that are not immediately

obvious. Consequently, additional implementation notes on these criteria are

provided. The discussion of using heuristics in the B&B tree at Criterion 6

and the root node is presented later in Section 7.6.

7.5.1 Implementation of Criterion 3

Criterion 3 checks if scheduling the current job in the current position will

cause any other unscheduled job to violate its due date. As described in

§7.4.3, there are several ways to evaluate and thus implement this criterion.

Page 247: New data generation and solution techniques for the

7.5 Implementation notes for Criteria 3 and 7 217

Algorithm 14: Procedure Criterion7 (parent node i, unscheduled job v)

// Checks if an existing node dominates (or is dominated by) new node j: if

j dominates an existing node, prune dominated node and continue checking

if j is dominated. If j is not dominated, return success, else return

fail.

Input: Partial schedule at node j, Sj = (v1i , v

2i , . . . , v

λ(i)i , v), consisting of the partial

schedule at parent node i (level λ(i)), and an unscheduled job v (so κ(j) = v)

Output: Status (success or fail) of the partial schedule Sj

initialise

level l← λ(i) + 1 (level of node j in the B&B tree)

schedule(j) ← schedule(i) + v // Sj = (v1i , v

2i , . . . , v

λ(i)i , vlj = v)

jobs in schedule(j), Sj ← Si ∪ v where Si = {v1i , v

2i , . . . , v

λ(i)i }

set of active B&B nodes at level l, N (l) // schedules with l jobs

Zj ←∑m=l−1m=1 s

vmj vm+1j

, the sum of the setup times of the partial schedule at node j

Cj ← Tj + pv, the earliest completion time of the partial schedule at node j

status ← success

foreach node k ∈ N (l) such that Sk = Sj and vlk = vlj do

// both partial schedules have the same set of jobs (thus same set of

remaining jobs) and job v in position l

// calculate Zk and Ck

Zk ←∑m=l−1m=1 s

vmkvm+1k

Ck ← Tk + pv

if Zk ≤ Zj and Ck ≤ Cj then

// k dominates j so prune node j

status ← fail; goto return

else if Zj ≤ Zk and Cj ≤ Ck then

// j dominates k so prune node k, then keep checking j against other

nodes in N (l)

prune node k from N (l) and any descendants of k (if they exist)

else

// neither dominates so keep checking nodes in N (l)

return status

Page 248: New data generation and solution techniques for the

218 A SCHEDULING BRANCH-AND-BOUND SCHEME

Criterion Description of criterion and its consequence

1 Check if arc (κ(i), v) exists:

→ If no, prune j.

2 Check if all predecessors of job v have already been scheduled:

→ If no, prune j.

3 Check if Lj = ∅:

→ If no, prune j.

4 Solve LP relaxation of P j to check if LPj is feasible (LBj = zj):

→ If no, prune j. If feasible AND xj integer then do not check

Criteria 5, 6 and 7. If feasible AND xj integer AND zj < UB,

update UB (where UB is the best upper bound found so far).

5 Check if LBj > UB:

→ If yes, prune j.

6 Execute (a) construction heuristic, or (b) catalyst heuristic:

→ If heuristic was (a):

→ If a feasible solution was found:

→ If UBj < UB, update UB = UBj .

→ Else heuristic was (b):

→ If the surrogate MIP was infeasible, prune j

→ Else-if a feasible solution was found:

→ If UBj < UB, update UB = UBj .

7 For each node at level l, check if node j is dominated by node k:

→ If yes, prune j, else check if j dominates k:

→ If yes, prune k (and if they exist, descendants of k).

→ If no existing node at level l dominates j, keep node j.

Table 7.2: Summary of criteria to check when evaluating node j (κ(j) = v, ψ(j) = i,

λ(j) = l).

Page 249: New data generation and solution techniques for the

7.5 Implementation notes for Criteria 3 and 7 219

Algorithm 15: Procedure CheckCriteria(node i, unscheduled job v)

Input: The partial schedule at parent node i and an unscheduled job v

Output: Status of the partial schedule at child node j (success or fail)

initialise

schedule(j) ← schedule(i) + v // Sj = (s1i , s

2i , . . . , s

λ(i)i , v)

status ← success

if pass Criterion1(i, v) then

if pass Criterion2(i, v) then

if pass Criterion3(i, v) then

if pass Criterion4(i, v) then

if pass Criterion5(i, v) then

if executing Criterion 6 for this (i, v) then

if pass Criterion6(i, v) then

if pass Criterion7(i, v) thengoto return

else

// did not pass Criterion 7

status ← fail

else

// did not pass Criterion 6

status ← fail

else

if pass Criterion7(i, v) thengoto return

else

// did not pass Criterion 7

status ← fail

else

// did not pass Criterion 5

status ← fail

else

// did not pass Criterion 4

status ← fail

else

// did not pass Criterion 3

status ← fail

else

// did not pass Criterion 2

status ← fail

else

// did not pass Criterion 1

status ← fail

return status

Page 250: New data generation and solution techniques for the

220 A SCHEDULING BRANCH-AND-BOUND SCHEME

While we did implement both the main version that uses the lower bound

TMINwj in L

(≥3)v , and the alternate version that uses the lower bound LBwj in

L(>0)v , for speed and tractability we only evaluate the alternate version in all

methods reported in Chapter 8 as the sets L1v, L

2v and L

(≥3)v are empty for

the majority of our problem instances. This is because |P | was intentionally

kept relatively small—too many precedences generally make a SOP-TW

problem instance significantly easier to solve—as discussed in §4.5.4.

In the alternate version of Criterion 3, recall that

L0v = {w ∈ (V \Sj) : max{Ew, Tv + pv + svw} > bw, |Πwj | = 0},

L(>0)v = {w ∈ (V \Sj) : LBwj > bw, |Πwj | > 0},

and

LBwj = max

Ew, Tv + pv +∑i∈Πwj

(pi + min

k∈(V \Sψ(j)){ski}

)+ mink∈(V \Sj)

{skw}

.

Thus Lj = L0v ∪ L

(>0)v is a set of unscheduled jobs that will violate their

latest start time if job v is scheduled in the current position. Consequently,

if Lj 6= ∅ then node j can be pruned.

To implement the alternate version of this criterion, all earliest start time

calculations (as defined by Equations 7.1 and 7.2) are calculated to deter-

mine the maximum value, and are stored for use in the conditions of sets L0v

and L(>0)v (that is, the lower bound LBwj). Evaluating L0

v is then straight-

forward.

The most time-intensive components of evaluating LBwj is in (1) deter-

mining Πwj for each unscheduled job w ∈ (V \Sj), and (2) determining

the minimum setup time into each job i ∈ Πwj from another unscheduled

job or v. However, both of these operations are easily implemented and

relatively fast. As a result, the implementation of the alternate version of

Criterion 3 is faster to execute and easier to comprehend when compared

with the implementation of the main version which evaluates L2v and L

(≥3)v .

Finally, as noted in §7.4.4, the earliest start times calculated in Criterion 3

are also used to update the lower bounds on the release dates at that node;

this results in tighter LPs for Criterion 4.

Page 251: New data generation and solution techniques for the

7.6 Using heuristics within the B&B tree 221

7.5.2 Implementation of Criterion 7

Criterion 7 checks to see if the current node under consideration is dominated

by an existing node, or if an existing node is dominated by the current

node. To do this, at every level of the B&B tree a list of “active” nodes is

maintained, where an existing node is classified as active if it (a) passed all

criteria, and (b) is yet to be dominated. If an active node is subsequently

dominated by another node it will be reclassified as “inactive” and removed

from the list at that level.

Within this scheme, as soon as a node is created (that is, it passes all criteria,

including Criterion 7) it is added to the end of the list of active nodes at that

level, and the size of that list is increased by one. When checking Criterion

7 for a new node, if an existing node is found to be dominated by the new

node, the last active node in the list is moved into the list position of the

now dominated node—thus overwriting it—and the size of that list is then

reduced by one. Consequently, our implementation of Criterion 7 maintains

a list of all currently active nodes at each level of the B&B tree.

Note that if an active node has been explored, it may have descendants.

Thus when a node is dominated and it has descendants, both the node and

its active descendants can be removed via a recursive algorithm.

7.6 Using heuristics within the B&B tree

This section describes how the best heuristics from Chapters 5 and 6 will be

implemented within the scheduling-based B&B tree, both at the root node

and at Criterion 6. Where appropriate, results from the heuristic methods

from Chapter 6 are discussed to motivate the parameter settings that inform

which heuristic to include, when to include it, and for how long it should be

executed.

Firstly, recall that the scheduling-based B&B scheme is an exact solution

method; at the conclusion of the algorithm, an optimal solution will be

reached if one exists. Given the general framework of the B&B scheme de-

scribed in Sections 7.2–7.5, additional new criterion can easily be inserted

within the CheckCriteria procedure. In Chapter 5, two heuristic techniques

Page 252: New data generation and solution techniques for the

222 A SCHEDULING BRANCH-AND-BOUND SCHEME

were described—an insert-based construction heuristic and an IP-based per-

turbation heuristic—that showed varying degrees of success in the compu-

tational study in Chapter 6. Both of these heuristics can be used within our

current B&B framework, at Criterion 6 and/or the root node. However, as

noted earlier, each node of the scheduling-based B&B tree corresponds to a

forward partial schedule. Consequently, to use this partial schedule as input

to either of the heuristics at any node other than the root node, the heuris-

tics must be modified. This is discussed in more detail in Sections 7.6.1 and

7.6.2. At the root node the partial schedule is empty, thus the heuristics

can be used unmodified as per Chapter 6; this is discussed in more detail in

Sections 7.6.3 and 7.6.4.

As will be demonstrated in Section 8.3.3, the inclusion of either heuristic

method in our B&B method is very useful for problem instances for which

finding feasible solutions is particularly difficult. However, the heuristics at

Criterion 6 should not be applied at all B&B nodes due to time restrictions:

a trade-off for time occurs between (i) exploring as many nodes as possible,

resulting in a stronger lower bound, and (ii) investing time at strategic points

to find a useful upper bound. A good upper bound will help to reduce the

size of the B&B tree (by pruning new nodes that have a worse lower bound,

as in Criterion 5) and provides a feasible solution at termination. To address

this trade-off, either heuristic can be executed in Criterion 6 but should only

be run at select nodes. The particular settings for each heuristic at Criterion

6 will be discussed in Sections 7.6.1 and 7.6.2.

Since the scheduling-based B&B scheme is an exact solution method, the

same trade-off for time occurs when either heuristic is executed at the root

node. Consequently, appropriate time limits for the heuristics at the root

node are discussed in Sections 7.6.3 and 7.6.4.

7.6.1 Using the construction heuristic at Criterion 6

By executing the construction heuristic at Criterion 6, feasible solutions

may be produced. Consequently, a better upper bound may be found that

can be used to strengthen Criterion 5. Moreover, if optimality is not proved

prior to termination, the best feasible solution at termination may have been

generated earlier in the solution process by the construction heuristic.

Page 253: New data generation and solution techniques for the

7.6 Using heuristics within the B&B tree 223

To use the construction heuristic within the tree, it makes sense to take

advantage of the feasible forward partial schedule already constructed at

a B&B node. However, to use the construction heuristic and related al-

gorithms as described in Algorithms 8–11 (in Chapter 5) will destroy the

feasible forward partial schedule, as it will try to insert jobs within the ex-

isting partial schedule. Consequently, the construction heuristic must be

modified to accept a forward partial schedule—with corresponding earliest

start times—as a fixed starting point. The modified construction heuristic

will then try to construct the tail to the partial schedule, that is, try to con-

struct a feasible full schedule respecting the input forward partial schedule,

by only applying the insertion algorithm over the unscheduled jobs. The

modified construction heuristic and related procedures are given in Algo-

rithms 16–19 of Appendix J.

There are two potential outcomes from running the modified construction

heuristic at a node within the B&B tree: at least one feasible solution is

constructed within the time limit, or a feasible solution is not constructed.

If a feasible solution is generated, it is a valid upper bound on the value of

the problem at that node, and indeed, may be the best upper bound found

so far (in which case, Criterion 5 will be strengthened). However, since there

are no optimality guarantees with the construction heuristic, it cannot be

known if the best feasible schedule for the problem at that node has been

found. As a result, the node cannot be pruned.

If a feasible solution is not generated by the construction heuristic, the node

should not be pruned. Since there are no feasibility or optimality guarantees

with the construction heuristic, whether the partial schedule at this node is

capable of producing a feasible solution is still inconclusive.

The construction heuristic (H0) is not included at Criterion 6 for the BKA

and n25 data groups. As will be discussed in more detail in Section 7.6.2,

when solving easier, smaller problem instances like those in the BKA and

n25 data groups, time is better spent proving optimality by continuing with

the remainder of the B&B algorithm, rather than including Criterion 6.

For the n50 and n100 instances, the modified construction heuristic is exe-

cuted at Criterion 6, though only at select nodes and for a short period. As

discussed in Section 6.3.2, the unmodified construction heuristic is extraor-

Page 254: New data generation and solution techniques for the

224 A SCHEDULING BRANCH-AND-BOUND SCHEME

dinarily good at finding many unique feasible solutions for the BKA, n25

and n50 data groups, as seen in Figures I.2a–I.2c (p. 357). Consequently,

the modified construction heuristic is executed at Criterion 6 at B&B nodes

that correspond to problems of similar sizes, that is, at nodes at levels bn2 cand b3n

4 c. For n50 instances, this corresponds to subproblems with 13 and

25 jobs remaining to be scheduled; for n100 instances, this corresponds to

subproblems with 25 and 50 jobs remaining to be scheduled.

Two time limits for H0 at levels bn2 c and b3n4 c will be tested for the n50 and

n100 instances: (a) 5 seconds and (b) 1 second. While 1 second was sufficient

for the unmodified construction heuristic to find at least one feasible solution

for every problem instance with 50 or fewer jobs (Table 6.6, pp. 159–160),

we will also test executing the modified construction heuristic for 5 seconds

at nodes at levels bn2 c and b3n4 c with the intention of producing a larger pool

of feasible solutions, and thus potentially better upper bounds.

Finally, it is worth noting that these levels and time limits will also be

used for the catalyst heuristic at Criterion 6, which is discussed in the next

section; this allows for a direct comparison of the construction heuristic and

the catalyst heuristic at Criterion 6.

BKA n25 n50 n100

(a) H0 time limit (CPU seconds) NA NA 5 5

(b) H0 time limit (CPU seconds) NA NA 1 1

Table 7.3: H0 time limit at Criterion 6, for each instance by group.

7.6.2 Using the catalyst heuristic at Criterion 6

Recall the IP-based perturbation heuristic from Chapters 5 and 6, which we

refer to as a catalyst heuristic. This method attempts to find feasible solu-

tions more quickly than solving the original MIPs of Chapter 4 by implicitly

breaking symmetries through a modified objective function. However, find-

ing feasible solutions faster comes at the expense of the true-cost quality of

the solutions obtained.

Recall that there are four compact MIP methods, summarised in Table 4.5

(page 104). As shown by the pure MIP solve time summary statistics in

Page 255: New data generation and solution techniques for the

7.6 Using heuristics within the B&B tree 225

Table 6.4 (page 153) the majority of the n25 data sets are solved to opti-

mality reasonably quickly by Methods 1 and 2. However, as will be shown

in Section 8.3.2 (page 236), two of the scheduling-based B&B schemes that

exclude Criterion 6, Methods 5 and 6, outperform Methods 1 and 2. Con-

sequently, when solving easier, smaller problem instances like those in the

BKA and n25 groups, time is better spent proving optimality by continu-

ing with the rest of the B&B algorithm, rather than including Criterion 6.

This was confirmed by including the catalyst at various nodes for various

amounts of time; those results are excluded for brevity.

Based on the results of Chapter 6, the following parameters for the inclusion

of the catalyst at Criterion 6 are used for the n50 and n100 instances:

• use H1 4: MIP1 with precedences P (delay αij) and weight ω4 = 1;

• execute the catalyst at nodes at levels bn2 c and b3n4 c; and

• until 5 integer solutions are found or for a maximum of 5 seconds.

A rationale for these choices is provided below.

Overall, heuristic method H1 4 was the best of the 24 catalyst methods when

the key measures of time to first solution, the number of feasible solutions

found and the true-cost quality of those solutions are considered. Conse-

quently, H1 4 is the only catalyst heuristic we include in the scheduling-

based B&B scheme.

For H1 4, feasible solutions were found for 93.3% of n25 instances within

5 seconds (Table 6.6, page 159). Less promising results were obtained for

the n50 and n100 data sets (feasible solutions were found for only 10% of

n50 instances within 5 seconds) indicating that the catalyst is most useful

on smaller problems. Moreover, when results for the B&B scheme without

the catalyst (for example, Method 5) were analysed, most integer solutions

were found at levels ≥ bn2 c in the tree, so using the catalyst higher in the

tree is unlikely to be as useful as deeper in the tree. Consequently, the

catalyst will be executed at levels bn2 c and b3n4 c for both the n50 and n100

instances. For n50 instances, this corresponds to subproblems with 13 and

25 jobs remaining to be scheduled; for n100 instances, this corresponds to

subproblems with 25 and 50 jobs remaining to be scheduled.

While the aim of executing the catalyst at Criterion 6 is to find at least

Page 256: New data generation and solution techniques for the

226 A SCHEDULING BRANCH-AND-BOUND SCHEME

one feasible solution to the subproblem at that node, it is possible that the

catalyst may find multiple feasible solutions within the 5 second time limit.

If so, five solutions of progressively improved surrogate-cost value are likely

to provide a variety of true-cost values. Consequently, catalyst computation

time can be saved if the catalyst is terminated if it has already found 5

integer solutions. Thus the catalyst will be terminated as soon as it finds 5

integer solutions or 5 seconds have elapsed.

Finally, while 5 seconds seems like the best time limit for Criterion 6 based

on the results of the previous chapter, it is possible that feasible solutions

could be found with even less time; nodes at levels bn2 c and b3n4 c have 50%

and 75% of the jobs already fixed, so some of the MIP subproblems at these

nodes may be especially easy to solve. As a result, we will also test executing

the catalyst heuristic for only 1 second at each node at these levels of the

B&B tree.

BKA n25 n50 n100

(a) H1 4 time limit (CPU seconds) NA NA 5 5

(b) H1 4 time limit (CPU seconds) NA NA 1 1

Table 7.4: Catalyst H1 4 time limit at Criterion 6, for each instance by group.

7.6.3 Using the construction heuristic at the root node

As per Table 6.6d (page 160), the construction heuristic (H0) did not find

any feasible solutions for the n100 instances within 300 seconds, and only

one feasible solution for four of the sixty instances within 10,300 seconds.

Consequently it is not worth executing the construction heuristic at the root

node for the n100 instances.

In contrast, the construction heuristic was very successful for the three other

data groups, finding many feasible solutions very quickly. As a result, it is

worth running the construction heuristic at the root node for these instances.

For the n50 instance we test two time limits; 10 seconds and 180 seconds.

While many feasible solutions can be found in 10 seconds, by running the

heuristic for much longer we attempt to obtain an even stronger upper

Page 257: New data generation and solution techniques for the

7.6 Using heuristics within the B&B tree 227

bound, so as to see how the speed to optimality or the optimality gap at

termination varies for these two times.

For the BKA and n25 groups, all instances had multiple feasible solutions

found within 1 second, so these instances will have the construction heuristic

executed for 1 second at the root node.

BKA n25 n50 n100

(a) H0 time limit (CPU seconds) 1 1 10 NA

(b) H0 time limit (CPU seconds) NA NA 180 NA

Table 7.5: H0 time limit at root node, for each instance by group.

7.6.4 Using the catalyst heuristic at the root node

While including the catalyst heuristic H1 4 at Criterion 6 at select levels of

the B&B tree is only worthwhile for the more difficult n50 and n100 instances

(when finding feasible solutions is very hard), executing the catalyst heuristic

at the root node is only worthwhile for the easier BKA and n25 instances

(when finding feasible solutions is easy and fast and only done once). Even

then, since some of these instances are already solved very quickly by exact

methods (for example, Methods 1 and 2), not too much time should be

allowed by a heuristic at the root node, as it will take time away from the

exact solution process.

Table 6.6 (page 159) shows that executing the catalyst for 1 second at the

root node will be sufficient time to find at least one feasible solution for all

BKA instances and 88.9% of n25 instances, providing the scheduling-based

B&B scheme with an initial global upper bound for Criterion 5.

In contrast, the same table shows that at best, 73.3% of n50 instances will

have a feasible solution found in 180 seconds, and only 8.3% of n100 instances

in 300 seconds. With such large times required to achieve relatively low

success, this time is possibly better spent executing the catalyst at Criterion

6 deep in the B&B tree. However, we test executing the B&B scheme

with the catalyst executed at the root node for these times too, to see how

advantageous it is to get an upper bound early.

Page 258: New data generation and solution techniques for the

228 A SCHEDULING BRANCH-AND-BOUND SCHEME

BKA n25 n50 n100

H1 4 time limit (CPU seconds) 1 1 180 300

Table 7.6: Catalyst H1 4 time limit at root node, for each instance by group.

7.7 Chapter summary

A scheduling-based branch-and-bound algorithm for solving the SOP-TW

exactly has been presented. Seven criteria for pruning nodes of the B&B

tree were presented in Section 7.4; implementation notes for the three most

complicated criteria are given in Sections 7.5 and 7.6. A comprehensive

computational study of the B&B algorithm is performed in the next chapter.

Page 259: New data generation and solution techniques for the

Chapter 8

COMPUTATIONAL

STUDY OF THE

BRANCH-AND-BOUND

SCHEME

In this chapter the performance of the scheduling-based branch-and-bound scheme is

tested via a comprehensive computational study. The success of this scheduling ap-

proach is compared with the other methodologies investigated throughout this thesis,

and the effectiveness of each criteria within the greater scheme is evaluated.

8.1 Chapter outline

In Chapter 4, a computational study of four MIP methods was performed.

While the MIP results were promising for the n25 and the BKA data sets,

the MIPs proved to be highly unsuccessful at finding a feasible solution

within the time limit for the n50 and n100 data groups. This motivated the

development of additional solution techniques that can find feasible solutions

quickly and prove optimality within a reasonable amount of time.

Chapters 5 and 6 investigated heuristic methods for finding feasible solutions

more quickly than the exact MIP methods; these methods had considerable

229

Page 260: New data generation and solution techniques for the

230 COMPUTATIONAL STUDY OF THE B&B SCHEME

success. In Chapter 7, an exact B&B scheme based on a scheduling approach

was presented; this scheme is a general framework that can have many

variations. Consequently, the current chapter investigates several variations

of the B&B scheme that build on the MIP and heuristic results presented

in earlier chapters.

Firstly, baseline B&B schemes that do not include any heuristics are evalu-

ated to determine the best LP relaxation to use when checking LP feasibility

at Criterion 4 (see §7.4.4); this determines the best baseline B&B scheme.

Once this is established, the best baseline B&B scheme will have the two

best heuristics from Chapter 6 incorporated in three ways, resulting in six

scheduling-based B&B methods that incorporate heuristics. Throughout

this chapter, the B&B variants are compared with the best MIP methods

for each data group.

To assess the performance of the different methods on the four data groups,

several criteria may be considered, including:

• Solution status at termination. For each method, an instance will

either (1) be solved to optimality within the time limit, (2) terminate

at the time limit with at least one feasible solution, or (3) terminate at

the time limit without a feasible solution. Solution status results for

instances within a data group can be aggregated, and the percentage

of instances within each of the three categories can be compared.

• Solution time. For instances that are solved to optimality by

at least one method, the solution times can be compared via time-

based performance profiles (as described in §4.6.4.2, page 111). The

proportion of instances where the time ratio is 1 gives the proportion

of instances for which a method was the best (that is, fastest) solver.

• LB quality at termination. For instances that are not solved to

optimality by at least one method, the lower bounds at termination

can be compared via value-based performance profiles (as described in

§4.6.4.2, page 111). The proportion of instances where the percentage

lower bound gap is 0 gives the proportion of instances for which a

method terminated with the best (that is, largest) lower bound.

• Relative gap at termination. For instances that terminate with

at least one feasible solution, the relative gap at termination is given

Page 261: New data generation and solution techniques for the

8.2 Machine and optimiser specifications 231

by 100(UB−LBLB

), where LB is the best lower bound and UB is the best

upper bound at termination. If LB = UB, then the optimal solution

was found and proved to be optimal by termination and the relative

gap is zero. If a feasible solution is not found prior to termination there

is no upper bound, and thus the gap for that instance is undefined and

not calculated. For each method, the distribution of the relative gaps

at termination can be compared via box plots.

Finally, the effectiveness of each individual criterion is considered for the

best scheduling-based B&B variants. A summary of the main methods in-

vestigated in this thesis—including those to come in this chapter—is given in

Figure 8.1; references to the corresponding results sections are also provided.

8.2 Machine and optimiser specifications

Like Section 4.6 and Chapter 6, all code was implemented in C and com-

piled with Microsoft Visual Studio 2005 Version 8.0, on a PC with an

Intel R© Xeon R© CPU 2.33 GHz and 3.25GB of RAM running Windows

XP Professional SP3 (32 bits). The LPs and MIPs were solved using

IBM R© ILOG R© CPLEX R© Callable Library Version 12.1 with parameter

CPX PARAM NODEFILEIND set to 3 (node files are transferred to disk and com-

pressed) and parameter CPX PARAM THREADS set to 1 (CPLEX uses a single

thread). All other parameters are at default settings.

8.3 Baseline B&B methods

The same time limits given to the MIP methods in §4.6.4.1 are given to the

scheduling-based B&B methods tested in this chapter, as shown in Table 8.1.

Data group names BKA n25 n50 n100

Time limit (CPU seconds) 1,800 1,800 4,375 10,300

Table 8.1: Maximum solve time for each method, for each instance by group.

Page 262: New data generation and solution techniques for the

232 COMPUTATIONAL STUDY OF THE B&B SCHEME

MIP methods §4.6

M1: MIP1 with precedence set P

M2: MIP1 with precedence set PALL

M3: MIP2 with precedence set P

M4: MIP2 with precedence set PALL

Heuristic methods §6.3–6.5

H0: Construction heuristic

H1 4: Catalyst heuristic (M1 with weight 1)

Baseline scheduling B&B methods (no heuristics) §8.3

M5: B&B where Criterion 4 solves LP relaxation of M1

M6: B&B where Criterion 4 solves LP relaxation of M2

M7: B&B where Criterion 4 solves LP relaxation of M3

M8: B&B where Criterion 4 solves LP relaxation of M4

Best baseline B&B (M5) incorporating heuristics §8.4

M9: M5 with H0 executed at root node only

M10: M5 with H1 4 executed at root node only

M11: M5 with H0 executed at Criterion 6 only

M12: M5 with H1 4 executed at Criterion 6 only

M13: M5 with H0 executed at root node and Criterion 6

M14: M5 with H1 4 executed at root node and Criterion 6

Effectiveness of each criterion (M5 & M9–M14) §8.5

Performance of Criteria 1–7 evaluated

Figure 8.1: Summary of main methods investigated in this thesis, including

those to come in this chapter, with corresponding results section references.

Page 263: New data generation and solution techniques for the

8.3 Baseline B&B methods 233

Table 8.2 provides a summary of the baseline methods tested (where Mi

refers to Method i, and both terms will be used interchangeably), along with

a description of each method as applied to a SOP-TW instance; recall that

the results for the MIP methods M1–M4 were discussed in Section 4.6.4. The

computational study of B&B methods M5–M8 will provide baseline results

that will determine the best LP relaxation (of M1–M4) to use at Criterion

4, and the performance of the basic B&B methods will be compared with

that of the MIP methods (using performance profiles as per Section 4.6.4.2).

Once the best method of M5–M8 is known, various schemes for incorporating

the heuristics at the root node and/or at Criterion 6 will be investigated in

Section 8.4.

Name Method with description as applied to a SOP-TW instance

M1 MIP1 Ponly: Solve MIP1 with precedence set P only (αij)

M2 MIP1 PrecAll: Solve MIP1 with precedence set PALL (αij)

M3 MIP2 Ponly: Solve MIP2 with precedence set P only (αij)

M4 MIP2 PrecAll: Solve MIP2 with precedence set PALL (αij)

M5 BB (C4: LP=M1) (No C6): Solve B&B algorithm as in

Algorithm 13 with CheckCriteria as in Algorithm 15 and §7.4,

where Criterion 4 solves the LP relaxation of M1, and Criterion 6

is not checked

M6 BB (C4: LP=M2) (No C6): As per M5 except Criterion 4

solves the LP relaxation of M2

M7 BB (C4: LP=M3) (No C6): As per M5 except Criterion 4

solves the LP relaxation of M3

M8 BB (C4: LP=M4) (No C6): As per M5 except Criterion 4

solves the LP relaxation of M4

Table 8.2: Summary of MIP and baseline B&B methods.

Page 264: New data generation and solution techniques for the

234 COMPUTATIONAL STUDY OF THE B&B SCHEME

8.3.1 Key results for BKA data group

As mentioned in the preprocessing results (§4.5.4) P = PALL for the modi-

fied BKA data sets; P TW = ∅ as there were no precedences induced by the

time windows due to the large deadlines. Consequently, for all of the BKA

instances, M1 is equivalent to M2, M3 is equivalent to M4, M5 is equivalent

to M6, and M7 is equivalent to M8. Hence results are only reported for

Methods 1, 3, 5 and 7, as shown in the performance profile in Figure 8.2.

0 2 4 6 8 10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Time/BestTime

Pro

port

ion o

f in

sta

nces

Method 1

Method 3

Method 5

Method 7

Figure 8.2: Performance profile for the BKA instances.

Optimality. All instances were solved to optimality within the time limit

of 1,800 seconds, except for one instance (#15) on Method 1. As noted

in Section 4.6.4.3, for this instance the IP gap was 20.92%, however, the

best upper bound was the optimal value thus the gap was due to the lower

bound.

Solution time. Recall that the proportion of instances where the time

ratio is 1 gives the proportion of instances for which a method was the best

solver. Consequently, M5 was the best solver on 80% of the problems (28

out of 35), M3 was the best solver on 14% of the problems (5 out of 35),

M1 was the best solver on 9% of the problems (3 out of 35), and M7 was

never the best solver. (Note that M1 and M5 were equal best solvers for one

instance.) The curve for M5 is equal to or in front of all other performance

profile curves so M5 is the best solution method overall.

Comparing the time ratio (r = T imeBestT ime) at which at least 90% of the

Page 265: New data generation and solution techniques for the

8.3 Baseline B&B methods 235

Percentiles

0 50 90 100

Met

hod

M1 1 16.0 88.3 121.3∗

M3 1 9.2 53.7 201.5

M5 1 1 3.3 14.8

M7 3.2 4.6 13.2 51.4

Table 8.3: Time ratios, r = TimeBestT ime , for the BKA group at key percentiles.

The 0-th percentile gives the smallest r for that method on any instance. ‘∗’

indicates r is truncated by an instance with a solve time capped at 1,800s.

instances were solved for each method (that is, where each curve hits a

proportion of 0.9 in Figure 8.2; see Table 8.3), M5 is still the best method

(r = 3.3), followed by M7 (r = 13.2), then M3 (r = 53.7) and M1 (r = 88.3).

This means that 90% of the BKA instances were solved by M5 within 3.3

times the best solve time for those instances. Since M5 had the best solve

time for 80% of instances, this means another 10% of instances were solved

within 3.3 times the best solve time of the other methods. In contrast, M1

was the best solver for only 9% of instances, and another 81% of instances

were solved within 88.3 times the best solve time of the other methods; the

remaining 10% of instances took even longer to solve when compared to the

best methods. As a result, the B&B methods M5 and M7 clearly outperform

the MIP methods M1 and M3 on this measure. Moreover, M5, the B&B

method with the LP relaxation of MIP1 clearly outperforms M7, the B&B

method with the LP relaxation of MIP2 ; this is due to the speed of the LP

relaxation of MIP1, as was discussed in §4.2.3 and §4.6.3.

Feasibility. Finally, as described in Section 3.5, all of the original BKA

data sets were intentionally infeasible as the methods of Brucker and Knust

[6] include testing problem feasibility: they test a lower bound on the

makespan by modifying deadlines and then testing the feasibility of the

modified problem. It is worth noting that all of the scheduling-based B&B

schemes proposed in this chapter, including M5–M8, were able to prove all

35 original BKA data sets were infeasible at the root node in less than 1

second.

Page 266: New data generation and solution techniques for the

236 COMPUTATIONAL STUDY OF THE B&B SCHEME

8.3.2 Key results for n25 data group

Optimality. All n25 problem instances were solved to optimality by meth-

ods M5 and M6 within the time limit, while 3 of 90 instances timed out for

M7 and M8. The relative performance of the eight methods in Table 8.2 are

compared with a performance profile as shown in Figure 8.3, which builds

on the performance profile for M1–M4 shown in Figure 4.3 (page 114).

0 2 4 6 8 10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Time/BestTime

Pro

port

ion o

f in

sta

nces

Method 1

Method 2

Method 3

Method 4

Method 5

Method 6

Method 7

Method 8

Figure 8.3: Performance profile for n25 instances.

Solution time. Based on this performance profile, the B&B methods with

MIP1 LPs (M5 & M6) outperform the two MIP1 methods (M1 & M2),

which outperform all methods using MIP2 (M3, M4, M7 and M8). The

curve for M5 is equal to or better than all other performance profile curves

so M5 is the best solution method overall. While the curve for M6 is very

close to that of M5, M5 is always in front; M5 is faster than M6 to solve

every n25 instance, however the solve time of M6 is at most 1.4 times that

of M5.

M5 was the best solver on 57.8% of the problems (52 out of 90), M1 was

the best solver on 22.2% of the problems (20 out of 90), M2 was the best

solver on 17.8% of the problems (16 out of 90), M4 was the best solver on

2.2% of the problems (2 out of 90), and methods M3, M6, M7 and M8 were

never the best solvers. Note that even though M6 was never the best solver,

if M5 was excluded, M6 would be the best solver on 54.4% of the instances

(49 out of 90).

Page 267: New data generation and solution techniques for the

8.3 Baseline B&B methods 237

Percentiles

0 50 90 100

Met

hod

M1 1 1.9 7.7 71.7∗

M2 1 2.5 9.6 76.7∗

M3 1.0 8.3 24.0 93.9∗

M4 1 9.5 31.5 92.5∗

M5 1 1 3.5 6.8

M6 1.1 1.2 3.9 7.9

M7 2.1 8.3 20.0 40.8∗

M8 2.1 10.8 25.7 53.1∗

Table 8.4: Time ratios, r = T imeBestT ime , for the n25 group at key percentiles.

The 0-th percentile gives the smallest r for that method on any instance. ‘∗’

indicates r is truncated by instances with solve times capped at 1,800s.

Comparing the time ratio at which at least 90% of the instances were solved

for each method (Table 8.4), both M5 and M6 have ratios below 4, while

M1 and M2 have ratios of 7.7 and 9.6 respectively. Comparing the ratio

for 100% of instances, M5 and M6 have ratios of 6.8 and 7.9 respectively;

this means the worst M5 (M6) solution time is 6.8 (7.9) times the best solve

time. In contrast, M1 and M2 have ratios of 71.7 and 76.7 respectively;

the worst M1 (M2) solution time is 71.7 (76.7) times the best solve time.

However, recall that four instances were not solved to optimality by M1 and

M2 within the 1,800 second time limit, as well as 5 instances for M3 and

M4, and 3 instances for M7 and M8. Consequently, the 100th percentile

ratios marked with a ‘∗’ in Table 8.4 are truncated as the solve times for

those instances were capped at 1,800 seconds. As a result, the true ratios

for the worst solve times are actually much larger.

As noted in §4.6.4.4, some n25 instances are significantly harder to solve

than others; recall the worst case MIP results for the eight n25 instances

presented in Table 4.11 (page 115). Table 8.5 shows the unrestricted solve

times for methods M1–M8 for the same instances, with the slowest method

highlighted in red and the fastest method highlighted in green.

For these eight hardest n25 instances, Method 5 was the fastest method for

Page 268: New data generation and solution techniques for the

238 COMPUTATIONAL STUDY OF THE B&B SCHEME

Com

pact

MIP

meth

od

sS

ched

ulin

g-based

B&

Bm

ethod

s

Cla

ss#

&n

am

eD

ataset

#M

1M

2M

3M

4M

5M

6M

7M

8

1,n

251

18,4

43.5

612,9

81.8

47,1

21.2

33,8

07.7

0117.25

140.66978.52

1,250.98

2,n

252

4137.2

2219.0

21,9

18.0

91,4

58.7

048.05

57.61358.56

442.59

2,n

252

85,5

82.1

46,8

05.7

31,3

05.0

01,0

80.3

857.45

67.33173.11

226.86

6,n

256

12,0

94.4

1375.4

412,3

95.5

68,1

72.7

596.88

112.75793.33

1,001.70

6,n

256

51,1

23.8

6531.8

31,0

07.4

21,8

34.8

4194.02

222.661,131.61

1,436.84

7,n

257

23,6

46.9

24,8

22.9

812,5

59.2

816,3

85.8

330.39

38.11239.48

308.81

9,n

259

51,3

83.1

96,4

72.8

31,7

99.4

8854.1

91,021.73

1,066.735,264.38

5,915.33

9,n

259

10

120.8

0894.6

91,9

53.9

52,6

23.1

9246.38

260.641,851.61

1,992.41

Tab

le8.5:

Un

restrictedso

lvetim

esfor

then

25in

stances

that

had

atleast

one

MIP

exceed

1,800secon

ds.

For

eachin

stance,

the

slowest

meth

od

ish

ighligh

tedin

redan

dth

efastest

meth

od

ish

ighligh

tedin

green.

Page 269: New data generation and solution techniques for the

8.3 Baseline B&B methods 239

75% of these instances, and the second fastest method for the remaining 25%

(with time ratios of 1.2 and 2.0). This indicates that M5 is a consistently

fast method, especially for hard problems like these instances.

The greatest difference between the best and worst methods was on instance

(7,2); the time ratio for M4 was 539.2, that is, the solve time for M4 was 539.2

times longer than M5 (16385.83 seconds versus 30.39 seconds). Compare this

ratio to the 100th percentile for M4 in Table 8.4; the truncated ratio is 92.5

whereas the true ratio is 539.2.

For the two instances where all four MIPs exceeded 1,800 seconds, (1,1) and

(7,2), the time ratio of the best MIP to the best B&B method was 32.5 and

120.0 respectively.

8.3.3 Key results for n50 data group

Solution status at termination. Extending Table 4.12 for the n50 in-

stances, Figure 8.4 summarises the solution status of methods M1–M8 at

termination, where NO SOL is the percentage of instances where no feasible

solution was found, FEAS is the percentage of instances that terminate with

at least one feasible solution found but optimality is not proved, and OPT

is the percentage of instances solved to optimality.

From Figure 8.4 it is clear that M1, M3, M4, M7 and M8 were highly un-

successful at finding a feasible solution within the time limit; 91.7% or more

instances terminated without a feasible solution for each of these methods.

M5 was the most successful method, solving 30% of instances (18 out of

60) to optimality, with a further 8.3% of instances (5 out of 60) terminating

with at least one feasible solution. The most successful MIP method was

M2, solving 3.3% of instances (2 out of 60) to optimality and a further 20%

of instances (12 out of 60) terminating with at least one feasible solution.

The remaining results for n50 are not as clear as for n25: all eight methods

could not prove optimality for the majority of data sets. Due to this variabil-

ity, we cannot use a single time-based performance profile to compare the

relative performance of each method across all instances. Instead, the per-

formance profile for data sets where at least one method solved to optimality

within the time limit (18 out of 60 instances) is given in Figure 8.5.

Page 270: New data generation and solution techniques for the

240 COMPUTATIONAL STUDY OF THE B&B SCHEME

OPT FEAS NO SOL

M1 0 8.3 91.7

M2 3.3 20.0 76.7

M3 0 1.7 98.3

M4 0 1.7 98.3

M5 30 8.3 61.7

M6 16.7 11.7 71.6

M7 1.7 0 98.3

M8 0 0 100

STATUS AT TERMINATION

0%# 20%# 40%# 60%# 80%# 100%#

M8#

M7#

M6#

M5#

M4#

M3#

M2#

M1#

Figure 8.4: Solution status summary for the n50 data sets (60 instances).

Entries correspond to the percentage of instances that terminate with sta-

tus: solved to optimality (OPT); at least one feasible solution found but

optimality is not proved (FEAS); and no feasible solution found (NO SOL).

0 1 2 3 4 5 6 7 8 9 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Time/BestTime

Pro

port

ion o

f in

sta

nces

Method 1

Method 2

Method 3

Method 4

Method 5

Method 6

Method 7

Method 8

Figure 8.5: Performance profile for the n50 instances where at least one

method proved optimality (18 instances).

Page 271: New data generation and solution techniques for the

8.3 Baseline B&B methods 241

Solution time. Like with the BKA and n25 instances, it is important to

note that the solve time of instances not solved to optimality are capped in

this case at 4,375 seconds due to the time limit. As a result, this performance

profile does not fully penalise methods that do not reach optimality within

the time limit: for example, Methods 1, 3, 4 and 8 did not successfully prove

optimality for any of the 18 data sets shown (hence all of these results record

Time = 4,375 seconds and have identical curves, only seen as the yellow

curve in Figure 8.5 as they overlap), yet all problems have a Time/BestT ime

ratio of less than 10 (that is, appear at most 10 times worse than the best

solve time). In reality, the true (uncapped) solve times could be much

worse: compare with Time/BestT ime ratios of more than 500 for some n25

instances and more than 200 for some BKA instances.

As anticipated, Figure 8.5 shows that M5 is the superior method for these 18

instances, but gives no insight on which method performs best on the other

42 instances. As in §4.6.4.5, the quality of the lower bounds at termination

can be compared for instances where no feasible solution was found.

LB quality at termination. Figure 8.6 illustrates the quality of the

lower bounds at termination for all 60 of the n50 instances, while Figure 8.7

illustrates the quality of the lower bounds for the 42 instances where no

method proved optimality. As seen in both figures, M5 gives the best lower

bounds for at least 86.7% of all instances (and 81.0% of the 42 instances

where optimality was not proven within the time limit), and is within 3.4%

of the best lower bound on the rest of the instances.

Conclusion. By combining the n50 group results in Figures 8.4–8.7 it

is clear than M5 dominates the other seven methods in terms of proving

optimality and/or finding feasible solutions within the time limit, as well as

lower bound quality at termination.

8.3.4 Key results for n100 data group

Solution status at termination. None of the n100 problem instances

solved to optimality within the time limit for any method, thus a time-

based performance profile of the results is not appropriate. Similarly, no

method found any feasible solutions prior to termination. Consequently,

Page 272: New data generation and solution techniques for the

242 COMPUTATIONAL STUDY OF THE B&B SCHEME

0 1 2 3 4 5 6 7 8 90

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Percentage LB gap from best LB, 100*(BestLB−LB)/(BestLB)

Pro

port

ion o

f in

sta

nces

Method 1

Method 2

Method 3

Method 4

Method 5

Method 6

Method 7

Method 8

Figure 8.6: Comparison of lower bound quality for all n50 instances.

0 1 2 3 4 5 6 7 8 90

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Percentage LB gap from best LB, 100*(BestLB−LB)/(BestLB)

Pro

port

ion o

f in

sta

nces

Method 1

Method 2

Method 3

Method 4

Method 5

Method 6

Method 7

Method 8

Figure 8.7: Lower bound quality where optimality not proved (42 instances).

Page 273: New data generation and solution techniques for the

8.3 Baseline B&B methods 243

the only measure to be compared is lower bound quality at termination as

shown in Figure 8.8.

0 1 2 3 4 5 6 70

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Percentage LB gap from best LB, 100*(BestLB−LB)/(BestLB)

Pro

port

ion o

f in

sta

nces

Method 1

Method 2

Method 3

Method 4

Method 5

Method 6

Method 7

Method 8

Figure 8.8: Comparison of lower bound quality for all n100 instances.

LB quality at termination. Methods 1, 2 and 5 each had the best lower

bound at termination for 30% of the instances, while Method 3 and 4 had

the best lower bound at termination for 8.3% and 1.7% of the instances,

respectively. Methods 6, 7 and 8 never had the best lower bound at termi-

nation.

Overall, M1 and M2 had the best lower bound gaps with a ratio of at most

2.6%, followed by M3 at 3.5%, M5 at 3.8%, M4 at 4.3%, M6 and M7 at

5.0% and M8 at 6.6%.

8.3.5 Conclusions on the baseline B&B methods

Based on the BKA, n25, n50 and n100 results presented in this section,

Method 5 is the superior scheduling-based B&B method. This method uses

the LP relaxation of MIP1 with precedence set P when checking LP fea-

sibility at Criterion 4. This result is consistent with the LP results shown

in §4.6.3.2 (page 108) and discussed in §4.6.3.4 (page 110). Consequently,

the next section investigates using M5 as the baseline method and then in-

corporating heuristics within the B&B tree—at Criterion 6 and/or the root

node—with the aim of finding feasible solutions for more of the difficult n50

and n100 instances.

Page 274: New data generation and solution techniques for the

244 COMPUTATIONAL STUDY OF THE B&B SCHEME

8.4 Incorporating heuristics within the B&B tree

The same time limits given to the MIP methods in §4.6.4.1 and the baseline

scheduling-based B&B methods in §8.3 are given to the scheduling-based

B&B methods that incorporate heuristics; these time limits are shown in

Table 8.1 on page 231.

As discussed in Section 7.6, the construction and catalyst heuristics can

be incorporated within the B&B tree at Criterion 6 and/or the root node.

With Method 5 (as per Table 8.2, page 233) as the baseline scheduling-based

B&B method, a variety of schemes which include the heuristics are tested; a

high-level summary of the methods is given in Table 8.6. The combinations

for including each heuristic into M5 are:

• execute the heuristic at the root node only (M9 and M10);

• execute the heuristic at Criterion 6 only (M11 and M12); and

• execute the heuristic at the root node and Criterion 6 (M13 and M14).

The particular methods tested for each data group is summarised in the

relevant results section, with heuristic time limits as discussed in §7.6.

8.4.1 Key results for BKA data group

Recall from §7.6.3 (page 226) and §7.6.4 (page 227) that for the BKA data

group only two additional methods are tested:

• M9: M5 with the construction heuristic H0 executed at the root node

for 1 second only; and

• M10: M5 with the catalyst heuristic H1 4 executed at the root node

for 1 second only.

The performance of these two new methods are compared with M5 and the

best MIP method for the BKA instances, M3. None of Methods 11, 12,

13 or 14 are tested as the time trade-off is not favourable, as discussed in

§7.6.2.

Page 275: New data generation and solution techniques for the

8.4 Incorporating heuristics within the B&B tree 245

Name Method with description as applied to a SOP-TW instance

M9 M5 (root: H0, t): As per M5 with the construction heuristic,

H0, executed at the root node for t seconds.

M10 M5 (root: H1 4, t): As per M5 with surrogate MIP H1 4

executed at the root node for a maximum of t seconds (terminate

earlier if 5 integer solutions found).

M11 M5 (C6: H0, t, n2 & 3n

4 ): As per M5 with the construction

heuristic, H0, executed at Criterion 6 at B&B levels bn2 c and

b3n4 c for t seconds.

M12 M5 (C6: H1 4, t, n2 & 3n

4 ): As per M11 except Criterion 6

solves surrogate MIP H1 4 at B&B levels bn2 c and b3n4 c for a

maximum of t seconds (earlier if 5 integer solutions found).

M13 M5 (root: H0, t1) (C6: H0, t2,n2 & 3n

4 ): As per M11 except

H0 is executed at the root node for t1 seconds, and at levels bn2 cand b3n

4 c for t2 seconds.

M14 M5 (root: H1 4, t1) (C6: H1 4, t2,n2 & 3n

4 ): As per M12

except H1 4 is executed at the root node for a maximum of t1

seconds, and at levels bn2 c and b3n4 c for a maximum of t2 seconds

(terminate earlier than t1 and t2 if 5 integer solutions found).

Table 8.6: Summary of B&B methods incorporating heuristics.

Page 276: New data generation and solution techniques for the

246 COMPUTATIONAL STUDY OF THE B&B SCHEME

Solution time. All instances solved to optimality for all methods within the

1,800 second time limit. Figure 8.9 shows the performance profile comparing

M3, M5, M9 and M10. M5 was the best solver on 71.4% of the problems (25

out of 35), M3 was the best solver on 14.3% of the problems (5 out of 35),

M9 was the best solver on 11.4% of the problems (4 out of 35), and M10 was

the best solver on 2.9% of the problems (1 out of 35). These results indicate

that briefly executing the heuristics at the root node was worthwhile for

only one seventh of the BKA group.

0 2 4 6 8 10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Time/BestTime

Pro

port

ion o

f in

sta

nces

Method 3

Method 5

Method 9

Method 10

Figure 8.9: Performance profile for the BKA instances.

The curve for M5 is equal to or in front of all other performance profile

curves so M5 is the best solution method overall. This suggests that in

general it is not worth incorporating the heuristics into M5, as in M9 and

M10, for small SOP-TW problem instances like the BKA data sets; the time

spent solving a heuristic at the root node is generally better spent exploring

nodes in the B&B tree to prove optimality sooner.

Comparing the time ratio (r = T imeBestT ime) at which at least 90% of the

instances were solved for each method (that is, where each curve hits a pro-

portion of 0.9 in Figure 8.9; see Table 8.7), M5 is the best method (r = 3.3),

followed by M9 (r = 9.4), then M10 (r = 9.5) and M1 (r = 53.7). This

means that 90% of the BKA instances were solved by M5 within 3.3 times

the best solve time for those instances. Since M5 had the best solve time for

71.4% of instances, this means another 18.6% of instances were solved within

3.3 times the best solve time of the other methods. In contrast, M3 was the

Page 277: New data generation and solution techniques for the

8.4 Incorporating heuristics within the B&B tree 247

best solver for only 14.3% of instances, and another 75.7% of instances were

solved within 53.7 times the best solve time of the other methods; the re-

maining 10% of instances took even longer to solve when compared to the

best methods. As a result, the scheduling-based B&B methods M5, M9 and

M10 clearly outperform the MIP method M3 on this measure for the BKA

instances.

Percentiles

0 50 90 100

Met

hod

M3 1 9.2 53.7 201.5

M5 1 1 3.3 14.8

M9 1 2.1 9.4 19.2

M10 1 1.9 9.5 15.4

Table 8.7: Time ratios, r = TimeBestT ime , for the BKA group at key percentiles.

The 0-th percentile gives the smallest r for that method on any instance.

8.4.2 Key results for n25 data group

As with the BKA instances, for the n25 data group only two additional

methods are tested: M9 (M5 with the construction heuristic executed at

the root node for 1 second only) and M10 (M5 with the catalyst heuristic

H1 4 executed at the root node for 1 second only). The performance of

these two methods are compared with M5 and the best MIP method for the

n25 instances, M1. None of Methods 11, 12, 13 or 14 are tested as the time

trade-off is not favourable, as discussed in §7.6.2.

Solution time. As noted in §4.6.4.4, M1 timed out on four instances.

However, all instances solved to optimality for M5, M9 and M10 within

the 1,800 second time limit. Figure 8.10 shows the performance profile

comparing M1, M5, M9 and M10. M5 was the best solver on 48.9% of the

problems (44 out of 90), M1 was the best solver on 34.4% of the problems

(31 out of 90), M10 was the best solver on 13.3% of the problems (12 out

of 90), and M9 was the best solver on 3.3% of the problems (3 out of 90).

These results indicate that briefly executing the heuristics at the root node

was worthwhile for only one sixth of the n25 group.

Page 278: New data generation and solution techniques for the

248 COMPUTATIONAL STUDY OF THE B&B SCHEME

0 1 2 3 4 5 6 7 80

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Time/BestTime

Pro

port

ion o

f in

sta

nces

Method 1

Method 5

Method 9

Method 10

Figure 8.10: Performance profile for the n25 instances.

Since M5 is the best solver for nearly half of the n25 instances, and the

curve for M5 is mostly equal to or in front of all other curves, M5 is the best

solution method overall. However, it is worth noting that the curve for M5

is very close to that of M10 and M9 throughout Figure 8.10, indicating that

these methods are generally only slightly slower than M5. This conclusion is

supported by the percentiles for M5, M9 and M10 in Table 8.8. As a result,

executing the heuristics at the root node of the scheduling-based B&B tree

for the n25 instances is becoming competitive with M5.

Percentiles

0 50 90 100

Met

hod

M1 1 1.9 7.7 71.9∗

M5 1 1 2.4 6.8

M9 1 1.1 2.7 7.1

M10 1 1.1 2.6 7.1

Table 8.8: Time ratios, r = T imeBestT ime , for the n25 group at key percentiles.

The 0-th percentile gives the smallest r for that method on any instance. ‘∗’

indicates r is truncated by instances with solve times capped at 1,800s.

Page 279: New data generation and solution techniques for the

8.4 Incorporating heuristics within the B&B tree 249

8.4.3 Key results for n50 data group

For the n50 data group all six additional methods are tested. For four

methods (M9, M11, M12 and M14), two sets of parameters are tested; for

one method (M13), four sets of parameters are tested; and for one method

(M10), only a single parameter setting is tested. The parameter variations

are as per the heuristic time limits discussed in §7.6. They are:

• M9: M5 with the construction heuristic H0 executed at the root node

for (a) 180 seconds, and (b) 10 seconds.

• M10: M5 with the catalyst heuristic H1 4 executed at the root node

for a maximum of 180 seconds (terminate H1 4 earlier if 5 integer

solutions found).

• M11: M5 with the construction heuristic H0 executed at Criterion 6

for (a) 5 seconds, and (b) 1 second.

• M12: M5 with the catalyst heuristic H1 4 executed at Criterion 6 for

a maximum of (a) 5 seconds, and (b) 1 second (terminate H1 4 earlier

if 5 integer solutions found).

• M13: M5 with the construction heuristic H0 executed at the root node

for (i) 180 seconds, and (ii) 10 seconds, and Criterion 6 for (i) 5 seconds

and (ii) 1 second.

• M14: M5 with the catalyst heuristic H1 4 executed at the root node

for a maximum of 180 seconds and at Criterion 6 for a maximum of

(a) 5 seconds, and (b) 1 second (terminate H1 4 earlier if 5 integer

solutions found).

These combinations are summarised in Table 8.9. The performance of these

new methods are compared with M5 and the best MIP method for the n50

instances, M2.

In §8.4.3.1, results based on the solution status at termination are discussed.

This includes a high-level comparison of all methods, as well as three pair-

wise comparisons: the two methods with a heuristic at the root node only

(M9 and M10); the two methods with a heuristic at Criterion 6 only (M11

and M12); and the two methods with a heuristic at the root node and Cri-

terion 6 (M13 and M14). In §8.4.3.2, results based on performance profiles

Page 280: New data generation and solution techniques for the

250 COMPUTATIONAL STUDY OF THE B&B SCHEME

Method Heuristic Root node time (s) Criterion 6 time (s)

M9a H0 180 —

M9b H0 10 —

M10 H1 4 180 —

M11a H0 — 5

M11b H0 — 1

M12a H1 4 — 5

M12b H1 4 — 1

M13a H0 180 5

M13b H0 180 1

M13c H0 10 5

M13d H0 10 1

M14a H1 4 180 5

M14b H1 4 180 1

Table 8.9: Summary of B&B methods with heuristics for the n50 instances.

Page 281: New data generation and solution techniques for the

8.4 Incorporating heuristics within the B&B tree 251

and lower bound quality are discussed, while §8.4.3.3 considers relative gap

quality at termination for instances terminating with at least one feasible

solution. Overall conclusions for the n50 problem instances are summarised

in §8.4.3.4.

8.4.3.1 Results based on solution status at termination

The solution status summary for the n50 instances for each of the new meth-

ods is given in Figure 8.11; the solution status summary for M1–M8 (from

Figure 8.4) are also included for comparison. Various ‘solution status at ter-

mination’ comparisons for the n50 instances are discussed throughout this

section; a summary of those comparisons is given in Table 8.10 (page 257).

As seen in Figure 8.11, NO SOL is 0% for M9a and M9b (H0 at the root

node), M11a (H0 at Criterion 6), and all four variants of M13 (H0 at the root

and Criterion 6); optimality was proved or at least one feasible solution was

found for all n50 instances. In contrast, the best baseline method M5 could

do this for only 38.3% of instances. Consequently, the benefits of including

the construction heuristic at strategic points of the scheduling-based B&B

scheme are very clear for these difficult instances.

While the results are not as strong for the methods incorporating the catalyst

(M10, M12 and M14), they also demonstrate a significant improvement over

M5. M10 (H1 4 at the root node) was able to produce optimal and feasible

solutions for 78.3% of instances (more than double that for M5, 38.3%),

while for M12a and M12b (H1 4 at Criterion 6) these results were 88.3%

and 85%, and for M14a and M14b (H1 4 at the root and Criterion 6) these

results were 96.7% and 95%.

The methods that were most successful at proving optimality are: M9b

(35%), M9a (33.3%), M10 (31.7%) and M5 (30%). Since only three of

the B&B methods that execute the heuristics proved optimality slightly

more often than M5—and all three methods executed the heuristics at the

root node only—this indicates that time spent in the tree to investigate as

many nodes as possible is exceptionally important (compare the number of

nodes explored to optimality/termination for M5, M9b and M10 with M11–

M14: 57,262–64,114 nodes compared with 28,412–54,325 nodes, shown in

Table 8.14 on page 271). However, since these three methods were able to

Page 282: New data generation and solution techniques for the

252 COMPUTATIONAL STUDY OF THE B&B SCHEME

OPT FEAS NO SOL

M1 0 8.3 91.7

M2 3.3 20.0 76.7

M3 0 1.7 98.3

M4 0 1.7 98.3

M5 30 8.3 61.7

M6 16.7 11.7 71.6

M7 1.7 0 98.3

M8 0 0 100

M9a 33.3 66.7 0

M9b 35.0 65.0 0

M10 31.7 46.7 21.6

M11a 5.0 95.0 0

M11b 15.0 83.3 1.7

M12a 3.3 85.0 11.7

M12b 11.7 73.3 15

M13a 5.0 95.0 0

M13b 15.0 85.0 0

M13c 6.7 93.3 0

M13d 15.0 85.0 0

M14a 5.0 91.7 3.3

M14b 11.7 83.3 5.0

STATUS AT TERMINATION

0%# 20%# 40%# 60%# 80%# 100%#

M14b#

M14a#

M13d#

M13c#

M13b#

M13a#

M12b#

M12a#

M11b#

M11a#

M10#

M9b#

M9a#

M8#

M7#

M6#

M5#

M4#

M3#

M2#

M1#

Figure 8.11: Solution status summary for the n50 data sets (60 instances).

Entries correspond to the percentage of instances that terminate with sta-

tus: solved to optimality (OPT); at least one feasible solution found but

optimality is not proved (FEAS); and no feasible solution found (NO SOL).

Page 283: New data generation and solution techniques for the

8.4 Incorporating heuristics within the B&B tree 253

find feasible solutions for an additional 38.4–58.4% of instances compared

with M5, the upper bounds generated by executing the heuristics at the

root node were also valuable in pruning nodes throughout the B&B tree

(compare the number of nodes pruned by criteria for M9b and M10 with

M5: 2,076,854–2,088,151 nodes compared with 1,866,601 nodes, shown in

Table 8.14 on page 271).

As mentioned at the start of §8.4, there are three combinations for including

the two heuristics into M5:

• execute the heuristic at the root node only (M9 and M10);

• execute the heuristic at Criterion 6 only (M11 and M12); and

• execute the heuristic at the root node and Criterion 6 (M13 and M14).

In the next few sections, the n50 results for each combination are discussed.

M9 & M10. Table 6.6c (page 160) shows that the construction heuristic

H0 found feasible solutions for all n50 instances within 1 second (and thus

180 seconds and 10 seconds as used in M9a and M9b, respectively), while

catalyst H1 4 found feasible solutions for 73.3% of instances within 180

seconds (as used in M10). By comparing these figures with those of M5,

M9a/b and M10, the benefit from including H0 and H1 4 at the root node

before executing M5 can be inferred.

Recall that M9a (M9b) executes H0 for 180 (10) seconds at the root node

before executing M5 for 4,195 (4,365) seconds (the total time limit less 180

(10) seconds). Consequently, OPT+FEAS for M9a (M9b) should be 100% to

be consistent with the H0 results at 180 (10) seconds; indeed, OPT+FEAS

is 100%. Moreover, OPT went from 30.0% for M5 to 33.3% for M9a (35.0%

for M9b) as optimality was proved for two (three) additional instances, while

FEAS went from 8.3% for M5 to 66.7% for M9a (65% for M9b), and thus

the number of instances terminating without a feasible solution (NO SOL)

dropped from 61.7% to 0% for both M9a and M9b. As a result, both M9a

and M9b outperform M5 for the n50 group.

Similarly, recall that M10 executes H1 4 for 180 seconds at the root node

before executing M5 for 4,195 seconds (the total time limit less 180 seconds).

Consequently, OPT+FEAS for M10 should be at least 73.3% to be consistent

Page 284: New data generation and solution techniques for the

254 COMPUTATIONAL STUDY OF THE B&B SCHEME

with the H1 4 results at 180 seconds; indeed, OPT+FEAS is 78.3% (note

that OPT+FEAS is only 38.3% for M5). Moreover, OPT went from 30.0%

(M5) to 31.7% (M10), while FEAS went from 8.3% (M5) to 46.7% (M10),

and thus the number of instances terminating without a feasible solution

dropped from 61.7% to 21.7%. Thus M10 also outperforms M5.

M11 & M12. In M11 (M12), the construction heuristic H0 (catalyst

heuristic H1 4) is executed in Criterion 6 for either (a) 5 seconds or (b)

1 second at select nodes in the B&B tree. By comparing M11 and M12, the

benefit of using H0 over H1 4 at Criterion 6 can be established, while com-

paring the (a) and (b) versions evaluates the effect of the amount of time

spent at Criterion 6. The benefit of including the heuristics at Criterion

6 only can be established by comparing the results for M5 with those for

M11a/b and M12a/b.

While the percentage of instances that terminate with the optimal solu-

tion reduces (from 30% for M5 down to 3.3–15% for M11 and M12), the

percentage of instances that terminate without a feasible solution decreases

dramatically (from 61.7% down to 0–15%). These results demonstrate the

trade-off between time spent in a heuristic at Criterion 6 compared with

time spent in the rest of the algorithm: additional feasible solutions can be

found (as seen in the M11/M12 results) when time is spent at Criterion 6.

However, this reduces the proportion of the time limit dedicated to the rest

of the algorithm. Since more time spent in the rest of the algorithm enables

additional nodes to be explored, optimality can be proved sooner for some

instances, as seen in the M5 results.

For the same reason, a similar result is seen when comparing M11a/M12a

(5 seconds at Criterion 6) and M11b/M12b (1 second at Criterion 6). Both

M11b and M12b are more successful than M11a and M12a at proving op-

timality (OPT is 15%/11.7% for M11b/M12b compared with 5%/3.3% for

M11a/M12a), and worse at finding feasible solutions (NO SOL is 1.7%/15%

for M11b/M12b compared with 0%/11.7% for M11a/M12a).

Overall, H0 in M11b (M11a) is better than the catalyst H1 4 in M12b (M12a)

at (i) proving optimality with 15% (5%) compared with 11.7% (3.3%), as

well as (ii) finding feasible solutions with NO SOL of 1.7% (0%) compared

Page 285: New data generation and solution techniques for the

8.4 Incorporating heuristics within the B&B tree 255

with 15% (11.7%). Consequently, M11 outperforms M12 at both finding

feasible solutions and proving optimality.

M13 & M14. A similar analysis of relative performance can be done

for M13/M14 as was done for M11/M12. In M13 (M14), the construction

heuristic H0 (catalyst heuristic H1 4) is executed in Criterion 6 for either (a)

5 seconds or (b) 1 second at select nodes in the B&B tree, as well as at the

root node for 180 seconds or 10 seconds (M13c/d only). By comparing M13

and M14, the benefit of using H0 over H1 4 at the root node and Criterion

6 can be established, while comparing the (a) and (b) versions evaluates the

effect of the amount of time spent at Criterion 6. The benefit of including

the heuristics at both the root node and Criterion 6 can be established by

comparing the results for M5 with those for M13 and M14. The benefit of

including the heuristics at both the root node and Criterion 6 rather than

just Criterion 6 can be established by comparing the results for M13 and

M14 with those for M11 and M12.

An important additional comparison is M13/M14 (heuristic at root and

Criterion 6) with M9/M10 (heuristic at root only). When the heuristic is

H0, M9a/b is compared with M13a/b/c/d. M9b is the overall winner; M9a/b

outperforms all of M13a/b/c/d on OPT (33.3–35% compared with 5–15%),

and NO SOL is 0% for all six methods. This suggests that if terminating

with the optimal solution is the highest priority, M9b is the best choice of

these six methods.

When the heuristic is H1 4, M10 is compared with M14a/b. While M10

outperforms M14a/b on OPT (31.7% compared with 5–11.7%), M14a/b is

better at terminating with feasible solutions; NO SOL is 21.7% for M10

compared with only 3.3–5% for M14a/b. This suggests that if terminating

with the optimal solution is the highest priority, M10 is the best choice

of these three methods. However, if terminating with at least one feasible

solution is a higher priority, M14a/b are better methods.

Another important comparison is M13/M14 (heuristic at root and Criterion

6) with M11/M12 (heuristic at Criterion 6 only). When the heuristic is

H0, M11a/b is compared with M13a/b/c/d. Overall M13b/d are the best of

M11a/b and M13a/b/c/d; M13b/d and M11b are equal on OPT (15%, which

is better than 5–6.7% for M11a and M13a/c) however, M13b/d outperforms

Page 286: New data generation and solution techniques for the

256 COMPUTATIONAL STUDY OF THE B&B SCHEME

M11b on FEAS (85% compared with 83.3%). These results indicate that

executing H0 at both the root node (for 10 or 180 seconds) and Criterion 6

(for 1 second only) is better than including H0 at Criterion 6 only.

When the heuristic is H1 4, M12a/b is compared with M14a/b. M14a/b

outperforms M12a/b (as OPTM14i ≥ OPTM12i and FEASM14i ≥ FEASM12i

for i ∈ {a,b}) indicating that executing the catalyst H1 4 at both the root

node and Criterion 6 (for 1 second only) is better than including the catalyst

at Criterion 6 only.

Finally, it is worth noting that overall M13b/d are the best of M13a/b/c/d

and M14a/b, as OPT and NO SOL are best for M13b/d (15% and 0%,

respectively).

A summary of the results of the above comparisons is given in Table 8.10.

8.4.3.2 Results based on performance profile and LB quality

As seen in §8.3.3, all methods investigated in this section could not prove

optimality for the majority of data sets. Due to this variability, we cannot

use a single time-based performance profile to compare the relative perfor-

mance of each method across all instances. Instead, the performance profile

for data sets where at least one method solved to optimality within the time

limit (21 out of 60 data sets) is given in Figure 8.12.

0.5 1 1.5 2 2.5 3 3.5 4 4.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Time/BestTime

Pro

port

ion o

f in

sta

nces

Method 2

Method 5

Method 9a

Method 9b

Method 10

Method 11a

Method 11b

Method 12a

Method 12b

Method 13a

Method 13b

Method 13c

Method 13d

Method 14a

Method 14b

Figure 8.12: Performance profile for the n50 instances where at least one

method proved optimality (21 instances).

Page 287: New data generation and solution techniques for the

8.4 Incorporating heuristics within the B&B tree 257M

ethods

com

pare

dC

om

pari

son

Bes

tfo

ropti

mality

Bes

tfo

rfe

asi

bilit

yB

oth

M5

vs.

M9a/b

M5

vs.

M5

wit

hheu

rist

icH

0at

root

M9b

M9a/b

M9b

M5

vs.

M10

M5

vs.

M5

wit

hheu

rist

icH

14

at

root

M10

M10

M10

M9a/b

vs.

M10

Heu

rist

icat

root

node:

H0

vs.

H1

4M

9b

M9a/b

M9b

M5

vs.

M11a/b

M5

vs.

M5

wit

hheu

rist

icH

0at

Cri

teri

on

6M

5M

11a

M5

vs.

M12a/b

M5

vs.

M5

wit

hheu

rist

icH

14

at

Cri

teri

on

6M

5M

12a

M11a/b

vs.

M12a/b

Heu

rist

icat

Cri

teri

on

6:

H0

vs.

H1

4M

11b

M11a

M5

vs.

M13a/b/c/

dM

5vs.

M5

wit

hheu

rist

icH

0at

root

and

Cri

teri

on

6M

5M

13a/b/c/

d–

M5

vs.

M14a/b

M5

vs.

M5

wit

hheu

rist

icH

14

at

root

and

Cri

teri

on

6M

5M

14a

M13a/b/c/

dvs.

M14a/b

Heu

rist

icat

root

node

and

Cri

teri

on

6:

H0

vs.

H1

4M

13b/d

M13a/b/c/

dM

13b/d

M9a/b

vs.

M13a/b/c/

dH

0:

at

root

only

vs.

at

root

and

Cri

teri

on

6M

9b

M9a/b

&M

13a/b/c/

dM

9b

M10

vs.

M14a/b

H1

4:

at

root

only

vs.

at

root

and

Cri

teri

on

6M

10

M14a

M11a/b

vs.

M13a/b/c/

dH

0:

at

Cri

teri

on

6only

vs.

at

root

and

Cri

teri

on

6M

11b

&M

13b/d

M11a

&M

13a/b/c/

dM

13b/d

M12a/b

vs.

M14a/b

H1

4:

at

Cri

teri

on

6only

vs.

at

root

and

Cri

teri

on

6M

12b

&M

14b

M14a

M9a

vs.

M9b

Tim

efo

rH

0at

root:t

=180

vs.t

=10

M9b

M9a/b

M9b

M11a

vs.

M11b

Tim

efo

rH

0at

Cri

teri

on

6:t

=5

vs.t

=1

M11b

M11a

M12a

vs.

M12b

Tim

efo

rH

14

at

Cri

teri

on

6:t

=5

vs.t

=1

M12b

M12a

M13a

vs.

M13b

Tim

efo

rH

0at

Cri

teri

on

6(r

oot:t

=180):t

=5

vs.t

=1

M13b

M13a/b

M13c

vs.

M13d

Tim

efo

rH

0at

Cri

teri

on

6(r

oot:t

=10):t

=5

vs.t

=1

M13d

M13c/

d–

M14a

vs.

M14b

Tim

efo

rH

14

at

Cri

teri

on

6(r

oot:t

=180):t

=5

vs.t

=1

M14b

M14a

M13a

vs.

M13c

Tim

efo

rH

0at

root

(Cri

teri

on

6:t

=5):t

=180

vs.t

=10

M13c

M13a/c

M13c

M13b

vs.

M13d

Tim

efo

rH

0at

root

(Cri

teri

on

6:t

=1):t

=180

vs.t

=10

M13b/d

M13b/d

M13b/d

Tab

le8.

10:

Su

mm

ary

of‘s

olu

tion

statu

sat

term

inat

ion

’co

mp

aris

ons

for

then

50in

stan

ces.

‘Bes

tfo

rop

tim

alit

y’

give

sth

e

bes

tm

eth

od

(s)

ofth

eco

mp

aris

onb

ase

don

the

per

centa

geof

inst

ance

sth

atte

rmin

ate

wit

hth

eop

tim

also

luti

on.

‘Bes

tfo

r

feas

ibil

ity’

give

sth

eb

est

met

hod

(s)

of

the

com

par

ison

bas

edon

the

per

centa

geof

inst

ance

sth

atte

rmin

ate

wit

hat

leas

ton

e

feas

ible

solu

tion

,in

clu

din

gth

eop

tim

al

solu

tion

.‘B

oth

’gi

ves

the

met

hod

(s)

bes

tfo

rb

oth

opti

mal

ity

and

feas

ibil

ity.

Page 288: New data generation and solution techniques for the

258 COMPUTATIONAL STUDY OF THE B&B SCHEME

Again, it is important to note that the solve time of instances not solved

to optimality are capped at 4,375 seconds due to the time limit. As a

result, this performance profile does not fully penalise methods that do not

reach optimality within the time limit: for example, Methods 2 and 12a did

not successfully prove optimality for 19 of the 21 data sets shown (hence

all of these results record Time = 4,375 seconds), yet all problems have

a Time/BestT ime ratio of less than 11 (that is, appear at most 11 times

worse than the best solve time). In reality, the true (uncapped) solve times

could be much worse: compare with Time/BestT ime ratios of more than

500 for some n25 instances and more than 200 for some BKA instances in

§8.3.1–8.3.2.

Since M9b is the best solver for 81.0% of these instances (17 out of 21),

and the curve for M9b is equal to or in front of all other curves, M9b is

the best solution method for these 21 instances. M13d was the best solver

on 9.5% of the problems (2 out of 21), and M5 and M10 were each the

best solvers for 4.8% of the problems (1 out of 21 each); methods M2, M9a,

M11a/b, M12a/b, M13a/b/c and M14a/b were never the best solvers. Note

that even though M9a was never the best solver, all 21 instances had a

Time/BestT ime ratio of less than 1.45 compared with 1.31 for M9b, 1.40

for M10, and 1.43 for M5. This indicates that the solve times produced by

M9a for these instances is very close to the times produced by each of the

best solvers.

Recall from §8.4.3.1 and Figure 8.11 that the most successful methods at

proving optimality are M9b (35%), M9a (33.3%), M10 (31.7%) and M5

(30%). Consequently, it is unsurprising that Figure 8.12 shows that M9b,

M10, M9a and M5 are the best methods for these 21 instances; their four

curves are within a Time/BestT ime ratio of 1.5, compared with over 3 for

all other methods. However, this performance profile gives no insight on

which method performs best on the other 39 instances. As in §4.6.4.5 and

§8.3.3, the quality of the lower bounds at termination can be compared for

instances where no feasible solution was found.

Figure 8.13 illustrates the quality of the lower bounds at termination for all

60 of the n50 instances, while Figure 8.14 illustrates the quality of the lower

bounds for the 39 instances where no method proved optimality. As seen

in both figures, M9a, M9b and M10 give the best lower bounds overall (LB

Page 289: New data generation and solution techniques for the

8.4 Incorporating heuristics within the B&B tree 259

0 1 2 3 4 5 6 70

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Percentage LB gap from best LB, 100*(BestLB−LB)/(BestLB)

Pro

port

ion o

f in

sta

nces

Method 2

Method 5

Method 9a

Method 9b

Method 10

Method 11a

Method 11b

Method 12a

Method 12b

Method 13a

Method 13b

Method 13c

Method 13d

Method 14a

Method 14b

Figure 8.13: Comparison of lower bound quality for all n50 instances.

0 1 2 3 4 5 6 70

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Percentage LB gap from best LB, 100*(BestLB−LB)/(BestLB)

Pro

port

ion o

f in

sta

nces

Method 2

Method 5

Method 9a

Method 9b

Method 10

Method 11a

Method 11b

Method 12a

Method 12b

Method 13a

Method 13b

Method 13c

Method 13d

Method 14a

Method 14b

Figure 8.14: Lower bound quality where optimality not proved (39 instances).

Page 290: New data generation and solution techniques for the

260 COMPUTATIONAL STUDY OF THE B&B SCHEME

gaps are within 2.9% for all instances), with M5 not far behind (LB gaps are

within 3.4% for all instances). In contrast, M2 consistently has the weakest

lower bounds, with all LB gaps within 7.9%.

Interestingly, the (b) versions of M11, M12, M13 and M14 generally produce

better lower bounds than the (a) versions of the same methods; this effect

is most clearly seen in Figure 8.13 where the dashed lines that comprise the

second wedge of overlapping curves are M11b/M12b/M13b/M13d/M14b,

while the solid lines that comprise the third wedge of overlapping curves are

M11a/M12a/M13a/M13c/M14a. As seen in Figure 8.14, for the 39 instances

without any optimal solutions, M11b/M12b/M13b/M14b (and M13d) pro-

duce LBs at termination that are all within 4.9% of the best LB, compared

with 6.7% for M11a/M12a/M13a/M14a (and M13c). This means that the

methods that execute a heuristic at Criterion 6 for only 1 second generally

produce better LB gaps at termination than the methods that allow 5 sec-

onds at Criterion 6. This is due to the additional instances where optimal

solutions are produced by these methods, as discussed in Section 8.4.3.1.

8.4.3.3 Results based on relative gaps at termination

For a problem instance that terminates with at least one feasible solution,

the relative gap at termination is given by 100(UB−LBLB

), where LB is the

best lower bound and UB is the best upper bound at termination. If

LB = UB, then the optimal solution was found and proved to be optimal

by termination and the relative gap is zero. If a feasible solution is not

found prior to termination there is no upper bound, and thus the gap for

that instance is undefined and not calculated.

For each method, the distribution of the relative gaps at termination for the

n50 instances is given in Figure 8.15. The number in parentheses next to

the method name is the number of instances (out of 60) that terminate with

an upper bound and thus a gap is included in the box plot.

For each method that has multiple variations, the box plots are in the same

colour; this highlights that the box plot ranges of methods in the same group

have a similar spread. Likewise, M11a is closely related to M13a/c and thus

these box plots have very similar spreads. This pattern is also seen for:

M11b with M13b/d; M12a and M14a; and M12b and M14b.

Page 291: New data generation and solution techniques for the

8.4 Incorporating heuristics within the B&B tree 261

●●● ●

●●

●●●

●●●

M2

( 1

4 )

M5

( 2

3 )

M9a

( 6

0 )

M9b

( 6

0 )

M10

( 4

7 )

M11

a (

60

)

M11

b (

59

)

M12

a (

53

)

M12

b (

51

)

M13

a (

60

)

M13

b (

60

)

M13

c (

60

)

M13

d (

60

)

M14

a (

58

)

M14

b (

57

)

020

4060

8010

0

Figure 8.15: Box plot of the relative gaps for each exact method for the n50

instances (60 instances).

Page 292: New data generation and solution techniques for the

262 COMPUTATIONAL STUDY OF THE B&B SCHEME

As seen in Figure 8.11, M5 has the best ratio of OPT to FEAS (30% to

8.3%). Moreover, those 8.3% of instances terminated with relative gaps of

less than 4.8%, thus M5 produces the most compact box plot.

Since M9a, M9b and M10 all terminate with the optimal solution for over

30% of instances, the first quartile of each of these box plots is zero. However,

M10 has the largest range (with the maximum relative gap of 98.2%) and

M9a and M9b produce the largest medians. All three of these methods only

execute a heuristic at the root node. In contrast, M11–M14 which all execute

a heuristic at Criterion 6 within the B&B tree produce more compact box

plots of the relative gaps. This indicates that finding feasible solutions later

in the solution process is likely to provide a better upper bound (and thus

relative gap at termination) than those found at the root node only.

Finally, the spread of the relative gaps produced by the methods executing

the construction heuristic H0 (M9, M11 and M13) are generally better than

those using the catalyst H1 4 (M10, M12 and M14). This is not surprising;

as discussed in §6.3.2 and §6.3.4, the construction heuristic produces many

good-quality unique feasible solutions and thus has a distinct advantage over

the catalyst heuristic H1 4.

8.4.3.4 n50 conclusions

By combining the n50 group results in Figures 8.11–8.15, the results for the

methods including the heuristics are very promising, though not as clear cut

as for the baseline B&B methods.

For producing optimal solutions and thus the best solve times, methods M5,

M9a/b and M10 are most successful. For consistently producing feasible

solutions M9a/b, M11a and M13a/b/c/d are most successful. Finally, for

good-quality lower bounds at termination, methods M5, M9a/b and M10

are most successful, followed by all methods that execute a heuristic at

Criterion 6 for 1 second only (M11b/M12b/M13b/M13d/M14b).

8.4.4 Key results for n100 data group

Despite the success of M9 and M13 for the n50 group, these methods are

not worth testing for the n100 group as the construction heuristic did not

Page 293: New data generation and solution techniques for the

8.4 Incorporating heuristics within the B&B tree 263

find any feasible solutions for any of the n100 instances with a time limit

of 300 seconds. Consequently, for the n100 data group only four of the

six additional methods are tested, with two variations for three of those

methods. They are:

• M10: M5 with the catalyst heuristic H1 4 executed at the root node

for a maximum of 300 seconds (terminate H1 4 earlier if 5 integer

solutions found).

• M11: M5 with the construction heuristic H0 executed at Criterion 6

for (a) 5 seconds, and (b) 1 second.

• M12: M5 with the catalyst heuristic H1 4 executed at Criterion 6 for

a maximum of (a) 5 seconds, and (b) 1 second (terminate H1 4 earlier

if 5 integer solutions found).

• M14: M5 with the catalyst heuristic H1 4 executed at the root node

for a maximum of 300 seconds and at Criterion 6 for a maximum of

(a) 5 seconds, and (b) 1 second (terminate H1 4 earlier if 5 integer

solutions found).

These combinations are summarised in Table 8.11. The performance of these

new methods is compared with M5 and the best MIP methods for the n100

instances, M1 and M2.

Method Heuristic Root node time (s) Criterion 6 time (s)

M10 H1 4 300 —

M11a H0 — 5

M11b H0 — 1

M12a H1 4 — 5

M12b H1 4 — 1

M14a H1 4 300 5

M14b H1 4 300 1

Table 8.11: Summary of B&B methods with heuristics for the n100 instances.

The solution status summary for the n100 instances for each of the new

methods is given in Figure 8.16; the solution status summary for M1–M8 is

included for comparison.

Page 294: New data generation and solution techniques for the

264 COMPUTATIONAL STUDY OF THE B&B SCHEME

OPT FEAS NO SOL

M1-M8 0 0 100

M10 0 8.3 91.7

M11a 0 68.3 31.7

M11b 0 70.0 30.0

M12a 0 11.7 88.3

M12b 0 3.3 96.7

M14a 0 25.0 75.0

M14b 0 15.0 85.0

STATUS AT TERMINATION

0%# 20%# 40%# 60%# 80%# 100%#

M14b#

M14a#

M12b#

M12a#

M11b#

M11a#

M10#

M1,M8#

Figure 8.16: Solution status summary for the n100 data sets (60 instances).

Entries correspond to the percentage of instances that terminate with sta-

tus: solved to optimality (OPT); at least one feasible solution found but

optimality is not proved (FEAS); and no feasible solution found (NO SOL).

Solution status and LB quality at termination. Figure 8.16 shows

that none of the n100 instances are solved to optimality within the time

limit by any of these methods, and none of M1–M8 produced a feasible

solution. In contrast, all of the B&B methods that included a heuristic at

the root and/or Criterion 6 produced some feasible solutions; for at least

two of the 60 instances (3.3% for M12b), and up to 42 of the 60 instances

(70.0% for M11b).

M5 & M10. Comparing the results for M5 and M10 quantifies the benefit

of using 300 seconds of the time limit to execute the catalyst H1 4 at the

root node. As seen in Table 6.6d (p.160), heuristic method H1 4 found a

feasible solution for 8.3% of the n100 instances (5 out of 60) within 300

seconds. Table 8.11 notes that M10 executes H1 4 for 300 seconds at the

root node; the rest of the time limit (10,000 seconds) is used for M5. Since

executing M5 for the full time limit of 10,300 seconds produced no feasible

solutions for any of the n100 instances, it is unsurprising that no further

feasible solutions were found by M10. However, for the 5 instances that

H1 4 finds an upper bound, all of these instances terminate with a larger

lower bound in M10 compared to M5, indicating that the upper bound found

by the heuristic at the root was useful for pruning nodes in the B&B tree

(at Criterion 5).

Page 295: New data generation and solution techniques for the

8.4 Incorporating heuristics within the B&B tree 265

M10 & M14. Comparing the results for M10 and M14 quantifies the

benefit of including catalyst H1 4 at Criterion 6. For the n100 instances,

M14a executes H1 4 at Criterion 6 for 5 seconds at all nodes at level 50

(50 jobs remaining to be scheduled) and level 75 (25 jobs remaining to be

scheduled); M14b is the same as M14a except H1 4 is executed for only 1

second at Criterion 6. For M10, 8.3% of instances terminate with an upper

bound, while this is 25% for M14a and 15% for M14b. This indicates that it

is worthwhile including H1 4 at Criterion 6 for either 1 second or 5 seconds,

though better results are achieved for 5 seconds. However, there will be

a reduction in lower bound quality at termination of up to 1%, as seen in

Figure 8.17, where the curve for M10 is consistently in front or equal to the

curves for M14a and M14b.

0 0.5 1 1.5 2 2.5 3 3.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Percentage LB gap from best LB, 100*(BestLB−LB)/(BestLB)

Pro

port

ion o

f in

sta

nces

Method 1

Method 2

Method 5

Method 10

Method 11a

Method 11b

Method 12a

Method 12b

Method 14a

Method 14b

Figure 8.17: Comparison of lower bound quality for all n100 instances.

M12 & M14. Comparing the results for M12a and M14a (and M12b and

M14b) quantifies the benefit of including catalyst H1 4 at the root node for

300 seconds, when H1 4 is already executed at Criterion 6 for 5 seconds

(and 1 second, respectively). For M12a, 11.7% of instances terminate with

an upper bound; this increases to 25% for M14a (3.3% for M12b and 15% for

M14b). These results show that M14 outperforms M12 in terms of finding

feasible solutions, thus executing H1 4 at the root node is worthwhile when

H1 4 is already executed at Criterion 6, with the best results when H1 4 is

executed at Criterion 6 for 5 seconds as in M14b. Interestingly, there is no

reduction in lower bound quality at termination; the curve for M14a (M14b)

Page 296: New data generation and solution techniques for the

266 COMPUTATIONAL STUDY OF THE B&B SCHEME

is consistently in front of the curve for M12a (M12b) in Figure 8.17. Indeed,

there is actually an improvement in the lower bound at termination for

M14a (M14b) compared to M12a (M12b) which indicates that the additional

feasible solutions that have been found have been used to prune more nodes

throughout the B&B tree (at Criterion 5).

Other results. For each method, the percentage of instances with the best

lower bound at termination corresponds to the proportion of instances where

the percentage LB gap from the best LB is zero (as seen in Figure 8.17):

Method M1 M2 M5 M10 M11a M11b M12a M12b M14a M14b

% best 30 25 0 23.3 1.7 20 0 0 0 0

M1 and M2 regularly produce the best lower bound, as seen in the above

table and in Figure 8.17. However, neither of these methods produce up-

per bounds (see Figure 8.16) and thus do not generate a relative gap (see

Figure 8.18).

M1

( 0

)

M2

( 0

)

M5

( 0

)

M10

( 5

)

M11

a (

41

)

M11

b (

42

)

M12

a (

7 )

M12

b (

2 )

M14

a (

15

)

M14

b (

9 )

1020

3040

5060

70

Figure 8.18: Box plot of the relative gaps for each exact method for the n100

instances (60 instances).

Page 297: New data generation and solution techniques for the

8.4 Incorporating heuristics within the B&B tree 267

In contrast, M11a and M11b produced feasible solutions prior to termination

for over two-thirds of the n100 instances (68.3% for M11a and 70.0% for

M11b). To a lesser extent, M14a and M14b were also successful at finding

feasible solutions; 25.0% for M14a and 15.0% for M14b. For all instances

that terminated with an upper bound, the relative gap can be calculated.

For each method, the distribution of the relative gaps at termination for

the n100 instances is given in Figure 8.18. The interquartile ranges of these

box plots significantly overlap, indicating that the majority of gaps are of

similar magnitude. Across all methods, the maximum gap is 72.8% and the

minimum gap is 7.9%, both for M14b.

Finally, Table 8.12 shows the relative difficulty of finding feasible solutions

for the n100 instances when split into two groups based on the value of γ

(30 instances in each γ group). Recall from §3.4.2.1 that γ controls the time

window widths; problem instances where γ = M have moderately variable

time window widths, with some time window widths being wide enough to

potentially allow an extra 10 jobs of average length to be performed. In

contrast, instances where γ = H have very variable time window widths,

with some time window widths being wide enough to potentially allow an

extra 20 jobs of average length to be performed. Table 3.5 showed that

Classes 16–19 had γ = M , while Classes 20–22 had γ = H.

Method M10 M11a M11b M12a M12b M14a M14b

γ = M 16.7 90.0 93.3 16.7 6.7 40.0 30.0

γ = H 0 46.7 46.7 6.7 0 10.0 0

Table 8.12: Percentage of n100 instances where a feasible solution was found

prior to termination, split into two groups based on γ.

As discussed in §6.4.4, holding all other instance attributes constant while

increasing the average length of time windows will increase the number of

feasible solutions that exist for that problem instance. If the total number

of feasible solutions was larger due to wider time windows, the construction

heuristic H0 had a better chance of constructing a feasible solution as, on

average, there were fewer time window violations.

In contrast, Table 8.12 shows that finding feasible solutions for instances

Page 298: New data generation and solution techniques for the

268 COMPUTATIONAL STUDY OF THE B&B SCHEME

where γ = M is easier than when γ = H for all B&B methods. This is be-

cause the increase in the feasible region for the γ = H instances significantly

increased the size of the B&B tree to be explored, and thus increased the

time required to find the first feasible solution. This suggests that a heuris-

tic that artificially reduces time windows at the root node may be helpful

in reducing the size of the B&B tree to be explored, and thus may allow

additional feasible solutions to be found sooner, but this suggestion is left

as an idea for future research.

8.4.4.1 n100 conclusions

By combining the n100 group results in Table 8.12 and Figures 8.16–8.18,

the B&B methods including the heuristics are a significant improvement

over Methods 1–8 which did not produce any feasible solutions for any n100

instance.

Methods 11a and 11b, which executed the construction heuristic at Cri-

terion 6, produced feasible solutions for 68.3–70% of the n100 instances;

Methods 10, 12a/b and M14a/b, which executed the catalyst H1 4 at the

root node and/or Criterion 6, produce feasible solutions for 3.3–25% of in-

stances. Methods 1, 2, 10 and 11b each produced the best lower bounds

at termination for 20–30% of instances. Overall, M11b produced the most

feasible solutions and is one of the best methods for terminating with the

best lower bound, so is the best method across the n100 data group.

8.4.5 Conclusions on the B&B methods with heuristics

Recall from Table 8.2 (page 233) that Method 5 is the baseline B&B method

that uses the LP relaxation of MIP1 with precedence set P at Criterion 4.

The BKA results presented in §8.4.1 show that Method 5 is the superior

scheduling-based B&B method for this data group, indicating that the small-

est and easiest SOP-TW problem instances are best solved via M5 without

any heuristics; computation time is best invested in solving a pure exact

algorithm to prove optimality sooner, not in executing heuristics. How-

ever, the results in §8.4.2 for the n25 data group show a clear transition;

as problem instances become larger and more complex, M5 begins to lose

Page 299: New data generation and solution techniques for the

8.4 Incorporating heuristics within the B&B tree 269

its competitiveness and methods that incorporate heuristics become increas-

ingly worthwhile.

Indeed, §8.4.3 for the n50 data group shows that while M5 was almost as

good as the best B&B methods with heuristics—M9a, M9b and M10—for

producing optimal solutions, all 13 B&B methods with heuristics (as per

Table 8.9) were more successful than M5 at consistently producing feasible

solutions for the n50 data group. This success continues for the most difficult

problem instances, the n100 data group.

None of Methods 1–8 produced feasible solutions for any n100 problem in-

stance. In contrast, §8.4.4 showed that all seven B&B methods with heuris-

tics (as per Table 8.11) produced feasible solutions for at least 3.3% of in-

stances, and up to 70% of instances. In particular, the best B&B method

incorporating a heuristic, M11b, produced feasible solutions for 70% of the

n100 instances prior to termination.

Based on the results throughout Section 8.4, it is clear that the inclusion of

heuristics within the best baseline scheduling-based B&B algorithm, M5, is

essential for producing feasible solutions prior to termination for increasingly

difficult problem instances. While the inclusion of the catalyst heuristic

H1 4 produced promising results for both the n50 and n100 data groups,

the superior effectiveness of the construction heuristic in M9a/b, M11a/b

and M13a/b/c/d makes it the heuristic of choice for both data groups.

A summary of the above conclusions is given in Table 8.13.

Data group Best for Best for Best for LB qualityoptimality feasibility at termination

BKA M5 NA NA

n25 M5, M10, M9 NA NA

n50 M9b/a, M10, M5 M9a/b, M11a/b, M9a/b, M10, M5

M13a/b/c/d

n100 – M11b/a M2, M1, M10, M11b

Table 8.13: Summary of the conclusions on the B&B methods with heuristics.

Page 300: New data generation and solution techniques for the

270 COMPUTATIONAL STUDY OF THE B&B SCHEME

8.5 Effectiveness of each criterion

In this section, the effectiveness of each criterion within the scheduling-

based B&B scheme is evaluated for the best variation of each method (that

is, the best of versions a/b/c/d where multiple variations were tested; see

Table 8.9 on page 250 for n50 variations, and Table 8.11 on page 263 for

n100 variations). For each data group, these are:

• BKA: M5, M9 and M10;

• n25: M5, M9 and M10;

• n50: M5, M9b, M10, M11b, M12a, M13d and M14a; and

• n100: M5, M10, M11b, M12a and M14a.

When considering the results discussed in this section, it is important to

recall that—due to the time limits given in Table 8.1—most of the n50

results and all of the n100 results are truncated. For example, 70% of n50

instances timed out for M5 and 96.7% of n50 instances timed out for M12a;

for all methods, all n100 instances timed out. In contrast, every BKA and

n25 instance was solved to optimality by each of the three methods within

the 1,800 second time limit.

8.5.1 General comments

This section contains general results and comments that give an overview

of the performances of the various B&B methods for each data group. In

particular, high-level information such as the mean number of B&B nodes

created, pruned and explored is presented, along with a breakdown of the

mean percentage of nodes pruned by each criterion. More specific comments

on the performance of each criterion are discussed in Section 8.5.2.

Table 8.14 contains B&B node information by data group for each method.

In general, the number of nodes pruned, created and explored increase as

n increases, though not linearly with the time limit. While the time limit

increases with n, on average, more time is required to explore each node as

n increases. From Table 4.2 (page 101) recall that, in general, the ratio of

the mean number of arcs created to the size of the complete arc set ( |A|m )

Page 301: New data generation and solution techniques for the

8.5 Effectiveness of each criterion 271

Data group BKA n25

Method M5 M9 M10 M5 M9 M10

Mean # of nodes not created

(pruned by criteria)21,927 27,266 24,421 79,969 82,827 80,066

Mean # of nodes created

(not pruned by criteria)10,663 5,312 8,277 12,169 9,317 12,073

Mean # of nodes explored to

optimality/termination3,005 2,994 3,014 5,625 5,626 5,625

Mean % of nodes explored

(compared with created)28.2% 56.4% 36.4% 46.2% 60.4% 46.6%

Mean ratio of nodes created

to pruned0.49 0.19 0.34 0.15 0.11 0.15

Data group n50

Method M5 M9b M10 M11b M12a M13d M14a

Mean # of nodes not created

(pruned by criteria)1,866,601 2,076,854 2,088,151 1,747,057 977,176 1,845,039 1,099,604

Mean # of nodes created

(not pruned by criteria)225,766 253,545 254,486 197,300 135,432 207,546 151,897

Mean # of nodes explored to

optimality/termination57,262 63,788 64,114 51,429 28,412 54,325 32,015

Mean % of nodes explored

(compared with created)25.4% 25.2% 25.2% 26.1% 21.0% 26.2% 21.1%

Mean ratio of nodes created

to pruned0.12 0.12 0.12 0.11 0.14 0.11 0.14

Data group n100

Method M5 M10 M11b M12a M14a

Mean # of nodes not created

(pruned by criteria)3,036,035 4,529,338 4,622,570 2,494,209 3,455,899

Mean # of nodes created

(not pruned by criteria)202,453 292,700 299,449 172,849 235,208

Mean # of nodes explored to

optimality/termination40,610 61,147 61,366 32,263 44,820

Mean % of nodes explored

(compared with created)20.1% 20.9% 20.5% 18.7% 19.1%

Mean ratio of nodes created

to pruned0.07 0.06 0.06 0.07 0.07

Table 8.14: B&B node information for key methods by data group.

Page 302: New data generation and solution techniques for the

272 COMPUTATIONAL STUDY OF THE B&B SCHEME

reduces as n increases. This implies that—on average—proportionally fewer

branches exist between each level as n increases, that is, these branches will

be pruned by Criterion 1; note that this drives the general trend that the

ratio of the mean number of nodes created to the mean number of nodes

pruned decreases as n increases. Despite this, the mean number of branches

out of each node does increase with n, thus the mean time required to explore

each node also increases with n.

Comparing M5, M9 and M10 for the BKA data sets, fewer nodes are created

and more nodes are pruned in M9 and M10 than M5; this is also true for the

n25 group. As shown in Table 8.15, a larger percentage of nodes are pruned

by Criterion 5—which checks dominance by the best upper bound—with

M9 and M10. This is due to the success of the heuristics at the root node,

especially for the BKA data sets; they are substantially easier to solve than

the other problem instances, which is demonstrated by both heuristics (H0

and H1 4) finding an optimal (or a near-optimal) solution for many BKA

instances (see Figures 6.4a and 6.8a). Consequently, the optimal value is

often the upper bound for Criterion 5, hence nodes that would be created

in M5 are now pruned in M9 and M10. Since approximately the same

number of nodes are investigated to prove optimality (2,994–3,014 nodes),

the percentage of created nodes investigated rises from 28.2% (M5) to 36.4%

(M10) and 56.4% (M9). Despite this, the solve time generally increases for

M9 and M10 (as shown in Figure 8.9) thus M5 remains the best method for

the BKA instances.

As will be noted in the comments for Criterion 5, for the BKA instances,

the percentage of nodes pruned by this criterion with M5 (6.4%) is much

higher with M9 (34.3%) and M10 (20.7%) due to the heuristics regularly

finding the optimal (or a near-optimal) solution. A side-effect of improved

performance by Criterion 5 for these instances is the consequent reduction

in the percentage of nodes pruned by Criterion 7 (from 14.5% for M5 to

2.0% for M9 and 7.9% for M10); Criterion 5 is now pruning more nodes via

upper bound dominance, thus reducing the opportunities for Criterion 7 to

prune nodes due to dominance between feasible nodes.

Comparing M9b with M11b and M13d, as well as comparing M10 with

M12a and M14a for the n50 group (and comparing M10 with M12a and

M14a for the n100 group) fewer nodes are created and fewer nodes are

Page 303: New data generation and solution techniques for the

8.5 Effectiveness of each criterion 273

Data group BKA n25

Method M5 M9 M10 M5 M9 M10

Criterion 1 8.2% 6.7% 7.4% 7.4% 7.1% 7.3%

Criterion 2 70.9% 57.0% 64.0% 50.1% 48.3% 50.0%

Criterion 3 0.001% 0.001% 0.001% 20.4% 19.7% 20.4%

Criterion 4 0.007% 0.006% 0.006% 0.000% 0.000% 0.000%

Criterion 5 6.4% 34.3% 20.7% 16.5% 20.4% 16.6%

Criterion 6 NA NA NA NA NA NA

Criterion 7 14.5% 2.0% 7.9% 5.7% 4.4% 5.6%

Total 100 100 100 100 100 100

Data group n50

Method M5 M9b M10 M11b M12a M13d M14a

Criterion 1 33.4% 32.8% 32.7% 33.1% 34.8% 32.8% 34.2%

Criterion 2 48.0% 48.3% 48.3% 47.5% 48.1% 47.6% 48.3%

Criterion 3 11.4% 11.6% 11.6% 11.0% 10.6% 11.1% 10.7%

Criterion 4 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0%

Criterion 5 1.4% 1.5% 1.5% 3.4% 1.2% 3.5% 1.3%

Criterion 6 NA NA NA NA 0.00001% NA 0.00002%

Criterion 7 5.8% 5.8% 5.8% 4.9% 5.4% 5.0% 5.4%

Total 100 100 100 100 100 100 100

Data group n100

Method M5 M10 M11b M12a M14a

Criterion 1 69.0% 68.3% 68.5% 69.6% 69.0%

Criterion 2 23.7% 24.0% 23.9% 23.5% 23.7%

Criterion 3 4.7% 5.0% 4.9% 4.6% 4.7%

Criterion 4 0.0% 0.0% 0.0% 0.0% 0.0%

Criterion 5 0.0000% 0.0009% 0.0015% 0.0003% 0.0005%

Criterion 6 NA NA NA 0.0000% 0.0000%

Criterion 7 2.5% 2.7% 2.7% 2.4% 2.5%

Total 100 100 100 100 100

Table 8.15: Mean percentage of B&B nodes pruned (i.e. not created) due to

each criterion, for key methods by data group.

Page 304: New data generation and solution techniques for the

274 COMPUTATIONAL STUDY OF THE B&B SCHEME

pruned and fewer nodes are explored to optimality/termination. This is

primarily due to the inclusion of a heuristic at Criterion 6 (as is the case for

M11b/M12a/M13d/M14a where a heuristic is executed for 1 or 5 seconds for

each node created at levels bn2 c and b3n4 c). As a result, a smaller proportion

of the time limit is available for exploring nodes, so overall, fewer nodes are

created or pruned.

The truncated mean percentage of B&B nodes explored (as a proportion

of the mean number of nodes created) is similar across methods for the

n50 and n100 data sets; 21.0–26.2% and 18.7–20.9%, respectively. When

compared with the percentages of 46.2–60.4% for the n25 group (which are

not truncated) it can be inferred that on average, a much longer time limit

will be required for the n50 and n100 problem instances to reach optimality.

Moreover, M12a and M14a, which include the catalyst heuristic H1 4 for 5

seconds at Criterion 6, produced the lowest percentages (21.0–21.1% for n50

and 18.7–19.1% for n100) as these methods consume the greatest proportion

of the time limit at Criterion 6. Consequently, M12a and M14a are likely to

take longer than M9, M10, M11 and M13 to reach optimality.

Data group BKA n25

Method M5 M9 M10 M5 M9 M10

% pruned by Criteria 1, 2 & 3 79.1 63.7 71.3 77.8 75.1 77.7

Data group n50

Method M5 M9b M10 M11b M12a M13d M14a

% pruned by Criteria 1, 2 & 3 92.8 92.7 92.6 91.6 93.5 91.5 93.2

Data group n100

Method M5 M10 M11b M12a M14a

% pruned by Criteria 1, 2 & 3 97.5 97.3 97.3 97.6 97.5

Table 8.16: Mean percentage of B&B nodes pruned by Criteria 1, 2 and 3

Table 8.16 shows that the majority of pruned nodes are pruned by Crite-

ria 1, 2 and 3, that is, quickly (via fast checks) and early (that is, before

spending time on slower checks). Consequently, computation time is not un-

necessarily wasted on nodes that will be pruned; these three criteria check

basic feasibility, thus if they were not evaluated first, some of the nodes

would be pruned by the LP at Criterion 4, or the MIP at Criterion 6 (if

Page 305: New data generation and solution techniques for the

8.5 Effectiveness of each criterion 275

using Methods 12 or 14), or eventually pruned at descendant nodes a few

levels deeper in the B&B tree.

8.5.2 Specific comments on each criterion

The following comments address each criterion individually, and apply to

all methods, unless stated otherwise. The majority of figures cited are from

Tables 8.14–8.16 (pages 271–274). It is important to note that the figures

reported in Table 8.15 (page 273) are percentages relating to nodes not

created, that is, temporary nodes that will not be created due to at least

one criterion. To derive the mean number of nodes not created by each

criterion, use the figures in Table 8.15 and the first rows of Table 8.14 as

follows:Mean # of nodes

not created by

Criterion X

with Method M

=

Mean # of nodes

not created by

Method M

(Table 8.14)

×

Mean % of nodes

pruned by Criterion X

with Method M

(Table 8.15)

.

8.5.2.1 Criterion 1: check if the arc exists

As n increases, the mean percentage of nodes pruned by Criterion 1 in-

creases. This is expected, as the ratio of the mean number of arcs created

to the complete arc set ( |A|m ) reduces as n increases, as shown in Table 4.2

(page 101). Consequently, on average, proportionally fewer branches will

exist between each level as n increases, thus proportionally more nodes are

pruned by this criterion. A consequence of this is that the “percentage

pruned” results must reduce for other criteria (for example, Criteria 2 and

3) to compensate.

8.5.2.2 Criterion 2: check job availability

As n increases, the mean percentage of nodes pruned by Criterion 2 de-

creases. We expect this for both Criteria 2 and 3 due to the increase recorded

by Criterion 1 (that is, proportionally, these must fall to compensate for the

increase in pruned nodes by Criterion 1). Despite this, Criterion 2 is the

Page 306: New data generation and solution techniques for the

276 COMPUTATIONAL STUDY OF THE B&B SCHEME

most successful criterion for pruning nodes for all data groups except n100.

This highlights the importance of having an effective preprocessing routine

that captures as many precedence relations as possible.

8.5.2.3 Criterion 3: check effect on unscheduled jobs

Very few nodes are pruned by this criterion for the BKA instances as their

time windows are too wide (that is, because of the large deadlines discussed

in §3.5). For the other instances, as n increases, the mean percentage of

nodes pruned by Criterion 3 decreases. We expect this as per Criterion 2

reasonings. Regardless, it is clear that this is a very effective criterion.

Recall from §7.5.1 that the final implementation of this criterion was the

alternate version. However, the very first version of Criterion 3 we imple-

mented only pruned a node if set L0v was not empty; recall from §7.4.3 that

L0v = {w ∈ (V \Sj) : max{Ew, Tv + pv + svw} > bw, |Πwj | = 0}.

Since this does not exploit the fact that all jobs that precede job w have

to be completed before w can start, we strengthened Criterion 3 to prune a

node if set Lj was not empty, where

Lj = L0v ∪ L1

v ∪ L2v ∪ L(≥3)

v .

The results of the strengthened Criterion 3—which we call the main version—

were not promising for the additional computation time: L1v, L

2v and L

(≥3)v

were empty for all instances in our data groups (n25, n50 and n100), thus

made no difference to the number of nodes pruned by Criterion 3. Addi-

tional nodes were pruned by Criterion 3 for four out of 35 BKA data sets,

however the best result showed an extra 8 nodes were pruned by the newly

strengthened Criterion 3 (from a total of 22,134 pruned nodes).

This is not surprising: |P | would need to be relatively high for a strengthened

version of Criterion 3 to find a significant number of violations. Since our

data sets do not exhibit this property (large |P | would make them much

easier to solve, which we did not want as discussed in §3.4.2), we do not

find any violations. Interestingly, the BKA data sets—which do have a

relatively larger proportion of precedence relations—only have a few extra

violations found by the main version. As a result, the final implementation of

Page 307: New data generation and solution techniques for the

8.5 Effectiveness of each criterion 277

Criterion 3—which we call the alternate version—evaluates Lj = L0v ∪ L

(>0)v

where

L(>0)v = {w ∈ (V \Sj) : LBwj > bw, |Πwj | > 0}

contains the lower bound LBwj ; this version was a good compromise, deliv-

ering a strengthened Criterion 3 that was fast to calculate.

Due to the disappointing results of the main version mentioned above, we

did not investigate further strengthenings of Criterion 3. While a stronger

version may find a few more violations (mainly for the BKA data sets), the

increase in computation time for the “best” strengthening would be highly

unlikely to pay off. However, we note this as an area for further work in

Section 8.6.

8.5.2.4 Criterion 4: check LP feasibility

Unsurprisingly, almost no nodes were pruned by this criterion. However,

the main purpose for including this criterion is to obtain a fast lower bound

from the LP relaxation of MIP1 ; this LB is used to determine where in the

heap the node is placed if it passes all seven criteria. Moreover, if an LP

solution is integer, this provides a valuable upper bound. Table 8.17 shows

the percentage of data sets where at least one LP solution was integer.

Data group BKA n25

Method M5 M9 M10 M5 M9 M10

% instances where ≥ 1 LP integer 100 80.0 88.6 100 100 100

Data group n50

Method M5 M9b M10 M11b M12a M13d M14a

% instances where ≥ 1 LP integer 38.3 38.3 40.0 21.7 11.7 21.7 11.7

Data group n100

Method M5 M10 M11b M12a M14a

% instances where ≥ 1 LP integer 0 0 0 0 0

Table 8.17: Mean percentage of problem instances where at least one LP

solution was integer.

Page 308: New data generation and solution techniques for the

278 COMPUTATIONAL STUDY OF THE B&B SCHEME

All n25 instances for all methods had at least one integral LP solution prior

to termination. For the BKA instances, this decreased from 100% for M5

down to to 88.6% for M10 and 80% for M9. This is due to the upper bound

generated at the root node by the heuristics; nodes whose descendants would

eventually provide an integer LP solution are pruned earlier in the tree by the

upper bound at Criterion 5. The drop for the n50 instances from 38.3–40%

(for M5/M9/M10) to 11.7–21.7% (for M11/M12/M13/M14) is partly due to

this, but also due to the reduction in the total number of nodes created and

explored prior to termination (as per Table 8.14) due to computation time

spent executing Criterion 6 in M11, M12, M13 and M14. As the n100 data

sets are significantly harder, no LP solutions were integer for any method.

8.5.2.5 Criterion 5: check dominance by bound

As noted earlier in §8.5.1, for the BKA data sets, a larger percentage of

nodes are pruned by Criterion 5 in Methods 9 and 10 (34.3% for M9 and

20.7% for M10, compared with 6.4% for M5). This is due to the success

of both heuristics at the root node on the BKA data sets; these instances

are substantially easier to solve than the other problem instances, which is

demonstrated by both heuristics regularly finding the optimal solution for

the BKA instances. Consequently, at some point the optimal value be-

comes the upper bound for Criterion 5, hence nodes that would be created

in Method 5 are now pruned in Methods 9 and 10. This also affects the per-

centage of nodes pruned by Criterion 7; many nodes (or their descendants)

that would be pruned by Criterion 7 are now pruned earlier by Criterion 5.

With the exception of the BKA instances, as n increases, the mean per-

centage of nodes pruned by Criterion 5 decreases; from 16.5–20.4% for n25,

to 1.2–3.5% for n50, to 0–0.0015% for n100. This is expected; as the data

sets get bigger they get more complex, thus the ability to find an upper

bound (let alone a good upper bound) decreases, thus the effectiveness of

this criterion must also decrease. Indeed, no upper bound is found for any

n100 instance with M5, thus no nodes were pruned by this criterion for this

method.

Page 309: New data generation and solution techniques for the

8.5 Effectiveness of each criterion 279

8.5.2.6 Criterion 6: execute heuristics (Methods 11–14 only)

This criterion only applies to Methods 11, 12, 13 and 14, and thus data

groups n50 and n100. Moreover, recall that when the construction heuristic

H0 is executed at Criterion 6 in M11 and M13, the node cannot be pruned

regardless of whether a feasible solution was constructed. If a feasible solu-

tion is not constructed, this does not mean one does not exist; if a feasible

solution is constructed, it is not guaranteed to be optimal but may be an

improved upper bound. In contrast, one possible outcome of executing the

catalyst heuristic H1 4 at Criterion 6 in M12 and M14 is that the surrogate

MIP is found to be infeasible; if so, the node can be pruned as the surrogate

MIP has the same feasible region as the true MIP at that node.

Unsurprisingly, very few nodes were pruned by this criterion. Firstly, this

criterion is only checked at nodes on levels bn2 c and b3n4 c of the B&B tree.

Secondly, the main purpose for including this criterion is to try to quickly

obtain a feasible solution at select nodes, and thus an upper bound for

Criterion 5. As shown in Figure 8.11, this was achieved for the n50 data

group with feasible solutions found for all instances by M11a and all four

M13 variations. Similarly, Figure 8.16 shows promising results for n100,

with 3.3–70% of instances terminating with at least one feasible solution for

M11–M14.

While pruning a node based on this criterion rarely occurs (0.00001–0.00002%

for n50 and never for the n100 instances), it is worth noting that every infea-

sible surrogate MIP is unlikely to be recognised within the Criterion 6 time

limit of 1 or 5 seconds. Increasing this time limit may result in additional

pruned nodes, but it will also reduce the total number of nodes that can be

explored within the total time limit. However, such a trade-off is worthy of

further investigation, as noted in Section 8.6.

8.5.2.7 Criterion 7: check dominance between nodes

The last row of Table 8.15 shows the mean percentage of temporary nodes

(that is, potential child nodes), that were pruned due to domination by

an existing node, as part of Criterion 7. The corresponding mean number

of pruned temporary nodes is given in the first row of Table 8.18. These

Page 310: New data generation and solution techniques for the

280 COMPUTATIONAL STUDY OF THE B&B SCHEME

numbers indicate the number of nodes that would have been created—thus

added to the heap—if not for Criterion 7.

In addition to pruning nodes before they are created (that is, temporary

nodes), Criterion 7 also checks to see if the current temporary node domi-

nates nodes that have already been created (that is, existing nodes). The

mean number of pruned existing nodes indicates the number of nodes that

have been created but were found to be dominated by a temporary node.

These nodes may or may not have been explored. Of those that have been

explored, their descendants (if any exist) are also pruned (which may or may

not have been explored).

Rather than remove a dominated existing node from the heap, we mark

it as pruned by Criterion 7; if it becomes the head of the heap—the next

node to be explored—we discard it and move to the next node at the head

of the heap. The mean number of pruned existing nodes that become head

nodes (called pruned head nodes) is a subset of the number of existing nodes

pruned, and gives an indication of how many existing nodes would definitely

have been explored if not for Criterion 7. Table 8.18 reports the number of

nodes pruned by Criterion 7 which fall into each of these categories, as well

as corresponding percentages.

As n increases, the mean percentage of pruned head nodes decreases when

calculated as either a percentage of existing nodes pruned (from 39.9–79.6%

for BKA to 9.5–11.8% for n100) or as a percentage of nodes created (from

21.9–43.3% for BKA to 1.1–1.5% for n100). This makes sense: as n in-

creases, the average heap size also grows, thus (on average) these pruned

head nodes are spaced further apart. Additionally, as proportionately fewer

nodes are explored as n increases (as shown in Table 8.14, 28,412–64,114

nodes explored for n50 instances in 4,375 seconds, compared with 32,263–

61,366 nodes in 10,300 seconds for the n100 instances) this demonstrates

that the time to explore each node also increases with n.

It is exceptionally important to note the large contribution Criterion 7 makes

to the overall size of the B&B tree, even though the percentages of the

nodes pruned by this criterion are relatively small. The mean percentage of

pruned head nodes when calculated as a percentage of nodes explored (the

bottom row of Table 8.18) gives a lower bound on “direct effort saved” due

Page 311: New data generation and solution techniques for the

8.5 Effectiveness of each criterion 281

Data group BKA n25

Method M5 M9 M10 M5 M9 M10

Mean # of temporary nodes pruned by C7 3,171 551 1,935 4,519 3,653 4,502

- as a % of all temporary nodes pruned 14.5% 2.0% 7.9% 5.7% 4.4% 5.6%

Mean # of existing nodes pruned by C7 5,852 2,885 4,647 1,722 1,143 1,708

Mean # of pruned existing nodes that

become head nodes2,338 2,298 2,353 520 521 520

- as a % of existing nodes pruned 39.9% 79.6% 50.6% 30.2% 45.5% 30.4%

- as a % of nodes created 21.9% 43.3% 28.4% 4.3% 5.6% 4.3%

- as a % of nodes explored 77.8% 76.7% 78.1% 9.2% 9.3% 9.2%

Data group n50

Method M5 M9b M10 M11b M12a M13d M14a

Mean # of temporary nodes pruned by C7 107,659 121,393 121,902 86,239 52,443 91,993 59,823

- as a % of all temporary nodes pruned 5.8% 5.8% 5.8% 4.9% 5.4% 5.0% 5.4%

Mean # of existing nodes pruned by C7 35,913 40,594 40,804 30,490 19,511 32,490 22,223

Mean # of pruned existing nodes that

become head nodes6,017 6,710 6,725 4,927 2,369 5,229 2,703

- as a % of existing nodes pruned 16.8% 16.5% 16.5% 16.2% 12.1% 16.1% 12.2%

- as a % of nodes created 2.7% 2.6% 2.6% 2.5% 1.7% 2.5% 1.8%

- as a % of nodes explored 10.5% 10.5% 10.5% 9.6% 8.3% 9.6% 8.4%

Data group n100

Method M5 M10 M11b M12a M14a

Mean # of temporary nodes pruned by C7 77,211 122,945 123,911 59,906 87,556

- as a % of all temporary nodes pruned 2.5% 2.7% 2.7% 2.4% 2.5%

Mean # of existing nodes pruned by C7 24,498 37,973 38,530 19,729 28,330

Mean # of pruned existing nodes that

become head nodes2,648 4,468 4,388 1,873 2,829

- as a % of existing nodes pruned 10.8% 11.8% 11.4% 9.5% 10.0%

- as a % of nodes created 1.3% 1.5% 1.5% 1.1% 1.2%

- as a % of nodes explored 6.5% 7.3% 7.2% 5.8% 6.3%

Table 8.18: Criterion 7 (C7) pruning results.

Page 312: New data generation and solution techniques for the

282 COMPUTATIONAL STUDY OF THE B&B SCHEME

to Criterion 7. However, additional “non-direct effort saved” is embedded

in the descendants of nodes that would have been created were it not for

Criterion 7.

The mean percentage of pruned head nodes when calculated as a percentage

of nodes created, gives an indication of how much “domination” is present.

Given these numbers are quite low for our data sets (4.3–5.6% for n25,

1.7–2.7% for n50 and 1.1–1.5% for n100) this is another indication that our

data sets are quite hard. In contrast, these percentages are 21.9–43.3% for

the BKA instances, with many nodes (both temporary and existing) pruned

by domination found by Criterion 7; this indicates that the BKA instances

contain significant symmetries and are generally less hard, regardless of the

smaller number of jobs (only 17 jobs compared with 25–100 jobs for our

instances).

As noted in the comments on Criterion 5 in §8.5.2.5, for the BKA data sets,

a larger percentage of nodes are pruned by Criterion 5 in M9 and M10 than

M5 due to the inclusion of the heuristics at the root node. Hence nodes that

would be created in M5 are now pruned in M9 and M10. This ultimately

affects the percentage of temporary and existing nodes pruned by Criterion

7; many nodes (or their descendants) that would be pruned by Criterion 7 in

M5 are now pruned earlier by Criterion 5 in M9 and M10. However, inter-

estingly, the mean number of pruned head nodes is approximately the same

across the three methods (2,298–2,353 nodes) indicating that the “front” of

the heap does not change much between M5, M9 and M10 for the BKA

instances.

8.5.3 Conclusions on the effectiveness of each criterion

While the effectiveness of each criterion varies for each method and each

data group, general conclusions can be drawn.

As shown in Table 8.16, the vast majority of temporary nodes—the nodes

that are tested and not created as they failed at least one criterion—are

pruned by Criteria 1, 2 or 3 which assessed basic feasibility tests. How-

ever, each of the subsequent criteria are also crucial to the success of the

scheduling-based B&B methods evaluated in this chapter.

Page 313: New data generation and solution techniques for the

8.6 Further work 283

While Criterion 4 pruned almost no nodes, the LP solved at this criterion

provides a very fast lower bound on the value of that node; if the node passes

Criteria 5, 6 and 7, this lower bound determines where in the heap the node

will be placed, and thus affects when the node is likely to be explored.

Unsurprisingly, the proportion of nodes pruned by Criterion 5 decreases as

the number of jobs in a problem instance increases; as n increases, it is

generally significantly harder to find a feasible solution, and fewer nodes

can be pruned by Criterion 5 without a good upper bound given by a good

feasible solution. However, if progress is made in finding more good feasible

solutions, proportionally more nodes are likely to be pruned by Criterion 5.

The inclusion of Criterion 6 for the challenging n50 and n100 problem in-

stances showed that incorporating heuristics at select levels of the B&B tree

was a valuable use of computation time; Criterion 6 ensured 100% of n50

instances and 70% of n100 instances terminated with at least one feasible

solution for the best B&B methods (compared with 23.3% and 0%, respec-

tively, for the best MIP methods). While very few nodes are pruned by this

criterion, clearly that was not its primary purpose.

Like Criteria 1–6, Criterion 7 may prune a temporary node. Unlike the

other criteria, Criterion 7 may also prune existing nodes—nodes that have

previously passed Criteria 1–7 (see §7.4.7, page 215). Indeed, Criterion

7 prunes both temporary and existing nodes that may lead to a feasible

solution but can not be superior (in terms of total setup cost or completion

time) to one generated elsewhere in the B&B tree. Combined, the total

number of temporary and existing nodes pruned by Criterion 7 are very

significant, and thus crucial to the overall success of the scheme.

8.6 Further work

There are many opportunities to extend or strengthen the B&B framework

presented in Chapters 7 and 8. In particular, the following list highlights

items worthy of investigation:

• a trial of other MIPs for the LP relaxation at Criterion 4 (mindful that

they need to be fast to compute to be useful);

Page 314: New data generation and solution techniques for the

284 COMPUTATIONAL STUDY OF THE B&B SCHEME

• a trial of strengthenings of the LP bound at Criterion 4 (again, mindful

that they would need to be fast to compute);

• a trial of other strengthenings to Criterion 3 (again, mindful that they

would need to be fast to compute);

• an exploration of other node selection strategies;

• the identification and trial of additional dominance criteria;

• the identification and trial of additional heuristics for use at the root

node and/or Criterion 6; and

• additional experiments to better tune the parameter settings for in-

corporating heuristics, questioning:

– when should they be executed (that is, at what levels in the B&B

tree?), and should this be dependent on the number of jobs or

other problem instance characteristics;

– for how long should they be executed, and should this time vary

(perhaps dependent on current progress such as the number of

feasible solutions found so far, the location of the current node

in the B&B tree, and the proportion of the time limit that has

already elapsed);

– the trade-off between increasing time spent executing a heuristic

at particular nodes (which may result in additional pruned nodes)

which reduces the total number of nodes that can be explored

within the total time limit; and

– for the catalyst, additional values of the weight (which possibly

depends on current progress).

Better results for the n100 group may be obtained just by experi-

menting with these settings for M11a and M11b, perhaps by running

the construction heuristic for much longer when deeper in the tree;

this may increase the likelihood that a feasible solution is obtained

prior to termination for the remaining 30% of instances that currently

terminate without a feasible solution.

Page 315: New data generation and solution techniques for the

8.7 Chapter summary 285

Additionally, it would be very interesting to develop a method that could

a priori identify “easy” problems (such as the BKA group and some of the

n25 instances), “intermediate” problems (such as some of the n25 and n50

instances), and “challenging” problems (such as most of the n50 and n100

instances). This would help to determine the best solution method to use a

priori; for example, it is better to use M5 for easy problems only. In con-

trast, methods that incorporate a heuristic (M9–M14) are required for the

intermediate and challenging problem instances. However, the best method

to use will vary depending on problem characteristics and the parameter

settings.

8.7 Chapter summary

In Chapter 7, a scheduling-based B&B scheme for solving the SOP-TW

exactly (as opposed to heuristically like in Chapters 5 and 6) was proposed.

In this chapter, a comprehensive computational study of many variations of

that B&B scheme was performed.

In Section 8.3, four baseline methods—M5, M6, M7 and M8—were tested to

determine the best version that would form the underlying method for future

variations. The result of that investigation showed that M5 was the best

baseline method, that is, Criterion 4 should solve the LP relaxation of MIP1

with precedence set P . Moreover, M5 was shown to clearly outperform MIP

methods M1–M4 (tested in Chapter 4) for data groups BKA, n25 and n50,

and equal to M1 and M2 for the n100 data group.

In Section 8.4, heuristics were incorporated into M5 at the root node and/or

Criterion 6. Since the two best heuristics from Chapters 5–6 were the con-

struction heuristic H0 and the catalyst heuristic H1 4, variations for both of

these were evaluated as appropriate, resulting in six additional methods—

M9, M10, M11, M12, M13 and M14—with up to four different parameter

settings (for example, four versions of M13 were tested for the n50 group).

Extensive testing showed that including the heuristics was unnecessary for

the easiest problem instances—the BKA data group—but was almost com-

petitive with M5 for the n25 data group. However, incorporating heuristics

was crucial for the challenging n50 and n100 instances; they ensured 100%

Page 316: New data generation and solution techniques for the

286 COMPUTATIONAL STUDY OF THE B&B SCHEME

of n50 instances and 70% of n100 instances terminated with at least one

feasible solution for the best B&B methods (compared with 23.3% and 0%,

respectively, for the best MIP methods).

In Section 8.5 the effectiveness of each criterion was evaluated. Clearly,

each criterion played an important role in the overall success of the scheme:

pruning nodes using basic feasibility tests (Criteria 1–3); determining a lower

bound quickly for positioning the node in the heap (Criterion 4); checking

if that lower bound was sufficiently poor (Criterion 5); attempting to find a

feasible solution quickly (Criterion 6); and checking if nodes are dominated

by other nodes (Criterion 7).

While the schemes tested in this chapter made excellent progress in solving

the challenging n50 and n100 instances exactly, Section 8.6 outlined further

work for strengthening and extending a scheduling-based B&B approach for

the SOP-TW. Additional ideas for solving the SOP-TW are outlined in the

thesis conclusion in the next chapter.

Page 317: New data generation and solution techniques for the

Chapter 9

CONCLUSION

The motivation for this thesis resulted from a study of semi-automated rail

mounted gantry cranes (RMGs) at an Australian seaport container terminal.

The Sequential Ordering Problem with Time Windows (SOP-TW) can arise

as a subproblem of these crane operations. The SOP-TW became the focus

of this thesis as it describes a low-level crane scheduling problem that—when

coupled with the techniques to solve the related high-level crane scheduling

problem—minimises the time each crane must travel while empty.

The SOP-TW also arises as a subproblem of several other scheduling and

routing applications. As a result, most of this thesis discusses the SOP-TW

in terms of a generic machine scheduling problem, rather than concentrating

on the specific crane application that provided the initial motivation. The

key exception is a comprehensive port-specific data generator for construct-

ing feasible SOP-TW problem instances. However, even this generator can

be modified to model more general settings and to construct instances for

closely related problems.

This thesis makes several contributions to the body of SOP-TW research.

A detailed critique of existing SOP-TW data generators (and their result-

ing data sets) reveals a lack of available, feasible, difficult SOP-TW problem

instances for testing methods for solving the SOP-TW. Therefore, a compre-

hensive port-specific data generator for creating feasible SOP-TW problem

instances is developed, and a variety of interesting SOP-TW instances are

constructed. Important design features of the data generator include:

287

Page 318: New data generation and solution techniques for the

288 CONCLUSION

• All data sets produced are feasible. This guarantees no computational

effort (generating or solving) is expended on infeasible problems.

• The data generator is capable of producing a wide variety of problem

instances that have characteristics relevant to the original port setting.

• A wide variety of hard data sets are easy to generate by changing a

range of application-specific parameters.

• The underlying methodology of the new generator is sufficiently gen-

eral to allow easy adaptation for non-port settings.

• Data sets for related problems can be constructed after only minor

modifications to the current generator.

Additional contributions of this thesis are the techniques that are developed

to solve the SOP-TW, along with the extensive computational studies of

those techniques.

First, three existing formulations for the Asymmetric Travelling Salesman

Problem with Time Windows (ATSP-TW) presented by Ascheuer et al. [8]

are extended to model the SOP-TW. Since the ATSP-TW is a special case

of the SOP-TW (where there are no explicit precedences) the preprocessing

techniques described by Ascheuer et al. [8] can be directly applied to the

SOP-TW. However, additional preprocessing based on precedences is pos-

sible. Consequently, an efficient preprocessing routine that simultaneously

addresses both time windows and precedence relations is given that ulti-

mately reduces the size of the MIP models implemented. A comprehensive

computational study of two of these MIPs provide the benchmark by which

the other solution techniques in this thesis are compared.

Three additional techniques for solving the SOP-TW are identified and in-

vestigated:

• a construction heuristic for generating feasible solutions;

• an IP-based heuristic for generating feasible solutions; and

• a scheduling approach embedded within a branch-and-bound frame-

work.

A comprehensive series of computational studies is performed to investi-

Page 319: New data generation and solution techniques for the

289

gate the effectiveness of these techniques against the benchmark MIPs. A

summary of the key findings follows.

The construction heuristic attempts to build a feasible solution by inserting

new jobs into a partial schedule, and is adapted from a heuristic for the

ATSP-TW by Nikolakopoulos and Sarimveis [9]. Importantly, our version

of the heuristic explicitly allows for precedence relations and the associated

precedence delays that arise in the SOP-TW. The study of the construction

heuristic shows that the heuristic is successful at constructing feasible solu-

tions for small and medium problem instances (those with 17–50 jobs) but,

unsurprisingly, falters for larger problem instances with 100 jobs.

The IP-based heuristic attempts to differentiate solutions by reducing the

symmetry of the solution space. This is done by introducing a new penalty

term in the objective function. This penalty acts like a tie-breaker: solutions

that are essentially equivalent in terms of the original objective function may

now appear significantly different, thus reducing the symmetry of those so-

lutions. Testing a variety of IP-based heuristics shows that a well-chosen

penalty in the objective function of a MIP can act as a catalyst for finding

feasible solutions faster than solving the original MIP by reducing the per-

ceived symmetry of the solution space. Indeed, at least one of these IP-based

heuristics outperforms (in terms of the speed to find the first feasible solu-

tion) the pure MIPs at all key time points for all data groups tested. This

provides supporting evidence for the hypothesis that the IP-based catalyst

with an appropriate penalty can find feasible solutions faster than solving

the pure MIPs directly for the SOP-TW. This is particularly important since

finding feasible solutions is hard for large problem instances.

Comparing the results of both types of heuristics shows that the construction

heuristic clearly dominates the IP-based catalyst heuristics for all small to

medium problem instances tested (17–50 jobs), both in terms of producing

feasible solutions quickly, and the number of feasible solutions produced.

In contrast, the best IP-based heuristics are slightly better than the con-

struction heuristic for the 100-job problem instances. However, neither the

construction heuristic or the catalyst methods (for any penalty) are satisfac-

tory at reliably producing feasible solutions for all problem instances with

100 jobs, let alone quickly. This is unsurprising given the complexity results

for the SOP-TW.

Page 320: New data generation and solution techniques for the

290 CONCLUSION

The branch-and-bound (B&B) scheme is an exact solution method that

takes a scheduling approach: each node in the B&B tree represents a dif-

ferent partial schedule. To test if a new node should be created, a set of

problem-specific criteria have been developed, which the algorithm sequen-

tially evaluates. This scheduling-based B&B scheme with this set of seven

criteria is a novel solution approach for the SOP-TW. However, three crite-

ria (Criteria 2, 3 and 7) closely resemble tests used in dynamic programming

(DP) solution approaches for related problems (e.g. see [7], [11] and [12]) that

reduce the size of a DP state space graph by detecting and eliminating states

that cannot lead to an optimal solution or are clearly infeasible. Nonethe-

less, our implementations of these tests are modified for the SOP-TW and

to work within this scheduling-based B&B scheme, thus are fundamentally

different. In another novel criterion (Criterion 6), either the construction

heuristic or the IP-based heuristic are executed; this criterion is optional in

that it is only called at select nodes in the B&B tree. Ten variations of this

scheduling-based B&B scheme are evaluated to explore a variety of config-

urations and parameter settings, including the use of heuristics. Notably,

the inclusion of a heuristic in the B&B scheme is found to be particularly

important when solving relatively difficult problem instances.

Overall, this scheduling approach embedded within a B&B framework out-

performs solving the pure MIPs directly with state-of-the-art optimisation

software. The extra precedence information derived by the preprocessing

routine is utilised in several criteria, thus is vital to the success of the algo-

rithm.

Importantly, the scheduling-based B&B framework is extensible: new com-

ponents for the SOP-TW can be easily incorporated and existing compo-

nents can be modified to solve other TSP variants and scheduling problems.

While ideas for further work on each of these techniques is provided and dis-

cussed in the relevant chapters, additional high-level suggestions for future

research directions are given here.

I A computational study to investigate what makes a SOP-TW

instance difficult to solve.

As noted in Section 3.4.2, little is known about the effect of the struc-

Page 321: New data generation and solution techniques for the

291

ture of the time windows on problem difficulty. However, we hypothesised

(in Section 2.5.2.8) that: (1) a relatively small number of precedence rela-

tionships makes an instance harder to solve, and (2) relatively tight time

windows makes an instance easier to solve (noted in Section 3.4.2). Indeed,

these points are interrelated: as average time window widths reduce, the

average number of precedences induced by time windows will increase (see

Section 4.5.4 for more on this). Maffioli and Sciomachen’s results—noted in

Section 2.5.2.8—support these hypotheses, but more work needs to be done

to understand this phenomena.

The data generator described in Chapter 3 enables a full computational

study to better understand the underlying structures of the problem in-

stances—and thus the real-world port interface—to be performed, and would

be a very interesting area of further research. Some of the problem instance

characteristics worth investigating include:

• the number of active time windows and the overall structure of those

active time windows, such as how they overlap and whether “critical”

time periods can be identified;

• the number of precedence relations and the structure of the precedence

graph;

• the values of precedence delay αij , looking at aspects such as magni-

tude, symmetry, uniqueness, and the range of values across the prece-

dence set; and

• the values of setup times sij , looking at aspects such as magnitude,

symmetry, uniqueness, and the range of values.

I Further study of the penalty scheme for the IP-based heuristic.

While several parameter settings for the penalties used in the IP-based cat-

alyst heuristic were investigated, more research is required to determine the

optimal settings.

It is quite possible that penalties that somehow depend on jobs (for MIP1 )

or job-pairs (for MIP2 ) could produce even better results. This is because

some jobs and/or job-pairs have greater freedom (in terms of when they

need to be scheduled) and thus introduce greater symmetry. Consequently,

Page 322: New data generation and solution techniques for the

292 CONCLUSION

focusing on where is best to reduce symmetry via better penalties could

lead to finding feasible solutions sooner, and reduce the gap between the

surrogate cost function and the true cost function.

A computational study analysing optimal solutions of each problem instance

may also reveal the types of penalties that would close the gap between the

values of the surrogate cost function and true cost function. Indeed, it would

be very interesting to see if general conclusions could be drawn.

Finally, an investigation of other surrogate cost functions (not just changing

the existing penalty scheme) is another area worth exploring.

I An extension of preprocessing to nodes within the B&B tree.

Some preprocessing is already done within Criterion 3 to update time win-

dows, but additional local preprocessing could be implemented as another

criterion within the scheduling B&B tree. For example, new local prece-

dences derived from the current partial schedule could be extracted and

used to fix extra variables. However, the additional computational effort of

executing this criterion may outweigh the benefit gained by pruning any ad-

ditional nodes, whose descendant nodes would probably be pruned shortly

thereafter anyhow; without implementing and testing these ideas, the ben-

efit of extra local preprocessing is unknown.

IUsing the construction heuristic to create a tabu list of infeasible

partial schedules.

Results show that the construction heuristic is very successful on small to

medium problems, but falters as the number of jobs increases; the heuristic

fails to find any feasible solutions for most 100-job problem instances. While

this is not surprising given the complexity results, the effort is not completely

wasted. This heuristic can be used as a method to generate a tabu list of

infeasible partial schedules. This list could be used in a number of ways,

including as a method of directing the search of the scheduling-based B&B

tree. By analysing the infeasible partial schedules in the tabu list, some

areas of the B&B tree could be regarded as a low priority for exploration.

Page 323: New data generation and solution techniques for the

293

I A priority branch scheme for the B&B algorithm.

Recall that just one node heap is maintained in the B&B algorithm, where

the order of the nodes within the heap determine the order in which the

nodes will be explored. An alternative idea is to maintain two or more

heaps. For example, one heap for high priority nodes, and one heap for low

priority nodes; nodes in the low priority heap are only explored when the

high priority heap is empty. The aim of changing the search strategy is to

find feasible solutions sooner and/or complete the entire search sooner.

An example of how nodes could be assigned to the two heaps follows. If a

feasible solution is generated at any node (possibly via one of the heuristics

at Criterion 6) we may view that node as sufficiently well investigated for

now, and thus place all child nodes into a low priority heap. Conversely,

since successfully finding a feasible solution tells us that at least one feasible

solution lies deeper below this node, we may want to investigate child nodes

of the current node sooner to get the best solution that lies below the current

node. As a result, these child nodes would go into a high priority heap.

I A backwards B&B tree.

The algorithm for the scheduling-based B&B tree is based on progressively

adding jobs to a forward partial schedule, resulting in a forward B&B tree.

However, this idea could be reversed; in a backwards B&B tree, each job

that is added to a partial schedule is placed before the previous job, resulting

in a backwards partial schedule.

If a forward B&B tree and a backward B&B tree are generated simultaneously

(that is, generated in parallel), information on feasible and infeasible partial

schedules in each tree could be used to prune additional nodes in the alter-

nate tree. This could be easily incorporated into the current B&B framework

by adding extra dominance/feasibility criteria relating to the alternate tree.

This idea could be further extended by including the use of heuristics. For

example, in an attempt to obtain feasible solutions for a 100-job problem

instance, the forward B&B tree could be solved to level 25 and the backward

B&B tree could be solved to level 25. To connect compatible 25-job partial

schedules in each tree, a modified construction heuristic could be executed

to schedule the remaining 50 jobs.

Page 324: New data generation and solution techniques for the

294 CONCLUSION

Page 325: New data generation and solution techniques for the

Bibliography

[1] G. Froyland, T. Koch, N. Megow, E. Duane, and H. Wren. Optimizing

the landside operation of a container terminal. OR Spectrum, 30:53–

75, 2008.

[2] V.H. Mak. On the Asymmetric Travelling Salesman Problem with

Replenishment Arcs. PhD thesis, The University of Melbourne, 2001.

[3] L.F. Escudero. A production planning problem in FMS. Annals of

Operations Research, 17:69–104, 1989.

[4] L. Escudero and A. Sciomachen. The job sequencing ordering problem

on a card assembly line. In T.A. Ciriani and R.C. Leachman, editors,

Optimization in Industry, chapter 16, pages 251–262. John Wiley &

Sons, 1993.

[5] J. Hurink and S. Knust. A tabu search algorithm for scheduling a

single robot in a job-shop environment. Discrete Applied Mathematics,

119:181–203, 2002.

[6] P. Brucker and S. Knust. Lower bounds for scheduling a single robot in

a job-shop environment. Annals of Operations Research, 115:147–172,

2002.

[7] K. Fagerholt and M. Christiansen. A travelling salesman problem with

allocation, time window and precedence constraints - an application to

ship scheduling. International Transactions in Operations Research,

7:231–244, 2000.

[8] N. Ascheuer, M. Fischetti, and M. Grotschel. Solving the asymmetric

travelling salesman problem with time windows by branch-and-cut.

Mathematical Programming, Series A, 90:475–506, 2001.

295

Page 326: New data generation and solution techniques for the

296 BIBLIOGRAPHY

[9] A. Nikolakopoulos and H. Sarimveis. A threshold accepting heuristic

with intense local search for the solution of special instance of the trav-

eling salesman problem. European Journal of Operational Research,

177:1911–1929, 2007.

[10] F. Margot. Symmetry in integer linear programming. In M. Junger,

editor, 50 Years of Integer Programming 1958-2008, pages 647–686.

Springer-Verlag Berlin Heidelberg, 2010.

[11] Y. Dumas, J. Desrosiers, E. Gelinas, and M.M. Solomon. An opti-

mal algorithm for the traveling salesman problem with time windows.

Operations Research, 43:367–371, 1995.

[12] A. Mingozzi, L. Bianco, and S. Ricciardelli. Dynamic programming

strategies for the travelling salesman problem with time window and

precedence constraints. Operations Research, 45(3):365–377, 1997.

[13] R.L. Graham, E.L. Lawler, J.K. Lenstra, and A.H.G. Rinnooy Kan.

Optimization and approximation in deterministic sequencing and

scheduling: A survey. Annals of Discrete Mathematics, 5:287–326,

1979.

[14] E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, and D.B. Shmoys. Se-

quencing and scheduling: algorithms and complexity. In S.C. Graves,

A.H.G. Rinnooy Kan, and P.H. Zipkin, editors, Logistics of produc-

tion and inventory, volume 4 of Handbooks in Operations Research

and Management Science, chapter 9, pages 445–522. Elsevier Science

Publishers, 1993.

[15] M.L. Pinedo. Scheduling: Theory, Algorithms, and Systems. Springer,

New York, third edition, 2008.

[16] N. Ascheuer, M. Fischetti, and M. Grotschel. A polyhedral study

of the asymmetric travelling salesman problem with time windows.

Networks, 36(2):69–79, 2000.

[17] G. Dantzig, R. Fulkerson, and S. Johnson. Solution of a large-scale

traveling-salesman problem. Operations Research, 2:393–410, 1954.

Page 327: New data generation and solution techniques for the

BIBLIOGRAPHY 297

[18] M.R. Garey and D.S. Johnson. Computers and Intractability: A guide

to the theory of NP-Completeness. WH Freeman and Company, San

Francisco, 1979.

[19] M.W.P. Savelsbergh. Local search in routing problems with time win-

dows. Annals of Operations Research, 4:285–305, 1985.

[20] I.F.A. Vis and R. de Koster. Transshipment of containers at a con-

tainer terminal: an overview. European Journal of Operational Re-

search, 147:1–16, 2003.

[21] D. Steenken, S. Voß, and R. Stahlbock. Container terminal operation

and operations research - a classification and literature review. OR

Spectrum, 26:171–192, 2004.

[22] R. Stahlbock and S. Voß. Operations research at container terminals:

a literature update. OR Spectrum, 30:1–52, 2008.

[23] P. Brucker. Scheduling algorithms. Springer-Verlag, Berlin, 4th edi-

tion, 2004.

[24] E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, and D.B. Shmoys,

editors. The traveling salesman problem: a guided tour of combinato-

rial optimization. John Wiley & Sons, Chichester, 1985.

[25] G. Reinelt. The traveling salesman: computational solutions for

TSP applications, volume 840 of Lecture Notes in Computer Science.

Springer-Verlag, Berlin, 1994.

[26] G. Gutin and A.P. Punnen, editors. The traveling salesman problem

and its variations. Kluwer Academic Publishers, Dordrecht, 2002.

[27] D.L. Applegate, R.E. Bixby, V. Chvatal, and W.J. Cook. The traveling

salesman problem: a computational study, volume 840 of Princeton

Series in Applied Mathematics. Princeton University Press, Princeton,

2006.

[28] L.F. Escudero. An inexact algorithm for the sequential ordering prob-

lem. European Journal of Operational Research, 37:236–249, 1988.

[29] N. Ascheuer, L.F. Escudero, M. Grotschel, and M. Stoer. On identify-

ing in polynominal time violated subtour elimination and precedence

Page 328: New data generation and solution techniques for the

298 BIBLIOGRAPHY

forcing constraints for the sequential ordering problem. In R. Kannan

and W.R. Pullyblank, editors, Proceedings of the 1st Integer Program-

ming and Combinatorial Optimization Conference, Waterloo, Ontario,

Canada, pages 19–28. University of Waterloo Press, 1990.

[30] N. Ascheuer, L.F. Escudero, M. Grotschel, and M. Stoer. A cutting

plane approach to the sequential ordering problem (with applications

to job scheduling in manufacturing). SIAM Journal on Optimization,

3(1):25–42, 1993.

[31] L.F. Escudero, M. Guignard, and K. Malik. A Lagrangian relax-and-

cut approach for the sequential ordering problem with precedence re-

lationships. Annals of Operations Research, 50:219–237, 1994.

[32] E. Balas, M. Fischetti, and W.R. Pullyblank. The precedence-

constrained asymmetric traveling salesman polytope. Mathematical

Programming, 68(3):241–265, 1995.

[33] N. Ascheuer. Hamiltonian Path Problems in the On-line Optimization

of Flexible Manufacturing Systems. PhD thesis, Technische Universitat

Berlin, 1995.

[34] C.E. Miller, A.W. Tucker, and R.A. Zemlin. Integer programming for-

mulations and traveling salesman problems. J. Assoc. Comput. Mach.,

7:326–329, 1960.

[35] M. Desrochers and G. Laporte. Improvements and extensions to the

Miller-Tucker-Zemlin subtour elimination constraints. Operations Re-

search Letters, 10:27–36, 1991.

[36] C.A. van Eijl. A polyhedral approach to the delivery man problem.

Technical Report 95-19, Department of Mathematics and Computer

Science, Eindhoven University of Technology, 1995.

[37] F. Maffioli and A. Sciomachen. A mixed-integer model for solving or-

dering problems with side constraints. Annals of Operations Research,

69:277–297, 1997.

[38] F. Focacci, A. Lodi, and M. Milano. A hybrid exact algorithm for the

TSPTW. INFORMS Jornal on Computing, 14(4):403–417, 2002.

Page 329: New data generation and solution techniques for the

BIBLIOGRAPHY 299

[39] S. Dash, O. Gunluk, A. Lodi, and A. Tramontani. A time bucket

formulation for the traveling salesman problem with time windows.

INFORMS Journal on Computing, 24:132–147, 2012.

[40] J.-Q. Li. A computational study of bi-directional dynamic program-

ming for the traveling salesman problem with time windows. Working

paper, University of California, Berkeley, 2009.

[41] R. Roberti. Exact Algorithms for Different Classes of Vehicle Rout-

ing Problems. PhD thesis, University of Bologna, 2012. http://

amsdottorato.cib.unibo.it/4350/2/Roberti_Roberto_tesi.pdf.

[42] L.F. Escudero and A. Sciomachen. Local search procedures for im-

proving feasible solutions to the sequential ordering problem. Annals

of Operations Research, 43:397–416, 1993.

[43] L.F. Escudero and A. Sciomachen. An O(n3) algorithm for finding

feasible solutions for the sequential ordering problem. Journal of Com-

binatorics, Information & System Sciences, 24:1–23, 1999.

[44] M.T. Ortuno. Sobre Cortes Lagranianos Fuertes en la Resolucion

del Problema del Ordenamiento Secuencial. PhD thesis, Universidad

Complutense de Madrid, Spain, 1995.

[45] L.F. Escudero and M.T. Ortuno. On due-date based valid cuts for the

sequential ordering problem. Top, 5:159–166, 1997.

[46] A. Alonso-Ayuso, P. Detti, L.F. Escudero, and M.T. Ortuno. On dual

based lower bounds for the sequential ordering problem with prece-

dences and due dates. Annals of Operations Research, 124:111–131,

2003.

[47] G. Laporte and I.R. Martın. Locating a cycle in a transportation or

a telecommunications network. Networks, 50:92–108, 2007.

[48] S.N. Parragh, K.F. Doerner, and R.F. Hartl. A survey on pickup

and delivery problems. part i: Transportation between customers and

depot. Journal fur Betriebswirtschaft, 58:21–51, 2008.

[49] S.N. Parragh, K.F. Doerner, and R.F. Hartl. A survey on pickup

and delivery problems. part ii: Transportation between pickup and

delivery locations. Journal fur Betriebswirtschaft, 58:81–117, 2008.

Page 330: New data generation and solution techniques for the

300 BIBLIOGRAPHY

[50] J.-F. Cordeau and G. Laporte. The dial-a-ride problem: models and

algorithms. Annals of Operations Research, 153:29–46, 2007.

[51] K.S. Ruland. Polyhedral solution to the pickup and delivery problem.

PhD thesis, Washington University, 1995.

[52] K.S. Ruland and E.Y. Rodin. The pickup and delivery problem: Faces

and branch-and-cut algorithm. Computers & Mathematics with Ap-

plications, 33:1–13, 1997.

[53] I. Dumitrescu, S. Ropke, J.-F. Cordeau, and G. Laporte. The traveling

salesman problem with pickup and delivery: polyhedral results and

a branch-and-cut algorithm. Mathematical Programming, Series A,

121:269–305, 2010.

[54] P. Toth and D. Vigo, editors. The Vehicle Routing Problem. SIAM,

Philadelphia, 2002.

[55] B.L. Golden, S. Raghavan, and E.A. Wasil, editors. The vehicle routing

problem: latest advances and new challenges, volume 43 of Operations

Research/Computer Science Interfaces. Springer, Dordrecht, 2008.

[56] G. Laporte. The Vehicle Routing Problem: An overview of exact and

approximate algorithms. European Journal of Operational Research,

59:345–358, 1992.

[57] G. Laporte. What you should know about the vehicle routing problem.

Naval Research Logistics, 54:811–819, 2007.

[58] G. Laporte. Fifty years of vehicle routing. Transportation Science,

43:408–416, 2009.

[59] J.-F. Cordeau, M. Gendreau, G. Laporte, J.-Y. Potvin, and F. Semet.

A guide to vehicle routing heuristics. Journal of the Operational Re-

search Society, 53:512–522, 2002.

[60] R. Baldacci, P. Toth, and D. Vigo. Recent advances in vehicle routing

exact algorithms. 4OR, 5:269–298, 2007.

[61] J.-F. Cordeau, G. Laporte, M.W.P. Savelsbergh, and D. Vigo. Vehi-

cle routing. In C. Barnhart and G. Laporte, editors, Tranportation,

Page 331: New data generation and solution techniques for the

BIBLIOGRAPHY 301

volume 14 of Handbooks in Operations Research and Management Sci-

ence, chapter 6, pages 367–428. Elsevier, 2007.

[62] J.-Y. Potvin. Evolutionary algorithm for vehicle routing. INFORMS

Journal on Computing, 21:518–548, 2009.

[63] V. Pillac, M. Gendreau, C. Gueret, and A.L. Medaglia. A review of

dynamic vehicle routing problems. European Journal of Operational

Research, 225:1–11, 2013.

[64] A. Tramontani. Enhanced Mixed Integer Programming Tech-

niques and Routing Problems. PhD thesis, University of Bologna,

2009. http://amsdottorato.cib.unibo.it/1754/1/tramontani_

andrea_tesi.pdf.

[65] M. K. Jepsen. Branch-and-cut and Branch-and-Cut-and-Price Algo-

rithms for Solving Vehicle Routing Problems. PhD thesis, Techni-

cal University of Denmark, 2011. http://orbit.dtu.dk/fedora/

objects/orbit:89357/datastreams/file_6317942/content.

[66] A. Subramanian. Heuristic, Exact and Hybrid Algorithms for Vehi-

cle Routing Problems. PhD thesis, Universidade Federal Fluminense,

2012. http://www.ic.uff.br/PosGraduacao/Teses/532.pdf.

[67] J.-F. Cordeau, G. Desaulniers, J. Desrosiers, M. M. Solomon, and

F. Soumis. VRP with Time Windows. In P. Toth and D. Vigo, ed-

itors, The Vehicle Routing Problem, volume 9 of SIAM monographs

on discrete mathematics and applications, chapter 7, pages 157–193.

SIAM, Philadelphia, 2002.

[68] R. Baldacci, A. Mingozzi, and R. Roberti. Recent exact algorithms for

solving the vehicle routing problem under capacity and time window

constraints. European Journal of Operational Research, 218(1):1–6,

2012.

[69] O. Braysy and M. Gendreau. Vehicle Routing Problem with Time

Windows, Part I: Route Construction and Local Search Algorithms.

Transportation Science, 39:104–118, 2005.

Page 332: New data generation and solution techniques for the

302 BIBLIOGRAPHY

[70] O. Braysy and M. Gendreau. Vehicle Routing Problem with Time

Windows, Part II: Metaheuristics. Transportation Science, 39:119–

139, 2005.

[71] G. Desaulniers, J. Desrosiers, A. Erdmann, M. M. Solomon, and

F. Soumis. VRP with Pickup and Delivery. In P. Toth and D. Vigo,

editors, The Vehicle Routing Problem, volume 9 of SIAM monographs

on discrete mathematics and applications, chapter 9, pages 225–242.

SIAM, Philadelphia, 2002.

[72] J.-F. Cordeau, G. Laporte, J.-Y. Potvin, and M.W.P. Savelsbergh.

Tranportation on demand. In C. Barnhart and G. Laporte, editors,

Tranportation, volume 14 of Handbooks in Operations Research and

Management Science, chapter 7, pages 429–466. Elsevier, 2007.

[73] J.-F. Cordeau, G. Laporte, and S. Ropke. Recent models and algo-

rithms for one-to-one pickup and delivery problems. In B.L. Golden,

S. Raghavan, and E.A. Wasil, editors, The vehicle routing problem:

latest advances and new challenges, volume 43 of Operations Re-

search/Computer Science Interfaces, pages 327–357. Springer, Dor-

drecht, 2008.

[74] L.F. Escudero and A. Sciomachen. An approximate algorithm for the

sequential ordering problem with time windows and precedence rela-

tionships. Technical Report RC-16820, IBM Research, T.J. Watson

Research Center, Yorktown Heights, NY, 1990.

[75] R Core Team. R: A Language and Environment for Statistical Com-

puting. R Foundation for Statistical Computing, Vienna, Austria,

2012. ISBN 3-900051-07-0.

[76] R.T. Wong. Integer programming formulations of the traveling sales-

man problem. In Proceedings of the IEEE International Conference

on Circuits and Computers, pages 149–152, 1980.

[77] A. Langevin, F. Soumis, and J. Desrosiers. Classification of travelling

salesman problem formulations. Operations Research Letters, 9:127–

132, 1990.

Page 333: New data generation and solution techniques for the

BIBLIOGRAPHY 303

[78] M. Padberg and T.-Y. Sung. An analytical comparison of different

formulations of the travelling salesman problem. Mathematical Pro-

gramming, 52:315–357, 1991.

[79] L. Gouveia and S. Voß. A classification of formulations for the (time-

dependent) traveling salesman problem. European Journal of Opera-

tional Research, 83:69–82, 1995.

[80] A.J. Orman and H.P. Williams. A survey of different integer pro-

gramming formulations of the travelling salesman problem. In E.J.

Kontoghiorghes and C. Gatu, editors, Optimisation, Econometric and

Financial Analysis, volume 9 of Advances in Computational Manage-

ment Science, chapter 9, pages 91–104. Springer, Berlin, 2007.

[81] T. Oncan, I.K. Altınel, and G. Laporte. A comparative analysis of sev-

eral asymmetric traveling salesman problem formulations. Computers

& Operations Research, 36:637–654, 2009.

[82] H.D. Sherali and P.J. Driscoll. On tightening the relaxations of Miller-

Tucker-Zemlin formulations for asymmetric traveling salesman prob-

lems. Operations Research, 50(4):656–669, 2002.

[83] IBM R©ILOG R©CPLEX R©. Callable Library Version 12.1, 2009.

[84] E.D. Dolan and J.J. More. Benchmarking optimization software with

performance profiles. Mathematical Programming, Series A, 91:201–

213, 2002.

[85] J.E. Mitchell. Branch-and-cut algorithms for combinatorial optimiza-

tion problems. In P.M. Pardalos and M.G.C. Resende, editors, Hand-

book of Applied Optimization, pages 65–78. Oxford University Press,

2002.

[86] V.J. Rayward-Smith, I.H. Osman, C.R. Reeves, and G.D. Smith, edi-

tors. Modern heuristic search methods. John Wiley & Sons, Chichester,

1996.

[87] M. Fischetti, F. Glover, and A. Lodi. The feasibility pump. Mathe-

matical Programming, Series A, 104:91–104, 2005.

Page 334: New data generation and solution techniques for the

304 BIBLIOGRAPHY

[88] E. Danna, E. Rothberg, and C. Le Pape. Exploring relaxation induced

neighborhoods to improve MIP solutions. Mathematical Programming,

Series A, 102:71–90, 2005.

[89] M. Fischetti and A. Lodi. Local branching. Mathematical Program-

ming, Series B, 98:23–47, 2003.

[90] T. Berthold. Primal Heuristics for Mixed Integer Programs. Master’s

thesis, Technische Universitat Berlin, 2006. http://opus.kobv.de/

zib/volltexte/2007/1054/.

[91] B.M. Smith. Reducing symmetry in a combinatorial design problem.

Report 2001.01, University of Leeds, 2001.

[92] I.P. Gent, K.E. Petrie, and J.-F. Puget. Symmetry in constraint pro-

gramming. In F. Rossi, P. van Beek, and T. Walsh, editors, Handbook

of Constraint Programming, pages 329–376. Elsevier, 2006.

[93] L. Liberti. Reformulations in mathematical programming: Automatic

symmetry detection and exploitation. Mathematical Programming,

Series A, 131:273–304, 2012.

[94] L. Liberti. Symmetry in mathematical programming. In J. Lee and

S. Leffyer, editors, Mixed Integer Nonlinear Programming, volume 154

of The IMA Volumes in Mathematics and its Applications, pages 263–

283. Springer, New York, 2012.

[95] A. Ghoniem and H.D. Sherali. Defeating symmetry in combinatorial

optimization via objective perturbations and hierarchical constraints.

IIE Transactions, 43:575–588, 2011.

[96] IBM R©ILOG R©CPLEX R©. IBM ILOG CPLEX V12.1 Parameters Ref-

erence Manual, 2009.

[97] M.L. Fisher. The Lagrangian relaxation method for solving integer

programming problems. Management Science, 27:1–18, 1981.

[98] M.L. Fisher. An applications oriented guide to Lagrangian relaxation.

Interfaces, 15:10–21, 1985.

Page 335: New data generation and solution techniques for the

BIBLIOGRAPHY 305

[99] J.E. Beasley. Lagrangean relaxation. In C.R. Reeves, editor, Modern

Heuristic Techniques for Combinatorial Problems, chapter 6, pages

243–303. John Wiley & Sons, New York, 1993.

[100] G.L. Nemhauser and L.A. Wolsey. Integer and Combinatorial Opti-

mization. Wiley-Interscience, New York, 1988.

[101] E.H.L. Aarts, J.H.M. Korst, and P.J.M. van Laarhoven. Simulated

annealing. In E.H.L. Aarts and J.K. Lenstra, editors, Local search in

combinatorial optimization, chapter 4, pages 91–120. Princeton Uni-

versity Press, Princeton NJ, 2003.

[102] F. Glover and M. Laguna. Tabu search. Kluwer Academic Publishers,

Boston, 1997.

[103] M. Mitchell. An introduction to genetic algorithms. MIT Press, Cam-

bridge MA, 1996.

[104] S.M. Elsayed, R.A. Sarker, and D.L. Essam. The influence of the

number of initial feasible solutions on the performance of an evolu-

tionary optimization algorithm. In L.T. Bui, Y.S. Ong, N.X. Hoai,

H. Ishibuchi, and P.N. Suganthan, editors, Simulated Evolution and

Learning, volume 7673 of Lecture Notes in Computer Science, pages

1–11. Springer Berlin Heidelberg, 2012.

[105] L.A. Wolsey. Integer Programming. Wiley-Interscience, New York,

1998.

[106] G.L. Nemhauser and L.A. Wolsey. Integer and Combinatorial Opti-

mization. Wiley-Interscience, New York, 1999.

Page 336: New data generation and solution techniques for the

306 BIBLIOGRAPHY

Page 337: New data generation and solution techniques for the

Appendix A

Acronyms and notation

Table A.1 contains key acronyms used throughout this thesis; they are pro-

vided here as a point of reference.

Table A.2 contains key notation for the SOP-TW used throughout this the-

sis; they are provided here as a point of reference.

307

Page 338: New data generation and solution techniques for the

308 Acronyms and notation

Notation Description

RMG Rail mounted gantry crane

GRI Gantry road interface

GRAI Gantry rail interface

GRA Combined gantry road and rail interfaces

GSI Gantry straddle interface

ISA Intermediate stacking area

ISA Not the intermediate stacking area (GRA plus GSI)

IP Integer program

MIP Mixed integer program

B&B Branch-and-bound

B&C Branch-and-cut

B&L Branch-and-Lagrangian

DP Dynamic programming

CP Constraint programming

DFJ Dantzig, Fulkerson and Johnson

MTZ Miller, Tucker and Zemlin

IPEC Infeasible path elimination constraint

SEC Subtour elimination constraint

AP Assignment problem

TSP Travelling salesman problem

ATSP Asymmetric travelling salesman problem

ATSP-PC ATSP with precedence constraints

ATSP-TW ATSP with time windows

ATSP-TW-PC ATSP with time windows and additional precedence constraints

SOP Sequential ordering problem (also known as the ATSP-PC)

SOP-TW SOP with time windows (also known as the ATSP-TW-PC)

PDP Pickup and delivery problem

DARP Dial-a-ride problem

TSP-PD TSP with pickup and delivery

PDP-TW Pickup and delivery problem with time windows

VRP Vehicle routing problem

VRP-TW VRP with time windows

VRP-PD VRP with pickup and delivery

VRP-TW-PC VRP-TW with additional precedence constraints

VRP-PD-TW VRP-PD with time windows

Table A.1: Key acronyms.

Page 339: New data generation and solution techniques for the

309N

otat

ion

Des

crip

tion

nto

tal

nu

mb

erof

job

sto

be

sch

edu

led

Vse

tof

all

job

sto

be

sch

edu

led

,w

her

eV

={1,...,n}

Ase

tof

job

-pai

rssu

chth

at(i,j

)∈A

ifj

can

start

dir

ectl

yaft

eri

Pse

tof

pre

ced

ence

arcs

ai

earl

iest

star

tti

me

ofjo

bi∈V

b ila

test

star

tti

me

ofjo

bi∈V

pi

pro

cess

ing

tim

eof

jobi∈V

s ij

setu

pti

me

ifjo

bi

isim

med

iate

lyfo

llow

edby

jobj,

wh

ere

(i,j

)∈A

δ ij

min

imu

mti

me

gap

bet

wee

nst

arti

ng

job

si

an

dj

wh

ere

(i,j

)∈A

(δij

=pi+s i

j)

αij

min

imu

mti

me

del

ayre

qu

ired

bet

wee

nst

art

ing

job

si

an

dj,

wh

ere

(i,j

)∈P

αij

min

imu

mti

me

del

ayre

qu

ired

bet

wee

nst

art

ing

job

si

an

dj,

wh

ere

(i,j

)∈P

ALL

xij

dec

isio

nva

riab

lesu

chth

atxij

=1

ifjo

bi

imm

edia

tely

pre

ced

esjo

bj

an

d0

oth

erw

ise

t id

ecis

ion

vari

able

such

thatt i

isth

esc

hed

ule

dst

art

tim

eof

jobi,

wh

eret i∈

[ai,b i

]

Qin

feas

ible

pat

hw

ithk

job

s,Q

=(v

1,...,v

k),

wh

ere

len

gth

ofQ

is|Q|=

k−

1

Cm

ax

solu

tion

mak

esp

an,

give

nby

the

sum

of

all

trav

elli

ng,

pro

cess

ing

an

dw

ait

ing

tim

es

UB

anu

pp

erb

oun

dsu

chth

atUB

=m

in{UB

1,UB

2}

wh

ereUB

1=∑ i∈

Vm

axj∈V{s

ij}

an

dUB

2=∑ j∈V

maxi∈

V{s

ij}

ωca

taly

stw

eigh

tw

her

eω∈{0,0.0

1,0.

1,1,

5,10}

ρca

taly

stra

tio

wh

ereρ

=UB

∑ i∈V

ai

βca

taly

stp

enal

tyw

her

eβ≥

0an

=ωρ

Tab

leA

.2:

Key

not

atio

nfo

rth

eS

OP

-TW

.

Page 340: New data generation and solution techniques for the

310 Acronyms and notation

Page 341: New data generation and solution techniques for the

Appendix B

Key interface assumptions

To ensure the SOP-TW instances generated in Chapter 3 reflect the un-

derlying crane scheduling problem and proposed interface setup, the key

features of the problem are incorporated into the design of the data gener-

ator. However, a trade-off exists between including all aspects of the real

world problem and the complexity of the proposed generator. As a result,

several port-specific assumptions about the containers, cranes, locations and

the interface are made, including:

1. All containers are standard 20 ft containers (dimensions 2.4384 metres

x 6.096 metres). In reality, 40 ft containers (dimensions 2.4384 metres

x 12.192 metres) will also be handled by the cranes.

2. All containers are identical. This means that reefers (refrigerated con-

tainers), dangerous goods containers, and special needs containers are

not explicitly modelled.

3. No train arrivals/departures are included, so effectively there is no

GRAI. (This assumption was also in the pilot study; see [1].)

4. The distance between any two locations will be calculated as the Eu-

clidian distance. Moreover, the crane is assumed to always travel along

the line segment between the two locations.

5. All container pick-up and drop-off locations are predetermined; only

the timing of each container move is required.

6. GSI has the same properties as GRI.

311

Page 342: New data generation and solution techniques for the

312 Key interface assumptions

7. All containers transported by the RMG must transit the ISA.

8. No data is generated that requires container stacking.

The consequences of these assumptions are now briefly discussed.

Assumptions 1 & 2. To incorporate 40 ft, reefer and special container

types requires only a minor extension of the data generator, but would not

significantly change the types of SOP-TW data sets generated. As a result,

these are not included in the current data generator.

Assumption 3. The GRAI aspect of the interface could easily be included

in the generator, but would affect the types of data sets generated. Consider

the arrival of a train loaded with export containers; these containers have

the same release date and must be unloaded as fast as possible, so the due

date is effectively irrelevant. As a result, the problem of unloading the train

more closely resembles an ATSP rather than the SOP-TW. If the train is

simultaneously reloaded with import containers from the ISA, the problem

more closely resembles a SOP rather than the SOP-TW; an export container

must be removed from a train location before being replaced with an import

container, thus gives rise to a precedence pair between these two container

movements.

Assumption 4. The Euclidean travel/distance assumption simplifies the

calculation of travel times and distances. In reality, the crane has several

moving parts, and each part can move simultaneously with different speeds.

The gantry crane moves along the rails in the x direction, the crane trolley

moves perpendicular to the rails in the y direction, and the crane hoist

(attached to the spreader on the trolley) lifts a container up and down in the

z direction. As a result, the length of the actual path a container traverses

while being moved may not correspond to the Euclidean distance. While

this could be built into the data generator, it was not a priority for this

research as it would not significantly change the types of SOP-TW data sets

generated. (Note, the RMGs in the pilot study can move simultaneously in

the x and y directions with approximately the same speed, so this is not a

completely unrealistic assumption.)

Page 343: New data generation and solution techniques for the

313

Assumption 5. If container pick-up and drop-off locations are not pre-

determined, the problem ceases to be a SOP-TW. Instead, if each location

must be chosen from a set of potential locations, the problem begins to

resemble a generalised-ATSP with additional side constraints. Since prece-

dence relationships arise when multiple containers use the same location,

these relationships would now be derived according to decisions regarding

the locations. Investigating this extension to the SOP-TW would be very

interesting further work, but is beyond the scope of this thesis.

Assumption 6. It is convenient to assume that GSI has the same prop-

erties as GRI, so they can be treated the same when combined to make ISA

(§3.2.2). In reality these locations do have some different properties. How-

ever, including the differences in the data generator would not significantly

change the types of SOP-TW data sets generated so they were omitted for

simplicity.

Assumption 7. All containers transported by the RMG are assumed to

transit the ISA. This means all import (export) containers must be trans-

ported by RMG from the GSI (GRI) into the ISA, then from the ISA into

the GRI (GSI). In theory it is almost always possible to do direct transfers

from GSI to GRI, and vice versa (i.e. not use the ISA). In practice it is

sometimes optimal to do direct transfers (e.g. if an export container is de-

livered late to the port and is immediately required for loading on a ship, a

direct transfer is required). However, the purpose of the port redevelopment

was to include and use the ISA buffer area which has a large capacity. As

such, it was assumed that the ISA is always used, thus all problem instances

reflect this assumption.

Assumption 8. Although each ISA ground location can be stacked up

to three containers high, the solution approach taken in [1] was to never

use more than one “layer” of an ISA stack in a one hour planning interval,

unless it is to drop a container off after a container has been retrieved from

that location. After one hour the crane moves into the next corridor, where

a corridor is one quarter of a moving area; a moving area is the total area

one crane services, thus the crane returns to a corridor every four hours.

Page 344: New data generation and solution techniques for the

314 Key interface assumptions

Since this approach does not require container stacking within the same

planning interval, no data is generated that requires stacking. In other

words, each ISA location can be used at most twice, and if it is used twice

the only scenario is that the container currently in the ISA location must

be collected before a container is dropped off to that location.

Page 345: New data generation and solution techniques for the

Appendix C

Ordinary versus generalised

precedence relations

A key difference in the variations of the SOP-TW is whether the precedence

constraints involve a minimum time-lag, such as our αij . In the presence

of a minimum time-lag, the precedences are called generalised precedence

constraints (αij ≥ 0, for all (i, j) ∈ P ); otherwise they are termed ordinary

precedence relations (αij = 0, for all (i, j) ∈ P ). With ordinary prece-

dences, only the order of the jobs are important. In contrast, the introduc-

tion of time-lags force additional checks on the timing of each job. As a

result, a schedule that is infeasible for a SOP-TW instance with generalised

precedence constraints (gen-SOP-TW) may be feasible for the equivalent1

problem with ordinary precedences (ord-SOP-TW).

The following propositions were stated in Section 2.4; the proofs to support

the claims are provided here.

1Within the context of these propositions, the problems gen-SOP-TW and ord-SOP-

TW are equivalent if and only if the sole difference between the two problems is the value

of the minimum time-lag, αij . Specifically, αij = 0 for all (i, j) ∈ P for the ord-SOP-TW,

whereas αij > 0 for at least one (i, j) ∈ P for the gen-SOP-TW (otherwise the problem

reduces to the ord-SOP-TW).

315

Page 346: New data generation and solution techniques for the

316 Ordinary versus generalised precedence relations

Proposition 1. A feasible solution to the gen-SOP-TW is always feasible

for the equivalent ord-SOP-TW.

It is sufficient to note that the ord-SOP-TW is a relaxation of the gen-SOP-

TW (i.e. ord-SOP-TW is a special case of gen-SOP-TW, where αij = 0, for

all (i, j) ∈ P ), thus a feasible solution to the gen-SOP-TW is always feasible

for the ord-SOP-TW. �

Proposition 2. An infeasible solution to the ord-SOP-TW is always infea-

sible for the equivalent gen-SOP-TW.

As with Proposition 1, it is sufficient to note that the ord-SOP-TW is a

relaxation of the gen-SOP-TW, thus an infeasible solution to the ord-SOP-

TW is always infeasible for the gen-SOP-TW. �

Proposition 3. Infeasible solutions may exist for the gen-SOP-TW that

are feasible for the equivalent ord-SOP-TW. (In other words, the reverse of

Proposition 1 and the reverse of Proposition 2 is not true.)

Consider the simplest two-job SOP-TW problem; without loss of generality,

we assume that the precedence relation is (1, 2), processing times are p1 and

p2, time windows are [a1, b1] and [a2, b2], and the inter-job setup time is s12

(by definition, all times are non-negative). For the gen-SOP-TW version of

the problem, α12 > 0; α12 = 0 in the equivalent ord-SOP-TW version.

Since job 1 must precede job 2, the earliest start time of job 1 is a1, and the

earliest start time of job 2 is max{a2, a1 +p1 + s12, a1 +α12}. Consequently,

t1 = a1 and t2 = max{a2, a1 + p1 + s12} ≤ b2

is a feasible solution to the ord-SOP-TW version. Similarly,

t1 = a1 and t2 = max{a2, a1 + p1 + s12, a1 + α12} ≤ b2

is a feasible solution to the gen-SOP-TW version provided α12 ≤ b2 − a1.

However, if α12 > b2 − a1 there exists no feasible solution to the gen-SOP-

TW version, even though a feasible solution does exists for the equivalent

ord-SOP-TW version. �

Page 347: New data generation and solution techniques for the

Appendix D

Formulae for the coordinates

of the ISA and ISA locations

The formulae for coordinate (X,Y ) for each location in ISA and ISA is given

in this appendix. From Section 3.2.1, recall the following definitions:

• dL(j) ∈ R+ is the length of a single location in group j,

• dW (j) ∈ R+ is the width of a single location in group j,

• cL(j) ∈ Z+ is the number of locations in a “row” of group j,

• cW (j) ∈ Z+ is the number of locations in a “column” of group j,

• nl(j) = cL(j)cW (j) is the total number of container storage locations

in group j,

• bL(j) is the length of space between adjacent locations in the same

row in group j, and

• bW (j) is the width of space between adjacent locations in the same

column in group j,

for j ∈ {ISA, ISA}, and

• fL is the length of space between the left-most edges of the first

columns of ISA and ISA, and

• fW is the width of space dividing ISA and ISA.

317

Page 348: New data generation and solution techniques for the

318 Formulae for the coordinates of the ISA and ISA locations

Using these parameters, the container yard locations are systematically con-

structed, or built out from the origin (0, 0), into R2, starting with the first

ISA location. The coordinate for each ISA location i ∈ {1, . . . , nl(ISA)}depends on the column number, αISA

i ∈ {1, . . . , cL(ISA)}, and row number,

βISAi ∈ {1, . . . , cW (ISA)}, of location i in ISA; see Figure D.1 on page 320 for

an example of the row and column labels. In other words, the coordinate of

location i is based on its relative position in the group of all ISA locations.

Specifically, the formulae is given below:

lISAi = (XISA

i , Y ISAi )

=

(1

2dL(ISA) + (αISA

i − 1)(dL(ISA) + bL(ISA)) ,

1

2dW (ISA) + (βISA

i − 1)(dW (ISA) + bW (ISA))

),

where αISAi = 1 + (i− 1) mod cL(ISA) and βISA

i = 1 + b i−1cL(ISA)c.

Similarly, the coordinate for each ISA location i ∈ {1, . . . , nl(ISA)} de-

pends on the column number, αISAi ∈ {1, . . . , cL(ISA)}, and row number,

βISAi ∈ {1, . . . , cW (ISA)}, of location i in ISA. In other words, the coordi-

nate of location i is based on its relative position in the group of all ISA

locations. Specifically, the formulae is given below:

lISAi = (XISA

i , Y ISAi )

= (fL, HISA + fW )

+

(1

2dL(ISA) + (αISA

i − 1)(dL(ISA) + bL(ISA)) ,

1

2dW (ISA) + (βISA

i − 1)(dW (ISA) + bW (ISA))

),

where

HISA = cW (ISA)dW (ISA) + (cW (ISA)− 1)bW (ISA)

is the full width of the ISA, and αISAi = 1 + (i − 1) mod cL(ISA) and

βISAi = 1 + b i−1

cL(ISA)c.

Page 349: New data generation and solution techniques for the

319

Generalising these coordinate formulae for location i in group j ∈ {ISA, ISA}:

lji = (Xji , Y

ji )

= I(j = ISA)(fL, HISA + fW )

+

(1

2dL(j) + (αji − 1)(dL(j) + bL(j)) ,

1

2dW (j) + (βji − 1)(dW (j) + bW (j))

),

where

I(j = ISA) :=

1, if j = ISA,

0, otherwise,

and αji = 1 + (i− 1) mod cL(j) and βji = 1 + b i−1cL(j)c.

Page 350: New data generation and solution techniques for the

320 Formulae for the coordinates of the ISA and ISA locations

. . . .l1

ISA

x(LENGTH

DIRECTION)

y(WIDTH

DIRECTION)

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

(0,0)

dL(ISA) bL(ISA)

dW (ISA)

bW (ISA) b ISA = (bL(ISA),bW (ISA))

l2ISA l

ISAcL(ISA)-1 l

ISAcL(ISA)

l ISAcL(ISA)+1

l ISA(cW (ISA)-2)cL(ISA)+1

l ISA(cW (ISA) -1)cL(ISA) +1 l

ISA(cW (ISA) -1)cL(ISA) +2 l

ISAcW (ISA) (cL(ISA) -1) l

ISAcW (ISA) cL(ISA)

l ISA(cW (ISA) -1)cL(ISA)

l ISA2cL(ISA)

ISA

ISA

fW

fL

dL(ISA)bL(ISA)

dW (ISA)

bW (ISA)b ISA = (bL(ISA),bW (ISA))

l1ISA l

ISAcL(ISA)l2

ISA

l ISA

cW (ISA) cL(ISA) l ISA

(cW (ISA) -1)cL(ISA) +1

f = ( fL , fW )~

ISAcolm

1

ISAcolm

2

ISAcolm

cL(ISA)-1

ISAcolm

cL(ISA). . . .

ISA row 1

ISA row 2

ISA row cW(ISA)-1

ISA row cW(ISA)

. . . .

ISA row 1

ISA row 2

ISA row cW(ISA)-1

ISA row cW(ISA)

. . . .

ISAcolm

1

ISAcolm

2

ISAcolm

cL(ISA)-1

ISAcolm

cL(ISA). . . .

Figure D.1: Parametrised layout of a container yard, with row/column labels.

Page 351: New data generation and solution techniques for the

Appendix E

Fixed parameter values for

the data generator

The values of the fixed input parameters for the data generator, procedure

RandomPortDataGen, are listed in Table E.1. The reasons behind the

values follow.

The container yard layout used as the foundation of our data sets is based

on the original plan for a container exchange area at the redeveloped Port

Botany container terminal in Sydney, Australia. This container exchange

area was to be serviced by five rail mounted gantry cranes (RMGs). The

container exchange area comprises three zones called the Gantry Straddle In-

terface (GSI), Intermediate Stacking Area (ISA) and Gantry Road Interface

(GRI) (as noted in the list of assumptions, we do not consider the Gantry

Rail Interface (GRAI) in this work). All containers that pass through the

port must transit each zone. A sketch of the proposed RMG container ex-

change area is shown in Figures E.1 and E.2.

All import containers must be transported by RMG from the GSI into the

ISA, then from the ISA into the GRI. Similarly, all export containers must

be transported by RMG from the GRI into the ISA, then from the ISA into

the GSI. Consequently the two main types of crane movements are to take

containers across the exchange area from GSI or GRA and move them into

the ISA, or to take containers from the ISA and move them into either the

GSI or GRI. Thus we divide the three zones into two groups: ISA and ISA

321

Page 352: New data generation and solution techniques for the

322 Fixed parameter values for the data generator

Parameter Value (fixed across all data sets generated by RandomPortDataGen)

CONTAINER YARD

ISA Zone 2

ISA Zone 1 ∪ Zone 3 (Zone 1 = GSI, Zone 3 = GRI)

fL 0 metres between Zone 1 and Zone 2, and 0 metres between Zone 2 and Zone 3

fW 1 metre between Zone 1 and Zone 2, and 1 metre between Zone 2 and Zone 3

L 132 metres

CONTAINER YARD LOCATIONS (for Zone j ∈ {1, 2, 3})

dL [2.4384 metres, 6.096 metres, 11.00 metres]

dW [6.096 metres, 2.4384 metres, 0.00 metres]

cL [26 locations, 20 locations, 12 locations]

cW [2 locations, 7 locations, 1 locations]

bW [0.3 metres, 0.3 metres, 0.0 metres]

Calculated from the container yard location input parameters

nl(1) 26 x 2 = 52 container storage locations in Zone 1

nl(2) 20 x 7 = 140 container storage locations in Zone 2

nl(3) 12 x 1 = 12 container storage locations in Zone 3

bL(1) 132−26(2.4384)26−1

= 2.744 metres (calculated from L, cL(1) and dL(1))

bL(2) 132−20(6.096)20−1

= 0.531 metres (calculated from L, cL(2) and dL(2))

bL(3) 132−12(11.00)12−1

= 0 metres (calculated from L, cL(3) and dL(3))

CRANE PROPERTIES

vunloaded 2 m/s

vloaded 2 m/s

∆+ 35 seconds

∆− 35 seconds

CONTAINERS (JOBS)

pOISA

0.2

pDISA

0.2

ψ 10

Table E.1: Summary of the fixed input parameters for RandomPortDataGen.

Page 353: New data generation and solution techniques for the

323

GRI GRAI ISA GSI

LANDSIDE QUAYSIDE

Figure E.1: Elevation view of the RMG container exchange area

GRI

GRAI

ISA

GSI

Figure E.2: Ground plan view of the RMG container exchange area

(not ISA). This way we can think of each loaded crane movement to be

moving a container into, or out of, the ISA.

Since we only consider the movements of a single RMG in this thesis, we have

partitioned the container yard serviced by the five RMGs into five “moving

areas” (one for each RMG), and base the sizings of our container exchange

area on a single moving area. The total length of the full landside container

exchange area is 660 metres, so a single RMG moving area is 132 metres

long. The full ISA has seven rows of 100 20ft container storage locations

that can be stacked up to three containers high. The full GSI has two rows

of 132 20ft container locations, while the full GRI has one row of 60 truck

bays. A single RMG moving area (one fifth of the full area) gives an ISA

partition of seven rows of 20 container storage locations, a GSI of two rows

of 26 locations, and a GRI of 12 truck bays.

The crane values assigned are based on realistic timings given by subject

matter experts at the outset of the project.

The parameter ψ is set to 10 so that, on average, at any time in sequencing

the container jobs there are at least several jobs available to be the next

Page 354: New data generation and solution techniques for the

324 Fixed parameter values for the data generator

move (i.e. multiple feasible solutions should exist for every data set).

The remaining container properties pOISA

and pDISA

influence how often ISA

locations are used multiple times. If these values are high, they lead to many

precedence relations being generated between container movements. As the

number of precedence relations increases, the number of feasible solutions is

reduced, and the order in which containers can be moved is increasingly pre-

scriptive. As such, we believe that after a certain (small) number/proportion

of precedences is introduced, adding any more precedences actually makes

the problem easier to solve. Thus while we wish some precedences to be

present at the ISA locations, we wish this number to be relatively small so

that “large” partial solutions are not easily derived from the data.

Page 355: New data generation and solution techniques for the

Appendix F

SOP-TW data set parameter

summary statistics

A summary of the key SOP-TW data set parameters was presented in Sec-

tion 3.6; the box plots in Figures 3.4–3.11 summarise the values of each

parameter by data class. The raw summary statistics which underpin each

box plot is given in Tables F.2–F.9, while the notation describing the column

headings is given in Table F.1.

Notation Description

Class Problem class number

# Number of elements of this parameter in the whole class

min Minimum parameter value in class

q1 First quartile (value in position 1 + 0.25(#− 1))

median Median of the parameter values (value in position 1 + 0.5(#− 1))

mean Mean of the parameter values (sum of the values divided by #)

q3 Third quartile (value in position 1 + 0.75(#− 1))

max Maximum parameter value in class

sd Standard deviation of the parameter values

Table F.1: Notation for parameter summary tables.

For completeness, the data set parameters for the BKA instances are also

summarised here in Figure F.1, and the raw summary statistics which un-

derpin each box plot is given in Tables F.2–F.9 under the name Class 0.

325

Page 356: New data generation and solution techniques for the

326 SOP-TW data set parameter summary statistics

●●

●●

●●●

●●●

●●●

●●

●●

●●

050

010

0015

00

(a) a

●●●

●●

●●

1000

2000

3000

4000

5000

(b) b

●●●

●●●●

●●●●●●

1000

2000

3000

4000

(c) w

●●

●●

●●●●●●●●

020

4060

8010

012

014

0(d) p

●●

●●

●●

●●●●

●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●

●●●●●●●●●●●

●●

●●●●●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●●●

●●●

●●

●●

●●●●

●●●●●●●●

●●●●

●●

●●

●●●●

●●

●●●●●●●

●●

●●●●

●●

●●

●●●●

●●

●●●●●●●

●●●●●●●●●●●●●

●●

●●

●●●●

●●●

●●●●

●●

●●●●●●●

●●●●

●●●●●

●●

●●●●●

●●●●

●●

●●●●●●●●●●●

●●

●●●●●●

●●●●

●●

●●

●●●

●●

●●●●

●●

●●●●

●●●

●●●●●●●

●●

●●●

●●●●

●●

●●●

●●

●●●

●●

●●●●

●●●●●

●●

●●●●●●

●●●

●●●●

●●●

●●●

●●●●

●●●●●●●●●●●

●●●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●●

●●

●●●●

●●●●●

●●

●●●●●●

●●●

●●●●

●●

●●●

●●●

●●

●●●●

●●●●●

●●

●●●●●●

●●●

●●●●

●●●●●●●

●●●

●●

●●●●

●●●●●●

●●●

●●

●●●●

●●●●

●●●●●●

●●●●●

●●●

●●●

●●

●●●

●●●●

●●

●●●●●●

●●●

●●●●

●●●

●●●

●●

●●●

●●●●

●●●

●●●●●●

●●●

●●●●

●●●●●●●●●●

●●●●

●●

●●

●●●●

●●

●●

●●●●●●●

●●

●●●●

●●

●●●●●●

●●●●

●●

●●

●●●●●●●●●●●

●●

●●●●●

●●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●

●●

●●●●●●●

●●●

●●●●

●●

020

4060

8010

012

014

0

(e) s

●●●●●●●●●●●●

●●●●●●

●●

●●●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●●●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●●

●●●●

●●●

●●

●●

●●●●●

●●●●

●●

●●●

●●

●●●●●●

●●●●

●●

●●

●●●●

●●

●●●

●●●●

●●

●●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●●●●

●●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●●●

●●●●●

050

100

150

200

250

(f) δ

●●

●●

●●

●●●

●●●

●●●

●●

●●●●●●●●●●●●●●●●●

●●

●●

●●●●●●

●●

●●

●●

050

010

0015

00

(g) α

●●

●●

●●

●●●

●●●

●●●

●●

●●●●●●●●●●●●●●●●●

●●

●●

●●●●●●

●●

●●

●●

050

010

0015

00

(h) α

Figure F.1: Box plots of a, b, w, p, s, δ, α and α values for BKA group.

Page 357: New data generation and solution techniques for the

327

Class # min q1 median mean q3 max sd

0 630 0 11 58 126.20 175 1746 187.76

1 260 0.00 0.00 436.70 627.19 1134.81 2133.98 639.66

2 260 0.00 0.00 506.15 654.43 1196.20 2182.64 659.17

3 260 0.00 0.00 430.71 654.17 1214.05 2222.64 667.06

4 260 0.00 0.00 449.47 627.96 1102.05 2157.09 652.06

5 260 0.00 0.00 478.46 642.79 1176.53 2058.58 646.06

6 260 0.00 0.00 464.20 651.62 1189.21 2130.52 653.87

7 260 0.00 0.00 518.14 671.37 1240.94 2358.76 678.09

8 260 0.00 4.86 621.52 767.32 1358.81 2309.75 710.02

9 260 0.00 0.00 301.00 531.62 973.00 2235.07 604.01

10 510 0.00 385.42 1681.33 1763.46 2959.65 4742.02 1412.12

11 510 0.00 425.06 1645.47 1772.72 2901.42 4669.56 1410.90

12 510 0.00 352.67 1679.61 1760.12 3000.06 4568.99 1405.93

13 510 0.00 84.68 1375.00 1578.70 2733.67 4550.70 1360.04

14 510 0.00 186.31 1379.99 1568.29 2628.51 4628.47 1354.18

15 510 0.00 109.24 1462.94 1590.90 2651.31 4797.93 1363.78

16 1010 0.00 1580.91 4219.05 4224.75 6708.97 9720.96 2899.57

17 1010 0.00 1654.91 4075.48 4204.56 6683.19 9801.13 2908.51

18 1010 0.00 1681.87 4109.03 4214.64 6673.15 9791.19 2905.26

19 1010 0.00 1385.55 3897.38 3991.79 6403.35 9664.92 2866.46

20 1010 0.00 1358.55 3877.79 4033.55 6476.76 9802.64 2885.41

21 1010 0.00 1404.53 3872.11 3988.35 6416.03 9698.50 2844.88

Table F.2: Summary statistics for parameter a.

Class # min q1 median mean q3 max sd

0 630 247 589.25 820 1013.18 1203.75 5722 775.34

1 260 549.50 1255.05 1976.73 2002.61 2680.38 3752.39 813.40

2 260 513.00 1317.07 1967.77 2003.80 2695.38 3578.64 814.36

3 260 472.50 1304.32 2026.25 2012.53 2673.75 3574.88 810.31

4 260 546.50 1339.06 2025.31 2038.50 2758.96 3690.82 840.41

5 260 493.50 1245.87 1884.10 1968.60 2613.26 3660.87 825.54

6 260 512.00 1257.41 1976.02 2000.53 2687.68 3522.96 828.60

7 260 507.00 1304.66 1993.48 2036.82 2744.79 3766.53 855.57

8 260 474.50 1128.62 1821.89 1829.09 2508.56 3276.75 819.17

9 260 668.39 1532.53 2145.38 2250.89 2963.89 4121.42 882.52

10 510 544.00 1892.52 3175.62 3215.84 4456.90 6115.11 1507.42

11 510 488.50 1937.21 3245.34 3215.70 4485.90 6332.42 1511.89

12 510 544.00 1909.86 3203.74 3184.05 4422.31 5838.93 1496.26

13 510 479.50 2154.09 3505.33 3473.95 4726.07 6522.65 1529.33

14 510 483.00 2049.53 3362.29 3456.09 4731.96 6521.53 1523.25

15 510 469.50 2171.66 3481.76 3494.28 4852.00 6651.26 1565.97

16 1010 492.00 3206.09 5662.14 5715.25 8218.87 11204.00 2954.37

17 1010 462.50 3103.24 5675.44 5710.17 8154.30 11458.50 2964.54

18 1010 562.50 3176.13 5681.96 5709.27 8180.47 11191.70 2963.48

19 1010 546.50 3367.78 5921.47 5954.63 8501.58 11722.50 2960.09

20 1010 492.00 3399.27 5991.86 5992.39 8500.84 11623.20 2989.96

21 1010 484.50 3410.28 5898.04 5936.59 8454.04 11773.70 2968.00

Table F.3: Summary statistics for parameter b.

Page 358: New data generation and solution techniques for the

328 SOP-TW data set parameter summary statistics

Class # min q1 median mean q3 max sd

0 630 247 530 729 886.99 1069.75 4408 649.81

1 260 549.50 1040.58 1321.50 1375.42 1602.52 3752.39 509.05

2 260 513.00 1079.05 1255.00 1349.37 1516.45 3578.64 499.79

3 260 472.50 1074.50 1282.73 1358.36 1559.50 3574.88 503.84

4 260 546.50 1062.00 1331.00 1410.54 1692.05 3690.82 526.10

5 260 493.50 1021.75 1217.50 1325.80 1536.07 3660.87 516.58

6 260 512.00 1043.75 1260.22 1348.91 1535.86 3522.96 510.21

7 260 507.00 1058.25 1284.50 1365.44 1583.00 3766.53 528.21

8 260 474.50 949.00 1018.00 1061.77 1089.25 3276.75 448.23

9 260 668.39 1169.52 1564.50 1719.27 2085.57 4121.42 684.68

10 510 544.00 1133.75 1371.00 1452.39 1620.75 6115.11 686.46

11 510 488.50 1121.00 1353.02 1442.97 1633.00 6332.42 695.40

12 510 544.00 1083.25 1358.50 1423.94 1622.50 5838.93 679.94

13 510 479.50 1302.38 1819.12 1895.25 2322.75 6522.65 829.45

14 510 483.00 1351.25 1805.74 1887.80 2286.13 6521.53 817.35

15 510 469.50 1354.00 1797.00 1903.37 2325.00 6651.26 843.75

16 1010 492.00 1162.99 1409.50 1490.50 1627.00 11204.00 982.51

17 1010 462.50 1192.00 1445.00 1505.60 1646.00 11458.50 988.37

18 1010 562.50 1158.28 1430.00 1494.63 1632.75 11191.70 988.01

19 1010 546.50 1424.00 1933.00 1962.84 2288.75 11722.50 1073.80

20 1010 492.00 1408.00 1920.61 1958.84 2298.00 11623.20 1081.27

21 1010 484.50 1423.63 1910.99 1948.24 2255.00 11773.70 1068.56

Table F.4: Summary statistics for parameter w.

Class # min q1 median mean q3 max sd

0 630 0 16 30 32.63 40 142 23.56

1 260 0.00 81.39 89.33 90.29 105.51 131.87 23.05

2 260 0.00 82.09 90.57 90.58 102.12 131.87 22.65

3 260 0.00 81.90 89.91 91.37 104.56 135.11 23.48

4 260 0.00 83.68 92.50 93.09 106.89 134.57 23.88

5 260 0.00 81.12 87.59 90.42 103.47 134.78 23.62

6 260 0.00 82.18 89.51 90.27 101.10 131.78 22.68

7 260 0.00 82.69 91.78 91.39 103.35 132.00 23.07

8 260 0.00 81.08 90.38 91.04 104.41 134.09 23.32

9 260 0.00 82.45 90.52 90.95 102.77 127.13 22.67

10 510 0.00 82.25 90.03 92.12 102.85 135.39 19.22

11 510 0.00 82.12 90.02 91.87 102.17 132.00 18.75

12 510 0.00 82.21 89.21 90.63 99.89 134.22 18.07

13 510 0.00 81.58 89.48 91.38 102.32 134.38 18.79

14 510 0.00 81.61 89.80 91.45 102.10 134.78 18.82

15 510 0.00 82.69 91.04 92.46 102.49 132.87 18.75

16 1010 0.00 82.81 91.10 93.87 104.58 134.64 17.25

17 1010 0.00 83.16 92.14 94.05 105.13 134.86 17.05

18 1010 0.00 82.43 91.19 94.07 105.31 134.86 17.56

19 1010 0.00 82.86 91.26 94.45 105.78 134.78 17.62

20 1010 0.00 82.71 92.30 94.79 106.90 134.78 17.81

21 1010 0.00 82.53 91.06 93.85 104.92 134.64 17.54

Table F.5: Summary statistics for parameter p.

Page 359: New data generation and solution techniques for the

329

Class # min q1 median mean q3 max sd

0 6960 0 3 10 14.50 16 144 17.21

1 5122 0.00 11.08 20.14 23.21 33.68 65.39 15.32

2 4981 0.00 11.33 20.30 23.55 33.84 65.39 15.57

3 5135 0.00 11.81 20.34 23.45 33.25 65.39 15.24

4 5345 0.00 11.35 20.53 23.84 35.48 65.39 15.91

5 5069 0.00 11.43 20.62 23.44 33.69 65.39 15.30

6 4880 0.00 11.00 20.30 23.13 33.44 65.11 15.17

7 4684 0.00 11.47 20.30 23.44 34.14 65.11 15.10

8 4215 0.00 10.82 19.94 23.01 33.39 64.78 15.33

9 5585 0.00 10.85 20.26 23.40 34.93 65.11 15.57

10 14233 0.00 11.00 19.66 22.52 32.20 65.39 14.42

11 13664 0.00 11.00 19.86 22.49 31.93 64.86 14.24

12 13459 0.00 11.00 19.22 22.06 31.10 64.78 13.90

13 17239 0.00 11.72 20.07 22.90 32.29 65.39 14.37

14 16821 0.00 11.46 20.03 22.76 32.17 65.39 14.21

15 16583 0.00 11.14 19.63 22.18 31.26 64.86 13.90

16 31903 0.00 11.45 20.46 23.59 33.69 65.39 14.94

17 31570 0.00 11.09 19.97 23.12 33.16 65.39 14.80

18 31172 0.00 11.35 20.32 23.60 33.84 65.39 15.01

19 41199 0.00 11.41 20.39 23.69 33.80 65.39 15.06

20 39799 0.00 11.35 20.62 23.78 33.84 65.39 15.14

21 39693 0.00 11.35 20.54 23.84 34.14 65.39 15.25

Table F.6: Summary statistics for parameter s.

Class # min q1 median mean q3 max sd

0 6960 0 28 42 47.82 63 274 30.17

1 5122 0.00 99.69 114.20 114.88 130.40 193.16 27.74

2 4981 0.00 100.89 114.29 115.48 130.57 197.13 27.25

3 5135 0.00 100.63 114.84 115.95 132.38 200.23 28.45

4 5345 0.00 103.17 117.54 118.05 133.74 197.65 28.90

5 5069 0.00 99.63 112.95 114.56 129.58 198.05 28.31

6 4880 0.00 100.55 113.53 114.67 129.05 193.71 26.61

7 4684 0.00 101.93 115.37 116.41 131.09 194.01 26.27

8 4215 0.00 100.17 114.44 115.47 130.18 197.28 27.76

9 5585 0.00 101.46 115.55 115.76 130.45 186.78 27.90

10 14233 0.00 99.55 112.92 115.10 128.25 198.88 23.92

11 13664 0.00 99.66 112.58 114.70 127.95 196.31 23.38

12 13459 0.00 99.13 111.47 113.46 125.87 197.32 22.40

13 17239 0.00 99.84 113.27 115.32 129.32 199.24 23.81

14 16821 0.00 100.20 112.75 114.73 127.59 197.65 23.14

15 16583 0.00 100.78 113.45 115.30 128.07 195.44 22.83

16 31903 0.00 101.01 115.25 117.83 131.33 197.91 23.43

17 31570 0.00 101.01 114.89 117.37 131.08 198.66 23.05

18 31172 0.00 100.87 115.18 117.77 131.26 198.77 23.56

19 41199 0.00 101.68 115.98 118.50 132.24 199.56 23.66

20 39799 0.00 101.88 116.44 118.87 132.72 199.64 23.89

21 39693 0.00 101.19 115.15 117.84 131.34 199.83 23.43

Table F.7: Summary statistics for parameter δ.

Page 360: New data generation and solution techniques for the

330 SOP-TW data set parameter summary statistics

Class # min q1 median mean q3 max sd

0 2896 1 57 116 166.90 212 1746 187.52

1 58 73.28 103.04 121.25 121.24 131.74 179.55 24.75

2 64 81.76 103.92 113.97 118.11 125.64 179.55 20.98

3 38 86.33 111.32 124.24 126.57 141.44 176.05 21.47

4 0 NA NA NA NA NA NA NA

5 31 90.97 105.32 115.68 121.55 132.49 197.05 25.13

6 96 79.86 101.93 117.07 118.58 130.14 193.00 21.76

7 120 78.34 101.28 114.35 118.79 134.70 179.17 23.06

8 65 82.37 100.64 113.34 119.64 131.85 188.53 24.69

9 71 82.72 101.46 115.26 116.67 127.82 172.91 18.76

10 60 78.30 108.06 115.95 121.22 134.99 177.18 20.17

11 140 79.53 101.68 113.43 116.98 127.86 185.83 20.14

12 182 79.73 99.65 110.51 113.61 125.69 182.45 19.30

13 67 81.20 100.81 111.71 115.30 129.89 163.34 19.82

14 134 78.36 104.91 112.87 117.32 130.27 178.85 20.11

15 170 82.22 102.04 115.37 117.59 127.15 189.96 20.67

16 167 73.59 105.95 119.93 123.81 139.03 195.85 25.62

17 257 71.61 101.36 114.49 117.73 130.90 181.53 20.81

18 374 76.50 100.25 116.39 118.39 130.84 191.76 22.57

19 129 78.69 105.45 119.77 122.47 135.73 193.73 21.69

20 252 76.61 104.39 117.92 120.62 134.37 187.74 22.10

21 371 76.55 101.76 115.46 118.75 131.06 194.28 22.69

Table F.8: Summary statistics for parameter α.

Class # min q1 median mean q3 max sd

0 2896 1 57 116 166.90 212 1746 187.52

1 892 73.28 130.00 268.55 382.03 568.92 1497.98 304.21

2 955 79.84 129.76 270.62 390.63 573.52 1580.16 318.37

3 907 82.59 136.98 305.86 418.08 612.68 1642.71 335.31

4 833 77.20 133.37 302.37 407.67 598.61 1534.59 323.48

5 951 81.63 130.15 284.31 400.29 605.80 1537.69 315.23

6 981 78.60 129.80 268.79 394.04 613.84 1432.15 311.02

7 1037 78.34 135.74 279.96 419.47 611.53 1654.76 346.79

8 1407 77.86 147.32 387.46 505.50 772.66 1739.25 395.04

9 542 80.16 121.45 222.97 332.86 468.08 1565.57 278.15

10 6944 76.98 393.62 991.01 1169.00 1781.49 4153.02 892.47

11 7043 76.03 366.90 970.36 1161.72 1769.50 4029.06 902.25

12 7083 75.88 361.91 981.37 1162.87 1784.73 4006.99 903.29

13 5319 77.56 318.01 868.86 1027.94 1569.21 3846.08 803.69

14 5383 78.15 305.78 818.90 1011.89 1546.64 4145.47 807.61

15 5451 75.71 307.10 836.45 1026.27 1560.14 3920.91 817.24

16 38065 77.38 1048.01 2446.33 2815.81 4263.65 9078.25 2080.11

17 37992 71.61 1043.37 2448.41 2819.80 4276.93 9067.72 2088.29

18 38090 76.50 1049.76 2441.46 2822.33 4281.21 9158.20 2091.22

19 33858 77.31 978.65 2314.28 2658.95 4038.15 9031.92 1963.34

20 34145 76.61 992.97 2326.46 2677.30 4058.54 8855.64 1981.78

21 34135 78.08 972.04 2278.73 2639.82 4012.38 9012.61 1963.62

Table F.9: Summary statistics for parameter α.

Page 361: New data generation and solution techniques for the

Appendix G

Preprocessing results tables

The preprocessing results for each data group are given in Tables G.2–G.5,

while the notation describing the column headings is given in Table G.1. As

mentioned in Section 4.5.4, E2=0 for all problem instances, thus we have

omitted the E2 column from all tables.

A breakdown of the time spent in each procedure for all problem instances is

shown in Tables G.7–G.10, while the notation describing the column head-

ings is given in Table G.6.

Notation Description

Class Problem class

# Problem instance number

n Number of jobs

m Size of the complete arc set (default m = n(n+ 1))

|P | Number of explicit precedence constraints

|PTW | Number of precedences induced by time windows

|PALL| Number of precedences in the transitive closure of P ∪ PTW

a∗ Number of updates to release dates

b∗ Number of updates to due dates

Iter Number of iterations of precedence/TW loop

E1 Number of arcs eliminated due to a precedence chain

E2 Number of arcs eliminated due to concatenation when |Q| = 1

E3 Number of arcs eliminated due to concatenation when |Q| = 2

|A| Number of remaining arcs/variables after preprocessing

Time (s) Total time spent preprocessing (in seconds)

Table G.1: Notation for preprocessing tables.

331

Page 362: New data generation and solution techniques for the

332 Preprocessing results tables

Table G.2: Preprocessing results for Classes 1–9 (n25).

Class # n m |P | |PTW | |PALL| a∗ b∗ Iter E1 E3 |A| Time (s)

n25 1 1 25 650 6 83 88 1 1 2 14 2 519 0.84

n25 1 2 25 650 6 82 88 1 0 2 25 1 506 0.66

n25 1 3 25 650 6 79 84 0 0 1 9 1 528 0.75

n25 1 4 25 650 6 87 93 0 2 2 29 0 498 1.00

n25 1 5 25 650 6 84 89 0 1 2 14 0 516 0.78

n25 1 6 25 650 6 89 92 0 0 1 12 1 516 0.66

n25 1 7 25 650 6 88 92 2 0 2 23 0 506 0.97

n25 1 8 25 650 4 75 78 1 2 2 8 0 539 1.09

n25 1 9 25 650 6 74 80 2 0 2 23 0 518 0.64

n25 1 10 25 650 6 103 108 1 0 2 33 0 476 0.63

n25 2 1 25 650 6 81 86 0 0 1 23 0 509 0.91

n25 2 2 25 650 7 92 99 0 1 2 29 2 486 1.08

n25 2 3 25 650 7 89 96 2 0 2 21 1 501 0.95

n25 2 4 25 650 7 84 89 2 0 2 22 0 508 1.08

n25 2 5 25 650 5 98 101 1 0 2 19 0 498 0.74

n25 2 6 25 650 6 85 90 1 1 2 19 0 512 0.70

n25 2 7 25 650 6 84 89 1 0 2 22 0 509 1.10

n25 2 8 25 650 8 100 106 1 1 2 36 0 476 1.06

n25 2 9 25 650 4 101 105 0 0 1 32 0 482 0.69

n25 2 10 25 650 8 88 94 1 0 2 25 0 500 1.20

n25 3 1 25 650 2 84 86 0 0 1 8 2 529 0.69

n25 3 2 25 650 6 81 85 0 0 1 13 0 523 1.80

n25 3 3 25 650 5 90 95 1 0 2 26 0 497 0.67

n25 3 4 25 650 3 87 90 1 1 2 16 0 514 0.63

n25 3 5 25 650 2 88 90 0 0 1 15 0 516 0.66

n25 3 6 25 650 3 86 89 1 0 2 21 0 510 0.86

n25 3 7 25 650 4 94 97 0 2 2 20 0 506 0.78

n25 3 8 25 650 6 81 84 0 1 2 12 0 526 1.16

n25 3 9 25 650 4 100 103 0 2 2 29 0 486 1.00

n25 3 10 25 650 3 85 88 0 0 1 8 0 528 1.00

n25 4 1 25 650 0 89 89 0 0 1 9 0 523 0.66

n25 4 2 25 650 0 84 84 0 0 1 6 2 533 1.28

n25 4 3 25 650 0 78 78 0 0 1 4 1 540 1.05

n25 4 4 25 650 0 89 89 0 0 1 0 0 538 0.72

n25 4 5 25 650 0 80 80 0 0 1 6 0 541 0.80

n25 4 6 25 650 0 77 77 0 0 1 4 0 542 0.69

n25 4 7 25 650 0 80 80 0 0 1 6 2 536 0.69

n25 4 8 25 650 0 88 88 0 0 1 5 0 531 0.73

n25 4 9 25 650 0 82 82 0 0 1 3 0 538 0.88

n25 4 10 25 650 0 86 86 0 0 1 12 0 523 1.00

n25 5 1 25 650 3 85 87 1 1 2 11 0 524 1.16

n25 5 2 25 650 4 102 106 0 0 1 27 0 487 1.05

n25 5 3 25 650 2 82 84 1 0 2 15 0 525 1.11

n25 5 4 25 650 3 90 93 1 1 2 26 0 501 0.98

n25 5 5 25 650 2 103 104 1 0 2 20 3 493 0.77

n25 5 6 25 650 4 105 107 1 0 2 17 0 497 0.63

n25 5 7 25 650 2 101 103 1 0 2 17 0 503 0.70

n25 5 8 25 650 2 90 92 1 0 2 13 0 515 1.09

n25 5 9 25 650 5 81 84 2 0 2 19 0 520 0.73

n25 5 10 25 650 4 87 91 1 0 2 26 0 504 0.83

n25 6 1 25 650 11 102 110 1 3 2 37 0 470 1.16

n25 6 2 25 650 8 83 90 1 1 2 20 0 511 0.88

n25 6 3 25 650 6 85 91 2 1 2 25 1 501 0.64

n25 6 4 25 650 8 88 94 1 1 2 32 0 492 0.97

n25 6 5 25 650 10 85 94 2 0 2 24 0 500 1.24

n25 6 6 25 650 10 88 96 2 1 2 30 0 495 1.19

n25 6 7 25 650 9 95 103 2 1 2 39 0 476 1.09

n25 6 8 25 650 11 101 111 3 2 2 53 0 450 1.12

n25 6 9 25 650 11 89 97 2 2 2 24 0 497 0.83

n25 6 10 25 650 12 85 95 3 2 2 34 1 488 0.66

Continued on next page

Page 363: New data generation and solution techniques for the

333

Table G.2 – continued from previous pageClass # n m |P | |PTW | |PALL| a∗ b∗ Iter E1 E3 |A| Time (s)

n25 7 1 25 650 12 105 115 4 2 2 50 0 450 0.95

n25 7 2 25 650 12 91 102 6 1 2 43 0 471 0.75

n25 7 3 25 650 12 93 102 3 1 2 37 2 477 1.13

n25 7 4 25 650 12 75 86 4 3 2 36 3 491 0.72

n25 7 5 25 650 12 95 105 1 2 2 33 0 477 0.63

n25 7 6 25 650 12 88 100 3 1 2 36 1 478 0.77

n25 7 7 25 650 12 100 111 2 5 2 50 0 453 1.13

n25 7 8 25 650 12 83 95 5 1 2 38 1 479 1.05

n25 7 9 25 650 12 105 117 1 1 2 56 0 441 1.09

n25 7 10 25 650 12 94 104 3 3 2 44 1 467 0.77

n25 8 1 25 650 6 141 147 1 1 2 58 1 409 1.06

n25 8 2 25 650 4 138 141 2 0 2 54 0 419 0.61

n25 8 3 25 650 8 129 133 0 1 2 37 1 446 0.61

n25 8 4 25 650 4 135 138 2 0 2 45 1 433 0.66

n25 8 5 25 650 8 135 140 1 0 2 49 0 426 1.12

n25 8 6 25 650 7 133 139 1 0 2 57 1 419 0.95

n25 8 7 25 650 7 131 138 1 1 2 51 0 425 0.67

n25 8 8 25 650 7 142 148 3 0 2 66 4 396 0.80

n25 8 9 25 650 8 131 136 1 0 2 43 1 436 0.77

n25 8 10 25 650 6 142 147 2 0 2 61 0 406 0.61

n25 9 1 25 650 9 70 77 1 1 2 22 1 522 0.75

n25 9 2 25 650 5 62 67 2 1 2 16 0 542 1.25

n25 9 3 25 650 8 46 53 1 0 2 18 0 549 1.25

n25 9 4 25 650 7 60 65 1 0 2 14 0 545 0.97

n25 9 5 25 650 8 37 43 2 2 2 9 0 575 1.70

n25 9 6 25 650 6 52 58 4 1 2 16 1 547 0.97

n25 9 7 25 650 10 36 44 1 2 2 3 0 578 0.95

n25 9 8 25 650 8 47 55 1 0 2 6 1 562 1.08

n25 9 9 25 650 4 42 45 0 1 2 1 0 582 1.08

n25 9 10 25 650 6 29 35 0 2 2 5 0 583 0.84

Page 364: New data generation and solution techniques for the

334 Preprocessing results tables

Class # n m |P | |PTW | |PALL| a∗ b∗ Iter E1 E3 |A| Time (s)

n50 1 1 50 2550 8 689 693 1 0 2 341 2 1438 10.33

n50 1 2 50 2550 4 698 700 0 0 1 326 17 1430 9.97

n50 1 3 50 2550 9 686 693 0 0 1 361 12 1407 9.55

n50 1 4 50 2550 6 714 717 0 0 1 341 14 1398 9.83

n50 1 5 50 2550 5 670 673 0 0 1 301 4 1496 10.30

n50 1 6 50 2550 5 705 707 1 0 2 371 0 1396 10.73

n50 1 7 50 2550 9 682 688 1 0 2 350 13 1425 11.10

n50 1 8 50 2550 4 693 697 1 0 2 363 2 1407 10.23

n50 1 9 50 2550 2 675 677 1 1 2 317 15 1464 10.16

n50 1 10 50 2550 8 694 699 0 1 2 395 7 1372 10.11

n50 2 1 50 2550 14 697 706 1 0 2 415 0 1350 10.30

n50 2 2 50 2550 12 686 692 1 3 2 361 5 1414 10.45

n50 2 3 50 2550 13 710 720 0 0 1 410 9 1337 9.33

n50 2 4 50 2550 14 704 709 1 1 2 421 6 1336 9.64

n50 2 5 50 2550 14 689 695 1 1 2 371 6 1399 9.98

n50 2 6 50 2550 17 709 720 1 1 2 416 2 1332 9.97

n50 2 7 50 2550 17 690 700 1 2 2 404 5 1362 9.84

n50 2 8 50 2550 15 710 717 1 3 2 434 1 1320 10.20

n50 2 9 50 2550 11 679 686 0 0 1 360 2 1424 10.78

n50 2 10 50 2550 13 692 698 0 1 2 368 15 1390 10.85

n50 3 1 50 2550 16 725 736 3 1 2 454 12 1268 9.17

n50 3 2 50 2550 18 686 695 2 1 2 373 4 1400 10.09

n50 3 3 50 2550 15 688 699 2 1 2 390 6 1375 10.16

n50 3 4 50 2550 20 688 699 4 1 2 418 4 1349 10.34

n50 3 5 50 2550 18 707 717 1 1 2 411 12 1328 9.61

n50 3 6 50 2550 18 681 689 1 0 2 356 12 1413 10.30

n50 3 7 50 2550 20 705 716 1 4 2 440 7 1306 9.20

n50 3 8 50 2550 19 688 697 2 1 2 399 4 1370 9.64

n50 3 9 50 2550 20 702 714 0 1 2 420 2 1338 8.86

n50 3 10 50 2550 18 709 721 3 1 2 427 6 1312 9.11

n50 4 1 50 2550 4 524 526 0 0 1 172 10 1767 11.23

n50 4 2 50 2550 8 528 534 1 0 2 250 0 1697 10.61

n50 4 3 50 2550 8 606 611 0 1 2 318 1 1547 11.19

n50 4 4 50 2550 6 543 546 0 0 1 202 5 1725 11.09

n50 4 5 50 2550 4 498 501 1 0 2 196 3 1782 11.94

n50 4 6 50 2550 5 536 540 1 0 2 247 0 1691 10.99

n50 4 7 50 2550 6 482 486 1 0 2 171 2 1826 11.27

n50 4 8 50 2550 8 562 568 4 1 2 273 1 1633 10.66

n50 4 9 50 2550 9 490 496 0 0 1 173 2 1812 11.20

n50 4 10 50 2550 9 506 511 0 1 2 210 4 1759 10.86

n50 5 1 50 2550 17 498 511 0 2 2 254 0 1711 11.08

n50 5 2 50 2550 13 496 507 1 1 2 237 2 1731 11.36

n50 5 3 50 2550 11 510 520 1 2 2 233 4 1719 10.75

n50 5 4 50 2550 11 547 553 1 2 2 231 4 1689 10.73

n50 5 5 50 2550 14 560 571 1 2 2 309 0 1595 10.47

n50 5 6 50 2550 12 530 538 1 3 2 238 1 1698 10.89

n50 5 7 50 2550 14 561 571 4 1 2 298 2 1602 10.25

n50 5 8 50 2550 14 543 551 4 2 2 277 0 1652 10.86

n50 5 9 50 2550 12 502 510 1 1 2 206 2 1760 10.66

n50 5 10 50 2550 16 540 551 2 1 2 260 4 1664 10.94

n50 6 1 50 2550 18 556 568 3 1 2 314 0 1594 10.52

n50 6 2 50 2550 18 544 555 3 0 2 265 4 1655 10.70

n50 6 3 50 2550 19 538 550 6 2 2 292 1 1632 10.77

n50 6 4 50 2550 16 520 533 2 0 2 274 0 1670 11.53

n50 6 5 50 2550 17 542 555 2 3 2 264 6 1646 10.59

n50 6 6 50 2550 14 507 519 1 2 2 264 3 1694 10.69

n50 6 7 50 2550 16 519 530 2 0 2 248 0 1700 10.56

n50 6 8 50 2550 17 510 523 1 2 2 228 2 1722 10.64

n50 6 9 50 2550 17 524 537 3 1 2 268 2 1669 10.91

n50 6 10 50 2550 18 567 581 2 2 2 291 4 1601 10.80

Table G.3: Preprocessing results for Classes 10–15 (n50).

Page 365: New data generation and solution techniques for the

335

Class # n m |P | |PTW | |PALL| a∗ b∗ Iter E1 E3 |A| Time (s)

n100 1 1 100 10100 17 3796 3807 1 1 2 2938 17 3162 136.89

n100 1 2 100 10100 20 3795 3799 0 0 1 2863 20 3245 139.53

n100 1 3 100 10100 18 3831 3838 1 3 2 2986 18 3081 137.59

n100 1 4 100 10100 16 3785 3795 1 2 2 2884 30 3212 138.44

n100 1 5 100 10100 17 3783 3788 1 0 2 2865 22 3245 138.11

n100 1 6 100 10100 20 3786 3793 0 0 1 2914 7 3210 135.64

n100 1 7 100 10100 16 3777 3781 0 1 2 2847 29 3271 141.70

n100 1 8 100 10100 12 3843 3850 0 0 1 2970 21 3082 134.20

n100 1 9 100 10100 20 3800 3807 1 1 2 2881 17 3219 138.19

n100 1 10 100 10100 11 3800 3807 1 0 2 2932 7 3176 137.22

n100 2 1 100 10100 26 3767 3781 2 1 2 2968 12 3160 142.87

n100 2 2 100 10100 24 3793 3805 3 2 2 2966 18 3133 138.11

n100 2 3 100 10100 26 3787 3799 1 2 2 2942 19 3164 139.61

n100 2 4 100 10100 29 3827 3842 2 1 2 3045 4 3029 134.94

n100 2 5 100 10100 24 3788 3797 2 1 2 2907 10 3211 138.94

n100 2 6 100 10100 24 3763 3777 2 1 2 2932 32 3182 139.92

n100 2 7 100 10100 29 3787 3798 0 0 1 2908 27 3191 138.39

n100 2 8 100 10100 30 3779 3794 2 2 2 2963 6 3157 140.14

n100 2 9 100 10100 22 3805 3814 0 1 2 2946 21 3141 139.77

n100 2 10 100 10100 23 3774 3785 3 2 2 2922 11 3202 140.13

n100 3 1 100 10100 38 3764 3779 0 3 2 2951 22 3174 139.31

n100 3 2 100 10100 31 3781 3792 2 3 2 2925 24 3180 139.06

n100 3 3 100 10100 40 3795 3811 4 3 2 3034 11 3068 138.61

n100 3 4 100 10100 38 3793 3809 0 1 2 2956 16 3140 139.80

n100 3 5 100 10100 40 3802 3821 2 0 2 3022 12 3065 136.77

n100 3 6 100 10100 31 3796 3810 4 1 2 2953 22 3137 138.30

n100 3 7 100 10100 42 3819 3833 5 1 2 3009 18 3064 135.70

n100 3 8 100 10100 39 3760 3774 4 1 2 2837 18 3291 139.94

n100 3 9 100 10100 40 3853 3869 1 1 2 3086 15 2948 135.19

n100 3 10 100 10100 35 3774 3792 2 1 2 3008 16 3105 136.53

n100 4 1 100 10100 15 3369 3377 1 2 2 2440 9 4101 162.48

n100 4 2 100 10100 8 3423 3427 1 0 2 2485 4 4012 159.13

n100 4 3 100 10100 8 3329 3331 1 0 2 2319 7 4273 163.59

n100 4 4 100 10100 11 3370 3374 1 2 2 2419 19 4119 161.41

n100 4 5 100 10100 16 3474 3481 1 1 2 2483 42 3924 158.05

n100 4 6 100 10100 17 3393 3400 3 1 2 2402 17 4110 175.83

n100 4 7 100 10100 17 3316 3323 1 0 2 2297 10 4305 163.97

n100 4 8 100 10100 16 3383 3389 0 0 1 2464 24 4054 166.44

n100 4 9 100 10100 12 3375 3379 0 0 1 2361 14 4184 169.47

n100 4 10 100 10100 9 3373 3377 0 2 2 2417 16 4117 169.20

n100 5 1 100 10100 20 3421 3427 2 1 2 2436 23 4048 158.91

n100 5 2 100 10100 24 3422 3434 1 1 2 2524 20 3950 158.36

n100 5 3 100 10100 28 3378 3391 1 0 2 2449 7 4083 162.17

n100 5 4 100 10100 24 3419 3433 2 2 2 2548 15 3933 156.91

n100 5 5 100 10100 33 3375 3393 3 0 2 2532 10 3995 157.30

n100 5 6 100 10100 27 3385 3396 1 1 2 2479 5 4048 159.19

n100 5 7 100 10100 23 3378 3390 0 3 2 2555 12 3973 156.19

n100 5 8 100 10100 21 3429 3440 1 4 2 2587 14 3889 154.84

n100 5 9 100 10100 23 3353 3363 1 0 2 2427 8 4133 160.33

n100 5 10 100 10100 29 3457 3478 1 3 2 2700 6 3747 149.95

n100 6 1 100 10100 36 3405 3420 0 3 2 2516 8 3985 163.72

n100 6 2 100 10100 39 3446 3466 4 4 2 2617 24 3818 153.19

n100 6 3 100 10100 37 3379 3396 1 3 2 2507 2 4023 158.20

n100 6 4 100 10100 34 3433 3450 3 2 2 2610 10 3860 153.86

n100 6 5 100 10100 38 3370 3393 3 3 2 2502 20 4008 162.74

n100 6 6 100 10100 35 3368 3383 0 2 2 2463 8 4071 158.83

n100 6 7 100 10100 38 3353 3370 3 2 2 2500 4 4056 198.75

n100 6 8 100 10100 39 3421 3443 5 2 2 2518 6 3954 158.85

n100 6 9 100 10100 39 3368 3389 2 2 2 2498 7 4033 158.50

n100 6 10 100 10100 36 3404 3425 3 2 2 2608 9 3885 157.30

Table G.4: Preprocessing results for Classes 16–21 (n100).

Page 366: New data generation and solution techniques for the

336 Preprocessing results tables

Class # n m |P | |PTW | |PALL| a∗ b∗ Iter E1 E3 |A| Time (s)

BKA 1 17 306 107 0 107 11 14 2 44 0 148 0.09

BKA 2 17 306 107 0 107 10 14 2 46 0 146 0.09

BKA 3 17 306 77 0 77 9 12 2 12 0 214 0.17

BKA 4 17 306 77 0 77 9 12 2 12 0 214 0.20

BKA 5 17 306 77 0 77 9 12 2 12 0 214 0.19

BKA 6 17 306 119 0 119 10 16 2 63 0 114 0.09

BKA 7 17 306 102 0 102 8 14 2 37 0 160 0.09

BKA 8 17 306 102 0 102 11 14 2 37 0 160 0.11

BKA 9 17 306 77 0 77 9 12 2 12 0 214 0.14

BKA 10 17 306 107 0 107 2 14 2 44 0 148 0.11

BKA 11 17 306 82 0 82 10 23 2 17 0 202 0.23

BKA 12 17 306 82 0 82 5 26 2 17 0 202 0.12

BKA 13 17 306 91 0 91 7 24 2 23 0 185 0.16

BKA 14 17 306 60 0 60 9 20 2 2 0 242 0.11

BKA 15 17 306 60 0 60 9 20 2 2 0 242 0.14

BKA 16 17 306 60 0 60 7 17 2 2 0 242 0.20

BKA 17 17 306 87 0 87 11 21 2 21 0 191 0.16

BKA 18 17 306 60 0 60 5 20 2 2 0 242 0.25

BKA 19 17 306 67 0 67 10 12 2 4 0 231 0.13

BKA 20 17 306 92 0 92 6 27 2 24 0 183 0.27

BKA 21 17 306 86 0 86 10 22 2 19 0 196 0.39

BKA 22 17 306 111 0 111 12 29 2 48 0 138 0.23

BKA 23 17 306 111 0 111 12 28 2 48 0 138 0.14

BKA 24 17 306 86 0 86 6 26 2 19 0 196 0.12

BKA 25 17 306 86 0 86 10 14 2 19 0 196 0.11

BKA 26 17 306 77 0 77 9 21 2 12 0 214 0.28

BKA 27 17 306 77 0 77 6 24 2 12 0 214 0.11

BKA 28 17 306 77 0 77 9 18 2 12 0 214 0.17

BKA 29 17 306 91 0 91 10 13 2 25 0 185 0.19

BKA 30 17 306 81 0 81 10 12 2 17 0 204 0.22

BKA 31 17 306 84 0 84 6 27 2 18 0 199 0.13

BKA 32 17 306 57 0 57 5 13 2 3 0 246 0.22

BKA 33 17 306 57 0 57 4 16 2 3 0 246 0.13

BKA 34 17 306 57 0 57 7 11 2 3 0 246 0.13

BKA 35 17 306 65 0 65 7 13 2 5 0 234 0.13

Table G.5: Preprocessing results for BKA instances.

Notation Description

Class Problem class

# Problem instance number

n Number of jobs

TTW Time spent constructing PTW

TALL Time spent constructing PALL

T⇀R Time spent performing rank ordering

T a∗ Time spent updating release dates

T b∗ Time spent updating due dates

TE1 Time spent eliminating arcs due to a precedence chain

TE2 Time spent eliminating arcs due to concatenation where |Q| = 1

TE3 Time spent eliminating arcs due to concatenation where |Q| = 2

TEST Time spent performing EST2, EST3 and EST4 calculations

Total Total time spent preprocessing the problem instance

Table G.6: Notation for preprocessing times (all times are in seconds).

Page 367: New data generation and solution techniques for the

337

Table G.7: Preprocessing times (seconds) for Classes 1–9 (n25).

Class # n TTW TALL T⇀R Ta∗ T b∗ TE1 TE2 TE3 TEST Total

n25 1 1 25 0.00 0.00 0.00 0.00 0.00 0.16 0.02 0.48 0.19 0.84

n25 1 2 25 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.45 0.19 0.66

n25 1 3 25 0.00 0.00 0.00 0.00 0.00 0.02 0.02 0.52 0.20 0.75

n25 1 4 25 0.00 0.02 0.00 0.00 0.00 0.03 0.22 0.53 0.20 1.00

n25 1 5 25 0.00 0.00 0.11 0.00 0.00 0.00 0.00 0.48 0.19 0.78

n25 1 6 25 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.45 0.19 0.66

n25 1 7 25 0.00 0.00 0.19 0.08 0.00 0.02 0.00 0.50 0.19 0.97

n25 1 8 25 0.00 0.00 0.00 0.00 0.00 0.02 0.05 0.83 0.20 1.09

n25 1 9 25 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.44 0.19 0.64

n25 1 10 25 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.42 0.19 0.63

n25 2 1 25 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.70 0.20 0.91

n25 2 2 25 0.00 0.00 0.11 0.30 0.00 0.00 0.02 0.45 0.20 1.08

n25 2 3 25 0.00 0.00 0.00 0.00 0.00 0.05 0.27 0.45 0.19 0.95

n25 2 4 25 0.00 0.00 0.00 0.00 0.00 0.33 0.02 0.53 0.20 1.08

n25 2 5 25 0.00 0.02 0.06 0.00 0.00 0.02 0.00 0.45 0.19 0.74

n25 2 6 25 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.50 0.19 0.70

n25 2 7 25 0.00 0.00 0.00 0.08 0.00 0.05 0.34 0.44 0.19 1.10

n25 2 8 25 0.00 0.00 0.00 0.00 0.00 0.05 0.28 0.53 0.20 1.06

n25 2 9 25 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.47 0.20 0.69

n25 2 10 25 0.00 0.00 0.30 0.09 0.00 0.00 0.14 0.48 0.19 1.20

n25 3 1 25 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.47 0.20 0.69

n25 3 2 25 0.00 0.00 0.56 0.11 0.00 0.03 0.24 0.66 0.20 1.80

n25 3 3 25 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.45 0.20 0.67

n25 3 4 25 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.44 0.19 0.63

n25 3 5 25 0.00 0.00 0.02 0.00 0.00 0.00 0.02 0.44 0.19 0.66

n25 3 6 25 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.64 0.20 0.86

n25 3 7 25 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.58 0.19 0.78

n25 3 8 25 0.00 0.00 0.00 0.00 0.00 0.17 0.03 0.77 0.19 1.16

n25 3 9 25 0.00 0.00 0.00 0.00 0.00 0.03 0.28 0.41 0.28 1.00

n25 3 10 25 0.00 0.00 0.00 0.00 0.00 0.28 0.05 0.47 0.20 1.00

n25 4 1 25 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.45 0.19 0.66

n25 4 2 25 0.00 0.00 0.00 0.00 0.00 0.33 0.05 0.70 0.20 1.28

n25 4 3 25 0.00 0.00 0.00 0.00 0.00 0.05 0.30 0.50 0.20 1.05

n25 4 4 25 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.52 0.19 0.72

n25 4 5 25 0.00 0.00 0.00 0.02 0.00 0.03 0.02 0.55 0.19 0.80

n25 4 6 25 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.47 0.20 0.69

n25 4 7 25 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.47 0.20 0.69

n25 4 8 25 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.52 0.20 0.73

n25 4 9 25 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.69 0.19 0.88

n25 4 10 25 0.00 0.00 0.00 0.00 0.00 0.00 0.09 0.70 0.20 1.00

n25 5 1 25 0.00 0.00 0.00 0.00 0.00 0.05 0.38 0.53 0.20 1.16

n25 5 2 25 0.00 0.00 0.00 0.00 0.00 0.22 0.03 0.59 0.20 1.05

n25 5 3 25 0.00 0.00 0.00 0.00 0.00 0.03 0.19 0.70 0.19 1.11

n25 5 4 25 0.00 0.00 0.00 0.00 0.00 0.28 0.05 0.45 0.20 0.98

n25 5 5 25 0.00 0.00 0.11 0.02 0.00 0.02 0.02 0.42 0.19 0.77

n25 5 6 25 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.41 0.20 0.63

n25 5 7 25 0.02 0.00 0.00 0.00 0.00 0.03 0.02 0.44 0.20 0.70

n25 5 8 25 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.83 0.20 1.09

n25 5 9 25 0.00 0.02 0.06 0.00 0.00 0.02 0.02 0.42 0.20 0.73

n25 5 10 25 0.00 0.02 0.17 0.00 0.00 0.00 0.02 0.42 0.20 0.83

n25 6 1 25 0.00 0.00 0.00 0.00 0.00 0.31 0.05 0.58 0.22 1.16

n25 6 2 25 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.66 0.20 0.88

n25 6 3 25 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.45 0.19 0.64

n25 6 4 25 0.00 0.02 0.00 0.00 0.00 0.03 0.28 0.44 0.20 0.97

n25 6 5 25 0.00 0.00 0.00 0.00 0.00 0.23 0.03 0.78 0.19 1.24

n25 6 6 25 0.00 0.00 0.00 0.00 0.00 0.05 0.33 0.61 0.20 1.19

n25 6 7 25 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.86 0.19 1.09

n25 6 8 25 0.00 0.00 0.00 0.00 0.00 0.03 0.20 0.69 0.20 1.12

n25 6 9 25 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.64 0.19 0.83

n25 6 10 25 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.44 0.20 0.66

Continued on next page

Page 368: New data generation and solution techniques for the

338 Preprocessing results tables

Table G.7 – continued from previous pageClass # n TTW TALL T

⇀R Ta∗ T b∗ TE1 TE2 TE3 TEST Total

n25 7 1 25 0.00 0.00 0.00 0.00 0.00 0.25 0.05 0.45 0.20 0.95

n25 7 2 25 0.00 0.00 0.00 0.00 0.02 0.03 0.00 0.50 0.20 0.75

n25 7 3 25 0.00 0.02 0.00 0.00 0.00 0.05 0.20 0.66 0.20 1.13

n25 7 4 25 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.52 0.19 0.72

n25 7 5 25 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.42 0.19 0.63

n25 7 6 25 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.55 0.20 0.77

n25 7 7 25 0.00 0.00 0.23 0.22 0.00 0.03 0.02 0.42 0.20 1.13

n25 7 8 25 0.00 0.02 0.00 0.00 0.00 0.00 0.08 0.75 0.20 1.05

n25 7 9 25 0.00 0.00 0.38 0.13 0.00 0.00 0.02 0.38 0.20 1.09

n25 7 10 25 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.52 0.20 0.77

n25 8 1 25 0.00 0.00 0.00 0.00 0.00 0.28 0.05 0.53 0.20 1.06

n25 8 2 25 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.39 0.20 0.61

n25 8 3 25 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.41 0.19 0.61

n25 8 4 25 0.00 0.00 0.00 0.00 0.00 0.02 0.02 0.44 0.19 0.66

n25 8 5 25 0.00 0.00 0.11 0.00 0.00 0.00 0.36 0.45 0.20 1.12

n25 8 6 25 0.00 0.02 0.00 0.00 0.00 0.00 0.02 0.66 0.27 0.95

n25 8 7 25 0.00 0.02 0.00 0.00 0.00 0.02 0.00 0.44 0.20 0.67

n25 8 8 25 0.00 0.00 0.00 0.00 0.00 0.03 0.23 0.34 0.19 0.80

n25 8 9 25 0.00 0.00 0.09 0.08 0.00 0.02 0.00 0.39 0.19 0.77

n25 8 10 25 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.39 0.19 0.61

n25 9 1 25 0.00 0.00 0.00 0.00 0.00 0.05 0.00 0.50 0.20 0.75

n25 9 2 25 0.00 0.00 0.00 0.00 0.00 0.05 0.34 0.66 0.20 1.25

n25 9 3 25 0.00 0.00 0.00 0.00 0.00 0.31 0.05 0.69 0.20 1.25

n25 9 4 25 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.77 0.19 0.97

n25 9 5 25 0.00 0.00 0.50 0.19 0.14 0.00 0.02 0.64 0.22 1.70

n25 9 6 25 0.00 0.00 0.00 0.00 0.00 0.02 0.08 0.67 0.20 0.97

n25 9 7 25 0.00 0.02 0.00 0.00 0.00 0.00 0.02 0.72 0.20 0.95

n25 9 8 25 0.00 0.00 0.00 0.00 0.00 0.05 0.25 0.53 0.25 1.08

n25 9 9 25 0.00 0.00 0.00 0.00 0.00 0.02 0.23 0.63 0.20 1.08

n25 9 10 25 0.00 0.00 0.00 0.00 0.00 0.17 0.02 0.47 0.19 0.84

Page 369: New data generation and solution techniques for the

339

Class # n TTW TALL T⇀R Ta∗ T b∗ TE1 TE2 TE3 TEST Total

n50 1 1 50 0.02 0.02 0.00 0.00 0.02 0.03 0.38 6.58 3.30 10.33

n50 1 2 50 0.00 0.02 0.00 0.00 0.00 0.06 0.39 6.09 3.41 9.97

n50 1 3 50 0.00 0.02 0.00 0.00 0.00 0.06 0.06 6.11 3.30 9.55

n50 1 4 50 0.00 0.00 0.00 0.00 0.00 0.38 0.14 6.00 3.31 9.83

n50 1 5 50 0.00 0.00 0.02 0.00 0.00 0.42 0.08 6.44 3.34 10.30

n50 1 6 50 0.00 0.05 0.44 0.47 0.00 0.33 0.13 5.92 3.41 10.73

n50 1 7 50 0.00 0.02 0.44 0.16 0.33 0.39 0.13 6.22 3.42 11.10

n50 1 8 50 0.00 0.03 0.16 0.00 0.00 0.41 0.16 6.20 3.28 10.23

n50 1 9 50 0.00 0.03 0.00 0.00 0.00 0.22 0.06 6.50 3.34 10.16

n50 1 10 50 0.00 0.03 0.00 0.00 0.00 0.30 0.09 6.36 3.33 10.11

n50 2 1 50 0.02 0.03 0.38 0.00 0.00 0.20 0.09 6.19 3.39 10.30

n50 2 2 50 0.00 0.03 0.00 0.00 0.02 0.05 0.39 6.58 3.39 10.45

n50 2 3 50 0.00 0.02 0.00 0.00 0.00 0.28 0.08 5.66 3.30 9.33

n50 2 4 50 0.00 0.05 0.33 0.00 0.00 0.06 0.06 5.75 3.39 9.64

n50 2 5 50 0.00 0.02 0.00 0.00 0.02 0.03 0.09 6.42 3.41 9.98

n50 2 6 50 0.00 0.03 0.28 0.00 0.00 0.34 0.13 5.86 3.33 9.97

n50 2 7 50 0.00 0.03 0.00 0.00 0.00 0.34 0.11 5.99 3.38 9.84

n50 2 8 50 0.02 0.03 0.00 0.00 0.00 0.34 0.06 6.33 3.42 10.20

n50 2 9 50 0.00 0.02 0.50 0.16 0.14 0.39 0.13 6.08 3.38 10.78

n50 2 10 50 0.00 0.02 0.42 0.02 0.00 0.42 0.08 6.48 3.41 10.85

n50 3 1 50 0.00 0.05 0.00 0.00 0.00 0.27 0.08 5.47 3.31 9.17

n50 3 2 50 0.00 0.03 0.14 0.00 0.02 0.42 0.14 5.97 3.38 10.09

n50 3 3 50 0.02 0.02 0.00 0.00 0.00 0.06 0.41 6.24 3.42 10.16

n50 3 4 50 0.00 0.02 0.44 0.00 0.16 0.50 0.08 5.86 3.30 10.34

n50 3 5 50 0.00 0.03 0.00 0.00 0.00 0.06 0.31 5.74 3.47 9.61

n50 3 6 50 0.00 0.03 0.00 0.00 0.00 0.22 0.06 6.61 3.38 10.30

n50 3 7 50 0.00 0.05 0.00 0.02 0.00 0.02 0.06 5.78 3.28 9.20

n50 3 8 50 0.00 0.05 0.00 0.00 0.00 0.41 0.06 5.86 3.27 9.64

n50 3 9 50 0.00 0.03 0.00 0.00 0.00 0.03 0.06 5.47 3.27 8.86

n50 3 10 50 0.00 0.02 0.00 0.02 0.00 0.03 0.06 5.64 3.34 9.11

n50 4 1 50 0.00 0.00 0.00 0.00 0.00 0.03 0.09 7.77 3.34 11.23

n50 4 2 50 0.00 0.02 0.00 0.02 0.00 0.06 0.08 7.20 3.23 10.61

n50 4 3 50 0.00 0.02 0.52 0.20 0.00 0.30 0.11 6.67 3.38 11.19

n50 4 4 50 0.00 0.02 0.00 0.00 0.00 0.38 0.14 7.19 3.38 11.09

n50 4 5 50 0.00 0.03 0.49 0.16 0.00 0.03 0.11 7.86 3.27 11.94

n50 4 6 50 0.00 0.02 0.00 0.00 0.00 0.03 0.16 7.44 3.34 10.99

n50 4 7 50 0.00 0.02 0.03 0.00 0.00 0.03 0.17 7.72 3.30 11.27

n50 4 8 50 0.00 0.00 0.00 0.00 0.02 0.02 0.14 7.13 3.36 10.66

n50 4 9 50 0.00 0.00 0.02 0.00 0.00 0.03 0.09 7.81 3.25 11.20

n50 4 10 50 0.00 0.02 0.00 0.02 0.00 0.03 0.08 7.34 3.38 10.86

n50 5 1 50 0.00 0.02 0.00 0.00 0.00 0.03 0.08 7.72 3.24 11.08

n50 5 2 50 0.00 0.02 0.00 0.00 0.00 0.42 0.08 7.48 3.36 11.36

n50 5 3 50 0.00 0.02 0.00 0.00 0.00 0.03 0.08 7.36 3.27 10.75

n50 5 4 50 0.00 0.02 0.00 0.00 0.02 0.05 0.08 7.20 3.38 10.73

n50 5 5 50 0.00 0.02 0.00 0.00 0.02 0.03 0.09 7.09 3.22 10.47

n50 5 6 50 0.00 0.03 0.00 0.00 0.00 0.03 0.08 7.25 3.50 10.89

n50 5 7 50 0.00 0.02 0.02 0.00 0.00 0.03 0.08 6.86 3.25 10.25

n50 5 8 50 0.00 0.02 0.00 0.00 0.00 0.03 0.11 7.31 3.39 10.86

n50 5 9 50 0.00 0.03 0.00 0.00 0.00 0.03 0.08 7.27 3.25 10.66

n50 5 10 50 0.00 0.03 0.00 0.00 0.00 0.03 0.08 7.47 3.33 10.94

n50 6 1 50 0.00 0.03 0.00 0.00 0.00 0.03 0.08 7.16 3.22 10.52

n50 6 2 50 0.00 0.03 0.00 0.00 0.00 0.03 0.08 7.24 3.33 10.70

n50 6 3 50 0.00 0.08 0.09 0.00 0.00 0.03 0.08 7.25 3.24 10.77

n50 6 4 50 0.02 0.00 0.08 0.00 0.00 0.44 0.08 7.61 3.31 11.53

n50 6 5 50 0.00 0.02 0.00 0.00 0.00 0.03 0.08 7.23 3.23 10.59

n50 6 6 50 0.00 0.02 0.06 0.00 0.00 0.03 0.08 7.11 3.39 10.69

n50 6 7 50 0.02 0.00 0.00 0.00 0.00 0.03 0.08 7.09 3.34 10.56

n50 6 8 50 0.00 0.02 0.00 0.02 0.00 0.03 0.08 7.20 3.30 10.64

n50 6 9 50 0.00 0.02 0.06 0.00 0.00 0.34 0.11 7.06 3.31 10.91

n50 6 10 50 0.02 0.02 0.00 0.00 0.00 0.03 0.48 7.03 3.22 10.80

Table G.8: Preprocessing times (seconds) for Classes 10–15 (n50).

Page 370: New data generation and solution techniques for the

340 Preprocessing results tables

Class # n TTW TALL T⇀R Ta∗ T b∗ TE1 TE2 TE3 TEST Total

n100 1 1 100 0.02 0.30 0.20 0.13 0.02 0.92 0.41 80.11 54.80 136.89

n100 1 2 100 0.02 0.11 0.89 0.36 0.34 0.25 0.97 81.53 55.06 139.53

n100 1 3 100 0.02 0.44 0.63 0.34 0.33 1.19 0.47 79.80 54.39 137.59

n100 1 4 100 0.00 0.44 1.23 0.39 0.02 0.31 0.42 81.05 54.58 138.44

n100 1 5 100 0.02 0.39 0.44 0.00 0.02 0.28 0.44 82.38 54.16 138.11

n100 1 6 100 0.02 0.20 0.03 0.00 0.00 0.22 0.59 80.28 54.30 135.64

n100 1 7 100 0.02 0.31 0.50 0.02 0.02 0.22 0.42 86.02 54.19 141.70

n100 1 8 100 0.00 0.22 0.02 0.00 0.02 0.22 0.66 77.94 55.14 134.20

n100 1 9 100 0.02 0.33 0.45 0.00 0.00 0.36 0.41 82.31 54.31 138.19

n100 1 10 100 0.02 0.34 0.27 0.38 0.00 0.27 0.59 80.03 55.33 137.22

n100 2 1 100 0.02 0.47 0.42 2.16 0.50 0.83 0.41 82.86 55.22 142.87

n100 2 2 100 0.00 0.53 0.69 0.63 0.41 1.05 0.50 79.88 54.44 138.11

n100 2 3 100 0.03 0.31 1.27 1.83 0.00 0.81 0.53 80.08 54.75 139.61

n100 2 4 100 0.02 0.33 0.77 0.30 0.03 1.03 0.47 77.66 54.34 134.94

n100 2 5 100 0.02 0.39 0.69 0.20 0.00 0.84 0.50 81.83 54.47 138.94

n100 2 6 100 0.02 0.52 0.50 0.80 0.39 0.34 0.53 82.34 54.49 139.92

n100 2 7 100 0.02 0.22 0.47 0.69 0.00 0.81 0.59 80.77 54.83 138.39

n100 2 8 100 0.00 0.33 1.03 0.63 0.00 1.09 0.48 82.14 54.44 140.14

n100 2 9 100 0.00 0.33 0.91 1.27 0.38 0.94 0.47 80.55 54.94 139.77

n100 2 10 100 0.02 0.53 1.11 0.38 0.02 1.11 0.52 82.11 54.34 140.13

n100 3 1 100 0.02 0.34 1.02 0.09 0.00 0.84 0.61 81.50 54.89 139.31

n100 3 2 100 0.02 0.55 0.92 0.67 0.50 1.09 0.52 80.06 54.74 139.06

n100 3 3 100 0.02 0.55 0.95 2.19 0.20 0.83 0.41 78.56 54.91 138.61

n100 3 4 100 0.02 0.31 1.20 0.39 0.11 1.08 0.52 81.58 54.59 139.80

n100 3 5 100 0.02 0.33 1.13 0.27 0.00 0.84 0.44 78.67 55.08 136.77

n100 3 6 100 0.02 0.34 0.67 0.00 0.36 1.08 0.49 80.97 54.38 138.30

n100 3 7 100 0.03 0.59 0.73 0.95 0.02 0.80 0.41 77.08 55.09 135.70

n100 3 8 100 0.02 0.33 0.75 0.77 0.41 1.08 0.50 81.83 54.27 139.94

n100 3 9 100 0.02 0.36 1.44 1.95 0.02 0.81 0.38 75.28 54.94 135.19

n100 3 10 100 0.00 0.44 0.70 0.80 0.70 0.33 0.48 78.33 54.75 136.53

n100 4 1 100 0.02 0.27 1.94 1.00 0.00 0.95 0.52 103.16 54.64 162.48

n100 4 2 100 0.02 0.27 0.66 0.28 0.28 1.31 0.53 101.34 54.44 159.13

n100 4 3 100 0.02 0.27 1.86 0.17 0.00 0.78 0.53 105.34 54.63 163.59

n100 4 4 100 0.03 0.38 0.86 0.59 0.45 1.11 0.50 103.16 54.33 161.41

n100 4 5 100 0.00 0.28 2.02 0.64 0.02 0.83 0.50 99.13 54.64 158.05

n100 4 6 100 0.02 0.36 1.17 0.81 0.11 0.33 0.56 114.97 57.50 175.83

n100 4 7 100 0.02 0.25 0.19 0.00 0.00 0.33 0.63 108.20 54.36 163.97

n100 4 8 100 0.02 0.17 0.09 0.00 0.00 0.23 0.74 107.17 58.02 166.44

n100 4 9 100 0.00 0.09 0.02 0.00 0.00 1.03 0.81 108.94 58.58 169.47

n100 4 10 100 0.00 0.27 1.36 1.19 1.63 0.25 0.53 107.14 56.84 169.20

n100 5 1 100 0.02 0.28 0.05 0.00 0.00 0.25 0.81 101.23 56.27 158.91

n100 5 2 100 0.00 0.38 0.31 0.02 0.00 0.50 0.58 101.00 55.58 158.36

n100 5 3 100 0.03 0.25 0.03 0.00 0.00 0.24 0.80 105.56 55.27 162.17

n100 5 4 100 0.03 0.36 0.17 0.00 0.02 0.30 0.66 100.39 54.98 156.91

n100 5 5 100 0.00 0.28 0.30 0.00 0.02 0.67 0.80 100.41 54.83 157.30

n100 5 6 100 0.02 0.36 0.47 0.03 0.00 0.50 0.80 100.02 57.00 159.19

n100 5 7 100 0.03 0.34 0.64 0.00 0.00 0.23 0.77 99.08 55.09 156.19

n100 5 8 100 0.02 0.48 0.36 0.02 0.00 0.23 0.86 97.69 55.19 154.84

n100 5 9 100 0.02 0.27 0.39 0.00 0.02 0.28 0.73 103.19 55.44 160.33

n100 5 10 100 0.00 0.38 0.41 0.00 0.02 0.22 0.48 93.25 55.20 149.95

n100 6 1 100 0.03 0.35 0.41 0.00 0.00 0.22 0.64 106.03 56.05 163.72

n100 6 2 100 0.00 0.47 0.56 0.00 0.00 0.22 0.72 96.02 55.20 153.19

n100 6 3 100 0.02 0.34 0.37 0.00 0.00 0.74 0.81 100.67 55.25 158.20

n100 6 4 100 0.02 0.36 0.45 0.00 0.00 0.33 0.61 96.98 55.11 153.86

n100 6 5 100 0.02 0.34 0.41 0.03 0.00 0.31 0.66 102.81 58.16 162.74

n100 6 6 100 0.00 0.30 0.27 0.02 0.02 0.28 0.64 101.98 55.33 158.83

n100 6 7 100 0.00 0.45 0.27 0.23 0.00 0.86 31.83 101.92 63.19 198.75

n100 6 8 100 0.00 0.38 0.48 0.11 0.05 1.13 0.55 101.69 54.47 158.85

n100 6 9 100 0.00 0.28 0.02 0.02 0.00 1.02 0.89 101.36 54.92 158.50

n100 6 10 100 0.02 0.37 0.02 0.19 0.00 0.97 0.55 99.58 55.61 157.30

Table G.9: Preprocessing times (seconds) for Classes 16–21 (n100).

Page 371: New data generation and solution techniques for the

341

Class # n TTW TALL T⇀R Ta∗ T b∗ TE1 TE2 TE3 TEST Total

BKA 1 17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.05 0.09

BKA 2 17 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.05 0.03 0.09

BKA 3 17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.05 0.17

BKA 4 17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.16 0.05 0.20

BKA 5 17 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.06 0.05 0.19

BKA 6 17 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.03 0.05 0.09

BKA 7 17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.05 0.09

BKA 8 17 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.05 0.05 0.11

BKA 9 17 0.00 0.00 0.00 0.00 0.00 0.02 0.02 0.06 0.05 0.14

BKA 10 17 0.00 0.02 0.00 0.00 0.00 0.02 0.00 0.03 0.05 0.11

BKA 11 17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.03 0.23

BKA 12 17 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.06 0.05 0.12

BKA 13 17 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.09 0.05 0.16

BKA 14 17 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.06 0.03 0.11

BKA 15 17 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.08 0.05 0.14

BKA 16 17 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.14 0.05 0.20

BKA 17 17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.05 0.16

BKA 18 17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.05 0.25

BKA 19 17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.05 0.13

BKA 20 17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.05 0.27

BKA 21 17 0.00 0.00 0.22 0.06 0.00 0.00 0.00 0.06 0.05 0.39

BKA 22 17 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.17 0.05 0.23

BKA 23 17 0.00 0.00 0.05 0.00 0.00 0.02 0.00 0.03 0.05 0.14

BKA 24 17 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.06 0.05 0.12

BKA 25 17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.05 0.11

BKA 26 17 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.22 0.05 0.28

BKA 27 17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.05 0.11

BKA 28 17 0.00 0.00 0.05 0.02 0.00 0.02 0.00 0.06 0.03 0.17

BKA 29 17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.05 0.19

BKA 30 17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.05 0.22

BKA 31 17 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.06 0.05 0.13

BKA 32 17 0.00 0.00 0.06 0.00 0.02 0.00 0.00 0.08 0.06 0.22

BKA 33 17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.05 0.13

BKA 34 17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.08 0.05 0.13

BKA 35 17 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.06 0.05 0.13

Table G.10: Preprocessing times (seconds) for BKA instances.

Page 372: New data generation and solution techniques for the

342 Preprocessing results tables

Page 373: New data generation and solution techniques for the

Appendix H

LP relaxation results tables

For each of the four MIP methods listed in Table 4.5, the LP relaxation

was solved—with CPLEX presolve initially off, then turned on—for every

problem instance. Arranged by data group, the LP relaxation values are

given in Tables H.2–H.5, while the notation describing the column headings

is given in Table H.1. For comparison, the optimal value (if known) and the

LP relaxation of the Assignment Problem (AP) are also included.

The LP relaxation solve times—with presolve off and presolve on—are shown

in Tables H.7–H.10, while the notation describing the column headings is

given in Table H.6.

Summaries of the key results are presented throughout Section 4.6.3.

Notation Description

Class Problem class

# Problem instance number

OPT Optimal solution value, if known

AP LP relaxation value of the Assignment Problem

LP1 LP relaxation value of the MIP in Method 1 (MIP1 Ponly)

LP2 LP relaxation value of the MIP in Method 2 (MIP1 PrecAll)

LP3 LP relaxation value of the MIP in Method 3 (MIP2 Ponly)

LP4 LP relaxation value of the MIP in Method 4 (MIP2 PrecAll)

LP2-LP1 Difference in LP relaxation value of M2 and M1

LP4-LP3 Difference in LP relaxation value of M4 and M3

LP3-LP1 Difference in LP relaxation value of M3 and M1

LP4-LP2 Difference in LP relaxation value of M4 and M2

Table H.1: Notation for tables showing lower bounds from LP relaxations.

343

Page 374: New data generation and solution techniques for the

344 LP relaxation results tables

Class # OPT AP LP1 LP2 LP3 LP4 LP2-LP1 LP4-LP3 LP3-LP1 LP4-LP2

n25 1 1 201.31 148.20 150.13 150.18 156.33 156.46 0.04 0.14 6.19 6.29

n25 1 2 206.02 182.82 182.94 182.94 184.11 184.12 0.00 0.01 1.17 1.18

n25 1 3 163.62 150.27 150.59 150.59 151.38 151.38 0.00 0.00 0.79 0.79

n25 1 4 217.42 195.86 195.93 195.93 197.68 197.68 0.00 0.00 1.74 1.74

n25 1 5 224.15 188.74 190.58 190.59 194.68 194.86 0.00 0.18 4.10 4.27

n25 1 6 236.63 214.43 215.33 215.36 215.99 216.24 0.03 0.24 0.67 0.87

n25 1 7 153.65 122.03 123.72 123.72 129.87 129.87 0.00 0.00 6.15 6.15

n25 1 8 181.13 159.85 161.12 161.15 163.68 163.68 0.03 0.00 2.56 2.53

n25 1 9 170.08 147.17 147.43 147.43 150.13 150.13 0.00 0.00 2.70 2.70

n25 1 10 275.31 253.72 254.43 254.43 256.91 256.92 0.00 0.00 2.49 2.49

n25 2 1 150.55 127.05 128.61 128.61 130.52 130.53 0.00 0.01 1.91 1.92

n25 2 2 163.93 145.41 146.14 146.20 147.91 147.91 0.06 0.00 1.77 1.72

n25 2 3 170.42 147.27 149.32 149.59 149.84 150.23 0.27 0.39 0.52 0.64

n25 2 4 166.65 131.40 132.31 132.43 134.30 134.34 0.12 0.04 1.99 1.91

n25 2 5 162.32 134.13 135.50 135.71 136.31 136.31 0.21 0.00 0.81 0.60

n25 2 6 147.43 121.13 123.57 123.57 125.88 125.90 0.00 0.01 2.31 2.32

n25 2 7 173.11 146.71 147.39 147.39 150.45 150.45 0.00 0.00 3.06 3.06

n25 2 8 402.77 365.68 366.39 366.39 373.82 373.93 0.00 0.11 7.42 7.53

n25 2 9 150.99 127.90 130.22 130.22 134.07 134.07 0.00 0.00 3.84 3.84

n25 2 10 194.45 149.18 149.88 149.89 158.43 158.43 0.01 0.00 8.54 8.54

n25 3 1 184.89 172.09 172.64 172.64 174.08 174.08 0.00 0.00 1.44 1.44

n25 3 2 184.42 165.00 165.52 165.52 168.09 168.09 0.00 0.00 2.57 2.57

n25 3 3 225.12 208.26 208.40 208.40 209.18 209.18 0.00 0.00 0.78 0.78

n25 3 4 193.19 172.35 172.62 172.70 172.80 172.81 0.08 0.00 0.19 0.11

n25 3 5 203.42 190.18 190.44 190.44 192.75 192.75 0.00 0.00 2.31 2.31

n25 3 6 159.21 134.00 135.04 135.04 136.80 136.80 0.00 0.00 1.77 1.77

n25 3 7 217.48 176.02 180.04 180.23 182.86 182.86 0.20 0.00 2.83 2.63

n25 3 8 207.22 192.77 193.60 193.61 194.53 194.53 0.01 0.00 0.93 0.92

n25 3 9 228.63 208.82 209.32 209.32 213.89 213.89 0.00 0.00 4.57 4.57

n25 3 10 215.10 208.69 208.96 208.96 209.56 209.67 0.00 0.11 0.61 0.71

n25 4 1 173.96 142.64 143.87 143.98 150.76 150.96 0.12 0.20 6.89 6.97

n25 4 2 180.05 158.37 159.09 159.09 159.44 159.44 0.00 0.00 0.34 0.34

n25 4 3 136.86 120.08 120.29 120.29 123.41 123.41 0.00 0.00 3.11 3.11

n25 4 4 171.95 153.88 154.19 154.20 156.64 156.72 0.01 0.08 2.45 2.52

n25 4 5 248.55 239.00 239.01 239.01 240.71 240.71 0.00 0.00 1.70 1.70

n25 4 6 174.88 150.91 151.28 151.28 158.86 158.86 0.00 0.00 7.57 7.57

n25 4 7 211.32 194.60 194.87 194.87 195.89 195.89 0.00 0.00 1.01 1.01

n25 4 8 194.67 178.97 180.53 180.53 183.79 183.81 0.00 0.02 3.26 3.28

n25 4 9 143.88 130.42 131.91 131.91 133.20 133.23 0.00 0.03 1.28 1.32

n25 4 10 155.63 126.25 127.36 127.37 133.60 133.60 0.01 0.00 6.25 6.23

n25 5 1 175.00 147.53 148.32 148.39 151.76 151.94 0.07 0.18 3.44 3.55

n25 5 2 182.75 166.39 166.80 167.14 167.67 168.09 0.34 0.42 0.87 0.95

n25 5 3 167.19 154.83 155.30 155.30 155.82 155.90 0.00 0.08 0.52 0.59

n25 5 4 198.43 170.16 170.34 170.34 172.33 172.35 0.00 0.02 1.99 2.01

n25 5 5 188.63 173.11 173.30 173.30 173.78 173.78 0.00 0.00 0.48 0.48

n25 5 6 142.46 123.47 125.21 125.35 126.36 126.53 0.14 0.17 1.15 1.18

n25 5 7 247.66 214.07 214.73 214.74 219.71 219.71 0.01 0.00 4.98 4.97

n25 5 8 238.29 221.17 221.39 221.39 223.37 223.48 0.00 0.11 1.97 2.08

n25 5 9 184.71 175.16 175.49 175.52 176.57 176.58 0.03 0.01 1.08 1.06

n25 5 10 144.04 115.25 115.92 115.92 117.52 117.52 0.00 0.00 1.60 1.60

n25 6 1 188.60 126.05 126.97 126.97 135.59 135.59 0.00 0.00 8.62 8.62

n25 6 2 212.42 195.10 195.22 195.24 195.27 195.27 0.03 0.00 0.05 0.03

n25 6 3 191.95 160.72 161.35 161.35 169.23 169.23 0.00 0.00 7.87 7.87

n25 6 4 247.09 209.22 210.49 210.49 215.85 215.87 0.00 0.02 5.37 5.39

n25 6 5 207.23 150.39 150.86 150.86 157.62 157.62 0.00 0.00 6.76 6.76

n25 6 6 161.43 130.26 130.61 130.61 133.16 133.37 0.00 0.20 2.55 2.75

n25 6 7 196.12 160.68 161.78 161.78 162.29 162.29 0.00 0.00 0.51 0.51

n25 6 8 209.89 162.05 163.69 163.69 165.91 165.91 0.00 0.00 2.22 2.22

n25 6 9 175.78 128.49 129.85 129.85 136.78 137.12 0.00 0.34 6.94 7.27

n25 6 10 213.21 171.37 173.15 173.17 174.02 174.05 0.02 0.03 0.86 0.88

Table H.2: Lower bounds from LP relaxations for Classes 1–9 (n25).

Page 375: New data generation and solution techniques for the

345

Class # OPT AP LP1 LP2 LP3 LP4 LP2-LP1 LP4-LP3 LP3-LP1 LP4-LP2

n25 7 1 166.34 113.91 114.49 114.53 119.21 119.21 0.04 0.00 4.73 4.68

n25 7 2 198.19 108.52 109.66 109.96 125.69 125.70 0.30 0.01 16.03 15.74

n25 7 3 195.83 146.90 147.26 147.27 155.38 155.41 0.01 0.03 8.11 8.14

n25 7 4 196.53 168.75 169.64 169.64 170.98 170.98 0.00 0.00 1.34 1.34

n25 7 5 200.95 153.14 154.52 154.52 157.90 157.96 0.00 0.06 3.38 3.44

n25 7 6 258.91 211.36 211.80 211.80 213.32 213.32 0.00 0.00 1.52 1.52

n25 7 7 191.37 152.66 153.68 153.75 157.13 157.23 0.07 0.10 3.46 3.48

n25 7 8 153.19 103.69 108.80 108.80 113.98 113.98 0.00 0.00 5.19 5.19

n25 7 9 249.68 220.50 220.94 220.94 223.21 223.21 0.00 0.00 2.27 2.27

n25 7 10 205.59 169.06 171.16 171.16 173.09 173.09 0.00 0.00 1.93 1.93

n25 8 1 232.91 216.48 216.67 216.67 220.05 220.05 0.00 0.00 3.38 3.38

n25 8 2 200.55 142.67 146.20 146.24 158.29 158.33 0.04 0.04 12.09 12.09

n25 8 3 243.50 221.44 222.84 222.84 223.86 223.86 0.00 0.00 1.03 1.03

n25 8 4 152.01 126.39 126.82 126.82 133.61 133.62 0.00 0.01 6.79 6.81

n25 8 5 188.04 161.28 163.62 163.62 164.91 164.92 0.00 0.01 1.29 1.30

n25 8 6 202.49 164.61 165.33 165.35 176.86 177.05 0.02 0.19 11.52 11.70

n25 8 7 176.82 147.15 149.09 149.34 157.46 157.46 0.25 0.00 8.37 8.12

n25 8 8 284.19 255.31 255.44 255.44 255.61 255.63 0.00 0.02 0.17 0.19

n25 8 9 180.91 157.86 158.29 158.29 163.28 163.30 0.00 0.02 4.99 5.01

n25 8 10 290.37 268.34 268.98 268.98 271.52 271.52 0.00 0.00 2.55 2.55

n25 9 1 318.74 283.97 284.37 284.38 288.11 288.11 0.01 0.00 3.74 3.73

n25 9 2 147.07 111.74 112.24 112.24 114.03 114.03 0.00 0.00 1.79 1.79

n25 9 3 166.88 140.54 142.35 142.35 145.42 145.42 0.00 0.00 3.07 3.07

n25 9 4 206.94 184.32 184.51 184.51 187.37 187.37 0.00 0.00 2.86 2.86

n25 9 5 170.12 127.17 127.64 127.76 132.03 132.04 0.13 0.00 4.40 4.27

n25 9 6 126.79 104.43 105.91 106.00 106.78 106.87 0.09 0.09 0.87 0.87

n25 9 7 154.61 130.17 130.40 130.40 131.48 131.59 0.01 0.12 1.08 1.19

n25 9 8 173.62 138.51 140.62 140.67 144.57 144.73 0.05 0.16 3.95 4.06

n25 9 9 129.73 115.48 115.57 115.57 116.91 117.06 0.00 0.14 1.34 1.48

n25 9 10 145.58 120.00 120.41 120.60 121.15 121.21 0.20 0.06 0.74 0.60

Table H.2: continued.

Page 376: New data generation and solution techniques for the

346 LP relaxation results tables

Class # OPT AP LP1 LP2 LP3 LP4 LP2-LP1 LP4-LP3 LP3-LP1 LP4-LP2

n50 1 1 286.74 235.68 236.56 236.61 246.63 246.63 0.06 0.00 10.08 10.02

n50 1 2 282.66 235.10 237.89 238.17 244.22 244.64 0.28 0.42 6.33 6.47

n50 1 3 300.95 257.58 259.49 259.49 259.73 259.73 0.00 0.00 0.24 0.24

n50 1 4 — 300.46 301.50 301.50 310.96 310.96 0.00 0.00 9.46 9.46

n50 1 5 302.30 259.66 261.17 261.18 265.75 265.91 0.01 0.17 4.58 4.73

n50 1 6 — 323.30 324.36 324.59 339.68 340.29 0.24 0.61 15.32 15.70

n50 1 7 — 220.66 223.53 223.57 231.81 232.04 0.04 0.22 8.28 8.46

n50 1 8 — 293.32 294.97 294.97 312.15 312.15 0.00 0.00 17.18 17.18

n50 1 9 — 320.95 321.77 321.81 329.26 329.27 0.04 0.00 7.49 7.46

n50 1 10 280.37 243.76 243.98 244.00 246.03 246.17 0.02 0.14 2.05 2.17

n50 2 1 368.45 315.08 315.64 315.65 332.11 332.32 0.01 0.21 16.46 16.67

n50 2 2 384.32 333.82 336.35 336.36 346.55 346.55 0.01 0.00 10.20 10.19

n50 2 3 350.49 317.14 318.32 318.38 323.52 323.58 0.06 0.06 5.20 5.20

n50 2 4 — 434.31 437.90 437.90 453.16 453.17 0.00 0.01 15.26 15.27

n50 2 5 265.50 233.70 234.56 234.56 237.63 237.72 0.00 0.09 3.08 3.16

n50 2 6 298.42 249.38 252.31 252.54 255.69 255.75 0.24 0.06 3.38 3.21

n50 2 7 — 294.80 296.61 296.67 313.89 314.56 0.06 0.67 17.29 17.90

n50 2 8 359.12 318.51 319.69 319.83 329.15 329.15 0.13 0.00 9.45 9.32

n50 2 9 294.69 266.78 266.94 266.96 269.71 269.71 0.02 0.00 2.76 2.75

n50 2 10 329.90 289.27 290.04 290.09 293.98 294.19 0.05 0.21 3.94 4.11

n50 3 1 327.58 270.51 272.63 272.67 284.27 284.28 0.04 0.00 11.64 11.61

n50 3 2 — 232.07 233.93 233.94 240.23 240.25 0.01 0.03 6.29 6.32

n50 3 3 — 215.08 219.04 219.04 223.87 223.89 0.00 0.02 4.83 4.85

n50 3 4 327.54 280.45 281.28 281.35 286.67 286.67 0.08 0.00 5.39 5.32

n50 3 5 370.11 288.90 290.34 290.34 312.97 313.02 0.00 0.06 22.62 22.68

n50 3 6 329.40 273.74 274.76 274.76 280.82 280.82 0.00 0.00 6.05 6.06

n50 3 7 326.80 285.31 286.94 286.96 291.29 291.51 0.02 0.23 4.35 4.55

n50 3 8 — 288.91 291.26 291.26 302.28 302.28 0.00 0.00 11.02 11.02

n50 3 9 290.49 242.85 244.38 244.39 249.05 249.05 0.01 0.00 4.67 4.66

n50 3 10 288.01 241.22 244.22 244.33 251.17 251.37 0.11 0.20 6.95 7.05

n50 4 1 — 213.04 213.69 213.69 216.29 216.29 0.00 0.01 2.60 2.61

n50 4 2 — 343.20 344.36 344.38 347.11 347.12 0.02 0.02 2.74 2.74

n50 4 3 — 350.43 350.57 350.57 359.25 359.65 0.00 0.40 8.68 9.08

n50 4 4 244.49 216.78 219.13 219.18 225.19 225.23 0.05 0.05 6.06 6.06

n50 4 5 — 282.26 282.85 282.85 286.45 286.45 0.00 0.00 3.61 3.61

n50 4 6 — 331.82 332.48 332.51 337.55 337.55 0.02 0.00 5.07 5.04

n50 4 7 — 239.40 239.62 239.62 246.13 246.16 0.00 0.04 6.51 6.55

n50 4 8 — 226.83 227.71 227.72 230.57 230.59 0.01 0.02 2.86 2.87

n50 4 9 — 267.36 268.07 268.14 271.20 271.20 0.08 0.00 3.13 3.05

n50 4 10 — 259.45 260.52 260.53 265.12 265.12 0.01 0.00 4.60 4.59

n50 5 1 — 196.67 198.62 198.62 205.92 205.92 0.00 0.00 7.29 7.29

n50 5 2 — 219.12 220.26 220.26 223.74 223.74 0.00 0.00 3.48 3.48

n50 5 3 — 288.63 288.94 288.95 291.10 291.12 0.01 0.02 2.15 2.17

n50 5 4 — 247.48 248.47 248.49 252.37 252.48 0.02 0.10 3.91 3.99

n50 5 5 — 370.12 371.27 371.28 377.71 377.71 0.01 0.00 6.45 6.44

n50 5 6 — 258.86 259.40 259.40 263.69 263.89 0.00 0.20 4.29 4.49

n50 5 7 — 272.64 273.76 273.76 284.62 284.75 0.00 0.13 10.86 10.99

n50 5 8 — 235.82 236.06 236.07 238.43 238.43 0.01 0.00 2.37 2.36

n50 5 9 — 268.92 270.41 270.45 281.10 281.10 0.04 0.00 10.70 10.65

n50 5 10 — 238.82 239.99 239.99 248.56 248.56 0.00 0.00 8.57 8.57

n50 6 1 — 266.78 267.58 267.58 272.57 272.68 0.00 0.11 4.99 5.10

n50 6 2 — 201.62 204.42 204.42 206.64 206.67 0.00 0.02 2.22 2.24

n50 6 3 — 217.45 220.36 220.37 224.13 224.17 0.01 0.04 3.77 3.80

n50 6 4 — 298.95 299.23 299.23 300.90 300.90 0.00 0.00 1.68 1.68

n50 6 5 — 229.95 231.41 231.41 236.77 236.78 0.00 0.00 5.37 5.37

n50 6 6 — 200.84 201.95 201.96 204.94 204.97 0.00 0.03 2.98 3.01

n50 6 7 — 259.01 259.46 259.46 259.99 260.09 0.00 0.10 0.53 0.63

n50 6 8 — 223.87 225.31 225.32 228.59 228.60 0.02 0.00 3.29 3.27

n50 6 9 — 269.59 271.84 271.95 282.19 282.42 0.11 0.23 10.34 10.47

n50 6 10 — 228.24 230.52 230.52 239.24 239.24 0.00 0.00 8.73 8.73

Table H.3: Lower bounds from LP relaxations for Classes 10–15 (n50).

Page 377: New data generation and solution techniques for the

347

Class # OPT AP LP1 LP2 LP3 LP4 LP2-LP1 LP4-LP3 LP3-LP1 LP4-LP2

n100 1 1 — 560.96 563.66 563.78 580.21 580.26 0.12 0.05 16.56 16.48

n100 1 2 — 596.23 597.49 597.52 613.78 613.92 0.03 0.15 16.28 16.41

n100 1 3 — 487.18 490.85 490.85 501.46 501.47 0.01 0.01 10.62 10.62

n100 1 4 — 511.81 516.17 516.21 530.28 530.49 0.03 0.21 14.10 14.28

n100 1 5 — 473.78 475.44 475.46 484.61 484.61 0.01 0.00 9.17 9.16

n100 1 6 — 524.97 527.29 527.63 535.72 536.11 0.34 0.39 8.42 8.47

n100 1 7 — 389.68 391.63 391.63 394.74 394.80 0.00 0.06 3.11 3.16

n100 1 8 — 428.47 431.43 431.50 437.39 437.40 0.07 0.00 5.96 5.90

n100 1 9 — 675.32 676.70 676.72 687.56 687.67 0.01 0.12 10.85 10.96

n100 1 10 — 625.11 626.80 626.83 639.36 639.47 0.03 0.12 12.56 12.64

n100 2 1 — 418.75 424.38 424.48 434.03 434.09 0.09 0.06 9.65 9.62

n100 2 2 — 454.00 457.44 457.45 469.96 470.28 0.01 0.31 12.53 12.83

n100 2 3 — 685.32 687.39 687.46 702.71 702.99 0.07 0.27 15.32 15.52

n100 2 4 — 560.98 565.97 566.05 575.19 575.42 0.09 0.23 9.22 9.36

n100 2 5 — 462.05 463.88 464.00 468.58 468.67 0.12 0.09 4.71 4.67

n100 2 6 — 432.19 434.04 434.09 441.44 441.71 0.05 0.27 7.39 7.62

n100 2 7 — 442.52 445.23 445.29 463.27 463.27 0.07 0.00 18.04 17.98

n100 2 8 — 498.92 501.71 501.77 518.47 518.47 0.07 0.00 16.76 16.70

n100 2 9 — 501.86 505.93 506.10 525.14 525.27 0.16 0.13 19.21 19.18

n100 2 10 — 509.69 511.52 511.63 522.51 522.51 0.10 0.00 10.99 10.89

n100 3 1 — 551.51 554.08 554.15 566.41 566.60 0.07 0.19 12.33 12.45

n100 3 2 — 480.45 483.12 483.15 494.72 494.81 0.03 0.10 11.59 11.66

n100 3 3 — 424.57 431.33 431.45 441.75 441.76 0.12 0.01 10.43 10.31

n100 3 4 — 488.67 490.49 490.56 496.55 496.91 0.08 0.36 6.06 6.35

n100 3 5 — 425.72 430.20 430.22 440.76 440.77 0.01 0.01 10.56 10.56

n100 3 6 — 528.71 531.25 531.27 550.34 550.73 0.02 0.39 19.09 19.45

n100 3 7 — 491.78 496.74 496.83 515.32 515.43 0.08 0.11 18.58 18.60

n100 3 8 — 448.24 450.89 450.97 467.65 467.70 0.08 0.05 16.76 16.73

n100 3 9 — 681.22 683.23 683.28 692.88 693.11 0.04 0.23 9.65 9.84

n100 3 10 — 463.79 469.06 469.07 477.97 477.97 0.01 0.00 8.91 8.90

n100 4 1 — 387.96 388.68 388.76 391.92 391.95 0.08 0.03 3.25 3.20

n100 4 2 — 389.07 392.19 392.19 397.01 397.02 0.00 0.01 4.82 4.83

n100 4 3 — 455.05 458.08 458.11 476.26 476.33 0.04 0.07 18.18 18.22

n100 4 4 — 417.31 419.17 419.26 425.49 425.50 0.09 0.01 6.32 6.24

n100 4 5 — 431.77 434.34 434.36 443.21 443.27 0.02 0.06 8.87 8.91

n100 4 6 — 454.11 458.57 458.59 468.13 468.13 0.02 0.00 9.56 9.54

n100 4 7 — 404.38 408.57 408.59 435.04 435.08 0.01 0.04 26.47 26.49

n100 4 8 — 435.73 437.89 437.89 452.32 452.54 0.00 0.22 14.43 14.65

n100 4 9 — 416.74 417.62 417.62 427.05 427.07 0.00 0.02 9.44 9.45

n100 4 10 — 455.67 457.89 457.92 465.33 465.36 0.04 0.03 7.44 7.43

n100 5 1 — 544.15 545.66 545.67 548.95 548.96 0.00 0.01 3.29 3.29

n100 5 2 — 422.07 424.69 424.78 438.25 438.25 0.09 0.01 13.55 13.47

n100 5 3 — 386.95 390.31 390.34 402.28 402.29 0.03 0.01 11.97 11.94

n100 5 4 — 441.84 443.20 443.22 450.57 450.60 0.01 0.03 7.37 7.38

n100 5 5 — 387.77 391.26 391.26 403.35 403.35 0.00 0.01 12.09 12.09

n100 5 6 — 486.59 488.76 488.81 504.48 504.59 0.05 0.10 15.72 15.78

n100 5 7 — 433.23 435.15 435.21 443.01 443.02 0.06 0.01 7.86 7.81

n100 5 8 — 390.28 392.34 392.52 398.60 398.64 0.19 0.04 6.27 6.12

n100 5 9 — 499.85 502.58 502.62 516.02 516.02 0.04 0.01 13.44 13.40

n100 5 10 — 455.81 460.65 460.70 468.57 468.89 0.05 0.32 7.92 8.19

n100 6 1 — 524.58 526.52 526.52 546.71 546.87 0.00 0.16 20.18 20.35

n100 6 2 — 413.76 416.61 416.68 427.04 427.07 0.07 0.03 10.43 10.39

n100 6 3 — 419.58 421.92 421.92 430.95 431.08 0.00 0.13 9.03 9.16

n100 6 4 — 559.91 561.61 561.63 580.13 580.35 0.02 0.22 18.53 18.72

n100 6 5 — 412.56 416.18 416.30 432.50 432.56 0.12 0.06 16.32 16.25

n100 6 6 — 386.60 388.80 388.85 397.83 397.93 0.05 0.09 9.03 9.08

n100 6 7 — 432.52 433.87 433.88 439.75 439.97 0.01 0.22 5.88 6.09

n100 6 8 — 408.36 412.37 412.46 424.06 424.31 0.09 0.24 11.69 11.85

n100 6 9 — 445.10 449.82 449.82 466.23 466.38 0.00 0.15 16.42 16.57

n100 6 10 — 367.92 370.60 370.60 376.39 376.40 0.00 0.00 5.79 5.80

Table H.4: Lower bounds from LP relaxations for Classes 16–21 (n100).

Page 378: New data generation and solution techniques for the

348 LP relaxation results tables

Class # OPT AP LP1 LP2 LP3 LP4 LP2-LP1 LP4-LP3 LP3-LP1 LP4-LP2

BKA 1 84 10 11.71 11.71 14.08 14.08 0 0 2.37 2.37

BKA 2 84 10 12.73 12.73 14.96 14.96 0 0 2.23 2.23

BKA 3 50 10 13.61 13.61 17.13 17.13 0 0 3.52 3.52

BKA 4 50 10 13.58 13.58 17.46 17.46 0 0 3.89 3.89

BKA 5 27 5 7.02 7.02 9.63 9.63 0 0 2.61 2.61

BKA 6 84 64 64.46 64.46 64.48 64.48 0 0 0.01 0.01

BKA 7 123 15 18.52 18.52 23.35 23.35 0 0 4.83 4.83

BKA 8 123 15 17.14 17.14 20.21 20.21 0 0 3.07 3.07

BKA 9 50 10 12.96 12.96 16.90 16.90 0 0 3.93 3.93

BKA 10 84 10 12.20 12.20 15.19 15.19 0 0 2.99 2.99

BKA 11 42 29 29.45 29.45 29.74 29.74 0 0 0.29 0.29

BKA 12 61 43 43.56 43.56 43.76 43.76 0 0 0.21 0.21

BKA 13 42 29 29.20 29.20 29.30 29.30 0 0 0.10 0.10

BKA 14 78 12 12.37 12.37 19.68 19.68 0 0 7.31 7.31

BKA 15 78 12 12.37 12.37 19.87 19.87 0 0 7.50 7.50

BKA 16 39 6 6.38 6.38 14.41 14.41 0 0 8.03 8.03

BKA 17 126 18 19.82 19.82 29.25 29.25 0 0 9.43 9.43

BKA 18 57 8 8.48 8.48 18.36 18.36 0 0 9.88 9.88

BKA 19 78 12 12.55 12.55 25.81 25.81 0 0 13.26 13.26

BKA 20 84 58 58.54 58.54 58.79 58.79 0 0 0.25 0.25

BKA 21 42 29 29.62 29.62 29.97 29.97 0 0 0.34 0.34

BKA 22 126 111 111.54 111.54 111.64 111.64 0 0 0.10 0.10

BKA 23 126 111 111.54 111.54 111.64 111.64 0 0 0.10 0.10

BKA 24 61 43 43.80 43.80 44.03 44.03 0 0 0.23 0.23

BKA 25 84 58 59.05 59.05 59.57 59.57 0 0 0.53 0.53

BKA 26 42 29 29.64 29.64 29.97 29.97 0 0 0.33 0.33

BKA 27 61 43 43.73 43.73 43.94 43.94 0 0 0.22 0.22

BKA 28 84 58 58.95 58.95 59.54 59.54 0 0 0.59 0.59

BKA 29 84 70 70.67 70.67 71.33 71.33 0 0 0.66 0.66

BKA 30 84 58 58.92 58.92 59.59 59.59 0 0 0.67 0.67

BKA 31 42 29 29.19 29.19 29.28 29.28 0 0 0.09 0.09

BKA 32 39 0 1.18 1.18 10.42 10.42 0 0 9.23 9.23

BKA 33 57 0 1.48 1.48 13.30 13.30 0 0 11.82 11.82

BKA 34 78 0 1.66 1.66 15.30 15.30 0 0 13.63 13.63

BKA 35 78 12 12.59 12.59 25.11 25.11 0 0 12.52 12.52

Table H.5: Lower bounds from LP relaxations for BKA instances.

Notation Description

Class Problem class

# Problem instance number

Presolve OFF Solution time when presolve is turned off

Presolve ON Solution time when presolve is turned on

AP LP relaxation time of the Assignment Problem

LP1 LP relaxation time of the MIP in Method 1 (MIP1 Ponly)

LP2 LP relaxation time of the MIP in Method 2 (MIP1 PrecAll)

LP3 LP relaxation time of the MIP in Method 3 (MIP2 Ponly)

LP4 LP relaxation time of the MIP in Method 4 (MIP2 PrecAll)

|NZ| Number of nonzero LP relaxation times, by method

Total time Total time spent performing LP relaxations, by method

Table H.6: Notation for LP relaxation times (all times are in seconds).

Page 379: New data generation and solution techniques for the

349

Presolve OFF Presolve ON

Class # AP LP1 LP2 LP3 LP4 AP LP1 LP2 LP3 LP4

n25 1 1 0 0 0.016 0.047 0.078 0 0 0 0 0

n25 1 2 0 0 0 0.047 0.047 0 0 0.016 0 0

n25 1 3 0 0 0 0.031 0.031 0 0 0 0 0

n25 1 4 0 0.016 0 0.047 0.047 0 0 0 0 0

n25 1 5 0 0 0 0.047 0.078 0 0 0 0.016 0

n25 1 6 0 0 0 0.031 0.078 0 0 0.016 0 0

n25 1 7 0.016 0 0 0.047 0.063 0 0 0 0 0

n25 1 8 0 0 0 0.047 0.063 0 0 0 0 0

n25 1 9 0 0.016 0.016 0.047 0.047 0 0 0 0 0

n25 1 10 0 0 0 0.047 0.078 0 0 0 0 0

n25 2 1 0 0 0.016 0.047 0.047 0 0 0 0 0

n25 2 2 0 0 0 0.031 0.047 0 0 0 0 0

n25 2 3 0 0 0 0.016 0.063 0 0 0 0 0

n25 2 4 0 0 0.016 0.031 0.047 0 0 0 0 0

n25 2 5 0 0 0 0.047 0.063 0 0 0 0 0

n25 2 6 0 0 0 0.047 0.047 0 0 0 0 0

n25 2 7 0 0 0 0.047 0.063 0 0 0 0 0

n25 2 8 0.016 0.016 0 0.047 0.078 0 0 0.016 0 0

n25 2 9 0 0 0.016 0.047 0.078 0 0 0 0 0

n25 2 10 0 0.016 0 0.031 0.047 0 0 0 0 0

n25 3 1 0 0.016 0 0.047 0.063 0 0 0 0 0

n25 3 2 0 0 0 0.031 0.047 0 0 0 0 0

n25 3 3 0 0 0 0.031 0.031 0 0 0 0 0.016

n25 3 4 0 0 0 0.031 0.047 0 0 0 0 0

n25 3 5 0 0 0.016 0.031 0.047 0 0 0 0 0

n25 3 6 0 0.016 0 0.031 0.047 0 0 0 0 0

n25 3 7 0 0.016 0 0.063 0.063 0 0 0 0 0

n25 3 8 0 0 0 0.047 0.063 0 0 0 0 0

n25 3 9 0.016 0 0.016 0.047 0.063 0 0 0 0 0

n25 3 10 0 0 0 0.047 0.063 0 0 0 0.016 0

n25 4 1 0 0 0 0.047 0.078 0 0 0 0 0

n25 4 2 0 0 0 0.016 0.031 0 0 0 0 0

n25 4 3 0 0.016 0 0.031 0.063 0 0 0 0 0

n25 4 4 0 0.016 0 0.031 0.063 0 0 0 0 0

n25 4 5 0 0.016 0 0.063 0.094 0 0 0 0 0

n25 4 6 0 0 0.016 0.047 0.063 0 0 0 0.016 0

n25 4 7 0 0.016 0.016 0.063 0.078 0 0 0 0 0

n25 4 8 0 0 0.016 0.031 0.063 0 0 0 0 0

n25 4 9 0 0.016 0 0.031 0.047 0 0 0 0 0.016

n25 4 10 0 0 0 0.047 0.047 0 0 0 0 0

n25 5 1 0 0 0 0.016 0.047 0 0 0 0 0

n25 5 2 0 0 0.016 0.031 0.063 0 0 0 0 0

n25 5 3 0 0 0 0.047 0.063 0 0 0 0 0

n25 5 4 0 0 0 0.047 0.047 0 0 0 0 0

n25 5 5 0 0 0 0.047 0.047 0 0 0 0 0

n25 5 6 0.016 0 0 0.031 0.047 0 0 0 0 0

n25 5 7 0 0 0 0.047 0.047 0 0 0.016 0 0

n25 5 8 0 0.016 0.016 0.047 0.063 0 0 0 0 0

n25 5 9 0 0 0 0.047 0.047 0 0 0 0 0

n25 5 10 0 0.016 0 0.031 0.047 0 0 0 0 0

n25 6 1 0 0 0.016 0.047 0.063 0 0 0 0 0

n25 6 2 0.016 0.016 0 0.047 0.063 0 0 0 0 0

n25 6 3 0 0 0.016 0.063 0.063 0 0 0 0 0

n25 6 4 0 0 0 0.063 0.078 0 0 0 0 0

n25 6 5 0 0 0 0.047 0.047 0 0 0 0 0

n25 6 6 0 0.016 0 0.047 0.078 0 0 0 0 0

n25 6 7 0 0 0 0.047 0.031 0 0 0 0 0

n25 6 8 0 0 0 0.031 0.047 0 0 0 0 0

n25 6 9 0 0 0 0.047 0.063 0 0 0 0 0

n25 6 10 0 0.016 0 0.047 0.078 0 0 0 0 0

Table H.7: LP relaxation times (seconds) for Classes 1–9 (n25).

Page 380: New data generation and solution techniques for the

350 LP relaxation results tables

Presolve OFF Presolve ON

Class # AP LP1 LP2 LP3 LP4 AP LP1 LP2 LP3 LP4

n25 7 1 0 0.016 0 0.047 0.063 0 0 0 0 0

n25 7 2 0.016 0 0 0.047 0.063 0 0 0 0 0

n25 7 3 0 0.016 0 0.063 0.078 0 0 0 0 0

n25 7 4 0 0.016 0 0.094 0.109 0 0 0 0 0

n25 7 5 0 0 0 0.063 0.063 0 0 0.016 0 0

n25 7 6 0 0.016 0 0.047 0.063 0 0 0 0 0

n25 7 7 0 0 0 0.063 0.047 0 0 0 0 0

n25 7 8 0 0 0 0.063 0.063 0 0 0 0 0

n25 7 9 0 0 0 0.063 0.063 0 0 0 0 0

n25 7 10 0 0.016 0.016 0.047 0.078 0 0 0 0 0

n25 8 1 0 0 0.016 0.031 0.078 0 0 0 0 0

n25 8 2 0 0.016 0 0.031 0.078 0 0 0 0 0

n25 8 3 0 0 0 0.031 0.078 0.016 0 0 0 0

n25 8 4 0 0.016 0.016 0.031 0.094 0 0 0 0 0

n25 8 5 0 0 0 0.031 0.063 0 0 0 0 0

n25 8 6 0 0 0 0.047 0.063 0 0 0 0 0

n25 8 7 0 0 0 0.031 0.063 0 0 0 0 0

n25 8 8 0 0 0 0.031 0.047 0 0 0 0 0

n25 8 9 0 0 0 0.063 0.094 0 0 0 0 0

n25 8 10 0 0.016 0 0.047 0.078 0 0 0 0 0

n25 9 1 0 0 0 0.078 0.094 0 0 0 0 0

n25 9 2 0.016 0 0 0.063 0.063 0 0 0 0 0

n25 9 3 0.016 0 0 0.063 0.063 0 0 0 0 0

n25 9 4 0 0.016 0 0.063 0.078 0 0 0 0 0

n25 9 5 0.016 0.016 0 0.078 0.063 0 0 0 0 0

n25 9 6 0 0 0 0.063 0.063 0 0 0 0 0

n25 9 7 0 0 0.016 0.063 0.063 0 0 0 0 0.016

n25 9 8 0 0 0 0.047 0.047 0.016 0 0 0 0

n25 9 9 0 0 0 0.047 0.063 0 0 0 0 0

n25 9 10 0 0 0 0.047 0.047 0 0 0 0 0

|NZ| 9 27 18 90 90 2 0 5 3 3

Total time 0.141 0.422 0.281 4.094 5.531 0.031 0 0.078 0.047 0.047

Table H.7: continued.

Page 381: New data generation and solution techniques for the

351

Presolve OFF Presolve ON

Class # AP LP1 LP2 LP3 LP4 AP LP1 LP2 LP3 LP4

n50 1 1 0 0.016 0.031 0.484 0.969 0 0 0 0 0

n50 1 2 0.016 0.016 0.031 0.500 0.953 0 0 0 0 0.016

n50 1 3 0.016 0.016 0.016 0.359 1.016 0 0 0 0 0

n50 1 4 0.016 0.016 0.031 0.344 1.188 0 0 0 0 0

n50 1 5 0 0.016 0.047 0.344 0.922 0 0.016 0 0 0.016

n50 1 6 0 0.016 0.031 0.422 0.984 0 0 0 0 0

n50 1 7 0.016 0.016 0.031 0.453 1.016 0 0.016 0 0 0

n50 1 8 0 0.016 0.031 0.484 1.078 0 0 0 0 0

n50 1 9 0 0.016 0.031 0.375 1.000 0 0 0 0 0

n50 1 10 0 0.016 0.016 0.375 0.797 0 0 0 0 0.016

n50 2 1 0.016 0.016 0.031 0.516 0.938 0 0 0 0 0

n50 2 2 0 0.031 0.031 0.563 1.203 0 0 0 0 0

n50 2 3 0 0.016 0.031 0.344 1.000 0 0 0 0 0

n50 2 4 0 0.016 0.047 0.531 1.000 0 0 0 0 0

n50 2 5 0 0.016 0.016 0.438 1.016 0 0 0 0 0

n50 2 6 0 0.016 0.016 0.375 0.844 0 0 0 0 0

n50 2 7 0.016 0.016 0.016 0.547 1.109 0 0 0 0 0

n50 2 8 0 0.016 0.031 0.391 0.953 0 0 0 0 0

n50 2 9 0 0 0.016 0.406 0.828 0 0.016 0 0 0

n50 2 10 0 0.016 0.016 0.359 1.172 0 0 0 0 0

n50 3 1 0 0.016 0.016 0.391 0.828 0 0 0 0 0

n50 3 2 0 0.016 0.016 0.438 1.078 0 0 0 0 0

n50 3 3 0 0.016 0.016 0.344 0.859 0 0 0 0 0

n50 3 4 0 0.016 0.016 0.500 1.000 0 0 0 0.016 0.016

n50 3 5 0 0.016 0.031 0.453 1.219 0 0 0 0.016 0

n50 3 6 0 0.016 0.031 0.453 0.828 0 0.016 0 0 0

n50 3 7 0.016 0.016 0.031 0.359 0.828 0 0 0 0 0

n50 3 8 0 0.016 0.016 0.625 1.000 0 0 0 0 0

n50 3 9 0 0.016 0.016 0.359 0.750 0 0 0 0 0

n50 3 10 0 0.016 0.047 0.453 0.797 0.016 0 0 0 0

n50 4 1 0.016 0.016 0.016 0.688 1.203 0 0 0 0 0

n50 4 2 0 0.016 0.031 0.563 1.031 0 0 0 0 0

n50 4 3 0 0.016 0.031 0.469 1.000 0 0 0 0 0.016

n50 4 4 0 0.016 0.031 0.484 0.891 0 0 0 0 0

n50 4 5 0 0.031 0.031 0.484 1.094 0 0 0 0.016 0.016

n50 4 6 0 0.016 0.031 0.578 1.156 0 0 0 0 0

n50 4 7 0 0.016 0.031 0.484 1.000 0 0 0 0 0.016

n50 4 8 0 0.016 0.016 0.500 0.875 0 0 0 0 0.016

n50 4 9 0 0.016 0.031 0.594 1.156 0 0 0 0 0

n50 4 10 0 0.016 0.031 0.594 1.016 0 0 0 0.016 0

n50 5 1 0 0.016 0.016 0.484 1.016 0 0 0.016 0 0

n50 5 2 0 0.016 0.031 0.547 0.875 0 0 0 0 0

n50 5 3 0.016 0.016 0.031 0.734 1.250 0 0 0 0 0.016

n50 5 4 0 0.016 0.031 0.547 1.313 0 0 0 0 0

n50 5 5 0.016 0.016 0.031 0.703 1.078 0 0 0 0 0

n50 5 6 0 0.016 0.016 0.484 0.828 0 0 0 0.016 0

n50 5 7 0 0.016 0.047 0.547 1.266 0 0 0 0 0

n50 5 8 0 0.016 0.016 0.453 1.000 0 0 0 0 0

n50 5 9 0 0.016 0.031 0.672 1.094 0.016 0 0 0 0.016

n50 5 10 0 0.016 0.016 0.563 1.031 0 0 0 0 0

n50 6 1 0 0.016 0.031 0.516 0.984 0 0 0 0 0

n50 6 2 0.016 0 0.016 0.500 1.000 0 0 0.016 0 0

n50 6 3 0 0.031 0.016 0.531 0.922 0 0 0 0 0

n50 6 4 0 0.031 0.016 0.672 1.219 0 0 0 0 0

n50 6 5 0 0 0.031 0.531 0.891 0 0 0 0.016 0

n50 6 6 0 0.016 0.031 0.453 0.938 0 0 0 0 0

n50 6 7 0 0.016 0.016 0.484 0.906 0 0 0 0 0

n50 6 8 0 0.031 0.031 0.578 1.000 0 0 0 0 0

n50 6 9 0 0.016 0.031 0.500 1.000 0 0 0 0 0

n50 6 10 0 0.016 0.016 0.484 0.672 0 0 0 0 0

|NZ| 11 57 60 60 60 2 4 2 6 10

Total time 0.172 0.969 1.563 29.406 59.875 0.031 0.063 0.031 0.094 0.156

Table H.8: LP relaxation times (seconds) for Classes 10–15 (n50).

Page 382: New data generation and solution techniques for the

352 LP relaxation results tables

Presolve OFF Presolve ON

Class # AP LP1 LP2 LP3 LP4 AP LP1 LP2 LP3 LP4

n100 1 1 0.016 0.078 0.266 3.000 14.422 0 0 0 0 0

n100 1 2 0 0.031 0.094 2.391 15.375 0 0 0 0 0.016

n100 1 3 0 0.047 0.125 2.156 12.109 0 0 0 0 0

n100 1 4 0 0.063 0.234 2.734 14.438 0 0 0 0 0

n100 1 5 0.016 0.078 0.156 2.359 13.297 0 0.016 0 0.016 0.016

n100 1 6 0 0.047 0.172 2.328 11.953 0 0 0 0 0.016

n100 1 7 0.016 0.031 0.063 1.906 8.688 0 0 0.016 0 0.016

n100 1 8 0 0.031 0.078 1.313 9.531 0 0.016 0.016 0 0

n100 1 9 0 0.109 0.313 2.859 12.391 0 0 0 0 0

n100 1 10 0.016 0.094 0.266 2.563 12.734 0 0.016 0.016 0.016 0

n100 2 1 0 0.031 0.078 2.234 14.563 0 0 0.016 0 0

n100 2 2 0.016 0.047 0.109 2.391 11.438 0 0 0 0 0

n100 2 3 0.016 0.063 0.188 3.109 14.719 0 0.016 0.016 0 0.016

n100 2 4 0.016 0.063 0.188 2.109 11.234 0 0 0 0 0

n100 2 5 0 0.063 0.109 1.766 10.313 0 0 0.016 0 0.016

n100 2 6 0 0.047 0.094 1.625 8.297 0 0 0 0 0.016

n100 2 7 0 0.047 0.141 2.984 13.766 0 0.016 0 0 0.016

n100 2 8 0 0.047 0.203 2.422 12.141 0 0.016 0 0.016 0.031

n100 2 9 0 0.078 0.234 2.953 14.344 0 0 0 0 0

n100 2 10 0.016 0.078 0.125 1.969 13.672 0 0 0 0 0.016

n100 3 1 0.016 0.063 0.203 2.719 10.375 0 0 0 0 0.016

n100 3 2 0 0.078 0.156 3.313 15.547 0 0 0 0 0.016

n100 3 3 0.016 0.016 0.094 1.578 10.859 0 0.016 0 0 0.016

n100 3 4 0 0.078 0.156 1.922 11.375 0 0 0 0 0

n100 3 5 0 0.016 0.094 2.125 11.453 0 0 0 0.016 0

n100 3 6 0 0.063 0.188 2.672 11.359 0 0.016 0 0 0.016

n100 3 7 0 0.047 0.188 2.406 12.656 0 0 0 0 0.016

n100 3 8 0 0.047 0.141 2.766 11.719 0 0 0 0.016 0

n100 3 9 0.016 0.047 0.203 2.172 12.313 0 0.016 0 0 0.016

n100 3 10 0 0.063 0.219 2.219 10.109 0.016 0 0 0 0.016

n100 4 1 0 0.031 0.063 2.844 12.813 0 0 0.016 0 0

n100 4 2 0.016 0.031 0.078 2.281 12.016 0 0 0 0.016 0

n100 4 3 0.016 0.094 0.125 3.656 17.359 0 0 0 0 0

n100 4 4 0 0.047 0.109 2.594 11.828 0 0 0 0 0

n100 4 5 0.016 0.063 0.125 3.109 15.625 0 0 0.016 0 0

n100 4 6 0.016 0.109 0.141 3.219 17.313 0 0 0 0.016 0.016

n100 4 7 0 0.125 0.125 4.891 21.953 0 0 0 0.016 0

n100 4 8 0 0.094 0.156 3.578 19.516 0 0 0 0.016 0.016

n100 4 9 0.016 0.078 0.125 3.813 19.063 0 0.016 0 0.016 0.016

n100 4 10 0 0.078 0.188 3.094 16.234 0 0 0.016 0.016 0

n100 5 1 0.016 0.078 0.141 2.781 16.516 0 0 0 0 0.016

n100 5 2 0.016 0.078 0.078 3.031 14.484 0 0 0 0.016 0.016

n100 5 3 0 0.063 0.125 3.328 11.703 0 0 0.016 0 0.016

n100 5 4 0.016 0.063 0.109 2.797 13.406 0 0 0 0 0.016

n100 5 5 0 0.063 0.141 3.078 15.172 0 0 0.016 0.016 0.016

n100 5 6 0 0.125 0.234 4.656 18.063 0 0 0 0.016 0.016

n100 5 7 0.016 0.094 0.141 2.719 14.469 0 0 0 0.016 0

n100 5 8 0.016 0.047 0.094 2.781 11.313 0 0 0 0 0

n100 5 9 0.016 0.078 0.172 3.734 17.625 0 0 0 0.016 0.016

n100 5 10 0 0.047 0.188 2.516 12.750 0 0 0 0 0

n100 6 1 0.016 0.063 0.094 4.047 15.641 0 0.016 0 0 0.016

n100 6 2 0 0.078 0.094 3.438 14.719 0 0 0.016 0 0.016

n100 6 3 0 0.094 0.203 3.422 14.813 0 0.016 0 0.016 0.016

n100 6 4 0 0.141 0.125 3.984 18.047 0 0 0 0 0.016

n100 6 5 0 0.047 0.109 3.938 16.266 0 0 0.016 0.016 0.016

n100 6 6 0 0.047 0.063 2.844 12.125 0 0 0 0 0.016

n100 6 7 0.016 0.047 0.078 3.516 12.266 0 0 0 0 0.016

n100 6 8 0 0.047 0.125 3.328 13.094 0 0 0 0.016 0

n100 6 9 0.016 0.078 0.109 3.672 13.703 0 0 0 0 0.016

n100 6 10 0 0.078 0.188 2.797 13.328 0 0 0.016 0.016 0.016

|NZ| 25 60 60 60 60 1 12 14 20 36

Total time 0.391 3.891 8.719 170.547 820.406 0.016 0.188 0.219 0.313 0.578

Table H.9: LP relaxation times (seconds) for Classes 16–21 (n100).

Page 383: New data generation and solution techniques for the

353

Presolve OFF Presolve ON

Class # AP LP1 LP2 LP3 LP4 AP LP1 LP2 LP3 LP4

BKA 1 0 0 0 0 0 0 0 0 0 0

BKA 2 0 0 0 0.016 0.016 0 0 0 0 0

BKA 3 0 0 0 0.016 0.016 0 0 0 0 0

BKA 4 0 0 0 0.016 0.016 0 0 0 0 0

BKA 5 0 0 0 0.016 0.016 0 0 0 0 0

BKA 6 0 0 0 0.016 0.016 0 0 0 0 0

BKA 7 0 0 0 0 0 0 0 0 0 0

BKA 8 0 0 0 0 0 0 0 0 0 0

BKA 9 0 0.016 0.016 0.016 0.016 0 0 0 0 0

BKA 10 0 0 0 0 0 0 0 0 0 0

BKA 11 0 0 0 0.016 0.016 0 0 0 0 0

BKA 12 0 0 0 0.016 0.016 0 0 0 0 0

BKA 13 0 0 0 0.016 0.016 0 0 0 0 0

BKA 14 0 0 0 0.031 0.031 0 0 0 0 0

BKA 15 0 0 0 0.031 0.031 0 0 0 0 0

BKA 16 0 0 0 0.016 0.016 0 0 0 0 0

BKA 17 0 0 0 0 0 0 0 0 0 0

BKA 18 0 0 0 0.016 0.016 0 0 0 0 0

BKA 19 0 0 0 0.016 0.016 0 0 0 0 0

BKA 20 0 0 0 0.016 0.016 0 0 0 0 0

BKA 21 0 0 0 0.016 0.016 0 0 0 0 0

BKA 22 0 0 0 0.016 0.016 0 0 0 0 0

BKA 23 0 0 0 0.016 0.016 0 0 0 0 0

BKA 24 0 0 0 0.016 0.016 0 0 0 0 0

BKA 25 0 0.016 0.016 0.016 0.016 0 0 0 0 0

BKA 26 0 0 0 0.016 0.016 0 0 0 0.016 0.016

BKA 27 0 0 0 0.016 0.016 0 0 0 0 0

BKA 28 0 0 0 0.016 0.016 0 0 0 0 0

BKA 29 0 0 0 0.016 0.016 0 0 0 0 0

BKA 30 0 0 0 0.016 0.016 0 0 0 0 0

BKA 31 0 0 0 0.016 0.016 0 0 0 0 0

BKA 32 0 0 0 0.016 0.016 0 0 0 0 0

BKA 33 0 0 0 0.016 0.016 0 0 0 0 0

BKA 34 0 0 0 0.031 0.031 0 0 0 0 0

BKA 35 0 0 0 0.016 0.016 0 0 0 0 0

|NZ| 0 2 2 30 30 0 0 0 1 1

Total time 0 0.031 0.031 0.516 0.516 0 0 0 0.016 0.016

Table H.10: LP relaxation times (seconds) for BKA instances.

Page 384: New data generation and solution techniques for the

354 LP relaxation results tables

Page 385: New data generation and solution techniques for the

Appendix I

Additional results of theheuristics experiments

This appendix contains additional results pertaining to the heuristic meth-

ods. They are included here for completeness and to support some of the

comments made in Section 6.

Referenced in §5.4.3, the box plots in Figure I.1 show the spread of ρ values

for each of the data classes described in Sections 3.5 and 3.6, as well as the

BKA instances, here denoted as Class 0.

● ●●●●

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Figure I.1: Box plot of catalyst ratio ρ values by data class.

The raw summary statistics which underpin each of the box plots in Fig-

ures 6.2–6.8 (pages 164–171) is given in Tables I.2–I.9, while the notation

describing the column headings is given in Table I.1. Note, table rows cor-

responding to empty box plots (methods where no feasible solutions were

found for any problem instance in the data group) are omitted.

355

Page 386: New data generation and solution techniques for the

356 Additional results of the heuristics experiments

Notation DescriptionGroup Data group nameMethod Heuristic method name# Number of values (results)min Minimum valueq1 First quartile (value in position 1 + 0.25(#− 1))median Median of the values (value in position 1 + 0.5(#− 1))mean Mean of the values (sum of the values divided by #)q3 Third quartile (value in position 1 + 0.75(#− 1))max Maximum valuesd Standard deviation of the values

Table I.1: Notation for heuristic results summary tables.

Figures I.2–I.3 show the box plots of the number of solutions found by each

heuristic for each data group; they extend Figures 6.2–6.3 by the addition

of the H0 box plots, which dwarfs the other box plots for BKA, n25 and

n50.

Page 387: New data generation and solution techniques for the

357

● ●●

●● ●●

● ●●●●

H0 ( 35 )

H1_1 ( 35 )

H1_2 ( 35 )

H1_3 ( 35 )

H1_4 ( 35 )

H1_5 ( 35 )

H1_6 ( 35 )

H2_1 ( 0 )

H2_2 ( 0 )

H2_3 ( 0 )

H2_4 ( 0 )

H2_5 ( 0 )

H2_6 ( 0 )

H3_1 ( 35 )

H3_2 ( 35 )

H3_3 ( 35 )

H3_4 ( 35 )

H3_5 ( 35 )

H3_6 ( 35 )

H4_1 ( 0 )

H4_2 ( 0 )

H4_3 ( 0 )

H4_4 ( 0 )

H4_5 ( 0 )

H4_6 ( 0 )

0 10000 20000 30000 40000

(a) BKA (35 instances).

●●

●●● ●●●

●●●

●●●

●●●●●

●●●

●●●

●●● ●●●●

H0 ( 90 )

H1_1 ( 90 )

H1_2 ( 90 )

H1_3 ( 90 )

H1_4 ( 90 )

H1_5 ( 90 )

H1_6 ( 90 )

H2_1 ( 90 )

H2_2 ( 89 )

H2_3 ( 90 )

H2_4 ( 90 )

H2_5 ( 90 )

H2_6 ( 90 )

H3_1 ( 70 )

H3_2 ( 68 )

H3_3 ( 84 )

H3_4 ( 89 )

H3_5 ( 90 )

H3_6 ( 90 )

H4_1 ( 68 )

H4_2 ( 69 )

H4_3 ( 85 )

H4_4 ( 90 )

H4_5 ( 90 )

H4_6 ( 90 )

0 10000 20000 30000 40000 50000

(b) n = 25 (90 instances).

●●

●●

●●●

H0 ( 60 )

H1_1 ( 0 )

H1_2 ( 0 )

H1_3 ( 12 )

H1_4 ( 44 )

H1_5 ( 39 )

H1_6 ( 24 )

H2_1 ( 2 )

H2_2 ( 1 )

H2_3 ( 12 )

H2_4 ( 43 )

H2_5 ( 35 )

H2_6 ( 22 )

H3_1 ( 0 )

H3_2 ( 0 )

H3_3 ( 1 )

H3_4 ( 17 )

H3_5 ( 19 )

H3_6 ( 14 )

H4_1 ( 1 )

H4_2 ( 0 )

H4_3 ( 1 )

H4_4 ( 11 )

H4_5 ( 10 )

H4_6 ( 14 )

0 5000 10000 15000

(c) n = 50 (60 instances).

H0 ( 0 )

H1_1 ( 0 )

H1_2 ( 0 )

H1_3 ( 0 )

H1_4 ( 5 )

H1_5 ( 0 )

H1_6 ( 0 )

H2_1 ( 0 )

H2_2 ( 0 )

H2_3 ( 0 )

H2_4 ( 6 )

H2_5 ( 0 )

H2_6 ( 1 )

H3_1 ( 0 )

H3_2 ( 0 )

H3_3 ( 0 )

H3_4 ( 1 )

H3_5 ( 0 )

H3_6 ( 0 )

H4_1 ( 0 )

H4_2 ( 0 )

H4_3 ( 0 )

H4_4 ( 0 )

H4_5 ( 0 )

H4_6 ( 0 )

5 10 15 20 25

(d) n = 100 (60 instances).

Figure I.2: Box plots of “number of solutions found” (i) for each heuristic.

Page 388: New data generation and solution techniques for the

358 Additional results of the heuristics experiments

● ●●

●● ●●

● ●●●●

H0 ( 35 )

H1_1 ( 35 )

H1_2 ( 35 )

H1_3 ( 35 )

H1_4 ( 35 )

H1_5 ( 35 )

H1_6 ( 35 )

H2_1 ( 0 )

H2_2 ( 0 )

H2_3 ( 0 )

H2_4 ( 0 )

H2_5 ( 0 )

H2_6 ( 0 )

H3_1 ( 35 )

H3_2 ( 35 )

H3_3 ( 35 )

H3_4 ( 35 )

H3_5 ( 35 )

H3_6 ( 35 )

H4_1 ( 0 )

H4_2 ( 0 )

H4_3 ( 0 )

H4_4 ( 0 )

H4_5 ( 0 )

H4_6 ( 0 )

0 10000 20000 30000 40000

(a) BKA (35 instances).

●●

●●● ●●●

●●●

●●● ●

●●●● ●●● ●●●

●●●

●●● ●●●●

H0 ( 90 )

H1_1 ( 90 )

H1_2 ( 90 )

H1_3 ( 90 )

H1_4 ( 90 )

H1_5 ( 90 )

H1_6 ( 90 )

H2_1 ( 90 )

H2_2 ( 90 )

H2_3 ( 90 )

H2_4 ( 90 )

H2_5 ( 90 )

H2_6 ( 90 )

H3_1 ( 90 )

H3_2 ( 90 )

H3_3 ( 90 )

H3_4 ( 90 )

H3_5 ( 90 )

H3_6 ( 90 )

H4_1 ( 90 )

H4_2 ( 90 )

H4_3 ( 90 )

H4_4 ( 90 )

H4_5 ( 90 )

H4_6 ( 90 )

0 10000 20000 30000 40000 50000

(b) n = 25 (90 instances).● ●● ●● ●●● ● ●●●

● ●●

● ● ●●● ●● ● ●● ● ●●

● ●●● ●●●● ●●●●●●

●● ●● ●● ●●● ●●● ●●●

●●● ●● ●●● ●●● ●

●● ●● ●●● ●●●●●●● ●● ●● ●●● ●●●

H0 ( 60 )

H1_1 ( 60 )

H1_2 ( 60 )

H1_3 ( 60 )

H1_4 ( 60 )

H1_5 ( 60 )

H1_6 ( 60 )

H2_1 ( 60 )

H2_2 ( 60 )

H2_3 ( 60 )

H2_4 ( 60 )

H2_5 ( 60 )

H2_6 ( 60 )

H3_1 ( 60 )

H3_2 ( 60 )

H3_3 ( 60 )

H3_4 ( 60 )

H3_5 ( 60 )

H3_6 ( 60 )

H4_1 ( 60 )

H4_2 ( 60 )

H4_3 ( 60 )

H4_4 ( 60 )

H4_5 ( 60 )

H4_6 ( 60 )

0 5000 10000 15000

(c) n = 50 (60 instances).

●● ● ● ●

●●● ●●●

●●

H0 ( 60 )

H1_1 ( 60 )

H1_2 ( 60 )

H1_3 ( 60 )

H1_4 ( 60 )

H1_5 ( 60 )

H1_6 ( 60 )

H2_1 ( 60 )

H2_2 ( 60 )

H2_3 ( 60 )

H2_4 ( 60 )

H2_5 ( 60 )

H2_6 ( 60 )

H3_1 ( 60 )

H3_2 ( 60 )

H3_3 ( 60 )

H3_4 ( 60 )

H3_5 ( 60 )

H3_6 ( 60 )

H4_1 ( 60 )

H4_2 ( 60 )

H4_3 ( 60 )

H4_4 ( 60 )

H4_5 ( 60 )

H4_6 ( 60 )

0 5 10 15 20 25

(d) n = 100 (60 instances).

Figure I.3: Box plots of “number of solutions found” (ii) for each heuristic.

Page 389: New data generation and solution techniques for the

359

Group Method # min q1 median mean q3 max sd

BKA H0 35 14879 36496.5 39542 37552.7 40431.5 43413 5294.0H1 1 35 1 2 4 3.9 5 11 2.1H1 2 35 2 10 13 13.3 16.5 24 5.4H1 3 35 3 7.5 11 11.2 15 23 4.9H1 4 35 2 9 11 10.8 13 24 4.5H1 5 35 4 11 13 13.5 15.5 27 4.7H1 6 35 2 10.5 14 13.4 16 26 4.6H3 1 35 1 3 5 4.8 6 10 2.3H3 2 35 2 10.5 14 13.7 17.5 22 4.8H3 3 35 3 7 11 10.7 12 23 4.1H3 4 35 4 7 10 9.6 12 15 3.2H3 5 35 1 6 9 8.7 11 16 3.4H3 6 35 1 6 9 9.1 12 17 3.4

n25 H0 90 35556 43141 44991 44750.8 46813.5 49950 2741.4H1 1 90 1 7 10 10.3 13 23 4.6H1 2 90 2 8 10 10.9 14 26 4.8H1 3 90 2 7 11 10.7 13 23 4.4H1 4 90 1 10 13 13.3 16 22 4.3H1 5 90 5 12 15 15 18 25 4.6H1 6 90 4 12.3 16.5 16.2 18 30 5.2H2 1 90 2 7 10 10.3 13.8 22 4.8H2 2 89 2 6 9 9.3 12 22 4.2H2 3 90 2 8 11 10.7 13 28 4.2H2 4 90 4 10 13 13.2 15.8 25 4.5H2 5 90 6 12 15 15.2 18 27 4.9H2 6 90 5 13 16 16.4 20 29 5.1H3 1 70 1 3 4 4.8 6 17 2.7H3 2 68 1 3.8 5 5.4 7 13 2.6H3 3 84 1 4 6 6.3 8 12 2.8H3 4 89 2 6 9 8.8 11 18 3.3H3 5 90 4 7 9 9.9 12 24 3.9H3 6 90 3 8 10 10 11.8 19 3.7H4 1 68 1 3 4 4.1 5 9 1.9H4 2 69 1 3 4 4.4 6 9 2.3H4 3 85 2 5 6 6.4 8 14 2.4H4 4 90 2 6 7 8.2 10 17 3.3H4 5 90 3 7 8 8.8 11 21 3.3H4 6 90 3 8 9 9.7 11 18 3.1

n50 H0 60 439 1946 3410.5 4905.6 7610.5 15157 3725.2H1 3 12 4 10.8 13.5 16.3 20 32 8.6H1 4 44 6 12 18.5 18.1 21.3 41 6.8H1 5 39 4 12.5 16 17.4 21 34 7.0H1 6 24 8 15 18 19 22.3 34 6.0H2 1 2 10 10.3 10.5 10.5 10.8 11 0.7H2 2 1 12 12 12 12 12 12 NAH2 3 12 6 10.8 11.5 13.9 20 21 5.3H2 4 43 9 14 19 19.2 23 31 6.3H2 5 35 4 12.5 19 18.3 23 36 7.2H2 6 22 11 16 18.5 19.5 21.8 33 5.0H3 3 1 3 3 3 3 3 3 NAH3 4 17 1 3 4 4.8 7 10 2.7H3 5 19 1 3.5 6 5.5 7 11 2.6H3 6 14 1 4.3 5 6.2 8.5 15 4.2H4 1 1 2 2 2 2 2 2 NAH4 3 1 4 4 4 4 4 4 NAH4 4 11 1 2.5 5 4.2 5 9 2.3H4 5 10 1 3 3 3.5 3.8 8 1.8H4 6 14 1 2.3 4 3.6 5 6 1.6

n100 H1 4 5 13 13 14 17 20 25 5.3H2 4 6 4 5.5 9 11.5 14.8 26 8.4H2 6 1 2 2 2 2 2 2 NAH3 4 1 2 2 2 2 2 2 NA

Table I.2: Summary statistics for measure NUMSOLN (i) and (iii).

Page 390: New data generation and solution techniques for the

360 Additional results of the heuristics experiments

Group Method # min q1 median mean q3 max sd

BKA H0 35 14879 36496.5 39542 37552.7 40431.5 43413 5294.0H1 1 35 1 2 4 3.9 5 11 2.1H1 2 35 2 10 13 13.3 16.5 24 5.4H1 3 35 3 7.5 11 11.2 15 23 4.9H1 4 35 2 9 11 10.8 13 24 4.5H1 5 35 4 11 13 13.5 15.5 27 4.7H1 6 35 2 10.5 14 13.4 16 26 4.6H3 1 35 1 3 5 4.8 6 10 2.3H3 2 35 2 10.5 14 13.7 17.5 22 4.8H3 3 35 3 7 11 10.7 12 23 4.1H3 4 35 4 7 10 9.6 12 15 3.2H3 5 35 1 6 9 8.7 11 16 3.4H3 6 35 1 6 9 9.1 12 17 3.4

n25 H0 90 35556 43141 44991 44750.8 46813.5 49950 2741.4H1 1 90 1 7 10 10.3 13 23 4.6H1 2 90 2 8 10 10.9 14 26 4.8H1 3 90 2 7 11 10.7 13 23 4.4H1 4 90 1 10 13 13.3 16 22 4.3H1 5 90 5 12 15 15 18 25 4.6H1 6 90 4 12.3 16.5 16.2 18 30 5.2H2 1 90 2 7 10 10.3 13.8 22 4.8H2 2 90 0 6 9 9.2 12 22 4.3H2 3 90 2 8 11 10.7 13 28 4.2H2 4 90 4 10 13 13.2 15.8 25 4.5H2 5 90 6 12 15 15.2 18 27 4.9H2 6 90 5 13 16 16.4 20 29 5.1H3 1 90 0 1 4 3.7 5 17 3.1H3 2 90 0 1 4 4.0 6 13 3.3H3 3 90 0 4 6 5.9 8 12 3.1H3 4 90 0 6 9 8.7 11 18 3.4H3 5 90 4 7 9 9.9 12 24 3.9H3 6 90 3 8 10 10 11.8 19 3.7H4 1 90 0 1 3 3.1 5 9 2.4H4 2 90 0 1 3 3.4 5 9 2.8H4 3 90 0 5 6 6.0 7.8 14 2.7H4 4 90 2 6 7 8.2 10 17 3.3H4 5 90 3 7 8 8.8 11 21 3.3H4 6 90 3 8 9 9.7 11 18 3.1

n50 H0 60 439 1946 3410.5 4905.6 7610.5 15157 3725.2H1 3 60 0 0 0 3.3 0 32 7.6H1 4 60 0 0 14 13.3 21 41 10.0H1 5 60 0 0 12 11.3 18.3 34 10.1H1 6 60 0 0 0 7.6 16.3 34 10.1H2 1 60 0 0 0 0.4 0 11 1.9H2 2 60 0 0 0 0.2 0 12 1.5H2 3 60 0 0 0 2.8 0 21 6.1H2 4 60 0 0 15 13.8 21.3 31 10.2H2 5 60 0 0 10.5 10.7 20.3 36 10.6H2 6 60 0 0 0 7.1 16.3 33 9.9H3 3 60 0 0 0 0.1 0 3 0.4H3 4 60 0 0 0 1.4 1.3 10 2.6H3 5 60 0 0 0 1.7 3 11 2.9H3 6 60 0 0 0 1.5 0 15 3.3H4 1 60 0 0 0 0.0 0 2 0.3H4 3 60 0 0 0 0.1 0 4 0.5H4 4 60 0 0 0 0.8 0 9 1.9H4 5 60 0 0 0 0.6 0 8 1.5H4 6 60 0 0 0 0.8 0 6 1.7

n100 H1 4 60 0 0 0 1.4 0 25 4.9H2 4 60 0 0 0 1.2 0 26 4.2H2 6 60 0 0 0 0.0 0 2 0.3H3 4 60 0 0 0 0.0 0 2 0.3

Table I.3: Summary statistics for measure NUMSOLN (ii) and (iv).

Page 391: New data generation and solution techniques for the

361

Group Method # min q1 median mean q3 max sd

BKA H0 35 0 0 0 0 0 0 0H1 1 35 0 0.0 0.0 0.0 0.1 0.3 0.1H1 2 35 0 0.0 0.0 0.0 0.1 0.1 0.0H1 3 35 0 0.0 0.0 0.0 0.1 0.1 0.0H1 4 35 0 0.0 0.0 0.0 0.0 0.5 0.1H1 5 35 0 0.0 0.0 0.2 0.0 5.9 1.0H1 6 35 0 0.0 0.0 0.0 0.0 0.1 0.0H3 1 35 0 0.1 0.2 0.2 0.2 0.8 0.2H3 2 35 0 0.3 0.3 0.6 0.4 7.9 1.3H3 3 35 0 0.3 0.3 0.8 0.6 9.3 1.6H3 4 35 0.1 0.2 0.4 0.4 0.4 1.2 0.2H3 5 35 0 0.1 0.4 0.4 0.5 1.5 0.4H3 6 35 0 0.1 0.1 0.5 0.4 6.2 1.0

n25 H0 90 0 0 0 0.0 0 0.0 0.0H1 1 90 0 0.2 0.5 2.3 2.4 33.3 4.9H1 2 90 0 0.2 0.5 2.5 3.0 21.2 4.3H1 3 90 0 0.1 0.2 1.2 0.5 18.7 2.5H1 4 90 0 0.1 0.2 0.7 0.4 6.1 1.5H1 5 90 0 0.1 0.3 1.0 0.7 12.8 2.0H1 6 90 0 0.1 0.3 1.2 0.6 14.7 2.7H2 1 90 0 0.2 0.6 3.8 3.9 33.5 6.9H2 2 89 0 0.2 0.4 3.1 3.2 44.6 6.9H2 3 90 0 0.1 0.2 1.0 0.5 14.4 2.2H2 4 90 0 0.1 0.3 0.7 0.6 5.8 1.3H2 5 90 0 0.1 0.3 1.0 0.6 13.7 2.3H2 6 90 0 0.2 0.3 1.0 0.6 14.8 2.7H3 1 70 0 2.0 5.3 16.3 27.1 58.8 19.2H3 2 68 0 2.1 8.2 14.0 22.2 59.0 15.0H3 3 84 0 1.8 4.6 9.6 13.8 46.5 11.2H3 4 89 0 0.2 0.3 1.6 1.8 42.2 4.7H3 5 90 0 0.2 0.3 1.5 0.7 24.3 3.3H3 6 90 0 0.2 0.3 0.9 0.7 8.9 1.6H4 1 68 0 1.9 4.2 11.5 21.7 57.2 15.1H4 2 69 0 3.2 12.2 18.1 30.5 59.1 17.4H4 3 85 0 1.5 3.3 8.8 10.3 54.3 12.3H4 4 90 0 0.3 0.4 2.7 3.4 20.5 4.2H4 5 90 0 0.3 0.3 1.7 0.7 17.7 3.5H4 6 90 0 0.3 0.4 1.7 0.8 20.0 3.2

n50 H0 60 0 0.0 0.0 0.1 0.1 0.4 0.1H1 3 12 16.6 24.0 36.4 46.5 64.1 104.3 29.3H1 4 44 0 16.0 23.1 39.6 52.1 151.3 40.3H1 5 39 1.2 23.3 46.6 53.3 72.7 149.9 37.9H1 6 24 2.9 29.9 40.3 50.7 56.1 149.4 37.0H2 1 2 0.9 42.5 84.1 84.1 125.7 167.3 117.7H2 2 1 176.7 176.7 176.7 176.7 176.7 176.7 NAH2 3 12 0 9.0 35.8 65.2 124.3 170.6 63.5H2 4 43 0.2 19.6 29.1 38.5 48.1 138.7 30.6H2 5 35 10.8 23.7 41.5 53.7 78.9 133.4 35.1H2 6 22 15.4 26.0 43.4 59.8 82.9 132.4 39.5H3 3 1 19.5 19.5 19.5 19.5 19.5 19.5 NAH3 4 17 0 6.9 28.8 60.3 130.6 180.0 64.5H3 5 19 0 5.3 8.9 47.6 80.4 169.8 57.8H3 6 14 0 25.4 57.7 67.7 113.8 160.1 53.9H4 1 1 20.9 20.9 20.9 20.9 20.9 20.9 NAH4 3 1 63.5 63.5 63.5 63.5 63.5 63.5 NAH4 4 11 2.3 2.8 18.7 43.4 65.2 156.0 49.3H4 5 10 0 2.6 14.9 39.4 60.5 146.4 51.7H4 6 14 0 2.5 21.6 44.8 63.7 160.0 54.7

n100 H1 4 5 5.3 36.4 57.6 81.2 72.8 234.1 89.1H2 4 6 57.4 110.0 223.6 196.8 286.0 297.4 106.6H2 6 1 292.6 292.6 292.6 292.6 292.6 292.6 NAH3 4 1 233.3 233.3 233.3 233.3 233.3 233.3 NA

Table I.4: Summary statistics for measure FIRSTTIME.

Page 392: New data generation and solution techniques for the

362 Additional results of the heuristics experiments

Group Method # min q1 median mean q3 max sd

BKA H0 35 0 0 0 0.0 0 0.1 0.0H1 1 35 0.0 0.1 0.1 0.4 0.3 2.6 0.6H1 2 35 0 0.1 0.1 0.5 0.2 8.7 1.5H1 3 35 0 0.0 0.1 0.8 1.2 6.4 1.4H1 4 35 0.0 0.1 0.3 3.7 3.0 54.2 9.6H1 5 35 0.0 2.0 5.7 13.2 12.3 59.7 19.2H1 6 35 0.0 1.7 3.7 9.2 12.8 57.5 13.5H3 1 35 0 0.6 1.8 8.7 9.7 58.7 13.6H3 2 35 0 1.2 5.3 9.5 12.1 54.2 12.0H3 3 35 0.1 0.9 4.8 10.3 11.5 55.2 14.9H3 4 35 0.1 0.5 1.0 7.6 6.5 59.8 14.2H3 5 35 0 0.4 2.3 10.5 11.6 58.3 16.4H3 6 35 0.1 0.2 1.8 15.3 25.5 58.2 21.6

n25 H0 90 0.0 5.4 18.2 19.9 32.6 56.9 16.4H1 1 90 0.6 12.6 27.2 28.8 44.1 60.0 18.9H1 2 90 0.8 13.4 32.0 32.8 55.2 59.8 20.4H1 3 90 0.1 17.5 25.8 30.9 49.6 60.0 18.9H1 4 90 0.1 20.7 32.0 36.3 55 60.0 16.8H1 5 90 7.2 27.4 54.8 44.5 57.8 60.0 16.6H1 6 90 0.1 30.6 55.2 45.6 57.3 60.0 15.4H2 1 90 0.1 11.9 26.6 29.9 47.9 59.7 19.5H2 2 89 2.8 11.4 27.7 29.3 49.6 60.0 19.9H2 3 90 0.1 18.6 30.6 33.6 55.0 60.0 18.5H2 4 90 6.8 21.9 34.1 37.3 55.6 60.0 18.1H2 5 90 0.1 28.3 49.4 42.8 57.1 60.0 16.0H2 6 90 11.0 28.2 53.8 43.7 57.8 60.0 15.8H3 1 70 2.3 26.1 47.6 41.5 57.2 60.0 17.5H3 2 68 2.9 29.7 47.3 41.1 56.1 59.9 17.5H3 3 84 0 17.7 45.4 38.0 55.8 60.0 20.0H3 4 89 0 25.5 49.9 40.0 56.5 60.1 19.6H3 5 90 1.0 30.6 54.8 44.2 57.2 60.0 17.8H3 6 90 4.0 30.4 50.4 42.8 56.9 60.0 16.6H4 1 68 3.3 26.5 50.5 42.1 57.3 60.0 18.1H4 2 69 3.8 29.7 50.8 42.0 56.5 59.8 17.8H4 3 85 0.3 24.6 47.4 40.7 56.9 59.9 18.4H4 4 90 0.4 25.0 45.8 40.4 56.9 60.0 18.9H4 5 90 2.3 26.9 45.5 41.2 56.6 60.0 17.2H4 6 90 4.2 29.7 46.2 42.9 57.0 59.9 15.9

n50 H0 60 3.3 45.7 82.4 92.2 133.6 179.6 51.8H1 3 12 82.1 129.4 166.4 147.6 171.7 180.0 35.5H1 4 44 2.3 118.9 162.2 140.1 175.2 180.2 46.1H1 5 39 37.9 131.8 163.9 146.1 174.2 180.1 37.5H1 6 24 0 96.6 155.9 134.5 173.3 180.1 48.3H2 1 2 172.8 174.6 176.4 176.4 178.2 180.0 5.1H2 2 1 180.0 180.0 180.0 180.0 180.0 180.0 NAH2 3 12 46.8 144.0 170.9 153.2 177.3 180.3 40.3H2 4 43 31.0 132.8 163.9 148.3 176.6 180.1 38.4H2 5 35 63.9 131.5 164.9 147.4 171.3 179.9 36.7H2 6 22 82.3 140.0 167.3 151.7 176.3 179.9 32.0H3 3 1 49.0 49.0 49.0 49.0 49.0 49.0 NAH3 4 17 6.3 132.7 173.0 140.5 176.1 180.0 58.8H3 5 19 86.8 161.5 166.7 158.7 172.8 180.0 26.4H3 6 14 0 129.7 158.4 141.0 169.0 179.8 47.3H4 1 1 74.4 74.4 74.4 74.4 74.4 74.4 NAH4 3 1 135.1 135.1 135.1 135.1 135.1 135.1 NAH4 4 11 33.0 105.0 153.6 132.1 166.4 180 49.9H4 5 10 25.1 52.0 84.3 104.2 166.6 180.1 61.6H4 6 14 14.8 131.2 153.1 136.2 167.6 178.3 50.0

n100 H1 4 5 0 126.7 148.3 168.2 272.9 293.3 119.4H2 4 6 212.9 289.1 296.1 282.1 299.6 300.0 34.3H2 6 1 300.0 300.0 300.0 300.0 300.0 300.0 NAH3 4 1 295.0 295.0 295.0 295.0 295.0 295.0 NA

Table I.5: Summary statistics for measure BESTTIME.

Page 393: New data generation and solution techniques for the

363

Group Method # min q1 median mean q3 max sd

BKA H0 35 39 57 78 78.7 94 156 32.1H1 1 35 41 76 111 144.7 205 304 83.5H1 2 35 30 73 107 136.8 175.5 386 93.8H1 3 35 30 81 106 126.9 154 346 72.7H1 4 35 53 88 112 128.1 155 270 59.0H1 5 35 53 79 122 136.2 177 369 75.0H1 6 35 53 85 125 144.8 199 330 77.0H3 1 35 41 78 132 153.6 228.5 358 85.8H3 2 35 42 93.5 127 141.5 178 374 73.2H3 3 35 39 91 121 148.1 195.5 404 84.2H3 4 35 42 84 98 113.9 142.5 285 53.1H3 5 35 42 84 112 114.4 144.5 208 41.5H3 6 35 42 78.5 104 112.1 146 236 49.2

n25 H0 90 216.2 270.1 293.1 298.3 323.1 536.6 50.4H1 1 90 154.7 233.5 289.1 295.5 333.3 587.0 91.1H1 2 90 168.1 240.2 279.4 310.4 339.3 642.7 103.6H1 3 90 157.5 250.8 297.2 306.4 340.2 633.4 88.4H1 4 90 195.4 268.8 322.3 324.7 360.3 562.3 71.5H1 5 90 252.7 363.4 405.0 406.0 455.6 651.9 82.1H1 6 90 284.2 376.6 436.0 436.0 493.8 712.2 86.4H2 1 90 150.1 235.8 274.8 303.6 347.6 634.8 102.2H2 2 89 135.3 230.4 277.0 294.1 322.7 612.3 95.5H2 3 90 170.5 247.7 290.4 305.1 326.2 661.6 91.4H2 4 90 217.5 287.7 320.2 336.8 374.2 646.9 72.3H2 5 90 229.0 351.9 404.1 404.9 462.5 605.2 76.2H2 6 90 282.6 379.1 427.7 435.9 491.9 686.2 81.3H3 1 70 143.9 224.8 259.7 263.7 300.7 462.2 56.8H3 2 68 144.1 196.9 238.0 257.0 304.2 488.8 79.2H3 3 84 165.8 223.4 263.6 272.1 316.0 463.7 67.9H3 4 89 179.3 255.8 293.1 297.8 333.1 483.1 58.9H3 5 90 231.8 310.4 343.6 346.6 375.9 632.4 57.9H3 6 90 240.7 311.5 346.4 355.0 397.7 574.3 59.6H4 1 68 145.9 204.9 250.1 258.9 297.9 522.9 75.1H4 2 69 139.1 207.9 238.0 254.5 277.9 507.7 70.1H4 3 85 166.2 224.8 266.4 266.9 293.8 456.1 60.1H4 4 90 198.3 270.9 301.1 305.0 330.1 520.7 53.7H4 5 90 245.1 303.6 343.7 346.3 384.2 564.1 54.0H4 6 90 222.2 317.1 342.3 353.7 382.9 576.3 63.3

n50 H0 60 403.4 478.8 506.3 515.6 552.9 690.9 56.8H1 3 12 295.2 419.2 449.4 441.3 479.4 536.7 66.0H1 4 44 367.2 428.3 505.0 501.8 555.7 706.4 81.3H1 5 39 412.9 561.2 624.5 621.4 692.7 776.4 93.4H1 6 24 482.2 646.2 705.9 684.7 728.3 807.6 78.2H2 1 2 354.2 362.9 371.7 371.7 380.5 389.3 24.8H2 2 1 612.7 612.7 612.7 612.7 612.7 612.7 NAH2 3 12 341.8 363.0 403.4 434.6 437.0 664.1 108.7H2 4 43 349.7 458.6 502.3 509.6 553.0 762.4 74.6H2 5 35 406.7 586.3 615.9 614.6 660.5 748.5 75.3H2 6 22 516.8 607.0 675.0 665.5 719.2 810.7 84.6H3 3 1 326.4 326.4 326.4 326.4 326.4 326.4 NAH3 4 17 363.4 384.4 448.1 452.2 496.5 604.9 74.6H3 5 19 397.2 458.0 488.1 495.9 532.3 582.8 51.3H3 6 14 446.6 480.2 554.6 541.7 584.1 666.7 63.5H4 1 1 348.7 348.7 348.7 348.7 348.7 348.7 NAH4 3 1 411.2 411.2 411.2 411.2 411.2 411.2 NAH4 4 11 371.8 411.4 439.0 463.2 482.0 603.7 76.1H4 5 10 415.3 446.1 492.5 512.2 531.3 767.7 101.4H4 6 14 466.3 499.2 537.4 545.6 571.1 712.5 66.9

n100 H1 4 5 628.8 754.6 772.3 778.5 823.8 913.1 103.9H2 4 6 563.4 617.9 650.6 655.4 663.1 793.3 77.3H2 6 1 855.1 855.1 855.1 855.1 855.1 855.1 NAH3 4 1 786.9 786.9 786.9 786.9 786.9 786.9 NA

Table I.6: Summary statistics for measure FIRSTCOST.

Page 394: New data generation and solution techniques for the

364 Additional results of the heuristics experiments

Group Method # min q1 median mean q3 max sd

BKA H0 35 27 50 78 72.3 84 126 27.9H1 1 35 27 50 78 72.3 84 126 27.9H1 2 35 27 50 78 72.3 84 126 27.9H1 3 35 30 57 78 73.8 84 126 27.3H1 4 35 42 61 84 78.5 90 126 26.2H1 5 35 42 59 84 82.3 91 174 30.1H1 6 35 42 59.5 84 84.1 93 198 33.1H3 1 35 27 50 78 72.9 84 126 27.6H3 2 35 27 50 78 72.3 84 126 27.9H3 3 35 36 54 78 74.4 84 126 27.2H3 4 35 42 55 84 78.1 93 135 27.7H3 5 35 42 60.5 84 81.7 95 132 27.6H3 6 35 42 63 84 84.1 98 147 28.5

n25 H0 90 134.4 175.4 195.1 199.9 215.7 408.3 42.1H1 1 90 126.8 167.0 190.4 197.9 216.9 411.5 45.4H1 2 90 129.7 167.0 191.7 198.2 218.9 415.3 44.8H1 3 90 132.6 172.7 196.9 201.7 219.5 414.2 44.3H1 4 90 162.4 194.7 216.6 224.7 247.4 432.1 43.7H1 5 90 168.9 230.8 252.2 260.9 281.1 484.7 48.2H1 6 90 167.7 237.9 269.2 274.5 301.1 476.6 47.9H2 1 90 126.8 170.2 192.6 198.7 218.9 411.2 44.2H2 2 89 126.8 170.2 191.9 199.0 215.7 417.0 46.4H2 3 90 126.8 172.9 194.2 201.3 223.7 434.1 45.4H2 4 90 159.3 197.7 219.7 225.3 245.5 436.0 44.3H2 5 90 175.1 229.2 255.9 260.3 280.9 468.6 45.3H2 6 90 168.9 237.1 263.0 272.8 305.7 454.1 49.0H3 1 70 129.7 174.3 201.7 210.4 234.2 358.3 50.8H3 2 68 129.7 174.6 194.9 204.4 230.4 377.2 48.2H3 3 84 137.4 171.7 197.2 206.2 230.6 353.0 43.5H3 4 89 163.5 199.2 224.1 231.8 260.3 442.1 45.6H3 5 90 170.9 231.3 259.9 262.0 281.9 520.2 49.2H3 6 90 173.4 235.7 268.1 265.6 288.6 457.1 47.5H4 1 68 126.8 170.1 197.9 204.3 233.3 310.7 42.6H4 2 69 129.7 173.5 203.4 209.9 238.0 408.4 52.7H4 3 85 135.0 172.7 197.7 207.5 239.5 417.5 47.3H4 4 90 165.5 201.3 230.3 233.9 255.5 441.5 43.2H4 5 90 168.5 227.3 255.9 258.4 281.9 436.7 46.3H4 6 90 179.8 231.8 261.4 267.0 295.1 519.0 48.7

n50 H0 60 308.1 354.5 379.6 386.2 407.1 563.5 46.1H1 3 12 253.2 298.7 324.8 330.4 349.3 416.6 50.6H1 4 44 298.1 334.0 362.8 376.7 417.1 559.0 56.0H1 5 39 336.9 397.1 450.0 450.8 491.7 613.0 69.0H1 6 24 381.7 444.7 493.7 491.2 534.9 685.8 72.4H2 1 2 308.9 316.2 323.5 323.5 330.8 338.1 20.6H2 2 1 503.8 503.8 503.8 503.8 503.8 503.8 NAH2 3 12 253.2 280.0 300.8 322.2 317.5 603.2 92.0H2 4 43 281.2 335.1 362.3 371.3 404.3 586.9 58.0H2 5 35 358.0 399.7 435.1 450.5 494.9 619.4 65.7H2 6 22 386.8 427.3 465.0 478.0 523.1 632.5 67.5H3 3 1 264.8 264.8 264.8 264.8 264.8 264.8 NAH3 4 17 299.3 329.1 393.4 397.4 441.6 578.4 73.7H3 5 19 336.1 412.6 454.5 437.1 472.7 502.5 52.2H3 6 14 396.7 436.4 489.7 496.2 554.3 627.9 73.4H4 1 1 320.5 320.5 320.5 320.5 320.5 320.5 NAH4 3 1 405.5 405.5 405.5 405.5 405.5 405.5 NAH4 4 11 313.4 384.0 407.1 413.1 455.0 516.1 63.9H4 5 10 378.7 402.8 440.9 454.0 468.5 657.2 80.1H4 6 14 324.7 450.8 488.8 500.2 555.6 693.0 92.2

n100 H1 4 5 456.6 613.7 614.4 616.7 687.7 711.3 99.6H2 4 6 507.9 530.2 568.4 580.8 595.0 718.5 76.1H2 6 1 827.0 827.0 827.0 827.0 827.0 827.0 NAH3 4 1 728.6 728.6 728.6 728.6 728.6 728.6 NA

Table I.7: Summary statistics for measure BESTCOST.

Page 395: New data generation and solution techniques for the

365

Group Method # min q1 median mean q3 max sdBKA H0 35 0 0 0 9.2 23.8 48.1 15.5

H1 1 35 0 32.1 71.4 100.3 140.6 384 90.2H1 2 35 0 14.8 51.2 82.0 108.9 353.8 91.5H1 3 35 0 23.1 59.0 74.8 124.9 225.6 64.5H1 4 35 0 26.2 82.5 82.4 127.1 246.2 62.4H1 5 35 0 31.3 71.8 87.8 113.1 266.7 67.7H1 6 35 0 45.6 87.2 98.5 132.1 323.1 70.4H3 1 35 0 49.6 92.7 108.3 151.6 359.0 81.6H3 2 35 0 20.5 73.8 104.9 162.3 379.5 98.9H3 3 35 0 24.5 107.9 110.1 147.6 417.9 100.1H3 4 35 0 14.5 42.9 63.4 93.5 265.4 65.0H3 5 35 0 20.4 69.0 66.7 97.1 186 52.6H3 6 35 0 21.2 42.9 58.9 87.7 202.6 53.1

n25 H0 90 10.5 39.6 52.5 56.6 73.2 144.8 25.7H1 1 90 0 23.3 43.4 53.4 73.3 234.1 42.2H1 2 90 0.5 29.5 48.1 62.6 76.1 335.9 55.1H1 3 90 5.1 31.9 49.5 60.3 75.9 279.6 47.2H1 4 90 19.7 40.4 57.7 71.3 94.4 202.5 42.7H1 5 90 27.3 75.2 102.9 115.5 142.2 298.0 56.4H1 6 90 18.3 87.8 121.3 131.7 168.7 330.8 59.3H2 1 90 2.6 24.0 41.8 58.7 73.5 315.0 54.0H2 2 89 0.1 25.7 45.2 52.0 61.5 219.9 39.2H2 3 90 5.5 29.9 47.2 59.2 78.9 336.8 47.0H2 4 90 20.2 48.9 68.1 77.3 90.2 216.1 40.0H2 5 90 34.3 75.5 109.7 115.1 146.7 266.8 53.2H2 6 90 34.8 92.1 121.0 132.0 156.9 355.8 59.6H3 1 70 0 18.5 31.3 38.9 51.8 167.6 30.4H3 2 68 0 9.0 21.9 34.5 46.8 224.7 40.5H3 3 84 0 17.9 37.1 43.1 56.8 182.2 34.6H3 4 89 17.8 38.9 52.2 55.3 66.0 148.9 24.9H3 5 90 17.5 57.2 78.4 82.6 106.3 213.6 33.5H3 6 90 24.6 64.0 84.5 86.8 103.7 230.4 34.1H4 1 68 0 10.1 28.2 41.6 53.9 259.2 44.1H4 2 69 0 9.5 25.0 35.0 44.6 167.0 35.3H4 3 85 0 18.7 35.2 39.7 49.6 171.1 29.7H4 4 90 12.9 42.3 55.4 59.9 73.5 142.9 26.8H4 5 90 20.5 62.9 77.8 82.5 96.7 238.7 33.3H4 6 90 28.3 58.9 79.4 86.3 104.7 209.7 36.8

Table I.8: Summary statistics for measure FIRSTCOSTGAP.

Group Method # min q1 median mean q3 max sdBKA H0 35 0 0 0 0 0 0 0

H1 1 35 0 0 0 0 0 0 0H1 2 35 0 0 0 0 0 0 0H1 3 35 0 0 0 2.8 2.4 20 6.1H1 4 35 0 0 7.0 11.5 15.1 70.4 16.3H1 5 35 0 0 2.4 16.8 23.1 80 23.9H1 6 35 0 0 7.7 18.8 24.2 68 23.2H3 1 35 0 0 0 0.9 0 15.8 3.7H3 2 35 0 0 0 0 0 0 0H3 3 35 0 0 0 3.9 7.7 33.3 7.1H3 4 35 0 0 7.0 9.8 14.3 60 14.3H3 5 35 0 0 7.7 16.5 20.5 92 23.1H3 6 35 0 0 14.3 19.6 29.5 76 22.2

n25 H0 90 0 0.6 2.6 3.0 4.4 14.8 2.8H1 1 90 0 0 0 1.7 0.6 36.1 4.9H1 2 90 0 0 0 1.9 0.9 31.3 4.7H1 3 90 0 0.5 2.5 3.8 5.9 18.9 4.3H1 4 90 0.9 8.7 14.0 16.5 23.5 52.3 10.5H1 5 90 7.6 23.6 34.2 36.0 47.1 82.2 16.4H1 6 90 7.8 27.9 42.0 43.5 55.5 115.2 20.4H2 1 90 0 0 0 2.3 1.7 36.2 5.5H2 2 89 0 0 0 2.5 1.1 55.0 8.0H2 3 90 0 0.3 2.1 3.6 4.9 20.5 4.4H2 4 90 1.5 10.4 14.9 16.7 21.1 45.9 9.1H2 5 90 12.8 23.0 33.2 35.9 43.5 93.9 17.6H2 6 90 11.1 27.7 37.4 42.6 52.9 109.9 21.3H3 1 70 0 0 1.2 9.3 11.0 110.1 18.4H3 2 68 0 0 0.0 6.0 7.0 61.3 12.0H3 3 84 0 0.8 3.7 7.2 8.7 49.4 10.2H3 4 89 3.0 12.4 17.2 20.1 24.8 55.4 10.6H3 5 90 7.8 22.1 35.0 36.6 47.7 94.1 18.2H3 6 90 7.5 25.0 37.7 38.3 47.3 87.4 16.0H4 1 68 0 0 1.8 10.9 13.8 89.6 19.1H4 2 69 0 0 1.1 10.5 9.5 135.9 22.1H4 3 85 0 1.2 3.6 6.9 10.7 34.7 8.3H4 4 90 1.3 11.6 19.4 21.6 27.6 64.9 12.6H4 5 90 6.9 21.9 30.3 34.8 46.2 85.2 17.7H4 6 90 12.2 26.4 36.6 39.0 50.1 88.5 15.6

Table I.9: Summary statistics for measure BESTCOSTGAP.

Page 396: New data generation and solution techniques for the

366 Additional results of the heuristics experiments

I.1 Construction heuristic results

Additional results for the construction heuristic, Method H0, are given in

this section. They include results on the number of insertion orders tried

(|IO|), the number of insertion orders that produced a feasible solution

(|FS|), the number of unique feasible solutions constructed (|UFS|), the

ratio of successful insertion orders (Rsuccess = |FS|/|IO|) and the ratio

of unique feasible solutions (Runique = |UFS|/|FS|). These results are

reported for individual data sets in Section I.1.1, as well as aggregated to

the data class and data group levels in Section I.1.2.

In the table columns reporting results on Rsuccess and Runique, values have

been rounded to three decimal places. Consequently, values are shown as

1.000 if less than 1 but greater than or equal to 0.9995; a value is shown as

1 if and only if it is exactly 1.

Finally, as mentioned in Section 6.4, all of the n100 (Data Classes 16–21)

results reported in this section are from the extended experiments with a

time limit of 10,300 seconds.

I.1.1 Individual data set results

Tables I.11–I.14 contain the raw results regarding the success of the insertion

orders for each data set, while the notation describing the column headings is

given in Table I.10. The key results and analysis of these tables are discussed

in Section 6.4.

Notation DescriptionClass Data class numberName Data class name# Data set number|IO| Number of insertion orders tried|FS| Number of insertion orders that produced a feasible solution|UFS| Number of unique feasible solutions constructedRsuccess Ratio of successful insertion orders, |FS|/|IO|Runique Ratio of unique feasible solutions, |UFS|/|FS|

Table I.10: Notation for construction heuristic ratio results tables.

Page 397: New data generation and solution techniques for the

I.1 Construction heuristic results 367

Class Name # |IO| |FS| |UFS| Rsuccess Runique

0 BKA 1 290379 290379 30091 1 0.104

2 310429 310429 30249 1 0.097

3 128006 127787 37789 0.998 0.296

4 132860 130876 37196 0.985 0.284

5 152787 72926 36134 0.477 0.495

6 624058 624058 14879 1 0.024

7 246542 246542 33509 1 0.136

8 245163 245163 33418 1 0.136

9 131172 131153 37358 1.000 0.285

10 332109 332109 31503 1 0.095

11 58536 58527 40643 1.000 0.694

12 57235 57234 40091 1.000 0.700

13 78104 78104 40060 1 0.513

14 53346 53346 40421 1 0.758

15 53101 53101 40272 1 0.758

16 55047 54348 40222 0.987 0.740

17 82510 82510 39661 1 0.481

18 54181 54181 40902 1 0.755

19 58818 58805 41335 1.000 0.703

20 78278 78278 39601 1 0.506

21 54185 54108 39542 0.999 0.731

22 297859 297859 32780 1 0.110

23 305725 305725 33212 1 0.109

24 53823 53823 39373 1 0.732

25 53574 53526 39118 0.999 0.731

26 53506 53493 40247 1.000 0.752

27 53590 53590 41005 1 0.765

28 52665 52664 40442 1.000 0.768

29 55320 55320 36859 1 0.666

30 55322 55322 39445 1 0.713

31 83825 83825 41398 1 0.494

32 101077 51653 37570 0.511 0.727

33 59539 52544 43046 0.883 0.819

34 55365 52204 43413 0.943 0.832

35 61610 61610 41561 1 0.675

Table I.11: Construction heuristic ratio results for BKA instances.

Table I.12: Construction heuristic ratio results for n25 instances.

Class Name # |IO| |FS| |UFS| Rsuccess Runique

1 n25 1 1 175995 43069 43049 0.245 1.000

2 124105 46291 46181 0.373 0.998

3 147639 43851 43800 0.297 0.999

4 167654 43684 41775 0.261 0.956

5 145359 43192 43171 0.297 1.000

6 150920 42496 42301 0.282 0.995

7 126236 44623 44510 0.353 0.997

8 152940 43139 43131 0.282 1.000

9 170936 42724 42681 0.250 0.999

10 102793 48178 47855 0.469 0.993

2 n25 2 1 87450 49652 48728 0.568 0.981

2 140167 44808 44738 0.320 0.998

3 137594 45630 45544 0.332 0.998

4 135999 45092 45002 0.332 0.998

5 136432 47114 46976 0.345 0.997

6 130249 45828 45627 0.352 0.996

7 130870 45665 45651 0.349 1.000

8 213297 39178 39091 0.184 0.998

9 126218 46700 46430 0.370 0.994

10 205539 39896 39603 0.194 0.993

3 n25 3 1 184527 40671 40558 0.220 0.997

2 123267 46504 46431 0.377 0.998

3 128431 47123 46948 0.367 0.996

4 129242 46071 46042 0.356 0.999

5 86708 49221 49193 0.568 0.999

Continued on next page

Page 398: New data generation and solution techniques for the

368 Additional results of the heuristics experiments

Table I.12 – continued from previous pageClass Name # |IO| |FS| |UFS| Rsuccess Runique

6 163267 42986 42762 0.263 0.995

7 112391 46802 46704 0.416 0.998

8 111724 47052 47014 0.421 0.999

9 109423 47514 47432 0.434 0.998

10 133657 44345 44330 0.332 1.000

4 n25 4 1 143527 44591 44546 0.311 0.999

2 151884 43195 43192 0.284 1.000

3 113425 49187 49120 0.434 0.999

4 179271 41417 41403 0.231 1.000

5 126228 44982 44980 0.356 1.000

6 101686 48098 48085 0.473 1.000

7 119368 45796 45790 0.384 1.000

8 147351 44490 44366 0.302 0.997

9 193663 41600 41214 0.215 0.991

10 132527 45835 45464 0.346 0.992

5 n25 5 1 173717 42363 42206 0.244 0.996

2 119693 46841 46800 0.391 0.999

3 148510 44386 44353 0.299 0.999

4 108950 49800 48089 0.457 0.966

5 112791 47737 47617 0.423 0.997

6 116557 47567 46912 0.408 0.986

7 143194 45301 45025 0.316 0.994

8 108890 48357 47019 0.444 0.972

9 142943 45044 44962 0.315 0.998

10 146724 45573 45527 0.311 0.999

6 n25 6 1 124982 47115 46818 0.377 0.994

2 156605 44841 44763 0.286 0.998

3 142289 44988 44930 0.316 0.999

4 151415 44324 44197 0.293 0.997

5 193005 42700 42225 0.221 0.989

6 164482 43973 43875 0.267 0.998

7 131950 46417 46259 0.352 0.997

8 127639 51105 46996 0.400 0.920

9 114516 47260 47186 0.413 0.998

10 207763 41300 41137 0.199 0.996

7 n25 7 1 226267 40261 39967 0.178 0.993

2 270198 35812 35556 0.133 0.993

3 225508 38716 38453 0.172 0.993

4 147282 46184 46008 0.314 0.996

5 124253 47598 47348 0.383 0.995

6 94603 48994 48935 0.518 0.999

7 122055 48093 47478 0.394 0.987

8 165277 45787 45517 0.277 0.994

9 161928 45724 44808 0.282 0.980

10 157409 44720 44614 0.284 0.998

8 n25 8 1 173071 44480 43083 0.257 0.969

2 205582 41039 39858 0.200 0.971

3 192704 41774 41077 0.217 0.983

4 245070 38097 37910 0.155 0.995

5 145556 47453 45602 0.326 0.961

6 169529 44445 44131 0.262 0.993

7 169677 45273 44045 0.267 0.973

8 139011 47918 46112 0.345 0.962

9 115879 47115 46971 0.407 0.997

10 166260 45206 44460 0.272 0.983

9 n25 9 1 144969 44752 44667 0.309 0.998

2 98556 48782 48659 0.495 0.997

3 120381 47074 47071 0.391 1.000

4 77295 49967 49950 0.646 1.000

5 116282 46730 46726 0.402 1.000

6 153831 45224 45195 0.294 0.999

7 127963 46091 46090 0.360 1.000

8 150793 42773 42753 0.284 1.000

9 107768 43951 43932 0.408 1.000

10 129925 42314 42282 0.326 0.999

Page 399: New data generation and solution techniques for the

I.1 Construction heuristic results 369

Class Name # |IO| |FS| |UFS| Rsuccess Runique

10 n50 1 1 274879 1651 1651 0.006 1

2 277115 1949 1949 0.007 1

3 276834 1404 1404 0.005 1

4 268565 1642 1642 0.006 1

5 251097 3035 3035 0.012 1

6 296484 737 737 0.002 1

7 263637 2351 2351 0.009 1

8 273059 1977 1977 0.007 1

9 265071 2175 2175 0.008 1

10 294345 1602 1602 0.005 1

11 n50 2 1 282953 3367 3367 0.012 1

2 288129 1937 1937 0.007 1

3 284417 3862 3862 0.014 1

4 277140 2861 2861 0.010 1

5 289458 750 750 0.003 1

6 287615 1907 1907 0.007 1

7 269838 3934 3934 0.015 1

8 280064 2396 2396 0.009 1

9 264126 2270 2270 0.009 1

10 289264 439 439 0.002 1

12 n50 3 1 291451 2745 2745 0.009 1

2 292580 840 840 0.003 1

3 291737 1707 1707 0.006 1

4 290649 4208 4208 0.014 1

5 300364 1573 1573 0.005 1

6 272816 3454 3454 0.013 1

7 313186 1821 1821 0.006 1

8 292852 3322 3322 0.011 1

9 307971 1830 1830 0.006 1

10 309333 841 841 0.003 1

13 n50 4 1 237967 5461 5461 0.023 1

2 241982 15157 15157 0.063 1

3 267526 2361 2361 0.009 1

4 252710 10298 10298 0.041 1

5 258384 5658 5658 0.022 1

6 265684 3918 3918 0.015 1

7 249017 8694 8694 0.035 1

8 265729 2793 2793 0.011 1

9 224928 13295 13295 0.059 1

10 248763 8275 8275 0.033 1

14 n50 5 1 263718 7478 7478 0.028 1

2 247880 13270 13270 0.054 1

3 249209 8611 8611 0.035 1

4 242173 7366 7366 0.030 1

5 296318 3232 3232 0.011 1

6 263986 7840 7840 0.030 1

7 274621 8304 8304 0.030 1

8 274938 7678 7678 0.028 1

9 249231 11689 11689 0.047 1

10 261098 5783 5783 0.022 1

15 n50 6 1 274266 8562 8562 0.031 1

2 266064 4926 4926 0.019 1

3 289638 5483 5483 0.019 1

4 264037 12215 12215 0.046 1

5 267784 7588 7588 0.028 1

6 273774 3676 3676 0.013 1

7 240614 7093 7093 0.029 1

8 268487 8357 8357 0.031 1

9 276888 11868 11868 0.043 1

10 281896 2822 2822 0.010 1

Table I.13: Construction heuristic ratio results for n50 instances.

Page 400: New data generation and solution techniques for the

370 Additional results of the heuristics experiments

Class Name # |IO| |FS| |UFS| Rsuccess Runique

16 n100 1 1 3237318 0 0 0 —

2 3106699 0 0 0 —

3 3276267 0 0 0 —

4 3378951 0 0 0 —

5 3149639 0 0 0 —

6 3065811 0 0 0 —

7 3241014 0 0 0 —

8 3198566 0 0 0 —

9 3229117 0 0 0 —

10 3082161 0 0 0 —

17 n100 2 1 3322283 0 0 0 —

2 3412216 0 0 0 —

3 3398309 0 0 0 —

4 3294673 0 0 0 —

5 3305109 0 0 0 —

6 3463134 0 0 0 —

7 3352733 0 0 0 —

8 3267623 0 0 0 —

9 3174770 0 0 0 —

10 3397005 0 0 0 —

18 n100 3 1 3322778 0 0 0 —

2 3315435 0 0 0 —

3 3533312 0 0 0 —

4 3454674 0 0 0 —

5 3520830 0 0 0 —

6 3291558 0 0 0 —

7 3487482 0 0 0 —

8 3320469 0 0 0 —

9 3428719 0 0 0 —

10 3455096 0 0 0 —

19 n100 4 1 3008184 0 0 0 —

2 3132735 0 0 0 —

3 2952764 0 0 0 —

4 3157071 1 1 0.0000003 1

5 3254610 0 0 0 —

6 3106789 0 0 0 —

7 2814360 0 0 0 —

8 3377634 0 0 0 —

9 3009267 0 0 0 —

10 3039166 0 0 0 —

20 n100 5 1 3194666 0 0 0 —

2 3267922 0 0 0 —

3 3156806 0 0 0 —

4 3197151 0 0 0 —

5 3699708 0 0 0 —

6 3100016 0 0 0 —

7 3236659 0 0 0 —

8 3266612 0 0 0 —

9 2976436 0 0 0 —

10 3226303 1 1 0.0000003 1

21 n100 6 1 3211985 0 0 0 —

2 3344456 0 0 0 —

3 3201356 0 0 0 —

4 3261751 1 1 0.0000003 1

5 3563330 0 0 0 —

6 3321759 0 0 0 —

7 3272768 0 0 0 —

8 3439096 1 1 0.0000003 1

9 3298429 0 0 0 —

10 3341979 0 0 0 —

Table I.14: Construction heuristic ratio results for n100 instances.

Page 401: New data generation and solution techniques for the

I.1 Construction heuristic results 371

I.1.2 Aggregated data group and data class results

In this section, the construction heuristic results given in §I.1.1 are aggre-

gated by data group and data class, and summarised in Figures I.4–I.13 as

box plots. Due to differing magnitudes, plotting all related results in one

figure may obscure interesting behaviour. Consequently, additional subplots

have been produced where appropriate.

The summary statistics underlying the box plots are given in Tables I.16–

I.20; the notation describing the column headings is given in Table I.15.

The key results and analysis of these figures and tables are discussed in

Section 6.4.

Notation Description

Group Data group name

Class Data class number

# Number of values (results)

min Minimum value

q1 First quartile (value in position 1 + 0.25(#− 1))

median Median of the values (value in position 1 + 0.5(#− 1))

mean Mean of the values (sum of the values divided by #)

q3 Third quartile (value in position 1 + 0.75(#− 1))

max Maximum value

sd Standard deviation of the values

Table I.15: Notation for construction heuristic results summary tables.

Page 402: New data generation and solution techniques for the

372 Additional results of the heuristics experiments

Figure I.4: Box plots of number of insertion orders tried, by data group.

● ● ●●● ●●●

● ●

BKA ( 35 )

n25 ( 90 )

n50 ( 60 )

n100 ( 60 )

0e+00 1e+06 2e+06 3e+06

(a) n100 included.

● ● ●●● ●

●●

BKA ( 35 )

n25 ( 90 )

n50 ( 60 )

1e+05 2e+05 3e+05 4e+05 5e+05 6e+05

(b) n100 excluded.

Figure I.5: Box plots of number of insertion orders tried, by data class.

● ● ●●● ●

● ●●●

●●

●●

0 ( 35 )

1 ( 10 )

2 ( 10 )

3 ( 10 )

4 ( 10 )

5 ( 10 )

6 ( 10 )

7 ( 10 )

8 ( 10 )

9 ( 10 )

10 ( 10 )

11 ( 10 )

12 ( 10 )

13 ( 10 )

14 ( 10 )

15 ( 10 )

16 ( 10 )

17 ( 10 )

18 ( 10 )

19 ( 10 )

20 ( 10 )

21 ( 10 )

0e+00 1e+06 2e+06 3e+06

(a) n100 included (classes 16–21).

● ● ●●● ●

● ●●

0 ( 35 )

1 ( 10 )

2 ( 10 )

3 ( 10 )

4 ( 10 )

5 ( 10 )

6 ( 10 )

7 ( 10 )

8 ( 10 )

9 ( 10 )

10 ( 10 )

11 ( 10 )

12 ( 10 )

13 ( 10 )

14 ( 10 )

15 ( 10 )

1e+05 2e+05 3e+05 4e+05 5e+05 6e+05

(b) n100 excluded.

Page 403: New data generation and solution techniques for the

I.1 Construction heuristic results 373

Figure I.6: Box plots of number of feasible solutions found, by data group.

● ● ●●● ●

●●●●

BKA ( 35 )

n25 ( 90 )

n50 ( 60 )

n100 ( 60 )

0e+00 1e+05 2e+05 3e+05 4e+05 5e+05 6e+05

(a) BKA included.

●●●●

n25 ( 90 )

n50 ( 60 )

n100 ( 60 )

0 10000 20000 30000 40000 50000

(b) BKA excluded.

Figure I.7: Box plots of number of feasible solutions found, by data class.

● ● ●●● ●

●●● ●

●●●● ●

●●

●●

0 ( 35 )

1 ( 10 )

2 ( 10 )

3 ( 10 )

4 ( 10 )

5 ( 10 )

6 ( 10 )

7 ( 10 )

8 ( 10 )

9 ( 10 )

10 ( 10 )

11 ( 10 )

12 ( 10 )

13 ( 10 )

14 ( 10 )

15 ( 10 )

16 ( 10 )

17 ( 10 )

18 ( 10 )

19 ( 10 )

20 ( 10 )

21 ( 10 )

0e+00 1e+05 2e+05 3e+05 4e+05 5e+05 6e+05

(a) BKA included (class 0).

●● ●

●●

●● ●

●●

●●

1 ( 10 )

2 ( 10 )

3 ( 10 )

4 ( 10 )

5 ( 10 )

6 ( 10 )

7 ( 10 )

8 ( 10 )

9 ( 10 )

10 ( 10 )

11 ( 10 )

12 ( 10 )

13 ( 10 )

14 ( 10 )

15 ( 10 )

16 ( 10 )

17 ( 10 )

18 ( 10 )

19 ( 10 )

20 ( 10 )

21 ( 10 )

0 10000 20000 30000 40000 50000

(b) BKA excluded.

Page 404: New data generation and solution techniques for the

374 Additional results of the heuristics experiments

Figure I.8: Box plots of number of unique feasible solutions, by data group.

● ●●

●●●●

BKA ( 35 )

n25 ( 90 )

n50 ( 60 )

n100 ( 60 )

0 10000 20000 30000 40000 50000

Figure I.9: Box plots of number of unique feasible solutions, by data class.● ●●

● ●

●●

●● ●

●●

●●

0 ( 35 )

1 ( 10 )

2 ( 10 )

3 ( 10 )

4 ( 10 )

5 ( 10 )

6 ( 10 )

7 ( 10 )

8 ( 10 )

9 ( 10 )

10 ( 10 )

11 ( 10 )

12 ( 10 )

13 ( 10 )

14 ( 10 )

15 ( 10 )

16 ( 10 )

17 ( 10 )

18 ( 10 )

19 ( 10 )

20 ( 10 )

21 ( 10 )

0 10000 20000 30000 40000 50000

Page 405: New data generation and solution techniques for the

I.1 Construction heuristic results 375

Figure I.10: Box plots of H0 ratio Rsuccess, by data group.

●●● ●● ● ●

●●●●

BKA ( 35 )

n25 ( 90 )

n50 ( 60 )

n100 ( 60 )

0.0 0.2 0.4 0.6 0.8 1.0

(a) BKA included.

●●●●

n25 ( 90 )

n50 ( 60 )

n100 ( 60 )

0.0 0.1 0.2 0.3 0.4 0.5 0.6

(b) BKA excluded.

Figure I.11: Box plots of H0 ratio Rsuccess, by data class.

●●● ●● ● ●

●● ●

●● ●

●●

●●

0 ( 35 )

1 ( 10 )

2 ( 10 )

3 ( 10 )

4 ( 10 )

5 ( 10 )

6 ( 10 )

7 ( 10 )

8 ( 10 )

9 ( 10 )

10 ( 10 )

11 ( 10 )

12 ( 10 )

13 ( 10 )

14 ( 10 )

15 ( 10 )

16 ( 10 )

17 ( 10 )

18 ( 10 )

19 ( 10 )

20 ( 10 )

21 ( 10 )

0.0 0.2 0.4 0.6 0.8 1.0

(a) BKA included (class 0).

●● ●

●● ●

●●

●●

1 ( 10 )

2 ( 10 )

3 ( 10 )

4 ( 10 )

5 ( 10 )

6 ( 10 )

7 ( 10 )

8 ( 10 )

9 ( 10 )

10 ( 10 )

11 ( 10 )

12 ( 10 )

13 ( 10 )

14 ( 10 )

15 ( 10 )

16 ( 10 )

17 ( 10 )

18 ( 10 )

19 ( 10 )

20 ( 10 )

21 ( 10 )

0.0 0.1 0.2 0.3 0.4 0.5 0.6

(b) BKA excluded.

Page 406: New data generation and solution techniques for the

376 Additional results of the heuristics experiments

Figure I.12: Box plots of H0 ratio Runique, by data group.

● ●● ●● ●● ● ●● ●● ●

BKA ( 35 )

n25 ( 90 )

n50 ( 60 )

n100 ( 4 )

0.0 0.2 0.4 0.6 0.8 1.0

(a) BKA included.

● ●● ●● ●● ● ●● ●● ●n25 ( 90 )

n50 ( 60 )

n100 ( 4 )

0.92 0.94 0.96 0.98 1.00

(b) BKA excluded.

Figure I.13: Box plots of H0 ratio Runique, by data class.●

●● ●

●●●●

0 ( 35 )

1 ( 10 )

2 ( 10 )

3 ( 10 )

4 ( 10 )

5 ( 10 )

6 ( 10 )

7 ( 10 )

8 ( 10 )

9 ( 10 )

10 ( 10 )

11 ( 10 )

12 ( 10 )

13 ( 10 )

14 ( 10 )

15 ( 10 )

16 ( 0 )

17 ( 0 )

18 ( 0 )

19 ( 1 )

20 ( 1 )

21 ( 2 )

0.0 0.2 0.4 0.6 0.8 1.0

(a) BKA included (class 0).

● ●

●●

●●

1 ( 10 )

2 ( 10 )

3 ( 10 )

4 ( 10 )

5 ( 10 )

6 ( 10 )

7 ( 10 )

8 ( 10 )

9 ( 10 )

10 ( 10 )

11 ( 10 )

12 ( 10 )

13 ( 10 )

14 ( 10 )

15 ( 10 )

16 ( 0 )

17 ( 0 )

18 ( 0 )

19 ( 1 )

20 ( 1 )

21 ( 2 )

0.92 0.94 0.96 0.98 1.00

(b) BKA excluded.

Page 407: New data generation and solution techniques for the

I.1 Construction heuristic results 377

Group # min q1 median mean q3 max sd

BKA 35 52665 54616 61610 131989.9 142823.5 624058 126043.6

n25 90 77295 122358 141228 145349.5 164178.3 270198 35488.0

n50 60 224928 263697.8 273416.5 272605.7 288412.8 313186 19012.7

n100 60 2814360 3170345.3 3267772.5 3265258.7 3358958.3 3699708 162638.4

Class # min q1 median mean q3 max sd

0 35 52665 54616 61610 131989.9 142823.5 624058 126043.6

1 10 102793 131016.8 149279.5 146457.7 163975.5 175995 23095.5

2 10 87450 130404.3 136215.5 144381.5 139523.8 213297 37476.3

3 10 86708 111890.8 125849 128263.7 132553.3 184527 27994.4

4 10 101686 121083 138027 140893 150750.8 193663 28804.0

5 10 108890 113732.5 131318 132196.9 145841.5 173717 21854.7

6 10 114516 128716.8 146852 151464.6 162512.8 207763 30166.6

7 10 94603 130010.3 159668.5 169478 210450.3 270198 54896.2

8 10 115879 150732 169603 172233.9 187795.8 245070 36328.5

9 10 77295 109896.5 124172 122776.3 141208 153831 24148.1

10 10 251097 265944.5 273969 274108.6 277044.8 296484 13662.3

11 10 264126 277871 283685 281300.4 288000.5 289458 8654.5

12 10 272816 291522.5 292716 296293.9 306069.3 313186 11837.9

13 10 224928 243677.3 250863.5 251269 263859 267526 13752.8

14 10 242173 249214.5 262408 262317.2 271962.3 296318 16432.5

15 10 240614 266494 271130.5 270344.8 276232.5 289638 13028.4

16 10 3065811 3117434 3213841.5 3196554.3 3240090 3378951 97056.7

17 10 3174770 3297282 3337508 3338785.5 3397983 3463134 83864.5

18 10 3291558 3321046.3 3441696.5 3413035.3 3479385.5 3533312 92120.0

19 10 2814360 3008454.8 3072977.5 3085258 3150987 3377634 158751.5

20 10 2976436 3166271 3211727 3232227.9 3259123.8 3699708 186275.8

21 10 3201356 3264505.3 3310094 3325690.9 3343836.8 3563330 108518.6

Table I.16: Summary statistics for the number of insertion orders tried, bydata group and class.

Page 408: New data generation and solution techniques for the

378 Additional results of the heuristics experiments

Group # min q1 median mean q3 max sd

BKA 35 51653 53706.5 58805 127917.8 131014.5 624058 127166.4

n25 90 35812 43317.3 45248.5 45084.8 47104 51105 2825.4

n50 60 439 1946 3410.5 4905.6 7610.5 15157 3725.2

n100 60 0 0 0 0.067 0 1 0.252

Class # min q1 median mean q3 max sd

0 35 51653 53706.5 58805 127917.8 131014.5 624058 127166.4

1 10 42496 43086.5 43438 44124.7 44430 48178 1801.5

2 10 39178 44879 45647.5 44956.3 46482 49652 3171.0

3 10 40671 44776.5 46653 45828.9 47105.3 49221 2491.4

4 10 41417 43518.8 44786.5 44919.1 45825.3 49187 2505.1

5 10 42363 45108.3 46207 46296.9 47694.5 49800 2178.5

6 10 41300 44060.8 44914.5 45402.3 46940.5 51105 2743.9

7 10 35812 41375.8 45755.5 44188.9 47244.5 48994 4405.5

8 10 38097 42441.8 44843 44280 46654.5 47918 3131.6

9 10 42314 44151.3 45657.5 45765.8 46988 49967 2471.6

10 10 737 1612 1800 1852.3 2125.5 3035 611.8

11 10 439 1914.5 2333 2372.3 3240.5 3934 1186.6

12 10 840 1606.5 1825.5 2234.1 3177.8 4208 1143.2

13 10 2361 4303.8 6966.5 7591 9897 15157 4358.0

14 10 3232 7394 7759 8125.1 8534.3 13270 2791.7

15 10 2822 5065.3 7340.5 7259 8510.8 12215 3161.7

16 10 0 0 0 0 0 0 0

17 10 0 0 0 0 0 0 0

18 10 0 0 0 0 0 0 0

19 10 0 0 0 0.1 0 1 0.3

20 10 0 0 0 0.1 0 1 0.3

21 10 0 0 0 0.2 0 1 0.4

Table I.17: Summary statistics for the number of feasible solutions found, bydata group and class.

Group # min q1 median mean q3 max sd

BKA 35 14879 36496.5 39542 37552.7 40431.5 43413 5294.0

n25 90 35556 43141 44991 44750.8 46813.5 49950 2741.4

n50 60 439 1946 3410.5 4905.6 7610.5 15157 3725.2

n100 60 0 0 0 0.1 0 1 0.3

Class # min q1 median mean q3 max sd

0 35 14879 36496.5 39542 37552.7 40431.5 43413 5294.0

1 10 41775 42773 43151 43845.4 44332.5 47855 1873.9

2 10 39091 44804 45585.5 44739 46235.3 48728 3062.2

3 10 40558 44758 46567.5 45741.4 46997.5 49193 2518.3

4 10 41214 43485.5 44763 44816 45708.5 49120 2541.7

5 10 42206 44977.8 46163.5 45851 46992.3 48089 1783.4

6 10 41137 43955.5 44846.5 44838.6 46678.3 47186 2054.5

7 10 35556 41128.8 45162.5 43868.4 47013 48935 4386.7

8 10 37910 41578.5 44088 43324.9 45316.5 46971 2889.8

9 10 42282 44115.8 45642.5 45732.5 46984.8 49950 2465.5

10 10 737 1612 1800 1852.3 2125.5 3035 611.8

11 10 439 1914.5 2333 2372.3 3240.5 3934 1186.6

12 10 840 1606.5 1825.5 2234.1 3177.8 4208 1143.2

13 10 2361 4303.8 6966.5 7591 9897 15157 4358.0

14 10 3232 7394 7759 8125.1 8534.3 13270 2791.7

15 10 2822 5065.3 7340.5 7259 8510.8 12215 3161.7

16 10 0 0 0 0 0 0 0

17 10 0 0 0 0 0 0 0

18 10 0 0 0 0 0 0 0

19 10 0 0 0 0.1 0 1 0.3

20 10 0 0 0 0.1 0 1 0.3

21 10 0 0 0 0.2 0 1 0.4

Table I.18: Summary statistics for the number of unique feasible solutionsfound, by data group and class.

Page 409: New data generation and solution techniques for the

I.1 Construction heuristic results 379

Group # min q1 median mean q3 max sd

BKA 35 0.477 0.999 1 0.965 1 1 0.120

n25 90 0.133 0.273 0.323 0.331 0.389 0.646 0.094

n50 60 0.002 0.007 0.012 0.019 0.030 0.063 0.015

n100 60 0 0 0 2.04E-08 0 3.17E-07 7.71E-08

Class # min q1 median mean q3 max sd

0 35 0.477 0.999 1 0.965 1 1 0.120

1 10 0.245 0.266 0.290 0.311 0.339 0.469 0.069

2 10 0.184 0.323 0.338 0.334 0.351 0.568 0.105

3 10 0.220 0.338 0.372 0.376 0.420 0.568 0.096

4 10 0.215 0.289 0.328 0.334 0.377 0.473 0.082

5 10 0.244 0.312 0.354 0.361 0.419 0.457 0.073

6 10 0.199 0.272 0.304 0.312 0.371 0.413 0.073

7 10 0.133 0.203 0.283 0.293 0.366 0.518 0.117

8 10 0.155 0.227 0.264 0.271 0.312 0.407 0.073

9 10 0.284 0.313 0.376 0.391 0.406 0.646 0.110

10 10 0.002 0.006 0.007 0.007 0.008 0.012 0.003

11 10 0.002 0.007 0.009 0.008 0.012 0.015 0.004

12 10 0.003 0.005 0.006 0.008 0.011 0.014 0.004

13 10 0.009 0.017 0.028 0.031 0.039 0.063 0.019

14 10 0.011 0.028 0.030 0.031 0.034 0.054 0.012

15 10 0.010 0.019 0.029 0.027 0.031 0.046 0.012

16 10 0 0 0 0 0 0 0

17 10 0 0 0 0 0 0 0

18 10 0 0 0 0 0 0 0

19 10 0 0 0 3.17E-08 0 3.17E-07 1.00E-07

20 10 0 0 0 3.10E-08 0 3.10E-07 9.80E-08

21 10 0 0 0 5.98E-08 0 3.07E-07 1.26E-07

Table I.19: Summary statistics for ratio Rsuccess, by data group and class.

Group # min q1 median mean q3 max sd

BKA 35 0.024 0.285 0.675 0.520 0.736 0.832 0.272

n25 90 0.920 0.993 0.997 0.993 0.999 1.000 0.012

n50 60 1 1 1 1 1 1 0

n100 4 1 1 1 1 1 1 0

Class # min q1 median mean q3 max sd

0 35 0.024 0.285 0.675 0.520 0.736 0.832 0.272

1 10 0.956 0.996 0.998 0.994 0.999 1.000 0.013

2 10 0.981 0.995 0.997 0.995 0.998 1.000 0.005

3 10 0.995 0.997 0.998 0.998 0.999 1.000 0.002

4 10 0.991 0.998 0.999 0.998 1.000 1.000 0.003

5 10 0.966 0.988 0.997 0.991 0.999 0.999 0.012

6 10 0.920 0.994 0.997 0.989 0.998 0.999 0.024

7 10 0.980 0.993 0.994 0.993 0.996 0.999 0.006

8 10 0.961 0.969 0.978 0.979 0.991 0.997 0.013

9 10 0.997 0.999 1.000 0.999 1.000 1.000 0.001

10 10 1 1 1 1 1 1 0

11 10 1 1 1 1 1 1 0

12 10 1 1 1 1 1 1 0

13 10 1 1 1 1 1 1 0

14 10 1 1 1 1 1 1 0

15 10 1 1 1 1 1 1 0

16 0 NA NA NA NA NA NA NA

17 0 NA NA NA NA NA NA NA

18 0 NA NA NA NA NA NA NA

19 1 1 1 1 1 1 1 NA

20 1 1 1 1 1 1 1 NA

21 2 1 1 1 1 1 1 0

Table I.20: Summary statistics for ratio Runique, by data group and class.

Page 410: New data generation and solution techniques for the

380 Additional results of the heuristics experiments

Page 411: New data generation and solution techniques for the

Appendix J

Modified constructionheuristic and relatedalgorithms

This appendix contains pseudocode for the modified construction heuristic

and related algorithms used in Criterion 6 of the scheduling-based B&B

scheme. They are included here for completeness and to support some of

the comments made in Chapter 7.

As discussed in Section 7.6.1, the construction heuristic can be used within

the scheduling-based B&B scheme at Criterion 6. In particular, it makes

sense to take advantage of the feasible forward partial schedule already con-

structed at a B&B node. However, to use the construction heuristic and

related algorithms as described in Algorithms 8–11 (in Chapter 5) will de-

stroy the partial schedule, as it will try to insert jobs within the existing

forward partial schedule.

The construction heuristic must be modified to accept a forward partial

schedule—with corresponding earliest start times—as a fixed starting point.

The modified construction heuristic will then try to construct the tail to the

partial schedule, that is, try to construct a feasible full schedule respecting

the input forward partial schedule, by only applying the insertion algorithm

over the unscheduled jobs and appending them to the forward partial sched-

ule. The modified construction heuristic and related procedures are shown

in Algorithms 16–19.

381

Page 412: New data generation and solution techniques for the

382 Modified construction heuristic and related algorithms

Algorithm 16: Procedure ModifiedInsertionAlgorithm(insertion order

ω, forward partial schedule S)

Input: Insertion order, ω = (ω1, . . . , ωn−j) // n− j jobs remaining to be scheduled

a forward partial schedule from a node in the B&B tree, S = (v0, v1, . . . , vj)

Output: Status (success or fail), and—if success—one feasible schedule and its cost

initialise

S ← void, z(S)← +∞ // empty schedule

S- ← (v0, v1, . . . , vj−1) // S without the last job

S′ ← (vj , vn+1 = depot) // initial extension partial schedule

Nsch ← 0 // number of jobs successfully inserted into S′

repeat insert next unscheduled job into extension partial schedule S′

w ← ωNsch+1 // next job to insert based on insertion order ω

if procedure ModifiedInsertNextJob(S-, S′, w) returns success then

// job w was successfully inserted into current partial schedule

Nsch ← Nsch + 1

else

status ← fail // insertion order ω was unsuccessful

until fail to insert a job or all jobs are successfully inserted (i.e. Nsch = n− j)

if Nsch = n− j then

// A full, feasible schedule was constructed

S ← (S-, S′), z(S)← cost of S

status ← success // insertion order ω was successful

return status, S, z(S)

Page 413: New data generation and solution techniques for the

383

Algorithm 17: Procedure ModifiedInsertNextJob(forward partial sched-

ule S-, extension partial schedule S′, next job w)

Input: Forward partial schedule S- ← (v0, v1, . . . , vj−1); current extension partial

schedule S′ = (vj , v1, . . . , vk−1, vn+1); next job to insert, w = ωk

Output: Status (success or fail), and—if success—the updated partial schedule

initialiselast predecessor of w in S′, π(w)← vj , with position index ι(π(w))← 0

first successor of w in S′, σ(w)← vn+1, with position index ι(σ(w))← n+ 1

BadPositions← ∅ // set of positions w cannot be inserted

foreach i ∈ {1, . . . , k − 1} do ESTvi ← earliest start time of job vi in S′

foreach i ∈ {1, . . . , k − 1} doif (vi, w) ∈ PALL then

π(w)← vi, ι(π(w))← i // job vi is a predecessor of w

else if (w, vk−i) ∈ PALL then

σ(w)← vk−i, ι(σ(w))← k − i // job vk−i is a successor of w

// initialise the range of positions for inserting job w into S′

Λ← {ι(π(w)), . . . , ι(σ(w))− 1}foreach i ∈ Λ do

∆i = svi,w + sw,vi+1 − svi,vi+1 // cost of inserting job w after job vi

repeat attempt to insert job w into S′

// set start times to the last values accepted, given by EST

foreach i ∈ {1, . . . , k − 1} do T (vi)← EST (vi)

// the best position available is m+ 1, i.e. after job vm

m = argmini∈Λ\BadPositions{svi,w + sw,vi+1 − svi,vi+1}if inserting job w into position m+ 1 causes a time window violation then

// T (w) > bw and/or T (vi) > bvi for at least one i ≥ m+ 1

BadPositions← BadPositions+m // disallow position after job vm

else

// inserting job w into position m+ 1 is feasible, so update S′

// move each job after position m+ 1 up one position

foreach i ∈ {m+ 2, . . . , k + 1} do vi ← vi−1

vm+1 ← w // insert job w into position m+ 1

// update start time of each job in the partial schedule

foreach i ∈ {m+ 1, . . . , k} do EST (vi)← T (vi)

status ← success // job w was successfully inserted into S′

until successfully insert job w or |Λ| = |BadPositions|if |Λ| = |BadPositions| then

// could not insert job w so insertion order ω was unsuccessful

S′ ← void, status ← fail

return status, S′

Page 414: New data generation and solution techniques for the

384 Modified construction heuristic and related algorithms

Algorithm 18: Procedure ModifiedRepeatInsAlg(AttemptLimit,S)

Input: Maximum number of insertion orders to try, AttemptLimit; a forward partial

schedule from a node in the B&B tree, S = (v0, v1, . . . , vj)

Output: Status (success or fail), and—if success—one feasible schedule and its cost

initialise

S ← void, z(S)← +∞ // empty schedule

Nfail ← 0 // fail counter

repeat attempt to construct one feasible schedule using ModifiedInsertionAlgorithm

Generate a new random insertion order, ω // a permutation of unscheduled jobs

if ModifiedInsertionAlgorithm(ω, S) returns success then

// a feasible schedule was constructed using ω that respects S

S ← feasible schedule, z(S)← cost of S

status ← successelse

// insertion order ω was unsuccessful

Nfail ← Nfail + 1

until a feasible schedule is constructed or Nfail = AttemptLimit

if Nfail = AttemptLimit then

// AttemptLimit insertion orders did not generate a feasible schedule

status ← fail

return status, S, z(S)

Page 415: New data generation and solution techniques for the

385

Algorithm 19: Procedure to construct feasible SOP-TW solutions,

ModifiedConstructionHeuristic(η,S,Runs,Fails,SolnTarget,Attempts,Time)

Input: A SOP-TW problem instance, η; a forward partial schedule from a node in the

B&B tree, S = (v0, v1, . . . , vj); maximum number of iterations to perform, Runs;

maximum number of iterations allowed to fail before stopping, Fails; maximum

number of unique feasible solutions to construct, SolnTarget; maximum number

of insertion orders to try at each iteration, Attempts; maximum run time

allowed , T ime (CPU seconds)

Output: Status (success or fail at finding at least one feasible schedule), and—if

success—all schedules found, including the best feasible schedule

initialise

S∗ ← void, z(S∗)← +∞ // incumbent best solution is an empty schedule

SolnPool← void // pool of unique feasible solutions is empty

// stopping criteria counters

Iter ← 0 // iterations counter

NumEpicFails← 0 // failed iterations counter

NumSolns← 0 // unique feasible solution counter

repeat attempt to construct feasible schedules using ModifiedRepeatInsAlg

// repeat until Runs iterations have been performed or Fails iterations

have failed to produce a feasible solution or SolnTarget unique

feasible solutions have been found or T ime CPU seconds used

Iter ← Iter + 1

if ModifiedRepeatInsAlg(Attempts, S) returns success then

// a feasible schedule was constructed, given by S with cost z(S)

status ← success

if the schedule S is new thenNumSolns← NumSolns+ 1

SolnPool← SolnPool + S // add S to the solution pool

if z(S) < z(S∗) then

S∗ ← S, z(S∗)← z(S) // update the incumbent as S is better

else

// Attempts insertion orders did not yield a feasible schedule

NumEpicFails← NumEpicFails+ 1

until Iter = Runs or NumEpicFails = Fails or NumSolns = SolnTarget or T ime

if NumSolns = 0 then

// a total of Fails×Attempts random insertion orders did not generate a

feasible schedule for SOP-TW problem instance η with forward partial

schedule S

status ← fail

return status, SolnPool, S∗, z(S∗)

Page 416: New data generation and solution techniques for the

Minerva Access is the Institutional Repository of The University of Melbourne

Author/s:

Duane, Emily Jane Eleftheria

Title:

New data generation and solution techniques for the Sequential Ordering Problem with Time

Windows

Date:

2014

Persistent Link:

http://hdl.handle.net/11343/54610

File Description:

New data generation and solution techniques for the Sequential Ordering Problem with Time

Windows