# Algorithms for Picking and Distribution of Online Orders in New Retail Enterprises

Authors: Weiya Zhong; Jia Cui
Journal: Mathematical Problems in Engineering
 (2021)

---

## Abstract

This paper studies joint algorithms of order picking and distribution in new retail enterprises. The problem will consider many factors, such as the type of goods, picking time, batch capacity of distribution, distribution time, and distribution cost. First of all, the research problems are summarized as mathematical programming problems. Then, a genetic algorithm and comparison algorithms are proposed. Finally, the rationality of the model and the effectiveness of the algorithms are verified by computational experiments, and management enlightenments are revealed.


---

## Body

## 1. Introduction

In the first quarter of 2020, communities in China were closed for management, and since then, the public has been buying fresh food and daily necessities online because of the outbreak of COVID-19. The number of customers in traditional stores has reduced, and orders from new fresh e-commerce have increased rapidly. The new mode of door-to-door delivery has become popular. “It’s not the alarm clock that wakes me up every day, but the desire for fresh vegetables.” After the outbreak of the epidemic, many people living at home chose to stay away from the grocery market temporarily and “embrace” the Internet, so “online shopping” has become the main choice for supplying daily necessities. This has led to the rise of various online fresh food retail platform merchants against the trend, with the number of users, orders, and sales reaching a new height. According to public information, Dingdong (an APP for online fresh food shopping) saw a 291.42% increase in the number of new users and an overall volume growth of approximately 80%; the order volume of Meituan (an APP for online fresh food shopping) increased by more than 200% in some sites in Shanghai; and the number for HEMA (an APP for online fresh food shopping) was 290%. While the business volume of each online retail platform is booming, the supply chain including logistics and distribution is also under great pressure.On January 15, 2016, HEMA opened its first store in Shanghai Jinqiao Square and quickly became an “Internet celebrity.” HEMA is a new retail format completely reconstructed by Alibaba for offline supermarkets that is different from other fresh e-commerce. It is a supermarket, a restaurant, and a vegetable market. However, such descriptions seem to be inaccurate. Consumers can buy goods in-store or place orders through HEMA APP. This feature is also known as “warehouse-store-integration,” and HEMA’s warehouse is also its store. Compared to traditional warehouse, the interior merchandise is placed differently. The traditional warehouse stores goods in the standard shelf-stacking pattern. However, each customer can see all goods in HEMA. The display and placement of commercial products are different according to the preferences of consumers in the area where the store is located.By observing online orders’ picking process of HEMA, we found that once a customer places an order in HEMA APP, the information processing center will divide the order into several suborders according to commodity types, such as river fresh, fruit, pasta, and daily necessities. (This is determined by the goods location and attributes of the commodity. For example, fresh river food products need to be dehydrated and processed. It must also be sealed and packed to prevent contamination of other goods.) The information of each suborder is first sent to the handheld device of the staff in the area where the goods are located. The staff selects goods and puts them into a bag. The bag is hung on the hook at the starting position of a conveyor belt, which transfers the bag to the packaging area. In the packaging area, items from the same order are assembled together and passed on to the deliverymen, who distribute customers’ orders in batches. One of the biggest characteristics of HEMA is fast delivery: within 3 kilometers around the store, it takes only 30 minutes to deliver goods to your door.From the above description, we can see that, in the order processing system, the flow of information drives the flow of goods: receiving information from the information processing center, sending instructions to the staff, and sending the goods to the customers by deliverymen. Each of the above steps is important in order to achieve the goal of rapid delivery. In this paper, we formulate the above order processing as a joint scheduling problem of online order picking and distribution.Order picking is a process of picking the required products from the shelves accurately and quickly, according to the information of customers’ orders. It is one of the most important operations in the distribution center. An appropriate order picking system helps improve working efficiency and customer satisfaction [1]. Many literatures have studied such problems, mainly involving design of goods location [2], picking routes [3], order batching [4, 5], and partition picking [6]. In the “online shopping” mode, logistics distribution business poses a lot of new challenges. Researchers have studied the decision-making and route optimization of e-commerce logistics distribution, such as [7, 8]. In order to deliver goods to customers quickly, it is necessary to manage order picking and distribution as a whole. This is because the starting time of vehicle distribution is directly related to the completion time of order picking. Wang et al. [9] constructed a joint scheduling model of picking and distribution to minimize orders’ fulfillment time. Peng [10] studied a joint scheduling problem of order batching and distribution routing and took the shortest total fulfillment time from order picking to distribution completion as the goal of B2C e-commerce distribution center. Zhang et al. [11] studied the online integrated order picking and delivery problem with the multizone routing method to minimize the sum of the maximum delivery completion time and the total delivery cost.The order picking in this paper is different from the traditional warehouse order picking. A HEMA offline store is also a warehouse, which increases the difficulty of order fulfillment due to the variety of commodity demand and small batch sizes. All orders submitted through HEMA app are picked by the staff in the sales area. The placement of goods in the sales area is different from that in traditional warehouses. There is no unified standard shelf. The display and the placement of goods varies from shop to shop according to the preferences of consumers in the area where the store is located. Therefore, we study the picking and distribution problem of orders generated in HEMA APP from a different view. It is assumed that, in a certain period of time, there are some orders to be picked out and distributed to customers. These orders are regarded as jobs, the staff and conveyor belts in HEMA stores are regarded as machines, and the deliverymen are regarded as vehicles. We analyze the combined problem of order picking and distribution and establish the model with the goal of minimizing the sum of orders’ total completion time and total delivery cost.From the view of scheduling research, we study a machine scheduling problem with transportation of finished jobs. Hall and Potts [12] were the first to propose a joint machine scheduling problem with job transportation. Chen [13] gave a detailed review on the joint problems of machine scheduling and product transportation published before 2008. Zhong et al. [14] and Fu et al. [15] studied scheduling problems of outsourcing the transportation of products to third-party logistics companies. Ullrich [16] considered machine scheduling and job transportation problems with path planning. In this paper, we consider orders’ picking and distribution in HEMA as a joint scheduling problem with distribution coordination. Orders are first processed in dedicated flow shops followed by assembly lines and then are distributed to the customers by deliverymen. To the best of our knowledge, this machine scheduling problem has not been covered in any previous literature.The remaining sections of this paper are organized as follows: In Section2, we give the problem description; in Section 3, we construct a MP model for the case with one machine at each stage and one deliveryman; in Section 4, we devise algorithms to solve the problem; in Section 5, numerical experiments are carried out to verify the rationality of the model and the effectiveness of the algorithms; in Section 6, we conclude this paper.


## 2. Problem Descriptions

Suppose that, during a certain period of time, there are several orders waiting to be processed in the online order system of HEMA. Each order is composed of several types of suborders and processed in four stages in sequence. The first and second stages are order processing within the shop: a subjob is first processed on a stage 1 machine (the staff picks out the products and put them into a bag) and then processed on a stage 2 machine (the conveyor belt transfers the bag to packing area); then, in the packing area, suborders belonging to the same order are assembled together for distribution; this is stage 3. In stage 4, completed orders are distributed to their customers in batches by deliverymen with electric power carts. The full process is shown in Figure1.Figure 1
Order processing and distribution.We regard each order as a job, and a suborder as a subjob (order and job, and suborder and subjob will be used interchangeably in the following). The staff and conveyor belts are regarded as machines, and the deliverymen are regarded as vehicles.Next, we describe the above process of orders’ picking and distribution as a joint machine scheduling and transportation problem. At the beginning of the planning horizon,n orders O1,O2,…,On are placed by n customers. Job Oi may contain one or more subjobs Oil (item type-l), i=1,2,…,n,l=1,2,…,k, where each type of suborders is processed by a dedicated two-stage flow-shop machine Fl1,1. For l=1,2,…,k, each subjob Oil is first processed by a stage 1 machine M1l with processing time pi1l (time needed for staff’s picking) and then processed by a stage 2 machine M2l with processing time pi2l (time needed for belt conveying). When subjobs Oil,i=1,2,…,n,l=1,2,…,k are all finished, they need to be assembled together for distribution. The processing time for job Oi’s assembling operation is pi3. Each vehicle contains a batch of jobs when it departs from the store. It delivers the jobs to the customers one by one and returns to the store after it delivers the last job. Then, it is ready for the next batch’s delivery. It can carry no more than Q jobs in one batch. In this paper, a complete undirected graph G=V,E with n+1 vertices is used to represent the geographical locations and distances between the HEMA store and n customers, V=V0,V1,V2,…,Vn, E=eij,i≠j,i,j=1,2,⋯,n, where V0 is the HEMA store, and V1,V2,…,Vn represent n customers. It takes time of tiji,j=1,2,…,n for the vehicle travelling between Vi and Vj. The vehicle starts from V0, distributes the orders in the current batch to their customers one by one, and returns to V0. We assume that the triangle inequality is satisfied between any three points in the distribution network. Since a batch may contain a variety of orders (e.g., requiring refrigeration or additional packaging), each order occurs a distribution cost di. If several orders are contained in one batch, the distribution cost of this batch equals the arithmetic mean of the cost of all orders in the batch.Our goal in this paper is to design a solution for the above joint machine scheduling and distribution problem, such that the total arrival time (sum of the times when the customers receive their orders) and the total distribution cost are minimized.We need to make the following decisions: (1) subjobs’ arrangement on the dedicated flow-shop machines and the assembly machines; (2) batching decision before distribution, including the number of batches and jobs contained in each batch; (3) the time when each batch leaves the machine and the routes of distributing orders in each batch.


## 3. MP Model for a Special Case

In this section, we study the case when each job contains two subjobs (subjob A and subjob B denote fresh goods and nonfresh goods, respectively), and there are one assembly machine and one vehicle. We construct a mathematical programming model for this problem. It seems that it is a bit special; however, we can see that it reveals the meaning for the coordinated consideration of order picking and distribution. We first list parameters and variables for this model.ParametersN: the set of jobs, N=O1,O2,…,OnOi: the ith jobOiA: subjob A of job OiOiB: subjob B of job Oipi1A: processing time of subjob A of job Oi at the first stagepi1B: processing time of subjob B of job Oi at the first stagepi2A: processing time of subjob A of job Oi at the second stagepi2B: processing time of subjob B of job Oi at the second stagepi3: processing time of job Oi on the assembling machineV: the set of vertices in the distribution networktij: transportation time for a vehicle travelling between Vi and VjQ: capacity constraint of a distribution batchdi: distribution cost for each jobyiyi=1 if job Oi contains subjob A; otherwise, yi=0zizi=1 if job Oi contains subjob B; otherwise zi=0Variablessi1A: starting time of subjob A of job Oi at the first stageci1A: finishing time of subjob A of job Oi at the first stagesi1B: starting time of subjob B of job Oi at the first stageci1B: finishing time of subjob B of job Oi at the first stagesi2A: starting time of subjob A of job Oi at the second stageci2A: finishing time of subjob A of job Oi at the second stagesi2B: starting time of subjob B of job Oi at the second stageci2B: finishing time of subjob B of job Oi at the second stagesi3: starting time of job Oi on the assembling machineci3: finishing time of job Oi on the assembling machinesi4: departure time of job Oi (departure time of the batch that job Oi belongs to)ci4: completion time of job Oi (when it is delivered to its customer)sf: starting time of the distribution of batch Bfcf: finishing time of the distribution of batch Bf (when the last job is delivered, and the vehicle returns to the store)F: the number of batches, n/Q≤F≤nB: the set of distribution batches, B=B1,B2,…,BFbf: number of jobs in batch Bf,f=1,2,…,FeijA1=1 if OiA precedes OjA at the first stage, else =0eijA2=1 if OiA precedes OjA at the second stage, else =0eijB1=1 if OiB precedes OjB at the first stage, else =0eijB2=1 if OiB precedes OjB at the second stage, else =0eij3=1 if Oi precedes Oj at the third stage, else =0vijf=1 if vehicle travels from Vi to Vj in batch Bf, else =0xif=1 if job Oi is allocated to batch Bf,else=0vij=1 if vehicle travels from Vi to Vj in some batch, else=0 (For ease of presentation, let vjj=1)Df: distribution cost for batch BfMathematical programming model is as follows:(1)min∑i=1nci4+∑f=1FDf,(2)s.t.si1A≥0,i=1,2,…,n,(3)si1B≥0,i=1,2,…,n,(4)ci1A=si1A+pi1A×yi,i=1,2,…,n,(5)ci2A=si2A+pi2A×yi,i=1,2,…,n,(6)ci1A−si2A≤0,i=1,2,…,n,(7)ci1B−si2B≤0,i=1,2,…,n,(8)ci1B=si1B+pi1B×zi,i=1,2,…,n,(9)ci2B=si2B+pi2B×zi,i=1,2,…,n,(10)ci3=si3+pi3,i=1,2,…,n,(11)maxci2A,ci2B−si3≤0,i=1,2,…,n,(12)sj1A≥ci1A−1−eijA1M,i,j=1,2,…,n,i≠j,(13)sj1B≥ci1B−1−eijB1M,i,j=1,2,…,n,i≠j,(14)sj2A≥ci2A−1−eijA2M,i,j=1,2,…,n,i≠j,(15)sj2B≥ci2B−1−eijB2M,i,j=1,2,…,n,i≠j,(16)sj3≥ci3−1−eij3M,i,j=1,2,…,n,i≠j,(17)∑f=1Fxif=1,i=1,2,…,n,(18)∑Oi∈Bfxif≤Q,f=1,2,…,F,(19)nQ≤F≤n,(20)sf=maxi∈1,2,…,nci3−1−xifM,f=1,2,…,F,(21)si4=maxi∈1,2,…,nsf−1−xifM,f=1,2,…,F,(22)Df=∑i=1nxifdibf,f=1,2,…,F,(23)sf−cf−1≥0,f=2,3,…,F,(24)xif=∑j∈N∪0\ivijf,i=1,2,…,n,f=1,2,…,F,(25)∑f=1F∑i=0nvijf=1,j=1,2,…,n,(26)∑f=1F∑j=0nvijf=1,i=1,2,…,n,(27)∑j=1nv0jf=1,f=1,2,…,F,(28)∑j=1nvj0f=1,f=1,2,…,F,(29)cf=sf+∑i=0n∑j=1n+1tijvijf,f=1,2,…,F,(30)ci4+tijvijf−M1−vijf≤cj4,i=1,...,n,j=1,…,n,f=1,2,…,F,(31)sf+t0jv0jf−M1−v0jf≤cj4,j=1,…,n,f=1,2,…,F.Objective function (1) is to minimize the sum of the total completion time and the total distribution cost of jobs. Constraints (2) and (3) ensure that each subjob starts processing after time zero. Constraints (4) and (5) denote the finishing time of type A subjobs at the first stage and second stage. Constraints (6) and (7) indicate that a subjob can be started on stage 2 machine only after it has been finished on the corresponding stage 1 machine. Constraints (8) and (9) denote the finishing time of type B sub jobs at the first stage and second stage. Constraint (10) denotes the finishing time of the jobs at the third stage. Constraint (11) ensures that a job can be assembled only after its two subjobs have been completed. Constraints (12) to (16) ensure that, at any time, only one job can be processed on a machine. Constraint (17) ensures that a job is contained in exactly one batch. Constraint (18) ensures that the number of jobs in one batch is no larger than the capacity constraint. Constraint (19) denotes the bound for the number of distribution batches. Constraint (20) ensures that the vehicle can start travelling only after all jobs in one batch are completed. Constraint (21) indicates that, for each job, the departure time is the starting time of corresponding batch distribution. Constraint (22) denotes the cost of distribution for each batch. Constraint (23) ensures that the vehicle starts a new distribution batch only if he has distributed all the jobs in the last batch and returns to the store. Constraints (24) to (26) indicate that each customer is visited exactly once. Constraints (27) and (28) indicate that the vehicle travels from/to the store exactly F times. Constraint (29) denotes the time when the vehicle returns to the store equal to its starting time of the current batch plus the total travel time in the routing. Constraints (30) to (31) denote the delivery time of job Oi in batch Bf.


## 4. A Genetic Algorithm

Note that the two-stage assembly scheduling problem with two parallel machines in the first stage and no delivery is strongly NP-hard [17]. Therefore, the problem in this paper with two dedicated flow shops in the first stage and delivery coordination is obviously strongly NP-hard. Only relatively small instances can be optimally solved in reasonable computational time. Consequently, in this section, we develop a genetic algorithm to find good solutions [18].For a given sequence ofO1,O2,…,On, we first devise algorithm CA-D (Algorithm 1) to arrange the jobs’ processing and distribution.Algorithm 1: CA-D.
Step 1: process type A subjobs on each stage of the dedicated flow-shop in the sequence ofO1A,O2A,…,OnA and process type B subjobs on each stage of the dedicated flow-shop in the sequence of O1B,O2B,…,OnB. Assemble the jobs in the sequence of O1,O2,…,On.Step 2: jobs are delivered inF=n/Q batches. For f=2,…,F−1, batch Bf contains Of−1×Q+1,Of−1×Q+2,…,Of×Q, and the last batch BF contains OF−1×Q+1,OF−1×Q+2,…,On.Step 3: the vehicle distributes the batches in the sequence ofB1,B2,…,BF, and the routing inside each batch is in the same sequence as that on the assembly machine. (The jobs are delivered in the sequence of O1,O2,…,On.)Note that algorithm CA-D generates a feasible schedule for our problem; however, this schedule is not that good. This is because the processing sequence and delivery sequence are the same in one batch. Next, we propose algorithm LGP (Algorithm2) to improve this problem. LGP does not change the batching decisions but tries to reduce the completion time on the machines as well as the total transportation time of each batch.Algorithm 2: LGP.
Input: a feasible solution of generated from CA-D with delivery batches ofB1,B2,…,BF.Output: an improved feasible solution.Initialization:f=1.Step 1: for batchBf, select two jobs randomly from this batch. Swap the two jobs in the processing sequence, i.e., on each machine, corresponding subjobs are swapped. Compute the completion time of the last job in Bf on the assembly machine. Repeat such swapping operation 50 times and select the processing sequence with the minimum completion time of the last job in Bf.Step 2: for batchBf, select two jobs randomly from this batch. Swap the two jobs in the delivery sequence and compute the total delivery time of this new sequence. Repeat such swapping operation 50 times and select the delivery sequence with the minimum total delivery time.Step 3: iff<F, f=f+1, go to Step 1; otherwise, stop.Next, we list the details of our genetic algorithm:(1)
Coding and encodingA chromosome represents a sequence of orders’ picking and distribution based on the above algorithm CA-D. Figure2 shows an example of a chromosome with ten genes indicating that there are ten jobs to be processed. 1,5,4,2,7,10,9,8,3,6 is the input of algorithm CA-D in order to determine the processing sequence on each machine and the distribution batches with routing consideration.(2)
Fitness functionWe define the fitness function of a chromosome as the inverse of the objective function:1/∑i=1nci4+∑f=1FDf.(3)
Genetic operatorsGenetic operators used in this paper include selection, crossover, mutation, reversal, and reinsertion. First, parent chromosomes are selected from the initial population, then the offspring chromosomes are generated by crossover operator, and then mutation operation is performed. In order to improve the local search ability, reverse operation is carried out. Finally, in order to handle the reduction of the number of chromosomes caused by the selection operator, reinsertion operation is carried out:(3.1)
SelectionIn this paper, Roulette wheel selection is used to select offspring from the parent population. Roulette wheel selection is similar to the roulette wheel used in gambling. Table1 shows the probability of selection of an individual based on the fitness functions for a population of ten individuals, where the probability of selection of an individual equals (the fitness of the individual ÷ the sum of the fitness of all individuals in the population of the individual) × 100%.Each time, we randomly generate two numbers between0,1, which is equivalent to turning the wheel twice to get the position of the pointer (the sector to which the pointer stops is the selected individual), and the two selected individuals are the parents. As shown in Figure 3, we plot the probability of each individual being selected on a roulette wheel for the population in Table 1 and then select the parent individuals in turn by roulette selection.(3.2)
CrossoverIn this paper, Partially Matched Crossover (PMX) method is used in the crossover. In PMX, we first select two crossover points randomly, exchange the genes between the two crossover points, and then replace the repeated genes through allele mapping. In Figure4, we show the process of creating two offspring from a pair of parents by PMX crossover and mutation, using individuals 9 and 10 from Table 2: first, the crossover region of the parent individual is selected, and the genes of the two chromosomes within the crossover region are crossed over. As the new chromosome contains duplicated genes, we replace the duplicated genes by mapping the alleles of the parent individuals 4−7−10,2−5,7−6,9−3. A random number in 0,1 is generated, and if it is smaller than the crossover probability c, crossover is run.(3.3)
MutationIn the mutation operation, for the two individuals after the crossover operation, we randomly select two positions in an individual to exchange genes at these two positions, as shown in Figure5. A random number in 0,1 is generated, and if it is smaller than the mutation probability m, mutation is run.(4)
Iteration termination conditionsThe minimal fitness function value of the last generated population is denoted as LB, where the initial value of LB is the minimum fitness function value of the initial population. The minimal fitness function value of the current population is denoted as CR. IfLB−CR/LB≤ε (ε is a given positive number) or the number of iterations reaches 500, stop.Figure 2
An example of a chromosome with ten genes.Table 1
Calculation of selection probabilities based on individual fitness.
IndividualChromosomeFitnessProbability of selectionCumulative probability110, 8, 9, 5, 6, 3, 2, 1, 4, 750.0609760.060976210, 8, 9, 5, 4, 7, 6, 3, 2, 140.0487800.10975639, 5, 6, 3, 10, 8, 2, 1, 4, 790.1097560.21951244, 8, 9, 5, 6, 3, 2, 1, 10, 770.0853660.30487859, 5, 6, 10, 8, 3, 2, 1, 4, 780.0975610.40243969, 5, 6, 2, 1, 4, 7, 10, 8, 380.0975610.50000078, 3, 2, 1, 4, 7, 9, 5, 6, 1050.0609760.56097683, 2, 1, 10, 8, 4, 7, 9, 5, 6100.1219510.68292791, 5, 4, 2, 7, 10, 9, 8, 3, 6150.1829270.865854102, 9, 7, 5, 6, 4, 3, 8, 10, 1110.1341461.000000Figure 3
Roulette wheel selection.Figure 4
Partially matched crossover operation.Table 2
Parameters for 60 instances.
GroupInstancepi1Api2Api1Bpi2Bpi3ditijX1–205,102,33,91,22,87,134,7Y21–400,100,30,90,22,87,134,7Z41–600,100,30,90,22,87,1340,70Figure 5
Mutation operation.Now we are ready to devise a genetic algorithm DU-GA (Algorithm3) for the integrated order picking and distribution problem.Table 3
Parameter settings.
Group(50, 0.7, 0.1)(100, 0.7, 0.1)(150, 0.7, 0.1)(150, 0.8, 0.1)(150, 0.9, 0.1)(150, 0.8, 0.2)(150, 0.8, 0.3)X13455.7112737.2912725.3312410.7112411.7912225.3313156.88Y9991.839948.6710067.8810049.0410202.089691.389739.04Z73821.3873692.6773705.4273221.7573667.2572058.0073418.88


## 5. Numerical Experiments and Analysis

In order to verify the rationality of the above model and test the performance of algorithm DU-GA, we conduct numerical experiments and analyze the results based on Python 3.8. All numerical experiments are performed on a personal computer with 8 GB memory and 2.70-GHz Intel Core i5 CPU.


### 5.1. Parameter Setting

#### 5.1.1. Parameters for Instances

According to different situations of these parameters, we carry out three groups of numeral experiments, where each group randomly generates 20 instances. Each instance contains 50 jobs, and the vehicle capacity isQ=8.Table2 shows the parameter intervals for 20 instances of each Group. For example, parameters for Group-X are set as pi1A∈5,10, pi2A∈2,3, pi1B∈3,9, pi2B∈1,2, pi3∈2,8 and di∈7,13 (pi1A∈5,10 means that pi1A is a random integer uniformly generated in interval of 5,10 and the other parameter settings are similar to this).Group-X (Instances 1–20) considers the case when orders contain both fresh and nonfresh products, where the processing time is always larger than zero. The picking time for fresh products is generally longer than that for nonfresh products due to the additional steps (i.e., dewatering and weighing) during the picking process. Group-Y (Instances 21–40) and Group-Z (Instances 41–60) allow orders containing only fresh products or only nonfresh products, in recognition of the fact that customers may need to buy only fresh or nonfresh products, where the processing time may be zero, which is more realistic. Group-Z (Instances 41–60) examines cases where the delivery time of orders is significantly longer than processing time.


#### 5.1.2. Parameters for Genetic Operators

Before the genetic algorithm is applied, the following parameters need to be determined: population sizeP, crossover probability c, and mutation probability m. P is set to be one of 50,100,150 and maintains the same size for each iteration. The crossover probability c is set to be one of 0.7,0.8,0.9. The mutation probability m is generally set to be in 0.05,0.1; however, considering the strong NP-hardness of the problem, m is set to be one of 0.1,0.2,0.3 to expand the search space. Since the actual performance of genetic algorithm is closely related to these parameters, we first test different combinations of P,c,m. For each group, an instance is generated. For different parameters of GA, the algorithm is run five times for each instance. Table 3 lists the average objective value for the instances (i.e., 13477.71 online 2 column 2 denotes the average objective value of the instance of Group-X with parameter 50,0.7,0.1, and the others are similar to this).Table 4
Stability test of DU-GA.
GroupMin RD (%)Max RD (%)Average RD (%)X0.352.481.46Y1.413.711.97Z0.904.942.05We observe the following:(1)
Ifc,m∈ (0.7, 0.1), by comparing P,c,m∈ {(50, 0.7, 0.1), (100, 0.7, 0.1), (150, 0.7, 0.1)}, when P=150, DU-GA terminates with the best objective value(2)
IfP=150, by comparing P,c,m∈ {(150, 0.7, 0.1), (150, 0.8, 0.1), (150, 0.9, 0.1)}, when c=0.8, DU-GA terminates with the best objective value(3)
Based on (1) and (2), we letP=150 and c=0.8. If P,c,m∈ {(150, 0.8, 0.1), (150, 0.8, 0.2), (150, 0.8, 0.3)}, when m=0.8, the objective value is bestTherefore, we set the parametersP,c,m for DU-GA to be 150,0.8,0.1.


### 5.2. Analysis of Experimental Results

#### 5.2.1. Stability Test

To evaluate the stability of algorithm DU-GA, for GroupsX, Y and Z, we run each instance five times to assess the span between the minimal solution (denoted as SB) and the average value (denoted as SA), which is referred to as Relative Deviation (denoted as RD), calculating by RD=SA−SB/SA×100%.Table4 shows that the span between SA and SB is small, with an average RD of 1.46% for Group-X, 1.97% for Group-Z, and 2.05% for Group-Y. Therefore, DU-GA is stable in all three groups of instances.Algorithm 3: DU-GA.
Step 1: determine the population sizeP, the crossover probability c, the mutation probability m, and the termination condition of the algorithm, followed by initializing the population (i.e., randomly generating P individuals).Step 2: for each individual, apply algorithm CA-D. Evaluate fitness values of the chromosome and select two individuals as parents.Step 3: perform crossover and mutation operators on the selected parents to obtain offspring individuals.Step 4: update the population by adding the newly generated individuals to the population. Step 2 and Step 3 are repeated until the termination condition is met, and the iteration is stopped.Step 5: select the best solution from the current population, and let it be the input of algorithm LGP. Run algorithm LGP, and output the resulted solution.


#### 5.2.2. Comparison Algorithm

To evaluate the effectiveness of the algorithm DU-GA, we design comparison algorithms DU-1 (Algorithm4) and DU-2 (Algorithm 5). Algorithm DU-1 is a genetic algorithm that is different from DU-GA in that it calculates the fitness function based on the departure time of each job si4. Algorithm DU-2 processes and distributes jobs in a random order.Algorithm 4: DU-1.
Step 1: same as Step 1 of DU-GA;Step 2: for each individual, apply algorithm CA-D. Calculate the fitness value for individuals in the population by taking1/∑i=1nsi4∑f=1FDf as the fitness function.Step 3-Step 4: same as Step 3 - Step 4 of DU-GA;Step 5: output the processing sequence, batching decision, and delivery routings of the best solution based on fitness function1/∑i=1nsi4∑f=1FDf. Calculate the corresponding objective function ∑i=1nci4+∑f=1FDf.Algorithm 5: DU-2.
Step 1: run algorithm CA-D in a random order;Step 2: output the processing sequence, batching decision and delivery routings. Calculate the corresponding objective∑i=1nci4+∑f=1FDf.


#### 5.2.3. Algorithm Effectiveness Analysis

In Tables5–7, the results for instances of Groups X, Y and Z by applying DU-GA, DU-1, and DU-2 are listed. For ease of presentation, we denote the objective value of the solution obtained from DU-GA, DU-1, and DU-2 as CDU−GA, CDU−1 and CDU−2, respectively. We run each instance five times and record the mean of the objective values. The first column shows the index of the 20 instances; the second and third columns show the results of DU-2 and DU-1; the fourth column shows the objective values of the solutions obtained from DU-GA. We record the reduction of CDU−GA over CDU−1 and CDU−2in the fifth and sixth columns and show the percentage improvement of CDU−GA over CDU−1 and CDU−2 in the seventh and eighth columns.Table 5
Experimental results of 20 instances in Group-X.
InstanceCDU−2CDU−1CDU−GACDU−GA−CDU−1CDU−GA−CDU−2CDU−GA−CDU−1/CDU−1 (%)CDU−GA−CDU−2/CDU−2 (%)ins113189.6313025.5012841.38184.13348.251.412.64ins213173.0012871.2512680.50190.75492.501.483.74ins313038.7512852.1312748.13104.00290.630.812.23ins413380.0012702.6312537.75164.88842.251.306.29ins513078.5012928.0012580.50347.50498.002.693.81ins613361.7512919.3812837.8881.50523.880.633.92ins713320.0012870.2512645.13225.13674.881.755.07ins813145.7512945.2512643.50301.75502.252.333.82ins913145.7512945.2512643.50301.75502.252.333.82ins1012851.8812311.1312168.38142.75683.501.165.32ins1112892.8812153.1311974.25178.88918.631.477.13ins1212898.5012189.5012022.50167.00876.001.376.79ins1313040.5012281.8811918.13363.751122.382.968.61ins1413160.3812254.0012063.38190.631097.001.568.34ins1513223.2512294.2511984.00310.251239.252.529.37ins1612559.7512365.6312011.75353.88548.002.864.36ins1712969.5012118.2511956.50161.751013.001.337.81ins1812733.0012410.6311903.25507.38829.754.096.52ins1913716.8813627.0013225.13401.88491.752.953.59ins2013561.6313295.0013046.88248.13514.751.873.80Average13122.0612668.0012421.62246.38700.441.945.35Table 6
Experimental results of 20 instances in Group-Y.
InstanceCDU−2CDU−1CDU−GACDU−GA−CDU−1CDU−GA−CDU−2CDU−GA−CDU−1/CDU−1 (%)CDU−GA−CDU−2/CDU−2 (%)ins2111729.1310633.6310130.88502.751598.254.7313.63ins2210821.0010077.509880.63196.88940.381.958.69ins2311544.1310683.7510340.50343.251203.633.2110.43ins2410883.3810361.639816.38545.251067.005.269.80ins2511455.3811073.7510707.88365.88747.503.306.53ins2611369.0010325.009640.75684.251728.256.6314.45ins2710544.8810399.639849.88549.75695.005.296.59ins2810915.6310407.139877.88529.251037.755.099.51ins2911418.1310445.8810103.13342.751315.013.2811.52ins3010843.6310672.5010224.00448.50619.634.205.71ins3110968.0010574.009778.50795.501189.506.589.93ins3211800.8811006.0010764.13241.881036.752.208.79ins3311745.1310813.6310273.13540.501472.005.0012.53ins3411127.5010227.139613.50613.631514.006.0013.61ins3511716.5010931.0010694.25236.751022.252.178.72ins3611339.2510513.8810042.38471.501296.884.4811.44ins3711205.2510787.5010539.50248.00665.752.305.94ins3811774.2510763.7510635.75128.001138.501.199.67ins3911000.2510820.3810659.00161.38341.251.493.10ins4011548.3810616.7510009.38607.381539.005.7213.33Average11287.4810606.7210179.07427.651108.414.009.70Table 7
Experimental results of 20 instances in Group-Z.
InstanceCDU-2CDU-1CDU-GACDU-GA−CDU-1CDU-GA−CDU-2CDU-GA−CDU-1/CDU-1 (%)CDU-GA−CDU-2/CDU-2 (%)ins4180295.0074138.6370463.133675.509831.884.9612.24ins4280016.7575866.7571510.384356.388506.385.7410.63ins4383567.0078034.3873665.004369.389902.005.6011.85ins4480826.6374994.8870743.884251.0010082.755.6712.47ins4578806.6374775.6371372.883402.757433.754.559.43ins4683283.6375297.7571529.503768.2511754.135.0014.11ins4779538.8876558.6371696.884861.757842.006.359.86ins4881573.5077321.3873266.754054.638306.755.2410.18ins4978296.2574942.1371648.133294.006648.134.408.49ins5081076.2575760.2572000.003760.259076.254.9611.19ins5182371.6378569.3873763.384806.008608.256.1210.45ins5279815.3874644.2571110.253534.008705.134.7310.91ins5378848.3875671.1371391.254279.887457.135.669.46ins5480431.7576728.8873497.883231.006933.884.218.62ins5580261.3875413.8870473.254940.639788.136.5512.20ins5679548.8876709.6373692.503017.135856.383.937.36ins5784032.7578333.2574515.253818.009517.504.8711.33ins5877052.3875897.0071994.003903.005058.385.146.56ins5984053.7576164.2573829.632334.6310224.133.0712.16ins6078999.7576957.0072623.384333.636376.385.638.07Average80634.8376138.9572239.363899.598395.465.1210.38We also observe that DU-GA takes the longest time in most instances, but the maximal does not exceed 11.83 seconds; the running time of DU-1 is shorter than that of DU-GA, while the running time of DU-2 is the shortest. Compared with DU-1, DU-GA not only considers the delivery times in fitness function but also adds further optimization of the production and distribution stages based on the basic GA algorithm:(1)
Compare DU-GA with DU-1According to Tables5–7, the average improvement of CDU−GA over CDU−1 for Groups X, Y and Z instances is 1.94%, 4.00%, and 5.12%.(1.1)
It is shown that the improvement ofCDU−GA over CDU−1 of Group-Y is better than that of Group-X. Note that the processing times of jobs in Group-Y are smaller than those of Group-X, and thus the distribution time is relatively larger in Group-Y. DU-GA differs from DU-1 in that it considers the delivery times as well as processing times in the fitness function; therefore, the larger the delivery times, the more the improvement of CDU−GA over CDU−1.(1.2)
The improvement ofCDU−GA over CDU−1 of Group-Z is better than that of Group-Y. Note that the transportation times of instances in Group-Z are obviously higher. The same reason as in (1.1) can explain this observation.(1.3)
The results of Group-Z are significantly better than those of the other two groups, meaning that, compared to algorithm DU-1, algorithm DU-GA is highly effective for the practical case when orders may only contain fresh items or nonfresh items and take longer for distribution than processing.(2)
Compare DU-GA with DU-2According to Tables5–7, the average improvement of DU-GA over DU-2 for Groups X, Y and Z instances is 5.35%, 9.70%, and 10.38%.(2.1)
It is shown that the average improvement ofCDU−GA over CDU−2 of Group-Y is better than that of Group-X. DU-2 is a FIFO strategy, and no optimization skill is applied. DU-GA is a genetic algorithm, and it considers the processing times and the delivery times in the fitness function. Note that there is only one vehicle for distribution, and multiple orders are contained in one batch; thus, the optimization of the distribution stage plays a more important role than that of the production stages. Recall that the processing times of jobs in Group-Y are smaller than those of Group-X, and thus the distribution time is relatively larger in Group-Y. Therefore, the larger the delivery times, the more the improvement of CDU−GA over CDU−2.(2.2)
The improvement ofCDU−GA over CDU−2 of Group-Z is better than that of Group-Y. Note that the transportation times of instances in Group-Z are obviously higher. The same reason as in (2.1) can explain this observation.(2.3)
The results of Group-Z are significantly better than those of the other two groups, meaning that, compared to algorithm DU-2, algorithm DU-GA is highly effective for the practical case when orders may only contain fresh items or nonfresh items, and the time for distribution is longer than processing.(3)
For each instance,CDU−GA−CDU−2 is always larger than CDU−GA−CDU−1. DU-2 is a FIFO strategy, and no optimization skill is applied, while DU-1 is a genetic algorithm, which considers jobs’ processing times in the fitness function. DU-1 is also an acceptable algorithm, but not as good as DU-GA.


#### 5.2.4. The Enlightenment for the Management of New Retail Enterprises

The orders’ processing sequence in each stage directly affects the order delivery time, which in turn has an impact on customer satisfaction. In order to improve customer satisfaction, we must consider different practical scenarios. The results of numerical experiments show that the genetic algorithm DU-GA is relatively stable for all instances. We also design comparison algorithms DU-1 and DU-2 to evaluate the effectiveness of DU-GA. The results show that algorithm DU-GA outperforms algorithm DU-1 and algorithm DU-2 for all instances of three different groups.From the above analysis, we can observe the following:(1)
Algorithm DU-2, based on “first-arrive-first-process” method, is easy for operation. The manager of the new retail enterprise merely processes the orders according to the arrival sequence, and the distribution cost and delivery time can be relatively high.(2)
Compared to DU-2, DU-1 takes the departure time of each job into consideration and results in a lower total order delivery time and delivery cost. This algorithm may be run in the development stage of optimizing the operation: the manager outsources the distribution to 3PL companies and focuses on the departure times and distribution costs of orders. However, when the customers receive their orders, it is out of control, and the manager has no idea of the customers’ satisfaction level.(3)
Compared to DU-1, algorithm DU-GA takes both order delivery time and delivery cost into consideration. The manager determines orders’ picking and delivery as a whole and can monitor the customers’ satisfaction level and total delivery cost at the same time.DU-2, DU-1, and DU-GA represent the degrees of attention to order picking and distribution at different stages:(1)
DU-2 indicates the initial stage of enterprise establishment, and the variety of goods and the number of customers are relatively small. Therefore, the enterprise starts processing orders as soon as receiving them.(2)
DU-1 represents the development stage of the enterprise. As the scale of business becomes larger, the number of orders increases. At this stage, the new retail enterprises may cooperate with 3PL companies; thus, the business managers only need to arrange the production to ensure orders’ departure times.(3)
DU-GA indicates a stable period after expansion. New retail enterprises start to focus on lean management of operation. They build their own logistics instead of resorting to 3PL companies. Hence, they need to jointly consider orders’ picking and distribution.


## 5.1. Parameter Setting

### 5.1.1. Parameters for Instances

According to different situations of these parameters, we carry out three groups of numeral experiments, where each group randomly generates 20 instances. Each instance contains 50 jobs, and the vehicle capacity isQ=8.Table2 shows the parameter intervals for 20 instances of each Group. For example, parameters for Group-X are set as pi1A∈5,10, pi2A∈2,3, pi1B∈3,9, pi2B∈1,2, pi3∈2,8 and di∈7,13 (pi1A∈5,10 means that pi1A is a random integer uniformly generated in interval of 5,10 and the other parameter settings are similar to this).Group-X (Instances 1–20) considers the case when orders contain both fresh and nonfresh products, where the processing time is always larger than zero. The picking time for fresh products is generally longer than that for nonfresh products due to the additional steps (i.e., dewatering and weighing) during the picking process. Group-Y (Instances 21–40) and Group-Z (Instances 41–60) allow orders containing only fresh products or only nonfresh products, in recognition of the fact that customers may need to buy only fresh or nonfresh products, where the processing time may be zero, which is more realistic. Group-Z (Instances 41–60) examines cases where the delivery time of orders is significantly longer than processing time.


### 5.1.2. Parameters for Genetic Operators

Before the genetic algorithm is applied, the following parameters need to be determined: population sizeP, crossover probability c, and mutation probability m. P is set to be one of 50,100,150 and maintains the same size for each iteration. The crossover probability c is set to be one of 0.7,0.8,0.9. The mutation probability m is generally set to be in 0.05,0.1; however, considering the strong NP-hardness of the problem, m is set to be one of 0.1,0.2,0.3 to expand the search space. Since the actual performance of genetic algorithm is closely related to these parameters, we first test different combinations of P,c,m. For each group, an instance is generated. For different parameters of GA, the algorithm is run five times for each instance. Table 3 lists the average objective value for the instances (i.e., 13477.71 online 2 column 2 denotes the average objective value of the instance of Group-X with parameter 50,0.7,0.1, and the others are similar to this).Table 4
Stability test of DU-GA.
GroupMin RD (%)Max RD (%)Average RD (%)X0.352.481.46Y1.413.711.97Z0.904.942.05We observe the following:(1)
Ifc,m∈ (0.7, 0.1), by comparing P,c,m∈ {(50, 0.7, 0.1), (100, 0.7, 0.1), (150, 0.7, 0.1)}, when P=150, DU-GA terminates with the best objective value(2)
IfP=150, by comparing P,c,m∈ {(150, 0.7, 0.1), (150, 0.8, 0.1), (150, 0.9, 0.1)}, when c=0.8, DU-GA terminates with the best objective value(3)
Based on (1) and (2), we letP=150 and c=0.8. If P,c,m∈ {(150, 0.8, 0.1), (150, 0.8, 0.2), (150, 0.8, 0.3)}, when m=0.8, the objective value is bestTherefore, we set the parametersP,c,m for DU-GA to be 150,0.8,0.1.


## 5.1.1. Parameters for Instances

According to different situations of these parameters, we carry out three groups of numeral experiments, where each group randomly generates 20 instances. Each instance contains 50 jobs, and the vehicle capacity isQ=8.Table2 shows the parameter intervals for 20 instances of each Group. For example, parameters for Group-X are set as pi1A∈5,10, pi2A∈2,3, pi1B∈3,9, pi2B∈1,2, pi3∈2,8 and di∈7,13 (pi1A∈5,10 means that pi1A is a random integer uniformly generated in interval of 5,10 and the other parameter settings are similar to this).Group-X (Instances 1–20) considers the case when orders contain both fresh and nonfresh products, where the processing time is always larger than zero. The picking time for fresh products is generally longer than that for nonfresh products due to the additional steps (i.e., dewatering and weighing) during the picking process. Group-Y (Instances 21–40) and Group-Z (Instances 41–60) allow orders containing only fresh products or only nonfresh products, in recognition of the fact that customers may need to buy only fresh or nonfresh products, where the processing time may be zero, which is more realistic. Group-Z (Instances 41–60) examines cases where the delivery time of orders is significantly longer than processing time.


## 5.1.2. Parameters for Genetic Operators

Before the genetic algorithm is applied, the following parameters need to be determined: population sizeP, crossover probability c, and mutation probability m. P is set to be one of 50,100,150 and maintains the same size for each iteration. The crossover probability c is set to be one of 0.7,0.8,0.9. The mutation probability m is generally set to be in 0.05,0.1; however, considering the strong NP-hardness of the problem, m is set to be one of 0.1,0.2,0.3 to expand the search space. Since the actual performance of genetic algorithm is closely related to these parameters, we first test different combinations of P,c,m. For each group, an instance is generated. For different parameters of GA, the algorithm is run five times for each instance. Table 3 lists the average objective value for the instances (i.e., 13477.71 online 2 column 2 denotes the average objective value of the instance of Group-X with parameter 50,0.7,0.1, and the others are similar to this).Table 4
Stability test of DU-GA.
GroupMin RD (%)Max RD (%)Average RD (%)X0.352.481.46Y1.413.711.97Z0.904.942.05We observe the following:(1)
Ifc,m∈ (0.7, 0.1), by comparing P,c,m∈ {(50, 0.7, 0.1), (100, 0.7, 0.1), (150, 0.7, 0.1)}, when P=150, DU-GA terminates with the best objective value(2)
IfP=150, by comparing P,c,m∈ {(150, 0.7, 0.1), (150, 0.8, 0.1), (150, 0.9, 0.1)}, when c=0.8, DU-GA terminates with the best objective value(3)
Based on (1) and (2), we letP=150 and c=0.8. If P,c,m∈ {(150, 0.8, 0.1), (150, 0.8, 0.2), (150, 0.8, 0.3)}, when m=0.8, the objective value is bestTherefore, we set the parametersP,c,m for DU-GA to be 150,0.8,0.1.


## 5.2. Analysis of Experimental Results

### 5.2.1. Stability Test

To evaluate the stability of algorithm DU-GA, for GroupsX, Y and Z, we run each instance five times to assess the span between the minimal solution (denoted as SB) and the average value (denoted as SA), which is referred to as Relative Deviation (denoted as RD), calculating by RD=SA−SB/SA×100%.Table4 shows that the span between SA and SB is small, with an average RD of 1.46% for Group-X, 1.97% for Group-Z, and 2.05% for Group-Y. Therefore, DU-GA is stable in all three groups of instances.Algorithm 3: DU-GA.
Step 1: determine the population sizeP, the crossover probability c, the mutation probability m, and the termination condition of the algorithm, followed by initializing the population (i.e., randomly generating P individuals).Step 2: for each individual, apply algorithm CA-D. Evaluate fitness values of the chromosome and select two individuals as parents.Step 3: perform crossover and mutation operators on the selected parents to obtain offspring individuals.Step 4: update the population by adding the newly generated individuals to the population. Step 2 and Step 3 are repeated until the termination condition is met, and the iteration is stopped.Step 5: select the best solution from the current population, and let it be the input of algorithm LGP. Run algorithm LGP, and output the resulted solution.


### 5.2.2. Comparison Algorithm

To evaluate the effectiveness of the algorithm DU-GA, we design comparison algorithms DU-1 (Algorithm4) and DU-2 (Algorithm 5). Algorithm DU-1 is a genetic algorithm that is different from DU-GA in that it calculates the fitness function based on the departure time of each job si4. Algorithm DU-2 processes and distributes jobs in a random order.Algorithm 4: DU-1.
Step 1: same as Step 1 of DU-GA;Step 2: for each individual, apply algorithm CA-D. Calculate the fitness value for individuals in the population by taking1/∑i=1nsi4∑f=1FDf as the fitness function.Step 3-Step 4: same as Step 3 - Step 4 of DU-GA;Step 5: output the processing sequence, batching decision, and delivery routings of the best solution based on fitness function1/∑i=1nsi4∑f=1FDf. Calculate the corresponding objective function ∑i=1nci4+∑f=1FDf.Algorithm 5: DU-2.
Step 1: run algorithm CA-D in a random order;Step 2: output the processing sequence, batching decision and delivery routings. Calculate the corresponding objective∑i=1nci4+∑f=1FDf.


### 5.2.3. Algorithm Effectiveness Analysis

In Tables5–7, the results for instances of Groups X, Y and Z by applying DU-GA, DU-1, and DU-2 are listed. For ease of presentation, we denote the objective value of the solution obtained from DU-GA, DU-1, and DU-2 as CDU−GA, CDU−1 and CDU−2, respectively. We run each instance five times and record the mean of the objective values. The first column shows the index of the 20 instances; the second and third columns show the results of DU-2 and DU-1; the fourth column shows the objective values of the solutions obtained from DU-GA. We record the reduction of CDU−GA over CDU−1 and CDU−2in the fifth and sixth columns and show the percentage improvement of CDU−GA over CDU−1 and CDU−2 in the seventh and eighth columns.Table 5
Experimental results of 20 instances in Group-X.
InstanceCDU−2CDU−1CDU−GACDU−GA−CDU−1CDU−GA−CDU−2CDU−GA−CDU−1/CDU−1 (%)CDU−GA−CDU−2/CDU−2 (%)ins113189.6313025.5012841.38184.13348.251.412.64ins213173.0012871.2512680.50190.75492.501.483.74ins313038.7512852.1312748.13104.00290.630.812.23ins413380.0012702.6312537.75164.88842.251.306.29ins513078.5012928.0012580.50347.50498.002.693.81ins613361.7512919.3812837.8881.50523.880.633.92ins713320.0012870.2512645.13225.13674.881.755.07ins813145.7512945.2512643.50301.75502.252.333.82ins913145.7512945.2512643.50301.75502.252.333.82ins1012851.8812311.1312168.38142.75683.501.165.32ins1112892.8812153.1311974.25178.88918.631.477.13ins1212898.5012189.5012022.50167.00876.001.376.79ins1313040.5012281.8811918.13363.751122.382.968.61ins1413160.3812254.0012063.38190.631097.001.568.34ins1513223.2512294.2511984.00310.251239.252.529.37ins1612559.7512365.6312011.75353.88548.002.864.36ins1712969.5012118.2511956.50161.751013.001.337.81ins1812733.0012410.6311903.25507.38829.754.096.52ins1913716.8813627.0013225.13401.88491.752.953.59ins2013561.6313295.0013046.88248.13514.751.873.80Average13122.0612668.0012421.62246.38700.441.945.35Table 6
Experimental results of 20 instances in Group-Y.
InstanceCDU−2CDU−1CDU−GACDU−GA−CDU−1CDU−GA−CDU−2CDU−GA−CDU−1/CDU−1 (%)CDU−GA−CDU−2/CDU−2 (%)ins2111729.1310633.6310130.88502.751598.254.7313.63ins2210821.0010077.509880.63196.88940.381.958.69ins2311544.1310683.7510340.50343.251203.633.2110.43ins2410883.3810361.639816.38545.251067.005.269.80ins2511455.3811073.7510707.88365.88747.503.306.53ins2611369.0010325.009640.75684.251728.256.6314.45ins2710544.8810399.639849.88549.75695.005.296.59ins2810915.6310407.139877.88529.251037.755.099.51ins2911418.1310445.8810103.13342.751315.013.2811.52ins3010843.6310672.5010224.00448.50619.634.205.71ins3110968.0010574.009778.50795.501189.506.589.93ins3211800.8811006.0010764.13241.881036.752.208.79ins3311745.1310813.6310273.13540.501472.005.0012.53ins3411127.5010227.139613.50613.631514.006.0013.61ins3511716.5010931.0010694.25236.751022.252.178.72ins3611339.2510513.8810042.38471.501296.884.4811.44ins3711205.2510787.5010539.50248.00665.752.305.94ins3811774.2510763.7510635.75128.001138.501.199.67ins3911000.2510820.3810659.00161.38341.251.493.10ins4011548.3810616.7510009.38607.381539.005.7213.33Average11287.4810606.7210179.07427.651108.414.009.70Table 7
Experimental results of 20 instances in Group-Z.
InstanceCDU-2CDU-1CDU-GACDU-GA−CDU-1CDU-GA−CDU-2CDU-GA−CDU-1/CDU-1 (%)CDU-GA−CDU-2/CDU-2 (%)ins4180295.0074138.6370463.133675.509831.884.9612.24ins4280016.7575866.7571510.384356.388506.385.7410.63ins4383567.0078034.3873665.004369.389902.005.6011.85ins4480826.6374994.8870743.884251.0010082.755.6712.47ins4578806.6374775.6371372.883402.757433.754.559.43ins4683283.6375297.7571529.503768.2511754.135.0014.11ins4779538.8876558.6371696.884861.757842.006.359.86ins4881573.5077321.3873266.754054.638306.755.2410.18ins4978296.2574942.1371648.133294.006648.134.408.49ins5081076.2575760.2572000.003760.259076.254.9611.19ins5182371.6378569.3873763.384806.008608.256.1210.45ins5279815.3874644.2571110.253534.008705.134.7310.91ins5378848.3875671.1371391.254279.887457.135.669.46ins5480431.7576728.8873497.883231.006933.884.218.62ins5580261.3875413.8870473.254940.639788.136.5512.20ins5679548.8876709.6373692.503017.135856.383.937.36ins5784032.7578333.2574515.253818.009517.504.8711.33ins5877052.3875897.0071994.003903.005058.385.146.56ins5984053.7576164.2573829.632334.6310224.133.0712.16ins6078999.7576957.0072623.384333.636376.385.638.07Average80634.8376138.9572239.363899.598395.465.1210.38We also observe that DU-GA takes the longest time in most instances, but the maximal does not exceed 11.83 seconds; the running time of DU-1 is shorter than that of DU-GA, while the running time of DU-2 is the shortest. Compared with DU-1, DU-GA not only considers the delivery times in fitness function but also adds further optimization of the production and distribution stages based on the basic GA algorithm:(1)
Compare DU-GA with DU-1According to Tables5–7, the average improvement of CDU−GA over CDU−1 for Groups X, Y and Z instances is 1.94%, 4.00%, and 5.12%.(1.1)
It is shown that the improvement ofCDU−GA over CDU−1 of Group-Y is better than that of Group-X. Note that the processing times of jobs in Group-Y are smaller than those of Group-X, and thus the distribution time is relatively larger in Group-Y. DU-GA differs from DU-1 in that it considers the delivery times as well as processing times in the fitness function; therefore, the larger the delivery times, the more the improvement of CDU−GA over CDU−1.(1.2)
The improvement ofCDU−GA over CDU−1 of Group-Z is better than that of Group-Y. Note that the transportation times of instances in Group-Z are obviously higher. The same reason as in (1.1) can explain this observation.(1.3)
The results of Group-Z are significantly better than those of the other two groups, meaning that, compared to algorithm DU-1, algorithm DU-GA is highly effective for the practical case when orders may only contain fresh items or nonfresh items and take longer for distribution than processing.(2)
Compare DU-GA with DU-2According to Tables5–7, the average improvement of DU-GA over DU-2 for Groups X, Y and Z instances is 5.35%, 9.70%, and 10.38%.(2.1)
It is shown that the average improvement ofCDU−GA over CDU−2 of Group-Y is better than that of Group-X. DU-2 is a FIFO strategy, and no optimization skill is applied. DU-GA is a genetic algorithm, and it considers the processing times and the delivery times in the fitness function. Note that there is only one vehicle for distribution, and multiple orders are contained in one batch; thus, the optimization of the distribution stage plays a more important role than that of the production stages. Recall that the processing times of jobs in Group-Y are smaller than those of Group-X, and thus the distribution time is relatively larger in Group-Y. Therefore, the larger the delivery times, the more the improvement of CDU−GA over CDU−2.(2.2)
The improvement ofCDU−GA over CDU−2 of Group-Z is better than that of Group-Y. Note that the transportation times of instances in Group-Z are obviously higher. The same reason as in (2.1) can explain this observation.(2.3)
The results of Group-Z are significantly better than those of the other two groups, meaning that, compared to algorithm DU-2, algorithm DU-GA is highly effective for the practical case when orders may only contain fresh items or nonfresh items, and the time for distribution is longer than processing.(3)
For each instance,CDU−GA−CDU−2 is always larger than CDU−GA−CDU−1. DU-2 is a FIFO strategy, and no optimization skill is applied, while DU-1 is a genetic algorithm, which considers jobs’ processing times in the fitness function. DU-1 is also an acceptable algorithm, but not as good as DU-GA.


### 5.2.4. The Enlightenment for the Management of New Retail Enterprises

The orders’ processing sequence in each stage directly affects the order delivery time, which in turn has an impact on customer satisfaction. In order to improve customer satisfaction, we must consider different practical scenarios. The results of numerical experiments show that the genetic algorithm DU-GA is relatively stable for all instances. We also design comparison algorithms DU-1 and DU-2 to evaluate the effectiveness of DU-GA. The results show that algorithm DU-GA outperforms algorithm DU-1 and algorithm DU-2 for all instances of three different groups.From the above analysis, we can observe the following:(1)
Algorithm DU-2, based on “first-arrive-first-process” method, is easy for operation. The manager of the new retail enterprise merely processes the orders according to the arrival sequence, and the distribution cost and delivery time can be relatively high.(2)
Compared to DU-2, DU-1 takes the departure time of each job into consideration and results in a lower total order delivery time and delivery cost. This algorithm may be run in the development stage of optimizing the operation: the manager outsources the distribution to 3PL companies and focuses on the departure times and distribution costs of orders. However, when the customers receive their orders, it is out of control, and the manager has no idea of the customers’ satisfaction level.(3)
Compared to DU-1, algorithm DU-GA takes both order delivery time and delivery cost into consideration. The manager determines orders’ picking and delivery as a whole and can monitor the customers’ satisfaction level and total delivery cost at the same time.DU-2, DU-1, and DU-GA represent the degrees of attention to order picking and distribution at different stages:(1)
DU-2 indicates the initial stage of enterprise establishment, and the variety of goods and the number of customers are relatively small. Therefore, the enterprise starts processing orders as soon as receiving them.(2)
DU-1 represents the development stage of the enterprise. As the scale of business becomes larger, the number of orders increases. At this stage, the new retail enterprises may cooperate with 3PL companies; thus, the business managers only need to arrange the production to ensure orders’ departure times.(3)
DU-GA indicates a stable period after expansion. New retail enterprises start to focus on lean management of operation. They build their own logistics instead of resorting to 3PL companies. Hence, they need to jointly consider orders’ picking and distribution.


## 5.2.1. Stability Test

To evaluate the stability of algorithm DU-GA, for GroupsX, Y and Z, we run each instance five times to assess the span between the minimal solution (denoted as SB) and the average value (denoted as SA), which is referred to as Relative Deviation (denoted as RD), calculating by RD=SA−SB/SA×100%.Table4 shows that the span between SA and SB is small, with an average RD of 1.46% for Group-X, 1.97% for Group-Z, and 2.05% for Group-Y. Therefore, DU-GA is stable in all three groups of instances.Algorithm 3: DU-GA.
Step 1: determine the population sizeP, the crossover probability c, the mutation probability m, and the termination condition of the algorithm, followed by initializing the population (i.e., randomly generating P individuals).Step 2: for each individual, apply algorithm CA-D. Evaluate fitness values of the chromosome and select two individuals as parents.Step 3: perform crossover and mutation operators on the selected parents to obtain offspring individuals.Step 4: update the population by adding the newly generated individuals to the population. Step 2 and Step 3 are repeated until the termination condition is met, and the iteration is stopped.Step 5: select the best solution from the current population, and let it be the input of algorithm LGP. Run algorithm LGP, and output the resulted solution.


## 5.2.2. Comparison Algorithm

To evaluate the effectiveness of the algorithm DU-GA, we design comparison algorithms DU-1 (Algorithm4) and DU-2 (Algorithm 5). Algorithm DU-1 is a genetic algorithm that is different from DU-GA in that it calculates the fitness function based on the departure time of each job si4. Algorithm DU-2 processes and distributes jobs in a random order.Algorithm 4: DU-1.
Step 1: same as Step 1 of DU-GA;Step 2: for each individual, apply algorithm CA-D. Calculate the fitness value for individuals in the population by taking1/∑i=1nsi4∑f=1FDf as the fitness function.Step 3-Step 4: same as Step 3 - Step 4 of DU-GA;Step 5: output the processing sequence, batching decision, and delivery routings of the best solution based on fitness function1/∑i=1nsi4∑f=1FDf. Calculate the corresponding objective function ∑i=1nci4+∑f=1FDf.Algorithm 5: DU-2.
Step 1: run algorithm CA-D in a random order;Step 2: output the processing sequence, batching decision and delivery routings. Calculate the corresponding objective∑i=1nci4+∑f=1FDf.


## 5.2.3. Algorithm Effectiveness Analysis

In Tables5–7, the results for instances of Groups X, Y and Z by applying DU-GA, DU-1, and DU-2 are listed. For ease of presentation, we denote the objective value of the solution obtained from DU-GA, DU-1, and DU-2 as CDU−GA, CDU−1 and CDU−2, respectively. We run each instance five times and record the mean of the objective values. The first column shows the index of the 20 instances; the second and third columns show the results of DU-2 and DU-1; the fourth column shows the objective values of the solutions obtained from DU-GA. We record the reduction of CDU−GA over CDU−1 and CDU−2in the fifth and sixth columns and show the percentage improvement of CDU−GA over CDU−1 and CDU−2 in the seventh and eighth columns.Table 5
Experimental results of 20 instances in Group-X.
InstanceCDU−2CDU−1CDU−GACDU−GA−CDU−1CDU−GA−CDU−2CDU−GA−CDU−1/CDU−1 (%)CDU−GA−CDU−2/CDU−2 (%)ins113189.6313025.5012841.38184.13348.251.412.64ins213173.0012871.2512680.50190.75492.501.483.74ins313038.7512852.1312748.13104.00290.630.812.23ins413380.0012702.6312537.75164.88842.251.306.29ins513078.5012928.0012580.50347.50498.002.693.81ins613361.7512919.3812837.8881.50523.880.633.92ins713320.0012870.2512645.13225.13674.881.755.07ins813145.7512945.2512643.50301.75502.252.333.82ins913145.7512945.2512643.50301.75502.252.333.82ins1012851.8812311.1312168.38142.75683.501.165.32ins1112892.8812153.1311974.25178.88918.631.477.13ins1212898.5012189.5012022.50167.00876.001.376.79ins1313040.5012281.8811918.13363.751122.382.968.61ins1413160.3812254.0012063.38190.631097.001.568.34ins1513223.2512294.2511984.00310.251239.252.529.37ins1612559.7512365.6312011.75353.88548.002.864.36ins1712969.5012118.2511956.50161.751013.001.337.81ins1812733.0012410.6311903.25507.38829.754.096.52ins1913716.8813627.0013225.13401.88491.752.953.59ins2013561.6313295.0013046.88248.13514.751.873.80Average13122.0612668.0012421.62246.38700.441.945.35Table 6
Experimental results of 20 instances in Group-Y.
InstanceCDU−2CDU−1CDU−GACDU−GA−CDU−1CDU−GA−CDU−2CDU−GA−CDU−1/CDU−1 (%)CDU−GA−CDU−2/CDU−2 (%)ins2111729.1310633.6310130.88502.751598.254.7313.63ins2210821.0010077.509880.63196.88940.381.958.69ins2311544.1310683.7510340.50343.251203.633.2110.43ins2410883.3810361.639816.38545.251067.005.269.80ins2511455.3811073.7510707.88365.88747.503.306.53ins2611369.0010325.009640.75684.251728.256.6314.45ins2710544.8810399.639849.88549.75695.005.296.59ins2810915.6310407.139877.88529.251037.755.099.51ins2911418.1310445.8810103.13342.751315.013.2811.52ins3010843.6310672.5010224.00448.50619.634.205.71ins3110968.0010574.009778.50795.501189.506.589.93ins3211800.8811006.0010764.13241.881036.752.208.79ins3311745.1310813.6310273.13540.501472.005.0012.53ins3411127.5010227.139613.50613.631514.006.0013.61ins3511716.5010931.0010694.25236.751022.252.178.72ins3611339.2510513.8810042.38471.501296.884.4811.44ins3711205.2510787.5010539.50248.00665.752.305.94ins3811774.2510763.7510635.75128.001138.501.199.67ins3911000.2510820.3810659.00161.38341.251.493.10ins4011548.3810616.7510009.38607.381539.005.7213.33Average11287.4810606.7210179.07427.651108.414.009.70Table 7
Experimental results of 20 instances in Group-Z.
InstanceCDU-2CDU-1CDU-GACDU-GA−CDU-1CDU-GA−CDU-2CDU-GA−CDU-1/CDU-1 (%)CDU-GA−CDU-2/CDU-2 (%)ins4180295.0074138.6370463.133675.509831.884.9612.24ins4280016.7575866.7571510.384356.388506.385.7410.63ins4383567.0078034.3873665.004369.389902.005.6011.85ins4480826.6374994.8870743.884251.0010082.755.6712.47ins4578806.6374775.6371372.883402.757433.754.559.43ins4683283.6375297.7571529.503768.2511754.135.0014.11ins4779538.8876558.6371696.884861.757842.006.359.86ins4881573.5077321.3873266.754054.638306.755.2410.18ins4978296.2574942.1371648.133294.006648.134.408.49ins5081076.2575760.2572000.003760.259076.254.9611.19ins5182371.6378569.3873763.384806.008608.256.1210.45ins5279815.3874644.2571110.253534.008705.134.7310.91ins5378848.3875671.1371391.254279.887457.135.669.46ins5480431.7576728.8873497.883231.006933.884.218.62ins5580261.3875413.8870473.254940.639788.136.5512.20ins5679548.8876709.6373692.503017.135856.383.937.36ins5784032.7578333.2574515.253818.009517.504.8711.33ins5877052.3875897.0071994.003903.005058.385.146.56ins5984053.7576164.2573829.632334.6310224.133.0712.16ins6078999.7576957.0072623.384333.636376.385.638.07Average80634.8376138.9572239.363899.598395.465.1210.38We also observe that DU-GA takes the longest time in most instances, but the maximal does not exceed 11.83 seconds; the running time of DU-1 is shorter than that of DU-GA, while the running time of DU-2 is the shortest. Compared with DU-1, DU-GA not only considers the delivery times in fitness function but also adds further optimization of the production and distribution stages based on the basic GA algorithm:(1)
Compare DU-GA with DU-1According to Tables5–7, the average improvement of CDU−GA over CDU−1 for Groups X, Y and Z instances is 1.94%, 4.00%, and 5.12%.(1.1)
It is shown that the improvement ofCDU−GA over CDU−1 of Group-Y is better than that of Group-X. Note that the processing times of jobs in Group-Y are smaller than those of Group-X, and thus the distribution time is relatively larger in Group-Y. DU-GA differs from DU-1 in that it considers the delivery times as well as processing times in the fitness function; therefore, the larger the delivery times, the more the improvement of CDU−GA over CDU−1.(1.2)
The improvement ofCDU−GA over CDU−1 of Group-Z is better than that of Group-Y. Note that the transportation times of instances in Group-Z are obviously higher. The same reason as in (1.1) can explain this observation.(1.3)
The results of Group-Z are significantly better than those of the other two groups, meaning that, compared to algorithm DU-1, algorithm DU-GA is highly effective for the practical case when orders may only contain fresh items or nonfresh items and take longer for distribution than processing.(2)
Compare DU-GA with DU-2According to Tables5–7, the average improvement of DU-GA over DU-2 for Groups X, Y and Z instances is 5.35%, 9.70%, and 10.38%.(2.1)
It is shown that the average improvement ofCDU−GA over CDU−2 of Group-Y is better than that of Group-X. DU-2 is a FIFO strategy, and no optimization skill is applied. DU-GA is a genetic algorithm, and it considers the processing times and the delivery times in the fitness function. Note that there is only one vehicle for distribution, and multiple orders are contained in one batch; thus, the optimization of the distribution stage plays a more important role than that of the production stages. Recall that the processing times of jobs in Group-Y are smaller than those of Group-X, and thus the distribution time is relatively larger in Group-Y. Therefore, the larger the delivery times, the more the improvement of CDU−GA over CDU−2.(2.2)
The improvement ofCDU−GA over CDU−2 of Group-Z is better than that of Group-Y. Note that the transportation times of instances in Group-Z are obviously higher. The same reason as in (2.1) can explain this observation.(2.3)
The results of Group-Z are significantly better than those of the other two groups, meaning that, compared to algorithm DU-2, algorithm DU-GA is highly effective for the practical case when orders may only contain fresh items or nonfresh items, and the time for distribution is longer than processing.(3)
For each instance,CDU−GA−CDU−2 is always larger than CDU−GA−CDU−1. DU-2 is a FIFO strategy, and no optimization skill is applied, while DU-1 is a genetic algorithm, which considers jobs’ processing times in the fitness function. DU-1 is also an acceptable algorithm, but not as good as DU-GA.


## 5.2.4. The Enlightenment for the Management of New Retail Enterprises

The orders’ processing sequence in each stage directly affects the order delivery time, which in turn has an impact on customer satisfaction. In order to improve customer satisfaction, we must consider different practical scenarios. The results of numerical experiments show that the genetic algorithm DU-GA is relatively stable for all instances. We also design comparison algorithms DU-1 and DU-2 to evaluate the effectiveness of DU-GA. The results show that algorithm DU-GA outperforms algorithm DU-1 and algorithm DU-2 for all instances of three different groups.From the above analysis, we can observe the following:(1)
Algorithm DU-2, based on “first-arrive-first-process” method, is easy for operation. The manager of the new retail enterprise merely processes the orders according to the arrival sequence, and the distribution cost and delivery time can be relatively high.(2)
Compared to DU-2, DU-1 takes the departure time of each job into consideration and results in a lower total order delivery time and delivery cost. This algorithm may be run in the development stage of optimizing the operation: the manager outsources the distribution to 3PL companies and focuses on the departure times and distribution costs of orders. However, when the customers receive their orders, it is out of control, and the manager has no idea of the customers’ satisfaction level.(3)
Compared to DU-1, algorithm DU-GA takes both order delivery time and delivery cost into consideration. The manager determines orders’ picking and delivery as a whole and can monitor the customers’ satisfaction level and total delivery cost at the same time.DU-2, DU-1, and DU-GA represent the degrees of attention to order picking and distribution at different stages:(1)
DU-2 indicates the initial stage of enterprise establishment, and the variety of goods and the number of customers are relatively small. Therefore, the enterprise starts processing orders as soon as receiving them.(2)
DU-1 represents the development stage of the enterprise. As the scale of business becomes larger, the number of orders increases. At this stage, the new retail enterprises may cooperate with 3PL companies; thus, the business managers only need to arrange the production to ensure orders’ departure times.(3)
DU-GA indicates a stable period after expansion. New retail enterprises start to focus on lean management of operation. They build their own logistics instead of resorting to 3PL companies. Hence, they need to jointly consider orders’ picking and distribution.


## 6. Summery and Prospects

Based on the characteristics of orders’ picking and delivery in new retail enterprises, this paper builds a joint scheduling and distribution model. An MP model is established for a fundamental case, and we devise a genetic algorithm as well as comparison algorithms. The results of computational experiments show the rationality of the model and the effectiveness of the algorithms. Furthermore, we simulate different practical situations to verify the applicability and performance of the algorithm. It is shown that our genetic algorithm is stable and outperforms comparison algorithms.Our study provides management insights, showing that joint scheduling algorithms can significantly improve the efficiency of order picking and distribution in new retail enterprises. Reasonable coordination of order picking and distribution can effectively reduce business operation costs and improve customer satisfaction.The research in this paper can be further extended, such as cases with more than three types of suborders and different types of vehicles. The research model in this paper is an offline scheduling problem, and future research can consider online problems.



---

*Source: 9308071-2021-11-09.xml*