A Blocking Parallel-Machine Job-Shop-Scheduling ... - Semantic Scholar

0 downloads 0 Views 914KB Size Report
the routing becomes available, which is thought of as a relaxation of no-wait conditions. With ... No-Wait Blocking Parallel-Machine Flow-Shop Scheduling.
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