Next Article in Journal
The Three-Carrier Quasi Switched Boost Inverter Control Technique
Next Article in Special Issue
Motor Unit Discharges from Multi-Kernel Deconvolution of Single Channel Surface Electromyogram
Previous Article in Journal
Detection and Classification of Defective Hard Candies Based on Image Processing and Convolutional Neural Networks
Previous Article in Special Issue
Multiple-Searching Genetic Algorithm for Whole Test Suites
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

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

by
Hanane El Raoui
1,2,3,*,
Mustapha Oudani
1,
David A. Pelta
2,* and
Ahmed El Hilali Alaoui
3
1
TICLab, ESIN, International University of Rabat, Rabat 11100, Morocco
2
Models of Decision and Optimization Research Group, Department of Computer Science and A.I., Universidad de Granada, 18014 Granada, Spain
3
Modeling and Mathematical Structures Laboratory, Sidi Mohamed Ben Abdellah University, Fez 30050, Morocco
*
Authors to whom correspondence should be addressed.
Electronics 2021, 10(16), 2018; https://doi.org/10.3390/electronics10162018
Submission received: 9 July 2021 / Revised: 17 August 2021 / Accepted: 19 August 2021 / Published: 20 August 2021

Abstract

:
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 difficulty of solving such model, we propose a General Variable Neighborhood Search (GVNS) metaheuristic based approach that allows to efficiently 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 profiles which in turn allows to obtain different rankings of the solutions.

1. 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.

2. 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-acceptance-based 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 heuristic-exact 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 real-road 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 multi-objective 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.

3. 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.

3.1. 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:
    C 1 = F k K y 0 k
  • 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:
    C 2 = k K i V j V C ( i , j ) x ( i , j ) k d ( i , j )
  • 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 3 1 are expressed as follows:
    C 3 1 = C e k K i V j V x ( i , j ) k T ( i , j )
    The cost of energy supplied during the unloading C 3 2 is expressed as:
    C 3 2 = C e k K i C y i k U i
    the total refrigeration cost
    C 3 = C 3 1 + C 3 2
  • 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]:
    D t = D 0 e t
    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 4 1 , and the damage cost during the unloading C 4 2 due to the temperature changes ( varies also). The damage cost C 4 1 is expressed as follows:
    C 4 1 = k K i C y i k P q i 1 e 1 t i k t 0 k
    where the coefficient 1 represents the spoilage rate of product when the vehicle is closed, t i k the arrival time of vehicle k at customer i, t 0 k the departure time of vehicle k from the depot, and y i k 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 4 2 is defined as:
    C 4 2 = k K i C y i k P q i n 1 e 2 S i
    With q i n 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:
    C 4 = C 4 1 + C 4 2
    Given the cost components defined above, the total cost can be formulated as:
    Z 1 = C 1 + C 2 + C 3 + C 4
    • Objective 2: Maximize the average freshness
The average freshness can be defined as in [29] by the following formula:
Z 2 = k K i C y i k q i e 1 t i k t 0 k i C q i
  • 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:
S L i ( t ) = 0 t < e i f ( t ) e i t < T g i 1 t = T g i g ( t ) T g i < t l i 0 t > l i
Function S L i ( t ) , shown in Figure 1, represents the service level ensured for customer i if we deliver their demand at time t. T g i 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:
f ( t ) = t e i T g i e i
g ( t ) = l i t l i T g i
Thus, the objective is to maximize the following function:
Z 3 = i C S L i ( t )
  • 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 i j = 1 indicate that the customer i should be supplied before the customer j, and P i j = 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 i k ) is less than the arrival time of a vehicle l K at a customer with higher priority ( t j l ), with ( l = o r k ) . The arising tardiness in this case can be denoted τ i j , and can be expressed as the difference between arrival times (when P i j = 1 , with i j ) as follows:
τ i j = t j l t i k P i j = 1 0 P i j = 0 / i = j
Therefore the tardiness of the system can be computed using the following formula:
Z 4 = i C j C τ i j

3.2. 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:
Min   Z 1 = C 1 + C 2 + C 3 + C 4
Max   Z 2
Max   Z 3
Min   Z 4
subject to:
x ( i , i ) k = 0 , i V , k K
x ( 0 , n + 1 ) k = 1 , k K
k K y i k = 1 , i C
i V x ( i , j ) k = y j k , j C , k K
j V x ( i , j ) k = y i k , i C , k K
j V x ( 0 , j ) k 1 , k K
i V x ( i , n + 1 ) k 1 , k K
i C D i y i k Q , k K
t i k + S i + T ( i , j ) x ( i , j ) k M ( 1 x ( i , j ) k ) t j k , i , j V , k K
e i t i k l i , i V , k K
j C k K x ( 0 , j ) k | K |
x ( i , j ) k { 0 , 1 } , i , j V , k K
t i k 0 , i V , k K
y i k { 0 , 1 } , i 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 | .

4. 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].

5. 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).

5.1. 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 m a x 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].

5.2. 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 m a x . In the shaking phase a solution X is generated randomly at the S t h 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.
Algorithm 1: GVNS
Electronics 10 02018 i001
Remaining details are available in Appendix A.

6. 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.

6.1. 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.

6.2. 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:
Min C 1 + C 2 + C 3
Subject to:
( 21 ) ( 22 ) ( 23 ) ( 24 ) ( 25 ) ( 26 ) ( 27 )
( 28 ) ( 29 ) ( 30 ) ( 31 )
( 32 ) ( 33 ) ( 34 )
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:
GAP = Z G V N S Z C P L E X Z C P L E X × 100
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.

7. 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.

7.1. 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.

7.2. 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.

7.3. 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:
  • Economic-centric (E-c): Cost p Average freshness p Service level p Tardiness.
  • Product-centric (P-c): Average freshness p Cost p Service level p Tardiness.
  • Customer Satisfaction-centric (C-c): Service level p Cost p Average freshness p Tardiness.
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).

8. 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.

Author Contributions

Conceptualization and Methodology, D.A.P., H.E.R. and M.O.; software, H.E.R.; investigation, D.A.P., H.E.R., M.O. and A.E.H.A.; writing—review and editing, D.A.P., H.E.R. and M.O. All authors have read and agreed to the published version of the manuscript.

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).

Conflicts of Interest

The authors declare no conflict of interest.

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 I 1 .
Insertion heuristic I 1 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.
Figure A1. Insertion heuristic.
Electronics 10 02018 g0a1
The insertion heuristic I 1 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 = d e p o t . For each unrouted customer u, we compute its best feasible insertion position in the route as follows:
C 1 ( i ( u ) , u , j ( u ) ) = min P = 1 m C 1 ( i p 1 , u , i p )
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.
C 1 ( i , u , j ) = α 1 C 11 ( i , u , j ) + α 2 C 12 ( i , u , j )
where
α 1 + α 2 = 1 , α 1 0 α 2 0
C 11 ( i , u , j ) = D i u S T + D u j S T μ D i j S T
C 12 ( i , u , j ) = b j u b j
D i u S T , D u j S T , and D i j S T are, respectively, the distances between customers iu, uj, and ij. b j u 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 * ) ) = M a x 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:
C 2 ( i , u , j ) = λ d 0 u C 1 ( i , u , j ) , λ 0
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 0 u . 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].
Figure A2. Description of the basic move operators.
Figure A2. Description of the basic move operators.
Electronics 10 02018 g0a2
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
c1c2cn
A1x11x12x1n
A2x21x22x2n
Amxm1xm2xmn
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 j = 1 m w j × x i j with j = 1 m 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.

Appendix B.1. Decision Matrix Normalization

Before applying an aggregation function, the decision matrix needs to be normalized so it becomes dimensionless and all of its elements are comparable. While there are different normalization techniques, the following method is adopted here: For benefit criteria:
n i j = x i j i = 1 m x i j 2 i = 1 , , m , j = 1 , , n
For cost criteria:
n i j = 1 x i j i = 1 m x i j 2 i = 1 , , m , j = 1 , , n

Appendix B.2. Intervals Calculations

Let us assume that the DM express his/her preferences using an ordinal relation among criteria denoted as c 1 p c 2 p p c n . The symbol p is to be read as “at least as preferred to”. This implies that the weights are ordered as w 1 w 2 w 3 w m .
All the potential scores that an alternative A i can attain are included in the interval denoted as I i = [ L i , U i ] with L i , U i are, respectively, the minimum, and the maximum scores obtained through solving two simple linear programming problems
L i = M I N j = 1 m w j × x i j U i = M A X j = 1 m w j × x i j
s.t. for both problems
w 1 w 2 w 3 w m j = 1 m w j = 1 w i [ 0 , 1 ]

Appendix B.3. Reference Interval and Interval’s Comparison

At this point, every alternative A i has an associated interval I i = [ L i , U i ] .
Next a reference alternative A * and its corresponding interval I * = [ L * , U * ] are identified. Such alternative A * is the one with the greatest lower bound i , L * L i , thus there is no solution that always scores better than A * .
Then, every alternative A i is compared against A * using a possibility function that calculates the possibility degree of an alternative being better than another using their corresponding intervals.
Let X = x l , x r , Y = y l , y r be two non-negative interval numbers with x l , x r , y l , y r R 0 + . The possibility degree of X being greater than Y namely P ( X Y ) , proposed in [40] is defined as follows:
1.
if X Y =
P ( X Y ) = 0 x r y l 1 x l y r
2.
if X Y
P ( X Y ) = y l x r f ( p ) d p y l x r f ( p ) d p + x l y r f ( p ) d p
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

Appendix B.4. Ranking of Alternatives

Now, for every alternative A i the value P ( A i A * ) is calculated. Then, the alternatives are sorted based on such possibility degree values.

References

  1. Yakavenka, V.; Mallidis, I.; Vlachos, D.; Iakovou, E.; Eleni, Z. Development of a multi-objective model for the design of sustainable supply chains: The case of perishable food products. Ann. Oper. Res. 2020, 294, 593–621. [Google Scholar] [CrossRef]
  2. Tuljak Suban, D.; Suban, V. Influence of transportation mode to the deterioration rate: Case study of food transport by ship. Int. J. Biol. Biomol. Agric. Biotechnol. Eng. 2015, 9, 37–42. [Google Scholar]
  3. Boge, F. Food Waste & Food Imperfection. 2019. Available online: http://tesi.luiss.it/24940/ (accessed on 20 August 2021).
  4. Utama, D.M.; Dewi, S.K.; Wahid, A.; Santoso, I. The vehicle routing problem for perishable goods: A systematic review. Cogent Eng. 2020, 7, 1816148. [Google Scholar] [CrossRef]
  5. Raseman, W.J.; Jacobson, J.; Kasprzyk, J.R. Parasol: An open source, interactive parallel coordinates library for multi-objective decision making. Environ. Model. Softw. 2019, 116, 153–163. [Google Scholar] [CrossRef]
  6. Mullaseril, P.A.; Dror, M.; Leung, J. Split-delivery routeing heuristics in livestock feed distribution. J. Oper. Res. Soc. 1997, 48, 107–116. [Google Scholar] [CrossRef]
  7. Tarantilis, C.; Kiranoudis, C. A meta-heuristic algorithm for the efficient distribution of perishable foods. J. Food Eng. 2001, 50, 1–9. [Google Scholar] [CrossRef]
  8. Tarantilis, C.; Kiranoudis, C. Distribution of fresh meat. J. Food Eng. 2002, 51, 85–91. [Google Scholar] [CrossRef]
  9. Faulin, J. Applying MIXALG procedure in a routing problem to optimize food product delivery. Omega 2003, 31, 387–395. [Google Scholar] [CrossRef]
  10. Prindezis, N.; Kiranoudis, C.; Marinos-Kouris, D. A business-to-business fleet management service provider for central food market enterprises. J. Food Eng. 2003, 60, 203–210. [Google Scholar] [CrossRef]
  11. Campbell, A.M.; Savelsbergh, M.W. Decision support for consumer direct grocery initiatives. Transp. Sci. 2005, 39, 313–327. [Google Scholar] [CrossRef] [Green Version]
  12. Ambrosino, D.; Sciomachen, A. A food distribution network problem: A case study. IMA J. Manag. Math. 2007, 18, 33–53. [Google Scholar] [CrossRef]
  13. Hsu, C.I.; Hung, S.F.; Li, H.C. Vehicle routing problem with time-windows for perishable food delivery. J. Food Eng. 2007, 80, 465–475. [Google Scholar] [CrossRef]
  14. Osvald, A.; Stirn, L.Z. A vehicle routing algorithm for the distribution of fresh vegetables and similar perishable food. J. Food Eng. 2008, 85, 285–295. [Google Scholar] [CrossRef]
  15. Doerner, K.F.; Gronalt, M.; Hartl, R.F.; Kiechle, G.; Reimann, M. Exact and heuristic algorithms for the vehicle routing problem with multiple interdependent time windows. Comput. Oper. Res. 2008, 35, 3034–3048. [Google Scholar] [CrossRef]
  16. Chen, H.K.; Hsueh, C.F.; Chang, M.S. Production scheduling and vehicle routing with time windows for perishable food products. Comput. Oper. Res. 2009, 36, 2311–2319. [Google Scholar] [CrossRef]
  17. Hasani, A.; Zegordi, S.H.; Nikbakhsh, E. Robust closed-loop supply chain network design for perishable goods in agile manufacturing under uncertainty. Int. J. Prod. Res. 2012, 50, 4649–4669. [Google Scholar] [CrossRef]
  18. El Raoui, H.; Oudani, M.; Alaoui, A.E.H. ABM-GIS simulation for urban freight distribution of perishable food. In Proceedings of the International Workshop on Transportation and Supply Chain Engineering (IWTSCE 18), Rabat, Morocco, 8–9 May 2018. [Google Scholar]
  19. El Raoui, H.; Oudani, M.; Pelta, D.; Alaoui, A.E.H.; El Aroudi, A. Vehicle routing problem on a road-network with fuzzy time windows for perishable food. In Proceedings of the IEEE International Smart Cities Conference (ISC2), Casablanca, Morocco, 14–17 October 2019; IEEE: New York, NY, USA, 2019; pp. 492–497. [Google Scholar]
  20. El Raoui, H.; Oudani, M.; Alaoui, A.E.H. Perishable food distribution in urban area based on real-road network graph. In Proceedings of the 5th International Conference on Logistics Operations Management (GOL), Rabat, Morocco, 28–30 October 2020; IEEE: New York, NY, USA, 2020; pp. 1–6. [Google Scholar]
  21. Gong, W.; Fu, Z. ABC-ACO for perishable food vehicle routing problem with time windows. In Proceedings of the 2010 International Conference on Computational and Information Sciences, Chengdu, China, 17–19 December 2010; IEEE: New York, NY, USA, 2010; pp. 1261–1264. [Google Scholar]
  22. Amorim, P.; Almada-Lobo, B. The impact of food perishability issues in the vehicle routing problem. Comput. Ind. Eng. 2014, 67, 223–233. [Google Scholar] [CrossRef]
  23. Govindan, K.; Jafarian, A.; Khodaverdi, R.; Devika, K. Two-echelon multiple-vehicle location–routing problem with time windows for optimization of sustainable supply chain network of perishable food. Int. J. Prod. Econ. 2014, 152, 9–28. [Google Scholar] [CrossRef]
  24. Khalili-Damghani, K.; Abtahi, A.R.; Ghasemi, A. A new bi-objective location-routing problem for distribution of perishable products: Evolutionary computation approach. J. Math. Model. Algorithms Oper. 2015, 14, 287–312. [Google Scholar] [CrossRef]
  25. Kuo, R.; Nugroho, D.Y. A fuzzy multi-objective vehicle routing problem for perishable products using gradient evolution algorithm. In Proceedings of the 2017 4th international conference on industrial engineering and applications (ICIEA), Nagoya, Japan, 21–23 April 2017; IEEE: New York, NY, USA, 2017; pp. 219–223. [Google Scholar]
  26. Sahraeian, R.; Esmaeili, M. A multi-objective two-echelon capacitated vehicle routing problem for perishable products. J. Ind. Syst. Eng. 2018, 11, 62–84. [Google Scholar]
  27. Zulvia, F.E.; Kuo, R.; Nugroho, D.Y. A many-objective gradient evolution algorithm for solving a green vehicle routing problem with time windows and time dependency for perishable products. J. Clean. Prod. 2020, 242, 118428. [Google Scholar] [CrossRef]
  28. Wang, S.; Tao, F.; Shi, Y.; Wen, H. Optimization of vehicle routing problem with time windows for cold chain logistics based on carbon tax. Sustainability 2017, 9, 694. [Google Scholar] [CrossRef] [Green Version]
  29. Wang, X.; Wang, M.; Ruan, J.; Li, Y. Multi-objective optimization for delivering perishable products with mixed time windows. Adv. Prod. Eng. Manag. 2018, 13, 321–332. [Google Scholar] [CrossRef] [Green Version]
  30. Torres, M.; Pelta, D.A.; Lamata, M.T.; Yager, R.R. An approach to identify solutions of interest from multi and many-objective optimization problems. Neural Comput. Appl. 2021, 33, 2471–2481. [Google Scholar] [CrossRef]
  31. Mladenović, N.; Hansen, P. Variable neighborhood search. Comput. Oper. Res. 1997, 24, 1097–1100. [Google Scholar] [CrossRef]
  32. Polacek, M.; Hartl, R.F.; Doerner, K.; Reimann, M. A variable neighborhood search for the multi depot vehicle routing problem with time windows. J. Heuristics 2004, 10, 613–627. [Google Scholar] [CrossRef] [Green Version]
  33. Kytöjoki, J.; Nuortio, T.; Bräysy, O.; Gendreau, M. An efficient variable neighborhood search heuristic for very large scale vehicle routing problems. Comput. Oper. Res. 2007, 34, 2743–2757. [Google Scholar] [CrossRef]
  34. Goel, A.; Gruhn, V. A general vehicle routing problem. Eur. J. Oper. Res. 2008, 191, 650–660. [Google Scholar] [CrossRef] [Green Version]
  35. Hemmelmayr, V.C.; Doerner, K.F.; Hartl, R.F. A variable neighborhood search heuristic for periodic routing problems. Eur. J. Oper. Res. 2009, 195, 791–802. [Google Scholar] [CrossRef] [Green Version]
  36. Fontaine, P.; Taube, F.; Minner, S. Human solution strategies for the vehicle routing problem: Experimental findings and a choice-based theory. Comput. Oper. Res. 2020, 120, 104962. [Google Scholar] [CrossRef]
  37. Van Rooij, I.; Stege, U.; Schactman, A. Convex hull and tour crossings in the Euclidean traveling salesperson problem: Implications for human performance studies. Mem. Cogn. 2003, 31, 215–220. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  38. Solomon, M.M. Algorithms for the vehicle routing and scheduling problems with time window constraints. Oper. Res. 1987, 35, 254–265. [Google Scholar] [CrossRef] [Green Version]
  39. Bräysy, O.; Gendreau, M. Vehicle routing problem with time windows, Part I: Route construction and local search algorithms. Transp. Sci. 2005, 39, 104–118. [Google Scholar] [CrossRef] [Green Version]
  40. Liu, F.; Pan, L.H.; Liu, Z.L.; Peng, Y.N. On possibility-degree formulae for ranking interval numbers. Soft Comput. 2018, 22, 2557–2565. [Google Scholar] [CrossRef]
Figure 1. The service level function.
Figure 1. The service level function.
Electronics 10 02018 g001
Figure 2. Graphical depiction of the solving strategy.
Figure 2. Graphical depiction of the solving strategy.
Electronics 10 02018 g002
Figure 3. The GAP and CPU time difference between GVNS and CPLEX for every exactly solved instance.
Figure 3. The GAP and CPU time difference between GVNS and CPLEX for every exactly solved instance.
Electronics 10 02018 g003
Figure 4. The Top-Ranked solution S 5 represented on graph.
Figure 4. The Top-Ranked solution S 5 represented on graph.
Electronics 10 02018 g004
Table 1. A review of the papers solving perishable food distribution problem.
Table 1. A review of the papers solving perishable food distribution problem.
ReferencesSustainability AspectSustainability MeasureObjective FunctionsMethods
EconomicEnvironmentalSocial
[6]* *Distribution cost
Time window respect
Min. total costHeuristics
[7]* Distribution costMin. travel costHeuristics
[8]* Distribution costMin. travel costHeuristics
[9]* Distribution costMin. total distanceHeuristics+
Exact
[10]* Distribution costMin. total costMetaheuristics
[11]* ProfitabilityMax. profitHeuristics
[12]* Distribution costMin. total costHeuristics
[13]* *Distribution cost
Time window respect
Min. total costHeuristic
[14]* *Distribution cost
Products quality
Min. total costHeuristics
[15]* *Cost efficiency
Time window respect
Min. total distanceExact+
Heuristics
[16]* *Cost efficiency
Products quality
Time window respect
Max. profitExact+
Heuristics
[17]* *Cost efficiency
Products quality
Max. profitExact
[18]***Cost efficiency
Time window respect
Carbon emission
Min. total travel timeSimulation
[19]* *Distribution cost
Time window respect
Min. total costExact
[20]* *Distribution cost
Time window respect
Min. total costExact
[21]* *Distribution cost
Products quality
Min. total costHeuristic
[22]* *Cost efficiency
Products freshness
Time window respect
Min. total cost
Max. freshness
Mulit-objective
evolutionary
algorithm
[23]***Cost efficiency
Products quality
Time window respect
Environmental impact
Min. total cost
Min. carbon emissions
Metaheuristics+

Pareto optimality
[24]* Distribution costMin. total costEvolutionary
computation
[25]* *Distribution cost
Time window respect
Min. total cost
Min. variance of vehicles
Multi-objective Gradient
Evolutionary algorithm
[26]***Cost efficiency
Service level
Environmental impact
Min. total cost
Min. waiting time
Min. carbon emissions
NSGA-II
[27]***Distribution cost
Products freshness
Time window respect
Environmental impact
Min. operational cost
Min. deterioration cost
Min. carbon emission
Max. service level
Many-objective Gradient
Evolutionary algorithm
Table 2. Sets, parameters, and decision variables for model formulation.
Table 2. Sets, parameters, and decision variables for model formulation.
Sets and Indices
VSet of nodes
C Set of customers
KSet of vehicles k K
i,jIndices of nodes
Decision Variables
x ( i , j ) k A 0-1 decision variable, equal to 1 in case the truck k travels from node i to j, 0 otherwise.
y i k A 0-1 decision variable, equal to 1 in case the customer i is served by the truck k, 0 otherwise.
t i k A decision variable representing the starting service time at node i using the truck k.
Parameters
C ( i , j ) The transportation cost from node i to j.
FFixed cost associated to a vehicle.
T ( i , j ) The travel time from i to j.
d ( i , 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.
S i The necessary time to serve customer i
q i The demand of customer i
PThe price per unit product
q i n The products remaining on the vehicle after serving the customer i
QThe loading capacity of trucks.
KThe fleet of trucks
1 The spoilage rate of products during the transportation process
2 The spoilage rate of products during the unloading process
[ e i , l i ] The time window of customer i
T g i The target time of customer i
S L i ( t ) The service level for customer i if we deliver their demand at time t.
MLarge positive constant.
Table 3. Comparison between best GVNS and CPLEX solutions.
Table 3. Comparison between best GVNS and CPLEX solutions.
InstanceGVNS SolutionCPLEX SolutionGap (%)
ObjectiveTime (s)ObjectiveTime (s)
R101-10630.520.04630.5201.760
R101-201224.183.591224.187.150
R101-301665.783.641664.1011.200.1
R101-402223.106.512223.10363.000
R101-502600.4814.362589.92858.000.4
R101-602969.6426.44No Sol
R101-703543.0435.74No Sol
R101-803794.1651.77No Sol
R101-904159.7084.99No Sol
R101-1004398.88111.70No Sol
RC107-10436.320.06436.321.740
RC107-20771.701.45No Sol
RC107-301147.524.09No Sol
RC107-401469.188.21No Sol
RC107-501860.0220.33No Sol
RC107-602434.9245.78No Sol
RC107-702657.12180.10No Sol
RC107-803023.60249.30No Sol
RC107-903401.92358.50No Sol
RC107-1003591.20589.60No Sol
C104-101068.340.011068.340.650
C104-202121.105.022118.9615.150.1
C104-303111.1623.75No Sol
C104-404279.3451.13No Sol
C104-505228.7475.10No Sol
C104-606341.1069.57No Sol
C104-707572.30151.30No Sol
C104-808591.68590.80No Sol
C104-909636.78777.90No Sol
C104-10010740.60943.40No Sol
Table 4. Problem parameters setting.
Table 4. Problem parameters setting.
ParameterValue
P20 EUR/Unit
1 0.002
2 0.003
C e 0.03 EUR/unit
C e 0.04 EUR/unit
α 0.8
Table 5. The set of alternative solutions.
Table 5. The set of alternative solutions.
Total CostAverage FreshnessService LevelTardiness
S 1 18,294.3762.1729.021,455,295
S 2 18,323.9058.6425.711,621,316
S 3 18,256.3862.0230.061,498,330
S 4 18,120.1461.0328.321,716,339
S 5 18,277.7862.1230.711,328,918
S 6 18,011.7561.7427.911,504,620
S 7 18,179.6061.0827.161,467,776
S 8 18,013.6661.7627.511,480,522
S 9 17,966.3061.6626.871,562,182
Table 6. Ranking of solutions for every DM profile.
Table 6. Ranking of solutions for every DM profile.
Rank123456789
E-c S 5 S 3 S 6 S 8 S 1 S 4 S 9 S 7 S 2
P-c S 5 S 1 S 3 S 8 S 6 S 7 S 9 S 4 S 2
C-c S 5 S 3 S 1 S 6 S 8 S 7 S 4 S 9 S 2
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

El Raoui, H.; Oudani, M.; Pelta, D.A.; El Hilali Alaoui, A. A Metaheuristic Based Approach for the Customer-Centric Perishable Food Distribution Problem. Electronics 2021, 10, 2018. https://doi.org/10.3390/electronics10162018

AMA Style

El Raoui H, Oudani M, Pelta DA, El Hilali Alaoui A. A Metaheuristic Based Approach for the Customer-Centric Perishable Food Distribution Problem. Electronics. 2021; 10(16):2018. https://doi.org/10.3390/electronics10162018

Chicago/Turabian Style

El Raoui, Hanane, Mustapha Oudani, David A. Pelta, and Ahmed El Hilali Alaoui. 2021. "A Metaheuristic Based Approach for the Customer-Centric Perishable Food Distribution Problem" Electronics 10, no. 16: 2018. https://doi.org/10.3390/electronics10162018

APA Style

El Raoui, H., Oudani, M., Pelta, D. A., & El Hilali Alaoui, A. (2021). A Metaheuristic Based Approach for the Customer-Centric Perishable Food Distribution Problem. Electronics, 10(16), 2018. https://doi.org/10.3390/electronics10162018

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop