A Metaheuristic Based Approach for the Customer-Centric Perishable Food Distribution Problem

: High transportation costs and poor quality of service are common vulnerabilities in various logistics networks, especially in food distribution. Here we propose a many-objective Customer-centric Perishable Food Distribution Problem that focuses on the cost, the quality of the product, and the service level improvement by considering not only time windows but also the customers’ target time and their priority. Recognizing the difﬁculty of solving such model, we propose a General Variable Neighborhood Search (GVNS) metaheuristic based approach that allows to efﬁciently solve a subproblem while allowing us to obtain a set of solutions . These solutions are evaluated over some non-optimized criteria and then ranked using an a posteriori approach that requires minimal information about decision maker preferences. The computational results show (a) GVNS achieved same quality solutions as an exact solver (CPLEX) in the subproblem; (b) GVNS can generate a wide number of candidate solutions, and (c) the use of the a posteriori approach makes easy to generate different decision maker proﬁles which in turn allows to obtain different rankings of the solutions.


Introduction
In recent years, the global food market has shown substantial growth; therefore, posing new challenges, including in the global logistics market of perishable foods. It is widely known that the processing of the later is different from the distribution of other goods because they deteriorate continuously and have an expiration date. The transportation process is the most critical phase in the entire food supply chain, where the trip path length have the potential to influence the deterioration rate [1,2].
According to the Food and Agriculture Organization FAO (2018) [3], nearly half of fruits and vegetables and approximately one-third of food produced is damaged across the supply chain. Consequently, maintaining food quality and safety has become a primary goal, which must be achieved to satisfy the consumers.
In addition to product quality, the service quality is another driver of customer satisfaction. Responsiveness is a key factor for differentiation in terms of service quality, and it can be measured by the punctuality with which products are delivered. It is therefore becoming extremely critical that products are delivered within the time frame specified by customers.
Furthermore, customers may have a specific target time in which they prefer to be served. For instance, some restaurants tend to implement the Just In Time (JIT) inventory system, which is a company's management strategy oriented to receive goods as close as possible to when they are actually needed, to ensure the freshness of their meals. Therefore, the service fulfilment in the customer's preferred time is one of the key indicators to evaluate the service level.
In some other situations arising from real life, customers may have different priority levels. This issue can be very significant, for instance, when deliveries to small restaurants are considered. In fact, such restaurants need to be cyclically supplied since their storage capacities are limited.
The perishable food distribution problem is usually modelled as a multiobjective Vehicle Routing Problem (VRP). For example, taking into account the total cost minimization and average freshness maximization [4]. However, as far as we know, other objectives such as the quality of service improvement, the freshness level maximization, the damage minimization, etc., are less explored.
A Customer-Centric Perishable Food Distribution Problem is studied in this work. A vehicle routing problem with time windows is extended to consider (in addition to the cost minimization), other objectives centred on the quality of service issues. Each customer has preferences to be considered that are expressed through the time windows, a specific target time, and pre-defined priority index. The objectives of the problem are to minimize the total cost, to maximize the average freshness, to maximize the service level, and to minimize the tardiness resulted from non-respect of priorities.
It is clear that the addition of multiple conflicting objectives and many parameters in the model formulation increase its complexity up to a point where it cannot be solved: either because the model is unsolvable or a certain problem's information is not available at the solving stage.
In this situation, providing a set of alternative solutions (set of routes), that can be examined from different perspectives, is highly desirable.
At the end, the decision maker should select the solution that best fits his/her preferences. In the context of multiobjective optimization such preference articulation can be done in three different ways [5]. (1) A priori: where the decision-maker preferences are incorporated before the search, or (2) A posteriori manner: by considering the preferences after the search process, and the (3) Progressive way when the decision-maker preferences are incorporated during the search process. In this work the a posteriori approach is adopted.
Most of the metaheuristics based approaches for solving vehicle routing problems, focus on finding a near optimum solution. In contrast, our proposed approach exploits the fact that metaheuristics can produce several alternatives for further evaluation by the decision maker from other perspectives non included in the model (for example, subjective measurements).
The proposed approach consists of two main steps: (1) we solve a subproblem using a General Variable Neighbourhood Search (GVNS) algorithm which generates a set of different solutions and (2) using the decision-maker preferences, those solutions are ranked using a possibility degree approach. In this way, a best compromise solution can be selected.
The paper is structured as follows. Section 2 provides a summary of related works. In Section 3, we present the model formulation of the problem, and Section 4 describes the proposed strategy to solve it. After that, we present the GVNS approach in Section 5. Section 6 is devoted to assess the performance of GVNS, doing comparisons against CPLEX software. A full example showing all the steps of the proposed solving strategy is shown in Section 7. The last section is devoted to conclusions and provide some perspectives for future research.

Related Works
Vehicle routing problems for perishable food are challenging compared to classical VRP, due to the sensitivity of the handled products. Several works have addressed this problem in different contexts, considering single objective. To overcome the issue of food delivery in a cattle ranch, authors in [6] formulate the problem as a capacitated rural postman problems with time windows and split delivery. In [7], a threshold-acceptancebased algorithm was developed to solve vehicle routing and scheduling problem for fresh milk, considering a fixed heterogeneous fleet. While in [8] a multi-depot VRP was used to address a real-world fresh meat delivery problem. To solve the latter an approach based on stochastic search meta-heuristic was proposed. In a different work [9] a hybrid of heuristicexact method to solve a VRP with strict delivery quantities and narrow time windows was presented. Authors in [10] proposed an application service provider that provides delivery services to fresh food suppliers. The problem is modelled as a VRP that is solved via a meta-heuristic. A decision support tool for grocery delivery service was proposed in [11]. The tool helps in deciding to accept or reject deliveries, in addition to determining routes and scheduling tasks to maximize the profit. In [12], authors describe a case-study of perishable food delivery through a national highway. Considering an homogeneous fleet able to carry fresh, frozen, and dry goods, the randomness in food delivery process is considered in [13] through a stochastic VRP-TW model with time-dependent travel times.
For the distribution of fresh vegetables, authors in [14] solve the problem using a heuristic. In [15], authors proposed an exact and approximate algorithms for blood pickup. An integrated production-distribution for perishable food products was studied by authors in [16], where they propose an iterative scheme to solve the problem in which constructive heuristic is used to address the distribution part, and the production part is solved using the Nelder-Mead method. In [17], the authors designed a closed-loop multi-echelons supply chain for perishable goods considering uncertain demand, multiple periods, and multiple products. An agent-based simulation was combined with geographic information system in [18], to determine the quickest routes for delivering fresh products. In another study [19], the authors propose a model and solving approach to address VRP for perishables distribution on a real road network considering fuzzy time window. The realroad network approach was also adopted by authors in [20] for perishables delivery.
Some researchers have considered several objectives. In [21], authors propose a metaheuristic to solve the routing problem considering two main objectives: the total cost minimization, and the maximization of the product freshness. The latter objectives were also addressed in [22] using an evolutionary algorithm. To minimize the costs related to the distribution, and the environmental effect in a two-echelon supply chain of perishable food, authors in [23] proposed an approach based on particle swarm algorithm. Authors in [24] applied a Genetic Algorithm (GA) to maximize the average freshness, and minimize the total transportation cost.
Furthermore, the Gradient Evolution (GE) algorithm was used in [25] to solve multiobjective routing problem with time windows, and time-dependency. A GA was suggested by [26] to reduce the total overall cost of delivery, and environmental effect on a two-stage capacitated vehicle routing problem. Recently, the GE algorithm was implemented by [27] to solve a green VRP for perishables delivery, considering four objective functions. These objectives were minimizing the overall distribution cost, reducing the environmental effects, improving the service level, and minimizing the damage. Table 1 presents a summary of related researches in the field of perishables distribution. Summing up the critical synthesis, we have identified the following gaps in the literature:

•
Most of the problems studied in the literature are bi-objective focusing on cost minimization, and freshness maximization or service level improvement. • There are a few studies that propose multi-objective models that take into account simultaneously the economic, social, and environmental aspects. • Those reviewed works considering the service level improvement objective, evaluate the quality of service with respect to the satisfaction of the time window constraint. However, the service level can be related to other criteria.
This paper is an attempt to fill in these gaps by proposing a many-objective model that focuses on the cost, the quality of the product, and the service level improvement by considering not only the time window respect, but also the target time and priority respect.
Our approach differs from the reviewed ones, in the sense that it exploits all the alternative solutions' generated by a metaheuristics and rank them afterwards for a set of non-modelled criteria using scores intervals and a possibility degree approach. To the best of our knowledge, we are the first to jointly integrate these aspects.

Model Formulation
The studied problem is represented as a direct graph denoted by G = (V, A). V = {0, 1, . . . , n + 1} is the set of vertices, while the nodes 0 and n + 1 represents the depot, and the remaining nodes C = {1, . . . , n} are the customers to serve. Each customer i should be served within a specific time slot expressed by [e i , l i ].
The problem is modelled under the assumption of fleet homogeneity: all the refrigerated trucks have the same refrigeration characteristics, the same load capacity, and the same constant velocity. All parameters are given in Table 2. Table 2. Sets, parameters, and decision variables for model formulation.

V
Set of nodes A 0-1 decision variable, equal to 1 in case the truck k travels from node i to j, 0 otherwise.
A decision variable representing the starting service time at node i using the truck k. Parameters The transportation cost from node i to j.

F
Fixed cost associated to a vehicle.
The travel time from i to j.
The distance between node i and j.

C e
The cost per unit time for the refrigeration during the transportation process.

U i
The unloading time at customer i.

C e
The unit refrigeration cost during the unloading.

The Optimization Goal Setting
The problem we are addressing is a many-objective customer-centric vehicle routing problem with time windows. The objectives considered include the economic aspect by minimizing different costs, and the customer-centric aspect by improving the quality of service and product. The objectives are explained in detail in the following sub-sections: Objective 1: Minimize the total cost The overall cost Z 1 includes: the fixed costs for using a vehicle denoted C 1 , transportation costs C 2 , the refrigeration costs C 3 , and the damage costs C 4 . •

The fixed costs
The fixed costs of a vehicle are not related to the mileage, and represent the maintenance, and depreciation costs. Assuming that the depot has k refrigerated trucks to provide distribution services for the set of customers. F represents the fixed cost related to a vehicle. The fixed costs can be formulated as:

The transportation costs
We denote these costs by C 2 . They are proportional to the vehicle mileage. We consider only the fuel consumption cost and express it as: •

The refrigeration costs
Include two types of costs: the costs incurred by the vehicle's energy usage to maintain a specific temperature in the process of transportation, in addition to the costs of extra energy during the unloading. The refrigeration costs during transportation process denoted C 1 3 are expressed as follows: The cost of energy supplied during the unloading C 2 3 is expressed as: the total refrigeration cost •

The damage costs
The quality of perishable foods decay with the time extension, and the temperature changes during the transportation and handling process. If product quality falls to a certain level, damage costs are incurred. The quality of refrigerated goods can be expressed using the following function [28]: where D t , and D 0 are, respectively, the quality of product at time t and from the depot 0. The parameter ∂ is the spoilage rate of the product, and it's assumed as an increasing function to the temperature. Thus, we differentiate between the damage cost during the delivery C 1 4 , and the damage cost during the unloading C 2 4 due to the temperature changes (∂ varies also). The damage cost C 1 4 is expressed as follows: Where the coefficient ∂ 1 represents the spoilage rate of product when the vehicle is closed, t k i the arrival time of vehicle k at customer i, t k 0 the departure time of vehicle k from the depot, and y k i is 0-1 decision variable taking the value 1 in case the vehicle k is servicing the customer i, and 0 otherwise. The damage cost during the unloading C 2 4 is defined as: With q in the remaining quantity of product after servicing the customer i, the necessary time to serve is customer i is S i , and ∂ 2 is the spoilage rate when the vehicle is opened. The total damage cost is therefore: Given the cost components defined above, the total cost can be formulated as : Objective 2: Maximize the average freshness The average freshness can be defined as in [29] by the following formula: Objective 3: Maximize the service level Our research was motivated by the real life distribution problem of perishable food. Indeed, customers may prefer to receive the products at a specific time in order to start preparing meals for example. In addition, restaurants tend to implement the Just In Time inventory management strategy to reduce the storage cost. Thus, instead of serving the customers within a time window, we focus on fulfilment of customer requests as much as we can at a specific target time. To assess the service level, we use the target time as an indicator by means of the following function: Function SL i (t), shown in Figure 1, represents the service level ensured for customer i if we deliver their demand at time t. T i g is the target time, e i and l i are, respectively, the lower, and upper bounds of the time window.
The function f is non-decreasing, while g is a decreasing function that are defined as follows: Thus, the objective is to maximize the following function:

Objective 4: Minimize the total tardiness
In this work, we study a customer-centric version of routing problems which focus on customer satisfaction. In this variant, we consider serving the customers according to priority level. Such a problem arises when customers have different levels of attention. The motivation behind including priority indexes to our problem is that a customer may have a set of locations to be serviced, and preferences to serve each node. Priorities of customers can be defined by the decision-maker. We assume that we have a pre-defined priorities. To consider priority indexes, we define a precedence matrix P, where P ij = 1 indicate that the customer i should be supplied before the customer j, and P ij = 0 if customer i might be supplied after customer j.
The aim is to reduce overall tardiness as much as possible. The latter arises when a lower-priority customer is served before a higher-priority customer; these customers are either on the same route, or served by two different vehicles. In other words, the arrival time of a vehicle k ∈ K at a customer with lower priority (t k i ) is less than the arrival time of a vehicle l ∈ K at a customer with higher priority (t l j ), with (l = or = k). The arising tardiness in this case can be denoted τ ij , and can be expressed as the difference between arrival times (when P ij = 1, with i = j) as follows: Therefore the tardiness of the system can be computed using the following formula:

Mathematical Model
Giving the parameters, decision variables, and the objectives described above, the problem can be formulated as a Mixed integer Program (MIP) as follows: Max Z 2 Max Z 3 Min Z 4 (20) subject to: x k (0,n+1) = 1, ∀k ∈ K ∑ k∈K y k i = 1, ∀i ∈ C (23) ∑ i∈V x k (i,j) = y k j , ∀j ∈ C, ∀k ∈ K The objectives (17)- (20) correspond, respectively, to, minimize the total cost, maximize the average freshness, maximize the service level, and minimize the total tardiness. Constraint (21) avoids going from a point to itself. Constraint (22) avoids going from the depot to node n + 1, which represents the depot. Constraint (23) states only one vehicle visits each customer exactly once. Constraint (24) and (25) indicate the flow balance of input and output in each node. They state that for every truck and for every served client i there is at most one client j such that the truck traverses the arc (i, j). The vehicle depart from the depot 0, and return to the depot node n + 1 according to the Constraint (26) and (27). Constraint (28) guarantees the respect of vehicle loading capacity. Constraint (29) establishes the relationship between the service starting times at a customer and its successor. Constraint (30) is the time window constraint. The maximum number of routes is controlled by Constraint (31) to guarantee that the number of trucks departing from the depot do not exceed the available fleet of trucks |K|.

The Solving Strategy
The problem under study is a many-objectives optimization problem. As the objectives are conflicting, finding a single optimal solution is not possible. Instead, there is a set of optimal solutions.Therefore, the decision maker has to settle on the importance of each objective at some stage, in order to come up with a single solution.
The idea of this paper is to articulate the preferences after the optimization process as an a posteriori approach. To the best of our knowledge, there is no effective tool that can deal with the problem on its original form, considering simultaneously all the objectives. Therefore, we propose to follow the steps described in the workflow diagram of Figure 2. We start by solving a sub-problem using General Variable Neighbourhood Search (GVNS) by considering a single objective (17). Afterwards, we exploit the fact that meta-heuristics can generate a set of alternative solutions. These alternatives are good with respect to the modelled objective, and expected to perform relatively well with respect to unconsidered objectives (the average freshness, the service level, and the tardiness). The alternative solutions provided by the GVNS will be then ranked using the possibility degree approach proposed in [30], allowing the DM to choose the best solution with respect to their preferences for each criteria. The proposed ranking approach consists of assigning an interval to each solution, where the intervals correspond to the potential scores depending on the DM preferences. The solutions are then ranked through comparing their corresponding intervals using the possibility degree. The steps of the possibility degree approach are described in Appendix B. For further details, you can refer to [30].

General Variable Neighborhood Search Heuristic
Inspired by the successful application of variable neighbourhood search (VNS) heuristics in solving vehicle routing problem, we propose a General Variable Neighbourhood Search (GVNS) to solve the problem in hand. In this section, we begin describing the VNS and the basic details of the proposed GVNS (additional details can be found in Appendix A).

Variable Neighborhood Search (VNS)
VNS is a trajectory based-meta-heuristic proposed in [31] to solve combinatorial and global optimization problems. The method's key principle is to adjust neighbourhoods in a systematic manner in order to arrive at an optimal (or near-optimal) solution. The VNS heuristic is made-up of three major phases: neighbour generation, local search, and jump.
Let N k , k = 1, ..., k max be the neighbourhood structures, and let N k (x) denote the set of solutions in the k-th order neighbourhood of a solution x. The first step known as the shaking or diversification phase, consists of applying a neighbour x ∈ N k of the current solution is applied. Afterwards, by applying a local search to x , a solution x " is obtained. Finally, the current solution jumps from x to x " in case the latter improved the former. Otherwise, the neighbourhood's order is incremented, and all the steps are repeated unless a stopping criteria is met.
In the field of vehicle routing problems, VNS and its variants have been widely used and recognized as efficient for solving such hard optimization problems. As examples, we can mention a VNS for a multi-depots VRP with time windows [32], a guided VNS for a large scale VRP [33], a RVNS to solve the VRPTW [34], and a VNS for periodical VRP [35].

GVNS Implementation Details
In GVNS, Variable Neighbourhood Descent (VND) is used for local search. When designing a GVNS, one should take the following design decisions: the number of neighbourhood structures, the order in which they will be explored, how the initial feasible solution is generated, the acceptance criterion and the stopping conditions. These elements define the configuration of the GVNS.
The main steps of GVNS are shown in Algorithm 1. GVNS starts by an initialization phase (line 1) in which a feasible solution is generated. The best solution is set as the first feasible solution (line 2). After selecting the neighbourhood structures for the shaking stage N s , and for local search N k (line 3), the stopping condition is then chosen (line 4). The stopping condition corresponds to a number of iterations M that will be set in the computational experience. The loop corresponding to lines 4-25 is repeated M times. The shaking process (line 8), the local search (line 9), and the move decision (line 19) are repeated until S = S max . In the shaking phase a solution X is generated randomly at the S th neighbourhood of X * (X ∈ N s (X * )). Then the local search is performed to find a better solution X" from X using the N K neighbourhood structures. Remaining details are available in Appendix A.

GVNS Performance Evaluation
This section reports the computational experiments done to evaluate the efficiency of the proposed GVNS. The results are compared against those provided by an exact method (CPLEX) on a subproblem of the original model.

Data Description
To assess the performance of the proposed GVNS algorithm we conduct computational experiments on a subset of the well-known Solomon instances (https://www.sintef. no/projectweb/top/vrptw/solomon-benchmark/(accessed on 20 August 2021)). These instances, originally developed for the classical vehicle routing problem with time window are modified to fit our problem. They are, in total, 56 instances that are classified into six categories. In our case, we test on the following categories: R1, RC1, and C1. In R1 customers locations are generated randomly; in C1 instances have clustered distributions of customers, while in RC1 instances have semi-clustered with a mix of clustered and randomly distributed customers. We conduct experiments on the following selected instances: R101, C104, and RC107. We denote the instances as in the following example: R101-20 is the instance of class 'R1' with 20 customers.
The parameters of the algorithm are set to the following values: α 1 = 0, α 2 = 1, Λ = 2, µ = 1. The stopping criteria M which correspond to the number of iterations, is fixed to 10. The experiments were carried out on an Intel Core i7 processor with 1.99 GHz speed and 8 GB RAM.

Computational Experiments
Using a a sub-model of the MIP problem presented before, we run a set of experiments to test the GVNS efficiency.
The submodel is: Subject to: The GVNS algorithm was coded in Python and the mathematical model was coded in the OPL modelling language, and solved with the CPLEX optimization solver. For CPLEX, we set the run time limit to 900 (s). Table 3 provides the best results obtained by GVNS (out of 10 runs), the CPLEX solutions, and also the percentage gaps between both solutions. The GAP is calculated as follows: The results indicates that our algorithm achieved the same objective value as CPLEX in 4 instances (R101-10, R101-20, R101-40, RC107-10). Furthermore, CPLEX failed to solve 22 instances within the time limit. The CPU time consumed by GVNS is less than the time spent by CPLEX. This can be clearly identified in Figure 3.

Application Example
Once verified the efficiency of the GVNS, we provide here a complete example of the proposed solving approach, shown in Figure 2. This section reports the test instance used, the computational experiments performed, and the results obtained.

Data and Parameter Setting
The proposed approach is applied to identify the solutions of interest for a set of 100 customers. For the data, we conduct experiments on the the category RC101 of Solomon's instance presented in Section 6.1, that we adapted to our problem. For setting the customer's target time, we assume that it's the midpoint of the corresponding time window. The refrigerated vehicles used to deliver products have a fixed cost of EUR 25, and the fuel consumption is estimated to be 3 EUR/km. For the GVNS parameters, we use the same as in previous experiment Section 6.1. The other parameters are given in Table 4.

Generation of Alternative Solutions
We ran our GVNS metaheuristic 9 times to obtain the alternative solutions reported in Table 5. The algorithm provides only the total cost for each solution. Afterwards, we compute the average freshness, the service level, and the tardiness corresponding to each alternative solution. We can observe that the total cost varies between 17,966.3 and 18,323.9, the average freshness between 58.64 and 62.17, the service level from 25.71 to 30.17, and the total tardiness varies from 1,328,918 and 1,716,339. Table 5 can be understood as a decision matrix, where solutions (1-9) are the alternatives among which the DM have to choose, and the total cost, average freshness, service level, and tardiness are the criteria for which the performance of alternatives is measured.

Decision Maker Preferences and Ranking of Solutions
At this point, the preferences of the decision maker should be considered to rank the alternatives. These will be done using scores intervals and the possibility degree approach described in Appendix B.
The preferences are established through a linear ordering of the criteria and every order corresponds to a DM profile. We define the following three profiles: where the symbol p should be read as "at least as preferred to" The rankings of solutions under the three profiles are shown in Table 6.
The results show that every profile lead to a different rank of the solutions. Analysing the highly ranked alternative over different scenarios, we can note that the solution S 5 presented in Figure 4 retain the first position among all scenarios. For the second-ranked alternatives, S 3 retain the position for both economic and customer-centric scenarios. However, there is a rank reversal for the profile P-c, where the alternative S 1 moves to the second position. We can also notice that S 1 and S 3 interchange their positions in profiles P-c and C-c. By analysing the top-ranked solution S 5 represented in Figure 4, we found that 13 vehicles are used to deliver the products under customer requirements. Furthermore, we observe many arcs crossing in the tours. Indeed, in the literature, many solving strategies for VRP are based on crossing avoidance hypothesis, which is stated in [36,37]. However, crossing arcs appeared in our solutions due to customers requirement ( time windows, priority indexes).

Conclusions and Perspectives
In this paper, we propose a many objective customer-centric Perishable Food Distribution Problem and a strategy to solve it. The model distinguishes four objectives: minimize the overall cost, maximize the average freshness of products, maximize the service level by fulfilling the customer demand within the time range required, and in the target time if possible. We also minimize the tardiness of the system resulted from the non-respect of customer's priority.
To solve the problem, we propose a strategy that starts by solving a sub-problem considering only the cost minimization objective, using a General Variable Neighbourhood Search algorithm (GVNS). The performance of GVNS in the sub-problem is compared against an exact method (CPLEX) allowing us to conclude that the method is efficient.
Moreover, the algorithm generates a set of diverse solutions that are then evaluated to integrate the other criteria (average freshness, service level, tardiness). To come up with a single solution of interest for the decision maker among those generated by the GVNS, we used score intervals and a possibility degree approach allowing the DM to rank the set of alternatives solutions based on his/her preferences. The combination of GVNS and the possibility degree approach is tested on a full example that allows to assess the impact of criteria preferences on the solutions ranking.
Future work will be devoted to further explore the use of GVNS like methods as candidate solutions generators and to study how to address environmental features in the model like congestion of the routes and/or reducing CO2 emissions. Funding: The CNRST has awarded H. El Raoui an excellence scholarship. D. Pelta acknowledges support from projects TIN2017-86647-P (Spanish Ministry of Economy, Industry, and Competitiveness. Including FEDER funds) and PID2020-112754GB-I00 (Spanish Ministry of Science and Innovation).

Appendix A. The General Variable Neighborhood Search GVNS
In this appendix we describe both the initial solution generation and the neighbourhood structures implemented in GVNS.

Appendix A.1. Initial Solution Generation
Solution construction refers to the creation of a set of routes for the vehicles by selecting nodes (customers), and inserting them in routes already created or in a new route. The two famous types of solution construction used for VRP are the sequential construction and the parallel construction. The first feasible solution is found by the insertion heuristic called I1.
Insertion heuristic I1 belongs to the sequential construction heuristics described by Solomon in [38]. It's based on expanding the current initialized route by inserting unrouted customers. The main idea is described in Figure A1, where a customer k is inserted between i and j. Figure A1. Insertion heuristic.
The insertion heuristic I1 initialize the route with a 'seed' customer, which is either the farthest from the depot or the one with the lowest allowed starting service time. In our approach, we initialize the route with the farthest customer. Afterwards, two criteria C 1 (i, u, j) and C 2 (i, u, j) are used to insert at each iteration an unrouted customer u into the current route, between a pair of adjacent customers i and j. Let (i 0 , i 1 , i 2 , . . . , i m ) be the current route where i 0 = i m = depot. For each unrouted customer u, we compute its best feasible insertion position in the route as follows: In the literature the criterion C 1 is calculated based on the extra travel time, and the extra euclidean distance resulted after the insertion of customer u.
and D ST ij are, respectively, the distances between customers i u, u j, and i j. b ju denotes the new starting service time at customer j, and b j is the starting service time at j before inserting u. The distance savings are regulated by the Parameter µ. Following that, the best node u * to insert in the route is chosen based on the second criteria as the one for which C 2 (i(u * ), u * , j(u * )) = Max u {C 2 (i(u), u, j(u)}| u is unrouted and the route is feasible Unless all unrouted customers are inserted, the algorithm initiates a new route when no more feasible insertions are found.
The criterion C 2 is computed as follows: where λ is a parameter used to specify how much the best insertion position for an unrouted customer is affected by the distance from the depot d 0u . On the other hand defines how much the best place depends on the extra distance and the time needed to visit the customer by the current vehicle.

Appendix A.2. The Neighbourhood Structures
The choice of neighbourhood structures and the order in which we explore them is of crucial importance. Indeed, local search methods sequentially accept solutions that improve the objective function value. Thus, the solution quality depends heavily on initial solutions and the neighbourhood structure NS. The NS can be based on several moves (operators). The following terms are employed: inter-route, and intra-route.
Intra-route operator make moves within one route in order to reduce the travel cost, while inter-route operator make moves between two separate routes.
We used in our approaches four neighbourhood structures corresponding to moves presented in Figure A2, in the following order: GENI, CROSS, 2-OPT, RELOCATE. This order is based on cardinality, which implies moving from relatively poor to richer neighbourhood structures [39]. We note that generally in the literature, the neighbourhood structures NS used in the shaking phase are different from the NS in the local search. However, we choose to use the same neighbourhood structures in both phases.

•
Relocate: In this operator the customer visit is moved from a route to another. • GENI: Is a variant of the relocate operator which consists of placing a customer two customer nodes on the closest destination path, even though they are not consecutive. • CROSS: The key concept behind cross exchange is to remove two edges (k, k + 1) and (i − 1, i) from the first route, and remove (l, l + 1) and (j − 1, j) from the second route. Then, by adding the edges (i − 1, j),(j − 1, i), (k, l + 1) , and (l, k + 1) the segments i − k and j − l are swapped. • 2-OPT: Replace two of the tour's edges with two additional edges, and iterates until no further change is necessary.

Appendix B. A Possibility Degree Based Approach to Rank Solutions
This appendix summarizes the main aspects of the approach proposed in [30], which departs from a decision matrix like One way to sort the alternatives is to first combine their performance values using an aggregation function in order to have a score, and second to sort them using such scores.
A basic aggregation function is the weighted aggregation, where in simple terms, the decision maker provides a set of weights W = {w 1 , w 2 , . . . , w n } and then the score of an alternative A i is calculated as ∑ m j=1 w j × x ij with ∑ m j=1 w j = 1. If criteria c i is more relevant than c j for the decision maker, then w i ≥ w j .
Let us suppose we have just three criteria and the given preference order is c 2 , c 1 , c 3 . Then we need to define w 2 ≥ w 1 ≥ w 3 with w 1 + w 2 + w 3 = 1. As the reader may notice, there are infinite values for w i that verifies both conditions and every possible set of values will give a different score for the alternative.
So instead of assigning a single score value, the proposed approach calculates an interval of the potential scores that an alternative can attain.
The main steps are detailed below.

2.
if X ∩ Y = ∅ P(X ≥ Y) = x r y l f (p)dp x r y l f (p)dp + y r x l f (p)dp where f (z) is the prescribed attitude function. In this paper, we assume that the decision maker have a neutral attitude where f (z) = c. Then, the corresponding possibility degree can be expressed as follows: P(X ≥ Y) = x r −y l x r −x l +y r −y l