Scheduling trains with priorities: a no-wait blocking parallelmachine job-shop scheduling model Shi Qiang Liu and Erhan Kozan School of Mathematical Sciences, Queensland University of Technology 2 George St GPO Box 2434, Brisbane Qld 4001 Australia
Abstract The paper investigates train scheduling problems when prioritised trains and non-prioritised trains are simultaneously traversed in a single-line rail network. In this case, no-wait conditions arise because the prioritised trains such as express passenger trains should traverse continuously without any interruption. In comparison, non-prioritised trains such as freight trains are allowed to enter the next section immediately if possible or to remain in a section until the next section on the routing becomes available, which is thought of as a relaxation of no-wait conditions. With thorough analysis of the structural properties of the No-Wait Blocking Parallel-Machine JobShop-Scheduling (NWBPMJSS) problem that is originated in this research, an innovative generic constructive algorithm (called NWBPMJSS_Liu-Kozan) is proposed to construct the feasible train timetable in terms of a given order of trains. In particular, the proposed NWBPMJSS_Liu-Kozan constructive algorithm comprises several recursively-used sub-algorithms (i.e. Best-StartingTime-Determination Procedure, Blocking-Time-Determination Procedure, Conflict-Checking Procedure, Conflict-Eliminating Procedure, Tune-up Procedure and Fine-tune Procedure) to guarantee feasibility by satisfying the blocking, no-wait, deadlock-free and conflict-free constraints. A two-stage hybrid heuristic algorithm (NWBPMJSS_Liu-Kozan-BIH) is developed by combining the NWBPMJSS_Liu-Kozan constructive algorithm and the Best-Insertion-Heuristic (BIH) algorithm to find the preferable train schedule in an efficient and economical way. Extensive computational experiments show that the proposed methodology is promising because it can be applied as a standard and fundamental toolbox for identifying, analysing, modelling and solving real-world scheduling problems. Keywords: train scheduling; priorities; job-shop scheduling; blocking; no-wait; parallel-machine.
Corresponding author. Tel: +61 7 3138 1029; Fax: +61 7 3138 2310. Email addresses:
[email protected] (E. Kozan).
1
Glossary: FSS JSS BFSS BJSS PMFSS PMJSS BPMFSS BPMJSS NWPMFSS NWPMJSS NWBPMFSS NWBPMJSS
Flow-Shop Scheduling Job-Shop Scheduling Blocking Flow-Shop Scheduling Blocking Job-Shop Scheduling Parallel-Machine Flow-Shop Scheduling Parallel-Machine Job-Shop Scheduling Blocking Parallel-Machine Flow-Shop Scheduling Blocking Parallel-Machine Job-Shop Scheduling No-Wait Parallel-Machine Flow-Shop Scheduling No-Wait Parallel-Machine Job-Shop Scheduling No-Wait Blocking Parallel-Machine Flow-Shop Scheduling No-Wait Blocking Parallel-Machine Job-Shop Scheduling
1. Introduction The railway has been around more than two centuries and constitutes an important mode of transportation for both freight and passengers in many countries. Operating a railway requires very complex decision-making processes due to the requirements to schedule several hundred trains over thousands of kilometres distances and to determine the train order and timing at crossings, junctions and platform. By generating a better train timetable, it is possible to improve the utilisation rate of the rail network thereby improving the efficiency of the overall railway system. Because the railway industry is a capital intensive industry with huge investment in infrastructure, equipment and employees, even a small percentage of improvement in the efficiency may bring significant financial return. Therefore, railway industries are very keen to implement better control strategies in order to achieve more efficient and more reliable services. In this context, many researchers have devoted considerable efforts in search of better modelling and solution approaches to improve railing capacity, resolve potential train conflicts, reduce perturbation of train punctuality, and decrease train delays. The literature review on train scheduling has been finalised in the following three areas: capacity analysis; exact solution techniques; and heuristic solution techniques. The details of some previous research on train scheduling are summarised in the following. Capacity Analysis In the 1970s, the compilation of long-term timetables for high-density rail service with multiple classes of trains on the same track was done manually. Petersen (1974) developed an analytic model of the mean running time for trains on a single track railway. In this model, priority dispatching rules are included in the model to control train behaviours when meets and overtakes occur. In addition, delay times due to implementing these priority rules are formulated. Higgins, Ferreira and Kozan (1995) presented analytically-based models to quantify the amount of delays associated with each track section and the train schedule as a whole. Three main types of delays are modelled, namely, terminal/station delays; track related delays; and rolling stock related delays. The models can be used to prioritise investment projects designed to improve timetable reliability and to evaluate the effects of changing the timetables and the assumptions regarding delays due to terminal congestion, track related problems and rolling stock. They proposed an algorithm that is based on a local optimality criterion in the event of a potential crossing conflict. Higgins, Kozan and Ferreira (1997a) put forward a model to determine the 2
optimal positions of a set of sidings (crossing loops) on a single-track rail corridor. The sidings are positioned to minimise the total delay and train operating costs of a given cyclic train schedule. Burdett and Kozan (2006) developed capacity analysis techniques for estimating the absolute traffic carrying ability for a railway system under a wide range of defined operational conditions, which include the proportional mix of trains, the directions, the length of trains, the planned dwelling times of trains, the presence of crossing loops and intermediate signals in corridors. Abril et al. (2008) reviewed the main concepts and methods to perform capacity analyses, and presented an automated tool that is able to perform several capacity analyses. In addition, an indepth study was performed on several Spanish railway infrastructures. Their results show how the capacity varies according to factors such as train speed, commercial stops, train heterogeneity, distance between railway signals, and timetable robustness.
Exact Solution Techniques Zhou and Zhong (2004) dealt with a double-track train scheduling problem with multiple objectives. A branch-and-bound algorithm with an effective dominance rule is developed to generate Pareto solutions for the bicriteria scheduling problem, and a beam search algorithm with utility evaluation rules is used to construct non-dominated solutions. Caprara et al. (2006) described the design of a train timetabling system that takes into account several constraints that arise in real-world applications, including manual block signalling for managing a train on a track segment between two consecutive stations, the maximum number of trains that can be presented in a station at the same time, prescribed timetable for a subset of the trains but additional trains are to be inserted, and maintenance operations that keep a track segment occupied for a given period. Then they showed how to incorporate these constraints into a mathematical programming model for a basic version of the problem and into the resulting Lagrangian heuristic algorithm. D‟Ariano et al. (2007) studied a train scheduling problem faced by railway dispatchers during real-time traffic control. In their problem, when train operations are perturbed, a new conflict-free timetable of feasible arrival and departure times needs to be recomputed. To minimise the deviation from the original train timetable, a branch and bound algorithm embedded with some priority dispatching rules such as FCFS (First Come First Served) or FLFS (First Leave First Served) enabling to speed up the computation was developed based on the alternative graph model. Furthermore, D‟Ariano, et al. (2008) investigated the new concept of flexible timetable as an effective policy to improve punctuality without decreasing the capacity usage of the lines. Their computational study confirms that flexible timetables with certain levels of time reserves are preferable to rigid ones because flexibility offers more freedom to solve conflicts and increases punctuality without deceasing the throughput. Cacchiani et al. (2008) proposed exact algorithms for the periodic and nonperiodic train timetabling problems on a corridor that are based on the solution of Linear Programming (LP) relaxation of an Integer Liner Programming (ILP) formulation. Experimental results on real-world instances of the problem show that the proposed approach is capable of producing heuristic solutions of better quality and of solving some small-size instances to proven optimality.
Heuristic Solution Techniques As most train scheduling problems are NP-hard, many researchers have developed heuristic algorithms. The following papers in the literature have addressed this issue. Cai and Goh (1994) proposed an algorithm based on a local optimality criterion in the event of a potential crossing conflict. A quick heuristic that allows a good feasible solution to be obtained in a finite number of steps or in polynomial time was proposed. Higgins, Kozan and Ferreira (1997b) pioneered in 3
developing metaheuristic techniques to solve the single-track railway scheduling problem. Their metaheuristics applied include a local-search heuristic, a genetic algorithm, a tabu search and two hybrid algorithms with an improved neighbourhood structure. Caprara et al. (2002) proposed a single-track train timetabling model. In this model, each train connects two given stations along the track and may have to stop for a minimum time in some of the intermediate stations; and trains can overtake each other only in correspondence to an intermediate station with a specified minimum time interval. A graph theoretic formulation is proposed for solving the problem by a direct multi-graph in which nodes correspond to departure/arrivals at a certain station at a given time. The problem is formulated as an integer programming model that can be relaxed in a Lagrangian way. A novel feature of this model is that the variables in the relaxed constraints are only associated with nodes of the graph. Embedded within a heuristic algorithm, this feature allows a considerable speed-up in the solution procedure. Carey and Crawford (2007) developed heuristic algorithms to assist in the task of finding and resolving the conflicts in draft train schedules. They started from algorithms that schedule trains at a single train station, and extended these to handle a series of complex stations linked by multiple one-way lines in each direction, traversed by trains of differing types and speeds. Their proposed algorithms are tested from initial draft timetables that contain very large number of conflicts to be resolved. Their proposed algorithm can be used to simulate and explore the effects of alternative draft timetable, operating policies, station layouts, and random delays or failures. Salido et al. (2007) modelled the railway scheduling problem by means of domain-dependent distributed constraint models as they are inherently distributed and the problem complexity can be reduced by dividing the problem into a set of subproblems. Their evaluation shows that general distributed models had a better behaviour than the centralised ones. Salido (2008) modelled train scheduling problems as constraint satisfaction problems (CSPs). A search algorithm for constraint programming called constraint ordering heuristic (COH), which studies the constrainedness of the scheduling problem and mainly classifies the constraints so that the tightest ones are studied first, was proposed. Abril et al. (2008) presented a technique to distribute the constraint network by means of selection of tree structures to solve the CSPs modelling for railway scheduling problems. The CSP is represented as a meta-tree structure that is used as a hierarchy of communication by a distributed and asynchronous search algorithm in a depth-first search tree. The proposed distributed models can take advantage of dividing the problem into a set of simpler inter-connected sub-problems which can be more easily solved. Furthermore, Salido and Barber (2009) presented three heuristics for a constraint-based train scheduling tool and the proposed heuristics can speed up and direct the search toward suboptimal solutions in periodic train scheduling problems. The results show that these techniques enable Mixed Integer Programming (MIP) solvers such as LINGO and CPLEX to terminate earlier with good solutions. Liebchen (2008) reported that the optimised timetable based on the results of the periodic event-scheduling problem (PESP) had been put into daily operation in Berlin railway. Profiting from optimisation techniques, the Berlin subway today was operating with this timetable that can offer short passenger waiting times compared with the previous timetable. Chung et al. (2009) addressed a train-sequencing problem encountered in the Korean railway and proposed a hybrid genetic algorithm as a solution approach to the problem. The proposed algorithm utilized a modified elite group technique along with two heuristic procedures. Burdett and Kozan (2009a) proposed the new constructive and metaheuristic algorithms based on a novel „„hybrid” job shop approach to create completely new train schedules that are more accurate and more efficient. A numerical investigation was provided to demonstrate the viability of the modelling approach. Burdett and Kozan (2009b) dealt with scheduling additional train services (SATS) involving general time window constraints, fixed operations, maintenance activities and periods of section unavailability. The constructive algorithm and metaheuristic techniques that operate upon a disjunctive graph model of train operations were proposed. Moreover, Burdett and Kozan (2009c) extended a discrete sequencing approach for
4
train scheduling firstly by incorporating essential composite perturbation operations and secondly by restricting unnecessary multiple overtaking. They observed that both features could affect the sequencing process and significantly improve the solution quality if handled efficiently and correctly. In previous research, it is observed that most mathematical programming models are specific or only suitable for some special scenarios, or most solution techniques had to resort to taking advantage of dominance dispatching rules such as SPT, FCFS or FLFS in the process of decision making. On the other hand, it is very hard to identify the borders between generic and special, feasible and infeasible, hard and easy, theoretical and practical. Therefore, we wonder whether there is a better way to deal with train scheduling problems, and intend to explore whether there is a more standard, generic and convenient methodology to identify, analyse, model, and solve train scheduling problems and to construct the feasible train timetable in a better way. We realise that scientific inquiry is both qualitatively and quantitatively oriented and much of the common knowledge is itself based on the products of yesterday‟s science. In a sense, a convenient way to solve the train scheduling problems is to develop a “toolbox” of well-solved fundamental and standard scheduling problems. Thus, the problems arisen in real world could be easily identified, analysed, modelled (simplified, decomposed or aggregated) and solved by the right choice of standard tools from the toolbox according to the specific scenario. In a sense, this process could classify the real train scheduling problems into many standard types and pinpoint their difficulty as hard or easy. In this paper, we explore to develop a class of well-solved standard problems for scheduling trains in a single-line rail network in terms of various settings of train priorities and train directions. Note that the definition of the term “prioritised or priorities” is different from the meaning of the “priority” or dominance dispatching rules. In this research, the prioritised trains such as express passenger trains are defined in such a way that they should traverse continuously without any interruption from the departure to the terminal. In this case, no-wait constraints should be satisfied, implying that these prioritised trains should enter the next section immediately after the completion on the previous section throughout the whole journey. For convenience, we use passenger trains to denote the prioritised trains that hold no-wait constraints, while freight trains is employed to signify the non-prioritised trains that hold blocking constraints. Freight (non-prioritised) trains may be thought of as a relaxation of passenger (prioritised) trains as in comparison they may be additionally allowed to remain in a section until the next section on the routing becomes available. In terms of various data settings such as train directions (outbound or inbound) and train priorities (freight or passenger), the train scheduling problems have been classified into the following six types: (i) (ii) (iii) (iv) (v) (vi)
Blocking Parallel-Machine Flow-Shop-Scheduling (BPMFSS), Blocking Parallel-Machine Job-Shop-Scheduling (BPMJSS), No-Wait Parallel-Machine Flow-Shop-Scheduling (NWPMFSS), No-Wait Blocking Parallel-Machine Flow-Shop-Scheduling (NWBPMFSS), No-Wait Parallel-Machine Job-Shop-Scheduling (NWPMJSS), and No-Wait Blocking Parallel-Machine Job-Shop-Scheduling (NWBPMJSS).
To the best of our knowledge, some of the above scheduling models (e.g. BPMJSS and NWBPMJSS) are novel and originated in our research. Among them, the NWBPMJSS problem is the most generalised and the most complicated case due to the fact that no-wait and blocking constraints should be simultaneously satisfied in a single-line rail network. The following sections are outlined as follows. In Section 2, the mathematical programming model for the NWBPMJSS problem is presented. In Section 3, the property analysis regarding the blocking and no-wait constraints in the flow-shop and job-shop environments is described in detail. In Section 4, an innovative constructive algorithm called the NWBPMJSS_Liu-Kozan
5
algorithm is proposed to build the feasible train timetable in terms of a given order of trains; and a two-stage hybrid heuristic algorithm called the NWBPMJSS_Liu-Kozan-BIH algorithm is developed to obtain the preferable train schedule. In Section 5, extensive computational experiments are reported. Some concluding remarks are given in the final section.
2. Mathematical Programming Notations number of trains (jobs). number of sections (machines). train ( ). section ( ). number of units of section ; default is single-track section as . the unit of section ( ). o the index of sequence position of an operation processed on one section ( ). starting time point of train i on the unit of section . processing time (sectional running time) of train on the unit of section . completion time point of train on the unit of section ( . blocking time of train on the unit of section ; note that the blocking time should be zero for express passenger trains due to no-wait constraints. planned dwelling time of train on the unit of section ; default as zero. departure time of train on the unit of section ( ). occupying time caused by the train length of train on the unit of section . leaving time point of the whole train on the unit of section ( ). = 1, if the operation of train requires the unit of section ; = 0, otherwise. = 1, if train is assigned to the unit of section ; = 0, otherwise. = 1, if both trains and are assigned to the unit of section and train precedes train (not necessarily immediately); = 0, otherwise. = 1, if the operation of train requires the unit of section and train is scheduled on this same unit as its same-machine successor; = 0, otherwise. the maximum leaving time or makespan. a very large positive number. Μ In this research, the action of a train passing through a section is defined as a train operation. Figure 1 is drawn to explain the time information of a train operation , including the starting time point, the sectional running time (processing time), the dwelling time, the blocking time, the completion time point, the blocking time, the departure time point, the occupying time due to train length, and the leaving time point. Note that the dwelling times are designated like the processing times. Actually for express passenger trains, the dwelling time are considered (non-zero) only on some big stations. In addition, the dwelling time could be included into the processing time. In practice, the train length should be seriously considered because it has a great effect on the performance of operating a railway. This is because, when a train is entering from one section into the next section, the train has to occupy these two sections in a period (i.e. the occupying time caused by train length) till the whole body of the train completely leaves the section. The 6
illustration of effects caused by the train length is given in Figure 2, in which the boxes of dwelling time, blocking time and occupying time are respectively brushed by vertical hatch, cross hatch and horizontal hatch. Sectional Running Time
Sections
Dwelling Time
Blocking Time
Occupying Time
Unit l 2-Mk Unit 2
Starting Time Point
Completion Time Point
Departure Time Point
Leaving Time Point
Time
Fig. 1: Illustration of timing a train operation Train Head
Sections
Train Tail
Occupying time caused by train length
Train
Mk-1 Train
Mk
Mk+1 Time
Fig. 2: Illustration of the occupying time caused by train length The mathematical programming formulation for NWBPMJSS is proposed as follows. Mathematical Programming for NWBPMJSS: The objective function is to minimise the makespan. (1) Subject to:
Equation (2) restricts the starting time of the its departure time of the o operation of train .
(2) operation of train i to be no earlier than
Equation (3) restricts that both trains and are processed on the precedes train (not necessarily immediately).
unit of section
(3) and train
7
Equation (4) restricts that that both trains and are processed on the train precedes train (not necessarily immediately).
unit of section
(4) and
(5) Equation (5) restricts that conditions that train precedes train or train precedes train on the unit of section are exclusive. and Equation (6) restricts that each unit can process at most one train at a time.
Equation (7) restricts that the leaving time of the earlier than makespan.
(6)
(7) (i.e. last) operation of each train is no
(8) Equation (8) satisfies non-negativity condition. (9) Equation (9) defines the blocking constraints. To satisfy the blocking constraints, for each operation, the starting time of the same-machine successor should be greater or equal to the starting time of the same-job successor. (10) Equation (10) defines the no-wait constraints particularly for the prioritised trains, in which JP is denoted as the subset of passenger trains (prioritised jobs or no-wait job). To satisfy the no-wait constraints, for each operation that belongs to a prioritised train, the departure time of this operation should be equal to the starting time of its same-prioritised-train successor.
3. Property Analysis The property analysis for classical scheduling problems is mostly based on the classical disjunctive graph. However, a strong limitation that remains in the disjunctive graph is that it disregards the capacity of intermediate buffers between machines. In fact, in many real-life situations especially for train scheduling, the inter-section (inter-machine) buffer capacity should be carefully taken into account. In other words, the train scheduling problem should consider blocking or hold-while-wait constraints, which means that a track section cannot release and must hold the train until next section on the routing becomes available. To incorporate this restriction, the classical disjunctive graph formulation can be adapted to a more general graph model called alternative graph from Masics and Pacciarelli (2002). In the alternative graph, two types of operations are distinguished, namely no-wait and blocking. An no-wait operation remains on a machine from its starting time to its completion time, and then immediately leaves this machine which becomes available at once for processing other operations. On the contrary, a blocking operation may remain on a machine even after its completion time, thus blocking it.
8
Figures 3 and 4 illustrate how a disjunctive graph transforms to the alternative graph for a three-job (or three-train) four-machine (or four-section) blocking flow-shop scheduling (BFSS) instance.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Fig.3. The disjunctive graph for a 3-job 4machine FSS problem without considering blocking constraints.
0
1
2
3
4
5
6
7
8
9
10
11
12
0
1
5
M2
13
0
M1
6
M3
10 3
M4
11 4
2
4
6
8
10
1
5
M2
7
12
4
5
6
7
8
9
10
11
12
16
12
18
2
3
4
5
6
7
8
9
10
11
12
Fig.7. The Gantt chart for the directed disjunctive graph.
13
9 2
6
10 3
7
M4
20
13
1
M3
8
14
3
Fig.6. The directed alternative graph.
9 2
2
Fig.4. The alternative graph for a 3-job 4machine FSS problem with blocking constraints.
Fig.5. The directed disjunctive graph.
M1
1
22
11 4
2
4
6
8
10
12
8
14
16
12
18
20
22
Fig.8. The Gantt chart for the directed alternative graph
As the alternative graph drawn in Figure 4, for each pair of operations to be executed on the same machine, there is a pair of alternative arcs replacing the pair of disjunctive arcs. For example, in the disjunctive graph in Figure 1 for operations o1 and o5 processed on the same machine, there is the pair of disjunctive arcs ((o1 o5 ),(o5 o1 )) . In the alterative graph for considering the blocking conditions, the pair of disjunctive arcs ((o1 o5 ),(o5 o1 )) is replaced by the pair of alterative arcs ((oSJ [1] o5 ),(oSJ [5] o1 )) = ((o2 o5 ),(o6 o1 )) with the arc length of zero, where operation oSJ [i ] immediately follows oi in the same job and will be executed on a different machine. Assume that a job, having completed processing on the last machine, can leave the system at once. Hence, the last machine is always available and operations o4 , o8 and o12 processed on the last machine are not blocking.
9
Associating a node to each operation, the alternative graph can be represented by a triple G ( N , F , A) , consisting of a set of nodes N , a set of conjunctive arcs F , and a set of alternative arcs A that replace the set of disjunctive arcs E in disjunctive graph model G ( N , F , E ) . If ((oi o j ),(oh ok )) A , we say that (oi o j ) is the alternative of
(oh ok ) or (oh ok ) is the alternative of (oi o j ) . In our definition, an alternative arc belongs to one pair only. Given a pair of alterative arcs ((oi o j ),(oh ok )) A , we say that
(oi o j ) is selected while (oh ok ) should be forbidden; and the pair is unselected means if neither (oi o j ) nor (oh ok ) is selected. Figures 5 and 6 show the comparison between the directed disjunctive graph and the directed alternative graph after the precedence relationships between each pair of disjunctive (or alternative) arcs are determined. Figures 7 and 8 illustrate the differences between the Gantt charts without blocking constraints and with blocking constraints. In Figure 8, the blocking times are highlighted by the red cross-brush boxes. For example, operation 11 cannot be processed immediately after operation 7 until machine M3 is released when operation 8 (the same-job successor of operation 7) can start to be processed on the downstream machine M4. This implies that operation 7 has to block machine M3 due to the absence of buffer storage between machines M3 and M4. Furthermore, we consider a 2-job 2-machine job-shop scheduling (JSS) problem without considering the blocking constraints, as drawn in Figure 9. In this example, each job consists of two operations, i.e. J1 {o1 , o2 } , J 2 {o3 , o4} . Job J1 visits machine M 1 then machine M 2 , whereas Job J 2 visits M 2 then M 1 in an opposite order. In addition, we have
M1 M (1) M (3) and M 2 M (2) M (4) , i.e. operations o1 and o3 are processed on the same machine M 1 ; operations o2 and o4 are processed on the same machine M 2 . 1
1
2
0
5 3
4
Fig. 9. The disjunctive graph for a 2-job 2machine JSS problem without blocking constraints.
2
0
5 3
4
Fig. 10. The alternative graph for a 2-job 2machine JSS problem with blocking constraints.
If considering the blocking constraints, the two pairs of disjunctive arcs ((o1 o3 ),(o3 o1 )) and ((o2 o4 ),(o4 o2 )) are respectively replaced by the two pairs of alternative arcs ((o2 o3 ),(o3 o1 )) and ((o2 o4 ),(o3 o2 )) . Thus, the corresponding alternative graph is drawn in Figure 10. For analysing the feasibility of this 2-job 2-machine blocking job-shop scheduling (BJSS) problem shown in Figure 10, we enumerate all of four possible schedules that may be feasible or infeasible, by choosing at most one arc from each pair of alternative arcs (only two pairs for this example, i.e., ((o2 o3 ),(o3 o1 )) and ((o2 o4 ),(o3 o2 )) ), illustrated in Figures 11-14. For simplicity, the processing time for each operation is the same as one time unit.
10
1) If the alternative arcs are chosen as (o3 o1 ) and (o2 o4 ) , the schedule is infeasible because it is cyclic (i.e. o1 o2 o4 o3 o1 ), illustrated in Figure 11. In this case, the Gantt chart cannot be drawn because the schedule is cyclic or infeasible. 1
2
0
5 3
4
Fig. 11. One infeasible schedule of a 2-job 2-machine BJSS instance with selected alternative arcs (o3 o1 ) and (o2 o4 ) . 2) If the choosing alternative arcs are (o3 o1 ) and (o3 o2 ) , the schedule with its corresponding Gantt chart are presented in Figure 12. Machine 1
2
0
5 3
M2
4
M1
4
2 3
1
Time
Fig. 12. One feasible schedule of a 2-job 2-machine BJSS instance with selected alternative arcs (o3 o1 ) and (o3 o2 ) . 3) If the choosing alternative arcs are (o2 o3 ) and (o2 o4 ) , the schedule is shown in Figure 13. Machine 1
2
0
5 3
M2 M1
4
2
4
1
3
Time
Fig. 13. One feasible schedule of a 2-job 2-machine BJSS instance with selected alternative arcs (o2 o3 ) and (o2 o4 ) . 4) If the choosing alternative arcs are (o2 o3 ) and (o3 o2 ) , whether the schedule is feasible depends on the particular context, described in Figure 14 and analysed in the following. Machine 1
2
0
5 3
4
M2
4
M1
1
If swap is allowed
2 3
Time
Swap Time
Fig.14. One (feasible or infeasible) schedule of a 2-job 2-machine BJSS instance with selected alternative arcs (o2 o3 ) and (o3 o2 ) ; note that the schedule is infeasible if swap is not allowed and the Gantt Chart can be drawn only for swap-allowed blocking case. 11
In such a situation in Figure 14, we need to distinguish two cases of blocking: swap-allowed blocking and no-swap blocking. From the alternative graph, by selecting (o2 o3 ) and (o3 o2 ) , we obtain an cycle (o2 o3 o2 ) or ( M (2) M (3) M (2)) . In such a situation, all jobs in the cycle must move simultaneously to the next machine in a cycle. This blocking situation is called “deadlock”. To be feasible, a “swap” manipulation is needed whenever there is a cycle of two or more jobs, each one waiting for a machine which is blocked by another job in the cycle. It is intuitive that, depending on the particular context, a swap may be allowed or not. The swap is allowed when the jobs can move independently of each other. On the contrary, the swap is not allowed when the jobs can move strictly after that the subsequent resource becomes available. The deadlock situation is similar to a conflict when one outbound train and one inbound train are about to cross in a single-track section. For safety, the deadlock situation is strictly prohibited in the train scheduling problems, namely, the train schedule should be deadlock-free. As the swap is not allowed for blocking trains, the deadlock-free conditions may be guaranteed only when the resources are available in multiple units (i.e. parallel machines or multiple-track sections). The deadlock and deadlock-free situations are respectively illustrated in Figure 15.
Train 1 Train 1
Train 2
Train 1
Train 1 Train 2
Deadlock Deadlock-free
Fig. 15. Illustration of deadlock and deadlock-free situations in train scheduling Moreover, the alternative graph of a 2-job 3-machine BJSS or NWJSS example is illustrated in Figure 16(a) and a cycle of operations is found in the directed alternative graph shown in Figure 16(b), i.e., O1 O2 O3 O5 O4 O1 , implying this schedule is infeasible. This phenomenon that infeasibility (cyclic graph) often occurs in the directed alternative graph model points out that it is not easy to determine a feasible schedule in job-shop environments with the lack of intermediate buffer storage. M1
M2
M3
J1
O1
O2
O3
J2
O4
O5
O6
(a)
M1
M2
M3
J1
O1
O2
O3
J2
O4
O5
O6
(b)
Fig.16. Analysing infeasibility occurrence: (a) the alternative graph for BJSS; and (b) the directed alternative graph that is cyclic or infeasible. If the single-track section (the single machine) M2 is changed to be a double-track section (the parallel machine with two units) 2-M2, the deadlock-free status can be guaranteed by obtaining such a feasible schedule shown in Figure 17.
12
1-M1 J1
O1
2-M2 O2
Machine
1-M3 O3
1-M3
6 5 2
2-M2 J2
O4
O5
O6
1-M1
3
1
4
Time
Fig.17. A deadlock-free schedule is achieved when the resources are available in multiple units. Due to the lack of storage space, the real-world train scheduling problem should consider blocking or hold-while-wait constraints, which means that a track section cannot release and must hold the train until next section on the routing becomes available. In order to satisfy the blocking constraints in process, the train scheduling problem has been modelled as a Blocking Parallel-Machine Job-Shop Scheduling (BPMJSS) problem (Liu and Kozan, 2009a). This is achieved by considering the train trips as jobs, which will be scheduled on single-track sections that are regarded as single machines, and on multiple-track sections that are referred to as parallel machines. The single-line railway network concerned in this research is such that only one train can occupy a single-track section at a time, whereas more than one train can be at a crossing loop (i.e. multiple-track section) at a time as its capacity limit is regarded. Crossing loops are places where trains can stop or slow down in order to let another cross it, or where trains can stop to load or unload cargoes, alight passengers, and manoeuvre crew. When scheduling the prioritised trains, the no-wait constraints, which are more restrictive than the blocking constraints, should be carefully considered and analysed. The no-wait constraints restrict that the processing of each job (train) should be continuous from the start to the end without interruptions. In other words, once a train begins to traverse, there must not be any unplanned idle time between any two consecutive operations of this train. Equivalently, the difference between the completion time of the last operation of a train and the starting time of its first operation is equal to the total traversing times (and dwelling times) of this train. This implies, when necessary, that the start of a train on the first traversing section may be postponed in order that each operation‟s completion coincides with the start of the next operation on the subsequent section. Although NWBPMJSS could be regarded an extensional and generalised model of BPMJSS, the feasibility properties are much more complicated and significantly different. In fact, feasibly solving the parallel-machine job shop scheduling problem with blocking and no-wait constraints is a considerable challenge because the existing methods for JSS, BJSS or NWJSS could not applied to NWBPMJSS according to our investigation: the deadlock-free situations cannot be guaranteed; the simple swaps of operations always yield conflicting situations; it is hard to make a decision on the selection of parallel resources. To satisfy both nowait and blocking constraints in parallel-machine job-shop environments, the innovative Conflict-Checking Procedure, Conflict-Eliminating Procedure, Tune-up Procedure and Finetune Procedure sub-algorithms are proposed and embedded in the constructive algorithm called the NWBPMJSS-Liu-Kozan algorithm.
4. Solution Techniques With the above property analysis of NWBPMJSS model, we propose an innovative constructive algorithm called the NWBPMJSS-Liu-Kozan algorithm that schedule one train at a time 13
consecutively. In this case, a train schedule can be represented by an order of trains although the sequence of train operations on a section is quite different. In terms of a given order of trains, the feasible train timetable (i.e. timing of each train operation) can be constructed by the NWBPMJSS-Liu-Kozan algorithm that exploits the structural properties of the NWBPMJSS problem to satisfy the blocking, no-wait, deadlock-free and conflict-free conditions. To simplify the architecture, the proposed NWBPMJSS-Liu-Kozan algorithm is mainly divided into two modules in terms of two train types, namely blocking (freight or non-prioritised) train and no-wait (passenger or prioritised) train. Thus, the architecture of the NWBPMJSS-LiuKozan algorithm is depicted in Figure 18. Architecture of NWBPMJSS-Liu-Kozan Algorithm Initialise the train timetable and status of sections
Get the train index in terms of the given order of trains, switch according the given train type
Is a blocking (freight) train?
Is a no-wait (passenger) train?
Apply Module I that mainly consists of Feasibility-Satisfaction Procedure (FSP) algorithm
Apply Module II that mainly consists of FSP algorithm and Fine-Tune Procedure algorithm
Update the train timetable and status of sections
Fig.18. The architecture of the NWBPMJSS_Liu-Kozan algorithm
Module I If the train to be added is a non-prioritised (freight) train, the Module 1 is applied to construct the feasible train timetable by satisfying the blocking constraints in parallel-machine job-shop environments. The algorithm proposed in Module I is basically the same as the so-called Feasibility-Satisfaction Procedure (FSP) algorithm that had been proposed for constructing the feasible train timetable of the BPMJSS problem (Liu and Kozan, 2009a). The core of the FSP algorithm is to determine the starting time point as earliest as possible of each train operation, while the feasibility conditions are guaranteed. Best-Starting-Time-Determination Procedure
14
Initialise the given information and data structure of one operation, including train (job) index, section (machine) index, number of section units (default as 1 for single-track section), train direction, operation index, and processing time (PTime). If the section is a single-track section, Set the index of the same-job predecessor: PJOper. Set the completion time of the same-job predecessor: CTime_PJOper. Set the earliest available time of the next section: ATime_NextMachine. Set the ready time of this operation: RTime = max(ATime_NextMachine−PTime, CTime_PJOper). Set the starting time of the first scheduled operation on this section: ETime_FOper. Set the interval time between RTime and ETime_FOper: ITime_F = ETime_FOper−RTime. If ITime_F >= PTime, the starting time of this operation equals ready time: ETime = RTime. Else set the number of operations that have been scheduled on this section, nSOpers. For each pair of the scheduled operation on this section, Set the leaving time of the previous operation (e.g. the first scheduled operation) and the starting time of its successive operation (e.g. the second scheduled operation): LTime_PreOper, ETime_SucOpe. Set the interval time: ITime_M = min(ETime_SucOper−LTime_PreOper, ETime_SucOper−RTime). If ITime_M >= PTime, the starting time of this operation is set as: ETime = max(LTime_PreOper, RTime); break. If ETime is still not determined, set the leaving time of the last scheduled operation on this machine: LTime_LOper; and the starting time of this operation is set as: ETime = max(LTime_LOper, RTime). If the section is a multiple-track section, Set the number of the multiple-track section units for trains: nUnits. Among them, determine the unit index with its earliest available time: ThUnit and ATime. The starting time of this operation is set as: ETime = max(CTime_PJOper, ATime). Module II If the train to be added is a prioritised (passenger) train, the Module II is applied to obtain the feasible train timetable by satisfying the no-wait constraints because this train should traverse continuously from departure to terminal without any unplanned pause. Compared with Module I, Module II is much more sophisticated due to the fact that the no-wait constraints are more restrictive than the blocking constraints. In addition to Feasibility-Satisfaction Procedure, Module II consists of the Tune-Up Procedure, Conflict-Checking Procedure and ConflictEliminating Procedure sub-algorithms. Structure of Module II For each unscheduled operation of this train in terms of the given section sequence, do Apply Feasibility-Satisfaction Procedure. Apply Fine-Tune Procedure, which comprises Tune-up Procedure, Conflict-Checking Procedure, and Conflict-Eliminating Procedure.
15
The Fine-Tune Procedure is the most crucial part of the proposed NWBPMJSS-Liu-Kozan algorithm, because the Tune-up Procedure, Conflict-Checking Procedure and ConflictEliminating Procedure are embedded under the framework of the Fine-Tune Procedure. Due to the complex chain-reacting effects, the Fine-Tune Procedure aims to guarantee feasibility by recursively adjusting the time information of all scheduled train operations in a reverse order. Fine-Tune Procedure Step 1: Get the number of scheduled operations of a train: . Step 2: Initialise a Boolean value to indicate whether there is . Step 3: From Get the time information of a scheduled operation with the index Apply the Tune-Up Procedure here. Apply the Conflict-Checking Procedure here. If this operation is conflicting: Set . Apply the Conflict-Eliminating Procedure here. Step 4: Update the sequence index of the current unscheduled operation: Apply the following formulae:
a
conflict:
.
.
Tune-Up Procedure Sections
Mk-1
OO PJ[k] k Idle Time
Mk
Ok
OSJ[k]
Mk+1
Time (a) before tune-up
Mk-1
Mk
OO PJ[k] k
Ok
OSJ[k]
Mk+1
Time (b) after tune-up
Fig.19. Comparison of (a) before tune-up and (b) after tune-up To satisfy the no-wait constraints, it is critical to tune up the starting time point of the operation in such that there is no idle time between two continuous operations. A so-called
16
Tune-Up Procedure algorithm initially proposed by Liu and Kozan (2009b) for Combined-Buffer Flow-Shop Scheduling (CBFSS) is employed here to guarantee that the start of a train on a certain section can be postponed iteratively until the corresponding operation‟s completion time equals the start of the next operation on the subsequent section. For illustration, assuming that operation is processed on section and operation is processed on downstream section , the tune-up procedure is described in Figure 19, in which the starting time point of the predecessor is tuned up in order to satisfy the no-wait conditions. However, after tuning up the starting times of some operations in job-shop environments, we observe that it is nearly inevitable to cause such a conflict that one section processes two operations at the same time, illustrated in Figure 20. In train scheduling environments, this situation may represent a dangerous collision accident that should be prevented. In this situation, the Conflict-Checking Procedure and Conflict-Eliminating Procedure are thus proposed to check and eliminate the potential conflicts occurred in the tune-up procedure. Sections
Conflict
Mk-1
Conflict
OPJ[k]
Time
Fig.20. Illustration of the conflicting situations After an operation has been tuned up, the Conflict-Checking Procedure should be applied to check whether this operation is conflicting. In this case, a conflict occurs when two operations are processed on the same section at the same time. Conflict-Checking Procedure Step 1: Get the starting time point and departure time point of this operation. Step 2: Get the number of scheduled operations on the chosen section. Step 3: For each scheduled operation: Get the starting time point and leaving time point of the scheduled operation. If the conflicting situation (i.e. one section processes two operations at the same time) shown in Figure 20 is met, then this operation is conflicting. If an operation has been examined to be conflicting after applying the Conflict-Checking Procedure, the Conflict-Eliminating Procedure should be applied to resolve the conflict. Conflict-Eliminating Procedure Step 1: Get the information about the conflicting situation. Step 2: Apply the Feasibility-Satisfaction Procedure to reset the earliest starting time point and other time information of this conflicting operation. NWBPMJSS-Liu-Kozan-BIH Algorithm In terms of a given order of trains, the proposed NWBPMJSS-Liu-Kozan algorithm is a constructive algorithm that aims to build a feasible solution from scratch by a growth process till a completely feasible solution has been determined.
17
In the procedure of adding a new train to a partial feasible train timetable, a local-search heuristic called the best-insertion-heuristic (BIH) algorithm can yield a set of alternatives which converge to a preferable one for the next stage. To obtain a better NWBPMJSS schedule, it is thus possible to define a two-stage hybrid heuristic algorithm called NWBPMJSS-Liu-KozanBIH algorithm, by combining the NWBPMJSS-Liu-Kozan algorithm and the BIH algorithm together. In this procedure, the NWBPMJSS-Liu-Kozan algorithm is applied to construct the feasible train timetables of alternatives and evaluate them, of which the best one is determined by executing the BIH algorithm at each stage. The procedure of the NWBPMJSS-Liu-Kozan-BIH algorithm for finding a good NWBPMJSS schedule is described as follows. Step 1: Set the initial order of trains, containing only one prioritised (no-wait) train that has the longest traversing time from departure to terminal Step 2: Apply the NWBPMJSS-Liu-Kozan algorithm to obtain the initial partial feasible train timetable. Step 2: From to (from each prioritised train and then each non-prioritised train): 2.1: Construct a set of alternatives, one of which is the new order of trains, obtained by inserting the new train into the sequence of trains on the bottleneck machine of the current train schedule. 2.2: Apply the NWBPMJSS-Liu-Kozan algorithm to obtain the feasible train timetables of these alternatives and evaluate them; 2.3: Update the order of trains by selecting the best alternative that leads to the minimum makespan of train schedule.
5. Computation Experiments The proposed methodology has been coded in Visual C# under Microsoft Visual Studio 2008. The computational experiments are tested on a desktop with 2.6 GHz Quad Core Intel Processor and 4 GB RAM. The typical application-specific modules are treated as the objects: input, formulae, algorithms, graphic interfaces, output and other behaviours. Therefore, it provides a convenient way to obtain the new feasible solutions for different type scheduling problems by only changing the attributes in the data input. In addition, the solutions can be conveniently analysed and shown in the graphic interface. A Numerical NWBPMJSS Example For illustration, a 10-train 19-section NWBPMJSS case is used for the following computational experiments. The data on the sectional running times, the section sequence, definition (e.g. direction, priority, length, ready time) of each train, the definition of sections are respectively given in Tables 1, 2, 3, and 4. To make the data heterogeneous, the sectional running times due to train speed and the occupying times due to train length may vary with different trains. Table 1. The sectional running times (processing times) of each train (job) J0 3.74 1.01 2.13
J1 3.75 1.02 2.13
J2 3.76 1.03 2.13
J3 3.57 1.05 4.93
J4 3.78 1.02 2.13
J5 3.74 1.03 2.13
J6 3.55 1.08 4.93
J7 3.76 1.02 2.13
J8 3.57 1.05 4.93
J9 3.58 1.04 4.93
18
1.11 3.56 1.01 4.72 1.01 6.93 1.01 2.9 1.01 5.25 1.01 2.48 1.02 4.93 1.08 3.54
1.12 3.56 1.02 4.72 1.02 6.93 1.02 2.9 1.02 5.25 1.02 2.48 1.03 4.93 1.06 3.59
1.13 3.56 1.01 4.72 1.01 6.93 1.01 2.9 1.01 5.25 1.01 2.48 1.04 4.93 1.09 3.56
1.02 2.48 1.02 5.25 1.02 2.9 1.02 6.93 1.02 4.72 1.02 3.56 1.14 2.13 1.01 3.77
1.15 3.56 1.01 4.72 1.01 6.93 1.01 2.9 1.01 5.25 1.01 2.48 1.03 4.93 1.05 3.59
1.11 3.56 1.02 4.72 1.02 6.93 1.02 2.9 1.02 5.25 1.02 2.48 1.04 4.93 1.04 3.54
1.05 2.48 1.01 5.25 1.01 2.9 1.01 6.93 1.01 4.72 1.01 3.56 1.12 2.13 1.01 3.75
1.13 3.56 1.02 4.72 1.02 6.93 1.02 2.9 1.02 5.25 1.02 2.48 1.02 4.93 1.07 3.56
1.01 2.48 1.01 5.25 1.01 2.9 1.01 6.93 1.01 4.72 1.01 3.56 1.14 2.13 1.03 3.77
1.06 2.48 1.02 5.25 1.02 2.9 1.02 6.93 1.02 4.72 1.02 3.56 1.15 2.13 1.02 3.78
Table 2. The section (machine) sequence of each train (job) J0 M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16 M17 M18
J1 M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16 M17 M18
J2 M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M15 M15 M16 M17 M18
J3 M18 M17 M16 M15 M14 M13 M12 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1 M0
J4 M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M15 M15 M16 M17 M18
J5 M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M15 M15 M16 M17 M18
J6 M18 M17 M16 M15 M14 M13 M12 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1 M0
J7 M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M15 M15 M16 M17 M18
J8 M18 M17 M16 M15 M14 M13 M12 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1 M0
J9 M18 M17 M16 M15 M14 M13 M12 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1 M0
Table 3. The definition (e.g. direction, priority, length, ready time) of each train J0 J1 J2 J3
Direction Outbound Outbound Outbound Inbound
Priority No-Wait Blocking No-Wait Blocking
Length 0.35 0.4 0.45 0.5
Ready Time 0 0 0 0
19
J4 J5 J6 J7 J8 J9
Outbound Outbound Inbound Outbound Inbound Inbound
No-Wait Blocking No-Wait Blocking No-Wait Blocking
0.55 0.6 0.65 0.7 0.75 0.8
0 0 0 0 0 0
Table 4. Then number of units for each machine (section) M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16 M17 M18 1
2
1
2
1
2
1
2
1
2
1
2
1
2
1
2
1
2
In this instance, six outbound trains and four inbound trains are traversing on 19 sections that consist of 10 single-track sections (e.g. 1-M0) and 9 double-track sections (e.g. 2-M1). Only one train can occupy a single-track section at a time, whereas more than one train can be at a crossing loop (i.e. double-track section) at a time as its capacity limit is regarded. According to our analysis, the problem type is dependent on the critical constraints, namely, the definition of train directions and train priorities. For example, if the directions of all trains are uni-directional and the priorities of all trains are only blocking, the problem is simplified as a blocking parallel-machine flow-shop scheduling (BPMFSS) problem. Whatever the data setting of the train directions and train priorities may be, we generally model the single-line train scheduling problem as the NWBPMJSS problem that can cover other five specialised problems (i.e. BPMFSS, NWPMFSS, NWBPMFSS, BPMJSS and NWPMJSS). In this example, the directions of some trains are outbound and the directions of other trains are inbound. On the other hand, the priorities of some trains are blocking and the priorities of the others are no-wait. Thus, the NWBPMJSS problem is the most complicated and the most generalised case due to the requirements of satisfying the blocking, no-wait, deadlock-free and conflict-free constraints simultaneously. Initial Schedule by NWBPMJSS-Liu-Kozan Constructive Algorithm If the initial order of trains (jobs) is assumed as {J0, J1, J2, J3, J4, J5, J6, J7, J8, J9}, the feasible NWBPMJSS train timetable is constructed by the NWBPMJSS-Liu-Kozan algorithm and shown in Figure 21. The makespan of this feasible NWBPMJSS schedule is 132.35 and the CPU time is 27 milliseconds.
20
1
Fig.21: Gantt chart for the initial NWBPMJSS schedule with the makespan of 132.35. In Figure 21, the boxes brushed by the cross hatch is used to show the non-zero blocking times of operations of the blocking train. For example, the train 7, having completed on a double-track section (i.e. 2-M3) at time point 46.04, has to remain on 2-M3 for 11.99 minutes till the subsequent single-track section (i.e. 1-M4) becomes available at time point 58.03. In addition, the boxes brushed by the horizontal hatch are used to show the occupying times caused by the train length, as analysed in the above Figure 2. For comparison, all operations of a train (job) are indicated by the same colour or the same number (i.e. 0 to 9 for 10 trains). For differentiate the train priorities, the no-wait train is highlighted by the italic and underline number. For example, trains 0, 2, 4, 6 and 8 are no-wait trains that should traverse continuously. For each no-wait train, there should have no unplanned idle time between each pair of operations. In other words, except the last operation of the no-wait train, every operation‟s completion should coincide with the start of its immediate successor on the subsequent section. Near-Optimal Schedule by NWBPMJSS-Liu-Kozan-BIH Heuristic Algorithm As the NWBPMJSS-Liu-Kozan algorithm is a constructive algorithm to construct the feasible NWBPMJSS schedule in terms of the give order of trains, the solution quality depends on the given order of trains. Thus, it is able to improve the solution quality by finding the preferable order of trains. After executing the NWBPMJSS-Liu-Kozan-BIH heuristic algorithm, the better NWBPMJSS schedule, shown in Figure 22, can be obtained and the order of trains found by BIH is {J0, J8, J3, J2, J4, J6, J7, J5, J1, J9}.
21
Fig.22: Gantt chart for a near-optimal NWBPMJSS schedule with the makespan of 118.64. The makespan of the better NWBPMJSS schedule obtained by the NWBPMJSS-Liu-KozanBIH algorithm is 118.64, implying the efficiency improvement is (132.25-118.64)/132.25*100 =10.36% in comparison the initial NWBPMJSS schedule shown in the above. In addition, this schedule is close to the optimal solution according to the below analysis on the lower bound. The CPU time of the NWBPMJSS-Liu-Kozan-BIH algorithm for this 10-train 19-section NWBPMJSS instance is 374 milliseconds due to more computational efforts needed. Lower Bound of NWBPMJSS Since heuristic algorithms cannot guarantee to solve the scheduling problems optimally, the algorithm performance is usually evaluated by comparing the confirmed optimum, the best upper bound that is a very good solution provided in the literature but has not been verified as optimum, or the lower bound calculated by the formula. As far as we know, for the job-shop scheduling problems with buffer constraints (such as blocking, no-wait or limited-buffer), the confirmed optimums or the best upper bounds based on the benchmark data are only available for the BJSS problem, recently provided in the literature (Gröflin and Klinkert, 2009). To the best of our knowledge, the NWBPMJSS problem is originated in this research and there are no other journal papers on NWBPMJSS yet. Thus, the quality of the best solution found by the proposed NWBPMJSS-Liu-Kozan-BIH algorithm can only be evaluated by the lower bound. In the literature, the following equation (Eq.11) is well known to calculate the lower bound of the classical JSS problem: (11) which is the maximum value between the maximum sum of the processing times of all operations of a job and the maximum sum of the processing times of all operations on each machine. Here, is the processing time of an operation of Job on Machine .
22
Here, we propose a formula (Eq.12) to calculate the lower bound of the n-job m-machine train scheduling problem modelled as NWBPMJSS.
(12) where is the processing time of an operation of Train (Job) on Section (Machine) ; is the number of units for each section and if , this section is a single machine (single-track section); is the index of the bottleneck section that leads to the largest sum of processing times of operations processed on a single-track section. The lower bound of NWBPMJSS is the maximum sum of the processing times of operations processed on the bottleneck section plus the minimum sum of the processing times of operations (excluding the operation processed on the bottleneck section) of a train. Calculated by Eq. 11, the lower bound of this 10-train 19-section NWBPMJSS instance is 113.84. The gap between the NWBPMJSS solution obtained by the NWBPMJSS-Liu-KozanBIH algorithm and the lower bound is (118.64-113.84)/113.84*100 = 4.22%, implying that the proposed NWBPMJSS-Liu-Kozan-BIH heuristic algorithm may obtain the near-optimal solutions for some NWBPMJSS instances. Computational Experiments To further evaluate the performance of the proposed methodology, the extensive computational experiments on benchmark data (Beasley, 2005) are given in Table 5. To differentiate the problem types (e.g. JSS, BJSS and NWBPMJSS), the original JSS Lawrence‟s data is named LA-JSS instances in which the capacity of buffer storage is unlimited or ignored. Using the same processing times and machine sequence of the Lawrence‟s JSS data, the benchmark data established for BJSS is thus called LA-BJSS instances, but in which the capacity of buffer storage is zero. Correspondingly, the benchmark instances for NWBPMJSS are called LA-NWBPMJSS instances, in which the processing times are kept the same while the machine sequences of the first half jobs are changed to be outbound (i.e. from machine 0 to machine m); and the machine sequences of the second half jobs are changed to be inbound (i.e. from machine m to machine 0); the first two jobs are defined as no-wait jobs while other jobs are blocking; and the number of units is changed to 2 for each machine with even index. In Table 5, the names of well-known Lawrence‟s benchmark JSS data (i.e. LA01-40) are indicated in the first column. In the second column, n and m are the number of trains (jobs) and sections (machines) for each benchmark instance. The third column (LB) presents the lower bounds calculated by Eq.(11). The forth column (Opt) gives the optimal solutions of the LA-JSS instances (Liu et al, 2004). For some tough instances like LA10-JSS, the gap between the lower bound and optimum is up to (945717)/717*100 = 32%. The fifth column (UB) gives the best upper bounds of the LA-BJSS instances, recently provided in the literature (Gröflin and Klinkert, 2009). The sixth column (Found1) provides the best solutions of the LA-BJSS instances obtained by our proposed NWBPMJSS-Liu-Kozan-BIH heuristic algorithm. The seven column (Gap1) shows the relative gap between our obtained BJSS results and the best upper bounds, i.e. (Found1 – UB)/UB×100. The eighth column (Time1) gives the CPU time (in milliseconds) of the NWBPMJSS-Liu-Kozan-BIH heuristic algorithm for each LA-BJSS instance.
23
Table 5: Computational results on benchmark LA-BJSS and LA-NWBPMJSS instances Instances
LA-JSS
LA-BJSS
LA-NWBPMJSS
Name
n*m
LB1
Opt
UB
Found1
Gap1(%)
Time1
Initial
LB2
Found2
Imp(%)
Gap2(%)
Time2
LA01
10*5
666
666
832
968
16.35
31
1095
827
891
18.63
7.74
55
LA02
10*5
635
655
793
883
11.35
35
1144
676
714
37.59
5.62
53
LA03
10*5
588
597
747
845
13.12
42
872
601
675
22.59
12.31
61
LA04
10*5
537
590
769
822
6.89
34
1156
696
716
38.06
2.87
58
LA05
10*5
593
593
698
775
11.03
38
959
568
599
37.54
5.46
57
LA06
15*5
926
926
1180
1370
16.10
141
1454
1107
1160
20.22
4.79
213
LA07
15*5
869
890
1091
1268
16.22
135
1358
1002
1044
23.12
4.19
208
LA08
15*5
863
863
1125
1385
23.11
146
1504
767
980
34.84
27.77
219
LA09
15*5
951
951
1223
1481
21.10
142
1545
1077
1115
27.83
3.53
216
LA10
15*5
958
958
1203
1382
14.88
151
1304
1061
1077
17.41
1.51
218
LA11
20*5
1222
1222
1584
1864
17.68
515
1811
1284
1462
19.27
13.86
773
LA12
20*5
1039
1039
1391
1585
13.95
524
1833
1060
1172
36.06
10.57
786
LA13
20*5
1150
1150
1548
1756
13.44
532
1886
1165
1383
26.67
18.71
798
LA14
20*5
1292
1292
1620
1820
12.35
543
1844
1186
1392
24.51
17.37
805
LA15
20*5
1207
1207
1650
1904
15.39
531
1731
1258
1426
17.62
13.35
795
LA16
10*10
717
945
1142
1288
12.78
93
1561
1028
1169
25.11
13.72
146
LA17
10*10
683
784
1026
1188
15.79
101
1368
849
868
36.55
2.24
152
LA18
10*10
663
848
1078
1343
24.58
98
1606
1051
1054
34.37
0.29
147
LA19
10*10
685
842
1093
1343
22.87
96
1442
899
1026
28.85
14.13
149
LA20
10*10
756
902
1154
1329
15.16
102
1600
962
1030
35.63
7.07
153
LA21
15*10
1040
1048
1545
1965
27.18
453
2095
1157
1365
34.84
17.98
691
LA22
15*10
830
927
1458
1766
21.12
465
1707
1194
1246
27.01
4.36
698
LA23
15*10
1032
1032
1611
1960
21.66
445
2095
1305
1441
31.22
10.42
679
LA24
15*10
857
935
1571
1838
17.00
458
1876
1232
1395
25.64
13.23
687
LA25
15*10
864
977
1499
1847
23.22
461
1906
1134
1346
29.38
18.69
692
LA26
20*10
1218
1218
2162
2360
9.16
1593
2268
1488
1801
20.59
21.03
2395
LA27
20*10
1235
1242
2175
2600
19.54
1611
2398
1491
1795
25.15
20.39
2412
LA28
20*10
1216
1216
2071
2599
25.49
1625
2538
1548
1839
27.54
18.80
2438
LA29
20*10
1120
1182
2124
2378
11.96
1617
2384
1363
1730
27.43
26.93
2426
LA30
20*10
1355
1355
2171
2573
18.52
1623
2549
1422
1833
28.09
28.90
2435
LA31
30*10
1784
1784
3167
3784
19.48
9783
3296
2076
2541
22.91
22.40
14675
LA32
30*10
1850
1850
3418
4001
17.06
9655
3549
2150
2885
18.71
34.19
14483
LA33
30*10
1719
1719
3131
3477
11.05
9644
3164
2033
2611
17.48
28.43
14466
LA34
30*10
1721
1721
3205
3802
18.63
9621
3107
2235
2593
16.54
16.02
14432
LA35
30*10
1888
1888
3311
3896
17.67
9715
3398
2016
2528
25.60
25.40
14573
LA36
15*15
1028
1268
1932
2174
12.53
983
2286
1421
1572
31.23
10.63
1475
LA37
15*15
986
1397
2053
2539
23.67
967
2486
1582
1717
30.93
8.53
1453
LA38
15*15
1171
1203
1875
2230
18.93
1012
2384
1123
1503
36.95
33.84
1467
LA39
15*15
1012
1233
1950
2271
16.46
987
2405
1437
1715
28.69
19.35
1481
LA40
15*15
1222
1228
1936
2320
19.83
964
2582
1557
1686
34.70
8.29
1446
27.58
14.37
Average
17.11
24
The ninth column (Initial) provides the makespan of the initial NWBPMJSS schedule constructed by the NWBPMJSS-Liu-Kozan constructive algorithm, in terms of the given order of trains {J0, J1,..., Jn-1}. The tenth column (LB2) gives the lower bound values calculated by Eq. (12) for NWBPMJSS. We provide the preferable solutions of the LA-NWBPMJSS instances found by our proposed NWBPMJSS-Liu-Kozan-BIH in the eleventh column (Found2). The twelfth column (Imp) shows the efficiency improvement, i.e. the gap between the initial solution and preferable solution, i.e. (Initial – Found2)/Initial ×100. The thirteenth column (Gap2) calculates the gap between our obtained results and the lower bound, i.e. (Found2 – LB2)/ LB2×100. The last column (Time2) shows the CPU time (in milliseconds) of the NWBPMJSSLiu-Kozan-BIH heuristic algorithm for each LA-NWBPMJSS instance. Analysis of Computational Experiments For optimising BJSS that is a special case of NWBPMJSS, we admit that our methodology cannot outperform the methodology proposed by Groflin and Klinket (2009), because the average gap between our preferable BJSS solutions found and their upper bounds is about 17.11%. One reason is evident because the computational effort of our proposed NWBPMJSSLiu-Kozan-BIH heuristic algorithm is much less. The other reason is that the fundamental structures of two methodologies are totally different. Our proposed methodology aims to find the preferable order of jobs and then construct the feasible schedule according to this order of jobs. The size of our feasible solution space needed to explore is only n!. In contrast, the methodology of Groflin and Klinket (2009) is based on a generalised disjunctive graph model. Their solution space is larger and their neighborhood structure is much more sophisticated because it is not easy to generate feasible neighbor or a feasible (acyclic) directed disjunctive graph for the BJSS problem. However, our methodology is more generic and more generalised, because it enables the construction of feasible solutions for many different types of scheduling problems such as BJSS, NWJSS, BPMJSS, NWPMJSS, LBPMJSS, NWBPMJSS, etc. In addition, our methodology is relatively easier to be understood, to be extended and to be applied for practical issues. For optimizing NWBPMJSS, the average efficiency improvement can reach 27.58% in comparison with the initial solutions. However, the average gap between the obtained results and lower bounds is 14.37%, which implies that the solution quality may be further improved by applying metaheuristics. Another important observation is that the NWBPMJSS problem is more flexible than the BJSS problem, due to the facts that the lower bounds of NWBPMJSS is much smaller than those of BJSS and it is relatively easier to find the good solutions with less computational efforts. As a result, some suggestions could be provided for the planner to greatly improve efficiency by increasing the number of units of the bottleneck machine.
Application 1: Add Different Dwelling Times In the NWBPMJSS model, the planned dwelling times are included in the sectional running times (processing times). In the real-life application in train scheduling environments, the dwelling times have to be considered. Thus, the below new parameters are adopted to obtain the more realistic solutions when the dwelling times are seriously considered. non-zero planned dwelling time of train on the departure time of train on the unit of section
unit of section . (
).
25
To verify the effects caused by the adding of dwelling times, NWBPMJSS-Liu-Kozan-BIH heuristic algorithm is applied with the adjusted formulae to the above 10-train 19-section case. The new result is displayed in Figure 23, in which the boxes of dwelling times are brushed by the vertical hatch. According to our analysis, the adding of dwelling times is not a constraint but increases the heterogeneousness of input data.
Fig.23: Gantt chart for the new train schedule when the dwelling times are considered
Application 2: Consider a Time Window In this application, the trains are scheduled in a given time window in which the timetable of 12 express passenger trains is fixed in a time period of 410.41. In this case, the motivation of scheduling task is changed to maximise the railing capacity in a given time window. After applying our proposed methodology, the obtained train schedule is drawn in Figure 24.
(Insert Figure 24 here)
In Figure 24, the fixed timetable of the first 12 express passenger (no-wait) trains (i.e. Train 0 to Train 11) is highlighted in Grey colour. In this single-line rail network, another 6 no-wait trains (i.e. Train 12 to Train 17 highlighted by italic and underline number) could traverse in this time window. Additionally, 19 blocking trains (i.e. Train 18 to Train 36) could be inserted in this time window. This application is quite meaningful and significant because the maximisation of railing capacity in a busy time window (e.g. spring festival in China) is a considerably challenging task.
26
27
Fig.24: Gantt chart for a 37-train 43-section train schedule under a given time window
Application 3: A Case Study on Optimising a Coal Rail Network A case study on a large real-world coal railing instance with different traversing routes is reported. The results obtained by the proposed methodology can be provided for decision making on building the infrastructure of a real coal rail system, which will be dedicated to the export of coal in Australia. For one traversing route (e.g. Route_J), one train with the current earliest ready time at port is assigned, then departs from the port, traverses and arrives at the specified mine (e.g. J Mine), loads the coal at mine, returns to the port and unloads the coal at port. Some requirements and minor constraints are listed as below The number of total sections is 41. The number of total train trips is 43. The number of weekly services to three various mines is different: 9 trips to G Mine; 24 trips to J Mine; 10 trips to W Mine. For various routes, the sequence of sections is different. Loading time at mine is 4.3 hours and unloading time at terminal is 5 hours. Find minimal number of trains (assuming 7 trains in this case study) to perform required number of services. Minimise the average cycle time (or the maximum completion time). Train timetables should be repeatable on a weekly basis. Transportation capacity of the rail network should be maximised. Possible priority is for loaded trains to travel without unplanned pauses. According to the number of weekly services to each mine, an initial sequence of trips is assumed as: G – G – G – G – G – G – G – G – G – J – J – J – J– J – J – J – J– J – J – J – J– J – J – J – J– J – J – J – J – J – J – J– J – W – W – W – W – W – W– W – W – W – W, in which G denotes Route_G, J denotes Route_J and W denotes Route_W. In total, there are 43 trips that consist of 9 Route_G trips, 24 Route_J trips and 10 Route_W trips. In terms of this random order of train trips, the initial feasible solution constructed by the proposed NWBPMJSS_Liu-Kozan algorithm is displayed in Figure 25. The makespan of this feasible weekly train schedule is 221.44 hours. After applying the NWBPMJSS_Liu-Kozan-BIH algorithm, a better train schedule is obtained and displayed in Figure 26. For this solution, the new order of trips found by the BIH algorithm is: J – G – W – J – W – G – G – J – J – W – G – W – J– J – J – W – J– G – W – J – W– J – J – J – G– W– J – J – J – G – J – J – W – J – J – G – J – J – J– W – J – G – J, which lead to the makespan of 162.02 hours, implying that the railing efficiency could be increased by (221.44 – 160.10)/221.44 *100 = 27.70%.
28
29
Fig.25: The initial train schedule of a case study constructed by the NWBPMJSS_Liu-Kozan algorithm, with the makespan of 221.44 hours.
30
Fig.26: The better train schedule of a case study found by the NWBPMJSS_Liu-Kozan-BIH algorithm, with the makespan of 160.10 hours.
6. Conclusions In this paper, we deal with train scheduling problems when the prioritised trains and nonprioritised trains are traversed simultaneously in a complex rail network. In this case, no-wait conditions arise because the prioritised trains such as passenger trains should traverse continuously without any interruption. In comparison, non-prioritised trains such as freight trains are allowed to enter the next section immediately if possible or to remain in a section until the next section on the routing becomes available, which is thought of as a relaxation of no-wait conditions. In terms of various data settings such as train directions (outbound or inbound) and train priorities (freight or passenger), the train scheduling problems are classified into the following six types: BPMFSS, BPMJSS, NWPMFSS, NWPMJSS, NWBPMFSS, and NWBPMJSS, of which the NWBPMJSS problem is the most complicated and the most generalised problem. Originated in this research, the NWBPMJSS problem is mathematically formulated by integer programming and analysed based on an alternative graph model. Based on our analysis, it is very tough to construct a feasible NWBPMJSS train schedule due to complexity and difficulty to satisfy the blocking and no-wait constraints in job-shop environments. With exploiting the characteristics of NWBPMJSS, an innovative algorithm called the NWBPMJSS_Liu-Kozan algorithm is proposed to construct the feasible train timetable (timing of each train operation). To find the good train schedule in an efficient and economical way, a twostage hybrid heuristic algorithm called the NWBPMJSS_Liu-Kozan-BIH algorithm is developed by combining the constructive algorithm (the proposed NWBPMJSS_Liu-Kozan algorithm) and the local-search heuristic (the Best Insertion Heuristic algorithm). The computational experiments and real-life applications show that the proposed methodology is generic as the feasible train timetables in six different scenarios can be constructed by only changing the attributes in the data input; and the proposed two-stage hybrid NWBPMJSS_Liu-Kozan-BIH algorithm is able to find the preferable order of trains thereby greatly reducing the makespan of the constructed train timetable, which implies considerable improvement in efficiency of operating the overall rail network can be achieved. Most importantly, the proposed six standard types of scheduling problems and the proposed solution techniques would be applied as a toolbox of fundamental tools for identifying, modelling, analysing, and solving real-life train scheduling problems in a convenient way. As for future research, a number of issues are being under development on the basis of the proposed methodology. First of all, in order to further improve the solution quality of the NWBPMJSS schedule, a sophisticated neighbourhood structure has to be developed under the architecture of metaheuristics. Secondly, the proposed methodology should be extended to optimise a more complicated railway network with other criteria such as minimising the maximum number of tardy trains or the maximum tardiness. Finally, the proposed methodology should be extended to solve dynamic train scheduling problems with various dynamic factors due to the fact that unexpected events or accidents often occur in real-life train scheduling environments.
31
References Abril, M., Barber, F., Ingolotti, L., Salido, M. A., Tormos, P., & Lova, A. (2008). An assessment of railway capacity. Transportation Research Part E, 44, 774–806. Abril, M., Salido, M. A., & Barber, F. (2008). Distributed search in railway scheduling problems. Engineering Applications of Artificial Intelligence, 21, 744– 755. Beasley, J. E. (2005). Benchmark problems, http://people.brunel.ac.uk/~mastjjb/jeb/orlib. Burdett, R. L., & Kozan, E. (2006). Techniques for absolute capacity determination in railways. Transportation Research Part B, 40, 616-632. Burdett, R. L., & Kozan, E. (2009a). A disjunctive graph model and framework for constructing new train schedules. European Journal of Operational Research, doi:10.1016/j.ejor.2008.1012.1005. Burdett, R. L., & Kozan, E. (2009b). Techniques for inserting additional trains into existing timetables. Transportation Research Part B, doi:10.1016/j.trb.2009.1002.1005. Burdett, R. L., & Kozan, E. (2009c). Techniques for restricting multiple overtaking conflicts and performing compound moves when constructing new train schedules. Mathematical and Computer Modelling, 50, 314-328. Cacchiani, V., Caprara, A., & Toth, P. (2008). A column generation approach to train timetabling on a corridor. A Quarterly Journal of Operations Research, 6, 125-142. Cai, X., & Goh, C. J. (1994). A fast heuristic for the train scheduling problem. Computers & Operations Research, 21(5), 499-511. Caprara, A., Fischetti, M., & Toth, P. (2002). Modelling and solving the train timetabling problem. Operations Research, 50, 851-861. Caprara, A., Monaci, M., Toth, P., & Guida, P. L. (2006). A Lagrangian heuristic algorithm for a real-world train timetabling problem. Discrete Applied Mathematics, 738 – 753. Carey, M., & Crawford, I. (2007). Scheduling trains on a network of busy complex stations. Transportation Research Part B, 41, 159-178. Chung, J. W., Oh, S. M., & Choi, I. C. (2009). Ahybrid genetic algorithm for train sequencing in the Korean railway. Omega, 37, 555 – 565. D'Ariano, A., Pacciarelli, D., & Pranzo, M. (2007). A branch and bound algorithm for scheduling trains in a railway network. European Journal of Operational Research, 183, 643-657. D'Ariano, A., Pacciarelli, D., & Pranzo, M. (2008). Assessment of flexible timetables in realtime traffic management of a railway bottleneck. Transportation Research Part C, 16, 232245. Gröflin, H., & Klinkert, A. (2009). A new neighborhood and tabu search for the Blocking Job Shop. Discrete Applied Mathematics, doi:10.1016/j.dam.2009.02.020. Higgins, A., Ferreira, L., & Kozan, E. (1995). Modelling delay risks associated with a train schedule. Transportation Planning and Technology, 19(2), 89-108. Higgins, A., Kozan, E., & Ferreira, L. (1997a). Modelling the number and location of sidings on a single line railway. Computers & Operations Research, 24(3), 209-220. Higgins, A., Kozan, E., & Ferreira, L. (1997b). Heuristic techniques for single line train scheduling. Journal of Heuristics, 3, 43-62. Liebchen, C. (2008). The first optimized railway timetable in practice. Transportation Science, 42(4), 420-435. Lindner, T. (2004). Train schedule optimization in public rail transport. PhD thesis, der Technischen Universitat Braumschweig. Liu, S. Q., & Ong, H. L. (2004). Metaheuristics for the mixed shop scheduling problem. AsiaPacific Journal of Operational Research, 21(4), 97-115
32
Liu, S. Q., & Kozan, E. (2009a). Scheduling trains as a blocking parallel-machine job shop scheduling problem. Computers and Operations Research, 36, 2840-2852. Liu, S. Q., & Kozan, E. (2009b). Scheduling a flow shop with combined buffer conditions. International Journal of Production Economics, 117, 371-380. Masics, A., & Pacciarelli, D. (2002). Job-shop scheduling with blocking and no-wait constraints. European Journal of Operational Research, 143, 498-517. Petersen, E. R. (1974). Over the road transit time for a single track railway. Transportation Science, 8, 65-74. Salido, M. A. (2008). A non-binary constraint ordering heuristic for constraint satisfaction problems. Applied Mathematics and Computation, 198, 280–295. Salido, M. A., & Barber, F. (2009,). Mathematical solutions for solving periodic railway transportation. Mathematical Problems in Engineering, doi:10.1155/2009/728916. Salido, M. A., Abril, M., Barber, F., Ingolotti, L., Tormos, P., & Lova, A. (2007). Domaindependent distributed models for railway scheduling. Knowledge-Based Systems, 20, 186– 194. Zhou, X., & Zhong, M. (2004). Bicriteria train scheduling for high-speed passenger railway planning applications. European Journal of Operational Research, 167, 752-771.
33