^{1}

^{*}

^{1}

Scattered storage means an item can be stored in multiple inventory bins. The scattered storage assignment problem based on association rules in Kiva mobile fulfillment system is investigated, which aims to decide the pods for each item to put on so as to minimize the number of pods to be moved when picking a batch of orders. This problem is formulated into an integer programming model. A genetic algorithm is developed to solve the large-sized problems. Computational experiments and comparison between the scattered storage strategy and random storage strategy are conducted to evaluate the performance of the model and algorithm.

Storage assignment strategy is a critical factor affecting warehouse operation efficiency. In the traditional picker-to-parts warehouse, pickers pick items according to the picking list, and the results of storage assignment determine the walking distance of the pickers and the order completion time. In recent years, Kiva mobile fulfillment system, in which pods are carried by robots to workstations, has been gradually applied [

As in

workstations, and one or more pods is selected to complete the order. Target pods are moved by robots to workstations for workers to pick items from the pods. One robot can only carry one pod to a workstation at a time. After the items are picked up by workers in workstations, robots return the pods to the storage location.

There are many operation problems in Kiva mobile fulfillment system, such as storage assignment problem, order batching problem, robot path planning problem, and pods selecting problem. Storage assignment problem is an essential problem in Kiva mobile fulfillment system. Different from storage assignment problem in the traditional picker-to-parts warehouse, one item can be stored in multiple inventory bins in Kiva mobile fulfillment system, which is called scattered storage. The scattered storage assignment in Kiva mobile fulfillment system is one-to-many form while in the traditional picker-to-parts warehouse is one-to-one form.

In Kiva mobile fulfillment system, many items are frequently ordered in one order, and there are association rules among the items. If the items that are often ordered in one order are stored in the same pod, we can complete the orders with fewer pods to be moved. With that in mind, this article studied the scattered storage assignment problem based on association rules in Kiva mobile fulfillment system. An integer programming model is formulated to solve this problem, and a genetic algorithm is proposed to solve the model. The validity of the proposed model and algorithm is validated by comparing with random storage strategy.

The rest of the article is organized as follows. The related work of storage assignment is reviewed in Section 2. The problem description is presented and the integer programming model is formulated in Section 3. A genetic algorithm is proposed in Section 4. The computational experiments are presented in Section 5. Lastly, Section 6 concludes the study.

Roodbergen and De Koster [

Plenty of research has been done on the storage assignment with considering the item’s relationship. Several items that are frequently ordered in one order are suggested to be stored nearby to reduce the order completion time [

Previous studies almost considered the storage assignment problem in the traditional picker-to-parts warehouse, but there were relatively few studies devoted to the large-sized storage assignment problem in Kiva mobile fulfillment system. Therefore, this article focuses on the scattered storage assignment problem based on association rules in Kiva mobile fulfillment system and proposes an algorithm for large-sized storage assignment problems.

Scattered storage assignment problem based on association rules in Kiva mobile fulfilment system is considered in this article. We assume that all pods are empty at first. One pod has Q inventory bins to store items. The number of item types and the number of inventory bins that each item requires are given. Historical orders are given so that we can obtain item’s similarity and verify the proposed model and algorithm. We assume that the amount of an item in one inventory bin can satisfy the demand of the item in an order. The scattered storage assignment aims to maximize the item’s similarity in all pods so that we can minimize the number of pods to be moved when picking the orders.

This section proposes a model for the scattered storage assignment problem based on association rules in Kiva mobile fulfillment system.

The parameters are defined in

Association rules can be described as follows: let I = {I_{1}, I_{2}, ..., I_{m}} be an itemset, let D, the task-relevant data, be a set of database transactions where each transaction T is a nonempty itemset such that T ⊆ I. We say that a transaction T contains A, a set of some items in I, if A ⊆ T. An association rule is an implication of the form A ⇒ B. Support count is the count of transactions in D that contains A and B. Association rules are considered if they satisfy both a minimum support threshold and a minimum confidence threshold [

Given items which are frequently ordered in one order are stored in the same pod results in fewer pods to be moved to complete the picking operation. The objective function of the integer programming model is set to maximize the total item similarity in all pods.

The integer programming model is similar to the model proposed by [

Indices | |
---|---|

i , j | index of items, i, j = 1, ..., N |

o | index of orders, o = 1, ..., O |

m | index of pods, m = 1, ..., M |

Parameters | |

N | total number of items |

O | total number of orders |

M | total number of pods |

Q | number of inventory bins in one pod; Q=8 in this article |

B_{i } | number of inventory bins for the item i needed to be assigned |

S_{ij}_{ } | similarity value between the item i and j, it is equal to the support count between item i and j |

S | item similarity matrix |

Decision variables | |

x_{im}_{ } | x_{im} = 1 if the item i is put on the pod m; |

x_{im}_{ }= 0_{ }, otherwise | |

y_{im}_{ } | number of inventory bins that item i occupies on the pod m |

unreasonable for all items to be stored on all inventory bins, which means that no bin is vacant. In our model, we allow empty inventory bins to exist. The integer programming model is as follows:

max ∑ i ∑ j > i ∑ m s i j x i m x j m (1)

Subject to:

∑ i y i m ≤ Q , ∀ m (2)

∑ m y i m = B i , ∀ i (3)

y i m ≤ Q x i m , ∀ i , m (4)

y i m ≥ x i m , ∀ i , m (5)

x i m ∈ { 0 , 1 } , y i m ≥ 0 , ∀ i , m (6)

Equation (1) is the objective function, it is to maximize the total item similarity in all pods. Constraint (2) ensures that inventory bins that a pod is assigned not exceed Q. Constraint (3) ensures that the number of inventory bins that item i needed can be satisfied. Constraint (4) indicates that the number of bins that item i occupies in the pod m is no more than Q only if it is selected to store item i. Constraint (5) indicates that item i can be stored in pod m only if it is selected to store item i. Constraint (6) is a basic constraint.

The problem can be decomposed into two stages. First, association rules of items can be obtained according to the historical orders. Second, storage assignment results are optimized by the proposed genetic algorithm.

There are many existing algorithms to obtain association rules, such as Apriori, FP-growth. In this article, we choose Apriori algorithm to obtain association rules without setting thresholds. So, we can obtain the similarity matrix S.

S = ( s 11 s 12 ⋯ s 1 N s 21 s 22 ⋯ s 2 N ⋮ ⋮ ⋱ ⋮ s N 1 s N 2 ⋯ s N N )

We set the support count between the item i and j to be the similarity between the item i and j and set s_{ii} = 0.

Genetic algorithm is a family of computational models inspired by evolution, which was first used by [

We need to present the relationship of items and pods so the individual can be described as a matrix in the following:

[ 2 3 1 2 4 2 5 1 3 5 4 5 2 3 3 4 4 3 1 5 ]

The rows of the individual stand for the pods and the columns stand for the inventory bins. The elements stand for item types. This individual represents there are five items need to be assigned to four pods. Each pod has five inventory bins. The first row of this individual represents that item 2, item 3, item 1 and item 4 are stored in the first pod while item 2 occupies two inventory bins.

The initial population is generated randomly according to the inventory bins that each item requires. It ensures the diversity of the population.

The genetic algorithm is always used for maximization problem, and the objective function of the integer programming model is also a maximization function. So, the fitness function in our algorithm is the objective function of the integer programming model:

F ( x ) = ∑ i ∑ j > i ∑ m s i j x i m x j m

We adopt the roulette-wheel method, which uses a probability distribution for selection in which the selection probability of a given string is proportional to its fitness. Moreover, elitism preserving strategy is applied to improve the algorithm’s efficiency.

A brand-new crossover operator is designed to solve the problem for the reason that it can make the objective function as large as possible when a variety of item types are stored on one pod. So, we choose two pods to exchange the duplicate items on them. For each individual, a single-parent genetic crossover operation is performed.

For example, item 2 appears two times on the first pod, item 5 appears two times on the third pod, and item 3 appeared two times on the fourth pod, then randomly select two duplicate items to exchange. We might as well exchange item 2 on the first pod and item 5 on the third pod. Equation (7) shows the example of the crossover operator.

[ 2 3 1 2 4 2 5 1 3 5 4 5 2 3 3 4 4 3 1 5 ] → [ 5 3 1 2 4 2 5 1 3 2 4 5 2 3 3 4 4 3 1 5 ] (7)

If the two pods do not have duplicate items, we conduct the crossover operation by the method of mutation operator which is described in the following.

Performing the mutation operator ensures that new search space is reached, which crossover operator cannot do. Because the less fit individuals are discarded, mutation operator can avoid the algorithm falling into a local optimal solution. We randomly exchange two items on different pods as the mutation operator. Equation (8) shows the example of the mutation operator. We perform mutation operation by exchanging item 5 on the first pod and item 3 on the second pod.

[ 2 3 1 2 4 2 5 1 3 5 4 5 2 3 3 4 4 3 1 5 ] → [ 2 5 1 2 4 2 3 1 3 5 4 5 2 3 3 4 4 3 1 5 ] (8)

The specific steps of the genetic algorithm are as follows:

Step 1: Set population size P, the number of iteration G and mutation probability.

Step 2: Generate initial population t.

Step 3: Calculate the fitness of each individual.

Step 4: Perform selection, crossover operation and mutation operation.

Step 5: Obtain the population t + 1.

Step 6: Determine whether the iteration reaches G and returns Step 3 if it not reaches.

We generated random examples according to the characteristic of the scattered storage in Kiva mobile fulfilment system. The setting was as follows:

• Set the number of orders as O.

• Set the average number of item types in order as l and set maximum of it as H.

• The number of item types in order obeys P(l), Poisson distribution with parameter l.

• Set the number of item types as N.

• The inventory bins that each item requires obey U (a, b), uniform distribution with parameter a and b.

• Set the number of inventory bins of each pod as 8, Q = 8.

• Calculate the number of pods as M.

Experiments were conducted to compare the results obtained by proposed algorithm and global optimal objective value solved by CPLEX. Item similarity matrix was obtained by 30% of the historical orders. The values obtained by CPLEX with a time limit of 1800 s. The integer programming model was implemented by CPLEX 12.8. The comparison between the proposed algorithm and CPLEX is shown in

The results showed that the objective values of the proposed algorithm were very close to the global optimal values since the largest gap was 1.34% in the first three examples. It implies that the proposed algorithm is an effective method for solving the scattered storage assignment problem. Moreover, the time that proposed algorithm used was shorter than CPLEX used. The CPLEX method

o | | H | N | a | b | Q | M |
---|---|---|---|---|---|---|---|

1000 | 4 | 10 | 10 | 2 | 5 | 8 | 5 |

1000 | 4 | 10 | 20 | 2 | 5 | 8 | 10 |

1000 | 4 | 10 | 30 | 2 | 5 | 8 | 13 |

1000 | 4 | 10 | 50 | 2 | 5 | 8 | 21 |

1000 | 4 | 10 | 100 | 2 | 5 | 8 | 46 |

1000 | 4 | 10 | 150 | 2 | 5 | 8 | 70 |

Parameters | GA | CPLEX | Gap^{a}^{ } | |||||||
---|---|---|---|---|---|---|---|---|---|---|

M | N | [a,b] | Q | P | G | Obj1 | Time/s | Obj2 | Time/s | |

5 | 10 | [2,5] | 8 | 5 | 50 | 5473 | 0.0625 | 5473 | 0.1658 | 0.00% |

10 | 20 | [2,5] | 8 | 50 | 700 | 4945 | 10.8906 | 4945 | 548.5877 | 0.00% |

13 | 30 | [2,5] | 8 | 100 | 1000 | 4569 | 42.3906 | 4631 | 1483.6850 | −1.34% |

21 | 50 | [2,5] | 8 | 50 | 3000 | 3674 | 116.7500 | 3379 | 1800.0000 | 8.73% |

46 | 100 | [2,5] | 8 | 50 | 3000 | 3883 | 711.3334 | 2722 | 1800.0000 | 42.65% |

70 | 150 | [2,5] | 8 | 50 | 3000 | 3459 | 1080.3070 | 949 | 1800.0000 | 264.49% |

^{a}(Obj1 − Obj2)/Obj2 * 100%.

cannot obtain an optimal solution within 1800s when the number of item types increases to 50. When the number of item types increases to 150, the objective value of proposed genetic algorithm is 264.49% better than the value of CPLEX and spent less time than CPLEX.

To evaluate the validity of the scattered storage assignment, some experiments are conducted to calculate the number of pods to be moved to complete 70% of the historical orders, which are compared with random storage strategy.

We consider that the number of inventory bins of one pod (Q) and item’s distribution may affect the number of pods to be moved when picking orders, so the sensitivity analyses are conducted to verify the performance of the proposed model with respect to N = 10.

From

The scattered storage assignment problem based on association rules in Kiva mobile fulfillment system was studied in this article that determined which item to store on which pods, with the objective of maximizing item similarity in our proposed integer programming model. For solving the problem, a genetic

Parameters | Our strategy | Random strategy | Decrease percentage | |||
---|---|---|---|---|---|---|

M | N | [a,b] | Q | The number of pods to be moved | The number of pods to be moved | |

5 | 10 | [2,5] | 8 | 741 | 1084 | 31.64% |

10 | 20 | [2,5] | 8 | 1000 | 1423 | 29.73% |

13 | 30 | [2,5] | 8 | 990 | 1524 | 35.04% |

21 | 50 | [2,5] | 8 | 1180 | 1874 | 37.03% |

46 | 100 | [2,5] | 8 | 1244 | 1958 | 36.47% |

70 | 150 | [2,5] | 8 | 1299 | 2102 | 38.02% |

Average | 1076 | 1661 | 34.66% |

algorithm was proposed. Computational experiments, comparison between our algorithm and CPLEX and comparison between the scattered storage strategy and random storage strategy are conducted to obtain the following results: 1) The proposed algorithm has a good performance both on solution quality and time, compared with CPLEX. 2) When the items types are increasing, the scattered storage assignment cannot be solved by CPLEX but by our proposed algorithm. 3) The scattered storage assignment based on association rules can significantly reduce the number of pods to be moved with the comparison of random storage strategy.

This work is supported by the National Natural Science Foundation of China [grant number 71771028], Beijing Municipal University’s High-level Innovation Team Construction Project [grant number IDHT20180510] and Beijing Intelligent Logistics Cooperative Innovation Centre.

No potential conflict of interest was reported by the authors.

Guan, M.C. and Li, Z.P. (2018) Genetic Algorithm for Scattered Storage Assignment in Kiva Mobile Fulfillment System. American Journal of Operations Research, 8, 474-485. https://doi.org/10.4236/ajor.2018.86027