Skip to main content
Log in

Stochastic programming approach for unidirectional quay crane scheduling problem with uncertainty

  • Published:
Journal of Scheduling Aims and scope Submit manuscript

Abstract

Quay crane scheduling is a key aspect of container terminal operation, which can be regarded as a decision-making process with uncertainty. Each task involves stochastic loading and unloading operation times owing to the existence of uncertainty. In this study, we investigate the unidirectional quay crane scheduling problem for a stochastic processing time, which requires that all the quay cranes move in the same direction either from bow to stern, or vice versa, throughout the planning horizon. The problem is formulated as a two-stage stochastic mixed-integer programming model, where the binary first-stage decision variables correspond to the assignment of tasks to quay cranes, and the mixed-integer second-stage decision variables are related to the generation of detailed schedules. To make the model solvable, we develop an alternative equivalent reformulation with a special structure that involves binary variables in the first stage and continuous variables in the second stage. To solve this reformulated model, an integer L-shaped method is presented for small-size instances, and a simulated annealing algorithm is presented for large-size instances to obtain near-optimal solutions. Numerical experiments show that the integer L-shaped method and simulated annealing algorithm could efficiently solve the unidirectional quay crane scheduling problem with uncertainty. The results also indicate that the stochastic model has distinct advantages in terms of shortening the completion time of vessels and improving the service level of container terminals compared with the expected value problem solutions.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

  • Al-Dhaheri, N., Jebali, A., & Diabat, A. (2016). A simulation-based genetic algorithm approach for the quay crane scheduling under uncertainty. Simulation Modelling Practice and Theory, 66, 122–138.

    Google Scholar 

  • Al-Khamis, T., & M’Hallah, R. (2011). A two-stage stochastic programming model for the parallel machine scheduling problem with machine capacity. Computers & Operations Research, 38(12), 1747–1759.

    Google Scholar 

  • Altner, D. S., Rojas, A. C., & Servi, L. D. (2018). A two-stage stochastic program for multi-shift, multi-analyst, workforce optimization with multiple on-call options. Journal of Scheduling, 21(5), 517–531.

    Google Scholar 

  • Bartosek, A., & Marek, O. (2013). Quay cranes in container terminals. Transactions on Transport Sciences, 6(1), 9.

    Google Scholar 

  • Bidhandi, H. M., & Patrick, J. (2017). Accelerated sample average approximation method for two-stage stochastic programming with binary first-stage variables. Applied Mathematical Modelling, 41, 582–595.

    Google Scholar 

  • Bierwirth, C., & Meisel, F. (2009). A fast heuristic for quay crane scheduling with interference constraints. Journal of Scheduling, 12(4), 345–360.

    Google Scholar 

  • Bierwirth, C., & Meisel, F. (2010). A survey of berth allocation and quay crane scheduling problems in container terminals. European Journal of Operational Research, 202(3), 615–627.

    Google Scholar 

  • Bierwirth, C., & Meisel, F. (2015). A follow-up survey of berth allocation and quay crane scheduling problems in container terminals. European Journal of Operational Research, 244(3), 675–689.

    Google Scholar 

  • Birge, J. R., & Louveaux, F. (2011). Introduction to stochastic programming. Berlin: Springer.

    Google Scholar 

  • Chen, J. H., & Bierlaire, M. (2017). The study of the unidirectional quay crane scheduling problem: Complexity and risk-aversion. European Journal of Operational Research, 260(2), 613–624.

    Google Scholar 

  • Chen, J. H., Lee, D. H., & Goh, M. (2014). An effective mathematical formulation for the unidirectional cluster-based quay crane scheduling problem. European Journal of Operational Research, 232(1), 198–208.

    Google Scholar 

  • Chung, S. H., & Choy, K. L. (2012). A modified genetic algorithm for quay crane scheduling operations. Expert Systems with Applications, 39(4), 4213–4221.

    Google Scholar 

  • Conforti, M., Cornuéjols, Gérard, & Zambelli, G. (2014). Integer programming. Berlin: Springer.

    Google Scholar 

  • Daganzo, C. F. (1989). The crane scheduling problem. Transportation Research Part B: Methodological, 23(3), 159–175.

    Google Scholar 

  • Dubrovsky, O., Levitin, G., & Penn, M. (2002). A genetic algorithm with a compact solution encoding for the container ship stowage problem. Journal of Heuristics, 8(6), 585–599.

    Google Scholar 

  • Elçi, Ö., & Noyan, N. (2018). A chance-constrained two-stage stochastic programming model for humanitarian relief network design. Transportation Research Part B: Methodological, 108, 55–83.

    Google Scholar 

  • Fu, C., Zhu, N., & Ma, S. (2017). A stochastic program approach for path reconstruction oriented sensor location model. Transportation Research Part B: Methodological, 102, 210–237.

    Google Scholar 

  • Han, X. L. (2010). A proactive approach for simultaneous berth and quay crane scheduling problem with stochastic arrival and handling time. European Journal of Operational Research, 207(3), 1327–1340.

    Google Scholar 

  • Higle, J. L., & Sen, S. (1991). Stochastic decomposition: An algorithm for two-stage linear programs with recourse. Mathematics of Operations Research, 16(3), 650–669.

    Google Scholar 

  • IBM ILOG CPLEX. (2017). IBM ILOG CPLEX Optimization Studio 12.7.1 Information Center. Retrieved April 16, 2020, from https://www.ibm.com/support/knowledgecenter/en/SSSA5P_12.7.1/ilog.odms.studio.help/Optimization_Studio/topics/COS_home.html.

  • Kim, K. H., & Moon, K. C. (2003). Berth scheduling by simulated annealing. Transportation Research Part B: Methodological, 37(6), 541–560.

    Google Scholar 

  • Kim, K. H., & Park, Y. M. (2004). A crane scheduling method for port container terminals. European Journal of Operational Research, 156(3), 752–768.

    Google Scholar 

  • Kroese, D. P., Brereton, T., Taimre, T., & Botev, Z. I. (2014). Why the Monte Carlo method is so important today. Wiley Interdisciplinary Reviews: Computational Statistics, 6(6), 386–392.

    Google Scholar 

  • Laporte, G., & Louveaux, F. V. (1993). The integer L-shaped method for stochastic integer programs with complete recourse. Operations Research Letters, 13(3), 133–142.

    Google Scholar 

  • Lee, D. H., Wang, H. Q., & Miao, L. (2008). Quay crane scheduling with non-interference constraints in port container terminals. Transportation Research Part E: Logistics and Transportation Review, 44(1), 124–135.

    Google Scholar 

  • Legato, P., Mazza, R. M., & Trunfio, R. (2010). Simulation-based optimization for discharge/loading operations at a maritime container terminal. OR Spectrum, 32(3), 543–567.

    Google Scholar 

  • Legato, P., & Trunfio, R. (2014). A local branching-based algorithm for the quay crane scheduling problem under unidirectional schedules. 4OR, 12(2), 123–156.

    Google Scholar 

  • Legato, P., Trunfio, R., & Meisel, F. (2012). Modeling and solving rich quay crane scheduling problems. Computers & Operations Research, 39(9), 2063–2078.

    Google Scholar 

  • Lim, A., Rodrigues, B., Xiao, F., & Zhu, Y. (2004). Crane scheduling with spatial constraints. Naval Research Logistics (NRL), 51(3), 386–406.

    Google Scholar 

  • Liu, J., Wan, Y. W., & Wang, L. (2006). Quay crane scheduling at container terminals to minimize the maximum relative tardiness of vessel departures. Naval Research Logistics (NRL), 53(1), 60–74.

    Google Scholar 

  • Meisel, F. (2011). The quay crane scheduling problem with time windows. Naval Research Logistics (NRL), 58(7), 619–636.

    Google Scholar 

  • Meisel, F., & Bierwirth, C. (2011). A unified approach for the evaluation of quay crane scheduling models and algorithms. Computers & Operations Research, 38(3), 683–693.

    Google Scholar 

  • Metropolis, N., Rosenbluth, A. W., Rosenbluth, M. N., Teller, A. H., & Teller, E. (1953). Equation of state calculations by fast computing machines. The Journal of Chemical Physics, 21(6), 1087–1092.

    Google Scholar 

  • Moccia, L., Cordeau, J. F., Gaudioso, M., & Laporte, G. (2006). A branch-and-cut algorithm for the quay crane scheduling problem in a container terminal. Naval Research Logistics (NRL), 53(1), 45–59.

    Google Scholar 

  • Noyan, N., Balcik, B., & Atakan, S. (2015). A stochastic optimization model for designing last mile relief networks. Transportation Science, 50(3), 1092–1113.

    Google Scholar 

  • Peterkofsky, R. I., & Daganzo, C. F. (1990). A branch and bound solution method for the crane scheduling problem. Transportation Research Part B: Methodological, 24(3), 159–172.

    Google Scholar 

  • Restrepo, M. I., Gendron, B., & Rousseau, L. M. (2017). A two-stage stochastic programming approach for multi-activity tour scheduling. European Journal of Operational Research, 262(2), 620–635.

    Google Scholar 

  • Sammarra, M., Cordeau, J. F., Laporte, G., & Monaco, M. F. (2007). A tabu search heuristic for the quay crane scheduling problem. Journal of Scheduling, 10(4–5), 327–336.

    Google Scholar 

  • Shang, X. T., Cao, J. X., & Ren, J. (2016). A robust optimization approach to the integrated berth allocation and quay crane assignment problem. Transportation Research Part E: Logistics and Transportation Review, 94, 44–65.

    Google Scholar 

  • Sherali, H. D., & Zhu, X. (2006). On solving discrete two-stage stochastic programs having mixed-integer first-and second-stage variables. Mathematical Programming, 108(2–3), 597–616.

    Google Scholar 

  • UNCTAD. (2019). Review of Maritime Transportation 2019. In Paper presented at the united nations conference on trade and development, New York and Geneva. Retrieved April 16, 2020, from https://unctad.org/en/PublicationsLibrary/rmt2019_en.pdf.

  • Unsal, O., & Oguz, C. (2013). Constraint programming approach to quay crane scheduling problem. Transportation Research Part E: Logistics and Transportation Review, 59, 108–122.

    Google Scholar 

  • van den Akker, M., Hoogeveen, H., & Stoef, J. (2018). Combining two-stage stochastic programming and recoverable robustness to minimize the number of late jobs in the case of uncertain processing times. Journal of Scheduling, 21, 1–11.

    Google Scholar 

  • Van Laarhoven, P. J., Aarts, E. H., & Lenstra, J. K. (1992). Job shop scheduling by simulated annealing. Operations Research, 40(1), 113–125.

    Google Scholar 

  • Van Slyke, R. M., & Wets, R. (1969). L-shaped linear programs with applications to optimal control and stochastic programming. SIAM Journal on Applied Mathematics, 17(4), 638–663.

    Google Scholar 

  • Wu, L., & Ma, W. (2017). Quay crane scheduling with draft and trim constraints. Transportation Research Part E: Logistics and Transportation Review, 97, 38–68.

    Google Scholar 

  • Wu, D., Mendel, J. M., & Coupland, S. (2012). Enhanced interval approach for encoding words into interval type-2 fuzzy sets and its convergence analysis. IEEE Transactions on Fuzzy Systems, 20(3), 499–513.

    Google Scholar 

  • Yen, J., & Birge, J. (2006). A stochastic programming approach to the airline crew scheduling problem. Transportation Science, 40(1), 3–14.

    Google Scholar 

  • Zacharias, C., & Pinedo, M. (2014). Appointment scheduling with no-shows and overbooking. Production and Operations Management, 23(5), 788–801.

    Google Scholar 

  • Zeng, Q., Yang, Z., & Hu, X. (2011). Disruption recovery model for berth and quay crane scheduling in container terminals. Engineering Optimization, 43(9), 967–983.

    Google Scholar 

  • Zhang, A., Zhang, W., Chen, Y., Chen, G., & Chen, X. (2017). Approximate the scheduling of quay cranes with non-crossing constraints. European Journal of Operational Research, 258(3), 820–828.

    Google Scholar 

  • Zhen, L. (2014). Container yard template planning under uncertain maritime market. Transportation Research Part E: Logistics and Transportation Review, 69, 199–217.

    Google Scholar 

  • Zhen, L. (2015). Tactical berth allocation under uncertainty. European Journal of Operational Research, 247(3), 928–944.

    Google Scholar 

  • Zhen, L., Lee, L. H., & Chew, E. P. (2011). A decision model for berth allocation under uncertainty. European Journal of Operational Research, 212(1), 54–68.

    Google Scholar 

  • Zhen, L., Yu, S., Wang, S., & Sun, Z. (2016). Scheduling quay cranes and yard trucks for unloading operations in container ports. Annals of Operations Research, 273, 1–24.

    Google Scholar 

  • Zhu, G., Bard, J. F., & Yu, G. (2007). A two-stage stochastic programming approach for project planning with uncertain activity durations. Journal of Scheduling, 10(3), 167–180.

    Google Scholar 

  • Zhu, Y., & Lim, A. (2006). Crane scheduling with non-crossing constraint. Journal of the Operational Research Society, 57(12), 1464–1471.

    Google Scholar 

Download references

Acknowledgements

This research is supported by the National Natural Science Foundation of China under Projects 71971154, 71671123, and 71771167 and by the MOE (Ministry of Education in China) Project of Humanities and Social Sciences (Project No. 17YJC630239).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ning Zhu.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A. Notation

See Table 12.

Table 12 Notation

Appendix B. Data support for research motivation

In this section, we showed relevant data to support our research motivation. First, we measured the processing time of 231 unloading and loading movements for cranes operating at Tianjin Port, China, as shown in Fig. 10. We found that the processing times of the cranes during loading and unloading varied drastically (i.e., from 1 to 20 min). According to Moccia et al. (2006), a task is a collection of containers, and an average of 30 containers per task is common in practice. The uncertainty in the processing time of a single move will result in a wider range of fluctuations in the completion time of each task. Second, we fitted the distribution of the processing time and found that it obeys a log-normal distribution (red line in Fig. 10), which is important to describe the container terminal production process. To further verify this finding, we used SPSS to plot the PP diagram of the processing time, as shown in Fig. 11, which shows that most of the points are located around the diagonal; thus, the processing time is consistent with the log-normal distribution. A log-normal process is justified by considering the central limit theorem in the log domain, which is positive. Third, we analyzed the reason why the task processing time obeys a log-normal distribution. For example, consider the time taken by workers to complete a particular task; because each worker is different, we obtain a distribution. However, all the values must be positive (because time cannot be negative). Furthermore, we can predict the distribution of the possible shapes. No one can perform the work in the minimum time, and there are a few “best” workers who are very fast. The most representative values of the common workers’ completion time form a peak. Finally, the tail represents a long list of workers who “lag behind.” Obviously, the normal distribution does not describe this distribution very well because in the normal distribution, a random variable can be defined as positive or negative; it is symmetric, and the tail is extremely short. As the processing times of tasks are the main uncertainty parameters, the optimal solutions obtained by solving the deterministic models using the estimated task processing times might not remain optimal and could sometimes even become infeasible in practice; for further details, readers may refer to Sect. 3.1. In summary, the presence of uncertainty in the real-world processing of operational schedules adds to the complexity of the problem, which motivates us to study the quay crane scheduling problem with uncertainty.

Fig. 10
figure 10

Processing time statistics and distribution fitting

Fig. 11
figure 11

PP diagram of the processing time

Appendix C. The scenario data for the example section

See Table 13.

Table 13 The scenario data for the example section

In order to make the scenario easier to understand, the following describes the way the scenario data is generated in the example. For scenario 1, we assume that the processing time of all tasks could increase at most 50% due to bad weather or other unknown reasons. For scenario 2, we assume that the processing time of all tasks could be reduced by at most 50% due to fine weather or other unknown reasons. The other scenarios follow the same setting.

Appendix D. Classical L-shaped algorithm

figure c

Appendix E. Sample generation technique by the Metropolis–Hastings algorithm

A sampling technique is used to create scenarios for the stochastic programming model. In our model, it mainly refers to the processing time of the task. Because the constraints of non-crossover and interference between cranes are considered in the model, each task can be treated as independent when it is processed. On the basis of this assumption, we sampled the processing time of each task and then randomly assembled it. In addition, the scenarios with a larger size were assumed to include all scenarios with a smaller size. This assumption was made to ensure that the scenario size was the only factor that influences the results of the experiments, and it is also widely employed in stochastic programming (Higle and Sen 1991; Fu et al. 2017) and questionnaire-based surveys (Wu et al. 2012).

Sampling procedures based on the Markov Chain Monte Carlo (MCMC) method were designed to generate scenarios, where MCMC methods are a class of algorithms for sampling from a probability distribution based on constructing a Markov chain that has the desired distribution as its stationary distribution. In our study, for a given probability density function (pdf) \( f\left( \cdot \right) \), we wish to have a convenient way to generate a corresponding sample. Following Metropolis et al. (1953), we constructed a Markov chain such that its limiting pdf is \( f \). As Markov chains can converge to a steady distribution, the state of the chain after a number of steps is then used as a sample. For further details on the MCMC method, readers may refer to the work of Kroese et al. (2014). Our sample generation procedure uses the Metropolis–Hastings algorithm, which is widely used in MCMC. The specific steps are as follows:

For the processing time of each task, given a transition density \( q({\mathbb{y}}|{\mathbb{x}}) \) and starting from an initial state \( {\mathbb{X}}_{0} \), repeat the following steps from \( t = 1\;{\text{to}}\;N \):

  1. 1.

    Generate \( {\mathbb{Y}} \sim q\left( {{\mathbb{y}}|{\mathbb{X}}_{t} } \right) \).

  2. 2.

    Generate \( U \sim U\left( {0,1} \right) \).

  3. 3.

    Set \( {\mathbb{X}}_{t + 1} = \left\{ {\begin{array}{*{20}l} {\mathbb{Y}} \hfill & {{\text{if}}\; U \le \alpha \left( {{\mathbb{X}}_{t} ,{\mathbb{Y}}} \right)} \hfill \\ {{\mathbb{X}}_{t} } \hfill & {\text{otherwise}} \hfill \\ \end{array} } \right. \), where \( \alpha \left( {{\mathbb{x}},{\mathbb{y}}} \right) = { \hbox{min} }\left\{ {\frac{f\left( {\mathbb{y}} \right)q({\mathbb{x}}|{\mathbb{y}})}{f\left( {\mathbb{x}} \right)q({\mathbb{y}}|{\mathbb{x}})},1} \right\} \).

In particular, we adopt the random walk sampler to deal with the transition density \( q({\mathbb{y}}|{\mathbb{x}}) \). In the random walk sampler, the proposal state \( {\mathbb{Y}} \) is given by \( {\mathbb{Y}} = {\mathbb{X}} + {\mathbb{Z}} \), where \( {\mathbb{Z}} \) is generated from a symmetric distribution. Therefore, the proposed transition density is symmetric, i.e., \( q({\mathbb{y}}|{\mathbb{x}}) = q({\mathbb{x}}|{\mathbb{y}}) \). It follows that the acceptance probability is \( \alpha \left( {{\mathbb{x}},{\mathbb{y}}} \right) = { \hbox{min} }\left\{ {\frac{f\left( {\mathbb{y}} \right)}{f\left( {\mathbb{x}} \right)},1} \right\} \). The above algorithm produces a sequence \( {\mathbb{X}}_{1} \), \( {\mathbb{X}}_{2} \),… of dependent random vectors, with \( {\mathbb{X}}_{\text{t}} \) approximately distributed according to \( f\left( {\mathbb{x}} \right) \) for large \( t \). In addition, the probability of each scenario is generated both independently and equally with their sum equal to one.

Appendix F. Implementation of the log-normal distribution

In this section, we explain how to use the log-normal distribution to generate the required stochastic processing time. Specifically, the mean value of the stochastic processing time of each task \( i \in \varOmega \) over all scenarios \( E\left[ {p_{i} } \right] \) is equal to the processing time \( \hat{p}_{i} \) of Kim and Park (2004) and Meisel and Bierwirth (2011). The standard deviation \( \sqrt {\text{var} \left[ {p_{i} } \right]} \) is obtained as the product of the mean value \( E\left[ {p_{i} } \right] \) and the coefficient of variation \( C_{\text{v}} \), \( \sqrt {\text{var} \left[ {p_{i} } \right]} \) = \( C_{\text{v}} \cdot E\left[ {p_{i} } \right] \). Accordingly, the log-normal distribution can be determined by the parameters \( \mu = \ln \left( {E\left[ {p_{i} } \right]} \right) - 1/2\sigma^{2} \) and \( \sigma^{2} = \ln \left( {1 + \text{var} \left[ {p_{i} } \right]/\left( {E\left[ {p_{i} } \right]} \right)^{2} } \right) \).

Appendix G. Parameter sensitivity analysis of the simulated annealing algorithm

In the following, we will attempt to select a set of parameters that are expected to produce good solutions for the simulated annealing algorithm. Five different problem instances are tested. As for each problem instance, we solve it with six different initial temperatures \( \tau^{0} \) (1000, 2000, 4000, 6000, 8000, and 10000), seven different stopping temperatures \( \tau^{\text{s}} \) (0.1, 0.5, 1, 2, 3, 4, and 5), six different cooling rates cr (0.55, 0.65, 0.75, 0.85, 0.95, and 0.99), and five different local search iterations \( I_{\hbox{max} } \)(1, 2, 5, 10, and 20). In addition, these five instances are solved five times, and we normalize each objective value by calculating 100 \( \times \) (objective value/lowest objective value). The average, best, and worst normalized values were plotted for different parameters, as shown in Fig. 12. The best performance was found when \( \tau^{0} = 4000 \), \( \tau^{\text{s}} = 1 \), \( {\text{cr}} = 0.95 \), and \( I_{\hbox{max} } = 10 \).

Fig. 12
figure 12

Sensitivity analysis of the simulated annealing algorithm parameters

Appendix H. Results obtained by the simulated annealing algorithm for medium- and large-sized instances

See Tables 14 and 15.

Table 14 Results obtained by the simulated annealing algorithm for medium- and large-sized instances of Kim and Park (2004)
Table 15 Results obtained by the simulated annealing algorithm for medium- and large-sized instances of Meisel and Bierwirth (2011)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ma, S., Li, H., Zhu, N. et al. Stochastic programming approach for unidirectional quay crane scheduling problem with uncertainty. J Sched 24, 137–174 (2021). https://doi.org/10.1007/s10951-020-00661-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10951-020-00661-8

Keywords

Navigation