A job-shop scheduling approach for optimising ... - Springer Link

5 downloads 116 Views 989KB Size Report
Apr 16, 2011 - ∑E e¼1. ∑E e0¼1. ∑S s¼1 qkr11e0 kkr tkr11e0 À qkr Ose kkr tkrOse þ gkOse ð ...... (ITWTR)23 = (21,411–15,414)/21,411 = 28%.; (ITWTR)23.
Flex Serv Manuf J (2011) 23:181–206 DOI 10.1007/s10696-011-9092-5

A job-shop scheduling approach for optimising sugarcane rail operations Mahmoud Masoud • Erhan Kozan • Geoff Kent

Published online: 16 April 2011  Springer Science+Business Media, LLC 2011

Abstract The sugarcane transport system is very complex and uses a daily schedule, consisting of a set of locomotives runs, to satisfy the requirements of the mill and harvesters. The total cost of sugarcane transport operations is very high; over 35% of the total cost of sugarcane production in Australia is incurred in cane transport. Producing efficient schedules for sugarcane transport can reduce the cost and limit the negative effects that this system can have on the raw sugar production system. In this paper, the sugarcane rail operations are formulated as a blocking job shop scheduling problem. A mixed integer programming approach is used to formulate the shop job scheduling problem. Mixed integer programming and constraint programming search techniques are integrated for solving the problem. A case study is solved to test the approach. Keywords Job shop

Integer programming  Constraint programming  Sugarcane rail 

List of symbols K Maximum number of locomotive k; k0 Index of locomotives; k ¼ 1; 2; . . .K; k0 ¼ 1; 2; . . .K E Maximum number of segments e Index of the segments; e ¼ 1; . . .E S Total number of sections for all segments s Index of sections se Index of section s on segment e M. Masoud  E. Kozan (&) Mathematical Sciences, Queensland University of Technology, 2 George St GPO Box 2434, Brisbane, QLD 4001, Australia e-mail: [email protected] G. Kent Sugar Research & Innovation, Centre for Tropical Crops and Biocommodities, Queensland University of Technology, 2 George St GPO Box 2434, Brisbane, QLD 4001, Australia

123

182

M. Masoud et al.

o; o0 R r, r0 tkr ose gk gkose V Bkr ose akr ose As e pk fk Cse Cmax Xkr se

Zkr k0 0 se r

bkr se s0

e0

lkrr0 k kr

qkr ose

bkr k0 ose

Index of operations; o ¼ 1; 2; . . .O and o0 ¼ 1; 2; . . .O Maximum number of locomotives runs Index of runs of each locomotive; r ¼ 1; 2; 3; . . .; R; r 0 ¼ 1; 2; 3; . . .; R Start time of locomotive k in run r for operation o on section s on segment e Ready time for all locomotives where all trains are at mill and ready to move Processing time of operation o of locomotive k on section s on segment e A big positive number Number of full bins collected from siding s by locomotive k during operation o and run r on segment e Number of empty bins delivered for siding s by locomotive k during operation o and run r on segment e Total allotment of siding s per day Capacity of locomotive k of empty bins Capacity of locomotive k of full bins Siding capacity Makespan ( 1, if locomotive k assigned to section s on segment e during run r: = 0, otherwise. 8 > < 1, k and n are processed on section s on segment e during run r and = r 0 respectively, and locomotive k precedes locomotive k0 . > : 0, otherwise. ( 1, locomotive k uses segment e before segment e0 during run r: = 0, otherwise. ( 1; if run r is assigned for locomotive k before run r 0 . = 0, otherwise. ( 1; if run r is assigned for locomotive k. = 0, otherwise. 8 > < 1; if the operation o of locomotive k requires section s during run r ¼ on segment e. > : 0, otherwise. 8 1; if locomotive k0 requires section s on segment e, but > > > < operation o of locomotive k scheduled at the same = > section during run r on the same segment. > > : 0, otherwise.

1 Introduction Sugarcane transport by rail is an important element in the raw sugar production system in Australia. Sugarcane is transported in specially designed wagons called

123

A job-shop scheduling approach for optimising sugarcane rail operations

183

cane bins. The efficiency of the transport system has a huge effect on the performance of the production system and on its overall costs. Some of the potential effects of sugarcane transport on the production system are stopping the supply of cane to mills and causing interruptions to the raw sugar production process; delaying the arrival of sugarcane to the mill, allowing it to deteriorate and causing a reduction in sugar quality; delaying the arrival of empty cane bins to harvesters causing the harvesters to wait for empty bins and increasing their costs; and increasing costs through inefficiencies in the sugarcane transport system itself through the need for higher levels of labour and larger numbers of locomotives and cane bins. The railway system can generally operate for 24 h a day while the harvesting period is generally limited to about 12 h in the day. The cane railway system performs two main tasks: delivering empty bins from the mill to the harvesters at sidings; and collecting the full bins of cane from harvesters and transporting them to the mill. From the perspective of the transport system, the mill serves the function of converting full bins into empty bins while the harvesters convert empty bins into full bins. The sugarcane transport system is very complex and is based on a daily schedule, consisting of a set of locomotives runs, to satisfy the requirements of the mill and harvesters. Producing efficient schedules for sugarcane transport can reduce the cost and limit the negative effects that this system can have on the raw sugar production system. Many researchers have developed optimization models to improve the efficiency of railway and sugarcane transport systems (Masoud et al. 2010). However, there is still considerable work that can be done in this field to develop new techniques to achieve further efficiency improvements and get optimal solutions for the sugarcane transport problem. Scheduling of sugarcane transport systems in Australia is complicated by the fact that cane railway networks have single tracks with few dedicated passing loops, requiring the passing of trains to be addressed. There are many branches where trains may wait to allow other trains to pass. Some sidings may also act as passing loops when not in use. Scheduling problems in single track railway systems have proven difficult to solve and there have been many studies to improve system performance. Most studies consider that single track railway problems are NP-hard (nondeterministic polynomial time), and so need special solution techniques. Higgins et al. (1996) designed a mathematical model to optimise the number and location of sidings on a single track railway to reduce the delays caused by congestion. They used a decomposition approach where the model was divided into two sub models: one to optimise track segment lengths and arrival and departure times and the other for an optimal train schedule. This approach was useful to reduce calculation time, especially in large scale problems. A discrete event optimisation model and a branch and bound method were used to develop and solve a single track train scheduling problem as a blocking job shop problem (Ariano et al. 2007; Zhou and Zhong 2007). Resolving passing conflicts through a single railway track was the main aim of these studies. The branch and bound method was used to reduce the total time of train trips. It improved the solution accuracy to be near optimal and decreased the computation time. The optimisation techniques increased the efficiency of solution but solution times were still long for large scale cases.

123

184

M. Masoud et al.

Liu and Kozan (2009) represented train scheduling as a blocking parallel machine job shop scheduling problem. With this model, blocking problems were solved for single and multiple railway track systems. Liu and Kozan (2009) extended the classical disjunctive techniques and proposed a new heuristic method named the feasibility satisfaction procedure to solve the problem. The new technique suited many complex real situations in train crossing problems. Burdett and Kozan (2010a) developed a novel hybrid job shop approach to solve a train scheduling problem. A disjunctive graph model of train operations was designed and used meta heuristic techniques such as simulated annealing to solve large scale problems (Burdett and Kozan 2010b; Mascis and Pacciarelli 2002). Yuan and Hansen (2007) developed probability models to determine the knockon delays of trains caused by passing conflicts. Murali et al. (2009) suggested a technique to estimate delays for single and double track railway systems. They considered a delay as a function of traffic conditions and topology of the rail network. Analytical and simulation models were used in this research, using the Los Angeles area railway network as a case study to investigate the new technique. The development of constraint programming, documented within the computer science literature, has been viewed by the operations research community as a new technique and sometimes better way for solving many cases of optimisation problems. The constraint programming technique is a flexible and generic technique. A constraint programming approach was proposed for solving railway scheduling problems by Rodriguez (2007), Guel et al. (2009) and Su Yun et al. (2002). The main aim of these studies was solving passing conflicts and delays at junctions by the integration of a decision support system and constraint programming techniques. The developed models achieved improvement in train system performance in reasonable time. Martin et al. (2001) proposed a new approach using Constraints Logic Programming to solve cane railway scheduling problems using ECLiPSe, a Prolog language with extra features suitable for the system. This technique produced daily schedules to minimize the number of locomotives and their runs, and satisfy constraints of the system such as siding capacity and locomotive hauling capacity. Hasan et al. (2009a) solved a job shop problem using genetic algorithms and improved the quality of the results by integrating some heuristic techniques with genetic algorithms. These techniques depend on changing the order of the jobs on machines to obtain better solutions. Rossi and Boschi (2009) suggested a hybrid technique, the parallel machines job shop scheduling problem. Their approach depends on the integration of the genetic algorithms and ant colony technique to improve the solution of the job shop problem. Data structure was used to improve the performance of the suggested methods. Hasan et al. (2009b) developed memetic algorithms for solving job shop scheduling problem. In this paper some priority rules are combined with memetic algorithms to improve the solutions and minimising the CPU time. Abbass et al. (2001) solved multi objective optimisation problems using Pareto–frontier Differential Evolution algorithms. In this paper, the statistical analysis was used to compare between the different algorithms based on the uniform distribution. We propose an innovative hyper solution approach in this paper, which is the integration of mixed integer programming with constraint programming search

123

A job-shop scheduling approach for optimising sugarcane rail operations

185

techniques. In this approach, the mixed integer programming is based on job shop scheduling fundamentals and focuses on to improve objective function value using linear relaxation by removing any local or suboptimal solutions, while constraint programming search techniques focus on satisfying the constraints using filtering algorithms to remove any infeasible solutions. In addition, constraint programming search techniques have been integrated with the standard search strategy and the dichotomic search strategy to produce efficient schedules by solving the cane transport scheduling problem, which uses Optimisation Programming Language (OPL). Hybrid approach uses solution techniques consecutively but hyper approaches use solution techniques interactively. So, the proposed hyper approach has more chance to find the global optimal solution than hybrid one because at each stages of the hyper iterations any local or suboptimal solutions are removed and push the solution to global optimality. In addition, hybrid approaches use more CPU time than hyper approaches for solving the large scale problems.

2 Mixed integer programming (MIP) formulation for the sugarcane rail transport system A mixed integer programming technique was used to design a new model of sugarcane rail transport scheduling systems. This model considered many important issues such as safe passing of trains on single rail networks, and track, locomotive and siding capacity. The main outputs of the model are efficient schedules for sugarcane transport systems to optimise the performance of the system, using criteria such as minimising the total waiting time. This criterion has a positive effect on minimising the costs of the sugarcane transport system, reducing the cane age, maximising the capacity of the railway system and ensuring a non-interrupted supply of full bins to the mill and empty bins to each harvester. The mixed integer programming formulation is based on job shop scheduling approach. Using a mixed integer programming formulation for solving single machine and multiple machine scheduling problems is still a challenge. The job shop approach to sugarcane train scheduling is new, exciting and promises considerable benefits over existing approaches. Continued development of this approach will allow problems of very large size and complexity to be solved with great accuracy that have never been attempted before. In a job shop approach for train scheduling, trains and sections and respectively are synonymous with jobs and machines. For example, jobs and trains respectively are contained on machines and sections while processing is performed. Therefore an operation is regarded as the movement of a train across a section (using a resources) and not only as the processing of a job on a machine. 2.1 The model The model consists of two main parts. The first part includes rail operations constraints which relate to the passing of trains on the rail network. This part

123

186

M. Masoud et al.

includes precedence constraints, order of rail segments, order of runs, passing priority constraints, the makespan constraint, and blocking constraints. The second part includes the sugarcane system constraints. This part includes locomotive, siding, mill, capacity, bin, and harvesting constraints. The model produces locomotive runs that consist of a series of operations. These operations involve activities such as traversing a track section and delivering and collecting bins. The locomotive runs are modelled as whole trips, generally involving leaving the mill, delivering empty bins to sidings during the outbound part of the run, collecting full bins from sidings during the inbound part of the run and returning to the mill. As such, two operations generally will be conducted on each track section each run. One of them will be implemented in the outbound direction and the other operation will be executed in the inbound direction. Figure 1 shows the main elements of a railway network. The simple network in the figure has seven sections, where Sects. 2, 5 and 7 contain sidings. Four segments are included in Fig. 1. Segments 2 and 3 are terminal segments while segment 1 is an intermediate segment. No segments follow terminal segments, while other segments follow intermediate segments. In the terminal segments, the train can travel outbound and then immediately travel inbound without any interruption. For intermediate segments like segment 1, however, the train may go to visit other segments like 2 or 3 after traversing segment 1 in the outbound direction, and come back in the inbound direction to visit segment 1 again. Operations can be conducted continuously in the two directions on terminal segments while there can be an interruption between the operations of the outbound direction and the inbound direction on intermediate segments. For that reason, intermediate segments have been given separate segment numbers for the outbound and inbound directions (segments 1 and 4 in Fig. 1).

Fig. 1 A simple cane rail network with three bin loading sidings

123

A job-shop scheduling approach for optimising sugarcane rail operations

187

2.1.1 The objective function In this paper, the main objective of this model is minimising the total waiting time. To minimise the total waiting time for all locomotive runs the system, Eq. (1) is used. Minimise : Z ¼ IWT þ OSWT þ ISWT þ RWT

ð1Þ

The components of this objective function are as follows: The initial waiting time (IWT) considers the waiting time before starting the first run of each locomotive. IWT ¼

K X

ftkr 1se  gk gkkr

ð2Þ

k¼1

The segment waiting time is the waiting time after finishing one segment and starting a new one by each locomotive. This part includes the waiting time in outbound and inbound directions (OSWT and ISWT, respectively). OSWT ¼

K X R X E X E X S  X

qkr 11e0 kkr tkr 11e0  qkr Ose kkr ðtkr Ose þ gkOse Þ



bkr se 1e0

k¼1 r¼1 e¼1 e0 ¼1 s¼1



ISWT ¼ qkr 1se kkr tkr 11e  qkr Ose0 kkr tkr Ose0

  þ gkOse0 1  bkr se 1e0

ð3Þ ð4Þ

The run waiting time (RWT) is the waiting time between finishing one run and starting a new one. RWT ¼

E X S  X

qkrþ1 ð1Þse kkrþ1 tkrþ1 1se  qkr OsE kkr ðtkr OsE þ gkOsE Þ



ð5Þ

e¼1 s¼1

2.1.2 Constraints Rail operation constraints The start time of locomotive k on the first section and the first run has to be greater than or equal to the ready time. tk1 11e  gk 8 k; e:

ð6Þ

Precedence constraints Equation (7) ensures operation o ? 1 of locomotive k cannot be processed before finishing operation o for locomotive k on section s on segment e. ðtkr ose þ gkose Þqkr ose kkr  tkr ðoþ1Þse qkr ðoþ1Þse kkr 8 k; r; o; s; e;

ð7Þ

If o  O=2 for each segment, then the locomotive is moving in the outbound direction.

123

188

M. Masoud et al.

If o [ O=2 for each segment, then the locomotive is moving in the inbound direction. Segments order constraints Equation (8) ensures segment e is processed before segment e0 .   ðtkr Ose þ gkOse Þqkr Ose  tkr o0 s0 0 qkr o0 s0 0 þ V bkr se s0 0  1 8 k; r; o0 ; e; e0 ; s; s0 ; e 6¼ e0 : ð8Þ e

e

e

Equation (9) ensures segment e0 is processed before segment e.     tkr Os0 0 þ gkOs0 0 qkr Os0 0  tkr ose qkr ose  V bkr se s0 0 8 k; r; o; e; e0 ; s; s0 ; e 6¼ e0 : e

e

e

e

ð9Þ

Equation (10) states the logic relation between decision variables. qkr o0 s0 0 þ qkr ose  1  bkr se s0 0 þ bkr se s0 0 e

e

ð10Þ

e

Runs order constraints Equation (11) ensures that run r is assigned before run r0 for locomotive k. ðtkr OsE þ gkOsE Þqkr OsE kkr  tkr0 os0 0 qkr0 os0 0 kkr0 þ Vðlkrr0  1Þ; e

e

8r; r 0 ; r 6¼ r 0 ; o; e; e0 ; s; s0 : Equation (12) ensures that run r0 is assigned before run r for locomotive k.     tkr0 OsE þ gkOsE qkr0 OsE kkr0  tkr ose qkr ose kkr  V lkrr0 8r; r 0 ; r 6¼ r 0 ; o; e; s; s0 :

ð11Þ

ð12Þ

Equation (13) states the logic relation between decision variables. kkr0 þ kkr  1  lkrr0 þ lkrr0

ð13Þ

Passing priority constraints Equations (14) and (15) ensure locomotives k and k0 are processed on section s of segment e in the correct order. Either locomotive k precedes locomotive k0 where locomotive k0 can’t use this segment before locomotive k leaves it, or locomotive k0 precedes locomotive k where locomotive k can’t use this segment before locomotive k0 leaves it. O X S   X gkose þ V Zkr k0 0 se  1 tk0 0 o0 se  tkr ose þ r r ð14Þ o¼1 s¼1 8k; k0 2 K; k 6¼ k0 ; o; o0 2 O; s 2 Se ; e 2 E; r; r 0 2 R: tkr ose  tk0 0 o0 se þ r

0

O X S X

o0 ¼1 s¼1 0 0

  gk0 o0 se  V Zkr k0 0 se r

0

8k; k 2 K; k 6¼ k ; o; o 2 O s 2 Se ; r; r 2 R:

123

ð15Þ

A job-shop scheduling approach for optimising sugarcane rail operations

189

Equation (16) ensures each segment cannot process more than one locomotive at the same time. E X S X

Xkr se ¼ 1 and Xkr se þ Xk0 0 se  1  Zkr k0 0 se þ Zkr k0 0 se r

e¼1 s¼1

r

r

ð16Þ

Makespan constraints Equation (17) ensures the finish time of each operation for all locomotives during all runs has to be less than the makespan. R X E X S X

ðtkr Ose þ gkOse Þqkr Ose kkr  Cmax

ð17Þ

r¼1 e¼1 s¼1

Blocking constraints Equation (18) defines the blocking constraint at each segment, where, if the segment is used by locomotive k, all locomotives have to wait until that segment is free before they can use it. K X E X S E X S X X tk0 0 o0 se bkr k0 se qk0 0 o0 se kk0 0  qkr ose tkr ose kkr r r r ð18Þ e¼1 s¼1 k0 ¼1 e¼1 s¼1 8k; r; r 0 ; o; o0 : Equation (19) ensures non-negativity. tkr ose  0; gkose  0 8 k; s; e:

ð19Þ

Locomotive constraints Equations (20) and (21) are locomotive capacity constraints. In Eq. (20), the number of empty bins delivered for all sidings during run r has to be less than or equal to the capacity of locomotive k. E X O X S X

qkr ose akr ose kkr  pk 8k; r:

ð20Þ

e¼1 o¼1 s¼1

In Eq. (21), the number of full bins collected from all sidings during run r has to be less than or equal to the capacity of locomotive k. E X O X S X

qkr ose Bkr ose kkr  fk 8k; r:

ð21Þ

e¼1 o¼1 s¼1

Equations (22) and (23) ensure empty bin delivery is in the outbound direction where o and o0 are two operations at each siding in the two directions and o0 precedes o. Similarly, Eqs. (24) and (25) ensure the collection of full bins is in the inbound direction but o proceeds o0 . If o0 B o then

123

190

M. Masoud et al.

akr o0 se  pk 8k; r; o0 ; s; e:

ð22Þ

Bkr o0 se ¼ 0 8k; r; o0 ; s; e:

ð23Þ

Bkr o0 se  fk 8k; r; o0 ; s; e:

ð24Þ

a kr o 0 s e ¼ 0

ð25Þ

Else

End if Bin allotment constraints Equations (26) and (27) show the relation between the total bin allotments for each siding and the number of empty and full bins delivered to and collected from each siding. The total number of empty bins delivered to siding s has to be equal to the allotment of the harvester operating at this siding. K X R X E X O X

qkr ose akr ose kkr ¼ Ase 8 s:

ð26Þ

k¼1 r¼1 e¼1 o¼1

The total number of full bins collected from siding s has to be equal to the allotment of the harvester operating at this siding. K X R X E X O X

qkr ose Bkr ose kkr ¼ Ase 8 s:

ð27Þ

k¼1 r¼1 e¼1 o¼1

Siding capacity constraints Equation (28) ensures that the total number of empty and full bins at each siding is less than the capacity of the siding. akr ose þ Bkr ose  Cse

ð28Þ

3 Solution techniques Since the job shop scheduling problem is extremely difficult to solve and is in fact proven to be computationally intractable (NP hard problem). The use of mathematical approaches to solve it is limited, but mathematical programming formulations under job shop scheduling fundamentals have been used for scheduling train problems previously. Because the model is complicated, it needs a lot of computer memory and computational time to be solved. To reduce the computational time, a mathematical programming formulation under job shop scheduling fundamentals and constraint programming search techniques were used. Constraint programming techniques deal with many types of constraints such as linear, nonlinear, integer, and mixed integer constraints. Many strategies have been used to find solutions through search

123

A job-shop scheduling approach for optimising sugarcane rail operations

191

trees. The main advantage of these strategies is obtaining the optimal solution for NP-hard problems. Unfortunately, many of these techniques are time consuming and require large amounts of memory space to solve large scale problems. Consequently, there is a need to determine the most appropriate strategy for each problem, to minimise solution time and computational resources. Depth First Search (DFS), Best First Search (BFS), and Interleaved Depth First Search (IDFS) were used as search techniques. These techniques are very close to the Branch and Bound algorithms, which are used in mixed integer programming. Standard Search Strategy (SSS) and Dichotomic Search Strategy (DSS) were integrated with constraint programming search techniques inside ILOG Optimization Programming Language (OPL) software to improve the computational time. OPL has integrated an integer programming approach and constraint programming search techniques to solve scheduling problems. Hentenryck (2002) designed constraint programming and integer programming models and showed how OPL can integrate the two approaches to solve combinatorial optimization problems easily and in reasonable time. Integrating constraint programming and mixed integer programming or integer linear programming has received attention since the late 1990s. The motivation behind integrating these methods and other methods in one approach is to combine their advantages and avoid their individual weaknesses. To ensure integrity between these techniques, it is necessary to understand the commonalities and differences between them. Artigues et al. (2009) designed a new model to optimise employee timetabling by integrating the integer linear programming and constraint programming. A hybrid method was designed to solve planning and scheduling problems (Hooker 2005; Beck and Refalo 2003; El Khayat et al. 2006). This method involved the integration of mixed integer linear programming and constraint programming through logic-based Bender decomposition to take advantage of both techniques. New techniques were developed to solve job shop scheduling problems (Hentenryck and Michel 2005; Watson and Beck 2008). These techniques depended on the integration of constraint satisfaction techniques and local search techniques to improve the quality of the solution in the large scale problems. In this research, the job shop scheduling problem was modelled as a constraint satisfaction problem and was solved by using local search techniques. The variables of the problem were defined, along with the related constraints and some possible neighbourhoods which were used to obtain the solution. Dovier et al. (2009) designed empirical comparisons between constraint logic programming and answer set programming by using some combinatorial problems to select the most efficient approach for each problem. 3.1 Search techniques Many strategies are followed to find a solution through the search trees. Most of the search strategies are prime methods when using a parallel branch and bound technique to solve combinatorial optimisation problems. The main advantage of these methods is obtaining the near optimal solution for many NP-hard problems and suitable to solve our model.

123

192

M. Masoud et al.

Using these techniques alone is time consuming and consumes a lot of computer memory to solve large scale problems. Therefore, MIP and some of these search techniques are integrated to obtain a near optimal solution in a reasonable time. In this section, the used search techniques and some strategies will be shown to explain how these techniques work to reach the final solution. Best-first search (BFS) is a well-known strategy for optimization problems that consists of choosing the node with the best value of the objective function. For each job shop scheduling problem, the initial upper-bound on the makespan is set to be the sum of the durations of all activities. If a solution is found with a lower makespan, the new bound is added at a node without descendants (called a leaf). Sierra and Varela (2008) used a best-first search strategy to reduce the search domain in solving a job shop scheduling problem to minimise total flow time. Depth-First Search (DFS) starts at the root node and proceeds by descending to its first descendant, continuing until a leaf is reached. Then, the strategy backtracks to the parent of the leaf and descends to its next descendant, until a node with descendants is found (Her and Ramakrishna 2007). Interleaved Depth First Search (IDFS) works through DFS. IDFS works with DFS to reduce the number of errors. While DFS searches sequentially from left to right, IDFS searches many subtrees in parallel. It searches in each subtree to reach each leaf. If a found leaf is the goal, the search process terminates. Otherwise, the state of the current subtree is recorded and added to a list of active subtrees. Slice Based Search (SBS) has been found to be effective for job shop problems. It depends on the existence of a good heuristic to obtain a solution. The choices during the search process which do not follow the heuristic are called discrepancies. This method supposes that there is a small number of allowed discrepancies at the beginning of the search process, and this number increases as the search tree is explored until a solution is found or the whole search tree has been explored. Depth-bound Discrepancy Search (DDS) supposes that the heuristic which is used to build the search tree is more likely to make a mistake near the root node (Walsh 1997; Beck and Perron 2000). The main aim of this assumption is removing the domain values due to the propagation along a path from the root to a leaf. Hence, discrepancies are allowed only above a certain depth-bound i - 1 at iteration i.

3.2 Search strategies There are two strategies that have been used for optimisation problems, particularly minimisation, that have been integrated with the search techniques to obtain a solution. The integration of the two strategies and the search techniques is important for reducing the domain of the search tree inside the search techniques by focusing on satisfying the constraints and ignoring the objective function. The feasible

123

A job-shop scheduling approach for optimising sugarcane rail operations

193

solution which has been obtained will be updated at each iteration. In addition, the integration of the two strategies can help in obtaining a good solution by making double check on some bad solutions which are ignored by the search techniques, where some good solutions can be produced from some bad solutions. Standard search strategy (SSS) Standard search strategy is uncomplicated and solves the optimisation problem as a constraint satisfaction problem. For the first step in this strategy, the objective function is ignored and a feasible solution is sought. The objective function is evaluated at the first feasible solution point, and an upper bound is obtained. The second step involves adding a constraint to obtain the next feasible solution which is better or at least has the same value (if multiple solutions are wanted) of the objective value as the current solution. Dichotomic search strategy (DSS) Dichotomic search strategy is mainly useful if the lower bound (W) of the problem is known in advance. The first step is this strategy is obtaining a feasible solution and evaluating the objective function value V at this solution. The mid-value Z is given by (W ? V)/2. The set of constraints of the original problem is added to a constraint f(x1, x2…, xn) \ Z, where f(x1, x2…, xn) is the objective function, and the constraints satisfaction problem is solved neglecting the objective function. In the next step, the feasible solution which we have is expected to be better than the current solution, hence, the value of V is updated, and the strategy is continued with a new value of the mid-value Z. An infeasible solution requires the updating of the lower bound W and hence the mid-value Z, and the search strategy is executed as above. Some heuristics are proposed for solving rail conflicts and simplifying the system by removing unused segments and sections from the model. Four algorithms are developed to organise the collecting and delivering operations of the bins in the system, reduce the computing time, and solve the locomotives conflicts. Algorithm 1 From the model, it is assumed that there are two operations, o and o0 , to be implemented on each section during locomotive run r. The first operation is executed in the outbound direction and the second operation is executed in the inbound direction. No delivering or collecting occurs if the section is a passing section and doesn’t work as a siding for delivering or collecting bins.

123

194

M. Masoud et al.

The technique first assigns the operation for delivering bins in the outbound direction (no bins are collected during this operation). The second operation on the same section and the same locomotive is assigned for collecting full bins in the inbound direction (no bins are delivered during this operation. The algorithm is described below:

Two algorithms, 2 and 3, are discussed in this section. The main objective of the first algorithm is reducing the total number of segments of the rail network. The second algorithm reduces the total number of sections of rail network. These algorithms work together to simplify the problem and reduce the computing time. Algorithm 2 In this algorithm, the segments not in use during the day’s operations are removed from the complete list segments. Lk is the visited segments. L0k is the non visited segments.

123

A job-shop scheduling approach for optimising sugarcane rail operations

195

Algorithm 3 The number of segments in the model is reduced by Algorithm 2. Each eliminated segment includes some sections which are eliminated at the same time but there are still some sections remaining that are not used. This algorithm is used to eliminate the unused sections in the used segments to further simplify the model. The reduced number of segments from algorithm 2 is used in algorithm 3 in step 4. By changing the domains of segments and sections in the model, the total time of the calculations is substantially reduced. Vk is the list of sections visited by loco k. Vk0 is the unused sections list.

Algorithm 4 Algorithm 4 is used for solving a segment conflict. Each segment has many sections but no passing loops inside the segment. As a result, algorithm 4 works on solving any conflicts on that segment. A heuristic technique, the Shortest Processing Time

123

196

M. Masoud et al.

Fig. 2 A conflict case

(SPT), is used inside this algorithm to reduce the waiting time of locomotives before starting that segment. Oliveira (2001) used the SPT technique to resolve a section conflict. In Fig. 2, k and k0 2{1,…K} are two locomotives where k is travelling in the outbound direction and k0 is travelling in the inbound direction. e 2{1,…E} is a segment which includes the conflict point. {s1, s2, s3, s4, s5} are some sections included in segment e.

4 Results To demonstrate and validate the model, a case study was used. A small section of the transport system at Kalamia mill, near Ayr south of Townsville, Australia was

123

A job-shop scheduling approach for optimising sugarcane rail operations

197

Fig. 3 A small section of a cane rail network Table 1 Locomotives’ number, capacity and speed Loco index

Loco name

Max empty (bins)

Max fulls (bins)

Average speed (km/h)

1

Barratta

120

90

30

2

Rita_Island

120

124

30

3

Jarvisield

120

124

30

4

Norham

120

110

30

5

Kilrie

120

124

30

used to obtain the optimal completion time of all locomotives runs in a day. The section of the network used is shown in Fig. 3. Figure 3 shows the distances between sidings in km and siding capacity in bins. This test case study involves 26 sections, 11 segments, 15 sidings, 5 locomotives and harvest data such as siding capacity and siding allotments. Each bin equals 6 tonnes. We note that most of the sidings have a capacity less than their allotments. This means these sidings need more than one run per day by one locomotive or more than one locomotive. The integration of constraint programming search techniques with DSS and SSS search strategies was used in ILOG OPL software. Minimising total waiting time was used as an objective function to investigate the new approach. The results were obtained before and after applying algorithms 2 and 3 to simplify the model. Table 1 clarifies the number of locomotives and maximum capacity of locomotives, which will be used in the system to deliver empty bins from mill to sidings or collect full bins from sidings to mill, during loading empties or fulls.

123

198

M. Masoud et al.

Table 2 Solution of standard MIP model using total waiting time Search SSS technique No of choice points

DSS No of failure points

Solution waiting time

CPU No of time (s) choice points

No of failure points

Solution waiting time

CPU time (s)

DFS

36,017

33,010

1,984

1058.00 36,017

33,010

1,984

1056.78

SBS

n/a

n/a

n/a

n/a

n/a

n/a

n/a

n/a

DDS

n/a

n/a

n/a

n/a

n/a

n/a

n/a

n/a

BFS

3,028

3,060

1,984

1699.82 3,028

3,060

1,984

1699.60

IDFS

12,789

13,273

1,984

4399.26 12,789

13,273

1,984

4402.67

4.1 Result of standard MIP model Table 2 shows a comparison of results for all search techniques and search strategies in solving the proposed model before applying algorithms 2 and 3. Table 2 shows that SSS and DSS can give us the same value of the total waiting time with all search techniques except SBS and DDS search techniques, where both needed too much time to solve a small case. From the CPU time results, it was noted that DSS and SSS have the same results nearly with all search techniques. In addition, the DFS technique worked well with both search strategies and gave results in a reasonable time than other search techniques. 4.2 Results of algorithms 2 and 3 After applying algorithms 2 and 3 to the MIP model, it was found that the algorithms reduced the total number of sections from 26 to 11, the total number of segments from 11 to 3, the total number of operations from 10 to 6 and the total number of sidings from 15 to 6. The number of locomotives and runs was not changed. After applying algorithms 2 and 3, the total number of variables reduced from 32,231 to 2,611 and the total number of constraints reduced from 412,407 to 15,239. Table 3 shows a comparison of results for all search techniques and the two search strategies after applying algorithms 2 and 3. From this table it is noted that SSS and DSS work well with all search techniques in the small cases, where both gave the same solutions in the same time nearly. Table 3 shows the effect of applying the previous algorithms on CPU for the two strategies where, the CPU time is reduced sharply after applying the algorithms for the two strategies. We note that the search techniques SBS and DDS are not applicable for the SSS strategies while the work well with DSS strategy. 4.3 Locomotive scheduling results In this section the locomotives scheduling will be shown and the visit times of all sidings which work in that day. Table 4 and Fig. 4 show that locomotives 2, 3 and 5

123

A job-shop scheduling approach for optimising sugarcane rail operations

199

Table 3 Solution of algorithms 3 and 4 under total waiting time criterion Search SSS technique No of choice points

DSS No of failure points

Solution CPU time No of total waiting in choice time seconds points

No of failure points

Solution CPU total waiting time time (s)

DFS

2,093

2,090

1,984

2.72

2,093

2,090

1,984

2.70

SBS

4,200

4,204

1,984

3.45

4,200

4,204

1,984

3.45

DDS

2,176

2,198

1,984

3.66

2,176

2,198

1,984

3.63

BFS

528

536

1,984

2.44

528

536

1,984

2.42

IDFS

579

616

1,984

3.77

579

616

1,984

3.77

Table 4 Start and finish times of locomotive runs Index of loco

Index of runs

1

5

2

1

3 4 5

3

Total

Visit time

Empty bins

6

1,840

120

6

758

54

2

14

202

112

112

982

0

982

4

20

988

90



1,890

86

1,976

22

1,175

10

110

20

854



90

1,074

0

1,074

22

273

120

20





506

506

5

Siding number

Full bins

Total run time

Run start time (s)

90

2,414

250

2,664

84

1,582

0

1,582

9,478

Run finish time (s)

2,664

Fig. 4 Gantt chart of MIP for scheduling 5 locomotives on 11 segments with the Total waiting time of 1,984

start at time zero, while a locomotive 4 is scheduled to be the fourth to start at time 86. Locomotive 1 is the last one to start and commences its run at time 250. Some locos visit only one siding during its run (locos 1, 2 and 3), while other locos can visit more than one siding during its run (locos 4 and 5).

123

200

M. Masoud et al.

4.4 Sensitivity analysis In this section, some small problems are solved using the new approach for investigating the effects number of trains and runs on minimising the total waiting time as an objective function. In these cases, the size of the rail network is limited which includes 26 sections, 11 segments, and 15 sidings. SSS and DSS strategies will be integrated with DFS search technique after applying algorithms 2 and 3 to solve different problems. Comparisons of the solutions of the results of alternatives cases for 40 runs are shown in Table 5. Table 5 shows that SSS and DSS results are very close to each other and both works well for different problems. A very strong link is determined between the total waiting time and the number of trains, when added more trains to the system it causes to increase the total waiting time and to reduce the number of runs. On the other side, minimizing the total waiting time can be occurred by increasing the number of runs and removing some trains from the system. As shown in Table 5, CPU time is increased when the number of trains is increased for the both strategies SSS and DSS.

4.5 A case study To further test the model, the previous case study was extended to include a larger part of the Kalamia mill rail network. The extended case study included 51 sections, 42 sidings, 21 segments, 5 locomotives, 10 runs and 6,115 tonnes as a total allotment of all sidings. To solve this case study ILOG OPL software was used to solve the sugarcane transport system. Algorithms 2 and 3 were applied to reduce the CPU time. Table 6 shows the results for the DFS search technique and the SSS search strategy. The total waiting time of 18,495 was obtained after 3,220 s. Table 7 shows the results of the integrating between DSS and the search techniques. An optimal solution was found in reasonable time, with a total waiting time 18,495. Even with the larger case study, DSS works efficiently with DFS as a search technique. By comparing the two search strategies, it is obvious that DSS was more efficient than SSS for this case. The number of choice points and number of failure points were reduced by the SSS and DDS strategies to be 2,881 and 2,228, respectively during the search process about the solution. In the larger case study, 5 locomotives performed 10 runs, two runs are assigned for each loco, to deliver and collect 6,115 tonnes of cane. Table 8 shows the scheduling of the locomotive runs, the start and finish times for each run and the number of bins delivered to and collected from each siding. Improved total waiting time ratio (ITWTR) can be calculated from the previous result for the different three problems as following:

123

10

8

5

4

2

P1

P2

P3

P4

P5

20

10

8

5

4

Problems Trains Runs/ Train

16,818

17,100

17,250

17,736

18,090

196,180

236,052

247,534

253,030

258,664

198

559

1,112

13,318

26,294

198

559

1,112

12,351

25,080

21,546

53,748 464

661

71,960 1,206

79,746 1,759

111,430 2,818

16,818

17,100

17,250

17,736

18,090

196,180

236,052

247,534

253,030

258,664

198

559

1,112

13,318

26,294

Variables Constraints Choice points

Solution CPU (s)

Variables Constraints Choice points

Failure points

DSS

SSS

Table 5 Results of sensitivity study for changing some variables using total waiting time (small case)

198

559

1,112

12,351

25,080

Failure points

21,546

53,748

464

671

71,960 1,220

79,746 1,760

111,430 2,832

Solution CPU (s)

A job-shop scheduling approach for optimising sugarcane rail operations 201

123

202

M. Masoud et al.

Table 6 SSS results for the larger case study Search technique

SSS No. of variables

No. of No. of constraints choice points

No. of failure points

Total waiting time

CPU Solver time (s) memory in bytes

DFS

54,400

671,106

2,228

18,495

3220.72 958,729,984

2,881

Table 7 DSS results for the larger case study Search technique

DSS No. of variables

No. of No. of constraints choice points

No. of failure points

Total waiting time

CPU time(s)

Solver memory in bytes

DFS

54,400

671,106

2,228

18,495

3,210

958,742,044

2,881

Table 8 Start and finish times of locomotive runs using the total waiting time as an objective function Index of locos 1 2

3

Index of runs

123

Full bins

Run time

Run start time

Run finish time

5

758

120

90

1,582

0

1,582

5

2,340

54

84

1,582

1,582

3,164

2

7

202

112

112

982

0

982

6

17

4,997

98

98

3,296

3,468

6,764

11

5,723

22

26

3

11

273

30



3,382

0

3,382

9

3,162

90

17

11

6,227

44

104

3,382

3,382

6,764

9

6,678



20

28

7,417



110

5,554

3,554

9,108

27

7,184

94



11

8,571

26

– 3,196

9,108

12,304

4,327

9,194

13,521

3,817

13,521

17,338

7

9 10

Total

Empty bins

4

8 5

Visit time

1

5 4

Siding number

10

9

9,194



14

33

10,624

96

96

27

12,063



94

28

11,778

120

30

26

15,173

50

50

28

15,595

55

35

11

16,801

8



9

13,607



39





1,019

1,019

A job-shop scheduling approach for optimising sugarcane rail operations

203

(ITWTR)ij = (total waiting time of problem i—total waiting time of problem j)/ total waiting time of problem j; i and j are index of problems and i \ j. (ITWTR)12 = (18,495–133,240)/18,495 = 27.9%.; (ITWTR)12 improvement of problem 1–2. (ITWTR)23 = (133,240–7,024)/133,240 = 47.28%.; (ITWTR)23 improvement of problem 2–3. (ITWTR)13 = (18,495–7,024)/18,495 = 62%.; (ITWTR)23 improvement of problem 1–3. From the previous result, using 2 trains and 5 runs is better than using 5 trains and 2 runs under minimising total waiting time where the improvements is 62%. 4.6 Analysis of makespan as an objective function The total waiting time will be used as an objective function to investigate our new approach. In this section, the sensitivity analysis will be applied for other criteria such as Makespan which will be used as a new objective function instead of the total waiting time. Table 10 shows that the effects of changing number of trains and runs on the Makespan value, where the Makespan value will be minimised in spite of increasing the number of trains and decreasing the number of runs. Using 5 trains is not a small number in sugarcane rail transport systems. Table 10 shows the Makespan is a small value for the larger number of trains (5 trains). As a result the Makespan for our case study is already reduced. For that reason, we do not have a high priority or urgent need to minimise Makespan and use it as an objective function in the previous model while, minimising the total waiting time objective is an urgent issue for large number of trains as shown in Table 9. The improvements ratio in case of increasing the number of trains and decreasing the number of runs can be deduced as following: (ITWTR)12 = (27,411–21,411)/27,411 = 21.8%.; (ITWTR)12 improvement of problem 1–2. (ITWTR)23 = (21,411–15,414)/21,411 = 28%.; (ITWTR)23 improvement of problem 2–3. (ITWTR)13 = (27,411–15,414)/27,411 = 43.7%.; (ITWTR)13 improvement of problem 1–3.

5 Conclusions The sugarcane railway operations are very complex and have a large number of variables. As a result, the proposed scheduling model is very complicated but needs to be solved in a reasonable time, because of the dynamic nature of the system. The strength of the hyper solution approach is used by the integration of mixed integer programming with constraint programming search techniques to obtain good solutions in reasonable time. Some heuristics were proposed for solving rail

123

123

5

3

2

P1

P2

P3

5

4

2

Problems Trains Runs/ Train

53,860

64,800

54,400

646,490

829,034

671,106 222

1,392

2,881 0

1,015

2,228 7,024

13,324

18,495 2,867

4,566

3,220 53,860

64,800

54,400

646,490

829,034

671,106

222

1,392

2,881

Variables Constraints Choice points

Solution CPU (s)

Variables Constraints Choice points

Failure points

DSS

SSS

Table 9 sensitivity study for changing some variables in the system

0

1,015

2,228

Failure points

7,024

13,324

18,495

2,844

4,562

3,210

Solution CPU(s)

204 M. Masoud et al.

A job-shop scheduling approach for optimising sugarcane rail operations

205

Table 10 Sensitivity study for Makespan criterion Problems

Trains

Runs/train

Variables

Constraints

Solution

Solver

P1

1

10

53,701

607,714

27,839

321,664,732

P2

2

5

53,981

646,966

21,411

333,370,312

P3

5

2

55,901

670,706

15,414

342,173,032

conflicts and simplifying the system by removing unused segments and sections from the model. Small and large case studies were used to test many search techniques and evaluate the performance of each technique. The dichotomic search strategy, combined with any of the search techniques, gave good results than standard search strategy especially in the large scale problems. DFS search technique is more sustainable and it works efficiently with DSS and SSS strategies than other search techniques, for that reason it was used for solving the large scale problem. The previous results show that a makespan value can be improved by increasing the number of trains and reducing the number of runs, while total waiting time can be improved by decreasing number of trains and increasing the number of runs.

References Abbass HA, Sarker A, Newton C (2001) A Pareto-frontier differential evolution approach for multiobjective optimization problems, proceedings of the congress on evolutionary computation 2001 (CEC0 2001), vol. 2. IEEE Service Center, Piscataway, New Jersey. pp 971–978 Ariano AD, Pacciarelli D, Pranzo M (2007) A branch and bound algorithm for scheduling trains in a railway network. Eur J Oper Res 183:643–657 Artigues C, Gendreau M, Rousseau LM, Vergnaud A (2009) Solving an integrated employee timetabling and job-shop scheduling problem via hybrid branch-and-bound. Comput Oper Res 36:2330–2340 Beck JC, Perron L (2000) Discrepancy-bounded depth first search. In: Proceedings of the second international workshop on integration of AI and OR techniques in constraint programming for combinatorial optimization problems. CP-AI-OR 2000. pp 21–22 Beck JC, Refalo P (2003) A hybrid approach to scheduling with earliness and tardiness costs. Ann Oper Res 118:49–71 Burdett RL, Kozan E (2010a) A sequencing approach for creating new train timetables. OR Spectrum 32(1):163–193 Burdett RL, Kozan E (2010b) A disjunctive graph model and framework for constructing new train schedules. Eur J Oper Res 200(1):85–98 Dovier A, Formisano A, Pontelli E (2009) An empirical study of constraint logic programming and answer set programming solutions of combinatorial problems. J of Exp Theor Artif Intell 21(2):79–121 El Khayat G, Langevin A, Riopel D (2006) Integrated production and, material handling scheduling using mathematical programming and constraint programming. Eur J Oper Res 175:1818–1832 Guel A, Barber F (2009) Mathematical solutions for solving periodic railway transportation. Math Probl in Eng 60:19. ID 728916. doi:10.1155/2009/728916 Hasan SMK, Sarker R, Essam D, Cornforth D (2009a) A genetic algorithm with priority rules for solving job-shop scheduling problems. Nat Intell Sched Plan Pack Prob 250:55–88 Hasan SMK, Sarker R, Essam D, Cornforth D (2009b) Memetic algorithms for solving job-shop scheduling problems. Memet Comput 1(1):69–83

123

206

M. Masoud et al.

Hentenryck PV (2002) Constraint and integer programming in OPL. INFORMS J Comput 14(4):345–372 Hentenryck PV, Michel L (2005) Constraint-based local search. The MIT Press, Cambridge Her JH, Ramakrishna RS (2007) An external-memory depth-first search algorithm for general grid graphs. Theor Comput Sci 374:170–180 Higgins A, Kozan E, Ferreira L (1996) Modelling the number and location of sidings on a single line railway. Comput Oper Res 24(3):209–220 Hooker JN (2005) A hybrid method for planning and scheduling. Construction 10:385–401 Liu SQ, Kozan E (2009) Scheduling trains as a blocking parallel-machine job shop scheduling problem. Comput Oper Res 36(10):2840–2852 Martin F, Pinkney A, Xinghuo Y (2001) Cane railway scheduling via constraint logic programming: labelling order and constraints in a real-live application. Ann Oper Res 108:193–209 Mascis A, Pacciarelli D (2002) Job-shop scheduling with blocking and no-wait constraints. Eur J Oper Res 143:498–517 Masoud M, Kozan E, Kent G (2010) Scheduling techniques to optimise sugarcane rail systems. ASOR Bull 29:25–34 Murali P, Dessouky MM, Ordo´n˜ez F, Palmer K (2009) A delay estimation technique for single and double-track railroads. Logist Transp Rev. doi:10.1016/j.tre.2009.04.016 Oliveira ES (2001) Solving single track railway scheduling problem by using constraint programming. PhD dissertation, the University of Leeds Rodriguez J (2007) A constraint programming model for real-time train scheduling at junctions. Transp Res Part B 41:231–245 Rossi A, Boschi E (2009) A hybrid heuristic to solve the parallel machines job-shop scheduling problem. Adv Eng Softw 40:118–127 Sierra MR, Varela R (2008) Pruning by dominance in best-first search for the job shop scheduling problem with total flow time. J Intell Manuf. doi:10.1007/s10845-008-0167-4 Su Yun Y, Gen M (2002) Advanced scheduling problem using constraint programming techniques in SCM environment. Comput Ind Eng 43(1–2):213–229 Walsh T (1997) Depth-bounded discrepency search. In Proceedings of the fifteenth international joint conference on artificial intelligence. Morgan Kaufmann. pp 1388–1395 Watson JP, Beck JC (2008) A hybrid constraint programming/local search approach to the job-shop scheduling problem. In: Perron L, Trick M (eds) CPAIOR 2008, LNCS 5015. Springer, Berlin, pp 263–277 Yuan J, Hansen IA (2007) Optimizing capacity utilization of stations by estimating knock-on train delays. Transp Res Part B 41:202–217 Zhou X, Zhong M (2007) Single-track train timetable with guaranteed optimality: branch-and bound algorithms with enhanced lower bounds. Trans Res Part B 41:320–341

Author Biographies Mahmoud Masoud is a PhD student in the Discipline of Mathematical Sciences, Queensland University of Technology, Australia. He specialises in operations research, particularly in railway scheduling. Erhan Kozan is a Chair Professor of operations research in the Discipline of Mathematical Sciences, Queensland University of Technology, Australia. Professor Kozan is an expert in disciplinary research across operations research and scheduling theory. His current research focuses on the area of healthcare process optimisation and train scheduling. Geoff Kent is a Principal Research Fellow in the Centre for Tropical Crops and Biocommodities, Queensland University of Technology, Australia. His research interests include sugarcane supply, transport and processing across many disciplines.

123