Skip to main content
Erschienen in: Complex & Intelligent Systems 4/2023

Open Access 26.12.2022 | Original Article

A hybrid differential evolution algorithm for a location-inventory problem in a closed-loop supply chain with product recovery

verfasst von: Hao Guo, Gang Liu, Ying Zhang, Chunnan Zhang, Chuanhui Xiong, Wenli Li

Erschienen in: Complex & Intelligent Systems | Ausgabe 4/2023

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Product recovery is an important business because of its great economic, social, and environmental benefits in practice. In this paper, a location-inventory problem (LIP) in a closed-loop supply chain (CLSC) is investigated to optimize facility location and inventory control decisions by considering product recovery. The objective is to optimize facility location and inventory control decisions to minimize the total cost of business operations in a closed-loop supply chain system. We formulate this problem as a mixed-integer nonlinear programming model and design a modified hybrid differential evolution algorithm (MHDE) to solve it efficiently. Finally, numerical results are presented to validate the performance of the new algorithm. The results show that MHDE is more efficient and effective than Lingo and other algorithms for the research problem under study. Managerial insights are also derived for business managers to improve their supply chain performance.
Hinweise

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Introduction

The economic benefits, environmental concerns, and social impacts have become an important motivation to implement a closed-loop supply chain integrated with efficient product recovery to achieve sustainable development [1]. Economic measures and legislative mechanisms force business firms to take responsibility for recycling, or processing and reuse of recovery products [2]. Product recovery not only helps enterprises to reduce production costs, meet customer requirements, and raise competitiveness but also promotes them as environmentally mindful enterprises [3]. Hence, product recovery management has attracted more attention [4] and many companies incorporate product recovery into manufacturing practices to achieve sustainability [5]. For example, an increasing number of enterprises like Kodak, General Motors, and Xerox have focused on backward flow for product recovery to reduce costs and the effects on the environment [6].
A closed-loop supply chain consists of a traditional forward logistics flow and a reverse logistics flow of returned products for recovery [7]. The closed-loop supply chain design is the desired business model for many companies because of the potential value of product recovery and environmental sustainability [8]. This can greatly improve the performance of their supply chain networks to process high volumes of recovery products more efficiently. According to Jiao et al. [9], applying a closed-loop supply chain may reduce 40–5% of the manufacturing cost by reusing parts and materials. Therefore, an efficient closed-loop supply chain is necessary for business organizations to incorporate returned products for recovery into their traditional distribution channels.
The performance of a supply chain can be improved by better strategic and tactical decisions. Currently, there is an emerging trend to integrate strategic with tactical decisions through the development of joint location-inventory models [10]. Facility location decisions are focused on maximizing the efficiency of a supply chain, while inventory control models have focused on improving the responsiveness of the supply chain [11]. In many cases, integrating strategic decisions with inventory control policies in a closed-loop supply chain can help overcome short-sighted sub-optimal network designs [12]. Hence, it will be greatly beneficial to optimize location and inventory decisions in a closed-loop supply chain simultaneously to improve customer return and product recovery processes. This work is motivated by real-world practice, and it will address the following business questions:
1.
What are the optimal number and locations of the facilities when product recovery is considered in a closed-loop supply chain?
 
2.
In such a closed-loop supply chain, how to assign customers to different types of facilities to improve supply chain efficiency?
 
3.
What is the impact of cost factors, facility locations, and inventory policies on the performance of the closed-loop supply chain under study?
 
To answer these questions, this paper incorporates product recovery into an integrated location-inventory problem in a closed-loop supply chain. With the presence of the product recovery business in a closed-loop supply chain, the solution to this problem will give (1) facility locations, (2) the assignment of customer zones to the facilities in forward and backward logistics flows, and (3) order time and size for each facility. To formulate this problem, a mixed-integer nonlinear programming model is developed to minimize the total cost in a two-stage closed-loop supply chain. Moreover, a modified hybrid differential evolution algorithm (MHDE) is designed to solve this model given the complexity of the problem. The numerical results show that MHDE can obtain good feasible solutions efficiently.
The rest of this paper is structured as follows: “Literature review” reviews research works related to this study. “The model” presents a mix-integer nonlinear programming model for the research problem under study. “Solution methodology” proposes an efficient meta-heuristic algorithm to solve this model efficiently. “Numerical experimentation” presents numerical experiments and discusses computational results. “Conclusions and future research” concludes this paper and suggests directions for future research.

Literature review

Nowadays, many research efforts are devoted to integrated supply chain designs because of their great economic and social benefits, and integrated location-inventory problems (LIPs) are an important topic in this research field. In this paper, we study a location-inventory problem in a closed-loop supply chain by incorporating product recovery, and it is related to three research streams: closed-loop supply chain, location-inventory problems, and DE algorithms.
There are numerous works on closed-loop supply chains (CLSCs) in response to the rising awareness of environmental issues, which are reviewed thoroughly by Shekarian [13] and Peng et al. [14]. In the literature, CLSCs are extensively studied by incorporating many real-world businesses, such as take-back legislation [15], reshoring drivers [16], pricing decisions and discounts [17], social factors [18], and price-sensitive demand [19]. For CLSCs, many research efforts have been focused on the disposal of end-of-life products [20], but the consolidation of location-inventory problems and product recovery is rarely studied in the literature. To better represent the real-world practices, this paper considers both businesses under a CLSC setting, and hence fills this research gap in the literature.
In the literature, LIPs are usually studied by incorporating real-world business scenarios. This topic was first studied by Daskin, Coullard, and Shen [21], and Farahani et al. [22] present a comprehensive review of the related research efforts. Recently, location-inventory problems are generalized in several different directions. Araya-Sassi, Paredes-Belmar, and Gutiérrez-Jarpa [23] studied the distribution centers' location model that incorporates the different review inventory control policies at distribution centers. Puga and Tancrez [24] analyzed a location-inventory problem for the design of supply chain networks with uncertain demands. Also, LIPs are studied by incorporating other important topics, such as disruption risk [25], lateral transshipment policies [26], post-disaster humanitarian logistics [27], multiple customer priority classes [28], and so on. However, none of the above papers have considered reverse logistics network design and the state in which product recovery affects the facility location and inventory control decisions.
Recently, LIPs are extended with the development of closed-loop supply chains. Al-Salem et al. [7] studied an LIP with three different types of warehouses. Diabat, Abdallah, and Henschel [12] studied an LIP in an uncapacitated closed-loop supply chain where returns are remanufactured as spare parts and then sold to retailers. Asl-Najafi et al. [29] formulated a bi-objective dynamic LIP by considering disruption risk in a CSLC. Zhang and Unnikrishnan [30] studied a coordinated LIP with uncertain demand. Li, Guo, and Zhang [31] studied an integrated LIP in a CLSC with third-party logistics. Guo et al. [32] proposed a new multi-commodity LIP by incorporating commercial product returns in CLSCs. As an extension, Guo et al. [33] developed a more comprehensive model by considering the secondary market of used and refurbished products, and present a more powerful algorithm to solve the extended model.
Facility location problem (FLP) is a typical NP-hard problem [34]. As an extension of FLP, LIP which integrates location and inventory decisions is more complicated. Given its complexity, many heuristic algorithms have been developed to solve LIPs, such as simulated annealing [10], hybrid genetic algorithm [25][28], particle swarm optimization [29], differential evolution [31][32], hybrid harmony search [35], and tabu search [36]. In addition to those algorithms, differential evolution (DE) [37] has attracted much attention because of its good capability of solving NP-hard optimization problems. For example, Li et al. [31] propose an improved hybrid differential evolution (IHDE) algorithm based on DE and GA to solve the LIP in a CLSC with third-party logistics. Guo et al. [33] design a normal distributed adaptive differential evolution (NDADE) algorithm based on a novel adaptive mutation strategy to solve LIP in presence of the secondary market. Ali et al. [38] implemented a novel discrete differential evolution (NDDE) algorithm to solve complex discrete traveling salesman problems. A hybrid differential evolution algorithm and genetic operator (HDEGO) with the fuzzy logic controller is proposed to solve the multi-trip vehicle routing problem with backhauls and heterogeneous fleet [39]. A discrete differential evolution (DDE) algorithm with new mutation and crossover operators is proposed to find near-optimal solutions for order rescheduling problem [40]. A hybrid approach (iDE-EA) is proposed for a closed-loop facility layout problem [41]. Guo et al. [42] develop an improved self-adaptive differential evolution (ISaDE) algorithm by introducing an effective adaptive mechanism to solve LIP with secondary market consideration.
This paper proposes a new DE-based algorithm, MHDE, to solve the research problem under study. It is well known that the control parameters of meta-heuristic algorithms play an important role in their performance. MHDE adopts self-adapting control parameters in [33] and [42] and develops a hybrid truncation-selection strategy [31] to solve location-inventory problems.
Hence, this study extends the current research from three perspectives. First, a mixed-integer nonlinear programming model is formulated to incorporate LIPs and product recovery in a CLSC. Second, a new meta-heuristics algorithm is designed to solve this model efficiently. Finally, managerial insights are provided for business managers to improve the performance of their supply chains.

The model

Problem description

In this paper, we study a location-inventory problem in a closed-loop logistics network including a hybrid production refurbishment center (HPRC), distribution centers (DCs), collection centers (CCs), and hybrid distribution-collection centers (HDCCs). In this network, an HPRC is a production and refurbishment facility. HDCCs are hybrid facilities that operate as distribution centers for new or refurbished products in the forward logistics flow, and collection centers for returned products in the reverse logistics flow. Customer zones with uncertain demands can be assigned to DCs or HDCCs in the forward flow, and CCs or HDCCs in the reverse flow. There are many advantages to building an HPRC and HDCCs, such as cost savings and pollution reductions as the result of sharing materials, equipment, and infrastructures [31].
As illustrated in Fig. 1, new and refurbished products are shipped from the HPRC to customer zones via DCs or HDCCs in the forward flow, and returned products are collected from customer zones to the HPRC via CCs or HDCCs for recovery or safe disposal [7]. Returned products can be recoverable or unrecoverable depending upon their conditions which are inspected in CCs or HDCCs. In this study, customer zones are predetermined and fixed. It is assumed that new and refurbished products are the same to fulfill the demands of customer zones, and the candidate locations for different types of facilities are exclusive.
The LIP under study is formulated as a mixed-integer nonlinear programming model to minimize the total cost of a CLSC which includes an HPRC and several DCs, CCs, and HDCCs. The solution to this model will provide an optimal set of facility locations, inventory policies, and the assignment between the facilities and customer zones. The notation is as follows:
Sets
I
set of candidate locations for DCs;
J
set of candidate locations for CCs;
K
set of candidate locations for HDCCs;
M
set of customer zones;
R
\(\left\{I\cup K\right\}\);
S
\(\left\{J\cup K\right\} .\)
Parameters
A I
fixed (annual) cost of opening distribution center i, for each \(i\in I\);
a j
fixed (annual) cost of opening collection center j, for each \(j\in J\);
a k
fixed (annual) cost of opening and operating HDCC k, for each \(k\in K\);
b r
fixed cost per order of new/refurbished products at DC/HDCC r, for each r ∈ R;
b s
fixed cost per order of returned products at CC/HDCC s, for each s ∈ S;
c r
fixed cost per shipment from the HPRC to DC/HDCC r, for each \(r\in R\);
c s
fixed cost per shipment from CC/HDCC s to the HPRC, for each \(s\in S\);
e r
shipment cost per unit of new/refurbished products between the HPRC and DC/HDCC r, for each \(r\in R\);
e s
shipment cost per unit of returned products between the HPRC and CC/HDCC s, for each \(s\in S\);
d rm
shipment cost per unit of new/refurbished products between DC/HDCC r and customer zone m, for each \(r\in R\) and \(m\in M\);
d sm
shipment cost per unit of returned products between CC/HDCC s and customer zone m, for each \(s\in S\) and \(m\in M\);
h r
(annual) holding cost per unit of new/refurbished products at DC/HDCC r, for each \(r\in R\);
h s
(annual) holding cost per unit of returned products at CC/HDCC s, for each \(s\in S\);
q m
quantity of returned products at customer zone m, for each \(m\in M\);
µ m
mean (daily) demand at customer zone m, for each \(m\in M\);
\({\sigma }_{m}^{2}\)
variance of (daily) demand at customer zone m, for each \(m\in M\);
α
service level;
z α
standard normal deviate such that \(P\left(z\le {z}_{\alpha }\right)=\alpha \);
L
order lead time (in days) at distribution centers;
λ
working days per year.
Decision variables
XI = 1 if a DC is opened at location i, and 0 otherwise, for each \(i\in I\);
Xj = 1 if a CC is opened at location j, and 0 otherwise, for each \(j\in J\);
Xk = 1 if an HDCC is opened at location k, and 0 otherwise, for each \(k\in K\);
\({Y}_{rm}=1\) if DC/HDCC r fulfills the demand at customer zone m, and 0 otherwise, for each \(r\in R\) and \(m\in M\);
\({Z}_{sm}=1\) if CC/HDCC s collects returned products at customer zone m, and 0 otherwise, for each \(s\in S\) and \(m\in M\).

Model formulation

The total supply chain cost comprises two types of costs: (1) Location costs which include the fixed costs of opening facilities, and the shipping costs between facilities and customer zones; (2) inventory costs which include working inventory and safety stock costs.
(1) Location costs
The fixed cost to open and run facilities is \(\sum _{i\in I}{a}_{i}{X}_{i}+\sum _{j\in J}{a}_{j}{X}_{j}+\sum _{k\in K}{a}_{k}{X}_{k}\). Moreover, the shipping cost given facility locations is \(\lambda \sum _{r\in R}\sum _{m\in M}{\mu }_{m}{d}_{rm}{Y}_{rm}+\lambda \sum _{s\in S}\sum _{m\in M}{q}_{m}{d}_{sm}{Z}_{sm}\). Thus, the total location cost is
$$ \begin{aligned} {C}_{L}& = \sum\limits _{i\in I}{a}_{i}{X}_{i}\\ & \quad + \sum\limits _{j\in J}{a}_{j}{X}_{j}+ \sum\limits_{k\in K}{a}_{k}{X}_{k}\\ & \quad +\lambda \sum\limits _{r\in R} \sum \limits _{m\in M}{\mu }_{m}{d}_{rm}{Y}_{rm}\\ & \quad +\lambda \sum _{s\in S} \sum \limits_{m\in M}{q}_{m}{d}_{ms}{Z}_{ms}. \end{aligned}$$
(2) Inventory costs
To satisfy the demand at a customer zone, a facility in the forward flow needs to maintain two types of inventories: working inventory, which depends upon the order policy, and safety stock, which is maintained to hedge the uncertainty in the demand and delivery time [43].
(2.1) Working inventory cost
In this model, we assume that DCs and HDCCs order from the HPRC using the economic order quantity (EOQ) model, which is common to approximate the (Q, r) inventory model with type I service [44]. Thus, the EOQ model is used to optimize inventory control decisions. Let nr be the number of orders placed at DC/HDCC r to the HPRC per year. The fixed annual order cost for DC/HDCC r is brnr, the annual shipping cost from the HPRC to DC/HDCC r is \({c}_{r}{n}_{r}+\lambda {e}_{r}\sum _{m\in M}{\mu }_{m}{Y}_{rm}\), and the annual holding cost of new and refurbished products at DC/HDCC r is \(\frac{\lambda {h}_{r}\sum _{m\in M}{\mu }_{m}{Y}_{rm}}{2{n}_{r}}\). Therefore, the total annual working inventory cost at distribution center r is given by
$$ \begin{aligned} {C}_{WF}\left(r\right) & ={b}_{r}{n}_{r}+{c}_{r}{n}_{r}+\lambda {e}_{r} \sum \limits_{m\in M}{\mu }_{m}{Y}_{rm} \\ & \quad +\frac{\lambda {h}_{r} \sum \limits _{m\in M}{\mu }_{m}{Y}_{rm}}{2{n}_{r}}. \end{aligned}$$
Taking the first-order derivative of \({C}_{WF}(r)\) with respect to nr and setting it to zero, we can obtain that \({n}_{r}^{*}=\sqrt{\frac{\lambda {h}_{r}\sum _{m\in M}{\mu }_{m}{Y}_{rm}}{2({b}_{r}+{c}_{r})}}\). Substituting this into \({C}_{WF}(r)\), the total annual working inventory cost at DC/HDCC r can be rewritten as follows:
$$ \begin{aligned} {C}_{WF}^{*}\left(r\right) & =\sqrt{2\lambda {h}_{r}({b}_{r}+{c}_{r})\sum _{m\in M}{\mu }_{m}{Y}_{rm}}\\ & \quad +\lambda {e}_{r} \sum \limits _{m\in M}{\mu }_{m}{Y}_{rm}. \end{aligned} $$
In the reverse flow, returned products will be shipped from CCs/HDCCs to the HPRC for recovery or disposal. Similar to \({C}_{WF}^{*}\left(r\right)\), the total annual working inventory cost at CC/HDCC s is
$$ \begin{aligned} {C}_{WR}^{*}\left(r\right) & =\sqrt{2\lambda {h}_{s}({b}_{s}+{c}_{s})\sum _{m\in M}{q}_{m}{Z}_{sm}}\\ & \quad +\lambda {e}_{s} \sum \limits_{m\in M}{q}_{m}{Z}_{sm}. \end{aligned} $$
Therefore, the total annual working inventory cost in the CLSC is
$$ \begin{aligned} {C}_{WI} & = \sum \limits_{r\in R}\sqrt{2\lambda {h}_{r}({b}_{r}+{c}_{r})\sum _{m\in M}{\mu }_{m}{Y}_{rm}} \\ & \quad +\lambda \sum \limits_{r\in R} \sum \limits_{m\in M}{e}_{r}{\mu }_{m}{Y}_{rm}\\ & \quad + \sum \limits_{s\in S}\sqrt{2\lambda {h}_{s}({b}_{s}+{c}_{s}) {\sum}_{m\in M}{q}_{m}{Z}_{sm}}\\ & \quad +\lambda \sum \limits _{s\in S} \sum \limits_{m\in M}{{e}_{s}q}_{m}{Z}_{sm}. \end{aligned} $$
(2.2) Safety stock cost
DCs and HDCCs need to keep safety stocks to maintain an appropriate service level under demand uncertainty. Given the risk pooling effects [45], the safety stock at DC/HDCC r is \({z}_{\alpha }\sqrt{L\sum _{m\in M}{\sigma }_{m}^{2}{Y}_{rm}}\) to ensure that the probability of stock-outs is less than or equal to α. Therefore, the total safety stock cost is
$${C}_{SS}= \sum \limits_{r\in R}{h}_{r}{z}_{\alpha }\sqrt{L\sum _{m\in M}{\sigma }_{m}^{2}{Y}_{rm}}.$$
Let \({C}_{TOT}={C}_{L}+{C}_{WI}+{C}_{SS}\) be the total cost in the CLSC. Then, the location-inventory problem under study can be formulated by the mixed-integer nonlinear programming model below
$$\mathrm{min}{C}_{TOT}$$
(1)
subject to
$$ \sum\limits _{r\in R}{X}_{r}\ge 1;$$
(2)
$$ \sum\limits_{s\in S}{X}_{s}\ge 1;$$
(3)
$$ \sum\limits_{r\in R}{Y}_{rm}=1,\forall m\in M;$$
(4)
$$\sum\limits _{s\in S}{Z}_{sm}=1,\forall m\in M;$$
(5)
$${Y}_{rm}\le {X}_{r}, \forall r\in R, \forall m\in M;$$
(6)
$${Z}_{sm}\le {X}_{s}, \forall s\in S,\forall m\in M;$$
(7)
$${X}_{r}\in \left\{0, 1\right\}, \forall r\in R;$$
(8)
$${X}_{s}\in \left\{0,1 \right\}, \forall s\in S;$$
(9)
$${Y}_{rm}=\left\{0, 1 \right\}, \forall r\in R,\forall m\in M;$$
(10)
$${Z}_{sm}=\left\{0 ,1 \right\}, \forall s\in S,\forall m\in M.$$
(11)
The objective function (1) aims to minimize the total cost in the CLSC. Constraints (2) and (3) mean that at least one facility will be established in the forward and reverse flows, respectively. Constraints (4) and (5) ensure that each customer zone will be assigned to one facility in the forward and reverse networks, respectively. Constraints (6) and (7) mean that a customer can only be assigned to an existing facility. Constraints (8)–(11) mean that decision variables are binary.

Solution methodology

The facility location problem is NP-hard [34], and the joint location-inventory problem is also NP-hard given its complexity in structure. In the literature, many LIPs are solved by heuristic and meta-heuristic algorithms because of their great efficiency to solve such problems. Differential evolution [37] is an important approach that is widely applied to solve LIPs [31, 32]. Although DE is a powerful tool to solve nonlinear problems, it has some drawbacks such as prematurity and local optimism. To solve the LIP under study, the MHDE algorithm is designed to enhance the performance of DE. Specifically, MHDE is improved in four ways: (1) The opposition-based learning (OBL) [46] is introduced to improve the quality of the initial population. (2) The mutation factor F is generated from a Gaussian distribution N(0,1) to enhance the diversity of the population and the global search capability. (3) The new crossover strategy is adopted to increase the population diversity and solution search ability. (4) The selection operation adopts truncation selection of GA to overcome the limitation of the greedy selection mechanism in DE. The notations used in MHDE are introduced in Table 1.
Table 1
Notation in MHDE
Notation
Description
I
Number of candidate DCs
J
Number of candidate HDCCs
K
Number of candidate CCs
M
Number of customer zones
P
Population size (i.e., number of individuals)
G
Maximum number of iterations
Zpg
Target vector of individual p in the gth generation
VZpg
Mutant vector of individual p in the gth generation
UZpg
Trial vector of individual p in the gth generation
F
Mutation factor
CR
Crossover factor
As a DE-based algorithm, MHDE uses evolutionary operators (i.e., mutation, crossover, and selection) at each generation to update the population toward the optimum after initialization, and the details are as follows.

Initialization

Individuals

IN the MHDE algorithm, individuals in a population are corresponding to candidate solutions to a discrete combinatorial optimization problem, and a good representation of individuals is important to the operations of a DE algorithm. For the LIP under study, an individual is composed of two parts. The first part is the assignment information in the forward logistics flow, and the second part is the assignment information in the reverse logistics flow. Hence, an individual can be represented by an array with 2M entries, which is given by
$$ \begin{aligned} & {Z}_{p}^{g}=\left\{{x}_{p,1}^{g},{x}_{p,2}^{g}, \ldots ,{x}_{p,M}^{g},{y}_{p,M+1}^{g},{y}_{p,M+2}^{g} ,{y}_{p,2M}^{g}\right\},\\ & \quad 1\le p\le P,1\le g\le G; \end{aligned} $$
(12)
where \(Z_{p}^{g}\) is the pth individual in iteration g. \({x}_{p,m}^{g}\in \left\{ 1, 2, \ldots, I+J\right\} (1 \le p \le P; 1 \le m \le M)\) is the index of a DC or HDCC that is assigned to a customer zone, and \({y}_{p,m}^{g}\in \left\{I+1,\ldots ,I+J+K\right\} (1\le p\le P; M+1\le m\le 2M)\) is the index of an HDCC or CC that is assigned to a customer zone. If \({x}_{p,m}^{g}=r (1\le m\le M)\), then the demand in customer zone m will be fulfilled by DC or HDCC r in the forward flow. If \({y}_{p,m}^{g}=s (1\le p\le P; M+1\le m\le 2M)\), then the returned products from customer zone m-M will be collected to HDCC or CC s in the reverse flow. Figure 2 illustrates an example individual corresponding to ten customer zones, three distribution centers, three HDCCs, and two collection centers.
The individual in Fig. 2 is interpreted as follows: (1) In the forward flow, customer zones 4 and 7 are assigned to DC 2; customer zones 2, 3, 5, 8, and 9 are assigned to HDCC 1; customer zones 1, 6, and 10 are assigned to HDCC 3. (2) In the reverse flow, HDCC 1 collects returns from customer zones 1, 4, 5, 7, 8; HDCC 3 collects returns from customer zones 3, 9; HDCC 2 collects returns from customer zones 2, 6, 10. Obviously, the assignment between HDCCs and customer zones is incorporated into the format of individuals.

Entries in an individual array

The elements in an array which represent an individual are candidate facility locations, and they are given by Eqs. (13) and (14)
$${x}_{p,m}^{0}=round\left({x}^{L}+rand\cdot \left({x}^{U}-{x}^{L}\right)\right); 1\le m\le M;1\le p\le P;$$
(13)
$$ \begin{aligned}& {y}_{p,m}^{0} =round\left({y}^{L}+rand\cdot \left({y}^{U}-{y}^{L}\right)\right);\\ & \quad M+1\le m\le 2M;1\le p\le P; \end{aligned} $$
(14)
where round is the rounding function, rand is a uniformly distributed random number in range [0, 1], xL and xU represent the lower and upper bound of \({x}_{p,m}^{g}\), respectively; yL and yU be the lower and upper bound of \({y}_{p,m}^{g}\). We have \({x}^{L}=1\), \({x}^{U}=I+J\), \({y}^{L}=I+J+1\), \({y}^{U}=I+J+K\).

Initialization with OBL

An evolutionary algorithm will usually generate an initial population and then improve it toward an optimal solution. In this study, we can increase the opportunity of generating a better initial population by checking the opposite population of an initial population. Hence, OBL is adopted to obtain a better initial candidate population, and the steps are as follows:
Step 1: Generate the initial population \(Z_{p}^{0}\) randomly.
$${Z}_{p}^{0}=\left\{ {x}_{p,1}^{0},{x}_{p,2}^{0}, \ldots ,{x}_{p,M}^{0},{y}_{p,M+1}^{0},{y}_{p,M+2}^{0}, \ldots ,{y}_{p,2M}^{0}\right\}, 1\le p\le P.$$
Step 2: Obtain the opposite population \(\overline{{Z_{p}^{0} }}\).
$$ \begin{aligned} \overline{{Z}_{p}^{0}} & =\left\{\overline{{x}_{p,1}^{0}},\overline{{x}_{p,2}^{0}}, \ldots ,\overline{{x}_{p,M}^{0}},\overline{{y}_{p,M+1}^{0}},\overline{{y}_{p,M+2}^{0}}, \ldots ,\overline{{y}_{p,2M}^{0}}\right\},\\ & \quad p=1, 2, \ldots, P; \\ & \overline{{x}_{p,m}^{0}}={x}^{L}+{x}^{U}-{x}_{p,m}^{0}, p=1, 2, \ldots ,P, m= 1, 2, \ldots , M; \end{aligned} $$
$$ \begin{aligned} \overline{{y}_{p,m}^{0}} & ={y}^{L}+{y}^{U}-{y}_{p,m}^{0}, p=1, 2, \ldots ,P,\\ & \quad m= M+1, M+2, \ldots , 2M. \end {aligned}$$
Step 3: Select the P best solutions from \(\left\{{Z}_{p}^{0}\cup \overline{{Z}_{p}^{0}}\right\}\) as the initial population.

Mutation operation

In each iteration, a mutation operation will apply to each individual \({Z}_{p}^{g}=\left\{{x}_{p,1}^{g},{x}_{p,2}^{g}, \ldots ,{x}_{p,M}^{g},{y}_{p,M+1}^{g},{y}_{p,M+2}^{g}, \ldots ,{y}_{p,2M}^{g}\right\}\) in the population space to generate a mutant vector \(V{Z}_{p}^{g+1}=\Big\{v{x}_{p,1}^{g+1},v{x}_{p,2}^{g+1}, \ldots ,v{x}_{p,M}^{g+1},v{y}_{p,M+1}^{g+1},v{y}_{p,M+2}^{g+1}, \ldots ,\)\(v{y}_{p,2M}^{g+1}\Big\}\). In this study, the mutation operator “DE/rand/1” is adopted, which gives a mutant vector as Eqs. (15) and (16)
$$ \begin{aligned} v{x}_{p,m}^{g+1} & =round\left({x}_{{r}_{1},m}^{g}+{F}^{i,g}\cdot \left({x}_{{r}_{2},m}^{g}-{x}_{{r}_{3},m}^{g}\right)\right), \\ & \quad p= 1, 2, \ldots, P, m= 1, 2,\ldots, M \end{aligned} $$
(15)
$$ \begin{aligned} v{y}_{p,m}^{g+1} & =round\left({y}_{{r}_{1},m}^{g}+{F}^{i,g}\cdot \left({y}_{{r}_{2},m}^{g}-{y}_{{r}_{3},m}^{g}\right)\right), \\ & \quad p= 1, 2, \ldots, P, m=M+1, M+2, \ldots, 2M, \end{aligned} $$
(16)
where indices r1, r2, and r3 are different integers that are randomly selected from [1, P] and not equal to i. round is the rounding function, and F is a mutation scaling factor that affects the differential variation between two individuals. If \(v{x}_{p,m}^{g+1}\) or \(v{y}_{p,m}^{g+1}\) exceeds the upper or lower bounds, then it will be randomly generated again until it is within the range.
As an improvement to DE, an adaptive mutation factor is adopted in MHDE to enhance the population diversity and global search capability, which is given by
$${F}^{p,g}=F\cdot {\xi }^{p,g}, p= 1, 2, \ldots, P, g=1, 2, \ldots , G,$$
(17)
where ξp,g is generated independently from the normal distribution, and F amplifies the variation.

Crossover operation

Crossover operation is introduced in DE to increase the diversity of the perturbed parameter vectors. In each iteration, the crossover operator will be applied to each mutant vector and its corresponding target vector to yield a trial vector \(U{Z}_{p}^{g+1}=\Big\{u{x}_{p,1}^{g+1},u{x}_{p,2}^{g+1}, \ldots ,u{x}_{p,M}^{g+1},u{y}_{p,M+1}^{g+1},u{y}_{p,M+2}^{g+1}, \ldots ,\)\(u{y}_{p,2M}^{g+1}\Big\}\). A new crossover strategy is applied for increasing the diversity of the population. In MHDE, the trial vector can be obtained by Eqs. (18) and (19)
$$ ux_{p,m}^{g + 1} = \left\{ {\begin{array}{*{20}{l}} {vx_{p,m}^{g + 1},}&{{\text{if}}\;rand\left( m \right) \leq CR\;{\text{or}}\;m = {m_1}} \\ {vx_{k,m}^g,}&{{\text{otherwise}}} \end{array}} \right.\quad p = 1,2, \ldots ,P,m = 1,2, \ldots ,M $$
(18)
$$ uy_{p,m}^{g + 1} = \left\{ {\begin{array}{*{20}{l}} {vy_{p,m}^{g + 1},}&{{\text{if}}\;rand\left( m \right) \leq CR\;{\text{or}}\;m = {m_2}} \\ {vy_{k,m}^g,}&{{\text{otherwise}}} \end{array},\quad } \right.p = 1,2, \ldots ,P,\;m = M + 1, \ldots ,2M,$$
(19)
where \(rand(l)\in [\mathrm{0,1}]\) is a random number generated from a uniform distribution, \({m}_{1}\in [1, 2, \ldots ,M]\) and \({m}_{2}\in [M+1, M+2, \ldots , 2M]\) are two random numbers that ensure that trial vector UZpg+1 gets at least one parameter from mutant vector VZpg+1, k is a random number whose range is \([1, 2, \ldots ,P]\), and CR is a pre-defined crossover rate.
MHDE also uses an adaptive mechanism in the crossover operator to further increase the diversity of the population, for which the crossover factor CR changes adaptively by Eq. (20)
$$C{R}^{i,g}=\left\{\begin{array}{c}rand1, rand2<\tau \\ C{R}^{i,g-1}, {\text{otherwise}}\end{array}\right.,$$
(20)
where \(rand1\) and \(rand2\) are two random variables that are uniformly distributed on [0, 1], and τ is a constant which is the probability of changing CR. Note that τ = 0.9 in this study.

Selection operation

The selection operation determines whether the trial vector UZpg+1 or the target vector Zpg can get into the next generation. A greedy criterion is usually used for the selection operation in DE. In this study, a truncation selection from the genetic algorithm is adopted to overcome the limitation of the traditional greedy criterion in DE [31], and the steps are as follows:
Step 1: Generate a new population \(\left\{{Z}_{1}^{g},{Z}_{2}^{g},\ldots ,{Z}_{P}^{g},U{Z}_{1}^{g+1},U{Z}_{2}^{g+1},\ldots ,U{Z}_{P}^{g+1}\right\}\) by combining the population \(\left\{{Z}_{1}^{g},{Z}_{2}^{g},\ldots ,{Z}_{P}^{g}\right\}\) and \(\left\{U{Z}_{1}^{g+1},U{Z}_{2}^{g+1},\ldots ,U{Z}_{P}^{g+1}\right\}\);
Step 2: Compute and sort the fitness value of the new population;
Step 3: Select the first P individuals as the next generation of the population \(\left\{{Z}_{1}^{g+1},{Z}_{2}^{g+1}, \ldots ,{Z}_{P}^{g+1}\right\}\).

Stopping criterion

The mutation, crossover, and selection operations will be repeated until a termination criterion is satisfied. In this study, MHDE will be terminated if one of the following criteria is satisfied:
1.
Stop if no better solution can be generated in consecutive K generations (K is a pre-defined counter value).
 
2.
Stop if maximum iterations G is reached.
 

Algorithm flow

In summary, MHDE consists of the following steps:
Step 1: Initialization. Set k = 0 and g = 0, and generate an initial population with P target individuals by applying OBL.
Step 2: Evaluate each target individual Zp0, p = 1, 2, \(\ldots \), P.
Step 3: Generate P trial individuals. For p = 1 to P, repeat Steps 3.1–3.2.
Step 3.1: Mutation operation. Update mutation factor F using Eq. (20) and generate a mutant vector VZpg+1 by using Eqs. (18) and (19). If an infeasible solution is generated, repeat this step until a new feasible solution is generated.
Step 3.2: Crossover operation. Update crossover factor CR using Eq. (23) and generate a trial vector UZpg+1 by Eqs. (21) and (22).
Step 4: Selection operation. Evaluate each trial vector UZpg+1, p = 1, 2, …, P and generate a new population \({{Z}^{g+}}^{1}=\left\{{Z}_{1}^{g+1},{Z}_{2}^{g+1},\dots ,{Z}_{P}^{g+1}\right\}\) using the truncation-selection scheme.
Step 5: Set g = g + 1. If \(f\left({Z}_{best}^{g}\right)=f\left({Z}_{best}^{g+1}\right)\), set k = k + 1. Otherwise, set k = 1.
Step 6: If g = G or k = K, stop and output Zbest and f(Zbest). Otherwise, go to Step 3.

Numerical experimentation

In this section, we present a series of experiments to evaluate the performance of MHDE and compare it with the other three algorithms in the literature, i.e., ISaDE [42], NDADE [33], and DE [37]. First, parameter analysis is conducted to find the optimal settings for the four algorithms under comparison. Furthermore, LIPs in different sizes are solved by the four algorithms to evaluate their performances. Finally, a sensitivity analysis is conducted to analyze the impact of business parameters and derive managerial insights. All the experiments are implemented by Java JDK 2020–06 on a personal computer (COU: Intel(R) Core(TM) i5-9500 T CPU @ 2.20 GHz 2.21 GHz, RAM: 4 GB, Operating System: Windows 10).

Parameter settings

In this study, the candidate facility locations and customer zones are randomly generated in a 100 × 100 square. The shipping costs between facilities and customer zones are their Euclidean distance, and the other parameters in the LIP are shown in Table 2.
Table 2
LIP parameters
Parameters
Value
Parameters
Value
Parameters
Value
ai
U[1000, 1500]
aj
U[1000, 1500]
ak
U[1000, 1500]
br
U[1, 3]
bs
U[5, 10]
cr
10
cs
10
er
5
es
5
hr
U[1, 3]
hs
U[1, 3]
qm
U[0, 10]
µm
U[20, 30]
σm2
σm2 = µm
zα
1.96
L
1
λ
300
  
U[a, b] is the uniform distribution over the interval of [a, b]
In this study, parameter analysis is conducted to find the optimal settings for the four algorithms, because the quality of solutions relies heavily on their parameters. P, K, and G are the basic parameters in DE-based algorithms. Storn and Price [37] proposed that \(P\in \left[5M,10M\right]\), and Li, Guo, and Zhang [31] suggested that this range can be further extended for LIPs, which are \(P\in \left[2M,10M\right]\). Hence, we are using the following parameters in this study: (1) K = M in all experiments, (2) G = 10 M in all experiments, (3) P = 3 M in small-size problems (10 candidate DCs—5 candidate HDCCs—5 candidate CCs—100 customer zones), P = 4 M in medium-size problems (15 candidate DCs—8 candidate HDCCs—7 candidate CCs—150 customer zones), and P = 5 M in large-size problems (20 candidate DCs—10 candidate HDCCs—10 candidate CCs—200 customer zones).
Moreover, F and CR are chosen by tuning tests, for which an example network that consists of 10 candidate DCs, 5 candidate HDCCs, 5 candidate CCs, and 100 customer zones is used. Each combination of the two parameters was executed 30 times, and the parameters are evaluated by the average objective value and runtime. Note that the runtimes are given in seconds, and the optimal objective value from Lingo is 18372610. The parameter test results are shown in Tables 3, 4, 5, and 6.
Table 3
Computational results with different F and CR in MHDE
F\CR
0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
0.16
0.18
0.20
0.00
 Mean
18,533,013.27
18,537,959.08
18,552,046.49
18,553,799.58
18,566,126.89
18,552,609.27
18,568,477.46
18,571,206.47
18,537,985.96
18,562,172.79
18,567,885.52
 CPU time (s)
1.43
1.43
1.41
1.38
1.39
1.38
1.37
1.35
1.36
1.34
1.34
0.10
 Mean
18,481,309.45
18,453,402.01
18,442,272.22
18,421,098.55
18,428,074.06
18,444,573.93
18,432,839.35
18,437,018.27
18,436,615.59
18,446,329.35
18,427,559.35
 CPU time (s)
1.52
1.56
1.59
1.62
1.68
1.70
1.74
1.76
1.81
1.81
1.83
0.20
 Mean
18,453,889.14
18,417,296.63
18,424,184.39
18,426,476.59
18,422,957.52
18,412,771.53
18,401,223.32
18,410,866.90
18,415,919.15
18,420,908.14
18,437,271.74
 CPU time (s)
1.56
1.63
1.71
1.77
1.90
1.98
2.05
2.20
2.25
2.36
2.45
0.30
 Mean
18,448,522.74
18,414,662.95
18,408,967.29
18,405,875.58
18,409,047.73
18,398,067.02
18,397,413.20
18,402,122.44
18,394,606.42
18,408,879.83
18,408,909.08
 CPU time (s)
1.57
1.68
1.77
1.92
2.06
2.20
2.35
2.47
2.68
2.83
3.04
0.40
 Mean
18,437,194.74
18,397,447.69
18,406,140.38
18,402,847.30
18,387,064.38
18,385,064.40
18,387,579.10
18,385,645.94
18,391,905.33
18,394,180.40
18,397,400.05
 CPU time (s)
1.58
1.71
1.84
1.97
2.19
2.36
2.56
2.78
3.02
3.21
3.54
0.50
 Mean
18,441,382.35
18,393,147.69
18,396,383.60
18,386,594.04
18,384,365.94
18,378,110.66
18,390,189.98
18,388,633.94
18,387,284.81
18,383,097.06
18,388,230.63
 CPU time (s)
1.61
1.72
1.88
2.03
2.28
2.48
2.74
3.05
3.38
3.60
3.99
0.60
           
 Mean
18,422,487.89
18,394,655.19
18,392,216.92
18,378,977.69
18,383,190.69
18,379,602.44
18,380,615.39
18,377,976.02
18,382,876.91
18,376,424.51
18,380,015.20
 CPU time (s)
1.60
1.75
1.90
2.10
2.34
2.59
2.92
3.22
3.68
4.01
4.41
0.70
 Mean
18,420,142.10
18,395,863.18
18,389,743.72
18,379,523.98
18,379,996.87
18,377,582.68
18,378,200.69
18,378,030.86
18,376,001.91
18,383,968.70
18,377,577.61
 CPU time (s)
1.62
1.76
1.94
2.13
2.43
2.75
3.06
3.46
3.93
4.38
4.93
0.80
 Mean
18,404,953.57
18,390,730.18
18,382,723.77
18,379,805.16
18,379,213.97
18,381,187.19
18,377,217.63
18,375,390.20
18,379,410.99
18,376,001.53
18,377,897.19
 CPU time (s)
1.64
1.78
1.98
2.20
2.45
2.92
3.37
3.79
4.28
4.90
5.32
0.90
 Mean
18,427,214.58
18,381,973.56
18,378,352.23
18,379,229.68
18,375,052.25
18,373,141.17
18,376,652.54
18,374,945.66
18,375,892.97
18,374,572.28
18,377,475.64
 CPU time (s)
1.63
1.79
1.96
2.19
2.49
2.91
3.49
3.90
4.38
5.27
5.71
1.00
 Mean
18,426,549.35
18,379,419.86
18,375,573.52
18,374,769.01
18,379,182.65
18,375,604.32
18,374,278.32
18,374,570.69
18,375,209.91
18,374,759.47
18,375,972.63
 CPU time (s)
1.60
1.76
1.97
2.23
2.56
2.94
3.31
3.97
4.61
5.15
6.04
Table 4
Computational results with different F and CR in ISaDE
F\CR
0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
0.16
0.18
0.20
0.00
 Mean
18,459,887.50
18,428,209.97
18,393,212.25
18,388,602.01
18,390,513.00
18,380,950.36
18,384,794.59
18,386,491.67
18,381,566.48
18,384,094.50
18,389,706.62
 CPU time (s)
1.99
2.18
2.43
2.73
3.09
3.52
4.03
4.54
5.16
5.77
6.46
0.10
 Mean
18,488,172.05
18,406,837.75
18,400,624.46
18,398,114.37
18,386,219.77
18,384,893.00
18,388,576.37
18,390,007.48
18,394,990.84
18,382,409.06
18,383,899.91
 CPU time (s)
2.01
2.20
2.49
2.82
3.24
3.75
4.38
5.08
6.04
6.97
8.01
0.20
 Mean
18,473,787.93
18,417,397.72
18,405,479.37
18,398,865.39
18,381,181.58
18,390,760.13
18,379,551.62
18,377,520.52
18,393,230.53
18,378,622.11
18,384,702.55
 CPU time (s)
1.98
2.24
2.51
2.87
3.40
3.93
4.63
5.56
6.58
7.80
9.08
0.30
 Mean
18,499,462.92
18,413,648.01
18,388,640.19
18,394,205.31
18,389,806.72
18,382,453.38
18,379,176.25
18,385,691.19
18,378,414.26
18,383,398.31
18,434,301.08
 CPU time (s)
2.02
2.26
2.56
2.95
3.43
3.99
4.86
5.83
7.06
8.48
9.44
0.40
 Mean
18,478,733.39
18,413,474.08
18,389,310.87
18,382,985.79
18,378,070.54
18,378,104.05
18,375,662.63
18,380,416.96
18,376,343.17
18,376,108.90
18,444,949.60
 CPU time (s)
1.98
2.27
2.56
2.98
3.48
4.06
4.92
5.90
7.13
8.60
9.52
0.50
 Mean
18,466,127.54
18,416,352.62
18,389,020.82
18,391,135.19
18,389,323.81
18,378,758.29
18,378,293.81
18,380,931.62
18,376,929.92
18,381,380.73
18,516,441.02
 CPU time (s)
1.98
2.20
2.55
2.94
3.48
4.13
4.96
5.95
7.36
8.77
9.50
0.60
 Mean
18,462,284.07
18,408,719.10
18,389,375.47
18,381,885.93
18,377,150.88
18,384,228.51
18,378,055.38
18,383,196.09
18,380,631.19
18,375,557.42
18,515,357.24
 CPU time (s)
1.99
2.26
2.58
2.95
3.55
4.15
5.00
5.98
7.42
8.86
9.51
0.70
 Mean
18,474,788.77
18,398,141.52
18,387,238.87
18,387,102.46
18,380,469.08
18,379,077.31
18,380,965.94
18,382,152.95
18,378,801.43
18,376,812.09
18,538,800.10
 CPU time (s)
2.04
2.28
2.57
2.99
3.58
4.23
4.98
6.12
7.24
9.02
9.57
0.80
 Mean
18,480,812.80
18,404,583.48
18,392,424.89
18,384,335.95
18,384,619.99
18,374,553.80
18,379,143.31
18,376,216.34
18,383,099.83
18,376,513.64
18,534,688.39
 CPU time (s)
2.03
2.30
2.58
3.01
3.54
4.15
4.94
6.14
7.37
8.80
9.58
0.90
 Mean
18,465,362.97
18,418,494.17
18,385,965.91
18,382,436.39
18,378,991.22
18,382,920.11
18,376,833.32
18,376,132.26
18,383,316.73
18,382,824.95
18,573,362.23
 CPU time (s)
2.00
2.23
2.58
2.95
3.49
4.13
4.97
6.03
7.42
8.95
9.58
1.00
 Mean
18,426,199.89
18,430,448.32
18,386,616.15
18,382,029.47
18,375,295.21
18,380,105.90
18,374,087.47
18,376,785.01
18,374,023.95
18,374,760.90
18,621,112.46
 CPU time (s)
1.91
2.14
2.42
2.84
3.36
4.15
4.95
5.95
7.56
8.89
9.57
Table 5
Computational results with different F and CR in NDADE
F\CR
0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
0.16
0.18
0.20
0.00
 Mean
18,597,675.30
18,782,352.49
18,951,777.95
19,041,018.18
19,133,201.80
19,213,005.38
19,244,649.67
19,293,749.02
19,399,832.46
19,417,648.46
19,507,670.64
 CPU time (s)
6.75
4.48
3.58
3.10
2.75
2.66
2.53
2.39
2.21
2.18
2.06
0.10
 Mean
18,382,239.76
18,379,485.93
18,384,409.51
18,405,626.96
18,431,365.93
18,440,994.88
18,453,140.55
18,491,059.94
18,484,480.13
18,513,599.32
18,558,903.72
 CPU time (s)
7.83
6.36
5.49
4.96
4.69
4.39
4.13
4.00
3.92
3.85
3.71
0.20
 Mean
18,527,858.36
18,373,912.17
18,375,133.92
18,378,009.85
18,386,462.52
18,391,485.24
18,398,297.95
18,415,182.58
18,431,405.16
18,448,565.20
18,469,496.83
 CPU time (s)
8.31
7.59
7.20
6.93
6.71
6.50
6.24
6.24
6.31
6.13
6.01
0.30
 Mean
18,860,491.32
18,452,021.14
18,405,037.24
18,403,242.40
18,403,035.50
18,407,296.57
18,410,845.15
18,413,543.23
18,421,475.48
18,425,853.50
18,456,863.39
 CPU time (s)
8.51
8.28
8.13
8.09
8.06
7.99
7.88
7.84
7.86
7.72
7.75
0.40
 Mean
19,186,991.68
18,769,967.78
18,720,684.30
18,770,754.21
18,785,153.86
18,846,320.21
18,818,748.53
18,865,045.25
18,898,646.75
18,936,398.43
18,915,641.21
 CPU time (s)
8.59
8.55
8.41
8.49
8.36
8.45
8.29
8.28
8.34
8.39
8.33
0.50
 Mean
19,532,437.40
19,161,085.71
19,253,335.44
19,381,599.33
19,480,943.35
19,527,341.66
19,628,448.12
19,728,387.93
19,778,821.49
19,737,609.17
19,748,425.43
 CPU time (s)
8.69
8.62
8.61
8.60
8.56
8.57
8.50
8.45
8.60
8.53
8.66
0.60
 Mean
19,684,736.16
19,577,809.45
19,768,778.44
19,998,973.01
20,288,057.23
20,380,584.77
20,554,449.88
20,887,338.94
20,795,688.38
21,044,761.70
21,172,627.12
 CPU time (s)
8.76
8.68
8.67
8.74
8.63
8.69
8.72
8.31
8.69
8.43
8.17
0.70
 Mean
19,897,361.15
19,892,958.60
20,232,308.22
20,632,963.76
21,084,236.51
21,374,928.19
21,744,629.87
21,507,065.35
21,599,505.85
22,058,687.62
21,732,782.14
 CPU time (s)
8.90
8.78
8.81
8.82
8.79
8.64
8.56
8.64
8.64
8.32
8.46
0.80
 Mean
20,034,970.19
20,175,576.61
20,654,394.76
21,252,069.37
21,622,354.17
22,030,592.12
22,172,563.80
22,628,405.67
22,738,944.78
22,868,500.95
23,007,928.33
 CPU time (s)
8.89
8.80
8.91
8.82
8.75
8.75
8.82
8.54
8.52
8.28
8.25
0.90
 Mean
20,138,280.10
20,421,796.56
21,185,442.72
21,820,762.79
22,360,793.70
22,730,573.30
23,385,652.30
23,012,623.55
23,712,137.36
24,030,487.98
24,184,638.36
 CPU time (s)
9.00
8.97
8.93
8.92
8.82
8.80
8.66
8.61
8.27
8.11
8.02
1.00
 Mean
20,280,885.74
20,672,312.80
21,470,460.01
22,128,597.99
22,983,339.17
23,476,806.54
24,432,741.05
25,167,575.69
25,284,321.37
25,190,024.04
25,790,596.62
 CPU time (s)
8.93
8.94
9.03
8.90
8.99
8.86
8.33
7.54
7.56
7.79
7.42
Table 6
Computational results with different F and CR in DE
F\CR
0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
0.16
0.18
0.20
0.00
 Mean
18,598,668.57
18,776,789.73
18,916,916.59
19,037,746.79
19,140,012.66
19,206,354.91
19,295,767.34
19,383,087.90
19,426,285.11
19,478,569.92
19,539,853.15
 CPU time (s)
6.82
4.47
3.59
3.11
2.78
2.53
2.35
2.20
2.10
2.01
1.93
0.10
 Mean
18,575,961.67
18,374,970.37
18,377,370.65
18,383,903.16
18,389,742.74
18,391,565.14
18,395,008.04
18,395,067.94
18,415,400.29
18,429,800.71
18,426,680.85
 CPU time (s)
8.07
7.60
7.32
7.22
7.24
7.26
7.29
7.42
7.39
7.53
7.65
0.20
 Mean
19,389,165.76
19,004,205.94
19,128,597.70
19,406,812.87
19,811,538.84
20,244,761.02
20,624,621.21
21,172,823.54
21,636,704.74
22,286,414.12
22,593,387.25
 CPU time (s)
8.41
8.32
8.32
8.28
8.29
8.41
8.41
8.48
8.46
8.47
8.50
0.30
 Mean
20,628,538.98
21,441,315.92
22,827,659.07
24,406,288.37
25,698,987.45
26,946,440.85
28,080,138.90
29,246,936.69
30,215,501.35
31,149,554.60
32,034,574.77
 CPU time (s)
8.67
8.61
8.55
8.53
8.45
8.28
8.02
7.55
7.09
6.50
5.89
0.40
 Mean
20,704,065.38
21,784,926.41
23,442,675.72
25,110,072.76
26,797,407.36
28,153,756.13
29,549,718.61
30,821,065.17
31,565,767.57
31,984,669.80
33,051,189.94
 CPU time (s)
8.59
8.57
8.61
8.55
8.17
7.91
7.21
6.35
6.06
6.43
5.16
0.50
 Mean
21,264,637.11
22,958,914.30
25,155,905.89
27,131,575.64
28,681,057.09
30,489,465.66
31,782,697.75
32,335,461.82
33,328,719.04
33,853,093.29
34,379,008.81
 CPU time (s)
8.75
8.75
8.58
8.25
8.03
6.96
6.29
6.41
5.58
5.51
5.24
0.60
 Mean
22,002,909.86
24,272,539.99
26,666,675.30
28,932,437.84
30,638,798.39
31,787,688.56
32,920,346.38
33,957,792.09
34,511,943.56
34,797,573.45
35,681,706.68
 CPU time (s)
8.84
8.81
8.86
8.22
7.21
6.88
6.19
4.96
5.08
5.12
4.17
0.70
 Mean
21,810,692.66
24,049,646.69
26,654,051.67
28,638,750.96
30,421,443.10
31,830,600.63
33,010,030.20
33,554,395.36
34,483,692.59
35,100,640.40
35,669,906.21
 CPU time (s)
8.84
8.79
8.64
8.43
7.50
6.66
5.91
5.76
5.34
4.74
4.61
0.80
 Mean
21,393,926.84
23,221,808.22
25,537,050.33
27,476,704.49
29,710,716.65
31,112,645.24
32,475,902.50
33,214,736.25
34,013,833.58
34,839,531.43
35,311,778.82
 CPU time (s)
8.83
8.92
8.90
8.92
7.95
7.16
6.16
5.98
5.58
4.70
4.50
0.90
 Mean
21,291,597.10
23,241,048.27
25,740,023.95
28,003,244.33
29,867,851.66
31,619,023.71
33,055,789.08
33,879,017.50
34,709,029.48
35,106,576.89
36,014,486.61
 CPU time (s)
8.95
8.96
8.98
8.69
8.20
6.78
5.72
5.16
4.69
4.72
3.79
1.00
 Mean
20,788,528.92
22,355,025.43
24,628,244.73
27,099,824.86
29,370,738.03
30,435,439.77
32,662,046.58
33,170,052.62
33,991,132.51
34,711,950.02
35,161,087.12
 CPU time (s)
8.93
9.05
9.01
8.94
7.99
8.27
5.55
6.32
5.65
4.65
5.20
(1)
Parameter tuning for MHDE
From Table 3, we can see that F and CR have a significant impact on the performance of MHDE, and the best setting is F = 0.9 and CR = 0.1, which is shown in red cells.
 
(2)
Parameter tuning for ISaDE
From Table 4, we can see that F and CR have a significant impact on the performance of ISaDE, and the best setting is F = 0.8 and CR = 0.1, which is shown in red cells.
 
(3)
Parameter tuning for NDADE
From Table 5, we can see that F and CR have a significant impact on the performance of NDADE, and the best setting is F = 0.2 and CR = 0.02, which is shown in red cells.
 
(4)
Parameter tuning for DE
From Table 6, we can see that F and CR have a significant impact on the performance of DE, and the best setting is F = 0.1 and CR = 0.02, which is shown in red cells.
The above parameter settings will be applied to the subsequent experiments in this study.
 

Performance comparison

In this section, we compare the performance of MHDE with the other three DE-based algorithms in the literature (i.e., ISaDE, NDADE, and DE) and a commercial solver (i.e., Lingo). The experiments are conducted on nine example problems in three different sizes, which are 3 small-size, 3 medium-size, and 3 large-size problems, respectively. For each problem, MHDE, ISaDE, NDADE, and DE were executed 30 times because of the random nature of DE-based algorithms, while the problem is solved only once in Lingo. The numerical results are shown in Tables 7, 8 and 9, in which \(Gap=\frac{Others.Mean-MHDE.Mean}{Others.Mean}\times 100\%, Others=\left\{ISaDE,NDADE,DE,Lingo\right\}\). Since Lingo is not able to solve large-size problems after excessively long runtimes, the numerical results from Lingo are not provided in Table 9.
Table 7
Performance comparison on small-size problems
Instance
Algorithm
Min
Max
Mean
SD
CPU time
SD
Gap (%)
Small size-1
MHDE
18,372,613.92
18,377,368.74
18,373,141.17
1397.72
2.91
0.09
 
ISaDE
18,372,613.92
18,386,033.01
18,374,553.80
2765.82
4.15
0.10
0.01
NDADE
18,372,613.92
18,379,019.37
18,373,912.17
1916.73
7.59
0.07
0.00
DE
18,372,613.92
18,388,795.14
18,374,970.37
3404.74
7.60
0.08
0.01
Lingo
18,372,610.00
   
581.00
  
Small size-2
MHDE
18,465,140.56
18,471,492.23
18,465,569.16
1279.62
3.01
0.17
 
ISaDE
18,465,140.56
18,483,146.12
18,468,886.03
5219.08
4.13
0.13
0.02
NDADE
18,465,140.56
18,491,558.32
18,467,075.43
4990.09
7.63
0.07
0.01
DE
18,465,140.56
18,507,117.44
18,470,401.13
8234.03
7.62
0.06
0.03
Lingo
18,465,140.00
   
526.00
  
Small size-3
MHDE
18,267,232.49
18,270,967.57
18,267,367.63
669.94
2.89
0.15
 
ISaDE
18,267,232.49
18,282,316.66
18,269,786.39
3963.43
4.13
0.19
0.01
NDADE
18,267,232.49
18,271,730.03
18,267,694.04
1041.92
7.47
0.08
0.00
DE
18,267,232.49
18,295,680.52
18,270,190.77
6345.21
7.59
0.05
0.02
Lingo
18,267,230.00
   
648.00
  
Table 8
Performance comparison on medium-size problems
Instance
Algorithm
Min
Max
Mean
S.D
CPU time
S.D
Gap (%)
Medium size-1
MHDE
21,621,909.86
21,638,396.92
21,622,957.79
3154.50
30.02
1.50
 
ISaDE
21,622,796.48
21,715,593.59
21,653,980.24
25,952.26
48.36
0.34
0.14
NDADE
22,737,585.11
23,597,173.61
23,045,975.45
171,955.81
41.07
0.10
6.17
DE
25,115,517.44
25,670,305.35
25,400,873.89
138,203.05
40.81
0.08
14.87
Lingo
21,621,910.00
   
3600.00
  
Medium size-2
MHDE
21,341,095.51
21,357,505.19
21,343,587.21
4626.15
24.62
1.12
 
ISaDE
21,341,095.51
21,370,538.50
21,348,967.96
9865.29
40.16
1.28
0.03
NDADE
22,116,445.17
22,784,183.50
22,468,311.22
152,792.63
40.52
0.17
5.01
DE
23,490,705.60
24,102,168.59
23,842,833.62
138,366.13
40.50
0.09
10.48
Lingo
21,341,100.00
   
3375.00
  
Medium size-3
MHDE
21,413,368.97
21,420,740.82
21,414,504.18
2184.89
24.56
1.18
 
ISaDE
21,413,368.97
21,460,863.70
21,420,546.81
9311.63
40.66
1.57
0.03
NDADE
22,220,606.64
22,898,006.04
22,596,572.33
166,315.46
40.52
0.09
5.23
DE
23,566,351.74
24,082,596.63
23,902,160.65
118,472.10
40.12
0.05
10.41
Lingo
21,413,370.00
   
3439.00
  
Table 9
Performance comparison in large-size problems
Instance
Algorithm
Min
Max
Mean
S.D
CPU Time(S)
S.D
Gap (%)
Large size-1
MHDE
29,339,109.23
29,350,389.87
29,340,652.51
2865.75
145.78
5.05
 
ISaDE
30,656,830.37
32,054,249.01
31,345,262.52
285,807.92
163.33
0.54
6.40
NDADE
33,189,448.42
34,779,716.46
34,047,650.38
418,780.52
131.68
0.16
13.82
DE
38,211,271.01
39,145,500.31
38,755,865.21
186,957.14
130.66
0.12
24.29
Large size-2
MHDE
29,541,252.09
29,546,952.02
29,541,871.30
1323.90
146.07
6.09
 
ISaDE
30,887,070.44
32,442,189.03
31,732,106.71
315,586.50
163.75
0.34
6.90
NDADE
33,681,639.34
35,396,675.31
34,649,357.32
437,956.69
132.54
0.14
14.74
DE
38,822,254.64
39,670,432.51
39,387,298.14
188,407.81
134.28
0.10
25.00
Large size-3
MHDE
29,875,780.49
29,887,046.25
29,877,173.76
3118.28
150.66
7.18
 
ISaDE
31,812,049.45
33,072,062.12
32,459,461.84
363,266.53
162.60
0.39
7.96
NDADE
34,478,037.15
36,239,385.80
35,372,546.61
380,310.34
130.88
0.12
15.54
DE
39,340,238.55
40,601,880.30
40,026,879.92
281,701.10
132.59
0.11
25.36
The following conclusions can be made from Tables 7, 8 and 9:
1.
The optimal solutions from MHDE and Lingo are almost identical for small-size and medium-size problems, but MHDE is more efficient than Lingo. This indicates that MHDE has a great time efficiency to solve the LIP under study.
 
2.
MHDE, ISaDE, NDADE, and DE can obtain similar solution accuracies on small-size problems. However, MHDE has a much better solution accuracy and less runtime than the other three algorithms on medium-size and large-size problems. This indicates that MHDE outperforms ISaDE, NDADE, and DE in both solution quality and algorithm efficiency. Moreover, gaps are larger when the problem size increases. This indicates that MHDE is a more effective approach and it will have more advantages when the model is bigger.
 
3.
MHDE has less standard deviation than ISaDE, NDADE, and DE in each instance, which means that MHDE is more stable and hence more likely to get good solutions with fewer executions of the algorithm.
 
To justify the performance of MHDE, non-parametric statistical tests for independent populations can be useful for pairwise comparison between solutions of the algorithms. The Mann–Whitney U test is an appropriate candidate for this situation. This test with a 95% confidence interval is used to verify whether there is a significant difference in the total cost. Tables 10, 11 and 12 show the test results for small-size, medium-size, and large-size problems, respectively. We did all statistical computations in the IBM SPSS statistics 25 software.
Table 10
Mann–Whitney U test of MHDE and ISaDE
No.
Small size
Medium size
Large size
p value
Significant? (p < 0.05)
p value
Significant? (p < 0.05)
p value
Significant? (p < 0.05)
1.
0.009
Y
0.000
Y
0.000
Y
2.
0.004
Y
0.034
Y
0.000
Y
3.
0.001
Y
0.000
Y
0.000
Y
Table 11
Mann–Whitney U test of MHDE and NDADE
No.
Small size
Medium size
Large size
p value
Significant? (p < 0.05)
p value
Significant? (p < 0.05)
p value
Significant? (p < 0.05)
1.
0.147
N
0.000
Y
0.000
Y
2.
0.166
N
0.000
Y
0.000
Y
3.
0.254
N
0.000
Y
0.000
Y
Table 12
Mann–Whitney U test of MHDE and DE
No.
Small size
Medium size
Large size
p value
Significant? (p < 0.05)
p value
Significant? (p < 0.05)
p value
Significant? (p < 0.05)
1.
0.010
Y
0.000
Y
0.000
Y
2.
0.000
Y
0.000
Y
0.000
Y
3.
0.000
Y
0.000
Y
0.000
Y
From Tables 10, 11 and 12, we can see that p values are less than 0.05 in most problems. MHDE is statistically significantly better than other approaches. Therefore, it is concluded that MHDE is superior to these other algorithms for solving the proposed problem. Hence, MHDE is a more effective approach that can provide better feasible solutions.

Managerial implications

In this section, sensitivity analysis is performed to analyze the impact of business factors on supply chain performance. Figures 3, 4, 5, 6, 7 and 8 show the changes of the parameters being tested and the changes of supply chain costs accordingly. For example, Fig. 3 shows that CL, CI, and CT will increase as qm increases. Figure 4 shows that CL and CT will increase, but CI will remain the same when drm or dms increases. Figures 5, 6, 7 and 8 show that CI and CT will increase but CL will remain the same when any of br, bs, cr, cs, er, es, hr, hs increases.
Figures 3, 4, 5, 6, 7 and 8 also show the fluctuations of supply chain costs given the changes of different parameters. For example, the total and inventory costs will decrease by 37.61% and 49.9%, respectively, if drm and dms both decrease by 50%, and the total and inventory costs will increase by 37.61% and 49.9%, respectively, if drm and dms both increase by 50%. From Figs. 3, 4, 5, 6, 7 and 8, we can see drm and dms have the most significant influence than qm, er, and es.
According to the numerical results above, some managerial insights are obtained as follows:
1.
Considering the complex environment of product recovery, numerous items are involved in the recovery operations. Managers should pay attention to product recovery to increase sales and profitability and reduce the environmental impact.
 
2.
From our experiments, the more increase in the parameter qm, the more increase in the total cost of the supply chain system. The parameter qm has a significant impact on supply chain costs, location decisions, and inventory policies. Therefore, managers should pay attention to the related cost factors.
 
3.
The corresponding adjusting direction of cost parameters is provided to control the total cost for enterprises according to the results of the cost sensitivity analysis.
 
4.
The numerical results show that MHDE is a fast algorithm to find more feasible solutions and save the cost of the supply chain system. Therefore, MHDE can help recovery businesses to solve complex location-inventory problems.
 

Conclusions and future research

In this paper, an integrated location-inventory problem in a closed-loop supply chain with product recovery is studied. This problem is formulated as a mix-integer nonlinear programming model and solved by a novel heuristic algorithm which guarantees a good solution accuracy with great time efficiency. This study presents a new methodology to optimize facility location, inventory replenishment, and demand planning decisions, and it also provides a powerful tool to evaluate the business impact of real-world factors and identify opportunities to improve supply chain performance.
This study can be extended in several directions. For example, this problem can be extended to a more complicated location-inventory-routing problem which considers vehicle routing between facilities and customer zones. It can also be extended by considering more business processes and scenarios related to product recovery such as product disassembly. The algorithm can also be improved for better solution quality and time efficiency.

Acknowledgements

This research was partially supported by the Science and Technology Research Project of the Education Department of Hubei Province (Q20221708), the Humanities and Social Science Research Project of the Education Department of Hubei Province (21Q107, 20Q065), and the Guangdong Basic and Applied Basic Research Foundation (2019A1515010045).

Declarations

Conflict of interest

On behalf of all authors, the corresponding author states that there is no conflict of interest.
Open AccessThis article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://​creativecommons.​org/​licenses/​by/​4.​0/​.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Literatur
Metadaten
Titel
A hybrid differential evolution algorithm for a location-inventory problem in a closed-loop supply chain with product recovery
verfasst von
Hao Guo
Gang Liu
Ying Zhang
Chunnan Zhang
Chuanhui Xiong
Wenli Li
Publikationsdatum
26.12.2022
Verlag
Springer International Publishing
Erschienen in
Complex & Intelligent Systems / Ausgabe 4/2023
Print ISSN: 2199-4536
Elektronische ISSN: 2198-6053
DOI
https://doi.org/10.1007/s40747-022-00930-3

Weitere Artikel der Ausgabe 4/2023

Complex & Intelligent Systems 4/2023 Zur Ausgabe

Premium Partner