Next Article in Journal
A Note on the Connection between Ordered Semihyperrings
Next Article in Special Issue
A Novel Hybrid Method for KPI Anomaly Detection Based on VAE and SVDD
Previous Article in Journal
The Hamstring/Quadriceps Ratio in Young Men and Its Relationship with the Functional Symmetry of the Lower Limb in Young Men
Previous Article in Special Issue
The Use of Trapezoidal Oriented Fuzzy Numbers in Portfolio Analysis
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

The Role of Metaheuristics as Solutions Generators

by
Hanane El Raoui
1,2,3,
Marcelino Cabrera-Cuevas
4 and
David A. Pelta
2,*
1
TICLab, ESIN—Ecole Supérieure d’Informatique et du Numérique, International University of Rabat, Rabat 11100, Morocco
2
Department of Computer Science and Artificial Intelligence, Universidad de Granada, 18014 Granada, Spain
3
Modeling and Mathematical Structures Laboratory, Sidi Mohamed Ben Abdellah University, Fez 30000, Morocco
4
Department of Languages and Information Systems, Universidad de Granada, 18014 Granada, Spain
*
Author to whom correspondence should be addressed.
Symmetry 2021, 13(11), 2034; https://doi.org/10.3390/sym13112034
Submission received: 19 August 2021 / Revised: 29 September 2021 / Accepted: 21 October 2021 / Published: 28 October 2021
(This article belongs to the Special Issue Computational Intelligence and Soft Computing: Recent Applications)

Abstract

:
Optimization problems are ubiquitous nowadays. Many times, their corresponding computational models necessarily leave out of consideration several characteristics and features of the real world, so trying to obtain the optimum solution can not be enough for a problem solving point of view. The aim of this paper is to illustrate the role of metaheuristics as solutions’ generators in a basic problem solving framework. Metaheuristics become relevant in two modes: firstly because every run (in the case of population based techniques) allows to obtain a set of potentially good solutions, and secondly, if a reference solution is available, one can set up a new optimization problem that allows to obtain solutions with similar quality in the objectives space but maximally different structure in the design space. Once a set of solutions is obtained, an example of an a posteriori analysis to rank them according with decision maker’s preferences is shown. All the problem solving framework steps, emphasizing the role of metaheuristics are illustrated with a dynamic version of the tourist trip design problem (for the first mode), and with a perishable food distribution problem (for the second one). These examples clearly show the benefits of the problem solving framework proposed. The potential role of the symmetry concept is also explored.

1. Introduction

In most ‘real world’ decision-making and/or optimization problems, countless decision criteria and objectives can not be evidently included in their computational model formulation; or, if included, they may increase the complexity of such models up to a point where they can not be exactly solved. Final decisions (i.e., selecting a solution to deploy) are often taken based not only on modeled objectives, but also on potentially subjective decision makers goals, biases, and preferences [1].
Many mathematical optimization algorithms are devoted to finding single optimal solutions to single-objective problems or, in the best case, to determine sets of non-inferior solutions to multi-objective formulations [2,3,4]. In any case, it should never be forgotten that we are, hopefully, obtaining the optimum solution for the model.
Assuming the existence of unmodeled (or hard to model) goals and parameters implies that non-conventional solving approaches are needed, not only to search the decision space for optimal solutions, but also to explore the decision region for alternative solutions with good quality. Such solutions can be sub-optimal for the model point of view, but valuable from additional perspectives.
It is here where the role of metaheuristics as solutions’ generators becomes relevant in two senses. Firstly, because several runs (a single one, in the case of population based techniques) allow to obtain a set of potentially good solutions. Secondly, let us suppose a reference solution x * for a problem P is available. Then, it is possible to define a new optimization problem P where the objective is to find a solution x that maximize the difference with x * subject to f ( x * ) f ( x ) γ , being f the objective function from problem P and γ the maximum variation in quality allowed. In other words, the aim in P is to obtain solutions with similar quality but maximally different structure. This last approach is the so-called ’Modeling to Generate Alternatives’ (MGA) approach proposed by [4,5,6].
Setting apart this MGA approach, the consideration of metaheuristics in the sense posed here is not being explored (to the best of our knowledge). Most of the metaheuristics publications emphasize their role as “solvers” trying to find the best possible solution for the problem at hand usually without making further analysis.
In this context, the aim of this contribution, is to illustrate the role of metaheuristics as solutions’ generators in a basic problem solving framework that considers the problem formulation, its resolution, and the analysis of solutions beyond their objective function value.
Two examples are considered. The first problem is a dynamic version of the tourist trip design problem. In the static version, we have a set of points of interest (POI), each one having a visit time and a level of interest. The aim is to select a subset of points that maximizes the level of interest subject to certain available time. The problem is usually modeled as a team orienteering problem [7].
In the dynamic version, the level of interest of a POI depends on the time that it is being visited, thus adding an extra level of complexity. We will describe the many characteristics associated with a solution and how difficult it is to include them a priori in a model, thus requiring a different solving strategy.
The second one, is a perishable food distribution problem (basically, a vehicle routing problem) [8]. Originally modeled as a many objectives’ problem, we describe a solving strategy that first solves a sub-problem and then, using the obtained solution, sets a new optimization problem with a fuzzy constraint that allows to obtain new solutions with similar quality but maximally different structure (as in the MGA approach).
The paper is structured as follows. In Section 2 the proposed basic problem solving framework is presented, together with an existing approach to rank solutions according to the user’s preference. Next, Section 3 and Section 4 present the two examples commented before. For each one, every step of the solving framework is illustrated with a specific dataset, and the corresponding analyses of results are presented.
In each example, a metaheuristic is used to generate a set of solutions. We should highlight here that the specific details of the implemented methods are omitted, as they are not relevant in this context: we do not want to make comparisons against other methods over a set of well-defined objectives.
Finally, Section 5 is devoted to conclusions and further work.

2. Basic Problem Solving Framework

The role of metaheuristics as solutions’ generators is best seen when integrated in the following problem solving framework. Although every step is clear enough, we describe the mains aspects considered here.
Let us depart from an optimization problem P. The following steps are required to solve it.
  • Problem description: determine a set of solutions’ features for problem P, F = { f 1 , f 2 , , f n } . Such features are used to assess the quality of a solution;
  • Model formulation: Define the subset of features to be used in P optimization model F = { f i , f j , , f t } . For every feature, either a maximization or minimization goal should be established;
  • Problem Solving: “Solve” the problem P. Depending on the solver algorithm:
    (a)
    An optimum solution s * (or at least a reference one) is obtained. From such solution, generate new ones with similar quality but as different as possible;
    (b)
    A set of solutions is obtained;
  • Analysis of Solutions: For every solution, calculate the corresponding values for the features in F F ;
  • Ranking: Rank the solutions according to the user’s preferences.
Let us illustrate these steps with the well known travelling salesmen problem (TSP). Given a solution (a route), features like the distance travelled, time of the route, fuel consumption, average length of the inter-city paths, the length of the longest path, and so on can be measured.
In a basic TSP formulation, a single goal is defined: distance minimization.
It is in Step 3 where metaheuristics comes into play. Suppose we solve the problem using a genetic algorithm, so it is easy to obtain a set of routes (Step 3.b). For example, the best m solutions from the final population are kept.
Then, in Step 4, those m solutions can be organized in a matrix M as:
F F F
f 1 f 2 f n
s 1 M 11 M 12 M 1 n
s 1 M 21 M 22 M 2 n
s m M m 1 M m 2 M m m
where M i j is the value achieved by solution s i on feature f j . Those values M i j with j F are given as the output of the optimization process, while those for j F F are calculated after the optimization.
Finally, in Step 5 the values in every M row can be combined (for example using some aggregation function [9]) to obtain a score q i for every solution s i . The relevance of the objectives for the user can be expressed through a set of weights. Sorting according to q i allows to rank the solutions.
Many options are available for this step. Here, we will use the approach in [10] that allows to select a solution of interest from a set of solutions. The user states the preferences, just providing a linear ordering of the objectives. A brief summary of the approach follows.

2.1. Ranking Solutions According to the User’s Preferences

Let us depart from the solutions’ matrix M. Additionally, suppose the user provides a set of weights W = { w 1 , w 2 , , w n } where if the feature f i is more relevant than f j for the decision maker, then w i w j . It should hold that j = 1 m w j = 1 . Under these assumptions, a score q i for the solution s i can be calculated as j = 1 m w j × x i j .
However, this approach has a problem. Let us suppose we have just three criteria and the given preference order is f 2 , f 1 , f 3 . Then, we need the weights in such a way that 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.
Instead of a single score value, the authors in [10] proposed to calculate an interval of the potential scores that a solution can attain and then sort the solutions in terms of their intervals.
The main steps are detailed below.
  • Solutions’ matrix normalization: normalization is needed because different measurements should be combined;
  • Intervals calculation: the user’s preferences are given as an ordinal relation among features denoted as f 1 p f 2 p p f 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 m .
    All the potential scores that a solution s 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. See [10] fo details);
  • Select a reference solution s * : such solution s * and its corresponding interval I * = [ L * , U * ] is the one with the greatest lower bound i , L * L i , thus there is no solution that always scores better than s * ;
  • Compare solutions against s * : every solution s i is compared against s * using a possibility function that measures the possibility degree of a solution being better than another using their corresponding intervals.
    Let us have two solutions s X , s Y with their corresponding non-negative intervals X = x l , x r , Y = y l , y r and x l , x r , y l , y r R 0 + . The possibility degree of s X being greater than s Y is stated in terms of P ( X Y ) as in [10] and considering a user with a neutral attitude is defined as follows [11]:
    (a)
    if X Y = (intervals do not overlap)
    P ( X Y ) = 0 x r y l 1 x l y r
    (b)
    if X Y (intervals overlap)
    P ( X Y ) = x r y l x r x l + y r y l
  • Ranking of Solutions: for every solution, s i the value P ( s i s * ) is calculated. Then, they are are sorted based on such possibility degree values.

3. The Time-Dependant Tourist Trip Design Problem

The tourist trip design problem (TTDP) involves two essential aspects: the selection of points of interest suitable to the tourist’s preferences, and the generation of itineraries to visit these points (all or a subset of them). Although the first aspect is usually related to recommendation systems, which have to identify user preferences, the second is related to decision and optimization issues.
In general, TTDP models are based on the well-known orienteering problem (OP), team orienteering problem (TOP) and their variants for route design ([12,13,14,15,16].

3.1. Problem Description

The tourist trip design problem with time-dependent scores (TTDP-TDS) starts from a set N of nodes or points of interest (POIs). Each node i N has an associated interest or score S i and several recommendation factors f i t to weight the interest according to the time at which the node is visited. The travel time from node i to node j is given by t i j .
On the other hand, not all nodes in the set can be visited due to there is a maximum available time ( T m a x ). There is a node n i n i defined as the starting and ending point of the route (for example, the location of a hotel).
A solution to the problem will be a permutation of a subset of nodes (POIs), i.e., the ordered list of POIs to visit. Over such a list, it is easy to imagine the many features that could be calculated.

3.1.1. Features

  • I, Overall interest;
  • # P O I s , Number of POIs in the route;
  • T v i s i t , Time spent visiting POIs;
  • T t r a v e l , Total walking time between POIs on the route;
  • T r o u t e , Overall trip duration: T v i s i t + T t r a v e l ;
  • E, Route “efficiency”: 100 × ( 1 T v i s i t / t r o u t e ) , the percentage of time in the POIs with respect to the trip time;
  • Average, maximum. and minimum time spent in POIs;
  • Average, maximum and minimum travel time between POIs;
  • Average number of POIs visited in every time period;
  • Percentage of POIs visited at the best time of the day.
Considering all of these features in a single model is, if not impossible, very difficult. Moreover, different optimization problems can be defined: Max I, Max # P O I s , (Max I, Min # P O I s ), (Max I, Max E), etc.
In this contribution, we depart from the following model.

3.1.2. Parameters

  • N—Node set (the POIs);
  • n i n i —Index of the start/end node of the route;
  • T—Number of time periods;
  • S i —Interest of node i;
  • t i j —Travel time between node i and node j;
  • f i t —Recommendation factor to visit node i in period t;
  • v i —Time required to visit node i (service time);
  • T m a x —Maximum time available for the route.

3.1.3. Decision Variables

The following variables are considered:
  • y i t , a binary variable. If the node i is visited in time period t, then y i t = 1 , and 0 otherwise;
  • π , a permutation of k elements (the length of route) where π ( i ) represents the node that is visited at position i of the route.

3.1.4. Objective Function

M a x I = i N n i n i t T S i · f i t · y i t
subject to:
T v i s i t + T t r a v e l T m a x
where
T v i s i t = i N n i n i t T v i · y i t
T t r a v e l = t i n i , π ( 1 ) + i = 1 k 1 t π ( i ) , π ( i + 1 ) + t π ( k ) , i n i
Although a visit to a point can span two different time periods, here the contribution of such point to the overall interest is determined by the period at which its visit starts.

3.2. Problem Solving and Generation of Solutions

We describe next the basic details of the metaheuristic used, the dataset and the way the set of solutions is generated.

3.2.1. Metaheuristic

A crossover-less evolutionary algorithm (EA) is used to solve this problem.
Each individual of the initial population is generated using a GRASP-like procedure. Initially, an initial POI is randomly selected. Subsequently, a list of candidate POIs is constructed, an element from the list is randomly chosen and then added to the solution. The process is repeated as long as the maximum time available is not exceeded.
In each generation, from the current population of p o p S i z e individuals, K parents are chosen by roulette wheel selection and incorporated into an intermediate population. Using one of the several mutation operators available, a child solution is generated from each parent. If the new solution is feasible and better than the parent, it is incorporated into the intermediate population.
Finally, the intermediate population is sorted, and the best p o p S i z e elements are taken to replace the original population.
The proposed algorithm always operates with feasible solutions. Therefore, non-feasible solutions obtained by mutation are discarded.

3.2.2. Dataset

A dataset with the 50 most visited POIs of Granada city, Spain is used. The distribution of these POIs is shown in Figure 1 and the dataset is available at http://18.156.111.23/TTDP-TDS/web/ (accessed on 1 August 2021).
Four time slots ( T = 4 ) and a value T m a x = 360 are considered. Each time slot has a duration of 90 min.

3.2.3. Generation of Solutions

The generation of solutions is done running the EA several times. More specifically, we made 40 independent runs of the EA with different parameters. Every run deals with p o p S i z e = 50 solutions and 100 generations. After every run, we kept the best solution, thus obtaining a set of 40 solutions.

3.3. Analysis of Solutions’ Diversity

In order to explore the relation between the interest and the diversity of the solutions, we will use the Jaccard’s similarity coefficient to assess how similar two solutions A , B (considered as two sets of POIs) are. The coefficient is defined as:
J ( A , B ) = | A B | | A B |
It is easy to see that if routes A and B contain the same POIs, A = B = A B = A B , then J ( A , B ) = 1 . On the other hand, if routes A and B do not share any element at all, | A B | = 0 , so J ( A , B ) = 0 .
From the set of 40 solutions S = { s 1 , s 2 , , s 40 } , we select the best one in terms of interest ( s * ) and compute J ( s * , s i ) i .
The scatter plot in Figure 2 displays the relation between similarity and interest difference for every s i S and s * .
Solutions 5, 12, 14, 5 have the same interest that s * but a different structure, with a Jaccard coefficient 0.8 . There are other three solutions (3,4, 10) with a minor difference in cost (less than 2 units) and rather different from s * , ( J < 0.7 ). If the user may allow routes with less interest (up to 6 % ) then all the solutions in the range of interest difference between 2 and 4 are available.

3.4. Users Profiles and Ranking

Now, having those 40 solutions, we calculate the values of several additional features (beyond the route interest I) which are:
  • I, Route Interest;
  • # P O I s , Number of visited POIs;
  • E, Route efficiency;
  • T t r a v e l , total walking time.
The corresponding values for every solution are shown in Table A1 (Appendix B), while Table 1 summarizes the values of the features over the 40 solutions. We can observe that a wide variety of values are available. There are solutions ranging from 11 to 15 POIs, with an interest which is (in the worst case) 18 % lower than the best solution. Regarding the travel time, values from 25 min to almost an hour of walking between POIs can be considered and looking at the efficiency, it is clear that the solutions are very effective at reducing the travel time while maximizing the visit time.
Now, let us define the following three profiles.
  • Guided tour: A tourist wanting to visit as many of the city’s most interesting POIs as possible while maximizing the time available. To do so, we rank the solutions taking the interest of the solution as the main criterion, ordering the rest of features as I p # P O I s p E p T t r a v e l ;
  • Casual visit: A visitor, who is in the city for another reason, wants to visit the most interesting places in the city but wants to have as much free time as possible during this visit. In this case, we maximize the Effectiveness of the visit and order the rest of the criteria by E p I p # P O I s p T t r a v e l ;
  • Large groups or people with reduced mobility: Due to the size of the groups or the mobility problems of the visitors, it is necessary to keep the journeys to be made as short as possible. In this last profile we minimize travel time between POIs T t r a v e l , and we set the order of the rest of the criteria by T t r a v e l p I p # P O I s p E
For every profile, the procedure described in Section 2.1 is applied. Figure 3 shows the best 10 solutions of the corresponding rankings. The values for the reference solution ( s * ) are indicated in the top row, and the columns are ordered in terms of the criteria importance. Values in red cells are worse than the reference value, while the green ones are better.
Regarding Profile 1, the reference solution s * = s 9 is the top ranked alternative. Solution 4 has a slightly lower value of interest while attaining the same values in the rest of features. Nevertheless, this solution is quite different from s * , having J ( s * , s 4 ) = 0.58 .
Solutions 5, 12, and 14 have the same value of interest, but they are slightly worse in the rest of the factors.
Regarding Profile 2, again the reference solution s * = s 9 is the top ranked alternative followed by s 4 . Then, solution s 37 appears (which was not among the top 15 solutions for Profile 1). This solution has better efficiency and travel time than the reference solution, but is ranked in third place due to the interest (which is 10 units less than the reference). Solution s 39 is also interesting because it is better in efficiency and travel time, while just having 6 units less of interest. In turn, the route uses 12 POIs instead of 15 which is a remarkable point.
Finally, for Profile 3, we observe that the reference solution is ranked in the fourth place. Solutions 37, 39, and 27 are top ranked, providing improvements in travel time (shorter displacements between POIs) and greater efficiency. All of them had 12 POIs which nevertheless allowed to reach up to 88 % of the reference interest (90 units).
So, Profiles 1 and 2 share the top two solutions. The third solution from Profile 2 does not even appear for Profile 1. None of the top 3 solutions from Profile 3 are available in Profile 1 and the third solution from Profile 3 does not appear in Profile 2.
These results clearly highlight the need of having a set of solutions to choose from instead of concentrating the efforts in obtaining one single best solution.

4. The Perishable Food Distribution Problem

Perishable food distribution has become increasingly tricky due to the features of these goods: perishables have a short shelf life, and their quality deteriorates over time during the distribution process until it is consumed. Therefore, ensuring food quality has become a major priority that must be met if customers are to be satisfied.
In a real-world setting, the distribution of perishable food entails a set of complex specifications that might be difficult to incorporate into mathematical models. Such parameters are frequently conflicting and, in some cases, unquantifiable [2,17,18].
A well-designed distribution plan that prioritizes short transit times and distances can help to preserve products quality while reducing waste. However, improving the sustainability of perishables distribution network necessitates balancing several competing goals, such as minimizing the travel costs (e.g., fuel consumption costs, refrigeration costs, the damage cost), maximize the average freshness, meeting consumers requirements to ensure their satisfaction (e.g., on-time delivery, good service level), and reducing environmental effect.

4.1. Problem Description

The problem is represented as a direct graph denoted by G = ( V , A ) , being V = { 0 , 1 , , n + 1 } the set of vertices, nodes 0 and n + 1 represent 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 defined by [ e i , l i ] .
The problem is modeled under the assumption of fleet homogeneity: all the refrigerated trucks have the same refrigeration characteristics, the same load capacity, and the same constant velocity.
When considering solutions for the perishable food distribution problem, several features can be defined.

4.1.1. Features

  • Fixed, transportation and refrigeration costs;
  • Damage cost;
  • Average freshness;
  • Quality of Service (or Service level);
  • Total Tardiness.
From this set of available objectives, we deal with the following model formulation.

4.1.2. Parameters

  • C ( i , j ) : the transportation cost from node i to j;
  • F: fixed 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;
  • Q: the loading capacity of trucks;
  • K: the fleet of trucks;
  • [ e i , l i ] : the time window of customer i.

4.1.3. Decision Variables

  • x ( i , j ) k : a 0–1 decision variable, equal to 1 in case the truck k travels on arc ( i , 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 continuous decision variable representing the starting service time at customer i using the truck k.

4.1.4. Objective Function

The objective is to minimize the travel cost, calculated from: C 1 , the fixed costs for using a vehicle denoted; C 2 , the transportation costs and C 3 the refrigeration costs.
  • C 1 , The fixed costs: represent the vehicle’s maintenance and depreciation costs.
    C 1 = F k K y 0 k
    where k is the number of refrigerated trucks available and F represents the fixed cost related to a vehicle;
  • C 2 , The transportation costs: 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 )
  • C 3 , The refrigeration costs: are calculated as
    C 3 = C 31 + C 32
    where C 31 are the refrigeration costs of the transportation process:
    C 31 = C e k K i V j V x ( i , j ) k T ( i , j )
    and C 32 is the cost of energy supplied during the unloading:
    C 32 = C e k K i V y i k U i
Considering the objectives described above, the problem can be formulated as a mixed integer program (MIP) giving by the following:
Min   C 1 + C 2 + C 3
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 + S i + T ( i , j ) x ( i , j ) k M ( 1 x ( i , j ) k ) t j , i , j V , k K
e i t i k l i , i C , k K
k K y 0 k K
j V x ( i , j ) k y i k , i V , k K
The objective (11) corresponds to the total cost minimization. Constraint (12) avoids going from a point to itself. Constraint (13) avoids going from the depot to node n + 1 which represent the depot. Constraint (14) states that only one vehicle visits each customer exactly once. Constraint (15) and (16) ensure that each vehicle that arrives at a customer must depart for another destination. The vehicle departs from the depot 0, and returns to the depot node n + 1 according to the Constraint (17) and (18). Constraint (19) guarantees the respect of vehicle loading capacity. The connection between the start service at a specific customer and the next one is established by Constraint (20). Constraint (21) is the time window constraint. Constraint (22) guarantees that the number of trucks departing from the depot do not exceed the available fleet of trucks K. Constraint (23) states that the vehicle must traverse the arc ( i , j ) in order to serve the customer j.

4.2. Problem Solving and Generation of Solutions

We describe next the basic details of the metaheuristic used, the dataset and the way the set of solutions is generated.

4.2.1. Metaheuristic

To solve the proposed problem, we use a basic implementation of a general variable neighborhood search GVNS metaheuristic. In GVNS, variable neighborhood descent (VND) is used for local search. When designing a GVNS, one should take the following decisions: the number of neighborhood 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.
GVNS starts by an initialization phase in which a feasible solution is generated. The best solution is set as the first feasible solution. After selecting the neighborhood structures for the shaking stage N s , and for local search N k , the stopping condition is then chosen. The stopping condition corresponds to a number of iterations M that will be set in the computational experience. The shaking process, the local search, and the move decision are repeated until completing all neighborhood structures ( S = S m a x ). In the shaking phase a solution X is generated randomly at the S t h neighborhood of X * ( X N s ( X * ) ) . Then, the local search is performed to find a better solution X from X using the N K neighborhood structures.

4.2.2. Dataset

The proposed approach is evaluated through a dataset of 50 customers in Granada, Spain. The customers’ time window takes a random value in the interval [ 0 , 240 ] with an interval width 45 . For customer’s target time, we assume that it is the midpoint of the corresponding time window. The dataset is available at http://18.156.111.23/PER-FOOD/DataPerishableFood.csv (accessed on 1 August 2021).
The refrigerated vehicles used to deliver products have a fixed cost of 25 €, and the fuel consumption is estimated to 3 €/km. The other parameters are: P = 20 €/unit, 1 = 0.002 , 2 = 0.003 , C e = 0.03 €/unit, C e = 0.04 €/unit and δ = 0.8 .

4.2.3. Generation of Solutions

Although multiple runs of GVNS may allow to obtain a set of solutions, we illustrate here a different approach inspired in the so called ’Modeling to Generate Alternatives’ (MGA) strategy [5,6]. MGA tries to generate a set of solutions that are quantifiable good across all the modeled goals, while remaining as different as possible from each other (in the decision space).
Let us assume that the best solution obtained for the problem is X * , with Z * = F ( X * ) as the objective value. To generate alternative solutions X that are maximally different from X * , the following problem is addressed:
M i n J a c c a r d ( X , X * )
Subject to:
X D
| F ( X ) Z * | f T
where J a c c a r d ( x 1 , x 2 ) is the similarity coefficient used in the previous example. In the original MGA approach, the problem is stated as maximizing a dissimilarity function. The parameter T is the tolerance threshold related to the optimal objective value Z * and should be defined by the decision maker.
We define the Jaccard’s coefficient between two routing solutions as the ratio of the number of shared arcs to the number of total arcs used in both solutions. Let y i j k = 1 if arc ( i , j ) from vertex i to vertex j is used by any vehicle in solution r k , and y i j k = 0 otherwise.
J a c c a r d ( p , q ) = i = 0 n j = 0 n y i j p · y i j q i = 0 n j = 0 n s i g n ( y i j p + y i j q )
where y i j p · y i j q = 1 iff arc ( i , j ) is used by both solutions, and s i g n y i j p + y i j q = 1 if any of the solutions use it. If solutions p and q are the same, the sum in the numerator will equal the sum in the denominator, and therefore J a c c a r d ( p , q ) = 1 . On the other hand, if they are two completely different solutions with no arc in common, the numerator will equal 0 , and then J a c c a r d ( p , q ) = 0
In second place, we need to manage the fuzzy constraint (26) (which is crisp in the original MGA approach). The membership function that represents the satisfaction degree of the fuzzy constraint is is defined as:
μ ( τ ) = 1 ; τ < T 1 τ T Δ t ; T τ < T 0 ; τ T
where T = T + Δ t is the endurable distance threshold, τ = | F ( X ) Z * | is the cost difference between the reference solution and the obtained alternative.
Using the concept of α c u t s and the parametric approach [19], the fuzzy constraint is transformed into:
| F ( X ) Z * | T + Δ t ( 1 α )
Now, the GVNS parameters, we use 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 other parameters are: P = 20 €/unit, 1 = 0.002 , 2 = 0.003 , C e = 0.03 €/unit, C e = 0.04 €/unit and δ = 0.8 .
To generate a set of alternative solutions, we start by finding a reference solution X * by running 10 times the GVNS metaheuristic. The best solution obtained (according to Equation (12)) is considered as the reference solution X * .
Then, using X * , the new problem considering as objective the Equation (24) subject to the constraints (25) and (29) is solved for α 0 , 0.2 , 0.4 , 0.6 , 0.8 , 1 . For each value of α , a tailored version of GVNS is run 10 times.
At the end, 62 different solutions are obtained and the corresponding values for the following features are calculated: the damage cost, the average freshness, the service level, and the tardiness. The mathematical definition of these criteria can be found in Appendix A.
Table A2 (in the Appendix B) shows the results obtained for every value of α . It should be noted that several solutions per GVNS were obtained and just the different ones are reported.

4.3. Analysis of Solutions’ Diversity

Table 2 summarizes the values of the features over the 62 solutions. It is clear that a wide variety of alternatives are available to choose from.
As we explicitly generate the set of solutions minimizing the similarity with X * , it is interesting to observe the relation between the Jaccard coefficient, and the differences in the calculated values for every solution. This information is shown in Figure 4 (for visualization purposes, just a subset of solutions are shown in every case). The Y axis reflects the difference as percentage.
When considering the distance (which is correlated with the travel cost), Figure 4a shows that all the solutions are worst in this feature. This is not surprising, as X * has the lowest distance. There are several interesting solutions, like 10, 5, 6, and 9, that had a quite similar distance but a Jaccard similarity below 0.9. Solution 28 is also interesting because it has a low level of similarity (less than 0.45), while attaining a quite similar distance value (less than 2 % of difference).
With an increment in the distance between 2% and 5%, up to eight solutions can be found with a Jaccard value between [ 0.4 , 0.62 ] .
For the average freshness and service level, the situation is more interesting, because there are better and worse solutions than the reference one. Focusing in the average freshness (Figure 4b), those solutions with a positive value in Y are better than the reference solution. Solution 15 allows to improve up to 4 % in the criteria while having a similarity value of 0.7. Other improvements between 1% and 2% can be obtained with quite different routes (solutions 47, 25, 52).
The results in terms of the service level are shown in Figure 4c. Here, solution 59 provides more than a 10 % of improvement with a moderate value of similarity (less than 0.65). Several solutions providing improvements higher than 6 % and similarity below 0.5 are available. In this case, even solution 37 may be interesting, as it has a minor decrement in service level but very low level of similarity.
Finally, Figure 4d shows the solution in terms of the Tardiness criteria. Here, all the solutions are better than the reference one. It is clear here that tardiness more similar than the reference solution can not be attained. Great improvements can be obtained, but with quite different solutions (look at the low values for similarity).

4.4. User Profiles and Ranking

The previous analysis is useful for detecting good solutions when analysed from just two points of view: similarity vs. a single criterion.
Here, we define three user’s profiles, representing the preferences of a decision maker. As stated before, the preferences are indicated through a linear ordering of the criteria that is described below.
  • Economic-centric (E-c): Travel Cost = Total Damage p Average freshness p Tardiness p Service level;
  • Product-centric (P-c): Average freshness p Travel Cost p Total Damage p Tardiness p Service level;
  • Customer Satisfaction-centric (C-c): Tardiness = Service level p Travel Cost p Total Damage p Average freshness.
where the symbol p should be read as “at least as preferred to”.
For every profile, the procedure described in Section 2.1 to rank the solutions is applied. The best 15 solutions under each user profile are shown in Table 3, Table 4 and Table 5.
Every solution is compared against the reference solution in terms of the following criteria: travel cost, total damage, average freshness, service level, and tardiness. Values in red cells are worse than the reference value, while the green ones are better.
We can observe that the proposed approach allowed to generate a variety of alternative solutions, each of which shows a different behavior for each criterion. This diversity allows the decision maker (DM) to select the most appropriate solution, considering different perspectives and depending on his preference. Regarding the E-c profile, solution 18 is the top-ranked alternative. This solution is quite different from the reference solution X * having a Jaccard coefficient J ( X * , s 1 8 ) = 0.49 . s 18 performs better than X * in terms of service level, tardiness, and damage. On the other hand, has approximately the same travel cost as the reference solution. Solution 30 is slightly worse in terms of travel cost. However, it allows improvement in all the remaining criteria. Regarding the P-c profile, solution 30 is now the best one. This solution has a worse travel cost than the reference solution, but it is better in the remaining criteria. Solution 52 appears in the second place. Note that it was ranked in the 10th position for the E-c profile. Regarding the C-c profile, solution 30 retain the first place by improving significantly all the criteria, with a slight increase in travel cost compared to X * .
It should be noted that solutions 26 and 30 are among the TOP-3 best alternatives for both the E-c and C-C profile. Another interesting alternative is solution 3 which maintains its place in the TOP-3 for the P-C and C-c profile. Solution 18 is the best alternative for a DM that have economic focus, and retain the third position in terms of service level improvement. However, this solution does not have interest if the focus is on the product freshness or customer satisfaction.
It is highly remarkable that the solution X * does not appear among the top 15 solutions for all the profiles, which illustrate the ability of our proposed approach in generating performant and quite dissimilar solutions that will serve the decision maker to select the appropriate solution from his perspective.

5. Conclusions

The computational models of relevant optimization problems necessarily leave out of consideration several characteristics and features of the real world. So trying to obtain the optimum solution can not be enough for a problem solving point of view. Moreover, it is doubtful that a single solution would be able to meet all the real specifications. Therefore, it is desirable for the decision maker to have a set of solutions that are good enough for the modeled objective, but can perform also well when it comes to other unmodeled criteria.
In the context of a basic problem solving framework, we illustrated the role of metaheuristics as solutions’ generators. In the tourist trip design problem, independent runs of an evolutionary algorithm allowed to obtain the set. In the case of perishable food distribution, a more complex strategy was used, inspired from the MGA approach.
Considering a set of solutions and different user profiles, allows to properly rank the available solutions. Using a similarity measure, such as the Jaccard’s coefficient, also allowed to better understand the relation between the reference solution and the other ones, not only in the objectives space, but also in the decision space.
This opportunity to consider different perspectives will grant a decision better suited to the real context.
As future work, we will further explore MGA-like approaches, where some measurement of similarity between solutions is needed. Here, the concept of symmetry appears to be crucial as potentially symmetric solutions in the design space can be equal in the objectives space. In other words, different ways to attain the same results can be explored with a proper usage of the symmetry/anti-symmetry ideas.
Finally, connecting the solutions’ analysis with multicriteria decision-making approaches will be also explored.

Author Contributions

Investigation, H.E.R. and D.A.P.; methodology, H.E.R. and M.C.-C.; software, H.E.R. and M.C.-C.; writing—original draft, H.E.R., M.C.-C. and D.A.P.; funding acquisition, D.A.P. All authors have read and agreed to the published version of the manuscript.

Funding

This research is supported by project PID2020-112754GB-I00 from MCINAEI/10.13039/ 501100011033.

Institutional Review Board Statement

Not applicable.

Acknowledgments

Authors acknowledge the support from J.L. Verdegay during the preparation and writing of the manuscript.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Additional Quality Criteria for the Perishable Food Distribution Problem

The alternative solutions generated will be evaluated for a set of criteria relevant to perishable food distribution. It is expected that they can help the decision maker in selecting the most appropriate solution according to his or her preferences. In this work, we consider the four criteria described below:

Appendix A.1. Damage Cost

The quality of perishable foods degrades with the progression of time and temperature fluctuations during transportation and handling. Damage costs are incurred when product quality falls below a certain threshold. The following feature can be used to express the quality of refrigerated products: 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 product’s spoilage rate, which is assumed to increase as the temperature rises (Ref. [20]). As a result, we distinguish between damage cost during distribution C d m g , and the damage cost during the unloading C d m g due to the temperature changes ( varies also). The damage cost C d m g is expressed as follows:
C d m g = k K i C y i k P q i 1 e 1 t i k t 0 k
where the coefficient 1 reflects the spoilage rate of product when the vehicle is locked, 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 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 42 is defined as:
C d m g = 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.

Appendix A.2. Average Freshness

The average freshness, denoted by AVGF, is defined as [21]:
A V G F = k K i C y i k q i e 1 t i k t 0 k i C q i

Appendix A.3. Service Level

This criterion reflects the fact that customers may want to obtain their products at a certain time so that they can begin planning meals, for example. We use the target time as an indicator to determine the service level using the following function:
S L i ( t i ) = 0 t i < e i f ( t i ) e i t i < T g i 1 t i = T g i g ( t i ) T g i < t i l i 0 t i > l i
S L i ( t i ) represents the service level ensured for customer i if we deliver his demand at time t i . 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 a non-decreasing function, while g is a decreasing function defined as follows:
f ( t i ) = t i e i T g i e i
g ( t i ) = l i t i l i T g i
A good alternative solution is the one that maximizes the following function:
S L = i C S L i ( t i )

Appendix A.4. Total Tardiness

We assume that we have a pre-defined set of customers’ priorities and they must be served according to their priority level. To consider priority indexes, we define a precedence matrix P, where P i j = 1 indicates 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.
A good solution is the one that minimize the tardiness as much as possible. Tardiness is increased when a lower-priority customer is served before a higher-priority customer, and can be expressed using the following formula:
i C j C t j t i
With t j , t i are the arrival times at customer j and i, respectively.

Appendix B. Sets of Solutions

The set of solutions for both problems, together with the calculated values for all the features, are provided here. Table A1 shows the 40 solutions for the time-dependant tourist trip design problem, and Table A2 shows the 62 solutions for the perishable food distribution problem grouped in terms of every α value
Table A1. Set of solutions for the dynamic tourist trip design problem. X * is the reference solution.
Table A1. Set of solutions for the dynamic tourist trip design problem. X * is the reference solution.
SolutionInterest# POIsEfficiencyTravel Time
X * 90.001590.57%33.83
186.501589.88%35.47
286.001588.33%41.60
388.001588.40%41.33
488.501590.57%33.83
590.001587.61%44.53
686.501589.12%39.08
781.001587.03%46.18
886.501588.80%39.10
990.001590.57%33.83
1088.001486.57%48.08
1182.501590.28%34.47
1290.001489.33%38.22
1374.501487.54%44.12
1490.001490.16%34.92
1584.501584.77%54.78
1686.001589.76%36.52
1786.001589.24%38.60
1886.501588.50%40.30
1986.001586.42%47.93
2080.001486.46%46.98
2182.001388.43%39.92
2282.001290.05%32.03
2384.001289.83%33.95
2482.001290.10%33.50
2584.001389.58%33.72
2678.001191.19%28.50
2782.001290.92%29.47
2878.001290.17%31.08
2986.001488.32%39.03
3082.001190.57%30.70
3174.001286.71%44.43
3279.501290.13%31.75
3380.001190.53%30.85
3480.001190.51%30.92
3578.001188.28%39.83
3676.001288.70%35.68
3780.001292.60%24.78
3874.001189.84%33.93
3984.001291.48%28.42
4078.001290.10%35.15
Table A2. Set of solutions for the perishable food distribution problem in terms of every α value. X * is the reference solution.
Table A2. Set of solutions for the perishable food distribution problem in terms of every α value. X * is the reference solution.
Jaccard
Coeff
Travel CostTotal DamageAverage FreshnessTardinessService Level
α = 1 X * 1168.408024.4221.52134,158.6017.45
10.471168.358024.4321.53134158.6017.45
20.451218.247871.4721.53160,106.8818.81
30.581220.887759.0221.3177,340.9018.19
40.441211.407642.4920.80150,318.8016.34
50.751170.637574.8320.5794,747.5616.42
60.781170.017654.8620.56113,959.9317.84
70.451183.767593.9320.96172,670.6019.66
80.581184.177647.8720.92134,514.1120.10
90.871170.287769.2121.21110,974.3717.88
100.621167.857613.1720.19114,563.3217.84
110.701172.657665.7320.62129,750.2317.06
120.621196.227989.3021.64129,427.4518.24
130.471242.507719.7321.16145,819.2317.91
140.441224.657530.2420.12179,372.3017.95
150.721198.047988.7022.39132,493.7019.14
160.511205.167774.3721.70163,477.7920.08
170.621236.827581.9120.45145,892.3318.78
180.491188.447732.6621.2188,179.9119.27
190.421235.297753.6821.27121,543.3015.96
200.561244.367745.7221.81189,232.0917.86
210.331239.067594.2620.71188,649.1818.59
220.261243.117713.2521.52149,117.6318.95
230.451228.987703.1021.26124,985.4217.27
α = 0.8 240.621236.827581.9120.45161,864.1418.78
250.561233.457842.5021.78115,142.7518.77
260.491208.767631.6220.7475,526.4817.13
270.561244.367745.7221.81216,830.6115.80
α = 0.6 280.421185.467734.7621.3290,998.0617.04
290.531187.797670.5020.70115,110.9818.45
300.441235.877760.6821.5669,137.1819.12
310.421214.547647.1120.82155,266.9016.94
320.511202.587800.8621.0186,761.5216.65
330.621236.827581.9120.45203,346.2718.78
340.331245.617751.6221.86117,838.2018.20
350.471200.827735.5721.40130,465.0516.65
360.381244.217543.4920.62113774.5517.98
α = 0.4 370.371250.887694.8721.0575,133.2617.16
380.381210.057669.4820.86104,778.0717.81
390.581240.437729.7621.06179,606.2916.77
400.371216.357702.6020.96105,564.8018.67
410.621235.227830.8421.72119,825.6918.02
420.471243.457605.2221.20175925.4419.00
α = 0.2 430.441211.407642.4920.80141,176.0616.34
440.441224.657530.2420.12163,449.2917.95
450.401214.367784.0821.5895,139.8718.97
460.621210.167746.0221.58113,320.2217.99
470.531239.287778.7421.84109,442.3818.28
480.581240.437729.7621.06179,606.2916.77
α = 0 490.511205.167774.3721.70163,477.7920.08
500.491230.697570.8020.39176,408.7218.37
510.751170.637574.8320.57139,394.3616.42
520.601194.157858.2321.8395,379.9818.34
530.451209.717640.7320.1686,129.9518.83
540.531247.407721.0721.20187,736.4917.34
550.561247.567696.9921.08182,320.0418.63
560.491252.367717.7721.18195,880.3017.59
570.471216.267955.5521.68126,305.3917.12
580.471198.737679.4020.83158,445.8618.63
590.621206.177641.8420.75115,100.2119.60
600.401208.937632.7120.95148,361.6020.31
610.401235.617747.3321.33125,947.1419.89
620.401198.737686.0321.2281,051.9116.87

References

  1. Gunalay, Y.; Yeomans, J.S. Simulation-optimization techniques for modelling to generate alternatives in waste management planning. J. Appl. Oper. Res. 2011, 3, 23–35. [Google Scholar]
  2. Janssen, J.; Krol, M.; Schielen, R.; Hoekstra, A. The effect of modelling quantified expert knowledge and uncertainty information on model based decision making. Environ. Sci. Policy 2010, 13, 229–238. [Google Scholar] [CrossRef]
  3. Walker, W.E.; Harremoës, P.; Rotmans, J.; Van Der Sluijs, J.P.; Van Asselt, M.B.; Janssen, P.; Krayer von Krauss, M.P. Defining uncertainty: A conceptual basis for uncertainty management in model-based decision support. Integr. Assess. 2003, 4, 5–17. [Google Scholar] [CrossRef] [Green Version]
  4. Brill, E.D., Jr.; Chang, S.Y.; Hopkins, L.D. Modeling to generate alternatives: The HSJ approach and an illustration using a problem in land use planning. Manag. Sci. 1982, 28, 221–235. [Google Scholar] [CrossRef]
  5. Loughlin, D.H.; Ranjithan, S.R.; Brill, E.D., Jr.; Baugh, J.W., Jr. Genetic algorithm approaches for addressing unmodeled objectives in optimization problems. Eng. Optim. 2001, 33, 549–569. [Google Scholar] [CrossRef]
  6. Zechman, E.M.; Ranjithan, S.R. An evolutionary algorithm to generate alternatives (EAGA) for engineering optimization problems. Eng. Optim. 2004, 36, 539–553. [Google Scholar] [CrossRef]
  7. Gavalas, D.; Konstantopoulos, C.; Mastakas, K.; Pantziou, G. A survey on algorithmic approaches for solving tourist trip design problems. J. Heuristics 2014, 20, 291–328. [Google Scholar] [CrossRef]
  8. 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]
  9. Beliakov, G.; Pradera, A.; Calvo, T. Aggregation Functions: A Guide for Practitioners; Studies in Fuzziness and Soft Computing; Springer: Berlin/Heidelberg, Germany, 2007. [Google Scholar] [CrossRef] [Green Version]
  10. 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]
  11. 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]
  12. Schilde, M.; Doerner, K.F.; Hartl, R.F.; Kiechle, G. Metaheuristics for the bi-objective orienteering problem. Swarm Intell. 2009, 3, 179–201. [Google Scholar] [CrossRef]
  13. Souffriau, W.; Vansteenwegen, P.; Vertommen, J.; Berghe, G.V.; Oudheusden, D.V. A personalized tourist trip design algorithm for mobile tourist guides. Appl. Artif. Intell. 2008, 22, 964–985. [Google Scholar] [CrossRef]
  14. Deitch, R.; Ladany, S.P. The one-period bus touring problem: Solved by an effective heuristic for the orienteering tour problem and improvement algorithm. Eur. J. Oper. Res. 2000, 127, 69–77. [Google Scholar] [CrossRef]
  15. Garcia, A.; Vansteenwegen, P.; Arbelaitz, O.; Souffriau, W.; Linaza, M.T. Integrating public transportation in personalised electronic tourist guides. Comput. Oper. Res. 2013, 40, 758–774. [Google Scholar] [CrossRef]
  16. Vansteenwegen, P.; Souffriau, W.; Berghe, G.V.; Oudheusden, D.V. The City Trip Planner: An expert system for tourists. Expert Syst. Appl. 2011, 38, 6540–6546. [Google Scholar] [CrossRef]
  17. Brugnach, M.; Tagg, A.; Keil, F.; de Lange, W.J. Uncertainty matters: Computer models at the science–policy interface. Water Resour. Manag. 2007, 21, 1075–1090. [Google Scholar] [CrossRef]
  18. Matthies, M.; Giupponi, C.; Ostendorf, B. Environmental Decision Support Systems: Current Issues, Methods and Tools. Environ. Model. Softw. 2007, 22, 123–127. [Google Scholar] [CrossRef]
  19. Verdegay, J. Fuzzy Mathematical Programming. In Fuzzy Information and Decision Processes; Gupta, M.M., Sanchez, E., Eds.; North-Holland: New York, NY, USA, 1982. [Google Scholar]
  20. 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]
  21. 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]
Figure 1. Map of Granada and set of points of interest.
Figure 1. Map of Granada and set of points of interest.
Symmetry 13 02034 g001
Figure 2. Similarity vs. Interest difference for every solution against s * . The lower the values in both axis, the better the solution is.
Figure 2. Similarity vs. Interest difference for every solution against s * . The lower the values in both axis, the better the solution is.
Symmetry 13 02034 g002
Figure 3. Best 15 solutions for the defined user profiles.
Figure 3. Best 15 solutions for the defined user profiles.
Symmetry 13 02034 g003
Figure 4. Variation of individual criterion and Jaccard’s coefficient with respect to the reference solution. Just a subset of solutions is shown.
Figure 4. Variation of individual criterion and Jaccard’s coefficient with respect to the reference solution. Just a subset of solutions is shown.
Symmetry 13 02034 g004
Table 1. Summary of values for every feature considered, over the generated 40 solutions.
Table 1. Summary of values for every feature considered, over the generated 40 solutions.
 MinMaxMeanStd. Dev.
Number of POIs111513.331.57
Interest74.0090.0083.014.57
Travel Time24.7854.7837.196.36
Efficiency84.7792.6089.181.60
Table 2. Summary of values for every feature considered, over the generated 62 solutions.
Table 2. Summary of values for every feature considered, over the generated 62 solutions.
MinMaxMeanStd.Dev
Travel Cost1167.851252.361215.4324.97
Total damage7530.248024.437709.90109.80
Average freshness20.1222.3921.110.51
Tardiness69,137.18216,830.61134,649.4536,362.44
Service level15.9620.3118.101.07
Table 3. Ranking of solutions under the Economic-centric profile.
Table 3. Ranking of solutions under the Economic-centric profile.
Travel CostTotal DamageAverage FreshnessTardinessService Level
Reference
Solution
1168.48024.4221.52134,158.617.45
181.72−3.64−1.46−34.2710.44
305.78−3.290.17−48.479.57
263.46−4.90−3.64−43.70−1.87
533.54−4.78−6.35−35.807.88
34.50−3.31−0.99−42.354.25
622.60−4.22−1.41−39.59−3.35
50.19−5.60−4.46−29.38−5.88
281.46−3.61−0.95−32.17−2.33
453.94−3.000.24−29.088.69
522.21−2.071.39−28.915.09
377.06−4.11−2.21−44.00−1.67
10−0.04−5.13−6.21−14.612.23
90.17−3.18−1.48−17.282.45
60.14−4.61−4.48−15.062.22
593.24−4.77−3.61−14.2112.28
Table 4. Ranking of solutions under the product-centric profile.
Table 4. Ranking of solutions under the product-centric profile.
Average FreshnessTravel CostTotal DamageTardinessService Level
Reference
Solution
21.521168.48024.42134,158.6017.45
300.175.78−3.29−48.479.57
521.392.21−2.07−28.915.09
3−0.994.50−3.31−42.354.25
62−1.412.60−4.22−39.59−3.35
450.243.94−3.00−29.088.69
37−2.217.06−4.11−44.00−1.67
28−0.951.46−3.61−32.17−2.33
18−1.461.72−3.64−34.2710.44
26−3.643.46−4.90−43.70−1.87
471.476.07−3.06−18.424.74
32−2.412.93−2.79−35.33−4.58
154.012.54−0.45−1.249.68
341.536.61−3.40−12.164.29
251.165.57−2.27−14.177.58
460.233.58−3.47−15.533.11
Table 5. Ranking of solutions under the customer-centric profile.
Table 5. Ranking of solutions under the customer-centric profile.
TardinessService LevelTravel CostTotal DamageAverage Freshness
Reference
Solution
134,158.6017.451168.48024.4221.52
30−48.479.575.78−3.290.17
3−42.354.254.50−3.31−0.99
26−43.70−1.873.46−4.90−3.64
18−34.2710.441.72−3.64−1.46
37−44.00−1.677.06−4.11−2.21
53−35.807.883.54−4.78−6.35
62−39.59−3.352.60−4.22−1.41
45−29.088.693.94−3.000.24
52−28.915.092.21−2.071.39
32−35.33−4.582.93−2.79−2.41
28−32.17−2.331.46−3.61−0.95
5−29.38−5.880.19−5.60−4.46
40−21.316.994.11−4.01−2.64
38−21.902.073.57−4.42−3.11
59−14.2112.283.24−4.77−3.61
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Raoui, H.E.; Cabrera-Cuevas, M.; Pelta, D.A. The Role of Metaheuristics as Solutions Generators. Symmetry 2021, 13, 2034. https://doi.org/10.3390/sym13112034

AMA Style

Raoui HE, Cabrera-Cuevas M, Pelta DA. The Role of Metaheuristics as Solutions Generators. Symmetry. 2021; 13(11):2034. https://doi.org/10.3390/sym13112034

Chicago/Turabian Style

Raoui, Hanane El, Marcelino Cabrera-Cuevas, and David A. Pelta. 2021. "The Role of Metaheuristics as Solutions Generators" Symmetry 13, no. 11: 2034. https://doi.org/10.3390/sym13112034

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