Using Metaheuristics on the Multi-Depot Vehicle Routing Problem with Modiﬁed Optimization Criterion

: This article deals with the modiﬁed Multi-Depot Vehicle Routing Problem (MDVRP). The modiﬁcation consists of altering the optimization criterion. The optimization criterion of the standard MDVRP is to minimize the total sum of routes of all vehicles, whereas the criterion of modiﬁed MDVRP (M-MDVRP) is to minimize the longest route of all vehicles, i.e., the time to conduct the routing operation is as short as possible. For this problem, a metaheuristic algorithm—based on the Ant Colony Optimization (ACO) theory and developed by the author for solving the classic MDVRP instances—has been modiﬁed and adapted for M-MDVRP. In this article, an additional deterministic optimization process which further enhances the original ACO algorithm has been proposed. For evaluation of results, Cordeau’s benchmark instances are used.


Introduction
The Multi-Depot Vehicle Routing Problem (MDVRP) is a famous problem formulated in 1959 by Dantzig and Ramser [1].It has many real applications.Since the time of the problem's formulations, many algorithms based on deterministic, heuristic, or metaheuristic principles have been proposed.Section 2 reviews the newest publications.
This article deals with a modified version of MDVRP, called "Min-Max MDVRP" in the literature, e.g., [2,3].The modification consists of a different optimization criterion: instead of minimizing the total distance covered by all vehicles, the longest distance is minimized.A literature review on this problem and the algorithms used for its solution can be found in Section 2.
This modification greatly extends the practical utilization of the problem, especially when the distance covered by individual vehicles is replaced by the time needed to travel along their respective journeys (routes), since their average velocities may differ.Thus, the total time to conduct the whole operation can be minimized.More information about the modification is given in Section 3. A real application is presented in Section 6.
The author has proposed a metaheuristic algorithm which is eligible for both MDVRP and modified MDVRP problems; section 4 presents more details.The experiments and results based on Cordeau's benchmark instances are presented in Section 5.

Literature Review
Because MDVRP is an NP-hard problem [4], exact algorithms are time-consuming and rarely applicable to problems with more than 50 customers, unless P = NP [5].Therefore, heuristic and metaheuristic algorithms are widely used.A good overview of publications on MDVRP and its variants was introduced by Montoya-Torres et al. [6], who consider papers published between 1988 and 2014.Several variants of MDVRP are studied in the article: time windows, split delivery, heterogeneous fleet, periodic deliveries, and pickup and delivery.Another survey of publications on VRP and its variants can be found in [7], where 277 articles published between 2009 and 2015 are classified.
Popular metaheuristic algorithms for MDVRP are based on the tabu search approach.One of the first tabu search-based algorithms was published by Gillet and Johnson in 1976 [8].The same approach is used by Chao, Golden and Vasil [9], or Renaud, Laporte and Boctor [10], and indeed, examples of new algorithms using the tabu search approach continue to be published [11,12].
Other popular metaheuristic approaches for MDVRP are simulated annealing [13,14] and genetic algorithms [15].A hybrid algorithm, based on both simulated annealing and the genetic approach, was proposed by Seidgar et al. [16].An excellent survey of papers using genetic algorithms for MDVRP can be found in [17].
More recently, bio-inspired algorithms have also been broadly used for MDVRP.Ant colony optimization algorithms are inspired by the behavior of ants when searching for food.There are many publications using this for MDVRP.Yu, Yang and Xie [18] proposed an algorithm which transfers the problem to VRP by inserting a virtual central depot (V-MDVRP).Another solution was proposed by Yao et al. [19], who applied the ACO algorithm to a seafood product delivery routing problem.The most recent works include algorithms by Yalian [20], Gao [21], and Ma et al. [22].
In the last few years, hybrid metaheuristic methods have emerged.They combine features from various methodologies to take advantage of their different strengths.Ting and Chen [23] introduced a combination of the ant colony algorithm, and simulated annealing for MDVRP with time windows.Vidal et al. [24] proposed a method which combines the exploration breadth of population-based evolutionary searches, the aggressive-improvement capabilities of neighborhood-based metaheuristics, and advanced population-diversity management schemes.Oliveira et al. [25] developed an approach called a "cooperative coevolutionary algorithm", inspired by the simultaneous evolution process involving two or more species.
The MDVRP with a modified optimization criterion (known as Min-Max MDVRP) was first introduced by Carlsson et al. in 2009 [2], who proposed a simple linear programming-based heuristic algorithm for solutions.Several papers have been published on this topic since then.
Narashima et al. proposed an ant colony optimization algorithm both for Min-Max Single VRP and Multi-Depot VRP in 2013 [3].In this paper, the authors compared results of their algorithm with those of the LP-based algorithm, proposed by Carlsson, on 11 scenarios.However, they used their own instances for experiments, and thus, a comparison between the algorithm in this article and the algorithm of Narashima et al. will not be possible, as these instances are not available for download.
The most recent publications on Min-Max MDVRP include papers by Wang et al. [26,27], who developed a heuristic algorithm called MD.

Modified Multi-Depot Vehicle Routing Problem
MDVRP is a problem where a set of customers should be served by a fleet of vehicles originating from multiple depots.Each customer is served (visited) just once by any vehicle in a fleet.Every vehicle visits a number of customers in a certain order along its route, and then returns to its depot.
The optimization criterion of MDVRP is to minimize the total sum of distances traveled by all vehicles in a fleet, according to Formula (1).

mimimize(
where D i is the distance travelled by i-th vehicle in the fleet, N is the total number of vehicles.
The standard formulation of MDVRP can be broadened by introducing a capacity constraint.Each customer requires some amount of load to be delivered by a vehicle; the maximum load of each vehicle is then specified.If the following customer on the route would exceed the maximum load, the vehicle must return to its depot before continuing to this customer.A similar constraint can be set by limiting the maximum length of each route.

Modification
The modified version of MDVRP presented in this article (hereafter referred to as M-MDVRP) alters the optimization criterion.The objective of the task is not to minimize the total distance traveled, but to minimize the longest route of all vehicles in the fleet according to Formula (2).Moreover, the length of each route can be understood not only as the distance of this route, but also as the time necessary for a vehicle to take this route.The importance of using time instead of distance is in tasks where average velocities of individual vehicles are not the same.
where L i is the length of the route of i-th vehicle in the fleet, and N is the total number of vehicles (routes).
The modification of the optimization criterion does not affect the NP-hardness of the problem.To prove this, the reduction from the well-known NP-complete decision version of the Hamiltonian Cycle to the M-MDVRP can be performed in polynomial time, according to the same principles as those presented in [28].

Impact of the Modified Criterion
The difference between MDVRP and M-MDVRP is illustrated on Cordeau's benchmark instance p03 [29,30].This instance is composed of 75 randomly distributed customers and a fleet of five vehicles.
Table 1 presents the best known solution (BKS) for this task [31]-see value (a).This solution was found using the optimization criterion from Formula (1).Value (b) in the same column shows the same solution (set of routes); the cost, however, is recalculated according to the modified criterion specified in Formula (2).The third column shows the result found using the ACO algorithm proposed by the author (for details see Section 4).Value (d) presents the best solution found for this instance and modified criterion, whereas value (c) is the same solution recalculated in a similar way to the previous case, i.e., for the opposite criterion (1).Values (e) and (f) in the last column in Table 1 show the differences (gaps) between solutions (a) and (c), and (d) and (b) respectively.However, these values cannot be used to compare the quality of the algorithms, because different criteria were used for optimization.Figure 1 shows the situation graphically.On the left is the solution for the MDVRP optimization criterion, on the right the solution for M-MDVRP.Routes for individual vehicles are color coded.As can be seen, a vehicle may return to its depot several times on its route because the capacity and/or route length constraints exist.The lengths for all routes are also shown.The sum of these values serve as the solution for MDVRP, and the biggest value serves as the solution for M-MDVRP.Note the similar lengths in Figure 1b; the burden of serving customers is thus distributed to individual vehicles as equally as possible.

Metaheuristic Solution
This section introduces the metaheuristic algorithm proposed by the author for finding both MDVRP and M-MDVRP solutions.The algorithm also takes into consideration the capacity and route length constraints.It is also suitable for asymmetric and/or oriented graphs.Moreover, different vehicles in the fleet can be assigned different velocities.
This section presents only the basic features of the original algorithm, as details have already been published [32].More attention is paid to the as yet unpublished additional optimization process, which enhances the original metaheuristic algorithm by a deterministic approach.

Original Algorithm
The algorithm is a probabilistic technique for solving computational problems.It is an example of a swarm intelligence method.The principle is adopted from the natural world, where ants explore their environment to find food.The exploring starts randomly at first; when an ant finds food, however, it lays down a pheromone trail along its route.When other ants find such trail, they are likely to follow it (and lay down their own trail if successful).
Figure 2 shows a flowchart with the basic phases of the ACO algorithm.As the approach is metaheuristic, the search space is explored in a finite number of iterations.The algorithm works with the number of ants.In each iteration, a solution is found for each ant via the heuristic approach, which involves the cost between nodes and the strength of pheromone trails (phase ①).
Phase ② represents the additional optimization process applied only to the best solution in a current iteration.It is launched when the specific condition is met (see Section 4.2).In phase ③, pheromone trails evaporate gradually to avoid convergence to a locally optimal solution, and then they are updated according to the best solution found in the current iteration.Unless the termination condition is met, the next iteration starts.

Metaheuristic Solution
This section introduces the metaheuristic algorithm proposed by the author for finding both MDVRP and M-MDVRP solutions.The algorithm also takes into consideration the capacity and route length constraints.It is also suitable for asymmetric and/or oriented graphs.Moreover, different vehicles in the fleet can be assigned different velocities.
This section presents only the basic features of the original algorithm, as details have already been published [32].More attention is paid to the as yet unpublished additional optimization process, which enhances the original metaheuristic algorithm by a deterministic approach.

Original Algorithm
The algorithm is a probabilistic technique for solving computational problems.It is an example of a swarm intelligence method.The principle is adopted from the natural world, where ants explore their environment to find food.The exploring starts randomly at first; when an ant finds food, however, it lays down a pheromone trail along its route.When other ants find such trail, they are likely to follow it (and lay down their own trail if successful).
Figure 2 shows a flowchart with the basic phases of the ACO algorithm.As the approach is metaheuristic, the search space is explored in a finite number of iterations.The algorithm works with the number of ants.In each iteration, a solution is found for each ant via the heuristic approach, which involves the cost between nodes and the strength of pheromone trails (phase 1 ).
Phase 2 represents the additional optimization process applied only to the best solution in a current iteration.It is launched when the specific condition is met (see Section 4.2).In phase 3 , pheromone trails evaporate gradually to avoid convergence to a locally optimal solution, and then they are updated according to the best solution found in the current iteration.Unless the termination condition is met, the next iteration starts.

Additional Optimization Process
The additional optimization process (AOP) is executed depending on the repetition frequency coefficient.It was found empirically that the best values of the repetition frequency vary from 5 to 10; values lower than 5 mean faster convergence to a locally optimal solution.AOP is applied only for the best solution found within an iteration (see phase ① in Figure 2) in order to further improve the solution, which is then used for updating the pheromone trails (see phase ③ in Figure 2).AOP is a deterministic approach which incorporates two independent steps as follows: SRO is launched for each route separately.It is based on the consecutive identification of nodes to be exchanged within every route.As a result of the exchange, a new solution is created and evaluated.If it surpasses the original solution, the new solution replaces the original.
This process is shown in pseudocode in Algorithms 1. Variable represents the number of nodes to be replaced.It starts from 1 and continues to ; it was found empirically that does not have to be bigger than 2. If > 1, then successive nodes are selected.In this way, all possible combinations of successive nodes are removed and placed to all different possible positions on the route.

Additional Optimization Process
The additional optimization process (AOP) is executed depending on the repetition frequency coefficient.It was found empirically that the best values of the repetition frequency vary from 5 to 10; values lower than 5 mean faster convergence to a locally optimal solution.AOP is applied only for the best solution found within an iteration (see phase 1 in Figure 2) in order to further improve the solution, which is then used for updating the pheromone trails (see phase 3 in Figure 2).AOP is a deterministic approach which incorporates two independent steps as follows: • Single route optimization (SRO),
SRO is launched for each route separately.It is based on the consecutive identification of nodes to be exchanged within every route.As a result of the exchange, a new solution is created and evaluated.If it surpasses the original solution, the new solution replaces the original.
This process is shown in pseudocode in Algorithms 1. Variable n represents the number of nodes to be replaced.It starts from 1 and continues to n max ; it was found empirically that n max does not have to be bigger than 2. If n > 1, then n successive nodes are selected.In this way, all possible combinations of n successive nodes are removed and placed to all different possible positions on the route.for each combination of successive nodes in the route 4.
move the nodes to a different place on the same route 5.
evaluate the newly-created solution 6.
if this solution is better than the original and all constraints are satisfied (capacity, length) then 7.
replace the original with the new solution 8.
continue in point 4 unless all possible places in the route have been already evaluated 9. return the best solution The principle is illustrated in Figure 3 in an example with 50 nodes and 4 vehicles.The lengths of individual routes are displayed.Figure 3a shows the situation before the SRO.The nodes identified for exchange are indicated on the blue route.Figure 3b shows the situation after the SRO, where these nodes are replaced on the routes, i.e., the order of nodes to be visited by the vehicles is changed.As a result, the quality of this new solution was improved from 138.65 to 123.42.While the SRO finds a better solution by replacing nodes belonging to the same route, MRO incorporates a similar process for nodes from different routes.During this process, nodes to be transferred from one route to another are identified for every combination of pairs of routes.This process is shown in pseudocode in Algorithms 2. It is executed independently for all possible pairs (combinations) of routes.
The principle of MRO is illustrated in Figure 4.It uses the solution obtained after SRO was applied (see Figure 3b).In Figure 4a, nodes identified for removal from the blue and azure routes are emphasized.These nodes are then inserted into the red route.Consequently, the quality of this new solution was further improved from 123.42 to 117.78.
The principle is illustrated in Figure 3 in an example with 50 nodes and 4 vehicles.The lengths of individual routes are displayed.Figure 3a shows the situation before the SRO.The nodes identified for exchange are indicated on the blue route.Figure 3b shows the situation after the SRO, where these nodes are replaced on the routes, i.e., the order of nodes to be visited by the vehicles is changed.As a result, the quality of this new solution was improved from 138.65 to 123.42.for each combination of successive nodes in the route 4.
move the nodes to a different place on the same route 5.
evaluate the newly-created solution 6.
if this solution is better than the original and all constraints are satisfied (capacity, length) then 7.
replace the original with the new solution 8.
continue in point 4 unless all possible places in the route have been already evaluated 9. return the best solution The principle is illustrated in Figure 3 in an example with 50 nodes and 4 vehicles.The lengths of individual routes are displayed.Figure 3a shows the situation before the SRO.The nodes identified for exchange are indicated on the blue route.Figure 3b shows the situation after the SRO, where these nodes are replaced on the routes, i.e., the order of nodes to be visited by the vehicles is changed.As a result, the quality of this new solution was improved from 138.65 to 123.42.While the SRO finds a better solution by replacing nodes belonging to the same route, MRO incorporates a similar process for nodes from different routes.During this process, nodes to be transferred from one route to another are identified for every combination of pairs of routes.This process is shown in pseudocode in Algorithms 2. It is executed independently for all possible pairs (combinations) of routes.
The principle of MRO is illustrated in Figure 4.It uses the solution obtained after SRO was applied (see Figure 3b).In Figure 4a, nodes identified for removal from the blue and azure routes are emphasized.These nodes are then inserted into the red route.Consequently, the quality of this new solution was further improved from 123.42 to 117.78.While the SRO finds a better solution by replacing nodes belonging to the same route, MRO incorporates a similar process for nodes from different routes.During this process, nodes to be transferred from one route to another are identified for every combination of pairs of routes.This process is shown in pseudocode in Algorithms 2. It is executed independently for all possible pairs (combinations) of routes.
The principle of MRO is illustrated in Figure 4.It uses the solution obtained after SRO was applied (see Figure 3b).In Figure 4a, nodes identified for removal from the blue and azure routes are emphasized.These nodes are then inserted into the red route.Consequently, the quality of this new solution was further improved from 123.42 to 117.78.

Mutual routes optimization
1. for = 1 to 2. for each possible pair of routes r1 and r2 3.
for each combination of successive nodes in route r1 4.
remove the nodes from route r1 and insert them into route r2 5.
evaluate the newly-created solution 6.
if this solution is better than the original and all constraints are satisfied (capacity, length) then 7.
replace the original with the new solution 8.
continue in point 4 unless all possible places in the route r2 have been already evaluated 9. return the best solution Each newly created route in the SRO process replaces the original, provided that the new route is better than the original, i.e., its length is shorter according to Formula (3).
where is the length of the original route, is the length of the newly created route, identifies a route in the solution ( = 1 to where is the number of vehicles/routes).In the MRO process, the acceptance criterion depends on the type of problem.For MDVRP, when the total distance is minimized, the two newly created routes influenced by the process replace the originals when either Formula (4) or (5) are satisfied.The choice of formula depends on the setting of the algorithm.For M-MDVRP, when the longest route is minimized, Formula (6) must be satisfied.

<
and < , where and are the lengths of the original pair of routes, and are the lengths of the newly created pair of routes, and identify routes in the solution ( , = 1 to ; ≠ ).

Mutual routes optimization
1. for = 1 to 2. for each possible pair of routes r1 and r2 3.
for each combination of successive nodes in route r1 4.
remove the nodes from route r1 and insert them into route r2 5.
evaluate the newly-created solution 6.
if this solution is better than the original and all constraints are satisfied (capacity, length) then 7.
replace the original with the new solution 8.
continue in point 4 unless all possible places in the route r2 have been already evaluated 9. return the best solution Each newly created route in the SRO process replaces the original, provided that the new route is better than the original, i.e., its length is shorter according to Formula (3).
where is the length of the original route, is the length of the newly created route, identifies a route in the solution ( = 1 to where is the number of vehicles/routes).In the MRO process, the acceptance criterion depends on the type of problem.For MDVRP, when the total distance is minimized, the two newly created routes influenced by the process replace the originals when either Formula (4) or ( 5) are satisfied.The choice of formula depends on the setting of the algorithm.For M-MDVRP, when the longest route is minimized, Formula (6) must be satisfied.

<
and < , (4) where and are the lengths of the original pair of routes, and are the lengths of the newly created pair of routes, and identify routes in the solution ( , = 1 to ; ≠ ).Each newly created route in the SRO process replaces the original, provided that the new route is better than the original, i.e., its length is shorter according to Formula (3).
where L i orig is the length of the original route, L i new is the length of the newly created route, i identifies a route in the solution (i = 1 to M where M is the number of vehicles/routes).
In the MRO process, the acceptance criterion depends on the type of problem.For MDVRP, when the total distance is minimized, the two newly created routes influenced by the process replace the originals when either Formula (4) or ( 5) are satisfied.The choice of formula depends on the setting of the algorithm.For M-MDVRP, when the longest route is minimized, Formula (6) must be satisfied.
where L i orig and L j orig are the lengths of the original pair of routes, L i new and L j new are the lengths of the newly created pair of routes, i and j identify routes in the solution (i, j = 1 to M; i = j).

Experiments and Results
Cordeau's benchmark instances [29,30] were used for the experiments.At first, the comparison of the original ACO algorithm with this algorithm enhanced by the additional optimization process was conducted; the parameters and settings of the algorithms were the same.The modified optimization criterion was used in experiments.Table 2 shows the results.As can be seen, the AOP process yielded considerably improved solutions.In 21 out of 23 cases, the solutions have been improved.In the remaining cases (p13, p14), the solutions are the same.Since these are the simplest instances with 80 regularly distributed nodes, it can be assumed that these solutions are optimal.In general, the more complex the problem, the higher the level of improvement.The average improvement over all 23 instances is 14.08%.
Table 2 also shows the average runtime of one execution of both the original ACO and the ACO with AOP for every instance.All experiments were carried out on a computer with the following configuration: Intel i7 4 GHz CPU with 8 cores, 16 GB RAM, operating system Windows 10.The codes of the algorithms were written in C++ in the Visual Studio IDE.As can be seen, the AOP process requires some extra time, which depends on the complexity of the problem, i.e., the number of nodes.For problems with 360 nodes (p21, p22, p23), the time required to obtain a solution with the algorithm with AOP was about 80% longer compared to the original ACO.Overall, the increase of the runtime on all Cordeau's benchmark instances is 39.2%.Table 3 presents the results in the same manner as Table 1.For each instance, numbers of nodes (N) and depots (M) are shown.The numbers in bold in the third column record the best known solutions (BKS) taken from NEO Web [31] (available at http://neo.lcc.uma.es/vrp/vrp-instances/multipledepot-vrp-instances/),i.e., the MDVRP optimization criterion (Formula (1)) was used.The ACO algorithm (with AOP process) was executed 100 times on each instance; the best solution is recorded in the fourth column of Table 3 (numbers in bold), with the M-MDVRP optimization criterion applied (Formula (2)).Both BKS and ACO solutions were then recalculated using the opposite optimization criterion, i.e., BKS solutions with the M-MDVRP criterion, and vice versa.All solutions from Table 3 are available for download at http://www.unob.cz/en/fml/structure/k110/m-mdvrp.
The difference (gap) between BKS and ACO solutions (both for MDVRP and M-MDVRP optimization criteria) are also shown in the last column of Table 3.These values do not indicate the quality of the algorithms, because different optimization criteria were used for optimization.
The quality of results in Table 3 can be estimated by comparing the lengths of individual routes within the solution, since this indicates the distribution of the delivery process to individual vehicles; the smaller the differences between the routes, the better the solution.
Table 4 shows the average and standard deviation for all benchmark instances.As an example, the standard deviation for benchmark instance p09 is 3.047, which is 0.22% of the solution.The mean of the average deviation values is 0.41% and of the standard deviation values 0.55%.The principle of estimating the quality of solutions by computing the standard deviation is shown in Table 5, which compares these values for the BKS solutions (see Table 3) and solutions obtained by the original ACO algorithm and the ACO algorithm with AOP (see Table 2).As can be seen, the values of the standard deviation are higher in most cases, for worse solutions.The mean of the standard deviation for the BKS solutions is 10.98%, 2.20% for the solutions of the original ACO, and 0.55% for the solutions of the ACO with AOP.

Practical Application
The proposed algorithm is utilized in the Tactical Decision Support System (TDSS) being developed at the University of Defense, Czech Republic.TDSS aims at supporting commanders of the Czech Army in their decision-making at the tactical level.It has been implemented into several models of military tactics, such as optimal cooperative reconnaissance by aerial and/or ground unmanned vehicles, and optimal logistics distribution on the battlefield.More details about the information support of commanders can be found in [33][34][35][36][37][38][39].
An example of the optimal logistics distribution model is shown in Figure 5.In this model, units (see blue circles labeled by numbers) deployed in the area of operations are supplied by logistic vehicles (see blue hexagons labeled by letters).Each unit may have different requirements for the amount of supplies it needs; the maximum capacity constraint of the supplying vehicles is thus taken into account.The model plans the entire logistic operation: each supplying vehicle knows the order of units it needs to visit and the shortest routes between them (see the black thick lines in Figure 5).
The modified optimization criterion defined in Formula ( 2) is used mostly in this problem, as the general requirement is to conduct the operation as quickly as possible.Alternatively, the optimization criterion to minimize the fuel consumed can be selected.In such a case, the cost of an edge in the graph is computed as the fuel consumed by a vehicle which moves along the route between the nodes connecting the edge.This creates an asymmetric graph as the fuel consumed by moving between two nodes may differ, depending on the direction of travel; this is however no limitation for the proposed algorithm.More information about this model can be found in [33].
(see blue circles labeled by numbers) deployed in the area of operations are supplied by logistic vehicles (see blue hexagons labeled by letters).Each unit may have different requirements for the amount of supplies it needs; the maximum capacity constraint of the supplying vehicles is thus taken into account.The model plans the entire logistic operation: each supplying vehicle knows the order of units it needs to visit and the shortest routes between them (see the black thick lines in Figure 5).

Conclusions
This article presents the Multi-Depot Vehicle Routing Problem with a modified optimization criterion.This problem is known as Min-Max MDVRP in the literature.The first part of the paper shows the impact of the modification compared to the standard MDVRP.
For solving modified MDVRP, the Ant Colony Optimization principle was used.The original algorithm published by the author in [32] was adapted and modified for M-MDVRP.Moreover, this algorithm was enhanced by a deterministic optimization process which is executed repeatedly within the iterations of the ACO algorithm.This process improved the results considerably, as can be seen from Table 2; the average improvement over all 23 benchmark instances is 14.08%.
For an evaluation of M-MDVRP solutions, Cordeau's benchmark instances were used.For each instance, two solutions exist: the solution found by the ACO algorithm (using modified MDVRP criterion), and the best known solution, taken from the literature (using standard MDVRP criterion).Both solutions are then recalculated using the opposite criterion: the solution found by the ACO algorithm is recalculated using the standard MDVRP criterion, and vice versa.As is obvious from Table 3, all solutions found by the ACO algorithm are better than the BKS solutions recalculated according to the modified criterion.
The quality of the ACO algorithm is then estimated by computing the average and standard deviation from individual routes of a solution.The quality is estimated under the assumption that the smaller the differences between individual routes, the better the quality of the solution.A solution where all the routes are of similar length ensures the balanced distribution of the delivery process to individual vehicles.The mean of the standard deviation computed from all solutions is only 0.55% of the lengths of the longest routes.

Algorithms 1 . 14 Algorithms 1 .
Single route optimization in pseudocode.Algorithms 2018, 11, x FOR PEER REVIEW 6 of Single route optimization in pseudocode.Single route optimization 1. for each route 2. for = 1 to 3.

Table 1 .
Difference between MDVRP and M-MDVRP shown on instance p03.
Single route optimization in pseudocode.

Table 2 .
Comparison of the ACO algorithm with and without AOP process.

Table 4 .
Comparison of lengths of routes for solutions of benchmark instances.

Table 5 .
Comparison of lengths of routes for various solutions.