Flexible Services and Manufacturing Journal

, Volume 23, Issue 2, pp 181–206

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

Article

## 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

Integer programming Constraint programming Sugarcane rail Job shop

## List of symbols

$$K$$

Maximum number of locomotive

$$k,k^{\prime }$$

Index of locomotives; $$k = 1,2, \ldots K,\,k^{\prime } = 1,2, \ldots K$$

E

Maximum number of segments

e

Index of the segments; $$e = 1, \ldots E$$

S

Total number of sections for all segments

s

Index of sections

$$s_{e}$$

Index of section s on segment e

$$o,o^{\prime }$$

Index of operations; $$o = 1,2, \ldots O\,{\text{and}}\,o^{\prime } = 1,2, \ldots O$$

R

Maximum number of locomotives runs

r, r′

Index of runs of each locomotive; $$r = 1,2,3, \ldots ,R;\,r^{\prime } = 1,2,3, \ldots ,R$$

$$t_{{k_{r} os_{e} }}$$

Start time of locomotive k in run r for operation o on section s on segment e

$$\eta_{k}$$

Ready time for all locomotives where all trains are at mill and ready to move

$$g_{{kos_{e} }}$$

Processing time of operation o of locomotive k on section s on segment e

$$V$$

A big positive number

$$B_{{k_{r} os_{e} }}$$

Number of full bins collected from siding s by locomotive k during operation o and run r on segment e

$$\alpha_{{k_{r} os_{e} }}$$

Number of empty bins delivered for siding s by locomotive k during operation o and run r on segment e

$$A_{{s_{e} }}$$

Total allotment of siding s per day

$$p_{k}$$

Capacity of locomotive k of empty bins

$$f_{k}$$

Capacity of locomotive k of full bins

$$C_{{s_{e} }}$$

Siding capacity

$$C_{\max }$$

Makespan

$$X_{{k_{r} s_{e} }}$$

$${\text{ = }}\left\{ \begin{gathered}{\text{1,}}\quad{\text{if}}\,{\text{locomotive}}\,k\,{\text{assigned}}\,{\text{to}}\,{\text{section}}\,s\,{\text{on}}\,{\text{segment}}\,e\,{\text{during}}\,{\text{run}}\,r.\hfill \\ {\text{0,}}\quad {\text{otherwise}}{\text{.}} \hfill\\\end{gathered} \right.$$

$$Z_{{k_{r} k^{\prime}_{{r^{\prime}}} s_{e} }}$$

$${\text{ = }}\left\{ \begin{gathered} {\text{1,}}\quad k\,{\text{and}}\,n\,{\text{are}}\,{\text{processed}}\,{\text{on}}\,{\text{section}}\,s\,{\text{on}}\,{\text{segment}}\,e \hfill \\ {\text{during}}\,{\text{run}}\,r\,{\text{and}}\,r^{\prime} \,{\text{respectively,}}\,{\text{and}}\,{\text{locomotive}}\,k\,precedes\,{\text{locomotive}}\,k^{\prime} {\text{.}} \hfill \\ {\text{0,}}\quad {\text{otherwise}}{\text{.}} \hfill \\ \end{gathered} \right.$$

$$\beta_{{k_{r} s_{e} s_{{e^{\prime } }}^{{^{\prime } }} }}$$

$${\text{ = }}\left\{ \begin{gathered} {\text{1,}}\quad \,{\text{locomotive}}\,k\,{\text{uses}}\,{\text{segment}}\,e\,{\text{before segment}}\,e^{\prime} \,{\text{during}}\,{\text{run}}\,r. \hfill \\ {\text{0,}}\quad {\text{otherwise}}{\text{.}} \hfill \\ \end{gathered} \right.$$

$$\mu_{{k_{{rr^{\prime } }} }}$$

$${\text{ = }}\left\{ \begin{gathered} 1,\quad {\text{if}}\,{\text{run}}\,r\,{\text{is}}\,{\text{assigned}}\,{\text{for}}\,{\text{locomotive}}\,k\,{\text{before}}\,{\text{run}}\,r^{\prime} {\text{.}} \hfill \\ {\text{0,}}\quad {\text{otherwise}}{\text{.}} \hfill \\ \end{gathered} \right.$$

$$\lambda_{{k_{r} }} \,$$

$${\text{ = }}\left\{ \begin{gathered} 1,\quad {\text{if}}\,{\text{run}}\,r\,{\text{is}}\,{\text{assigned}}\,{\text{for}}\,{\text{locomotive}}\,k{\text{.}} \hfill \\ {\text{0,}}\quad {\text{otherwise}}{\text{.}} \hfill \\ \end{gathered} \right.$$

$$q_{{k_{r} os_{e} }}$$

$$= \left\{ \begin{gathered} 1,\quad {\text{if}}\,{\text{the}}\,{\text{operation}}\,o\,{\text{of}}\,{\text{locomotive}}\,k\,{\text{requires}}\,{\text{section}}\,s\,{\text{during}}\,{\text{run}}\,r\,{\text{on}}\,{\text{segment}}\,e{\text{.}} \hfill \\ {\text{0,}}\quad {\text{otherwise}}{\text{.}} \hfill \\ \end{gathered} \right.$$

$$b_{{k_{r} k^{\prime } os_{e} }}$$

$${\text{ = }}\left\{ \begin{gathered} 1,\quad {\text{if}}\,{\text{locomotive}}\,k^{\prime} \,{\text{requires}}\,{\text{section}}\,s\,{\text{on}}\,{\text{segment}}\,e{\text{,}}\,{\text{but}}\,{\text{operation}}\,o\,{\text{of}}\,{\text{locomotive}} \, k\,{\text{scheduled}}\,{\text{at}}\,{\text{the}}\,{\text{same}}\,{\text{section}}\,{\text{during}}\,{\text{run}}\,r\,{\text{on}}\,{\text{the}}\,{\text{same}}\,{\text{segment}}{\text{.}} \hfill \\ {\text{0,}}\quad {\text{otherwise}}{\text{.}} \hfill \\ \end{gathered} \right.$$

## References

1. Abbass HA, Sarker A, Newton C (2001) A Pareto-frontier differential evolution approach for multi-objective optimization problems, proceedings of the congress on evolutionary computation 2001 (CEC′2001), vol. 2. IEEE Service Center, Piscataway, New Jersey. pp 971–978Google Scholar
2. 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
3. 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
4. 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–22Google Scholar
5. Beck JC, Refalo P (2003) A hybrid approach to scheduling with earliness and tardiness costs. Ann Oper Res 118:49–71
6. Burdett RL, Kozan E (2010a) A sequencing approach for creating new train timetables. OR Spectrum 32(1):163–193
7. Burdett RL, Kozan E (2010b) A disjunctive graph model and framework for constructing new train schedules. Eur J Oper Res 200(1):85–98
8. 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
9. 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
10. Guel A, Barber F (2009) Mathematical solutions for solving periodic railway transportation. Math Probl in Eng 60:19. ID 728916. doi:
11. 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
12. Hasan SMK, Sarker R, Essam D, Cornforth D (2009b) Memetic algorithms for solving job-shop scheduling problems. Memet Comput 1(1):69–83
13. Hentenryck PV (2002) Constraint and integer programming in OPL. INFORMS J Comput 14(4):345–372
14. Hentenryck PV, Michel L (2005) Constraint-based local search. The MIT Press, CambridgeGoogle Scholar
15. Her JH, Ramakrishna RS (2007) An external-memory depth-first search algorithm for general grid graphs. Theor Comput Sci 374:170–180
16. 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
17. Hooker JN (2005) A hybrid method for planning and scheduling. Construction 10:385–401
18. Liu SQ, Kozan E (2009) Scheduling trains as a blocking parallel-machine job shop scheduling problem. Comput Oper Res 36(10):2840–2852
19. 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
20. Mascis A, Pacciarelli D (2002) Job-shop scheduling with blocking and no-wait constraints. Eur J Oper Res 143:498–517
21. Masoud M, Kozan E, Kent G (2010) Scheduling techniques to optimise sugarcane rail systems. ASOR Bull 29:25–34Google Scholar
22. Murali P, Dessouky MM, Ordóñez F, Palmer K (2009) A delay estimation technique for single and double-track railroads. Logist Transp Rev. doi:
23. Oliveira ES (2001) Solving single track railway scheduling problem by using constraint programming. PhD dissertation, the University of LeedsGoogle Scholar
24. Rodriguez J (2007) A constraint programming model for real-time train scheduling at junctions. Transp Res Part B 41:231–245
25. Rossi A, Boschi E (2009) A hybrid heuristic to solve the parallel machines job-shop scheduling problem. Adv Eng Softw 40:118–127
26. 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:
27. Su Yun Y, Gen M (2002) Advanced scheduling problem using constraint programming techniques in SCM environment. Comput Ind Eng 43(1–2):213–229
28. Walsh T (1997) Depth-bounded discrepency search. In Proceedings of the fifteenth international joint conference on artificial intelligence. Morgan Kaufmann. pp 1388–1395Google Scholar
29. 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–277Google Scholar
30. Yuan J, Hansen IA (2007) Optimizing capacity utilization of stations by estimating knock-on train delays. Transp Res Part B 41:202–217
31. 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