Skip to main content
Log in

Design of empty container depot layouts using data and analytics

  • Published:
Flexible Services and Manufacturing Journal Aims and scope Submit manuscript

Abstract

This paper presents an approach using a combination of data-driven and analytical models to design the layout of empty container depots where top-lifters (TLs) are used. A method to determine the optimum number of blocks along with the number of driving lanes is proposed where the size of the blocks is specified by the number of rows, tiers, and bays. For estimating the effects of the design variables on the TL cycle time, formulas to calculate the expected travel distance of these vehicles are derived based on geometry and a Markov chain model is used to obtain the times of retrieval and placement by the TLs using data gathered in an empirical study from a typical empty container yard. Together, the total cycle time (travel, retrieval, and placement) is then used as the objective function to evaluate alternative container yard layout options. Numerical examples from a case study are provided to illustrate the layout design procedure and show its effectiveness and pragmatism.

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
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

References

Download references

Acknowledgements

We acknowledge the Ministry of National Educational of the Republic of Turkey for providing a graduate fellowship for Erhan Karakaya.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Erhan Karakaya.

Ethics declarations

Conflict of interest

The authors have no relevant financial or non-financial interests to disclose.

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 Tables

Table 11 Parameters for YLYT optimization

11 and

Table 12 Variables for YLYT optimization

12.

Appendix B: Evaluating storage capacities

This appendix gives the formulas for evaluating the storage capacities of container yards.

The number of ground slots on which containers can be stacked is expressed in Eq. (22). The area for container stacking decreases as the number of DLs (\({d}_{x}\) and \({d}_{y}\)) increases. Equation (22) reflects the total number of ground slots (\(G\)) excluding the area of DLs.

$$G = r*l*b_{x} *b_{y}$$
(22)

The expected average number of tiers can be calculated as follows:

$$T = \frac{C}{G}$$
(23)

\(C\) is the required capacity. As the height of bays increases, the storage capacity increases proportionally. However, the expected number of relocations required for retrieving a container also increases as does the expected time of relocations. The number of bays and rows per block can be calculated as follows:

$$l = \lfloor \left( {\frac{{YL - \delta_{x} * d_{x} }}{L}} \right)* \frac{1}{{b_{x} }}\rfloor$$
(24)
$$\frac{r}{2} = \lfloor\left( {\frac{{YD - \delta_{y} * d_{y} }}{W}} \right)* \frac{1}{{2b_{y} }}\rfloor$$
(25)

We calculate the half depth of a block in Equation (25) because we assume that blocks are accessed from DLs, and each row is accessed only until reaching the center of the block (Fig. 14). Thus, we also use the half-depth to calculate the retrieval and placement times in the objective function.

Fig. 14
figure 14

Block access from DLs (two edges of a block on the \(y\)-axis) to the center of the blocks

Appendix C: Calculating top lifter operation times

This appendix shows the derivations of the expected times of retrieval and placement for a specified container YLYT design.

In Eq. 26 we use retrieval time \({rt}_{t}^{i}\) when target container \(t\) is retrieved and placement time \({pt}_{t}^{i}\) when container \(t\) is placed instead of using the number of relocations \({x}_{t}^{i}\) as did Karakaya et al. (2021). This calculates the expected time per retrieval or placement. Note that retrieval time \({rt}_{t}^{i}\) includes relocation time \({rlt}_{b}^{i}\) spent by the TL to relocate blocking containers to reach the target container. We introduce the following notation (Table

Table 13 Notation for retrieval and placement time calculation

13) to describe the procedures to calculate the expected time per retrieval and per placement for various bay designs using the equation below.

$$E\left[ {{\text{number}}\,{\text{of}}\,{\text{relocations}}\,{\text{per}}\,{\text{retrieval}}} \right] = \mathop \sum \limits_{{i:\left[ {n_{1}^{i} , \ldots , n_{a}^{i} } \right]}} \pi_{i} \mathop \sum \limits_{t = 1}^{{\mathop \sum \limits_{j} n_{j} }} \frac{{x_{t}^{i} }}{{\mathop \sum \nolimits_{j} n_{j}^{i} }}$$
(26)

We demonstrate the notation using the example given in Fig. 15. Consider target container #15 in the slot of row 4 and tier 3 in a bay design of 6 rows and 4 tiers which has 22 containers with bay configuration \(i = \left[ {4,4,4,4,4,2} \right]\). We want to calculate the relocation time for blocking container #17 in row 5 and tier 1 along with the retrieval time of container #15 in row 4 and tier 3. The corresponding values to calculate the time metrics are:

$$r = 6, r_{b} = 5, r_{b}^{^{\prime}} = 4, t_{b} = 1, t_{b}^{^{\prime}} = 4, r_{t} = 4, {\text{and}} t_{t} = 3$$
(27)
Fig. 15
figure 15

Notation example

The method for estimating the number and time of relocations for retrieving a container uses a Markov chain model. Karakaya et al. (2021) calculate the expected number of relocations for various bay designs per retrieval where \(i = \left[ {n_{1} , \ldots , n_{a} } \right]\) refers to all possible configurations of container arrivals and retrievals. \(x_{t}^{i}\) denotes the number of relocations if container \(t\) is retrieved, where \(t = 1, \ldots \mathop \sum \limits_{j} n_{j}\). After calculating the limiting (steady-state) probabilities, \(\pi\), all required statistics for the long-run number of relocations can be calculated.

3.1 Appendix C.1: Expected retrieval time per retrieval

Because the retrieval time also involves the relocation time of blocking containers, we first calculate the relocation time for a blocking container followed by the retrieval time calculation. We calculate the relocation time for a blocking container as the sum of both the handling time and the driving time. This is where a data-driven component is integrated into our methodology. The handling time is calculated based on an empirical regression model built by the research group at the Pontifical Catholic University of Valparaíso (PUCV) in Chile (Bravo 2018) using firsthand observations. However, it is possible to substitute data from simulated experiments (that is, in a virtual environment) or even vendor specifications for this purpose. The driving time is calculated based on the TL driving distance from/to the container row to/from the DL, and the speed of the TL. Both the driving time and the handling time calculations are explained below.

3.1.1 Appendix C.1.1: Driving time of a blocking container relocation to access a target container

We assume that the TL needs to drive from the edge of a bay on the DL side to retrieve a blocking container and drive back to the DL. After retrieving the blocking container, the TL needs to temporarily place it outside of a bay to reach a target container. We term the time spent by TL horizontally to retrieve and stack a blocking container “driving time”.

We assume that the TL has an average velocity \(v\) of \(2.22\,{\text{m/s}} \left( {8\,{\text{km/h}}} \right)\) whether it is carrying a container or not however, our calculation method is applicable for unequal loaded and unloaded TL speeds. We assume the standard container width is 8 \({\text{feet}}\) (2.438 m) which is the distance that the TL drives per block row from/to the edge of a bay. Using the given parameters, we calculate the TL driving time per container (row) as:

$${\text{TL}}\,{\text{driving}}\,{\text{time}}\,{\text{per}}\,{\text{container}}\,\left( {{\text{row}}} \right) = \frac{{2.438\,{\text{m}}}}{{2.22\,{\text{m/s}}}} = 1.0971\,s\,per\,container$$
(28)

The distance that the TL needs to drive to reach the blocking container and carry it to the outside of the bay is calculated as:

$${\text{TL driving distance to retrieve a blocking container}} = 2*\left( {r{-}r_{b} } \right)$$
(29)

Note that we use a coefficient of 2 since the TL needs to drive to reach a container row and to drive the same distance back to the DL. It needs to place the blocking container outside of the bay after retrieving it. We assume that there is one pick-up per blocking container.

Similarly, the distance that the TL needs to drive to place the temporarily relocated blocking container back to the bay after the target container retrieval is calculated as:

$${\text{TL driving distance to place a blocking container}} = 2*\left( {r {-} r_{b}^{^{\prime}} } \right)$$
(30)

Note that the blocking container’s row could change to a new row \({r}_{b}^{^{\prime}}\) after the target container retrieval since the target container slot becomes available. Thus, if the blocking container is in the first tier, its new row \({r}_{b}^{^{\prime}}\) is updated as the row behind the current row which is \({r}_{b}-1\). Otherwise, the blocking container’s new row \({r}_{b}^{^{\prime}}\) stays the same as the current row \({r}_{b}\). Thus, the driving time that TL needs to relocate a blocking container is calculated as:

$$dt = 1.0971 s *2 \left[ {\left( {r {-} r_{b} } \right) + \left( {r {-} r_{b}^{^{\prime}} } \right) } \right]$$
(31)

3.1.2 Appendix C.1.2: Handling time of a blocking container relocation to access a target container

The handling time of the relocation of a blocking container to retrieve a target container is the sum of both the unstacking time and the stacking time. Once again, the blocking container first needs to be carried outside of a bay. We term this process “unstacking” and the time spent vertically to access and retrieve the container as “unstacking time” or \(ut\). We calculate the unstacking time using the data-driven regression model by Bravo (2018) as follows:

$$ut = 0.7*t_{b}^{2} + 1.1* t_{b} + 10.8$$
(32)

Similarly, the TL needs to stack (place) the blocking container back to the bay after the target container retrieval. We term this process “stacking” and the time spent vertically to place the container in a slot is termed “stacking time” or \(st\). We calculate the stacking time using the data-driven regression model by Bravo (2018) as follows:

$$st = 1.7* t_{b}^{{\prime} 2} - 4.2*t_{b}^{\prime} + 13.7$$
(33)

The height of the blocking container (i.e., tier number) changes after the target container’s retrieval. The updated tier is one tier below the relocated container’s current tier except if the blocking container is in the first tier. If the relocated container is in the first tier, the relocated container is placed in the top tier of the row behind (left) of its current row.

3.1.3 Appendix C.1.3: Relocation time of a blocking container

After finding the driving time \(dt\), the unstacking time \(ut\), and the stacking time \(st\) for a blocking container to reach the target container, we calculate the relocation time of a blocking container as the sum of these three times.

$$rlt_{b}^{i} = dt + ut + st$$
(34)

Consider the example in Fig. 15. Target container #15 is located in row 4 and tier 3 in the bay design of 6 rows and 4 tiers which has 22 containers (a configuration of \(\left[ {4,4,4,4,4,2} \right]\)). The TL needs to relocate seven blocking containers (#16–22) to retrieve #15. We need to find the relocation time for each blocking container (#16–22) to find the expected relocation time for target container #15. The relocation time for container #17, \(rlt_{17}^{{i = \left[ {4,4,4,4,4,2} \right]{ }}}\) in row 5 and tier 1 to reach #15 is shown as an example. We calculate \(rlt_{17}^{{i = \left[ {4,4,4,4,4,2} \right]{ }}}\) as:

$$\begin{aligned} dt = & 1.0971 *2 \left[ {\left( {6 {-} 5} \right) + \left( {6 {-} 4} \right)} \right] = 6.58\,{\text{s}} \\ ut = & 0.7*1^{2} + 1.1* 1 + 10.8 = 12.6\,{\text{s}} \\ st = & 1.7* 4^{2} - 4.2*4 + 13.7 = 24.1\,{\text{s}} \\ & \quad rlt_{17}^{{i = \left[ {4,4,4,4,4,2} \right]{ }}} = dt + ut + st = 43.28\,{\text{s}} \\ \end{aligned}$$
(35)

\(dt\) in Eq. (35) shows the driving time to relocate blocking container #17. \(ut\) shows the time to unstack #17 to reach #15. \(st\) shows the time to stack #17 back to row 4 and tier 4 after the retrieval of #15. Note that row and tier numbers change after the target container retrieval.

3.1.4 Appendix C.1.4: Total relocation time for a target container

After we calculate the relocation time for each blocking container to retrieve the target container, we sum the relocation times of all blocking containers to find the total relocation time for a target container. Using the same example, consider the target container #15 which of blocking containers are \(\left\{ {\# 16,17,18,19,20,21,22} \right\}.\) We can show the relocation time for container #15 as:

$$Total\,relocation\,time\,for\,a\,target\,container\,15 = \mathop \sum \limits_{b = 16}^{22} rlt_{b}^{i}$$
(36)

3.1.5 Appendix C.1.5: Retrieval time of a target container

In addition to the total relocation time of all blocking containers of a target container, we include the retrieval time of the target container to calculate the expected retrieval time per retrieval for each bay design. We calculate the retrieval time of a target container as:

$$rt_{t}^{{i{ }}} = \left[ {1.0971 s *2 \left( {r {-} r_{t} } \right)\left] + \right[0.7*t_{t}^{2} + 1.1*t_{t} + 10.8} \right]$$
(37)

The first square bracket of the \({rt}_{t}^{i}\) equation refers to the time spent by the TL to drive to the target container row from the DL and carry the retrieved container back to the DL to load onto a truck. In other words, the time spent horizontally by the TL to retrieve the target container. The second square bracket refers to the time that the TL spends to retrieve the target container from its tier, in other words, the time spent vertically to retrieve the target container from its slot. Note that we use similar equations used to calculate the relocation time (35). The first part of Eq. (37) is the one-way driving time part of Eq. (31). The second part of Eq. (37) is the unstacking time \(ut\), (Eq. (32)).

3.1.6 Appendix C.1.6: Expected retrieval time for a bay design

After finding the retrieval time along with the total relocation for each target container for each possible state of a certain bay design (i.e., depth and height), we generate an equation for the expected retrieval time per retrieval for various bay designs based on Eq. (26) as:

$$RT = \mathop \sum \limits_{{i:\left[ {n_{1} , \ldots , n_{a} } \right]}} \pi_{i} \mathop \sum \limits_{t = 1}^{{\mathop \sum \limits_{j} n_{j} }} \frac{{rt_{t}^{i } + \mathop \sum \nolimits_{b} rlt_{b}^{i} }}{{\mathop \sum \nolimits_{j} n_{j} }}$$
(38)

Note that the second summation part of the Eq. (38) refers to the expected retrieval time for each possible bay configuration (state) of a certain bay design.

The pseudo-code of the expected retrieval time calculation algorithm is given in Fig. 16.

Fig. 16
figure 16

Pseudo-code for the expected retrieval time calculation

3.2 Appendix C.2: Expected placement time per container arrival

We calculate the placement times for various bay designs in this section. We use the term “placement” to distinguish incoming container stacking from the term “stacking” that we use for a relocated container. We term the time spent both vertically and horizontally to place an incoming container in its assigned slot as “placement time” or \({pt}_{t}^{i}\). We calculate the placement time similarly to the calculation of the retrieval time discussed in the previous section. We assume that both relocated and arriving containers are placed in the easiest slot (a logical assumption), which is located at the top tier of the far edge row. Thus, there is no relocation during container placement (see Assumption T3 in Karakaya et al. 2021).

We calculate the placement time for a container as:

$$pt_{t}^{{i{ }}} = \left[ {1.0971 s *2 \left( {r {-} r_{t} } \right)\left] + \right[1.7*t_{t}^{2} - 4.2*t_{t} + 13.7} \right]$$
(39)

The first square bracket in the Eq. (39) refers to the time that TL spends to carry an incoming container to the assigned container row from a DL and drive back to the DL after unloading the container. The second square bracket in Eq. (39) refers to the time that TL spends to place (stack) the incoming container in its tier, in other words, the time spent for vertical movement by the TL to stack the incoming container in its slot. Again, note that we use similar equations used to calculate the relocation time (35). The first part of Eq. (39) is the one-way driving time part of Eq. (31). The second part of Eq. (39) is the stacking time \(st\), (Eq. (32).

After finding the placement time for a container arrival for each possible configuration (state) of a bay design (i.e., depth and height), we generate the equation for the expected placement time per placement as:

$$PT= {\sum }_{i:[{n}_{1},\dots , {n}_{a}]}{\pi }_{i } \frac{{pt}_{t}^{i }}{{\sum }_{j}{n}_{j}}$$
(40)

Note that there is only one possible placement for each possible state because of the easiest slot placement assumption. Since the TL can access only the edge row on the side of the DL, there is one easiest slot, which is the top available tier at the edge of the bay.

We use the calculated times of this section as inputs to the layout model (Eq. (1)). The general procedure is shown in Fig. 3.

Appendix D: Enumerated results for various L-ratios

See Tables

Table 14 Time metrics of enumerated design parameters of rectangular shape (s-seconds)

14,

Table 15 Time metrics of enumerated design parameters when \(L\)-ratio is 0.1 (s-seconds)

15,

Table 16 Time metrics of enumerated design parameters when \(L\)-ratio is 0.2 (s-seconds)

16,

Table 17 Time metrics of enumerated design parameters when \(L\)-ratio is 0.3 (s-seconds)

17 and

Table 18 Time metrics of enumerated design parameters when \(L\)-ratio is 0.4 (s-seconds)

18.

We show the enumerated solutions for the possible YLYT designs (number of vertical and horizontal blocks) for \(L\)-ratios from 0.1 to 0.4 and for also a rectangular-shaped layout (L-ratio = 0.0).

Columns \(tt\), \(tr\), \(SD (tr)\), \(tp\), and \(z\) show the time metrics in seconds regarding the number of horizontal blocks (\({b}_{y}\)) and the number of vertical blocks (\({b}_{x}\)) in each row. The \(SD (tr)\) column shows the standard deviation of retrieval time for the given design in column \((r,l,T)\) which refers to the depth, length, and average height of a block, respectively. The standard deviation of retrieval times is calculated using the model from Karakaya et al. (2021) which estimates the variability for a given block design. Columns \(tt\), \(tr\), \(tp\), and \(z\) show the expected times for travel, retrieval, placement, and cycle times when the number of horizontal blocks (\({b}_{y}\)) and the number of vertical blocks (\({b}_{x}\)) are the stated values. The \(r\), \(l\), and \(T\) values are determined based on the \({b}_{y}\) and \({b}_{x}\) values. The column (\({b}_{y}^{N},{b}_{x}^{N})\) refers to the number of horizontal and vertical blocks in the unused part of the L-shaped yard. The last column shows the number of storage ground spaces, excluding the unused ground space and DLs, using the TEU metric.

The highlighted row in each table shows the best yard design for its \(L\)-ratio. The best design refers to the yard design which gives the minimum cycle time as long as it has the required capacity of 5000 containers or larger.

Appendix E: Eight best layout designs that give the eight lowest cycle times

See Figs. 17 and 18.

Fig. 17
figure 17

Four of the eight best layout configurations along with cycle times for \(\delta_{x} = 2 bays\) and \(\delta_{y} = 5 rows\)

Fig. 18
figure 18

The remaining four best layout configurations along with cycle times for \(\delta_{x} = 2 bays\) and \(\delta_{y} = 5 rows\)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Karakaya, E., Smith, A.E., Ramírez, R.G.G. et al. Design of empty container depot layouts using data and analytics. Flex Serv Manuf J 35, 196–240 (2023). https://doi.org/10.1007/s10696-022-09452-z

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10696-022-09452-z

Keywords

Navigation