Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

Engineering Optimization

ISSN: 0305-215X (Print) 1029-0273 (Online) Journal homepage: http://www.tandfonline.com/loi/geno20

Storage assignment and order batching problem in


Kiva mobile fulfilment system

Xi Xiang, Changchun Liu & Lixin Miao

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

To link to this article: https://doi.org/10.1080/0305215X.2017.1419346

Published online: 25 Jan 2018.

Submit your article to this journal

Article views: 6

View related articles

View Crossmark data

Full Terms & Conditions of access and use can be found at


http://www.tandfonline.com/action/journalInformation?journalCode=geno20
ENGINEERING OPTIMIZATION, 2018
https://doi.org/10.1080/0305215X.2017.1419346

Storage assignment and order batching problem in Kiva mobile


fulfilment system
Xi Xianga,b , Changchun Liu a and and Lixin Miao b

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

ABSTRACT ARTICLE HISTORY


This article studies the storage assignment and order batching problem in Received 30 July 2017
the Kiva mobile fulfilment system. The storage assignment model aims to Accepted 15 December 2017
decide which product to put in which pod to maximize the product similar- KEYWORDS
ity and the order batching model aims to minimize the number of visits of Storage assignment problem;
pods. To solve the order batching problem, a heuristic is proposed, where order batching problem;
a batch schedule is initialized with the objective of maximizing the order product similarity; Kiva
association or minimizing order alienation and improved by variable neigh- mobile fulfilment system
bourhood search. Computational experiments are conducted to verify the
performance of the proposed model and algorithm.

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

CONTACT Changchun Liu 051908lcc@163.com

© 2018 Informa UK Limited, trading as Taylor & Francis Group


2 X. XIANG ET AL.

Figure 1. Kiva mobile fulfilment system (MFS).

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

Figure 2. Two stages for the problem.


ENGINEERING OPTIMIZATION 5

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

Figure 3. Illustration of the problem.


6 X. XIANG ET AL.

obtained. Then the corresponding pods for each batch are determined and the task list for the robots
to carry is obtained.

4. Storage assignment problem for Stage I


This section will formulate a model for the storage assignment problem to decide which product
to put in which pod, with the objective of maximizing the product similarity. Before describing the
model, the following parameters are given.

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

Total number of orders including products i and j simultaneously


sij = (1)
N

The product similarity matrix S is defined as


⎡ ⎤
s11 s12 ··· s1P
⎢ s21 s22 ··· s2P ⎥
⎢ ⎥
S=⎢ . .. .. .. ⎥
⎣ .. . . . ⎦
sP1 sP2 · · · sPP

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

xim = 1 if product i is put on the pod m; 0 otherwise


yim Integer variable. Number of layers that product i occupies on the mth pod
ENGINEERING OPTIMIZATION 7

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

The constraints are presented as



yim = L, ∀m (3)
i


yim = Di , ∀i (4)
m

yim ≤ Lxim , ∀i, m (5)

yim ≥ xim , ∀i, m (6)


xim ≤ B, ∀m (7)
i

xim ∈ {0, 1} , yim ≥ 0, ∀i, m (8)

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

Xijm ≤ xim , ∀i, j, m (10)

Xijm ≤ xjm , ∀j, j, m (11)

Xijm ≥ xim + xjm + 1, ∀i, j, m (12)

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.

5. Order batching problem for Stage II


This section will introduce the order batching problem for Stage II. Before describing the model, the
following parameters are added.

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

The constraints are presented as



znk = 1, ∀n (14)
k


znk ≤ E, ∀k (15)
n


ain znk ≤ P ∗ uik , ∀i, k (16)
n



xim wkm ≥ uik , ∀i, k (17)
m

znk , wkm , uik ∈ {0, 1} , ∀i, m, n, k (18)


Equation (14) ensures that an order must be assigned to one batch. Constraint (15) states that
the number of orders assigned to a batch is restricted to a maximum of E orders. Constraint (16)
determines which batch contains which product. Constraint (17) indicates that the pods carried to
the work station must cover all the products in a batch. Constraint (18) is a basic constraint.
The order batching problem is at an operational level and has been shown to be NP-hard (Gade-
mann and van de Velde (2005)). It is impossible to obtain an optimal solution in a very short
computational time. Hence a heuristic is developed to solve this order batching problem.

6. Solution approach for Stage II


As mentioned before, the order batching problem will complete two jobs: generating a batch sched-
ule and determining the corresponding pods needed. Section 6.1 generates a batch schedule using a
heuristic and Section 6.2 proposes an algorithm to minimize the number of visits of pods by assigning
corresponding pods to each batch.
ENGINEERING OPTIMIZATION 9

6.1. Generate a batch schedule


This section aims to generate a batch schedule. First, an initial solution is obtained by maximizing
the order association or minimizing the order alienation by adopting Algorithm 1, in Section 6.1.1.
Subsequently, a VNS algorithm, as shown in Algorithm 3, is employed to improve the solution, in
Section 6.1.2.

Input: Order list and the output of Stage I


Output: An initial batch list
1 Step 1: Compute the order association matrix;
2 for (n = 1; n ≤ N; n + +) do
3 for (n = 1; n ≤ N; n + +) do
4 Compute the inner order association index, IASn and IASn , and the external order
association index, EASnn ;
5 Compute the order association index of order n and order n :

ASnn = IASn + IASn + EASnn

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.

6.1.1. Obtain an initial batch schedule


The definition of order association and order alienation are based on the product correlation matrix.

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:

AS12 = IAS1 + IAS2 + EAS12 = 1 + 3 + 6 = 10

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:

AL12 = IAL1 + IAL2 + EAL12 = 2 + 0 + 3 = 5

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.

6.1.2. Improve the solution


The VNS is a meta-heuristic proposed by Hansen and Mladenovic (1999); the basic idea of VNS
is to explore better solutions based on a dynamic neighbourhood model. The reasons for selecting
VNS are that (i) VNS is simple and requires few, and sometimes no, parameters, unlike other meta-
heuristics and that (ii) VNS can provide high-quality solutions in a simpler way, making VNS more
efficient (Menendez et al. 2016). This article proposes a VNS-based heuristic algorithm to improve
the solution obtained by Algorithm 1. First, a neighbourhood operator: SwapOrder, is designed in
Definition 4. Figure 4 shows an example of the SwapOrder neighbourhood operator.

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

Figure 4. Example of neighbourhood operator: SwapOrder.

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.

Input: A batch Bk and xim ∗

Output: A pod combination W


1 Step 1: Construct an initial pod combination by greedy strategy;
2 while (There exist one or more products in the batch that are not included?) do
3 Find a pod that can cover the most products that have not been covered in the batch;
4 Add the selected pod to the pod combination W;
5 end
6 Step 2: Improve the solution;
7 if (|W| ≥ 3) then
8 for (Traverse all the pod pairs (m1 , m2 ) in W) do
9 for (Traverse all the pods m3 which are not in W) do
10 Execute the SwapPod neighbourhood operator as shown in Figure 5(a) and obtain a
new pod combination W  ;
11 if (W  can satisfy the demand of batch Bk ) then
12 W  → W;
13 Break the procedure and go back to Line 7;
14 end
15 end
16 end
17 for (Traverse all the pods m1 that are in W) do
18 Execute the DeletePod neighbourhood operator as shown in Figure 5(b) and obtain a
new pod combination W  ;
19 if (W  can satisfy the demand of batch Bk ) then
20 W  → W;
21 Break the procedure and go back to Line 7;
22 end
23 end
24 end
25 Output the pod combination W.
Algorithm 4: Procedure for assigning pods to a batch.

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 .

Figure 5. Example of neighbourhood operators: SwapPod and DeletePod.


ENGINEERING OPTIMIZATION 13

Table 1. Complexity analysis of proposed algorithms.


Algorithm Algorithm 1 Algorithm 2 Algorithm 3 Algorithm 4
Complexity o(N2 ) o(K 2 ∗ B2 ∗ |W|3 ) — o(|W|3 )

By adopting the LS algorithm presented in Algorithm 2, VNS is designed as shown in Algorithm 3


to improve the solution quality. The VNS algorithm contains a loop in which the SwapOrder-LS is
called.

6.2. Assigning pods to a batch


For a given batch, it is necessary to determine which pods are to be carried. This problem is similar to
the set cover problem of Cardinal and Dumeunier (2008). The greedy strategy is one of the simplest
and most well-known heuristics, and can be applied to many combinatorial optimization problems.
This article designs a greedy strategy to find an initial pod combination for a batch and improve the
solution by designing a local search algorithm. This algorithm is presented in Algorithm 4.
First, two neighbourhood operators: SwapPod and DeletePod, are designed in Definitions 5 and 6.
Figure 5 shows examples of neighbourhood operators. Each of the two neighbourhood operators can
reduce the number of visits by one. It is obvious that if |W| ≤ 2, the pod combination W is one of
the optimal solutions obtained by the greedy strategy. Thus, the neighbourhood operators can only
be applied when |W| ≥ 3.

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 .

6.3. Complexity analysis


Here, the complexity of the proposed heuristic algorithm is discussed. First, the procedure of gen-
erating a batch schedule (Algorithm 1) is analyzed. The complexity of Algorithm 1 is o(N 2 ). The
complexity of Algorithm 4 is o(|W|3 ). Based on the complexity of Algorithm 4, it can be determined
that the complexity of Algorithm 2 is o(K 2 ∗ B2 ∗ |W|3 ). Because of the termination conditions, the
complexity of Algorithm 3 cannot be computed. The complexities of the proposed algorithms are
summarized in Table 1.

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.

7.1. Generate problem examples


Because of a lack of applicable problem examples in the literature, this article generates random
examples. A total of 320 data examples are generated in 32 × 10 series (32 cases with 10 examples
for each case). The generation rule is presented as follows. Small combinations of product types (P),
pod number (M), and order number (N) are set to P/M/N ∈ {8/5/50, 8/5/100, 10/6/50, 10/6/100},
while P/M/N ∈ {20/12/50, 20/12/100} and P/M/N ∈ {40/20/50, 40/20/100} are set for medium
14 X. XIANG ET AL.

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.

7.2. Performance analysis on the proposed algorithm


To verify the performance of the proposed heuristic for Stage II, it is compared with other solvers.
Section 7.2.1 describes some experiments to verify the performance of order association and order
alienation. Section 7.2.2 describes some experiments to make a comparison between proposed
ENGINEERING OPTIMIZATION 15

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

8 5 50 10 3 5 36.8 33.0 0.13 32.6 30.2 0.11 12.5 9.3


8 5 50 25 3 2 72.2 68.4 0.09 65.6 64.4 0.09 9.6 6.2
8 5 50 10 4 5 27.6 24.4 0.13 24.8 22.6 0.08 11.3 8.4
8 5 50 25 4 2 55.2 52.4 0.09 51.4 49.6 0.08 7.4 5.7
8 5 100 20 3 5 81.8 73.8 0.70 74.4 68.0 0.61 10.1 8.6
8 5 100 50 3 2 156.6 146.4 1.20 145.4 139.2 0.76 7.7 5.2
8 5 100 20 4 5 53.8 48.4 0.49 48.4 45.2 0.37 11.1 6.9
8 5 100 50 4 2 108.4 102.4 0.58 100.2 98.2 0.24 8.3 4.4
10 6 50 10 3 5 40.4 35.2 0.16 37.8 34.2 0.19 7.2 3.2
10 6 50 25 3 2 74.8 72.6 0.07 71.0 68.2 0.11 5.4 6.4
10 6 50 10 4 5 31.8 27.0 0.17 30.0 25.8 0.15 6.0 4.7
10 6 50 25 4 2 59.8 56.2 0.07 54.0 52.2 0.05 10.8 7.7
10 6 100 20 3 5 81.0 71.8 0.92 76.2 68.4 1.11 6.3 4.8
10 6 100 50 3 2 148.2 143.2 1.18 142.0 138.6 0.80 4.3 3.3
10 6 100 20 4 5 70.0 59.2 0.93 62.8 56.2 0.61 11.8 5.5
10 6 100 50 4 2 127.0 121.6 0.94 120.2 115.4 0.79 5.8 5.6
Average 76.6 71.0 0.49 71.1 67.3 0.38 8.5 6.0
 1 IniObj1 −IniObj2
a ARG
1 = 10 IniObj2 × 100%
 1 FinObj1 −FinObj2
b ARG
2 = 10 FinObj2 × 100%

ARG, average relative gap

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.1. Performance analysis between order association and order alienation


In Section 6, two approaches—order association and order alienation—are proposed to obtain an
initial solution. This section describes some experiments to analyze their performance.
The results for small, medium and large problems are shown in Tables 2, 3, and 4. For the 16 × 10
series of small problems (Table 2), order alienation is 8.5% better than order association for the initial
solutions and 6.0% better for the final solutions, on average. For the medium problems (8 × 10 series)
listed in Table 3, the initial and final solutions obtained by order alienation are 7.0% and 6.7% better
than those obtained by order association on average, respectively. For the large problems (8 × 10
series) listed in Table 4, order alienation also obtains better solutions than order association, with
gaps of 7.5% and 6.7% for initial and final solutions, on average. In addition, the CPU time for the two
approaches has no obvious difference. Overall, order alienation obtains an obviously better solution
than order association for about the same amount of CPU time. Therefore, order alienation can be
considered superior to order association and order alienation is selected to obtain the initial solution
in the following experiments.

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

20 12 50 10 3 5 57.2 50.2 0.47 55.4 48.0 0.38 3.2 4.6


20 12 50 25 3 2 90.4 84.1 0.42 79.2 75.1 0.20 14.1 12.0
20 12 50 10 4 5 56.9 48.3 0.55 51.0 43.2 0.75 11.6 11.8
20 12 50 25 4 2 84.0 80.4 0.33 80.1 75.6 0.16 4.9 6.3
20 12 100 20 3 5 111.1 92.2 6.94 100.2 88.0 4.18 10.9 4.8
20 12 100 50 3 2 179.3 178.2 1.48 175.1 168.3 4.45 2.4 5.9
20 12 100 20 4 5 95.8 82.7 4.65 92.2 80.2 5.96 3.9 3.1
20 12 100 50 4 2 162.8 155.4 4.40 155.4 148.1 5.73 4.8 4.9
Average 104.7 96.4 2.40 98.6 90.8 2.72 7.0 6.7
 1 IniObj1 −IniObj2
a ARG
1 = 10 IniObj2 × 100%
 1 FinObj1 −FinObj2
b ARG
2 = 10 FinObj2 × 100%

ARG, average relative gap

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

40 20 50 10 3 5 87.3 69.2 0.75 82.1 65.4 0.61 6.3 5.9


40 20 50 25 3 2 145.3 112.0 0.61 137.5 107.0 0.31 5.7 4.7
40 20 50 10 4 5 99.7 61.8 0.88 90.1 57.4 1.23 10.7 7.6
40 20 50 25 4 2 138.1 109.0 0.50 125.2 98.9 0.23 10.3 10.2
40 20 100 20 3 5 185.4 119.7 9.80 177.3 115.2 6.04 4.6 3.8
40 20 100 50 3 2 309.5 234.5 2.08 292.6 221.3 6.30 5.8 6.0
40 20 100 20 4 5 177.3 114.0 6.83 162.0 105.0 9.61 9.4 8.6
40 20 100 50 4 2 278.1 202.4 7.09 259.6 189.8 8.90 7.1 6.7
Average 177.6 127.8 3.57 165.8 120.0 4.15 7.5 6.7
 1 IniObj1 −IniObj2
1 = × 100%
a ARG
10 IniObj2
b ARG =
 1 FinObj1 −FinObj
2 10 FinObj2
2
× 100%
ARG, average relative gap

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(%)

8 5 50 10 3 5 25.8 1.9 391.71 0.0 26.5 2.2 0.54 2.6


8 5 50 25 3 2 58.1 2.8 600.00 0.7 59.3 2.6 1.89 2.0
8 5 50 10 4 5 21.8 1.6 298.78 0.0 22.8 1.5 0.11 4.4
8 5 50 25 4 2 48.6 4.4 600.00 1.1 50.6 3.8 0.19 4.0
8 5 100 20 3 5 59.3 5.0 600.00 0.9 65.5 5.7 0.45 9.5
8 5 100 50 3 2 134.7 8.7 600.00 1.9 137.7 8.4 0.50 2.2
8 5 100 20 4 5 43.0 2.6 600.00 1.0 47.0 2.1 0.38 8.5
8 5 100 50 4 2 94.6 3.5 600.00 1.3 97.6 1.9 0.35 3.1
10 6 50 10 3 5 26.3 1.2 600.00 0.7 29.6 1.2 0.16 11.1
10 6 50 25 3 2 63.5 6.5 600.00 2.2 68.5 6.1 0.11 7.3
10 6 50 10 4 5 22.7 1.2 600.00 1.2 25.8 0.5 0.21 12.0
10 6 50 25 4 2 52.0 4.1 600.00 2.1 55.4 3.4 0.18 6.1
10 6 100 20 3 5 64.1 3.7 600.00 3.2 69.7 2.5 0.61 8.0
10 6 100 50 3 2 120.0 6.4 600.00 4.2 125.6 5.7 0.38 4.5
10 6 100 20 4 5 55.2 4.9 600.00 3.3 59.2 4.3 0.99 6.8
10 6 100 50 4 2 103.2 7.4 600.00 4.9 108.3 6.7 0.55 4.7
Average 62.1 4.1 568.16 1.8 65.6 3.7 0.48 6.0
 1 IniObj1 −IniObj2
a ARG = 10 IniObj2 × 100%
b Obj is the optimal or the best solutions obtained by CPLEX in 600 s
1
ARG, average relative gap; SV, standard variation

Table 6. Parameter settings of genetic algorithm.


Population size Maximum number of iterations Crossover probability Mutation probability
100 1000 0.8 0.2

Table 7. Comparisons between proposed algorithm and genetic algorithm for medium problems.
Parameters Genetic algorithm Proposed algorithm

P M N K B E Obj1 SV CPU time (s) Obj2 SV CPU time (s) a ARG(%)

20 12 50 10 3 5 49.6 3.6 8.99 49.3 3.7 0.37 -0.6


20 12 50 25 3 2 75.1 4.3 14.57 74.7 4.2 0.50 -0.5
20 12 50 10 4 5 39.6 3.1 9.74 41.8 3.3 0.22 5.3
20 12 50 25 4 2 73.4 4.5 9.60 74.5 4.7 0.27 1.5
20 12 100 20 3 5 92.1 5.6 28.01 88.3 5.4 4.34 -4.3
20 12 100 50 3 2 151.3 9.5 32.10 156.4 9.9 6.07 3.3
20 12 100 20 4 5 73.1 4.4 24.25 79.3 4.5 5.74 7.8
20 12 100 50 4 2 141.2 8.9 31.01 147.3 9.1 7.57 4.1
Average 86.9 5.5 19.78 89.0 5.6 3.14 2.3
 1 IniObj1 −IniObj2
a ARG = 10 × 100%
IniObj2
ARG, average relative gap; SV, standard variation

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 SV CPU time (s) Obj2 SV CPU time (s) (a ARG(%))


40 20 50 10 3 5 60.3 4.7 24.49 63.6 4.9 1.81 5.2
40 20 50 25 3 2 101.2 7.3 22.95 104.5 7.6 1.39 3.2
40 20 50 10 4 5 54.2 3.5 26.75 56.7 3.6 1.45 4.4
40 20 50 25 4 2 96.9 5.3 24.21 99.1 5.2 1.32 2.2
40 20 100 20 3 5 112.1 8.1 49.45 114.5 8.2 6.43 2.1
40 20 100 50 3 2 219.4 11.0 48.43 223.1 11.3 6.12 1.7
40 20 100 20 4 5 104.7 8.5 51.36 107.0 8.6 6.53 2.1
40 20 100 50 4 2 180.2 9.5 50.92 187.2 9.6 5.98 3.7
Average 116.1 7.2 37.32 119.5 7.4 3.88 2.8
 1 IniObj1 −IniObj2
a ARG = 10 IniObj2 × 100%
ARG, average relative gap; SV, standard variation

Table 9. Results of different cases.


Parameters StoSA-StoOB OptSA-StoOB StoSA-OptOB OptSA-OptOB

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

7.3. Performance analysis of the proposed model


The second part of the experiments is a numerical investigation of the proposed model. Experiments
were conducted under different cases. In these experiments, four different cases were compared. Some
abbreviations are introduced as follows.
ENGINEERING OPTIMIZATION 19

StoSA-StoOB: Stochastic storage assignment and stochastic order batching


OptSA-StoOB: Optimized storage assignment and stochastic order batching
StoSA-OptOB: Stochastic storage assignment and optimized order batching
OptSA-OptOB: Optimized storage assignment and optimized order batching

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.

7.4. Sensitivity analyses for some parameters


The number of visits of a pod to picking stations depends not only on the product types but also on
the number of units of the products in the pod. In this section, some sensitivity analyses are described
to verify the performance of the proposed model: (i) sensitivity analyses of the limit of the number
of product type (B); (ii) sensitivity analyses of the maximum number of orders in a batch (E).

7.4.1. Performance of product type limit in a pod


B is the parameter that represents the product type limit in a pod. From Figure 7(a), it can be found
that the number of visits of pods tends to decrease as B increases. From Figure 7(b), it can be observed
that the number of visits of pods per batch also tends to decrease as B increases. This trend shows
that putting more product types into a pod can obtain a smaller objective value in general.

(a) Sensitivity analysis (b) Sensitivity analysis


5
100

Number of visits of pods per batch


4
80
Number of visits of pods
60

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

Figure 7. Sensitivity analyses for parameter B with respect to E = 2,3,4,5,6.


20 X. XIANG ET AL.

(a) Sensitivity analysis (b) Sensitivity analysis

5
100

Number of visits of pods per batch


4
80
Number of visits of pods
60

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

Figure 8. Sensitivity analyses for parameter E with respect to B = 2,3,4,5,6.

7.4.2. Performance of order limit in a batch


E is the parameter that represents the order limit in a batch. Figure 8 shows that the number of visits
of pods tends to decrease as E increases. However, the number of visits of pods per batch does not
tend to decrease as E increases, as shown in Figure 8. When B = 4, the number of visits of pods per
batch is a maximum; when B = 2, the number of visits of pods per batch is a minimum.

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.

You might also like