decision support system in city logistics - The Society for Modelling ...
decision support system in city logistics - The Society for Modelling ...
decision support system in city logistics - The Society for Modelling ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
multiple objective metaheuristics <strong>in</strong> vehicle rout<strong>in</strong>g<br />
problem. (designed and verified on simulation data as<br />
add-<strong>in</strong> expand<strong>in</strong>g functionality of TransCAD solver)<br />
In many real-world problems it is necessary to take <strong>in</strong>to<br />
account many different and often conflict<strong>in</strong>g objectives.<br />
In such problems there is no s<strong>in</strong>gle optimal solution, but<br />
a set of many alternative solutions. At present multiple<br />
objective metaheuristics are a very active field of<br />
research.<br />
In this chapter author’s achievements <strong>in</strong> this field of<br />
research are summarized (<strong>for</strong> details see [1]).<br />
In our research an extended Capacitated Vehicle<br />
Rout<strong>in</strong>g Problem (CVRP) has been studied. This<br />
extension <strong>in</strong>volves multiple objective optimization.<br />
Three <strong>in</strong>dependent objectives have been selected<br />
arbitrary: m<strong>in</strong>imization of total travel<strong>in</strong>g distance,<br />
travel<strong>in</strong>g time and number of vehicles.<br />
Our multiple objective metaheuristics <strong>for</strong> CVRP have<br />
been based on Multiple Objective MetaHeuristic<br />
Library <strong>in</strong> C++ (MOMHLib++). MOMHLib++ is a<br />
library of C++ classes that implements a number of<br />
multiple objective metaheuristics. It has been developed<br />
by Jaszkiewicz (2001). In this library ma<strong>in</strong> multiple<br />
objectives metaheuristics are implemented <strong>in</strong> a<br />
consistent way, which allows easy adaptation of the<br />
methods to a given problem.<br />
As our ma<strong>in</strong> research <strong>in</strong>terest lies <strong>in</strong> evolutionary<br />
computations, genetic algorithms have been selected<br />
from the MOMHLib++. <strong>The</strong>se are (with work<strong>in</strong>g<br />
abbreviations used <strong>in</strong> the further part of this paper):<br />
1. Strenght Pareto Evolutionary Approach (SPEA),<br />
2. Nondom<strong>in</strong>ated Sort<strong>in</strong>g Genetic Algorithm (NSGA),<br />
3. Nondom<strong>in</strong>ated Sort<strong>in</strong>g Genetic Algorithm II<br />
(NSGA II),<br />
4. Controlled Nondom<strong>in</strong>ated Sort<strong>in</strong>g Genetic<br />
Algorithm II (NSGA II C).<br />
Also hybrid genetic methods have been studied, where<br />
global optimization is hybridized with local<br />
optimization (local search method). <strong>The</strong>se algorithms<br />
are:<br />
1. Multiple Objective Genetic Local Search by<br />
Jaszkiewicz (MOGLS),<br />
2. Multiple Objective Genetic Local Search by<br />
Ishibushi and Murata (IMMOGLS),<br />
3. Pareto Memetic Algorithm (PMA).<br />
For the comparative purposes Multiple Objective<br />
Multiple Start Local Search (MOMSLS) method has<br />
been analyzed.<br />
Dur<strong>in</strong>g calculations two alternative mutation operation<br />
have been used: node exchange (NX) and arc exchange<br />
(AX). <strong>The</strong>se two operations are adopted from the<br />
Travel<strong>in</strong>g Salesperson Problem (TSP). In case of node<br />
exchange two po<strong>in</strong>ts <strong>in</strong> the solution sequence are<br />
exchanged. In arc exchange operation the sequence<br />
between two po<strong>in</strong>ts (<strong>in</strong>clud<strong>in</strong>g the second of the two<br />
selected po<strong>in</strong>ts) is <strong>in</strong>verted. Each change <strong>in</strong> arcs is<br />
connected with changes <strong>in</strong> time and distances traveled<br />
by vehicles.<br />
Another operation is neighborhood search operation,<br />
which is necessary <strong>in</strong> local search optimization<br />
methods. For this purpose node exchange and arc<br />
exchange operators were used. But while <strong>in</strong> case of<br />
mutation the pairs of po<strong>in</strong>ts are generated with<br />
randomness, <strong>in</strong> local search (where the neighborhood is<br />
searched <strong>in</strong> a <strong>system</strong>atical way) <strong>for</strong> each sensible pair<br />
the operation is per<strong>for</strong>med.<br />
Experiments have been conducted <strong>in</strong> two phases. In first<br />
phase the s<strong>in</strong>gle objective optimization has been carried<br />
out (m<strong>in</strong>imization of the total distance). It is due to the<br />
fact that there are no benchmarks <strong>for</strong> the multiple<br />
objective CVRP. <strong>The</strong> s<strong>in</strong>gle objective optimization was<br />
conducted to prove (with success) that:<br />
1. Our genetic algorithm operators and local search<br />
method operators are well suited to the CVRP<br />
2. Our software (which implements the CVRP and the<br />
operators) effectively works with MOMHLib++<br />
In the second phase experiments on the multiple<br />
objective CVRP have been carried out.<br />
As a benchmark <strong>for</strong> the s<strong>in</strong>gle objective CVRP<br />
optimization a number of well-known problem <strong>in</strong>stances<br />
have been used. It <strong>in</strong>cludes <strong>in</strong>stances <strong>for</strong>m Augerat Set<br />
A (A-n44-k7, A-n54-k7, A-n80-k10), Augerat Set B<br />
(B-n31-k5, B-n41-k6, B-n57-k7, B-n63-k10,<br />
B-n78-k10) and Christofides and Eilon (E-n13-k4,<br />
E-n22-k4, E-n33-k4, E-n51-k5, E-n76-k10, E-n76-k14,<br />
E-n76-k7, E-n76-k8). Only few of those are presented <strong>in</strong><br />
this paper.<br />
For each method and <strong>for</strong> each <strong>in</strong>stance two k<strong>in</strong>ds of<br />
optimizations have been carried out. In the first one AX<br />
operator has been used <strong>for</strong> mutation and local search,<br />
while <strong>in</strong> the other NX operator has been used.<br />
In case of genetic algorithms there is no significant<br />
difference <strong>in</strong> the results, so AX and NX operator are<br />
equally good <strong>for</strong> mutation. This has not come true <strong>in</strong><br />
case of hybrid genetic algorithms and local search<br />
method, where AX and NX operators have been used<br />
<strong>for</strong> search<strong>in</strong>g the neighborhood. In this case AX<br />
operator per<strong>for</strong>ms much better than NX. It is probably<br />
because less disturbances <strong>in</strong> solutions appear when AX<br />
is used, so this operator gives more chance to precisely<br />
search the current solution neighborhood.<br />
But more mean<strong>in</strong>gful are differences <strong>in</strong> per<strong>for</strong>mance<br />
between algorithms. Best results have been obta<strong>in</strong>ed <strong>for</strong><br />
the hybrid genetic algorithms (especially <strong>for</strong> MOGLS<br />
and PMA). Local search (MOMSLS) has per<strong>for</strong>med<br />
well. <strong>The</strong> worst per<strong>for</strong>mance has been reached by the<br />
genetic algorithms (especially by SPEA and NSGA, see<br />
table 2). All four genetic algorithms use Pareto-rank<strong>in</strong>g<br />
<strong>for</strong> assess<strong>in</strong>g fitness <strong>for</strong> each chromosome.<br />
<strong>The</strong> poor per<strong>for</strong>mance of these genetic methods is due<br />
to the fact that Pareto rank<strong>in</strong>g is not <strong>in</strong><strong>for</strong>mative enough<br />
to carry out the optimization well.