Professional Documents
Culture Documents
48-Storage assignment and order batching problem in RMFS-2018明天看
48-Storage assignment and order batching problem in RMFS-2018明天看
To cite this article: Xi Xiang, Changchun Liu & Lixin Miao (2018): Storage assignment and
order batching problem in Kiva mobile fulfilment system, Engineering Optimization, DOI:
10.1080/0305215X.2017.1419346
Article views: 6
a Department of Industrial Engineering, Tsinghua University, Beijing 100084, China; b Logistics Engineering and
Simulation Laboratory, Graduate School at Shenzhen, Tsinghua University, Shenzhen 518055, China
1. Introduction
Products are often stacked on shelves, and picked and packed according to customer orders in a
warehouse. Most warehouses have been using an automated storage and retrieval system when there
is a high volume of loads being moved in and out of the warehouses. In some other centres, workers
pick products and send them to shipping stations through conveyors or forklifts. Traditional automa-
tion approaches for a warehouse have some drawbacks, e.g. inflexibility of inventory locations, high
set-up cost, and manual reslotting Wurman et al. (2008). To address such issues, Kiva Systems have
introduced an innovative warehouse automation system, where robots carry shelves with products to
workers Wurman et al. (2008); Enright and Wurman (2011).
The Kiva mobile fulfilment system is targeted at pick-pack-and-ship warehouses. In the system,
robots lift and carry three-foot-square shelving units, called inventory pods, or simply pods, as in
Figure 1(a), from storage locations to picking or replenishment stations where workers can pick prod-
ucts off the pods or fill the pods with products, respectively. A Kiva installation is typically arranged
in a grid with storage zones of inventory pods, picking stations, and replenishment stations as illus-
trated in Figure 1(b), which shows six inventory pod blocks, 10 robots, four picking stations, and two
replenishment stations.
When a customer order arrives, it is assigned to one of the picking stations. Then robots are sent
to the specific pods that contain the products in the order and transport them to the station. Since all
products are carried by robots, the operators can stay in their stations and only pick products guided
by laser pointers that identify the correct products on a pod Enright and Wurman (2011). The robots
wait for the workers to pick up products and then return the pods to the storage location. Each pod’s
storage spot can be changed from the previous one. After the robots put the pods in the storage zone,
they move to other pods to carry them. When a pod becomes empty, a robot carries it to one of
the replenishment stations, and a worker in the station fills the pod with products. Hence, pods are
transported to either the picking or replenishment station and stored in the storage blocks between
the two activities. In the picking stations, workers pack the shipping cartons and push them onto a
take-away conveyor to transport the finished boxes to the shipping area.
One robot can carry one pod at a time, and a pod can visit one station at a time or several stations
sequentially. Since pods are square or rectangular, products can be accessed from one or more of the
four pod faces, and robots can rotate pods to present the correct face. Robots are bi-directional and
have sensors for obstacle detection. They follow markers placed on the floor while transporting pods
Enright and Wurman (2011).
This Kiva mobile fulfilment system has many advantages over typical warehouse automation sys-
tems, e.g. greater accountability, adaptive slotting, and spatial flexibility (Wurman et al. 2008). Each
order is completely filled by one worker, which improves the accuracy and incurs no downstream
dependencies. The system easily adapts to changes in stocking policies, and, even if a robot breaks
down, the system can continue to operate and does not have noticeable impact on productivity Wur-
man et al. (2008). Moreover, the system can be expanded by simply adding more pods, robots, and
stations.
When operating in a warehouse automation system, such as the Kiva mobile fulfilment system, an
important operation problem is to decide which product to put on which pod so that the robot move-
ment distance can be minimized. Since the pod storage location is adaptive, depending on the product
types stored in the pods and the customer orders that picking stations take care of, it is very hard to
estimate the robot movement distance. However, if products that many customers order at the same
time are put into the same pod, it can be inferred that the number of visits of pods to picking stations
can be reduced, as well as the robot movement distance. Hence, this article classifies product types
so that each pod has products that are often ordered together. A mixed integer linear programming
model is formulated to solve this problem. Since this is a problem at a strategic level, computational
time is not very important. Thus, it is solved by CPLEX, a commercial solver. To reduce the number
of visits of pods, the workers can pack more than one order at a time, which means that the orders
can be grouped as they are received in a warehouse (each order is composed of a list of products to
be collected) into a set of batches and the workers can pick up orders by batch. Subsequently, another
problem, that of deciding which orders are to be divided into one batch, is studied. Such a problem is
at an operational level; it needs to obtain an acceptable solution in a very short computational time.
Therefore, a heuristic is proposed.
ENGINEERING OPTIMIZATION 3
The rest of the article is organized as follows. Section 2 provides a summary of related work.
Section 3 gives a description of the problem. Section 4 formulates a mixed integer linear program-
ming model for the storage assignment problem in Stage I. Section 5 presents a model for the order
batching problem in Stage II and Section 6 proposes a heuristic to solve the order batching prob-
lem. Section 7 describes the settings of the computational experiments and presents the results and
discussions. Lastly, Section 8 draws conclusions from the study.
2. Related work
The storage assignment decision in the Kiva mobile fulfilment system is closely related to the stock
location problem in a warehouse. Heskett (1963) proposed a criterion called the cube-per-order index
for the placement of stock in a distribution warehouse to minimize the labour cost associated with
assembling products from stock to fill customer orders. The cube-per-order index is the ratio of the
product’s storage space requirement (cube) to its popularity (number of storage or retrieval requests
for the product). Later, Malmborg and Bhaskaran (1990) showed that the cube-per-order index rule,
which assigns products with large cube-per-order index to shelves close to stations, provided an
optimal solution to the storage and retrieval interleaving system. Based on the previous studies of
Heskett (1963), Malmborg and Bhaskaran (1990), and Wilson (1977), a lot of research has been
done on the storage assignment of correlated products in a warehouse Mulvey and Crowder (1979);
Hwang et al. (1988, 2003; Grotschel and Wakabayashi (1989; Frazele and Sharp (1989; Lee (1992);
Kim (1993; Liu (1999; Jane and Laih (2005); Xiao and Zheng (2010; Chiang et al. (2011; Berglund
and Batta (2012); Yang et al. (2015). Hwang et al. (1988) presented several heuristics for batching a
set of orders to minimize the total distance travelled by the order picking machine, and Mulvey and
Crowder (1979) utilized Lagrangian relaxation to solve a clustering problem with a fixed number of
clusters. Frazele and Sharp (1989) formulated a product storage location problem as an NP-hard inte-
ger programming model, and solved it using a two-phase construction heuristic. Lee (1992) presented
a storage assignment algorithm by considering the order structure and frequency for a man-on-board
automated storage and retrieval system; in their article, the product similarity is computed by the
degree of products’ propensity of being requested together in customer orders. Xiao and Zheng (2010)
considered the production bill of material information for a correlated storage location assignment
problem, extending the method of Lee (1992). Kim (1993) studied the problem of clustering prod-
ucts to assign storage locations and proposed a heuristic algorithm to minimize inventory-related
and material-handling costs. Liu (1999) employed a primal-dual type algorithm to group products
with a quantity-based similarity measure and maximize the sum of similarity in each group. Jane and
Laih (2005) proposed a heuristic algorithm for the product assignment in a synchronized zone order
picking system, and Chiang et al. (2011) considered a storage assignment problem for newly delivered
products to reduce the travel distance. Parikh and Meller (2008) studied an order picking strategy in
a distribution centre and proposed a cost model to estimate the cost of each type of picking strategy.
Berglund and Batta (2012) proposed an analytical solution procedure for the optimal placement of
a single middle cross-aisle for a given storage policy with the probability mass function of the order
pick points. Previous studies have mostly considered an automated storage and retrieval system with
multiple blocks and aisles, and used various product similarity measures based on order frequency
or quantity. These studies focus on grouping products and then assigning each group to a storage
location, according to particular rules. Further details on the warehouse stock location problem can
be found in Cormier (1992) and de Kosteret al. (1988).
Another important issue related to this article is the order batching problem. For a comprehensive
overview of the order batching problem, please refer to the review given by Ma and Zhao (2014).
Ma and Zhao (2014) analyzed and summarized the range and idea of order batching by giving a
review of the different solution approaches that have been suggested in the literature, and indicating
the tendency of future research in order batching. Öncan (2013) introduced a genetic algorithm for
the order batching problem, considering traversal and return routing policies. The proposed genetic
4 X. XIANG ET AL.
algorithm has been tested on randomly generated examples and compared with the well-known sav-
ings algorithm. Öncan (2015) dealt with the order batching problem, considering traversal, return,
and midpoint routing policies and suggested an efficient iterated local search algorithm with tabu
thresholding. Muter and Öncan (2015) considered the set partitioning problem formulation of the
order batching problem and developed a specially tailored column generation-based algorithm for
this problem. Perez-Rodriguez et al. (2015) considered an online order batching problem in which
the turnover time of all customer orders must be minimized, i.e. the time period between the arrival
time of the customer order and its completion time. A continuous estimation of the distribution
algorithm-based approach was proposed and developed to solve the problem and implement the
solution. Menendez et al. (2016) proposed several strategies based on the variable neighbourhood
search (VNS) methodology to tackle the order batching problem. Previous studies often aimed to
minimize the turnover time of all orders or maximize the sum of the similarity values of products in
each cluster; the routing problem was often considered, since workers were expected to walk around
the warehouse to collect the products. However, the workers can stay in a fixed station in the mobile
fulfilment system, since the robots can carry the products to the picking stations. Therefore, this arti-
cle simply focuses on how to construct batches to minimize the number of visits of pods without
consideration of the routing problem, unlike previous studies.
3. Problem description
As mentioned before, the storage assignment problem and the order batching problem are considered
in this article. The problem can be decomposed into two stages, as shown in Figure 2. Stage I, which
can be called the ‘storage assignment problem’ at a strategic level, determines which product to put
on which pod with the objective of maximizing the product similarity. Based on the results of Stage
I, Stage II, which can be called the ‘order batching problem’ at an operational level, generates a batch
schedule, and determines the corresponding pods needed, aiming to minimize the number of visits
of pods.
Robots in the Kiva mobile fulfilment system assume the role of workers in a warehouse who pick
products from the shelves and then send them to shipping stations. The workers pick products while
walking along the big shelves, whereas robots carry products only in a pod at a time. Hence, the
picking and travel time of the robots is not affected by the correlation between products in different
pods. The storage assignment problem in the Kiva mobile fulfilment system is different from previous
studies. First, the objective function is to minimize the number of visits of pods to picking stations.
Most previous studies have tried to maximize the sum of the similarity values of products in each
cluster. The similarity value between products i and j ranges from 0 to 1. Hence, even though there
is only one product in a pod, its similarity value becomes 1 Liu (1999). However, putting one type
of product in each pod in the Kiva mobile fulfilment system only increases the number of visits of
pods. Putting more product types into a pod can obtain a smaller objective value in general. Hence,
the number of product types that can be stored in a pod must be constrained. When grouping some
orders into a batch, this study tries to find some orders that contain the same product in one pod.
Thus, the number of visits of pods can be reduced for a batch.
The following assumptions, which are reasonable in reality, are listed for the problem formulation.
• It is assumed that pods are empty at the beginning and filled with products instantaneously, which
means that there will be no shortage.
• It is assumed that the amount of product in an order is far less than the amount of product in one
pod, which means that a pod can satisfy the demand of a product in an order.
• Pods can only visit one picking station at a time.
• The number of product types stored in a pod is restricted because putting many different types of
products in each pod is not an easy job at replenishment stations.
• One product type can be stored in more than one pod.
• A pod has six layers; each layer can store only one product type in order to operate conveniently
for the workers.
• The demand storage space for each product type is given, which is evaluated by the number of
layers.
An illustration of the problem is given in Figure 3. Figure 3(a) illustrates the output of Stage I. There
are four pods and six products (A, B, C, D, E, and F). The demand storage spaces for six products are
six, eight, one, four, three, and two layers, respectively. Some pods store only one product, e.g. Pods 1
and 2, while others store more than one product, e.g. Pods 3 and 4. Figure 3(b) illustrates the output
of Stage II. First, an order list containing 10 orders is given. To minimize the number of visits of pods,
the orders are divided into five batches with two orders per batch. Thus, a batch list with five batches is
obtained. Then the corresponding pods for each batch are determined and the task list for the robots
to carry is obtained.
Indices
i,j Number of product types, such that i, j = 1, . . . , P
n Number of orders, such that n = 1, . . . , N
m Number of pods, such that m = 1, . . . , M
Parameters
P Total number of product types
N Total number of orders
M Total number of pods
L Number of layers in one pod; L = 6 in the following examples
B Maximum number of product types that can be stored in a pod
sij Product similarity value between products i and j, ranging from 0 to 1
S Product similarity matrix
Di Demand number of layers for product type i needed to be assigned, Pi=1 Di = LM
sii is always set to 1; sij , i = j is calculated as
sij and S can be obtained according to historical order data. To demonstrate this clearly, a simple
example is given. The10 orders in Figure 3 are used to compute sij and S . For example, sDE = 2/10 =
0.2 and
⎡ ⎤
1.0 0.1 0.0 0.1 0.1 0.0
⎢0.1 1.0 0.1 0.2 0.1 0.0⎥
⎢ ⎥
⎢0.0 0.1 1.0 0.1 0.0 0.0⎥
S=⎢ ⎥
⎢0.1 0.2 0.1 1.0 0.2 0.1⎥
⎢ ⎥
⎣0.1 0.1 0.0 0.2 1.0 0.1⎦
0.0 0.0 0.0 0.1 0.1 1.0
Decision variables
The objective function (Equation (2)) is to minimize the total product similarity in all pods:
sij xim xjm
max (2)
i j>i m
M
yim = Di , ∀i (4)
m
xim ≤ B, ∀m (7)
i
Equation (3) stipulates that L layers in each pod are to be assigned. Equation (4) ensures that the
total demand number of layers for product type i is satisfied. Constraint (5) requires that the number
of layers that product i occupies in the mth pod is no more than the maximum number of layers in
the pod. Constraint (6) indicates that pod m can serve product i only if it is selected to store product
i. Constraint (7) states that the number of product types stored in a pod is restricted to no more than
B types. Constraint (8) is a basic constraint.
Since the objective function xim xjm is nonlinear, it needs to be linearized and rewritten. Let Xijm =
xim xjm ∈ {0, 1}. This is rewritten as follows:
sij Xijm
max (9)
i j>i m
M
Since the storage assignment problem is at a strategic level and the schedule will not be changed
frequently once obtained, the computational time to solve this problem is not very important. The
CPLEX 12.6 optimization package has been applied as the mixed integer linear programming solver
to compute the model.
8 X. XIANG ET AL.
Indices
k Number of batches, such that k = 1, . . . , K
Parameters
K Total number of batches
E Maximum number of orders in a batch
ain = 1 if order n contains product i; otherwise 0
∗
xim ∗ is the output of Stage I.
= 1 if product i is put in pod m; 0 otherwise. xim
Decision variables
znk = 1 if order n is assigned to batch k; 0 otherwise
wkm = 1 if pod m is carried to batch k; 0 otherwise
uik = 1 if batch k includes product i; 0 otherwise
The objective function (Equation (13)) is to minimize the number of visits of pods:
max wkm (13)
k m
znk ≤ E, ∀k (15)
n
ain znk ≤ P ∗ uik , ∀i, k (16)
n
∗
xim wkm ≥ uik , ∀i, k (17)
m
6 end
7 end
8 Step 2: Obtain an initial solution;
9 for (itr = 1; itr < N; itr + +) do
10 Find the maximum order association index in order association matrix ASN×N and obtain
the corresponding orders n1 and n2 ;
11 if Orders n1 and n2 are not included in the batch list then
12 Construct a new batch and add orders n1 and n2 to it.
13 end
14 else
15 Add the orders n1 or n2 to the batch;
16 if The number of orders in the batch containing orders n1 or n2 reaches the limit E then
17 Group these orders into one batch;
18 Delete the order association index in the order association matrix that is related to
the orders in the obtained batch to avoid repetitive calculation.
19 end
20 end
21 end
Algorithm 1: Procedure of obtaining an initial solution.
Definition 1 (Product correlation matrix (PCMP×P )): Define that product i and product j are
correlative if they are stored in one pod. Set PCMij = 1 if product i and product j are correlative;
otherwise, 0.
For example in Figure 3, PCMDE = 1 since products D and E are both stored in Pods 3 or 4. A
product correlation matrix can be obtained as follows.
10 X. XIANG ET AL.
⎡ ⎤
1 0 0 0 0 0
⎢0
⎢ 1 1 1 1 0⎥⎥
⎢0 1 1 1 1 0⎥⎥
PCM6×6 =⎢
⎢0
⎢ 1 1 1 1 1⎥⎥
⎣0 1 1 1 1 1⎦
0 0 0 1 1 1
Definition 2 (Order association matrix(ASN×N )): The order association index of orders n and n is
evaluated by the number of correlative product pairs that are stored in one pod.
The order association index of orders n and n contains two parts: an inner order association index
for orders n and n and an external association index between orders n and n . For example, in Figure 3,
order 1 contains products A, D, and E and order 2 contains products B, D, and E. Order 1 has a
correlative product pair (D, E); thus, the inner order association index for order 1, IAS1 = 1. Order
2 has correlative product pairs (B, D), (B, E), and (D, E); thus, the inner order association index for
order 2, IAS2 = 3. Orders 1 and 2 have correlative product pairs (D, B), (D, D), (D, E), (E, B), (E, D),
and (E, E); thus, the external order association index is EAS12 = 6. Thus, the order association index
of orders n and n can be obtained:
Definition 3 (Order alienation matrix(ALN×N )): The order alienation index of orders n and n are
evaluated by the number of uncorrelated product pairs that are not stored in one pod.
The order alienation index of orders n and n also contains two parts: the inner order alienation
index for orders n and n and the external alienation index between orders n and n . Order 1 in Figure 3
has uncorrelated product pairs (A, D) and (A, E); thus, the inner order alienation index for order 1,
IAL1 = 2. For order 2, no uncorrelated product pair can be found; thus, the inner order alienation
index for order 2, IAL2 = 0. Orders 1 and 2 have uncorrelated product pairs (A, B), (A, D), and (A, E);
thus, the external order alienation index is EAS12 = 3. Thus, the order alienation index of orders n
and n can be obtained:
The procedure of obtaining an initial solution by maximizing the order association is shown in
Algorithm 1. The procedure of obtaining an initial solution by minimizing the order alienation is
similar to Algorithm 1 and is not presented here.
Definition 4 (SwapOrder): The SwapOrder neighbourhood operator chooses two batches ran-
domly—batches Bk1 and Bk2 —and then select two orders: order n1 ∈ Bk1 and order n2 ∈ Bk2 . A new
batch schedule is obtained by exchanging the position of orders n1 and n2 , so that order n1 ∈ Bk2 and
order n2 ∈ Bk1 .
ENGINEERING OPTIMIZATION 11
Input: S0
Output: SLS
1 S0 → SLS ;
2 for (All batches in SLS , k1 = 1;k1 ≤ K − 1;k1 + +) do
3 for (All batches in SLS , k2 = k1 + 1;k2 ≤ K;k2 + +) do
4 for (n1 = 1; n1 ≤ |Bk1 |; n1 + +) do
5 for (n2 = 1; n2 ≤ |Bk2 |; n2 + +) do
6 Stemp = SwapT(Ti , Tj );
7 Compute the objective by adopting Algorithm 4;
8 if Stemp is better than SLS then
9 Stemp → SLS ;
10 end
11 end
12 end
13 end
14 end
15 Output SLS .
Algorithm 2: Procedure of algorithm SwapOrder-LS.
Input: S0
Output: SVNS
1 S0 → SVNS ;
2 η = 0;
3 while η ≤ 1 do
4 Apply SwapOrder-LS in Algorithm 2 and the new schedule is SLS ;
5 if SLS is better than SVNS then
6 SLS → SVNS ;
7 end
8 else
9 η = η + 1;
10 end
11 end
12 Output SVNS .
Algorithm 3: Procedure of VNS.
12 X. XIANG ET AL.
A local search (LS) method is applied repeatedly to get the local optimal from neighbourhoods.
The neighbourhood operator mentioned provides the foundation of the LS method. The neigh-
bourhood operator can be extended to an LS: SwapOrder-LS. The best solution will be renewed by
repeating LS. The algorithm SwapOrder-LS is given in Algorithm 2. If the current best solution SLS
is worse than the new solution Stemp created by a SwapOrder, then SLS is replaced with Stemp .
Definition 5 (SwapPod): The SwapPod neighbourhood operator chooses two pods in the obtained pod
combination W randomly: pods m1 and m2 , and a pod m3 that is not in W. A new pod combination is
obtained by exchanging the positions of pods m1 , m2 , and m3 , in which order m3 ∈ W.
Definition 6 (DeletePod): The DeletePod neighbourhood operator chooses one pod in the obtained
pod combination W randomly: pod m1 . A new pod combination is obtained by deleting pod m1 .
7. Computational experiments
This section includes four parts: Section 7.1 gives the parameter settings; Section 7.2 evaluates the
performance of the proposed algorithm for Stage II; Section 7.3 gives an evaluation of the model; and
Section 7.4 presents some sensitivity analysis for some parameters.
Figure 6. Design of experiments. OBP, order batching problem; SAP, storage assignment problem.
and large problems. The number of layers in one pod (L) is always set to six. The limit of the number
of product types that can be stored in a pod (B) is set to B ∈ {3, 4}. The maximum number of orders
in a batch (E) is set to E ∈ {2, 5}. In addition, 20 000 orders are generated to compute the product
similarity matrix S for Stage I.
The aforementioned properties are consistent under all instances. In addition, the following
properties vary for different data instances and are randomly generated.
• The demand number of layers for product type i, Di = K ∗ L ∗ (pi / i pi ), where pi ∼ U(30, 80).
• The product types in order n:
⎧
⎪ p
⎨ 1, if rand(0, 1) ≤ 5 × i
ain = i pi
⎪
⎩ 0, otherwise
where rand(0, 1) is a random function that returns a real number between 0 and 1 with a uniform
distribution. These settings result in an average of five products per order.
The general framework of the numerical experiments in this study is shown in Figure 6. The
algorithm is implemented with Java on a standard desktop PC with two Intel R Xeon processors at
2.30 GHz and 8 GB RAM running Windows Server 8 R2 Enterprise, by calling the optimization solver
CPLEX 12.6 to solve the mixed integer programming problem. Each experiment is terminated with
either a CPU time limit of 600 s or with 0.1% of the relative gap, whichever comes first. Ten instances
are randomly generated for each test case, and average objective values and CPU time are determined
to assess the performance. The average relative gap is employed to determine the performance of the
proposed algorithms.
1 Method (A) − Method (B)
Average relative gap = × 100%
10 Method (B)
where Method (A) and Method (B) denote the objective values obtained by these two algorithms.
Table 2. Comparisons between order association and order alienation for small problems.
Parameters Order association Order alienation Comparisons (%)
P M N K B E IniObj1 FinObj1 CPU time (s) IniObj2 FinObj2 CPU time (s) a ARG
1
b ARG
2
algorithm and CPLEX for small problems. Section 7.2.3 makes a comparison between the proposed
algorithm and the genetic algorithm for medium and large problems.
7.2.2. Comparisons between proposed algorithm and CPLEX for small problems
Some experiments were conducted to compare the results obtained by the proposed heuristic and
the optimal objective value solved by CPLEX directly for small problems. The mathematical model
was implemented by CPLEX 12.6 with the concert technology of Java. Table 5 shows the results for
16 × 10 series small instances, in which eight and ten products, five and six pods, and 50 and 100
orders are considered. It is noted that the ‘gap’ under the catalogue of CPLEX in Table 5 means the
difference between the upper and lower bounds obtained by CPLEX. The obtained objective values
are very close to the optimal values, since the largest gap is no more than 4.9%, as shown in Table 5.
Thus, the values obtained by CPLEX with a CPU time limit of 600 s are used as a benchmark to
evaluate the performance of the proposed algorithms for small problems.
16 X. XIANG ET AL.
Table 3. Comparisons between order association and order alienation for medium problems.
Parameters Order association Order alienation Comparisons (%)
P M N K B E IniObj1 FinObj1 CPU time (s) IniObj2 FinObj2 CPU time (s) a ARG
1
b ARG
2
Table 4. Comparisons between order association and order alienation for large problems.
Parameters Order association Order alienation Comparisons (%)
P M N K B E IniObj1 FinObj1 CPU time (s) IniObj2 FinObj2 CPU time (s) a ARG
1
b ARG
2
From Table 5, it can be noted that the proposed heuristic could obtain optimal or near-optimal
solutions by comparison with the results calculated by CPLEX. The difference between the two
results is not very evident, and the average gap value is 6.0%. This implies that the proposed heuris-
tic approach is an effective method for solving the proposed order batching problem model. As to
the computing time of the two methods, the CPU time of the CPLEX method varies very obviously
as the instances of the problem scale varies. It cannot obtain an optimal solution in 600 s for most
of the examples, which is unacceptable in practice for the operational level scheduling problems. By
contrast, the CPU time of the proposed heuristic method does not noticeably vary, and it can mainly
solve the problem in seconds. The largest CPU time for the proposed meta-heuristic is 1.89 s for small
problems.
7.2.3. Comparisons between the proposed algorithm and the genetic algorithm for medium
and large problems
According to the computational experiments described in Öncan (2013), the genetic algorithm yields
comparable performance for order batching problem. Thus, the proposed heuristic is compared with
the genetic algorithm. The parameter settings of the genetic algorithm are presented in Table 6.
Tables 7 and 8 show the results for 8 × 10 series medium and large examples. From Table 7, it
can be noted that the proposed heuristic could obtain almost the same solutions by comparison with
ENGINEERING OPTIMIZATION 17
Table 5. Comparisons between proposed algorithm and CPLEX for small problems.
Parameters CPLEX Proposed algorithm
P M N K B E b Obj
1 SV CPU time (s) Gap (%) Obj2 SV CPU time (s) a ARG(%)
Table 7. Comparisons between proposed algorithm and genetic algorithm for medium problems.
Parameters Genetic algorithm Proposed algorithm
the results calculated by the genetic algorithm. The gap between the two results is not very evident,
and the average gap value is 2.3%. However, the proposed algorithm spends only 15.9% of the CPU
time of the genetic algorithm. For large problems, outlined in Table 8, the genetic algorithm obtains a
2.8% better solutions than the proposed algorithm. The gap is acceptable, since the CPU time of the
proposed algorithm only accounts for 3.3% of that of the genetic algorithm. Overall, the proposed
algorithm has a good performance, on both solution quality and CPU time.
18 X. XIANG ET AL.
Table 8. Comparisons between proposed algorithm and genetic algorithm for large problems.
Parameters Genetic algorithm Proposed algorithm
P M N K B E Obj1 a ARG
1 (%) Obj2 ARG2 (%) Obj3 ARG3 (%) Obj4 ARG4 (%)
8 5 50 10 3 5 37.7 30.0 31.8 9.7 32.7 12.8 29.0 0.0
8 5 50 25 3 2 81.2 36.5 71.8 20.7 68.0 14.3 59.5 0.0
8 5 50 10 4 5 38.3 60.9 29.7 24.8 27.8 16.8 23.8 0.0
8 5 50 25 4 2 67.8 35.6 60.2 20.4 54.3 8.6 50.0 0.0
8 5 100 20 3 5 79.0 40.6 67.7 20.5 64.3 14.4 56.2 0.0
8 5 100 50 3 2 168.7 28.1 158.4 20.3 141.0 7.1 131.7 0.0
8 5 100 20 4 5 64.8 53.6 55.2 30.8 47.3 12.1 42.2 0.0
8 5 100 50 4 2 140.6 42.7 113.7 15.4 107.5 9.1 98.5 0.0
10 6 50 10 3 5 50.4 47.4 44.1 28.9 38.9 13.7 34.2 0.0
10 6 50 25 3 2 93.0 36.6 82.3 20.9 74.9 10.0 68.1 0.0
10 6 50 10 4 5 40.9 55.5 34.1 29.7 30.6 16.3 26.3 0.0
10 6 50 25 4 2 73.1 35.1 65.7 21.4 58.2 7.6 54.1 0.0
10 6 100 20 3 5 103.1 52.1 87.6 29.2 77.1 13.7 67.8 0.0
10 6 100 50 3 2 193.7 35.7 173.5 21.6 152.2 6.7 142.7 0.0
10 6 100 20 4 5 78.5 47.8 66.9 26.0 58.6 10.4 53.1 0.0
10 6 100 50 4 2 139.7 29.4 129.7 20.1 114.4 5.9 108.0 0.0
20 12 50 10 3 5 73.0 39.6 69.6 33.1 56.3 7.6 52.3 0.0
20 12 50 25 3 2 115.7 35.3 105.6 23.5 94.0 9.9 85.5 0.0
20 12 50 10 4 5 55.5 41.9 53.3 36.3 44.0 12.5 39.1 0.0
20 12 50 25 4 2 98.7 29.9 93.4 22.9 84.1 10.7 76.0 0.0
20 12 100 20 3 5 151.0 40.9 145.3 35.5 113.3 5.7 107.2 0.0
20 12 100 50 3 2 234.0 25.6 225.1 20.8 196.7 5.6 186.3 0.0
20 12 100 20 4 5 124.3 41.9 114.0 30.1 90.3 3.1 87.6 0.0
20 12 100 50 4 2 199.1 33.0 184.7 23.4 161.3 7.7 149.7 0.0
40 20 50 10 3 5 106.9 35.8 102.4 30.1 82.1 4.3 78.7 0.0
40 20 50 25 3 2 147.3 37.4 132.1 23.2 114.5 6.8 107.2 0.0
40 20 50 10 4 5 80.2 36.2 74.2 26.0 64.5 9.5 58.9 0.0
40 20 50 25 4 2 135.2 37.5 123.2 25.3 104.3 6.1 98.3 0.0
40 20 100 20 3 5 160.3 42.6 145.2 29.2 129.2 14.9 112.4 0.0
40 20 100 50 3 2 280.5 28.4 267.2 22.3 227.9 4.3 218.4 0.0
40 20 100 20 4 5 135.2 29.6 128.2 22.9 109.2 4.7 104.3 0.0
40 20 100 50 4 2 256.3 35.4 230.2 21.6 194.9 3.0 189.3 0.0
Average 118.9 38.7 108.3 24.6 94.2 9.3 87.4 0.0
a ARG
1 Obji −mini Obji
i = 10 mini Obji × 100%, i = 1, 2, 3, 4
Table 9 shows the results under the four different cases. It is noted that OptSA-OptOB can
reduce the number of visits of pods by an average 38.7%, 24.6%, and 9.3% better than StoSA-StoOB,
OptSA-StoOB, and StoSA-OptOB, respectively. Moreover, comparisons between OptSA-StoOB and
StoSA-OptOB show that optimized order batching makes more contributions than optimized storage
assignment.
3
40
2
20
E=2 E=2
E=3 E=3
E=4 E=4
E=5 E=5
0
E=6 E=6
2 3 4 5 6 2 3 4 5 6
Number of product types on a pod Number of product types on a pod
5
100
3
40
2
20
B=2 B=2
B=3 B=3
B=4 B=4
B=5 B=5
0
1
B=6 B=6
2 3 4 5 6 2 3 4 5 6
Number of orders in a batch Number of orders in a batch
8. Conclusions
This article has examined the storage assignment problem and order batching problem in the Kiva
mobile fulfilment system. To the best of the authors’ knowledge, this is the first article that considers
the number of visits of pods as an objective function. The storage assignment problem, which is at
a strategic level, determines which product to put on which pod, with the objective of maximizing
product similarity. Based on the results of the storage assignment problem, the order batching prob-
lem, which is at an operational level, generates a batch schedule and determines the corresponding
pods needed, aiming to minimize the number of visits of pods. A mixed integer linear programming
model is formulated for both the storage assignment problem and the order batching problem. An
efficient algorithm for the order batching problem is developed. First, an initial solution is obtained by
maximizing the order association or minimizing the order alienation. Subsequently, a VNS algorithm
is employed to improve the solution. A greedy strategy is also designed to determine a pod combi-
nation for a batch. Numerical experiments are conducted to obtain the following results: (i) order
alienation is superior to order association for obtaining an initial solution; (ii) the proposed heuristic
could obtain optimal or near-optimal solutions by comparison with results calculated by CPLEX for
small problems; (iii) the proposed algorithm has a good performance both on solution quality and
CPU time, compared with the genetic algorithm for medium and large problems; (iv) optimized stor-
age assignment and optimized order batching can noticeably reduce the number of visits of pods; (v)
the number of visits of pods tends to decrease as B or E increases.
ENGINEERING OPTIMIZATION 21
The algorithm provided can be applied to a wide range of other stock location problems by consid-
ering a pod as a big shelf that contains many types of products. The formulation can also be extended
with a data-driven approach. Other operational issues in the Kiva mobile fulfilment system, such as
robot path planning or pod storage location problems, should be further addressed.
Disclosure statement
No potential conflict of interest was reported by the authors.
Acknowledgments
This work is supported by National Natural Science Foundation of China [grant number 51705282], the National
Natural Science Foundation of China [grant number 71472108], the Shenzhen Municipal Science and Technology
Innovation Committee [grant number JCYJ20160531195231085], and the Ministry of Science and Technology of the
People’s Republic of China [grant number 2014IM010100].
ORCID
Changchun Liu http://orcid.org/0000-0002-3269-5009
Lixin Miao http://orcid.org/0000-0002-2558-3885
References
Berglund, P., and R. Batta. 2012. “Optimal Placement of Warehouse Cross-aisles in a Picker-to-part Warehouse with
Class-based Storage.” IIE Transactions 44 (2): 107–120.
Cardinal, J., and C. Dumeunier. 2008. “Set Covering Problems with General Objective Functions.” arXiv
arXiv:0802.2184.
Chiang, M. H., C. P. Lin, and M. C. Chen. 2011. “The Adaptive Approach for Storage Assignment by Mining Data of
Warehouse Management System for Distribution Centres.” Enterprise Information Systems 5 (2): 219–234.
Cormier., G. 1992. “A Review of Warehouse Models.” European Journal of Operational Research 58 (1): 3–13.
deKoster, R., T. Le-Duc, and K. J. Roodbergen. 2007. “Design and Control of Warehouse Order Picking: A Literature
Review.” European Journal of Operational Research 182 (2): 481–501.
Enright, J. J., and P. R. Wurman. 2011. “Optimization and Coordinated Autonomy in Mobile Fulfillment Systems.” In
AAAI Conference on Automated Action Planning for Autonomous Mobile Robots, 33–38. Palo Alto, CA: AAAI Press.
Frazele, E. A., and G. P. Sharp. 1989. “Correlated Assignment Strategy Can Improve any Order-picking Operation.”
Industrial Engineering 21 (4): 33–37.
Gademann, N., and S. van de Velde. 2005. “Order Batching to Minimize Total Travel Time in a Parallel-aisle
Warehouse.” IIE Transactions 37 (1): 63–75.
Grotschel, M., and Y. Wakabayashi. 1989. “A Cutting Plane Algorithm for a Clustering Problem.” Mathematical
Programming 45 (13): 59–96.
Hansen, P., and N. Mladenovic. 1999. “An Introduction to Variable Neighborhood Search.” In Meta-Heuristics, edited
by S. Vo, S. Martello, I. H. Osman, and C. Roucairol, 433–458. Boston: Springer.
Heskett., J. L. 1963. “Cube-per-order Index – A Key to Warehouse Stock Location.” Transportation and Distribution
Management 3: 27–31.
Hwang, H., W. Baek, and M.-K. Lee. 1988. “Clustering Algorithms for Order Picking in an Automated Storage and
Retrieval System.” International Journal of Production Research 26 (2): 189–201.
Hwang, H., Y. Hui Oh, and C. Nam Cha. 2003. “A Stock Location Rule for a Low Level Picker-to-part System.”
Engineering Optimization 35 (3): 285–295.
Jane, C. C., and Y. W. Laih. 2005. “A Clustering Algorithm for Item Assignment in a Synchronized Zone Order Picking
System.” European Journal of Operational Research 166 (2): 489–496.
Kim., K. H. 1993. “A Joint Determination of Storage Locations and Space Requirements for Correlated Items in a
Miniload Automated Storage-retrieval System.” International Journal of Production Research 31 (11): 2649–2659.
Lee., M. K. 1992. “A Storage Assignment Policy in a Man-on-board Automated Storage/retrieval System.” International
Journal of Production Research 30 (10): 2281–2292.
Liu., C. M. 1999. “Clustering Techniques for Stock Location and Order-picking in a Distribution.” Computers &
Operations Research 26 (10–11): 989–1002.
Ma, T., and P. Zhao. 2014. “A Review of Algorithms for Order Batching Problem in Distribution Center.” In
International Conference on Logistics Engineering, Management and Computer Science, 172–175. Atlantis Press.
doi:10.2991/lemcs-14.2014.40.
22 X. XIANG ET AL.
Malmborg, C. J., and K. Bhaskaran. 1990. “A Revised Proof of Optimality for the Cube-per-order Index Rule for Stored
Item Location.” Applied Mathematical Modelling 14 (2): 87–95.
Menendez, B., E. G. Pardo, A. Alonso-Ayuso, E. Molina, and A. Duarte. 2016. “Variable Neighborhood Search Strategies
for the Order Batching Problem.” Computers & Operations Research 78: 500–512.
Mulvey, J. M., and H. P. Crowder. 1979. “Clustering Analysis: An Application of Lagrangian Relaxation.” Management
Science 25 (4): 329–340.
Muter, I., and T. Öncan. 2015. “An Exact Solution Approach for the Order Batching Problem.” IIE Transactions 47 (7):
728–738.
Oncan., T. 2013. “A Genetic Algorithm for the Order Batching Problem in Low-level Picker-to-part Warehouse
Systems.” Lecture Notes in Engineering & Computer Science 2202 (1): 471–476.
Oncan., T. 2015. “MILP Formulations and an Iterated Local Search Algorithm with Tabu Thresholding for the Order
Batching Problem.” European Journal of Operational Research 243 (1): 142–155.
Parikh, P. J., and R. D. Meller. 2008. “Selecting Between Batch and Zone Order Picking Strategies in a Distribution
Center.” Transportation Research, Part E: Logistics & Transportation Review 44 (5): 696–719.
PerezRodriguez, R., A. Hernandez-Aguirre, and S. Jons. 2015. “A Continuous Estimation of Distribution Algorithm for
the Online Order-batching Problem.” International Journal of Advanced Manufacturing Technology 79 (1): 569–588.
Wilson., H. G. 1977. “Order Quantity, Product Popularity, and the Location of Stock in a Warehouse.” IIE Transactions
9 (3): 230–237.
Wurman, P. R., R. D’Andrea, and M. Mountz. 2008. “Coordinating Hundreds of Cooperative, Autonomous Vehicles
in Warehouses.” In National Conference on Innovative Applications of Artificial Intelligence, Vol 2, 1752–1759. Palo
Alto, CA: AAAI Press.
Xiao., J., and L. Zheng. 2010. “A Correlated Storage Location Assignment Problem in a Single-block-multi-aisles
Warehouse Considering BOM Information.” International Journal of Production Research 48 (5): 1321–1338.
Yang, P., L. Miao, Z. Xue, and B. Ye. 2015. “Variable Neighborhood Search Heuristic for Storage Location Assign-
ment and Storage/retrieval Scheduling Under Shared Storage in Multi-shuttle Automated Storage/retrieval Systems.”
Transportation Research, Part E: Logistics & Transportation Review 79: 164–177.