## Abstract

We aim to improve the efficiency of a new type of automated storage and retrieval systems (AS/RSs) called multi-control automated storage and retrieval systems (MC-AS/RSs). MC-AS/RSs have multiple storage/retrieval (S/R) machines that operate independently according to storage and retrieval requests. Consequently, MC-AS/RSs can transport loads farther without using human labor, thereby requiring fewer human resources than conventional AS/RSs. However, the structure and control method of AS/RSs are complex because multiple S/R machines must be controlled simultaneously. Therefore, when operating an MC-AS/RS, many factors must be considered, such as the sequence and transport timing. We propose an optimization method using a time-expanded network (TEN) to solve these problems and transport in less time. First, our method models an AS/RS with a TEN to calculate the optimal sequence and conveyance timing while considering the movements of multiple S/R machines. Second, we formulate the operational efficiency of the MC-AS/RS as a problem of minimizing the sum of execution times of requests on the TEN. Finally, we generate the request order necessary for practical use based on the results. The mechanisms implemented to achieve include a *generator*, *optimizer*, and *scheduler*. Our experiments confirm that this method reduces the total execution time of requests compared with other rule-based methods. This method enables us to propose an efficient operation method for AS/RSs with a complex structure of multiple carriers.

### Similar content being viewed by others

## References

Roodbergen, K.J., Vis, I.F.A.: A survey of literature on automated storage and retrieval systems. Eur. J. Oper. Res.

**194**(2), 343–362 (2009). https://doi.org/10.1016/j.ejor.2008.01.038Boysen, N., Stephan, K.: A survey on single crane scheduling in automated storage/retrieval systems. Eur. J. Oper. Res.

**254**(3), 691–704 (2016)Gharehgozli, A.H., Yu, Y., Zhang, X., Koster, R.D.: Polynomial time algorithms to minimize total travel time in a two-depot automated storage/retrieval system. Transp. Sci.

**51**(1), 19–33 (2017)Xing, B., Gao, W.-J., Nelwamondo, F.V., Battle, K., Marwala, T.: Ant colony optimization for automated storage and retrieval system. In: IEEE Congress on Evolutionary Computation, pp. 1–7. IEEE (2010)

Chen, T.-L., Cheng, C.-Y., Chen, Y.-Y., Chan, L.-K.: An efficient hybrid algorithm for integrated order batching, sequencing and routing problem. Int. J. Prod. Econ.

**159**, 158–167 (2015)Hu, Y.-H., Huang, S.Y., Chen, C., Hsu, W.-J., Toh, A.C., Loh, C.K., Song, T.: Travel time analysis of a new automated storage and retrieval system. Comput. Oper. Res.

**32**(6), 1515–1544 (2005)Carlo, H.J., Vis, I.F.: Sequencing dynamic storage systems with multiple lifts and shuttles. Int. J. Prod. Econ.

**140**(2), 844–853 (2012)Tanaka, S., Araki, M.: Routing problem under the shared storage policy for unit-load automated storage and retrieval systems with separate input and output points. Int. J. Prod. Econ.

**47**(9), 2391–2408 (2009)Ford, L.R., Jr., Fulkerson, D.R.: Constructing maximal dynamic flows from static flows. Oper. Res.

**6**(3), 419–433 (1958)Han, M.-H., McGinnis, L.F., Shieh, J.S., White, J.A.: On sequencing retrievals in an automated storage/retrieval system. IIE Trans.

**19**(1), 56–66 (1987)Sarker, B.R., Sabapathy, A., Lal, A.M., Han, M.-H.: Performance evaluation of a double shuttle automated storage and retrieval system. Prod. Plan. Control.

**2**(3), 207–213 (1991)Lee, H.F., Schaefer, S.K.: Sequencing methods for automated storage and retrieval systems with dedicated storage. Comput. Ind. Eng.

**32**(2), 351–362 (1997)Van Den Berg, J.P., Gademann, A.: Optimal routing in an automated storage/retrieval system with dedicated storage. IIE Trans.

**31**(5), 407–415 (1999)

## Funding

This research project was supported by Rohto Pharmaceutical Co., the Japan Science and Technology Agency (JST), the Core Research of Evolutionary Science and Technology (CREST), the Center of Innovation Science and Technology based Radical Innovation and Entrepreneurship Program (COI Program), JSPS KAKENHI Grant Number JP16H01707 and JP21H04599, Japan.

## Author information

### Authors and Affiliations

### Corresponding author

## Ethics declarations

### Conflicts of interest

The authors have no conflict of interests.

## Additional information

### Publisher's Note

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

## Appendices

### Appendix A: Time-expanded network generation details

In this section, we describe the details of the method for generating the TEN used in the proposed method (Sect. 3.1).

From the information in an AS/RS, S/R machines, and requests, we generate a graph \(G=(N, A)\) that represents the locations involved in node movements and movement between nodes as directed arcs. *G* is generated according to Algorithm 1. Let \(N_r=\left\{ n_0, n_1, \ldots , n_{m_r}\right\} \subset N\) denote the source, via points, and destination of request *r*. In addition, we define \(s_\mu \) as the node representing the initial point of S/R machine \(\mu \).

TEN \(G^\mathcal {T}=(N^\mathcal {T}, A^\mathcal {T})\) is generated according to Algorithm 2. Let \(n_{\textrm{sour}_r}\) be the initial position of request *r* and \(s_\mu \) the initial position of S/R machine \(\mu \). Furthermore, the destination of request *r* is denoted as \(n_{\textrm{dest}_r}\). Section 3.1 defines the supersource and supersink of request *r* and S/R machine \(\mu \).

To model arcs, *A* in a graph *G* using \(\mathcal {T}\), define \(\dot{t}_{i,j}=\max (1, [t_{i,j}/\Delta ])\in \mathbb {N}\) as the travel time of an arc \((i,j)\in A\) on the graph, where \(t_{a,b}\) is the time required to move from node *a* to node *b*. For example, define a moving arc \((i(t), j(t+\dot{t}_{i,j}))\) for all \(t \in \mathcal {T}\) satisfying \(t+\dot{t}_{i,j}\le \max {\mathcal {T}}\). The set of staying arcs \(H^\mathcal {T}\) is defined as \(\left( n(t), n(t+1)\right) \) for each node \(n \in N\) and period \(t\in [0,\max {\mathcal {T}}-1]\). \(A^L\) is the set of arcs flowing from the supersource to the corresponding node and from the corresponding node to the supersink. Arcs of \(A^L\) are defined for all S/R machines and requests.

The arcs leaving supersource \(l_\mu \in L\) for S/R machine \(\mu \in M\) are denoted by \((l_\mu , s_\mu (0))\in A^L\) using node \(s_\mu \) at the initial position. The arcs entering supersink \(l_\mu ^{'}\in L\) are denoted by \((n(\max {\mathcal {T}}), l_\mu ^{'})\) for any node \(^{\forall }n\in N\).

The arc leaving the supersource \(l_r\in L\) of request \(r\in R\) is denoted by \((l_r, n_{\textrm{sour}_r}({\tau _r}))\in A^L\), using node \(n_{\textrm{sour}_r}\) at the initial position \(n_{\textrm{sour}_r}\) of request *r* at time \({\tau _r}\). \(\tau _r\) is the time when request *r* occured. The arc entering supersink \(l_r^{'}\in L\) is denoted by \(^{\forall }t\in \mathcal {T}, (n_{\textrm{dest}_r}(t), l_r^{'})\in A^L\) for the destination \(n_{\textrm{dest}_r}\in N\) of *r*. Request *r* passes through this arc, indicating that the transfer is complete. We also add \(^{\forall }n\in N{{\setminus }}{\{n_{\textrm{dest}_r}\}}, (n(\max {\mathcal {T}}), l_r^{'})\in A^L\) to allow for the case in which the conveyance is not completed even at the end time \(\max {\mathcal {T}}\).

### Appendix B: Method for avoiding deadlocks in baselines

This section describes methods for avoiding deadlocks in NN and FCFS, which are used as baselines. Unlike the proposed method, these methods are executed immediately. Therefore, the deadlock avoidance methods should also execute immediately. A deadlock is caused by a pallet unready for transportation. Hence, we use a method that guarantees the pallet to be reliably moved and that can execute immediately.

For example, Fig. 11 (1) shows an example of a deadlock caused by S/R machines \(\alpha \) and \(\beta \) being assigned requests independently. In this case, \(\beta \), initially executing the request, must unload pallet B to the buffer station first and then retrieve pallet A from the buffer station. However, because \(\alpha \) can arrive at the buffer station before \(\beta \), pallet C carried by \(\alpha \) enters the buffer station first. Therefore, \(\beta \), who arrives later, cannot unload B, resulting in a deadlock. To avoid this situation, we place a *virtual pallet* at the next destination of the request when the request begins execution. Then, by calculating the capacity of the buffer station, including the virtual pallet, the request is guaranteed to be reliably placed at the next destination. Therefore, the pallet can be reliably moved.

### Appendix C: Hyperparameter determination method

To implement the proposed method, the optimization period *U* and time granularity \(\Delta \) required for formulation must be set in advance. This section describes how we determine the parameters used in our experiments.

Setting these values by the actual conditions of the target AS/RS is desirable. However, in this experiment, determining these values appropriately from the AS/RS information used in the model case was difficult. Therefore, the following method was used.

*U* is obtained as follows. First, let \(t_{max}\) by the time required for the most time-consuming transfer among the transfers in the target-AS/RS. Then, for the request set *R* to be optimized, we set \(U = \#R \times t_{max}\). This method makes it possible to handle the requests in *R* as much as possible until the completion of the transfer in a single optimization problem.

\(\Delta \) was determined as follows. First, a graph \(G=(N, A)\) was generated according to Algorithm 1. Next, the travel times of all arcs in *A* were calculated. The lower bound of \(\Delta \) was set to *l*. If the time is required to move an arc *a* is denoted as \(t_a\), the discretized time is denoted as \(\max (1, [t_a/d])\) using time granularity *d*. Using \(t_a\), \(\Delta \) was obtained by the following equation:

The lower limit of *l* is set to \(l = 10\) based on the preliminary experiment results (Sect. 4.2).

### Appendix D: Computational environment

In the computational environment using our experiments, the CPU was an Intel (R) Core (TM) i9-7940X with a 3.10 GHz CPU frequency, and the memory was 128 GB. We used Gurobi Optimizer v9.5.1 to solve the optimization problem to make AS/RS operations efficient, and 10 threads were used to solve the problem.

## About this article

### Cite this article

Ishikura, H., Tateiwa, N., Egi, S. *et al.* Scheduling system for automated storage and retrieval system with multiple machines using a time-expanded network.
*Japan J. Indust. Appl. Math.* **41**, 447–474 (2024). https://doi.org/10.1007/s13160-023-00619-1

Received:

Revised:

Accepted:

Published:

Issue Date:

DOI: https://doi.org/10.1007/s13160-023-00619-1

### Keywords

- Time-expanded network
- Automated storage and retrieval system (AS/RS)
- Optimization
- Cyber-physical system
- Smart factory