Optimising Throughput in the Hunter Valley Coal Chain Using Integer Programming Techniques

Mohsen Reisi Ardali

M.Sc. (Mathematics)

School of Mathematical and Physical Sciences The University of Newcastle

Thesis submitted for the degree of

Doctor of Philosophy in Mathematics

March 2014

Statement of Originality

The thesis contains no material which has been accepted for the award of any other degree or diploma in any university or other tertiary institution and, to the best of my knowledge and belief, contains no material previously published or written by another person, except where due reference has been made in the text. I give consent to the final version of my thesis being made available worldwide when deposited in the University’s Digital Repository, subject to the provisions of the Copyright Act 1968.

Mohsen Reisi Ardali

iii

Acknowledgements

I wish to express my sincere appreciation to those who have contributed to this thesis and supported me in one way or the other during this amazing journey. First and foremost, I am deeply indebted to my supervisors Prof. Natashia Boland and Prof. Martin Savelsbergh whose positive attitude and insightful thinking have guided me throughout this research. Without the stimulating discussions, guidance, and support, this work would not have been possible. Very special thanks to my previous co-supervisor Dr. Faramroze Engineer for his support in the first year of my PhD. My sincere gratitude is reserved for Dr. Hamish Waterer and the Operations Research group at the University of Newcastle by providing frequent feedbacks and opportunities to discuss my research. I would like to thank the support of the Australian Research Council and the Hunter Valley Coal Chain Coordinator, under the ARC Linkage Project grant LP0990739. I appreciate the help of the CSIRO in supplying data, models and documentation that enabled my project to get off the ground. I would also like to take this opportunity to thank Dr Andreas Ernst from the CSIRO for his useful suggestions. I really appreciate personnels at the HVCCC for their feedback and provision of essential data and information. I am thankful for the help I received from all the people in the Department of Mathematics. Dr. Masoud Talebian, Hadi Charkhgard, Rachel Bunder, Simranjit Kaur, Reena Kapoor, thanks for being there for me through the years. Last but not least, I would like to appreciate my lovely wife, Afsaneh, who supported me in every possible way to see the completion of this work. I owe a lot to my parents, who encouraged and helped me at every stage of my personal and academic life, and longed to see this achievement come true.

v

Contents

Chapter 1. Introduction 1 1.1. The Hunter Valley Coal Chain: An Overview4 1.2. Planning and Scheduling in the Hunter Valley Coal Chain7 1.2.1. Simulation8 1.2.2. Throughput Assessment Tool9 1.3. Integer Programming Background 10 1.3.1. Integer programming 10 1.3.2. Symmetry in Integer Programming 14 1.3.3. Implicit Modelling 15 1.3.4. Polyhedral Analysis 17 1.3.5. Lifting 18 1.4. Contributions 19 1.5. Thesis Outline 20

Chapter 2. Demand Driven Throughput Assessment for the HVCC 23 2.1. Introduction 23 2.2. Literature review 23 2.3. Demand Driven Throughput Assessment Models 27 2.3.1. A Train-job Based Model 27 2.3.2. A Component-job Based Model 34 2.3.3. Strategies to Increase Efficiency 36 2.4. A Computational Study 39 2.4.1. Data sets and their key features 39 2.4.2. Efficiency 43 2.4.3. Throughput and System Analysis 45 2.5. Final Remarks 51 Comparison with Singh, Sier, Ernst, Gavriliouk, Oyston, Giles, and Welgama (2012) 52

Chapter 3. Implicit Modeling: Load Point Based Model 55 3.1. Introduction 55

vii viii CONTENTS

3.2. Load point Based Model 57 3.3. Equivalency of Component and Load Point Based Models 60 3.3.1. Proving sufficient conditions for validity of the implicit model 60 3.3.2. Application to the load point model 66 3.4. Implementation 69 3.5. A Computational Study 72 3.6. Final remarks 74

Chapter 4. Production Scheduling with Flexible Deadline Problem 77 4.1. Introduction 77 4.2. One demand with constant capacity 78 4.2.1. The General Model 79 4.2.2. PSFDP-1C and Lot-sizing with Constant Batches 79 4.2.3. Polyhedral Analysis 83 4.2.4. Example 85 4.2.5. Separation 100 4.2.6. A complete reformulation of PSFDP-1C with only facet-inducing inequalities 102 4.3. One demand with varying capacity 112 4.3.1. Separation 125 4.3.2. A complete reformulation of PSFDP-1V with only facet-inducing inequalities 128 4.4. Multiple demands with constant capacity 137 4.4.1. Example 138 4.4.2. Valid inequalities 140 4.4.3. A sequential procedure for a priori generation of inequalities 145 4.5. Various Arrivals 148 4.5.1. Valid inequalities 150 4.6. Implementation 152 4.7. A Computational Study 153 4.8. Final remarks 156

Chapter 5. Conclusion and Future Work 159

Appendix A. Column Generation 163

Bibliography 167 List of Figures

1.1 Hunter Valley Coal Chain2

1.2 A (simplified) schematic representation of a typical coal export system.5

1.3 Different components are piled beside each other to form a stockpile.6

1.4 Reclaiming direction.6

1.5 P 0 is closer to conv(S) than P 11

1.6 Cutting plain αx ≥ β cuts out optimal solution x∗ 12

2.1 Vessel tonnages 39

2.2 Number of cargoes per vessel 40

2.3 Minimum assembly times for the cargoes of a vessel 40

2.4 Frequency distribution of vessel inter-arrival times 41

2.5 Example of 6-clustering 46

2.6 Number of vessels with delay in each terminal on each day 48

2.7 Number of vessels in queue in each terminal on each day 48

2.8 Tonnage of stockpiles that are being built in each terminal on each day 49

2.9 Tonnage of stockpiles that are being built, held, or reclaimed in each terminal on each day 49

2.10Percentage of stockyard used by the stockpiles that are being built, held, or reclaimed on each day 50

2.11Number of trains unloaded at each terminal on each day 51

3.1 Two ways to assign 8 and 6 train-jobs to c1 and c2 56

3.2 An instance with C not sortable 65

4.1 One demand must be met before its deadline 79

4.2 One demand, D = 9,C = 4, m = 2,T = 4 86

4.3 2-demand, D1 = 4,D2 = 5,C = 3, m = 2,T = 4 139

ix x LIST OF FIGURES

4.4 Various arrivals, D1 = 4,D2 = 5,C = 3, m1 = 1, m2 = 2,T = 4 149 List of Tables

2.1 Model parameters 28 2.2 New model parameters 35 2.3 Terminal characteristics 39 2.4 Minimum total delay incurred by the vessels arriving in the main period 42 2.5 Maximum total delay incurred by the vessels arriving in the main period 42 2.6 Results for different combinations of ∆− and ∆+ 44 2.7 Formulations and strategies results 44 2.8 Average number of vessels and the average delay per vessel 47

3.1 Load point based model parameters 57 3.2 An instance with C not sortable 65 3.3 Component based model results 73 3.4 Load point based model results 73 3.5 Separation 74

4.1 Optimal objective values 154 4.2 Problem size 155 4.3 Violated inequalities 156

xi

Abstract

The Hunter Valley Coal Chain (HVCC) is the largest coal export operation in the world. It concerns the transport of coal from mines located in the Hunter Valley to the in , Australia. Approximately 1700 coal vessels are loaded at the Port of Newcastle and more than 150 million tonnes of coal is exported each year. The HVCC is a complex system involving 14 producers operating 35 coal mines, 27 coal load points, 2 rail track owners, 4 above rail operators, 3 coal loading terminals with a total of 8 berths, and 9 vessel operators. The coal export supply chain is managed by the Hunter Valley Coal Chain Co- ordinator (HVCCC). One of the most important and far-reaching decision problems faced by HVCCC is the planning of the long-term capacity. The demand for coal continues to grow and thus the export through the Port of Newcastle is expected to increase in the future. Therefore, the infrastructure needs to be upgraded and the capacities in the system expanded. As upgrading infrastructure and expanding the capacity is extremely expensive, a careful and thorough system analysis is crucial to ensure that investments are made in the right place and at the right time. HVCCC uses an elaborate and detailed simulation model of the HVCC to analyse and assess the throughput of the system, to detect and identify any bottlenecks in the system, and to investigate and explore the benefits of infrastructure upgrades and expan- sions. As the simulation model is very detailed, it takes a considerable amount of time to run, and as a consequence, a few scenarios can be analysed. We develop an integer programming based decision support tool that quickly assesses the throughput of a coal export supply chain for a given level of demand. The tool can be used to rapidly evaluate a number of infrastructures for several future demand scenarios in order to identify a few that should to be investigated more thoroughly using the detailed simulation model. To make the natural integer programming model computationally tractable, we exploit problem structure to re- duce the number of variables, and we employ aggregation as well as disaggregation

xiii xiv ABSTRACT to strengthen the linear programming relaxation. We use the tool in a computa- tional study in which we analyse system performance for different levels of demand to identify the potential bottlenecks. Afterwards, we discover a symmetry in the integer programming model which contributes to a computational issue. By aggregating certain variables, we suggest an aggregated (implicit) integer programming model that can break the symmetry. Applying the Halls marriage theorem and the model structure, we provide the re- quired constraints which make the solution of the aggregated model feasible for the original model. As the number of required constraints is considerably large, and most of them are redundant at the optimal solution, a separation algorithm is de- signed to find those constraints that are necessary and add them in the search tree. A computational study proves the advantage of the aggregated integer model when it encounters with challenging scenarios. Inspired by the HVCC problem, we introduce Production Scheduling with Flex- ible Deadline Problem. The problem is to satisfy the customer demand with pro- duction capacity before its deadline which has to be decided (flexible deadline). We analyse its polyhedron and provide all facet-inducing inequalities which together provides a complete formulation for the cases that the there is one customer and the capacity is either constant or varying. We also generalise the problem to in- clude more demands, and to capture varying arrivals, so that it can resemble a sub-problem of the HVCC problem. We provide two classes of valid inequalities for the generalised problems and explain the way to implement those in the HVCC problem. A computational study shows that these inequalities lead to a stronger formulation for the HVCC problem that shows itself with the higher LP relaxation optimal objective values. CHAPTER 1

Introduction

Since the global population is growing, and living standards are improving in developing countries, the demand for energy is increasing. Coal is still consid- ered as a cheap and safe source of energy to satisfy future demand. Over the past 10 years, Australia’s coal exports to countries, such as Japan, China, Ko- rea, India and Taiwan have increased by more than 50 percent. Demand for coal is still expected to increase dramatically over the next 10 years in China and India (http://www.australiancoal.com.au). The black coal industry has been creating significant employment in Australia, and it plays a major role in Australia’s social and economic development. More than 54 percent of the electricity used by business, industry and households in Australia is generated by black coal. Furthermore, 4.7 million tonnes of coal are used by the Australian steel industry each year, and coal is an essential ingredient in making cement. Coal deposits are found in most states of Australia, but are particularly abundant in New South Wales. The Hunter Valley area, located in New South Wales, is a rich source of coal with mostly open cut mines, while the mines in other parts of New South Wales are usually underground mines. The Hunter Valley Coal Chain (HVCC) is the largest coal export operation in the world. This operation includes transporting coal from over 35 mines located in the Hunter Valley area to the port of Newcastle in New South Wales. The Port of Newcastle serves approximately 1700 vessels to export more than 150 million tonnes of coal per year. The HVCC refers to the inland part of the coal chain in the Hunter Valley. The HVCC follows the Hunter River path from mining areas in the Hunter Valley to Newcastle. Most of the coal mines in the Hunter Valley area are open cut mines. When the coal is mined, it is stored either at a coal loading facility shared by several mines, or at a railway siding located at the mine. Whilst some coal is transported by truck to the terminals at the Port of Newcastle, the majority of coal is transported by train to the terminals. Afterwards, the coal is unloaded at the terminal dump stations and stacked as stockpiles on the stockyard. Once the vessel for which the

1 2 1. INTRODUCTION coal is meant arrives at the berth, the coal is loaded onto the vessel. Figure 1.1 gives an overview of the Hunter Valley Coal Chain.

BOGGABRI

WHITEHAVEN TO TAMWORTH GUNNEDAH Gunnedah Curlewis

New GUNNEDAH Werris Creek South WERRIS CREEK ULAN Wales Quirindi NEWCASTLE Willow Tree

Ardglen BICKHAM Murrurundi

Parkville Scone TO

Aberdeen Gloucester DARTBROOK ULAN BENGALLA STRATFORD Ulan ANVIL HILL

TO GULGONG Coggan’s Ck Kerrabee Muswellbrook Sandy Hollow DURALIE WILPINJONG MT ARTHUR St. Helliers DRAYTON Grasstree Ant ene LIDDELL i NEWDELL HUNTER VALLEY MT. OWEN RAVENSWORTH MACQUARIE GENERATION CAMBERWELL UNLOADER WAMBO LOOP RIXS CREEK ASHTON Singleton MTCL 1

MTCL 2 BULGACessnock Maitland ISLAND AUSTAR PT WARATAH BLOOMFIELD NEWCASTLE TERALBA NEWSTAN Broadmeadow ERARING POWER Morisset STATION UNLOADER

VALES PT. TO SYDNEY UNLOADER

Figure 1.1. Hunter Valley Coal Chain

As mentioned above, the majority of the coal is transported by trains from mines to the terminals. The trains with 6 locomotives and up to 148 wagons with length of up to 2 kilometers can carry about 8,500 tonnes of coal. Employing such a long train is beneficial in terms of costs and service efficiency, but requires high-speed loading and unloading facilities and large storage capacity. The coal transportation is de- pendent on a shared rail system. The railway corridor which is used in the HVCC is part of the Main North railway line. The Hunter Valley rail infrastructure is man- aged by the Australian Government through the Australian Rail Track Corporation (ARTC). Any authorised rail operator can use the track as it is an open access track. The other infrastructures, such as the load points that are associated with the coal transportation are owned by a mine or coal loader. Pacific National and are two major above-track (rolling stock) operators which use the Hunter Valley rail track. Both operators use the track to transport coal, agricultural and industrial products, and other freight. Pacific National transports approximately 80% of the coal in the Hunter Valley and Aurizon the remaining 20%. In addition, passenger services are operated by CityRail on parts of the track as the Hunter line. As mentioned above, the main corridor which is a large section of the rail track, is shared with the passenger and freight rail operations. The movement of the trains through the main corridor is restricted by pre-determined time and space paths. Outside the main corridor, the movement of the trains is not as restricted as the 1. INTRODUCTION 3 main corridor. Train paths are divided into up-paths which travel from the load points to the terminals, and down-paths which travel from terminals to the load points. The Kooragang Coal Terminal (KCT) on Kooragang island and the Carrington Coal Terminal (CCT) in the suburb of Carrington are two terminals at the port of Newcastle, located on either side of the Hunter river. The terminals are shared facilities that are owned by 15 different coal mining companies in the Hunter Valley. The coal export facilities at these terminals are operated by Port Waratah Coal Services Limited (PWCS). In each terminal, there are facilities for unloading and storing the coal on the stockyard and reclaiming and loading the coal onto the vessels. The Newcastle Coal Infrastructure Group (NCIG) terminal is a new one that has been established recently to accommodate the export growth. The stockyard at the KCT has four pads, each 2.5 km long and 56 m wide with the capacity of 2.8 million tonnes of coal. The stockyard at the CCT also has four pads, each 1 km long and 40 m wide with the capacity of 0.6 million tonnes of coal. The KCT can load three vessels at the same time with the ship loading capacity of 88 Mtpa. The KCT can only accept coal delivery by rail, while the CCT can accept coal by either rail or road. The CCT has the capacity to load two vessels at the same time with the ship loading capacity of 25 Mtpa. The HVCC is constituted by the mining companies, the track owners, the rail operators, the PWCS, and the NCIG. Coordinating the entire system is necessary to increase the efficiency of the supply chain. The Hunter Valley Coal Chain Coordi- nator (HVCCC) is responsible for providing an integrated planning and scheduling center for the HVCC. Their job is to support infrastructure expansion with a strate- gic modelling, and to schedule activities at the operational level. As the integrated system is very complex, optimisation technology is highly valuable to support the HVCCC in their goal to maximise the efficiency of the system. The HVCCC plans and schedules all movements of coal in the system, but it is not responsible for the plan execution. The “inbound” plan that is created by the HVCCC covers the transportation of coal from the mines to the stockyards including the load points activities, train scheduling, dump stations, and stacker activities. The HVCCC also creates “outbound” plans which cover the movement of coal from the stockyard onto the vessels including the reclaimers and ship loaders activities. The “Live Run” team at PWCS is responsible for executing the plans that are provided by the HVCCC. The inbound plan covers 36 hours of operations 4 1. INTRODUCTION and is ready 24 hours before its execution time. The outbound plan also covers 36 hours of operation and is released 7 hours before it goes into effect. In this thesis, the 2008 data are used for the computational studies. At that time, the NCIG terminal was not built, and two pads of the KCT terminal were only 1.3km long each. Therefore, we study only the CCT and KCT terminals with the capacities of 2.2 million tonnes of coal in KCT and 0.6 million tonnes of coal in CCT. However, the models in this thesis can easily accommodate the NCIG and the KCT terminals at their full capacity.

1.1. The Hunter Valley Coal Chain: An Overview

The HVCC is a pull system in which activities are driven by the customers’ demands, on the contrary to the push system that first produces and then tries to find the customers for the products. In the HVCC, the demand is specified in the form of a shipping stem, i.e., a stream of vessel arrivals. Each vessel arrival, referred to as a trip, is characterised by an arrival time that is a date and time at which the given trip will arrive at the port. The terminal at which the vessel is to be loaded is specified in advance. In addition, a cargo-profile is associated with the trip, which specifies the various brands of coal and their tonnage that constitute the vessel’s cargo. Since coal is a blended product, each brand comes with its tonnage and a brand-recipe which is a combination of mines and their percentage contributions. For example, one recipe for brand X might be 25 percent from mine A and 75 percent from mine B. A component is the material in a cargo that comes from a particular mine, so a cargo made up of 25 000 tonnes from mine A and 75 000 tonnes from mine B, for example, has two components. A complex infrastructure supports and sustains the coal export supply chain in the Hunter Valley. A simplified view of the infrastructure presented in Figure 1.2. Coal moves from the load points at the mines along the rail tracks to the dump stations at the terminals (going through a number of rail junctions), where conveyors take the coal to stackers that assemble the stockpiles on pads in the stockyard. Blended coal is subsequently reclaimed from the pads in the stockyard by reclaimers and transported via conveyors to the ship loaders at the berths to finally be loaded onto waiting vessels. The following list describes the infrastructure components and their character- istics in more details:

• Load point: a facility where trains are loaded. In many cases, there is a one-to-one correspondence between a mine and a load point, but in some 1.1. THE HUNTER VALLEY COAL CHAIN: AN OVERVIEW 5

Figure 1.2. A (simplified) schematic representation of a typical coal export system.

cases a load point serves more than one mine. Each load point is served by trains of a specific size (referred to as the loaded coal tonnage) and using a specific type of wagon. Each load point has a specific load rate per hour. • Junction: a junction connects two rail track segments and is used to model rail track capacity. Specifically, a junction capacity limits the number of trains that can pass through the junction in a day. • Stockyard: the area at a coal terminal where coal is stacked and reclaimed, i.e., where coal blends are assembled. • Pad: a specific area in the stockyard where stockpiles of coal are assembled. Each pad has a length (meters). • Dump station: a facility where trains are unloaded. Each dump station has a dumping rate (tonnes per hour) and a number of working hours per day. When a train is being unloaded at a dump station, the coal is immediately transported to the stockyard by a conveyor belt. • Stacker: a machine that is used to stack coal on a pad in the stockyard of a terminal. Each stacker has a stacking rate (tonnes per hour) and a number of working hours per day. • Reclaimer: a machine that is used to reclaim stockpiles from pads in the stockyard. Each reclaimer has a reclaimer prepare time (hours), a reclaim- ing rate (tonnes per hour), and a number of working hours per day. • Ship loader: a machine that loads coal onto a vessel. Each ship loader has a loading rate (tonnes per hour) and a number of working hours per day. • Berth: a place where a vessel can be loaded. 6 1. INTRODUCTION

As mentioned earlier, coal is a blended product that is assembled in the form of a stockpile on a pad. The purpose of building a stockpile is to store the coal until its vessel arrives and to mix the coal at the time of reclaiming. A stockpile takes the entire width of a pad and a certain amount of its length, which can be derived from the tonnage of the stockpile.

Figure 1.3. Different components are piled beside each other to form a stockpile.

Figure 1.4. Reclaiming direction.

To achieve the required mix of coal, a variety of stacking and reclaiming methods can be used. For instance, different components can be piled beside each other with a triangular cross-section to form a stockpile (Figure 1.3). The stockpile then is reclaimed in a plane perpendicular to the layers (Figure. 1.4). The coal is mixed while the stockpile is being reclaimed by a reclaimer machine, and it is transported to the ship loaders by the conveyor belts. 1.2. PLANNING AND SCHEDULING IN THE HUNTER VALLEY COAL CHAIN 7

If the cargo-profile of a vessel includes more than one cargo, and, as a result, multiple stockpiles have to be reclaimed and loaded onto the vessel, this has to be done in a pre-specified order to ensure the vessel stability. Furthermore, in practice, the loading of a vessel will only commence when all of its stockpiles have been fully assembled so as to avoid the risk of an interruption in the loading of a vessel due to coal supply interruptions. The assembly of a stockpile takes between three to seven days depending on the coal components (some mines are located several hundreds of miles away from the port) and therefore, the assembly of the stockpiles of a vessel can start about five to ten days before its arrival time. Coal from a specific mine is transported to a terminal using a train of a specific size, in terms of the tonnage it can haul, which depends on the load point charac- teristics and the above-rail operator serving the load point. As a consequence, the coal component tonnage of a vessel’s cargo can be converted into a number of train loads. To effectively operate the coal export chain it is crucial to time the trains as- sociated with a vessel’s cargo properly. Not surprisingly therefore, this is one of the key decision variables in the demand driven throughput assessment model discussed in Chapter 2. The quality measure used in the demand-driven throughput assessment model is trip delay. The trip delay for a particular vessel is the difference between the trip departure time and the trip due time if the trip departure time is greater than the trip due time (otherwise there is no delay). The trip due time is the earliest possible departure time under ideal circumstances, which determined as follows. First, we assume that a berth is available for the vessel at its arrival time and that the stockpiles corresponding to its cargoes are ready to be reclaimed at its arrival time. Next, the due time is calculated as the vessel’s arrival time plus for each stockpile the reclaimer prepare time and the stockpile reclaiming time, which depends on the stockpile tonnage and the minimum of the reclaiming rate and ship loading rate.

1.2. Planning and Scheduling in the Hunter Valley Coal Chain

One of the most important and far-reaching decision problems faced by the HVCCC is the planning of the long-term capacity. Bayer, Rademacher, and Ruther- ford(2009) estimate the capacity development and the export growth of the NSW port of Newcastle by 2018. The Australian Rail Track Corporation Ltd, has also forecasted the growth of the contracted export coal volumes from 158 mtpa in 2013 to 206 mtpa in 2019 (http://www.artc.com.au/library/2013%20HV%20Strategy% 8 1. INTRODUCTION

20-%20Final.pdf). The demand for coal continues to grow and thus the export through the Port of Newcastle is expected to increase in the future. Even the optimal use of the existing infrastructure will not be sufficient to accommodate an- ticipated future demand. Therefore, the infrastructure needs to be upgraded, and the capacities in the system need to be expanded. As upgrading the infrastructure and expanding the capacity is extremely expensive, a careful and thorough system analysis is crucial to ensure that investments are made in the right place and at the right time. The possible upgrading and expanding options are load points improve- ments, new train control technology, track capacity upgrades, additional tracks, new passing loops, new overpasses, new dump stations, additional stockyard space, new stackers, new reclaimers, new berths, entire new terminal, etc. In order to manage a complex system, like the HVCC with many sub-systems, decision making tools are highly advantageous. In the following section, we discuss one of the decisions making tools that is currently used by the HVCCC.

1.2.1. Simulation. The HVCCC uses an elaborate and detailed simulation model of the HVCC to analyse and assess the throughput of the system, to detect and identify any bottleneck in the system, and to investigate and explore the benefits of infrastructure upgrades and expansions. The throughput assessment is performed for a given level of demand, where the demand is specified in form of a shipping stem, a stream of vessel arrivals with for each vessel a cargo-profile specifying the required brands of coal (one or more) with their tonnages. Creating a shipping stem that is a fairly accurate representation of expected future demand is a significant challenge in its own right (see Boland, Engineer, Reisi, Savelsbergh, and Waterer(2011) for more details). The simulation tool has two main modules:

• A master schedule generating module: after processing a shipping stem as an input, this module provides a master schedule for delivering coal from mines to the terminals while considering different capacity of the system. • Dynamic network operation module: this module evaluates the perfor- mance of the master schedule under dynamic incidences. The trains might experience delay since other trains (passenger or other freight trains) use the rail tracks, or the train must wait at the load points or terminals.

The simulation requires demand data, load point data, track data, train data, termi- nal data, and maintenance data. The simulation model generates key performance indicators, such as throughput, ship queues, ship turn-around times, ship loading 1.2. PLANNING AND SCHEDULING IN THE HUNTER VALLEY COAL CHAIN 9 times, demurrage cost, train cycle times, cargo build times, stacker utilisation, and ship loader utilisation. The model is validated using historical data with various anticipated operating scenarios. For the validation, annual export tonnage, delivery performance (in terms of late arrivals for each mine and overall late arrivals), aver- age daily tonnage delivered, average number of trains per days, and train utilisation are used. As the simulation model is very detailed, it takes a considerable amount of time to run. As a consequence few scenarios can be analysed. Given the number of possible infrastructure upgrades and expansions (e.g., load point capacity, track capacity, dump station capacity, stockyard capacity, stacking capacity, reclaiming capacity, ship loading capacity, and berth capacity) and the number of future de- mand schemes, a lot of potential scenarios need to be examined. Considering time, analysing that number of scenarios with the simulation model is not a feasible idea.

1.2.2. Throughput Assessment Tool. Our research aims to complement the simulation tool with an integer programming based decision support tool that more quickly determines the throughput of the system for a given level of demand, al- though possibly less accurate, and thus may be used to rapidly evaluate a number of infrastructures for several future demand scenarios in order to identify a few that may be investigated more thoroughly using the simulation model. The integer pro- gramming based decision support tool can be used to evaluate the throughput of the system and to find the bottleneck. As the aim is to accommodate the future demand, the bottleneck, then, can be eliminated by more efficient scheduling at the operational level, or by upgrading and expanding the infrastructure. The integer programming model covers the entire system from the load points to the terminals. This model includes load point facilities, rail tracks, trains and wagons, dump stations, stackers, pads, reclaimers, ship loaders, and berths. For the sake of efficiency, the IP model does not consider the details of the system at the operational level, but includes a reasonable amount of details which are enough for tactical and strategic decision making. The balance between accuracy and efficiency is reflected in our choice of time granularity: the planning horizon is divided into days, and all decisions are at the daily level. In order to measure the performance of the system, total delay which is the summation of all vessels delay, the average delay per vessel, the daily production, which is daily stockpile tonnage and number of trains per day, and number of vessels in the queue are analysed. 10 1. INTRODUCTION

1.3. Integer Programming Background

This section provides an integer programming background that provides the con- cepts and theorems used throughout the thesis. This section starts with an overview on integer programming formulations and methodologies to enhance them. After- ward, implicit modelling is described, and then symmetry in integer programming with a few techniques to break symmetry are explained briefly. Finally, polyhedral analysis and the required terms and definitions are introduced.

1.3.1. Integer programming. Many real world applications, like scheduling in supply chain problems, can be modelled as an Integer Programming Problem (IP). In an IP the decision variables are integer. For example, in a production planning problem the decision variables represent the number of jobs that are processed in a time period. Mathematically, an integer programming problem has the form

min cx

s.t. Ax ≥ b

n x ∈ Z+

n m×n m where x is a column vector, c ∈ Q is a row vector, matrix A ∈ Q , and b ∈ Q is a column vector. When the integrality condition on vector x is relaxed, the problem is called Linear Programming (LP) Relaxation. There are efficient algorithms to solve the LP relaxation. In the LP relaxation, as the problem size (or number of non-zeros in matrix A) gets smaller, the problem is solved quicker. However, in integer programming, which is NP-hard, there are more complicated factors that make it computationally difficult: for example, performance of a solver with two formulations of one problem might be remarkably different. Chapters 2, 3, and 4 explain some techniques that are theoretically and practically useful in solving an IP efficiently in a real case study. n Given an integer set S = {x ∈ Z+ : Ax ≥ b}, LP relaxation of S is P = {x ∈ n R+ : Ax ≥ b}, and S ⊆ P . In the majority of real applications (as well as the one considered in this thesis), S is finite, and P is bounded i.e. there is a scalar

M ∈ R such that xi ≤ M for all (x1, x2, . . . , xn) ∈ P . The convex hull of S is the Pk i Pk 1 2 k set conv(S) = {x : x = i=1 λix , k ≥ 1, λi ≥ 0, i=1 λi = 1, x , x , . . . , x ∈ S}. In the ideal case P = conv(S), and only solving the LP relaxation is enough to find the optimal integer solution for the IP as every extreme point of P is integer. However, in reality finding a matrix A so that P = conv(S) is a challenge and 1.3. INTEGER PROGRAMMING BACKGROUND 11 typically requires exponential number of rows or columns (constraints or variables). In fact, it is impossible in large scale complex applications. Since conv(S) ⊆ P ,

ZLP ≤ ZIP , where ZLP and ZIP are the optimal objective values for LP relaxation and IP 0 n 0 0 0 respectively. Let P := {x ∈ R+ : A x ≥ b }, and suppose S ⊆ P ⊂ P . The LP relaxation based on (A0, b0) is called stronger than the LP relaxation based on (A, b) (Figure 1.5). In this case, 0 ZLP ≤ ZLP ≤ ZIP ,

0 0 0 n 0 0 n where ZLP = min{cx : A x ≥ b , x ∈ R+}, and the formulation (A x ≥ b , x ∈ R+)

Figure 1.5. P 0 is closer to conv(S) than P

n is said to have a higher quality than the formulation (Ax ≥ b, x ∈ R+). The quality of the formulation is an important factor to save time and memory in solving an IP. In a branch-and-bound algorithm (as an enumerative method) bounds that come from the LP relaxation prevent the solver to explore unnecessary nodes in the search tree. In fact, the efficiency of the algorithm highly depends on ZLP . Inequality αx ≥ β is called valid for S if αx ≥ β for all x ∈ S. If αx ≥ β is not valid for P while it is valid for S, then adding the inequality to the LP relaxation formulation makes it stronger i.e.

n S ⊆ P ∩ {x ∈ R+ : αx ≥ β} ⊂ P.

Any inequality that is not valid for P while it is valid for S leads to a stronger formulation, and it is called strong inequality. These kind of inequalities can be 12 1. INTRODUCTION derived and added to the LP relaxation by analysing the structure of the IP in advance (before starting to solve the problem). Chapter 2 and 3 provide some techniques to strengthen a formulation, and Chapter 4 explains more sophisticated approaches in enhancing a formulation. On the other hand, the valid inequalities that make the formulation stronger can be found and added to the problem during the solving process. Suppose x∗ is the optimal solution for the LP relaxation that is non-integer. Suppose inequality αx ≥ β is valid for S, but x∗ does not satisfy the inequality (αx∗ < β). This inequality is called cutting plane (which is a strong inequality). The fractional point x∗ can be cut off by adding the cutting plane inequality to the LP relaxation (Figure 1.6) . The new LP relaxation is solved again and if its optimal solution is not integer, a new cutting plane inequality might be found and added to the LP relaxation. In each iteration, the LP relaxation becomes stronger. Sometimes, the process continues until the optimal integer solution is found, which is called cutting plane algorithm.

Figure 1.6. Cutting plain αx ≥ β cuts out optimal solution x∗

1.3.1.1. Separation Algorithm. In order to explain the separation problem, the following term is first introduced:

n Definition 1.1. Given a set of integer points S ⊂ Z , a system of inequalities n Ax ≥ b partially represents S if S ⊂ {x ∈ Z : Ax ≥ b}. The mathematical n formulation (Ax ≥ b, x ∈ Z ) is then called partial formulation. Otherwise, if n n S = {x ∈ Z : Ax ≥ b} then the mathematical formulation (Ax ≥ b, x ∈ Z ) is named complete formulation. 1.3. INTEGER PROGRAMMING BACKGROUND 13

If a complete formulation is cumbersome (uses a lot of computer memory) due to large number of inequalities, it can be relaxed by removing a subset of inequalities and what is left is called partial formulation. For example, consider the travelling salesman problem in which a salesman must visit n cities exactly once and then return to his starting point. The problem is modeled in form of

X X min cijxij (1.1) i∈V j∈V subject to X xij = 1 ∀j ∈ V i X xij = 1 ∀i ∈ V j X X xij ≤ |X| − 1 ∀X ⊂ V i∈X j∈X n xij ∈ B , where V is the set of cities, and xij = 1 if the salesman travels from city i to P P city j. Inequality i∈X j∈X xij ≤ |X| − 1 eliminates sub-tours with length |X| in each subset X. The number of sub-tour elimination inequalities is exponential due to exponential number of subsets. The travelling salesman problem model without sub- tour elimination inequalities is a partial formulation that might provide infeasible solution. In what follows, an algorithm is introduced that starts with a partial formulation and always provide feasible solution. n Given a set of integer points S ⊂ Z , suppose a system of valid inequalities 0 0 n 0 0 in form of A x ≥ b available so that S ⊆ {x ∈ R : A x ≥ b }. Suppose point ∗ n 0 0 x ∈ R is feasible in A x ≥ b . The separation algorithm is either to prove that x∗ ∈ conv(S), or otherwise, to find a new valid inequality αx ≥ β that is violated by x∗ (αx∗ < β). If the system of inequality A0x ≥ b0 provides a partial formulation, and if x∗ is an integer solution, then the inequality αx ≥ β that is found by separation algorithm is necessary and must be added to the system of inequalities A0x ≥ b0 to form new system A1x ≥ b1. In the travelling salesman problem, if the solution has a sub-tour, the required sub-tour elimination inequality has to be generated and added to the formulation. Otherwise, if the system of inequality A0x ≥ b0 provides a complete formulation, the inequality that is found by the separation algorithm and violated by the current solution is a cutting plane and adding it to A0x ≥ b0 makes it stronger. 14 1. INTRODUCTION

When the separation algorithm receives point x∗, and if x∗ ∈/ conv(S), it at- tempts to generate a violated inequality by solving a separation problem, or it searches through a list of inequalities to find a violated one. Generally, the sep- aration algorithm is implemented in the branch-and bound tree for two purposes:

• to keep feasibility in the search tree if the branch-and-bound tree starts with a partial formulation. • to make the formulation stronger by generating (finding) and adding cutting planes in the search tree (branch-and-cut).

1.3.2. Symmetry in Integer Programming. If an IP has a set of solutions which have the same objective value, and they have similar effects on the constraints of the IP (they consume the same amount of resources), then the IP is symmet- ric. In real applications, like scheduling of jobs on identical machines, symmetry causes computational issues. Using traditional branch-and-cut, a solver explores many nodes with symmetric solution without improving the bounds which results in difficulties even in modest size instances. In fact, there are many isomorphic sub-problems in the search tree that waste time and memory. To tackle the symmetry issue, two steps are necessary: detecting symmetry, and breaking it. In many cases, the symmetry in a model is known to the modeller. However, there are some techniques to find a symmetry and break it during solving of the problem Margot(2010). There are different ideas that have been suggested for breaking symmetry. For example, perturbing (in which the symmetry is destroyed by small perturbation of the coefficient in the objective function), adding symmetry breaking constraints in advance or dynamically in the search tree, and reformulation are a few symmetry breaking methods. In what follows, we are going to elaborate on the reformulation approach, since we are going to use it in Chapter 3 to break a symmetry. Reformulation has a significant effect on how efficient a problem is solved. Two formulations of one problem might have different levels and types of symmetry.

Suppose three jobs j1, j2, and j3 have to be processed on a machine in 2 days. These jobs require the same amount of time to be processed which is less than 8 hours, so the machine can process all of them in one day. Suppose, the three jobs required the t same amount of resources, and the processing costs are similar. Binary variable xj gets value one if job j is done on day t, otherwise it is zero. In this example, there are a set of solutions that are symmetric. For example, solutions (1, 1, 0, 0, 0, 1) and (1, 0, 1, 0, 1, 0) are two feasible solutions for (x1 , x1 , x1 , x2 , x2 , x2 ) that have the j1 j2 j3 j1 j2 j3 1.3. INTEGER PROGRAMMING BACKGROUND 15 same objective value. The solver explores both that is not necessary. In order to avoid this sort of symmetry, symmetry breaking constraints, like forcing the jobs in a lexicographic order, and reformulation are suggested. Formulating the example alternatively, suppose xt represents the number jobs that are done on day t. The new equivalent solution for two symmetric solutions (1, 1, 0, 0, 0, 1) and (1, 0, 1, 0, 1, 0) is (x1, x2) = (2, 1). Solution (2, 1) means two jobs are processed on day 1 and one job on day 2 which is equivalent to those two solutions from the first formulation. The aggregated formulation has fewer variables and removes the symmetry.

1.3.3. Implicit Modelling. Modelling some problems, like shift scheduling problems, requires a large number of integer variables and constraints. In shift scheduling, for example, the goal is to specify a set of shifts (possibly different types) with their starting time and duration for a given day to assign employees so that the required number of employees in each time period is satisfied and the cost is minimised. In some cases, a rest or meal break must be positioned in each shift to boost efficiency of employees. One possible way to formulate the problem is to use a variable for each shift-break combination. The number of combinations depends on the number of possible shifts multiplied by the number of positions that a break can be placed in a shift which can be relatively large due to shift types and flexibility in positioning breaks in a shift. The alternative option to model the problem is to consider shift variables and break variables separately. The solution, therefore, is a set of shifts (without any break) and a set of breaks. However, the constraints can be designed in such way that the desired shifts with a break in each can be extracted from the solution. In other words, the breaks can be assigned to the shifts so that each shift has exactly one break and no break is left at the end, and the required number of employees in each time period is still satisfied. In fact, assigning breaks to shifts is implicitly considered in the model. The solution of an implicit model does not look like what we aim for. However, the implicit model is designed in such way that from its solution a feasible solution for the original problem can be deduced. In other words, the required information can be obtained from its solution. Thompson(1995) describes implicit modelling in shift scheduling problem with a simple example and uses first-in-first-out based method to extract the required information out of the implicit model solution, which is a list of shifts with their start time, duration and position of their break to satisfy the minimum requirements of employees. 16 1. INTRODUCTION

Rekik, Cordeau, and Soumis(2004) discuses implicit model feasibility in shift scheduling problems. Before explaining the paper’s idea the following term is intro- duced followed by a theorem:

Definition 1.2. In a bipartite graph G(U ∪ V,A) where U ∪ V is the vertex set and A is the arc set, subset M ⊂ A is called a perfect matching if each vertex in U ∪ V is incident to exactly one arc in M.

Theorem 1.1. (Hall’s marriage theorem) There is a perfect matching in bipartite graph G(U ∪ V,A) if and only if |U| = |V |, and

|A(S)| ≥ |S|, for every S ⊂ U, where A(S) = {v ∈ V :(u, v) ∈ A for some u ∈ S} is the adjacent set of S.

Rekik, Cordeau, and Soumis(2004) show that the feasibility of the implicit model in shift scheduling problem is equivalent to the existence of a perfect matching in bipartite graph G = (J ∪ K,A) where J is the set of shifts, K is the sets of breaks, and (j, k) ∈ A if break k suits shift j. Referring to Theorem 1.1, if |A(S)| ≥ |S| for every S ⊂ J, then the breaks can be feasibly assigned to the shifts. Otherwise, the required inequalities are added to the model to ensure |A(S)| ≥ |S| for every S ⊂ J. The inequalities for all subsets of J can be added to the model in advance which is not suggested, as there are exponential number of subsets, and the model becomes large and consequently intractable computationally. The alternative option is to add the inequalities in the search tree for those subsets that do not satisfy Hall’s marriage condition. The efficiency of the algorithm to find those subsets plays important role in overall problem solving efficiency. Chapter 3 of this thesis is about creating an implicit model for the HVCC problem and finding the required inequalities to provide feasible solutions for the original problem. Although implicit models have received a lot of attention in the shift scheduling literature, they scarcely appear in other contexts according to the author’s knowl- edge. The paper by Boland, Hughes, Merlot, and Stuckey(2008) is one example. They explain an implicit integer programming for course timetabling which is about finding a session in the timetable for every lesson of a class, and determining the population of each class (assignment of students to classes). Their general integer model does not explicitly represent the assignment of individual students to classes, but rather only represents the allocation of groups of students (those with identical subject selections) into groups of classes (blocks). Both students and class variables 1.3. INTEGER PROGRAMMING BACKGROUND 17 have been aggregated, and their representation in terms of individual students and classes is implicit in the model

1.3.4. Polyhedral Analysis. Polyhedral analysis is considered as a strong tool in modelling and solving the IP. The approaches are to find a high quality LP relaxation that can approximate the IP optimal solution and to generate strong cut- ting planes to add during the search process. The following definitions and theorem provides terminologies required to discuss polyhedral analysis in Chapter 4.

Definition 1.3. A constraint in a system of inequalities Ax ≥ b is redundant if the constraint is implied by other constraints in the system.

Definition 1.4. The system Ax ≥ b is irredundant if it does not include any redun- dant constraints.

n n Definition 1.5. A polyhedron in R is a set of the form P = {x ∈ R+ : Ax ≥ b} m×n m where x is a column vector, matrix A ∈ Q , and column vector b ∈ Q

Definition 1.6. The minimal description of polyhedron P is an irredundant system of inequalities that describes polyhedron P .

Definition 1.7. The points x0, x1, . . . , xn are called affinely independent points if directions x1 − x0, x2 − x0, . . . , xn − x0 are linearly independent.

Definition 1.8. The dimension of polyhedron P , denoted by dim(P ), is one less than the maximum number of affinely independent points in P .

Definition 1.9. P is a full-dimensional polyhedron if dim(P ) = n (number of variables). In a full-dimensional polyhedron, there is no equation in form of ax = b that is satisfied by all x ∈ P .

Theorem 1.2. If P is full-dimensional polyhedron, there is unique minimal system of inequalities Ax ≥ b that describes it.

One way to recognise if P is full-dimensional is to show that dim(P ) = n (number of variables) by finding n + 1 affinely independent points in P . This method is used in Chapter 4 to prove that a polyhedron is full-dimensional.

Definition 1.10. Non-empty set F = {x ∈ P : αx = β} is a face of P if αx ≥ β is valid for P . If dim(F )=dim(P )-1, F is a facet for P and valid inequality αx ≥ β is, then, named facet-inducing inequality. 18 1. INTRODUCTION

There are a few approaches to find out if valid inequality αx ≥ β defines a facet of polyhedron P . Two of them are:

Approach 1.1. Find n affinely independent points x1, . . . , xn ∈ P that satisfy αx = β

Approach 1.2. Find x1, . . . , xt ∈ P points (t ≥ n) that satisfy αx = β. Suppose those points also satisfy πx = π0, then solve the system of equations

n X k πjxj = π0 k = 1, 2, . . . , t. j=1

If the solution is (π, π0) = λ(α, β), where λ ∈ R, then αx ≥ β is a facet-inducing inequality.

In an ideal formulation, each constraint is a facet-inducing inequality, and each extreme point is an integer point. Therefore, solving the LP relaxation of an ideal formulation is enough to find the optimal integer solution. Creating an ideal for- mulation for a real complex problem, like the Hunter Valley Coal chain problem, is almost impossible. However, an ideal formulation can be achieved for a small sub-problem by analysing its polyhedron structure. The facet-inducing inequality of the sub-problem can provide strong cuts for the original complex problem which are added in advance or in the branch-and-cut tree.

1.3.5. Lifting. Lifting is a process in which a valid inequality becomes stronger by changing its variables’ coefficients or by adding new variable(s) with the highest (or lowest) possible coefficient. In lifting, the inequality is rotated or(and) shifted toward the convex hull to cut out more fractional solutions. For example, consider Pn n the knapsack inequality j=1 ajxj ≤ b, x ∈ B . Valid inequality

X xj ≤ |C| − 1 j∈C is called a cover inequality, where subset of indices C ⊆ N is chosen such that P P j∈C aj > b. In this case, set C is named cover, and if j∈C\{k} aj ≤ b for any k ∈ C, then C is a minimal cover. The cover inequality is lifted by adding variable xl, l ∈ N \ C to its left hand side i.e.

X αlxl + xj ≤ |C| − 1. j∈C 1.4. CONTRIBUTIONS 19

To find the largest value for αl, it is necessary to consider how much of resource b is consumed by variable xj, j ∈ C when xl = 1. In problem X r = max xj (1.2) j∈C X ajxj ≤ b − al, j∈C r is the maximum number of variables xj, j ∈ C that can get value one when xl = 1.

After solving the problem, value |C| − 1 − r is given to αl. The other variables (xi where i ∈ N \ C \{l}) can also be added to the cover inequality sequentially that is named sequential lifting. In sequential lifting, different strengthened inequalities are generated if variables are added in different orders. Let n n X S = {x ∈ B : ajxj ≤ b}, j=1 and suppose C1 6= ∅ and C2 is a partition of a minimum cover C (C1 ∪ C2 = C and C ∩ C = ∅). The cover inequality P x ≤ |C | − 1 defines a facet for the 1 2 j∈C1 j 1 lower-dimensional polyhedron

n conv(S ∩ {x ∈ B : xj = 0 for j ∈ N \ C, xj = 1 for j ∈ C2}).

Inequality X X X X xj + αjxj + γjxj ≤ |C1| − 1 + γj,

j∈C1 j∈N\C j∈C2 j∈C2 is facet-inducing for conv(S), where αj is the maximum coefficient of variable xj considering xj = 1, and γj is the minimum coefficient of xj considering xj = 0 (Gu, Nemhauser, and Savelsbergh, 1998). This example shows the basic idea of providing strong valid inequalities (or facet-inducing inequalities) by the lifting method. In Chapter 4, a sequential lifting is applied to generate two classes of strong valid inequalities for the HVCC problem.

1.4. Contributions

This thesis presents a novel integer programming tool which assesses the through- put of the Hunter Valley Coal Chain. Although this supply chain is a complex system with different sub-problems, the tool captures reasonable details of it without com- promising efficiency. The tool can process scenarios with different levels of difficulty, and provide informative output. By analysing the output, the throughput of the system in different sections, like transportation, stacking, reclaiming, berths can 20 1. INTRODUCTION be studied. In addition, the bottleneck of the system is recognised in order to be considered with more details. The integer programming tool is empowered by different integer programming strategies and techniques. Some of the techniques are not complex, but they are well recognised and applied to the real problem to speed up the solution process. To the best of author’s knowledge, for the first time an implicit modelling is designed and implemented for a bulk goods supply chain. Mathematical concepts, like perfect matching in graph theory, with logical proofs support the validity of the model. A specific production planning problem with flexible deadlines which is moti- vated by the Hunter Valley Coal Chain Problem is introduced for the first time. The polyhedron of this problem is analysed and a complete formulation for this problem with all facet-inducing inequalities is provided. In addition, different ex- tensions of the problem in terms of number and consistency of demands and capacity variation during a time horizon are studied which results in two classes of valid in- equalities for the original problem. The outcomes of this section can be used in any make-to-order applications with demurrage cost, where the demands need to be sat- isfied by a restricted system with minimum delay. This problem has the advantage of not fixing the deadlines and giving the choice to the model to choose the best (earliest) deadlines based on limited resources.

1.5. Thesis Outline

The remainder of the thesis is organised as follows. Chapter 2 starts with a lit- erature review on modelling a supply chain using mixed integer programming, and continues with introducing and developing an integer programming model for the throughput assessment problem. Afterwards, it discusses the results of a computa- tional study, and analyses the system with different metrics. Chapter 2 finishes with some concluding remarks. Chapter 3 also starts with a literature review on implicit modelling and feasibil- ity in transportation problems. Then, it proposes and explain an implicit model that is an aggregated version of the model presented in Chapter 2. Next, it proves the equivalency of the original and aggregated formulations, and continues with explain- ing a separation algorithm which adds the required inequalities to the aggregated model to ensure that each solution of the aggregated model is feasible for the original model. Finally, the chapter ends with computational study and concluding remarks. Chapter 4 introduces a sub-problem motivated by the Hunter Valley Coal Chain, explores its polyhedral structure, and provides facet-inducing inequalities. Next, it 1.5. THESIS OUTLINE 21 considers different extensions of the sub-problem and introduce more general classes of valid inequalities. The chapter finishes with implementation of its outcome in the HVCC problem, and concluding remarks. Chapter 5 summarises the thesis, follows with some concluding remarks, and finishes the thesis with a few suggestions for future work.

CHAPTER 2

Demand Driven Throughput Assessment for the HVCC

2.1. Introduction

This chapter introduces an integer programming tool for assessing throughput of the Hunter Valley Coal Chain. Choosing the decision variables and designing the constraints are based on two main aspects: the efficiency of the tool, and the level of information that it can provide. The tool aims to process variety of shipping stems, and provide enough information to analyse the production rate of the system in each section of the coal chain. First, a model is built using three sets of integer variables and appropriate con- straints to control the movement of the trains and specify their release dates and deadlines. The resource constraints also control the terminals’ activities based on system limitations and priorities. Next, an aggregated model is suggested which is smaller in size and excludes some symmetries. The model is then enhanced using variety of techniques, such as constraint disaggregation and constraint lifting. In the computational study, first the efficiency of the formulations and strategies are tested on a variety of vessel stems. Afterwards, the system performance and throughput is investigated using different metrics, such as total delay, daily vessel queue length, and number of stockpiles that are being built per day. The remainder of this chapter is organized as follows. Section 2 presents a review of some relevant literature. Section 3 introduces and develops an integer programming model for the throughput assessment problem. Section 4 discusses the results of our computational study. Finally, Section 5 provides some concluding remarks.

2.2. Literature review

Literature on bulk goods supply chains optimisation models and in particular bulk handling terminals is relatively sparse, due to our knowledge. Boland and Savelsbergh(2010) present an overview of the HVCC, a large, multi-faceted, and dynamic system consisting of several interacting subsystems that are in themselves highly complex, and discuss opportunities for the use of quantitative decision support tools to better plan and more effectively operate the coal chain. These opportunities

23 24 2. DEMAND DRIVEN THROUGHPUT ASSESSMENT FOR THE HVCC range from strategic infrastructure planning, to tactical stockyard management, to operational train scheduling, and to day-of-execution disruption handling. A ship- ping stem is typically used as input for optimization and simulations models designed to decide or evaluate infrastructure expansions and operating policies of the HVCC. Producing a shipping stem that fairly accurately reflects expected future demand is challenging. Boland et al.(2011) discuss an integer-programming based hierarchical approach to generating one or more shipping stems for a given level of expected demand (in the form of forecast mine production tonnage), which are realistic and reflect characteristics of historical shipping stems. The demand-driven throughput assessment model described in this paper also uses a shipping stem as input. Singh et al.(2012) develop a strategic infrastructure capacity planning model for the HVCC. It is a mixed integer programming model that simultaneously sched- ules coal chain operations and decides capacity expansions. The objective function trades off demurrage (or delay) costs and capacity expansion costs. The typical instance considers a year-long planning horizon with a daily time granularity. Be- cause solving such instances is computationally prohibitive, various heuristics, e.g., a genetic algorithm and a large neighbourhood search algorithm, are developed to determine an initial feasible solution, which is then passed to a commercial solver (CPLEX) for possible improvement using the mixed integer programming model. The paper compares the performance of different heuristics in terms of computation time and objective function value. An extensive computational study is conducted to validate the model. The solutions produced by the model are compared to his- torical data in terms of, among others, the daily vessel queue lengths, the number of train arrivals at a terminal per day, and the tonnage of coal loaded onto vessel per day. In the appendix of this chapter, we provide an overview of the similarities and differences between the model in this paper and our model. Some advantages of our model to the model in the paper are: a) in their model, Singh et al.(2012) enforce that vessels are loaded at the berth determined by the simulation while we let the model decides at which berth a vessel is loaded, b) we reserve the entire space that a stockpile occupies on a pad as soon as the first train with coal for that stockpile arrives (which is what happens in reality), whereas Singh et al.(2012) reserve space on the pad per train basis, c) we explicitly take into account that the reclaiming of some stockpiles takes more than 24 hours. In such situations, our model divides the reclaim time over two consecutive days. This situation is not explicitly accounted for by Singh et al.(2012), and, as a result, it is possible that such stockpiles are 2.2. LITERATURE REVIEW 25 reclaimed on a single day by assigning two reclaimers to the stockpile, which cannot happen in real-life. Boland, Gulczynski, and Savelsbergh(2012) develop a stockyard scheduling tool which can be used to analyse the stockyard management strategies employed at the terminals in the HVCC. The technology integrates enumeration, randomised local search, and integer programming to determine the placement of stockpiles in the yard, the timing of the stacking and reclaiming of these stockpiles. The technology does consider the inbound flow of coal, that is the scheduling of trains from load points to the terminal, but in a simplified setting. In fact, they only consider the capacity of the load points, while we are going to include the load points capacity, the number of available wagons and the junctions capacity. Other than the research on the HVCC discussed above, Conradie, Morison, and Joubert(2008) consider the end-to-end optimization of a coal chain from a mine to a factory, where the factory is producing liquid fuel products. The process includes transporting coal from mine bunkers to coal stacking locations where it is stacked into stockpiles, and then reclaiming coal from the stockpiles and conveying it to the coal processing facility. Various conflicting objectives, such as minimizing excess coal extracted at the mines (due to the limited storage at the mines), maximizing stacked coal in the yard (to minimise the risk of interruptions in production), and minimizing the ashes and fines stacked on the yard (to ensure high quality blends) need to be accommodated, and uncertainty in demand needs to captured. In order to solve the resulting multi-objective, stochastic scheduling problem in a reasonable time, a simulated annealing approach is applied. Hanoun, Khan, Johnstone, Nahavandi, and Creighton(2013) study the scheduling of a continuous coal handling problem with multipleconflicting objectives. An effective heuristic is described for planning stockpiles and scheduling resources to minimise the coal age in the stockyard and the delays in production. A model of stockyard operations within a coal mine is described and the problem is formulated as a Bi-Objective Optimisation Problem. Together, the model and the proposed heuristic act as a decision support system for the stockyard planner to explore the effects of alternative decisions, such as balancing age and volume of stockpiles, and minimising conflicts due to stacker and reclaimer movements. The models that we are going to introduce and develop in this thesis are more complex, as the HVCC problem is a complex system. We only consider one objective function, but we use exact integer programming approaches to boost the efficiency instead of heuristic and meta-heuristic approaches used in the mentioned papers. 26 2. DEMAND DRIVEN THROUGHPUT ASSESSMENT FOR THE HVCC

For the HVCC, it is essential to model train scheduling, stockyard scheduling, and berth scheduling in some detail, otherwise crucial interactions will not be cap- tured and the results will not be meaningful. Although a large number of supply chain management papers have been written, few of them consider scheduling sub- problems in some detail. Hall and Potts(2003) investigate the coordination of scheduling, batching, and delivery decisions between a supplier and a manufacturer in a supply chain. The supplier’s delivery schedule impacts the manufacturer’s pro- duction schedule and thus impacts the manufacturer’s ability to satisfy customer demand in a timely manner. The paper presents algorithms that schedule the work of the supplier and the manufacturer separately (where the algorithms that sched- ule the work for the manufacturer take the supplier delivery schedule as input), and algorithms that schedule the work of the supplier and the manufacturer jointly. Computational experiments show that coordination causes a substantial reduction in the total cost. Chen and Hall(2007) discuss conflict and cooperation in a manu- facturing supply chain. An assembly system is considered, in which suppliers provide parts to manufacturers. To assemble a product, a manufacturer has to wait until all parts have been produced and delivered by the suppliers. The effectiveness of the manufacturer thus depends on the decisions made by the suppliers. There is con- flict, because optimal decisions minimizing the cost for suppliers do not guarantee an optimal cost for the manufacturers. Cooperation can reduce this conflict, but results in different scheduling problems. The solution of our integrated model, in this thesis, provides an optimal plan which includes the supplier (load points), the transportation (trains and rail roads), and the manufacturers (the terminals). As the HVCC can be viewed as a make-to-order assembly system, as the arrival of a vessel triggers the assembly of one or more stockpiles of particular coal blends, it is relevant to look at the literature of make-to-order production planning. Kolisch (2000) studies a make-to-order production planning problem with assembly and fab- rication. In that problem, different jobs have to be assembled to fulfill a customer order. Precedence constraints between jobs may exist and each job requires several parts, which are either fabricated locally or bought from suppliers. The goal is to provide a resource and time-feasible plan to satisfy customer orders before their due date. A mixed-integer programming model is presented, which includes scheduling based assembly, lot-sizing based fabrication, and coordination of assembly and fab- rication. The objective is to minimise the inventory holding and setup costs. A 2.3. DEMAND DRIVEN THROUGHPUT ASSESSMENT MODELS 27 two-level heuristic is proposed to solve the model, which first determines an assem- bly schedule and then determines lot-sizes for the fabrication process, and iterates between these two levels. Bodon, Fricke, Sandeman, and Stanford(2011) model a export supply chain using a combination of optimisation and Discrete Event Simulation techniques to analyse the capacity and evaluate the expansion optioes. The Discrete Event Sim- ulation model considers the performance of the system over one year time period, using a mine plan and shipping plan developed for that year as inputs. The optimi- sation model is used to plan material movements on a more frequent basis, such as fortnightly, weekly, or a number of days in advance. The optimisation model that we develop in this thesis is able to efficiently plan the material movement and capacity usage of the system in a longer time horizon, for example 3 months. Throughput is used in our model to assess the performance of the coal chain. Throughput is not one of the typical measures used to assess the performance of a supply chain. Beamon(1999) develops a framework for supply chain performance assessment. It is observed that using only one performance measure, such as cost is attractive due to its simplicity, but it does not necessarily explain the system performance. It is suggested that three aspects of a supply chain need to be assessed: resources, output, and flexibility. Assessment of resources can involve determining the minimum resources required to meet the supply chain objectives or analysing the utilization of the resources used to meet the supply chain objectives. In Chapter 2 of this thesis, we analyse the HVCC performance by studying the utilisation of different parts. A flexible supply chain system is able to respond and accommodate demand variations and machine breakdowns. We also test how the HVCC responds when the demand changes under different scenarios.

2.3. Demand Driven Throughput Assessment Models

We start this section by introducing a natural demand driven throughput assess- ment model that focuses on deciding the timing of the train-jobs associated with the cargoes of vessels. After that, we explore various avenues to improve the solvability of the model. Note that the model developed by Singh et al.(2012) is also based on train-jobs, but our model has some advantages which are explained in Section 2.2. and also, with more details, in the appendix of this chapter.

2.3.1. A Train-job Based Model. In creating the model, we need to balance accuracy and efficiency, because the ultimate goal is to use the model to quickly identify scenarios that should be investigated more thoroughly using the simulation 28 2. DEMAND DRIVEN THROUGHPUT ASSESSMENT FOR THE HVCC model. The balance between accuracy and efficiency is reflected in our choice of time granularity: the planning horizon (which is 3 months in this chapter) is divided into days and all our decisions are at the daily level. This has a few consequences. The reclaim time of a stockpile, which is measured in hours and can be anywhere from a few hours to almost two days, has to be converted to days. (The stacking of coal from an arriving train typically takes a few hours.) Because reclaiming of a stockpile can commence only when the stockpile is completely assembled, we enforce that the reclaiming of a stockpile can only start on the day after the day on which the last train with coal for the stockpile arrived at the terminal. Also, we do not distinguish between dumping and stacking and we do not dis- tinguishing reclaiming and ship loading. When coal is unloaded at the dump station of a terminal it is dumped on a conveyor belt and immediately transported to a stacker. In the model, we use their combined processing capacity on a day, which is calculated as the maximum amount of coal that can be unloaded at the dump stations of a terminal and stacked by the stackers. Similarly, when coal is reclaimed by a reclaimer it is dumped on a conveyor belt and immediately transported to a ship loader. We use their combined processing capacity on a day, which is calculated as the maximum amount of coal that can be reclaimed by the reclaimers and loaded on to vessels by the ship loaders. It takes some time to get a reclaimer ready to reclaim the next stockpile, about 30 minutes in practice. For convenience, we have included this preparation time in the reclaim time of each stockpile. The infrastructure and demand parameters used in the model can be found in Table 2.1.

Table 2.1. Model parameters

H: set of time periods V : set of vessels S: set of stockpiles C: set of components J: set of train-jobs L: set of load points U: set of junctions E: set of terminals W : set of wagon types P : set of pads 2.3. DEMAND DRIVEN THROUGHPUT ASSESSMENT MODELS 29

P (e): set of pads at terminal e ∈ E V (e): set of vessels loaded at terminal e ∈ E v v v S(v): set of stockpiles associated with vessel v ∈ V (S(v) = {s1, s2, ..., sn(v)}) S(e): set of stockpiles assembled at terminal e ∈ E C(s): set of components associated with stockpile s ∈ S J(e): set of train-jobs delivering coal at terminal e ∈ E J(v): set of train-jobs delivering coal for vessel v ∈ V J(s): set of train-jobs delivering coal for stockpile s ∈ S. J(c): set of train-jobs associated with component c ∈ C J(l): set of train-jobs picking up coal at load point l ∈ L J(u): set of train-jobs passing through junction u ∈ U J(w): set of train-jobs using wagon type w ∈ W bv: day of arrival of vessel v ms: tonnage of stockpile s ls: length of stockpile s in meter d˜s: number of hours required to reclaim stockpile s ds: number of days required to reclaim stockpile s (ds = dd˜s/24e) mj: tonnage of train-job j w nj : number of wagons of type w used in train-job j dj: cycle time of train-job j in hour (from its load point to its terminal) which is not more than 24 hours T e: preparation time (in hour) required for dumping and stacking of each train-job at terminal e e S1: minimum of dumping and stacking hours available on day t for terminal e e ρ1: minimum of dumping and stacking rate (in tonne per hour) for terminal e e S2: minimum of reclaiming and ship loading hours available on day t for terminal e e ρ2: minimum of reclaiming and ship loading rate (in tonne per hour) for terminal e ev: day vessel v is due to depart

Lp: length of pad p in meter

Be: number of berths at terminal e t Cl : loading capacity of load point l (in tonnage) on day t t Cu: capacity of junction u on day t (the maximum number of trains that can go through the junction on day t)

Cw: number of wagons of type w 30 2. DEMAND DRIVEN THROUGHPUT ASSESSMENT FOR THE HVCC

∆−: number of available days before arrival of a vessel for railing and stacking of its stockpiles ∆+: number of available days after arrival of a vessel for railing, stacking, and reclaiming of its stockpiles

The cycle time of a train-job represents the time it takes a train to go from the terminal associated with the train-job to the load point associated with the train- job and back. The real data (Section 2.4.1) shows that the cycle time is at most 24 hours. Since the decision variables are at a daily level, we provide feasible solutions (considering all capacity limitations) in which each train-job is done in only one day (within the midnight-to-midnight range). In reality, a train could depart at 6pm and arrive at 6pm, for example, and so could span more than one day. Our assumption to have a train-job within a day is more restricted than the reality, and may result in providing solutions with higher cost. However, the numerical experiments, at the end of this chapter, show that the railing operation is not the bottleneck of the supply chain, and our assumption does not lead to the more costly solutions. The cycle time is used to calculate the number of hours that a wagon is required. In the HVCC problem there are different types of wagons, but a train has only one type of wagon which is selected based on the facilities at the load point in which the train is loaded. Each stockpile can be converted to an integer number of train-jobs. For each P stockpile s ∈ S, |J(s)| = c∈C(s) |J(c)|, where C(s) is the set of components that together construct stockpile s. The number of train-jobs associated with component T onnage(c) c is |J(c)| = [ prefT rainSize(c) ], where T onnage(c) is the tonnage of component c, prefT rainSize(c) is the size of the train (in tonnage) that matched with the load point from which the component comes, and [.] is the nearest integer function. Thus from the stacking start date of each stockpile s, the total number of trainloads to be delivered must be at least |J(s)|. We consider each train full, and this assumption P | c∈C |J(c)|×prefT rainSize(c)| provides a reasonable approximation, as totalT onnage ×100 > 99.97%, where totalT onnage is the real total tonnage of coal. The last two parameters ∆− and ∆+ are primarily used to control the size of the instances, although they relate to practical considerations as well. Terminal managers do not want coal for a stockpile of a vessel to arrive too long before the arrival of the vessel, because it may unnecessarily take up space in the stockyard. The parameter ∆+ should be larger than the largest difference between due time 2.3. DEMAND DRIVEN THROUGHPUT ASSESSMENT MODELS 31 and arrival time of a vessel, otherwise no feasible solution exists. Choosing ∆+ too small takes away flexibility as it limits the maximum delay that a vessel is allowed to incur. There are three sets of decision variables:  t  1 if train-job j is done on day t, xj =  0 otherwise,  t  1 if stacking of stockpile s on pad p starts on day t, ysp =  0 otherwise, and  t  1 if reclaiming of stockpile s from pad p starts on day t, zsp =  0 otherwise, with domains

t − − + xj : t ∈ {bv − ∆ , bv − ∆ + 1, ··· , bv + ∆ − 1} ∀j ∈ J(v) ∀v ∈ V

t − − + ysp : t ∈ {bv − ∆ , bv − ∆ + 1, ··· , bv + ∆ − 1} ∀p ∈ P ∀s ∈ S(v) ∀v ∈ V

t + zsp : t ∈ {bv, bv + 1, ··· , bv + ∆ } ∀p ∈ P ∀s ∈ S(v) ∀v ∈ V.

The following constraints ensure that the stockpiles for all vessels are assembled and loaded in the required sequence.

• Each train-job must be completed, and so

X t xj = 1 ∀j ∈ J. (2.1) t • All stockpiles must be stacked

X X t ysp = 1 ∀s ∈ S. (2.2) p∈P t

• Stacking and reclaiming of a stockpile have to occur on the same pad

X t X t ysp = zsp ∀s ∈ S ∀p ∈ P. (2.3) t t Constraints (2.2) and (2.3) also ensure that all stockpiles are reclaimed. • All train-jobs for a stockpile have to arrive at or after the start day of the stacking

X X t0 X t xj ≥ |J(s)| ysp ∀s ∈ S ∀t. (2.4) j∈J(s) t0≥t p∈P 32 2. DEMAND DRIVEN THROUGHPUT ASSESSMENT FOR THE HVCC

• Reclaiming of the stockpiles of a vessel cannot start until all stockpiles have been completely assembled, and thus until all train-jobs for the vessel have been completed

X X t0 X t x ≥ |J(v)| z v ∀v ∈ V ∀t. (2.5) j s1 p j∈J(v) t0

X X t0 X X t0 v v z v ≤ z v s ∈ S(v)\s ∀i ∀j > i ∀t. (2.6) si p sj p i n p∈P t0≥t p∈P 0 Pj ˜ t ≥t+b dsv /24c k=i k v v v The set of stockpiles of a vessel v, S(v) = {s1, s2, ..., sn}, have to be reclaimed in the specified order to avoid load balancing issues. Consider a v v v vessel v with three stockpiles s1, s2, and s3 with associated reclaim times v v d˜ v = 12, d˜ v = 8, and d˜ v = 9 hours. Stockpiles s and s can be reclaimed s1 s2 s3 1 2 on the same day, but it is not possible to reclaim all three stockpiles in one day, because the total reclaim time is 29 hours and exceeds a day. Therefore, the reclaiming of the third stockpile has to start at least b(12 + 8 + 9)/24c days after the reclaiming of the first stockpile commences. In general, the v j reclaiming of stockpile s has to start at least bP d˜ v /24c days after the j k=i sk v reclaiming of si commences, where j > i. Constraint (2.6) says that if the v v reclaiming of si starts at or after day t, then the reclaiming of sj can only j commence on or after day t + bP d˜ v /24c. k=i sk • Load point capacity has to be respected

X t t mjxj ≤ Cl ∀l ∈ L ∀t. (2.7) j∈J(l) • Junction capacity has to be respected

X t t xj ≤ Cu ∀u ∈ U ∀t. (2.8) j∈J(u) • The number of wagons of type w used in a day cannot exceed the number of available wagons

X dj nwxt ≤ C ∀w ∈ W ∀t, (2.9) 24 j j w j∈J(w)

dj w where 24 nj represents the, possibly fractional, number of wagon-days re- quired by train-job j. • Dumping and stacking capacity at a terminal needs to be respected

X mj (T e + )xt ≤ Se ∀t ∀e ∈ E, (2.10) ρe j 1 j∈J(e) 1 2.3. DEMAND DRIVEN THROUGHPUT ASSESSMENT MODELS 33

e mj where T + e represents the number of hours required to unload and stack ρ1 train-job j. • Reclaiming and ship loading capacity at a terminal needs to be respected

t X X X ms t0 e ( e )zsp ≤ S2 ∀t ∀e ∈ E. (2.11) 0 dsρ2 s∈S(e) p∈P (e) t =t−ds+1 Although similar to the dumping and stacking capacity constraints, the constraints are slightly more involved because the number of hours

ms required to reclaim a stockpile ( e ) can be more than one day (two days ρ2 for example). When that happens, a fraction of the required capacity needs to be allocated to the first day of reclaiming and the remaining fraction of the required capacity needs to be allocated to the second day of reclaiming.

ms We have chosen to allocated equal parts to both days ( e ). Note too dsρ2 that stockpile s consumes reclaiming and ship loading capacity on day

t if its reclaiming starts in [t − ds + 1, t], and therefore the summation Pt t0 0 z occurs in constraints (2.11). t =t−ds+1 sp • Pad capacity at a terminal needs to be respected

X X t0 X t0 ls( ysp − zsp) ≤ Lp ∀p ∈ P ∀t. (2.12) 0 0 s∈S t ≤t t ≤t−ds

When the stacking of stockpile s on pad p starts on day t, then ls

of the length of the pad will be occupied until ds days after the start of the reclaiming of the stockpile. For a pad p and a day t, the summation P t0 P t0 0 y − 0 z indicates whether stockpile s is on the pad on that t ≤t sp t ≤t−ds sp day or not. (The summation is zero if stacking has not started, one if the stockpile is on the pad, and zero if the stockpile has been on the pad, but has already been reclaimed.) • Berth capacity needs to be respected   X X X t0 X X t0 z v − z v ≤ Be ∀t ∀e ∈ E. (2.13)  s1 p sn(v)p p∈P t0≤t p∈P t0≤t−d v v∈V (e) sn A vessel v occupies a berth from the day on which the reclaiming of its first stockpile starts to the day on which the reclaiming of its last stockpile P P t0 ends. For a terminal e and a day t, the summation 0 z v − p∈P t ≤t s1 p P P t0 p∈P t0≤t−d v zsv p indicates whether vessel v is at a berth on that day sn n or not. Although the HVCCC is very interested in understanding the maximum through- put that the system is capable of, demand arrives as vessel-loads, each of which 34 2. DEMAND DRIVEN THROUGHPUT ASSESSMENT FOR THE HVCC requires resources in different parts of the system, at different times: the nature and timing of these demand arrivals affects the ability of the system to deliver. Thus our model is based on the use of shipping stem data, which stipulates the nature and timing of demand arrivals, and seeks to meet all demand in the given stem with minimum delay:

X X X t min (t + d v − e )z v . (2.14) sn v snp v∈V p∈P t+d v >e sn v An understanding of throughput can be obtained from a model with the above objective by presenting it with shipping stems that represent realistic realisations of different aggregate demand tonnage scenarios. For example, the model may be run with shipping stems representing 100 Mtpa, 120 Mtpa, 140 Mtpa, 160 Mtpa, and so on. One expects the model will produce small delays for smaller aggregate demand tonnage scenarios, and that vessel queue lengths will not grow uncontrollably; as aggregate demand tonnage increases, delays will increase, and the queue of vessels observed in the output will become unstable, indicating that the system is not capable of delivering the corresponding throughput.

2.3.2. A Component-job Based Model. One of the challenges encountered when solving an instance of the train-job based model is the symmetry introduced by the train-jobs. The issue arises when the solution to the linear programming relax- P t ation has j∈J(s)∩J(l) xj = f with f fractional and greater than 1 for some stockpile s, some load point l, and some time t, namely, f train-jobs for the component of stockpile s that is loaded from load point l take place on the same day. Because f is fractional, there is at least one train-job variable with a fractional value. This fractionality will be eliminated by branching. In other words, the variable is set to zero on one branch and set to one on the other branch. Unfortunately, in both cases, in the solution to the linear programming relaxation at the child nodes, the other variables will simply be adjusted to essentially return the same solution (the values for the variables will have been permuted). This type of symmetry can lead to very large search trees. This symmetry can be eliminated by using a component based model where the variables represent the number of train-jobs of a component that are carried out in one day. This change has the additional benefit that the number of variables is reduced. Recall that a stockpile is a mix of different types of coal from different mines (determine by its recipe). In other words, a stockpile is a mix of components, where a component is a particular type of coal coming from a particular mine. In other 2.3. DEMAND DRIVEN THROUGHPUT ASSESSMENT MODELS 35 words, a component is the train jobs for a stockpile that are associated with a particular load point. To convert the train-job based model to the component based model, we need to introduce a few new parameters, replace a decision variable, and modify a number of constraints. The new infrastructure and demand parameters can be found in Table 2.2.

Table 2.2. New model parameters

C: set of components C(e): set of components associated with terminal e ∈ E C(v): set of components associated with vessel v ∈ V C(s): set of components associated with stockpile s ∈ S C(l): set of components associated with loading point l ∈ L C(u): set of components associated with junction point u ∈ U C(w): set of components using wagon type w ∈ W J(c): set of train-jobs associated with component c ∈ C

mc: amount of coal (in tonnes) associated with each train-job of component c ∈ C

dc: cycle time of each train-job of component c (from its load point to its terminal) which is not more than 24 hours w Nc : number of wagons of type w required by each train-job of component c

We note that J(c) = J(s) ∩ J(l) for the component c of stockpile s that is loaded at load point l. t t The train-job variable xj is replaced with the component-job variable xc, which represents the number of train-jobs of component c carried out on day t with domain − − + t ∈ {bv − ∆ , bv − ∆ + 1, ··· , bv + ∆ − 1} when c ∈ C(v) and v ∈ V . The Component-job model have all constraints of the train-job model after mod- ifying some of the constraints as follows: • Each component-job must be completed (instead of constraints (2.1))

X t xc = |J(c)| ∀c ∈ C, (2.15) t • All component-jobs of a stockpile have to arrive at or after the start day of stacking (instead of constraints (2.4))

X X t0 X t xc ≥ |J(s)| ysp ∀s ∈ S ∀t, (2.16) c∈C(s) t0≥t p∈P 36 2. DEMAND DRIVEN THROUGHPUT ASSESSMENT FOR THE HVCC

• Reclaiming of the stockpiles of a vessel cannot start until the day after all stockpiles have been assembled, and thus until all train-jobs for the vessel have been completed (instead of constraints (2.5))

X X t0 X t x ≥ |J(v)| z v ∀v ∈ V ∀t, (2.17) c s1 p c∈C(v) t0

• Load point capacity has to be respected (instead of constraints (2.7))

X t t mcxc ≤ Cl ∀l ∈ L ∀t, (2.18) c∈C(l)

• Junction capacity has to be respected (instead of constraints (2.8))

X t t xc ≤ Cu ∀u ∈ U ∀t, (2.19) c∈C(u) • The number of wagons used in a day cannot exceed the number of wagons available (instead of constraints (2.9))

X dc N wxt ≤ C ∀w ∀t, (2.20) 24 c c w c∈C(w)

• Dumping and stacking capacity at a terminal needs to be respected (instead of constraints (2.10))

X mc (T e + )xt ≤ Se ∀t ∀e ∈ E, (2.21) 1 ρe c 1 c∈C(e) 1 Another source of symmetry is the stock pads. Since stacking and reclaiming capacity are modeled at an aggregate level (at the terminal level), the pad that a stockpile is assigned to is immaterial in terms of stacking and reclaiming capacity usage. The assignment of a stockpile to a pad only impacts the pad capacity usage, that is the length of the pad that is occupied by the stockpile. But that means that if the pads are of equal length, the assignments of stockpiles to pads can be interchanged without affecting the feasibility and quality of the solution. This sym- metry can be avoided by also aggregating pad capacity at a terminal by assuming the existence of a single pad at a terminal with a length equal to the sum of the lengths of the actual pads. All our computational experiments are performed with aggregated pad capacity.

2.3.3. Strategies to Increase Efficiency. In this section, we discuss vari- ous strategies to solve instances of the component-job based model more efficiently. These strategies include pre-processing to reduce the number of variables and strength- ening some of the constraints in the model. 2.3. DEMAND DRIVEN THROUGHPUT ASSESSMENT MODELS 37

2.3.3.1. Pre-processing. Because the reclaiming of the stockpiles of a vessel has to be done in a pre-specified order, we may be able to reduce the domain of certain variables. Observe that because the total number of days required to reclaim stock- v v v Psn ˜ v piles s , . . . , s is v ds/24, the reclaiming of s has to start at or before i+1 n(v) s=si+1 i v + Psn ˜ v bv +∆ −b( v ds)/24c and the stacking of stockpile s , and thus the transport s=si+1 i v v + Psn ˜ of coal for stockpile s , has to be completed at or before bv+∆ −b( v ds)/24c−1. i s=s1 We updated the domains of the variables accordingly. Because it may not be possible to do carry out all the train-jobs of a stockpile in a single day because of the various capacity limits, we may be able to reduce the domain of certain start stacking variables. To obtain a lower bound on the minimum number of days required to transport all the coal for a stockpile s of vessel v, we solve an auxiliary optimization problem where we minimise the number of days required to transport the coal for stockpile s, denoted by µs, subject to constraints (2.18)-(2.21), where only stockpiles of vessel v are considered in the + constraints. The stacking of stockpile s has to be completed at or before bv + ∆ − P ˜ P ˜ µs−b s∈S(v) ds/24c−1, where s∈S(v) ds/24 represents the number of days required for reclaiming the stockpiles of vessel v. In our computational study, we will refer to the basic component-job based model by CM, and we refer to the component-job base model with pre-processing by CM-P. 2.3.3.2. Disaggregated and Strengthened Constraints. Next, we provide some al- ternative constraints which provide a stronger linear programming relaxation. Constraint (2.17) forces all component-jobs of a vessel to be completed before the reclaiming of the first stockpile of the vessel can commence. A similar constraint can be formulated for each individual stockpile:

X X t0 X t x ≥ |J(s)| z v ∀s ∈ S(v) ∀v ∈ V ∀t. (2.22) c s1 p c∈C(s) t0

X t0 X t x ≥ |J(c)| z v ∀c ∈ C(s) ∀s ∈ S(v) ∀v ∈ V ∀t. (2.23) c s1 p t0

X t0 X t xc ≥ |J(c)| ysp ∀c ∈ C(s) ∀s ∈ S(v) ∀v ∈ V ∀t. (2.24) t0≥t p∈P 38 2. DEMAND DRIVEN THROUGHPUT ASSESSMENT FOR THE HVCC

In our computational study, we will refer to the component-job based model with disaggregated constraints (2.23) and (2.24) by CM-D. t P t0 Constraint (2.24) can be further strengthened by replacing ysp with t0≥t ysp. P t0 The strengthening is valid because when t0≥t ysp = 1, the stacking of stockpile s starts at or after t, which means that the component-jobs c for stockpile s have to P t0 carried out at or after day t. (Note too that t0≥t ysp ≤ 1 because of (2.2).) This leads to

X t0 X X t xc ≥ |J(c)| ysp ∀c ∈ C(s) ∀s ∈ S(v) ∀v ∈ V ∀t. (2.25) t0≥t p∈P t0≥t

The same idea can be applied to constraint (2.23) leading to

X t0 X X t0 x ≥ |J(c)| z v ∀c ∈ C(s) ∀s ∈ S(v) ∀v ∈ V ∀t. (2.26) c s1 p t0

In our computational study, we will refer to the component-job based model with strengthened disaggregated constraints by CM-DS. The component-job based model in which the original constraints are strengthened is referred to as CM-S. Using constraint (2.15) and (2.2), we can complement constraint (2.25), i.e.,

X t0 X X t |J(c)| − xc ≥ |J(c)|(1 − ysp) t0

X t0 X X t ⇒ xc ≤ |J(c)| ysp. (2.27) t0

Similarly, we can complement constraint (2.26), i.e.,

X t0 X X t0 x ≤ |J(c)| z v ∀c ∈ C(s) ∀s ∈ S(v) ∀v ∈ V ∀t. (2.28) c s1 p t0≥t p∈P t0>t

Computational experiments revealed that the techniques embedded in CPLEX, the integer programming solver used for our computational experiments, are more effec- tive when provided with the complemented constraints and result in faster solution times. In our computational study, we will refer to the component-job based model with complemented strengthened disaggregated constraints by CM-DSC. As discussed in the literature review, Singh et al.(2012) developed a mixed integer programming model for strategic infrastructure capacity planning for the HVCC. In the appendix, we discuss the similarities and differences between their model and our model. 2.4. A COMPUTATIONAL STUDY 39

2.4. A Computational Study

In order to evaluate the benefits of the various strategies for improving efficiency and to analyse the system throughput for a variety of shipping stems, we have conducted a series of computational experiments. All these experiments have been performed on a machine with Intel(R) Xeon(R) 3.16 GHz CPU, 64 GB RAM, and linux operating system. All programs are written in C++, and CPLEX 12.4 is used for solving LPs and IPs.

2.4.1. Data sets and their key features. Instances use 2008 infrastructure data and are derived from a 2008 year-long shipping stem. All instances cover a 3- month period, e.g., an instance may include all trip arrival times from day 30 to day 120, or from day 60 to day 150. The 2008 infrastructure comprises of two terminals, KCT (which serves 74% of the demand) and CCT (which serves the remaining 26% of the demand), 47 mines, 34 load points, a rail network with 14 junctions, and train fleet with 2131 wagons. Characteristics of the two terminals can be found in Table 2.3.

Table 2.3. Terminal characteristics

Terminal Dump stations pads Stackers Reclaimers Ship loaders Berths KCT 4 6 4 4 3 4 CCT 2 4 4 4 2 3

Some characteristics of the 2008 shipping stem are presented in Figures 2.1-2.4.

180000 160000

140000

120000 100000 80000

60000 Vesseltonnage 40000 20000

0

1

61 91 31

151 181 211 241 271 301 361 391 451 481 541 571 631 661 691 721 751 781 841 871 931 961 121 331 421 511 601 811 901 991 1021 Vessel index

Figure 2.1. Vessel tonnages

In Figure 2.1, we show the tonnage of the vessels in the shipping stem ordered from highest to lowest. Three classes of coal vessels, with different capacities in terms of tonnage, visited the Port of Newcastle in 2008, Cape, Panamax, and Handymax, 40 2. DEMAND DRIVEN THROUGHPUT ASSESSMENT FOR THE HVCC

7 6 5 4 3

2 Numberofstockpiles 1

0

1

61 31 91

151 211 361 421 511 571 661 721 871 121 181 241 271 301 331 391 451 481 541 601 631 691 751 781 811 841 901 931 961 991 1021 Vessel index

Figure 2.2. Number of cargoes per vessel

8 7 6

5

4 Day 3 2 1

0

1

31 61 91

151 181 331 361 481 511 631 661 811 841 961 991 121 211 241 271 301 391 421 451 541 571 601 691 721 751 781 871 901 931 1021 Vessel index

Figure 2.3. Minimum assembly times for the cargoes of a vessel

which is somewhat visible in the figure, but the figure also shows that even within the vessel of the same class, there is a large variance in the tonnage. In Figure 2.2, we show the number of cargoes of the vessels in the shipping stem ordered from largest to smallest. The figure shows that most vessel are single-cargo vessels, but that some vessels require up to six cargoes. In Figure 2.3, we show the minimum number of days that required to assemble the cargoes of each vessel. (the shipping stem ordered from largest to smallest.). In order to find the minimum assembly time, for each vessel v ∈ V we solve an IP problem in which the assembly of all vessels V and the capacity of all resources are considered, but the objective function is only to minimise the assembly time of vessel v. Even though the tonnage and the number of cargoes of a vessel give an indication of the assembly time, it is clear from the figure that the location of the mines that provide coal for the cargoes of the vessel have a significant impact on the assembly time as well, which is not surprising as some of the mines are located less than 50 miles from the terminals whereas others are located more than 200 miles away from the terminals. Finally, Figure 2.4 shows a frequency distribution of the inter-arrival times of the vessels in the shipping stem. 2.4. A COMPUTATIONAL STUDY 41

For example, the point (4 − 5, 51) represents that the inter-arrival time of 51 pairs of consecutive vessels in the shipping stem is between 4 and 5 hours.

250

200

150

100

50

0

arrival time difference

Figure 2.4. Frequency distribution of vessel inter-arrival times

We see that in most cases, the time between the arrival of two consecutive vessels is less than 2 hours. Because at the start and the end of the planning period the system is empty, we need to introduce a warm-up and cool-down period to be sure that we gather statistics over a period when the system is in a steady state. Furthermore, given that efficiency is an important concern, we want to choose the warm-up and cool-down periods as small as possible. Therefore, we conducted an experiment to determine appropriate warm-up and cool-down periods. Each instance is characterized by a string xx − yy − zz, where xx represents the number of days in the warm-up period, yy the number of days in the main period over which we gather statistics, and zz the number of days in the cool-down period (yy). We gather statistics over all vessels that arrive in the main period. Vessels that arrive in the warm-up period may depart in the main period, but they will not be considered when calculating statistics. On the other hand, vessels that arrive in the main period may depart in the cool-down period, but they will be considered when calculating statistics. For each combination of warm-up and cool-down period xx−30−zz, ten instances have been solved, where the total delay over the entire planning period, including the warm-up and cool-down periods, is minimised. To ensure that the results are comparable and not influenced by the existence of alternative optimal solutions, an instance is solved in two steps. After the minimum total delay over the entire planning period D has been determined, the instance is resolved with a constraint that restricts the total delay over the entire planning period to D and an objective that minimises (maximises) the total delay over the 42 2. DEMAND DRIVEN THROUGHPUT ASSESSMENT FOR THE HVCC vessels that arrive during the main period. Tables 2.4 and 2.5 show the minimum and the maximum delay incurred by a vessel arriving during the main period.

Table 2.4. Minimum total delay incurred by the vessels arriving in the main period

Instance 0-30-0 0-30-5 0-30-10 5-30-0 5-30-5 10-30-10 30-30-30

1 37 39 39 37 39 39 39 2 48 48 48 49 49 49 49 3 12 12 12 12 12 12 12 4 11 11 11 11 11 11 11 5 15 15 15 15 15 15 15 6 28 28 28 28 28 28 28 7 16 16 16 16 16 16 16 8 29 29 29 29 29 29 29 9 18 18 18 18 18 18 18 10 27 27 27 27 27 27 27

Table 2.5. Maximum total delay incurred by the vessels arriving in the main period

Instance 0-30-0 0-30-5 0-30-10 5-30-0 5-30-5 10-30-10 30-30-30

1 37 48 48 37 48 48 48 2 48 48 48 58 58 58 58 3 12 12 12 12 12 12 12 4 11 11 11 11 11 11 11 5 15 15 15 15 15 15 15 6 28 28 28 28 28 28 28 7 16 16 16 16 16 16 16 8 29 29 29 29 29 29 29 9 18 23 23 18 23 23 23 10 27 29 29 32 34 34 34

We see that without both a warm-up and a cool-down period, the observed minimum and maximum delay incurred by a vessel arriving during the main period may be too small. Furthermore, when the warm-up and cool-down period are five days or more, the results are similar, which suggests that a 5-day warm-up and 5- day cool-down periods are appropriate. We have conducted a similar computational experiment with a main period of 60 days and obtained comparable results. However, to reduce the risk of inappropriate warm-up and cool-down periods for any untested 2.4. A COMPUTATIONAL STUDY 43 instance, we choose a 10-day warm-up period and a 10-day cool-down period in our numerical experiments.

2.4.2. Efficiency. The number of variables in an instance, which may impact efficiency, depends on the value of ∆− and ∆+ (Table 2.1). Using small values of ∆− and ∆+ decreases the size of an instance and therefore increases the efficiency. However, it may also introduce unnecessary delay or may even cause infeasibility. Therefore, finding appropriate choices of ∆− and ∆+ is important. Table 2.6 shows results for different values of ∆− and ∆+. For each combination of values of ∆− and ∆+, we solve eight 3-month instances and report averages over the eight instances.

To avoid infeasibility, we add binary variables uv for v ∈ V to the model repre- senting the option to ignore vessel v (when uv = 1). Constraints (2.2) and (2.15) are modified to accommodate this option:

X t xc = (1 − uv)|J(c)| ∀c ∈ C(c), ∀v ∈ V, (2.29) t and

X X t ysp = 1 − uv ∀s ∈ S(v), ∀v ∈ V. (2.30) p∈P t The new variables are added to the objective function with a large enough co- efficient to ensure that a vessel is ignored if and only if it is infeasible to serve all vessels. The results can be found in Table 2.6, where ∆+ = 8 when we vary ∆− and ∆− = 8 when we vary ∆+. The column labeled “Delay” reports the total delay incurred by the vessels in an instances (in terms of number of days). We see that for ∆+ = 2 ten vessels need to be ignored to obtain a feasible solution. The results show that ∆− = 8 and ∆+ = 6 represent a good balance between quality and efficiency. These settings will be used in all other computational experiments. Next, we explore the benefit of the various strategies described to enhance the efficiency. The results can be found in Table 2.7, where we have used the train-job based model as a base (first row). Each entry is the average over eight 3-month instances. An entry 7/8 in the Status column indicates that the solver could prove optimality for 7 of the 8 instances (within a 6 hours time limit). Table 2.7 clearly shows the benefits of the component-job model over the train- job model. The number of variables is substantially reduced, resulting in faster node evaluation times, and the size of the search tree is substantially reduced, resulting in 44 2. DEMAND DRIVEN THROUGHPUT ASSESSMENT FOR THE HVCC

Table 2.6. Results for different combinations of ∆− and ∆+

∆− Rows Columns Delay Ignored vessels Run-time BC nodes

4 25,646 18,593 96 0 100.0 2,484 6 27,582 21,270 85 0 71.5 1,261 8 29,496 23,948 84 0 134.6 2,641 10 31,391 26,626 84 0 125.9 1,870 12 33,275 29,304 84 0 140.8 1,759

∆+ Rows Columns Delays Ignored vessels Time BC nodes

2 16,868 13,224 41 10 11.4 387 4 21,117 16,799 80 1 66.4 2,368 6 25,318 20,373 84 0 82.8 1,578 8 29,496 23,948 84 0 137.1 2,641 10 33,654 27,523 84 0 106.1 1,321

Table 2.7. Formulations and strategies results

Model Status Rows Columns Non-zeroes Run-time(Sec.) BC nodes

TM 7/8 21,728 77,240 2,043,573 3,546.4 7,710 CM 8/8 18,177 23,975 1,024,781 185.4 4,196 CM-D 8/8 29,496 23,975 1,036,100 194.8 3,244 CM-S 8/8 18,177 23,975 1,080,385 171.6 3,163 CM-P 8/8 18,176 23,948 1,023,421 199.3 5,038 CM-DS 8/8 29,496 23,975 1,154,520 105.6 1,741 CM-SC 8/8 18,177 23,975 1,020,969 90.6 1,440 CM-DSC 8/8 29,496 23,975 1,090,413 86.9 2,096 CM-DSCP 8/8 29,495 23,948 1,089,066 104.5 2,641 faster search completion. The combined effect is a significant reduction in average run time. Disaggregation results in a smaller search tree, due to the stronger linear programming relaxations, but the increase in the number of constraints and the corresponding increase in the node processing time does not lead to a reduction in average run times. Strengthening, even just working with the component-job base model, is shown to be quite powerful. It reduces the size of the search tree for a modest increase in node processing time, which does result in a reduction in average run time. Combining disaggregation and strengthening gives very good results, which are improved upon even further by using the complemented versions of the constraints. The reductions in variable domains because of preprocessing are very small and in fact result in worse average run times. We do not have any clear 2.4. A COMPUTATIONAL STUDY 45 explanation for this phenomenon. However, we suspect that it is due to the fact that with the reduced variable domains, it takes more time for CPLEX to find an initial feasible solution. Therefore, for the throughput and system analysis to be discussed next, we have used the component-job based model with complemented strengthened disaggregated constraints without preprocessing.

2.4.3. Throughput and System Analysis. The main aim of our research is to develop an integer programming based demand driven throughput assessment tool that can quickly, but accurately assess the system throughput for a given system infrastructure and a given shipping stem. Our computational experiments so far have shown that instances covering vessel arrivals for a 3-month period can be solved in a few minutes (while it takes several hours for the simulation model), which is well within the desired efficiency goal. Now, we focus on assessing the system throughput and identifying potential capacity bottlenecks in the system. Because the component-job based model can be solved quite effectively, we have decided to use instances with a 10-day warm-up period, a 90-day main period, and a 10-day cool-down period for these experiments rather than the minimally required 5-day warm-up period, 30-day main period, and 5-day cool-down period. We have taken the 2008 shipping stem and created eight such instances, where each instance is defined in terms of the first day of the main period. More specifically, the main period of the first instance starts at day 30, the main period of the second instance starts at day 60, etc. To identify potential capacity bottlenecks, we create instances that put more pressure on the system and then compare and analyse a variety of performance metrics. Putting more pressure on the system can be done in many ways, e.g., by increasing the total tonnage that flows through the system in a given planning period, by increasing the number of vessels that have to be served in a given planning period, and by increasing the variance of the inter-arrival time distribution of vessels in a given planning period. More specifically, the following instances, each representing an environment that puts more pressure on the system, are generated. We start from an original instance, i.e., a shipping stem. To create a shipping stem in which the total tonnage is increased by 20%, we simply increase the tonnage of the cargoes of every vessel in the shipping stem by 20%. To create a shipping in which the number of vessels is increased by 20%, we employ the following scheme. First, we increase the length of the planning period so as to increase the number of vessels in the planning period by 20%. Next, we decrease the inter-arrival times so as to reduce 46 2. DEMAND DRIVEN THROUGHPUT ASSESSMENT FOR THE HVCC the planning period to the length of the original shipping stem, and we decrease the cargo sizes so as to reduce the total tonnage to the total tonnage of the original shipping stem. To create a shipping stem in which more vessels arrive close together, we employ the following scheme. We partition the stream of arriving vessels into a number of periods and then change the arrival of each vessel within a period in such a way that the arrival times occur closer to the center of the period (for example by halving their distance to the center). Figure 2.5 illustrates an example of 6-day period clustering, where for each vessel v in a 6-day period, the modified arrival time

new center−ev ev is set to ev + 2 .

Figure 2.5. Example of 6-clustering

In summary, in addition to an original instance, we have an instance in which all cargo sizes have been increased by 20%, we have an instance in which the total tonnage is the same, but where 20% more vessels arrive, and we have an instance in which the total tonnage is the same, but which has a number of times in which vessels arrive much closer together. In Table 2.8, we can observe the effect of increased pressure on the system. For each setting, we present the average number of vessels arriving during the main period over the eight instances (the number of vessels over which the statistics are calculated) as well the average number of vessels arriving at each of the two terminals (CCT and KCT), and the average delay for a vessel (for the system as well as for the vessels loading at CCT, and the vessels loading at KCT). We see that the different types of increased pressure have different effects. Fur- thermore, the different types of increased pressure affects the two terminals differ- ently as a result of their different characteristics. To be better able to analyse and understand the effect of increased pressure on the system, we examine some key metrics of the system (from the eight instances) as follows: • the average number of vessels at berth on a day that are experiencing a delay, that is, the number of vessels with their coal provided after their due date. (Figure 2.6), 2.4. A COMPUTATIONAL STUDY 47

Table 2.8. Average number of vessels and the average delay per vessel

setting avg. number of vessels avg. delay per vessel(in day) CCT KCT system CCT KCT system original 81.62 170.38 252.00 0.54 0.15 0.28 increase tonnage 81.62 170.38 252.00 1.03 0.16 0.44 increase vessels 97.88 204.00 301.88 0.46 0.36 0.39 6-cluster 81.62 170.38 252.00 0.73 0.49 0.57

• the length of the queue of vessels waiting for a berth on a day, that is, the number of vessels that have already arrived at the terminals but cannot be served because all berths are occupied, or their cargo has not yet been assembled (Figure 2.7), • the number of stockpiles being assembled on a day, that is, the number of stockpiles for which the first train load of coal has been delivered but for which the last train load of coal has yet to arrive (Figure 2.8), • the number of stockpiles occupying space in the yard on a day, that is, stockpiles that are being built, stockpiles that are dwelling, or stockpiles that are being reclaimed (Figure 2.9), and • the percentage of the stockyard space occupied by the stockpiles that are being built, stockpiles that are dwelling, or stockpiles that are being re- claimed (Figure 2.10).

For completeness sake, we have included the warm-up and cool-down periods as well as the periods defined by ∆− and ∆+ (Table 2.1). The 90-day main period occurs between the two dashed vertical lines in the figures. It is interesting to compare the impact of changes to the shipping stem at the two different terminals. We observe that KCT does not appear to be impacted much by an increase in total tonnage, in the sense that the daily delay and the daily queue length do not change much, but that CCT is significantly impacted by an increase in total tonnage, because both the daily delay and the daily queue lengths go up noticeably. This seems to be a result of lack of stockyard space at CCT. Figure 2.10 shows that with increased tonnage, in some days, more than 90% of the stockyard is used. This is considered full, since the less than 10% space remaining is not enough to accommodate a stockpile with average length, while at KCT, the remaining space if the yard is 90% full is enough to fit at least three stockpiles of average length. At KCT, we see that the number of stockpiles that are being assembled on a day 48 2. DEMAND DRIVEN THROUGHPUT ASSESSMENT FOR THE HVCC

3

2.5

2

1.5

1 Number of vessels vessels of in delay Number

0.5

0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 Day

KCT delay KCT 6‐clustered delay KCT increased tonnage delay KCT increased vessels delay

2

1.8

1.6

1.4

1.2

1

0.8

Number of vessels vessels of Numberin delay 0.6

0.4

0.2

0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 Day

CCT delay CCT 6‐clustered delay CCT increased tonnage delay CCT increased vessels delay Figure 2.6. Number of vessels with delay in each terminal on each day

3

2.5

2

1.5

1 Number of vessels of vessels queuein Number

0.5

0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 Day

KCT queue KCT 6‐clustered queue KCT increased tonnage queue KCT increased vessels queue

2

1.8

1.6

1.4

1.2

1

0.8

Number of vessels vessels queueof in Number 0.6

0.4

0.2

0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 Day

CCT queue CCT 6‐clustered queue CCT increased tonnage queue CCT increased vessels queue Figure 2.7. Number of vessels in queue in each terminal on each day increases, which is to be expected because even though the number of stockpiles that have to be built does not change, their tonnage has increased, so it will take 2.4. A COMPUTATIONAL STUDY 49

1600000

1400000

1200000

1000000

800000

600000 Tonnageof stockpiles

400000

200000

0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 Day

KCT cargoes KCT 6‐clustered cargoes KCT increased tonnage cargoes KCT increased vessels cargoes

460000

410000

360000

310000

260000

210000

160000 Tonnageof stockpiles 110000

60000

10000 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 ‐40000 101 103 105 107 109 111 113 115 117 119 121 123 125 Day

CCT cargoes CCT 6‐clustered cargoes CCT increased tonnage cargoes CCT increased vessels cargoes Figure 2.8. Tonnage of stockpiles that are being built in each terminal on each day

2200000

1700000

1200000

700000 Tonnage of stockpiles Tonnage

200000 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 ‐300000 Day

KCT utilization KCT 6‐clustered utilization KCT increased tonnage utilization KCT increased vessels utilization

700000

600000

500000

400000

300000 Tonnage of stockpiles Tonnage 200000

100000

0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 Day

CCT utilization CCT 6‐clustered utilization CCT increased tonnage utilization CCT increased vessels utilization Figure 2.9. Tonnage of stockpiles that are being built, held, or reclaimed in each terminal on each day longer to assemble them. On the other hand, at CCT, we see that the number of stockpiles that are being assembled on a day does not change by much, which, 50 2. DEMAND DRIVEN THROUGHPUT ASSESSMENT FOR THE HVCC

100

90

80

70

60

50

40

30 Percentage of stockyard usage of stockyard Percentage

20

10

0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 Day

KCT stockyard usage KCT 6‐clustered stockyard usage KCT increased tonnage stockyard usage KCT increased vessels stockyard usage

100

90

80

70

60

50

40

30 Percentageof stockyard usage

20

10

0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 Day

CCT stockyard usage CCT 6‐clustered stockyard usage CCT increased tonnage stockyard usage CCT increased vessels stockyard usage Figure 2.10. Percentage of stockyard used by the stockpiles that are being built, held, or reclaimed on each day

because assembly of the stockpiles takes longer has to result in an increase in daily delay and daily queue length. We observe too that even though KCT does not appear to be impacted much by an increase in tonnage, it is impacted significantly by increased pressure due to reductions in inter-arrival times. The impact is most extreme when a number of vessels arrive close together, in which case the daily delay and the daily queue length immediately jump up. At CCT, reductions in inter-arrival times are also noticeable, but much more modest. In fact, decreasing the inter-arrival time will increase the tonnage, which CCT cannot regulate. However, the impact in the increased tonnage case is more noticeable, as the tonnage is increased to a higher degree. This suggests that at KCT berth capacity may be a bottleneck. That the bottleneck is at the outbound side of the terminal is supported by looking at the number of trains unloaded on a day (Figure 2.11). We see that KCT can accommodate an increase in the number of trains that need to be unloaded on a day, because that is exactly what happens when the tonnage per vessel increases. This also indicates that the rail network appears to have the capacity to accommodate additional tonnage. 2.5. FINAL REMARKS 51

45 40 35 jobs

‐ 30 25 20 15

Number of Numbertrain 10 5 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 Day

KCT train KCT 6‐clustered trains KCT increased tonnage trains KCT increased vessels trains

20 18 16 14 jobs ‐ 12 10 8 6 Numberof trian 4 2 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 Day

CCT train CCT 6‐clustered trains CCT increased tonnage trains CCT increased vessels trains Figure 2.11. Number of trains unloaded at each terminal on each day

The above discussion and interpretation also explain why clustering of arrival times has the largest impact. When several vessels arrive close together, for a short period the system experiences an increase in tonnage that has to flow through the terminals and an increase in the number of vessels that need to be handled by the terminals.

2.5. Final Remarks

We have developed an integer-programming based decision support tool that quickly assesses the throughput of a coal export supply chain for a given level of demand that can be used to rapidly evaluate a number of infrastructures for several future demand scenarios in order to identify a few that should be investigated more thoroughly using a detailed simulation model. A computational study has demon- strated that the tool can produce a reasonably accurate throughput assessment in a matter of minutes, which means that the tool developed can serve its purpose. The efficiency of the tool was tested based on historical scenarios, but when the scenarios become challenging (by increasing the number of vessels or the cargoes tonnage), the run-time increases considerably. For example, the average run-time over eight increased tonnage instances (those that we used in Section 2.4.3) is 9002.2 seconds which is relatively high comparing with 86.9 seconds presented in Table 2.7 for the historical instances. In the next chapter, we are going to introduce an alterna- tive integer programming model with higher efficiency dealing with the challenging scenarios. 52 2. DEMAND DRIVEN THROUGHPUT ASSESSMENT FOR THE HVCC

Comparison with Singh, Sier, Ernst, Gavriliouk, Oyston, Giles, and Welgama(2012)

Because Singh et al. also developed a decision support tool to assist with strate- gic infrastructure capacity planning of the HVCC, we provide a brief overview of the similarities and differences between their model and our model.

• Singh et al. present a mixed integer programming model that simulta- neously schedules coal chain operations and decides capacity expansions. The objective function trades off demurrage (or delay) costs and capacity expansion costs. We present an integer programming model (there are no continuous variables) that schedules coal chain operations so as to minimize demurrage cost. We do not model capacity expansion decisions. Our focus is on quickly assessing the throughput capacity of a given infrastructure for a given level of demand. By decoupling capacity expansion decisions from coal chain operation decisions, we hope to obtain a more tractable model. Obtaining a tractable model that efficiently solves instances of interest has been a key driver of our research. Therefore, we spent a significant amount of time on investigating alternative models (e.g., models using different sets of decision variables), preprocessing techniques to reduce the number of variables, and valid inequalities that tighten the formulation and produce stronger linear programming bounds. • The model of Singh et al. has continuous variables to keep track of times at the minute level, e.g., for the arrival of trains and the start of reclaiming of a stockpile, whereas we only keep track of the day on which such activities take place. Our research aims to complement the simulation tool with an integer programming based decision support tool that more quickly determines the throughput of the system for a given level of demand. We believe, that our formulation, which is based on time index variables, captures less details comparing with the model introduced by Singh et al, but we focus on efficiency (with reasonable details), and the simulation model (as the complement) takes care of the details of the problem. • Singh et al. employ a forward simulation as a preprocessing step to deter- mine both the berth at which a vessel will be loaded and the due time for that vessel. In the simulation, a waiting vessel is assigned to the first berth that becomes available and the loading of that vessel starts immediately. COMPARISON WITH Singh, Sier, Ernst, Gavriliouk, Oyston, Giles, and Welgama(2012) 53

In fact, it is assumed that cargoes are ready for loading whenever desired. The due time is set to the time at which the vessel departs from the berth. In their model, Singh et al. enforce that vessels are loaded at the berth determined by the simulation and that vessels loaded at the same berth are loaded in the order determined by the simulation. We use a simple calculation to determine the due time, that is the arrival time of the vessel plus the minimum loading time of the vessel, and we do not enforce that a vessel is loaded at a particular berth. In fact, we let the model decide at which berth a vessel is loaded which, we believe, provides more flexibility, and probably, a better solution in terms of objective value. • Singh et al. consider each stock pad separately, while we have aggregated the stock pads into a single stock pad (with the length equal to the sum of the lengths of the individual stock pads). As discussed, individual stock pads introduce symmetry (because assignments of stockpiles to pads can be interchanged without affecting the quality of the solution) which can lead to a significant increase in solution times. In addition, aggregating the stock pads decreases the number of variables (without compromising the level of details that our formulation captures) which results in higher efficiency. • We reserve the entire space that a stockpile occupies on a pad as soon as the first train with coal for that stockpile arrives (which is what happens in reality) , whereas Singh et al. reserve space on the pad on a per train basis. • We explicitly take into account that the reclaiming of some stockpiles takes more than 24 hours. In such situations, our model divides the reclaim time over two consecutive days. This situation is not explicitly accounted for by Singh et al., and, as a result, it is possible that such stockpiles are reclaimed on a single day by assigning two reclaimers to the stockpile, which cannot happen in real-life. • Singh et al. limit only the number of trains that can be served at a load point, whereas we only limit the tonnage that can be loaded from a load point in a single day. In this regard, both models are not completely real- istic. • We assume the junction capacity to be the same on each day of the week, whereas Singh et al allow the junction capacity to vary by day of week which is more realistic.

CHAPTER 3

Implicit Modeling: Load Point Based Model

3.1. Introduction

The integer programming formulations that are described in Chapter 2 are en- riched enough to efficiently solve the problem based on the historical data. However, when the scenarios become challenging (by increasing the number of vessels or the cargoes tonnage), the run-time increases considerably. This chapter introduces an alternative integer programming formulation with higher efficiency for dealing with challenging scenarios. The component based model is computationally effective when the 2008 histori- cal data is used. However, after changing the stems by increasing the total tonnage or the number of vessels, the run-time is risen considerably. For example, the aver- age run-time for normal 90-day time horizon samples is about 87 seconds, while the average run-time after increasing the tonnage by 20% is more than 9000 seconds. After analysing CPLEX log files, it is found that the LP relaxation problem takes more time to be solved due to the fact that the problem becomes larger in size when the tonnages are increased. However, the main reason is the search tree size that becomes much larger. The observations show that the solver explores many nodes without improving lower and upper bounds. In fact, the solver spends a considerable amount of time on examining identical solutions without improving the optimality gap. Existing symmetry in the solutions can be one reason that makes the search tree larger. All the train-jobs that come from a load point have the same specifications, such as the trip time, the tonnage and the wagon type. Sometimes, those train-jobs have to be assigned to more than one component in a time period. This can be done in various identical ways, which results in different solutions that have the same objective value and consume the same amount of resources. From a mathematical modelling point of view, for load point l, if component c ∈ C(l) exist in a set of resource constraints (2.18)-(2.21), then all components in C(l) appear in that set of constraints, and since all of the components of a load point have the same coefficients in the constraints, they have identical effects on the model. In the following example,

55 56 3. IMPLICIT MODELING: LOAD POINT BASED MODEL

8 and 6 train-jobs come from a load point on day t − 1 and t respectively, and must be assigned to components c1 and c2. The example shows two possible options to assign the train-jobs to the components.

Figure 3.1. Two ways to assign 8 and 6 train-jobs to c1 and c2

The solver not only determines the number of train-jobs that are produced in each time period, but also needs to make a decision on assigning train-jobs to com- t ponents. Variable xc which represents the number train-jobs assigned to component t c on day t is the source of this issue. This chapter uses integer variable xlp that represents the number of train-jobs that come from load point l to pad p on day t. With the new variable, the number of train-jobs that come out of a load point is decided, and there is no decision about assigning the train-jobs to the components. The model with the new variable is named load point based model. Note that in the component based model, each component is associated with a stockpile, and the variables that represent stacking and reclaiming of the stockpile determine the pad t on which the component is stacked. However, in the load point based, variable xlp are not associated with a specific stockpile, and the variable itself needs to choose a t pad, so pad p appears in the definition of xlp. With the new variable, keeping the train-job of a component after its stockpile building release day and before its deadline is not straightforward, since there is no decision variable that explicitly represent those train-jobs. The solution of the new formulation is the number of train-jobs for each load point, and this solution needs to be feasibly decomposed between the components so that for each component there are enough train-jobs during building its stockpile (after stockpile building release day and before its deadline). Accordingly, an appropriate formulation is needed so that it can implicitly keep the train-jobs in their right places. The chapter provides necessary conditions for the load point based model that make its solutions feasible for the component based model. These necessary inequalities are derived using Hall’s marriage theorem, and they are added to the load point based model. The chapter does not suggest adding all the inequalities in advance, since they are exponential in number, and the majority of them are redundant. A separation algorithm in the tree search finds and adds the necessary inequalities. 3.2. LOAD POINT BASED MODEL 57

The remainder of the chapter is organised as follows. Section 3.2 explains the load point based model, and Section 3.3, the equivalency of the component based model and the load point based model is proved. Section 3.4 explains how to imple- ment the separation algorithm, and Section 3.5 provides numerical results compar- ing the load point based and component based models. Finally, Section 3.6 provides some concluding remarks.

3.2. Load point Based Model

To convert the component based model to the load point based model, we need to introduce a few new parameters, replace a decision variable set, and modify a number of constraints. The new infrastructure and demand parameters can be found in Table 3.1.

Table 3.1. Load point based model parameters

L(u): set of all load points which use junction u C(l): set of all components which come from load point l. L(w): set of all load points using wagon type w

ml: amount of coal (in tonnes) associated with each train-job from load point l (which is the same for every train-job from that load point and is independent of the train-job index j) p dl : duration of a train-job from load point l to pad p and return w Nl : number of wagons of type w required by each train-job from load point l (which is the same for every train-job from that load point and is independent of the train-job index j) s(c): the stockpile that component c belongs to v(c): the vessel that component c belongs to v(s): the vessel that stockpile s belongs to.

t t In addition to ysp and zsp variables, two new sets of variables are used to build the model. First, we introduce the terms available train-jobs which are the train-jobs that are available on the stockyard to be loaded, and waiting train-jobs which are a subset of available train-jobs such that their vessels are not berthed to be loaded. The number of available train-jobs on a stockyard are always more than or equals the number of waiting train-jobs on the stockyard. For each terminal, when there is no vessel in its berths, the number of waiting train-jobs equal to the number of available train-jobs. 58 3. IMPLICIT MODELING: LOAD POINT BASED MODEL

The new sets of variables are:

t xlp : number of train-jobs from load point l to pad p on day t t w¯lp : number of waiting train-jobs from load point l on pad p at the beginning of day t.

The following modified constraints are used: • All stockpiles must be stacked

X X t ysp = 1 ∀s ∈ S. (3.1) p∈P t • Stacking and reclaiming of a stockpile have to occur on the same pad

X t X t ysp = zsp ∀s ∈ S ∀p ∈ P. (3.2) t t • The following constraints are used to do the stacking of all stockpiles of a vessel at least one day before start of reclaiming of the vessel first stockpile.

X X t0 X X t0 ysp ≥ z v(s) ∀s ∈ S(v) ∀v ∈ V ∀t (3.3) s1 p t0

X X t0 X X t0 v v z v ≤ z v s ∈ S(v)\s ∀i ∀j > i ∀t. (3.4) si p sj p i n p∈P t0≥t p∈P 0 Pj ˜ t ≥t+b dsv /24c k=i k • To control the arrival of the train-jobs to the terminals and number of waiting train-jobs on the stockyards, the following constraints are added to the model:

t X X t0 X X t0 w¯lp ≤ |J(c)|ys(c)p − |J(c)|z v(c) s1 p t0

t+1 t t X t w¯lp = xlp +w ¯lp − |J(c)|z v(c) s1 p c∈C(l) ∀l ∈ L ∀p ∈ P, t = 1,...,T − 1 (3.6)

t X t w¯lp ≥ |J(c)|z v(c) ∀l ∈ L ∀p ∈ P, t = 2,...,T (3.7) s1 p c∈C(l) t w¯lp = 0 ∀l ∈ L ∀p ∈ P, t = 1. (3.8)

Constraints (3.5) guarantee that, the number of waiting train-jobs from load point l are always less than or equal to the number of train-jobs for which stacking has been started, but reclaiming has not been started yet t (as their vessels are not available to be loaded). z v(c) in the right hand s1 p 3.2. LOAD POINT BASED MODEL 59

side of the constraints represents the deadline for the train-jobs of vessel v, as all the train-jobs for the vessel have to be ready at least one day before start of reclaiming of the vessel first stockpile. Constraints (3.6) hold the t flow balance of the waiting train-jobs. In this constraint, the value ofw ¯lp is increased when trains arrive at the terminal, but when the loading of t vessel v is started, the value ofw ¯lp is decreased by the number train-jobs of the vessel(|J(v)|). Constraints (3.7) ensure that all the required train-jobs from load-point l are available to be reclaimed. Finally, constraints (3.8) show that there is no train-job in the stockyard at the beginning of the first day.

t t P t By replacing wlp =w ¯lp − c∈C(l) |J(c)|z v(c) (as the inventory at the s1 p end of day t), it is possible to remove constraint (3.7) and add bound (3.11), which makes the problem easier to solve (bounds are more efficient than t t P t constraints). By substitutingw ¯lp with wlp+ c∈C(l) |J(c)|z v(c) , constraints s1 p t+1 t (3.5) change to constraints (3.9). Similarly, by substitutingw ¯lp andw ¯lp t+1 P t+1 t P t with wlp + c∈C(l) |J(c)|z v(c) and wlp+ c∈C(l) |J(c)|z v(c) consecutively, s1 p s1 p constraints (3.6) change to constraints (3.10). Therefore, the alternative constraints for (3.5)-(3.8) are

t X X t0 X X t0 wlp ≤ |J(c)|ys(c)p − |J(c)|z v(c) s1 p t0

t wlp ≥ 0 ∀l ∈ L ∀p ∈ P, t = 2,...,T (3.11)

t wlp = 0 ∀l ∈ L ∀p ∈ P, t = 1. (3.12)

• Load point capacity has to be respected

X t t mlxlp ≤ Cl ∀l ∈ L ∀t (3.13) p∈P

• Junction capacity has to be respected

X X t t xlp ≤ Cu ∀u ∈ U ∀t (3.14) l∈L(u) p∈P 60 3. IMPLICIT MODELING: LOAD POINT BASED MODEL

• The number of wagons used in a day cannot exceed the number of available wagons p X X d l N wxt ≤ C ∀w ∀t (3.15) 24 l lp w l∈L(w) p∈P • Dumping and stacking capacity at a terminal needs to be respected

X X ml (T e + )xt ≤ Ste ∀t ∀e ∈ E (3.16) 1 ρe lp 1 l∈L p∈P (e) 1 • Reclaiming and ship loading capacity at a terminal needs to be respected

t X X X ms t0 e ( e )zsp ≤ S2 ∀t ∀e ∈ E. (3.17) 0 dsρ2 s∈S(e) p∈P (e) t =t−ds+1 • Pad capacity at a terminal needs to be respected

X X t0 X t0 ls( ysp − zsp) ≤ Lp ∀p ∈ P ∀t. (3.18) 0 0 s∈S t ≤t t ≤t−ds • Berth capacity needs to be respected   X X X t0 X X t0 z v − z v ≤ Be ∀t ∀e ∈ E. (3.19)  s1 p sn(v)p p∈P t0≤t p∈P t0≤t−d v v∈V (e) sn

3.3. Equivalency of Component and Load Point Based Models

In order to show the relation between the component and load point based models, we need to introduce some definitions and terms followed by a theorem. Theorem 3.1 guides us to provide the necessary constraints for the load point based model to make it equivalent to the component based model. Afterwards, Proposition 3.2 provides the complete formulation of the load point based model and shows its equivalency to the component based model. The following definitions and the theorem are introduced in general form, and then they are particularly used in the proof of Proposition 3.2. In Section 3.4.1, we provide conditions that are used to show the validity of the load point based model (the implicit model), and then, in Section 3.4.2, we apply the conditions to prove that the load point based and the component based models are equivalent.

3.3.1. Proving sufficient conditions for validity of the implicit model. In what follows, we generally consider C, that indexes a set of demands (the com- |C| ponents in our case study) given by d ∈ Z+ , where each c ∈ C has an associated 1 2 time window [tc , tc ] ⊆ [1,T ] , {1, 2,...,T } during which its demand (the train-jobs of the component) must be met. We are interested in a model based on supply 3.3. EQUIVALENCY OF COMPONENT AND LOAD POINT BASED MODELS 61

T variables x ∈ Z+ that give the supply available in period [1,T ], and wish to under- stand what linear constraints must be applied to these variables to ensure the supply they provide can feasibly meet the demand. The next proposition is thus clearly of interest, where we first require two definitions.

T Definition 3.1. A supply vector x ∈ Z+ is feasibly decomposable by time windows, (or feasibly decomposable for short), if there exists a feasible division of supply in each period between demands so that each demand is satisfied within its time window, t 1 2 i.e. there exists ξc ∈ Z+ for each c ∈ C and t ∈ [tc , tc ] satisfying

X t t ξc = x , ∀t ∈ [1,T ], and (3.20) 1 2 c∈C:tc ≤t≤tc 2 tc X t ξc = dc, ∀c ∈ C, (3.21) 1 t=tc

1 2 where [tc , tc ] is the time window of demand c.

1 2 Definition 3.2. For each set S ⊆ C, A(S) = {t ∈ [1,T ]: tc ≤ t ≤ tc , c ∈ S} is the adjacent set of S.

T Proposition 3.1. Suppose total supply and demand are equal, i.e. x ∈ Z+ satisfies

T X t X x = dc, (3.22) t=1 c∈C then x is feasibly decomposable by time windows if and only if

X t X xc ≥ dc, ∀S ⊆ C. (3.23) t∈A(S) c∈S

The existence of a feasible division of supply in each period between demands is equivalent to the existence of a feasible solution to a balanced transportation t problem with supplies x and demands dc, where only transport links from supply 1 2 t to demand c with tc ≤ t ≤ tc are permitted. The proposition is thus an obvious generalization of Hall’s Theorem (Theorem 1.1) which provides necessary and suf- ficient conditions for a bipartite graph to include a perfect matching. (A related proof is given in Section 4.1 of Boland, Hughes, Merlot, and Stuckey(2008), which formally establishes the equivalence of a balanced transportation problem solution to an aggregation of perfect matchings.) We prove Proposition 3.1 after introducing a few terms and proving some lemmas. Due to the special structure of the bipartite graph induced by feasible supply- demand pairs derived from time windows, we hope that not all constraints (3.23) 62 3. IMPLICIT MODELING: LOAD POINT BASED MODEL need to be applied to x to ensure that it has a feasible decomposition. The theorem below establishes that this is indeed the case. We first need two definitions.

Definition 3.3. A set B ⊆ [1,T ] is consecutive if for each pair t, t0 ∈ B, {t, t + 1, . . . t0} ⊆ B.

Definition 3.4. The set of demands C is said to be sortable if it has an ordering that sorts both starts and ends of time windows, i.e. if C = {c1, c2, . . . , c|C|} where both t1 ≤ t1 ≤ · · · ≤ t1 and t2 ≤ t2 ≤ · · · ≤ t2 . c1 c2 c|C| c1 c2 c|C|

T Theorem 3.1. Suppose supply variables x ∈ Z+ satisfy (3.22), and also satisfy

X t0 X x ≤ dc, ∀t ∈ [1,T ] and (3.24) 0 1 t ≤t c∈C:tc ≤t X t0 X x ≥ dc, ∀t ∈ [1,T ]. (3.25) 0 2 t ≤t c∈C:tc ≤t If C is sortable or satisfies

X t X x ≥ dc, ∀S ⊆ C with A(S) consecutive, (3.26) t∈A(S) c∈S then x is feasibly decomposable by time windows.

In order to prove Theorem 3.1, we require a definitions which followed by two lemmas.

Definition 3.5. For S ⊆ C define tmin(S) to be the earliest time window start time 1 of any demand in S, so tmin(S) = minc∈S tc , and define tmax(S) to be the latest time 2 window end time of any demand in S, so tmax(S) = maxc∈S tc .

Note that tmin(S) ≤ tmax(S) for any set S of demands, and that for any c ∈ S, 1 2 tmin(S) ≤ tc ≤ tc ≤ tmax(S). Observe that if A(S) is consecutive, it must be that

A(S) = {tmin(S), tmin(S) + 1, . . . , tmax(S)}.

T Lemma 3.1. Let x ∈ Z+ satisfy (3.22), (3.24) and (3.25), and suppose C is sortable. Then for each set S ⊆ C that has A(S) consecutive, it must be that

X t X x ≥ dc. t∈A(S) c∈S

Proof. Let S ⊆ C have A(S) consecutive. Since x satisfies (3.25), it must be that X t X x ≥ dc, 2 t≤tmax(S) c∈C:tc ≤tmax(S) 3.3. EQUIVALENCY OF COMPONENT AND LOAD POINT BASED MODELS 63 and hence

X t X t X X x + x ≥ dc + dc. (3.27) t

X t X x ≤ dc. (3.28) 1 t

X X dc ≤ dc. (3.29) 1 2 c∈C:tc

To see why, first assume without loss of generality that C = {c1, c2, . . . , c|C|} sorts both the start and end of time windows in non-decreasing order. Suppose ch ∈ C satisfies t1 < t . Now there exists c ∈ S with t2 = t . Since c ∈ S, it ch min(S) l cl max(S) l must be t1 ≥ t > t1 . Thus h < l and it must be that t2 ≤ t2 ≤ t . cl min(S) ch ch cl max(S) Hence all elements which are summed over in the left-hand side of (3.29) are also summed over in the right-hand side, and our claim is justified. Combining (3.27) with (3.29) and (3.28), we obtain

X t X x ≥ dc. 2 tmin(S)≤t≤tmax(S) tc ≤tmax(S) c∈C: 1 tc ≥tmin(S)

1 2 Recall that for all c ∈ S we have tmin(S) ≤ tc ≤ tc ≤ tmax(S) and hence S ⊆ {c ∈ C : 2 1 tc ≤ tmax(S) and tc ≥ tmin(S)}, which means

X t X X x ≥ dc ≥ dc. 2 tmin(S)≤t≤tmax(S) tc ≤tmax(S) c∈S c∈C: 1 tc ≥tmin(S)

Furthermore, A(S) consecutive means A(S) = {t ∈ [1,T ]: tmin(S) ≤ t ≤ tmax(S)}. Consequently

X t X x ≥ dc. t∈A(S) c∈S 

Lemma 3.2. Let S ⊆ C such that A(S) is not consecutive. Then there exists a nontrivial partition of S, i.e. there exist nonempty sets R and U with R ∪ U = S and R ∩ U = ∅, which induce a partition of A(S), i.e. A(S) = A(R) ∪ A(U) and A(R) ∩ A(U) = ∅. 64 3. IMPLICIT MODELING: LOAD POINT BASED MODEL

0 Proof. Because A(S) is not consecutive there exists t ∈ {tmin(S), tmin(S) + 2 0 1 0 1, . . . , tmax(S)}\ A(S). Let R = {c ∈ S : tc ≤ t − 1} and U = {c ∈ S : tc ≥ t + 1}. It is obvious that R ∩ U = ∅. To see why R ∪ U = S, observe that if c ∈ S \ (R ∪ U) 2 0 1 0 0 1 2 0 then tc > t − 1 and tc < t + 1, or equivalently t ∈ [tc , tc ], and so t ∈ A(S), which contradicts its definition. From the definition of adjacent sets, it is obvious that A(R) ∪ A(U) = A(S). To see that A(R) ∩ A(U) = ∅, assume otherwise, i.e. assume 1 2 there is some t ∈ A(R) ∩ A(U). Then there must be c ∈ R with t ∈ [tc , tc ] and 0 1 2 2 0 1 0 c ∈ U with t ∈ [tc0 , tc0 ]. But t ≤ tc ≤ t − 1 by the definition of R and t ≥ tc0 ≥ t + 1 by the definition of U, so t0 − 1 ≥ t0 + 1, yielding a contradiction. Hence A(R) and A(U) provide a partition of A(S), as required. 

We can now prove Theorem 3.1.

T Proof. (of Theorem 3.1) Let x ∈ Z+ satisfy (3.22), (3.24) and (3.25), and suppose that either C is sortable, or that x also satisfies (3.26). We will use induction on |S| to show that

X t X x ≥ dc (3.30) t∈A(S) c∈S 1 2 holds for all S ⊆ C. When |S| = 1, A(S) = [tc , tc ], where S = {c}, and A(S) is consecutive. Thus if C is sortable, Lemma 3.1 shows (3.30) holds; otherwise (3.30) is one of the constraints (3.26) known to be satisfied by x. Now make the inductive assumption that (3.30) holds for all S ⊆ C with |S| = k, for some k ∈ [1, |C| − 1]. Consider an arbitrary set S ⊆ C with |S| = k + 1. If A(S) is consecutive then either C is sortable so Lemma 3.1 applies to give (3.30), or again we have that (3.30) is one of the constraints (3.26) known to be satisfied by x. Otherwise (A(S) is not consecutive), by Lemma 3.2, there exists a nontrivial partition of S into two sets R and U which induce a partition of A(S). Since the partition of S is nontrivial, |R| ≤ k and |U| ≤ k, so by the inductive assumption

X t X x ≥ dc, and t∈A(R) c∈R X t X x ≥ dc. t∈A(U) c∈U

Now since A(R) ∪ A(U) = A(S) and A(R) ∩ R(U) = ∅, we have

X t X t X t X X X x = x + x ≥ dc + dc = dc. t∈A(S) t∈A(R) t∈A(U) c∈R c∈U c∈S Finally, by Proposition 3.1, we have that x must feasibly decompose by the time windows.  3.3. EQUIVALENCY OF COMPONENT AND LOAD POINT BASED MODELS 65

T The following example shows that if supply variables x ∈ Z+ satisfy constraints (3.24) and (3.25), while C is not sortable, then there is no guarantee for constraint (3.26) to be true.

Example 3.1. Consider the instance of the balanced transportation problem shown in Figure 3.2, with T = 5, C = {1, 2, 3, 4}, x = (8, 0, 4, 0, 4), d = (3, 4, 4, 5), and time 1 2 1 2 1 2 1 2 windows [t1, t1] = [1, 2], [t2, t2] = [2, 3], [t3, t3] = [3, 4], [t4, t4] = [1, 5], where only 1 2 transport links from supply t to demand c with tc ≤ t ≤ tc are permitted. Because

Figure 3.2. An instance with C not sortable

1 1 2 2 t2 > t4 and t2 < t4, C is not sortable. For S = {2, 3} and A(S) = {2, 3, 4},

X t X x = 0 + 4 + 0 < 4 + 4 = dc, t∈A(S) c∈S which contradicts constraint (3.26), although x satisfies constraints (3.24) and (3.25), as can be seen from Table 3.2.

P P t0 P t 2 dc 0 x 1 dc c∈C:tc ≤t t ≤t c∈C:tc ≤t 1 0 8 3+5 2 3 8+0 3+4+5 3 3+4 8+0+4 3+4+4+5 4 3+4+4 8+0+4+0 3+4+4+5 5 3+4+4+5 8+0+4+0+4 3+4+4+5

Table 3.2. An instance with C not sortable

Example (3.1) reveals that if C is not sortable, the addition of constraints (3.26) T is necessary for supply variables x ∈ Z+ to be feasibly decomposable. We now show how to identify all required constraints of the form of (3.26) efficiently. An unsophisticated way is to find all the subsets S that have a consecutive adjacent set, and to add their constraints, but there may be some subsets S which have the same 66 3. IMPLICIT MODELING: LOAD POINT BASED MODEL adjacent set. Instead, consider an arbitrary consecutive subset A ⊆ {1, 2,...,T }, max define NA = {S : A(S) = A} and let S (A) be an element of NA with maximum cardinality. Constraint

X t X x ≥ dc (3.31) t∈A c∈Smax(A) represents constraints (3.26) for all S ∈ NA since

X X dc ≥ dc ∀S ∈ NA. (3.32) c∈Smax(A) c∈S

Constraint (3.31) is also stronger as the right hand side is lifted up. max Suppose there is set S ∈ NA with S * S (A), so there is c ∈ S with c∈ / max max S (A). Since A(S) = A, it must be that A(c) ⊂ A, and S (A) ∪ {c} ∈ NA max max which contradicts the definition of S (A). Thus S ⊆ S (A) for all S ∈ NA and consequently (3.32) is true. We observe that there are at most O(T 2) sets of consecutive A, since there are T (T +1) T (T +1) 2 consecutive subsets of {1,...,T } (|{(r, t)|1 ≤ r ≤ t ≤ T }| = 2 ).

3.3.2. Application to the load point model. In the load based model, the supply is the train-jobs that come from a load point, and the demand is the compo- nents from the load points. Given a solution to binary variables y and z there must 1 clearly exist for each component c ∈ C a unique day tc (y) on which its associated 2 stockpile building is started, a unique day tc (z) so that its associated vessel loading 2 is started on day tc (z) + 1 (recall that all train-jobs of a vessel arrive at least one day before the vessel loading is started), and a unique pad ps(c)(z) on which the component is stacked. For simplicity in what follows, we drop the notations and use 1 2 tc , tc , and ps(c). Using this notation, constraint (3.26) can be expressed as

X t X xlp ≥ |J(c)| ∀l ∈ L ∀p ∈ P ∀ consecutive A ⊆ [1,T ]. (3.33)

t∈A c∈C(l):ps(c)=p, 1 2 [tc ,tc ]⊆A

Referring to Theorem 3.1, if constraints (3.33) hold, the train-jobs can be feasibly decomposed between the components. However, applying constraints of the form of 1 2 (3.33) to the load point based model is not straightforward, as tc , tc , and ps(c) are not known in advance (at the time the model is being built). We introduce for each consecutive set A ⊆ [1,T ], stockpile s ∈ S, and pad p ∈ P A a new binary variable usp that takes value one when stockpile s is assigned to pad p and the start of stacking of the stockpile and start of reclaiming of the associated vessel first stockpile are within the consecutive set A. The alternative for constraints 3.3. EQUIVALENCY OF COMPONENT AND LOAD POINT BASED MODELS 67

(3.33) are

X uA ≥ (yt + zt+1 ) − 1 s(c)p s(c)p sv(c)p t∈A 1 ∀c ∈ C(l, A) ∀l ∈ L ∀p ∈ P ∀ consecutive A (3.34)

X t X A xlp ≥ us(c)p|J(c)| ∀l ∈ L ∀p ∈ P ∀ consecutive A, (3.35) t∈A c∈C(l,A)

+ where C(l, A) := {c ∈ C(l): A ∩ {bv(c), . . . , bv(c) + ∆ − 1}= 6 ∅}. In constraint 1 2 A 1 2 tc tc +1 (3.34), usp is forced to be one when tc , tc ∈ A (ysp = 1, and zsp = 1). Now constraints (3.35) perform the same function as constraints (3.33) when the time window is represented by decision variables. In what follows, we prove that the component based and load point based models are equivalent. As there is no waiting train-job variable in the component based model, we start removing them from the load point based formulation. Rewriting constraints (3.10) and considering them as a recursive sequence we have

t t−1 t−1 X t wlp = xlp + wlp − |J(c)|z v(c) s1 p c∈C(l) t−1 t−2 t−2 X t−1 X t = xlp + (xlp + wlp − |J(c)|z v(c) ) − |J(c)|z v(c) s p s1 p c∈C(l) 1 c∈C(l) . .

t−1 t X t0 X X t0 1 = xlp − |J(c)|z v(c) + wlp. s1 p t0=1 t0=2 c∈C(l)

Considering constraints (3.9) when t = 1 results in

1 X 1 wlp ≤ − |J(c)|z v(c) , s1 p c∈C(l)

P 1 and referring to (3.12) gives c∈C(l) |J(c)|z v(c) = 0. Hence we can write s1 p

t−1 t t X t0 X X t0 X 1 wlp = xlp − ( |J(c)|z v(c) + |J(c)|z v(c) ) s1 p s1 p t0=1 t0=2 c∈C(l) c∈C(l) X t0 X X t0 = xlp − |J(c)|z v(c) . (3.36) s1 p t0

Replacing (3.36) in the left hand side of constraint (3.9) gives us

X t0 X X t0 xlp ≤ |J(c)|ys(c)p ∀l ∈ L ∀p ∈ P ∀t = 2,...,T, (3.37) t0

t X t0 X X t0 wlp = xlp − |J(c)|z v(c) ≥ 0 s1 p t0

Proposition 3.2. The load point based model defined by variables (x, y, z, u) and constraints (3.1)-(3.4), (3.13)-(3.19), (3.37), (3.38), (3.34) and (3.35) is equivalent to the component based model.

Proof. Let (x, y, z, u) be a feasible solution for the load point based model. We first show that the solution of the load point based model can be feasibly decomposed between the components, and then we explain how the decomposable solution is feasible in the component based model resource constraints. As discussed above, 1 2 from y and z, we can determine [tc , tc ] for each component c ∈ C. Since (x, y, z, u) satisfies (3.37) and (3.38), it must be that

X t0 X X t0 X xlp ≤ |J(c)|ys(c)p = |J(c)| , and 0 0 1 t ≤t t ≤t c∈C(l) c∈Clp(y,z):tc ≤t X t0 X X t0 X xlp ≥ |J(c)|z v(c) = |J(c)| ∀l ∈ L ∀p ∈ P ∀t, s1 p 0 0 2 t

X t X A X xlp ≥ us(c)p|J(c)| = |J(c)| ∀l ∈ L ∀p ∈ P ∀A, t∈A c∈C(l,A) A c∈Clp(y,z) A 1 2 where Clp (y, z) := {c ∈ Clp(y, z):[tc , tc ] ⊆ A}. Thus for each load point l ∈ L and t each pad p ∈ P , the conditions of Theorem 3.1 have been met by (xlp)t=1,...,T , for t demands dc = |J(c)|, c ∈ Clp(y, z). We conclude that xlp is feasibly decomposable t by the time windows, i.e. for each c ∈ Clp(y, z) there existx ˆc ∈ Z+ satisfying

X t t xˆc = xlp (3.39) 1 2 c∈Clp(y,z):tc ≤t≤tc X t xˆc = |J(c)| ∀c ∈ Clp(y, z) ∀l ∈ L ∀p ∈ P, (3.40) 1 2 tc ≤t≤tc t 1 2 andx ˆc = 0 for all t 6∈ [tc , tc ]. 3.4. IMPLEMENTATION 69

Referring to (3.40) it is obvious thatx ˆ satisfy (2.15). Since train-jobs are assigned t 1 2 tox ˆc within [tc , tc ], (ˆx, y, z) satisfies (2.25) and (2.26). Clearly (2.2), (2.3), (2.6), (2.11)-(2.13) are satisfied, as they only involve y and z variables which play the same role in both formulations. It remains to show thatx ˆ satisfies (2.18)-(2.21). Starting with constraints (2.18), we can claim

X t X t X t X t mcxˆc = mcxˆc + mcxˆc + mcxˆc 1 1 2 2 c∈C(l) c∈C(l):ttc X X t X t t = mcxˆc = mlxlp ≤ Cl ∀l ∈ L ∀t, 1 2 p∈P c∈Clp(y,z):tc ≤t≤tc p∈P since mc = ml for all c ∈ C(l) and l ∈ L, and C(l) = ∪p∈P Clp(y, z). Similarly, it can be shown that (2.19)-(2.21) are also satisfied byx ˆ using the fact that C(u) =

∪l∈L(u)C(l), C(w) = ∪l∈L(w)C(l), and C(e) = ∪l∈L,p∈P (e)Clp(y, z). For example, for the dump station capacity

X mc X mc (T e + )ˆxt = (T e + )ˆxt 1 ρe c 1 ρe c 1 1 2 1 c∈C(e) c∈C(e):tc ≤t≤tc X X X mc = (T e + )ˆxt (3.41) 1 ρe c 1 2 1 l∈L p∈P (e) c∈Clp(y,z):tc ≤t≤tc X X mc = (T e + )xt ≤ Ct ∀l ∈ L ∀t. 1 ρe lp l l∈L p∈P (e) 1 Finally, proving that each solution of the component based model is feasible t for the load point based model is straightforward, as each xlp can be replaced by P xˆt . c∈Clp(y,z) c 

3.4. Implementation

After adding constraints (3.34) and (3.35) to the load point model, the problem size increased significantly. (Rows and columns are increased 4 and 2 times respec- tively.) One might ask, do we need all those new constraints? The answer is no, as most of them are redundant at the optimal solution. One suggestion is to add them when they are violated during the solving process. In fact, in the branch-and-bound tree, whenever an integer solution is found, we check its feasibility in all constraints (3.33), and if for any load point and any consecutive time subset it is violated, we A add constraints (3.34) and (3.35) to the model with variables usp. We use Cplex 12.5 to solve the problem and call LazyConstraintCallbackI function to find and add the violated constraints to the problem. This function is called whenever a new integer solution is found. Unfortunately, this version of Cplex 70 3. IMPLICIT MODELING: LOAD POINT BASED MODEL does not support adding a new variable during the search tree in the function. At V this stage, the only way is to add all variables usp to the model at the beginning which makes the problem size large. These variable are required as we do not know the time windows of the components when the model is being built. However, as we know the value of the variables when the function is called in the search tree, we can add X X X xt ≥ |J(c)|( (yt + zt+1 ) − 1), (3.42) lp s(c)p sv(c)p t∈A c∈C(l,A) t∈A 1 for each l ∈ L, p ∈ P and consecutive set A ⊆ [1,T ] whenever

X t X xlp < |J(c)|. (3.43) t∈A A c∈Clp(y,z) In the right hand side of constraint (3.42), for each c ∈ C(l, A) the value of P t t+1 1 2 t∈A(ys(c)p + z v(c) ) − 1 is 1 for component c if [tc , tc ] ⊆ A, otherwise it can be ei- s1 p ther -1 or 0, and constraint (3.42) is redundant. If condition (3.43) holds, constraint (3.42) can cut the infeasible integer solution, otherwise it is redundant. Algorithm 3.1 is implemented in LazyConstraintCallbackI to find the cases in which condition (3.43) holds and to add constraint (3.42) to the model whenever an integer solution is found. In the algorithm, for each load point, pad, and consecutive time set, the total number of train-jobs are enumerated (3.1.6-3.1.9), then the total train-jobs required by the components are subtracted from it (3.1.10-3.1.11), and finally if the negative number of train-jobs remain, the constraint is added to the model (3.1.12-3.1.13).

Numerical tests show that Algorithm 3.1 takes less that 10% of the run-time of an instance (the run-times of 10 instances are shown in Table 3.4). However, more efficient separation algorithms can be conducted. After solving the load point model, the train-jobs can be given to the components t using Algorithm 3.2. In this algorithm, xc is the number of train-jobs that are assigned to component c on day t, and mc is the cumulative number of train-jobs t that are given to component c. In Loop 3.2.6-3.2.11, train-jobs xlp are assigned to the set of components that need coal from load point l which are stacked on pad p, and day t is within their time windows. Ct is the set of these components that have not received all of their train-jobs (mc < |J(c)|), and c is the component in 2 Ct with minimum tc . In fact, in each iteration of Loop 3.2.6-3.2.11, component 2 c ∈ Ct with the earliest tc receives the train-jobs to ensure that all the components are satisfied. After that, if any train-job remains (3.2.12-3.2.13), or any component 3.4. IMPLEMENTATION 71

Algorithm 3.1: Lazy constraint algorithm t Input : xlp, ∀l ∈ L ∀p ∈ P ∀t feasible in the load point model t t Input : ysp, zsp, ∀s ∈ S ∀p ∈ P ∀t feasible in the load point model Output: constraints (3.42)

3.1.1 begin

3.1.2 for l = 1, 2,..., |L| do

3.1.3 for p = 1, 2 ..., |P | do

3.1.4 for t = 1, 2,...,T do

3.1.5 for τ = t, t + 1 ...,T do

3.1.6 trainJobs ←− 0;

3.1.7 A ←− {t, t + 1, . . . , τ};

3.1.8 for time ∈ A do time 3.1.9 trainJobs ←− xlp + trainJobs; A 3.1.10 for c ∈ Clp (y, z) do 3.1.11 trainJobs ←− trainJobs − |J(c)|;

3.1.12 if trainJobs < 0 then

3.1.13 add constraint (3.42) for C(l, A)

3.1.14 end

does not receive all of its train-jobs (3.2.14-3.2.16), the load point solution is not feasible for the component based model. (that cannot happen when Algorithm 3.1 is implemented). 72 3. IMPLICIT MODELING: LOAD POINT BASED MODEL

Algorithm 3.2: Train-job assignment (l, p) t Input : xlp, ∀t t Output: xc, ∀c ∈ Clp(y, z) ∀t

3.2.1 begin

3.2.2 mc ←− 0, ∀c ∈ Clp(y, z); t 3.2.3 xc ←− 0, ∀c ∈ Clp(y, z) ∀t;

3.2.4 for t = 1, 2,...,T do t 3.2.5 µ ←− xlp; 3.2.6 while µ > 0 do 0 1 2 0 3.2.7 Ct = {c ∈ Clp(y, z): tc0 ≤ t < tc0 , mc0 < |J(c )|}; 2 3.2.8 c = argminc∈Ct tc ; t 3.2.9 xc ←− min{µ, |J(c)| − mc}; t 3.2.10 mc ←− mc + xc; t 3.2.11 µ ←− µ − xc;

3.2.12 if µ > 0 then

3.2.13 return load point solution is not feasibly decomposable;

3.2.14 for c ∈ Clp(y, z) do

3.2.15 if mc 6= |J(c)| then

3.2.16 return load point solution is not feasibly decomposable;

3.2.17 end

3.5. A Computational Study

In order to compare the component based and load point based models, we have conducted a series of computational experiments. All these experiments have been performed on a machine with Intel(R) Xeon(R) 3.07GHz CPU, 100 GB RAM, and linux operating system. All programs are written in C++, and CPLEX 12.5 is used for solving IPs. Instances use 2008 infrastructure data and are derived from a 2008 shipping stem. All instances cover a 2-month period, e.g., an instance may include all trip arrival times from day 30 to day 90, or from day 60 to day 120. For both models, Cplex uses traditional branch-and-cut. (The default is dynamic search that is switched off when the callback function is used.) The instances which we use in this chapter are the increased tonnage instances used in Section 2.4.3. We have not changed other parameters of the instances, such as ∆−, ∆−, warm-up and cool-down periods from the previous chapter. 3.5. A COMPUTATIONAL STUDY 73

Table 3.3. Component based model results

Instance Status Rows Columns Non-zeros Run-time BC nodes

1 Feasible 15,491 13,966 446,571 114,765 604,726 2 Optimal 14,310 12,874 410,728 20,977 155,174 3 Optimal 13,045 11,809 360,998 34 1,102 4 Optimal 14,656 13,294 434,698 25 729 5 Optimal 15,268 13,840 440,151 2,195 98,134 6 Optimal 13,914 12,435 395,509 62,166 1,174,055 7 Optimal 14,371 12,790 400,957 111 5,605 8 Optimal 15,791 14,031 446,796 171 7,804 9 Optimal 16,868 14,881 456,086 77 3,166 10 Optimal 17,476 15,575 478,330 101,155 329,034

Average 15,119 13,550 427,082 30,167 237,953

Table 3.4. Load point based model results

Instance Status Rows Columns Non-zeros Run-time BC nodes

1 Optimal 9,362 10,770 338,469 115,113 933,211 2 Optimal 8,824 10,167 305,416 1,674 49,065 3 Optimal 8,124 9,400 275,803 59 3,056 4 Optimal 8,924 10,311 314,543 52 1,730 5 Optimal 9,188 10,563 331,728 893 39,101 6 Optimal 8,561 9,791 297,270 18,104 285,390 7 Optimal 8,545 9,876 290,772 138 10,104 8 Optimal 9,351 10,693 335,129 512 27,218 9 Optimal 9,721 11,059 344,441 437 48,177 10 Optimal 9,814 11,308 359,157 26,131 316,178

average 9,041 10,394 319,273 16,311 171,323

Tables 3.3 and 3.4 illustrate results for the component based and load point based problems. In both cases, 10 2-month instances are solved with 115,113 seconds time limit (that is the maximum run-time in the load point model results). In both tables, the records for status (feasible or optimal in the given time limit), number of rows, columns, and non-zeroes (after Cplex pre-processing), run-time, and number of search tree nodes are shown. The results show that in hard instances (1, 2, 5, 6, 10) the load point based model outperforms the component based model that leads to better average results in run-time and number of nodes. In all instances, the number of rows, columns, and non-zeroes in the component based problem are 74 3. IMPLICIT MODELING: LOAD POINT BASED MODEL

Table 3.5. Separation

Instance Time Iteration Constraints

1 207 127 1732 2 33 23 340 3 11 9 82 4 18 12 102 5 63 41 510 6 76 58 657 7 37 28 331 8 48 32 469 9 62 38 471 10 227 114 1937

average 78.2 48.2 663.1 more than the load point problem that results in higher LP relaxation solution time. Furthermore, comparing the number of nodes reveals that the tree size is larger for the component problem as the solver needs to explore more nodes that are identical due to the inherent symmetry. Table 3.5 shows some numerical tests of the separation algorithm for the 10 instances described in Tables 3.3 and 3.4. They are the total time (in second) that the solver spent on the separation (column Time), the number of times that an integer solution was found and the separation function was called in the solving process (column Iteration), and the total number of constrains that were added to the problem by the separation function (column Constraints). Comparing the separation time to the total run-time in Table 3.4 reveals that the separation time is negligible. In addition, the separation increases the number of rows of the load point problem by about 7%.

3.6. Final remarks

We started with an integer programming model and discovered one group of existing symmetry that causes computational issues. Afterward, by aggregating the variables, we suggested an aggregated (implicit) integer programming model that can break the symmetry. Using Hall’s marriage theorem and the model structure we could find the required constraints to make the solution of the aggregated model feasible for the original model. As the number of required constraints is considerably large, and most of them are redundant at the optimal solution, a separation algo- rithm was designed to find those that were necessary and add them in the search 3.6. FINAL REMARKS 75 tree. The results proved the advantage of the aggregated integer model when it encountered with challenging scenarios.

CHAPTER 4

Production Scheduling with Flexible Deadline Problem

4.1. Introduction

The purpose of this chapter is to provide strong valid inequalities for the load point based model. As the load point based model is a complex model, we start with analysing a simple sub-problem which only includes a subset of the variables and the constraints. Every valid inequality which is generated for the sub-problem is a valid inequality for the original problem, as the sub-problem is a relaxed version of the original problem. Firstly, we suppose that there is only one stockpile that needs to be ready at least one day before the deadline which is determined by binary deadline variable zt (which equals one if the deadline is on day t). The objective is to prepare it PT as earliest as possible i.e. minimising t=1 tzt, where T is the number of days (the time horizon), however the objective of this simple sub-problem is irrelevant to the polyhedral analysis needed to find valid inequalities for the load point based PT model. There is only one deadline, so t=1 zt = 1. Integer variable xt represents the number of train-jobs done on day t. D train-jobs are required to finish building Ptˆ−1 Ptˆ the stockpile at least one period before the deadline i.e. t=1 xt ≥ t=1 Dzt for all tˆ ∈ {1, ..., T − 1}. There are also capacity constraints xt ≤ C on the number of train-jobs per day. In our case study, each component from load point l is considered as a demand, and the number of train-jobs for the component is the number of items for the demand. The deadline variables for the demand are the reclaiming variables of the first stockpile of the vessel that the component belongs to. The number of trains that can be loaded in load point l per day is equivalent to the production capacity C that is constant in all days.‘ In this chapter, we model (generally) this simple problem and name it Produc- tion Scheduling with Flexible Deadline Problem (PSFDP). Afterwards, we gener- alised the sub-problem by including varying capacity (instead of constant capacity C) and by including more stockpiles. Our purpose is to generate the facet-inducing

77 78 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM inequalities of this sub-problem which provide strong valid inequalities for the orig- inal problem. This chapter analyses the PSFDP in which demands (stockpiles) must be satis- fied in a given time horizon and their deadlines have to be decided. The simplest version of PSFDP with only one demand and constant capacity (PSFDP-1C) is first studied: its natural formulation is introduced, then it is proved that the polyhedron is full-dimensional, two classes of facet-defining inequalities are derived, and finally it is shown that these inequalities together with some of the original formulation provide a complete formulation consisting entirely of facet-defining inequalities. Af- terwards, the PSFDP-1C is generalised to capture varying capacity (PSFDP-1V), and similarly, two classes of facet-defining inequalities are derived, and finally it is shown that these inequalities together with some of the original formulation pro- vide a complete formulation consisting entirely of facet-defining inequalities. Next, a further generalisation of the problem with multiple demands with constant ca- pacity (PSFDP-MC) is studied, and two classes of valid inequalities are introduced. The final version of the PSFDP-MC when the demands have various arrival time (PSFDP-MCV) is eventually studied using the knowledge from the previous versions which results in valid inequalities for the load point based model.

4.2. One demand with constant capacity

We consider a problem of producing a single item (product) in multiple time periods, where the deadline for meeting the demand of the product is to be decided, and there is production capacity in each time period. In particular, we consider the case in which D units must be produced in H time periods, where the actual deadline for completion of production is a decision variable, i.e. if period t ∈ {1,...,H} is selected as the deadline, production must be completed in the first t time periods. The production capacity in each time period is, in the first instance, treated as a D constant C > 0. Clearly the deadline cannot be set earlier than d C e, so we set D m ≥ q = d C e−1 and ask that the deadline to be in the range {m+1, m+2,...,H}, where H = T + m. We name this problem the Production Scheduling with Flexible Deadline Prob- lem (PSFDP). Since the basic version of the problem considered in this section of the thesis has one demand and the capacity is constant over the time periods, we call it PSFDP-1C; in later sections we consider variants with multiple demands and capacity varying by time period. In what follows, we describe a natural integer programming model for the PSFDP-1C, and analyse its polyhedral structure. 4.2. ONE DEMAND WITH CONSTANT CAPACITY 79

4.2.1. The General Model. We define binary variable zt for t ∈ {1,...,T } to indicate that the deadline for production is time period m + t, and variable xt to denote the number of units producing in time period t, t ∈ {1,...,H} (Figure 4.1). A natural model for the problem is given by

T X min tzt (4.1a) t=1 subject to: T X zt = 1 (4.1b) t=1 tˆ X X xt ≥ Dzt ∀tˆ∈ {1, ..., T − 1} (4.1c) t∈Itˆ t=1

xt ≤ C t ∈ I (4.1d)

z ∈ {0, 1}T (4.1e)

H x ∈ Z+ , (4.1f) where I = {1, 2,...,H}, and It = {1, 2, . . . , m + t}. Constraint (4.1b) ensures that there is a exactly one deadline, and constraints (4.1c) guarantee that the demand is met on or before the deadline. Constraints (4.1d) limit the production in each time period by capacity C, and constraints (4.1e) and (4.1f) ensure non-negative and integer values for the variables. The objective function minimises the completion time.

Figure 4.1. One demand must be met before its deadline

The solution of model (4.1a)-(4.1f) is trivial: xt = C for all t = 1, . . . , m, and xm+1 = D − mC is one solution. However, facets of the polyhedron for this simple model may still provide useful valid inequalities for the load point model.

4.2.2. PSFDP-1C and Lot-sizing with Constant Batches. We have not been able to identify any previously-studied polyhedron that is equivalent to the feasible set of PSFDP-1C. However this feasible set does bear some resemblance to lot-sizing polyhedra. The variant of lot-sizing that appears to be closest to PSFDP- 1C is that studied by Pochet and Wolsey(1993). In this section, we discuss the relationship between this lot-sizing variant and PSFDP-1C. 80 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

Pochet and Wolsey(1993) studied a lot-sizing problem in which the capacity is an integer multiplier of some batch size. The problem is to produce a single item over time periods 1, 2,...,H to meet demands d1, d2, . . . , dH . The problem is formulated as

X min (ptxt + htst + ftyt) (4.2a) t∈I subject to:

st−1 + xt = dt + st t ∈ I (4.2b)

xt ≤ Cyt t ∈ I (4.2c)

H x ∈ R+ (4.2d) H+1 s ∈ R+ , s0 = sH = 0 (4.2e) H y ∈ Z+ , (4.2f) (4.2g) where I = {1, 2,...,H}, xt is the production quantity, st is the end-stock, and yt is the number of batches produced in time period t. In the objective function, pt is the production cost, ht is the stock cost, and ft is the fixed cost per batch of capacity C in time period t. If y ∈ {0, 1}H , the capacity in each time period is either 0, or C, and the problem then is named lot-sizing problem with constant capacity (LCC). Let

CC H H+1 H X = {(x, s, y) ∈ R+ × R+ × {0, 1}+ :(4.2b), (4.2c), and s0 = sH = 0}.

Pochet and Wolsey(1993) provided a class of valid inequalities, and proved that some of the inequalities describing conv(XCC ) belong to that class. However, they did not provide the complete description of conv(XCC ). In both LCC and PSFDP-1C, production in a period is controlled by a binary variable. In the former, positive production may occur in any period t for which yt = 1; in the latter sufficient production must have occurred by period t with zt = 1. If, however, we add to the PSFPDP-1C the requirement that demand is precisely met by production (demand is not over-satisfied), then no production can occur in PT any period from t + 1 with zt = 1. In this case, t0=t zt0 plays a similar role to the PT yt variable. However t0=t zt0 has the additional property that it is non-increasing with t. LCC and PSFDP-1C differ in their minimum requirements of production quantity: in the LCC demand can be required in any period, whereas in PSFDP-1C 4.2. ONE DEMAND WITH CONSTANT CAPACITY 81 only total demand must be met by the end. Thus the feasible set of PSFDP-1C with exact demand fulfilment is equivalent to XCC with the additional constraint that y is non-increasing, in the special case with only one positive demand period - the last. We make this precise in the following proposition, where by “equivalent” we mean that there is a unique correspondence between points in the PSFDP-1C feasible set and points in XCC , i.e, there is a bijective mapping from one set to the other.

Proposition 4.1. If d1 = d2 = ··· = dH−1 = 0, dH = D and m = dD/Ce − 1 then there is a unique correspondence between points in X¯ 1C and points in X¯ CC , where

¯ 1C H T X X = {(x, z) ∈ R+ × {0, 1} :(4.1b) − (4.1d) and xt = D}, t∈I and ¯ CC CC H t−1 t X = {(x, s, y) ∈ X : x ∈ R+ and y ≥ y , ∀t = 2,...,H}. Furthermore, there exists an affine bijection from X¯ 1C to X¯ CC .

Proof. We first simplify X¯ CC by observing that the s variables are only “book- keeping” variables that are uniquely determined by the x variables. It is easily verified that X¯ CC is equivalent to

t t H H CC H H X X X X Xe = {(x, y) ∈ R+ × {0, 1} : xt0 ≥ dt0 , ∀t = 1,...,H, xt0 = dt0 , (4.2c), t0=1 t0=1 t0=1 t0=1 and yt−1 ≥ yt, ∀t = 2,...,H}, which under the assumed demand vector d = (0, 0,..., 0,D) is given by

H CC H H X t−1 t Xe = {(x, y) ∈ R+ × {0, 1} : xt = D, (4.2c), and y ≥ y , ∀t = 2,...,H}. t=1

Furthermore, it is clear that if (x, y) ∈ XeCC then yt = 1 for all t = 1,..., dD/Ce = 0 m + 1; otherwise, if yt0 = 0 for some t ≤ m + 1, it must be that xt = yt = 0 for all 0 PH CC t = t ,...,H and hence t=1 xt ≤ mC < D. We thus see that Xe is equivalent to a set involving only the T remaining y variables, ym+1, . . . , ym+T , re-indexed as y1, . . . , yT , given by

ˆ CC H T X = {(x, y) ∈ R+ × {0, 1} : xt ≤ C, ∀t = 1, . . . , m, xm+i ≤ Cyi, ∀i = 1,...,T, H X xt = D, and yi−1 ≥ yi, ∀i = 1,...,T }. t=1 ¯ 1C ˆ CC PT Define mapping F : X → X by F (x, z) = (x, y) where yt = t0=t zt0 for each t = 1,...,T . In other words, F (x, z) = (x, AF z) where AF ∈ {0, 1}T ×T 82 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM is the matrix with upper triangle all ones and strict lower triangle all zeros, i.e. F F Aij = 1 if j ≥ i and Aij = 0 otherwise, where i, j = 1,...,T . We first show that if (x, z) ∈ X¯ 1C then F (x, z) ∈ Xˆ CC . We then show that F is surjective, and finally F F −1 observe that F must also be injective since A is invertible, with (A )ij = 1 if F −1 F −1 i = j,(A )ij = −1 if j = i + 1, and (A )ij = 0 otherwise for i, j = 1,...,T . (In −1 other words F (x, y) = (x, z) where zt = yt − yt+1 for all t = 1,...,T − 1 and zT = yT .) Let (x, z) ∈ X¯ 1C and set y = AF z. By constraint (4.1b) and integrality of z F it must be that yt ∈ {0, 1} for all t. The definition of A and non-negativity of z ensures y is non-increasing, i.e. yt−1 ≥ yt for all t = 2,...,T . Now xt ≤ C for all P t = 1, . . . , m + T from (4.1d). Hence by (4.1c) and t∈I xt = D it must be that Pm+t 0 yt = 0 implies t0=1 xt ≥ D and so xm+t0 = 0 for all t ≥ t, ensuring xm+t = 0. It CC follows that xm+i ≤ Cyi, for all i = 1,...,T . It is thus clear that F (x, z) ∈ Xˆ . To show that F is surjective, we let (x, y) ∈ Xˆ CC and set z = (AF )−1y, i.e. zt = yt − yt+1 for all t = 1,...,T − 1 and zT = yT . Since y is binary and non- T PT increasing, it must be that z ∈ {0, 1} . Furthermore t=1 zt = y1 by the definition of z. Now y1 = 1 since otherwise y = 0, xm + i = 0 for all i = 1,...,T and P Pm P hence t∈I xt = t=1 xt ≤ Cm < D, contradicting t∈I xt = D as required for CC (x, y) ∈ Xˆ . Thus z satisfies (4.1b). Furthermore zt = 1 if and only if y1 = ··· = yt = 1 and yt+1 = ··· = yT = 0. Let tˆ be the unique element of {1,...,T } with ztˆ = 1. Now since xm+i ≤ Cyi for all i = 1,...,T it must be that xm+t = 0 for all ˆ P Pm+tˆ t = t + 1,...,T . From t∈H xt = D we deduce t=1 xt = D ≥ Dztˆ. It follows that (4.1c) is satisfied. That (4.1d) holds is obvious from the definition of Xˆ CC and since y ≤ 1. Thus (x, z) ∈ X¯ 1C . From invertibility of AF shown above, we conclude that F is bijective, and hence Xˆ CC , which is equivalent to X¯ CC , is equivalent to X¯ 1C . From the above discussion it is clear that G : X¯ 1C → X¯ CC the affine mapping   x between the two sets is given by G(x, z) = AG   + bG where z     IH 0H×T 0H      00 00   0   H T    G   G   A =  B 0  and b =  −d¯   H×T         0m×H 0m×T   1m      F 0T ×H A 0T H×H for B ∈ {0, 1} defined by Bij = 1 if i ≥ j and Bij = 0 otherwise, i, j = ¯ ¯ Pt 1,...,H, and d defined to be the cumulative demand, dt = t0=1 dt for all t = 4.2. ONE DEMAND WITH CONSTANT CAPACITY 83

1,...,H. Here In denotes the n × n identity matrix, 0k×n denotes the k × n matrix 0 of all zeros, 0n indicates the zero column vector of length n, and 0n its transpose, while 1n denotes the column vector of of all ones with length n. This mapping has   x †   inverse G−1 : X¯ CC → X¯ 1C given by G−1(x, s, y) = AG  s  where   y   † IH 0 0H×m 0H×T AG = H×(H+1) .  F −1  0T ×H 0T ×(H+1) 0T ×m (A )



4.2.3. Polyhedral Analysis. The equality constraint (4.1b) requiring that a deadline is selected may make polyhedral analysis less elegant (the polyhedron is not PT −1 full-dimensional referring to definition 1.9), so we use zT = 1 − t=1 zt to project out variable zT , to arrive at the following equivalent formulation:

T −1 X min T + (t − T )zt (4.3a) t=1 subject to: T −1 X zt ≤ 1 (4.3b) t=1 X xt ≥ D (4.3c) t∈I tˆ X X xt ≥ Dzt ∀tˆ∈ {1, ..., T − 1} (4.3d) t∈Itˆ t=1

xt ≤ C ∀t ∈ I (4.3e)

z ∈ {0, 1}T −1 (4.3f)

H x ∈ Z+ . (4.3g)

Since the right hand side of constraint (4.3d) can be zero, constraint (4.3c) ensures that D units are produced in the given time horizon. We define the feasible set to be

1C H T −1 X = {(x, z) ∈ Z+ × {0, 1} :(4.3b) − (4.3e)}.

1 Observe that if |I | ≤ q, then z1 could be eliminated since qC < D (by def- inition of q). Of course T ≥ 2 is also required, otherwise no binary variable ap- pears in the formulation. Furthermore, note that if D ≤ 0 then X1C = {(x, z) ∈ H T −1 PT −1 {0, 1,...,C} × {0, 1} : t=1 zt ≤ 1} which is trivially observed to have 84 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM convex hull conv(X1C ) = [0,C]H × [0, 1]T −1. We thus make the following standing assumption, applied throughout this section.

Assumption 1. For D, T, m ∈ Z+ and C ∈ Z+ defining an instance of PSFDP-1C, (i) D ≥ 1, (ii) C ≥ 1, (iii) T ≥ 2, and (iv) m ≥ q.

Observe that as a consequence, q ≥ 0,

|I| ≥ q + 2,

|I1|C ≥ (q + 1)C ≥ D, by definition of q, and |I|C ≥ (q + 2)C ≥ D + C.

The polyhedron X1C has unique minimal description if it is full-dimensional (theorem 1.2). Before trying to find the valid (facet-inducing) inequalities of the model, we prove that X1C is full-dimensional.

Proposition 4.2. Polyhedron X1C is full-dimensional.

Proof. It can be proved by showing that dim(X1C ) = m + 2T − 1 (definition 1.9). By definition (1.8), we need to provide m + 2T affinely independent points. In what follows, we construct a matrix A in which each row i is a feasible point xi ∈ X1C , i ∈ {1, 2, . . . , m+2T −1}, and we then show that the rows of A are affinely independent.. For example, the first row is the solution x1 = 0, x2 = ··· = xm+1 =

C, xm+2 = C, xm+3 = ··· = xm+T = 0, z1 = ··· = zT = 0, or the (m + T + 1)th row is the solution x1 = x2 = ··· = xm+1 = C, xm+2 = xm+3 = ··· = xm+T = 0, z1 =

1, z2 = ··· = zT = 0. By subtracting feasible point

x 0  C C C  C 0 0 0  0 0 0 0  0  from each row of matrix A, we achieve matrix B which is upper triangular with non-zero determination, so we can say x1−x0, x2− x0, . . . , xm+2T −1−x0 are linearly independent, and consequently, x0, x1, . . . , xm+2T −1 are affinely independent (definition 1.7).  4.2. ONE DEMAND WITH CONSTANT CAPACITY 85

( x , x ,  , x ) ( x ,  , x ) 1 1 m 1 m  2 m  T ( z1 , z 2 , , z T )

 0 C C  C C 0 0  0 0 0 0  0    C 0 C  C C 0 0  0 0 0 0  0        m  1   C  C 0 C C 0 0  0 0 0 0  0  

 C C  C 0 C 0 0  0 0 0 0  0     C C C  C C 0 0  0 0 0 0  0   C C C  C 0 C 0  0 0 0 0  0    A       T  1   C C C  C 0  0 C 0 0 0 0  0    C C C  C 0  0 0 C 0 0 0  0    C C C  C 0 0 0  0 1 0 0  0    C C C  C 0 0 0  0 0 1 0  0         T  1  C C C  C 0 0 0  0 0  0 1 0     C C C  C 0 0 0  0 0  0 0 1 

( x , x ,  , x ) ( x , , x ) 1 1 m 1 m  2 m  T ( z1 , z 2 , , z T )

  C 0 0  0 C 0 0  0 0 0 0  0    0  C 0  0 C 0 0  0 0 0 0  0        m  1    0  0  C 0 C 0 0  0 0 0 0  0 

 0 0  0  C C 0 0  0 0 0 0  0     0 0 0  0 C 0 0  0 0 0 0  0   0 0 0  0 0 C 0  0 0 0 0  0    B       T  1   0 0 0  0 0  0 C 0 0 0 0  0    0 0 0  0 0  0 0 C 0 0 0  0    0 0 0  0 0 0 0  0 1 0 0  0    0 0 0  0 0 0 0  0 0 1 0  0         T  1  0 0 0  0 0 0 0  0 0  0 1 0     0 0 0  0 0 0 0  0 0  0 0 1 

4.2.4. Example. To understand the structure of X1C we start with a simple example of model (4.3a)-(4.3g) where D = 9, C = 4, m = 2, and T = 4 : 86 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

Figure 4.2. One demand, D = 9,C = 4, m = 2,T = 4

min Z = 4 − 3z1 − 2z2 − z3 (4.4a)

subject to :

z1 + z2 + z3 ≤ 1 (4.4b)

x1 + x2 + x3 + x4 + x5 + x6 ≥ 9 (4.4c)

x1 + x2 + x3 ≥ 9z1 (4.4d)

x1 + x2 + x3 + x4 ≥ 9z1 + 9z2 (4.4e)

x1 + x2 + x3 + x4 + x5 ≥ 9z1 + 9z2 + 9z3 (4.4f)

xt ≤ 4 t = 1, 2,..., 6 (4.4g)

z ∈ {0, 1}3 (4.4h)

6 x ∈ Z+. (4.4i)

We use a software called POlyhedron Representation Transformation Algorithm (PORTA) to analyse the polytope of the example. PORTA is a collection of routines such as vint and traf for analysing the polyhedra and polytopes. vint enumerates all the integer points that are valid in the system of inequalities, and traf can creates the minimal system of inequalities that linearly describes the convex hull of the model (http://typo.zib.de/opt-long_projects/Software/Porta/). For this example, PORTA provides inequalities

z1 + z2 + z3 ≤ 1 (4.5)

x1 + x2 + x3 + x4 + x5 + x6 ≥ 9 (4.6) which are those that exist in the original model. PORTA also creates inequalities

x1 + x2 + x3 + x5 + x6 ≥ 4z1 + 5 (4.7a)

x1 + x2 + x3 + x4 + x6 ≥ 4z1 + 4z2 + 5 (4.7b)

x1 + x2 + x3 + x4 + x5 ≥ 4z1 + 4z2 + 4z3 + 5 (4.7c)

x1 + x2 + x3 + x4 ≥ 8z1 + 8z2 + 4z3 + 1 (4.7d)

x1 + x2 + x3 + x6 ≥ 8z1 + 4z2 + 1 (4.7e) 4.2. ONE DEMAND WITH CONSTANT CAPACITY 87

x1 + x2 + x3 + x5 ≥ 8z1 + 4z2 + 4z3 + 1, (4.7f) and

x1 ≥ z1 (4.7h)

x2 ≥ z1 (4.7i)

x3 ≥ z1 (4.7j)

x1 + x2 ≥ 5z1 + z2 (4.7k)

x1 + x3 ≥ 5z1 + z2 (4.7l)

x2 + x3 ≥ 5z1 + z2 (4.7m)

x1 + x4 ≥ z1 + z2 (4.7n)

x2 + x4 ≥ z1 + z2 (4.7o)

x3 + x4 ≥ z1 + z2 (4.7p)

x1 + x2 + x3 ≥ 9z1 + 5z2 + z3 (4.7q)

x1 + x2 + x4 ≥ 5z1 + 5z2 + z3 (4.7r)

x1 + x3 + x4 ≥ 5z1 + 5z2 + z3 (4.7s)

x2 + x3 + x4 ≥ 5z1 + 5z2 + z3 (4.7t)

x1 + x2 + x5 ≥ 5z1 + z2 + z3 (4.7u)

x1 + x3 + x5 ≥ 5z1 + z2 + z3 (4.7v)

x2 + x3 + x5 ≥ 5z1 + z2 + z3 (4.7w)

x1 + x4 + x5 ≥ z1 + z2 + z3 (4.7x)

x2 + x4 + x5 ≥ z1 + z2 + z3 (4.7y)

x3 + x4 + x5 ≥ z1 + z2 + z3 (4.7z) with capacity constrains

xt ≤ 4 t ∈ {1, 2, 3, 4, 5, 6}.

Considering the constraints, we can observe the same trend in inequalities (4.7a)- (4.7f) and inequalities (4.7h)-(4.7z). The inequalities (4.7a)-(4.7f) are all derived from constraint (4.4c) by removing a subset of production variables and lifting the inequality by adding the deadline variables with the highest possible coefficients.

For example, variables x4 and x5 in inequality (4.4c) are chosen to be brought to 88 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM the right hand side i.e.

x1 + x2 + x3 + x6 ≥ 9 − (x4 + x5).

In this inequality, the validity is kept if the maximum amount are given to x4 +x5 so that 9−(x4+x5) becomes minimum. As the production capacity is 4, max(x4+x5) = 8, thus the right side becomes 1 i.e.

x1 + x2 + x3 + x6 ≥ 1.

This inequality can become stronger by adding variables zt with appropriate coef-

ficients αt so that the validity is kept. The general from of the lifted inequality is

x1 + x2 + x3 + x6 ≥ 1 + α1z1 + α2z2 + α3z3.

To describe the lifting process (finding values for αt), we, first, need to introduce some terminologies.

Definition 4.1. For every variable zt, the responsible variables are x1, x2, . . . , xm+t i that x1 + x2 + ··· + xm+t ≥ D if zt = 1. In an inequality, the removed variables are called absent variables and those that are left in the inequality are named present variables.

For example in inequality

x1 + x2 + x3 + x6 ≥ 1, variables x1, x2, x3 are responsible for z1, variables x1, x2, x3, x6 are present variables, x4, x5 are absent variables, and x4 is the absent responsible variable for z2.

Now, we start finding a value for α1. When z1 = 1, from inequality (4.4d) it must be that x1 + x2 + x3 ≥ 9. The validity is kept if

x1 + x2 + x3 + x6 ≥ x1 + x2 + x3 ≥ 9 ≥ 1 + α1z1, hence α1 = 8 is the best(maximum) choice. When z2 = 1, x1 + x2 + x3 + x4 must be at least 9. Since x4 can get maximum value 4, x1 + x2 + x3 must be at least 5. To hold the validity it must be that

x1 + x2 + x3 + x6 ≥ x1 + x2 + x3 ≥ 5 ≥ 1 + α2z2.

Therefore, α2 = 4 is the best choice. When z3 = 1, x1 + x2 + x3 + x4 + x5 must be at least 9. Since the absent responsible variables x4, and x5 can be totally 8, x1 + x2 + x3 has to be at least 1, and 4.2. ONE DEMAND WITH CONSTANT CAPACITY 89

x1 + x2 + x3 + x6 ≥ x1 + x2 + x3 ≥ 1 ≥ 1 + α3z3,

thus α3 = 0 is the best choice. Finally, The lifted inequality is

x1 + x2 + x3 + x6 ≥ 1 + 8z1 + 4z2,

which is also created by PORTA (inequality 4.7e). For a given set S ⊂ I, the general from of valid inequality that is deduced from constraint (4.3c) is:

τ(S) X X t xt ≥ |S \ I |Czt + D − |S|C, (4.8) t∈I\S t=1 where τ(S) = max t − (m + 1). |S \ It|C is the maximum value of the absent t∈S variables which are not responsible for zt, and D − |S|C is the constant in the right hand side. If S = ∅, the inequality becomes constraint (4.3c).

Proposition 4.3. Inequality (4.8) is valid for X1C .

Proof. Choose (x, z) ∈ X1C arbitrary. In what follows, we show that (x, z) satisfies inequality (4.8) for a given S ⊂ I. From constraint (4.3c) X X X xt = xt + xt ≥ D, t∈I t∈I\S t∈I∩S and by constraints (4.3e) it must be that X xt + |I ∩ S|C ≥ D. t∈I\S Consequently X xt ≥ D − |I ∩ S|C ≥ D − |S|C t∈I\S

(since |I ∩ S| ≤ |S|), which satisfies inequality (4.8) in the cases that all zt = 0, or zt = 1 for all t ∈ {τ(S) + 1,...,T − 1}. ˆ We now consider the case that ztˆ = 1 when t ∈ {1, . . . , τ(S)}. By (4.3d) it must be that X X X xt = xt + xt ≥ D t∈Itˆ t∈Itˆ\S t∈Itˆ∩S X tˆ ⇒ xt + |I ∩ S|C ≥ D t∈Itˆ\S X tˆ ⇔ xt ≥ D − |I ∩ S|C. t∈Itˆ\S 90 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

The right-hand side of inequality (4.8) for this case is given by

τ(S) X t |S \ I |Czt + D − |S|C t=1 = |S \ Itˆ|C + D − |S|C

= D − (|S| − |S \ Itˆ|)C

= D − |S ∩ Itˆ|C.

Therefore,

τ(S) X X tˆ X t xt ≥ xt ≥ D − |I ∩ S|C = |S \ I |Czt + D − |S|C. t∈I\S t∈Itˆ\S t=1



The inequalities (4.8) shown by PORTA to be facet-defining on test instances satisfy the following condition. Proposition (4.4) shows that under this condition the inequalities are facet-inducing.

Condition 4.1. S ∩ I1 = ∅ and |S| ≤ q.

If D ≤ C, then the only S that can satisfy Condition (4.1) is S = ∅, in which case inequality (4.8) becomes constraint (4.3c). In this case, since S satisfies Condition (4.1) by proposition (4.4), inequality (4.3c) is facet-inducing.

In the following proofs, ej, j = 1,...,H(= m + T ), ande ˆt, t = 1,...,T − 1, are used to denote the standard basis vectors in IRH and IRT −1 respectively.

Proposition 4.4. If S ⊂ I satisfies Condition (4.1), then inequality (4.8) is a facet-inducing inequality of conv(X1C ).

Proof. We use approach (1.2) to prove that (4.8) is a facet-inducing inequality. In other words, we suppose that every feasible point (x, z) ∈ X1C that satisfies (4.8) at equality also satisfies λx + πz = α for some λ, π, and α. We then show that ˆ ˆ P Pτ(S) t there is λ ∈ R so that (λ, π, α) = λ( t∈I\S et, − t=1 |S \ I |Ceˆt,D − |S|C), where S satisfies Condition (4.1).

If I \ S = {j}, then λˆ = λj, and the proof starts from Claim 2, otherwise, it starts from Claim 1.

Claim 1: λj = λk for all j, k ∈ I \ S with j 6= k. To prove this claim, we let j, k ∈ I \ S with j 6= k be chosen arbitrarily. Now choose J ⊆ (I \ S) \{j, k} with |J| + |S| = q. This is possible since |S| ≤ q by Condition (4.1), and |I| ≥ 2 + q 4.2. ONE DEMAND WITH CONSTANT CAPACITY 91 by our standing assumption. Note that J can be an empty set. J,j P P J,j Define x = C( t∈J et + t∈S et) + (D − qC)ej. Now (x , 0) is feasible as

X J,j xt = C(|J| + |S|) + (D − qC) = D, t∈I and satisfies (4.8) at equality as

X J,j xt = C|J| + (D − qC) t∈I\S = C(q − |S|) + (D − qC) = D − |S|C, that is the right hand side of inequality (4.8) when zt = 0 for all t ∈ {1, 2,...,T −1}. Similarly (xJ,k, 0) is also feasible and satisfies (4.8) at equality. Therefore,

(λ, π).(xJ,j, 0) = α = (λ, π).(xJ,k, 0)

⇔ λxJ,j + π.0 = α = λxJ,k + π.0

⇔ λ(D − qC)ej = λ(D − qC)ek

⇔ λj = λk.

Thus Claim 1 is proved and we may take λˆ := λj for all j ∈ I \ S.

Claim 2: λt = 0 for all t ∈ S. To prove this claim, we first choose s ∈ S arbitrary. Let J = J,j P {1, 2, . . . , q} and j = q + 1, and define x = C( t∈J et) + (D − 1 qC)ej. By Condition (4.1) S ∩ I = ∅, thus s∈ / J ∪ {j}. Since

X J,j xt = qC + (D − qC) = D, t∈I1 J,j J,j then both (x + es, eˆ1) and (x , eˆ1) are feasible. Furthermore, since

X J,j 1 xt = qC + (D − qC) = D = |S \ I |C + D − |S|C, t∈I\S as S ∩ I1 = ∅ by Condition (4.1), so S \ I1 = S. Thus both J,j J,j (x + es, eˆ1) and (x , eˆ1) satisfy (4.8) at equality. Hence

J,j J,j λ(x + es) + πeˆ1 = α = λx + πeˆ1

⇔ λes = 0

⇔ λs = 0, 92 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

and this claim is proved.

Claim 3: πt = 0 for all t ∈ {τ(S) + 1,...T − 1}. To prove this claim, we first choose tˆ∈ {τ(S) + 1,...T − 1} arbi- trary. Choose J ⊆ Itˆ\S with |J|+|S| = q, and j ∈ Itˆ\S \J. This is possible since S satisfies Condition (4.1), and by our standing assumption |Itˆ| ≥ q + 1. Note that J can be an empty set. Define J,j P P x = C( t∈J et + t∈S et) + (D − qC)ej. Since

X J,j xt = C(|J| + |S|) + (D − qC) = D, t∈Itˆ J,j J,j both (x , eˆtˆ) and (x , 0) are feasible. Furthermore,

X J,j xt = C|J| + (D − qC) t∈I\S = C(q − |S|) + (D − qC) = D − |S|C,

that is the right hand side of inequality (4.8), since |S \ Itˆ| = 0 tˆ J,j J,j when t > τ(S) as S ⊆ I . Hence both (x , eˆtˆ) and (x , 0) satisfy (4.8) at equality. Therefore,

J,j J,j λx = α = λx + πeˆt

⇔ 0 = πt,

and the claim is proved. Claim 4: α = λˆ(D − |S|C). Choose J ⊆ I \ S with |J| + |S| = q, and j ∈ I \ S \ J. This is possible since S satisfies Condition (4.1), and by our standing assumption |I| ≥ q + 2. Note that J can be an empty set. Define J,j P P J,j x = C( t∈J et + t∈S et)+(D −qC)ej. Now (x , 0) is feasible as X J,j xt = C(|J| + |S|) + (D − qC) = D, t∈I and satisfies (4.8) at equality as

X J,j xt = C|J| + (D − qC) t∈I\S = C(q − |S|) + (D − qC) = D − |S|C. (4.9)

Therefore,

J,j X J,j X J,j (λ, π).(x , 0) = λtxt + λtxt t∈I\S t∈S 4.2. ONE DEMAND WITH CONSTANT CAPACITY 93

ˆ X J,j ˆ = λ xt = λ(D − |S|C) = α, t∈I\S

since λt = λˆ for all t ∈ I \ S, and λt = 0 for all t ∈ S by Claims 1 and 2 respectively. The claim is proved.

t Claim 5: πt = −λˆ|S \ I |C for all t ∈ {1, 2 . . . τ(S)}. To prove the claim, we choose tˆ∈ {1, 2 . . . τ(S)} arbitrary. Choose J ⊆ Itˆ \ S with |J| = q − |S ∩ Itˆ|, and j ∈ (Itˆ \ S) \ J. This is possible since S satisfies Condition (4.1), and by our standing assumption |Itˆ| ≥ q + 1. Note that J can be an empty set. Define J,j P P J,j x = C( t∈J et + t∈S et) + (D − qC)ej.(x , eˆtˆ) is feasible as

X J,j tˆ xt = |J| + |S ∩ I |C + (D − qC) t∈Itˆ = (q − |S ∩ Itˆ|)C + |S ∩ Itˆ|C + (D − qC) = D,

and satisfies (4.8) at equality as

X J,j tˆ tˆ xt = qC − |S ∩ I |C + (D − qC) = −|S ∩ I |C + D t∈I\S = −(|S| − |S \ Itˆ|)C + D

= |S \ Itˆ|C + D − |S|C,

which is the right hand side of inequality (4.8) when ztˆ = 1. There- fore,

J,j λ(x ) + πeˆtˆ = α ˆ X J,j X J,j ⇔ λ xt + λtxt + πtˆ = α t∈I\S t∈S ˆ tˆ ˆ ⇔ λ(|S \ I |C + D − |S|C) + πtˆ = λ(D − |S|C) ˆ tˆ ⇔ πtˆ = −λ|S \ I |C,

since λt = λˆ for all t ∈ I \ S, and λt = 0 for all t ∈ S by Claims 1 and 2 respectively. The claim is proved.

ˆ P Pτ(S) t Claims 1-5 together demonstrate that (λ, π, α) = λ( t∈I\S et, − t=1 |S\I |Ceˆt,D− |S|C) as required. 

Inequalities (4.7h)-(4.7z) are derived from inequalities (4.4d)-(4.4f). Similarly, a subset of production variables are removed from the left hand side, and then 94 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM the deadline variables coefficients are obtained by lifting method. For example, if variables x2 and x4 are removed from inequality (4.4d), zi coefficients are updated as follows. If z1 = 1, x1 +x2 +x3 must be at least 9. The absent responsible variable x2 can be maximum 4, thus x1 + x3 has to be at least 5 i.e.

x1 + x3 ≥ 5 ≥ α1z1, thus α1 = 5 is the best choice. If z2 = 1, x1 + x2 + x3 + x4 must be at least 9. The absent responsible variables x2 and x4 can be totally 8, thus x1 + x3 has to be at least 1 i.e.

x1 + x3 ≥ 1 ≥ α2z2, thus α2 = 1 is the best choice. The result is

x1 + x3 ≥ 5z1 + z2, which is also created by PORTA (inequality 4.7l). The General form of the second class of inequalities are formulated as:

t¯ X X t t¯ xt ≥ (D − |I ∩ S|C)zt ∀S ⊂ I , t¯∈ {1,...,T − 1}. (4.10) t∈It¯\S t=1

If S = ∅, It¯ ∩ S = 0, and inequality (4.10) becomes constraint (4.3d).

Proposition 4.5. Inequality (4.10) is valid for X1C .

Proof. Choose (x, z) ∈ X1C arbitrary. In what follows, we show that (x, z) satisfies (4.10) for the given t¯∈ {1, 2,...,T − 1} and S ⊂ It¯.

If all zt = 0, or zt = 1 for exactly one t ∈ {t¯+1,...,T −1}, the right hand side of inequality (4.10) is zero and because the variables are non-negative, the inequality is valid.

ˆ ¯ We now consider the case that ztˆ = 1 when t ≤ t. By (4.3d) it must be that X X X xt = xt + xt ≥ D, t∈Itˆ t∈Itˆ\S t∈Itˆ∩S and by (4.3e)

X tˆ xt + |I ∩ S|C ≥ D t∈Itˆ\S X tˆ ⇔ xt ≥ D − |I ∩ S|C. t∈Itˆ\S 4.2. ONE DEMAND WITH CONSTANT CAPACITY 95

The right-hand side of inequality (4.10) for this case is given by

t¯ X t tˆ (D − |I ∩ S|C)zt = D − |S ∩ I |C. t=1 Therefore,

t¯ X X tˆ X t xt ≥ xt ≥ D − |S ∩ I |C = (D − |I ∩ S|C)zt. t∈It¯\S t∈Itˆ\S t=1



The inequalities (4.10) shown by PORTA to be facet-defining on test instances all have |S| = q. Proposition (4.6) shows that under this condition the inequal- ities are facet-inducing, unless D mod C = 0 and t¯ = T − 1, in which case S ∩{1, . . . , q+1} = ∅ is also required. This is summarized in the following condition.

Condition 4.2. i) |S| = q, and ii) if D mod C = 0 and t¯= T − 1 then S ∩ I1 = ∅.

If D ≤ C, then S has |S| = q(= 0) if and only if S = ∅. Recall that if S = ∅ then inequality (4.10) becomes constraint (4.3d). Noting that Proposition (4.6) applies in the case that S = ∅, this also shows that inequality (4.3d) is facet-inducing. The following simple observations will be helpful in the proof of the proposition. They follow from the definition of q and by our standing assumption.

Observation 4.1. (i) D − qC ∈ [1,C]. (ii) D − qC ≤ C − 1 unless D mod C = 0, in which case D − qC = C. 1C 1C (iii) If (x, z) ∈ X then (x + et, z) ∈ X for any t ∈ I with xt ≤ C − 1. (iv) If (x, z) ∈ X1C then (x, 0) ∈ X1C .

Proposition 4.6. If t¯ ∈ {1, 2,...,T − 1} and S ⊂ It¯ satisfy Condition 4.2, then inequality (4.10) is a facet-inducing inequality of conv(X1C ).

Proof. Let t¯ ∈ {1, 2,...,T − 1} and S ⊂ It¯ satisfy Condition 4.2. Note that part (i) of Condition 4.2( |S| = q) is used throughout, whereas part (ii) is only needed for Claim 3 below. We use approach (1.2) to prove that (4.10) is a facet-inducing inequality. In other words, we suppose that every feasible point (x, z) ∈ X1C that satisfies (4.10) 96 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM at equality also satisfies λx + πz = α for some λ, π, and α. We then show that there ˆ ˆ P Pt¯ t is λ ∈ R so that (λ, π, α) = λ( t∈It¯\S et, − t=1(D − |I ∩ S|C)ˆet, 0). We first note that |It¯ \ S| ≥ 1, since S is required to be a strict subset of It¯. J,j tˆ In what follows, we use points of the form (x , eˆtˆ) where I ∪ S ⊇ J ⊇ S with |J| = 2q − |Itˆ ∩ S|, j ∈ Itˆ \ J and

J,j X x = C( et) + (D − qC)ej. t∈J

Note first that by its definition, J \ S ⊆ Itˆ. Also it is helpful to observe that |J ∩ Itˆ| = |J \ S| + |S ∩ Itˆ| = |J| − q + |S ∩ Itˆ| = q. In other words, J is formed by taking the union of S and q − |S ∩ Itˆ| elements of Itˆ\ S. For any tˆ∈ {1,...,H} such a J and j can be found, since |Itˆ| = m + tˆ≥ q + 1 by our standing assumption. We make one final requirement: that in the case that tˆ ≥ t¯+ 1, we require j ∈ Itˆ \ It¯. T −1 By reinterpretinge ˆT to be the zero vector in R , we include points of the form (xJ,j, 0) for tˆ= T . J,j Now (x , eˆtˆ) is feasible by part (i) of Observation 4.1, and since

X J,j X J,j J,j xt = xt + xj = Cq + (D − qC) = D. t∈Itˆ t∈Itˆ∩J Note that by part (iv) of Observation 4.1 it must also be that (xJ,j, 0) is feasible. We J,j also claim that (x , eˆtˆ) satisfies (4.10) at equality. To show this, we first consider the case that tˆ≤ t¯. In this case,

X J,j X J,j J,j xt = xt + xj = |J \ S|C + D − qC t∈It¯\S t∈J\S = (|J| − q)C + D − qC = (|J| − 2q)C + D = D − |Itˆ ∩ S|C as required. Otherwise tˆ≥ t¯+ 1, in which case it must be that J = S and j 6∈ It¯, so

X J,j xt = 0 t∈It¯\S as required. This argument also shows that (xS,j, 0) satisfies (4.10) at equality for j 6∈ It¯. We now proceed to make the necessary deductions about λ, π and α. If It¯\ S = t¯ {j}, then λˆ := λj and we proceed straight to Claim 2. Otherwise |I \ S| ≥ 2 and we proceed with Claim 1 as follows.

t¯ Claim 1: λj = λk for all j, k ∈ I \ S with j 6= k. To prove this claim, choose j, k ∈ It¯ \ S with j 6= k arbitrarily. S,j S,k Observe that both (x , eˆt¯) and (x , eˆt¯) are points of the required 4.2. ONE DEMAND WITH CONSTANT CAPACITY 97 form discussed above. Thus both are in X1C and satisfy (4.10) at equality. Consequently,

S,j S,k (λ, π)(x , eˆt¯) = α = (λ, π)(x , eˆt¯) ⇔ λxS,j = λxS,k

⇔ λ(D − qC)ej = λ(D − qC)ek

⇔ (D − qC)λj = (D − qC)λk

⇔ λj = λk, since by part (i) of Observation 4.1 we can be sure that D−qC 6= 0. t¯ Thus Claim 1 is proved and we may take λˆ := λj for all j ∈ I \ S.

t¯ Claim 2: λt = 0 for all t ∈ I \ I (i.e. all t = m + t¯+ 1, . . . , m + T ). To prove this claim, choose tˆ∈ I \It¯ arbitrarily. Choose j ∈ It¯\S. S,j Clearly (x , eˆt¯) is a point of the required form discussed above, 1C S,j so is in X and satisfies (4.10) at equality. Now (x + etˆ, eˆt¯) must also be in X1C , since tˆ≥ t¯+ 1 and so xS,j = 0 ≤ C − 1; the tˆ result follows by part (iii) of Observation 4.1. Furthermore,

X S,j X S,j (x + etˆ)t = xt t∈It¯\S t∈It¯\S

S,j so (x + etˆ, eˆt¯) must also satisfy (4.10) at equality. Therefore,

S,j S,j λx + λetˆ + πeˆt¯ = α = λx + πeˆt¯

⇔ λtˆ = 0, and the claim is proved.

Claim 3: λt = 0 for all t ∈ S. To prove this claim, we choose tˆ∈ S arbitrarily. Set j = m + t¯+ 1 and observe that j ∈ I \It¯ = IT \It¯. Now (xS,j, 0) is a point of the form discussed at the outset, so is feasible and satisfies (4.10) at S,j equality. Now consider the point (x − etˆ + em+T , 0). We claim that unless j = m + T and D mod C = 0 this is also feasible. First xS,j = C ≥ 1. Now S ⊂ It¯ implies m + T 6∈ S so xS,j = 0, tˆ m+T unless j = m + T . In this case, by part (ii) of Observation 4.1, S,j xm+T = D − qC ≤ C − 1 unless D mod C = 0. This shows that unless j = m + T and D mod C = 0 the production vector S,j x − etˆ + em+T is non-negative and does not exceed capacity in 98 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

any period. Furthermore

X S,j (x − etˆ + em+T )t = D − 1 + 1 = D, t∈I

S,j so the point is feasible as claimed. The point (x − etˆ + em+T , 0) satisfies (4.10) at equality as

X S,j (x − etˆ + em+T )t = 0. t∈It¯\S Thus

S,j S,j λx = α = λ(x − etˆ + em+T )

⇔ λtˆ = λm+T = 0,

by Claim 2, and unless j = m + T and D mod C = 0, this claim is proved. To complete the proof of this claim we consider the case that ¯ D j = m + T , i.e. t = T − 1, and D mod C = 0, i.e. q = C − 1. In this case, by part (ii) of Condition 4.2 it must be that S ∩ I1 = ∅. Pq+1 1C Now the point (C t=1 et, eˆ1) is in X since (q + 1)C = D and m + 1 ≥ q + 1. It also satisfies (4.10) at equality as m + t¯≥ q + 1 so the left-hand side is given by

q+1 X X (C et0 )t = (q + 1)C = D, t∈It¯\S t0=1 while the right-hand side is

t¯ X t 1 (D − |I ∩ S|C)(ˆe1)t = D − |I ∩ S|C = D − (0)C = D. t=1 Pq+1 By part (iii) of Observation 4.1 it must be that (C t=1 et +etˆ, eˆ1) is also in X1C . Furthermore it satisfies (4.10) at equality as tˆ∈ S, so q+1 q+1 X X X X (C et0 + etˆ)t = (C et0 )t. t∈It¯\S t0=1 t∈It¯\S t0=1 As a consequence

q+1 q+1 X X λ( et + etˆ) + πeˆ1 = α = λ et + πeˆ1 t=1 t=1

⇔ λtˆ = 0,

and the proof of the claim is complete. 4.2. ONE DEMAND WITH CONSTANT CAPACITY 99

Claim 4: α = 0 To prove this claim, we again use the point (xS,j, 0) with j = m + t¯+ 1 ∈ I \ It¯ from Claim 3. Since this is in X1C and satisfies (4.10) we have

λxS,j = α ˆ X S,j X S,j X S,j ⇔λ xt + λtxt + λtxt = α t∈It¯\S t∈S t∈I\It¯ ˆ X S,j X S,j ⇔λ(0) + (0)xt + (0)xt = α t∈S t∈I\It¯ ⇔ 0 = α,

t¯ t¯ since λt = λˆ for all t ∈ I \ S, and λt = 0 for all t ∈ I \ I and for all t ∈ S by Claims 1, 2, and 3 respectively, proving this claim.

Claim 5: πt = 0 for all t ∈ {t¯+ 1,...,T − 1}. To prove this claim, choose tˆ ∈ {t¯ + 1,...,T − 1} arbitrarily. S,j ˆ Observe that (x , eˆtˆ) for j = m+t is a point of the form discussed ˆ ¯ tˆ t¯ S,j at the outset, with t ≥ t + 1 and j ∈ I \ I . So (x , eˆtˆ) is feasible and satisfies (4.10). Therefore,

S,j λx + πeˆtˆ = α X X S,j X S,j ⇔ λt(0) + (0)xt + (0)xt + πtˆ = α = 0 t∈It¯\S t∈S t∈I\It¯

⇔ πt = 0,

S,j t¯ since by its definition, xt = 0 for all t ∈ I \ S, λt = 0 for all t ∈ I \ It¯ and for all t ∈ S by Claims 2 and 3 respectively, and α = 0 by Claim 4. This proves the claim.

t Claim 6: πt = −λˆ(D − |I ∩ S|) for all t ∈ {1, 2,..., t¯}. To prove this claim, choose tˆ ∈ {1, 2,..., t¯} arbitrarily. Choose J and j as described at the outset, i.e. with Itˆ ∪ S ⊇ J ⊇ S, tˆ tˆ J,j |J| = 2q − |I ∩ S| and j ∈ I \ J, so the point (x , eˆtˆ) is feasible and satisfies (4.10) at equality. Therefore,

J,j λx + πeˆtˆ = α ˆ X J,j X J,j X J,j ⇔ λ xt + (0)xt + (0)xt + πtˆ = 0 t∈It¯\S t∈S t∈I\It¯ ˆ X J,j ˆ J,j ⇔ λ xt + λxj + πtˆ = 0 t∈It¯∩(J\S) 100 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

t¯ t¯ since λt = λˆ for all t ∈ I \ S by Claim 1, λt = 0 for all t ∈ I \ I and for all t ∈ S by Claims 2 and 3 respectively, α = 0 by Claim 4, by the definition of xJ,j, and since j ∈ It¯ \ S as Itˆ ⊆ It¯ and J ⊇ S, with j 6∈ J by its definition. Furthermore

ˆ X J,j ˆ J,j ⇔ λ xt + λxj + πtˆ = 0 t∈It¯∩(J\S) ˆ X ˆ ⇔ λ C + λ(D − qC) + πtˆ = 0 t∈J\S ˆ tˆ ˆ ⇔ λ(q − |S ∩ I |)C + λ(D − qC) + πtˆ = 0 tˆ ⇔ πt = −λˆ(D − |I ∩ S|C),

since J \S ⊆ Itˆ ⊆ It¯ and by the definition of xJ,j, as well as by the expression for |J \ S| given at the outset. This proves the claim. ˆ P Pt¯ t Claims 1-6 together demonstrate that (λ, π, α) = λ( t∈It¯\S et, − t=1 |D−|I ∩ S|Ceˆt, 0) as required. 

4.2.5. Separation. Due to the fact that the number of inequalities (4.8) and (4.10) are exponential, adding them to the original problem in advance makes it cumbersome. Instead, those that are required can be added in the solving process. The idea is to solve a separation problem in the branch-and-bound framework to find ∗ ∗ those that are violated, or to prove that all of them are satisfied. Suppose (xt , zt ) is a fractional feasible solution for the linear relaxation of original problem (4.3b)- (4.3g). The following separation problem finds subset S ⊂ I for which inequality (4.8) is violated, or proves that there is no such S.

T −1 X ∗ X X ∗ X ψ = min xt (1 − x¯t) − ( x¯t0 )Czt + x¯tC t∈I t=1 t0∈I\It t∈I subject to: X x¯t ≤ q t∈I X x¯t = 0 t∈I1 H x¯ ∈ {0, 1}+ .

∗ ∗ ∗ If ψ < D, the inequality (4.8) is violated by (xt , zt ), where S = {t :x ¯t = 1, t ∈ ∗ ∗ ∗ I}, andx ¯t is the optimal solution for the separation problem. If ψ ≥ D,(xt , zt ) satisfies inequality (4.8) for all S ⊂ I. 4.2. ONE DEMAND WITH CONSTANT CAPACITY 101

P ∗ To understand the objective function, we start with the facts that t∈I x¯t = |S|, P ∗ ∗ P ∗ P ∗ t t t∈I xt (1−x¯t ) = t∈I\S xt , and t∈I\It x¯t = |S \I |. When t > τ(S), |S \I | = 0, PT −1 t ∗ Pτ(S) t ∗ thus t=1 (|S \I |)Czt = t=1 (|S \I |)Czt . Therefore the optimal objective value can be written as

τ(S) X ∗ X t ∗ ψ = xt − |S \ I |Czt + |S|C, t∈I\S t=1 which is similar to inequality (4.8), and if ψ < D, the inequality is violated for S. P P Beside, constraint t∈I x¯t ≤ q guarantees that |S| ≤ q, and t∈I1 x¯t = 0 ensures that S ∩ I1 = ∅. In order to build a separation model for inequalities (4.10), we use two new sets ∗ ∗ of binary variablesx ¯t andz ¯t. If (xt , zt ) is a fractional feasible solution for the linear relaxation of original problem (4.3b)-(4.3g), the following separation problem finds time t¯ ∈ {1, 2,...,T − 1} and subset S ⊂ It¯ for which the inequality is violated, or proves that there is no such time t¯ and subset S.

T −1 t X X ∗ X ∗ ω = min ( xt0 )¯zt − xt x¯t t=1 t0=1 t∈I T −1 t T −1 T −1 X X ∗ X X ∗ − [ (D − C x¯t0 )zt − ( (D − qC)zt0 )¯zt] t=1 t0=1 t=1 t0=t+1 subject to:

tˆ X X x¯t ≥ qz¯t ∀tˆ∈ {1, ..., T − 1} (4.11a) t∈Itˆ t=1 X x¯t = q (4.11b) t∈I T −1 X z¯t = 1 (4.11c) t=1 H x¯ ∈ {0, 1}+

T −1 z¯t ∈ {0, 1}+ .

∗ ∗ If ω < 0, we find that the inequality (4.10) is violated by (xt , zt ) where S = {t : ∗ ∗ x¯t = 1, t ∈ I},x ¯t is the optimal solution for the separation problem, andz ¯t¯ = 1. If ∗ ∗ ¯ ω ≥ 0, (xt , zt ) satisfies inequality (4.10) for all S and t. P ∗ To understand the objective function, we start with the facts that t∈I x¯t = |S|. Constraint (4.11a) ensures that S ⊂ It¯, where the time period t¯ is the period in whichz ¯t¯ = 1, and constraint (4.11b) ensures that |S| = q. In the objective function, 102 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

PT −1 Pt ∗ P ∗ t=1 ( t0=1 xt0 )¯zt = t∈It¯ xt (whenz ¯t¯ = 1), so

T −1 t X X ∗ X ∗ X ∗ X ∗ X ∗ ( xt0 )¯zt − xt x¯t = xt − xt = xt , t=1 t0=1 t∈I t∈It¯ t∈S t∈It¯\S since S ⊂ It¯. In addition

T −1 t T −1 X X ∗ X t ∗ (D − x¯t0 C)zt = (D − |S ∩ I |C)zt , t=1 t0=1 t=1 and T −1 T −1 T −1 X X ∗ X t ∗ ( (D − qC)zt0 )¯zt = (D − |S ∩ I |C)zt , t=1 t0=t+1 t=t¯+1 (|S ∩ It| = |S| = q when t ≥ t¯+ 1), thus

T −1 t T −1 T −1 X X ∗ X X ∗ (D − x¯t0 C)zt − ( (D − qC)zt0 )¯zt t=1 t0=1 t=1 t0=t+1 t¯ X t ∗ = (D − |S ∩ I |C)zt , t=1 whenz ¯t¯ = 1. Therefore. the minimum objective value is

t¯ X ∗ X t ∗ ω = xt − (D − |S ∩ I |C)zt . t∈It¯\S t=1

If ω < 0, inequality (4.10) (based on S and t¯ that are achieved from the separation problem) is added to the model.

4.2.6. A complete reformulation of PSFDP-1C with only facet-inducing inequalities. Two classes of facet-inducing inequalities of conv(X1C ) have been provided. In this section, we introduce the rest of facet-inducing inequalities that together is a complete formulation (Definition 1.1) for PSFDP-1C.

¯ Proposition 4.7. Inequalities (4.3b) and xt¯ ≥ 0 for all t¯∈ I where |I|C ≥ D+C+1, 1 1 inequalities xt¯ ≥ 0 for all t¯ ∈ I where |I | ≥ q + 2, and inequalities (4.3e), (4.8),

(4.10), and zt ≥ 0 for all t ∈ {1, 2,...,T − 1}, together form a complete formulation of PSFDP-1C.

In order to prove Proposition (4.7), first, we need to show that the required inequalities in the proposition are facet-inducing inequalities.

Lemma 4.1. Inequality (4.3b) is a facet-inducing inequality if |I|C ≥ D + C + 1. 4.2. ONE DEMAND WITH CONSTANT CAPACITY 103

Proof. We use approach (1.2) to prove that (4.3b) is a facet-inducing inequality. In other words, we suppose that every feasible point (x, z) ∈ X1C that satisfies (4.3b) at equality also satisfies λx + πz = α for some λ, π, and α. We then show that there PT −1 isπ ˆ ∈ R so that (λ, π, α) =π ˆ(0, t=1 eˆt, 1).

If T − 1 = 1, thenπ ˆ = π1, and the proof starts from Claim 2, otherwise, it starts from Claim 1.

Claim 1: πj = πk for all j, k ∈ {1, 2,...,T − 1} with j 6= k.

To prove this inequality, we choose j, k ∈ {1, 2,...,T − 1} I1 P I1 arbitrary. Define x = C t∈I1 et.(x , eˆj) is feasible since

X I1 xt ≥ (q + 1)C = D, t∈Ij

I1 by our standing assumption. (x , eˆj) satisfies (4.3b) at equality PT −1 I1 as t=1 eˆj = 1. Similarly (x , eˆk) is feasible and satisfies (4.3b) at equality. Therefore

I1 I1 λx + πeˆj = α = λx + πeˆk

⇔πj = πk,

and the claim is proved. Letπ ˆ = πj for all j ∈ {1, 2,...,T − 1}.

Claim 2: λt = 0 for all t ∈ I. To prove this claim, choose tˆ∈ I arbitrary. Since |I|C ≥ D+C+1, ˆ I\{tˆ} P then |I \{t}|C ≥ D + 1. Define x = C t∈I\{tˆ} et + (C − 1)etˆ. I\{tˆ} (x , eˆT −1) is feasible as

X I\{tˆ} X I\{tˆ} ˆ xt ≥ xt − C ≥ |I \{t}|C + C − 1 − C ≥ D, t∈IT −1 t∈I PT −1 and satisfies (4.3b) at equality since t=1 eˆT −1 = 1. Similarly, I I (x , eˆT −1) is feasible and satisfies (4.3b) at equality , where x = P t∈I Ctet. Therefore

I\{tˆ} I λx + λ(C − 1)etˆ + πeˆT −1 = α = λx + πeˆT −1

⇔(C − 1)λtˆ = α = Cλtˆ

⇔λtˆ = 0,

and the claim is proved. 104 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

Claim 3: α =π ˆ I1 P I1 Define x = C t∈I1 et.(x , eˆ1) is feasible since

X I1 xt ≥ (q + 1)C = D, t∈I

I1 by our standing assumption. (x , eˆ1) satisfies (4.3b) at equality, thus I1 α = λx + πeˆ1 = π1 =π, ˆ

by Claim 1 and the fact that λt = 0 for t ∈ I by Claim 2. This claim is proved. PT −1 Consequently, by Claims 1-3, (λ, π, α) =π ˆ(0, t=1 eˆt, 1). 

Lemma 4.2. Inequalities xt ≤ C for all t ∈ I are facet-inducing inequalities.

Proof. We, first, choose t¯ ∈ I arbitrary. We use approach (1.2) to prove that inequality xt¯ ≤ C is a facet-inducing inequality. In other words, we suppose that 1C every feasible point (x, z) ∈ X that satisfies xt¯ = C also satisfies λx + πz = α for some λ, π, and α. We then show that (λ, π, α) = λt¯(et¯, 0,C).

Claim 1: λt = 0 for all t ∈ I \{t¯}. To prove this claim, we choose tˆ ∈ I \{t¯}. Define xI\{tˆ} = P I\{tˆ} C t∈I\{tˆ} et + (C − 1)etˆ.(x , 0) is feasible since

X I\{tˆ} xt ≥ (q + 1)C + C − 1 ≥ D, t∈I

I by our standing assumption, and xt¯ = C. Similarly, (x , 0) is I P feasible and satisfies xt¯ = C, where x = C t∈I et. Therefore,

I\{tˆ} I λx + λ(C − 1)etˆ = α = λx

⇔(C − 1)λtˆ = Cλtˆ

⇔λtˆ = 0,

and the claim is proved.

Claim 2: πt = 0 for all t ∈ {1, 2,...,T − 1}. To prove this claim, we choose tˆ ∈ {1, 2,...,T − 1} arbitrary. I1\{t¯} P Define x = C t∈I1\{t¯} et + Cet¯. Since

X I1\{t¯} xt ≥ (q + 1)C = D t∈Itˆ 4.2. ONE DEMAND WITH CONSTANT CAPACITY 105

I1\{t¯} I1\{t¯} by our standing assumption, then both (x , eˆtˆ) and (x , 0)

are feasible. Both also satisfy xt¯ = C, thus

I1\{t¯} I1\{t¯} λx + πeˆtˆ = α = λx

⇔πtˆ = 0,

and the claim is proved.

Claim 3: α = λt¯C.

I P I Define x = C t∈I et.(x , 0) satisfy xt¯ = C and is feasible by our standing assumption, thus

λxI + 0.π = α

⇔λt¯C = α,

since λt = 0, t ∈ I \{t¯} by Claim 1. The claim is proved.

Claims 1-3 show that (λ, π, α) = λt¯(et¯, 0,C). 

Lemma 4.3. Inequalities zt ≥ 0 for all t ∈ {1, 2,...T − 1} are facet-defining.

Proof. First, we choose t¯ ∈ {1, 2,...T − 1} arbitrary. We use approach (1.2) to prove that inequality zt¯ ≥ 0 is a facet-inducing inequality. In other words, we 1C suppose that every feasible point (x, z) ∈ X that satisfies zt¯ = 0 also satisfies

λx + πz = α for some λ, π, and α. We then show that (λ, π, α) = πt¯(0, eˆt¯, 0).

Claim 1: λt = 0 for all t ∈ I. To prove this claim, we choose tˆ ∈ I arbitrary. Define xI\{tˆ} = P I\{tˆ} C t∈I\{tˆ} et + (C − 1)etˆ.(x , 0) is feasible since

X I\{tˆ} xt ≥ (q + 1)C + C − 1 ≥ D, t∈I

I\{tˆ} by our standing assumption, and (x , 0) satisfies zt¯ = 0. Simi- I I P larly, (x , 0) is feasible and satisfies zt¯ = 0, where x = C t∈I et. Therefore,

λxI\{tˆ} = α = λxI

⇔(C − 1)λtˆ = α = Cλtˆ

⇔λtˆ = 0,

and the claim is proved. 106 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

Claim 2: πt = 0 for all t ∈ {1, 2,...,T − 1}\{t¯}. To prove this claim, we choose tˆ∈ {1, 2,...,T − 1}\{t¯} arbitrary. I1 P Now define x = C t∈I1 et. Since

X I1 xt ≥ (q + 1)C ≥ D, t∈Itˆ

I1 I1 by our standing assumption, both (x , eˆtˆ) and (x , 0) are feasible.

They also satisfy zt¯ = 0, thus

I1 I1 λx + πtˆ = α = λx

⇔πtˆ = 0,

and the claim is proved. Claim 3: α = 0. I P I Define x = C t∈I et.(x , 0) satisfies zt¯ = 0 and is feasible by our standing assumption, thus

λxI + 0.π = α

⇔0 = α,

since λt = 0 for all t ∈ I by Claim 1. The claim is proved.

Claims 1, 2, and 3 show that (λ, π, α) = πt¯(0, eˆt¯, 0). 

1 Lemma 4.4. If |I | ≥ q + 2, then xt ≥ 0 for all t ∈ I are facet-inducing inequalities

Proof. We choose t¯∈ I arbitrary. We use approach (1.2) to prove that inequal- 1 ity xt¯ ≥ 0 is a facet-inducing inequality if |I | ≥ q + 2. In other words, we suppose 1C that every feasible point (x, z) ∈ X that satisfies xt¯ = 0 also satisfies λx + πz = α for some λ, π, and α. We then show that (λ, π, α) = λt¯(et¯, 0, 0).

Claim 1; λt = 0 for all t ∈ I \{t¯}. To prove this claim, we choose tˆ ∈ I \{t¯} arbitrary. Now define I\{t,ˆ t¯} P I\{t,ˆ t¯} x = C t∈I\{t,ˆ t¯} et + (C − 1)etˆ.(x , 0) is feasible since

X I\{t,ˆ t¯} xt ≥ (q + 1)C + C − 1 ≥ D, t∈I since |I| ≥ |I1| + 1 ≥ q + 3, and |I \{t,ˆ t¯}| ≥ q + 1. (xI\{t,ˆ t¯}, 0) I\{t¯} also satisfies xt¯ = 0. Similarly, (x , 0) is feasible and satisfies I\{t¯} P xt¯ = 0 where x = C t∈I\{t¯} et. Therefore,

λxI\{t,ˆ t¯} = α = λxI\{t¯} 4.2. ONE DEMAND WITH CONSTANT CAPACITY 107

⇔(C − 1)λtˆ = α = Cλtˆ

⇔λtˆ = 0,

and the claim is proved. ˆ Claim 2: πtˆ = 0, t ∈ {1, 2,...,T − 1}

I1\{t¯} P 1 ¯ Define x = C t∈I1\{t¯} et. Since |I \{t}| ≥ q + 1, both I1\{t¯} I1\{t¯} (x , eˆtˆ) and (x , 0) are feasible. They also satisfy xt¯ = 0, thus

I1\{t¯} I1\{t¯} λx + πtˆ = α = λx

⇔πtˆ = 0,

and the claim is proved.

Claim 3: α = 0 I\{t¯} P I\{t¯} Define x = C t∈I\{t¯} et.(x , 0) satisfies xt¯ = 0 and is feasible since |I \{t¯}| ≥ q + 1, thus

λxI\{t¯} + 0.π = α

⇔λt¯xt¯ = α ⇔0 = α,

since λt = 0 for all t ∈ I \{t¯}, and xt¯ = 0. The claim is proved.

Claims 1-3 together demonstrate that (λ, π, α) = λt¯(et¯, 0, 0). 

Lemma 4.5. If |I|C ≥ D + C + 1, then xt ≥ 0 for all t ∈ I¯ are facet-inducing inequalities.

Proof. To prove this lemma, we arbitrary choose t¯∈ I. We use approach (1.2) to prove that inequality xt¯ ≥ 0 is a facet-inducing inequality. In other words, we 1C suppose that every feasible point (x, z) ∈ X that satisfies xt¯ = 0 also satisfies

λx + πz = α for some λ, π, and α. We then show that (λ, π, α) = λt¯(et¯, 0, 0).

Claim 1: λt = 0 for all t ∈ I \{t¯}. To prove this claim, we choose tˆ ∈ I \{t¯} arbitrary. Now define I\{t,ˆ t¯} P x = C t∈I\{t,ˆ t¯} et + (C − 1)etˆ. Since |I|C ≥ D + C + 1, then 108 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

|I \{t,ˆ t¯}|C ≥ D − C + 1, thus

X I\{t,ˆ t¯} xt ≥ (D − C + 1) + C − 1 = D. t∈I

Therefore, both (xI\{t,ˆ t¯}, 0) and (xI\{t¯}, 0) are feasible where xI\{t¯} = P I\{t,ˆ t¯} I\{t¯} C t∈I\{t¯} et. Furthermore, both (x , 0) and (x , 0) satisfy

xt¯ = 0. Therefore,

λxI\{t,ˆ t¯} = α = λxI\{t¯}

⇔(C − 1)λtˆ = Cλtˆ.

⇔λtˆ = 0,

and the claim is proved.

Claim 2: πt = 0 for all t ∈ {1, 2,...,T − 1} To prove the claim, we choose tˆ∈ {1, 2,...,T − 1} arbitrary. Now I1 P 1 define x = C t∈I1 et. By our standing assumption |I | ≥ q + 1, so

X I1 X xt = C et ≥ C(q + 1) ≥ D, t∈I1 t∈I1 I1 I1 thus both (x , eˆtˆ) and (x , 0) are feasible. They also satisfy xt¯ = 0 since t¯∈ / I1. Therefore,

I1 I1 λx + πtˆ = α = λx

⇔πtˆ = 0,

and the claim is proved.

Claim 3: α = 0 I1 P I1 Define x = C t∈I1 et. By our standing assumption (x , 0) is 1 I1 feasible, and since t¯∈ / I (x , 0) satisfies xt¯ = 0. Thus

1 λxI + 0.π = α

⇔λt¯xt¯ = α ⇔0 = α,

since by Claim 1 λt = 0 for all t ∈ I \{t¯}, and xt¯ = 0. The claim in proved.

Claims 1-3 illustrate that (λ, π, α) = λt¯(et¯, 0, 0).  4.2. ONE DEMAND WITH CONSTANT CAPACITY 109

Proof. (Proposition 4.7) Propositions (4.4) and (4.6), and Lemmas (4.1)-(4.5) show that the required inequalities in Proposition (4.7) are facet-inducing inequali- ties. Therefore, the convex hull provided by these inequalities includes conv(X1C ). To prove the proposition, we only need to show that every integer point (x, z) that satisfies the inequalities in Proposition (4.7) belongs to X1C . Suppose point (x, z) satisfies the inequalities in proposition (4.7). The point

(x, z) satisfies (4.3e), (4.8), (4.10), and zt ≥ 0 for all t ∈ {1, 2,...,T − 1}. In what follows, we show that (x, z) also satisfies inequality (4.3b), (4.3c), (4.3d), and xt ≥ 0 for all t ∈ I.

1 Claim 1: xt ≥ 0 for all t ∈ I .

To prove this claim, we choose tˆ∈ I1 arbitrary. If |I1| ≥ q + 2,

then xtˆ ≥ 0 is part of the description. Otherwise, if |I1| = q + 1, then S = I1 \{tˆ} holds Condition (4.2). The inequality (4.10) for this S and t¯= 1 is:

t¯ X X t xt ≥ (D − |I ∩ S|)zt t∈It¯\S t=1

⇔xtˆ ≥ (D − |S|C)z1

⇔xtˆ ≥ Cz1,

which forces xtˆ to be non-negative since z1 ≥ 0. The claim is proved.

Claim 2:(x, z) satisfies inequality (4.3c). S = ∅ satisfies Condition (4.1). Point (x, z) satisfies inequality (4.8) where S = ∅. i.e.

τ(S) X X t xt ≥ |S \ I |Czt + D − |S|C t∈I\S t=1 X ⇔ xt ≥ D, t∈I and the claim is proved.

Claim 3: xt ≥ 0 for all t ∈ I¯. To prove this claim, we choose tˆ∈ I¯ arbitrary. If |I|C ≥ D+C +1,

xtˆ ≥ 0 is part of the description. 110 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

Otherwise, if |I|C ≤ D +C, then |I|C = D +C and |I1|C = D by our standing assumption. By definition of q

|I|C = D + C ≤ (q + 1)C + C

⇔|I| ≤ q + 2.

Since |I| ≥ q + 2 by our standing assumption, then |I| = q + 2, |I1| = q + 1, and I¯ = {q + 2}, and thus tˆ= q + 2. Point (x, z) satisfies inequalities (4.3c) and (4.3e), thus

X xt ≥ D t∈I X ⇔xtˆ ≥ D − xt t∈I1 1 ⇒xtˆ ≥ D − |I |C

⇔xtˆ ≥ 0,

and the claim is proved.

Claim 4:(x, z) satisfies inequality (4.3b). If |I|C ≥ D+C+1, then inequality (4.3b) is part of the description. Otherwise, if |I|C ≤ D + C, then, by Claim 3, |I| = q + 2, and by definition of I, m + T = q + 2. Since T ≥ 2 by our standing assumption, and m ≥ q by definitions of m and q, then T = 2,

and there is only one deadline variable z1. We only need to proof

that z1 ≤ 1. Note that if |I|C ≤ D + C, then |I1|C = (q + 1)C = D by Claim 3. Choose S = {q + 2}. S holds Condition (4.1), thus (x, z) satisfies inequality (4.8) for this S i.e.

X 1 xt ≥ (|S \ I |C)z1 + D − |S|C t∈I\S X ⇔ xt ≥ Cz1 + D − C = Cz1 + qC t∈I1 X ⇔(q + 1)C ≥ xt ≥= Cz1 + qC t∈I1

⇔C ≥ Cz1

⇔1 ≥ z1,

and the claim is proved. 4.2. ONE DEMAND WITH CONSTANT CAPACITY 111

Claim 5:(x, z) satisfies inequality (4.3d)

If zt = 0 for all t ∈ {1, 2,...,T − 1}, the right hand side of inequalities (4.3d) become zero and consequently, (x, z) satisfies

them as xt ≥ 0 for all t ∈ I by Claims 1 and 3.

Otherwise, if ztˆ = 1, we need to show that all items D are produced by time period m + tˆ i.e.

X xt ≥ D. t∈Itˆ

If m + tˆ+ q ≤ m + T − 1, let t¯ = m + tˆ+ q and S = {m + tˆ+ 1, m + tˆ+ 2, . . . , m + tˆ+ q}. Since S ⊂ It¯ \ I1 and |S| = q, S satisfies Condition (4.2). Point (x, z) satisfies inequality (4.10) based on these S and t¯ i.e.

t¯ X X t xt ≥ (D − |I ∩ S|)zt t∈It¯\S t=1 X tˆ ⇔ xt ≥ (D − |I ∩ S|)ztˆ t∈Itˆ X ⇔ xt ≥ D, t∈Itˆ

since It¯ \ S = Itˆ, ztˆ = 1, and Itˆ ∩ S = ∅. If m + tˆ+ q > m + T − 1, choose S = {m + tˆ+ 1, m + tˆ+ 2, . . . , m+T }. Since |S| ≤ q, and S ⊆ I¯, then S satisfies Condition (4.1). (x, z) satisfies inequality (4.8) for this S i.e.

τ(s) X X t xt ≥ |S \ I |Czt + D − |S|C t∈I\S t=1 X tˆ ⇔ xt ≥ |S \ I |C + D − |S|C t∈I\S X ⇔ xt ≥ D, t∈Itˆ

since S \ Itˆ = S. The claim is proved.

Claims 1-5 show that (x, z) also satisfies inequality (4.3b), (4.3c), (4.3d), and xt ≥ 0 for all t ∈ I, as required.  112 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

4.3. One demand with varying capacity

In this section, we consider a generalization of PSFDP-1C where the capacity is not constant, but is permitted to vary by period. We refer to this problem as

PSFDP-1V. In this problem, the production capacity in period t is denoted by Ct. Our formulation for PSFDP-1V is: T −1 X min T + (t − T )zt (4.12a) t=1 subject to: T −1 X zt ≤ 1 (4.12b) t=1 X xt ≥ D (4.12c) t∈I tˆ X X xt ≥ Dzt ∀tˆ∈ {1, ..., T − 1} (4.12d) t∈Itˆ t=1

xt ≤ Ct ∀t ∈ I (4.12e)

z ∈ {0, 1}T −1 (4.12f)

H x ∈ Z+ . (4.12g)

We observe that if Ct = 0 for some t ∈ I then the variable xt could be eliminated from P the formulation. Furthermore, if t∈I1 Ct < D then z1 could be eliminated. Thus to maintain a full-dimensional polyedron, we will assume that neither of these cases can occur. Of course T ≥ 2 is also required, otherwise no binary variables appear in the formulation. We thus make the following standing assumption, applied throughout this section.

m+T Assumption 2. For T, m, D ∈ Z+ and C ∈ Z+ defining an instance of PSFDP- 1V, (i) T ≥ 2,

(ii) Ct ≥ 1 for all t ∈ I = {1, . . . , m + T }, and X (iii) Ct ≥ D, t∈I1 where, as before, It = {1, . . . , m + t} for each t = 1,...,T . Observe that as a consequence, X Ct ≥ D + 1. t∈I This assumption and its consequence will be used often in the results to follow in this section. It is also helpful to note that by its definition |I1| ≥ 1. 4.3. ONE DEMAND WITH VARYING CAPACITY 113

We define the feasible set for PSFDP-1V to be

1V H T −1 X = {(x, z) ∈ Z+ × {0, 1} :(4.12b) − (4.12e}.

For a given S ⊂ I the generalized form of inequality (4.8) is

τ(S) X X X X xt ≥ ( Ct0 )zt + D − Ct, (4.13) t∈I\S t=1 t0∈S\It t∈S where τ(S) = maxt∈S t − (m + 1). If S = ∅, the inequality becomes constraint P t P (4.12c). Moreover, if Ct = C for all t, t0∈S\It Ct0 = |S \ I |C, t∈S Ct = |S|C, and inequality (4.13) becomes inequality (4.8).

Proposition 4.8. Constraint (4.13) is valid for X1V for any S ⊂ I.

Proof. Let S ⊂ I and choose (x, z) ∈ X1V arbitrarily. In what follows, we show that (x, z) satisfies (4.13) for a given S ⊂ I. From constraint (4.12c)

X X X xt = xt + xt ≥ D, t∈I t∈I\S t∈I∩S and by constraints (4.12e) it must be that

X X xt + Ct ≥ D. t∈I\S t∈I∩S

Consequently X X X xt ≥ D − Ct ≥ D − Ct t∈I\S t∈I∩S t∈S

(since I ∩ S ⊆ S), which satisfies inequality (4.13) in the cases that all zt = 0, or zt = 1 for t ∈ {τ(S) + 1,...,T − 1}. ˆ We now consider the case that ztˆ = 1, t ∈ {1, . . . , τ(S)}. By (4.12d) it must be that

X X X xt = xt + xt ≥ D t∈Itˆ t∈Itˆ\S t∈Itˆ∩S X X ⇒ xt + Ct ≥ D t∈Itˆ\S t∈Itˆ∩S X X ⇔ xt ≥ D − Ct. t∈Itˆ\S t∈Itˆ∩S

The right-hand side of inequality (4.13) for this case is given by 114 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

τ(S) X X X ( Ct0 )zt + D − Ct t=1 t0∈S\It t∈S X X = Ct + D − Ct t∈S\Itˆ t∈S X X = D − ( Ct − Ct) t∈S t∈S\Itˆ X = D − Ct. t∈Itˆ∩S Therefore,

τ(S) X X X X X X xt ≥ xt ≥ D − Ct = ( Ct0 )zt + D − Ct. t∈I\S t∈Itˆ\S t∈Itˆ∩S t=1 t0∈S\It t∈S



Inequalities of the form of (4.13) shown by PORTA to be facet-defining on test instances satisfy the following condition. Proposition (4.9) shows that these inequal- ities are indeed facet-inducing in general under this condition.

1 P Condition 4.3. S ∩ I = ∅ and t∈S Ct < D.

If D ≤ Ct for all t ∈ I, then the only S that can satisfy Condition (4.3) is S = ∅. If S = ∅ then inequality (4.13) becomes constraint (4.12c). Since S = ∅ satisfies Condition (4.3), and Proposition (4.9) applies in such a case, we have as a corollary that inequality (4.12c) is facet-inducing.

In the following proofs, ej, j = 1,...,H(= m + T ), ande ˆt, t = 1,...,T − 1, are used to denote the standard basis vectors in IRH and IRT −1 respectively.

Proposition 4.9. If S ⊂ I satisfies Condition 4.3, then inequality (4.13) is a facet- inducing inequality for conv(X1V ).

Proof. We use approach (1.2) to prove that (4.13) is a facet-inducing inequality. In other words, for a given S ⊂ I satisfying Condition 4.3, we suppose that every feasible point (x, z) ∈ X1V satisfying (4.13) at equality also satisfies λx + πz = α for some λ, π, and α. We then show that there is λˆ ∈ R so that (λ, π, α) = ˆ P Pτ(S) P P λ( t∈I\S et, − t=1 ( t0∈S\It Ct0 )ˆet,D − t∈S Ct).

If I \ S = {j}, then λˆ = λj and the proof starts from Claim 2. Otherwise, it starts from Claim 1. 4.3. ONE DEMAND WITH VARYING CAPACITY 115

Claim 1: λj = λk for all j, k ∈ I \ S with j 6= k. To prove this claim, we let j, k ∈ I \ S with j 6= k be chosen arbitrarily. Now choose J ⊆ (I \ S) \{j, k} and C¯t ∈ [0,Ct] for each t ∈ J ∪ {j, k} so that

X X Ct + C¯t + C¯j + C¯k − 1 = D. (4.14) t∈S t∈J P This is possible since t∈S Ct < D by Condition 4.3 and since P t∈I Ct ≥ D + 1 (and the data is integer) by our standing as- sumption. Note that J can be an empty set. Define xJ,k,j = P P ¯ ¯ ¯ J,k,j t∈S Ctet + t∈J Ctet + Ckek + (Cj − 1)ej.(x , 0) is feasible as X J,k,j X X ¯ ¯ ¯ xt = Ct + Ct + Ck + (Cj − 1) = D, t∈I t∈S t∈J and satisfies (4.13) at equality since

X J,k,j X ¯ ¯ ¯ X xt = Ct + Ck + (Cj − 1) = D − Ct, t∈I\S t∈J t∈S that is the right hand side of (4.13) when zt = 0 for all t ∈ {1, 2,...,T − 1}. Similarly (xJ,j,k, 0) is also feasible and satisfies J,j,k P P ¯ ¯ (4.13) at equality, where x = t∈S Ctet + t∈J Ctet + Cjej +

(C¯k − 1)ek. Therefore,

(λ, π)(xJ,k,j, 0) = α = (λ, π)(xJ,j,k, 0)

⇔ λxJ,k,j + π(0) = α = λxJ,j,k + π(0)

⇔ λC¯kek + λ(C¯j − 1)ej = α = λC¯jej + λ(C¯k − 1)ek

⇔ λj = λk.

Thus Claim 1 is proved and we may take λˆ := λ1 = λj for all j ∈ I \ S.

Claim 2: λs = 0 for all s ∈ S. To prove this claim, we first choose s ∈ S arbitrarily. We then 1 1 P P choose J ⊆ I and j ∈ I \ J so that t∈J Ct < D and t∈J Ct + J,j P Cj ≥ D. J may be empty. Define x = t∈J Ctet + (D − P t∈J Ct)ej. Since

X J,j X X xt = Ct + (D − Ct) = D t∈I1 t∈J t∈J 116 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

J,j J,j it must be that both (x + es, eˆ1) and (x , eˆ1) are feasible. Fur- thermore, since

X J,j X X xt = Ct + (D − Ct) = D t∈I\S t∈J t∈J X X X X = Ct + D − Ct = Ct + D − Ct, t∈S t∈S t∈S\I1 t∈S

as S ∩ I1 = ∅ (from Condition 4.3), so S \ I1 = S. Thus both J,j J,j (x + es, eˆ1) and (x , eˆ1) also satisfy (4.13) at equality. Hence

J,j J,j λ(x + es) + πeˆ1 = α = λx + πeˆ1

⇔ λes = 0

⇔ λs = 0.

and the claim is proved.

Claim 3: πt = 0 for all t ∈ I with t > τ(S). To prove the claim, we first choose tˆ ∈ {t ∈ I : t > τ(S)} tˆ arbitrarily. We then choose J ⊆ I \ S and C¯t ∈ [0,Ct] for each t ∈ J so that X X Ct + C¯t = D. t∈S t∈J This is possible since S satisfies Condition 4.3 and by our standing J P P ¯ assumption. Define x = t∈S Ctet + t∈J Ctet. Since

X J X X ¯ xt = Ct + Ct = D, t∈Itˆ t∈S t∈J

J J both (x , eˆtˆ) and (x , 0) must be feasible. Furthermore,

X J X ¯ X xt = Ct = D − Ct, t∈I\S t∈J t∈S

and S ⊆ Itˆ since tˆ > τ(S). Thus S \ Itˆ = ∅ and irrespective of P the value of z, the right-hand side of (4.13) must be D − t∈S Ct. J J Hence, both (x , eˆtˆ) and (x , 0) satisfy (4.13) at equality. There- fore

J J λx = α = λx + πeˆtˆ

⇔ 0 = πtˆ

and the claim is proved. 4.3. ONE DEMAND WITH VARYING CAPACITY 117

ˆ P Claim 4: α = λ(D − t∈S Ct).

To prove this claim, we choose J ⊆ I \ S, and C¯t ∈ [0,Ct] for each t ∈ J so that X X Ct + C¯t = D. t∈S t∈J This is possible since S satisfies Condition 4.3 and by our standing J P P ¯ J assumption. Define x = t∈S Ctet+ t∈J Ctet.(x , 0) is feasible as X J X X ¯ xt = Ct + Ct = D, t∈I t∈S t∈J and satisfies (4.13) at equality as

X J X ¯ X xt = Ct = D − Ct, (4.15) t∈I\S t∈J t∈S that is the right hand side of inequality (4.13) when zt = 0 for all t ∈ {1, 2 ...,T − 1}. Therefore,

J X J ˆ X J ˆ X ¯ (λ, π)(x , 0) = λtxt = λ xt = λ Ct t∈I t∈I\S t∈J X = λˆ(D − Ct) = α, t∈S since λt = λˆ for all t ∈ I \ S by Claim 1, and λt = 0 for all t ∈ S by Claim 2 and by (4.15). ˆ P Claim 5: πt = −λ t∈S\It Ct for all t ∈ {1, . . . , τ(S)}. To prove the claim, we first choose tˆ ∈ {1, . . . , τ(S)} arbitrarily. tˆ We then choose J ⊆ I \ S and C¯t ∈ [0,Ct] for each t ∈ J so that X X C¯t + Ct = D. t∈J t∈S∩Itˆ (possible by Condition 4.3 and our standing assumption). Define J P ¯ P J x = t∈J Ctet + t∈S Ctet. The point (x , eˆtˆ) is feasible as

X J X X x = C¯t + Ct = D, t∈Itˆ t∈J t∈S∩Itˆ and satisfies (4.13) at equality as

X J X ¯ X xt = Ct = D − Ct t∈I\S t∈J t∈S∩Itˆ X X = Ct + D − Ct. (4.16) t∈S\Itˆ t∈S 118 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

Therefore

J λx + πeˆtˆ = α,

and hence ˆ X J λ xt + πtˆ = α, t∈I\S

since λt = λˆ for all t ∈ I \ S and λt = 0 for all t ∈ S by Claims 1 and 2 respectively. Thus by (4.16) and Claim 4,

ˆ X X ˆ X λ( Ct + D − Ct) + πtˆ = λ(D − Ct) t∈S\Itˆ t∈S t∈S ˆ X ⇔ πtˆ = −λ Ct t∈S\Itˆ and the claim is proved.

Claims 1-5 together demonstrate that

τ(S) X X X X (λ, π, α) = λˆ( et, − ( Ct)ˆet,D − Ct) t∈I\S t=1 t0∈S\It t∈S as required. 

Likewise, for given t¯ ∈ {1, 2,...,T − 1} and S ⊂ It¯ the generalised form of inequality (4.10) is t¯ X X X xt ≥ (D − Ct0 )zt. (4.17) t∈It¯\S t=1 t0∈It∩S If S = ∅, then It ∩S = 0 for all t = 1,..., t¯, and inequality (4.17) becomes constraint (4.12d).

Proposition 4.10. Inequality (4.17) is valid for any t¯ ∈ {1, 2,...,T − 1} and any S ⊂ It¯.

Proof. Let t¯ ∈ {1, 2,...,T − 1}, S ⊂ It¯ and choose (x, z) ∈ X1V arbitrarily. In what follows, we show that (x, z) satisfies (4.17).

For the case that zt = 0 for all t ∈ {1, 2,...,T − 1}, or zt = 1 for some t ∈ {t¯+ 1,...,T − 1} , the right hand side of inequality (4.17) is zero and because the variables are non-negative, the inequality is satisfied. ˆ ¯ Now consider the case that ztˆ = 1 for some t ∈ {1, 2,..., t}. By (4.12d) it must be that X X X xt = xt + xt ≥ D, t∈Itˆ t∈Itˆ\S t∈Itˆ∩S 4.3. ONE DEMAND WITH VARYING CAPACITY 119 and by (4.12e)

X X xt + Ct ≥ D, t∈Itˆ\S t∈Itˆ∩S X X ⇔ xt ≥ D − Ct. t∈Itˆ\S t∈Itˆ∩S

The right-hand side of inequality (4.17) for this case is given by

t¯ X X X (D − Ct0 )zt = D − Ct. t=1 t0∈It∩S t∈Itˆ∩S Therefore,

t¯ X X X X X xt ≥ xt ≥ D − Ct = (D − Ct0 )zt t∈It¯\S t∈Itˆ\S t∈Itˆ∩S t=1 t0∈It∩S as required. 

Inequalities of the form of (4.17) that are shown by PORTA to be facet-defining on test instances satisfy the following condition. Proposition 4.11 shows that these inequalities are indeed facet-inducing in general under this condition.

Condition 4.4. P P i) t∈S Ct < D and t∈S Ct + Cm+t¯+1 ≥ D, ¯ P 1 ii) if t = T − 1 and t∈S Ct + Cm+T = D then S ∩ I = ∅, t¯ P iii) if |I \ S| ≥ 2, then t∈It¯ Ct ≥ D + 1

If D ≤ Ct for all t ∈ I, then the only S that can satisfy Condition (4.4) is S = ∅. Recall that if S = ∅ then inequality (4.17) becomes constraint (4.12d). In this case, since Proposition (4.11) applies for the case S = ∅, Proposition (4.11) also shows that the inequality (4.12d) is facet-inducing. The following simple observations will be helpful in the proof of the proposition. They follow from definitions and by our standing assumption.

Observation 4.2. ¯ t¯ P (i) For t ∈ {1,...,T −1} and S ⊂ I satisfying part (i) of Condition 4.4, t∈S Ct+ P P t∈I\It¯ Ct ≥ D + 1, unless t = T − 1 and t∈S Ct + Cm+T = D. 1V 1V (ii) If (x, z) ∈ X then (x + et, z) ∈ X for any t ∈ I with xt ≤ Ct − 1.

Proposition 4.11. If t¯∈ {1, 2,...,T − 1} and S ⊂ It¯ satisfy Condition (4.4), then inequality (4.17) is a facet-inducing inequality of conv(X1V ). 120 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

Proof. We use approach (1.2) to prove that (4.17) is a facet-inducing inequality. In other words, we let t¯ ∈ {1, 2,...,T − 1} and S ⊂ It¯ satisfy Condition (4.4), and then suppose that every feasible point (x, z) ∈ X1V that satisfies (4.17) at equality also satisfies λx + πz = α for some λ, π, and α. We then show that there is λˆ ∈ R ˆ P Pt¯ P so that (λ, π, α) = λ( t∈It¯\S et, − t=1(D − t0∈It∩S Ct0 )ˆet, 0). t¯ If I \ S = {j}, then λˆ = λj and the proof starts from Claim 2; otherwise it starts from Claim 1.

t¯ Claim 1: λj = λk for all j, k ∈ I \ S with j 6= k. To prove this claim, we choose j, k ∈ It¯ \ S with j 6= k arbitrarily. t¯ Now choose J ⊆ (I \ S) \{j, k} and C¯t ∈ [0,Ct] so that X X Ct + C¯t + C¯j + C¯k = D + 1, t∈S t∈J

and C¯j, C¯k ≥ 1. This is possible by part (iii) of Condition 4.4. J,k,j P Note that J can be an empty set. Define x = t∈S Ctet + P ¯ ¯ ¯ J,k,j t∈J Ctet + Ckek + (Cj − 1)ej.(x , eˆt¯) is feasible as X J,k,j X X ¯ ¯ ¯ xt = Ct + Ct + Ck + (Cj − 1) = D t∈It¯ t∈S t∈J and satisfies (4.17) at equality as

X J,k,j X ¯ ¯ ¯ X X xt = Ct + Ck + (Cj − 1) = D − Ct = D − Ct, t∈It¯\S t∈J t∈S t∈S∩It¯ (since S ∩ It¯ = S); this is the right hand side of (4.17) when J,j,k z = et¯. Similarly (x , eˆt¯) is also feasible and satisfies (4.17) at J,j,k P P ¯ ¯ ¯ equality where x = t∈S Ctet + t∈J Ctet +Cjej +(Ck −1)ek. Therefore,

J,k,j J,j,k (λ, π)(x , eˆt¯) = α = (λ, π)(x , eˆt¯)

J,k,j J,j,k ⇔λx + πeˆt¯ = α = λx + πeˆt¯

⇔ λC¯kek + λ(C¯j − 1)ej = α = λC¯jej + λ(C¯k − 1)ek

⇔ λj = λk,

t¯ and the claim is proved. Let λˆ = λj for all j ∈ I \ S. t¯ Claim 2: λt = 0 for all t ∈ I \ I (i.e. for all t = m + t¯+ 1,...,T ). To prove this claim, we choose tˆ ∈ I \ It¯ arbitrarily. Now choose t¯ J ⊆ I \ S and C¯t ∈ [0,Ct] so that X X Ct + C¯t = D. t∈S t∈J 4.3. ONE DEMAND WITH VARYING CAPACITY 121

This is possible by our standing assumption and by part (i) of J P P ¯ Condition 4.4. Define x = t∈S Ctet + t∈J Ctet. Since X J X X ¯ xt = Ct + Ct = D, t∈It¯ t∈S t∈J (xJ , eˆ ) is feasible. Furthermore xJ = 0 ≤ C − 1 since tˆ 6∈ It¯ t¯ tˆ tˆ J and by our standing assumption (Ctˆ ≥ 1), so (x + etˆ, eˆt¯) is also feasible by part (ii) of Observation 4.2. Also,

X J X ¯ X X xt = Ct = D − Ct = D − Ct, t∈It¯\S t∈J t∈S t∈S∩It¯

t¯ J J since S ∩ I = S. Thus both (x + etˆ, eˆt¯) and (x , eˆt¯) satisfy (4.17) at equality. Therefore

J,j J,j λx + λetˆ + πeˆt¯ = α = λx + πeˆt¯

⇔ λtˆ = 0, and the claim is proved.

Claim 3: λt = 0 for all t ∈ S. To prove this claim, we choose tˆ∈ S arbitrarily. P P We first consider the case that t∈S Ct + t∈I\It¯ Ct ≥ D + 1. S P P S In this case, define x = t∈S Ctet + t∈I\It¯ Ctet.(x , 0) is feasible as

X S X X xt = Ct + Ct ≥ D + 1 ≥ D, t∈I t∈S t∈I\It¯ and satisfies (4.17) at equality as

X S xt = 0. t∈It¯\S

S,tˆ P P Now, define x = t∈S\{tˆ} Ctet + t∈I\It¯ Ctet + (Ctˆ − 1)etˆ. S,tˆ (x , 0) is also feasible as by our standing assumption, Ctˆ ≥ 1 and since

X S,tˆ X X xt = Ct + Ct + (Ctˆ − 1) t∈I t∈S\{tˆ} t∈I\It¯ X X = Ct + Ct − 1 ≥ D + 1 − 1 = D. t∈S t∈I\It¯

Now (xS,tˆ, 0) also satisfies (4.17) at equality as

X S,tˆ xt = 0. t∈It¯\S 122 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

Thus

λxS,tˆ + π(0) = α = λxS + π(0) X X X X ⇔ λtCt + λtCt + λtˆ(Ctˆ − 1) = λtCt + λtCt t∈S\{tˆ} t∈I\It¯ t∈S t∈I\It¯

⇔ λtˆ(Ctˆ − 1) = λtˆCtˆ

⇔ λtˆ = 0

as required. P P Now consider the case that t∈S Ct + t∈I\It¯ Ct 6≥ D + 1. Since t¯ and S satisfy part (i) of Condition 4.4, from part (i) ¯ P of Observation 4.2, it must be that t = T − 1 and t∈S Ct +

Cm+T = D. Thus by part (ii) of Condition 4.4 it must be that 1 P S ∩ I = ∅. Since by our standing assumption, t∈I1 Ct ≥ D, we may choose J ⊆ I1 with J 6= ∅ so that the capacities in- P dexed by J minimally cover D, i.e. so that t∈J Ct ≥ D and P t∈J\{j} Ct ≤ D for any j ∈ J. Choose j ∈ J arbitrarily, and P J,j observe that D − t∈J\{j} Ct ∈ [0,Cj]. Hence (x , eˆ1) defined by J,j P P x = t∈J\{j} Ctet + (D − t∈J\{j} Ct)ej is feasible since

1 X J,j X X X xt = Ct + D − Ct = D = Deˆ1. t∈I1 t∈J\{j} t∈J\{j} t=1

Since S ∩ I1 = ∅, we have tˆ 6∈ J so xJ,j = 0. Thus by part tˆ J,j (ii) of Observation 4.2, the point (x + etˆ, eˆ1) is also feasible. Furthermore,

X J,j X X X xt = Ct + D − Ct = D = D − Ct, t∈It¯\S t∈J\{j} t∈J\{j} t∈I1∩S

1 ˆ J,j since I ∩ S = ∅. Thus, (and since t ∈ S), both (x + etˆ, eˆ1) and J,j (x , eˆ1) satisfy (4.17) at equality. Therefore,

J,j J,j λx + λetˆ + πeˆ1 = α = λx + πeˆ1

⇔ λtˆ = 0,

and the claim is proved.

Claim 4: α = 0. S,m+t¯+1 P P Define x = t∈S Ctet + (D − t∈S Ct)em+t¯+1. This is sat- isfies the production capacity constraints by part (i) of Condition 4.3. ONE DEMAND WITH VARYING CAPACITY 123

P S,m+t¯+1 4.4, since 0 < D − t∈S Ct ≤ Cm+t¯+1.(x , 0) is feasible as

X S,m+t¯+1 X X xt = Ct + (D − Ct) = D, t∈I t∈S t∈S and satisfies (4.17) at equality as

X S,m+t¯+1 xt = 0 t∈It¯\S

Therefore

λxS,m+t¯+1 + π(0) = α

X S,m+t¯+1 X S,m+t¯+1 X S,m+t¯+1 λtxt + λtxt + λtxt = α t∈It¯\S t∈S t∈I\It¯ ⇔ 0 = α,

S,m+t¯+1 S,m+t¯+1 since, by definition of x we have xt = 0 for all t ∈ t¯ t¯ I \ S, and since λt = 0 for all t ∈ I \ I and for all t ∈ S by Claims 2 and 3 respectively. The claim is thus proved.

Claim 5: πt = 0, for all t ∈ {t¯+ 1,...,T − 1}. To prove this claim, we choose tˆ ∈ {t¯+ 1,...,T − 1} arbitrarily. S,m+t¯+1 S,m+t¯+1 Take x as defined in Claim 4 and observe that (x , eˆtˆ) is feasible, as m + tˆ≥ m + t¯+ 1 so

X S,m+t¯+1 X X xt = Ct + (D − Ct) = D. t∈Itˆ t∈S t∈S

S,m+t¯+1 (x , eˆtˆ) also satisfies (4.17) at equality as

t¯ X S,m+t¯+1 X X xt = 0 = (D − Ct)ˆetˆ t∈It¯\S t=1 t0∈It∩S since tˆ≥ t¯+ 1. Therefore

S,m+tˆ+1 λx + πeˆtˆ = α X S,m+tˆ+1 X S,m+tˆ+1 ⇔ λtxt + λtxt + πeˆtˆ = α t∈It¯\S t∈S∪I\It¯

⇔ πtˆ = 0,

S,m+tˆ+1 t¯ since xt = 0 for all t ∈ I \ S by definition, and since λt = 0 for all t ∈ I \ It¯ and for all t ∈ S by Claims 2 and 3 respectively, with α = 0 by Claim 4. This claim is thus proved. 124 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

ˆ P ¯ Claim 6: πt = −λ(D − t∈It∩S Ct) for all t ∈ {1, 2,..., t}. To prove this claim, we arbitrarily choose tˆ ∈ {1, 2,..., t¯}. Now tˆ choose J ⊆ I \ S and C¯t ∈ [0,Ct] so that X X C¯t + Ct = D. (4.18) t∈J t∈Itˆ∩S This is possible by part (iii) of our standing assumption and by J P P ¯ part (i) of Condition 4.4. Define x = t∈S Ctet + t∈J Ctet. J Now (x , eˆtˆ) is feasible as X J X X ¯ xt = Ct + Ct = D, t∈Itˆ t∈Itˆ∩S t∈J Noting that J ⊆ It¯\ S by its definition and since Itˆ ⊆ It¯ for tˆ≤ t¯, J we see that (x , eˆtˆ) also satisfies (4.17) at equality as X J X ¯ X xt = Ct = D − Ct, t∈It¯\S t∈J t∈S∩Itˆ

which is the right-hand side of inequality (4.17) when z =e ˆtˆ. Therefore

J λx + πeˆtˆ = α X J X J ⇔ λtxt + λtxt + πtˆ = 0 t∈It¯\S t∈S∪I\It¯ X ˆ J X J ⇔ λxt + (0)xt + πtˆ = 0, t∈J t∈S∪I\It¯

J t¯ since α = 0 by Claim 4, xt = 0 for all t ∈ (I \ S) \ J by definition, t¯ t¯ with J ⊆ I \ S, λt = λˆ for all t ∈ I \ S by Claim 1 and λt = 0 for all t ∈ S ∪ I \ It¯ by Claims 2 and 3. Hence, by the definition of xJ and by (4.18), it must be that

J λx + πeˆtˆ = α ˆ X ¯ ⇔ λ Ct + πtˆ = 0 t∈J X ⇔ λˆ(D − Ct) + πt = 0 t∈S∩Itˆ X ⇔ πt = −λˆ(D − Ct), t∈S∩Itˆ as required. This claim is thus proved. ˆ P Pt¯ P Claims 1-6 together show that (λ, π, α) = λ( t∈It¯\S et, − t=1(D− t0∈S∩Itˆ Ct0 )ˆet, 0), 1V as required to show that (4.17) induces a facet of conv(X ).  4.3. ONE DEMAND WITH VARYING CAPACITY 125

4.3.1. Separation. Due to the fact that the number of inequalities (4.13) and (4.17) are exponential, adding them to the original problem in advance makes it cumbersome. Instead, those that are required can be added during the solving pro- cess. The idea is to solve a separation problem in the branch-and-bound framework to find those that are violated, or to prove that all of them are satisfied. Suppose ∗ ∗ (xt , zt ) is a fractional feasible solution for the linear relaxation of original problem (4.12b)-(4.12e). The following separation problem finds subset S ⊂ I for which inequality (4.13) is violated, or proves that there is no such S.

T −1 X ∗ X X ∗ X ψ = min xt (1 − x¯t) − ( Ct0 x¯t0 )zt + Ctx¯t t∈I t=1 t0∈I\It t∈I subject to: X Ctx¯t ≤ D − 1 t∈I X x¯t = 0 t∈I1 x¯ ∈ {0, 1}H .

∗ ∗ If ψ < D, we find that inequality (4.13) is violated by (xt , zt ), where S = {t ∈ ∗ ∗ I :x ¯t = 1}, andx ¯t is an optimal solution for the separation problem. If ψ ≥ D, ∗ ∗ (xt , zt ) satisfies inequality (4.13) for all S ⊂ I that satisfy Condition 4.3. To understand this separation problem objective function, we start with the P ∗ P P ∗ ∗ P ∗ P ∗ facts that t∈I Ctx¯t = t∈S Ct, t∈I xt (1 − x¯t ) = t∈I\S xt , and t∈I\It Ctx¯t = P t PT −1 P ∗ Pτ(S) P ∗ t∈S\It Ct. When t > τ(S), S\I = ∅, thus t=1 ( t0∈S\It Ct0 )zt = t=1 ( t0∈S\It Ct0 )zt . Therefore the optimal objective value can be written as

τ(S) X ∗ X X ∗ X ψ = xt − ( Ct0 )zt + Ct. t∈I\S t=1 t0∈S\It t∈S Since ψ ≥ D is precisely inequality (4.13) with x = x∗ and z = z∗, we see that the inequality is violated if and only if ψ < D. P P P The constraint t∈I Ctx¯t ≤ D−1 guarantees that t∈S Ct < D, and t∈I1 x¯t = 0 ensures that S ∩ I1 = ∅, as required for Condition 4.3. Note that S ⊂ I (or rather S 6= I) is implied by other constraints, for example, the second constraint combined with m ≥ 0 ensuresx ¯1 = 0. Alternatively the first constraint in combination with part (iii) of our standing assumption ensures S ⊂ I. In order to build a separation model for inequalities (4.17), the simplest approach is to enumerate t¯ = 1,...,T − 1, and for each value of t¯, solve an optimization 126 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM problem to find a subset S ⊂ It¯ so that Condition 4.4 is satisfied and the inequality is violated, or prove that no such S exists. We thus take t¯∈ {1,...,T − 1} as given, and construct a model for separation using binary decision variablesx ¯j = 1 if and only if j ∈ S, for j ∈ It¯ = {1, . . . , m+t¯}. We would like the objective function of the separation problem, ω(¯x), to model the amount by which the inequality is satisfied, i.e. to model the value

t¯ X ∗ X X ∗ xt − (D − Ct0 )zt . t∈It¯\S t=1 t0∈S∩It

This can clearly be done by taking

t¯ X ∗ X X ∗ ω(¯x) = xt (1 − x¯t) − (D − Ct0 x¯t0 )zt . t∈It¯ t=1 t0∈It

t¯ t¯ P ¯ To ensure that S ⊂ I , in particular that S 6= I , we require j∈It¯ x¯j ≤ m+t−1. To model part (i) of Condition 4.4 is straightforward, and yields the following separation problem:

t¯ X ∗ X X ∗ min ω(¯x) = xt (1 − x¯t) − (D − Ct0 x¯t0 )zt t∈It¯ t=1 t0∈It subject to: X x¯j ≤ m + t¯− 1 (4.19a) j∈It¯ X Ctx¯t ≤ D − 1 (4.19b) t∈I X Ctx¯t ≥ D − Cm+t¯+1 (4.19c) t∈I x¯ ∈ {0, 1}m+t¯, having the form of a binary knapsack problem with a two-sided knapsack constraint, plus an additional cardinality constraint. Note that the cardinality constraint could be eliminated by enumerating over each element t ∈ It¯ to keep out of S, i.e. by t¯ solving an optimization problem for each t ∈ I withx ¯t = 0 fixed. Thus separation can be done by solving O(T 2) two-sided knapsack problems. For t¯ < T − 1, ifx ¯∗ is an optimal solution of the separation problem, then t¯ ∗ ∗ ∗ S = {j ∈ I :x ¯j = 1} satisfies Condition 4.4, and (x , z ) violates some inequality of the form of (4.17) for this value of t¯ if and only if ω(¯x∗) < 0. In the case that ω(¯x∗) < 0, an inequality of this form maximally violated by (x∗, z∗) is precisely that t¯ ∗ for S = {j ∈ I :x ¯j = 1}. 4.3. ONE DEMAND WITH VARYING CAPACITY 127

For t¯= T − 1, more is needed to model part (ii) of Condition 4.4. The simplest P approach is two consider two cases. The first is the case that t∈S Ct + Cm+T > D: P in this case the constraint t∈I Ctx¯t ≥ D+1−Cm+T can simply replace (4.19c) in the separation optimization model. Otherwise we replace (4.19c) with the constraints X Ctx¯t = D − Cm+T , and (4.20a) t∈I 1 x¯j = 0, ∀j ∈ I . (4.20b)

It might alternatively be convenient to use a single optimization model for sep- aration, rather than enumerating t¯. To do so, we use two new sets of binary ∗ ∗ variablesx ¯t andz ¯t. If (xt , zt ) is a fractional feasible solution for the linear re- laxation of original problem (4.12b)-(4.12g), the following separation problem finds time t¯ ∈ {1, 2,...,T − 1} and subset S ⊂ It¯ for which the inequality is violated, or proves that there is no such time t¯ or subset S.

T −1 t X X ∗ X ∗ ω = min ( xt0 )¯zt − xt x¯t t=1 t0=1 t∈I T −1 t T −1 T −1 X X ∗ X X ∗ − [ (D − Ct0 x¯t0 )zt − ( Cm+t+1zt0 )¯zt] t=1 t0=1 t=1 t0=t+1 subject to:

T −1 X X x¯t ≤ H z¯t ∀tˆ∈ {1, ..., T − 1} (4.21a) t∈I\Itˆ t=tˆ+1 X Ctx¯t ≤ D − 1 (4.21b) t∈I T −1 X X Ctx¯t + Cm+t+1z¯t ≥ D (4.21c) t∈I t=1 T −1 X z¯t = 1 (4.21d) t=1 H x¯ ∈ {0, 1}+

T −1 z¯t ∈ {0, 1}+ .

∗ ∗ If ω < 0, we find that the inequality (4.10) is violated by (xt , zt ) where S = {t : ∗ ∗ x¯t = 1, t ∈ I},x ¯t is the optimal solution for the separation problem, andz ¯t¯ = 1. ∗ ∗ ¯ If ω ≥ 0, (xt , zt ) satisfies inequality (4.10) for all t ∈ {1, 2,...,T − 1} and subset S ⊂ It¯. P ∗ To understand the objective function, we start with the facts that t∈I Ctx¯t = P t¯ ¯ t∈S Ct. Constraint (4.21a) ensures that S ⊂ I , where the time period t is the 128 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM P period in whichz ¯t¯ = 1. Constraint (4.21b) ensures that t∈S Ct < D, and constraint P (4.21c) guarantees that t∈S Ct+cm+t¯+1 ≥ D (to satisfy condition 4.4). Constraints

(4.21d) determines only one t¯ with zt¯ = 1. PT −1 Pt ∗ P ∗ In the objective function, t=1 ( t0=1 xt0 )¯zt = t∈It¯ xt (whenz ¯t¯ = 1), so

T −1 t X X ∗ X ∗ X ∗ X ∗ X ∗ ( xt0 )¯zt − xt x¯t = xt − xt = xt , t=1 t0=1 t∈I t∈It¯ t∈S t∈It¯\S

t¯ since S ⊂ I . In addition, whenz ¯t¯ = 1,

T −1 t T −1 X X ∗ X X ∗ (D − Ct0 x¯t0 )zt = (D − Ct0 )zt , t=1 t0=1 t=1 t0∈S∩It and T −1 T −1 T −1 X X ∗ X ∗ ( Cm+t+1zt0 )¯zt = Cm+t¯+1zt t=1 t0=t+1 t=t¯+1 T −1 T −1 X X ∗ X X ∗ ≥ (D − Ct0 )zt = (D − Ct0 )zt , (4.22) t=t¯+1 t0∈S t=t¯+1 t0∈S∩It by Condition (4.4). Therefore. the minimum objective value is

T −1 T −1 X ∗ X X ∗ X ∗ ω = xt − [ (D − Ct0 )zt − Cm+t¯+1zt ] t∈It¯\S t=1 t0∈S∩It t=t¯+1 T −1 T −1 X ∗ X X ∗ X X ∗ ≥ xt − [ (D − Ct0 )zt − (D − Ct0 )zt ] t∈It¯\S t=1 t0∈S∩It t=t¯+1 t0∈S∩It t¯ X ∗ X X ∗ = xt − (D − Ct0 )zt t∈It¯\S t=1 t0∈S∩It

∗ ∗ which is inequality (4.10) at point (xt , zt ). If ω < 0, inequality (4.10) based on S and t¯ (which are achieved from the separation problem) is added to the model.

4.3.2. A complete reformulation of PSFDP-1V with only facet-inducing inequalities. Two classes of facet-inducing inequalities have been provided. we in- troduce the rest of facet-inducing inequalities that together is a complete reformu- lation (Definition 1.1) for PSFDP-1V.

P Proposition 4.12. Inequality (4.12b) where t∈I Ct ≥ D + CH + 1, inequali- ¯ ¯ P ties xt¯ ≥ 0 when t ∈ I and t∈I Ct ≥ D + Ct¯ + 1, inequalities xt¯ ≥ 0 when ¯ 1 P t ∈ I and t∈I1\{t¯} Ct ≥ D, and inequalities (4.12e), (4.13), (4.17), zt ≥ 0 for all t ∈ {1, 2,...,T − 1}, together form a complete formulation for PSFDP-1V. 4.3. ONE DEMAND WITH VARYING CAPACITY 129

In order to prove Proposition (4.12), first, we need to show that the required inequalities in the proposition are facet-inducing inequalities.

P Lemma 4.6. Inequality (4.12b) is a facet-inducing inequality if t∈I Ct ≥ D +

CH + 1.

Proof. We use approach (1.2) to prove that (4.12b) is a facet-inducing inequal- ity. In other words, we suppose that every feasible point (x, z) ∈ X1V satisfying (4.12b) also satisfies λx + πz = α for some λ, π, and α. We then show that there is PT −1 πˆ ∈ R so that (λ, π, α) =π ˆ(0, t=1 eˆt, 1).

If T = 2, thenπ ˆ = π1, and the proof starts from Claim 2, otherwise, it starts from Claim 1.

Claim 1: πj = πk for all j, k ∈ {1, 2,...,T − 1} with j 6= k. To prove this claim, we choose j, k ∈ {1, 2,...,T − 1} with j 6= k I1 P I1 arbitrary. Now define x = t∈I1 Ctet.(x , eˆj) is feasible since

X I1 X xt = Ct ≥ D, t∈Ij t∈I1 I1 by our standing assumption. (x , eˆj) satisfies (4.12b) at equality PT −1 I1 as t=1 eˆj = 1. Similarly (x , eˆk) is feasible and satisfies (4.12b) at equality . Therefore

I1 I1 λx + πeˆj = α = λx + πeˆk

⇔πj = πk,

and the claim is proved. Letπ ˆ = πj for all j ∈ {1, 2,...,T − 1}.

Claim 2: λt = 0 for all t ∈ I. ˆ P To prove this claim, we choose t ∈ I arbitrary. Since t∈I Ct ≥ P I\{tˆ} D + CH + 1, then t∈I\{tˆ} Ct ≥ D + CH − Ctˆ+ 1. Define x = P I\{tˆ} t∈I\{tˆ} Ctet + (Ctˆ − 1)etˆ.(x , eˆT −1) is feasible as

X I\{tˆ} X I\{tˆ} X xt ≥ xt − CH = Ct + Ctˆ − 1 − CH ≥ D, t∈IT −1 t∈I I\{tˆ} PT −1 and satisfies (4.12b) at equality since t=1 eˆT −1 = 1. Similarly, I (x, z) = (x , eˆT −1) is feasible and satisfies (4.12b) at equality where I P x = t∈I Ctet. Therefore,

I\{tˆ} I λx + πeˆT −1 = α = λx + πeˆT −1

⇔(Ctˆ − 1)λtˆ = α = Ctˆλtˆ 130 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

⇔λtˆ = 0,

and the claim is proved.

Claim 3: α =π ˆ. I1 P I1 Define x = t∈I1 Ctet.(x , eˆ1) is feasible since X Ct ≥ D, t∈I1

I1 by our standing assumption. (x , eˆ1) satisfies (4.12b) at equality PT −1 as t=1 eˆ1 = 1. Therefore,

I1 α = λx + πeˆ1 = π1 =π, ˆ

as π1 =π ˆ, and λt = 0 for all t ∈ I by Claims 1 and 2 respectively. This claim is proved. PT −1 Consequently (λ, π, α) =π ˆ(0, t=1 eˆt, 1) by Claims 1-3. 

Lemma 4.7. Inequalities xt ≤ Ct for all t ∈ I are facet-inducing.

Proof. To prove this lemma, we choose t¯∈ I arbitrary. We use approach (1.2) to prove that inequality xt¯ ≤ Ct¯ is a facet-inducing inequality. In other words, 1V we suppose that every feasible point (x, z) ∈ X satisfying xt¯ = Ct¯ also satisfies

λx + πz = α for some λ, π, and α. We then show that (λ, π, α) = λt¯(et¯, 0,Ct¯).

Claim 1: λt = 0 for all t ∈ I \{t¯}. To prove this claim, we choose tˆ ∈ I \{t¯} arbitrary. Now define I\{tˆ} P I\{tˆ} x = t∈I\{tˆ} Ctet + (Ctˆ − 1)etˆ.(x , 0) is feasible since

X I\{tˆ} X X xt = Ct − 1 ≥ Ct + CH − 1 ≥ D t∈I t∈I t∈I1 P (since t∈I1 Ct ≥ D and CH ≥ 1 by our standing assumption), I and xt¯ = Ct¯. Similarly, (x , 0) is feasible and satisfies xt¯ = Ct¯ I P where x = t∈I Ctet. Therefore,

λxI\{tˆ} = α = λxI

⇔(Ctˆ − 1)λtˆ = Ctˆλtˆ

⇔λtˆ = 0,

and the claim is proved. 4.3. ONE DEMAND WITH VARYING CAPACITY 131

Claim 2: πt = 0 for all t ∈ {1, 2,...,T − 1}.

To prove this claim, we choose tˆ ∈ {1, 2,...,T − 1} arbitrary. I1\{t¯} P I1\{t¯} Now define x = t∈I1\{t¯} Ctet + Ct¯et¯. Both (x , eˆtˆ) and I1\{t¯} (x , 0) satisfy xt¯ = Ct¯ and are feasible since

X I1\{t¯} X I1\{t¯} xt ≥ xt ≥ D, t∈Itˆ t∈I1 by our standing assumption. Therefore,

I1\{t¯} I1\{t¯} λx + πeˆtˆ = α = λx

⇔πtˆ = 0,

and the claim is proved.

Claim 3: α = λt¯Ct¯.

I P I Define x = t∈I Ctet. By our standing assumption, (x , 0) is

feasible and satisfy xt¯ = Ct¯, thus

λxI + 0.π = α

⇔λt¯Ct¯ = α,

since λt = 0 for all t ∈ I \{t¯}. The claim is proved.

Claims 1-3 show that (λ, π, α) = λt¯(et¯, 0,Ct¯). 

Lemma 4.8. Inequalities zt ≥ 0 t ∈ {1, 2,...,T − 1} are facet-defining.

Proof. To prove this lemma, we choose t¯ ∈ {1, 2,...,T − 1} arbitrary. We use approach (1.2) to prove that inequality zt¯ ≥ 0 is a facet-inducing inequality. In 1V other words, we suppose that every feasible point (x, z) ∈ X satisfying zt¯ = 0 also satisfies λx+πz = α for some λ, π, and α. We then show that (λ, π, α) = πt¯(0, eˆt¯, 0).

Claim 1: λt = 0 for all t ∈ I To prove this claim, we choose tˆ∈ I arbitrary. Now define xI\{tˆ} = P I\{tˆ} t∈I\{tˆ} Ctet + (Ctˆ − 1)etˆ.(x , 0) is feasible since

X I\{tˆ} X X xt = Ct − 1 ≥ Ct + CH − 1 ≥ D, t∈I t∈I t∈I1

P I\{tˆ} as t∈I1 Ct ≥ D and CH ≥ 1 by our standing assumption. (x , 0) I satisfies zt¯ = 0. Similarly, (x , 0) is feasible and satisfies zt¯ = 0, 132 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

I P where x = t∈I Ctet. Therefore,

λxI\{tˆ} = α = λxI

⇔(Ctˆ − 1)λtˆ = α = Ctˆλtˆ

⇔λtˆ = 0,

and the claim is proved.

Claim 2: πt = 0 for all t ∈ {1, 2,...,T − 1}\{t¯}. To prove this claim, we choose tˆ ∈ {1, 2,...,T − 1}\{t¯} arbi- I1 P I1 I1 trary. Now define x = t∈I1 Ctet. Both (x , eˆtˆ) and (x , 0)

are feasible by our standing assumption, and they satisfy zt¯ = 0, thus

I1 I1 λx + πtˆ = α = λx

⇔πtˆ = 0,

and the claim is proved. Claim 3: α = 0

I P I Define x = t∈I Ctet.(x , 0) is feasible buy our standing

assumption, and it also satisfies zt¯ = 0, thus

λxI + 0.π = α

⇔0 = α,

since λt = 0 for all t ∈ I by Claim 1. This claim is proved.

Consequently, Claims 1-3 show that (λ, π, α) = πt¯(0, eˆt¯, 0). 

1 P Lemma 4.9. xt¯ ≥ 0 when t ∈ I is a facet-inducing inequality if t∈I1\{t¯} Ct ≥ D.

Proof. We use approach (1.2) to prove that inequality xt¯ ≥ 0 is a facet-inducing inequality. In other words, we suppose that every feasible point (x, z) ∈ X1V sat- isfying xt¯ = 0 also satisfies λx + πz = α for some λ, π, and α. We then show that

(λ, π, α) = λt¯(et¯, 0, 0).

Claim 1: λt = 0 for all t ∈ I \{t¯}. To prove this claim, we arbitrary choose tˆ ∈ I \{t¯}. Now define I\{t,ˆ t¯} P I\{t,ˆ t¯} x = t∈I\{t,ˆ t¯} Ctet + (Ctˆ − 1)etˆ.(x , 0) is feasible since

X I\{t,ˆ t¯} X X xt = Ct − 1 ≥ Ct − 1 + CH ≥ D, t∈I t∈I\{t¯} t∈I1\{t¯} 4.3. ONE DEMAND WITH VARYING CAPACITY 133

P ¯ 1 as t∈I1\{t¯} Ct ≥ D, t ∈ I , and CH ≥ 1 by our standing as- I\{t,ˆ t¯} I\{t¯} sumption. (x , 0) also satisfies xt¯ = 0. Similarly, (x , 0) is I\{t¯} P feasible and satisfies xt¯ = 0 where x = t∈I\{t¯} Ctet. There- fore,

λxI\{t,ˆ t¯} = α = λxI\{t¯}

⇔(Ctˆ − 1)λtˆ = α = Ctˆλtˆ

⇔λtˆ = 0,

and the claim is proved.

Claim 2: πt = 0 for all t ∈ {1, 2,...,T − 1}. To prove this claim, we arbitrary choose tˆ ∈ {1, 2,...,T − 1}. I1\{t¯} P P Now define x = t∈I1\{t¯} Ctet. Since t∈I1\{t¯} Ct ≥ D, I1\{t¯} I1\{t¯} both (x , eˆtˆ) and (x , 0) are feasible and satisfy xt¯ = 0, thus

I1\{t¯} I1\{t¯} λx + πtˆ = α = λx

⇔πtˆ = 0,

and the claim is proved.

Claim 3: α = 0. I\{t¯} P P Define x = t∈I\{t¯} Ctet. Since t∈I1\{t¯} Ct ≥ D, then I\{t¯} (x , 0) is feasible and satisfies xt¯ = 0, thus

λxI\{t¯} + 0.π = α

⇔λt¯xt¯ = α ⇔0 = α,

since xt¯ = 0, and λt = 0 for all t ∈ I \{t¯} by Claim 1. This claim is proved.

Consequently, Claims 1-3 demonstrate that (λ, π, α) = λt¯(et¯, 0, 0). 

P ¯ ¯ Lemma 4.10. If t∈I Ct ≥ D + Ct¯ + 1 when t ∈ I then xt¯ ≥ 0 is a facet-inducing inequality.

Proof. We use approach (1.2) to prove that inequality xt¯ ≥ 0 is a facet-inducing inequality. In other words, we suppose that every feasible point (x, z) ∈ X1V sat- isfying xt¯ = 0 also satisfies λx + πz = α for some λ, π, and α. We then show that 134 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

(λ, π, α) = λt¯(et¯, 0, 0).

¯ Claim 1: λtˆ = 0 for all t ∈ I \{t}. To prove this claim, we choose tˆ ∈ I \{t¯} arbitrary. Now define I\{t,ˆ t¯} P I\{t,ˆ t¯} x = t∈I\{t,ˆ t¯} Ctet + (Ctˆ − 1)etˆ.(x , 0) is feasible since

X I\{t,ˆ t¯} xt ≥ (D + Ct¯ + 1) − Ct¯ − Ctˆ + (Ctˆ − 1) = D, t∈I

I\{t¯} and satisfies xt¯ = 0. Similarly, (x , 0) is feasible and satisfies I\{t¯} P xt¯ = 0 where x = t∈I\{t¯} Ctet. Therefore,

λxI\{t,ˆ t¯} = α = λxI\{t¯}

⇔(Ctˆ − 1)λtˆ = Ctˆλtˆ

⇔λtˆ = 0,

and the claim is proved.

Claim 2: πt = 0 for all t ∈ {1, 2,...,T − 1}. To prove this claim, we arbitrary choose tˆ ∈ {1, 2,...,T − 1}. I1 P P Now define x = t∈I1 Ctet. Since t∈I1 Ct ≥ D by our standing I1 I1 assumption, both (x , eˆtˆ) and (x , 0) are feasible and satisfy xt¯ = 0 as t¯∈ / I1, thus

I1 I1 λx + πtˆ = α = λx

⇔πtˆ = 0,

and the claim is proved.

Claim 3: α = 0. I1 P P Define x = t∈I1 Ctet. Since t∈I1 Ct ≥ D by our standing I1 assumption, (x , 0) is feasible and satisfy xt¯ = 0, thus

1 λxI + 0.π = α

⇔λt¯xt¯ = α ⇔0 = α,

since xt¯ = 0 and λt = 0 for all t ∈ I \{t¯} by Claim 1. This claim is proved.

Consequently, Claims 1-3 illustrate that (λ, π, α) = λt¯(et¯, 0, 0).  4.3. ONE DEMAND WITH VARYING CAPACITY 135

Proof. (proposition 4.12) Propositions (4.9) and (4.11), and lemmas (4.6)- (4.10) show that the required inequalities in proposition (4.12) are facet-inducing inequalities. Therefore, the convex hull provided by these inequalities includes con(x1V ). To prove this proposition, we only need to show that every integer point (x, z) that satisfies the inequalities in proposition (4.12) belongs to X1V . Suppose point (x, z) satisfies the inequalities in proposition (4.12). The point

(x, z) satisfy (4.12e), (4.13), (4.17), and zt ≥ 0 for all t ∈ {1, 2,...,T − 1}. In what follows, we show that (x, z) also satisfies inequality (4.12b), (4.12c), (4.12d), and xt ≥ 0 for all t ∈ I.

1 Claim 1: xt ≥ 0 for all t ∈ I . ˆ 1 P To prove this claim, we choose t ∈ I arbitrary. If t∈I1\{tˆ} Ct ≥ P D, then xtˆ ≥ 0 is part of the description. Otherwise, if t∈I1\{tˆ} Ct < ¯ P D, then choose t ∈ {1, 2,...,T − 1} so that t∈It¯\{tˆ} Ct < D, and P t¯ ˆ t∈It¯\{tˆ} Ct + Cm+t¯+1 ≥ D. S = I \{t} holds Condition (4.4). The inequality (4.17) for these S and t¯ is:

t¯ X X X xt ≥ (D − Ct0 )zt t∈It¯\S t=1 t0∈It∩S X ⇔xtˆ ≥ (D − Ct)zt¯, t∈S P which forces xtˆ to be non-negative since zt¯ ≥ 0 and D− t∈S Ct > 0.

Claim 2:(x, z) satisfies inequality (4.12c) Since S = ∅ satisfies Condition (4.3) thus point (x, z) satisfies inequality (4.13) for this S i.e.

τ(S) X X X X xt ≥ ( Ct0 )zt + D − Ct t∈I\S t=1 t0∈S\It t∈S X ⇔ xt ≥ D, t∈I

and the claim is proved.

Claim 3: xt ≥ 0 for all t ∈ I¯. ˆ ¯ P To prove this claim, we arbitrary choose t ∈ I. If t∈I Ct ≥

D + Ctˆ + 1, then xtˆ ≥ 0 is part of the description. 136 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM P P Otherwise, if t∈I Ct ≤ D + Ctˆ, then t∈I Ct = D + Ctˆ since P P t∈I Ct ≥ t∈I1 Ct + Ctˆ ≥ D + Ctˆ. ˆ ¯ P P Since t ∈ I and t∈I Ct = D + Ctˆ, then t∈I1 Ct = D, and I = I1 ∪ {tˆ} by our standing assumption. point (x, z) satisfies inequalities (4.12c) and (4.12e), thus X xt ≥ D t∈I X ⇔xtˆ ≥ D − xt t∈I1 X ⇒xtˆ ≥ D − Ct t∈I1

⇔xtˆ ≥ 0, (4.23)

and the claim is proved. Claim 4:(x, z) satisfies inequality (4.12b). P If t∈I Ct ≥ D + CH + 1, then inequality (4.12b) is part of the description. P P Otherwise, if t∈I Ct ≤ D + CH , then t∈I Ct = D + CH , P P since t∈I Ct ≥ t∈I1 Ct + CH ≥ D + CH . P P 1 Since t∈I Ct = D+CH , then t∈I1 Ct = D, and I = I ∪{H} by our standing assumption. S = {H} satisfies Condition (4.3), thus (x, z) satisfies inequal- ity (4.13) for this S i.e. X X X xt ≥ ( Ct)z1 + D − Ct t∈I\S t∈S\I1 t∈S X ⇔ xt ≥ CH z1 + D − CH , t∈I1 P P and since D = t∈I1 Ct ≥ t∈I1 xt, then

D ≥ CH z1 + D − CH

⇔1 ≥ z1,

and the claim is proved. Claim 5:(x, z) satisfies inequality (4.12d)

If zt = 0 for all t ∈ {1, 2,...,T − 1}, the right hand side of inequalities (4.12d) become zero and consequently, (x, z) satisfies

them as xt ≥ 0 for all t ∈ I by Claims 1 and 3. 4.4. MULTIPLE DEMANDS WITH CONSTANT CAPACITY 137

Otherwise, if ztˆ = 1, we need to show that all items D are produced by time period m + tˆ i.e. X xt ≥ D. t∈Itˆ Pm+T ˆ ˆ If t=m+tˆ+1 Ct < D, choose S = {m+t+1, m+t+2, . . . , m+ P ¯ T }. Since t∈S Ct < D, and S ⊆ I, then S satisfies Condition (4.3). Therefore (x, z) satifies inequality (4.13) for this S i.e.

τ(S) X X X X xt ≥ ( Ct0 )zt + D − Ct t∈I\S t=1 t0∈S\It t∈S X X X ⇔ xt ≥ Ct + D − Ct t∈I\S t∈S\Itˆ t∈S X ⇔ xt ≥ D, t∈Itˆ since I = S ∪ Itˆ, and S ∩ Itˆ = ∅. Pm+T Otherwise, if t=m+tˆ+1 Ct ≥ D, find the maximum n so that Pm+tˆ+n Pm+tˆ+n+1 ˆ t=m+tˆ+1 CT < D and t=m+tˆ+1 Ct ≥ D. Let S = {m + t + ˆ ¯ ˆ P P 1, . . . , m + t + n} and t = t + n. Since t∈S Ct < D, t∈S Ct + ¯ Cm+t¯+1 ≥ D, and S ⊆ I, Condition (4.4) is held. Therefore, (x, z) satisfies inequality (4.17) for these S and t¯ i.e.

t¯ X X X xt ≥ (D − Ct0 )zt t∈It¯\S t=1 t0∈It∩S X X ⇔ xt ≥ (D − Ct0 )ztˆ t∈Itˆ t0∈Itˆ∩S X ⇔ xt ≥ D, t∈Itˆ since I¯ = S ∪ Itˆ, and S ∩ Itˆ = ∅. The claim is proved.

1V Consequently, Claims 1-5 show that (x, z) ∈ X . 

4.4. Multiple demands with constant capacity

In this section a general form of PSFDP-1C is considered that includes mul- tiple demands (PSFDP-MC) i.e. producing of single item over time period t ∈ {1, 2,...,H} to meet a set of demands R where Di items must be produced for demand i ∈ R. PSFDP-MC is formulated as T −1 X i zt ≤ 1 ∀i ∈ R (4.24a) t=1 138 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM X xt ≥ D (4.24b) t∈I tˆ X X X i i ˆ xt ≥ D zt ∀t ∈ {1, ..., T − 1} (4.24c) t∈Itˆ i∈R t=1

xt ≤ C ∀t ∈ I (4.24d)

zi ∈ {0, 1}T −1 ∀i ∈ R (4.24e)

H x ∈ Z+ , (4.24f)

t P i where I = {1, 2,...,H}, I = {1, 2, . . . , m + t}, m ∈ Z+, and D = i∈R D . In i this formulation, zt = 1 when time period m + t is the deadline for demand i. Of course T ≥ 2 is required, otherwise no deadline variable appears in the formulation. If (m + t)C < Di, then Di items cannot be produced by time period m + t hence i 0 i zt0 = 0 for all t = 1, 2 . . . , t. Therefore, if (m + 1)C ≥ max{D : i ∈ R}, then there is a chance for each deadline variable to be non-zero.

xt is an integer variable that represents the number of items produced in time period t. Constraints (4.24a) force each demand to have maximum one deadline. Constraint (4.24b) ensures that all required items are produced by end of time horizon, and constraints (4.24c) guarantee that the required demands are produced before their deadlines. Constraints (4.24d) limit the number of items that can be produced in each time period by production capacity C, and constraints (4.24e) and (4.24f) are integrality and non-negativity conditions. In the following sub-sections, two classes of valid inequalities are provided and their validity are proved.

4.4.1. Example. In order to understand the structure of the problem, we start with the following simple example in which |R| = 2, D1 = 4,D2 = 5,C = 3, m = 2,T = 4 (figure 4.3):

1 1 1 z1 + z2 + z3 ≤ 1 (4.25a)

2 2 2 z1 + z2 + z3 ≤ 1 (4.25b)

x1 + x2 + x3 + x4 + x5 + x6 ≥ 9 (4.25c)

1 2 x1 + x2 + x3 ≥ 4z1 + 5z1 (4.25d)

1 1 2 2 x1 + x2 + x3 + x4 ≥ 4z1 + 4z2 + 5z1 + 5z2 (4.25e)

1 1 1 2 2 2 x1 + x2 + x3 + x4 + x5 ≥ 4z1 + 4z2 + 4z3 + 5z1 + 5z2 + 5z3 (4.25f)

xt ≤ 3 t ∈ I (4.25g)

zi ∈ {0, 1}3 i = 1, 2 (4.25h) 4.4. MULTIPLE DEMANDS WITH CONSTANT CAPACITY 139

6 x ∈ Z+. (4.25i)

Figure 4.3. 2-demand, D1 = 4,D2 = 5,C = 3, m = 2,T = 4

Now, we deduce some valid inequities from

x1 + x2 + x3 + x4 + x5 + x6 ≥ 9.

Suppose variables x4 and x5 are chosen to be brought to the right hand side i.e.

x1 + x2 + x3 + x6 ≥ 9 − (x4 + x5).

In this inequality, the validity is kept if the maximum amount are given to x4 +x5 so that 9−(x4+x5) becomes minimum. As the production capacity is 3, max(x4+x5) = 6, thus the right hand side becomes 3 i.e.

x1 + x2 + x3 + x6 ≥ 3.

This inequality can become stronger by lifting the right hand side. One sug- i i gestion is to add variables zt with appropriate coefficients αt so that the validity is kept. The general from of the lifted inequality is

1 1 1 1 1 1 2 2 2 2 2 2 x1 + x2 + x3 + x6 ≥ 3 + α1z1 + α2z2 + α3z3 + α1z1 + α2z2 + α3z3.

1 1 Now, we start finding a value for α1. When z1 = 1, x1 + x2 + x3 has to be at least 4, thus the validity is held when

1 1 x1 + x2 + x3 + x6 ≥ x1 + x2 + x3 ≥ 4 ≥ 3 + α1z1,

1 hence α1 = 1 is the best choice. Similarly, the best values are given the other coefficients, and the improved inequality is

1 2 x1 + x2 + x3 + x6 ≥ 3 + z1 + 2z1.

If the constant number 3 is reduced to 2 or 1, it gives more space, and the coefficients might get higher values, or more deadline variables appear in the inequality. For instance with the constant number 2, inequality

1 1 2 2 x1 + x2 + x3 + x6 ≥ 2 + 2z1 + z2 + 3z1 + z2. 140 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM is generated, which includes more deadline variables than the one with constant 3. 1 Based on the lifting process that we have already described, α2 must be zero, but 1 α2 = 1 to be supportive for other demand. The absent variables (definition 4.1) x4 1 and x5 can be totally 6 plus the constant number 2 is 8, and if α2 = 1 it becomes 9 1 (when z2 = 1), thus the inequality is till valid. In PSFDP-1C , the highest possible value is chosen for a coefficient in the lifting process without considering the other coefficients, as only one deadline variable can get value one. However, in PSFDP-MC, since more than one variables can be simultaneously one, the highest values for their coefficients might lead to an invalid 2 inequality. For example, based on the lifting process, the highest value for α1 in inequality 1 1 2 2 x1 + x2 + x3 + x6 ≥ 1 + 3z1 + 2z2 + 4z1 + 2z2

1 2 is 4. However, when z2 = 1 and z1 = 1, the right hand side becomes 7, and the absent responsible variable x4 can be 3 that is totally 10, thus the inequality is not 1 2 valid. To avoid this issue, either α2 or α1 has to be reduced one unit that results in two valid inequalities

1 1 2 2 x1 + x2 + x3 + x6 ≥ 1 + 3z1 + 2z2 + 3z1 + 2z2 and 1 1 2 2 x1 + x2 + x3 + x6 ≥ 1 + 3z1 + z2 + 4z1 + 2z2.

1 If α2 is prioritised in the lifting process, the first inequality is generated. Instead, if 2 α1 is prioritised in the lifting process, the second inequality is generated. In other words, if the sequence in which the coefficients are processed is changed, different inequalities are generated when there is a competition between coefficients to get their highest values. In summary, the coefficient should be chosen in the way that: 1) the minimum requirements to be met considering absent variables, 2) each coefficient should be supportive for the other demand when there is no deadline for the other demand, 3) the validity is kept when two (or more) demands have deadlines.

4.4.2. Valid inequalities. From inequalities (4.24b) the following inequality for a given set S ⊂ I is derived:

T −1 X X X i i xt ≥ αtzt + α0 (4.26) t∈I\S i∈R t=1

i i where αt and α0 are scalars. With the given S the values of αt and α0 determine the validity of the inequality. Proposition (4.13) shows that under Condition 4.5 the 4.4. MULTIPLE DEMANDS WITH CONSTANT CAPACITY 141 inequality is valid. To understand the condition, first, we introduce the following notation. For a given S ⊂ I, O ⊆ R and (t1, . . . , t|O|) ∈ {1,...,T − 1}|O| define a function that sorts the demands in O by their deadline, i.e. define π : {1,..., |O|} → O so that tπ(1) ≤ tπ(2) ≤ · · · ≤ tπ(|O|).

Then recursively compute

k−1 π(k) X 0 Ak := min{|S ∩ It |C − Ak ,Dπ(k)} (4.27) k0=1 for each k = 1,...,A|O|. In the recursive operation, Ak number of items which are produced in time periods t ∈ S ∩ Itπ(k) are assigned to demand π(k). |S ∩ Itπ(k) |C is the maximum number of items that can be produced in time periods t ∈ S∩Itπ(k) out Pk−1 k0 tπ(k) of which k0=1 A are assigned to demands π(1), . . . , π(k − 1), and |S ∩ I |C − Pk−1 k0 k π(k) k0=1 A are left for demand π(k). A = D means that what is left is enough for demand π(k), otherwise, all of what is left are assigned to demand π(k) i.e. k tπ(k) Pk−1 k0 A = |S ∩ I |C − k0=1 A . P i P|O| k The above calculations ensure that for any O ⊆ R, i∈O D − k=1 A is the quantity of demand from O that cannot be met by production in periods in S, and P j P|O| k max{0, j∈R\O D − (|S|C − k=1 A )} is the quantity of demand from R \ O that cannot be met by production in periods in S without decreasing what could be used to meet demand from O. Both these quantities are used in the following condition i T −1 on S, α0 and (α )t=1 , for all i ∈ R, that suffices to ensure inequality (4.26) is valid.

Condition 4.5.

(i) 0 ≤ α0 ≤ D − |S|C and

P i P i P|O| k P j P|O| k (ii) i∈O αti +α0 ≤ i∈O D − k=1 A +max{0, j∈R\O D −(|S|C − k=1 A )} for all O ⊆ R and for all (t1, . . . , t|O|) ∈ {1,..., |T − 1|}|O|.

P i P i P|O| k Condition (4.5) determines the maximum value for i∈O αti . i∈O D − k=1 A is the required items for all demands i ∈ O minus the maximum number of items that P j can be produced by absent responsible variables (Definition 4.1). max{0, j∈R\O D − P|O| k (|S|C − k=1 A )} is the required number of items that support the other demands P j P|O| k (R \ O) when they have no deadline. max{0, j∈R\O D − (|S|C − k=1 A )} = 0 means that the absent variables are enough for all demands j ∈ R \ O. We observe i T −1 that provided |S| ≤ D/C, the system of linear inequalities in α0 and (α )t=1 for 142 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM all i ∈ R that is implied by Condition (4.5) has a feasible solution. In particular, i α0 = 0 and (α )t = 0 for all i ∈ R and t = 1,...,T − 1 satisfies the condition since |O| |O| X X X X Di − Ak + max{0, Dj − (|S|C − Ak)} i∈O k=1 j∈R\O k=1 |O| |O| X X X X ≥ Di − Ak + Dj − (|S|C − Ak) i∈O k=1 j∈R\O k=1 ≥D − |S|C ≥ 0.

i T −1 Proposition 4.13. If S ⊂ I, α0 and (α )t=1 for all i ∈ R satisfy Condition (4.5), then inequality (4.26) is valid.

Proof. Suppose (x, z1, z2, . . . , z|R|) is feasible in (4.24a)-(4.24f). In what fol- lows, we show that (x, z1, z2, . . . , z|R|) satisfies inequality (4.26). Let O = {i ∈ R : PT −1 i i t=1 zt = 1} and for each i ∈ O let t be the unique element t ∈ {1,...,T − 1} i i i i k for which zt = 1, i.e. zt = 1 if t = t and zt = 0 otherwise. Let π and A for each i k = 1,..., |O| be defined as discussed earlier for given O and (t )i∈O, so that π sorts elements i ∈ O in nondecreasing order of ti and Ak is the maximum quantity of demand π(k) that can be met by production in S, without decreasing that used to meet earlier demands in O, defined by (4.27). P j P|O| k P j P|O| k If max{0, j∈R\O D − (|S|C − k=1 A )} = j∈R\O D − (|S|C − k=1 A ), then by Condition (4.5)

|O| |O| X i X k X j X k X i D − A + D − (|S|C − A ) = D − |S|C ≥ αti + α0. i∈O k=1 j∈R\O k=1 i∈O By inequality (4.24d) and non-negativity of x, X xt ≥ D t∈I X X ⇔ xt + xt ≥ D t∈I\S t∈S X ⇒ xt ≥ D − |S|C t∈I\S T −1 T −1 X X i X X i i X X i i ⇒ xt ≥ αti + α0 = αtzt + αtzt + α0 t∈I\S i∈O i∈O t=1 i∈R\O t=1 T −1 X X i i = αtzt + α0, i∈R t=1 PT −1 i i i PT −1 i i since t=1 αtzt = 0 if i ∈ R\O, and αti = t=1 αtzt if i ∈ O by constraint (4.24a), and by the definition of ti. 4.4. MULTIPLE DEMANDS WITH CONSTANT CAPACITY 143

P j P|O| k k π(k) Otherwise j∈R\O D − (|S|C − k=1 A ) < 0. If A = D for all k ∈ P|O| k P|O| k P j {1, 2,..., |O|}, then k=1 A = k=1 D and D = j∈R D < |S|C, which contra- dicts part (i) of Condition 4.5. Thus there exists some k¯ ∈ {1, 2,..., |O|} so that k¯ tπ(k¯) Pk¯−1 k0 ˆ k tπ(k) A = |S ∩ I |C − k0=1 A . Let k = arg maxk{π(k): A = |S ∩ I |C − Pk−1 k0 k π(k) ˆ k0=1 A }. Note that A = D for all k = k + 1,..., |O|. Now by inequality (4.24c) for tˆ= tπ(kˆ), we have

tπ(kˆ) tπ(kˆ) kˆ X X X i i X X i i X π(k) xt ≥ D zt ≥ D zt = D π(kˆ) i∈R t=1 i∈O t=1 k=1 t∈It

kˆ X X π(k) tπ(kˆ) ⇒ xt ≥ D − |S ∩ I |C π(kˆ) k=1 t∈It \S

kˆ kˆ−1 |O| |O| X X π(k) kˆ X k X k X π(k) ⇔ xt ≥ D − (A + A ) − A + D π(kˆ) k=1 k=1 ˆ ˆ t∈It \S k=k+1 k=k+1 |O| |O| X X π(k) X k X i ⇔ xt ≥ D − A ≥ αti + α0 π(kˆ) k=1 k=1 i∈O t∈It \S by part (ii) of Condition 4.5. Hence

T −1 T −1 X X i X X i i X X i i ⇒ xt ≥ αti + α0 = αtzt + αtzt + α0, t∈I\S i∈O i∈O t=1 i∈R\O t=1 T −1 X X i i = αtzt + α0, i∈R t=1

PT −1 i i i PT −1 i i since t=1 αtzt = 0 if i ∈ R \ O, and αti = t=1 αtzt if i ∈ O by constraint (4.24a). 

Inequalities of the form of (4.26) shown by PORTA to be facet-defining on test instances satisfy the additional Condition (4.6).

Condition 4.6. (i) S ∩ I1 = ∅, D (ii) α0 ∈ {1, 2,...,D − nC} where n = min{T − 1, d C e − 1},

(iii) nC ≤ |S|C + α0 ≤ D i (iv) αt ≥ 0 for all i ∈ R and for all t ∈ {1, 2,...T − 1}.

The second class of valid inequalities (4.28) include a subset of xt variables excluding subset S, while in the first class all variables xt minus subset S exist. Instead, the constant number in the left hand side of inequality (4.28) lift the left 144 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM hand side so that some deadline variables can appear in the right hand side. For a given t¯∈ {1, 2,...,T − 1} and S ⊂ It¯ the inequality has the from of

t¯ X X X i i β0 + xt ≥ βtzt (4.28) t∈It¯\S i∈R t=1 i ¯ i where βt, and β0 are scalars. With the given t and S the values of βt, and β0 determine the validity of the inequality. Proposition (4.14) shows that under the following condition the inequality is valid.

P i P i P|O| k Condition 4.7. i∈O βti ≤ i∈O D − k=1 A + β0 for all O ⊆ R and for all (t1, . . . , t|O|) ∈ {1,..., t¯}|O|.

t¯ ¯ i t¯ Proposition 4.14. If S ⊂ I when t ∈ {1, 2,...,T −1}, β0 and (β )t=1 for all i ∈ R satisfy Condition (4.7), then inequality (4.28) is valid.

Proof. Suppose (x, z1, z2, . . . , z|R|) is feasible in (4.24a)-(4.24f). In what fol- 1 2 |R| i lows, we show that (x, z , z , . . . , z ) satisfies 4.28. Let O = {i ∈ R : zti = 1 and ti ≤ t¯}. Let π and Ak for each k = 1,..., |O| be defined as discussed earlier i i for given O and (t )i∈O, so that π sorts elements i ∈ O in nondecreasing order of t and Ak is the maximum quantity of demand π(k) that can be met by production in S, without decreasing that used to meet earlier demands in O, defined by (4.27). k π(k) P|O| k P|O| k If A = D for all k ∈ {1, 2,..., |O|}, then k=1 A = k=1 D , and by P Pt¯ i i P i Condition 4.7, i∈R t=1 βti zti = i∈O βti ≤ β0. Therefore, inequality (4.34) is valid. ¯ k¯ tπ(k¯) Pk¯−1 k0 Otherwise, there is k ∈ {1, 2,..., |O|} so that A = |S ∩ I |C − k0=1 A . k tπ(k) Pk−1 k0 P|O| k Let kˆ = arg max {π(k): A = |S ∩ I |C − 0 A }, then A = k k =1 k=kˆ+1 P|O| Dπ(k). Now by inequality (4.24c) for tˆ= tπ(kˆ), we have k=kˆ+1

tπ(kˆ) tπ(kˆ) kˆ X X X i i X X i i X π(k) xt ≥ D zt ≥ D zt = D π(kˆ) i∈R t=1 i∈O t=1 k=1 t∈It

kˆ X X π(k) tπ(kˆ) ⇔ xt ≥ D − |S ∩ I |C π(kˆ) k=1 t∈It \S

kˆ kˆ−1 |O| |O| X X π(k) kˆ X k X k X π(k) ⇔ xt ≥ D − (A + A ) + A − D π(kˆ) k=1 k=1 ˆ ˆ t∈It \S k=k+1 k=k+1 |O| |O| X X π(k) X k ⇔ xt ≥ D − A , π(kˆ) k=1 k=1 t∈It \S 4.4. MULTIPLE DEMANDS WITH CONSTANT CAPACITY 145 and by Condition 4.7

X X i xt ≥ βti − β0 π(kˆ) i∈O t∈It \S T −1 T −1 X X X i X X i i X X i i ⇒β0 + xt ≥ β0 + xt ≥ βti = βtzt + βtzt, t¯ π(kˆ) i∈O i∈O t=1 i∈R\O t=1 t∈I \S t∈It \S T −1 X X i i = βtzt, i∈R t=1

Pt¯ i i i Pt¯ i i since t=1 βtzt = 0 if i ∈ R \ O, and βti = t=1 βtzt if i ∈ O referring to constraint (4.24a). 

Inequalities of the form of (4.28) shown by PORTA to be facet-defining on test instances satisfy the additional Condition (4.8).

Condition 4.8.

D (i) β0 ∈ {1, 2,...,D − nC} where n = min{T − 1, d C e − 1}, t¯ D (ii) S ⊂ I with |S| ≤ d C e − 1, and i (iii) βt ≥ 0 for all i ∈ R and for all t ∈ {1, 2,...T − 1}.

For a given S ⊂ I and α0 ∈ {1, 2,...,D − nC} that satisfy part (i) of Condition i 4.5, there are infinite options for the values of αt so that part (ii) of Condition 4.5 is hold. Therefore, infinite number of valid inequalities (4.26) can be generated. For the same reason, infinite number of valid inequalities (4.28) can be created as well. In what follows, we suggest a sequential approach to generating inequalities of these types that only provides the maximum possible values for the coefficients in inequalities (4.26) and (4.28) permitted by their associated conditions.

4.4.3. A sequential procedure for a priori generation of inequalities. In this section, we describe a sequential procedure that, for a given S ⊂ I (and a given t¯) generates valid inequalities of the form of (4.26) (and (4.28)) with max- i imal coefficients of the zt variables, in some sense. The resulting procedures are applied later in computational experiments using our load point based model for throughput assessment, to determine how helpful such valid inequalities might be in solving such models. Note that in each case, the set S (and t¯) is expected to satisfy both the conditions under which the respective constraint has been observed to be facet-defining (Conditions 4.6 and 4.8), as well as the conditions for validity of the associated inequality. 146 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

We first give the procedure for generating valid inequalities of the form of (4.26) for a given S. Define σ : {1,..., |R|} → R to induce an ordering on the demands. i For each α0 ∈ {1, 2,...,D − nC}, we will determine the maximal value of each αt coefficient in turn, with i in the order given by σ. Note that for a given i ∈ R, i i 0 the choice of αt is independent of the choice of αt0 for all t, t ∈ {1,...,T − 1} with t0 6= t, as a consequence of the structure of the inequalities implied by part (ii) of i i Condition 4.5: at most one of α1, . . . αT −1 appears in the right-hand side of any inequality that the condition requires to hold. To initialize the procedure, we set

σ(1) σ(1) 1 X j 1 αt = D − A + max{0, D − (|S|C − A )} − α0, j∈R\{σ(1)} for all t = 1,...,T − 1, where A1 is calculated from O = {σ(1)} as per (4.27) (and note that for |O| = 1 the choice of t1 is irrelevant to the calculation of A1). It is not hard to see that now part (ii) of Condition 4.5 is satisfied for O = {σ(1)} and any t1 ∈ {1,...,T − 1}. Note that

σ(1) σ(1) 1 X j 1 αt = D − A + max{0, D − (|S|C − A )} − α0, j∈R\{σ(1)} σ(1) 1 X j 1 ≥ D − A + D − (|S|C − A ) − α0, j∈R\{σ(1)}

= D − |S|C − α0 ≥ 0

σ(k0) T −1 by part (i) of Condition 4.5. Now we suppose that the values of (α )t=1 have already been determined for all k0 = 1, . . . , k − 1, for some k ∈ {2,..., |R|}. Then for each t = 1,...,T − 1, we set

k−1 σ(k) X σ(k0) α = min{D(Oˆ ∪ {σ(k)}, (τ 1, . . . , τ k−1, t)) − α : t τ k0 O,τˆ k0=1 ˆ k0 k−1 |Oˆ| ∅= 6 O ⊆ {σ(1), . . . , σ(k − 1)}, (τ )k0=1 ∈ {1,...,T − 1} } − α0, (4.29) where D(O, (t1, . . . , t|O|)) is defined by

|O| |O| X X X X D(O, (t1, . . . , t|O|)) = Di − Ak + max{0, Dj − (|S|C − Ak)} i∈O k=1 j∈R\O k=1

k k |O| and A is defined as a function of O and (t )k=1 by (4.27). This construction ensures that part (ii) of Condition 4.5 is satisfied for any O ⊆ {σ(1), . . . , σ(k)} with σ(k) ∈ O and any (t1, . . . , t|O|) ∈ {1,...,T − 1}|O| with t|O| = t. By induction, the coefficients i T −1 (α )t=1 for i ∈ R resulting from this procedure satisfy part (ii) of Condition 4.5 (for all sets O ⊆ R and vectors (t1, . . . , t|O|)). Note that each minimization in 4.4. MULTIPLE DEMANDS WITH CONSTANT CAPACITY 147

(4.29) is done by enumeration, which requires calculation of D(O, (t1, . . . , t|O|)) for (2k−1 − 1)(T − 1)k−1 different arguments. For given t ∈ {1,...,T − 1}, suppose k = 2, and by (4.29)

σ(2) σ(1) σ(2) 1 2 X j 1 2 σ(1) αt = D +D −A −A +max{0, D −(|S|C−A −A )}−ατ 1 −α0 j∈R\{σ(1),σ(2)} where Oˆ = {σ(1)} and τ 1 is the solution of minimization in (4.29). Since

σ(1) σ(1) 1 X j 1 ατ 1 = D − A + max{0, D − (|S|C − A )} − α0, j∈R\{σ(1)} then

σ(2) σ(2) 2 X j 1 2 αt = D − A + max{0, D − (|S|C − A − A )} j∈R\{σ(1),σ(2)} X − max{0, Dj − (|S|C − A1)}. j∈R\{σ(1)}

P j 1 σ(2) σ(2) 2 If max{0, j∈R\{σ(1)} D − (|S|C − A )} = 0, then αt ≥ 0 since D ≥ A . P j 1 Otherwise, if max{0, j∈R\{σ(1)} D − (|S|C − A )} > 0, then

σ(2) σ(2) 2 X j 1 2 αt = D − A + max{0, D − (|S|C − A − A )} j∈R\{σ(1),σ(2)} X − ( Dj − (|S|C − A1)). j∈R\{σ(1)} X = −( Dj − (|S|C − A1 − A2)) j∈R\{σ(1),σ(2)} X + max{0, Dj − (|S|C − A1 − A2)} j∈R\{σ(1),σ(2)} ≥ 0.

σ(k) The same idea can be used to show αt ≥ 0 for k ≥ 3. Similarly, We give the procedure for generating valid inequalities of the form of (4.28) for the given t¯ and S. Define σ : {1,..., |R|} → R to induce an ordering on the demands. For each β0 ∈ {1, 2,...,D−nC}, we will determine the maximal value i of each βt coefficient in turn, with i in the order given by σ. Note that for a given i i 0 ¯ i ∈ R, the choice of βt is independent of the choice of βt0 for all t, t ∈ {1,..., t} with t0 6= t, as a consequence of the structure of the inequalities implied by Condition 4.7: i i at most one of β1, . . . βt¯ appears in the right-hand side of any inequality that the condition requires to hold. To initialize the procedure, we set

σ(1) σ(1) 1 βt = D − A + β0, 148 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM for all t = 1,..., t¯, where A1 is calculated from O = {σ(1)} as per (4.27) (and note that for |O| = 1 the choice of t1 is irrelevant to the calculation of A1). It is not hard to see that now Condition 4.7 is satisfied for O = {σ(1)} and any t1 ∈ {1,..., t¯}. 1 σ(1) σ(1) 1 Note that by definition of A , βt = D − A + β0 ≥ β0 ≥ 1 by part (i) of Condition 4.8. σ(k0) t¯ Now we suppose that the values of (β )t=1 have already been determined for all k0 = 1, . . . , k − 1, for some k ∈ {2,..., |R|}. Then for each t = 1,..., t¯, we set

k−1 σ(k) X σ(k0) β = min{D¯(Oˆ ∪ {σ(k)}, (τ 1, . . . , τ k−1, t)) − β : t τ k0 O,τˆ k0=1 ˆ k0 k−1 ¯ |Oˆ| ∅= 6 O ⊆ {σ(1), . . . , σ(k − 1)}, (τ )k0=1 ∈ {1,..., t} } + β0, (4.30) where D¯(O, (t1, . . . , t|O|)) is defined by

|O| X X D¯(O, (t1, . . . , t|O|)) = Di − Ak i∈O k=1

k k |O| and A is defined as a function of O and (t )k=1 by (4.27). This construction ensures that Condition 4.7 is satisfied for any O ⊆ {σ(1), . . . , σ(k)} with σ(k) ∈ O and any (t1, . . . , t|O|) ∈ {1,..., t¯}|O| with t|O| = t. By induction, the coefficients i t¯ (β )t=1 for i ∈ R resulting from this procedure satisfy Condition 4.7 (for all sets O ⊆ R and vectors (t1, . . . , t|O|)). Note that each minimization in (4.30) is done by enumeration, which requires calculation of D¯(O, (t1, . . . , t|O|)) for (2k−1 − 1)(t¯)k−1 different arguments. For given t ∈ {1,..., t¯}, suppose k = 2, and by (4.30)

σ(2) σ(1) σ(2) 1 2 σ(1) βt = D + D − A − A − βτ 1 + β0, where Oˆ = {σ(1)} and τ 1 is the solution of minimization in (4.30). Since

σ(1) σ(1) 1 βτ 1 = D − A + β0, then σ(2) σ(2) 2 βt = D − A ≥ 0. σ(k) The same idea can be used to show βt ≥ 0 for k ≥ 3.

4.5. Various Arrivals

In this section, a generalisation of problem PSFDP-MC is studied in which the set of periods in which demand must be met can differ for different demands, although the cardinality of the sets remain identical (T ). We refer to this problem as (PSFDP-MCV), and define it as follows. We again define production variables xt 4.5. VARIOUS ARRIVALS 149 for each period t = 1,...,H. However now for each demand i ∈ R, we ask that its demand is met by one of periods {mi + 1, . . . , mi + T }, indicated by binary variables i i zt for t = 1,...,T , and require H ≥ maxi∈R m +T . To ensure feasibility we ask that i Di m + 1 ≥ d C e for all i ∈ R. Figure (4.4) illustrates an example with two demands 1 2 that have different arrivals: z1 is in time period 3 while z1 is in time period 4. In the previous version of the problem, for demand i there are m + 1 time periods before i i z1, while in this version there are m + 1 time periods. Without lose of generality, we suppose that m1 = min{mi : i ∈ R}.

Figure 4.4. Various arrivals, D1 = 4,D2 = 5,C = 3, m1 = 1, m2 = 2,T = 4

In order to apply the results of previous sections to this setting, we would like to relax the constraint T X i zT = 1 t=1 for each i ∈ R to a less-than-or-equal-to constraint, and to remove each final deadline i variable zT , as is done for previous variants of the problem. However unlike previous i i variants, in this setting, doing so naively results in a model for which z1 = z2 = ··· = i i zT −1 = 0 does not imply that production suffices to meet all of demand D by period mi + T . Indeed such a model is given below. To overcome this weakness, we suggest that the model below be applied with T := T + 1, so that all deadline variables in the original problem appear in the right-hand side of (4.31c); it is assumed that any constraints generated as a result will be used within a model including the constraint that all deadline variables for each demand sum to 1. We thus now proceed with the form of model that mirrors that of previous variants. PSFDP-MCV is formulated as: T −1 X i zt ≤ 1 ∀i ∈ R (4.31a) t=1 X xt ≥ D (4.31b) t∈I tˆ X X X i i ˆ 1 xt ≥ D zt ∀t ∈ {m + 1, ..., H − 1} (4.31c) t=1 i∈R t∈Γ(i,tˆ)

xt ≤ C t ∈ I (4.31d) 150 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

zi ∈ {0, 1}T −1 ∀i ∈ R (4.31e)

H x ∈ Z+ , (4.31f)

t i P i ˆ where I = {1, 2,...,H}, I = {1, 2, . . . , t} m ∈ Z+, D = i∈R D , and Γ(i, t) = {1, 2,..., min{tˆ− mi,T − 1}}. In the example that is illustrated in Figure (4.4), Γ(2, 2) = ∅, Γ(1, 3) = {1, 2}, Γ(2, 3) = {1}, and Γ(1, 5) = {1, 2, 3}. If tˆ = 3 the constrain (4.31c) is written as

X 1 X 2 x1 + x2 + x3 ≥ 4zt + 5zt t∈Γ(1,3) t∈Γ(2,3) 1 1 2 ≥ 4z1 + 4z2 + 5z1.

If (mi + t)C < Di, then Di items cannot be produced by time period mi + t hence i 0 i i zt0 = 0 for all t = 1, 2 . . . , t. Therefore, if (m + 1)C ≥ D , then there is a chance i for each deadline variable zt to be non-zero.

4.5.1. Valid inequalities. From inequalities (4.31b), for a given S ⊂ I, the following inequality is derived:

X X X i i xt ≥ αtzt + α0 (4.32) t∈I\S i∈R t∈Γ(i,H−1)

i where αt and α0 are scalars. Note that Γ(i, H − 1) = {1, 2,...,T − 1} for all i ∈ R, hence inequality (4.32) can be written as:

T −1 X X X i i xt ≥ αtzt + α0 (4.33) t∈I\S i∈R t=1

i With the given S the values of αt and α0 determine the validity of the inequality.

i T −1 Proposition 4.15. If S ⊂ I, α0 and (α )t=1 for all i ∈ R satisfy Condition (4.5), then inequality (4.32) is valid.

Proof. The proof is similar to proposition (4.13) proof. 

The second class of valid inequalities (4.34) include a subset of xt variables excluding subset S, while in the first class all variables xt minus subset S exist. Instead, the constant number in the left hand side of inequalities (4.34) lift the left hand side so that some z variables can appear in the right hand side. For a given t¯∈ {m1 + 1, m1 + 2,...,H − 1} and S ⊂ It¯ the inequality has the from of

X X X i i β0 + xt ≥ βtzt (4.34) t∈It¯\S i∈R t∈Γ(i,t¯) 4.5. VARIOUS ARRIVALS 151

i where βt, and β0 are scalars. Similar to Condition (4.7), the following condition i limits βt and β0 to ensure the validity of inequality (4.34). Proposition (4.16) shows that under the following condition the inequality is valid.

P i P i P|O| k Condition 4.9. i∈O βti ≤ i∈O D − k=1 A + β0 for all O ⊆ R and for all (t1, t2, . . . , t|O|) ∈ Γ(1, t¯) × · · · × Γ(|O|, t¯) where Γ(i, t¯) 6= ∅ for all i ∈ O.

t¯ ¯ 1 1 i Γ(i,t¯) Proposition 4.16. If S ⊂ I when t ∈ {m + 2, m + 3,...,H − 1}, (β )t=1 for all i ∈ R, and β0 satisfy Condition (4.9), then inequality (4.34) is valid.

Proof. Suppose (x, z1, z2, . . . , z|R|) is feasible in (4.31a)-(4.31f). In what fol- 1 2 |R| i i lows, we show that (x, z , z , . . . , z ) satisfies (4.34). Let O = {i ∈ R : zti = 1, t ∈ Γ(i, t¯), Γ(i, t¯) 6= ∅}. Let π and Ak for each k = 1,..., |O| be defined as discussed i earlier for given O and (t )i∈O, so that π sorts elements i ∈ O in nondecreasing order of ti and Ak is the maximum quantity of demand π(k) that can be met by production in S, without decreasing that used to meet earlier demands in O, defined by (4.27). k π(k) P|O| k P|O| k If A = D for all k ∈ {1, 2, . . . , k}, then k=1 A = k=1 D , and by P P i i P i Condition 4.9, i∈R t∈Γ(i,t¯) βti zti = i∈O βti ≤ β0. Therefore, inequality (4.34) is ¯ k¯ tπ(k¯) Pk¯−1 k0 valid. Otherwise, there is k ∈ {1, 2,..., |O|} so that A = |S ∩ I |C − k0=1 A . k tπ(k) Pk−1 k0 P|O| k Let kˆ = arg max {π(k): A = |S ∩ I |C − 0 A }, then A = k k =1 k=kˆ+1 P|O| Dπ(k). Now by inequality (4.31c) for tˆ= tπ(kˆ), we have k=kˆ+1

tπ(kˆ) tπ(kˆ) kˆ X X X i i X X i i X π(k) xt ≥ D zt ≥ D zt = D π(kˆ) i∈R t=1 i∈O t=1 k=1 t∈It

kˆ X X π(k) tπ(kˆ) ⇔ xt ≥ D − |S ∩ I |C π(kˆ) k=1 t∈It \S

kˆ kˆ−1 |O| |O| X X π(k) kˆ X k X k X π(k) ⇔ xt ≥ D − (A + A ) + A − D π(kˆ) k=1 k=1 ˆ ˆ t∈It \S k=k+1 k=k+1 |O| |O| X X π(k) X k ⇔ xt ≥ D − A . π(kˆ) k=1 k=1 t∈It \S

By Condition (4.9)

|O| X i X k X i D − A ≥ βti − β0, i∈O k=1 i∈O 152 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM hence

X X X i X X i i X X i i xt ≥ xt ≥ βti − β0 = βtzt + βtzt − β0 t¯ π(kˆ) i∈O i∈O t∈Γ(i,t¯) i∈R\O t∈Γ(i,t¯) t∈I \S t∈It \S X X X i i ⇒β0 + xt ≥ βtzt, t∈It¯\S i∈R t∈Γ(i,t¯) P i i i P i i since t∈Γ(i,t¯) βtzt = 0 if i ∈ R \ O, and βti = t∈Γ(i,t¯) βtzt if i ∈ O referring to constraint (4.31a). 

4.6. Implementation

We now apply the valid inequalities discussed in the previous section to the load point based model described in Chapter 3. Each load point can be considered as a PSFDP-MCV. The number of trains that are loaded per day in load-point l is mapped to the production in PSFDP-MCV. Usually more than one components are come from a load point (multi-demand) and the arrival of the vessels that the components belong to are in different time periods (various arrival). Each component from load point l is considered as a demand, and the number of train-jobs for the component is the number of items for the demand. The deadline variables for the demand are the reclaiming variables of the first stockpile of the vessel that the component belongs to. The number of trains that can be loaded in load point l per day is equivalent to the production capacity C that is constant in all days. The number of periods (days) before the first deadline variable (m1 + 1) equals to ∆−, and the number deadline variables T − 1 in PSFDP-MCV is equivalent to ∆+ in the load point based model (∆− and ∆+ determine the domain of variables for each vessel). The time horizon I = {1, 2,...,H} with maximum H is chosen in such way that − for each t ∈ I there is a component c ∈ C(l) (Table 3.1) such that t+bv(c) −∆ −1 ∈ − − + {bv(c)−∆ , bv(c)−∆ +1, ··· , bv(c)+∆ −1}, where v(c) is the vessel that component c belongs to (Table 3.1), and bv(c) is the arrival day of vessel v(c) (Table 2.1). In − − addition, for each component c ∈ C(l), either {bv(c) − ∆ , bv(c) − ∆ + 1, ··· , bv(c) + + − − + ∆ −1}∩{t0 +1, t0 +2, . . . , t0 +H} = ∅, or {bv(c) −∆ , bv(c) −∆ +1, ··· , bv(c) +∆ − − 1} ⊆ {t0 + 1, t0 + 2, . . . , t0 + H} where t0 = minc∈R{bv(c) − ∆ − 1}. R is the set of − − + components such that for each c ∈ R, {bv(c)−∆ , bv(c)−∆ +1, ··· , bv(c)+∆ −1} ⊆ 1 − c {t0 + 1, t0 + 2, . . . , t0 + H}. We have that m + 1 = ∆ and m + 1 = bv(c) − t0 − 1 for all c ∈ R. The number of trains that are loaded per day in load-point l is mapped to the P t production in PSFDP-MCV i.e. p∈P xlp ≡ xt−t0 (P is the set of pads), and the 4.7. A COMPUTATIONAL STUDY 153 deadline variables are mapped as P zt ≡ zc where c ∈ R, t ≥ b p∈P v(c) t−bv(c)+1 v(c) s1 p t and z v(c) = 1 if reclaiming of the first stockpile of vessel v(c) is started on day t s1 p from pad p (that is the deadline for doing the train-jobs of vessel v).

4.7. A Computational Study

In order to test the effects of valid inequalities (4.32) and (4.34) on the quality of the load point based formulation, we have conducted a series of computational experiments. All these experiments have been performed on a machine with Intel(R) Xeon(R) 3.07GHz CPU, 100 GB RAM, and linux operating system. All programs are written in C++, and CPLEX 12.5 is used for solving the LP relaxations. In- stances are use 2008 infrastructure data and are derived from a 2008 shipping stem. All instances cover a 5-days period, e.g., an instance may include all trip arrival times from day 30 to day 35, or from day 40 to day 45. Since the number of valid inequalities (4.32) and (4.34) are exponential, we have used instances with short time horizon comparing with the instances in Chapters 2 and 3. i T −1 The valid inequalities (4.32) are generated for all set S ⊂ I, α0 and (α )t=1 for all i ∈ R satisfying Conditions 4.5 and 4.6, and for all sequence of demands generated by σ : {1,..., |R|} → R. Likewise, the valid inequalities (4.34) are generated for all ¯ 1 1 t¯ i t¯ t ∈ {m +2, m +3,...,H−1}, S ⊂ I ,(β )t=1 for all i ∈ R, and β0 satisfy Conditions 4.8 and 4.9, and for all sequence of demands generated by σ : {1,..., |R|} → R. Table 4.1 illustrates the optimal objective values of the LP relaxation of the load point based model with and without valid inequalities (4.32) and (4.34). Column IP is the optimal objective values of IP, column LP is the optimal objective of the LP relaxation, column LP-class1 is the optimal objective of the LP relaxation with inequalities (4.32), column LP-class2 is the optimal objective of the LP relaxation with inequalities (4.34), and column LP-class1,2 is the optimal objective of the LP relaxation with inequalities (4.32) and (4.34). The results show slight improvement in the LP relaxation after adding the in- equalities (instances 1 and 22 for example). In some instances, like 10, 12, and 16, the infeasibility is recognized after adding the inequalities while this is not true in instances 6 and 8. The objective values of instances 1 and 17, for, example, show that the inequalities (4.32) are redundant when inequalities (4.34) are added to the model, while instance 18 shows the opposite. In some instances, like 22, adding both sets of inequalities improve the objective value. Table 4.2 illustrates the load point based problem size before and after adding the valid inequalities. The instances are those shown in Table 4.1. Rows and Columns 154 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

Table 4.1. Optimal objective values

Instance IP LP LP-class1 LP-class2 LP-class1,2

1 3 0.19 0.97 1.74 1.74 2 6 1.98 2.12 2.12 2.12 3 7 4.08 4.08 4.08 4.08 4 11 11.00 11.00 11.00 11.00 5 Infeasible Infeasible Infeasible Infeasible Infeasible 6 Infeasible 10.88 16.91 18.72 21.14 7 3 1.00 1.00 1.00 1.00 8 Infeasible 0.17 0.30 1.65 2.15 9 12 3.30 3.59 3.31 3.60 10 Infeasible 11.73 Infeasible Infeasible Infeasible 11 Infeasible 4.68 5.31 5.70 7.59 12 Infeasible 0.13 1.14 Infeasible Infeasible 13 Infeasible 9.39 10.52 9.59 11.85 14 Infeasible 3.23 3.23 3.23 3.23 15 6 0.12 0.12 0.23 0.23 16 Infeasible 10.96 13.49 16.12 Infeasible 17 3 0.15 0.35 0.58 0.58 18 14 5.36 5.72 5.36 5.72 19 Infeasible 5.02 Infeasible 6.76 Infeasible 20 Infeasible 4.10 Infeasible 5.46 Infeasible 21 16 1.56 2.30 1.59 2.76 22 9 0.25 0.36 1.63 1.68 23 Infeasible 2.27 Infeasible Infeasible Infeasible

are the problem size before adding the inequalities, and Class1 and Class2 are the number of valid inequalities (4.32) and (4.34) respectively, which are added to the load point based model. All inequalities are added in advance (at the time the model is being built). Class1-violated and Class2-violated are the number of inequalities that are violated by the original LP relaxation (before adding the inequalities) opti- mal solution. The results show that adding the valid inequalities makes the problem size considerably large, while less than 40% of them are violated by the optimal so- lution of the original LP relaxation. In some instances, like 3, 516 valid inequalities of Class 2 are violated by the optimal solution of the original LP relaxation, while adding them does not increase the optimal solution. The reason is that there are multiple optimal solution for the original LP relaxation, and adding the violated inequalities results in different solution with the same objective value. 4.7. A COMPUTATIONAL STUDY 155

Table 4.2. Problem size

Instance Rows Columns Class1 Class2 Class1-violated Class2-violated

1 4013 3525 3403 336565 117 28094 2 4219 3939 21657 521106 36 326 3 4121 3755 23217 1292252 0 516 4 3988 3433 5989 431044 118 1766 5 4219 3847 219548 741865 213009 7561 6 4111 3801 43880 820053 5340 6014 7 4082 3709 11107 608230 0 8 8 4033 3571 11611 410925 67 3156 9 4177 3755 7606 264452 378 262 10 4131 3847 18287 968514 6734 29872 11 4051 3617 34526 573325 1782 50240 12 4038 3525 4745 352607 894 13289 13 4098 3755 27325 488860 2906 817 14 4222 3985 26987 1461833 236 708 15 3954 3341 1728 135213 15 1979 16 4247 4077 67488 1045146 3562 38585 17 4110 3801 9015 967024 7 2835 18 4056 3617 62362 260848 11329 98 19 4029 3571 10872 166723 6117 1027 20 4041 3571 25341 289558 13817 1297 21 4036 3525 41074 139768 2384 1 22 4276 3985 22803 790647 205 16576 23 4218 3847 23955 320098 14105 28528

Table 4.3 shows the number of violated inequalities where |R| varies from 2 to 6 for both Class 1 and 2 of inequalities. The instances are those which are studied in Tables 4.1 and 4.2. Since most of the violated inequalities are added when |R| = 2, we expect the same improvement in the objective with higher efficiency if we only choose the inequalities from |R| = 2. 156 4. PRODUCTION SCHEDULING WITH FLEXIBLE DEADLINE PROBLEM

Table 4.3. Violated inequalities

Class1 Class2 Instance |R| = 2 |R| = 3 |R| = 4 |R| = 5 |R| = 6 |R| = 2 |R| = 3 |R| = 4 |R| = 5 |R| = 6

1 117 0 0 0 0 28,094 0 0 0 0 2 0 0 0 36 0 153 2 164 0 0 3 0 0 0 0 0 10 501 0 5 0 4 83 35 0 0 0 1,590 176 0 0 0 5 23 107 47 212,832 0 649 173 3,264 3,475 0 6 2,264 0 0 3,076 0 5,891 114 0 7 2 7 0 0 0 0 0 8 0 0 0 0 8 67 0 0 0 0 3,116 40 0 0 0 9 377 1 0 0 0 202 60 0 0 0 10 6,723 9 2 0 0 28,350 1,521 1 0 0 11 1 1,781 0 0 0 741 49,499 0 0 0 12 894 0 0 0 0 13,287 2 0 0 0 13 5 2,901 0 0 0 5 812 0 0 0 14 38 2 0 196 0 703 3 2 0 0 15 15 0 0 0 0 1,979 0 0 0 0 16 1,887 1,612 13 0 50 13,044 25,162 375 0 4 17 7 0 0 0 0 2,834 1 0 0 0 18 0 13 0 11,316 0 86 12 0 0 0 19 6,116 1 0 0 0 845 182 0 0 0 20 13,733 0 0 84 0 1,296 0 1 0 0 21 0 0 0 2,384 0 0 0 0 1 0 22 172 7 26 0 0 16,495 16 49 16 0 23 14,088 14 3 0 0 28,485 26 0 17 0

4.8. Final remarks

Inspired by the HVCC problem, we have introduced Production Scheduling with Flexible Deadline Problem. The problem is to satisfy the customer demand with production capacity before its deadline which has to be decided (flexible deadline). We have analysed its polyhedron and provided all facet-inducing inequalities which together provides a complete formulation of the cases that the there is only one customer and the capacity is either constant or varying. We also have generalised the problem to include more demands, and to capture varying arrivals, so that it more closely resembles a sub-problem of the HVCC problem. We have provided two classes of valid inequalities for the generalised problems and explained the way to implement those in the HVCC problem. The results is a stronger formulation for the 4.8. FINAL REMARKS 157

HVCC problem that shows itself with the higher LP relaxation optimal objective values.

CHAPTER 5

Conclusion and Future Work

In this thesis, we have discussed the development of an integer-programming based decision support tool that quickly assesses the throughput of the Hunter Val- ley coal export supply chain for a given level of demand that can be used to rapidly evaluate a number of infrastructures for several future demand scenarios in order to identify a few that should be investigated more thoroughly using a detailed simula- tion model. By evaluating the throughput of the system, the integer programming decision support tool finds the bottleneck. As the aim is to accommodate the future demand, the bottleneck, then, can be eliminated by more efficient scheduling at the operational level, or by upgrading and expanding the infrastructure. The integer programming model covers the entire system from the load points to the terminals. This model includes load point facilities, rail tracks, trains and wagons, dump sta- tions, stackers, pads, reclaimers, ship loaders, and berths. For the sake of efficiency, the integer programming model does not consider the details of the system at the operational level, but includes reasonable amount of details which are enough for tactical and strategic decision making. A computational study has demonstrated that the tool can produce a reasonably accurate throughput assessment in a matter of minutes, which means that the tool developed can serve its purpose. In order to measure the performance of the system, total delay, i.e., the sum of all vessel delays, the average delay per vessel, the daily production, i.e., daily stockpile tonnage and number of trains per day, and number of vessels in queue are analysed. With further examination, we found that the tool was computationally vul- nerable when dealing with more challenging scenarios. We found that symmetry contributed to the computational issues. By aggregating certain variables, we have suggested an aggregated (implicit) integer programming model that can break the symmetry. Applying the Hall’s marriage theorem and the model structure, we have provided the required constraints which make the solution of the aggregated model feasible for the original model. As the number of required constraints is considerably large, and most of them are redundant at the optimal solution, a separation algo- rithm has been designed to find those constraints that are necessary and add them

159 160 5. CONCLUSION AND FUTURE WORK in the search tree. A computational study proves the advantage of the aggregated integer model when it encounters with challenging scenarios. Inspired by the HVCC problem, we have introduced Production Scheduling with Flexible Deadline Problem for the first time. The problem is to satisfy the customer demand with production capacity before its deadline which has to be decided (flex- ible deadline). We have analysed its polyhedron and provided all facet-inducing inequalities which together is the full (and minimal) description of the convex hull for the cases that the there is one customer the capacity is either constant or vary- ing. We also have generalised the problem to include more demands, and to capture varying arrivals, so that it can resemble a sub-problem of the HVCC problem. We have provided two classes of valid inequalities for the generalised problems and ex- plained the way to implement those in the HVCC problem. A computational study shows that these inequalities lead to a stronger formulation for the HVCC problem that shows itself with the higher LP relaxation optimal objective values. The simulation model analyses the performance of the HVCC by replicating the system. It goes through the supply chain process step by step in a “what if” manner, and finds the best solution (out of a few feasible solutions) by varying the parameters of the simulation model. On the other hand, the optimization problem captures the entire system as a whole and finds the best solution out of all feasible solutions. However, the optimization problem becomes very large if it includes all details of the simulation model, and it cannot be solved even with the most recent solvers and computers. Whether to choose simulation or optimization is determined by the goal of the analyst. In this thesis, we have suggested the optimization model as a complement of the simulation model. We have shown that by choosing a reasonable level of details and using the integer programming techniques, the optimization model can be more efficient than the simulation model. Therefore, it can analyse all possible scenarios and choose those that are worth to be examined by the simulation model thoroughly. In what follows, we suggest two options for the future work. Branch-and-Price which is solving the IP by Column Generation is considered as an efficient method dealing with the large scale problems (Barnhart, Johnson, Nemhauser, Savelsbergh, and Vance, 1996). Another advantage of a column generation formulation is that it may break symmetry (Margot, 2010). In column generation, the problem is decom- posed into master problem and sub-problems. This decomposition disappears the symmetry that exist between the subsets. The master problem (which is a reformu- lation of the original problem) starts with small number of variables and provides the 5. CONCLUSION AND FUTURE WORK 161 required information (dual values) for the sub-problems. Using the information, the sub-problems prove that the master problem solution is optimal, or create some so- lutions that leads to the extreme point variables for the master problem. The master problem is solved again, and new information for the sub-problems is provided. The process continues until the master problem finds the optimal solution. In Appendix A, we suggest a possible column generation reformulation of the component-based model. A natural extension for the research is to embed the technology in a system that cannot only evaluate the system throughput, but can also suggest infrastructure upgrades and expansions when the system throughput falls below acceptable levels. The fact that the system throughput can be assessed in a relatively short amount of time suggests that a local search based scheme in which infrastructure changes are explored sequentially might be a good starting point.

APPENDIX A

Column Generation

t t t A sub-problem for vessel v ∈ V includes variables (xc, ysp, zsp) for all c ∈ C(v), − − + s ∈ S(v), p ∈ P , and t ∈ {bv(c) − ∆ , bv(c) − ∆ + 1, ··· , bv(c) + ∆ } (Tables ?? and ?? ) subject to constraints (2.15)-(2.17) and (2.6). The sub-problem creates feasible schedules for vessel v with minimum reduced cost. Each schedule determines: a) the number of train-jobs that are assigned to each component of vessel v in each day. b) the start day of stacking of each stockpile of vessel v. c) the start day of reclaiming of each stockpile of vessel v.

The sub-problem objective function (A.1) minimises the delay of vessel v, while avoids the violation of the capacity constraints (using the dual values of the capacity constraints from the master problem). For vessel v ∈ V , the objective function of the sub-problem is:

X X t (t + d v − e )z v sn v snp p∈P t>e −d v +1 v sn X X X t t − mcxcπl l∈L t c∈C(l)∩C(v) X X X t t − xcπu u∈U t c∈C(u)∩C(v)

X X X dc − N wxt πt 24 c c w w∈W t c∈C(v) X X X mc − (T e + )xt πt 1 ρe c se e∈E t c∈C(e)∩C(v) 1 t X X X X X ms t0 t − ( e )zspπre 0 dsρ2 e∈E t s∈S(e)∩S(v) p∈P t =t−ds+1 X X X X t0 X t0 t − ( yspls − zspls)πp 0 0 p∈P t s∈S(e)∩S(v) t ≤t t ≤t−ds X X X X t0 X X t0 t − ( z v − z v )π s1 p snp be e∈E t p∈P t0≤t p∈P t0≤t−d v sn

−πv, (A.1)

163 164 A. COLUMN GENERATION

t t t t t t t where πl , πu, πw, πse, πre, πp, and πbe are dual values of constraints (A.3)-(A.9) consecutively, and πv is the dual value of convexity constraint (A.2). The master problem receives the schedules from the sub-problems, and provides a feasible solution which satisfies the resource constraints. To formulate the master problem the following variables and parameters are required:

v • variables λi = 1 if schedule i of vessel v is chosen. Only one schedule of that vessel is accepted in the solution:

X v λi = 1 v ∈ V, (A.2) i∈I(v) where I(v) is the set of schedules for vessel v that are created by its sub- problem. • parameters:

vi xlt : number of train-jobs of schedule i of vessel v that come from of load point l on day t. vi xut : number of train-jobs of schedule i of vessel v that go through junction u on day t. vi xwt : number of wagons of type w that are used by schedule i of vessel v on day t. vi xt : number of train-jobs of schedule i of vessel v that are unloaded at its terminal on day t. vi zst = 1 if stockpile s of vessel v starts its reclaiming on day t in schedule i. vi pst = 1 if stockpile s of vessel v is on pad p on day t in schedule i

For the other parameters that are used in the following constraints refer to Tables (??) and (??).

• The load point capacity has to be respected

X X vi v t mlxlt λi ≤ Cl ∀l ∈ L ∀t, (A.3) v∈V i∈I(v)

• The junction capacity must be respected

X X vi v t xutλi ≤ Cu ∀u ∈ U ∀t, (A.4) v∈V i∈I(v)

• The wagon capacity has to be respected

X X d N wxvi λv ≤ C ∀w ∀t, (A.5) 24 wt i w v∈V i∈I(v)

• The minimum dumping and stacking capacity must be respected

X X m (T e + )xviλv ≤ Ste ∀t ∀e ∈ E, (A.6) 1 ρe t i 1 v∈V (e) i∈I(v) 1 A. COLUMN GENERATION 165

• The minimum reclaiming and ship loading capacity has be respected t X X X X ms vi v te ( e )zst0 λi ≤ S2 ∀t ∀e ∈ E. (A.7) 0 dsρ2 v∈V (e) i∈I(v) s∈S(v) t =t−ds+1 • The pad capacity must be respected

X X X vi v lspstλi ≤ Lp ∀p ∈ P ∀t, (A.8) v∈V i∈I(v) s∈S(v) • The berth capacity has to be respected

X X X vi v X X X vi v z v 0 λ − z v 0 λ ≤ |Be| ∀t ∀e ∈ E, (A.9) s1 t i snt i t0≤t t0≤t−d v v∈V (e) i∈I(v) v∈V (e) i∈I(v) sn • The objective function minimises the total delay i.e.

X X X vi v (t + d v − e )z v λ . (A.10) sn v snt i v∈V t>e −d v +1 i∈I(v) v sn

Bibliography

C. Barnhart, E. L. Johnson, G. L. Nemhauser, M. W. P. Savelsbergh, and P. H. Vance. Branch-and-price: Column generation for solving huge integer programs. Operations Research, 46:316–329, 1996. A. Bayer, M. Rademacher, and A. Rutherford. Development and perspectives of the australian coal supply chain and implications for the export market. Zeitschrift fr Energiewirtschaft, 33:pp. 255–267, 2009. ISSN 0343-5377. B. M. Beamon. Measuring supply chain performance. International Journal of Operations and Production Management, 33:pp. 275–292, 1999. P. Bodon, C. Fricke, T. Sandeman, and C. Stanford. Modeling the mining supply chain from mine to port: A combined optimization and simulation approach. Journal of Mining Science, 47(2):202–211, 2011. N. Boland, B. D. Hughes, L. T. Merlot, and P. J. Stuckey. New integer linear programming approaches for course timetabling. Computers and Operations Re- search, 35(7):2209 – 2233, 2008. N. Boland, D. Gulczynski, and M. Savelsbergh. A stockyard planning problem. EURO Journal on Transportation and Logistics, pages pp. 1–40, 2012. ISSN 2192-4376. N. L. Boland and M. Savelsbergh. Optimization the hunter valley coal chain. Man- aging Supply Distributions (ed: H Gurnani, A Mehrotra and S Ray) (Springer- Verlag: London), 2010. N. L. Boland, F. Engineer, M. Reisi, M. Savelsbergh, and H. Waterer. Data gener- ation in the hunter valley coal chain-a case study capacity assessment. 2011. Z.-L. Chen and N. G. Hall. Supply chain scheduling: Conflict and cooperation in assembly systems. Operations Research, 55(6):pp. 1072–1089, 2007. D. Conradie, L. Morison, and J. Joubert. Scheduling at coal handling facilities using simulated annealing. Mathematical Methods of Operations Research, 68:pp. 277–293, 2008. ISSN 1432-2994. I. P. Gent, K. E. Petrie, and J. F. Puget. Symmetry in constraint programming. In Handbook of Constraint Programming, pages 329–376. Elsevier, 2006.

167 168 Bibliography

Z. Gu, G. L. Nemhauser, and M. W. P. Savelsbergh. Lifted cover inequalities for 0-1 integer programs: Computation. INFORMS Journal on Computing, 10(4): 427–437, 1998. N. G. Hall and C. N. Potts. Supply chain scheduling: Batching and delivery. Oper- ations Research, 51(4):pp. 566–584, 2003. S. Hanoun, B. Khan, M. Johnstone, S. Nahavandi, and D. Creighton. An effective heuristic for stockyard planning and machinery scheduling at a coal handling facil- ity. In Industrial Informatics (INDIN), 2013 11th IEEE International Conference on, pages 206–211, July 2013. R. Kolisch. Integration of assembly and fabrication for make-to-order production. International Journal of Production Economics, 68(3):pp. 287 – 306, 2000. F. Margot. Symmetry in integer linear programming. In 50 Years of Integer Pro- gramming 1958-2008, pages 647–686. Springer Berlin Heidelberg, 2010. J. Ostrowski, J. Linderoth, F. Rossi, and S. Smriglio. Orbital branching. Mathe- matical Programming, 126(1):147–178, 2011. ISSN 0025-5610. Y. Pochet and L. A. Wolsey. Lot-sizing with constant batches: Formulation and valid inequalities. Mathematics of Operations Research, 18(4):pp. 767–785, 1993. M. Rekik, J.-F. Cordeau, and F. Soumis. Using benders decomposition to implicitly model tour scheduling. Annals of Operations Research, 128(1-4):111–133, 2004. M. Rekik, J.-F. Cordeau, and F. Soumis. Implicit shift scheduling with multiple breaks and work stretch duration restrictions. Journal of Scheduling, 13(1):49–75, 2010. ISSN 1094-6136. G. Singh, D. Sier, A. T. Ernst, O. Gavriliouk, R. Oyston, T. Giles, and T. Welgama. A mixed integer programming model for long term capacity expansion plannning: A case study from the hunter valley coal chain. European Journal of Operational Research, 220:pp. 210 – 224, 2012. G. M. Thompson. Improved implicit optimal modeling of the labor shift scheduling problem. Management Science, 41(4):pp. 595–607, 1995.