Flexible Services and Manufacturing Journal

, Volume 23, Issue 2, pp 181–206 | Cite as

A job-shop scheduling approach for optimising sugarcane rail operations

  • Mahmoud Masoud
  • Erhan Kozan
  • Geoff Kent


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.


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 \)


Maximum number of segments


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


Total number of sections for all segments


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 \)


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 } \)


\( 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. \)


  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–657MATHCrossRefGoogle Scholar
  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–2340MATHCrossRefGoogle Scholar
  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–71MathSciNetMATHCrossRefGoogle Scholar
  6. Burdett RL, Kozan E (2010a) A sequencing approach for creating new train timetables. OR Spectrum 32(1):163–193MATHCrossRefGoogle Scholar
  7. Burdett RL, Kozan E (2010b) A disjunctive graph model and framework for constructing new train schedules. Eur J Oper Res 200(1):85–98MATHCrossRefGoogle Scholar
  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–121MATHCrossRefGoogle Scholar
  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–1832MATHCrossRefGoogle Scholar
  10. 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
  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–88CrossRefGoogle Scholar
  12. Hasan SMK, Sarker R, Essam D, Cornforth D (2009b) Memetic algorithms for solving job-shop scheduling problems. Memet Comput 1(1):69–83CrossRefGoogle Scholar
  13. Hentenryck PV (2002) Constraint and integer programming in OPL. INFORMS J Comput 14(4):345–372MathSciNetCrossRefGoogle Scholar
  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–180MathSciNetMATHCrossRefGoogle Scholar
  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–220CrossRefGoogle Scholar
  17. Hooker JN (2005) A hybrid method for planning and scheduling. Construction 10:385–401MathSciNetMATHGoogle Scholar
  18. Liu SQ, Kozan E (2009) Scheduling trains as a blocking parallel-machine job shop scheduling problem. Comput Oper Res 36(10):2840–2852MathSciNetMATHCrossRefGoogle Scholar
  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–209MathSciNetMATHCrossRefGoogle Scholar
  20. Mascis A, Pacciarelli D (2002) Job-shop scheduling with blocking and no-wait constraints. Eur J Oper Res 143:498–517MathSciNetMATHCrossRefGoogle Scholar
  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: 10.1016/j.tre.2009.04.016
  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–245CrossRefGoogle Scholar
  25. Rossi A, Boschi E (2009) A hybrid heuristic to solve the parallel machines job-shop scheduling problem. Adv Eng Softw 40:118–127MATHCrossRefGoogle Scholar
  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: 10.1007/s10845-008-0167-4
  27. Su Yun Y, Gen M (2002) Advanced scheduling problem using constraint programming techniques in SCM environment. Comput Ind Eng 43(1–2):213–229CrossRefGoogle Scholar
  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–217CrossRefGoogle Scholar
  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–341CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  1. 1.Mathematical SciencesQueensland University of TechnologyBrisbaneAustralia
  2. 2.Sugar Research & Innovation, Centre for Tropical Crops and BiocommoditiesQueensland University of TechnologyBrisbaneAustralia

Personalised recommendations