1 Introduction

A shipping container is a box designed to enable goods delivered from door to door without its contents being physically handled (Cheng et al. 2005). According to the United Nations Conference on Trade and Development (UNCTAD), world container trade, as the fastest-growing cargo section, reached 170 million 20-foot equivalent units (TEUs) in 2012. This was more than double the world container trade in 2002 (UNCTAD 2012). Countries and territories across the globe have also improved their inland container transportation infrastructures to match the phenomenal growth of seaborne container transportation. Hiranandani (2014) stated that container terminals have a key role in integrated transport chains and regional economies. The primary goal of seaport container terminals is to move the containers as quickly as possible and at the least possible cost. In most container terminals, a large portion of the terminal turnaround time is spent on handling and storage operations (Ng 2005). Hence, an efficient terminal must ensure that vessels are unloaded and loaded accurately and quickly (Vis et al. 2001). Moreover, in the case of automated terminals, it is also important that schedules can be determined and programmed beforehand.

Since containers are large and heavy, specialized material handling equipment is required for handling them within the terminal. Some examples are quay cranes (QCs), automated guided vehicles (AGVs), and automated stacking cranes (ASCs). Most handling equipment is able to carry only one container at a time, and there are limitations as to how far they can carry a container (Das and Spasovic 2003). Whereas containers are conventionally stacked on top of each other in storage yards, a new concept for storage operations has been developed by Chen et al. (2003) and Hu et al. (2005). In the split-platform automated storage/retrieval system (SP-AS/RS) modified for the heavy load of containers, two platforms handle containers horizontally and vertically to reach the assigned storage cell.

Lau and Zhao (2008) attribute the main loss of performance at automated container terminals (ACTs) to the uncoordinated scheduling of handling and storage operations. Hence, in addition to deploying more advanced equipment within the ACTs, it is important to apply more efficient planning and scheduling protocols. Studies have shown that integrated scheduling of handling and storage operations in ACTs improves performance and increases loading/unloading capacities. Existing researches on integrated scheduling problems have often been based on certain assumptions that significantly affect their applicability in practical deployment; for example, only one type of task, either loading or unloading, is taken into consideration (Chen et al. 2007; Liang et al. 2009; Meersmans and Wagelmans 2001). On the other hand, to the best knowledge of the author, the SP-AS/RS has not been examined for the improvement of container handling efficiency. Since the SP-AS/RS consists of two sets of platforms, four different types of equipment (cranes, vehicles, horizontal platforms, and vertical platforms) are integrated in this scheduling problem. Essentially, the existing methods that encompass the scheduling of three types of equipment (cranes, vehicles, and storage equipment) are not appropriate in such situations that call for a combination of handling and storage equipment.

Since each of the equipment included in the integrated scheduling method plays a different role on the ground, a multi-objective mixed-integer programming (MIP) model for the problem is examined in this paper. Nevertheless, the integrated scheduling is a “non-deterministic polynomial-time hard” (NP-hard) problem (based on Lau and Zhao 2008; Meersmans and Wagelmans 2001; Steenken et al. 2004); i.e., it is hard to find a systematic method to obtain the optimal solution of this problem, especially for relatively large instances. To apply the proposed integrated scheduling method in practice, the near-optimal solutions of the problem are found within a reasonable computation time using principles of the simulated annealing algorithm (SAA).

In the sections that follow, a brief literature review in the area of knowledge is reported in Sect. 2. Section 3 encompasses the description of a detailed scenario for the integrated scheduling problem. The mathematical formulation of the problem is presented in Sect. 4. The fundamental notes of the proposed SAA are stated in Sect. 5. In order to evaluate the performance of the proposed optimization methods, the results of numerical tests are presented and discussed in Sect. 6. Finally, concluding notes of the research appear in Sect. 7.

2 Literature review

Container terminals primarily serve as an interface between different modes of transportation, e.g., domestic rail, road transportation, or deep sea maritime transport (Günther and Kim 2006). After container ships dock on a berth, containers are loaded and unloaded by using huge QCs and transferred to the storage yard on a vehicle. AGVs are one of the handling equipment employed in many ACTs worldwide. AGVs are not able to lift the containers by themselves; hence, a crane is needed to receive or deliver the containers (Vis and Harika 2004).

Until now, the most common method of container storage is stacking them in very large storage yards. To increase the number of containers stored in yards, researchers have recently considered the applicability of SP-AS/RS in ACTs (Vasili et al. 2012). As stated by Stahlbock and Voß (2008), the main advantages of introducing such new equipment in storage yards are the automation accorded by the equipment and the greater efficiency in land use. Asef-Vaziri and Khoshnevis (2006) state that once an exporting container of a specific vessel is stored in a block in a conventional storage yard, at least the whole column of the location is reserved for the containers of the same vessel so as to decrease the need to search for containers destined elsewhere. The same applies when a portion of a block is dedicated to a particular shipment. Therefore, if the arrival of the whole shipment stretches over 1 or 2 weeks, the arriving containers are directed to the assigned portion of the storage block. For these reasons, the practical land utilization indices for conventional storage yards are much lower than those for the SP-AS/RS, regardless of the type of equipment used. This poses a problem for many storage yards that have limited space to expand or where acquiring additional land is too costly. On the other hand, the reshuffling operations required in stacking storage yards are too time-consuming. For the SP-AS/RS, storage and retrieval operations of various containers are not dependent on the presence of other containers in the storage area, allowing the containers to be accessed more quickly (Chen et al. 2003; Hu et al. 2010; Vasili et al. 2008, 2012).

The SP-AS/RS system comprises a number of storage racks, each configured into two bays (Fig. 1). Each bay has a number of rows accessible by a vertical platform (VP). Storage cells in each row are served by horizontal platforms (HPs). Load/unload (L/U) stations are places for picking up/delivering the containers from/to the vehicles. An expected travel time model for various dwell point policies of VPs and HPs has been developed by Hu et al. (2005) and Vasili et al. (2008) who introduced a theoretically optimal design of the storage racks in SP-AS/RS, according to the speed of the VPs/HPs and height/length of the racks. Vasili et al. (2008) opine that the best dwell point policy for both VPs and HPs is for the platforms to stay in place at the last task completed. Under this policy, storage racks with shape factors of one to two have the lowest expected travel time. Based on conceptual designs of the SP-AS/RS, Hu et al. (2010) state that this storage system is feasible from both the economic and physical standpoints.

Fig. 1
figure 1

Formation of the storage racks in the SP-AS/RS (modified from Vasili et al. 2012)

Integrated scheduling of two types of handling equipment in ACTs has been widely studied in the past decade. Integrated scheduling of “vehicles and QCs” by Cao et al. (2010b), Chen et al. (2013), and Homayouni and Tang (2013), “yard cranes and vehicles” by Cao et al. (2010a), and “storage management and vehicles” by Wu et al. (2013) are some examples of such studies. Moghadam et al. (2011) have developed a decision support tool to the best container yard gantry crane for loading/discharging operation of trucks at the landside of marine container terminals. However, some research has focused on integrated scheduling of three types of handling equipment in ACTs, with the inclusion of storage equipment.

Meersmans and Wagelmans (2001) were among the first to consider integrated scheduling of handling and storage equipment. They presented a branch and bound (B&B) method and a beam search heuristic algorithm to optimize the integrated scheduling of QCs, AGVs, and ASCs. Chen et al. (2007) subsequently proposed a tabu search approach for the integrated scheduling of QCs, yard vehicles, and yard cranes. Lau and Zhao (2008) proposed an MIP model for the integrated scheduling of QCs, AGVs, and ASCs to minimize travel time of ASCs, AGVs, and delays in QC tasks. Furthermore, Liang et al. (2009) proposed an MIP model and a heuristic method to optimize the integrated scheduling of QCs, inner trucks, and yard cranes.

Although many researchers (e.g., Cao et al. 2010b; Homayouni and Tang 2013; Lau and Zhao 2008; Meersmans and Wagelmans 2001) have attempted formulations to address the scheduling problems in container terminals, Meersmans and Wagelmans (2001) showed that the integrated scheduling of handling and storage operations is an NP-hard problem, and large instances could not be optimized in a reasonable computation time using purely mathematical methods. Therefore, to overcome this issue, researchers have developed heuristic and meta-heuristic approaches.

Many researchers have implemented the SAA algorithm to optimize efficiency in container terminals. Kim and Moon (2003) proposed a simple SAA to optimize the berth allocation problem, while Lee et al. (2007) developed an SAA to minimize the average handling time in ACTs by scheduling two yard cranes to serve one QC to obtain the best combination of the control parameters for this problem. Subsequently, Vis and Carlo (2010) optimized the scheduling of two ASCs in a stacking bay by using an SAA to minimize the makespan of both ASCs. Similarly, Legato et al. (2010) used an SAA to optimize vessel loading/unloading efficiency in ACTs. Thus, the SAA has an experimentally proven record in the optimization of solutions to problems frequently encountered in container terminals.

3 Problem definition

The entire sequence in loading and unloading a vessel is preplanned and is usually divided into several periods. In each scheduled period, a list of tasks for each crane is prepared, based on their timing. Moreover, the location of the containers in the storage yard is also predetermined. The scheduling program for the vessels comprises a combination of loading and unloading tasks. Usually, the loading and unloading tasks, their starting points, and their destinations in the SP-AS/RS and the vessel are all preplanned.

For the current scheduling problem, the number of cranes assigned to a vessel is decided at an upper decision-making level, with only one vessel scheduled at any given time. It is presumed that all the vehicles in the fleet are identical and equal in their function, loading capacity, speed, etc. Moreover, the vehicles are not pooled; i.e., they operate independently and are not dedicated to a specific crane. The empty and loaded vehicles have the same speed, and congestion of the vehicles in the guide path is not considered. All the vehicles start their travels from identical L/U stations and return there once all their assignments are accomplished. Furthermore, the transferring time between various types of equipment is assumed to be deterministic, and it is small enough to be ignored.

It is assumed that the predetermined storage cell in the SP-AS/RS for the unloading tasks is empty, and the containers that are meant to be loaded in the vessel are in the respective storage cells in the SP-AS/RS in advance. The storage cells are numbered consecutively, from the points close to the hand-over (H/O) stations to the end of rows in the storage racks (Fig. 1). The dwell point policy for all types of handling equipment (i.e., the cranes, HPs, VPs, and the vehicles) is “stay in place” where their last task finished. Vehicles stay at an L/U station initially and return there once their assigned task is accomplished. Moreover, the HPs stay at the hand/over station in their rows, and the VPs stay at the L/U station of the racks in their initial and final operations.

In unloading tasks, the spreader of a crane moves from its dwell point to the vessel; it may shuffle the containers in the hold before picking up the desired container. The crane transfers the container to the pickup/delivery (P/D) point, loading it on the vehicle. Alongside, the vehicle moves from its dwell point to the P/D point. A vehicle that arrives at the P/D point earlier than the crane has to wait for it and vice versa. Once the crane has delivered the container to the vehicle, it can start on its next assigned task. In unloading tasks, therefore, the P/D point is the dwell point for the crane.

In the second part of its travel, the loaded vehicle moves to the L/U station. A predetermined cell in the SP-AS/RS is the destination of the containers in the unloading task. Accordingly, the VP of the desired rack has to travel from its dwell point to the L/U station to receive the container from the vehicle. Either the vehicle or the VP that arrives at the L/U station earlier has to wait for the other. After delivering the container, the vehicle is ready to start on its new assigned task. Therefore, the L/U station is the dwell point of vehicles in unloading tasks.

The loaded VP moves to the dedicated row in the H/O station. At the same time, the HP travels from its dwell point to the H/O station and receives the containers from the VP. Either the VP or the HP that arrives at the H/O station earlier waits for the platform that arrives later. Once the VP has delivered the container to the HP, it is ready to perform its next task. Therefore, the H/O station is the dwell point for the VP in unloading tasks. On the other hand, the loaded HP has to move to the predetermined storage cell and store the container. This cell is the dwell point of the HP in unloading tasks. Detailed journeys of the equipment in an unloading task are presented in Fig. 2. Handling and storage operations in the loading tasks are similar to the abovementioned scenario for the unloading tasks but executed in the reverse mode.

Fig. 2
figure 2

Example of an unloading task in ACTs

4 The proposed MIP model

A mixed-integer programming (MIP) model for the integrated scheduling of handling and storage operations in the ACTs is presented in this section. The most important decision variables of this model are the order of the tasks of the cranes, assignment of vehicles to the tasks, and sequence of storage operations for the HPs and VPs. For easier development of the mathematical model, any given task is denoted by T ki , and O mn . The former shows that current task is the i th task of QC number k (QC k ), and the latter shows that this is n th operation on the storage rack number m (SR m ). A binary variable Χ mn ki shows whether or not T ki and O mn are related to one task. Q k shows the number of tasks predetermined for each crane, and N m is the number of operations in the SR m . SR ki is the storage rack of T ki , while the storage cell for O mn is C mn , which is located in a row of the storage rack R mn . Table 1 shows the details of sample loading/unloading tasks and their details based on the above-mentioned notations. For example, for task number 1 in Table 1, there is a container in the 20th cell of the second row of the fifth storage rack, which should be loaded to the vessel as the first task of the first crane.

Table 1 A sample list of loading/unloading tasks

Every piece of equipment in the loading or unloading tasks needs two parts of a journey: first from its dwell point to the starting point of its current task and, the second, from the starting point of the task to its final destination (see Fig. 2 for details). If T ki and T lj are performed consecutively using the same vehicle, Ta lj ki is defined as the time required for the vehicle to perform a journey from its dwell point in T ki to the starting point of T lj . On the other hand, Tb lj ki is defined as the time that vehicle moves from the starting point of T lj to its final destination. Similarly, if it is decided that one of the VPs in the storage rack should perform operations O mn and O mp consecutively, TVa mp mn and TVb mp mn are the respective travel times of the assigned VP; THa mp mn and THb mp mn are travel times for O mn and O mp accomplished successively on the same HP. The sequences of tasks for the VPs and for the HPs are not necessarily the same. The travel times of the vehicles and platforms depend on the specifications of the two consecutive tasks.

Table 2 depicts the travel time for the vehicle and platforms. As an example, suppose T ki is a loading task and T lj is an unloading task (second row of Table 2). In T ki , the vehicle delivers a container to the QC k and starts its new task from there. It travels to QC l to unload another container. Thus, Ta lj ki equals to the time that a vehicle travels from QC k to QC l (shown as QC k  → QC l in Table 2). After unloading the container, the vehicle moves from QC l to the SR lj (Tb lj ki ) On the other hand, suppose O mn is a loading task and O mp is an unloading task (O mp is actually the required operation for T lj ). The VP has delivered a container to a vehicle in its previous operation and waits at L/U station for its next assigned task. Thus, the VP is not required to travel (TVa mp mn  = L/U → L/U = 0). After receiving the container, the VP moves from the L/U station to the related row (TVb mp mn ) Since the previous operation of the HP is loading, the HP delivers the container to the VP and waits at the H/O station for its next assigned task (THa mp mn  = H/O → H/O = 0). The loaded HP then travels to the related storage cell (THb mp mn  = H/O → C mp ).

Table 2 Illustration of travel time of AGVs, HPs, and VPs

It should be noted that two dummy tasks are defined for the initial and final journeys of each vehicle and platform. T si and T fi are the initial tasks for the i th vehicle, and Θ mn mV and Θ mn mW show the initial journeys for first and second VPs of each S m , respectively. To show the initial and final operations of the HPs, O mHr represents their initial and final events. For example, \( {\varPsi}_{m{H}_r}^{mp} \) shows that O mp starts as the first event of the r th HP; \( {\varPsi}_{mn}^{m{H}_r} \) shows that after finishing operations of the O mn , the r th HP moves to its final position. For the proposed MIP model, the following sets and decision variables are defined.

  • L: the set of loading tasks,

  • U: the set of unloading tasks,

  • K: the set of cranes assigned to L/U a vessel,

  • M: the set of storage racks in SP-AS/RS,

  • A: the set of active vehicles in the scheduling period,

  • S: the set of initial positions for the vehicles,

  • F: the set of final positions of vehicles,

  • V: the set of initial and final positions for the first VPs,

  • W: the initial and final positions for the second VPs,

  • H r : the set of initial and final positions of HPs,

  • TQ: the average time required for cranes to travel from P/D point to the top of the vessel,

  • OQ: the average time required for cranes to shuffle containers in hold and L/U the specific container,

  • TQC ki : the completion time of the operations of QC k on T ki ,

  • TLU ki : the completion time of the operations of L/U ki on T ki ,

  • TmH mn : the time for the HP to finish its initial operation on O mn ,

  • THP mn : the completion time of the HP operations on O mn ,

  • TmV mn : the time for the VP to finish its initial operation on O mn ,

  • TVP mn : the completion time of the VP operations on O mn ,

  • ES ki : the earliest possible completion time for QC k on T ki .

  • Ω lj ki  = 1: if T lj is performed by the same vehicle directly after T ki and 0 otherwise,

  • Θ mp mn  = 1: if O mp is performed directly after O mn by the same VP on SR m and 0 otherwise,

  • Ψ mp mn  = 1: if O mp is performed directly after O mn by the same HP on SR m and 0 otherwise.

The objective of the integrated scheduling problem includes minimizing the total travel time of the vehicles, VPs, and HPs and delays in loading and unloading tasks performed by the cranes in the scheduling period. These three objectives have different weights for the port authorities. Therefore, cost coefficients (α, β, and γ) are used in the objective function of the MIP model (shown in Eq. (1)) to normalize them. These coefficients have been set by Lau and Zhao (2008) as α = 0.1, β = 0.8, and γ = 0.1, based on their importance for the port authorities. The proposed MIP model is represented in Eqs. 1 to 33.

Minimize Z:

$$ \alpha \left({\displaystyle \sum_{k=1}^{K\cup S}{\displaystyle \sum_{i=1}^{Q_k}{\displaystyle \sum_{l=1}^{K\cup F}{\displaystyle \sum_{j=1}^{Q_1}\left(T{a}_{ki}^{lj}+T{b}_{ki}^{lj}\right){\varOmega}_{ki}^{lj}}}}}\right)+\beta \left({\displaystyle \sum_{k=1}^K\left(TQ{C}_{k{Q}_k}-E{S}_{k{Q}_k}\right)}\right)+\gamma \left({\displaystyle \sum_{m=1}^M{\displaystyle \sum_{n=1}^{N_m\cup \left\{V,W\right\}}{\displaystyle \sum_{p=1}^{N_m\cup \left\{V,W\right\}}\left(T{V}_{mn}^{mp}+T{V}_{mn}^{mp}\right){\varTheta}_{mn}^{mp}}}}\right)+\gamma \left({\displaystyle \sum_{m=1}^M{\displaystyle \sum_{n=1}^{N_m\cup H}{\displaystyle \sum_{p=1}^{N_m\cup {H}_r}\left(TH{a}_{mn}^{mp}+TH{b}_{mn}^{mp}\right){\varPsi}_{mn}^{mp}}}}\right) $$
(1)

Subject to:

$$ {\displaystyle \sum_{l=1}^{K{\displaystyle \cup }F}}{\displaystyle \sum_{j=1}^{Q_l}}{\varOmega}_{ki}^{lj}=1\kern1.44em \mathrm{f}\mathrm{o}\mathrm{r}\forall k\in K\cup S;\kern0.24em i=1,\dots {Q}_k\square $$
(2)
$$ {\displaystyle \sum_{k=1}^{K{\displaystyle \cup }S}}{\displaystyle \sum_{i=1}^{Q_k}}{\varOmega}_{ki}^{lj}=1\kern1.32em \mathrm{f}\mathrm{o}\mathrm{r}\forall l\in K\cup F;\kern0.24em j=1,\dots {Q}_l\square $$
(3)
$$ {\displaystyle \sum_{n=1}^{N_m{\displaystyle \cup}\left\{V,W\right\}}}{\varTheta}_{mn}^{mp}=1\kern1.56em \mathrm{f}\mathrm{o}\mathrm{r}\forall m\in M;p=1,\dots {N}_m\cup \left\{V,W\right\};\kern0.24em if\;p\ne n\square $$
(4)
$$ {\displaystyle \sum_{p=1}^{N_m{\displaystyle \cup}\left\{V,W\right\}}}{\varTheta}_{mn}^{mp}=1\kern1.44em \mathrm{f}\mathrm{o}\mathrm{r}\forall m\in M;n=1,\dots {N}_m\cup \left\{V,W\right\};\kern0.24em if\;p\ne n\square $$
(5)
$$ {\displaystyle \sum_{n=1}^{N_m}}{\varPsi}_{mn}^{mp}=1\kern1.56em \mathrm{f}\mathrm{o}\mathrm{r}\forall m\in M;p=1,\dots {N}_m\cup {H}_r;\kern0.24em if\;{R}_{mn}={R}_{mp}\&p\ne n\square $$
(6)
$$ {\displaystyle \sum_{p=1}^{N_m}}{\varPsi}_{mn}^{mp}=1\kern1.56em \mathrm{f}\mathrm{o}\mathrm{r}\forall m\in M;n=1,\dots {N}_m\cup {H}_r;\kern0.24em if\;{R}_{mn}={R}_{mp}\&p\ne n\square $$
(7)
$$ Tm{V}_{mp}-\left(TV{P}_{mn}+TV{a}_{mn}^{mp}\right)\ge BM\left({\varTheta}_{mn}^{mp}-1\right)\kern0.84em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall m\in M;\ n=1,\dots,\ {N}_m{\displaystyle \cup}\left\{V,W\right\};\ p=1, \dots, {N}_m{\displaystyle \cup}\left\{V,W\right\}; if{O}_{mp}\in L\square $$
(8)
$$ TV{P}_{mp}-\left(TH{P}_{mp}+TV{b}_{mn}^{mp}\right)\ge BM\left({\varTheta}_{mn}^{mp}-1\right)\kern0.6em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall m\in M;n=1,\dots,\ {N}_m{\displaystyle \cup}\left\{V,W\right\};p=1, \dots, {N}_m{\displaystyle \cup}\left\{V,W\right\}; if\ {O}_{mp}\in L\square $$
(9)
$$ TV{P}_{mn}-\left(TQ{C}_{ki}-TQ-OQ+T{a}_{ki}^{lj}\right)\ge BM\left({\varOmega}_{ki}^{lj}-1\right)\kern0.48em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall m\in M;p=1, \dots, {N}_m{\displaystyle \cup}\left\{V,W\right\};\ \forall\ k\&l\in K;i=1, \dots, {Q}_k;\ j=1,\dots, {Q}_l;\ \mathrm{if}\ {X}_{lj}^{mn}=1\ \&\ {O}_{mn}\in L\ \&\ {T}_{ki}\in L\square $$
(10)
$$ TV{P}_{mn}-\left( TL{U}_{ki}+T{a}_{ki}^{lj}\right)\ge BM\left({\varOmega}_{ki}^{lj}-1\right)\kern0.48em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall m\in M;n=1,\dots,\ {N}_m{\displaystyle \cup}\left\{V,W\right\};\forall\ k\&l\in K;i=1, \dots, {Q}_k;\ j=1,\dots, {Q}_l;\mathrm{if}\ {X}_{lj}^{mn}=1\ \&\ {O}_{mn}\in L\ \&\ {T}_{ki}\in U\square $$
(11)
$$ Tm{V}_{mp}-\left(TV{P}_{mn}+TV{a}_{mn}^{mp}+TV{b}_{mn}^{mp}\right)\ge BM\left({\varTheta}_{mn}^{mp}-1\right)\kern1.08em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall m\in M;n=1,\dots,\ {N}_m{\displaystyle \cup}\left\{V,W\right\};p=1, \dots, {N}_m{\displaystyle \cup}\left\{V,W\right\}; if\ {O}_{mp}\in U\square $$
(12)
$$ Tm{V}_{mp}-\left(TQ{C}_{lj}+T{b}_{ki}^{lj}+TV{b}_{mn}^{mp}\right)\ge BM\left({\varTheta}_{mn}^{mp}+{\varOmega}_{ki}^{lj}-2\right)\kern0.96em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall m\in M;n=1,\dots,\ {N}_m{\displaystyle \cup}\left\{V,W\right\};p=1, \dots, {N}_m{\displaystyle \cup}\left\{V,W\right\};\forall\ k\&l\in K;i=1, \dots, {Q}_k;\ j=1,\dots, {Q}_l;\mathrm{if}\ {X}_{lj}^{mp}=1\ \&\ {O}_{mp}\in U\square $$
(13)
$$ TV{P}_{mn}- Tm{H}_{mn}\ge 0\kern1.2em \mathrm{f}\mathrm{o}\mathrm{r}\forall m\in M;n=1,\dots {N}_m\cup \left\{V,W\right\};\kern0.24em if\;{O}_{mn}\in U\square $$
(14)
$$ TV{P}_{mn}- Tm{V}_{mn}\ge 0\kern1.32em \mathrm{f}\mathrm{o}\mathrm{r}\forall m\in M;n=1,\dots {N}_m\cup \left\{V,W\right\};\kern0.24em if\;{O}_{mn}\in U\square $$
(15)
$$ Tm{H}_{mp}-\left(TH{P}_{mn}+TH{a}_{mn}^{mp}+TH{b}_{mn}^{mp}\right)\ge BM\left({\varPsi}_{mn}^{mp}-1\right)\kern0.72em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall m\in M;n=1,\dots,\ {N}_m{\displaystyle \cup }H;p=1, \dots, {N}_m{\displaystyle \cup }{H}_r,\ {O}_{mp}\in L\square $$
(16)
$$ Tm{H}_{mp}-\left(TH{P}_{mn}+TH{a}_{mn}^{mp}\right)\ge BM\left({\varPsi}_{mn}^{mp}-1\right)\kern1.08em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall m\in M;n=1,\dots,\ {N}_m{\displaystyle \cup }H;p=1, \dots, {N}_m{\displaystyle \cup }{H}_r,\ {O}_{mp}\in U\square $$
(17)
$$ TH{P}_{mn}- Tm{H}_{mn}\ge 0\kern1.08em \mathrm{f}\mathrm{o}\mathrm{r}\forall m\in M;n=1,\dots {N}_m\cup H;\kern0.24em if\;{O}_{mn}\in L\square $$
(18)
$$ TH{P}_{mn}- Tm{V}_{mn}\ge 0\kern0.6em \mathrm{f}\mathrm{o}\mathrm{r}\forall m\in M;n=1,\dots {N}_m\cup H;\kern0.24em if\;{O}_{mn}\in L\square $$
(19)
$$ TH{P}_{mp}-\left( Tm{H}_{mp}+TH{b}_{mn}^{mp}\right)\ge BM\left({\varPsi}_{mn}^{mp}-1\right)\kern0.6em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall m\in M;n=1,\dots,\ {N}_m{\displaystyle \cup }H;p=1, \dots, {N}_m{\displaystyle \cup }{H}_r,\ {O}_{mp}\in U\square $$
(20)
$$ TH{P}_{mp}-\left( Tm{V}_{mp}+TH{b}_{mn}^{mp}\right)\ge BM\left({\varPsi}_{mn}^{mp}-1\right)\kern0.72em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall m\in M;n=1,\dots,\ {N}_m{\displaystyle \cup }H;p=1, \dots, {N}_m{\displaystyle \cup }{H}_r,\ {O}_{mp}\in U\square $$
(21)
$$ TL{U}_{ki}=TV{P}_{mn}\kern1.08em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall k\in K;i=1,\dots,\ {Q}_k;m\in M;n=1, \dots, {N}_m;\ \mathrm{if}\ {X}_{ki}^{mp}=1\ \&\ {T}_{ki}\in L\square $$
(22)
$$ TL{U}_{ki}-\left( Tm{V}_{mp}-TV{b}_{mn}^{mp}\right)\ge BM\left({\varTheta}_{mn}^{mp}-1\right)\kern0.96em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall k\in K;i=1,\dots,\ {Q}_k;m\in M;n=1, \dots, {N}_m;p=1,\dots, {N}_m;\ \mathrm{if}\ {X}_{ki}^{mp}=1\ \&\ {T}_{ki}\in U\square $$
(23)
$$ TQ{C}_{ki}-\left(TQ{C}_{ki-1}+2TQ+OQ\right)\ge 0\kern1.08em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall k\in K{\displaystyle \cup }S;\ i=2, \dots,\ {Q}_k\ if\ \left({T}_{ki}\ \&\ {T}_{ki-1}\in L\right)\ or\ \left({T}_{ki}\ \&\ {T}_{ki-1}\in U\right)\square $$
(24)
$$ TQ{C}_{ki}-\left(TQ{C}_{ki-1}+TQ+OQ\right)\ge 0\kern0.84em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall k\in K{\displaystyle \cup }S;\ i=2, \dots,\ {Q}_k\ if\ \left({T}_{ki}\ \in L\ \&\ {T}_{ki-1}\in U\right)\ or\ \left({T}_{ki}\in U\ \&\ {T}_{ki-1}\in L\right)\square $$
(25)
$$ TQ{C}_{lj}-\left( TL{U}_{lj}+T{b}_{ki}^{lj}+TQ+OQ\right)\ge BM\left({\varOmega}_{ki}^{lj}-1\right)\kern0.96em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall k\in K{\displaystyle \cup }S;\ \forall l\in K{\displaystyle \cup }F,\ i=1, \dots,\ {Q}_k,\ j=1,\dots, {Q}_l, if\kern0.5em {T}_{lj}\in L\square $$
(26)
$$ TQ{C}_{lj}-\left( TL{U}_{ki}+T{a}_{ki}^{lj}\right)\ge BM\left({\varOmega}_{ki}^{lj}-1\right)\kern0.96em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall k\in K{\displaystyle \cup }S;\ \forall l\in K{\displaystyle \cup }F,\ i=1, \dots,\ {Q}_k,\ j=1,\dots, {Q}_l, if\kern0.5em {T}_{lj}\&\ {T}_{ki}\in U\square $$
(27)
$$ TQ{C}_{lj}-\left(TQ{C}_{ki}-TQ-OQ+T{a}_{ki}^{lj}\right)\ge BM\left({\varOmega}_{ki}^{lj}-1\right)\kern1.08em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall k\in K{\displaystyle \cup }S;\ \forall l\in K{\displaystyle \cup }F,\ i=1, \dots,\ {Q}_k,\ j=1,\dots, {Q}_l, if{T}_{lj}\in U\ \&\ {T}_{ki}\in L\square $$
(28)
$$ TQ{C}_{ki}\ge E{S}_{ki}\kern1.2em \mathrm{f}\mathrm{o}\mathrm{r}\forall k\in K;i=1,\dots, {Q}_k\square $$
(29)
$$ TQ{C}_{ki}-TQ{C}_{k\left(i-1\right)}\ge E{S}_{ki}-E{S}_{k\left(i-1\right)}\kern1.08em \mathrm{f}\mathrm{o}\mathrm{r}\forall k\in K;i=2,\dots, {Q}_k\square $$
(30)
$$ {\varOmega}_{ki}^{lj}=0\ \mathrm{o}\mathrm{r}\ 1\kern0.72em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall k\in K{\displaystyle \cup }S;\ \forall l\in K{\displaystyle \cup }F;\ i=1, \dots,\ {Q}_k;\ j=1,\dots, {Q}_l\square $$
(31)
$$ {\varTheta}_{mn}^{mp}=0\ \mathrm{o}\mathrm{r}\ 1\kern1.56em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall m\in M;n=1, \dots, {N}_m\cup \left\{V,W\right\};\ p=1,\dots, {N}_m\cup \left\{V,W\right\}\square $$
(32)
$$ {\varPsi}_{mn}^{mp}=0\ \mathrm{o}\mathrm{r}\ 1\kern1.08em \mathrm{f}\mathrm{o}\mathrm{r}\ \forall m\in M;n=1, \dots, {N}_m\cup H;\ p=1,\dots, {N}_m\cup {H}_r\square $$
(33)

The first set of constraints (Eqs. (2) to (7)) includes the scheduling of tasks for the cranes, the vehicles, and the SP-AS/RS. Equation (2) implies that any of the tasks assigned to cranes should be followed by only one other task using the same vehicle. Similarly, any task of a crane should be preceded by only one another task using the same vehicle, as stated in Eq. (3). The VP operations for any of the storage racks are scheduled through Eqs. (4) and (5). The VP operations start from its initial position (either V or W) and end there once all the assigned tasks are completed. Equations (6) and (7) schedule the operations of HPs in each storage rack.

The second set of constraints (Eqs. (8) to (30)) calculates the exact completion time of the tasks assigned to the equipment. BM in these equations is a relatively large positive number. Calculations for the completion time of handling equipment need a chain of interrelated sub-calculations. For example, the completion time of the L/U stations is related to the completion time of the HPs and VPs. Equation (8) calculates the completion time of the initial part of VP’s operation in loading tasks; it consists of traveling from the dwell point of O mn to the H/O station in the R mp . Once the VP receives the container from the HP, it can travel to the L/U station. However, the VP has to wait for the vehicle to deliver the container (shown in Eq. 9). The calculation of TVP for the loading tasks is related to the travel time from the dwell point of the assigned vehicle too (shown in Eqs. (10) and (11)).

On the other hand, the current time at the end of the initial part of the VP operations in unloading tasks is calculated in Eqs. (12) and (13). First, the VP travels from its dwell point in O mn to the L/U station. This is matched with the travel time of the vehicle, from the crane to the L/U station. Once the VP receives the container, it moves to the H/O station. Finally, in Eqs.(14) and (15), the completion time for the VP in unloading tasks is calculated. Moreover, the current time of HP after the initial part of its operations and the completion time for the HP operations in both loading and unloading tasks are calculated in Eqs. (16) to (21).

The completion times of the L/U station (TLU) operations in loading and unloading tasks are calculated through Eqs. (22) and (23). TLU is the time that the VP delivers (receives) the container to (from) the vehicle. The completion times of the tasks of cranes are calculated through Eqs. (24) to (28); they are related to the type of their current and previous tasks and the previous task performed by the vehicle. Therefore, this constraint is active only if the Ω lj ki equals to 1. For example, suppose that current task for the QC (T lj ) is loading, its previous task (T lj-1) is unloading, and the previous task of the vehicle (T ki ) is either a loading or an unloading task. Therefore, the dwell point of the crane is the P/D point, and its current time equals to the completion time of TQC lj-1. On the other hand, the crane should wait for the vehicle to transfer the container from the L/U station to the P/D point. As the vehicle moves from its dwell point to the L/U station, the current time of the vehicle and that of the L/U station are updated (based on the Eq. (22)). After receiving the container, the loaded vehicle moves to the P/D point. Therefore, the current time of the vehicle at the P/D point equals TLU lj  + Tb lj ki . The current time of the crane and the vehicle is the maximum of the above-mentioned two expressions for the vehicle and the crane (shown in Eqs. (25) and (26)). At this juncture, the crane should load the container into the hold of the vessel.

The precedence relations for the tasks of the cranes are observed through Eqs. (29) and (30). The earliest possible completion time for the tasks of the cranes is calculated based on this assumption that there are no delays in crane operations because of the vehicles. Therefore, the ES ki is the cumulative pure time for the containers being transferred and loaded/unloaded by the crane. Equation (29) implies that the completion time of the tasks of cranes should be greater than its ES ki . Moreover, through Eq. (30), the difference of the completion time for two consecutive tasks of a crane should be greater than the difference of their earliest possible completion time. Therefore, the tasks of a specific crane are scheduled consecutively, with the containers moved to and from different vehicles. Finally, Eqs. (31 to 33) emphasize that all decision variables (Ω lj ki , Θ mp mn , and Ψ mp mn ) are binary.

5 The SAA

The SAA is a compact approach to problems in operational optimization. As an analogy, liquid metal has a high level of energy and its atoms are free to move around to change the structure of the metal. If the cooling process of a metal is slow enough (annealing), the atoms have the opportunity to find a state with the minimum level of energy and to form a pure crystal shape (Suman and Kumar 2006). The concept of slow cooling in metallurgy is reflected in the SAA as a slow decrease in the probability of worse solutions being accepted while a near-optimal solution is being sought in the course of an extensive search. The SAA differs from iterative algorithms in that it has a mechanism that enables it to escape from the local optimum and to reach a global optimum (Dereli and Sena Das 2010).

The algorithm described by Dréo et al. (2006) starts from an initial temperature (T I) and searches for solutions NT times (trials) at each temperature level (T r ). The temperature is decreased level by level to reach the final temperature (T f ), which is used as the stop criterion of the SAA. Therefore, the initial and the final temperatures in addition to the number of trials are the control parameters of the SAA. Suman and Kumar (2006) state that using higher initial temperature for the NP-hard problems facilitates the exploring of more feasible search space and, hopefully, improves the chances of finding near-optimal solutions. The proposed SAA for this research determines the order of the tasks of cranes and operations in SP-AS/RS. However, the vehicles are assigned to the loading/unloading tasks by heuristic rules. The objective function for the proposed SAA is the same as the one for the MIP model (presented in Eq. 1).

To represent a string of tasks based on the number of cranes (i.e., one to K) and their respective tasks (i.e., one to Q k ), the tasks are sorted and are numbered using integers from one to N (total number of tasks in the scheduling period). Similarly, the storage operations are numbered in the same order of cranes’ tasks. Figure 3a illustrates this encoding system. A feasible string of tasks observes the precedence relations of the tasks of each crane. A sample feasible string is illustrated in Fig. 3b.

Fig. 3
figure 3

A feasible string of tasks of the cranes

To create an initial solution for the proposed SAA, a random string of numbers ranging from 1 to N is produced. However, this string might not be feasible because of conflicts in the preceding tasks of the cranes. In resolving such discrepancies, all the cells in the string are searched for the tasks of each crane in the first step. In the second step, all the tasks of a crane are sorted in their respective positions from left to right, thus obtaining a random feasible string of the tasks (steps of the procedure are illustrated in Fig. 4). The same color of the cells in Fig. 4 shows that the same crane performs the tasks. In a feasible string of tasks, the sequence of tasks performed by the cranes and the SP-AS/RS is determined. The cranes and HPs are assigned to their tasks according to the predetermined location of the containers (either in the vessel or in the SP-AS/RS). However, the earliest available VP is assigned to perform the current task and is assigned a vehicle. In this situation, three different heuristic rules are proposed and the most appropriate is selected:

  1. 1.

    Random assignment (RA): This rule emphasizes a RA of vehicles, regardless of the influence this assignment has on the objective function of the problem.

  2. 2.

    Nearest vehicle (NV): The NV to the starting point of current task is selected.

  3. 3.

    Earliest available vehicle (EAV): A vehicle that arrives at the starting point of the task earlier is selected.

Fig. 4
figure 4

An example of the steps in creating a feasible random string for tasks of the cranes

Details of the proposed SAA are presented in Table 3. Since the probability of accepting worse solutions declines as the current temperature decreases, temperature decrease (the cooling process) is the most important operator to ensure that the SAA converges to a near-optimal solution. The geometric cooling (GC) process (Kim and Moon 2003) is presented in Eq. (34), in which α is known as the cooling rate. Naderi et al. (2009) describes the linear cooling (LC) process of the current temperature by using a linear function illustrated in Eq. (35). Furthermore, they propose an exponential cooling (EC) process accessible in Eqs. (36) and (37). In Eqs. (34) to (37), R and r are the total number of decrements and the current number of times that the temperature has been decreased, respectively.

Table 3 The proposed simulated annealing algorithm
$$ {T}_{r+1}=\alpha {T}_r\kern1.44em {T}_0 = {T}_{\mathrm{I}} $$
(34)
$$ {T}_r={T}_{\mathrm{I}}-r\frac{T_{\mathrm{I}}-{T}_{\mathrm{f}}}{R}\kern1.44em r = 1,2, \dots,\ R $$
(35)
$$ {T}_r=\frac{A}{r+1}+B\kern1.08em r = 1,2, \dots,\ R $$
(36)
$$ A=\frac{\left({T}_{\mathrm{I}}-{T}_{\mathrm{f}}\right)\left(R+1\right)}{R}\kern0.96em \mathrm{and}\kern1.25em B={T}_{\mathrm{I}}-A $$
(37)

To generate a new solution in each trial of the SAA, a “swap” neighborhood search structure (NSS) is applied. In this structure, two positions of the current string of tasks belonging to two different cranes are selected randomly. The swap NSS is performed only if the precedence relations of crane tasks are observed. Considering the feasible string of tasks presented in Fig. 4, if, for example, positions 7 and 10 are selected (contains tasks 1 and 13), task number 13 is swapped to position 7 and task number 1 is swapped to position 13. This swap operation is feasible, because task number 2 (subsequent of task 1) is in 11th position and task number 12 (precedent of task 13) is in 6th position. If the selected tasks are not qualified for the swap NSS, another pair of tasks is verified for that purpose. The algorithm shown in Fig. 5 is performed for this NSS.

Fig. 5
figure 5

The swap neighborhood search structure

The control parameters for the SAA have a great influence on its performance. The initial temperature usually indicates how poor solutions can be accepted in consecutive iterations of the algorithm. On the other hand, the number of generated solutions in a specific temperature is important to create as many feasible solutions as possible before decreasing the temperature. The cooling process is the other important operator of the SAA. For the proposed SAA, all the control parameters and the cooling processes are selected by performing a set of preliminary tests, described in Sect. 6.

6 Results of numerical experiments and discussion

A series of numerical experiments were conducted to evaluate the performance of the proposed optimization methods in the integrated scheduling of handling and storage operations. The typical ACT layout used in this research had been proposed by Lau and Zhao (2008); however, instead of a conventional storage yard, the SP-AS/RS was suggested for the ACT layout in this research. A schematic view of this layout is depicted in Fig. 6. There are six QCs, numbered 1 to 6, and six L/U stations of the SP-AS/RSs, numbered 7 to 12. The travel time of the vehicles between any of the P/D points and the L/U stations had earlier been set by Lau and Zhao (2008). The operational time for the QCs was set to 20 s and was assumed to be identical for loading or unloading tasks. The operational time was the average time required for the operations of the QCs, including the required reshuffling operations. The travel time of the cranes between the vessel and the P/D point was set to 10 s.

Fig. 6
figure 6

An illustration for the proposed ACT layout

In the SP-AS/RS, the height and width of the storage cells were assumed to be 3 m. The velocity for the HPs and VPs was assumed to be 2 and 1 m per second, respectively (based on the assumptions of Hu et al. (2005) and Vasili et al. (2008)), without any positive or negative acceleration. For example, it would take 9 s for the HPs to travel from the sixth storage cell to the H/O station. Moreover, each bay of the storage rack consisted of ten rows and 12 columns or 240 storage cells in total storage rack, based on the assumptions of Liu et al. (2002) in their AS/RS-based simulation of ACTs.

Ten small-size test cases numbered S1 to S10 and five medium-size test cases numbered M1 to M5 were designated for this research. In the small-size test cases, two to four cranes were allocated to a vessel, and three to six tasks were assigned to the cranes. In the medium-size test cases, three or four cranes were assigned to a vessel, and up to 15 tasks were allocated to each crane. Medium-size test cases were used to select the appropriate operators and control parameters of the proposed SAA. In this exercise, the specifications of the test cases were generated randomly.

The first test was conducted to find the best cooling process and control parameters for the proposed SAA. Figure 7 illustrates how the suggested cooling processes reduced the temperature along with the SAA iterations. It shows that while LC decreased the current temperature smoothly, EC cooled down quickly in the initial iterations of the SAA. Therefore, the probability of accepting worse solutions was equal for any temperature in LC, whereas EC accepted worse solutions in initial iterations. After approximately 10 % of the iterations, however, EC would not generally accept worse solutions. This might result in fewer new areas being searched in most of the iterations of the algorithm. For the GC cooling process, the temperature decreased rapidly for nearly 60 % of the iterations of the SAA, during which time, there was a greater probability of worse solutions being accepted. In the remaining 40 % of the iterations, however, the SAA was unlikely to accept worse solutions in its search for the optimal solution. Figure 8 illustrates the current solution recorded in any temperature level under the GC cooling process for test case M3.

Fig. 7
figure 7

Mean of objective values obtained by the SAA under various cooling processes and the temperature decrement in the cooling processes

Fig. 8
figure 8

Convergence to the best solution in the SA algorithm

Test case M3 was solved by the SAA for ten replications, and the means of objective values found in these replications for any of the cooling processes under various T I s and NTs are presented in Fig. 7. For all the cooling processes in this test, the number of temperature decrements selected was the same as the initial temperature; e.g., if T I is 500, then the temperature decreased 500 times. Therefore, α for the GC cooling process was selected in a set of preliminary tests to maintain this assumption; hence, for T I = 500, 1000, 2000, and 5000, α was selected as 0.9876, 0.9932, 0.9962, and 0.9983, respectively.

The main trend of the outcomes for this test showed that as the total number of generated solutions increased, the mean objective values decreased. However, it cannot be concluded that a greater number of trials at each temperature would invariably result in a better solution. According to the results presented in Fig. 7, the GC cooling process was selected as the most appropriate cooling process for the proposed SAA, and the number of trials and initial temperature were selected as 40 and 5000, respectively. The results depicted in Fig. 7 show that a slower cooling process (i.e., higher initial temperature and larger number of trials) would lead to obtain a better solution. This finding is supported by the results of a similar test conducted by Kim and Moon (2003) who, however, noted that this slower cooling process needed longer computation time. Thus, a trade-off between the CPU time and reasonably good solutions is quite necessary to design the best control parameters of the SAA.

In the second test, three heuristic rules for the vehicle assignment described in Sect. 5, viz. RA, NV, and EAV, were compared in the medium-size test cases. These test cases were solved for ten replications using various heuristic rules in the SAA. The best solution among these replications for each test case is shown in Fig. 9. Evidently, the EAV heuristic rule found the best solutions for these test cases using the proposed SAA.

Fig. 9
figure 9

The best-obtained objective values by the SAA under various heuristic rules

As the most important analysis of this research, the small-size test cases were solved using the MIP model and the proposed SAA, demonstrating that the SAA was able to find near-optimal solutions. A standard solver software using the B&B method was employed to optimize these test cases. Each test case was solved for ten replications using the SAA. The mean objective, the best objective value obtained, the standard deviation of the solutions found in ten replications (std. dev.), and the CPU times for the SAA for each test case are tabulated in Table 4. In addition, under the column “Dec. var.,” the number of decision variables and number of integer decision variables for each test case are shown. The optimal solution of the test cases and the CPU time is reported for the proposed MIP model in this table. In three cases, the MIP model was not able to find the optimal solution within a reasonable CPU time (i.e., 9 h for this test). In such situations, asterisks denote the very last feasible solutions found by the MIP model. In Table 4, the optimality gap is the difference between the best solution found by the SAA and the optimal solution found by the MIP model, expressed as percentage. Equation (38) shows this index.

Table 4 Comparison of the performance of MIP model and SAA in small-size test cases
$$ \mathrm{Optimal}\mathrm{ity}\ \mathrm{Gap}\% = \frac{\mathrm{Best}\hbox{-} \mathrm{Optimal}}{\mathrm{Optimal}}\times 100 $$
(38)

As presented in Table 4, the number of decision variables increases exponentially as the number of tasks increases. For example, S2 and S10 have nine and 18 tasks for three cranes, respectively. Although the number of tasks in the latter is only double of that in the former, the number of decision variables is more than three times for S10 as compared with S2. Despite playing an important role in the problem, the number of tasks is not the only factor that leads to longer CPU time in the MIP model. For example, test case S7 with schedules for four cranes presented a complex problem that the MIP model was unable to resolve and obtain an optimal solution within 9-h CPU time. In another example, both S5 and S6 were programmed for the schedules of three cranes. However, due to different roughness of the search space, S5 needed a longer CPU time than S6. As the number of tasks per crane increased, the complexity of the problem increased exponentially. This might result in situations where it was too time-consuming to find the optimal solution of the problem using the MIP model and would therefore not be possible to use real scheduling application.

As shown in Table 4, the SAA performed impressively in the small-size test cases, in which the near-optimal solutions that were obtained were only, on average, 3.3 % larger than the optimal solutions. The relatively small standard deviations of the solutions found by the SAA showed that the algorithm is able to find solutions precisely. Moreover, the mean objective values found by the SAA were just 2.6 % greater than the best-obtained objective values, on average. Thus, the SAA is able to find at least one near-optimal solution in a small number of replications (e.g., ten replications). In small-size test cases at least, the proposed SAA is therefore effective and precise.

The final test was conducted to compare the integrated and non-integrated scheduling methods in small-size test cases. In the non-integrated scheduling method, the test cases were solved by using the first-come-first-served heuristic rule for the cranes’ tasks. Accordingly, AGVs, VPs, and HPs were assigned to the tasks by using the EAV heuristic rule. The results are tabulated in Table 5 where three objectives of the model are presented for both methods, in addition to the overall objective function. In Table 5, “TD” shows total delays in the tasks of cranes, “TT” shows total travel time of the vehicles, and the total travel time of VPs and HPs is shown as “THV.” For the test cases S7, S9, and S10, the objective functions of the MIP model were recorded only after 9 h of computation time (these results are marked with an asterisk in Table 5). Percent deviations in Table 5 were calculated using Eq. (39) in which “Obj.nonInt.Sche.” was the objective value of the non-integrated scheduling method and “Obj.Int.Sche.” was the objective value for the proposed integrated scheduling method. The results indicated that, on average, objective value of the non-integrated scheduling method was 52.8 % more than that for the integrated scheduling method.

Table 5 Optimal integrated scheduling against non-integrated scheduling for small-size test cases
$$ \mathrm{Deviation}\%=\frac{\mathrm{Obj}.\ \mathrm{n}\mathrm{onInt}.\ \mathrm{Sche}.\ \hbox{-} \mathrm{O}\mathrm{b}\mathrm{j}.\mathrm{I}\mathrm{n}\mathrm{t}.\ \mathrm{Sche}.}{\mathrm{Obj}.\mathrm{I}\mathrm{n}\mathrm{t}.\mathrm{Sche}.}\times 100 $$
(39)

As shown in Table 5, the total travel time of vehicles and total travel time for VPs and HPs for the non-integrated scheduling method were, on average, 16.8 and 17.3 % greater than those for the proposed integrated scheduling method, respectively. However, total delay in cranes’ tasks in non-integrated scheduling method is 74.6 % more than that for the integrated scheduling method. Obviously, changing the sequence of cranes’ tasks while taking into account the operational time of other handling equipment results in a great improvement in the loading and unloading tasks when delays are minimized.

7 Conclusions and recommendations

This research aims to contribute to the current rich literature on container terminal operations by presenting an integrated scheduling method for handling and storage operations in ACTs. The use of two platforms in the SP-AS/RS makes the scheduling process more flexible. Therefore, the overall time to load or unload a vessel can be decreased. Furthermore, delays in the tasks of cranes, total travel time of the vehicles, and travel time of the platforms in the SP-AS/RS can be reduced through integrated scheduling of the equipment compared with the non-integrated scheduling method.

A MIP model and an approximate optimization method based on SAA have been developed for the integrated scheduling of handling and storage operations at ACTs. According to the experimental results of this study, the value of the objective functions of the problem declined by 53 %, on average, when using the integrated scheduling method. It is obvious that non-integrated scheduling method, because various constraints and special conditions of three types of equipment are not considered in it, is efficient. For the developed SA algorithm, the near-optimal sequence of the tasks of cranes was determined and the vehicles were assigned to the tasks using three heuristic rules. The results indicated that the “RA” rule performed the worst, whereas the “EAV” rule was the most successful. The “NV” rule was intermediate in this regard. Further tests showed that the solutions found by the proposed SAA were, on average, only 3.7 % off the optimal solutions.

While the theoretical performance of the SP-AS/RS has been discussed in the literature, there has been little discussion on the costs and land utilization of these systems. It is recommended that the performance of a typical SP-AS/RS be compared to the performance of existing storage systems using simulation studies. These studies would include estimating the capacity for container storage per hectare and the real operational time of the SP-AS/RS as compared with alternative storage systems. Moreover, it is recommended to include the uncertainty factor in the operational and traveling time of the equipment in future scheduling methods. For the approximate solutions of the problem, it is highly recommended to examine if an optimal assignment of vehicles is more efficient. In this paper, a heuristic rule has been applied to select the appropriate vehicle.