A cluster-based optimization framework for vehicle routing problem with workload balance
A cluster-based optimization framework for vehicle routing problem with workload balance
A R T I C L E I N F O A B S T R A C T
Keywords: Reducing transport costs and guaranteeing the fairness of the workload are major concerns for logistic com
Multi-objective optimization panies. This paper addresses a vehicle routing problem with workload balance (VRPWB) and a microcluster-
Vehicle routing problem based VRPWB(MVRPWB) to minimize the total traveling costs and balance the workload. Different from exist
Workload balance
ing works, we propose an optimization framework that includes three components: clustering, microcluster
fusion, and route search. Various proposed algorithms, such as a clustering algorithm, a cluster fusion scheme, an
enhanced ant colony algorithm, and noise processing algorithms, are embedded in these components. We can
flexibly combine different components to solve VRPWB and MVRPWB. The experiment results on the traditional
and revised instances show that the framework can get satisfactory solutions in most instances. Furthermore, a
real case study illustrates that the framework can solve the first mile and last mile problems in practice.
1. Introduction packages. Under the vehicle capacity constraint, we try to minimize the
ratio of maximum workload and minimum workload.
Vehicle routing problem (VRP) is one of the most critical fields in The transportation process includes two main phases: first mile de
transportation systems (Lu, Zhang, & Yang, 2019). It is defined as the livery and last mile delivery. The first mile delivery means shipping
process of determining routes for vehicles to distribute the products to goods from a warehouse to the next hub from where the goods are
customers (Bertazzi, Golden, & Wang, 2015). Many algorithms proposed forwarded further. In this scenario, the hub can be regarded as the
to reduce cost and improve customer satisfaction in the literature customer of the warehouse. A set of the customers can be randomly
(Marinaki & Marinakis, 2016; Nguyen, Jiang, Ng, & Teo, 2016; Ticha, assigned to the vehicles. The vehicles depart from the warehouse,
Absi, Feillet, & Quilliot, 2019) to solve the problem. deliver packages to the customers, and return to the warehouse. The last
Workload balance is a critical issue for VRP. The benefits of mile delivery involves the transportation of goods from the hub to the
achieving workload balance are twofold: (1) as to drivers, reducing final destination, such as customer’s doorstep (Perboli, Brotcorne, Bruni,
overtime and ensuring each driver is treated equally and fairly; (2) as to & Rosano, 2021). In this scenario, some problems, i.e., locations of some
logistics company, saving the shipping cost and improving the service customers may be challenging to be found, some customers need
quality. Different papers may have different definitions of workload. For particular services, are needed to solve. Thus, the drivers should be
example, Zhang, Sun, Xie, Teng, and Wang (2019b) considered route familiar with geographical distribution regions or satisfy the customer’s
balance, while Fallah, Didehvar, and Rahmati (2020) proposed load requirements. A popular method to deal with the problems is to partition
balance. the customers serviced into clusters according to specific criteria in
Logistics companies measure the driver’s working time by the advance, usually one per vehicle. The route of each vehicle is obtained
driving time and service time (Sivaramkumar, Thansekhar, Saravanan, based on the given clusters.
& Amali, 2018). The driving time is usually calculated by the length of In this paper, according to assumptions and constraints in the above
the route, while the service time is mainly related to unloading time that two scenarios, we first propose two problems: vehicle routing problem
is calculated by the number of units of delivery packages. To ensure with workload balance (VRPWB) and microcluster-based VRPWB
delivery efficiency and achieve fairness, we study the workload, which (MVRPWB). The objectives of these problems are to minimize the total
includes the traveling distance and the number of units of delivery traveling costs and balance the workload. Next, we design an optimi
* Corresponding author.
E-mail addresses: [email protected] (J. LI), [email protected] (Y. Fang), [email protected] (N. Tang).
https://doi.org/10.1016/j.cie.2022.108221
Received 20 June 2021; Received in revised form 28 March 2022; Accepted 1 May 2022
Available online 9 May 2022
0360-8352/© 2022 Elsevier Ltd. All rights reserved.
J. LI et al. Computers & Industrial Engineering 169 (2022) 108221
Most VRPs focus on minimizing transport costs. In practice, the microcluster mCrk , and 0, otherwise
2
J. LI et al. Computers & Industrial Engineering 169 (2022) 108221
∑( )
yvi di ⩽Cv , ∀v ∈ V (9)
i∈N
Fig. 1. An example of a computational workload. The constraints (4) along with (5), indicate that each node obeys
flow conservation constraints. If vehicle v enters node i, then it must
Minimization of f1 is to save the travel time and the energy consumption depart from node i. Constraint (6) ensures that each vehicle has at least
for vehicles, therefore the total transport costs are reduced. one customer. Constraint (7) ensures that each customer only served by
The second objective f2 is to promote equity among the vehicles. one vehicle. Constraint (8) ensures that all vehicles must depart from the
Firstly, we use bv to represent the workload of the vehicle v, as shown in same depot. Constraint (9) ensures that the total delivery demand of the
Eq. (3), which is the sum of the demands of the nodes visited by the nodes in each route should not exceed the vehicle capacity. Subtour
vehicle and the travel distance of the vehicle. The demand of nodes is elimination is given in (10) and (11), which are proposed by Miller,
abstracted by the number of the basic transportation units. Tucker, and Zemlin (1960).
[ { ( )}] Therefore, VRPWB in this paper can be summarized as
∑ ∑ ∑
bv = yvi αdi + β cij xvij (3) (minf 1 , minf 2 ) (12)
i∈N j∈N v∈V
subjects to (4)–(11).
According to the common method in VRP, such as paper Jozefowiez
et al. (2009), the difference between the maximum and minimum values
of bv is minimized. However, this method is sensitive to the orders of 3.2. Microcluster-based VRPWB(MVRPWB)
magnitude for fairy allocating workload. For example, as shown in
Fig. 1, square and circle indicate a distribution center and customers, In this problem, the customers are grouped into microclusters in
respectively. The number in a circle represents the node’s demand, and advance, that is MicroCluster = {mCr1 , mCr2 , ⋯, mCrk }, k = m. The
the number on a line represents the travel cost between nodes. Vehicle v1 number of microclusters is equal to the number of vehicles. Each
travels along the path marked by the solid line, and vehicle v2 travels microcluster is assigned to a vehicle and each vehicle servers a micro
along the other path marked by the dotted line. Assume α and β are equal cluster. In addition to the above mentioned, the assumptions and ob
to 1 and 0.1, according to Eq. (3), we get bv1 = 21 and bv2 = 20. The jectives of MVRPWB and VRPWB are indentical.
difference between the workloads of the two vehicles is 1. We can MVRPWB can be written as
conclude that the two vehicles along the two routes reach workload (minf 1 , minf 2 ), subjects to (4)–(11) and
balance. However, if all the values in Fig. 1 are multiplied by 10, the ∑ ∑ v ∑ ∑
workload difference of the two vehicles is increased 10 times. The xij = xvij = 1,
workloads of the vehicles are not balanced even they travel along the (i,j)∈δ+(NmCrk )v∈V (i,j)∈δ− (NmCrk ) v∈V (13)
same routes. ∀mCrk ∈ MicroCluster
In order to eliminate the orders of magnitude sensitivity, we intro
⋂
duce a new optimization function f2 that is the ratio between the NmCri NmCrj = ∅, ∀mCri , mCrj ∈ MicroCluster, i ∕
= j (14)
maximum and minimum workload of the vehicles. Minimization of f2
keeps workload fair and avoids the influence of the orders of magnitude. ∑ ∑
xvij = xvij = zvmCrk ,
In Fig. 1, the value of f2 is 1.05. Even all the values are multiplied by 10,
the value of f2 is not changed. Hence, the workload balance can be
(i,j)∈δ+(NmCrk ) (i,j)∈δ− (NmCrk ) (15)
intuitively reflected by using f2 without errors caused by the instances
k
∀v ∈ V, ∀mCr ∈ MicroCluster
with the same topology and different orders of magnitude. ∑
In addition, the constraints for VRPWB are defined as follows: xvi0 = 1,
∑ (i,0)∈δ+(NmCrk )
(16)
xvij = yvj , ∀v ∈ V, ∀j ∈ N, j ∕
= i (4) ∀v ∈ V, ∀mCrk ∈ MicroCluster
i∈N
3
J. LI et al. Computers & Industrial Engineering 169 (2022) 108221
tively avoid the generation of unnecessary paths and prevent trapping 1: initialize MinPts and Eps, the node farthest from the warehouse as X1 , all nodes for
unvisited state;
into the local optimal. In the third component, a heuristic algorithm 2: Cnum←1;
called ACO+ is developed for carrying out route search in the clusters. 3: repeat
By combining different components in the framework, we can solve 4: let Ndirect be the set of nodes in Eps range of Xk ;
different problems. Fig. 2 illustrates the optimization framework and 5: for all nodes X in Ndirect do
combinations of the components for different problems. Next, we 6: if X is unvisited then
7: if X blongs to the core point and DemandmCrk +DemandX′ eps < Cv then
describe the algorithms in detail. ⋃
8: Ndirect ←Ndirect NX′ eps ;
9: end if
10: if DemandmCrk +dX < Cv then
⋃
11: NmCrk ←NmCrk X;
12: DemandmCrk + = dX ;
13: mark X as visited;
14: end if
15: end if
16: end for
17: Cnum + + ;
18: if Cnum > 1 and Cnum⩽m then
19: FlagCnum ←0;
20: calculate the distance arrays D from all unvisited nodes to X1 , X2 , ⋯, XCnum− 1 ;
21: if initial core point-compliant nodes exist among the unvisited nodes then
22: XCnum ←comply with initial core point and is an unvisited node for
max{min(D) };
23: else
24: XCnum ←comply with core point and is an unvisited node for max{min(D) },
or just is an unvisited node for max{min(D) };
25: end if
26: end if
27: until (Cnum > m)
4
J. LI et al. Computers & Industrial Engineering 169 (2022) 108221
core points are generated in improved MMDC (line 17–26). The loop
stops iterating when the number of microclusters is equal to the number Algorithm 2 ProcenoiseP1
of vehicles.
{ }
Require: MicroCluster= mCr1 , mCr2 , ⋯, mCrk , k = m ; a set of noise nodes
In the following paragraphs, we present the calculation of the pa
{ 1 2 k
}
Ensure: MicroCluster= mCr , mCr , ⋯, mCr , k = m ; a small number of noise nodes
rameters and the treating process for noise. 1: for all unvisited nodes X do
2: initialize DCX , Min, Minclu, Flag;
3: IfMax←min(DCX );
1. MinPts is the minimum number of data points to define a cluster
4: for k←1 to m do
(Ester, Kriegel, Sander, & Xu, 1996). Here, MinPts is calculated as 5:
( )〈
if DistCkX < Min and DistCkX < γ2 IfMax and DemandmCrk + dX γ1 Ck then
√̅̅̅ 6: Min←DistCkX , Minclu←k, Flag←1;
n
MinPts = ⌊ ⌋, MinPts⩾4 (17) 7: end if
2
8: end for
9: if Flag == 1 then
For each customer node i, a distance array Dist i that stores the dis 10:
⋃
NmCrMinclu ←NmCrMinclu X;
tances between node i and other nodes in ascending order. The Total 11: DemandmCrMinclu + = dX ;
is the sum of values of Dist i[MinPts] in each array Dist i. Eps is the 12: mark X as visited;
distance that specifies the neighborhoods (Ester et al., 1996). Eps is 13: end if
calculated as 14: end for
Total
Eps = (18)
n
4.2. Mircrocluster fusion scheme
Note that if the number of initial core points is less than a certain
value LimitE (preferably between 20% ∼ 40% of the total number of There are two methods to get microclusters. Firstly, DBSCAN+ can
nodes), then the Total is the sum of values of Dist i[2⋅MinPts]. Thus, get the microclusters, and each vehicle only belongs to a microcluster.
Eps becomes greater. Secondly, according to the definition of MVRPWB, the microclusters can
A customer node i is an initial core point if at least MinPts unvisited be given. No matter which method is used, there is no guarantee that
customer nodes within distance Eps of it (excluding depot). A each microcluster will be workload balanced. Thus, the second objective
customer node j is a core point if at least MinPts customer nodes of the problems cannot be reached. To improve the performance of
within distance Eps of it (excluding depot). clustering and balance the workload of vehicles, we propose a micro
2. The noise nodes are the nodes that do not belong to any microcluster. cluster fusion scheme.
They will be treated in algorithm ProcenoiseP1 for the first time. Above all, we provide definitions related to the proposed scheme.
As shown in Algorithm 2, ProcenoiseP1 computes the average Definition 1. Cluster: Cluster Crk is a set of microclusters after fusion.
distances DistCkX between the noise node X and the nodes in each It includes one or more microclusters.
microcluster mCrk in turn and records them in an array DCX . The
Definition 2. directly reachable node: A node Q is directly reachable
minimum value of DCX is selected as IfMax. ProcenoiseP1 then puts
from P if node P is within distance Eps of it.
the noise node X into a microcluster mCrk with the minimum DistCkX
that satisfies a specific condition. Here, the condition is: Definition 3. adjacent clusters/microclusters: if two nodes belonging to
( )〈
dX + DemandmCrk γ1 Ck && DistCkX < γ 2 IfMax where DemandmCrk two different clusters/microclusters are directly reachable, we call the
two clusters/microclusters are adjacent clusters/microclusters. The
is the current load of microcluster mCrk :
adjacent value between the adjacent clusters/microclusters is calculated
∑
Demand mCrk = di (19) as
i∈NmCrk
Aij = Ki *Kj (22)
k k
γ 1 C is the upper bound of the load of mCr . γ1 and γ2 are two pa where Ki is the number of nodes belonging to Cri /mCri that are directly
rameters. If γ 1 or γ 2 are too small, many noise nodes will not be
reachable from Crj /mCrj , Kj is the number of nodes belonging to Crj /
absorbed by the microclusters. If γ1 is too great, the differences of the
loads among the microclusters will become larger thereby affecting mCrj that are directly reachable from Cri /mCri .
the effect of following fusion. Moreover, if γ2 is too great, the Definition 4. nearby cluster/microcluster: if there are nodes in a circle
microcluster will absorb the noise node far from it, leading to poor with Icore as the center and 3L as the radius, we call that the cluster/
processing results. microcluster containing these nodes is nearby cluster/microcluster of
Therefore, we set parameters γ1 and γ 2 adaptively based on loads the microcluster mCrk . Herein, Icore and L is defined as
of microclusters and the distribution of noise nodes. γ 1 is defined as (∑ ∑ )
∑ i∈NmCrk xi i∈NmCrk yi
di Icore = , (23)
(20)
i∈N
γ 1 = ∑ visited nk nk
i∈N di
∑
where Nvisited represents nodes that have been clustered (marked as MCDist[i]
(24)
i∈NmCrk
L=
visited status), meanwhile, γ2 is defined as nk
∑ secondmin
i∈Nnoise DistiC i where iis the node in the current microcluster mCrk , nk is the size of the
γ2 = ∑ (21)
min
i∈Nnoise DistiC i
microcluster mCrk , and array MCDist records the distance between the
nodes in the microcluster and the coordinate center of the microcluster
where DistiCmin
i represents the smallest average distance between Icore.
noise node i and the nodes in the microcluster. DistiCsecondmin
i repre Definition 5. irrelevant clusters/microclusters: if two clusters/micro
sents the smallest average distance between noise node i and the clusters are not adjacent or nearby clusters/microclusters, we call them
nodes in the microcluster except DistiCmin
i . Nnoise represents the set of irrelevant clusters/microclusters.
noise nodes.
The procedure of the microcluster fusion scheme is described as
5
J. LI et al. Computers & Industrial Engineering 169 (2022) 108221
follows: (continued )
Step1 : Initialization. Initializing all the microclusters as available that 26: Flag + + ;
means they can be fused into clusters. 27: end if
28: until (Flag = 2)
Step2 : Clusterconstruction. As to a microcluster mCrk , its different
states will fire different actions. When mCrk is available and has not been
fused, the scheme checks whether it has adjacent clusters/microclusters. Algorithm 4 ProcenoiseP2
If there are adjacent clusters/microclusters, mCrk is fused with the one { }
Input: Cluster= Cr1 , Cr2 , ⋯, Crl , l⩽m; a small number of noise nodes
with the largest adjacent value. Otherwise, if the load of mCrk is less than { 1 }
Output: Cluster= Cr , Cr , ⋯, Crl , l⩽m
2
50% of the average microcluster load (DemandAver ), the scheme searches 1: for all unvisited nodes X do
for its nearby clusters/microclusters. Then, it fuses mCrk with a nearby 2: initialize DCX , Min, Minclu, Flag;
3: for k←1 to l do
cluster/microcluster nearest to mCrk . When mCrk is available and fused ( )〈
4: if DemandCrk + dX Vnumk Ck andDistCkX < Min then
in a cluster Crk , the scheme checks whether the cluster Crk has adjacent 5: Min←DistCkX , Minclu←k, Flag←1;
clusters/microclusters. If there are adjacent clusters/microclusters, Crk 6: end if
is fused with the one with the largest adjacent value. After fusion, when 7: end for
8: if Flag == 1 then
the number of microclusters in the fused cluster is equal to the upper ⋃
9: NCrMinclu ←NCrMinclu X;
bound MCr , the contained microclusters become unavailable, where 10: DemandCrMinclu + = dX ;
√̅̅̅̅
MCr = ⌊ m ⌋. The process of cluster construction is repeated until all the 11: mark X as visited;
microclusters have been checked. The microcluster mCrk becomes a 12: end if
13: end for
cluster directly if it has not been fused at the end.
We find that there are still some noise nodes needed to be processed.
Therefore, ProcenoiseP2 is designed to treat the noise nodes for the 4.3. Route search
second time.
ProcenoiseP2 computes the average distances DistCkX between the Route search is performed in the clusters to find an optimal route
noise nodes and the nodes in each cluster Crk and records them in an meeting two objectives. ACO is an efficient heuristic algorithm for
finding optimal paths in multi-objective problems (Barán & Schaerer,
array DCX . The cluster Crk with the nearest distance from the noise node
2003). In the general ACO for VRP, each ant represents a vehicle. It visits
X and its DemandIf k smaller than the upper bound is selected to absorb
some customers until its capacity is full and the solution is constructed
the noise node X. DemandIf k is the sum of the demand of node X and the with the paths of ants (Mazzeo & Loiseau, 2004). For reaching the sec
load of the cluster Crk . The upper bound is Vnumk ⋅Cv , where Vnumk is the ond objective of the problems, we propose ACO+ to improve ACO by
number of microclusters contained in Crk . Since a total load of vehicles is modifying the meaning of an ant and introducing the return mechanism.
more than the total demand of the customer nodes, the noise node can Herein, the path of each ant represents a feasible solution that avoids the
always be absorbed in a cluster. solution construction. Moreover the return mechanism enforces the ant
Algorithm 3 and Algorithm 4 are the pseudocode of the microcluster to return the depot when its workload reaches the upper bound,
fusion scheme and ProcenoiseP2, respectively, where function Fuse (A, balancing the vehicles’ workload.
B) fuses cluster/microcluster A with cluster/microcluster B to a cluster. The main procedure of the proposed ACO+ algorithm is given in
Algorithm 3 microcluster fusion scheme Algorithm 5, in which a set of Pareto optimal solutions is updated by
{ } modifying the concentration of pheromone in the clusters. The entire
Input: MicroCluster= mCr1 , mCr2 , ⋯, mCrk , k = m
{ 1 } inner loop (line 5–19) shows the process of solution construction. There
Output: Cluster= Cr , Cr2 , ⋯, Crl , l⩽m
are na ants at the depot. Each ant can leave and return the depot some
1: initialize all the microclusters in available state;
2: Flag←0; rounds. In a round, an ant departs from the depot, visits some customer
3: repeat nodes, and returns to the depot. The path visited by the ant in a round ri
4: for k←m to 1 do corresponds to the path traveled by a vehicle v. The number of rounds an
5: if mCrk is available and has been fused then ant needs to perform is equal to the number of vehicles. Therefore, each
6: if there are clusters/microclusters adjacent to mCrk ’s Cluster Cri and # of ant represents a solution, it finally visits all the customers. The ant uses
Cri after fusing ⩽MCr then
( ) the pheromone updating rule and return mechanism in the function
7: Cri ←Fuse Cri , Cr/mCrmaxAij
ChooseNN(Point i ) to select the next customer.
8: if # of Cri == MCr then
{ ⃒ } Algorithm 5 ACO+
9: mark mCrk ⃒mCrk ∈ Cri as unavailable;
{ }
10: end if Input: Cluster= Cr1 , Cr2 , ⋯, Crl , l⩽m
11: end if Output: The Pareto solution set P
12: else if mCrk is available and unfused then 1: P←∅;
13: if there are clusters/microclusters adjacent to mCrk and # of Cri after 2: initialize the pheromone trails on each arc;
fusing ⩽MCr then 3: for r←0 to R do
14:
(
Cri ←Fuse mCrk , Cr/mCrmaxAij
) 4: SP ←greedy algorithm gets the initial solution;
5: for a←0 to na (number of ants) do
15: else if there are clusters/microclusters nearby mCrk and DemandmCrk <
6: Sa ←depot 0, ri←0, Demandari ←0, and initialize tabu list;
0.5DemandAver and # of Cri after fusing ⩽MCr then
( ) 7: for k←1 to l do
16: Cri ←Fuse mCrk , Cr/mCrnearest 8: repeat
17: end if 9: Pointj ←ChooseNN(Pointi );
if # of Cri == MCr then
⋃
18: 10: Sa ←Sa Pointj , Pointi ←Pointj ;
{ ⃒ }
19: mark mCrk ⃒mCrk ∈ Cri as unavailable; 11: Demandari + = dPointj ;
20: end if 12: update the local pheromone and tabu list;
21: end if 13: if Pointj == depot 0 then
22: end for 14: ri + + , Demandari ←0;
23: if the Fuse(A,B) was executed in this loop then 15: end if
24: Flag←0; 16: until (NCrk ⊆ NSa )
25: else 17: end for
(continued on next column) (continued on next page)
6
J. LI et al. Computers & Industrial Engineering 169 (2022) 108221
(continued ) ⎧
18: SP ←update(Sa , SP ); ⎪
⎪ ( )
⎪
⎪ Kp
19: end for ⎪
⎪
⎪
⎪ Vp pheij + ,
20: P←update(SP , P); ⎪
⎪
⎪ lengthP
21: if Pdoesn’t change after R0 iterations then
⎪
⎪ { }
⎪
⎪
22: Break; ⎪
⎪ if (i, j) ∈ Smin{f1 (s) } , Smin{f2 (s) }
⎨
23: end if pheij = Kp (28)
24: delete the cross and repeated paths in the extreme solution on the second ⎪
⎪ Vp⋅pheij + (1 − Vp) ,
⎪
⎪ lengthP
objective; ⎪
⎪
⎪ { }
25: update the global pheromone according to equation (28); ⎪
⎪
⎪ if (i, j) ∈ P⧹ Smin{f1 (s) } , Smin{f2 (s) }
26: end for
⎪
⎪
⎪
⎪
⎪
⎪ Vp⋅pheij , otherwise
⎪
⎩
4.3.1. Return mechanism
The return mechanism defines the workload indicator doubari for each
where Vp and Kp are parameters, and lengthP is the average total path
vehicle v when an ant a is in a cluster Crk as follows: length in the Pareto optimal solution set. Additionally, we set a upper
nowBkari bound Maxpha and a lower bound Minpha for the pheromone pheij on
doubari = k (25) each edge (i, j).
avBkCr
Kp
where nowBkari is the workload for an ant a in round ri. avBkCr is the
k
Maxphe = (29)
(1 − Vp)lengthP
i
average workload of all the vehicles in the cluster Cr .
nowBkari is: Minphe =
Maxphe
(30)
2n
nowBkari = bv (26)
were the round ri performed by the ant a corresponds to the vehicle v. Algorithm 5.1 ChooseNN(Pointi )
Crk Input: the previous node Pointi
avBk is: Output: the next node Pointj
∑ k
1: initialize doubari , nowBkari and avBkCr according to equation (25)–(27);
(αdi ) + βClulenk
(27) 2: if Demandari == Cv then
Crk i∈NCrk
avBk =
Vnumk 3: return depot 0;
4: end if
where Clulenk represents the total length of paths that all the vehicles 5: if doubari > ε and doubari ⩽1 then
if Random1 < ε1 ⋅doubari then
k
have visited in the cluster Crk . And the value of avBkCr is from the 6:
7: return depot 0;
current Pareto optimal solution set P.
8: end if
The return mechanism is executed base on the workload indicator. 9: else if doubari > 1 then
When the doubari is greater than ε, the mechanism enforces the ant to go 10: if Random2 < ε2 ⋅doubari then
back to the depot with a probability (line 5–13 of Algorithm 5.1). If 11: return depot 0;
12: end if
doubari is smaller than 1 that means the workload of the ant is smaller
k
13: end if
than the average workload avBkCr of the cluster, then the ant returns 14: if doubari > ζ then
with a probability ε1 . Otherwise, the ant returns with a larger proba 15: if Random3 ⩽ζ1 then
bility ε2 . 16: return the node with the highest visibility Tpij in Crk or depot 0 according to
the tabu list;
(0, ζ] is the range of doubari that an ant cannot return to the depot,
k
17: end if
where ζ⋅avBkCr is the lower bound of workload that an ant should have 18: if Random3 > ζ1 then
in a round. 19: return the node randomly selected by roulette in Crk or depot 0 according to
the tabu list;
20: end if
4.3.2. Pheromone updating rule
21: else
There are two ways: (1) reducing the maximum workload of the 22: return the node randomly selected by roulette in Crk according to the tabu list;
vehicle; (2) increasing the minimum workload of the vehicle to achieve 23: end if
the second objective of the problems. However, in the algorithm, the
vehicle may take a detour to increase its workload. In this way, although
the solution is Pareto-optimal, some routes are not optimal in terms of The ant can choose the next node to visit when it is not forced to go
the total traveling costs (Wan, Wang, & Yu, 2014). Therefore, we back by the mechanism (line 14–20 of Algorithm 5.1). There are two
remove the cross paths and repeated paths before pheromone updating methods for finding the next node. First, the ant at the node i selects a
in the solution with the best workload balance. next node j according to Tpij , that is:
In ACO+, the local pheromone updating according to Mutar, Bur ( )K2
hanuddin, Hameed, Yusof, and Mutashar (2020), the global pheromone Tpij = pheK1
K3
(31)
ij ⋅
updating rule is shown in (28). cij
7
J. LI et al. Computers & Industrial Engineering 169 (2022) 108221
Table 2
Performance comparison between Jozefowiez’s method (Jozefowiez et al., 2009) and the proposed framework on VRPRB instances.
Instance Solely minimizing the total traveling costs Soly minimizing the difference
Jozefowiez’s method the proposed framework Jozefowiez’s method the proposed framework
Best Found Balance Time Best Found Balance Time Best Found Length Best Found Length
E-n51-k5 524.61 20.07 511.00 550.96 5.46 174.80 0.24 618.22 0.22 682.68
E-n76-k10 835.32 78.10 1269.00 982.73 96.83 529.23 0.59 1203.98 3.93 1299.59
E-n101-k8 826.39 67.55 2014.75 1018.89 92.92 762.97 0.29 1871.06 1.10 1447.72
M-n101-k10 827.39 67.55 1771.50 828.94 76.49 406.63 1.15 1429.90 20.47 1122.84
M-n151-k12 1047.35 74.78 3280.00 1155.68 86.33 1300.09 0.80 1484.48 1.95 1520.91
Average 812.21 61.61 1769.25 907.44 71.61 634.74 0.61 1321.53 5.54 1214.75
8
J. LI et al. Computers & Industrial Engineering 169 (2022) 108221
Table 3
The performance comparison of three algorithms on 11 instances.
Instance MMDC+(ACO+) (DBSCAN+)+(ACO+) (DBSCAN+)+(Microcluster Fusion Scheme)+(ACO+)
E-n51-k5 0.1241 0.3032 127.8800 0.2181 0.5872 119.5680 0.0018 0.9927 265.3320
E-n76-k10 0.2449 0.4089 108.9960 0.1838 0.4803 169.8790 0.0617 0.6598 365.7100
M-n101-k10 0.0063 0.7750 167.6530 0.3886 0.3947 192.1350 0.0030 0.8043 526.1840
M-n151-k12 0.7831 0.1094 255.0890 0.6708 0.1718 289.3970 0.0464 0.9021 1045.6200
A-n37-k5 0.3161 0.3985 72.0520 0.2265 0.4760 61.3340 0.0565 0.7401 131.1160
A-n46-k7 0.6290 0.1991 74.5500 0.1435 0.6756 72.3520 0.0099 0.8925 108.7350
A-n48-k7 0.2509 0.4225 45.4930 0.5359 0.1294 22.6240 0.0115 0.7525 141.1460
A-n60-k9 0.6030 0.1894 40.7010 0.3073 0.4440 140.1860 0.0236 0.8409 160.3110
A-n62-k8 0.3739 0.3909 87.5610 0.3105 0.2711 102.2760 0.0132 0.4742 231.6450
A-n63-k10 0.5379 0.2091 38.6830 0.2513 0.4782 139.1200 0.0041 0.8002 190.1330
A-n80-k10 0.2483 0.5005 116.7490 0.3911 0.3630 56.2600 0.0347 0.7584 228.8510
Average 0.3743 0.3551 103.2188 0.3298 0.4065 124.1028 0.0242 0.7834 308.6166
Table 4
The performance comparison of three algorithms on 11 revised instances.
Instance MMDC+(ACO+) (DBSCAN+)+(ACO+) (DBSCAN+)+(Microcluster Fusion Scheme)+(ACO+)
E-n51-k5-240H 0.1917 0.4272 142.2050 0.2662 0.5096 181.6380 0.0196 0.7258 228.7460
E-n76-k10-210H 0.7421 0.1302 172.2320 0.8765 0.0549 191.8310 0.0369 0.8986 395.5400
M-n101-k10-300H 0.0032 0.7456 283.4900 0.0035 0.7389 522.1450 0.0032 0.7496 322.3930
M-n151-k12-300H 0.5251 0.2650 106.7770 1.0325 0.0008 115.0570 0.0250 0.9510 948.8510
A-n37-k5-150H 0.3997 0.3097 36.7440 0.3327 0.3442 83.9810 0.1077 0.6448 119.0910
A-n46-k7-150H 0.3229 0.4001 20.2650 0.3763 0.3050 25.4840 0.0034 0.8412 101.1160
A-n48-k7-150H 0.9328 0.1008 18.3670 0.4156 0.2379 20.6790 0.1151 0.4615 103.4460
A-n60-k9-150H 0.5818 0.2907 61.9960 0.3989 0.5463 28.0040 0.0309 0.9148 256.7880
A-n62-k8-150H 0.5950 0.5003 59.7150 0.3701 0.2537 79.8130 0.0118 0.5034 560.5720
A-n63-k10-150H 0.9329 0.0000 17.5030 0.2419 0.6568 26.3730 0.0172 0.9491 198.9410
A-n80-k10-150H 0.4790 0.3156 65.9410 0.5563 0.3053 76.6250 0.0400 0.8693 313.4630
Average 0.5188 0.3168 89.5668 0.4428 0.3594 122.8755 0.0374 0.7735 322.63155
5.1.2. Effects of algorithms in the components num3H, where num3 indicates the number of expanded vehicle capacity
In our framework, DBSCAN+ is used to group the microclusters and H indicates the previous data is hypothetical. Table 4 provides the
effectively. Microcluster fusion scheme forms the clusters for workload IGD and HV values of the three algorithms on the revised instances. In
balance, which is able to escape from local optimal. For validating the terms of HV and IGD, the third algorithm obtains the best values on all
effects of the algorithms, we compare the performances of algorithm the instances, while the second algorithm obtains better values than the
combinations as follows: MMDC+(ACO+), (DBSCAN+)+(ACO+), first algorithm in 4 instances, and the first algorithm obtains better
(DBSCAN+)+(Microcluster Fusion Scheme)+(ACO+). values than the second algorithm in 5 instances, respectively. We find
As shown in Table 3, the three algorithms are tested by executing 11 that the first and second algorithms perform worse on the revised in
instances from Christofides and Eilon (1969),hristofides et al. (1979), stances than on the original ones. Further, the superiority of the third
and Augerat et al. (1995). As to the IGD value, the third algorithm is algorithm is more obvious on these revised instances, which indicates it
93.5% and 86% lower than the first and second algorithms, respectively. is more stable in dealing with different instances.
In terms of HV, the corresponding values are 120.6% and 92.7%
improved on the first and second algorithms, respectively. The third 5.1.3. Discussion on pheromone enhancement
algorithm significantly outperforms other algorithms in the instances For ACO+, we try to significantly increase pheromone on the paths of
while its runtime is about 2 and 3 times longer than other algorithms. the following four solutions: (1) extreme solutions on f1 ; (2) extreme
The first algorithm obtains the worst performance in most cases, indi solutions on f2 ; (3) the best solutions for optimizing both f1 and f2 ; (4)
cating that DBSCAN+ and microcluster fusion scheme can speed up the Pareto-optimal solutions, to find an optimal way for pheromone
convergence and improve diversity. enhancement. The performance comparison is obtained with the
It is to be noted that, the capacity of all vehicles is always very close different number of iterations on instance E-n101-k8 from Christofides
to the total demand of the customers in the instances proposed by and Eilon (1969), as shown in Fig. 4. We quickly find that the perfor
Christofides and Eilon (1969),hristofides et al. (1979), and Augerat et al. mance of the third way outperforms other ways in terms of IGD and HV.
(1995). Therefore, the load of each vehicle is almost full before deliv Compared with the traditional method of increasing pheromone on
ering. However, in the real world, there is a usual situation where loads paths of all the Pareto-optimal solutions, increasing pheromone on the
of most vehicles are less than their capacities, only a few vehicles are paths of the best solutions for optimizing both f1 and f2 is an effective
fully loaded. According to this situation, we modified the instances method to improve both convergence and diversity.
above to expand the vehicle capacity to 1.5 times the original capacity.
The format of the revised instance is the original name appended by
9
J. LI et al. Computers & Industrial Engineering 169 (2022) 108221
Fig. 4. Comparison of IGD and HV with iterations from 10000 to 90000 produced by different ways of pheromone enhancement on instance E-n101-k8.
Table 5
The performance comparison between ACO and the proposed framework on 5 revised instances.
Instance Solely minimizing the total traveling costs Solely minimizing the Workload balance Running time
Traditional ACO the proposed framework Traditional ACO the proposed framework ACO framework
Best Found Balance Best Found Balance Best Found length Best Found length
B56-k7-(116) 650.748 2.800 646.382 2.841 2.520 672.850 2.194 706.012 105.451 136.308
B57-k9-(173) 1550.250 2.169 1540.690 2.169 1.919 1584.930 1.890 1611.270 95.519 91.492
B64-k9-(136) 805.773 1.641 804.744 1.633 1.541 821.561 1.191 929.908 68.438 153.799
B67-k10-(142) 1047.610 2.678 1047.610 2.678 2.421 1068.300 2.025 1135.100 104.680 173.832
B78-k10-(121) 1211.090 2.169 1199.890 2.307 1.852 1277.020 1.570 1395.450 162.042 223.518
Average 1053.094 2.291 1047.863 2.326 2.050 1084.932 1.774 1155.548 107.226 155.790
10
J. LI et al. Computers & Industrial Engineering 169 (2022) 108221
is inevitable, when solely minimizing the workload balance, the average Table 7
percent and standard deviation are 86.34% and 16.19%, respectively, The details of the most balanced solution.
which are acceptable. The results show that the microcluster fusion Vehicle Total traveling distance # of completed demands Total workload
scheme respects the initial assumption and does not add the familiarity
v1 30212.400 5976.000 51128.400
cost of the vehicle. There are two reasons behind the results. The first v2 29707.300 6048.000 50875.300
one is that the upper bound of the number of microclusters to be fused is v3 28003.700 6480.000 50683.700
adaptively defined, avoiding too many microclusters are grouped v4 32197.900 5400.000 51097.900
together. The other reason is that different microclusters are fused ac v5 26994.600 6876.000 51060.600
Fig. 5. Geographical location of Xintang distribution center and regional service points in Tianhe District.
11
J. LI et al. Computers & Industrial Engineering 169 (2022) 108221
7. Conclusion
Table 8
The comparison between the most balanced solution obtained by the proposed framework and the solution generated by ACO.
Vehicle Solution from ACO Balanced solution produced by the proposed framework
Total traveling # of completed Total Total traveling # of completed Total # of customers outside the given
distance demand workload distance demand workload area
12
J. LI et al. Computers & Industrial Engineering 169 (2022) 108221
13
J. LI et al. Computers & Industrial Engineering 169 (2022) 108221
Industrial Engineering and Other Applications of Applied Intelligent Systems. Arras, Wang, J., Zhou, Y., Wang, Y., Zhang, J., Chen, C. P., & Zheng, Z. (2015). Multiobjective
France. Springer. vehicle routing problems with simultaneous delivery and pickup and time windows:
Ticha, H. B., Absi, N., Feillet, D., & Quilliot, A. (2019). Multigraph modeling and formulation, instances, and algorithms. IEEE Transactions on Cybernetics, 46,
adaptive large neighborhood search for the vehicle routing problem with time 582–594.
windows. Computers & Operations Research, 104, 113–126. Zhang, Z., Qin, H., & Li, Y. (2019a). Multi-objective optimization for the vehicle routing
Wan, W., Wang, C., & Yu, B. (2014). Improved ant colony algorithm for period vehicle problem with outsourcing and profit balancing. IEEE Transactions on Intelligent
routing problem. Operations Research and Management Science, 70–77. Transportation Systems, 21, 1987–2001.
Wang, J., Weng, T., & Zhang, Q. (2018). A two-stage multiobjective evolutionary Zhang, Z., Sun, Y., Xie, H., Teng, Y., & Wang, J. (2019b). Gmma: Gpu-based
algorithm for multiobjective multidepot vehicle routing problem with time multiobjective memetic algorithms for vehicle routing problem with route
windows. IEEE Transactions on Cybernetics, 49, 2467–2478. balancing. Applied Intelligence, 49, 63–78.
14