A Memetic Algorithm for an External Depot Production Routing Problem

: This study aims to compare the results of a memetic algorithm with those of the two-phase decomposition heuristic on the external depot production routing problem in a supply chain. We have modiﬁed the classical scheme of a genetic algorithm by replacing the mutation operator by three local search algorithms. The ﬁrst local search consists in exchanging two customers visited the same day. The second consists in trying an exchange between two customers visited at consecutive periods and the third consists in removing a customer from his current tour for a better insertion in any tour of the same period. The tests that were carried out on 128 instances of the literature have highlighted the effectiveness of the memetic algorithm developed in this work compared to the two-phase decomposition heuristic. This is reﬂected by the fact that the results obtained by the memetic algorithm lead to a reduction in the overall average cost of production, inventory, and transport, ranging from 3.65% to 16.73% with an overall rate of 11.07% with regard to the results obtained with the two-phase decomposition heuristic. The outcomes will be beneﬁcial to researchers and supply chain managers in the choice and development of heuristics and metaheuristics for the resolution of production routing problem.


Introduction
In the supply chain field, simultaneously planning production, inventories and distribution while minimizing the overall cost of these operations is a complex exercise known as the production routing problem (PRP) [1]. The PRP is a combination of two well-known problems in the literature. On the one hand, we have the lot sizing problem (LSP) and the vehicle routing problem (VRP) on the other hand. LSP determines the best trade-off between production and storage operations. The aim is to simultaneously determine the production schedule, quantities to be produced and quantities to be stored to minimize the overall cost of production and inventory. See [2] for more detailed literature review on the LSP.
VRP is a difficult NP-Hard problem as a particular case of the traveling salesman problem (TSP) which is itself a NP-Hard problem [3,4]. It consists of arranging routes between customers who must be visited at the same time based on the number of vehicles available and finding the best scheduling of visits to minimize the overall cost of transport over the planning horizon. Readers are also invited to see [5][6][7] for a review of the mathematical formulations of the problem and the methods or algorithms used to resolve it.
In the practice of industries, these two problems are disjointedly and sequentially analyzed. However, the work of Chandra et al. [8,9] have shown that it is possible to make gains of 3% to 20% on the overall cost of production and distribution by integrating and coordinating the decisions of LSP and VRP. This integrated and coordinated PRP is a NPhard problem since it contains the VRP. In an integrated concept of supply chain planning, the customer no longer has exclusive control over decisions on his visit dates and quantities to be received. The implementation of new practices such as vendor managed inventory (VMI) and replenishment policies such as order-up-to-level (OU) and maximum level (ML) are necessary to achieve the goal of satisfying customer demand. VMI is a practice in which the supplier decides when and how much to deliver to the customer in a joint manner. He must also ensure that there is no shortage of stock at the customer. In the OU replenishment policy, all customers have maximum storage capacity and the amount delivered is such that the maximum level of storage is reached at each delivery. Whereas in the ML policy, all customers have maximum storage capacity and the quantity delivered is such that the maximum storage level is not exceeded at each delivery (0 ≤ q it ≤ L i ). See [10][11][12][13] for more details on the practice of VMI and the use of OU and ML replenishment policies. A detailed literature review of PRP was provided by [1].
Although PRP is an NP-hard problem, exact methods for its resolution have been proposed. Among these exact approaches, the Lagrangian relaxation was one of the first methods proposed for the resolution of the PRP [14]. A branch-and-price algorithm was proposed to solve a PRP with the use of a homogeneous fleet of vehicles [15]. In a study using a single vehicle [16], the authors used a branch-and-cut (B&C) algorithm to solve the PRP problem. The B&C algorithm has also been proposed to solve the multivehicle version of the PRP [17].
Given the complexity of the PRP, several heuristics and metaheuristics have been developed for its resolution. In the first works on the PRP introduced by Chandra et al. [9], an H1 type decomposition method was proposed. The authors decomposed the problem into a capacitated LSP and VRP followed by some local search heuristics to solve the problem. Test results have shown that the integrated approach allows gains on the overall cost of operations ranging from 3% to 20%. Another two-phase decomposition method was presented for solving a PRP with a heterogeneous fleet of vehicles [18]. The authors used a mixed integer programming (MIP) to solve the first phase of the problem. This first phase of the problem concerns a problem of LSP with direct shipment (DS). In the second phase, an efficient algorithm was used to solve the VRP. It is a H2 type algorithm because the DS decisions are incorporated into the LSP, which is not the case for the H1 type algorithm. The H2 type of two-phase decomposition heuristic (TPDH) has also been used to solve a PRP with external depot (EDPRP) [19]. The authors used a MIP for solving the LSP problem with DS in the first phase and then used a genetic algorithm to solve the VRP in the second phase.
Metaheuristics are algorithms used to solve difficult combinatorial optimization problems. They are therefore master strategies that use other heuristics to find a better approximation of the best overall solution to an optimization problem. They are mostly used when a more efficient classical method to solve a given combinatorial optimization problem is not known. The high level of abstraction of metaheuristics makes them suitable for a wide range of problems. Thus, they find their application in various fields of scientific research.
Swarm intelligence (SI) is a family of metaheuristics that relies on nature through the interactions of agents (ants, bees, etc.) to solve complex optimization problems. SI has been used in wind energy potential analysis and wind speed forecasting to reduce the operating cost of wind farms [20]. The authors used a hybrid algorithm that combines the advantages of the genetic and adaptive particle swarm optimization (PSO) algorithm to optimize the weights and biases of the nonlinear network of extreme learning machines (ELMs) to efficiently improve the accuracy of the ELMs. Another SI based on particle swarm optimization has been proposed for the analysis of handover in the field of spectrum sharing in mobile social networks [21]. With an increase in the globally adaptive inertia to 75.66% and an increase in data transfer rate of 47.29% compared to the IEEE802. 16 protocol, the authors obtained a maximum mean signal-to-noise ratio of 14.8 dB. This value is the overall optimum that is required during handover for any mobile social network. Thus, the authors claim that their algorithm outperforms those in the mobile network literature by 75% by optimizing various aspects of handover.
In the age of big data, analyzing data and extracting relevant information from it is a challenge. A very important issue in this area is the selection of the most informative features in a dataset. Given the success of SI in solving difficult NP problems, it is increasingly used for selecting relevant characteristics in data analysis or in machine learning algorithms. A detailed literature review on the use of SI in feature selection is provided by [22]. The authors presented a unified SI Framework to explain the methods, techniques, and parameter choice in a SI algorithm for feature selection. They also presented the different datasets used to implement SI algorithms as well as the different SI algorithms.
Another literature review focusing on PSO algorithms and ACO algorithms as representative of SI was presented by [23]. The authors presented a description of the PSO and ACO algorithms as well as a state of the art on other SI algorithms. They also presented a status report on the use of SI in solving real life problems.
Regarding the use of SI in solving PRPs, a PSO algorithm has recently been proposed to solve the planning problem in an intelligent food logistics system model [24]. The authors have formulated the problem in a mixed integer multi-objective linear programming. Four objectives are addressed in this study. They are the minimization of total system expense, the maximization of average food quality, the minimization of the amount of CO 2 emissions in transportation, and the production and minimization of total weighted delivery time.
Tests conducted on small, medium, and large data sets resulted in cost reductions of 15.51% compared to a three-step decomposition method.
A self-adaptive evolutionary algorithm was proposed for berth planning in the operation of maritime container terminals [25]. The authors proposed a chromosome in which the probabilities of crossover and mutation are encoded in the chromosome. They focused their study on the comparison of several methods of parameter selection in evolutionary algorithms. On the one hand, there are the parameter tuning strategy approaches in which the values of the selected parameters remain unchanged throughout the execution of the algorithm. On the other hand, we have the parameter control approaches in which the parameters of the algorithm are adjusted throughout the execution of the algorithm according to certain strategies. Parameter control can be deterministic, adaptive, or self-adaptive. Test results show that the evolutionary algorithm of self-adaptive parameter control outperforms evolutionary algorithms using deterministic parameter control, adaptive parameter control and parameter tuning strategy by 4.01%, 6.83%, and 11.84% respectively based on the value of the objective function.
Another evolutionary algorithm was used to address a VRP in a "factory in box" [26]. This "factory in a box" concept involves assembling production modules into containers and transporting the containers to different customer sites. The authors modeled the problem as mixed integer programming to solve the problem and used CPLEX to solve the mathematical model of the problem. In addition to the evolutionary algorithm, they also proposed three metaheuristics including variable neighborhood search (VNS), taboo search (TS), and simulated annealing (SA) to solve the problem. The results of the tests carried out on large-sized instances show that the evolutionary algorithm provides better results than the other metaheuristics (VNS, TS, SA) developed to solve the problem.
Genetic algorithm (GA) is a stochastic strategy for solving complex optimization problems that takes better advantage of concepts from natural genetics and the theory of evolution. It is used to solve a production, inventory and distribution planning problem that takes into account several products. [27], the authors have solved the integrated problem of LSP and VRP. They also proposed integer programming to minimize the total cost of the system. Tests performed on small instances found an optimality deviation of 1.739% compared to the branch-and-bound (B&B) method. A multi-plant supply chain model with multiple customers was proposed by [28]. In this supply chain, products are delivered directly from the factory to the customers. The authors developed a hybrid AG to address the minimization of the overall cost of production and distribution. They used a multi-point crossover operator. This number of cut-off points is equal to the length of the chromosome divided by 4 with a 15% probability of crossover.
A greedy randomized adaptive search procedure (GRASP) has been proposed for solving a PRP involving a single type of product over a multi-period planning horizon with the use of a homogeneous fleet of vehicles [29]. The authors proposed three versions of GRASP for the integrated resolution of the PRP These are a classical GRASP, an improved version of GRASP with the incorporation of reactive mechanisms and a version of GRASP with a path reconnection process. Test results on 90 randomly generated instances with 50, 100 and 200 clients over 20 periods established the effectiveness of GRASP on the traditional method of breaking down the problem into sub-problems. These results also showed that GRASP with path re-connection and GRASP with reactive mechanisms give better results than traditional GRASP (without improvement). A GRASP has also been developed to solve a bi-objectives production and distribution problem [30]. These objectives concern the minimization of total production and distribution costs and the balancing of the total workload in the supply chain. They used a homogeneous fleet of vehicles to transport products. The results of tests on literature instances show that the GRASP developed allows a relatively small number of non-dominated solutions to be obtained in a very short computing time. Although the approximation of the Pareto front for each instance is discontinuous and not convex, it highlights the trade-off between the two objective functions.
A reactive tabu search was presented for solving a PRP to satisfy a time varying demand with a homogeneous fleet of vehicles over a finite planning horizon [31]. The authors compared the test results with the results obtained with GRASP on instances of up to 200 clients and 20 periods. This comparison revealed an improvement in results ranging from 10% to 20% on the overall cost of operations with an increase in computing time. A Tabu search (TS) with path relinking (TSPR) was used for PRP resolution with a homogeneous fleet of vehicles [32]. Tests performed on datasets from the literature have shown that TSPR gives better results than memetic algorithm with population management (MA|PM) and an improvement in results ranging from 2.20% to 8.78% compared to RTS.
An adaptive large neighborhood search (ALNS) procedure was used for computing the lower bound in the formulation of the multivehicle production and inventory routing problem (MVPRP) [33]. The results of tests carried out on small, medium, and large size instances established the effectiveness of ALNS on GRASP, MA|PM, RTS, and TSPR. The same authors also used ALNS for the computing of upper bounds in a B&C procedure for solving the MVPRP [17].
The variable neighborhood search (VNS) was developed for PRP resolution with a homogeneous fleet of vehicles [34]. The test results for this algorithm show that it is as competitive as the ALNS algorithm.
Introduced by Moscato [35], memetic algorithm (MA) is a powerful version of GA based on the use of local search to intensify the search in order to increase its efficiency. The preservation of diversity is crucial in evolutionary algorithms in general [36] and in GA in particular. Crossover and mutation operators are the best means of guaranteeing the diversity of the population from one generation to the next. A good strategy of combining diversification and intensification is the key to success which gives the MA a definite advantage over the GA.
In the area of chain supply planning, MA was used to resolve the LSP. In this problem family, MA has been proposed for a problem of stochastic multi-product sequencing and LSP [37]. It has also been used for LSP in soft drink plants [38] and for a multi-stage capacitated LSP [39]. For the VRP family, MA has been proposed for a VRP with time windows (VRPTW) [40,41]. See also [42,43] for the capacitated VRP as well as [44,45] for the use of heterogeneous fleets of vehicles. The use of MA is also very present in the optimization of integrated problems such as PRP. A MA with population management (MA|PM) has been developed by Boudia and Prins [46] to solve the integrated production, inventory, and distribution problem. The authors tackled a problem of simultaneous minimization of three costs consisting of the setup cost, the inventories cost and distribution cost. Tests on 90 randomly generated instances showed the efficiency of MA|MP compared to TPDH and GRAPS. The MA was also used in a study aimed at minimizing the overall cost of setup, inventory, and distribution in a multi-plant supply chain. In this supply chain, the information flow management system called "KANBAN" was implemented to manage information [47]. A real case study concerning the minimization of the overall cost of production and distribution was conducted in a large automotive company [48]. In this study, the authors modeled the problem as a non-linear mixed integer programming and used a custom MA for its resolution.
The MA used in this work is an adaptation of the one proposed by Boudia and Prins [46] to solve an integrated production, inventory, and distribution problem.
The remainder of this work is organized as follows: Section 2 is a description of the EDPRP. Section 3 shows the details of the MA used for EDPRP resolution. Section 4 highlights the conditions for experimentation and the comparison of the results obtained by the MA and the TPDH of H2 type. Finally, Section 5 provides a conclusion on the comparative study of MA and TPDH concerning EDPRP.

External Depot Production Routing Problem (EDPRP)
The EDPRP is an extension of the classic case of the PRP in which deterministic demands are met by a homogeneous fleet of vehicles over a discrete (multi-period) and finite planning horizon. In the EDPRP, the geographical position of a plant without storage capacity is different from that of the depot. The depot is supplied by the plant and the customer demand is only satisfied from the products stored at the depot. All vehicles start and end their trips at the depot. The collection of products from the plant to supply the depot is carried out either by vehicles that leave the depot and then collect a quantity of products directly from the plant and return to the depot, or by vehicles after satisfying the demand of one or more customers. In this extension of the PRP, products manufactured at the plant are not delivered directly to customers. The products are first stored at the depot before being delivered to customers. It is also important to note here that the quantities of products received by the depot in period are not distributed in the same period. These products must first be stored before distribution. Only the ML policy has been implemented in this work as a replenishment policy.
To describe the problem, the following elements have been defined: G = (N, A) is a complete graph in which N represents the set of nodes formed by the plant, the depot and the customers with the index i ∈ {0 . . . n + 1} and A(N) = {(i, j): i, j ∈ N, i = j} all the arcs in G. The plant is represented by n + 1, the depot is indexed by 0 and all customers are represented by N c = {1, . . . , n} is the set of customers. N dc = {0, . . . , n} is the set made up by the depot and the customers. N cu = {1, . . . , n + 1} is the set made up by the customers and the plant. N = {0, . . . , n + 1} is the set consisting of the depot, the customers, and the plant. T = {1, . . . , l} is the set of periods (days) of the planning horizon and K = {1, . . . , m} is the set of vehicles. See [19] for settings, variables and the MIP linking settings and variables. The product collection and distribution network in the EDPRP can be summarized in Figure 1. The authors. proposed a TPDH to solve the problem. In this work, we develop an MA to compare its results with those of the TPDH in the resolution of the EDPRP. The details of this MA are presented in the following section.

Encoding
We use the tuple (P, Y, X, R) to describe a complete solution to the problem. In this tuple, P is a list of the quantity produced in each period t of the planning horizon. Each quantity produced t P or P [t] is an integer between 0 and the maximum production capacity of the plant (C). Y is a list of binary numbers over each period t of the planning horizon. t Y = 1 means that there is production at the plant on date t and 0 otherwise. X is a (n + 1) × l matrix in which it X represents the amount of product sent to the depot (i = 0) or to a customer ( It is a successive list of trips delimited by the symbol (0) when the trips belong to the same day or the symbol (−1) when the trips belong to different days. Thus 0 and −1 also refer to the depot in the modeling of the solution. As the symbol (−1) is also the day delimiter, a succession of this symbol indicates a period without a vehicle tour.
The knowledge of R, X and 0 ( ) t T ∈ and to verify the constraints related to the storage capacity of customers ( ) i L t T ∈ , the vehicle limit load (Q) as well as the limitation of the number of vehicles in the fleet (m). With the knowledge of Y, X, and 00 and check the constraints on the storage capacity of the depot 0 ( ) L . The dataset of Table 1 allows to build an example of a complete solution for n = 10, l = 3, m = 2, C = 304 and Q = 198. This solution can be described by Table 2. In Table 2, R is a succession of trips that begin at the depot (0 or −1) and end at the depot over a planning horizon of 3 days (or three periods) delimited by the symbol −1.

Encoding
We use the tuple (P, Y, X, R) to describe a complete solution to the problem. In this tuple, P is a list of the quantity produced in each period t of the planning horizon. Each quantity produced P t or P[t] is an integer between 0 and the maximum production capacity of the plant (C). Y is a list of binary numbers over each period t of the planning horizon. Y t = 1 means that there is production at the plant on date t and 0 otherwise. X is a (n + 1) × l matrix in which X it represents the amount of product sent to the depot (i = 0) or to a customer (i ∈ N c . X it is an integer between 0 and the maximum storage capacity L i of the node i ∈ N dc and can be made up of several demands for the customer i. R is a list of integers with R p ∈ {−1} ∪ N. It is a successive list of trips delimited by the symbol (0) when the trips belong to the same day or the symbol (−1) when the trips belong to different days. Thus 0 and −1 also refer to the depot in the modeling of the solution. As the symbol (−1) is also the day delimiter, a succession of this symbol indicates a period without a vehicle tour.
The knowledge of R, X and I i0 (i ∈ N c ) allows to compute I it (i ∈ N c ) for all t ∈ T and to verify the constraints related to the storage capacity of customers L i (t ∈ T), the vehicle limit load (Q) as well as the limitation of the number of vehicles in the fleet (m). With the knowledge of Y, X, and I 00 , it is also possible to compute P t (t ∈ T), I 0t (∀t ∈ T) and check the constraints on the storage capacity of the depot (L 0 ). The dataset of Table 1 allows to build an example of a complete solution for n = 10, l = 3, m = 2, C = 304 and Q = 198. This solution can be described by Table 2. In Table 2, R is a succession of trips that begin at the depot (0 or −1) and end at the depot over a planning horizon of 3 days (or three periods) delimited by the symbol −1. X it is the amount sent to each customer or depot i at the period t. The amount distributed to customers in the first period is 25 + 18 + 33 = 76. This quantity means that the demand of the first period is met based on the initial stocks of the depot (I 00 = 76). No quantity is sent to the plant since it has no storage capacity. Y 1 = 1 means that there is production in the first period of T. This automatically leads to a replenishment of the depot (0 or −1) with a quantity P 1 = 137 units of products. P and Y can therefore be represented by Y [0,0,1] and P [137,0,0]. Finally, with the knowledge of R, X, Y, and P it is possible to evaluate a solution.

. Evaluation of the Solution
The cost (or fitness) of a solution Z can be determined by the following formula In this three-part formula, ∑ t∈T (uP t + f Y t ) denotes the total cost of production. This cost can be subdivided into two costs. Namely the variable cost of production defined by the sum of the costs of productions per period (uP t ) and the sum of setup costs when there is production on the day t ( f Y t ). Then we have the cost of the inventory expressed by ∑ t∈T ∑ i∈N dc h i I it and finally the cost of distribution (transport) represented by The parameter c ij refers to the Euclidian distance between the i node and the node j.

Construction of the Initial Population
Let Pop_size be the size or number of individuals (solutions) in the initial population Pop 0 . This population consists of a Pop_size number of randomly generated solutions. Everyone in the initial population is generated in three steps described as follows: Step 1: Y construction.
The construction of Y consists in determining the days of production. Here, it is a question of determining the days t for which Y t = 1. To achieve this goal, we will first determine the total quantity produced over the planning horizon. Let NP be this quantity of products. It can be obtained by the following relationship: It is equal to the difference between the sum of the demands of all customers and the sum of the initial inventory at the depot and at the customers. Once the total quantity to be produced is calculated, we determine the number of days required to produce that quantity. To avoid a problem of hard bin packing with the limited fleet, we will limit the capacity of the fleet to 90%. Let c f be the capacity of the fleet and NY (NY = ∑ t∈T Y t ) the number of days needed to produce NP. Then c f and NY are calculated as follows: c f = 0.9 × m × Q and NY = (∑ t∈T ∑ i∈N c d it − ∑ i∈N dc I i0 )/min(C, c f , L 0 ) . Once NY is determined, a NY number of days are randomly drawn in T/{l}. It is not possible to produce on the last day of the planning horizon (l) because this production cannot be distributed to customers. Here, P can already be initialized by assigning NP to P t for which t is the smallest value of T having Y t = 1 without considering the violation of maximum production capacity (C).
Step 2: P and X construction day after day.
For any customer i, X i1 is initialized with the necessary quantity so that I i0 and X i1 at least constitute a demand (for each costumer i, d it ). For example, if the demand d it = 10, for I i0 = 5, we have on a X i1 = 5. For I i0 = 10, we have X i1 = 0 and for I i0 = 15 we have X i1 = 0. For each period t, giving priority to customers who are out of stock, we aggregate demands for each customer i without violating its storage limit capacity L i , and that of the fleet c f in respect of the quantity of products available at the depot the day before I 0,t−1 . The quantities produced are then adapted to the production capacity C and then to the capacity of the fleet c f and those of the depot L 0 . This makes it possible to resolve the production capacity overrun authorized in step 1. This approach is an adaptation of the dynamic programming (DP) proposed by Wagner and Whitin [49] for the resolution of the classic LSP.
Step 3: Construction of R day after day.
After determining P and X, the quantities sent to customers per period are successively aggregated to reach the capacity of a vehicle This operation is repeated until the number of vehicles necessary to deliver the products of each period is determined. This procedure is an adaptation of Clarke and Wright's economic algorithm [50] through the imposition of a limited fleet. At this stage, R does not yet contain the plant represented by the node i = n + 1. The plant is added to R only in the periods t for which Y t = 1. The number of symbol n + 1 added is equal to the number of vehicles necessary to send all the production of the period t to the depot (for Y t = 1 with t ∈ T/{l}, the number of vehicles needed to transport P t from the plant to the depot is P t /Q ). Once the initial population has been constituted, a selection and crossover procedure are carried out for the formation of the child population CH ILDS 0 . In this study, the population size of children is set at POP_size/2. The following section describes the procedure of selection and crossover of parents of the initial population for the constitution of CH ILDS 0 .

Selection and Crossover Procedure
Each child from the initial generation CH ILDS 0 is the result of the crossover of two parents selected by a binary tournament procedure. A selection by binary tournament consists of selecting the best solution from two randomly drawn solutions in the population Pop 0 . Let A be the parent selected at the first selection procedure and B the parent selected at the second selection procedure. Then a two-point crossover procedure of parents A and B is implemented for the determination of a single child E. The crossover procedure can be described as follows: Let us note by (•) the membership operator. By this operator writing A•R means that R belongs to A. Let us note R p or R(p) the element of rank p in R and R p→q or R(p→q) the sub-list of R going from p to q. In this work, the cutting points must correspond only to the day delimiter (−1). For the determination of cutting points, a random draw of two dates t 1 , t 2 ∈ T/{l} with t 1 = t 2 is made. Then d 1 and d 2 are determined so that d 1 = min(t 1 , t 2 ) and d 2 = max(t 1 , t 2 ). Let pos(t) be the function that at each date associates its position in A•R (p = pos(t)). A•R will be segmented into three parts. The left part will be identified by ) and the right part by A•RR = A•R(pos(d 2 ) + 1 → pos(l)) . Similarly, parent B will also be segmented according to the values of d 1 and d 2 determined for the A•R segmentation. The construction of child E from the crossover of A and B is done as follows: let E•RL, E•RM, and E•RR be the three parts of E•R. These three parts will be initialized as follows: E•RL = B•RL, E•RM = A•RM and E•RR = B•RR. After the initialization of E•R, a check is made to correct any anomalies in its construction. Contrary to Boudia et Prins' correction strategy of browsing the symbols in E•R [28] we adopt a simplified correction strategy of browsing the symbols in N c . This strategy allows to quickly identify the missing customers in E•R and make the appropriate corrections. The correction is as follows: Let i be the browsing index of N c , TX i the total quantity delivered to the customer i over T in E•X and TU i the total quantity of product that was to be delivered to i over T. We have TX i = ∑ t∈T X it and TU i = ∑ t∈T d it − I i0 . Through a comparison between TX i and TU i , We group customers into three subsets. The first subset is that of customers representing Case 1 such as TX i = TU i . The second subset representing Case 2 concerns the customers i for whom TX i > TU i and Case 3 brings together the customers for whom TX i < TU i . In the process of repairing the chromosome, all customers affected by Case 2 are treated first. Then come the customers concerned by Case 3 and finally those concerned by Case 1. Each case is treated as follows: Case 1. If TX i = TU i , then there is nothing to do for the costumer i. All demands (d it , ∀t ∈ T) are already met by the initial stock (I i0 ) and the quantities delivered over T (TX i ).
Case 2. If TX i > TU i , then a reverse browsing of T is made (from i to 1). E•X it is successively reduced by a demand d it . For a given period t, if E•X it falls to 0 then i is removed from its trip at the date t in E•R. This correction stops at the period t at which + 1 be the out-of-stock date at i if it is not supplied from the last date on which its initial stock covers its demands and TC i = TU i − TX i the quantity needed to complete TX i to TU i . Browsing T from τ to l, E•R is corrected as follows: (1) If E•X it = 0, then add TC i to E•X it (2) If Q (vehicle limit capacity) is violated, then i is removed from its current tour. However, if E•X it = 0, E•R is corrected by implementing steps (3), (4), and (5).

Example of Application of the Crossover and Repair Procedure
Consider the dataset (n = 10, l = 6, k = 2) described in Table 3. Let A and B be two solutions got from the initial population. Chromosome A is represented by Table 4 and Solution B is represented by Table 5. Let t 1 = 3 and t 2 = 5 be the cut points of chromosomes A and B (t 1 and t 2 correspond to dates or periods on the planning horizon). Child C represented in Table 6 will consist of three parties.    The left side of C is noted C After the C chromosome is formed, abnormalities can be found. To repair the C chromosome, we go through the customers list and make the following corrections: TU i is the total amount of products that should have been received by customer i and TX i the amount received by the customer i.
Customers for whom TX i > TU i : i ∈ {3;4;8} For the customer i = 3, we have TX i = 60 + 15 = 75 and TU i = 15 × 6 − I i,0 = 90 − 30 = 60. By browsing T from t = 6 to t = 1, we subtract a demand to TX i on the date t = 4 and we get TX i = 75 − 15 = 60. Thus, the amount sent to i at period 4 becomes X 3,4 = 15 − 15 = 0 and i = 3 is removed from the tour of period 4. The result of this correction is shown in Table 7. Table 7. Correction for i = 3 in C. For the customer i = 4, we have TX i = 49 and TU i = 7 × 6 − 7 = 35. By browsing T from t = 6 to t = 1, we remove 2 demands in TX i to the period t = 4 to get TX i = 35 and X 3,4 = 21 − 7 − 7 = 7. See Table 8 for C chromosome after correction for i = 4.  For the customer i = 8, we have TX i = 104 and TU i = 13 × 6 − 13 = 65. The successive subtraction of a demand in TX i to equalize TU i allows to obtain the following results. Subtracting a demand from the period 6 allows to have TX i = 104 − 13 = 91 and X 8,6 = 0. So, the customer 8 is removed from the tour of period 6. Subtracting two demands in TX i in the period t = 4 allows to have TX i = 91 − 13 − 13 = 65 and X 8,4 = 39 − 13 − 13 = 13. The result of this correction is presented in Table 9. Table 9. Correction for i = 8 in C. The tour of period 4 contains i = 1, so we apply (1) by adding TC i to X i,4 . We have TC i + X i4 = 10 + 20 = 30. This changes the vehicle's load from 84 to 94 in period 4 for a maximum load of 198. The load of the vehicle is not violated, and the process stops for the customer i = 1. Table 10 illustrates the correction for customer i = 1.  We have τ = 30+15 15 + 1 = 4 and I 0,4 = I 0,3 + P 3 − 94 = 152 + 0 − 94 = 58 > TC i . The tour of the period t = 4 does not contain i = 2, hence we apply the step (3) by making a better insertion of i = 2 in the tour of period t = 4. As a result of this insertion, the new load of the vehicle will be 139 < 198. The procedure stops for i = 2. The resulting chromosome is shown in Table 11. Table 11. Correction for i = 2 in C. We have τ = 110+0 22 + 1 = 6 and I 0,4 = I 0,3 + 3 − 94 = 152 + 0 − 139 = 13; and I 0,5 = I 0,4 + P 5 − 0 = 13 + 44 = 57; I 0,6 = I 0,5 + P 6 − (16 + 19)= 57 + 0 − 35 = 22 ≥ TC i . The tour of the period t = 6 does not contain i = 7, hence we apply the stage (3) by also making a better insertion of i = 7 in the tour of the period 6. As a result of this insertion, the new load of the vehicle will be 16 + 19 + 22 = 57 < 198. The procedure stops for i = 2. It is noticeable here that I 0,6 = 0 after the delivery of the customer 7 (see Table 12). Customers for whom TX i = TU i : i ∈ {5;6;8;9;10}. For customers 5, 6, 8, 9, and 10 there is nothing to do because the theoretical amount to be received is equal to the amount received. The result of this repair procedure is presented in Table 13.

Local Search Procedures
Three local search algorithms have been developed for the intensification phases of MA. ∀i, j ∈ N c , these algorithms can be described as follows: SWAP1 (S1): It is a local search algorithm which allows to exchange the position of two customers i and j during the same period t (∀t ∈ T) in accordance with the capabilities of the vehicles assigned to transport the products. This exchange is only possible if customer i and j are visited on the same date t regardless they belong to the same trip.
BEST INSERTION (BI): The BI consists in removing customer i from its current trip on the date t and searching in all existing trips on the date t the position that offers the minimum cost of transport in accordance with the capacity of the vehicles (∀t ∈ T). SWAP2 (S2): This algorithm consists of exchanging two customers i and j visited respectively at consecutive periods t and t + 1. If that does not cause a stock outage and meets the conditions of maximum capacity of production C, storage L i (i ∈ N c ), L 0 and vehicles Q, the resulting solution is compared to the best current solution (∀t ∈ T/{l}).

Global Description of the MA
Let Pop g be the population of the generation g with g ∈ {0, 1, . . . , Max_gen} (Pop 0 is the initial population). Max_gen Max_gen the maximum number of generations, Childs the population of children and Term_Crit the end criterion. The MA used in this work can be described by the algorithm in Algorithm 1. g ← 0, Popg ← Ø, Childs ← ∅ and.

Experimentation
The MA described in Figure 2 is implemented in C++ on a 64-bit Intel Pentium Dual Core 1.60 GHz personal computer with 4 GB RAM. Details of the instances used in the various simulations can be found in [19].    In this work, the mutation operator is replaced by a local search and the selection of parents is done by a binary tournament procedure. Thus, the relevant parameters of the MA developed are the size of the population (Pop_Size), the maximum number of generations (max_gen) and the probability with which the local search (LS_search_prob) is applied to each solution. A strategy of adjustment of the parameters based on experimental comparisons (testing combinations of three values designating the size of the population, three values each representing the maximum number of generation and three rates designating the probability of local searches) was carried out on the four classes of instances with 20 clients, six periods, and two vehicles. A total of 3 × 3 × 3 × 4 = 108 tests allowed to retain the best parameters presented in the Table 14. This parameter tuning strategy is opposed to other methods based on parameter control. For a better understanding of parameter handling, see [25]. The aim of this study is to compare the results of the MA with those obtained with the two-phase decomposition heuristic (TPDH). To achieve this goal, several tests are conducted to evaluate the effectiveness of each local search algorithm as well as the combination of some of them.

Results
The tests performed on 128 instances have yielded the averages over the four classes of instances represented by the rows in Table 15.
In this table, %Diff denote the percentage difference between the cost determined with the MA and the cost determined with the TPDH. This rate of change determines the relative evolution of the results of the MA compared to the TPDH. The column Instance with the sub-columns n, l, m designates the instances used for tests with n clients, l periods on the planning horizon and m vehicles. The columns SWAP1, BI, SWAP2, BI&SWAP2, SWAP1& SWAP2, and ALL contain the sub-columns of the total cost percentage difference and the CPU percentage difference of the corresponding local search algorithms.
In Table 15, the combination of local search SWAP1 and SWAP2 (SWAP1&SWAP2) offers the best percentage difference with an overall average decrease of 10.50% in the cost obtained with MA compared to TPDH. The second-best combination of local search algorithms is the use of BI and SWAP2 (BI &SWAP2) with an overall reduction of 10.23% on the total cost of production, storage, and vehicle rounds. In this experiment, it was found that the combination of all local searches is less efficient than the combination of two of them. In terms of calculation time, only the use of BI as a local search method offers a reduction in calculation time of 36.85% (%Diff CPU = −36.85% in the Table 15). Although it has produced the largest number of better solutions, MA with a combination of SWAP1 and SWAP2 local searches shows an overall relative increase of 1759.09% in computation time compared to TPDH. Out of 192 (32 × 6) results obtained on all tests, TPDH obtained better results on only three tests concerning instances (n = 40, l = 3, m = 3) with the use of the local search methods BI, SWAP2 and the combination of SWAP1 and SWAP2 which gives a very low rate of 1.56% (3/192). The best solution for each of the 32 instances is obtained with the MA. Table 16 shows the distribution of the best solutions according to the local search method or combination of local search methods used, considering both the overall cost and the computation time.  In Table 16, Nbr_BS refers to the number of best solutions obtained with each local search method in the implementation of MA. According to Tables 15 and 16, the local search methods BI, SWAP1(S1) and SWAP2(S2) individually had the same number of best solutions in the implementation of MA. Thus, each local search taken individually yielded 2 best results out of the 32 average results, i.e., a rate of 6.25% each. The combination of all the local search methods (ALL) also resulted in two best results, which also corresponds to a rate of 6.25% (100 × (2/32)). The highest number of best solutions was obtained with the combination of the local search methods SWAP1 and SWAP2. This combination alone represents the 17 best results out of the 32 in Table 16, a rate of 53.125%. The second-best combination is the one using BI and SWAP2. This combination yielded 7 best solutions out of 32 with a rate of 21.875%. In Table 17, each row gives details of the best solution for each instance in Table 15. The columns PROD, INV, and TRANS indicate the average production, storage, and transport costs (vehicle trips) of the best solution obtained with MA, respectively. COST is the average total cost of production, storage, and distribution (transport). RL refers to the local search used to obtain this result. Overall, Table 17 shows that the share of production cost in the overall cost is 72.87% (100 × (72,758.91/99,847.04)). The overall cost of storage accounts for 11.39% (100 × (11,372.73/99,847.04)) of the overall cost and the cost of vehicle rounds (distribution) accounts for 15.74% (100 × (15,715.41/99,847.04)) of the overall cost. Tables 18-20 provide details of the comparison of production, storage, and distribution costs, respectively. In Table 18, all production costs obtained with the MA are less than or equal to the production costs of the TPDH.    The costs of production for 16 cases resolved with MA are invariant to the costs of production for TPDH, which corresponds to 50% of the relative results in Table 18. Overall, there is an average decrease of 5.18% in the cost of production obtained with the MA method compared to TPDH.
Regarding inventory (storage) cost, there is an increase in the average inventory costs on all instances with an overall average of 9887.34 for the cost obtained with the TPDH method against and a cost of 11,372.73 for the MA. The overall average increase in inventory costs from tests with MA is 15.38% relative to the cost obtained with the TPDH method.
Contrary to the inventory costs, a decrease in distribution cost is observed on all results obtained with the MA compared to the costs calculated with the TPDH. We have an overall average of 24,147.83 of the costs with TPDH against an overall average of 15,715.41 of the costs obtained with the MA. The overall average of percentage difference in the distribution cost calculated with the MA compared to the distribution cost calculated with the TPDH is −35.60%. This reflects an overall average decrease of 35% in the distribution cost obtained with the MA compared to the TPDH. Table 21 shows a comparison of the total cost constituted by the production, inventory and distribution cost obtained with the MA compared to the cost calculated with the TPDH. With an average overall cost of 112,783.76 for TPDH compared to 99,847.04 for MA, there is a decrease ranging from 3.65% to 16.73% on all total costs calculated with MA compared to TPDH with an average overall decrease of 11.07%. With an overall average computation time of 459.51 for TPDH compared to 280.98 for MA, there is an overall average increase of 1485.59% in the computation time for MA compared to TPDH. This is since the average does not consider the relative dispersion of computation times.   Figure 2 highlights the effectiveness of MA in reducing the overall cost of production, inventory, and distribution compared to TPDH. In this figure, we can see that the use of MA reduces the overall cost of operations. This reduction varies between 3614 and 35,339. Figure 3 shows an increase in the calculation time with MA on all instances except instances 12, 20, 23, 24, and 28. For these instances, 95% of the computation time is consumed by the first phase with the use of CPLEX to solve an LSP problem with direct delivery.
Algorithms 2021, 14, x FOR PEER REVIEW 21 of 24 Figure 2 highlights the effectiveness of MA in reducing the overall cost of production, inventory, and distribution compared to TPDH. In this figure, we can see that the use of MA reduces the overall cost of operations. This reduction varies between 3614 and 35,339.    Figure 4 shows a general evolution of the MA algorithm for EDPRP like the one presented by [34,51]. In this figure, instances (1), (2), (3), and (4) are representative of the four classes of instances used to conduct tests on the dataset. These instances consisting of 40 clients (n = 40), six periods (l = 6), and three vehicles highlight the general behavior  Figure 4 shows a general evolution of the MA algorithm for EDPRP like the one presented by [34,51]. In this figure, instances (1), (2), (3), and (4) are representative of the four classes of instances used to conduct tests on the dataset. These instances consisting of 40 clients (n = 40), six periods (l = 6), and three vehicles highlight the general behavior of the MA. The figure shows that the memetic algorithm proposed for the EDPRP converges rapidly from relatively bad solutions to good solutions.

Conclusions
This paper focuses on the comparative study of the results obtained with a memetic algorithm (MA) and a two-phase decomposition heuristic (TPDH) for the management of an external depot in a production routing problem (EDPRP). In the MA developed in this work, three local search algorithms (LS) were used to intensify the search for the best solution on each instance adapted from the work of Adulyasak and al. [17]. The results have shown an improvement in the production cost computed with MA compared to TPDH ranging from 0% to 16.64% with an overall average rate of 5.18%. Similarly, there has been an improvement in the cost of transport ranging from 17.08% to 51.26% with an overall average rate of 35.60%. However, the inventory cost increased from 5.69% to 32.10% with an overall average increase rate of 15.38%. As regards the overall cost of production, inventory and distribution, there was a reduction ranging from 3.65 to 16.73% with an overall rate of 11.07%. Such a finding highlights the effectiveness of MA in relation to TPDH.
Beyond the contributions developed in this work, many avenues of research remain to be examined. MA using the local search method BI is the only one that provides a reduction (36.85%) in MA computation time compared to TPDH with an overall average time of 12.87 s. This implementation of the MA allowed to obtain two better results with a decrease of 8.94% of the total global average cost compared to the TPDH. The use of MA with local search BI thus appears as a very good algorithm in the search for a good initial

Conclusions
This paper focuses on the comparative study of the results obtained with a memetic algorithm (MA) and a two-phase decomposition heuristic (TPDH) for the management of an external depot in a production routing problem (EDPRP). In the MA developed in this work, three local search algorithms (LS) were used to intensify the search for the best solution on each instance adapted from the work of Adulyasak and al. [17]. The results have shown an improvement in the production cost computed with MA compared to TPDH ranging from 0% to 16.64% with an overall average rate of 5.18%. Similarly, there has been an improvement in the cost of transport ranging from 17.08% to 51.26% with an overall average rate of 35.60%. However, the inventory cost increased from 5.69% to 32.10% with an overall average increase rate of 15.38%. As regards the overall cost of production, inventory and distribution, there was a reduction ranging from 3.65 to 16.73% with an overall rate of 11.07%. Such a finding highlights the effectiveness of MA in relation to TPDH.
Beyond the contributions developed in this work, many avenues of research remain to be examined. MA using the local search method BI is the only one that provides a reduction (36.85%) in MA computation time compared to TPDH with an overall average time of 12.87 s. This implementation of the MA allowed to obtain two better results with a decrease of 8.94% of the total global average cost compared to the TPDH. The use of MA with local search BI thus appears as a very good algorithm in the search for a good initial solution in the global scheme of a branch-and-cut algorithm.
In the model studied in this paper, the supply chain consists of a factory and a depot. Studies of versions with several factories and/or depots will help to reflect certain realities in supply chain practice and management. Similarly, considering certain characteristics such as the use of heterogeneous vehicles, dynamic (stochastic) demands or delivery from the plant during production days would also make it possible to highlight other aspects of realities in supply chain management.
A comparative study on the management of MA parameters could reveal other potentials of this algorithm. For example, this study would allow to compare the strategy of parameter tuning by the three methods of parameter control which are: deterministic parameter control, adaptive parameter control, and self-adaptive parameter control.