Skip to main content
Log in

The blocks relocation problem with item families minimizing the number of reshuffles

  • Original Article
  • Published:
OR Spectrum Aims and scope Submit manuscript

Abstract

In this paper, we consider the process of unloading items from a storage (e.g., a warehouse, depot, etc.). The items are stored in stacks where only the topmost item of each stack can be directly accessed. Each item belongs to a certain family indicating the main type of the item. For a given sequence of families, it has to be decided which item of each demanded family is unloaded from the storage with the objective to minimize the total number of reshuffles. Besides new complexity results, we propose IP formulations and a two-stage simulated annealing algorithm. Computational results are presented for real-world data from a company, benchmark instances from the literature and randomly generated instances with different characteristics.

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

Similar content being viewed by others

Data availability

All instances and the best-known values of our new data set AC can be found at http://www2.informatik.uos.de/kombopt/data/brpif/.

References

  • Blasum U, Bussieck MR, Hochstättler W, Moll C, Scheel H-H, Winter T (1999) Scheduling trams in the morning. Math Methods Oper Res 49(1):137–148

    Article  Google Scholar 

  • Boge S, Knust S (2020) The parallel stack loading problem minimizing the number of reshuffles in the retrieval stage. Eur J Oper Res 280(3):940–952

    Article  Google Scholar 

  • Caserta M, Schwarze S, Voß S (2012) A mathematical formulation and complexity considerations for the blocks relocation problem. Eur J Oper Res 219(1):96–104

    Article  Google Scholar 

  • Dekker R, Voogd P, van Asperen E (2006) Advanced methods for container stacking. OR Spectrum 28(4):563–586

    Article  Google Scholar 

  • Eglese RW (1990) Simulated annealing: a tool for operational research. Eur J Oper Res 46(3):271–281

    Article  Google Scholar 

  • Expósito-Izquierdo C, Melián-Batista B, Moreno-Vega JM (2012) Pre-marshalling problem: heuristic solution method and instances generator. Expert Syst Appl 39(9):8337–8349

    Article  Google Scholar 

  • Fernandes E, Freire L, Passos A, Street A (2012) Solving the non-linear slab stack shuffling problem using linear binary integer programming. In: EngOpt 2012-3rd international conference on engineering optimization

  • Forster F, Bortfeldt A (2012) A tree search procedure for the container relocation problem. Comput Oper Res 39(2):299–309

    Article  Google Scholar 

  • Jin B, Zhu W, Lim A (2015) Solving the container relocation problem by an improved greedy look-ahead heuristic. Eur J Oper Res 240(3):837–847

    Article  Google Scholar 

  • Kaufman L, Broeckx F (1978) An algorithm for the quadratic assignment problem using Bender’s decomposition. Eur J Oper Res 2(3):207–211

    Article  Google Scholar 

  • Lehnfeld J, Knust S (2014) Loading, unloading and premarshalling of stacks in storage areas: survey and classification. Eur J Oper Res 239(2):297–312

    Article  Google Scholar 

  • Li T, Luan Z, Wang B, Dong G (2017) Estimation of distribution algorithm for solving the slab stack shuffling and relocation problem. Xitong Gongcheng Lilun yu Shijian/Syst Eng Theory Pract 37:2955–2964

    Google Scholar 

  • Ren H, Tang L (2010) Modeling and an ILP-based algorithm framework for the slab stack shuffling problem considering crane scheduling. In: 2010 international conference on computing, control and industrial engineering, vol 2, pp 3–6

  • Singh KA, Tiwari MK (2004) Modelling the slab stack shuffling problem in developing steel rolling schedules and its solution using improved parallel genetic algorithms. Int J Prod Econ 91(2):135–147

    Article  Google Scholar 

  • Tang L, Ren H (2010) Modelling and a segmented dynamic programming-based heuristic approach for the slab stack shuffling problem. Comput Oper Res 37(2):368–375

    Article  Google Scholar 

  • Tang L, Liu J, Rong A, Yang Z (2001) An effective heuristic algorithm to minimise stack shuffles in selecting steel slabs from the slab yard for heating and rolling. J Oper Res Soc 52(10):1091–1097

    Article  Google Scholar 

  • Tang L, Liu J, Rong A, Yang Z (2002) Modelling and a genetic algorithm solution for the slab stack shuffling problem when implementing steel rolling schedules. Int J Prod Res 40(7):1583–1595

    Article  Google Scholar 

  • Winter T, Zimmermann UT (2000) Real-time dispatch of trams in storage yards. Ann Oper Res 96(1):287–315

    Article  Google Scholar 

  • Zhu W, Qin H, Lim A, Zhang H (2012) Iterative deepening A* algorithms for the container relocation problem. IEEE Trans Autom Sci Eng 9(4):710–722

    Article  Google Scholar 

Download references

Acknowledgements

The authors would like to thank two anonymous referees for their constructive and helpful comments. Furthermore, they are grateful to Thomas Winter for providing his test data (STIM) and results.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sigrid Knust.

Additional information

Publisher's Note

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

Appendix: Proofs of the complexity results from Sect. 3

Appendix: Proofs of the complexity results from Sect. 3

Lemma 1

For the BRPIF, it can be decided in \({\mathcal {O}}(n)\) whether for a given family retrieval sequence a selection of items exists such that these items can be retrieved using only reshuffles within the limited storage area.

Proof

We generalize the feasibility test of Zhu et al. (2012) for the BRP to the BRPIF. In Zhu et al. (2012), the BRP is considered where all items \(i\in {\mathcal {I}}\) have pairwise different priorities. Assuming that the items have to be retrieved in the sequence \(1,\ldots ,n\) and \(l_i\) denotes the level at which item i is stored, we must have

$$\begin{aligned} b - l_i \le mb-n + (i-1) \end{aligned}$$
(40)

to ensure that all reshuffles can be carried out inside the limited storage area. In inequality (40), the term \(mb-n\) equals the initial number of free slots in the storage. When item i is to be retrieved, \((i-1)\) additional slots are free, since \(i-1\) items have already been retrieved before. Thus, item i must have at least the level b minus the current number of free slots.

If we adapt this to the context of the BRPIF, for index k of the family retrieval sequence \(\varPhi\) we must select an appropriate item \(i_k\) with \(f_{i_k}=\phi _k\) that has not been selected before and that is located at a level \(l_{i_k}\) satisfying

$$\begin{aligned} b - l_{i_k} \le mb - n + (k-1). \end{aligned}$$
(41)

To check this condition for the relevant indices k (we can stop as soon as \(b-1\) free slots in the storage exist; since then, all remaining items in the storage are accessible), we iterate over all n items in the storage and create a list for each demanded family in which the levels of all its items are stored in descending order. Afterward, we check inequality (41) for each relevant index k using the list of family \(\phi _k\). \(\square\)

Fig. 12
figure 12

Feasibility check

Example 8

Figure 12 shows a storage with \(b=4\), \(m=3\), \(n=11\) and families ABCDE. If we want to check feasibility for the family retrieval sequence \(\varPhi =(A,A,B,C,D)\), we create four lists for the demanded families:

$$\begin{aligned} A: (3,1), \quad B: (1), \quad C: (3,2), \quad D: (4,4,2,2) \end{aligned}$$

Checking inequality (41) for index \(k=1\) leads to \(4 - l_{i_1} \le 3 \cdot 4 - 11 + (1-1)\), i.e., an item \(i_1\) belonging to the corresponding family A must be stored at level \(l_{i_1} \ge 3\). Since the first entry in the list of family A satisfies this, we proceed with \(k=2\) resulting in the condition \(l_{i_2} \ge 2\). However, since the second entry in the list of family A is equal to 1, we state infeasibility.

On the other hand, if we consider the retrieval sequence \(\varPhi '=(A,D,A,B,C)\), we have a feasible solution since the first entry in the list of family D satisfies \(l_{i_2} \ge 2\), and afterward, all items are accessible.

Theorem 1

For the BRPIF with \(b=2\), it is strongly \({{\mathcal {N}}}{{\mathcal {P}}}\)-complete to decide whether a solution without any badly placed items exists.

Proof

Similar to the proof of Blasum et al. (1999) for the case \(b=3\), we give a reduction from three-dimensional matching (3DM).

3DM: Given are three sets XYZ such that \(|X|=|Y|=|Z|=a\) and a subset \(M\subset X\times Y\times Z\) with \(|M| \ge a\). We want to decide if a subset \(U\subset M\) with \(|U| = a\) exists such that for any two triples \((x,y,z), (x',y',z')\in U\) the conditions \(x\not = x'\), \(y\not = y'\) and \(z\not = z'\) hold.

Fig. 13
figure 13

Stack set \(Q_\tau\) related to triple \(\tau\)

Given a 3DM instance, we construct an instance of the BRPIF by identifying each element \(x\in X, y\in Y, z\in Z\) with one family \(f^x,f^y,f^z\), resulting in 3a different families. Let \({\mathcal {F}}_X, {\mathcal {F}}_Y, {\mathcal {F}}_Z\) be the corresponding sets of families. Furthermore, we identify each triple \(\tau = (x,y,z)\in M\) with a “triple family” \(f^\tau \in {\mathcal {F}}_M\). For each triple \(\tau \in M\) in 3DM, we create three stacks \(q_\tau ,{\tilde{q}}_\tau ,{\bar{q}}_\tau\) containing items \(i_\tau ,j_\tau ,{\tilde{i}}_\tau ,{\tilde{j}}_\tau ,{\bar{i}}_\tau ,{\bar{j}}_\tau\) resulting in \(m=3|M|\) stacks with \(b=2\). We call these three related stacks a “stack set” and denote it by \(Q_\tau\). Items \(i_\tau ,{\tilde{i}}_\tau ,{\bar{i}}_\tau\) are placed at the bottom level, items \(j_\tau ,{\tilde{j}}_\tau ,{\bar{j}}_\tau\) at the top level (cf. Fig. 13a). For \(\tau = (x,y,z)\in M\), the families are set to \(f_{j_\tau }=f^x, f_{{\tilde{j}}_\tau }=f^y, f_{{\bar{j}}_\tau }=f^z\) and \(f_{i_\tau }=f_{{\tilde{i}}_\tau }=f_{{\bar{i}}_\tau }=f^\tau\) (cf. Fig. 13b).

For each element \(x \in X\) and \(z \in Z\), let \(n_x, n_z\) be the numbers of triples in M that include x and z, respectively. Then the family retrieval sequence is set to \(\varPhi = (\varPhi _{Z_1},\varPhi _X,\varPhi _{M},\varPhi _Y,\varPhi _{Z_2},\varPhi _{M}')\) where \(\varPhi _{Z_1}=(f^{z_1},\ldots ,f^{z_a})\) and \(\varPhi _Y=(f^{y_1},\ldots ,f^{y_a})\) include all a families from \({\mathcal {F}}_Z\) and \({\mathcal {F}}_Y\) once. The subsequences \(\varPhi _{M} = \varPhi _{M}' = (f^{\tau _1},\ldots ,f^{\tau _{|M|}} )\) contain all |M| families associated with the triples \(\tau \in M\). The subsequences \(\varPhi _X = (f^{x_1},\ldots ,f^{x_1}|\ldots |f^{x_a},\ldots , f^{x_a})\) and \(\varPhi _{Z_2} = (f^{z_1},\ldots ,f^{z_1}|\ldots |f^{z_a},\ldots , f^{z_a})\) contain the families \(f^{x_\lambda } \in {\mathcal {F}}_X\) and \(f^{z_\lambda }\in {\mathcal {F}}_Z\) exactly \(n_{x_\lambda }-1\) and \(n_{z_\lambda }-1\) times for \(\lambda =1,\ldots ,a\) and hence have length \(\sum _{\lambda =1}^a (n_{x_\lambda }-1)= \sum _{\lambda =1}^a (n_{z_\lambda }-1)= |M|-a\).

To illustrate the construction, we consider a small example with \(a=2\), sets \(X=\{x_1,x_2\}, Y=\{y_1,y_2\}, Z=\{z_1,z_2\}\) and five tuples

$$\begin{aligned} M=\{(x_1,y_1,z_1), (x_2,y_1,z_2), (x_2,y_1,z_1), (x_2,y_2,z_2), (x_2,y_2,z_1) \}. \end{aligned}$$

Then we have \(m=3|M|=15\) stacks and \(2m=30\) items belonging to \(3a=6\) families. These items are stored as shown in Fig. 14b. The family retrieval sequence is

$$\begin{aligned}{} & {} \varPhi =(f^{z_1}, f^{z_2}| f^{x_2}, f^{x_2}, f^{x_2}| f^{\tau _1}, f^{\tau _2}, f^{\tau _3}, f^{\tau _4}, f^{\tau _5}| f^{y_1},\\{} & {} \quad f^{y_2}| f^{z_1}, f^{z_1}, f^{z_2}| f^{\tau _1}, f^{\tau _2}, f^{\tau _3}, f^{\tau _4}, f^{\tau _5}) \end{aligned}$$

with related sequence indices

$$\begin{aligned} {\mathcal {L}} =(1,2 | 3,4,5 | 6,7,8,9,10 | 11,12 | 13,14,15 | 16,17,18,19,20). \end{aligned}$$
Fig. 14
figure 14

Example

\(\varPhi\) has the length 4|M| and contains two parts of length 2|M|: The first part includes all a families from \({\mathcal {F}}_Z\) in \(\varPhi _{Z_1}\), then \(|M|-a\) families from \({\mathcal {F}}_X\) in \(\varPhi _X\) and all |M| triple families in \(\varPhi _{M}\). The second part includes all a families from \({\mathcal {F}}_Y\) in \(\varPhi _Y\), then \(|M|-a\) families from \({\mathcal {F}}_Z\) in \(\varPhi _{Z_2}\) and again all |M| triple families in \(\varPhi _{M}'\).

For each stack set, two items from the top level must be selected: one belonging to family \({\mathcal {F}}_X\) or \({\mathcal {F}}_Z\) for the first part of \(\varPhi\), one from \({\mathcal {F}}_Y\) or \({\mathcal {F}}_Z\) for the second part. Furthermore, in each part, |M| items from the bottom level have to be assigned to the |M| triple families in \({\mathcal {F}}_M\). Overall, for family \({\mathcal {F}}_X\) exactly \(|M|-a\) items must be selected, for \({\mathcal {F}}_Y\) we need exactly a items, and for \({\mathcal {F}}_Z\), all |M| items must be selected.

We claim that a solution for 3DM exists if and only if a solution for the corresponding instance of the BRPIF with \(BI=0\) exists. In the example above, we may choose \((x_1,y_1,z_1)\) and \((x_2,y_2,z_2)\) as a feasible 3DM solution and assign the sequence indices as shown in Fig. 14b without any badly placed items. On the other hand, if we consider \(M'=M\setminus \{(x_2,y_2,z_2)\}\), then no feasible 3DM solution exists and also no assignment without badly placed items.

\(\Rightarrow\)”: A solution for 3DM means that a subset \(U \subset M\) exists which contains a triples covering all elements from XYZ. To get a solution for the BRPIF, we choose the a stack sets corresponding to the triples \(\tau \in U\) for \(\varPhi _Y,\varPhi _{Z_1}\) as shown in Fig. 13c and the remaining \(|M|-a\) stack sets for \(\varPhi _X,\varPhi _{Z_2}\) as shown in Fig. 13d (also cf. Fig. 14). With this selection, we are able to assign the families of \(\varPhi _{M},\varPhi _{M}'\) without causing any badly placed items and hence have a solution with \(BI=0\).

\(\Leftarrow\)”: We show that for a solution of the BRPIF with \(BI=0\), all demanded item families of \(\varPhi\) must be selected from a stack sets according to the pattern shown in Fig. 13c and from \(|M|-a\) stack sets according to the pattern in Fig. 13d.

To guarantee \(BI=0\), the 2|M| families of the second part in \(\varPhi\) have to be combined in exactly |M| stacks. A combination of top items for the second part with bottom items for the first part leads to \(BI>0\) since the families from \(\varPhi _{M}\) have to be retrieved earlier than \(\varPhi _Y\) and \(\varPhi _{Z_2}\). In every stack set, one family of \(\varPhi _{M}\) and one family of \(\varPhi _{M}'\) must be assigned to one of the three bottom items \(i_\tau ,{\tilde{i}}_\tau ,{\bar{i}}_\tau\), which implies that also one family from \(\varPhi _X \cup \varPhi _{Z_1}\) and one family from \(\varPhi _Y \cup \varPhi _{Z_2}\) must be assigned to each stack set.

Together with \(\varPhi _{Z_1}\) or \(\varPhi _{Z_2}\), we need to assign either one family of \(\varPhi _Y\) or \(\varPhi _X\). Since families of \(\varPhi _Y,\varPhi _{Z_2}\) may only be combined with families of \(\varPhi _{M}'\) in one stack, we assign either families of \(\varPhi _Y\) together with \(\varPhi _{Z_1}\) in a stack set \(Q_\tau\) as shown in Fig. 13c or families of \(\varPhi _X\) together with \(\varPhi _{Z_2}\) as shown in Fig. 13d.

Since \(|\varPhi _Y| = |\varPhi _{Z_1}| = a\) and \(|\varPhi _X| = |\varPhi _{Z_2}| = |M|-a\), we must choose a stack sets as shown in Fig. 13c and \(|M|-a\) stack sets as shown in Fig. 13d. Let U be set of all triples \(\tau\) for which the corresponding stack set \(Q_\tau\) is chosen as shown in Fig. 13c. Then U builds a solution for 3DM. \(\square\)

Theorem 2

For the \(\text {BRPIF}_{{{\rm set}}}\) with \(b \ge 3\), it is strongly \({{\mathcal {N}}}{{\mathcal {P}}}\)-complete to decide whether a solution without any badly placed items exists.

Proof

We again give a reduction from three-dimensional matching (3DM). For a given 3DM instance, we construct an instance of the \(\text {BRPIF}_{{{\rm set}}}\) by identifying each element \(x\in X, y\in Y, z\in Z\) with one item family \(f^x,f^y,f^z\) resulting in 3a different families. Let \({\mathcal {F}}_X, {\mathcal {F}}_Y, {\mathcal {F}}_Z\) be the corresponding sets of families. For each triple \((x_q,y_q,z_q)\in M\) in 3DM, we create a stack q containing items \(i_q,j_q,h_q\) with families \(f_{i_q} = f^{x_q}, f_{j_q} = f^{y_q}, f_{h_q} = f^{z_q}\) resulting in \(m=|M|\) stacks with \(b=3\). In stack q, item \(i_q\) is placed at the top level, item \(j_q\) in the middle and item \(h_q\) at the bottom level. The set of demanded families is \(\varPhi _{{{\rm set}}} = {\mathcal {F}}_X \cup {\mathcal {F}}_Y \cup {\mathcal {F}}_Z\).

We claim that a solution for 3DM exists if and only if a solution for the corresponding instance of the \(\text {BRPIF}_{{{\rm set}}}\) with \(BI=0\) exists.

\(\Rightarrow\)”: A solution for 3DM means that a triples exist covering all elements from XYZ. To get a solution for the \(\text {BRPIF}_{{{\rm set}}}\), we choose the a stacks related to these triples, assign the items in these stacks to the 3a demanded families of \(\varPhi _{{{\rm set}}}\) and have a solution with \(BI=0\).

\(\Leftarrow\)”: We show that for a solution of the \(\text {BRPIF}_{{{\rm set}}}\) with \(BI=0\), all demanded families of \(\varPhi _{{{\rm set}}}\) must be chosen from exactly a stacks, i.e., all items of these a stacks are selected, and consequently, all \(|M|-a\) other stacks contain only items which are not selected.

The demanded families \(f^x,f^y,f^z\) can only be assigned to items placed at the top level, the middle and the bottom level, respectively. In a solution for the \(\text {BRPIF}_{{{\rm set}}}\), we must have selected \(a = |{\mathcal {F}}_Z|\) items on the bottom level from a stacks for the demanded families in \({\mathcal {F}}_Z\). Similarly, for the a families in \({\mathcal {F}}_Y\) and \({\mathcal {F}}_X\) we must have selected a items from the middle and the top level, respectively. Furthermore, for all \(f^y\in {\mathcal {F}}_Y\) and all \(f^x\in {\mathcal {F}}_X\) we must have chosen a stack where an item on the bottom level has been selected for family \(f^z \in {\mathcal {F}}_z\), since otherwise at least one badly placed item exists. Thus, the selected a stacks for the 3a demanded families of \(\varPhi _{{{\rm set}}}\) correspond to a triples from M and hence build a solution for 3DM. \(\square\)

Theorem 3

The \(\text {BRPIF}_{{{\rm set}}}\) with \(b=2\) and objective RS can be solved as maximum flow problem in polynomial time.

Proof

To solve this problem, we proceed in two phases. In the first phase, we decide how many items are selected from the top level \(l=2\) and the bottom level \(l=1\), respectively. Afterward, we assign specific items from these levels to the demanded families. Let \(n_f\) be the number of occurrences of family f in the multiset \(\varPhi _{{{\rm set}}}\) and \(\eta _f^l\) be the number of items which belong to family f and are stored at level \(l \in \{1,2\}\). Items located at the bottom level of a stack containing only one item count as top items since these items are never badly placed.

We partition \(n_f\) into two numbers \(\alpha _f^l \le \eta _f^l\) for \(l=1,2\) such that \(n_f=\alpha _f^1+\alpha _f^2\) where \(\alpha _f^l\) denotes how many items are selected from level l. We choose \(\alpha _f^2 \le \eta _f^2\) as large as possible, i.e., we select as many items from the top level as possible (which ensures that these items are not badly placed).

After all family entries from \(\varPhi _{{{\rm set}}}\) have been assigned to either the top or the bottom level, the families must be assigned to specific items in the stacks. For all families f with \(\eta _f^2 \le n_f\), we choose all the \(\eta _f^2\) items in the top level. If afterward an item i on the bottom level exists for which the item above has been selected, \(\alpha _{f_i}^2 = \eta _{f_i}^2\) (i.e., there are no more items of family \(f_i\) at the top level which may be used to get access to other items at the bottom level), and \(\alpha _{f_i}^1>0\), we choose i also.

In the following, we assume that the numbers \(\alpha _f^l\) are adjusted so that they correspond to the remaining demands. To fulfill them, we solve a maximum flow problem. The node set V consists of a source node s, a sink node t, a set of “bottom nodes” \(V^b\), a set of “top nodes” \(V^t\) and a set of “stack nodes” \(V^s\):

  • For all families f for which an item has to be selected from the bottom level (i.e., \(\alpha _f^1>0\)), we introduce \(\alpha _f^1\) bottom nodes \(u_f^1, \ldots , u_f^{\alpha _f^1}\).

  • For all families f for which an item has to be selected from the top level (i.e., \(\alpha _f^2>0\)), we introduce \(\alpha _f^2\) top nodes \(v_f^1, \ldots , v_f^{\alpha _f^2}\).

  • For all stacks q where both items may be selected (i.e., for both corresponding families \(f_{ql}\) in levels \(l=1,2\) we have \(\alpha _{f_{ql}}^l>0\)), we introduce two stack nodes \(q,q'\).

The source node s is connected to every bottom node \(u_f \in V^b\), every top node \(v_f \in V^t\) is connected to the sink t, and every stack node q is linked to its partner node \(q'\) ensuring that every stack can be used at most once. Furthermore, we have an arc from a bottom node \(u_f \in V^b\) to a stack node q if an item belonging to family f is stored at the bottom level of q. Analogously, we have an arc from stack node \(q'\) to a top node \(v_f \in V^t\) if an item belonging to family f is stored at the top level of stack q. All arcs get the upper capacity one.

We then calculate a maximum flow from the source s to the sink t. It decomposes into s-t-paths carrying one unit of flow where exactly one node from \(V^b\) and one node from \(V^t\) are matched to a stack q which means that the corresponding items are selected for the demanded families. All nodes in \(V^b\) that cannot be matched lead to a badly placed item.

Fig. 15
figure 15

Example for \(\varPhi _{{{\rm set}}} = \{A,A,B,B,B,B,C,E,F\}\)

Example 9

In Fig.  15, we illustrate the procedure using an example with \(m=9\) stacks and 6 families ABCDEF. We assume that the families \(\varPhi _{{{\rm set}}} = \{A,A,B,B,B,B,C,E,F\}\) have to be retrieved from the storage depicted in Fig. 15a.

We have

$$\begin{aligned}{} & {} n_A=2, n_B=4, n_C=1, n_D=0, n_E=1, n_F=1, \\{} & {} \quad \eta _A^2=4, \eta _B^2=1 ,\eta _C^2=0, \eta _D^2=2, \eta _E^2=1, \eta _F^2=2, \\{} & {} \quad \eta _A^1=1, \eta _B^1=4 ,\eta _C^1=3, \eta _D^1=1, \eta _E^1=1, \eta _F^1=0, \end{aligned}$$

which leads to

$$\begin{aligned}{} & {} \alpha _A^2=2, \alpha _B^2=1 ,\alpha _C^2=0, \alpha _D^2=0, \alpha _E^2=1, \alpha _F^2=1, \\{} & {} \quad \alpha _A^1=0, \alpha _B^1=3 ,\alpha _C^1=1, \alpha _D^1=0, \alpha _E^1=0, \alpha _F^1=0. \end{aligned}$$

For families B and E, the two top items in stacks 4 and 7 are immediately chosen due to \(\eta _B^2=1<4=n_B\) and \(\eta _E^2=1=n_E\). Then for family B also the bottom item in stack 4 is selected, since \(\alpha _B^2 = \eta _B^2\) and \(\alpha _B^1>0\).

For the remaining items to be selected, we consider the maximum flow problem shown in Fig. 15b. For this problem, a maximum flow exists in which all bottom nodes are covered if we send one unit of flow through the three paths \(u_B^1 \rightarrow q_1 \rightarrow q'_1 \rightarrow v_A^1\), \(u_B^2 \rightarrow q_8 \rightarrow q'_8 \rightarrow v_F^1\) and \(u_C^1 \rightarrow q_2 \rightarrow q'_2 \rightarrow v_A^2\). Thus, for the solution depicted in Fig. 15c no badly placed items exist, and hence, no reshuffles are necessary.

On the other hand, if we have \(\varPhi '_{{{\rm set}}} = \{A,B,B,B,B,C,E,F\}\), then only one A-node in \(V^t\) exists and the maximum flow value is \(2<|V^b|\). We can send flow through the paths \(u_B^1 \rightarrow q_1 \rightarrow q'_1 \rightarrow v_A^1\) and \(u_B^2 \rightarrow q_8 \rightarrow q'_8 \rightarrow v_F^1\) (or \(u_C^1 \rightarrow q_5 \rightarrow q'_5 \rightarrow v_F^1)\), which implies that one item (belonging to family B or C) has to be selected that leads to a badly placed item above it.

Up to now, we only considered the number of badly placed items BI and not the number of reshuffles RS. We claim that if we have to retrieve a multiset \(\varPhi _{{{\rm set}}}\) from a storage with \(b=2\), always \(RS=BI\) holds, i.e., each badly placed item must only be reshuffled once. If \(BI=0\), then also \(RS=0\) since no item must be reshuffled. On the other hand, if \(BI>0\), then at least one non-selected item at the top level blocks a selected item below. All selected items which are not blocked can immediately be retrieved. If then an empty slot above a non-selected item or a completely free stack exists, we simply relocate the blocking item to this location, retrieve the blocking item and have a completely empty stack afterward. The only problematic case is that no empty slot exists and all top level items are badly placed. But then no feasible solution exists. \(\square\)

Corollary 1

For the BRPIF with \(b=2\) where the family retrieval sequence \(\varPhi =({\mathcal {M}}_1,{\mathcal {M}}_2)\) consists of two multisets, it is strongly \({{\mathcal {N}}}{{\mathcal {P}}}\)-complete to decide whether a solution without any badly placed items exists.

Proof

Recall the proof of Theorem 1 where the sequence \(\varPhi\) was defined by the subsequences \(\varPhi _{Z_1},\varPhi _Y,\varPhi _{M},\varPhi _X,\varPhi _{Z_2}, \varPhi _{M}'\). It is easy to check that the proof is also valid if each subsequence is relaxed to a set from which the families can be retrieved in an arbitrary order. Furthermore, if we set \({\mathcal {M}}_1 = \varPhi _{Z_1}\cup \varPhi _Y\cup \varPhi _{M}\) and \({\mathcal {M}}_2 = \varPhi _X\cup \varPhi _{Z_2}\cup \varPhi _{M}'\), the proof remains valid without any changes. \(\square\)

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Boge, S., Knust, S. The blocks relocation problem with item families minimizing the number of reshuffles. OR Spectrum 45, 395–435 (2023). https://doi.org/10.1007/s00291-022-00703-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00291-022-00703-x

Keywords

Navigation