pending on the form of the problem and thus allow-
ing extensibility to a wide variety of VRPs, includ-
ing the ones that capture the high complexities, large
data sizes, uncertainties, and dynamisms that exist in
real-life. These kind of VRPs are called Rich Vehicle
Routing Problems (RVRPs) and are even more dif-
ficult to solve than simpler VRPs (Drexl, 2012). The
final aim of this work is to deal with RVRPs, although
for the initial assessment of the methodology we have
chosen classical VRP variants and incrementally con-
structed more complex problems.
In order to assess these goals, first the collabora-
tion of two main parts of the framework needs to be
explored, which is the objective of this paper. This
is carried out by generating solutions using ACO as
a search algorithm and verifying their feasibility us-
ing CP. We aim to reduce the development time by
using the CP to model the constraints and check their
feasibility, and thus guide the approximate algorithm
towards better results.
The paper is organised as follows. In Section 2,
we propose our general framework by describing its
main two parts and how they cooperate to build feasi-
ble solutions. The experimental setup and the results
of the experiments are shown in Sections 3 and 4. Fi-
nally, the last section states the conclusions and some
future research ideas.
2 PROPOSED FRAMEWORK
The proposed framework is made up of two main ele-
ments: the CP and theselected heuristic/metaheuristic
(in this specific case, a basic version of the ACO).
The cooperation between these two parts is depicted
in Fig.1.
The aim of the CP part of the framework is
twofold. First, it provides a clear and powerful for-
mulation to encode any constraints relevant to a given
routing problem. Thus, different VRPs can be quickly
modelled and re-modelled as CSPs without the need
of changing the architecture of the framework. Sec-
ond, it encompasses a CP solver, which provides eval-
uations of solutions’ feasibility and also global search
information given partial solutions. This informa-
tion helps the metaheuristic to avoid exploring search
spaces with no feasible solutions.
The metaheuristic part of the framework is where
the main search through the solution space takes
place. In the proposed framework the metaheuristic
part is implemented in two distinct loops as shown in
figure 1. While the outer loop is mostly concerned
with the logic of the metaheuristic, the inner one uses
the interaction with the CP solver to guide the con-
struction of solutions.
The inner loop of the metaheuristic is effectively a
random construction algorithm. That is, in each iter-
ation the solution is augmented with a new part. The
selection of the new part is guided according to the
mechanism of the metaheuristic.
Because the metaheuristic is oblivious to the na-
ture of the problem, it frequently asks CP to verify the
solution. This is done by sending a partial solution to
the CP and having CP check that no constraints are
broken given the current assignment. As we will later
explain in more details, the CP checking performed in
the internal loop is allowed to ignore serving all cus-
tomers in a way that makes construction of a feasible
solution always possible. Therefore, in the outer loop
each solution is checked one last time to compute the
fitness of the solution according to the objective func-
tion and possible unsatisfied customers.
The outer loop starts by constructing a new solu-
tion using the inner loop iterations. Then, it evalu-
ates the new solution quality and updates the state of
the metaheuristic according to the quality of the solu-
tion. For example in the case of ACO, it updates the
pheromone matrix.
2.1 CP Model
As said before there are many different problem sub-
classes (defined by the specific active constraints) in
VRP, most of which have already been studied. This
makes it possible to build a constraint and objective
library and activate only the needed parts for solving
the given problem. In our case, we are working with
a CP-VRP library (Riera et al., 2009), built for the
ECLiPSe
1
CP system. This library allows the use of
constraints for capacity, distance, heterogeneous ve-
hicles, asymmetric routes, time windows, and pick up
and delivery, among others.
2.2 Search Algorithm
ACO is a well-known nature inspired metaheuristic
algorithm used for solving combinatorial optimisa-
tion problems. In particular, ACO is a probabilistic
technique which builds a solution iteratively through
a stochastic construction procedure. This class of
optimisation algorithms follows simple rules based
on a collective behaviour of the self-organised sim-
ple agents with no centralised control structure dictat-
ing how individual agents should behave (Dorigo and
Birattari, 2010; Yu and Yang, 2011; Balseiro et al.,
2011).
1
http://eclipseclp.org/