Lecture Notes in Computer Science
Commenced Publication in 1973
Founding and Former Series Editors:
Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen
Editorial Board
David Hutchison
Lancaster University, UK
Takeo Kanade
Carnegie Mellon University, Pittsburgh, PA, USA
Josef Kittler
University of Surrey, Guildford, UK
Jon M. Kleinberg
Cornell University, Ithaca, NY, USA
Friedemann Mattern
ETH Zurich, Switzerland
John C. Mitchell
Stanford University, CA, USA
Moni Naor
Weizmann Institute of Science, Rehovot, Israel
Oscar Nierstrasz
University of Bern, Switzerland
C. Pandu Rangan
Indian Institute of Technology, Madras, India
Bernhard Steffen
University of Dortmund, Germany
Madhu Sudan
Massachusetts Institute of Technology, MA, USA
Demetri Terzopoulos
New York University, NY, USA
Doug Tygar
University of California, Berkeley, CA, USA
Moshe Y. Vardi
Rice University, Houston, TX, USA
Gerhard Weikum
Max-Planck Institute of Computer Science, Saarbruecken, Germany
3906
Jens Gottlieb Günther R. Raidl (Eds.)
Evolutionary
Computation
in Combinatorial
Optimization
6th European Conference, EvoCOP 2006
Budapest, Hungary, April 10-12, 2006
Proceedings
13
Volume Editors
Jens Gottlieb
SAP AG
Dietmar-Hopp-Allee 16, 69190 Walldorf, Germany
E-mail:
[email protected]
Günther R. Raidl
Vienna University of Technology, Institute of Computer Graphics
Algorithms and Datastructures Group
Favoritenstr. 9-11/186, 1040 Vienna, Austria
E-mail:
[email protected]
The cover illustration is the work of Pierre Grenier
Library of Congress Control Number: 2006922468
CR Subject Classification (1998): F.1, F.2, G.1.6, G.2.1, G.1
LNCS Sublibrary: SL 1 – Theoretical Computer Science and General Issues
ISSN
ISBN-10
ISBN-13
0302-9743
3-540-33178-6 Springer Berlin Heidelberg New York
978-3-540-33178-0 Springer Berlin Heidelberg New York
This work is subject to copyright. All rights are reserved, whether the whole or part of the material is
concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting,
reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication
or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965,
in its current version, and permission for use must always be obtained from Springer. Violations are liable
to prosecution under the German Copyright Law.
Springer is a part of Springer Science+Business Media
springer.com
© Springer-Verlag Berlin Heidelberg 2006
Printed in Germany
Typesetting: Camera-ready by author, data conversion by Scientific Publishing Services, Chennai, India
Printed on acid-free paper
SPIN: 11730095
06/3142
543210
Preface
Metaheuristics have often been shown to be effective for difficult combinatorial
optimization problems appearing in various industrial, economical, and scientific
domains. Prominent examples of metaheuristics are evolutionary algorithms,
simulated annealing, tabu search, scatter search, memetic algorithms, variable
neighborhood search, iterated local search, greedy randomized adaptive search
procedures, estimation of distribution algorithms, and ant colony optimization.
Successfully solved problems include scheduling, timetabling, network design,
transportation and distribution problems, vehicle routing, the traveling salesperson problem, satisfiability, packing and cutting problems, planning problems,
and general mixed integer programming.
The EvoCOP event series started in 2001 and has been held annually since
then. It was the first specifically dedicated to the application of evolutionary
computation and related methods to combinatorial optimization problems. Evolutionary computation involves the study of problem-solving and optimization
techniques inspired by principles of natural evolution and genetics. Following
the general trend of hybrid metaheuristics and diminishing boundaries between
the different classes of metaheuristics, EvoCOP has broadened its scope over the
last years and invited submissions on any kind of metaheuristic for combinatorial
optimization problems.
This volume contains the proceedings of EvoCOP 2006, the 6th European
Conference on Evolutionary Computation in Combinatorial Optimization. It was
held in Budapest, Hungary, on April 10–12 2006, jointly with EuroGP 2006, the
9th European Conference on Genetic Programming, and EvoWorkshops 2006,
which consisted of the following seven individual workshops: EvoBIO, the 4th
European Workshop on Evolutionary Bioinformatics; EvoCOMNET, the Third
European Workshop on Evolutionary Computation in Communications, Networks, and Connected Systems; EvoHOT, the Third European Workshop on
Hardware Optimization; EvoIASP, the 8th European Workshop on Evolutionary Computation in Image Analysis and Signal Processing; EvoInteraction, the
First European Workshop on Interactive Evolution and Humanized Computational Intelligence; EvoMUSART, the 4th European Workshop on Evolutionary
Music and Art; and EvoSTOC, the Third European Workshop on Evolutionary
Algorithms in Stochastic and Dynamic Environments.
EvoCOP, originally held as an annual workshop, became a conference in 2004.
The events gave researchers an excellent opportunity to present their latest research and to discuss current developments and applications, besides stimulating
closer future interaction between members of this scientific community. Accepted
papers of previous events were published by Springer in the series Lecture Notes
in Computer Science (LNCS – Volumes 2037, 2279, 2611, 3004, and 3448).
VI
Preface
EvoCOP
2001
2002
2003
2004
2005
2006
submitted
31
32
39
86
66
77
accepted
23
18
19
23
24
24
acceptance ratio
74.2%
56.3%
48.7%
26.7%
36.4%
31.2%
The rigorous, double-blind reviewing process of EvoCOP 2006 resulted in a
strong selection among the submitted papers; the acceptance rate was 31.2%.
Each paper was reviewed by at least three members of the international Program
Committee. All accepted papers were presented orally at the conference and are
included in this proceedings volume. We would like to give credit to the members
of our Program Committee, to whom we are very grateful for their quick and
thorough work and the valuable advice on how to improve papers for the final
publication.
EvoCOP 2006 covers evolutionary algorithms as well as various other metaheuristics, like scatter search, tabu search, memetic algorithms, variable neighborhood search, greedy randomized adaptive search procedures, ant colony
optimization, and particle swarm optimization algorithms. The contributions
are dealing with representations, heuristics, analysis of problem structures, and
comparisons of algorithms. The list of studied combinatorial optimization problems includes prominent examples like graph coloring, knapsack problems, the
traveling salesperson problem, scheduling, graph matching, as well as specific
real-world problems.
We would like to express our sincere gratitude to the two internationally
renowned invited speakers, who gave the keynote talks at the conference: Richard
J. Terrile, astronomer, Director, of the Center for Evolutionary Computation
and Automated Design at NASA’s Jet Propulsion Laboratory, and Stefan Voß,
Chair and Director of the Institute of Information Systems at the University of
Hamburg.
The success of the conference resulted from the input of many people to
whom we would like to express our appreciation. We would like to thank Philipp
Neuner for administrating the Web-based conference management system. The
local organizers and Judit Megyery did an extraordinary job for which we are
very grateful. Last but not least, the tremendous effort of Jennifer Willies and the
School of Computing, Napier University, in the administration and coordination
of EuroGP 2006, EvoCOP 2006, and EvoWorkshops 2006 was of paramount
importance.
April 2006
Jens Gottlieb
Günther R. Raidl
Organization
EvoCOP 2006 was organized jointly with EuroGP 2006 and EvoWorkshops 2006.
Organizing Committee
Chairs
Jens Gottlieb, SAP AG, Germany
Günther R. Raidl, Vienna University of Technology, Austria
Local chair
Anikó Ekárt, Hungarian Academy of Sciences, Hungary
Publicity chair Steven Gustafson, University of Nottingham, UK
Program Committee
Adnan Acan, Eastern Mediterranean University, Turkey
Hernan Aguirre, Shinshu University, Japan
Enrique Alba, University of Málaga, Spain
M. Emin Aydin, London South Bank University, UK
Ruibin Bai, University of Nottingham, UK
Jean Berger, Defence Research and Development Canada, Canada
Christian Bierwirth, University Halle-Wittenberg, Germany
Christian Blum, Universitat Politècnica de Catalunya, Spain
Peter Brucker, University of Osnabrück, Germany
Edmund Burke, University of Nottingham, UK
David Corne, University of Exeter, UK
Ernesto Costa, University of Coimbra, Portugal
Carlos Cotta, University of Málaga, Spain
Peter I. Cowling, University of Bradford, UK
Bart Craenen, Napier University, Edinburgh, UK
David Davis, NuTech Solutions Inc., USA
Karl F. Dörner, University of Vienna, Austria
Anton V. Eremeev, Omsk Branch of the Sobolev Institute of Mathematics,
Russia
David Fogel, Natural Selection, Inc., USA
Bernd Freisleben, University of Marburg, Germany
Michel Gendreau, Université de Montréal, Canada
Jens Gottlieb, SAP AG, Germany
Walter Gutjahr, University of Vienna, Austria
Jin-Kao Hao, University of Angers, France
Emma Hart, Napier University, Edinburgh, UK
VIII
Organization
Richard F. Hartl, University of Vienna, Austria
Geir Hasle, SINTEF, Norway
Jano van Hemert, University of Edinburgh, UK
Jörg Homberger, Stuttgart University of Cooperative Education, Germany
Bryant A. Julstrom, St. Cloud State University, USA
Graham Kendall, University of Nottingham, UK
Joshua D. Knowles, University of Manchester, UK
Gary A. Kochenberger, University of Colorado, USA
Gabriele Koller, Vienna University of Technology, Austria
Mario Köppen, Fraunhofer IPK, Germany
Jozef J. Kratica, Serbian Academy of Sciences and Arts, Serbia and Montenegro
Andrea Lodi, University of Bologna, Italy
Helena R. Lourenço, Universitat Pompeu Fabra, Spain
Arne Løkketangen, Molde University College, Norway
Dirk C. Mattfeld, Technical University Braunschweig, Germany
Helmut A. Mayer, University of Salzburg, Austria
Daniel Merkle, University of Leipzig, Germany
Peter Merz, University of Kaiserslautern, Germany
Zbigniew Michalewicz, University of Adelaide, Australia
Martin Middendorf, University of Leipzig, Germany
Pablo Moscato, University of Newcastle, Australia
Christine L. Mumford, Cardiff University, UK
Ibrahim H. Osman, American University of Beirut, Lebanon
Francisco J. B. Pereira, University of Coimbra, Portugal
Adam Prugel-Bennett, University of Southampton, UK
Jakob Puchinger, Vienna University of Technology, Austria
Günther R. Raidl, Vienna University of Technology, Austria
Marcus C. Randall, Bond University, Australia
Colin Reeves, Coventry University, UK
Marc Reimann, ETH Zurich, Switzerland
Mauricio G. C. Resende, AT&T Research, USA
Franz Rothlauf, University of Mannheim, Germany
Andreas Sandner, SAP AG, Germany
Marc Schoenauer, INRIA, France
Christine Solnon, University Lyon I, France
Eric Soubeiga, KPMG, UK
Giovanni Squillero, Politecnico di Torino, Italy
Thomas Stützle, Universite Libre de Bruxelles, Belgium
Eric Taillard, HEIG-VD, Switzerland
El-ghazali Talbi, INRIA Futurs – Lille, France
Edward Tsang, University of Essex, UK
Stefan Voß, University of Hamburg, Germany
Ingo Wegener, University of Dortmund, Germany
Takeshi Yamada, NTT Communication Science Laboratories, Japan
Table of Contents
Hybrid Genetic Algorithm Within Branch-and-Cut for the Minimum
Graph Bisection Problem
Michael Armbruster, Marzena Fügenschuh, Christoph Helmberg,
Nikolay Jetchev, Alexander Martin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
The Trade Off Between Diversity and Quality for Multi-objective
Workforce Scheduling
Peter Cowling, Nic Colledge, Keshav Dahal, Stephen Remde . . . . . . . .
13
Evolving the Structure of the Particle Swarm Optimization Algorithms
Laura Dioşan, Mihai Oltean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
A Tabu Search Algorithm for Optimization of Gas Distribution Networks
Herbert de Mélo Duarte, Elizabeth F. Gouvêa Goldbarg,
Marco César Goldbarg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
Design of a Retail Chain Stocking Up Policy with a Hybrid Evolutionary
Algorithm
Anna I. Esparcia-Alcázar, Lidia Lluch-Revert, Manuel Cardós,
Ken Sharman, Carlos Andrés-Romano . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
Parametrized GRASP Heuristics for Three-Index Assignment
Armin Fügenschuh, Benjamin Höfler . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
A Memetic Algorithm with Bucket Elimination for the Still Life Problem
José E. Gallardo, Carlos Cotta, Antonio J. Fernández . . . . . . . . . . . . . .
73
Effects of Scale-Free and Small-World Topologies on Binary Coded
Self-adaptive CEA
Mario Giacobini, Mike Preuss, Marco Tomassini . . . . . . . . . . . . . . . . . . .
86
Particle Swarm for the Traveling Salesman Problem
Elizabeth F. Gouvêa Goldbarg, Givanaldo R. de Souza,
Marco César Goldbarg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99
Hierarchical Cellular Genetic Algorithm
Stefan Janson, Enrique Alba, Bernabé Dorronsoro,
Martin Middendorf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Improving Graph Colouring Algorithms and Heuristics Using a Novel
Representation
István Juhos, Jano I. van Hemert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
X
Table of Contents
Minimizing Makespan on a Single Batch Processing Machine with
Non-identical Job Sizes: A Hybrid Genetic Approach
Ali Husseinzadeh Kashan, Behrooz Karimi, Fariborz Jolai . . . . . . . . . . . 135
A Relation-Algebraic View on Evolutionary Algorithms for Some
Graph Problems
Britta Kehden, Frank Neumann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
New Computational Results for the Nurse Scheduling Problem: A
Scatter Search Algorithm
Broos Maenhout, Mario Vanhoucke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Fast EAX Algorithm Considering Population Diversity for Traveling
Salesman Problems
Yuichi Nagata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
A Memetic Algorithm with Population Management (MA|PM) for the
Capacitated Location-Routing Problem
Christian Prins, Caroline Prodhon, Roberto Wolfler Calvo . . . . . . . . . . 183
The Core Concept for the Multidimensional Knapsack Problem
Jakob Puchinger, Günther R. Raidl, Ulrich Pferschy . . . . . . . . . . . . . . . 195
Multiobjective Scheduling of Jobs with Incompatible Families on
Parallel Batch Machines
Dirk Reichelt, Lars Mönch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
A Memetic Algorithm for the Biobjective Minimum Spanning Tree
Problem
Daniel A.M. Rocha, Elizabeth F. Gouvêa Goldbarg,
Marco César Goldbarg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
A Comparative Study of Ant Colony Optimization and Reactive Search
for Graph Matching Problems
Olfa Sammoud, Sébastien Sorlin, Christine Solnon,
Khaled Ghédira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Divide-and-Evolve: A New Memetic Scheme for Domain-Independent
Temporal Planning
Marc Schoenauer, Pierre Savéant, Vincent Vidal . . . . . . . . . . . . . . . . . . . 247
A Variable Neighbourhood Search Algorithm for Job Shop Scheduling
Problems
Mehmet Sevkli, M. Emin Aydin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Table of Contents
XI
An Efficient Hybrid Search Algorithm for Various Optimization
Problems
Mario Vanhoucke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
A Hybrid VNS/Tabu Search Algorithm for Apportioning the European
Parliament
Gabriel Villa, Sebastián Lozano, Jesús Racero, David Canca . . . . . . . . . 284
Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Hybrid Genetic Algorithm Within
Branch-and-Cut for the Minimum Graph
Bisection Problem
Michael Armbruster1 , Marzena Fügenschuh2 , Christoph Helmberg1 ,
Nikolay Jetchev2 , and Alexander Martin2
1
Chemnitz University of Technology,
Department of Mathematics, D-09107 Chemnitz, Germany
[email protected]
2
Darmstadt University of Technology,
Department of Mathematics, D-64289 Darmstadt, Germany
[email protected]
Abstract. We develop a primal heuristic based on a genetic algorithm
for the minimum graph bisection problem and incorporate it in a branchand-cut framework. The problem concerns partitioning the nodes of a
weighted graph into two subsets such that the total weight of each set is
within some lower and upper bounds. The objective is to minimize the
total cost of the edges between both subsets of the partition. We formulate the problem as an integer program. In the genetic algorithm the
LP-relaxation of the IP-formulation is exploited. We present several ways
of using LP information and demonstrate the computational success.
1
The Minimum Graph Bisection Problem
We consider a weighted graph G = (V, E) with edge costs we ∈ IR+ , e ∈ E,
and node weights fi ∈ ZZ + , i ∈ V . A pair (V1 , V2 ) satisfying V1 ∪ V2 = V and
V1 ∩ V2 = ∅ is called bipartition, if V1 = ∅ and V2 = ∅. V1 and V2 are called
clusters. Given a real number τ ∈ [0, 1] we define bounds lτ and uτ such that
lτ =
1−τ
fi
2
and
i∈V
uτ =
1+τ
fi .
2
i∈V
A bipartition (V1 , V2 ) such that the
total node weight of each cluster stays
within the bounds lτ , uτ , i.e., lτ ≤
i∈Vk fi ≤ uτ , k = 1, 2, holds, is called
bisection. A bisection cut ∆(V1 , V2 ) is the set of edges joining nodes in different
clusters of the bisection (V1 , V2 ). The minimum graph bisection problem is to
find a bisection (V1 , V2 ) with the minimum cost of ∆(V1 , V2 ):
we .
e∈∆(V1 , V2 )
This problem is known to be NP-hard [8].
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 1–12, 2006.
c Springer-Verlag Berlin Heidelberg 2006
2
M. Armbruster et al.
Fig. 1. An example of a graph bisection (V1 , V2 ) with τ = 0.1, lτ = 9 and uτ = 11.
The dashed edges build a bisection cut ∆(V1 , V2 ). The numbers within the nodes and
the numbers nearby the edges correspond to node and edge weights respectively.
Graph bisection and its generalizations, e.g. when V is partitioned into more
than two subsets [6], have considerable practical significance, especially in the areas of VLSI design and parallel computing. With state-of-the-art solution methods it is still unrealistic to obtain exact solutions for large instances. Usually
such problems are tackled heuristically. Genetic algorithms are known to find
good solutions to graph partitioning problems, see e.g. [5, 11, 12, 14]. Successful
approaches combining methods from different classical metaheuristics, among
others including evolutionary algorithms, are presented in [4, 14]. This motivated
us to incorporate a primal heuristic based on a genetic algorithm in a branchand-cut framework. In [13] a classification of methods that combine exact and
heuristic procedures is given. Within this scheme our work can be categorized
as a heuristic that exactly solves relaxed problems: We exploit the solution of
the LP-relaxation for generating a start population as well as in the mutation
procedures of our genetic algorithm.
Our paper is structured as follows. In Section 2 we present integer programming formulations for the minimum graph bisection problem. In Section 3 we
outline the structure of the genetic algorithm based on the fractional solution
of the LP-relaxation hybridized with the edge costs. In Section 4 we provide
computational results.
2
Integer Programming Models
For an integer programming formulation of the minimum graph bisection problem we introduce binary variables yij for all ij ∈ E. Each y ∈ {0, 1}|E| satisfying
yij = 1 if nodes i and j are in different clusters, and yij = 0 otherwise, corresponds to an incidence vector of a bisection cut in G. Let
Y = {y ∈ {0, 1}|E| | y is an incidence vector of a bisection cut in G}.
Hybrid Genetic Algorithm
Fig. 2. Variables yij , ij ∈ E and zi , i ∈ V
3
Fig. 3. Values of variables yij , ij ∈ E and
zi , i ∈ V corresponding to the bisection
cut presented in Fig. 1
We search for such an element of the set Y that minimizes e∈E we ye . It remains
to describe Y by linear constraints. One formulation can be derived directly from
the model presented in [6] concerning a generalization of the graph bisection
problem. There are introduced additional binary variables zi for each node i ∈ V .
It is required that all z-variables corresponding to nodes assigned to one cluster
have the same value, see Fig. 2 and Fig. 3.
The following constraints guarantee that yij = 1 if and only if zi = zj , i.e.,
nodes i and j are in different clusters, and yij = 0 otherwise.
∀ ij ∈ E
∀ ij ∈ E
zi − zj − yij ≤ 0
zj − zi − yij ≤ 0
(1)
(2)
∀ ij ∈ E
∀ ij ∈ E
−zj − zi + yij ≤ 0
zi + zj + yij ≤ 2
(3)
(4)
The constraint
lτ ≤
fi zi ≤ u τ
(5)
i∈V
assures that the total weight of nodes in each cluster stays within the given
lower and upper bound. The projection of the feasible set defined by constraints
(1) - (5) onto the y-space equals the set Y . Note that, since our objective is to
minimize a positive weighted sum of y-components, constraint (4) is redundant
in the problem formulation.
Since the node variables zi , i ∈ V do not appear in the objective function we
get rid of them in the following way. We replace the constraints (1) - (4) with
a known class of valid inequalities for P = conv(Y ) called odd-cycle inequalities
(see also [3]):
ye ≤ |F | − 1, ∀ C ⊂ G, F ⊂ EC , |F | is odd,
ye −
e∈F
e∈EC \F
4
M. Armbruster et al.
where C = (VC , EC ) is a cycle in G. These constraints require that each cycle C
in G must contain an even number of edges from the cut. Next, we reformulate
constraint (5) by selecting a node s ∈ V and extending E so that s is adjacent
to all other nodes in V . The weights wis of new edges are set to zero, see Fig. 4.
0
0
s
0
Fig. 4. New edges (dashed) incident to node s and their costs
For all nodes i ∈ V , which are in the same cluster as s, holds
fi (1 − yis ) ≤ uτ ,
lτ ≤ fs +
i∈V \{s}
which is equivalent to
lτ ≤
fi yis ≤ uτ
i∈V \{s}
using lτ + uτ = i∈V fi .
Thus we obtain a new integer programming model for the minimum graph
bisection problem:
we ye
min
e∈E
(B)
s.t.
ye −
e∈F
lτ ≤
ye ≤ |F | − 1,
∀ C ⊂ G, F ⊂ EC , |F | is odd
e∈EC \F
fi yis ≤ uτ , for some s ∈ V
i∈V \{s}
ye ∈ {0, 1}, ∀ e ∈ E.
The feasible solutions of (B) are in one-to-one correspondence to the elements
of Y . In the sequel we consider the latter model. Since the number of all possible
odd-cycles is exponential in |E| we do not include them all in the initial formulation. Using the polynomial time separation algorithm given in [3] we add violated
odd-cycle-inequalities sequentially during separation within the branch-and-cut
algorithm.
Hybrid Genetic Algorithm
3
5
Hybrid Genetic Algorithm
Genetic algorithms solve optimization problems in an analogous manner to the
evolution process of nature [9]. A solution of a given problem is coded into a string
of genes termed individual. New solutions are generated by operations called
crossover and mutation. In a crossover two parents are drawn from the current
population and parts of their genes are exchanged resulting in child solutions.
A mutation is an adequate transformation of a single individual. Individuals
delivering the best objective value are selected for creating the next generation.
Table 1. The generic genetic algorithm
input
y h ∈ IR|E|
p number of individuals in population, k factor of population growth,
g number of generations, f number of fitness loops,
M mutation type, mr mutation rate
(1)
(2)
output
based on y h create initial population with p individuals
while sufficient improvement on fitness
and number of loops less than g
do
(2a) perform crossover and mutation M
till population grows to kp individuals
(2b) evaluate fitness of each individual
(2c) select p best individuals
done
individual with the best fitness value
In our heuristic, outlined in Table 1, we code an individual in two equivalent
ways. One form is the node representation, i.e., as a vector v ∈ {0, 1}n , n = |V |. If
vi = vj , nodes i and j are in one cluster. The other form is the edge representation
as a vector y ∈ {0, 1}E , where
0, vi = vj
yij =
1, vi = 1 − vj .
To obtain a wider selection range of individuals we allow infeasible solutions in
the sense that the bounds lτ and uτ on the total weight node of clusters do not
need to be fulfilled.
The main idea of our genetic algorithm is to construct solutions to the bisection problem using the vector y ′ ∈ [0, 1]E , which is a fractional solution to the
linear relaxation of (B). As an additional criterion we use the edge cost vector
w. Thus we hybridize the components of y ′ and w by considering y h = f (y ′ , w).
h
The components yij
, ij ∈ E are supposed to provide the information, if i and j
should be assigned to the same cluster. The hybridization forms of y h vary on
6
M. Armbruster et al.
subroutines of the algorithm (creating the starting population, mutation procedures) and will be explained sequentially in the next subsections.
3.1
Initial Population
The initial population is determined in the following way. Suppose we are given
a set F ⊆ E. How F is constructed we explain below. We compute a spanning forest on F such that for each of its components (V 1 , E 1 ), . . . , (V k , E k ) ⊂
(VF , EF ), k ≥ 2, holds:
fi ≤ uτ , 1 ≤ j ≤ k.
i∈V j
The two heaviest sets V s , V t with respect to the weighted node sum form the
initial clusters. Using a bin packing heuristic we complete the clusters with the
node sets V j , 1 ≤ j ≤ k, j = s, t. Thus we obtain an individual ṽ ∈ {0, 1}n with
ṽi = 0 for all i ∈ V s and ṽi = 1 for all i ∈ V t . See also heuristic Edge in [7].
We construct F due to the information delivered by the fractional LP-solution
y ′ and the edge cost vector w. Concerning y ′ the set F should contain edges with
LP-values close to zero. In regard to w, F should possibly contain edges with
high costs. We applied three methods of combining components of y ′ and w. We
consider F := Fε ∪ Fρ , where Fε = {e ∈ E : ye′ < ε} and Fρ takes one of the
following forms.
(F1) Fρ = {e ∈ E :
1
1+we2
(F2) Fρ = {e ∈ E :
ye′
+
≤ Xρ },
1
1+we2
≤ Xρ },
1
(F3) Fρ = {e ∈ E : Zye′ + (1 − Z) 1+w
2 ≤ Xρ } for a random number
e
Z ∈ [0, 1],
where Xρ is either constantly equal to ρ or a random number in [0, ρ]. In (F1)
an edge enters F , if it has high cost and also a high LP-value with respect to ε.
In (F2) we allow the extension of F by edges with high cost if their LP-value is
not too high. In (F3) we prioritize randomly the approach (F1) and (F2) using a
parameterization of the corresponding components of y ′ and w. As a comparison
to the above hybridization of the set F we consider also a random approach:
(R) Fρ = {e ∈ E : ye′ < Xρ and
ye′
Xρ
< Z} for a random Z ∈ [0, 1].
Note that the bounds ε and ρ control the number of edges entering F . If Fρ = ∅
and one of the methods (F1) - (F3) is applied, we say that the set F is hybridized.
If Fρ = ∅ the starting population contains p duplicates of ṽ. Otherwise, we
select a new random value Xρ in each iteration creating a new individual, and
thus obtain a differentiated initial population.
3.2
Mutations
To create a new generation we apply four mutation types. The parameter
mr called mutation rate is introduced to control the percentage of exchanged
Hybrid Genetic Algorithm
7
components of vector v, or y respectively, in one mutation round. We apply also
hybridization methods to some of our mutations procedures. Concerning the implementation issues, we were able to apply the edge costs to Mutation 3 and 4
(see below) without loss on the efficiency of our algorithm. We implemented the
following transformations.
Mutation 1. Let v ∈ {0, 1}|V | be an individual selected for the mutation. Let
VM ⊂ V be a randomly selected subset of v components such that |VM | < mr .
For all i ∈ VM we set vi := 1 − vi . Note that this general procedure does not
make use of the specifics of the underlying bisection problem.
Mutation 2. This procedure works in a similar way as Mutation 1 applied to
the edge representation of the individual. Let EM ⊂ E be a random selection of
edges such that |EM | < mr . For each ij ∈ EM such that yij := 1 we set yij := 0.
Then we accordingly update the values of vi and vj . It holds vi = vj . Under a
random decision we set either vi := vj or vj := vi .
Mutation 3. Here we use the same idea as for creation of the initial population.
Let EM ⊂ E be a random selection of edges such that |EM | < mr and let Xρ ∈
h
as the probability
be a random number. We consider the value pij := 1 − yij
that nodes i and j are in the same cluster. For each ij ∈ EM , if pij > 1 − Xρ we
set either vi := vj or vj := vi at random. If pij < Xρ then we set vi := 1 − vj or
vj := 1 − vi , again randomly.
h
In the non-hybridized version of this mutation we set yij
:= y ′ . To hybridize
the method we apply the following mapping
h
′
yij
:= Zyij
+
1−Z
,
1 + wij
for ij ∈ EM and a random Z ∈ [0, 1].
Mutation 4. This is a kind of a neighborhood search. Let v ∈ {0, 1}|V | be an
individual selected for the mutation. Let VM ⊂ V be a randomly selected subset
of v components such that |VM | < mr . For i ∈ VM we count the number of nodes
adjacent to i in each cluster, i.e., we determine the numbers
c0 = |{j : ij ∈ E, vj = 0}| and c1 = |{j : ij ∈ E, vj = 1}|.
If c0 > c1 we set vi = 0, and 1 otherwise.
To hybridize this mutation we sum also the edge costs of joining node i ∈ VM
with each cluster. We calculate
wij .
wij
and
w1 =
w0 =
ij∈E:vj =0
ij∈E:vj =1
We decide randomly, either vi takes its value depending on max{c0 , c1 }, as in
the original procedure, or depending on min{w0 , w1 }, i.e., if w0 < w1 we set
vi = 1.
8
3.3
M. Armbruster et al.
Crossover and Fitness Value
For the crossover operation we implemented the one-point crossover: we select
at random two parents from the present population and a crossover point from
the numbers {1, . . . , n − 1}. A new solution is produced by combining the pieces
of the parents. For instance, suppose we selected parents (u1 , u2 , u3 , u4 , u5 ) and
(v1 , v2 , v3 , v4 , v5 ) and crossover point 2. The child solutions are (u1 , u2 , v3 , v4 , v5 )
and (v1 , v2 , u3 , u4 , u5 ).
To each individual we assign a fitness value. If it corresponds to a feasible
bisection, i.e., the total node weight in both clusters stays within the limits lτ
and uτ , we take the inverse of the objective function value in the incidence vector of the corresponding bisection cut. Otherwise we take a negated feasibility
violation, i.e., the weight of the cluster which is greater than uτ . The p fittest
individuals are selected from the expanded population and the next generation
is created. The fitness value of the best individual is stored. It defines the fitness
of the generation. We consider two stopping criteria of the genetic process. One
is defined by f , called fitness loop number. It gives the limit of loops we perform without increase in the generation fitness. The second limit is the maximal
number of loops we perform in one heuristic round. The output is the fittest
individual. If it corresponds to a feasible bisection cut the inverse of its fitness
value gives an upper bound for the problem (B).
4
Computational Results
All tests presented below are carried out using the settings
mr = 1,
f = 60,
g = 300,
p = 150 k = 4.
In addition all mutation types are selected randomly uniformly distributed.
We refer to [2] for an overview on how the heuristic performs depending on
the selection of parameters p, k and M . In these preliminary studies, we only
considered ε = 0.01 and also did not apply any of the hybridization methods
explained in subsections 3.1 and 3.2. We established that small instances (|E| <
1000) can be most efficiently solved applying just the standard mutation type
(Mutation 1). In these cases the solution time was proportional to the parameters
p and k. On the contrary, on bigger instances (3500 < |E| < 6500) the heuristic
performed better with problem related mutation types (Mutation 2,3,4) and
the biggest choice of solutions, i.e., the population growth. Furthermore better
solutions of the LP-relaxation lead to better primal bounds computed by our
heuristic and to less time consumption.
In this paper we present our empirical investigation on three graph instances
selected from the sample given in [10] varying in the number of edges between
3500 and 6500. We generally set τ = 0.05. As a branch-and-cut framework we
use SCIP [1] with CPLEX [15] as LP-solver. All computations are executed on
a 2.6 GHz Pentium IV processor with 2 GB main storage.
Hybrid Genetic Algorithm
9
In our investigations we search for the possibly best selection of the set F in
the sense that our heuristic constantly improves upper bounds and hence considerably contributes to the efficient termination of the branch-and-cut algorithm,
i.e., the closing of the optimality gap:
gap =
bu − w T y ′
,
wT y ′
where bu is the lowest upper bound found so far. To this end, we vary the
following parameters and methods. At the beginning we just increase the value
of ε from 0.01 to 0.03 and 0.05. The success of the methods (F1) - (F3) depends
on the adequate selection of the pair (ε, ρ). It turns out that too small and too
large cardinalities of F deteriorate the solution quality. The parameters ε and ρ
appear to be coupled in a way that if we reduce ε we need to increase ρ and the
other way round. For our tests we selected the pairs (ε, ρ) from set
Bε,ρ := {(0.03, 0.2), (0.05, 0.1), (0.05, 0.2), (0.01, 0.4)}.
Table 2. Test results on the hybridization of set F and mutations 3 and 4
Instance.n.m
ε
ρ
F
M
bub
aub
σ
taq.334.3763
0.03
0.01
0.01
0.05
0.01
∼0.2
∼0.4
0.4
∼0.2
∼0.4
R
F3
F2
F2
F1
+
+
-
341
341
341
341
341
530
505
477
461
445
184
231
142
116
100
diw.681.3752
0.05
0.03
0.05
0.05
0.05
∼0.2
∼0.1
∼0.1
∼0.1
F2
F1
F1
F1
+
+
+
+
1228
1219
1205
1199
1185
1768
1903
1552
1785
1744
357
378
253
389
297
taq.1021.6356
0.05
0.01
0.05
0.01
0.05
0.1
∼0.4
0.4
∼0.2
F3
F3
R
F3
+
+
+
+
+
3678
3641
3425
3403
3392
3768
4120
3986
3957
3992
302
403
405
438
481
n number of nodes
m number of edges
∼ Xρ ∈ [0, ρ] is selected randomly, otherwise Xρ = ρ
M = {+} hybrid mutations 3 and 4 are applied
bub best upper bound delivered by the heuristic
aub average upper bound
σ standard deviation
10
M. Armbruster et al.
We investigate next the impact of the updated mutations on the solution while
Fρ = ∅ and only ε vary. Then we integrate them together with all variations of
Fρ described in subsection 3.1. It turns out that the simultaneous application
of both, the hybrid set F and the hybrid mutations, not always contributes to
better solutions, in comparison to a separate one. However, improvements based
on the underlying problem, i.e., either to the initial phase of the algorithm or to
the mutations, still perform better than random ones.
In Table 2 we present the parameter selections for each instance, which contribute to the best upper bounds and hence to the reduction of the optimality gap. Table 3 shows the number of processed nodes of the branch-and-cut
tree (N ), which we set as the limit for the computations for each instance,
the average number of heuristic rounds (r) and the average execution time of
one heuristic round. None of the methods (F1) - (F3) appears to be generally
Table 3. Statistics on instances
Instance.n.m
N
r
av. CPU time
taq.334.3763
300
50
25 sec.
diw.681.3752
100
20
51 sec.
taq.1021.6356
30
7
82 sec.
applicable for all instances. However, selecting an appropriate one contributes
to good results. The first instance is solved most efficiently with the parameter
pair (ε, ρ) = (0.01, 0.4) independently from the hybridization form of the set F .
(ε, ρ) = (0.05, 0.1) and the method (F1) seems to be the best parameter selection
for the second instance, while ε = 0.05 and method (F3) are the best for the
third instance.
Finally in Tables 4, 5 and 6 we give a comparison on how the branch-and-cut
performs without the genetic algorithm as well as the impact of the hybridization
Table 4. Branch-and-cut without the genetic algorithm
Instance.n.m
taq.334.3952
diw.681.3752
taq.1021.6356
N
317
109
42
bub
-
blb
299
389
469
gap
inf
inf
inf
time
3600
3600
3600
blb best lower bound
gap optimality gap by termination of the branch-and-cut
time in CPU seconds
Hybrid Genetic Algorithm
11
on the solution process. Table 4 shows the results when applying the pure branchand-cut without the genetic heuristic. In Table 5 we show the best results, when
the heuristic is applied in the non-hybrid version, and in Table 6 the best results
for each instance achieved with the hybrid version. As time limit we used 3600
CPU sec.
Table 5. Branch-and-cut with the non-hybrid genetic algorithm
Instance.n.m
ε
N
bub
blb
gap
time
taq.334.3952
diw.681.3752
taq.1021.6356
0.05
0.01
0.03
337
108
32
341
1288
3896
311
390
435
9.6 %
230.2 %
795.6 %
3600
3600
3600
It pays off to apply the hybridization of the genetic heuristic with the exception of the instance taq.334.3952. But even in this case the hybrid version does
not deteriorate considerably the result. For the other two larger instances the
hybrid genetic algorithm yields the smallest gap by improving the upper bound.
This keeps the branch-and-bound tree smaller so that the best lower bound also
benefits.
Table 6. Branch-and-cut with the hybrid genetic algorithm
5
Instance.n.m
N
bub
blb
gap
time
taq.334.3952
diw.681.3752
taq.1021.6356
327
115
32
341
1185
3403
309
445
450
10.1 %
166.2 %
656.2 %
3600
3600
3600
Conclusion
We developed a genetic algorithm as a primal heuristic routine in a branchand-cut framework for solving a minimum graph bisection problem. Following
our earlier observation that the good quality of fractional LP-solution can be
a significant help for the algorithm to deliver good solutions we looked for further developments. Thus we integrated edge costs in selected subroutines of
the algorithm as a kind of decision support. We were able to show that attempts of such hybridization deliver a good alternative to the standard random
approach.
Acknowledgments. This work is supported by German Research Foundation
(DFG).
12
M. Armbruster et al.
References
1. Achterberg, T.: SCIP - a framework to integrate constraint and mixed integer
programming. ZIB-Report (2004)
2. Armbruster, M., Fügenschuh, M., Helmberg, C., Jetchev, N., Martin, A.: LP-based
Genetic Algorithm for the Minimum Graph Bisection Problem. Operations Research Proceedings 2005 (to appear)
3. Barahona, F., Mahjoub, A. R.: On the cut polytope. Math. Programming 36(2)
(1986) 157–173
4. Banos, R., Gil, C., Ortega, J., Montoya, F. G.: Multilevel heuristic algorithm
for graph partitioning. Proceedings of Applications of Evolutionary Computing,
EvoWorkshops 2003. Springer, LNCS 2611 (2003) 143-153
5. Bui, T. N., Moon, B. R.: Genetic algorithm and graph partitioning. IEEE Trans.
Comput. 45(7) (1996) 841–855
6. Ferreira, C. E., Martin, A., de Souza, C. C., Weismantel, R., Wolsey, L. A.: Formulations and valid inequalities for the node capacitated graph partitioning problem.
Math. Programming 74 (1996) 247–267
7. Ferreira, C. E., Martin, A., de Souza, C. C., Weismantel, R., Wolsey, L. A.: The
node capacitated graph partitioning problem: A computational study. Math. Programmming 81(2) (1998) 229–256
8. Garey, M. R., Johnson, D. S.: Computers and Intractability. W.H. Freeman and
Company (1979)
9. Hoos, H. H., Stützle, T.: Stochastic Local Search: Foundations and Applications.
Morgan Kaufmann (2004) San Francisco (CA)
10. Jünger, M., Martin, A., Reinelt, G., Weismantel, R.: Quadratic 0/1 optimization
and a decomposition approach for the placement of electronic circuits. Math. Programmming B 63(3) (1994) 257–279
11. Kohmoto, K., Katayaman, K., Narihisa, H.: Performance of a genetic algorithm
for the graph partitioning problem. Math. Comput. Modelling 38 (11-13) (2003)
1325–1333
12. Maini, H., Mehrotra, K., Mohan, C., Ranka, S.: Genetic algorithms for graph partitioning and incremental graph partitioning. Supercomputing ’94: Proceedings of
the 1994 ACM/IEEE conference on Supercomputing (1994) 449–457, New York,
USA, ACM Press.
13. Puchinger, J., Raidl, G. R.: Combining metaheuristics and exact algorithms in
combinatorial optimization: A survey and classification. In Proceedings of the First
International Work-Conference on the Interplay Between Natural and Artificial
Computation, Springer LNCS 3562 (2005) 41-53
14. Soper, A.J., Walshaw, C., Cross, M.: A combined evolutionary search and multilevel
optimisation approach to graph-partitioning. J. Glob. Optim. 29(2) (2004) 225-241
15. ILOG CPLEX Division, 889 Alder Avenue, Suite 200, Incline Village, NV 89451,
USA. Information available at URL http://www.cplex.com.
The Trade Off Between Diversity and Quality for
Multi-objective Workforce Scheduling*
Peter Cowling, Nic Colledge, Keshav Dahal, and Stephen Remde
MOSAIC Research Group, University of Bradford, Great Horton Road,
Bradford, BD7 1DP, Great Britain
{p.i.cowling, n.j.colledge, k.p.dahal,
s.m.remde}@bradford.ac.uk
Abstract. In this paper we investigate and compare multi-objective and
weighted single objective approaches to a real world workforce scheduling
problem. For this difficult problem we consider the trade off in solution quality
versus population diversity, for different sets of fixed objective weights. Our
real-world workforce scheduling problem consists of assigning resources with
the appropriate skills to geographically dispersed task locations while satisfying
time window constraints. The problem is NP-Hard and contains the Resource
Constrained Project Scheduling Problem (RCPSP) as a sub problem. We investigate a genetic algorithm and serial schedule generation scheme together with
various multi-objective approaches. We show that multi-objective genetic algorithms can create solutions whose fitness is within 2% of genetic algorithms using weighted sum objectives even though the multi-objective approaches know
nothing of the weights. The result is highly significant for complex real-world
problems where objective weights are seldom known in advance since it suggests that a multi-objective approach can generate a solution close to the user
preferred one without having knowledge of user preferences.
1 Introduction
In collaboration with an industrial partner we have studied a workforce scheduling
problem which is a resource constrained scheduling problem similar to but more complex and “messy” than many other well-studied scheduling problems like the RCPSP
(Resource Constrained Project Scheduling Problem) and job shop scheduling problem, for which much work has been done [1]. The problem is based on our work with
Vidus Ltd. (an @Road company) which has developed scheduling solutions for very
large, complex mobile workforce scheduling problems in a variety of industries. Our
workforce scheduling problem is concerned with assigning people and other resources
to geographically dispersed tasks while respecting time window constraints and is like
many scheduling problems NP-Hard [1] because it contains the RCPSP as a subproblem.
*
This work was funded by an EPSRC CASE Studentship in partnership with Vidus Ltd. (an
@Road company).
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 13 – 24, 2006.
© Springer-Verlag Berlin Heidelberg 2006
14
P. Cowling et al.
This paper is structured as follows: we outline a model of our workforce scheduling problem in section 2, discuss related work in section 3 and propose a multiobjective genetic algorithm for solution of the workforce scheduling problem in
section 4. In section 5 we investigate multi-objective genetic algorithms and compare
them to other single objective genetic algorithms in terms of solution quality and
diversity. We present conclusions in section 6.
2 The Workforce Scheduling Problem
The workforce scheduling problem that we consider consists of four main components: Tasks, Resources, Skills and Locations. A task Ti is a job or part of a job that
needs to be completed. Each task must start and end at a specified location. Usually
the start and end locations are the same but they may be different. Each task has one
or more time windows. Some time windows which are an inconvenience for the customer have an associated penalty. We have a set {T1,T2,…,Tn} of tasks to be completed. Each task is undertaken by one or more resources. We have set of resources
{R1,R2,…,Rm}. A task requires resources with the appropriate skills. We have a set
{S1,S2,…,Sk} of skills. Task Ti requires skills [TS1i , TS 2i ,..., TS ti( i ) ] with work requirements [ w1i , w2i ,..., wti(i ) ] where wqi is the amount of skill TS qi required. Task Ti also has
an associated priority p(Ti). Resources are the components that undertake the work
and possess skills. Resource Rj possesses skills [RS1j , RS 2j ,..., RS rj( j ) ] . A function
c(R,S) expresses the competence of resource R at skill S, relative to an average competency. Each resource R travels from location to location at speed v(R). For tasks T1,
T2, d(T1, T2) measures the distance between the end location of T1 and the start location of T2. There are three main groups of constraints: task constraints, resource constraints and location constraints and they are described below.
Task constraints:
• Each task can be worked on only within specified time windows.
• Some tasks require other tasks to have been completed before they can begin
(precedence constraints).
• Some tasks require other tasks to be started at the same time (assist constraints).
• Tasks may be split across breaks within a working day. No tasks may take
more than one day.
• For a task to be scheduled it must have exactly one resource assigned to it for
each of the skills it requires.
• All assigned resources have to be present at a task for its whole duration regardless of their skill competency and task skill work requirement.
• If a task Ti with skill requirements [TS1i , TS 2i ,..., TS ti( i ) ] and amounts
[ w1i , w2i ,..., wti(i ) ] is carried out by resources [R 1i , R2i ,..., Rti( i ) ] then the time
taken is
The Trade Off Between Diversity and Quality for Multi-objective Workforce Scheduling
15
⎛
⎞
wqi
⎜
⎟
i
i
q∈{1, 2 ,...,t (i )}⎜ c( R , TS ) ⎟
q
q
⎝
⎠
i.e. the greatest time taken for any single resource to complete a skill requirement
max
Resource constraints:
• A resource R travels from location to location at a fixed speed v(R).
• Resources may only work during specified time windows.
• Resources can only work on one task at once and only apply one skill at a
time.
Location constraints:
• Resources must travel to the location of each task they work on, and are unavailable during this travel time.
• Resources must start and end each day at a specified “home” location and
must have sufficient time to travel to and from their home location at the
start and end of each day.
2.1 Objectives
When building a schedule many different and often contradictory business objectives
are possible. In this paper we consider three objectives. The first objective is Schedule
Priority (SP), given by
SP =
∑ p(T )
i
{i :Ti is scheduled }
Maximising Schedule Priority maximises the importance of the tasks scheduled to
the user (and implicitly minimises the importance of tasks unscheduled).
The second objective measures Travel Time (TT) across all resources. Define
A={(i1,i2,j):task Ti1 comes immediately before Ti2 in the schedule of resource Rj}.
Then,
TT =
∑
d (Ti1 , Ti 2 )
v( R j )
( i1, i 2 , j )∈ A
Travel to and from home locations is handled by considering dummy tasks fixed at
the start and end of the working day, at the home location of each resource.
The third objective measures the inconvenience associated with completing tasks
or using resources at an inconvenient time, which we have labelled Schedule Cost
(SC). In order to express this accurately we express the time windows for Resource R
using a function τ where τ(R,t) is the cost per unit time for resource R working at
time t. We introduce a variable
⎧1 if resource R is busy (on a task or traveling) at time t
Χ( R, t ) = ⎨
⎩0 otherwise
Similarly we introduce τ’ where τ’(T,t) is the cost per unit time for task T being
executed at time t and
16
P. Cowling et al.
⎧1 if task T is being executed at time t
Χ' (T , t ) = ⎨
⎩0 otherwise
Then
∑∫
n
SC =
i =1
t
∑ ∫ Χ( R , t )τ ( R , t )dt
m
Χ' (Ti , t )τ ' (Ti , t )dt +
j =1
t
j
j
Other objectives are possible but these three objectives express most of the primary
concerns of the users in this case, at a high level. Considering lower level objectives
at regional and resource group level could, however, give in many more objectives for
this problem.
3 Related Work
3.1 Similar Problems
The RCPSP is a generalisation of several common scheduling problems including
job-shop, open-shop and flow-shop scheduling problems [1]. The RCPSP consists of
a set of Tasks to be performed using a set of finite capacity resources. In common
with the model in the preceding section, the RCPSP has tasks which are undertaken
by finite capacity resources subject to precedence constraints. However, the notion of
tasks requiring skills and resources possessing multiple skills is essentially absent, as
is the travel aspect. Precedence constraints are a major part of the RCPSP model and
in many RCPSP problems the precedence constraints are arguably the most complex
constraints with every task involved in a precedence relationship with one or more
other tasks [1]. They are less significant for our model with many tasks having no
predecessors or successors. Our problem has time-varying resource availability which
is rarely considered in the RCPSP, however Brucker [2] discusses an RCPSP with
time dependent resource profiles which model the changing availabilities of resources.
The resource constrained multiple project scheduling problem (rc-mPSP) [3] is less
widely studied than the RCPSP. An rc-mPSP problem consists of several RCPSP
problems that are not connected by precedence constraints, making the overall problem less time constrained than an equivalent RCPSP problem with the same tasks
(and the extra precedence constraints). These precedence constraints are closer to the
ones observed in our workforce scheduling problem.
A recent review of work on personnel scheduling is presented in [18]. In contrast
to the RCPSP, personnel scheduling does include a notion of time-varying resource
availability, in some cases resources availability is limited to certain times of day as
for our problem. Some personnel scheduling problems such as crew scheduling also
include travel between locations. However, personnel scheduling problems generally
do not contain any notion of precedence, which is highly significant to both our problem and the RCPSP.
The Trade Off Between Diversity and Quality for Multi-objective Workforce Scheduling
17
3.2 Solution Techniques for the RCPSP
Since their introduction by Bremermann and Fraser and the seminal work done by
Holland [4], genetic algorithms (GAs) have been developed extensively to tackle
problems including the travelling salesman problem, bin packing problems and scheduling problems (see for example [5]). [6] reviewed a range of meta-heuristics for
solution of the RCPSP and showed genetic algorithms to work consistently well compared with other methods such as tabu search and simulated annealing. Many of the
genetic algorithms presented in [6] worked by optimising the order in which tasks are
passed to a schedule generation scheme (a greedy constructive heuristic). A serial
schedule generation scheme (serial SGS) builds schedules by inserting tasks one by
one into the schedule as early as possible. Most of the techniques reviewed in [6] use
a serial SGS. Serial SGSs have been shown to be superior in general to parallel SGSs
which works by taking a slice of time and inserting as many tasks as possible into it
before moving on to another later slice of time. One such genetic algorithm is presented in [5]. Another more complex approach is presented in [7], here a genetic algorithm is used to generate a schedule in a similar fashion to [5], however once the
schedule is generated, a forward backward improvement heuristic is used to improve
the resulting schedule. The GA in [5] is shown to work well across a set of test
RCPSP problems [6], however the genetic algorithm presented in [7] with forward
backward improvement is shown to be one of the best approaches presented across
the test problem set. None of the aforementioned approaches use real world problems
or real problem data and so their performance under such conditions is unknown.
3.3 Multi-objective Scheduling Techniques
The most widely used method for combining multiple objectives in genetic algorithms
is the weighted sum method. This can be problematic as practitioners estimated
weights are often not a good reflection of the true requirements for a globally good
solution. Simply put, a user is not used to being asked to explicitly define the relative
importance of different problem goals, and the weights defined may reflect small
local effects (since they are easy for the user to understand) rather than more difficult
to define global ones.
Multi-objective approaches do not rank solutions directly as weighted sum approaches do; instead they use the notion of dominance and the distribution of solutions in objective space to decide the overall quality of a population of solutions. An
important notion is that of a non-dominated solution, which is a solution where there
are no other solutions better with respect to all the objectives. Multi-objective approaches try to maintain a set of solutions which are non-dominated and to get a good
distribution of these solutions in objective space. This is useful in scheduling as the
user no longer has to specify a set of specific weights representing the kind of schedule they think they are looking for, instead they can choose a schedule from a diverse
set. A range of multi-objective genetic algorithms are among the most widely used
approaches.
The Vector Evaluated Genetic Algorithm (VEGA) was proposed and compared
with an adaptive random search technique in [8], which showed that VEGA out performed adaptive random search in terms of solution quality. VEGA finds a set of
18
P. Cowling et al.
non-dominated solutions and works by splitting the population randomly in to a number of subpopulations (the number of subpopulations being equal to the number of
objectives to be considered). The population evolves with a mating pool created using
a proportion of individuals from each sub-population with different objective functions. The technique is simple, however, each solution is only evaluated with one
objective at any time and because of this eventually all solutions converge towards
one solution with respect to a single objective [9]. In real world problems this convergence towards one objectives best solution is unworkable where we seek a trade off
between objectives.
The Non-dominated Sorting Genetic Algorithm (NSGA) [10], and its enhancement
NSGA-II [11] sort the population into non-dominated fronts. This is done by first
identifying non-dominated individuals in the population, these are on the first front,
the first front is then removed from the population and then non-dominated individuals are identified again, these comprise the second front. This process is repeated until
all fronts are identified. The computational complexity of the algorithm has been
reduced from O(mN3) for NSGA to O(mN2) for NSGA-II per generation, where m is
the number of objectives and N is the population size; however the memory requirements have increased from O(N) to O(N2). Elitism has been introduced in NSGA-II to
force the algorithm to keep the extreme maximum and minimum solutions for all
objectives, as has a new algorithm for crowding distance calculation. Crowding distance is a representation of the density of neighbouring individuals on any given front.
Mating selection in NSGA-II is performed by binary tournament selection using the
crowded comparison operator. If both solutions are on the same front, then the crowding distance is used as a tie breaker. The parent and child populations are combined
and this new population (of size 2N) is ranked according to front. Fronts are then
added to the next generation’s population (starting with the non-dominated front) until
the size exceeds N. Once this has been done, crowding distance assignment is applied
to the last front that has been added and the crowded comparison operator is used to
sort this final front and the worst individuals are removed to give the next generation’s population.
The Strength Pareto Evolutionary Algorithm (SPEA) was introduced in [12], and
further improved to SPEA2 in [13]. SPEA2 uses Pareto based ideas in both population selection and mating selection. Fitness assignment in SPEA2 works in two parts:
domination, and distance to the kth nearest neighbour. The domination of an individual
i, is calculated by counting the individuals dominated by i, this is the individuals
strength value. Then, the raw fitness R(i) is calculated for each individual i by adding
k
all the strength values of individuals dominated by i. The distance value σ i is created for each individual i by finding the Euclidean distance to all other individuals in
objective space and sorting them in ascending order. The kth closest is taken where k is
a user defined parameter ([13] recommends k parameter to be the square root of the
combined size of the population and the archive population). Then a density value
1
D(i) is calculated by the equation D ( i ) =
ensuring that (in the final calcula(σ ik + 2 )
tion of fitness) the raw fitness value takes precedence over it. Finally, the total fitness
for each individual (i) can be calculated using F (i ) = R(i ) + D (i ) .
The Trade Off Between Diversity and Quality for Multi-objective Workforce Scheduling
19
SPEA2 uses an archive to allow individuals to survive from one generation to the
next. At the end of a generation all non-dominated individuals from the archive and
the population are copied to a new archive. If the archive is not filled by this process
the best non-dominated individuals (according to the SPEA2 fitness function) from
the population can also be copied into it. If however, the archive is overfilled by nondominated individuals it is truncated by removing individuals based on their σ ik
distance to other individuals in the archive.
NSGA-II and SPEA2 have been compared with SPEA and Pareto Envelope-Based
Selection Algorithm (PESA) [14] on a set of test problems including the knapsack
problem in [13]. NSGA-II and SPEA2 are shown to perform the best out of all tested.
SPEA2 is said to be better in higher dimensional objective spaces and the solutions
generated by SPEA2 are shown to dominate those generated by NSGA-II 80% of the
time (on average).
4 Application of Multi-objective Genetic Algorithms to Our
Workforce Scheduling Problem
As the review of [6] showed genetic algorithms such as [7] and [5] perform well
across a set of test problem instances, we have chosen to adopt a similar approach to
our workforce scheduling problem. We use a serial schedule generation scheme to
encapsulate the assignment of tasks to resources and constraint handling for our problem. A permutation based genetic algorithm optimises the order in which tasks are
passed to this serial schedule generation scheme. We consider two multi-objective
GAs to a single, weighted sum objective GA which uses binary tournament selection
and elitist replacement. The multi-objective genetic algorithms will use NSGA-II and
SPEA2 multi-objective approaches for the mating and environmental selection
phases.
4.1 Serial Schedule Generation Scheme (SGS)
The serial schedule generation scheme we have built uses a permutation of tasks to
generate a schedule. As our problem is more complex than traditional RCPSP problems (due the way skills, resources and task durations are defined) the task scheduling
process within the SGS is split into two sub processes, resource selection and task
insertion. This is also where many of the similarities between the RCPSP serial SGS
methods defined in [15] and our method end. This is unfortunate as for the RCPSP
solved with an activity list serial SGS there is always an order of tasks which will
generate an optimal schedule when a regular performance measure is considered [15].
However, this is not the case with our SGS that because of the complexity of allocating resources having appropriate skills to a task requiring multiple skills, and time
window constraints. The schedules generated will however always be feasible.
The motivation for divorcing resource selection from task insertion in this way is
mainly due to the fact that until resources are selected for a task, there is no way of
knowing exactly how long the task will take. This uncertainty causes many problems
in the scheduling process, and is often the cause of tasks going unscheduled.
Resources are selected by finding the intersection of the periods of time they have
20
P. Cowling et al.
available in common with the task time windows and the other resources already
selected (here a larger amount of available time is preferable). Due to the consideration of travel and competency in resource selection ties rarely occur, however when
they do they are broken randomly. Once all resources are chosen the task is then inserted as early as possible in the schedule.
5 The Competitiveness of Multi-objective Genetic Algorithms
Real world scheduling problems often have many and contradictory objectives making them an interesting testbed for comparing the performance of multi-objective
genetic algorithms and weighted sum genetic algorithms. In our experiments we intend to investigate the competitiveness of multi-objective genetic algorithms when
compared with weighted sum genetic algorithms in terms of both solution quality and
diversity.
In our experiments diversity will be measured using the “Max Spread” measure
from [9] and the “Morrison and De Jong” measure which is based around ideas taken
from the moment of inertia in mechanical engineering [16]. Solution quality will be
assessed for each population (whether from a multi-objective or weighted sum run) by
several weighted sum objective functions. We do not expect that multi-objective
methods will outperform all weighted sum methods when assessed by weighted sum
objective functions but we are interested to see how close they come. Equally, we do
not expect weighted sum methods to outperform multi-objective methods in terms of
diversity but are interested to see how the diversity of the two respective populations
compares. In order to reduce the effects of randomness, each method (7 weighted sum
and 2 multi-objective) will be run ten times each on a set of three different problem
instances with a stopping criterion of 250 generations of evolution. The problem instances were generated using the problem generator we have developed in collaboration with Vidus Ltd. (an @Road company). The test problems we used had 100 tasks,
10 resources and 6 skills, considered over a 3-day scheduling period, and correspond
to a “small to medium sized” problem in practice.
These experiments were run using a master-slave approach to parallelise and thus
speed up the GA runs. We used 26 2.8Ghz Pentium 4 machines (25 slaves and one
master) and each of the GAs has a population size of 100 and was allowed the same
number of schedule evaluations over 250 generations. Each run took around 1 (singlemachine) CPU hour on this parallel architecture. Since we consider 9 solution approaches and 10 runs for each approach for 3 problem instances, a total of 270 runs
were carried out.
Values for mutation and crossover rates will be taken from previous parameter tuning experiments for the weighted sum objective method with binary tournament selection and elitist replacement, these being a crossover rate of 25% and a mutation rate
of 1%. The reader should note that these parameters have not been specially tuned for
the multi-objective methods, particularly since such tuning is much more difficult
when objective weights are not assumed.
The weighted sum methods will use the objective functions shown in Table 1
where SP is the sum of all the priority values of all scheduled tasks, SC is the total
The Trade Off Between Diversity and Quality for Multi-objective Workforce Scheduling
21
schedule cost, and TT is the total travel time on the schedule. The values in Table 1
have been chosen to provide a trade off between objectives. Here we are considering a
diverse range of weights to see if we can get close to a schedule which is good for a
human scheduler without knowing what the human scheduler’s ideal weighting
scheme is, since the human scheduler is unlikely to know these weights in practise.
Table 1. Objective functions for weighted sum methods
Formula for Calculation
f = SP
f = SP – (SC * 6)
f = SP – (TT * 6)
f = SP – (SC * 2) – (TT * 4)
f = SP – (SC * 4) – (TT * 2)
f = SP – (SC * 2) – (TT * 6)
f = SP – (SC * 6) – (TT * 2)
Name on Graphs
SP
SP_6SC
SP_6TT
SP_2SC_4TT
SP_4SC_2TT
SP_2SC_6TT
SP_6SC_2TT
The genetic algorithm was run ten times with each weighted sum objective function shown in Table 1, as well as ten times with both NSGA-II and SPEA2 multiobjective methods. Each of these runs were assessed by each of the objective
functions in Table 1 as well as the “Max Spread” [9] and “Morrison and De Jong”
[16] diversity measures. Averages over the ten runs of each have been taken and plotted as a percentage of the best average found.
5.1 Experimental Results
Figure 1 shows the average fitness value of the best individual in the final population
over thirty runs (three problem instances run ten times each). Each group of results
along the x-axis represents the performance of all the different types of GA when
assessed using fixed objective weights as given in table 1. For example, the first
group (of 9 bars) in Figure 1 shows the performance of the multi-objective methods
NSGA-II and SPEA2 as well as the single objective methods (with different objective
weights) when assessed using the SP objective function.
Figure 1 shows that multi-objective algorithms find solutions that are within 2% of
the best solution found by weighted sum objectives (when assessed by the weighted
sum objectives) without knowing what the weights are and often find a solution
within 1% of the best. This cannot be said of the weighted sum objective approaches
which use the “wrong” weights whose performance is much less consistent. Figure 1
illustrates the possible effect of a poorly defined set of weights on resulting solution
quality, for example if our actual global objective function (not known to the user) is
SP_6SC and the user defines SP as the objective function then the solution they ended
up with would be much worse in global terms than if they had used a multi-objective
approach. The NSGA-II approach yielded results as good or slightly better than
SPEA2 on average in all cases.
22
P. Cowling et al.
100
NSGA-II
SPEA2
% Max
SP
SP_6SC
95
SP_6TT
SP_2SC_4TT
SP_4SC_2TT
SP_2SC_6TT
SP_6SC_2TT
90
SP
SP_6SC
SP_6TT
SP_2SC_4TT
SP_4SC_2TT
SP_2SC_6TT
SP_6SC_2TT
Assessed by
Fig. 1. The relative performance of multi-objective and single objective weighted sum genetic
algorithms when assessed by different weighted sum objective functions
100.00
90.00
80.00
NSGA-II
SPEA2
70.00
SP
% Max
60.00
SP_6SC
SP_6TT
50.00
SP_2SC_4TT
40.00
SP_4SC_2TT
30.00
SP_2SC_6TT
SP_6SC_2TT
20.00
10.00
0.00
Max Spread
Max Spread 2D
Morrison and De
Jong Diversity
Assessed By
Fig. 2. The relative performance of multi-objective and single objective weighted sum genetic
algorithms when assessed by diversity metrics
An interesting observation is that sometimes the “best” result is not found by the
GA that is running the same objective function weights as is being used to assess
the runs, an example of this is shown in Figure 1 when assessing the runs with the
SP_6SC_2TT objective, here the GA that was run with the SP_6SC_2TT objective is
outperformed by both NSGA-II and SPEA2 albeit by a small amount. In a case like
The Trade Off Between Diversity and Quality for Multi-objective Workforce Scheduling
23
this we believe that there may be a mismatch between the schedule generation
scheme‘s task-resource allocation heuristic and the objective weights chosen, but
this flaw is not exposed by the NSGA-II and SPEA2 methods which have a diverse
population.
Figure 2 shows the average values of the diversity measures for the different GA
populations. Here NSGA-II and SPEA2 yield a much more diverse population than
weighted sum approaches.
The results of figures 1 and 2 show that where it may not be possible for a user to
define weights for each objective, still at least one of the population generated using a
multi-objective approach is likely to be close to the users preference, even though this
preference is not known in advance. A new problem arises in this case for the user,
that of selecting a good solution from a population. However, this is a problem that
the user is more familiar with and which is likely to yield better results than choosing
objective weights in many cases. Ways in which the users ability to choose between
schedules for the RCPSP such as those considered in Shackleford and Corne [17] and
there approaches could be useful here.
6 Conclusions
In this paper multi-objective genetic algorithms have been shown to be an effective
approach allowing the user to avoid having to define weights for a set of objectives in
exchange for a small decrease in solution quality. This is useful as expressing their
knowledge as a set of weights for a real world problem is usually difficult for human
users who are not used to being asked to explicitly define the relative importance of
different problem goals.
One problem with this approach is that it replaces the problem of defining a set of
weights with the problem of selecting a solution from the Pareto optimal set which is
an interesting research question in itself. However, analysing schedules and choosing
a good one is a much more familiar activity for a human scheduler.
In future work it will be interesting to consider problems with a larger number of
objectives, and methods which integrate the users’ ability to effectively select a solution into the solution process.
References
1. Pinedo, M., Chao, X.: Operations scheduling with applications in manufacturing and services. McGraw-Hill, New York (1999)
2. Brucker, P., Knust, S.: Resource-Constrained Project Scheduling and Timetabling. In:
Burke, E. Erben, W. (eds.): Practice and Theory of Automated Timetabling III (PATAT).
Springer-Verlag Berlin Hidelberg New York (2000) 277-293
3. Lova, A., Maroto, C., Thomas, P.: A multicriteria heuristic method to improve resource allocation in multiproject scheduling. Eur. J. Op. Res. Vol. 127. Elsevier (2000) 408-424
4. Holland, J. H.: Adaptation in Natural and Artificial Systems. University of Michigan
Press. Michigan. (1975)
5. Hartmann, S.: A Competitive Genetic Algorithm for Resource-Constrained Project
Schedul-ing. Naval Research Logistics. Vol. 45. Wiley (1998) 733-750.
24
P. Cowling et al.
6. Kolisch, R., Hartmann, S.: Experimental investigation of heuristics for resourceconstrained project scheduling: An update. Article to appear in the Eur. J. Op. Res. (2005)
7. Valls, V., Ballestin, F., Quintanilla, S.: A hybrid genetic algorithm for the RCPSP. Technical Report, Department of Statistics and Operations Research, University of Valencia..
(2005)
8. Schaffer J.D.: Multiple Objective Optimization with Vector Evaluated Genetic Algorithms. Proceedings of an International Conference on Genetic Algorithms and their Applications, (1985) 93-100
9. Deb, K.: Multi-objective Optimisation using Evolutionary Algorithms. John Wiley and
Sons, New York.(2001)
10. Srinivas, N., Deb, K.: Multiobjective Optimisation Using Nondominated Sorting in Genetic Algorithms. J. Evolutionary Computation, Vol. 2 No. 3. (1994) 221-248
11. Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A Fast and Elitist Multi-Objective Genetic Algorithm-NSGA-II. IEEE Trans. Evolutionary Computation, Volume 6. (2002)
849-858
12. Zitzler, E., Thiele, L.: An evolutionary algorithm for multiobjective optimization: The
strength pareto approach. Technical Report 43, Computer Engineering and Networks
Laboratory (TIK), Swiss Federal Institute of Technology (ETH) Zurich, Gloriastrasse 35,
CH-8092 Zurich, Switzerland. (1998)
13. Zitzler, E., Laumanns, M., Thiele, L.: SPEA2: Improving the Strength Pareto Evolutionary
Algorithm. Technical Report 103, Computer Engineering and Networks Laboratory (TIK),
Swiss Federal Institute of Technology (ETH) Zurich, Gloriastrasse 35, CH-8092 Zurich,
Switzerland. (2001)
14. Corne, D. W., Knowles, J. D., Oates, M. J.: The pareto envelope-based selection algorithm
for multiobjective optimisation. In M. S et al. (Ed.) Parallel Problem Solving from Nature.
PPSN VI, Berlin (2000) 839-848
15. Kolisch, R., Hartmann, S.: Heuristic algorithms for solving the resource-constrained project scheduling problem: Classification and computational analysis. In Weglarz, J. (ed):
Project scheduling: Recent models, algorithms and applications. Kluwer, Amsterdam, the
Netherlands (1999) 147-178
16. Landa Silva, J.D., Burke, E.K.: Using Diversity to Guide the Search in Multi-Objective
Optimization. In: Coello Coello C.A., Lamont G.B. (eds.): Applications of MultiObjective Evolutionary Algorithms, Advances in Natural Computation, Vol. 1, World Scientific. (2004) 727-751
17. Shackelford, M., Corne, D.: Collaborative Evolutionary Multi-Project Resource Scheduling. In Proceedings of the 2001 Congress on Evolutionary Computation, IEEE Press
(2001) 1131-1138
18. Ernst, A.T., Jiang, H., Krishnamoorthy, M., Sier, D.: Staff scheduling and rostering: A review of applications, methods and models. European Journal of Operational Research.
Vol. 153. Elsevier (2004) 3-27
Evolving the Structure of the Particle Swarm
Optimization Algorithms
Laura Dioşan and Mihai Oltean
Department of Computer Science,
Faculty of Mathematics and Computer Science,
Babeş-Bolyai University, Cluj-Napoca, Romania
{lauras, moltean}@cs.ubbcluj.ro
Abstract. A new model for evolving the structure of a Particle Swarm
Optimization (PSO) algorithm is proposed in this paper. The model is
a hybrid technique that combines a Genetic Algorithm (GA) and a PSO
algorithm. Each GA chromosome is an array encoding a meaning for
updating the particles of the PSO algorithm. The evolved PSO algorithm is compared to a human-designed PSO algorithm by using ten
artificially constructed functions and one real-world problem. Numerical
experiments show that the evolved PSO algorithm performs similarly
and sometimes even better than standard approaches for the considered
problems.
1
Introduction
Particle Swarm Optimization (PSO) is a population based stochastic optimization technique developed by Kennedy and Eberhart in 1995 [8]. Standard PSO
algorithm randomly initializes a group of particles (solutions) and then searches
for optima by updating all particles along a number of generations. In any iteration, each particle is updated by following some rules [16].
Standard model implies that particles are updated synchronously [16]. This
means that the current position and speed for a particle is computed taking into
account only information from the previous generation of particles.
A more general model allows updating any particle anytime. This basically
means three things:
1. The current state of the swarm is taken into account when a particle is
updated. The best global and local values are computed for each particle
which is about to be updated, because the previous modifications could affect
these two values. This is different from the standard PSO algorithm where
the particles were updated taken into account only the information from the
previous generation. Modifications performed so far (by a standard PSO)
in the current generation had no influence over the modifications performed
further in the current generation.
2. Some particles may be updated more often than other particles. For instance,
in some cases, is more important to update the best particles several times
per generation than to update the worst particles.
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 25–36, 2006.
c Springer-Verlag Berlin Heidelberg 2006
26
L. Dioşan and M. Oltean
3. We will work with only one swarm. Any updated particle will replace its
parent. Note that two populations/swarms are used in the standard PSO and
the current swarm is filled taken information from the previous generation.
Unlike Parsopoulos’ work [13] which use Differential Evolution algorithm (suggested by Storn and Price [14]) for “on fly” adaptation of the PSO parameters,
our work looks for designing a new PSO algorithm by taking into account the
information from the problem being solved.
Our main purpose is to evolve the structure of a PSO algorithm. This basically
means that we want to find which particles should be updated and which is the
order in which these particles are updated. In this respect we propose a new
technique which is used for evolving the structure of a PSO algorithm. We evolve
arrays of integers which provide a meaning for updating the particles within a
PSO algorithm during iteration.
Our approach is a hybrid technique that works at two levels: the first (macro)
level consists in a steady-state GA [7] whose chromosomes encode the structure
of PSO algorithms. In order to compute the quality of a GA chromosome we
have to run the PSO encoded into that chromosome. Thus, the second (micro)
level consists in a modified PSO algorithm that provides the quality for a GA
chromosome.
Firstly, the structure of a PSO algorithm is evolved and later, the obtained
algorithm is used for solving eleven difficult function optimization problems The
evolved PSO algorithm is compared to a human-designed PSO algorithm by
using 10 artificially constructed functions and one real-world problem. Numerical experiments show that the evolved PSO algorithm performs similarly and
sometimes even better than standard approaches for several well-known benchmarking problems.
This research was motivated by the need of answering several important questions concerning PSO algorithms. The most important question is: Can a PSO
algorithm be automatically synthesized by using only the information about the
problem being solved? And, if yes, which is the optimal structure of a PSO algorithm (for a given problem)? We better let the evolution find the answer for us.
The rules employed by the evolved PSO during a generation are not preprogrammed. These rules are automatically discovered by the evolution.
Several attempts for evolving Evolutionary Algorithms (EAs) using similar
techniques were made in the past. A non-generational EA was evolved [11] using the Multi Expression Programming (MEP) technique [11]. A generational
EA was evolved [12] using the Linear Genetic Programming (LGP) technique.
Numerical experiments have shown [11, 12] that the evolved EAs perform similarly and sometimes even better than the standard evolutionary approaches with
which they have been compared. A theoretical model for evolving EAs has been
proposed in [15].
The paper is structured as follows: section 2 describes, in detail, the proposed
model. Several numerical experiments are performed in section 3. Test functions
are given in section 3.1. Conclusions and further work directions are given in
section 4.
Evolving the Structure of the Particle Swarm Optimization Algorithms
2
2.1
27
Proposed Model
Representation
Standard PSO algorithm works with a group of particles (solutions) and then
searches for optima by updating them during each generation.
During iteration, each particle is updated by following two “best” values.
The first one is the location of the best solution that a particle has achieved so
far. This value is called pBest. Another “best” value is the location of the best
solution that any neighbor of a particle has achieved so far. This best value is a
neighborhood best and called nBest.
In a standard PSO algorithm all particles will be updated once during the
course of iteration.
In real-world swarm (such as flock of birds) not all particles are updated in
the same time. Some of them are updated more often and others are updated
later or not at all. Our purpose is to simulate this, more complex, behavior. In
this case we were interested to discover (evolve) a model which can tell us which
particles must be updated and which is the optimal order for updating them.
We will use a GA [7] for evolving this structure. Each GA individual is a
fixed-length string of genes. Each gene is an integer number, in the interval
[0...SwarmSize − 1]. These values represent indexes of the particles that will be
updated during PSO iteration.
Some particles could be updated more often and some of them are not updated
at all. Therefore, a GA chromosome must be transformed so that it has to contain
only the values from 0 to M ax, where M ax represents the number of different
genes within the current array.
Example. Suppose that we want to evolve the structure of a PSO algorithm
with 8 particles. This means that the SwarmSize = 8 and all chromosomes of
our macro level algorithm will have 8 genes whose values are in the [0, 7] range.
A GA chromosome with 8 genes can be:
C1 = (2, 0, 4, 1, 7, 5, 6, 3).
For computing the fitness of this chromosome we will use a swarm with 8
individuals and we will perform, during one generation, the following updates:
update(Swarm[2]),
update(Swarm[0]),
update(Swarm[4]),
update(Swarm[1]),
update(Swarm[7]),
update(Swarm[5]),
update(Swarm[6]),
update(Swarm[3]).
In this example all 8 particles have been updated once per generation.
Let us consider another example which consists of a chromosome C2 with 8
genes that contain only 5 different values.
C2 = (6, 2, 1, 4, 7, 1, 6, 2)
In this case particles 1, 2 and 6 are updated 2 times each and particles 0, 3, 5
are not updated at all. Because of that it is necessari to remove the useless
28
L. Dioşan and M. Oltean
particles and to scale the genes of the GA chromosome to the interval [0 ... 4].
The obtained chromosome is:
C2′ = (3, 1, 0, 2, 4, 0, 3, 1).
The quality for this chromosome will be computed using a swarm of size 5
(5 swarm particles), performing the following 8 updates:
update(Swarm[3]),
update(Swarm[1]),
update(Swarm[0]),
update(Swarm[2]),
update(Swarm[4]),
update(Swarm[0]),
update(Swarm[3]),
update(Swarm[1]).
We evolve an array of indexes based on the information taken from a function
to be optimized. Note that the proposed mechanism should not be based only
on the index of the particles in the Swarm array. This means that we should not
be interested in updating a particular position since that position can contain
(in one run) a very good individual and the same position could hold a very
poor individual (during another run). For instance it is easy to see that all
GA chromosomes, encoding permutations, perform similarly when averaged over
(let’s say) 1000 runs.
In order to avoid this problem we sort (after each generation) the Swarm
array ascending based on the fitness value. The first position will always hold
the best particle at the beginning of a generation. The last particle in this array
will always hold the worst particle found at the beginning of a generation. In
this way we will know that update(Swarm[0]), will mean something: not that
one of the particles is updated, but that the best particle (at the beginning of
the current generation) is updated.
2.2
Fitness Assignment
The model proposed in this paper in divided in two levels: a macro level and
a micro level. The macro-level is a GA algorithm that evolves the structure
of a PSO algorithm. For this purpose we use a particular function as training
problem. The micro level is a PSO algorithm used for computing the quality of
a GA chromosome from the macro level.
The array of integers encoded into a GA chromosome represents the order of
update for particles used by a PSO algorithm that solves a particular problem.
We embed the evolved order within a modified Particle Swarm Optimization
algorithm as described in sections 2 and 2.3.
Roughly speaking the fitness of a GA individual is equal to the fitness of the
best solution generated by the PSO algorithm encoded into that GA chromosome. But, since the PSO algorithm uses pseudo-random numbers, it is very
likely that successive runs of the same algorithm will generate completely different solutions. This problem can be handled in a standard manner: the PSO
algorithm encoded by the GA individual is run multiple times (50 runs in fact)
and the fitness of the GA chromosome is averaged over all runs.
Evolving the Structure of the Particle Swarm Optimization Algorithms
2.3
29
The Algorithms
The algorithms used for evolving the PSO structure are described in this section.
Because we use a hybrid technique that combines GA and PSO algorithm within
a two-level model, we describe two algorithms: one for macro-level (GA) and
another for micro-level (PSO algorithm).
The Macro-level Algorithm. The macro level algorithm is a standard GA
[7] used for evolving particles order of update. We use steady-state evolutionary model as underlying mechanism for our GA implementation. The GA algorithm starts by creating a random population of individuals. Each individual
is a fixed-length array of integer numbers. The following steps are repeated until a given number of generations are reached: Two parents are selected using
a standard selection procedure. The parents are recombined (using one-cutting
point crossover) in order to obtain two offspring. The offspring are considered
for mutation which is performed by replacing some genes with randomly generated values. The best offspring O replaces the worst individual W in the current
population if O is better than W.
The Micro-level Algorithm. The micro level algorithm is a modified Particle
Swarm Optimization algorithm [16] used for computing the fitness of a GA
individual from the macro level.
S1 Initialize the swarm of particles randomly
S2 While not stop condition
S3 For each gene of the GA chromosome
S31 Compute fitness of the particle specified by the current gene of the GA
chromosome
S32 Update pBest if the current fitness value is better than pBest
S33 Determine nBest for the current particle: choose the particle with the
best fitness value of all the neighbors as the nBest
S34 Calculate particle’s velocity according to eq. 1
S35 Update particle’s position according to eq. 2
S4 EndFor
S5 Sort particles after fitness.
vid = w ∗ vid + c1 ∗ rand() ∗ (pid − xid ) + c2 ∗ rand() ∗ (pnd − xid )
xid = xid + vid
(1)
(2)
where rand() generates a random real value between 0 and 1.
The above algorithm is quite different from the standard PSO algorithm [16].
Standard PSO algorithm works on two stages: one stage that establishes the
fitness, pBest and nBest values for each particle and another stage that determines the velocity (according to equation 1) and makes update according
to equation 1 for each particle. Standard PSO usually works with two populations/swarms. Individuals are updated by computing the pBest and nBest
value using the information from the previous population. The newly obtained
individuals are added to the current population.
30
L. Dioşan and M. Oltean
Our algorithm performs all operations in one stage only: determines the fitness, pBest, nBest and velocity values only when a particle is about to be updated. In this manner, the update of the current particle takes into account the
previous updates in the current generation. Our PSO algorithm uses only one
population/swarm. Each updated particle will automatically replace its parent.
3
Experiments
Numerical experiments for evolving a PSO algorithm for function optimization
are performed in this section. The obtained PSO algorithm is tested against
11 difficult problems. Several numerical experiments, with a standard Particle
Swarm Algorithm [16] are also performed. Finally the results are compared. We
evolve the structure of a PSO algorithm and then we asses its performance by
comparing it with the standard PSO algorithm.
3.1
Test Functions
Eleven test problems are used in order to asses the performance of the evolved
EA. Functions f1 − f6 are unimodal test function. Functions f7 − f10 are highly
multi modal (the number of the local minimum increases exponentially with
problem’s dimension [17]). Functions f1 − f 10 are given in Table 1. Function f11
corresponds to the constrained portfolio optimization problem.
The Portfolio Selection Problem. Modern computational finance has its
historical roots in the pioneering portfolio theory of Markowitz [10]. This theory
is based on the assumption that investors have an intrinsic desire to maximize
return and minimize risk on investment. Mean or expected return is employed
as a measure of return, and variance or standard deviation of return is employed
as a measure of risk. This framework captures the risk-return tradeoff between
a single linear return measure and a single convex nonlinear risk measure. The
solution typically proceeds as a two-objective optimization problem where the
return is maximized while the risk is constrained to be below a certain threshold.
The well-known risk-return efficient frontier is obtained by varying the risk target
and maximizing on the return measure.
The Markowitz mean-variance model [10] gives a multi-objective optimization problem, with two output dimensions. A portfolio p consisting of N assets
with specific volumes for each asset given by weights wi is to be found, which
minimizes the variance of the portfolio:
σp =
N
N
wi wj σij
(3)
i=1 j=1
maximizes the return of the portfolio:
µp =
N
i=1
wi µi subject to:
N
i=1
wi = 1, 0 ≤ wi ≤ 1,
(4)
Evolving the Structure of the Particle Swarm Optimization Algorithms
31
Table 1. Test functions used in our experimental study. The parameter n is the space
dimension (n = 5 in our numerical experiments) and fmin is the minimum value of the
function. All functions should be minimized.
Test function
n
f1 (x) =
(i · x2i ).
f2 (x) =
f3 (x) =
i=1
n
[-10, 10]
x2i .
i=1
n
n
|xi | +
|xi |.
i=1
2
n
i
f4 (x) =
xj .
i=1
i=1
i=1
f7 (x) = 10 · n +
−b
f8 (x) = −a · e
f10 (x) =
1
4000
n
n
0
[-100, 100]n
0
[-10, 10]n
0
[-100, 100]n
0
n
0
j=1
f5 (x) = maxi {xi , 1 ≤ i ≤ n}.
n−1
f6 (x) =
100 · (xi+1 − x2i )2 + (1 − xi )2 .
f9 (x) =
fmin
Domain
·
n
(x2i − 10 · cos(2 · π · xi ))
i=1
n
n
i=1
i=1
n
x2
i
−e
x2i −
n
i=1
(−xi · sin(
cos(c·xi )
n
[-100, 100]
[-30, 30]n
0
[-5, 5]n
0
0
+ a + e. [-32, 32]n
a = 20, b = 0.2, c = 2π.
xi
) + 1.
cos( √
i
|xi |))
[-500, 500]n
0
[-500, 500]n
-n∗ 418.98
i=1
f11 = The Portfolio Selection Problem
[0, 1]
n
0
where i = 1...N is the index of the asset, N represents the number of assets
available, µi the estimated return of asset i and σij the estimated covariance
between two assets. Usually, µi and σij are to be estimated from historic data.
While the optimization problem given in (3) and (4) is a quadratic optimization
problem for which computationally effective algorithms exist, this is not the case
if real world constraints are added. In this paper we treat only the cardinality
constraints problem.
Cardinality constraints restrict the maximal number of assets used in the
portfolio
N
zi = K, where zi = sign(wi ).
(5)
i=1
Let K be the desired number of assets in the portfolio, ǫi be the minimum
proportion that must be held of asset i, (i = 1, ..., N ) if any of asset i is held, δi
be the maximum proportion that can be held of asset i, (i = 1, ..., N ) if any of
asset i is held, where we must have 0 ≤ ǫi ≤ δi ≤ 1(i = 1, ..., N ). In practice, ǫi
represents a “min-buy” of “minimum transaction level” for asset i and δi limits
the exposure of the portfolio to asset i.
32
L. Dioşan and M. Oltean
ǫi zi ≤ wi ≤ δi zi , i = 1, ..., N
wi ∈ [0, 1], i = 1, ..., N.
(6)
(7)
Equation (5) ensures that exactly K assets are held. Equation (6) ensures
that if any of asset i is held (zi = 1) its proportion wi must lie between ǫi and
δi , whilst if none of asset is held (zi = 0) its proportion wi is zero. Equation (7)
is the integrality constraint.
The objective function (equation (3)), involving as it does the covariance
matrix, is positive semi-definite and hence we are minimizing a convex function.
The chromosome representation (within a GA algorithm) supposes (conform
to [2]) a set Q of K distinct assets and K real
numbers si , (0 ≤ si ≤ 1), i ∈ Q.
Now, given a set Q of K assets, a fraction j∈Q ǫj of the total portfolio is
already accounted for andso we interpret si as relating to the share of the free
portfolio proportion (1 − j∈Q ǫj ) associated with asset i ∈ Q.
So, our GA chromosome will encode real numbers si and the proportion of
asset i from Q in portfolio will be:
si
wi = ǫi +
(1 −
ǫj )
(8)
j∈Q sj
j∈Q
For this experiment we have used the daily rate of exchange for a set of assets
quoted to Euronext Stock [6].
Experiment 1. The structure of a PSO algorithm is evolved in this experiment.
We use function f1 as training problem.
For GA we run during 50 generations a population with 50 individuals, each
individual having 10 genes. We perform a binary tournament selection, one
cutting point recombination (applied with probability 0.8) and weak mutation
(applied with probability 0.1). The parameters of the PSO algorithm (micro
level) are given in Table 2. The SwarmSize is not included in this table because
different PSOs may have different number of particles. However, the number of
function evaluations/generation is equal to 10 for all evolved PSO.
Our algorithm uses a randomized inertia weight, selected in the spirit of
Clerc’s constriction factor [3], [5] (many reports use a linearly decreasing inertia weight which starts at 0.9 and ends at 0.4, but we want to not restrict our
Table 2. The parameters of the PSO algorithm (the micro level algorithm) used for
computing the fitness of a GA chromosome
Parameter
Value
Number of generations
50
Number of function evaluations/generation
10
Number of dimensions of the function to be optimized 5
Learning factor c 1
2
Learning factor c 2
1.8
Inertia weight
0.5 + rand() / 2
Evolving the Structure of the Particle Swarm Optimization Algorithms
33
inertia to a fix model: decreasing or increasing function). Learning factors are not
identical. Initial we have used same values for this parameters, but recent work
[1] reports that it might be even better to choose a larger cognitive parameter,
c1 , than a social parameter, c2 , but with c1 + c2 < 4.
We performed 50 independent runs for evolving order for particles. The results
obtained in one of the runs (randomly selected from the set of 50 runs) are
presented in Figure 1.
Different orders of particles have been evolved. Two of these orders are represented by the chromosomes: C1 = (1112020113) and C2 = (1502033043). The
second chromosome (C2 ) will be used in the numerical experiments performed
in the next section.
1000
Fitness Values (log scale)
best
worst
mean
100
10
1
0.1
49
45
41
37
33
29
25
21
17
9
13
5
1
0.01
Number of Geerations
Fig. 1. The evolution of the fitness of the best/worst GA individual, and the average
fitness (of all GA individuals in the population) in a particular run
Experiment 2. For assessing the performance of the evolved PSO we will compare it with a standard PSO algorithm. For this comparison we use the test
functions given in Table 1.
In order to make a fair comparison we have to perform the same number
of function evaluations in both evolved PSO and standard PSO. The evolved
PSO has 6 particles, but because some of them are updated more times, it will
perform 10 function evaluations / generation (it means that in each generation
will be processed 10 updates - some particles will be updated more times). The
standard PSO [16] has 10 particles and thus it will perform 10 function evaluations/generation (for standard PSO each particle will be updated one time 10 updates in total). The other parameters of the standard PSO are similar to
those used by the evolved PSO and are given in Table 2.
Taking into account the averaged values we can see in Table 3 that the evolved
PSO algorithm performs better than the standard PSO algorithm in 7 cases
(out of 11). When taking into account the solution obtained in the best run,
34
L. Dioşan and M. Oltean
Table 3. The results obtained by the evolved PSO algorithm and the standard PSO
algorithm for the considered test functions. B est/W orst stands for the fitness of the
best individual in the best/worst run. The results are averaged over 500 runs.
Functions
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10
f11
Evolved PSO
Worst Best
2.717
0.001
3.413
0.070
2.332
0.340
632.667 5.549
3.106
0.457
1883.010 11.585
23.295 6.790
3.639
0.165
13.987 8.749
-773.118 -910.367
3.412
0.001
Mean
0.526
0.757
1.389
151.433
0.766
281.541
12.766
1.601
11.911
-853.202
0.785
Standard PSO
StdDev Worst Best
0.723
7.123
0.282
0.718
3.908
0.077
0.638
1.639
0.395
134.168 547.968 2.360
0.410
9.298
0.457
407.174 1625.180 4.254
4.884
29.973 5.743
1.248
3.491
0.469
1.252
41.282 3.233
30.990 -512.661 -1563.899
1.168
3.689
0.180
Mean
2.471
1.495
0.846
81.114
1.278
88.371
15.619
1.960
18.044
-880.475
1.285
StdDev
1.517
0.995
0.344
127.010
1.268
230.074
5.084
0.681
9.370
207.074
0.801
the evolved PSO algorithm performs better than the standard PSO algorithm
in 5 cases (out of 11) and tied in 1 case. When taking into account the solution
obtained in the worst run, the evolved PSO algorithm performs better than the
standard PSO algorithm in 7 cases.
We have also compared the evolved PSO to another PSO algorithm that updates all particles one by one (i.e. the order of update is 0, 1, ... SwarmSize−1).
In 9 cases the evolved PSO performed better (on average) than the other
algorithm.
In order to determine whether the differences between the evolved PSO algorithm and the standard PSO algorithm are statistically significant, we use
a t-test with a 0.05 level of significance. Before applying the T-test, an F-test
has been used for determining whether the compared data have the same variance. The P-values of a two-tailed T-test with 499 degrees of freedom are given
in Table 4. Table 4 shows that the differences between the results obtained by
standard PSO and by the evolved PSO are statistically significant (P < 0.05) in
9 cases (out of 11).
Table 4. The results of F-test and T-test
Functions
f1
f2
f3
f4
f5
f6
F-test
7.40E-07
2.43E-02
3.14E-05
7.03E-01
5.76E-13
1.06E-04
T-test
5.13E-13
2.41E-05
3.63E-07
4.18E-03
3.90E-03
2.17E-03
Functions
f7
f8
f9
f10
f11
F-test
7.80E-01
4.06E-05
4.13E-30
8.55E-28
9.57E-03
T-test
2.58E-03
3.87E-02
6.64E-06
1.80E-01
7.12E-03
Evolving the Structure of the Particle Swarm Optimization Algorithms
4
35
Conclusion and Further Work
A new hybrid technique for evolving the structure of a PSO algorithm has been
proposed in this paper. The model has been used for evolving PSO algorithms
for function optimization. Numerical experiments have shown that the evolved
PSO algorithm performs similarly and sometimes even better than the standard
PSO algorithm for the considered test functions.
Note that according to the No Free Lunch theorems [18] we cannot expect to
design a perfect PSO which performs the best for all the optimization problems.
This is why any claim about the generalization ability of the evolved PSO should
be made only based on some numerical experiments.
Further work will be focused on: finding patterns in the evolved structures.
This will help us design PSO algorithms that use larger swarms, evolving better
PSO algorithms for optimization, evolving PSO algorithms for other difficult
problems.
References
1. A. Carlisle, G. Dozier, “An Off-the-shelf PSO”, Proceedings of the Particle Swarm
Optimization Workshop, pp. 1-6, 2001.
2. T. -J. Chang, (et al.), “Heuristics for cardinality constrained portfolio optimisation” Comp. & Opns. Res. 27, pp. 1271-1302, 2000.
3. M. Clerc, “The swarm and the queen: towards a deterministic and adaptive particle
swarm optimization”, Proceedings of the IEEE Congress on Evolutionary Computation (CEC 1999), pp. 1951-1957, 1999.
4. R. C. Eberhart, Y. Shi, “Comparison Between Genetic Algorithms and Particle
Swarm Optimization”, Evolutionary Programming VII: Proceedings of the Seventh
International Conference, pp. 611-616, 1998.
5. R. C. Eberhart, Y. Shi, “Particle swarm optimization: developments, applications
and resources”, Proceedings of the CEC, 2001.
6. http://www.euronext.com
7. D. Goldberg, Genetic algorithms in search, optimization and machine learning,
Addison-Wesley, Boston, USA, 1989.
8. J. Kennedy, R. C. Eberhart, “Particle Swarm Optimization”, Proceedings of the
1995 IEEE International Conference on Neural Networks, pages 1942-1948, 1995.
9. J. R. Koza, Genetic programming, On the programming of computers by means of
natural selection, MIT Press, Cambridge, MA, 1992.
10. H. Markowitz, “Portfolio Selection”, Journal of Finance, 7, pp. 77-91,1952.
11. M. Oltean, C. Groşan, “Evolving EAs using Multi Expression Programming”, Proceedings of the European Conference on Artificial Life, pp. 651-658, 2003.
12. M. Oltean, “Evolving evolutionary algorithms using Linear Genetic Programming”,
Evolutionary Computation, MIT Press, Cambridge, Vol. 13, Issue 3, 2005.
13. K. E. Parsopoulos, M. N. Vrahatis, “Recent approaches to global optimization
problems through Particle Swarm Optimization”, Natural Computing, Vol. 1, pp.
235-306, 2002.
14. R. Storn, K. Price, “Differential evolution-a simple and efficient heuristic for global
optimization over continuous spaces”, Global Optimization, Vol. 11, pp. 341-359,
1997.
36
L. Dioşan and M. Oltean
15. J. Tavares, (et al.), “On the evolution of evolutionary algorithms”, in Keijzer,
M. (et al.) editors, European Conference on Genetic Programming, pp. 389-398,
Springer-Verlag, Berlin, 2004.
16. H. Xiaohui, S. Yuhui, R. Eberhart, “Recent Advances in Particle Swarm”, Proceedings of the IEEE Congress on Evolutionary Computation, pp. 90 - 97, 2004.
17. X. Yao, Y. Liu, and G. Lin, “Evolutionary Programming Made Faster”, IEEE
Transaction on Evolutionary Computation, pp. 82-102, 1999.
18. D. H. Wolpert and W. G. McReady, “No Free Lunch Theorems for Optimization”,
IEEE Transaction on Evolutionary Computation, Nr. 1, pp. 67-82, IEEE Press,
NY, USA, 1997.
A Tabu Search Algorithm for Optimization of Gas
Distribution Networks
Herbert de Mélo Duarte, Elizabeth F. Gouvêa Goldbarg, and Marco César Goldbarg
Dep. de Informática e Matemática Aplicada, Universidade Federal do Rio Grande do Norte,
Campus Universitário, 59072-970 Natal, Brazil
[email protected], {beth, gold}@dimap.ufrn.br
Abstract. In this paper a tabu search algorithm is proposed for the optimization
of constrained gas distribution networks. The problem consists in finding the
least cost combination of diameters, from a discrete set of commercially available ones, for the pipes of a given gas network, satisfying the constraints related
to minimum pressure requirements and upstream pipe conditions. Since this is a
nonlinear mixed integer problem, metaheuristic approaches seem to be more
suitable and to provide better results than classical optimization methods. In this
work, a tabu search heuristics is applied to the problem and the results of the
proposed algorithm are compared with the results of a genetic algorithm and
two other versions of tabu search algorithms. The results are very promising,
regarding both quality of solutions and computational time.
1 Introduction
Gas distribution networks are a very important part of cities infrastructure, serving
both houses and industries, and usually imply an enormous cost for their implementation. For such reasons, many companies which provide this kind of service need to
use computational tools in order to determine the best design for such networks. The
design involves the definition of a layout for the network and the dimensioning of
pipes. To define the layout, one has to take into account a number of factors such as
the streets, topology, environmental risks, economics and network reliability. Once
a layout is defined, then the sizes of the diameters of the pipes to be laid have to be
determined.
Pipes are produced and commercialized only in a certain number of materials and
in certain fixed diameters. Their costs per unit of length usually vary with the kind of
material they are made of and with diameters. For larger diameters, more expensive
pipes are expected. Pressure also drops along the pipes in a decreasing rate with larger
diameters for a constant flow, meaning that larger diameters imply in more reliable
networks, with better guarantee of demand supply.
In this paper, it is assumed that a layout is previously defined. Thus the goal is to
select the diameters of the pipes such that they are large enough to guarantee that demand requirements are met and the overall cost of pipes is minimized. An additional
constraint is that each pipe, not incident to a source node, should have at least one upstream pipe of the same or greater diameter. Given a layout for the network, the
objective is to minimize the sum of the costs of the pipes. In this paper fixed tree
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 37 – 48, 2006.
© Springer-Verlag Berlin Heidelberg 2006
38
H. de Mélo Duarte, E.F.G. Goldbarg, and M.C. Goldbarg
structures are considered for the network layout and the term “pipe” can be utilized to
refer to an arc between two nodes of a given tree. Although the assumption of treelike structures is made, the proposed method applies to looped distribution networks
as well.
The henceforth denominated pipe dimensioning problem is formulated as a constrained optimization problem. Since restrictions are implicit and observe non-linear
equations, the feasibility of a solution may only be determined by solving the flow
equations of the network. For such reasons, analytical investigation and exact computational methods seem not to be promising on solving this kind of problem and the use
of metaheuristics is the natural alternative for dealing with it.
Next section presents a short review of previous works on problems related to distribution networks optimization. A mathematical formulation of the pipe dimensioning problem as a mixed integer non-linear optimization problem is then given in the
following section. Section 4 introduces some basic concepts of tabu search algorithms. Details of the proposed algorithm are presented in section 5. Section 6 shows
the computational results obtained by the new approach and the last section summarizes the main contributions of this work.
2 Previous Works on Related Problems
In one of the earliest investigations of a related problem, Rothfarb et al. [10] explored,
among other design issues of gas distribution networks from offshore fields to byproducts separation plants, the problem of selection of pipe diameters. Their goal was
to minimize the sum of investment and operational costs. On that paper, the considered networks were those which contain the fewest number of pipelines that can deliver gas from the fields to the separation plants or, in other words, networks with
fixed tree structures.
Boyd et al. [1] developed a genetic algorithm for the pipe dimensioning problem
and used a penalty function to take both the minimum pressure and upstream pipe restrictions in account. The solutions were represented by a sequence of n integers,
where n is the number of pipe segments (arcs) in the network, each integer indicating
the index of the diameter to be chosen for a given pipeline. This representation allows
all the search space to be coded and eases the use of genetic operators, like the creep
mutation and the uniform crossover, both utilized in the genetic algorithm. An unstructured population of 100 networks was used through 100 generations and allowed
the authors to report a 4% better result for a 25 pipes real instance when compared to
a heuristic utilized by the British Gas company. The latter heuristic is simple and
serves as a basic idea for other methods proposed to solve the problem. It consists in
guessing some initial pipe sizes which lead to a valid network and locally optimize
the current solution repeatedly trying to reduce the diameter of one of the pipes until
no further reduction can generate a still feasible solution.
The COMOGA method (Constrained Optimization by Multi-Objective Genetic
Algorithms) [11] treats the constraints of the problem, either explicit or implicit, as a
separate criterion in a multi-objective formulation of the problem. The method has the
advantage of diminish the number of free parameters to be tuned when compared with
the traditional penalty function formulation and to remain low sensitive to these. It
A Tabu Search Algorithm for Optimization of Gas Distribution Networks
39
consists in reducing the problem to a bi-criterion one, condensing all the constraints in
a single criterion. By calculating a Pareto ranking for each solution of the population
(number of solutions which dominate it) regarding the level of violation of all the
original constraints, the method minimizes both the cost and the degree of unfeasibility of solutions through a reverse annealing scheme that adjust the probability of selecting and replacing individuals of the population according to one (cost) or another
criterion (feasibility). The authors argue that the COMOGA method needs considerably less experimentation and is much less sensitive to the parameters involved in
its design.
In the same year, Osiadacz and Góreki [8] present a reasonably comprehensive
survey of the optimization of both water and gas distribution networks by means of
heuristic methods, exact procedures which consider the availability of continuous diameters, and discrete optimization methods. They propose to solve the problem with
the use of an iterative method which minimizes at each step a quadratic approximation to a lagrangian function subject to sequentially linearized approximations to
the constraints. After all, diameters are corrected to the closest available discrete
diameter size.
On another line of investigation, Boyd et al. [2] study the fuel cost minimization
problem and generate useful lower bounds to evaluate the quality of the solutions
provided by the pipeline optimization algorithms. A study of the solution space and
objective function is carried out, however the specific problem they deal with is more
concerned about the compressor stations fuel minimization and the developed lower
bounds don’t directly apply to the pipe dimensioning problem.
Distribution networks composed basically of pumps and pipes (once accessories
can be modeled only by its diameters) are considered in the paper of Castillo and
González [3]. The decision variables are then defined to be pumps Q-H characteristics
(pressure and flow rates) and pipes and accessories diameters, taken from a discrete
commercial set of available diameters. A formulation of the problem is presented in
which the velocity of the flow comprehends the most important constraint and a genetic algorithm with specialized crossover operators is proposed. Their genetic algorithm also makes use of a penalty function to disfavor unfeasible solutions, adding up
the highest possible cost of each element of the network on which the constraints are
violated. They apply the procedure to two theoretical test cases and to a real one arising from activities of a dairy products company. The problem-specific genetic operators demonstrate to be better in practice than the standard ones.
Finally, Cunha and Ribeiro [6] propose a tabu search algorithm to find the leastcost design of looped water distribution networks. Even dealing with a different kind
of fluid to be distributed, the mathematical structure of this problem is identical to the
gas distribution networks optimization problem, including the concern with similar
minimum design pressure and upstream pipe constraints. Besides providing a vast
survey on previous approaches to the problem, the suggested algorithm seems to be
both simple and effective to tackle this optimization problem. It starts from a trivial
feasible solution where all pipes are set to the largest available diameter and for each
successive step it decreases the diameter of one of the pipes, while maintaining the
feasibility of the current solution with respect to all the constraints. When the algorithm finds a solution where no additional diameter decrease leads to a still feasible
40
H. de Mélo Duarte, E.F.G. Goldbarg, and M.C. Goldbarg
solution, it makes a diversification move by increasing the diameter of one of the
pipes, selected according to one of the following criteria:
• the pipe whose diameter is increased is the one that presents the lowest value of a
parameter given by multiplying the number of changes in the diameter of the pipe
during the search procedure by the number of times that the pipe was ascribed the
increased diameter;
• the chosen pipe is the one which size has maintained the same diameter for the
longest period in previous iterations.
These criteria define two different versions of the algorithm, called TS1 and TS2,
respectively. In either case, the modification of the size of the pipe whose diameter
has been changed becomes a tabu move and enters the tabu list. The authors experiment different fixed and variable tabu tenure parameters and, comparing their algorithms results to best known solutions of five benchmark instances of the problem,
they demonstrate the effectiveness of the proposed method.
3 Mathematical Model Formulation
The pipe dimensioning problem can be stated as follows: to select, from a discrete set
of commercially available pipe diameters, the combination of diameters that gives the
least cost network able to supply a set of demand nodes with at least a minimum design pressure and satisfying pipe upstream conditions. The corresponding model can
be written as:
min
∑ c( D ) ⋅ L
k
k
(1)
k∈NP
subject to:
Pi ≥ PDi , ∀i ∈ N − {n0 }
(2)
Dk ≤ DU k , ∀k ∈ NP
(3)
Dk ∈ D, ∀k ∈ NP
(4)
where NP is the pipe set, N is the node set, with n0 representing the gas source, D is
the set of commercial diameters, Dk is the diameter of the pipe k, taken as the decision
variables, Lk is the length of pipe k, c : D → ℜ + is a function from the set of diameters to positive real numbers which represents the cost of the pipe per unit of length,
Pi is the pressure obtained on node i for the assigned pipes diameters, PDi is the required pressure on node i, and DUk is the diameter of the upstream pipe of pipe k.
The objective function (1) represents the minimization of total gas distribution network cost, expressed as the sum of the costs of each pipe section which compose it.
The pipe cost, by its turn, is a function of the pipe diameters (taken as the decision
variables) and the length of the section.
A Tabu Search Algorithm for Optimization of Gas Distribution Networks
41
The set of constraints (2) represents the minimum design pressure requirements on
each node. They can only be verified by the successive solution of the non-linear
equation in (5) for obtaining the pressure drop since the source for each pipe section.
⎛ P 2 − P22
T
Q = C b D 2.5 e⎜⎜ 1
Pb
⎝ LGTa Z a f
⎞
⎟⎟
⎠
0.5
(5)
where Q is the flow rate, C is a constant for systems of units conversion, Tb is the base
temperature, Pb is the base pressure, D is the diameter of the pipe, e is the pipe efficiency, P1 and P2 are the input and output pressure, respectively, L is the length of the
pipe, G is the gas specific gravity, Ta is the gas temperature, Za is the gas compressibility factor and f is the friction factor of the pipe.
The set of constraints (3) indicates the upstream pipe conditions, meaning that each
pipe must have a diameter less than or equal to the diameter of its upstream pipe.
Once the networks we are considering in this paper have fixed tree structures, the upstream pipe can be easily determined as the only one which directly connects to the
given pipe and is closer to the source node. If looped distribution networks were considered, flow equations would have to be solved to determine flow directions and the
upstream pipes. Finally, the constraints in (4) restrict the possible diameters of the
pipes to the commercially available ones.
4 Tabu Search Algorithms
Among the numerous metaheuristic methods proposed in the past few decades for the
solution of complex optimization problems, tabu search distinguishes as a successful
heuristic in many fields of application. Its main features lay down on analogies to the
human memory process and are fully explained by Glover and Laguna [7].
The tabu search method proposes to iteratively search the neighborhood of the current solution in such an ordering that allows the best moves to be explored and at the
same time prevents the repetition of previously visited solutions. To achieve this goal
a certain neighborhood structure and a function to generate neighbor solutions (by
means of structured moves) have to be defined. The exploration of the neighborhood
can be done entirely or restricted to a certain number of solutions.
A further part of tabu search functionality is preventing from repeatedly visiting
the same solution. This is done by setting some possible moves to tabu status, meaning that they cannot be executed for a number of iterations. It can avoid cycling on
visited solutions. Moreover the tabu tenure parameter defines the number of iterations
the elements added to a tabu list maintain their tabu status, making the search more or
less restrictive. A tabu search implementation may or may not make use of an aspiration criterion. This criterion allows a tabu move to be done in a given iteration if it
will lead to a solution that satisfies some condition, e.g. if the new solution is better
than any of the previously encountered solutions.
Eventually the search will lead to a local optimal solution and no move will be able
to bring improvements to the process. In such cases, the algorithm shall use a diversification procedure which will permit the exploration of regions of the search space
that haven’t been considered yet. The ability of determining those unexplored regions
42
H. de Mélo Duarte, E.F.G. Goldbarg, and M.C. Goldbarg
is supported by the use of long term memory structures that keep register of the already visited vicinities. Finally the search is concluded when some termination criteria are achieved. It’s evident that this metaheuristic technique incorporates strategies
for efficiently avoiding local optima while keeping the implementation fairly simple
and this can partially explains the popularity of the method.
5 Algorithm Implementation
In this work, we propose a tabu search algorithm for the solution of the pipe dimensioning problem. The implementation considers only feasible networks, which means
that moves never generate solutions that violate the problem constraints. It simplifies
the objective function in the sense that there is no need of a penalty function. The goal
is to minimize the total cost of the pipes of a gas distribution network.
This section describes the basic features involved in the implementation of the proposed algorithm, such as: the initial solution, the neighborhood exploration (including
the neighbor generation move, the diversification procedure, the aspiration criterion,
the tabu moves and the tabu tenure parameter), and termination criteria. A pseudocode of the described algorithm is presented in the following.
Pseudo-code of the proposed algorithm
curr_sol = generate_initial_sol ();
tabu_list = {};
repeat
if (no diameter decrease is possible) then
curr_sol = diversification (curr_sol);
else
new_sol = decrease_diameter (curr_sol);
if (reduced pipe is not tabu or
aspiration criterion holds) then
curr_sol = new_sol;
end_if
for each pipe i in tabu list
alpha = random value between 0.0 and 1.0;
if (alpha < p) remove pipe i from tabu list;
end_for
insert last reduced pipe in tabu list;
until termination criteria are accomplished
A Tabu Search Algorithm for Optimization of Gas Distribution Networks
43
5.1 Initial Solution
Once we are concerned in maintaining the feasibility of solutions through all the iterations, it is necessary to consider a method to generate initial solutions that guarantees
the satisfaction of pressure and upstream requirements. Therefore, the strategy
adopted in this work was to utilize the safest possible network (though the most expensive) as the initial solution. This network is the one where the largest possible
diameter is assigned to each pipe. This strategy brings the extra benefit of being able
to determine on the very beginning whether the instance has or not a single solution.
If the proposed initial solution is infeasible, no other solution will be. A randomized
initial solution would not be adequate because the density of feasible solutions in the
search space is extremely low and it could take a large computational time to randomly find one of them.
5.2 Neighbor Generation Moves
To detail how the algorithm explores the neighborhood of the current solution, the
underlying neighbor generation move is explained. First, consider that the solutions
are represented as a list of pipes and corresponding diameters, ordered by depth of incident nodes. The basic move consists in decreasing pipe diameters to the minimum
possible value keeping the feasibility of the solution. It is done from the leaves up to
the root of the tree to favor the observance of upstream restrictions. The bottom-up
style of pipe reductions may allow that the decrease of a pipe diameter enables its upstream pipe to have its diameter reduced too. However, due to the complexity of the
constraints involved, the pressure at each node has to be recalculated for every diameter reduction to ensure that the network is still meeting the requirements.
5.3 Diversification Procedure
When a solution is found for which no pipe diameter reduction is possible, a local optimum was reached. To proceed with the search, the diversification procedure is
applied. The neighbor solution is then generated by increasing pipe diameters. A random pipe (whose diameter is not the largest available one) is selected and its diameter
is increased to the next available size. This move always keeps the network valid regarding the pressure constraints, but may cause the selected pipe to violate the upstream requirement. This is easily fixed by recursively increasing the diameter of the
upstream pipe of the altered pipes while necessary.
5.4 Tabu Moves and Aspiration Criterion
Either if the pipe diameter is decreased or increased, the branch which diameter was
changed receives a “tabu” status. Then, the modification of its diameter is prohibited
for a certain number of iterations. The tabu tenure parameter is implemented to be
randomized. For all iteration each move has a probability p of leaving the tabu list.
Some experimentation was carried out and a value of p=0.05 showed to be effective
for the studied problem. This value was used in all tests we report in this paper. Also,
an aspiration criterion was utilized to allow a tabu status to be removed if the correspondent move leads to a new best solution.
44
H. de Mélo Duarte, E.F.G. Goldbarg, and M.C. Goldbarg
5.5 Termination Criteria
Two termination criteria were used: a maximum runtime and a maximum number of
iterations without improvement of the best solution. Let n be the number of pipes in a
given instance. The maximum time allowed for the tabu search algorithm execution in
computational experiments was n seconds. The maximum number of iterations without improvement of the best solution was 2n. It can be verified on the following section through the tests carried out that in general the second criterion was the one
which interrupted the search.
6 Computational Experiments and Results
For purposes of validation of the proposed algorithm, it was applied to 58 theoretical
instances with sizes varying from 51 to 1432 nodes and, consequently, from 50 to
1431 pipe sections. These instances are based on instances of the TSPLIB – a traveling salesman problem bank of instances [9] – and have been generated as follows.
First, the minimum spanning tree of the complete graph obtained from the TSP
instances was calculated, the first node fixed as the source node. Then, values for flow
on each pipe and minimum pressure required by each node were randomly generated
in a previously defined range. Finally, a set of commercial diameters was chosen from
real-world available ones [4][5]. Each instance of the pipe dimensioning problem is
referred to with the same name of the TSP instance that originated it.
The two versions of the tabu search algorithm from Cunha and Ribeiro [6] and
the multi-objective genetic algorithm from Surry et al. [11] were applied to the
problem – maintaining all their basic features unchanged. The proposed algorithm
is compared with them. The termination criteria for these algorithms was set to be
same as the proposed algorithm, a maximum time of n seconds and a maximum of
2n iterations without improvement of the best already found solution, where n is
the number of nodes of the instance. For every instance, 30 independent runs of the
algorithms were done on a Pentium IV 2.8 GHz computer with 512MB of RAM,
except for the genetic algorithm on instances with more than 1000 nodes, for the
reasons explained below.
Table 1 shows the results the algorithms obtained for the smaller instances (less
than 1000 nodes). The best encountered solution by any of the tested algorithms for
each instance along with the minimum and average gap in percentage and the standard deviation of the gap for each algorithm is presented. 14 small easy instances (up
to 264 nodes) are omitted since all the methods achieved the same results. Only the
results of TS1 [6] are shown because the performance of the second version was inferior to it. TS2 was able to find a cheaper solution than TS1 for only 1 instance and its
running time was equal to or worse than TS1 running time in 55 of the cases. The genetic algorithm [11] didn’t find any feasible solution for pr299 or u724 instances.
Proposed TS stands for the proposed algorithm while TS-C and GA-S refer to the
compared tabu search [6] and genetic algorithm [11], respectively.
A Tabu Search Algorithm for Optimization of Gas Distribution Networks
45
Table 1. Solutions quality comparison for 34 small and medium networks
Instance
pr76
kroA100
kroE100
lin105
pr107
pr124
bier127
pr136
pr144
kroA150
kroB150
pr152
u159
d198
kroA200
kroB200
ts225
tsp225
pr226
gil262
a280
pr299
lin318
rd400
fl417
pr439
pcb442
d493
u574
rat575
p654
d657
u724
rat783
Best Sol.
913473.10
193351.60
197996.90
134466.50
392422.10
532125.00
975471.80
932218.70
539456.30
253311.10
234850.30
658830.80
391681.80
128528.90
274397.80
273240.10
1198600.00
36647.40
763475.40
21516.70
25080.50
479309.90
405353.80
140256.80
107799.80
1053042.50
504545.90
331245.30
348626.20
65209.40
361242.50
460791.80
414143.80
86522.50
Proposed TS
Min. Avg.
SD
Gap Gap Gap
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.01
0.15
0.15 0.00
0.00
0.00 0.00
0.00
0.09 0.15
0.00
0.00 0.00
0.00
0.00 0.00
0.00
0.00 0.02
0.00
0.00 0.00
0.00
0.43 0.11
0.00
0.02 0.11
0.00
0.00 0.01
0.00
0.00 0.00
Min.
Gap
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
5.25
0.55
0.15
0.00
0.02
0.00
27.20
8.24
0.00
26.76
5.73
10.55
3.56
TS-C
Avg.
Gap
0.00
0.00
0.00
0.00
5.09
0.00
0.00
0.00
5.40
6.64
0.00
14.38
0.00
0.00
0.00
0.00
5.67
0.00
0.00
0.00
0.00
5.25
8.64
0.15
0.00
21.02
0.49
27.20
8.24
0.00
27.13
10.28
10.55
3.56
SD
Gap
0.00
0.00
0.00
0.00
27.88
0.00
0.00
0.00
29.57
5.14
0.00
11.13
0.00
0.00
0.00
0.00
31.08
0.00
0.00
0.00
0.00
0.00
3.68
0.00
0.00
7.12
1.85
0.00
0.00
0.00
2.03
24.61
0.00
0.00
Min.
Gap
3.50
2.65
1.23
5.05
0.34
8.06
0.79
5.05
5.62
12.73
2.02
9.14
8.05
5.49
5.29
4.47
7.83
3.98
14.71
0.31
0.32
7.09
0.00
5.46
59.34
35.98
60.83
42.62
6.45
48.40
67.83
38.98
GA-S
Avg.
Gap
4.56
4.43
2.52
5.98
0.94
11.06
1.54
7.54
9.10
18.45
2.92
12.51
12.21
8.54
8.42
8.25
23.82
4.83
25.60
0.48
0.50
19.90
1.47
7.83
59.34
35.98
60.83
42.62
8.21
48.40
67.83
38.98
SD
Gap
0.58
0.95
1.45
0.74
0.23
2.36
1.07
1.58
1.50
3.73
0.64
3.09
3.20
2.37
3.13
2.40
11.55
0.49
6.73
0.23
0.11
13.04
5.03
1.66
0.00
0.00
0.00
0.00
0.46
0.00
0.00
0.00
The effectiveness of the proposed algorithm is clearly demonstrated in this table.
Our tabu search finds the best solution for all but one instance (rd400), for which the
solution found was only 0.15% above the genetic algorithm solution. Besides, for the
four instances in which the best solution was not found in all executions, the average
gap didn’t reached 0.5%. On the other hand, Cunha and Ribeiro tabu search algorithm
[6] also showed a consistent performance, but wasn’t able to find the best known solution in 8 instances and its average gap was worse than the average gap of the proposed algorithm for 15 of these instances. The results also indicate that TS-C
performance is superior to GA-S, once that for only 2 instances the former presented
an average gap worse than the latter and GA-S found only one best known solution.
As the performance of GA-S seriously deteriorate for the last instances in Table 1,
the proposed algorithm was only compared to the TS-C for the largest instances.
46
H. de Mélo Duarte, E.F.G. Goldbarg, and M.C. Goldbarg
Table 2 shows the results these two algorithms presented for 10 instances with more
than 1000 nodes in the same format of Table 1. It is evident that the proposed tabu
search overcomes the reference method once it obtains the best minimum and average
solutions for all the networks. Additionally, the robustness of the algorithm is visible
because the average gap from the best found configuration is at most 1.83% and the
standard deviation exceeds 1.0% for only one case. It can be seen that TS-C fails to
obtain competitive solutions for large instances, perhaps because of its running time
dependency and the employed termination criteria.
Table 2. Comparison of the solutions of the 10 largest networks
Instance
pr1002
u1060
vm1084
pcb1173
d1291
rl1304
rl1323
nrw1379
fl1400
u1432
Best Sol.
2662871.80
2302421.10
2324953.00
591012.00
528294.10
2701706.20
3134737.40
561381.10
202637.50
1584001.50
Min.
Gap
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
Proposed TS
Avg.
Gap
1.15
1.55
1.09
1.28
0.69
1.83
1.15
0.25
1.70
0.32
SD
Gap
0.80
0.94
0.84
0.73
0.73
0.75
0.70
0.28
1.07
0.20
Min.
Gap
10.17
11.65
11.31
30.06
78.77
47.15
6.53
70.30
87.48
113.51
TS-C
Avg.
Gap
12.68
19.75
12.53
41.68
84.34
58.57
6.53
71.09
87.54
114.24
SD
Gap
11.96
22.03
6.71
20.27
11.24
16.07
0.00
0.46
0.04
0.42
The good solutions quality presented by the proposed algorithm in previous tables
can consistently point to its usefulness. This observation is ratified in Table 3, where
average running time is given for each instance. Once more, the proposed algorithm
showed good results, spending in smaller instances less than one tenth of the time
spent by TS-C and significantly less time in the other cases. It’s relevant to note that
the termination criterion of maximum execution time was hardly necessary for the
proposed algorithm. However, TS-C shows poor quality results for the 12 largest instances, probably because of the maximum allowed running time, which was reached
in all executions for these instances. GA-S average running times are omitted because
this method utilized the whole available time for all executions of all instances.
Since a global optimal solution is not known for these problems, it is very important to evaluate different heuristic methods to find the most suitable one.
Through the analysis carried out, the proposed tabu search algorithm demonstrates
to be very effective in tackle the problem difficulties. Moreover, the compared algorithms are of recognized value on this class of problems, so the analysis may
state that this is in fact one adequate method for this kind of problem. It is reasonably expected since tabu search approach has presented good results in other
related problems as well, like the water distribution network optimization problem,
studied by Cunha and Ribeiro [6].
A Tabu Search Algorithm for Optimization of Gas Distribution Networks
Table 3. Average running time (in seconds)
Instance
Proposed TS
TS-C
pr76
kroA100
kroE100
lin105
pr107
pr124
bier127
pr136
pr144
kroA150
kroB150
pr152
u159
d198
kroA200
kroB200
ts225
tsp225
pr226
gil262
a280
pr299
lin318
rd400
fl417
pr439
pcb442
d493
u574
rat575
p654
d657
u724
rat783
pr1002
u1060
vm1084
pcb1173
d1291
rl1304
rl1323
nrw1379
fl1400
u1432
0.119
0.039
0.039
0.043
0.313
0.406
0.063
0.494
0.634
0.923
0.090
0.966
0.744
1.149
1.027
1.200
1.694
0.202
2.158
0.271
0.312
8.923
10.880
1.560
5.026
62.854
16.048
18.130
36.154
6.559
72.481
26.071
91.008
26.242
557.313
918.610
944.113
1032.390
456.914
1227.100
1291.161
1117.667
462.311
1251.755
1.076
0.852
0.865
0.895
3.620
4.403
1.801
5.736
8.450
10.774
2.730
9.238
7.889
17.115
23.772
38.465
31.311
9.578
17.576
14.643
17.470
86.404
65.950
49.649
174.955
218.321
213.174
354.374
504.909
464.208
654.269
642.325
724.510
783.501
1002.387
1060.277
1084.526
1173.583
1292.244
1304.494
1323.406
1379.547
1401.127
1433.146
47
48
H. de Mélo Duarte, E.F.G. Goldbarg, and M.C. Goldbarg
7 Conclusions
A tabu search algorithm for the pipe dimensioning problem was proposed. Its specialized features allowed high quality solutions to be found in much reduced computational time. It demonstrates the capacity of the metaheuristics to deal with the
complex constraints of this combinatorial problem. However, more experimentation is
needed to permit a final conclusion to be drawn.
In future works an adaptation of the parallel and serial merge method [10] will be
investigated as part of heuristic algorithms. Other line of research will consider
looped networks and adding new devices to the distribution model, such as pumps
and compressors.
Acknowledgements
This research was partially funded by the program PRH 22 of the National Agency of
Petroleum.
References
1. Boyd, I. D., Surry, P. D., Radcliffe, N. J. (1994), Constrained gas network pipe sizing with
genetic algorithms, EPCC-TR94-11, University of Edinburgh.
2. Boyd, E. A., Scott, L. R., Wu, S. (1997), Evaluating the quality of pipeline optimization
algorithms, http://www.psig.org/paper/1997/9709.pdf.
3. Castillo, L., González, A. (1998), Distribution network optimization: finding the most economic solution by using genetic algorithms, European Journal of Operational Research,
108 (3), pp. 527-537.
4. Castro, M. P. (2004), Algoritmos evolucionários para o problema de dimensionamento dos
dutos de uma rede urbana de distribuição de gás natural. Dissertation (Master’s degree in
Systems and Computers). Universidade Federal do Rio Grande do Norte.
5. Costa, W. E. (2004), Um estudo algorítmico para o problema do dimensionamento de
dutos em uma rede urbana de distribuição de gás natural. Dissertation (Master’s degree in
Systems and Computers). Universidade Federal do Rio Grande do Norte.
6. Cunha, M. C., Ribeiro, L. (2004), Tabu search algorithms for water network optimization,
European Journal of Operational Research, 157 (3) pp. 746-758.
7. Glover, F., Laguna, M. (1997). Tabu search. Kluwer Academic Publishers, Dordrecht.
8. Osiadacz, A. J., Górecki, M. (1995), Optimization of pipe sizes for distribution gas network design, http://www.psig.org/papers/1987/9511.pdf.
9. Reinelt, G. (1991), A traveling salesman problem library, ORSA Journal on Computing 3,
pp. 376-384.
10. Rothfarb, B., Frank, H., Rosenbaum, D., Steiglitz, K., Kleitman, D. (1970), Optimal design of offshore natural-gas pipeline systems, Operations Research, Vol. 6, 18, pp. 9221020.
11. Surry, P. D., Radcliffe, N. J., Boyd, I. D. (1995), A multi-objective approach to constrained optimization of gas supply networks: the COMOGA method, in: Evolutionary
Computing. AISB Workshop, T. Fogarty (Ed.), Springer-Verlag.
Design of a Retail Chain Stocking Up Policy
with a Hybrid Evolutionary Algorithm
Anna I. Esparcia-Alcázar1 , Lidia Lluch-Revert2 , Manuel Cardós2 ,
Ken Sharman1 , and Carlos Andrés-Romano2
1
Instituto Tecnológico de Informática,
Edif. 8G Acc. B, Ciudad Politécnica de la Innovación,
46022 Valencia, Spain
{anna, ken}@iti.upv.es
http://www.iti.upv.es
2
Departamento de Organización de Empresas, Econ. Financiera y Contabilidad,
Universidad Politécnica de Valencia,
Camino de Vera s/n,
46022 Valencia, Spain
{mcardos, candres}@omp.upv.es,
[email protected]
http://www.upv.es
Abstract. In this paper we address the joint problem of minimising
both the transport and inventory costs of a retail chain that is supplied
from a central warehouse. We propose a hybrid evolutionary algorithm
where the delivery patterns are evolved for each shop, while the delivery
routes are obtained employing the multistart sweep algorithm. The experiments performed show that this method can obtain acceptable results
consistently and within a reasonable timescale. The results are also of a
lower cost than those obtained by other strategies employed in previous
research. Furthermore, they confirm the interest of addressing the optimisation problem jointly, rather than minimising separately inventory
and transport.
1
Introduction
The design of a retail chain usually involves finding a compromise between the
minimisation of the transport costs (from the central warehouse’s point of view)
and the minimisation of the inventory costs (from the shops’ point of view).
Retail chain shops are usually stocked periodically, with the inventory costs
being given by the delivery days established for every shop. Once these are
established, the transportation costs can be calculated by solving the vehicle
routing problem (VRP).
Although there is substantial literature on both transportation and inventory
management, this is not so for the joint problem1 [3]. In [4] the authors study this
problem by considering a single product controlled by an order-point system and
1
This problem arises when both the warehouse and the shops are owned by the same
company.
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 49–60, 2006.
c Springer-Verlag Berlin Heidelberg 2006
50
A.I. Esparcia-Alcázar et al.
a cost per unit transportation cost. In [2] an approximate analytical method for
minimizing inventory and transportation costs under known demand is developed,
based on an estimation of the travel distance. [1] analyzes production, inventory
and transportation costs in a capacitated network, yet once again transportation
costs are assumed to be proportional to the units moved. [9] focuses on a multiproduct production system on a single link. [5] presents a (s, Q)-type inventory
policy for a network with multiple suppliers by replenishing a central depot, which
in turn distributes to a large number of retailers; his paper considers transportation costs, but only as a function of the shipment size. [7] deals with an inbound
material-collection problem so that decisions for both inventory and transportation are made simultaneously; however vehicle capacity is assumed to be unlimited
so that it is solved as a traveling salesman problem (TSP). Finally, [10] presents a
modified economic ordering quantity for a single supplier-retailer system in which
production, inventory and transportation costs are all considered.
In this paper we propose a hybrid evolutionary algorithm that aims at minimising the sum of the inventory and transportation costs. Initially a population of chromosomes is generated, each representing a set of delivery patterns
(and hence delivery frequencies) to shops. The inventory cost for each shop is
a function of the delivery frequency to that shop. Then for each chromosome
we employ the multistart sweep algorithm to calculate the five sets of routes
(one per working day of the week) that have minimal transportation cost. This
depends on the type of vehicle used, as well as the distances traveled. The fitness
that guides the evolutionary algorithm is calculated as the sum of the inventory
and transportation costs.
We test our algorithm on real problem data with three objectives in mind.
Firstly, we want to show that our method can be a useful tool to design stocking
up policies. Secondly, we intend to confirm whether the joint approach proposed
in[3], is more suitable than addressing the problem in two stages (first calculating a solution that provides minimum inventory costs and then the minimum
transport cost for that solution). Finally, we want to see if we can share their
conclusions as per the optimum type of vehicle to use.
The rest of the paper is laid out as follows. The problem of designing a
stocking up policy is explained in section 2; in section 2.1 previous approaches are
described, while section 2.2 lays out our evolutionary approach. The experiments
are described in section 3, where a statistical comparison is made, and finally
conclusions and further work are given in section 4.
2
Design of a Stocking Up Policy
Given a warehouse that supplies a chain of shops, we have to determine not
only the optimal frequency, f (number of days a week), with which to serve
each shop, but also what is the optimal pattern, p, for that frequency that minimises the cost. A pattern p represents a set of days in which the shop is served.
For each frequency and shop there is an associated inventory cost (the higher the
Design of a Retail Chain Stocking Up Policy
51
frequency the lower the cost) so to obtain the total inventory cost we add up the
individual inventory costs per shop.
Once the patterns are known for all shops, the next step is to obtain the
transportation costs. For this we obtain solutions for the Euclidean VRP for
each day of the week and add up the associated costs.
We consider the following restrictions, as imposed by the customer:
– The fleet is homogeneous, so although we will consider three types of vehicles
(van, small truck and medium truck) only one type of vehicle is used per
experiment.
– The transport cost only includes the cost per km, not the time of use of the
vehicle. Nor there is a fixed cost per vehicle.
– The capacity of the vehicles is limited but the number of vehicles is unlimited.
– The load is containerised. The amount to deliver to each shop varies with
the shop and the frequency of delivery.
– No single shop can consume more than the capacity of any one vehicle, i.e.
a shop is served by one and only one vehicle.
– The shops have no time windows.
– The working day of a driver is 8 hours, including driving time and stops.
– Not all frequencies are admissible for all shops.
– Not all patterns are admissible for a given frequency.
The problem data can be found in Tables 4, 5, 6 and 7.
2.1
Previous Approaches
N
The number of possible delivery frequencies combinations is given by i=1 Fi ,
where N is the number of shops and Fi is the number of admissible delivery
9
frequencies for shop i. For our problem, this value is of the
Fiof 5.44 · 10 .
Norder
Pij , where
The total number of possible combinations of patterns is j=1 i=1
Pij is the number of admissible delivery patterns for frequency i in shop j. In
our case, this value is 1.89 · 1017 , which rules out exhaustive search.
In [3] the authors develop an approximate search procedure, involving partial
enumeration of solutions and solving five VRPs (one per working day of the
week) to determine the delivery patterns. For this, the algorithm employed in
[3] was the sweep, or daisy, algorithm as described in [6], but modified to sweep
both clockwise and counter-clockwise and employing multiple starting points.
This bi-directional multistart sweep, or daisy algorithm will also be used in
our experiments as a first approach to solve the VRP. It provides 2 ∗ nd sets
of routes per weekday (with nd being the number of shops to be visited on
that particular day) of which we will select the one that provides the minimal
transportation cost. The final transportation cost will be obtained by adding the
minimal costs of all five days of the week.
Drawbacks. One disadvantage of this method is the computational expense,
but as the authors point out themselves, this is not an important one, since the
calculations are done at a strategic phase and hence they’re not time-critical.
52
A.I. Esparcia-Alcázar et al.
A more relevant shortcoming is that it is a limited exploration carried out in
order to understand the shape and behaviour of the cost functions and hence it
only provides a rough approximation to the possible optima. Furthermore, from
a business point of view, it is not a practical tool to use. Clearly, some other
method must be found. The scene is then set for evolutionary algorithms.
2.2
The Evolutionary Approach
Evolutionary Set-up. We will start by generating a random population of
individuals or chromosomes representing solutions to the problem at hand. The
chromosomes are vectors of length equal to the number of shops in which the
components, or genes, are integers representing a particular pattern, out of
the
set of admissible
ones (see Table 5). For instance, the chromosome
4 3 6 8 9 7 5 . . . 10 1 represents a solution in which shop 1 is served with pattern 4, shop 2 with pattern 3 and so on. The fitness of such a chromosome, which
we intend to minimise, is calculated as the sum of the associated inventory and
transportation costs,
f = InventoryCost(e) + T ransportCost(e)
(1)
To calculate the former, given the patterns for each shop, we know the associated delivery frequency and with this we can look up the inventory cost per
shop (see Table 6). To obtain the transport cost, we run the daisy algorithm as
explained in the previous section.
Evolution proceeds employing the following operators:
– 1-point crossover : Two parents are selected and the genes of each are
swapped from the (random) crossover point to the end of the chromosome
– 2-point crossover : As above but swapping the genes between two random
crossover points
– n-point mutation : Pick a random value of n, 1 ≤ n ≤ N , and mutate n
positions in the chromosome selected randomly. The upper and lower bounds
of n are varied when the fitness has remaind unchanged for a given number
of iterations
3
Experiments
The main aim of the experiments is to show how our hybrid evolutionary algorithm can be employed to design stocking up policies, and in this way demonstrate the relevance of taking into account the inventory and transport costs
jointly. We want to show that the algorithm is robust, in that it obtains consistently good results, and also that it can be done within a reasonable timescale.
Additionally, we want to see whether there is one type of vehicle that provides
significantly better results than the others.
In order to do this we run the algorithm 30 times per type of vehicle. The
termination criterion in all cases was a number of iterations equal to 5000, which
corresponds to approximately 9 minutes per run in the computers employed. The
algorithm is laid out in Figure 1.
Design of a Retail Chain Stocking Up Policy
53
NO
Initialise
Population
Evaluate
Population
Check
diversity?
Iters=0
Tournament
selection
NO
YES
NO
Crossover
Tsize
individuals
Mutate
offspring
with Pm
Evaluate
offspring
Reinsert
individuals
2 individuals
Diversity is
low?
Termination
criterion?
Iters++
YES
Best
chromosome
Restart +
Seeding
YES
Fig. 1. The evolutionary algorithm employed in the experiments
Table 1. Parameters of the evolutionary algorithm. The probability of mutation and
the value of n are variable. Every 10th iteration the diversity is measured and if 80%
or more individuals are the same, they are replaced by newly created ones.
Parameters of the evolutionary algorithm
Population size
200
Selection method
Tournament
Tournament size
5
Crossover operators
1 and 2-point Xover
Mutation operators
n-point mutation
Mutation probability
Variable from 0.2 to 1
Measure diversity every
10 iterations
Diversity preservation mechanism Restart + seeding
apply when
80% individuals are equal
Termination criterion
5000 iterations
3.1
Van
The best chromosome obtained in the 30 runs was:
chrom = 11 10 10 9 11 9 9 10 11 6 7 11 8 11 11 10 9 2 7 1
with a total cost of 13782 e, of which 11707 e are inventory and 2062 e are
transport costs.
The routes for each day of the week were:
Mon
Tues
Wed
Thurs
Fri
3.2
0
0
0
0
0
13
19
14
16
14
941
20 11
19 16
20 11
19 16
17
13
17
13 11
0
0
0
0
0
2358
94587
18 9 4 1
9123
18 9 4 1
0
0
0
0
0
7
6
2
5
2
6 15 12 14 16
10 15 12 14
358
8 7 15 12 14
358
0
0
0 7 6 10 15 12 0
0
0 7 6 10 15 12 0
Small Truck
The optimal chromosome obtained in the 30 runs was:
chrom = 11 10 10 11 11 10 11 11 7 4 7 11 6 11 11 10 7 4 1 3
with a total cost of 13599 e , of which 11740 e are inventory and 1859 e are
transport costs. The routes for each day were:
54
A.I. Esparcia-Alcázar et al.
Mon
Tues
Wed
Thurs
Fri
0
0
0
0
0
412358
0
7 6 15 12 14 19
0
412358
0
15 12 14 19 20 11 17 0
7 6 10 15 12 14
0
7 6 10 15 12 14 16 13 0
16 20 11 17 18 9
0412358 0
7 6 10 15 12 14 16 13 0
941587
0
16 13 11 17 18 9
0412358 0
These routes are also depicted in Figure 2
Monday Routes
Tuesday Routes
250
250
3
2
warehouse
shop
200
3
2
warehouse
shop
200
1
4
18
1
4
18
8
5
9
8
5
9
6
6
7
y coordinate (Km)
y coordinate (Km)
7
150
13
16
17
10
14 12 15
11
100
150
13
16
17
19
19
50
50
20
20
0
0
50
100
150
x coordinate (Km)
200
0
250
0
50
100
150
x coordinate (Km)
Wednesday Routes
250
3
2
warehouse
shop
200
3
2
warehouse
shop
200
200
1
4
18
5
9
1
4
18
8
5
9
6
y coordinate (Km)
7
150
13
16
17
10
14 12 15
11
8
6
7
y coordinate (Km)
250
Thursday Routes
250
100
150
17
13
16
10
14 12 15
11
100
19
19
50
50
20
0
10
14 12 15
11
100
0
50
20
100
150
x coordinate (Km)
200
0
250
0
50
100
150
x coordinate (Km)
200
250
Friday Routes
250
3
2
warehouse
shop
200
1
4
18
5
9
8
6
y coordinate (Km)
7
150
17
13
16
10
14 12 15
11
100
19
50
20
0
0
50
100
150
x coordinate (Km)
200
250
Fig. 2. Optimal routes for the small truck for all weekdays
3.3
Medium Truck
The optimal chromosome was:
chrom = 10 10 10 10 10 10 11 6 11 8 1 11 8 8 10 8 1 3 1 1
with a total cost of 13715 e, of which 11760 e are inventory and 1955 e are
transport costs. The routes for each day were:
Design of a Retail Chain Stocking Up Policy
Mon
Tues
Wed
Thurs
Fri
3.4
0
0
0
0
0
18 9 4 1 2 3 5
076
15 12 14 19 20 11 17 0 4 1
941235
076
18 9 4 1 5 8
076
9412358
076
10 15 12 14
23587
10 15 12 14
15 12 19 20
10 15 12 14
55
16 13
0
0
16 13
0
11 17
0
19 16 13 0
Comparison and Analysis
A point to make about this problem is that the inventory cost is much higher than
the transport cost. This is due to the nature of the products stocked (perfumes,
cosmetics) which have a high density value (in terms of e /m3 ) and also a high
inventory discount rate (around 30%). This discount rate is justified by the stock
deterioration, thefts and changes in fashion, as well as the cost of opportunity
of the capital, the renting of the premises and the cost of personnel.
Using the kruskalwallis function in MATLAB we run a Kruskal-Wallis test
on the best results obtained by all the runs to establish whether the costs with
any type of vehicle were significantly different from the others. The results of
the test are shown in Table 2.
Table 2. Results of the Kruskal-Wallis test
Source
Columns
Error
Total
SS
52598.4
8143.6
60742
Kruskal-Wallis ANOVA table
degrees of freedom
MS
Chi-sq
2
26299.2
77.07
87
93.6
89
Prob > Chi-sq
0
Table 3. Summary of the best results obtained in 30 runs for the three vehicle types.
The inventory cost is always much higher than the transport cost due to the nature of
the products stocked (perfumes, cosmetics) which have a high density value (in terms
of e /m3 ) and also a high inventory discount rate (around 30%).
Type
Van
Small truck
Medium truck
Transport cost (e)
2062
1859
1955
Inventory cost (e)
11707
11740
11760
Total cost
13782
13599
13715
Table 4. Vehicle data
Vehicle type
Capacity (roll containers)
Transportation cost(e/Km)
Average speed
Unloading time
Maximum working time
Van
8
0.55
Small Truck Medium Truck
12
15
0.6
0.67
90 km/h
15 min
8h
56
A.I. Esparcia-Alcázar et al.
Evolution of the total cost during one run
14.200
van
small
medium
14.100
Total cost (euro)
14.000
13.900
13.800
13.700
13.600
0
500
1000
1500
2000
2500
3000
3500
iterations
Evolution of the inventory cost during one run
4000
4500
5000
12.000
van
small
medium
11.950
inventory cost (euro)
11.900
11.850
11.800
11.750
11.700
11.650
11600
0
500
1000
1500
2000
2500
3000
3500
iterations
Evolution of the transport cost during a run
4000
4500
5000
2350
van
small
medium
2300
2250
Transport cost (euro)
2200
2150
2100
2050
2000
1950
1900
1850
0
500
1000
1500
2000
2500
iterations
3000
3500
4000
4500
5000
Fig. 3. Comparison of the evolution of the costs during a run for each type of vehicle.
It can be noticed that the global minimum doesn’t correspond to a minimum inventory
cost, especially for the case of the small truck.
Design of a Retail Chain Stocking Up Policy
57
Probability density estimation (ksdensity)
0.025
van
small
medium
probability density estimation
0.02
0.015
0.01
0.005
0
13.550
13.600
13.650
1.3700
13.750
total cost (euro)
13.800
13.850
13.900
Fig. 4. Estimation of the probability density functions of the results for each type of
vehicle, obtained with the MATLAB function ksdensity. The peaks obtained are relatively narrow, especially for the case of the van; the differences between the maximum
and minimum values obtained in the 30 runs of the three experiments are never higher
that 1.3% of the median; this means the algorithm is robust, in the sense that any run
will not fall very far from the median, which is important in a business context.
Because the probability value is zero, this casts doubt on the null hypothesis
and suggests that at least one sample median is significantly different from the
others, i.e. the costs of at least one vehicle differ significantly. We then employed
a multiple comparisons procedure (the multcompare function in MATLAB) to
determine which one provided the lower cost. The results of the procedure showed
that the cost for the small truck was lower than the rest, followed by the medium
truck and the van. This can also be seen when estimating the probability density
functions (pdf), see Figure 4. This figure also provides an interesting conclusion.
When calculating the maximum width of the estimated pdf peaks, the result
is never bigger than 1.3% of the peak median. From this we conclude that the
algorithm is robust, in the sense that any run will not fall far from the median,
which is important in a business context.
When our results are compared to those obtained by [3] it can be noticed that
the costs obtained are much lower in all three cases. Furthermore, our conclusion
differs from theirs in that our preferred vehicle is always the small truck, while
in their case the best results where obtained by the van.
58
A.I. Esparcia-Alcázar et al.
Table 5. Admissible patterns per frequency. The value 1 represents that the shop
is served on that day, 0 that it isn’t. We will only consider 11 patterns out of the
31 that are possible, a restriction imposed by the customer (the retail chain). For
instance, there are no patterns of frequency 1, and only 2 patterns are admissible out
of the 5 existing of frequency 4: (Monday, Wednesday, Thursday, Friday) and (Monday,
Tuesday, Wednesday, Friday).
Pattern
1
2
3
4
5
6
7
8
9
10
11
Freq
2
2
2
2
2
3
3
3
4
4
5
Mon
1
1
0
0
0
1
0
0
1
1
1
Tues
0
0
1
1
0
0
1
1
0
1
1
Wed
0
0
0
0
1
1
0
1
1
1
1
Thu
1
0
1
0
0
0
1
0
1
0
1
Fri
0
1
0
1
1
1
1
1
1
1
1
Table 6. Shop coordinates, inventory cost (in e) and size of the deliveries per shop
depending on the delivery frequency. Shop number 0 corresponds to the warehouse.
Shop
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Location
(km)
x
y
150 150
126 191
130 242
157 247
124 182
153 176
202 169
163 158
164 182
114 170
231 120
97
108
173 110
137 127
164 113
180 114
138 120
113 121
37
183
155
86
98
29
1
871.3
862.7
854.2
845.6
837.1
828.6
806.1
791.1
776.2
761.3
746.4
731.4
716.5
701.6
686.6
671.7
670.0
663.4
656.9
650.3
Inventory cost
(e)
2
3
4
725.9 701.6 671.9
718.8 694.7 665.4
711.7 687.8 658.8
704.6 680.9 652.2
697.5 674.1 645.6
690.3 667.2 639.0
668.9 630.1 614.8
656.5 618.4 603.4
644.1 606.7 592.0
631.7 595.1 580.7
619.4 583.4 569.3
607.0 571.7 557.9
594.6 560.1 546.5
582.2 548.4 535.1
569.8 536.7 523.7
557.4 525.1 512.3
555.2 523.7 512.0
549.7 518.6 507.0
544.3 513.4 502.0
538.8 508.3 496.9
5
650.8
644.4
638.0
631.6
625.2
618.9
611.3
600.0
588.7
577.3
566.0
554.7
543.4
532.1
520.7
509.4
513.3
508.3
503.2
498.2
Delivery size
(roll containers)
1 2 3 4 5
- - - - 9 5 3 2 2
9 4 3 2 2
9 4 3 2 2
9 4 3 2 2
9 4 3 2 2
9 4 3 2 2
7 4 2 2 1
7 4 2 2 1
7 3 2 2 1
7 3 2 2 1
7 3 2 2 1
7 3 2 2 1
6 3 2 2 1
6 3 2 2 1
6 3 2 2 1
6 3 2 1 1
5 2 2 1 1
5 2 2 1 1
4 2 1 1 1
4 2 1 1 1
Design of a Retail Chain Stocking Up Policy
59
Table 7. Admissible frequencies per shop, as imposed by the customer (the retail
chain). Note that frequency 1 (one delivery day a week) is not admissible for any shop.
Freq.
1
2
3
4
5
1
0
0
0
1
1
2
0
0
0
1
1
3
0
0
0
1
1
4
0
0
0
1
1
5
0
0
0
1
1
6
0
0
0
1
1
7
0
1
1
1
1
8
0
1
1
1
1
9
0
1
1
1
1
10
0
1
1
1
1
Shop
11 12 13
0 0 0
1 1 1
1 1 1
1 1 1
1 1 1
14
0
1
1
1
1
15
0
1
1
1
1
16
0
1
1
1
1
17
0
1
1
1
0
18
0
1
1
1
0
19
0
1
1
1
0
20
0
1
1
1
0
On a more interesting note, the optimum found does not correspond to a minimum inventory cost. This can be seen in Figure 3, which shows the evolution
of the global, inventory and transport costs throughout one run (chosen at random) and for each type of vehicle. For all vehicles, but more noticeably for the
small truck, the global cost is lower by the end of the run, as should be expected.
On the other hand, the inventory cost goes through a minimum value at earlier
stages of the run, to increase by the end of it. This justifies the convenience of
handling the inventory and transport problems in a joint manner.
4
Conclusions and Future Work
We have described a hybrid evolutionary algorithm that can be successfully employed in the design of a stocking up policy for a chain of shops in a reasonable
timescale. The algorithm is robust in the sense that any run will provide results
that are not too different from the median (less than 0.65% away). We have
also established the importance of addressing the problem as the joint minimisation of the inventory and transport costs, rather than tackling each problem
independently.
Future work will involve:
– More complex topologies, including more shops.
– Using real (map) not Euclidean distances, in which for instance distances
are different one way and back.
– Improving the daisy algorithm with local learning (or even employing a completely different heuristic). This is as suggested by [8] with respect to simulated annealing. For instance, in figure 2 it can be noticed that the route
for Friday can be improved by reordering shops (16, 13, 11, 17) as (13, 16,
17, 11). This reordered route is approximately 27 km shorter than the one
given by the daisy algorithm. In monetary terms and for the small truck this
represents a saving of 16.13 e . From a business point of view, the improvement is too minute for the effort that would entail incorporating a learning
algorithm. However, it could be worthy if applied in a real non-Euclidean
space. Further research is necessary on this matter.
60
A.I. Esparcia-Alcázar et al.
Acknowledgement
This work was part of the BioLog project and is supported by the Acciones de
Articulación del Sistema Valenciano de Ciencia-Tecnologı́a-Empresa. N 0 Expte.
IIARCO/2004/17.
The data employed in the experiments was supplied by DRUNI SA, a major
regional cosmetics retail chain.
References
1. Benjamin, J.: An Analysis of Inventory and Transportation Costs in a Constrained
Network, Transportation Science, 23(3): 177-183 (1989)
2. Burns, L.D., Hall, R.W., Blumenfeld, D.E. and Daganzo, C.F.: Distribution Strategies that Minimize Transportation and Inventory Costs, Operations Research,
33(3):469-490 (1985)
3. Cardós, M. and Garcı́a-Sabater, J.P.: Designing a consumer products retail chain
inventory replenishment policy with the consideration of transportation costs.
International Journal of Production Economics. In Press. doi:10.1016/j.ijpe.2004.
12.022
4. Constable, G.K. and Whybark, D.C.: The interaction of transportation and inventory decisions, Decision Sciences, 9(4):688-699 (1978)
5. Ganeshan, R.: Managing supply chain inventories: A multiple retailer, one warehouse, multiple supplier model. International Journal of Production Economics,
59(1-3):341-354 (1999)
6. Gillet, B.E. and Miller, L.R.. A Heuristic Algorthm for the Vehicle Dispatch Problem. Operations Research 22: 340-349 (1974)
7. Qu, W.W., Bookbinder, J.H. and Iyogun, P.: An integrated inventorytransportation system with modified periodic policy for multiple products. European Journal of Operational Research, 115(2): 254-269 (1999)
8. Robusté, F., Daganzo, C.F. and Souleyrette, R.: Implementing vehicle routing
models. Transportation Research B, 24(4): 263-286 (1990).
9. Speranza, M.G. and Ukovich, W.: Minimizing Transportation and Inventory Costs
for Several Products on a Single Link, Operations Research, 42(5):879-894 (1994)
10. Zhao, Q.H., Wang, S.Y., Lai, K.K. and Xia, G.P.: Model and algorithm of an
inventory problem with the consideration of transportation cost. Computers and
Industrial Engineering, 46(2): 398-397 (2004)
Parametrized GRASP Heuristics for
Three-Index Assignment
Armin Fügenschuh and Benjamin Höfler
Darmstadt University of Technology,
Schlossgartenstr. 7, 64289 Darmstadt, Germany
Abstract. Constructive greedy heuristics are algorithms that try to
iteratively construct feasible solutions for combinatorial optimization
problems from the scratch. For this they make use of a greedy scoring
function, which evaluates the myopic impact of each possible element
with respect to the solution under construction. Although fast, effective, and even exact for some problem classes, greedy heuristics might
construct poor solution when applied to difficult (NP-hard) problems.
To avoid such pitfalls we suggest the approach of parametrizing the
scoring function by including several different myopic aspects at once,
which are weighted against each other. This so-called pgreedy approach
can be embedded into the metaheuristic concept of GRASP. The hybrid
metaheuristic of GRASP with a parametrized scoring function is called
parametrized GRASP heuristic (PGRASP). We present a PGRASP algorithm for the axial three index assignment problem (AP3) and computational results comparing PGRASP with the classical GRASP strategy.
1
Introduction
Greedy-type construction heuristics are used in many special-purpose optimization software packages, where a good feasible solution to a given instance of some
combinatorial problem is required after a very short amount of time (typically,
a few seconds). They construct feasible solutions from scratch by step-by-step
inserting always the best immediate, or local, solution while finding an answer
to the given problem instance. To obtain in fact good solutions, the crucial point
within every greedy algorithm is having a proper criterion that selects these local
solutions and thus is responsible for the search direction. For some optimization
problems greedy algorithms are able to find the globally optimal solution. For
example, Prim’s or Kruskal’s algorithms actually are greedy algorithms which
find a minimum spanning tree in a given graph. On the other hand, there is no
known greedy algorithm that finds a minimum Hamiltonian path, i.e., a solution
to the traveling salesman problem (TSP). The aim of this article is to extend
classical greedy construction heuristics by using parametrized scoring function,
and to embed such parametrized greedy heuristic into the GRASP framework,
in order to find better solutions in shorter time.
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 61–72, 2006.
c Springer-Verlag Berlin Heidelberg 2006
62
1.1
A. Fügenschuh and B. Höfler
The Three Index Assignment Problem
As a demonstrator example we selected the axial three index assignment problem
(AP3), which was first stated in [13] (see also [14]). It can be formulated as
follows: Given n ∈ N, three sets I := J := K := {1, . . . , n}, and associated costs
c(i, j, k) ∈ R for all ordered triples (i, j, k) ∈ I × J × K. A feasible solution for
the AP3 is a set of n triples, such that each pair of triples (i1 , j1 , k1 ), (i2 , j2 , k2 )
, k1 = k2 . The aim
has different entries in every component, i.e., i1 = i2 , j1 = j2
of the AP3 is to find a feasible solution S with minimal costs (i,j,k)∈S c(i, j, k).
It was shown by Garey and Johnson that AP3 is NP-hard [7].
AP3 has a lot of real-world applications. Several exact and heuristic algorithms have been proposed for its solution, see Aiex et al. [1] and the references
therein. AP3 is also an example for the large class of combinatorial optimization
problems. Most of the ideas developed in this article apply not only for AP3 but
also for many other problems. Thus we now take a more general point of view,
and come back to AP3 later.
1.2
Combinatorial Optimization Problems
An instance of a combinatorial optimization problem (E, F , f ) is given by a
finite basic set S, a set F ⊆ 2E of feasible solutions, and an objective function
f : F → Q. A combinatorial optimization problem (E, F , f ) is called linear, if
there exists a
function c : E → Q such that for all feasible solutions S ∈ F we
have f (S) = e∈S c(e). The aim of combinatorial optimization problems is to
compute a feasible solution S ∈ F that minimizes the objective function.
2
Greedy Algorithms and Extensions
We start with a discussion of the probably most simple algorithmic framework to solve such combinatorial optimization problems: the constructive greedy
heuristic.
2.1
Greedy
A constructive greedy heuristic is defined as a procedure that tries to construct
a feasible solution for a given combinatorial optimization problem by stepwise
selecting the currently most promising element in E (with respect to some kind
of scoring function). For this, the following steps are iteratively repeated: In
the i-th step the element ei = argmin{si (e) < ∞ : e ∈ E} is chosen. Here
si : E → Q ∪ {∞} is the so-called i-th scoring function, which yields a score
si (e) for the selection of e ∈ E in step i. In the sequel we assume that it is
computationally easy to identify some e ∈ E that minimizes the scoring function
si . Moreover we assume a deterministic rule to break ties (in the case of more
than one element with minimal score). After the selection of element ei , i is
increased by one. The greedy algorithm terminates after at most |E| steps when
Parametrized GRASP Heuristics for Three-Index Assignment
63
there is no element with finite score left, i.e., si (e) = ∞ for all elements e ∈ E.
In the end, the set S := {e1 , . . . , ei−1 } ∈ 2E called solution, is returned.
A solution S is either feasible if S ∈ F, or infeasible otherwise. As one can
imagine the actual selection of a proper scoring function s is essential for constructing a greedy heuristic that leads to good feasible solutions, or, for some
hard problems, to any feasible solution at all. A feasible solution is called optimal if for every other feasible solution T ∈ F we have f (S) ≤ f (T ). If a greedy
heuristic always terminates with a feasible solution it is called reliable. If a reliable greedy heuristic always produces optimal solutions it is called exact. Another
special case is the static greedy algorithm, where every two consecutive scoring
functions si , si+1 fulfill the property si+1 (e) − si (e) ∈ {0, ∞} for all e ∈ E. That
means, the scoring function is basically the same, except that some elements
from the set E are prevented from being selected in step i + 1 (and hence in
all later steps). A non-static greedy algorithm is also called adaptive. The difference between static and adaptive greedy algorithms is now demonstrated by two
well-known algorithms, Kruskal’s and Prim’s, for the construction of a graph’s
minimum weight spanning tree.
Given is an undirected, simple graph G = (V, E) with edge weights c(e) ≥ 0
for all e ∈ E. The weight of subgraph S, denoted
by c(S), is the total sum of
the edge weights of the edges in ES , i.e., c(S) := e∈ES c(e). A spanning tree T
is an acyclic subgraph of G that connects all of the vertices of G. The minimum
weight spanning tree problem asks for a spanning tree T with minimum weight,
that is, for any other spanning tree T ′ of G we have c(T ) ≤ c(T ′ ).
Kruskal’s algorithm [11] is an example for an exact, static greedy algorithm.
The first scoring function is defined as s1 (e) := c(e). Hence in the first step an
edge e1 ∈ E with minimum weight is selected. In general, in the i-th step, the
scoring function si is defined as
⎧
⎨ ∞ ; e ∈ {e1 , . . . , ei−1 },
(1)
si (e) := ∞ ; subgraph {e1 , . . . , ei−1 , e} is cyclic,
⎩
c(e) ; otherwise.
Note that if subgraph {e1 , . . . , ei , e} is cyclic, then subgraph {e1 , . . . , ei , ei+1 , e}
will also be cyclic. Thus if si (e) = ∞ for some e ∈ E, then also si+1 (e) = ∞.
Hence we have si+1 (e) − si (e) ∈ {0, ∞} for all e ∈ E. A proof for the exactness
of Kruskal’s algorithm can be found in [11].
Prim’s greedy algorithm [15] on the other hand is an example for an exact,
adaptive greedy algorithm. As above, the first scoring function is defined as
s1 (e) := c(e). Now in the i-th step, Prim’s algorithm uses the following scoring
function:
⎧
∞ ; e ∈ {e1 , . . . , ei−1 },
⎪
⎪
⎨
c(e) ; v ∈ ek for some k ∈ {1, . . . , i − 1},
si (e) :=
w∈
/ ek for all k ∈ {1, . . . , i − 1}, with e = {v, w},
⎪
⎪
⎩
∞ ; otherwise.
To see that a greedy heuristic based on this family of scoring functions is adaptive, consider the following example. Let {e1 , . . . , ei−1 } be the set of edges
64
A. Fügenschuh and B. Höfler
selected so far. Furthermore let u, v, w ∈ V be three pairwise distinct nodes
with {u, w}, {v, w} ∈ E, v ∈ ek for some k ∈ {1, . . . , i − 1} and u, w ∈
/ ek for all
k ∈ {1, . . . , i−1}. Then si ({u, w}) = ∞. Suppose now that edge {v, w} is selected
in the i-th step. Then si+1 ({u, w}) < ∞. Hence si+1 ({u, w})− si ({u, w}) = −∞,
thus the greedy algorithm is non-static. For a proof of the exactness of Prim’s
algorithm we again refer to the literature [15].
Kruskal’s scoring functions (1) have a structure which can be considered as
typical or canonical for linear combinatorial problems:
1. The setting si (e) := ∞ for all e ∈ {e1 , . . . , ei−1 } prevents from selecting again
an element that was already chosen in a previous step of the construction
heuristic.
2. The setting si (e) := ∞ for those e ∈ E where {e1 , . . . , ei−1 , e} is cyclic
prevents from selecting an element that would trivially lead to an infeasible
solution.
3. The setting si (e) := c(e) for all other e ∈ E is an adaptation of the objective
function to the scoring function.
Using such scoring function, the solution is iteratively built up by those elements
that have the most promising objective function value and don’t lead trivially to
an infeasible solution. It is probably the easiest and perhaps most natural way
to obtain a scoring function from the problem’s objective function. However,
especially when solving an N P -hard problem, greedy algorithms with scoring
functions that are constructed along this methodology can easily be trapped
by constructing an instance where they perform very badly. For instance, we
consider the AP3. As abbreviation we denote e = (u, v, w) ∈ E := I × J × K
and ek = (uk , vk , wk ) for k ∈ N. A canonical scoring function family, similar to
Kruskal’s, is the following: s1 (e) := c(e) for all e ∈ E, and
⎧
⎨ ∞ ; e ∈ {e1 , . . . , ei−1 },
si (e) := ∞ ; u = uk or v = vk or w = wk for some k ∈ {1, . . . , i − 1},
⎩
c(e) ; otherwise,
(2)
for i > 1. Now we apply this greedy algorithm to an instance having the following
input data: I := J := K := {1, 2},
c111 c112
c121 c122
=
1 10
10 10
,
c211 c212
c221 c222
=
10 10
10 100
.
(3)
In the first step of the heuristic, element e1 := (1, 1, 1) is selected, because e1 is
the (unique) minimum of the scoring function s1 . In the second (and last) step,
only element e2 := (2, 2, 2) has a finite score and is therefore selected. The entire
solution is S := {(1, 1, 1), (2, 2, 2)}, and its objective function value is f (S) =
c(e1 ) + c(e2 ) = 1 + 100 = 101. Thus the greedy heuristic returned the (unique)
maximum. A minimum is, for instance, the solution S opt := {(1, 1, 2), (2, 2, 1)}.
Here the objective function value is f (S opt ) = 10 + 10 = 20.
Parametrized GRASP Heuristics for Three-Index Assignment
2.2
65
Parametrized Greedy
A parametrized scoring function with p parameters λ ∈ Qp is a mapping si :
E × Qp → Q ∪ {∞}. A greedy heuristic that makes use of scoring functions
si (·, λ) for a given λ ∈ Qp is hence called a parametrized greedy heuristic or
pgreedy, for short. PGreedy was initially developed to solve the vehicle routing
problem with coupled time windows (see Fügenschuh [6] for the details).
The local criterion which element to select, and hence the entire solution
found by the pgreedy heuristic, depends on the actual choice of λ ∈ Qp . We write
S(λ) for the solution found when the pgreedy algorithm is called with parameter
λ, and z(λ) for the corresponding objective function value, i.e., z(λ) = f (S(λ)).
We are now faced with the problem to find a vector λ with z(λ) ≤ z(µ) for all
µ ∈ Qp and hence to search for
z pgreedy := inf{z(λ) : λ ∈ Qp }.
First we remark that the infimum is in fact a minimum, and that the search can
be restricted to a compact subset of the unbounded Qp . Let · be an arbitrary
p
are, for instance, the
norm on the space
p Q . The most prominent examples
p
1-norm x 1 := i=1 |xi |, the euclidean norm x 2 := i=1 x2i , or the maxnorm x ∞ := max{|xi | : 1 ≤ i ≤ p}.
Theorem 1. There exists a sufficiently large number R > 0 such that
z pgreedy = min{z(λ) : λ ∈ Qp , λ ≤ R}.
In the sequel we restrict our discussion to the case of scoring functions that are
linear in the parameters, i.e., for all e ∈ E, λ, µ ∈ Qp , and t, u ∈ Q we have
s(e, t · λ + u · µ) = t · s(e, λ) + u · s(e, µ). In the case of linear scoring functions,
the search space for the parameters can be further restricted.
Theorem 2. Let λ, λ′ ∈ Qp . If there is a positive scalar t ∈ Q+ such that
λ′ = t · λ then S(λ) = S(λ′ ) and hence z(λ) = z(λ′ ).
Corollary 1. For every solution S(λ) with λ ∈ Qp \{0} there is a λ′ ∈ Qp with
λ′ = 1 such that S(λ) = S(λ′ ).
In particular, we obtain the following result.
Corollary 2.
z pgreedy = min{z(λ) : λ = 1}.
Informally speaking, in the case of linear scoring functions, one can reduce the
parameter search space by one dimension.
For example, consider a search space with p parameters and the euclidean
norm · 2 . The set of parameters λ with λ = 1 is the p-dimensional unit
hypersphere Sp−1 . A parametrization of this sphere is given by polar coordinates:
66
A. Fügenschuh and B. Höfler
⎛
⎞
cos ϕp−1 · cos ϕp−2 · . . . · cos ϕ2 · cos ϕ1
⎜ cos ϕp−1 · cos ϕp−2 · . . . · cos ϕ2 · sin ϕ1 ⎟
⎜
⎟
⎜ cos ϕp−1 · cos ϕp−2 · . . . · cos ϕ3 · sin ϕ2 ⎟
⎜
⎟
Φp (ϕ) := λϕ := ⎜
⎟
..
⎜
⎟
.
⎜
⎟
⎝
⎠
cos ϕp−1 · sin ϕp−2
sin ϕp−1
for ϕ ∈ B p−1 := [−π, π[×[− π2 , π2 [p−2 (see Kaballo [10] for the details). Hence the
search can be restricted to the bounded, rectangular set B p−1 .
But even in this lower-dimensional setting, the problem of finding these parameters remains. To this end, we now discuss several parameter selection strategies. In the sequel, we denote the p−1 dimensional, bounded search space always
as B p−1 ⊂ Qp−1 , and the corresponding parameter for the scoring function as
λϕ , where ϕ ∈ B p−1 .
Enumeration. Since the parameter search space is bounded, the optimal parameter vector ϕ can in principle be found by sampling over a bounded subset
of the regular, sufficiently dense grid Λdp−1 := { dk · ei : k ∈ Z, 1 ≤ i ≤ p − 1},
where ei is the i-th unit vector, i.e., ei := (0, . . . , 0, 1, 0, . . . , 0) with the 1
at position i, and d ∈ N is a parameter taking control of the grid’s density
(the greater d, the finer the grid). For each ϕ ∈ B p−1 ∩ Λdp−1 the pgreedy
heuristic has to be called and the best ϕ (i.e., the ϕ with the lowest objective
function value z(λϕ )) is kept. However, in practice this approach turns out
to be inefficient, even for a relative few number of parameters.
Pure Random Search. The simplest idea besides enumeration is to select a
candidate ϕ parameters randomly (PRS, for short), which in practice also
leads to a high number of runs.
Improving Hit-and-Run. This strategy was introduced by Zabinsky et al.
[21] (see also [20]) to solve general global optimization problem. Improving
hit-and-run (or IHR, for short) is a randomized (Monte-Carlo) algorithm
that automatically selects parameters which lead to good, possibly optimal
solutions when used in a pgreedy heuristic. In a hybrid algorithm of pgreedy
and IHR, a combination of a parametrized greedy algorithm and improving
hit-and-run, IHR is used to compute the weights λ that take control of the
parametrized scoring function and calls the pgreedy algorithm as a black-box
to obtain a new objective function value. The basic idea behind improving
hit-and-run is to use hit-and-run to generate candidate points randomly and
accept only those that are an improvement with respect to the objective
function. (See Smith [19] for more details on hit-and-run.) The IHR algorithm works as follows: We start with an initial ϕ0 ∈ B p−1 , and set k := 0.
The following steps are now repeated until a stopping criterion is met, for
example, if the number of iterations k reaches a certain limit. Generate a
random direction vector dk uniformly distributed on the boundary of the
unit hypersphere Sp−1 := {ϕ ∈ Qp−1 : ϕ 2 = 1}. Generate a candidate
point wk+1 := ϕk + t · dk , where t is generated by sampling uniformly over
Parametrized GRASP Heuristics for Three-Index Assignment
67
the line set Lk := {ϕ ∈ B p−1 : ϕ = ϕk + t · dk , t ∈ Q+ }. If the candidate
point is improving, i.e., z(λwk+1 ) < z(λϕk ), we set ϕk+1 := wk , otherwise
ϕk+1 := ϕk . Finally, increase k by 1.
Hide-and-Seek. On some practical applications of IHR it has been observed
that IHR sometimes gets trapped in local optima [20]. To avoid this, one can
use a generalization of IHR, called Hide-and-Seek (HAS, for short), proposed
by Romeijn and Smith [18]. HAS is a hybridization of IHR and Simulated
Annealing. As in IHR, in case of an improving candidate point wk+1 , this
point is always accepted. If the candidate point is not improving, then it still
might be accepted with a certain probability. This probability is adjusted
after each iteration, so that the acceptance of non-improving points will
become less likely in later iterations. In detail, we set
k+1
w
; with probability PTk (ϕk , wk+1 ),
k+1
:=
ϕ
k
ϕ
; otherwise,
where PTk (ϕk , wk+1 ) := min{1, exp((z(λϕk ) − z(λwk+1 ))/T )}, and Tk is the
temperature in the k-th iteration. The temperature is updated according to
a cooling schedule. For example, one can select a starting temperature T0 ∈
[0, ∞] and a cooling factor q ∈ [0, 1], and use the update rule Tk+1 := q · Tk .
Note that for T0 := 0 the whole HAS algorithm passes into the IHR algorithm.
We now extend the greedy heuristic using the scoring function (2) for the AP3
to a parametrized greedy heuristic. The crucial point for pgreedy is that more
than a single criterion is needed. Finding those additional criteria is in general
more of an art than science. For example, if in the i-th step of
the greedy heuristic
an element e = (u, v, w) ∈ E is selected, one can consider e′ ∈N (e) c(e′ ) with
N (u, v, w) := {(α, β, γ) ∈ E : u = α or v = β or w = γ}, i.e., the total weight of
all neighboring elements which are not selectable anymore if e is selected, as an
additional term in the scoring function. Moreover, one can consider the smallest
coefficient min{c(e′ ) : e′ ∈ N (e)} or the largest coefficient max{c(e′ ) : e′ ∈ N (e)}
in the neighborhood of e as additional terms. We set
c(e′ ) +
σ(e, λ) := λ1 · c(e) + λ2 ·
e′ ∈N (e)
′
λ3 · min{c(e ) : e′ ∈ N (e)} + λ4 · max{c(e′ ) : e′ ∈ N (e)}
and define
⎧
∞
; e ∈ {e1 , . . . , ei−1 },
⎪
⎪
⎨
∞
; u = uk or v = vk or w = wk
si (e, λ) :=
for some k ∈ {1, . . . , i − 1},
⎪
⎪
⎩
σ(e, λ) ; otherwise
(4)
as i-th parametrized scoring function, where λ = (λ1 , . . . , λ4 ) ∈ Q4 are some
scalar parameters. Note that for λ = (1, 0, 0, 0) the classical scoring function (2)
is regained. Hence the best solution found by an algorithm using (4) is expected
to be at least as good as when using (2) as scoring function.
68
A. Fügenschuh and B. Höfler
We apply pgreedy to the instance (3) from above. Consider the parameter
vector λ = (1, −1, 0, 0). Then we obtain s1 ((1, 1, 2), λ) = −131 as scoring function value for (1, 1, 2), which is minimal and hence e1 := (1, 1, 2) is selected.
(Note that this selection is not unique, since other elements have the same minimal score.) Now for the selection of the second element, only e2 := (2, 2, 1) (also
with score s2 ((2, 2, 1), λ) = −131) remains. Hence {e1 , e2 } = S opt .
From this small example we learn that parametrized greedy heuristics are able
to construct better (even optimal) solutions than their classical counterparts.
For larger instances, the solution quality can further be improved by embedding
pgreedy into a GRASP search scheme.
2.3
GRASP
GRASP is an abbreviation of Greedy Randomized Adaptive Search Procedure.
This metaheuristic for solving combinatorial optimization problems was first
introduced by Feo and Resende for the set covering problem [5]. Since its first
description in 1989, GRASP has been successfully applied to many difficult combinatorial optimization problems, see [17] for a recent survey. In its basic form it
is a multi-start, iterative process where each iteration consists of two phases: A
construction phase, in which a feasible solution is produced, and a local search
phase, where the neighborhood of this solution is investigated to find a better
solution.
In the construction phase a feasible solution S ∈ F is built step-by-step using
a greedy scoring function, similar as it is done in the pure greedy heuristics
described above. The difference is that not the element with the best (lowest)
scoring value is chosen automatically. Instead a restricted candidate list (RCL),
i.e., set of candidates with a sufficiently good greedy function value, is built and
some element from this list is chosen randomly.
There are basically two approaches to build a RCL. First, there is the
cardinality-based approach, where a fixed number maxRCL is given, and the
best maxRCL candidates (with respect to the scoring function) are put into
the RCL. The other approach is the value-based one, where a threshold value
gthresh is lying between gmin , the best and gmax , the worst (but finite) scoring
function value of the candidates. For example, the threshold is given by the formula gthresh := gmin + α · (gmax − gmin ), where α ∈ [0, 1] is a parameter taking
control of the size of the list. Now all candidates having a scoring function value
lower than gthresh are placed in the RCL. In both cases, the cardinality-based
and the value-based, an element e from the RCL is randomly chosen and put
into the solution S under construction.
The parameter α is usually chosen randomly in the interval [0, 1], and its
value remains constant during the whole construction phase. This parameter
plays a decisive role for the quality of the constructed solution. It is a measure
for the greediness of the choice of the elements. For example, α = 0 means that
only elements with the best greedy function value of all candidates can be chosen.
In this case the construction phase is equivalent to the pure greedy algorithm
Parametrized GRASP Heuristics for Three-Index Assignment
69
with a random choice in the case of ties. On the other hand, α = 1 means pure
random choice among all candidates.
As a local search post-optimization routine one can use path relinking (PR).
PR was proposed by Glover [8] as an approach to enhance intensification and
diversification in the tabu search heuristic, but it can as well be integrated into
other heuristics. The first hybrid metaheuristic of GRASP and path relinking was
implemented by Laguna and Marti [12]. Aiex et al. [1] give a detailed description
of an adaptation of PR for the AP3.
2.4
Parametrized Greedy and GRASP
The two strategies of parametrizing a greedy scoring function on the one hand
and randomizing the choice among the best candidates on the other hand can
be naturally combined into a single approach for solving difficult combinatorial
optimization problems. We propose the term parametrized GRASP, or PGRASP
for short, for this hybrid metaheuristic.
One iteration of PGRASP consists of three phases: 1) the choice of λ parameters by means of an enumerative or stochastic procedure (such as PRS, IHR,
or HAS), 2) a construction phase, which is equivalent to the construction phase
of a GRASP with the additional property that a parametrized greedy function
is used, and 3) a local search phase.
In contrast to the pgreedy heuristic (with a deterministic rule to break ties),
the outcome of the PGRASP construction phase with a fixed parameter λ is stochastic. In GRASP the objective function value of the solution depends crucially
on the parameter α (see [17]), whereas in pgreedy it depends on λ. Hence it is
not reasonable to change λ after just one constructed solution. Instead, there is
a given number of iterations l, where the same λ but different values for α are
used. After l iterations, a new λ is selected based on one of the rules presented
above.
3
Computational Results
All computational experiments were carried out on a dual Intel-Pentium III
computer running at 500MHz with 256MB RAM, 512kB cache memory and 1GB
swap. The operating system was Debian Linux 2.4.26. The code was written in
C and compiled using gnuC2.95.4. Random numbers are generated using the
rand function of the C standard library. In the beginning of a program run, the
function srand is once applied with a seed chosen by the user.
3.1
Test Instances
We considered four different classes of test instances. Two classes are generated following the outlines found in the literature. Altogether we used a pool
consisting of 18 test instances.
70
A. Fügenschuh and B. Höfler
1. Balas and Saltzman [2] describe instances with sizes ranging from n = 12 to
n = 26. The cost coefficients cijk are integer and uniformly generated in the
interval [0, 99]. We generated four instances of this class, bs26, bs40, bs54,
and bs66, with n = 26, 40, 54, 66, respectively.
2. Crama and Spieksma [4] reformulate the AP3 as an optimization problem
in the tripartite graph Kn,n,n := (I ∪ J ∪ K, (I × J) ∪ (I × K) ∪ (J × K)).
A triple (i, j, k) of the original formulation of the AP3 corresponds then to
the triangle (i, j, k) in Kn,n,n . The costs cijk are associated with triangles,
and the problem consists in finding a minimum cost collection of n disjoint
triangles. A length duv > 0 is assigned to each edge of Kn,n,n , and the cost
cijk of triangle (i, j, k) ∈ I × J × K is its circumference cijk := dij + dik + djk .
Crama and Spieksma suggest three types of randomly assigning a length to
an edge (see [4] for the details). For each type we took two instances with
n = 33 and n = 66 from [16], which gives six instances altogether. These
instances are referred to as cs33t1, cs33t2, cs33t3, cs66t1, cs66t2, and
cs66t3.
3. The instances of Burkard, Rudolf, and Woeginger [3] have decomposable
integer cost coefficients cijk = αi · βj · γk where αi , βj , γk are uniformly
distributed in the interval [1, 10]. We generated four instances according this
guideline called brw26, brw40, brw 54, and brw66 with n = 26, 40, 54, 66,
respectively.
4. The instances fh26, fh40, fh54, and fh66 (for n = 26, 40, 54, 66, respectively) have cost coefficients cijk := ⌊10000 · z 2⌋, where z ∈ [0, 1] is randomly
generated.
3.2
GRASP, PGRASP, and the Global Optimum
We implemented GRASP with path relinking according to the paper of Aiex
et al. [1]. Our implementation computes approximately twice as much feasible
solutions per hour compared to the one of Aiex et al. For each of the 18 instances
we first computed the global optimum using ILOG CPLEX 9.0.1 as a MIP solver
[9]. On some of the larger instances this took several hours up to a few days.
For the two heuristics we set |P| = 20 as limit for the path relinking solution
pool P. In the PGRASP algorithm λ was chosen by IHR (i.e., T0 = 0). We
set l = 20, that is, after 20 GRASP iterations a new λ is selected using IHR.
Both heuristics, GRASP and PGRASP, were limited to a three minute search
per instance. Each heuristic was then called 20 times for each instance, and we
measured the average objective function value of all 20 solutions (which took
one hour per entry in the table below).
In 13 out of 18 runs, PGRASP was (slightly) ahead of GRASP, that means,
the average solution quality from 20 runs was better. GRASP was (also slightly)
better than PGRASP in two case (for brw54 and fh40), and both were equal in
three cases (for cs33t1, brw26 and brw66). Both heuristics were only twice (for
cs33t1 and brw26) able to identify a globally optimal solution in all 20 runs.
Parametrized GRASP Heuristics for Three-Index Assignment
3.3
71
Conclusions
The results presented in Table 1 indicate that PGRASP is able to compensate
the fewer number of iterations compared to the pure GRASP heuristic in almost
4 out of 5 runs. This shows that for finding good solutions for the AP3 it might
be advantageous to take multiple greedy functions into account. From additional
computations (not presented in detail here) we can furthermore conclude that the
more sophisticated variants of parameter selection (like IHR and HAS) clearly
outperform the simple PRS.
Table 1. Comparison of CPLEX, GRASP and PGRASP
Instance
bs26
bs40
bs54
bs66
cs33t1
cs33t2
cs33t3
cs66t1
cs66t2
cs66t3
brw26
brw40
brw54
brw66
fh26
fh40
fh54
fh66
CPLEX
0.00
0.00
0.00
0.00
1401.00
5067.00
131.00
2449.00
8944.00
286.00
2544.00
4903.00
5181.00
5323.00
1.00
0.00
0.00
0.00
GRASP PGRASP
9.05
8.45
13.25
11.35
16.35
15.55
19.50
17.15
1401.00 1401.00
5068.20 5068.15
131.30
131.20
2458.80 2458.35
8957.85 8957.50
286.45
286.40
2544.00 2544.00
4903.50 4903.45
5181.85 5182.05
5327.30 5327.30
87.05
70.05
123.05
123.45
191.30
174.95
289.25
280.20
References
1. Aiex R.M., Resende M.G.C., Pardalos P.M., Toraldo G. (2005), GRASP with Path
Relinking for Three-Index Assignment. INFORMS Journal on Computing 17(2):
224 – 247.
Software available at URL http://www.research.att.com/∼mgcr/
2. Balas E., Saltzman M.J. (1991), An Algorithm for the Three-Index Assignment
Problem. Oper. Res. 39: 150 – 161.
3. Burkard R.E., Rudolf R., Woeginger G.J. (1996), Three-dimensional axial assignment problems with decomposable cost coefficients. Discrete Applied Mathematics
65: 123 – 139.
4. Crama Y., Spieksma F.C.R. (1992), Approximation algorithms for three-dimensional
assignment problems with triangle inequalities. European Journal of Oper. Res. 60:
273 – 279.
72
A. Fügenschuh and B. Höfler
5. Feo T.A., Resende M.G.C. (1989), A probabilistic heuristic for a computationally
difficult set covering problem. Operations Research Letters 8: 67 – 71.
6. Fügenschuh A. (2005), The Integrated Optimization of School Starting Times and
Public Transport. PhD Thesis, Logos Verlag Berlin, 165 pages.
7. Garey M.R., Johnson D.S. (1979), Computers and Intractability: A Guide to the
Theory of NP-Completeness. W.H. Freeman and Company, New York.
8. Glover F. (1996), Tabu Search and Adaptive Memory Programming - Advances,
Applications and Challenges. In: R.S. Barr, R.V. Helgason, J.L. Kennington (Eds.),
Interfaces in Computer Science and Operations Research, Kluwer Academic Publishers: 1 – 75.
9. ILOG CPLEX, ILOG, Inc., 1080 Linda Vista Ave., Mountain View, CA 94043.
Information available at URL http://www.ilog.com/products/cplex/
10. Kaballo W. (1998), Einführung in die Analysis III. Spektrum Akademischer Verlag,
Heidelberg. (In German).
11. Kruskal J.B. (1956), On the shortest spanning subtree of a graph and the traveling
salesman problem. Proc. Amer. Math. Soc. 7: 48 – 50.
12. Laguna M., Marti R. (1999), GRASP and Path Relinking for 2-Layer Straight Line
Crossing Minimization. INFORMS Journal on Computing 11: 44 – 52.
13. Pierskalla W.P. (1967), The Tri-Substitution Method for the Three-Dimensional
Assignment Problem. Canadian Operational Research Society Journal 5(2):
71 – 81.
14. Pierskalla W.P. (1968), The Multi-Dimensional Assignment Problem. Operations
Research 16(2): 422 – 431.
15. Prim R.C. (1957), Shortest connection networks and some generalizations. Bell
System Tech. J. 36: 1389 – 1401.
16. Resende M.G.C., Test Data for the Three Index Assignment Problem, online available at URL http://www.research.att.com/∼mgcr/data/
17. Resende M.G.C, Ribeiro C.C. (2003), Greedy randomized adaptive search procedures. In: F. Glover, G. Kochenberger (Eds.), Handbook of Metaheuristics, Kluwer
Academic Publishers: 219 – 249.
18. Romeijn H.E., Smith R.L. (1994), Simulated Annealing for Constrained Global
Optimization. Journal of Global Optimization 5: 101 – 126.
19. Smith R.L. (1984), Efficient Monte Carlo Procedures for Generating Points Uniformly Distributed over Bounded Regions. Operations Research 32: 1296 – 1308.
20. Zabinsky Z.B. (2003), Stochastic Adaptive Search for Global Optimization. Nonconvex Optimization and its Applications. Kluwer Academic Publishers, Boston.
21. Zabinsky Z.B., Smith R.L., McDonald J.F., Romeijn H.E., Kaufman D.E. (1993),
Improving Hit-and-Run for Global Optimization. Journal of Global Optimization
3: 171 – 192.
A Memetic Algorithm with Bucket Elimination
for the Still Life Problem
José E. Gallardo, Carlos Cotta, and Antonio J. Fernández
Dept. Lenguajes y Ciencias de la Computación, ETSI Informática,
University of Málaga, Campus de Teatinos, 29071 - Málaga, Spain
{pepeg, ccottap, afdez}@lcc.uma.es
Abstract. Bucket elimination (BE) is an exact technique based on variable elimination, commonly used for solving constraint satisfaction problems. We consider the hybridization of BE with evolutionary algorithms
endowed with tabu search. The resulting memetic algorithm (MA) uses
BE as a mechanism for recombining solutions, providing the best possible
child from the parental set. This MA is applied to the maximum density still life problem. Experimental tests indicate that the MA provides
optimal or near-optimal results at an acceptable computational cost.
1
Introduction
The game of life [1] consists of an infinite checkerboard in which the only player
places checkers on some of its squares. Each square is a cell that has eight
neighbors: the eight cells that share one or two corners with it. A cell is alive
if there is a checker on it, and dead otherwise. The state of the board evolves
iteratively according to three rules: (i) if a cell has exactly two living neighbors
then its state remains the same in the next iteration, (ii) if a cell has exactly
three living neighbors then it is alive in the next iteration and (iii) if a cell has
fewer than two or more than three living neighbors, then it is dead in the next
iteration. An interesting extension of this game is the maximum density still life
problem (MDSLP) that consists of finding board configurations with a maximal
number of living cells not changing along time. These stable configurations are
called maximum density stable patterns or simply still lifes. In this paper we are
concerned with the MDSLP and finite patterns, i.e., finding n × n still lifes. No
polynomial method is known for this problem.
Our interest in this problem is manifold. Firstly, it must be noted that the
patterns resulting in the game of life are very interesting. For example, by clever
placement of the checkers and adequate interpretation of the patterns, it is possible to create a Turing-equivalent computing machine [2]. From a more applied
point of view, it is interesting to consider that many aspects of discrete dynamical systems have been developed or illustrated by examples in life game [3, 4]. In
this sense, finding stable patterns can be regarded as a mathematical abstraction
of a standard issue in discrete systems control. Finally, the MDSLP is a prime
example of weighted constrained optimization problem, and as such constitutes
an excellent test bed for different optimization techniques.
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 73–85, 2006.
c Springer-Verlag Berlin Heidelberg 2006
74
J.E. Gallardo, C. Cotta, and A.J. Fernández
The still life problem has been recently included in the CSPLib repository
and a dedicated web page1 maintains up-to-date results. This problem has been
tackled using different approaches. Bosch and Trick [5] used a hybrid approach
mixing integer programming and constraint programming to solve the cases for
n = 14 and n = 15 in about 6 and 8 days of CPU time respectively. Smith [6]
considered a pure constraint programming approach to tackle the problem and
proposed a formulation of the problem as a constraint satisfaction problem with
0-1 variables and non-binary constraints. A dual formulation of the problem was
also considered, and it was proved that this dual representation outperformed
the initial one (although it could only solve instances up to n = 10). In any case,
this dual encoding was particularly useful to find (90◦ rotational) symmetric
solutions (e.g., it found the optimal solution for n = 18). Later on, Larrosa et
al. [7, 8] showed the usefulness of variable elimination techniques, namely bucket
elimination (BE), on this problem. Their basic approach could solve the problem
for n = 14 in about 105 seconds. Further improvements pushed the solvability
boundary forward to n = 20 in about the same time. At any rate, it is clear that
these exact approaches are inherently limited for increasing problem sizes, and
their capabilities as anytime algorithms are unclear. Furthermore, to the best of
our knowledge no heuristic approaches to this problem have been attempted.
In this work, we consider the hybridization of evolutionary algorithms with
the BE approach. We will show that memetic algorithms (MAs) endowed with
BE can provide optimal or near-optimal solutions at an acceptable computational cost. To do so, we will firstly introduce the essentials of BE in next section.
2
WCSPs and Bucket Elimination
A Weighted constraint satisfaction problem (WCSP) [9] is a constraint satisfaction problem (CSP) in which the user can express preferences among solutions.
A WCSP is defined by a tuple (X, D, F ), where X = {x1 , · · · , xn } is a set of
variables taking values from their finite domains (Di ∈ D is the domain of xi )
and F is a set of cost functions (also called soft constraints). Each f ∈ F is defined over a subset of variables var(f ) ⊆ X, called its scope. For each assignment
t of all variables in the scope of a soft constraint f , t ∈ f (i.e., t is permitted)
if, and only if, t is allowed by the soft constraint. A complete assignment that
satisfies every soft constraint represents a solution to the WCSP. The valuation
of an assignment t is defined as the sum of costs of all functions whose scope is
assigned by t. Permitted assignments receive finite costs that express their degree of preference and forbidden assignments receive cost ∞. The optimization
goal consists of finding the solution with the lowest valuation.
2.1
The Bucket Elimination Approach
Bucket elimination [10] is a generic algorithm suitable for many automated reasoning and optimization problems, in particular for WCSP solving.
1
http://www.ai.sri.com/∼nysmith/life/
A Memetic Algorithm with Bucket Elimination for the Still Life Problem
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
75
function BE(X, D, F )
for i := n downto 1 do
Bi := {f ∈ F | xi ∈ var(f )}
gi := ( f ∈Bi f ) ⇓ i
F := (F {gi }) − Bi
end for
t := ∅
for i := 1 to n do
v := argmina∈Di {( f ∈Bi f )(t · (xi , a))}
t := t · (xi , v)
end for
return(F, t)
end function
È
Ë
È
Fig. 1. The general template of Bucket Elimination for a WCSP (X, D, F )
BE is based upon the following two operators over functions:
– The sum of two functions f and g denoted (f + g) is a new function with
scope var(f ) ∪ var(g) which returns for each tuple the sum of costs of f and
g defined as (f + g)(t) = f (t) + g(t);
– The elimination of variable xi from f , denoted f ⇓ i, is a new function
with scope var(f ) − {xi } which returns for each tuple t the minimum cost
extension of t to xi , defined as (f · i)(t) = mina∈Di {f (t · (xi , a))} where
t · (xi , a) means the extension of t to the assignment of a to xi . Observe that
when f is a unary function (i.e., arity one), eliminating the only variable in
its scope produces a constant.
Fig. 1 shows an operational schema of the BE algorithm for solving a certain
WCSP. The displayed algorithm returns the optimal cost in F and one optimal assignment in t. Note that BE has exponential space complexity because
in general, the result of summing functions or eliminating variables cannot be
expressed intensionally by algebraic expressions and, as a consequence, intermediate results have to be collected extensionally in tables.
As it can be seen in Fig. 1, BE works in two phases. In the first phase (lines
1-5), the algorithm eliminates variables one at a time in reverse order according
to an arbitrary variable ordering o (without loss of generality, here we assume
lexicographical ordering for the variables in X, i.e, o = (x1 , x2 , · · · , xn )). In
the second phase (lines 6-10), the optimal assignment is computed processing
variables in increasing order. The elimination of variable xi is done as follows:
initially (line 2), all cost functions in F having xi in their scope are stored in Bi
(the so called bucket of xi ). Next (line 3), BE creates a new function gi defined
as the sum of all functions in Bi in which variable xi has been eliminated.
Then (line 4), this function is added to F that is also updated by removing the
functions in Bi . The consequence is that the new F does not contain xi (all
functions mentioning xi were removed) but preserves the value of the optimal
cost. The elimination of the last variable produces an empty scope function (i.e.,
a constant) which is the optimal cost of the problem. The second phase (lines
76
J.E. Gallardo, C. Cotta, and A.J. Fernández
6-10) generates an optimal assignment of variables. It uses the set of buckets that
were computed in the first phase: starting from an empty assignment t (line 6),
variables are assigned from first to last according to o. The optimal value for xi is
the best value regarding the extension of t with respect to the sum of functions
in Bi (lines 8,9). We use argmina {f (a)} to denote the value of a producing
minimum f (a).
The complexity of BE depends on the problem structure (as captured by its
constraint graph G) and the ordering o. According to [8], the complexity of BE
∗
∗
along ordering o is time Θ(Q × n × dw (o)+1 ) and space Θ(n × dw (o) ), where
d is the largest domain size, Q is the cost of evaluating cost functions (usually
assumed Θ(1)), and w∗ (o) is the maximum width of nodes in the induced graph
of G relative to o (check [8] for details).
2.2
Bucket Elimination for the Still Life Problem
The general template presented above can be readily applied to the MDSLP.
To this end, let us first introduce some notation. A board configuration for a
n×n instance will be represented by a n-dimensional vector (r1 , r2 , . . . , rn ). Each
vector component encodes (as a binary string) a row, so that the j-th bit of row
ri (noted rij ) indicates the state of the j-th cell of the i-th row (a value of 1
represents a live cell and a value of 0 a dead cell). Let Zeroes(r) be the number
of zeroes in binary string r and let Adjacents(r) be the maximum number of
adjacent living cells in row r. If ri is a row and ri−1 and ri+1 are the rows above
and below r, then Stable(ri−1 , r, ri+1 ) is a predicate satisfied if, and only if, all
cells in r are stable.
The formulation has n cost functions fi (i ∈ {1..n}). For i ∈ {2..n − 1}, fi is
ternary with scope var(fi ) = {ri−1 , ri , ri+1 } and is defined as2 :
⎧
∞ : ¬Stable(a, b, c)
⎪
⎪
⎨
∞ : a 1 = b 1 = c1 = 1
fi (a, b, c) =
(1)
∞ : a n = b n = cn = 1
⎪
⎪
⎩
Zeroes(b) : otherwise
As to f1 , it is binary with scope var(f1 ) = {r1 , r2 } and is specified as:
⎧
∞ : ¬Stable(0, b, c)
⎨
∞ : Adjacents(b) > 2
f1 (b, c) =
⎩
Zeroes(b) : otherwise
Likewise, the scope of fn is var(fn ) = {rn−1 , rn } and its definition is:
⎧
∞ : ¬Stable(a, b, 0)
⎨
∞ : Adjacents(b) > 2
fn (a, b) =
⎩
Zeroes(b) : otherwise
2
(2)
(3)
Notice in these definitions that stability is not only required within the pattern, but
also in the surrounding cells (assumed dead).
A Memetic Algorithm with Bucket Elimination for the Still Life Problem
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
77
function BE(n, D)
for a, b ∈ D do
gn (a, b) := minc∈D {fn−1 (a, b, c) + fn (b, c)}
end for
for i := n − 1 downto 3 do
for a, b ∈ D do
gi (a, b) := minc∈D {fi−1 (a, b, c) + gi+1 (b, c)}
end for
end for
(r1 , r2 ) := argmina,b∈D {g3 (a, b) + f1 (a, b)}
opt := g3 (r1 , r2 ) + f1 (r1 , r2 )
for i := 3 to n − 1 do
ri := argminc∈D {fi−1 (ri−2 , ri−1 , c) + gi+1 (ri−1 , c)}
end for
rn := argminc∈D {fn−1 (rn−2 , rn−1 , c) + fn (rn−1 , c)}
return (opt, (r1 , r2 , . . . , rn ))
end function
Fig. 2. Bucket Elimination for the MDSLP
Due to the sequential structure of the corresponding constraint graph, the
model can be easily solved with BE. Fig. 2 shows the corresponding algorithm.
Function BE takes two parameters: n is the size of the instance to be solved,
and D is the domain for each variable (row) in the solution. If domain D is set
to {0..2n − 1} (i.e., a set containing all possible rows) the function implements
an exact method that returns the optimal solution for the problem instance (as
the number of dead cells) and a vector corresponding to rows representing that
solution.
Note that the complexity of this method is time Θ(n2 × 23n ) and space
Θ(n × 22n ). On the other hand, a basic search-based solution to the problem
2
could be implemented with worst case time complexity Θ(2(n ) ) and polynomial space. Observe that the time complexity of BE is therefore an exponential
improvement over basic search algorithms, although its high space complexity
makes the approach unpractical for large instances.
3
A Memetic Algorithm for the MDSLP
WSCPs are very amenable for being tackled with evolutionary metaheuristics.
The quality of the results will obviously depend on how well the structure of the
soft constraints is captured by the search mechanisms used in the optimization
algorithm. To this end, problem-aware algorithmic components are essential. In
the particular case of the MDSLP, we will use tabu search (TS) and BE for this
purpose, integrating them into a memetic approach. Before detailing these two
components, let us describe the basic underlying evolutionary algorithm (EA).
78
3.1
J.E. Gallardo, C. Cotta, and A.J. Fernández
Representation and Fitness Calculation
The natural representation of MDSLP solutions is the binary encoding. Configurations will be represented as a binary n × n matrix r. Clearly, not all such
binary matrices will correspond to stable patterns, i.e., infeasible solutions can
be represented. We have opted for using a penalty-based fitness function in order
to deal with such infeasible solutions. To be precise, the fitness (to be minimized)
of a configuration r is computed as:
f (r) = n2 −
n
n
i=1 j=1
rij + K
n+1
n+1
i=0 j=0
′
′
φ1 (ηij ) + (1 − rij
)φ0 (ηij )
rij
(4)
where r′ is an (n+2)×(n+2) binary matrix obtained by embedding r in a frame
′
′
of dead cells (i.e., rij
= rij for i, j ∈ {1..n}, and rij
= 0 otherwise – recall that
stability is not only required within the n × n board, but also in its immediate
neighborhood), K is a constant, ηij is the number of live neighbors of cell (i, j),
and φ0 , φ1 : N −→ N are two functions defined as:
⎧
if 2 η 3
⎨0
0
if η = 3
if η < 2
φ0 (η) =
(5)
φ1 (η) = K ′ + 2 − η
′
K + 1 otherwise
⎩ ′
K +η−3
if η > 3
where K ′ is another constant. The first double sum in Eq. (4) corresponds to the
basic quality measure for feasible solutions, i.e., the number of active cells. As
to the last term, it represents the penalty for infeasible solutions. The strength
of penalization is controlled by constants K and K ′ . We have chosen K = n2
and K ′ = 5n2 . With this setting, given any two solutions r and s, the one that
violates less constraints is preferred; if two solutions violate the same number of
constraints, the one whose overall degree of violation (i.e., distance to feasibility)
is lower is preferred. Finally, if the two solutions are feasible, the penalty term
is null and the solution with the higher number of live cells is better.
3.2
A Local Improvement Strategy Based on Tabu Search
The fitness function defined above provides a stratified notion of gradient that
can be exploited by a local search strategy. Moreover, notice that the function is
quite decomposable, since interactions among variables are limited to adjacent
cells in the board. Thus, whenever a configuration is modified, the new fitness can
be computed just considering the cells located in adjacent positions to changed
cells. To be precise, assume that cell (i, j) is modified in solution r, resulting in
solution s; the new fitness f (s) can be computed as:
⎤
⎡
(6)
∆f2 (ri′ j ′ , ηi′ j ′ , rij )⎦
f (s) = f (r) + K ⎣∆f1 (rij , ηij ) +
i′ ,j ′
A Memetic Algorithm with Bucket Elimination for the Still Life Problem
79
where the sum in the last term ranges across all cells (i′ , j ′ ) adjacent to (i, j),
and functions ∆f1 and ∆f2 are defined as:
⎧
η=2
⎨0
∆f1 (c, η) = (−1)(1−c) φ0 (η) η = 3
(7)
⎩
otherwise
(−1)c φ1 (η)
∆f2 (c′ , η, c) = (1 − c′ )∆f2,0 (η, c) + c′ ∆f2,1 (η, c)
⎧ ′
(η = 2 ∧ c = 0) ∨ (η = 4 ∧ c = 1)
⎨K + 1
∆f2,0 (η, c) = −(K ′ + 1) η = 3
⎩
0
otherwise
⎧ ′
K +1
(η = 2 ∧ c = 1) ∨ (η = 3 ∧ c = 0)
⎪
⎪
⎪
⎪
⎨ −(K ′ + 1) (η = 1 ∧ c = 0) ∨ (η = 4 ∧ c = 1)
(η = 1 ∧ c = 1) ∨ (η 4 ∧ c = 0)
∆f2,1 (η, c) = 1
⎪
⎪
−1
(η = 0) ∨ (η 5 ∧ c = 1)
⎪
⎪
⎩
0
otherwise
(8)
(9)
(10)
Using this efficient fitness re-computation mechanism, our local search strategy explores the neighborhood N (r) = {s | Hamming(r, s) = 1}, i.e., the set of
solutions obtained by flipping exactly one cell in the configuration. This neighborhood comprises n2 configurations, and it is fully explored in order to select
the best neighbor. In order to escape from local optima, a tabu-search scheme
is used: up-hill moves are allowed, and after flipping a cell, it is put in the tabu
list for a number of iterations (randomly drawn from [n/2, 3n/2] to hinder cycling in the search). Thus, it cannot be modified in the subsequent iterations
unless the aspiration criterion is fulfilled. In this case, the aspiration criterion is
improving the best solution found in that run of the local search strategy. The
whole process is repeated until a maximum number of iterations is reached, and
the best solution found is returned.
3.3
Optimal Recombination with BE
In the context of the fitness function that we have considered, the binary representation used turns out to be freely manipulable: any configuration can be evaluated, and therefore any standard recombination operator for binary strings could
be utilized in principle. For example, we could consider the two-dimensional version of single-point crossover, depicted in Fig. 3. While feasible from a computational point of view, such a blind operator would perform poorly though: it
would be more similar to macromutation than to a sensible recombination of
information. To fulfill this latter goal, we can resort to BE.
In section 2.2 it was shown how BE could be used to implement an exact
method to solve the MDSLP. Although the resulting algorithm was better than
basic search-based approaches, the corresponding time and space complexity
were very high. In the following we describe how BE can be used to implement a recombination operator that explores the dynastic potential [11] (possible
80
J.E. Gallardo, C. Cotta, and A.J. Fernández
Random
Column
↓
Random
Row
A1
A2
A3
A4
→
B1
B2
B3
B4
×
A1
B2
B3
A4
=
Fig. 3. Blind recombination operator for the MDSLP
children) of the solutions being recombined, providing the best solution that
can be constructed without introducing implicit mutation (i.e., exogenous
information).
Let x = (x1 , x2 , · · · , xn ) and y = (y1 , y2 , · · · , yn ) be two board configurations
for a n × n instance of the MDSLP. Then, BE(n, {x1 , x2 , · · · , xn , y1 , y2 , · · · , yn })
calculates the best feasible configuration that can be obtained by combining rows
in x and y without introducing information not present in any of the parents.
Observe that we are just restricting the domain of variables to take values corresponding to the configurations being recombined, so that the result of function
BE is the best possible recombination.
In order to analyze time complexity for this recombination operator, the critical part of the algorithm is the execution of lines 4-8 in Figure 2. In this case,
line 6 has complexity O(n2 ) (finding the minimum of at most 2n alternatives,
the computation of each being Θ(n)). Line 6 has to be executed n×2n×2n times
at most, making a global complexity of O(n5 ) = O(|x|2.5 ), where |x| ∈ Θ(n2 )
is the size of solutions. Notice also that the recombination procedure can be
readily made to further exploit the symmetry of the problem, extending variable
domains to column values in addition to row values. The complexity bounds
remain the same in this case.
It must be noted that the described operator can be generalized to recombine
any number of board configurations like BE(n, x∈S {xi | i ∈ {1..n}}) where S
is a set comprising the solutions to be recombined. In this situation, the time
complexity is O(k 3 n5 ) (line 6 is O(kn2 ), and it is executed O(k 2 n3 ) times), where
k = |S| is the number of configurations being recombined. Therefore, finding the
optimal recombination from a set of MDSLP configurations is fixed-parameter
tractable [12] when the number of parents is taken as a parameter.
4
Experimental Results
In order to assess the usefulness of the described hybrid recombination operator,
a set of experiments for different problem sizes (n = 12 up to n = 20) has been
realized. The experiments were done in all cases using a steady-state evolutionary
algorithm (popsize = 100, pm = 1/n2 , pX = 0.9, binary tournament selection).
With the aim of maintaining some diversity, duplicated individuals were not
allowed in the population. All algorithms were run until an optimal solution was
A Memetic Algorithm with Bucket Elimination for the Still Life Problem
81
7
10
6
10
5
mean best fitness
10
EA
4
10
3
10
feasibility boundary (n2)
2
10
MA
1
10
12
13
14
15
16
instance size (n)
17
18
19
20
Fig. 4. Comparison of a plain EA, and a MA incorporating tabu search for different
problem sizes. Results are averaged for 20 runs.
found or a time limit was exceeded. This time limit was set to 3 minutes for
problem instances of size 12 and were gradually incremented by 60 seconds for
each size increment. For each algorithm and each instance size, 20 independent
executions were run. The experiments have been performed in a Pentium IV PC
(2400MHz and 512MB of main memory) under SuSE Linux.
First of all, experiments were done with a plain EA. This EA did not use local search, utilized the blind recombination operator described in Sect. 3.3, and
performed mutation by flipping single cells. This algorithm was compared with
a MA that utilized tabu search for local improvement (maxiter = n2 ), and the
same recombination operator. Since simple bit-flipping moves were commonly
reverted by the local search strategy, a stronger perturbation was considered
during mutation, namely performing a cyclic rotation (by shifting bits one position to the right) in a random row (or column). Fig. 4 shows the results of this
comparison. As it can be seen, the EA performs poorly, and is easily beaten by
the MA. While the former cannot even find a single feasible solution in most
runs, the MA finds not just feasible solutions in a consistent way, but solutions
between 0.73% and 5.29% from the optimum (the optimal solution is found in
at least one run for n < 15).
Subsequent experiments compared this basic MA with MAs endowed with
BE for performing recombination as described in Sect. 3.3 (denoted as MABE).
Since the use of BE for recombination has a higher computational cost than
a simple blind recombination, and there is no guarantee that recombining two
infeasible solutions will result in a feasible solution, we have defined two variants
82
J.E. Gallardo, C. Cotta, and A.J. Fernández
9
8
MA
MABE
MABE
1F
MABE2F
7
% distance to optimum
6
5
4
3
2
1
0
12
13
14
15
16
instance size
17
18
19
20
Fig. 5. Relative distances to optimum for each algorithm for sizes ranging from 12 up
to 20. Each box summarizes 20 runs.
of MABE: in the first one –MABE1F – we require that at least one of the parents
is feasible in order to apply BE; otherwise blind recombination is used. In the
second one –MABE2F – we require the two parents being feasible, thus being
more restrictive in the application of BE. With these two variants, we intend
to explore the computational tradeoffs involved in the application of BE as an
embedded component of the MA. For these algorithms, mutation was performed
prior to recombination in order to better exploit good solutions provided by BE.
Fig. 5 shows the empirical performance of the different algorithms evaluated
(relative to the optimum). Results show that MABE improves over MA on average and can find better solutions specially for larger instances. For example,
average relative distance to the optimal solution is just 2.39% for n = 20. Note
that results for n = 19 and n = 20 were obtained giving to each run of the
evolutionary algorithm just 10 and 11 minutes respectively. As a comparison,
recall that the approach in [7] respectively requires over 15 hours and over 2
days for these same instances, and that other approaches are unaffordable for
n > 15. Note also that MABE can find the optimal solution in at least one run
for n < 17 and n = 19 and the distance to the optimum for other instances is
less than 1.58%. Results for MABE1F and MABE2F show that these algorithms
do not improve over MABE. It seems that the effort saved not recombining unfeasible solutions does not further improve the performance of the algorithm.
Fig. 6 extends these results up to size 28. The trend is essentially the same for
sizes 21 and 22. Quite interestingly, it seems that for much larger instances the
plain MA starts to catch up with MABE. This may be due to the increased
computational cost for performing recombination. Recall that we are linearly
A Memetic Algorithm with Bucket Elimination for the Still Life Problem
12
83
MA
MABE
MABE
1F
MABE2F
% distance to optimum
10
8
6
4
2
0
21
22
24
26
28
instance size
Fig. 6. Relative distances to the best known solutions for each algorithm for sizes
ranging from 21 up to 28. Each box summarizes 20 runs. Results are only displayed
for sizes for which an upper bound is available in the literature.
increasing the allowed computational time with the instance size, whereas the
computational complexity of BE is superlinear.
The statistical significance of the results has been evaluated using a nonparametric test, the Wilcoxon ranksum test [13]. It has been found that differences are statistically significant (at the standard 5% level) when comparing the
plain EA to any other algorithm in all cases. When comparing MABE[∗] and MA,
differences are significant for all instances except for size 12 (where all algorithms
find systematically the optimum in most runs) and size > 24 (where the allowed
computational time might be not enough for MABE[∗] to progress further in the
search). Finally, improvements for MABE over MABE1F and MABE2F are only
significant in some cases (sizes 20, 22 and 24 for the former, and sizes 14, 15, 19,
20, 21 and 22 for the latter). The fact that MABE is significantly better than
MABE2F in more cases than it is for MABE1F correlates well with the fact that
BE is used less frequently in the former than in the latter.
5
Conclusions and Future Work
We have presented a model for the hybridization of BE, a well-known technique
in the domain of constraint programming, with EAs. The experimental results
for this model have been very positive, solving to optimality large instances of
a hard constrained problem, and outperforming other evolutionary approaches,
including a memetic algorithm incorporating tabu search.
84
J.E. Gallardo, C. Cotta, and A.J. Fernández
There are many interesting extensions to this work. As it was outlined in Sect.
3.3, the proposed optimal recombination operator can be used with more than
two parents. Furthermore, the resulting operator is fixed-parameter tractable
when the number of parents is taken as parameter. An experimental study of
multiparent recombination in this context can provide very interesting results.
Work is currently underway in this direction.
Further directions for future work can be found in a more-in-depth exploitation of the problem symmetries [5, 6, 7, 8]: for any stable pattern an equivalent
one can be created by rotating (by 90◦ , 180◦ or 270◦ ) or reflecting the board.
The presented approach could be adapted to incorporate them in the recombination process, probably boosting the search capabilities. We also plan to analyze
this possibility. Finally, in [7], a hybrid algorithm for the MDSLP that combines BE and branch-and-bound search is presented providing excellent results.
Hybridizing this algorithm with an EA seems a promising line of research as
well.
Acknowledgements. This work was partially supported by Spanish MCyT
under contracts TIC2002-04498-C05-02 and TIN2004-7943-C04-01.
References
1. Gardner, M.: The fantastic combinations of John Conway’s new solitaire game.
Scientific American 223 (1970) 120–123
2. E.R. Berlekamp, J.C., Guy, R.: Winning Ways for your Mathematical Plays. Volume 2 of Games in Particular. Academic Press, London (1982)
3. Gardner, M.: On cellular automata, self-reproduction, the garden of Eden and the
game of “life”. Scientific American 224 (1971) 112–117
4. Gardner, M.: Wheels, Life, and Other Mathematical Amusements. W.H. Freeman,
New York (1983)
5. Bosch, R., Trick, M.: Constraint programming and hybrid formulations for three
life designs. In: CP-AI-OR. (2002) 77–91
6. Smith, B.M.: A dual graph translation of a problem in ‘life’. In Hentenryck,
P.V., ed.: 8th International Conference on Principles and Practice of Constraint
Programming - CP’2002. Volume 2470 of Lecture Notes in Computer Science.,
Ithaca, NY, USA, Springer (2002) 402–414
7. Larrosa, J., Morancho, E., Niso, D.: On the practical use of variable elimination
in constraint optimization problems: ‘still life’ as a case study. Journal of Artificial
Intelligence Research 23 (2005) 421–440
8. Larrosa, J., Morancho, E.: Solving ‘still life’ with soft constraints and bucket elimination. In Rossi, F., ed.: Principles and Practice of Constraint Programming - CP
2003. Volume 2833 of Lecture Notes in Computer Science., Kinsale, Ireland,
Springer (2003) 466–479
9. Bistarelli, S., Montanari, U., Rossi, F.: Semiring-based constraint satisfaction and
optimization. Journal of the ACM 44 (1997) 201–236
10. Dechter, R.: Bucket elimination: A unifying framework for reasoning. Artificial
Intelligence 113 (1999) 41–85
A Memetic Algorithm with Bucket Elimination for the Still Life Problem
85
11. Radcliffe, N.: The algebra of genetic algorithms. Annals of Mathematics and
Artificial Intelligence 10 (1994) 339–384
12. Downey, R., Fellows, M.: Fixed parameter tractability and completeness I: Basic
theory. SIAM Journal of Computing 24 (1995) 873–921
13. Lehmann, E., D’Abrera, H.: Nonparametrics: Statistical Methods Based on Ranks.
Prentice-Hall, Englewood Cliffs, NJ (1998)
Effects of Scale-Free and Small-World Topologies on
Binary Coded Self-adaptive CEA
Mario Giacobini1 , Mike Preuss2 , and Marco Tomassini1
1
Information Systems Department, University of Lausanne, Switzerland
[email protected],
[email protected]
2
Systems Analysis Group, Computer Science Department,
University of Dortmund, Germany
[email protected]
Abstract. In this paper we investigate the properties of CEAs with populations
structured as Watts–Strogatz small-world graphs and Albert–Barabási scale-free
graphs as problem solvers, using several standard discrete optimization problems
as a benchmark. The EA variants employed include self-adaptation of mutation
rates. Results are compared with the corresponding classical panmictic EA showing that topology together with self-adaptation drastically influences the search.
1 Introduction
The standard population structure used in evolutionary algorithms (EAs) is the panmictic structure. In panmictic populations, also called mixing, any individual is equally
likely to interact with any other individual. This setting is the most straightforward and
many theoretical results have been obtained for it. However, since at least two decades,
several researchers have suggested that EAs populations might have structures endowed
with spatial features, like many natural populations (for recent reviews see [1, 2] and
references therein). Empirical results suggest that using structured populations is often
beneficial owing to better diversity maintenance, formation of niches, and lower selection pressures in the population favoring the slow spreading of solutions and relieving
premature convergence and stagnation. The most popular models are the island model
and the cellular model. In the island model the whole population is subdivided into
several subpopulations each of which is panmictic. A standard EA runs in each subpopulation and, from time to time, a fraction of individuals migrate between islands.
Although this model may offer some advantages over a single mixing population, it is
still rather close to the latter.
Here we shall focus on cellular models instead, which are a more radical departure
from the standard setting. What sets them apart is the fact that all the operators act locally, within a small pool of individuals. The customary cellular topology is the regular
lattice. Cellular evolutionary algorithms (CEAs) on regular lattices, usually rings and
two-dimensional grids, have been often used with good results and some of their theoretical properties are known (see [2]). However, there is no reason why cellular models
should be limited to regular lattices. Other graph structures are possible, such as random graphs and small-world networks. These small-world networks are not regular nor
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 86–98, 2006.
c Springer-Verlag Berlin Heidelberg 2006
Effects of Scale-Free and Small-World Topologies
87
completely random, and have recently attracted a lot of attention in many areas because
of their surprising topological properties [3, 4]. Random graphs and small-world networks have been recently studied from the point of view of the selection intensity in
the population [5]. Random graphs are roughly equivalent to panmictic structures in
behavior, at least for not too small probability of having an edge between two arbitrary
vertices. The families of small-world graphs are potentially more interesting, as they
can induce widely variable global selection pressures, depending on the value of some
graph characteristic parameter [5]. A first investigation on the use of such structured
populations for optimization problems has been proposed by Preuss and Lasarczyk [6].
In this paper we investigate the properties of CEAs with populations structured as
Watts–Strogatz small-world graphs and Albert–Barabási scale-free graphs as problem
solvers, using several standard discrete optimization problems as a benchmark. We
should like to point out at the outset that it is not our intention to compete with the
best heuristics for the problems. We do not use problem information, nor do we include
any kind of local or enhanced search. Our goal is simply to compare these irregular
population structures with regular lattices CEAs and the panmictic EA using the simplest settings and only few parameters. We are especially interested in answering the
following questions:
– What is the influence of different node degree distributions on CEAs when the overall connectivity (number of connections) remains constant?
– Are scale-free topologies worthwhile alternatives to standard small-world ones? If
so, for which problem types?
– When —if at all— does self-adaptation of mutation parameters provide an advantage over fixed mutation rates?
When dealing with evolutionary algorithms on binary represented problems, a sporadically suggested [7] and rarely used technique is the self-adaptation of mutation
parameters. Although well established for continuous representations [8], its applicability is rather unclear for test problems typically approached with genetic algorithms.
It is our hope that self-adaptation proves worthwhile for CEAs, especially in connection
with small-world topologies.
2 Test Problems
In this section we present the set of problems chosen for this study. The benchmark
is representative because it contains many different interesting features in optimization, such as epistasis, multimodality, deceptiveness, and problem generators. These
are important ingredients in any work trying to evaluate algorithmic approaches with
the objective of getting reliable results, as stated by Whitley et al. in [9].
We experiment with the massively multimodal deceptive problem (MMDP), a modified version of the multimodal problem generator P-PEAKS, error correcting code
design (ECC), and the countsat problem (COUNTSAT). The choice of this set of problems is justified by both their difficulty and their application domains (combinatorial
optimization, telecommunications, etc.). This gives us a fair level of confidence in the
results, although no benchmark will ever be able to assert the superiority of a particular
88
M. Giacobini, M. Preuss, and M. Tomassini
algorithm on all problems and problem instances [10]. The problems selected for this
benchmark are briefly presented in the following paragraphs.
Massively Multimodal Deceptive Problem (MMDP). The MMDP is a problem that
has been specifically designed to be difficult for an EA [11]. It is made up of k deceptive subproblems (si ) of 6 bits each, whose value depends on the number of ones
(unitation) a binary string has (see Figure 1). These subfunctions possess two global
maxima and a deceptive attractor in the middle point.
Massively Multimodal Deceptive Problem
unitation subfunction value
1
0
1
2
3
4
5
6
subfunction value
0.8
0.6
0.4
0.2
0
0
1
2
3
4
5
1.000000
0.000000
0.360384
0.640576
0.360384
0.000000
1.000000
6
unitation
Fig. 1. Basic deceptive bipolar function (si ) for MMDP
In MMDP each subproblem si contributes to the fitness value according to its unitation (Figure 1). The global optimum has a value of k and it is attained when every
subproblem is composed of zero or six ones. The number of local optima is quite large
(22k ), while there are only 2k global solutions. Therefore, the degree of multimodality is regulated by the k parameter. To avoid floor and ceiling effects (none or all EA
are able to solve the problem) we use a moderately difficult instance with k = 20.
Fitness is computed after after Eq. 1, utilizing subfunction si as depicted in Figure 1.
Note that this problem is separable; its constituents could be optimized individually if
its boundaries in the genome were known to the EA.
fM M DP (s) =
k
fitness(si )
(1)
i=1
Multimodal Problem Generator (wP-PEAKS). A problem generator is an easily parameterizable task which has a tunable degree of epistasis, thus permitting to derive
instances with growing difficulty at will. With a problem generator we evaluate our
algorithms on a high number of random problem instances. Since a different instance is
solved each time the algorithm runs, the predictive power of the results for the problem
class as a whole is increased.
The idea of P-PEAKS is to generate P random N -bit strings that represent the location of P peaks in search space. Using a small/large number of peaks results in
weakly/strongly epistatic problems. In the original problem formulation [12], the fitness value of a string was the number of bits it had in common with the nearest peak in
Effects of Scale-Free and Small-World Topologies
89
that space, divided by N . However, each peak represented a global optimum. We modified the problem by adding weights wi ∈ R+ with only w1 = 1.0 and w[2...P ] < 1.0,
thereby requiring the optimization algorithm to find the one peak bearing the global
optimum instead of just any peak. It should be noted that doing so for one global and
nine local peaks (as utilized in our experiments) —tested empirically— appears to be a
lot harder than a standard P-PEAKS with P = 100.
fw
P −P EAKS (x)
=
1
max {wi · N − HammingD(x, P eaki )}
N 1≤i≤p
(2)
Error Correcting Code Design Problem (ECC). The ECC problem was presented in
[13]. We will consider a three-tuple (n, M, d), where n is the length of each codeword
(number of bits), M is the number of codewords, and d is the minimum Hamming
distance between any pair of codewords. Our objective will be to find a code which
has a value for d as large as possible (reflecting greater tolerance to noise and errors),
given previously fixed values for n and M . The problem we have studied is a simplified
version of that in [13]. In our case we search half of the codewords (M/2) that will
compose the code, and the other half is made up by the complement of the codewords
computed by the algorithm. The fitness function to be maximized is:
fECC =
1
M
M
,
(3)
d−2
ij
i=1 j=1,i=j
where dij represents the Hamming distance between codewords i and j in the code C
(made up of M codewords of length n). In the present paper, we consider an instance
with M = 24 and n = 12, yielding optimum fitness of 0.0674 [14].
COUNTSAT Problem. The COUNSAT problem has been proposed by Droste et al.
[15] as an instance of the MAXSAT problem difficult to be solved by Evolutionary
Algorithms. In COUNTSAT, the solution value is the number of clauses (among all the
possible 3-variables Horn clauses) that are satisfied by an n-bit input string, where the
binary value 0 and 1 are considered as a false and a true boolean value, respectively.
It is easy to check that the optimum value is that of the solution with all the variables
assigned to 1. Droste et al. have proved that the fitness of a tentative solution x can be
easily computed using the following equation:
s
s
fCOUNTSAT (x) = s + n(n − 1)(n − 2) − 2(n − 2)
+6
,
2
3
(4)
where s is the unitation of the solution x (i.e. the number of 1 entries in x), and n
is the length of x. In this paper we will study an instance of n = 20 variables, with
normalized optimum fitness of 1.0.
3 Small-World Graph Topologies
It has been shown in recent years that graphs occurring in many social, biological, and
man-made systems are often neither completely regular, such as lattices, nor completely
90
M. Giacobini, M. Preuss, and M. Tomassini
random [16]. They have instead what has been called a small-world topology, in which
nodes are highly clustered yet the path length between them is small. This behavior
is due to the presence of shortcuts i.e., a few direct links between nodes that would
otherwise be far removed. Following Watts’ and Strogatz’s discovery, Barabasi et al.
[3] found that several important networks such as the World Wide Web, Internet, author
citation networks, and metabolic networks among others, also have the small world
property but their degree distribution function differs: they have more nodes of high
degree that are likely in a random graph of the same size and edge density. These graphs
have been called scale-free because the degree probability distribution function follows
a power law. In the next sections we briefly describe how small-world and scale-free
graphs can be constructed, more details can be found in [3, 4, 16].
3.1 The Watts–Strogatz Model
Although this model has been a real breakthrough in the technical sense when it appeared, today it is clear that it is not a good representation of real networks as it retains
many features of the random graph model. In spite of this, the Watts–Strogatz model,
because of its simplicity of construction and the richness of behavior, is still an interesting topology in artificial systems where there is no “natural” constraint on the type
of connectivity.
According to Watts and Strogatz [16], a small-world graph can be constructed starting from a regular ring of nodes in which each node has k neighbors (k ≪ N ) by
simply systematically going through successive nodes and “rewiring” a link with a certain probability β. When the edge is deleted, it is replaced with an edge to a randomly
chosen node. If rewiring an edge would lead to a duplicate edge, it is left unchanged.
This procedure will create a number of shortcuts that join distant parts of the lattice.
Shortcuts are the hallmark of small worlds. While the average path length1 between
nodes scales logarithmically in the number of nodes for a random graph, in WattsStrogatz graphs it scales approximately linearly for low rewiring probability but goes
down very quickly and tends to the random graph limit as β increases. This is due to
the progressive appearance of shortcut edges between distant parts of the graph, which
obviously contract the path lengths between many vertices. However, small worlds typically have a higher clustering coefficient2 than random graphs. Small-world networks
have a degree distribution P (k) close to Poissonian.
3.2 The Barabási-Albert Model
Albert and Barabási were the first to realize that real networks grow incrementally and
that their evolving topology is determined by the way in which new nodes are added
to the network and proposed an extremely simple model based on these ideas [3]. At
the beginning one starts with a small clique of m0 nodes. At each successive time step
a new node is added such that its m ≤ m0 edges link it to m nodes already in the
1
2
The average path length L of a graph is the average value of all pair shortest paths.
The clustering coefficient C of a node is a measure of the probability that two nodes that are
its neighbors are also neighbors among themselves. The average C is the average of the C s
of all nodes in the graph.
Effects of Scale-Free and Small-World Topologies
91
graph. When choosing the nodes to which the new nodes connects, it is assumed that
the probability π that a new node will be connected to node i depends on the degree
ki of i such that nodes that have already many links are more likely to be chosen over
those that have few. This is called preferential attachment and is an effect that can be
observed in several real networks. The probability π is given by:
ki
π(ki ) =
,
j kj
where the sum is over all nodes already in the graph. The model evolves into a stationary
scale-free network with power-law probability distribution for the vertex degree P (k) ∼
k −γ , with γ ∼ 3.
4 Experiment
Focus. Investigate the effects of varied scale-free and small-world topologies on cellular EA with and without self-adaptation.
Pre-experimental Planning. First tests employed the parameter optimization method
SPO as recently suggested by Bartz-Beielstein [17]. They revealed that, keeping the
population size constant at 400 and the number of connections at 800, in most cases no
significant performance increase could be gained by varying the number of offspring per
generation or the maximum lifespan of an individual (the latter would lead to a κ-type
or comma-type environmental selection/replacement scheme). This also holds for the
mutation rate meta-parameter τ needed for self-adaptation, which has therefore been
fixed at 0.5. Furthermore, the mutation rate default setting pm = 1/l, with l the representation length, could be verified as a good compromise when using a fixed mutation
rate for different problems.
A notable exception is the COUNTSAT problem, where self-adaptation together
with large birth surplus and comma-type environmental selection performed very well.
However, to simplify interpretation of results, we limited experimentation to plus selection, that is, any parent survives as long as it is not outperformed by its offspring.
Our tests also showed that choosing a large population size for the panmictic EA is
well-founded for the given problem set, at least when striving for high success rates.
For all problems, we determined suitable run lengths in order to measure success
rates that approximate the ones for an infinite number of evaluations. The resulting run
lengths are given in Table 1. In most cases, the actual average amount of evaluations
needed to reach the global optimum is much lower.
When mutation rates are allowed to change, they still must be initialized with meaningful values. Our testing revealed that either starting with pm = 1/l or pm = 0.5 for
all individuals is advantageous, as opposed to initializing pm uniformly within ]0, 1[ .
Task. The character of our experiment is explorative; we want to find evidence that
helps to answer the questions posed in the Introduction, namely situations in which
small-world/scale-free topology based CEAs and/or self-adaptation appear advantageous over a standard, panmictic EA.
92
M. Giacobini, M. Preuss, and M. Tomassini
Table 1. Problem designs, common (top) and individual (bottom) part. SR stands for success
rate, and AES is the average number of evaluations to solution. Each run was stopped at the given
maximum number of evaluations as the only termination criterion.
Initialization
randomized
Problem
MMDP
wP-PEAKS
ECC
COUNTSAT
Number of runs
100
Performance measures
SR/AES
Instance
20 blocks of 6 bits
10 peaks, w 1 = 1.0, w[2. . . 10] = 0.99
12 codes à 12 bits, 12 complementary codes
20 bits
Bits Max. eval
120 120000
100 200000
144 400000
20 120000
Optimum
20.0
1.0
0.0674
1.0
Setup. Utilized problem designs, including initialization and termination criterion, are
documented in Table 1. The EA variants employed all use bit-flipping mutation with
probability pm and 2-point crossover. Mating selection is done randomly in the neighborhood of each individual, i.e. uniform selection, or among the whole population
for the panmictic variant. We set the crossover probability to 1, so that during each
generation, every individual produces one offspring. Replacement —or environmental
selection— is performed simultaneously (synchronous) for all individuals, taking the
better one of the current individual and its offspring each. Population size (400) and
number of connections (800) are kept at CEA standard values to allow for comparison
with previous studies [18].
Self-adaptation is performed as suggested by Rudolph [19] for discrete variables, differing only in that a mutation event always flips the accordant bit instead of computing
its new value from the old one or choosing it randomly from {0, 1}. We apply it to the
mutation probability only, as depicted in Eqn. 5, where τ is a constant meta-parameter
and N (0, 1) stands for a standard normally distributed random variable.
p′mut = pmut · exp (τ · N (0, 1))
(5)
Thus every individual gets a mutation probability that it bequeathes to approximately
half of its children by discrete recombination. We follow the standard scheme of evolution strategies by first applying mutation to the mutation rate, then utilizing the acquired
mutation rate for mutating the rest of the genome [8].
Summarizing, four EA variants are run on the test problem set: A panmictic EA, a
CEA with fixed mutation rate pm = 1/l, and two CEAs with self-adaptive mutation
rates, starting with pm = 1/l and pm = 0.5, respectively. Except for the panmictic
EA, different graphs are tested: For the Watts and Strogatz model topologies tried, we
vary the rewiring factor β between 0 and 0.2 . Whereas 0 stands for an unmodified
ring structure, β > 0.2 produces networks that rapidly approach random graphs. The
scale-free topologies were created for kernel sizes from the minimum 2 to 28, in which
almost half of the available connections must be spent for the kernel, so that at least one
per remaining node is left for preferential attachment. With the given parameters, actual
topologies have been created anew for every single run.
●
●
●
●
●
●
●
●
●
●
●
●
●
1.2
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
0.05
0.10
rewiring factor
0.15
0.20
●
●
●
●
●
●
●
0.2
●
0.00
●
●
●
0.0
0.2
0.0
●
0.4
0.6
●
1.0
●
0.8
●
0.6
1.2
1.0
●
0.8
●
93
panmictic, pm = 1/l
scale−free, pm = 1/l
scale−free, self−adapt., pm init = 1/l
scale−free, self−adapt., pm init = 0.5
●
●
0.4
SR (success rate)
●
1.4
panmictic, pm = 1/l
small−world, pm = 1/l
small−world, self−adap., pm init = 1/l
small−world, self−adap., pm init = 0.5
●
●
SR (success rate)
1.4
Effects of Scale-Free and Small-World Topologies
●
5
10
15
20
25
kernel size
Fig. 2. Success rates for small-world (left) and scale-free (right) topology CEAs, compared to a
similarly parametrized panmictic EA, on the MMDP. Each point is generated from 100 runs.
Experimentation/Visualization. Due to space limitations, we only depict SR (success
rate) results for the four problems, see Figures 2 and 3. Table 2 additionally provides
numerical values obtained for AES (average number of evaluations to solution) and SR
criteria on the MMDP, tables for the other problems are omitted for the same reason.
Observations. The first thing to note is that the SR performance curves look very different for the four test problems. We therefore decided to describe the obtained results
separately.
MMDP: Success rates for all small-world topology CEAs (except when β = 0) are
near 1 and thus much higher than 0.66 of the panmictic variant. At the same time,
they are a lot slower than the panmictic EA (see Table 2). Ring topology CEAs,
i.e. β = 0, may have failed to succeed because their time consumption would have
been even higher than the given limit. Scale-free CEAs with small kernels perform
comparable to small-world CEAs with medium rewiring factor, in success rates as
well as in speed. For larger kernels, success rates drop dramatically, even below the
ones for the panmictic EA. Simultaneously, the length of successful runs increases.
Self-adaptation of mutation rates works well in all small-world CEAs and quite
good for scale-free CEAs with small kernels. It remarkably lowers the AES if
started with pm = 1/l . Interestingly, it was observed that learned mutation rates,
especially when started at 0.5, tend to develop towards both ends of the allowed
interval, namely 0 and 1, within the same population.
ECC: For both topology types, the fixed mutation CEA outperforms all other variants
with respect to the SR criterion. Rewiring rates and kernel sizes seem to have little
influence here. The panmictic EA is slightly faster but achieves much worse success
rates. Self-adaptation does not seem to work at all for this problem, it delays the
CEAs while also reducing success rates.
panmictic, pm = 1/l
small−world, pm = 1/l
small−world, self−adap., pm init = 1/l
small−world, self−adap., pm init = 0.5
1.2
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
1.0
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
0.4
●
0.2
0.05
0.10
0.15
0.20
5
10
1.4
panmictic, pm = 1/l
small−world, pm = 1/l
small−world, self−adap., pm init = 1/l
small−world, self−adap., pm init = 0.5
25
panmictic, pm = 1/l
scale−free, pm = 1/l
scale−free, self−adapt., pm init = 1/l
scale−free, self−adapt., pm init = 0.5
●
SR (success rate)
0.8
●
●
●
●
0.00
●
●
●
●
●
●
●
●
●
●
0.05
●
●
●
●
●
●
●
●
●
●
●
●
●
●
0.10
●
●
●
●
●
●
0.15
●
●
●
●
●
●
0.0
0.2
0.4
0.6
0.2
0.4
1.0
1.2
●
1.0
1.2
20
0.8
●
●
15
kernel size
0.6
1.4
rewiring factor
SR (success rate)
●
0.0
0.2
0.0
0.00
0.0
●
0.8
●
0.6
1.2
1.0
●
0.8
0.6
panmictic, pm = 1/l
scale−free, pm = 1/l
scale−free, self−adapt., pm init = 1/l
scale−free, self−adapt., pm init = 0.5
●
●
SR (success rate)
●
●
0.4
SR (success rate)
1.4
M. Giacobini, M. Preuss, and M. Tomassini
1.4
94
●
●
●
●
●
●
●
●
0.20
●
●
5
●
●
●
●
●
●
10
●
●
●
●
●
●
●
●
●
20
25
kernel size
1.4
rewiring factor
●
15
panmictic, pm = 1/l
scale−free, pm = 1/l
scale−free, self−adapt., pm init = 1/l
scale−free, self−adapt., pm init = 0.5
●
1.0
0.8
0.6
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
0.0
0.2
0.4
SR (success rate)
1.2
●
5
10
15
20
25
kernel size
Fig. 3. Success rates for small-world (left) and scale-free (right) topology CEAs, compared to a
similarly parametrized panmictic EA, on problems (top to bottom) ECC, COUNTSAT and wPPEAKS. Points are generated from 100 runs each.
Effects of Scale-Free and Small-World Topologies
95
Table 2. Panmictic versus parametrized scale-free and small-world topology cellular EA on problem MMDP. Performance values for EA variants are ordered into blocks of three rows, giving
success rates (SR), average evaluations to solution (AES) and AES standard deviations, respectively. Success rates are averaged from 100 runs, AES values and standard deviations computed
from the fraction reaching the global optimum. Characteristic path lengths (cpl) and clustering
coefficients (C) are determinedempirically.
EA variant: panmictic, non-adaptive, initial pm = 1/l
SR
0.66
0.66
AES
28894
28894
AES std.dev.
11727
11727
0.66
28894
11727
0.66
28894
11727
0.66
28894
11727
0.66
28894
11727
0.66
28894
11727
6
3.6/0.07
10
3.4/0.12
14
3.3/0.20
20
3.1/0.39
28
3.1/0.76
EA variant: scale-free, non-adaptive, initial pm = 1/l
SR
0.81
0.74
AES
58420
59027
AES std.dev.
10507
12162
0.75
57307
8016
0.65
65785
9998
0.36
65500
9960
0.07
74571
12816
0.0
—
—
EA variant: scale-free, self-adaptive, initial pm = 1/l
SR
0.60
0.55
AES
40067
38473
AES std.dev.
10334
2878
0.50
38480
3407
0.44
40364
3675
0.30
41067
3714
0.03
44000
4320
0.0
—
—
EA variant: scale-free, self-adaptive, initial pm = 0.5
SR
0.93
0.94
AES
64129
63745
AES std.dev.
10373
10592
0.92
62348
9239
0.85
67365
11950
0.68
71706
14014
0.39
84051
15416
0.03
110000
10198
0.02
10.8/0.45
0.05
7.4/0.37
0.10
5.9/0.28
0.15
5.4/0.20
0.20
5.0/0.16
kernel sizes ⇒
cpl/C ⇒
rewiring factor ⇒
cpl/C ⇒
2
3.7/0.05
0.0
50.4/0.5
4
3.7/0.06
0.01
15.5/0.47
EA variant: small-world, non-adaptive, initial pm = 1/l
SR
0.00
0.96
AES
—
100960
AES std.dev.
—
9652
0.98
84850
9376
1.00
70320
6240
0.98
61460
5295
0.98
56570
4989
0.99
55270
7614
EA variant: small-world, self-adaptive, initial pm = 1/l
SR
0.95
1.00
AES
94880
59220
AES std.dev.
1081
5871
0.98
52420
4609
0.99
45030
3622
0.88
40200
3790
1.00
40200
7180
0.98
37320
2489
EA variant: small-world, self-adaptive, initial pm = 0.5
SR
0.35
0.97
AES
109540
88920
AES std.dev.
8842
1223
1.00
81040
1180
1.00
68680
7854
1.00
61380
7001
1.00
58480
6400
0.99
56040
6780
COUNTSAT: Only one of the four algorithms is able to solve the problem with nonsignificant success rates: The self-adaptive CEA starting with pm = 0.5 . Topology
differences seem to have little influence. Unfortunately, we did not try a panmictic
EA with self-adaptation to see if topology has an effect at all. Our impression is
that this is not the case but success rather depends on high mutation rates.
wP-PEAKS: Here, the small-world CEAs clearly dominate the panmictic EA, with the
fixed mutation rate CEA performing best. Self-adaptation only lowers the success
rates. Measured AES values for all small-world variants are largely constant and
around 2 to 3-times higher than for the panmictic variant, regardless of the rewiring
factor. The scale-free CEAs achieve no better success rates than the panmictic EA,
but also require 2 to 3-times more evaluations than the panmictic.
96
M. Giacobini, M. Preuss, and M. Tomassini
Interpretation. At a first glance, it seems hard to perceive a clear trend within the
obtained results. The most we can state is that scale-free topologies do not seem to
provide a worthwhile alternative to panmictic or Watts-Strogatz small-worlds. Nevertheless, when thinking about the properties of the utilized test problems and linking them to the algorithm properties of the EA variants regarded as most successful
(Table 3), we may derive some generalizable conjectures. It seems that problems with a
certain degree of separability may profit from localizing operators. However, this also
happens for the wP-PEAKS problem which is non-separable.
Table 3. Test problem properties next to algorithm properties found successful. The ECC problem
is not fully separable but organized in blocks. Solution permutable means that fitness of a solution,
or subsolution in case of the MMDP, solely depends on the number of ones, not their location.
Problem
MMDP
ECC
COUNTSAT
wP-PEAKS
Separable Solution permutable Topology matters Self-adaptation works
X
partly
–
–
X
–
X
–
X
X
–
X
X
–
X
–
Concerning self-adaptation, the picture is much clearer. Within our experiments,
it worked well for problems with permutable best solutions. That is, several optimal
solutions exist that share the number of ones, either in the whole genome as for the
COUNTSAT problem, or in the separate building blocks as for the MMDP. Lacking
further investigations, we can only speculate why self-adaptation provides an advantage, or at least does not diminish optimization success here. Possibly, the temporary
appearance of several different, namely higher mutation probabilities in the course of
the optimization process leads to better results.
5 Conclusions
The results of this empirical study indicate that small-world topologies allow for a tradeoff between robustness and speed of the search; this is in agreement with the results of
[5] on selection pressure, especially when Watts–Strogatz networks are used. In terms
of success rate, these population topologies behave at least as well, and often better,
than the panmictic case. However, their convergence speed is lower. This effect had
already been reported in the case of regular lattice population structures for the same
class of problems [18].
On the other hand, scale-free topologies do not seem very helpful in their current
form, especially for large kernel sizes. Smaller clique sizes work better but, overall, they
do not outperform the standard panmictic setting. This confirms that the selection pressure induced by these topologies on the population may be too high, similar to the panmictic, thus causing premature convergence [5]. However, we have only experimented
with static scale-free topologies: we feel that playing with highly connected nodes in a
Effects of Scale-Free and Small-World Topologies
97
graph would open new perspectives in the control of the exploration/exploitation tradeoff, and we intend to try out these ideas in the future.
As far as the EA strategies are concerned, self-adaptation helps if the solution/subsolution is permutable, while fixed mutation performs best overall. In the future we also
intend to extend the investigation to continuous problems and to study the dynamics of
birth surplus (comma) strategies.
References
1. E. Cantú-Paz. Efficient and Accurate Parallel Genetic Algorithms. Kluwer Academic Press,
2000.
2. M. Tomassini. Spatially Structured Evolutionary Algorithms: Artificial Evolution in Space
and Time. Springer, Berlin, Heidelberg, New York, 2005.
3. R. Albert and A.-L. Barabasi. Statistical mechanics of complex networks. Reviews of Modern
Physics, 74:47–97, 2002.
4. M. E. J. Newman. The structure and function of complex networks. SIAM Review, 45:167–
256, 2003.
5. M. Giacobini, M. Tomassini, and A. Tettamanzi. Takeover time curves in random and smallworld structured populations. In H.-G. Beyer at al., editor, Proceedings of the Genetic and
Evolutionary Computation Conference GECCO’05, pages 1333–1340. ACM Press, 2005.
6. M. Preuss and C. Lasarczyk. On the importance of information speed in structured populations. In Xin Yao et al., editor, Parallel Problem Solving from Nature, PPSN VIII, pages
91–100. Lecture Notes in Computer Science Vol. 3242, Springer-Verlag, 2004.
7. T. Bäck. Self-adaptation in genetic algorithms. In F. J. Varela and P. Bourgine, editors,
Toward a Practice of Autonomous Systems – Proc. First European Conf. Artificial Life
(ECAL’91), pages 263–271, Cambridge MA, 1992. The MIT Press.
8. H.-G. Beyer and H.-P. Schwefel. Evolution strategies: A comprehensive introduction. Natural Computing, 1(1):3–52, 2002.
9. D. Whitley, S. Rana, J. Dzubera, and K. E. Mathias. Evaluating evolutionary algorithms.
Artif. Intelligence, 85:245–276, 1997.
10. D. H. Wolpert and W. G. Macready. No free lunch theorems for optimization. IEEE Transactions on Evolutionary Computation, 1(1):67–82, 1997.
11. D. E. Goldberg, K. Deb, and J. Horn. Massively multimodality, deception and genetic algorithms. In R. Männer and B. Manderick, editors, Parallel Prob. Solving from Nature II, pages
37–46. North-Holland, 1992.
12. K. A. De Jong, M. A. Potter, and W. M. Spears. Using problem generators to explore the
effects of epistasis. In T. Bäck, editor, Proceedings of the Seventh ICGA, pages 338–345.
Morgan Kaufmann, 1997.
13. F. J. MacWilliams and N. J. A. Sloane. The Theory of Error-Correcting Codes. NorthHolland, Amsterdam, 1977.
14. H. Chen, N. S. Flann, and D. W. Watson. Parallel genetic simulated annealing: A massively
parallel SIMD algorithm. IEEE Transactions on Parallel and Distributed Systems, 9(2):126–
136, 1998.
15. S. Droste, T. Jansen, and I. Wegener. A natural and simple function which is hard for all evolutionary algorithms. In IEEE International Conference on Industrial Electronics, Control,
and Instrumentation (IECON 2000), pages 2704–2709, Piscataway, NJ, 2000. IEEE Press.
16. D. J. Watts and S. H. Strogatz. Collective dynamics of ’small-world’ networks. Nature,
393:440–442, 1998.
98
M. Giacobini, M. Preuss, and M. Tomassini
17. T. Bartz-Beielstein. New Experimentalism Applied to Evolutionary Computation. PhD thesis,
University of Dortmund, April 2005.
18. B. Dorronsoro, E. Alba, M. Giacobini, and M. Tomassini. The influence of grid shape and
asynchronicity on cellular evolutionary algorithms. In 2004 Congress on Evolutionary Computation (CEC 2004), pages 2152–2158. IEEE Press, Piscataway, NJ, 2004.
19. G. Rudolph. An evolutionary algorithm for integer programming. In Y. Davidor, H.-P.
Schwefel, and R. Männer, editors, Proc. Parallel Problem Solving from Nature – PPSN III,
Jerusalem, pages 139–148, Berlin, 1994. Springer.
Particle Swarm for the Traveling Salesman Problem
Elizabeth F. Gouvêa Goldbarg, Givanaldo R. de Souza, and Marco César Goldbarg
Department of Informatics and Applied Mathematics,
Federal University of Rio Grande do Norte,
Campus Universitário Lagoa Nova, Natal , Brazil
{beth, gold}@dimap.ufrn.br,
[email protected]
Abstract. This paper presents a competitive Particle Swarm Optimization algorithm for the Traveling Salesman Problem, where the velocity operator is based
upon local search and path-relinking procedures. The paper proposes two versions of the algorithm, each of them utilizing a distinct local search method.
The proposed heuristics are compared with other Particle Swarm Optimization
algorithms presented previously for the same problem. The results are also
compared with three effective algorithms for the TSP. A computational experiment with benchmark instances is reported. The results show that the method
proposed in this paper finds high quality solutions and is comparable with the
effective approaches presented for the TSP.
1 Introduction
The Traveling Salesman is a classical NP-hard combinatorial problem that has
been an important test ground for many algorithms. Given a graph G = (N,E), where
N = {1,...,n} is the set of nodes and E = {1,...,m} is the set of edges of G, and costs,
cij, associated with each edge linking vertices i and j, the problem consists in finding
the minimal total length Hamiltonian cycle of G. The length is calculated by the
summation of the costs of the edges in a cycle. If for all pairs of nodes {i,j}, the costs
cij and cji are equal then the problem is said to be symmetric, otherwise it is said to be
asymmetric. A survey of the TSP is presented by Gutin and Punnen [10].
The term A-Life is utilized to describe researches on systems that simulate essential properties of the real life, with two general lines:
- how computational techniques may help the investigation of natural phenomena,
and
- how biological techniques may help to solve computational problems.
Several bio-inspired methods were proposed to solve Combinatorial Optimization
problems, such as Genetic Algorithms [12], Memetic Algorithms [17], Cultural Algorithms [24] and Ant Systems [5], among others. Particle swarm optimization, PSO,
algorithms belong also to the class of bio-inspired methods [14]. This is a populationbased technique introduced by a Psychologist, James Kennedy, and an Electrical Engineer, Russell Eberhart, who based their method upon the behavior of bird flocks.
PSO algorithms for the TSP were presented previously by Onwubulu and Clerc [18]
and Wang et al. [26]. Hybrid PSO approaches for the same problems were also presented by Machado and Lopes [16] and Pang et al. [19].
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 99 – 110, 2006.
© Springer-Verlag Berlin Heidelberg 2006
100
E.F.G. Goldbarg, G.R. de Souza, and M.C. Goldbarg
This paper presents a new PSO algorithm for the Traveling Salesman Problem. The
main difference between the approach reported in this paper and the previous ones regards the velocity operators. In this paper local search and path-relinking procedures
are proposed as velocity operators for a discrete optimization problem.
Local search is a traditional optimization method that starts with an initial solution
and proceeds by searching for a better solution in a neighborhood defined for the
starting solution. If a better solution is found, then it is assumed as the new current solution and the process of searching in its neighborhood is re-started. This process continues until no improvement of the current solution is found [1].
Path-relinking is an intensification technique which ideas were originally proposed
by Glover [8] in the context of scheduling methods to obtain improved local decision
rules for job shop scheduling problems [9]. The strategy consists in generating a path
between two solutions creating new solutions. Given an origin, xs, and a target solution, xt, a path from xs to xt leads to a sequence xs, xs(1), xs(2), …, xs(r) = xt, where
xs(i+1) is obtained from xs(i) by a move that introduces in xs(i+1) an attribute that
reduces the distance between attributes of the origin and target solutions. The roles
of origin and target can be interchangeable. Some strategies for considering such
roles are:
• forward: the worst among xs and xt is the origin and the other is the target solution;
• backward: the best among xs and xt is the origin and the other is the target solution;
• back and forward: two different trajectories are explored, the first using the best
among xs and xt as the initial solution and the second using the other in this role;
• mixed: two paths are simultaneously explored, the first starting at the best and the
second starting at the worst among xs and xt, until they meet at an intermediary solution equidistant from xs and xt.
The paper is organized as follows. Particle swarm optimization is described in Section 2. The proposed algorithm and its variants are described in Section 3. A computational experiment is reported in Section 4. The experiment compares the results of the
proposed approach with previous PSO algorithms. To date PSO algorithms for the
TSP have failed to produce results comparable to competitive techniques. A comparison with three effective techniques proposed for the Traveling Salesman Problem
shows that the proposed approach produces high quality solutions. Finally, some
concluding remarks are presented in Section 5.
2 Particle Swarm Optimization
Particle swarm optimization, PSO, is an evolutionary computation technique inspired
in the behavior of bird flocks, fish schools and swarming theory. PSO algorithms
were first introduced by Kennedy and Eberhart [14] for optimizing continuous
nonlinear functions. The fundamentals of their method lie on researches on computer
simulations of the movements of social creatures [11], [21], [23].
Given a population of solutions (the swarm) for a given problem, each solution is
seen as a social organism, also called particle. The method attempts to imitate the behavior of the real creatures making the particles “fly” over a solution space, thus balancing the efforts of search intensification and diversification. Each particle has a
Particle Swarm for the Traveling Salesman Problem
101
value associated with it. In general, particles are evaluated with the objective function
being optimized. A velocity is also assigned to each particle in order to direct the
“flight” through the problem space. The artificial creatures have a tendency to follow
the best ones among them. In the classical PSO algorithm, each particle
•
•
•
•
has a position and a velocity
knows its own position and the value associated with it
knows the best position it has ever achieved, and the value associated with it
knows its neighbors, their best positions and their values
As pointed by Pomeroy [20], rather than exploration and exploitation what has to
be balanced is individuality and sociality. Initially, individualistic moves are preferable to social ones (moves influenced by other individuals), however it is important
for an individual to know the best places visited by its neighbors in order to “learn”
good moves.
The neighborhood may be physical or social [18]. Physical neighborhood takes distances into account, thus a distance metric has to be established. This approach tends
to be time consuming, since each iteration distances must be computed. Social
neighborhoods are based upon “relationships” defined at the very beginning of the
algorithm.
The move of a particle is a composite of three possible choices:
• To follow in its own way
• To go back to its best previous position
• To go towards its best neighbor’s previous position or towards its best neighbor
Equations (1) and (2) are utilized to update the particle’s position and velocity at each
time step [6].
xt+1 = xt+ vt
(1)
Vt+1= w.vt + c1.rand1.(pbestt – xt) + c2.rand2 .(gbestt – xt)
(2)
Where xt and vt are the particle’s position and velocity at instant t, respectively, pbestt
is the particle’s best previous position, gbestt is the best position that any particle has
achieved so far, w is the inertia factor [25], c1 and c2 are social/cognitive coefficients
that quantify how much the particle trusts its experience and how much it trusts the
best neighbor, rand1 and rand2 are randomly generated numbers.
To apply PSO to discrete problems, one is required to define a representation for
the position of a particle and to define velocity operators regarding the movement options allowed for the particles (and ways for, possibly, combining movements).
A general framework of a PSO algorithm for a minimization problem is listed in
the following.
procedure PSO
{
Initialize a population of particles
do
for each particle p
102
E.F.G. Goldbarg, G.R. de Souza, and M.C. Goldbarg
Evaluate particle p
If the value of p is better than the value of pbest
Then, update pbest with p
end_for
Define gbest as the particle with the best value
for each particle p do
Compute p’s velocity
Update p’s position
end_for
while (a stop criterion is not satisfied)
}
3 PSO for the Traveling Salesman Problem
Usually, evolutionary algorithms represent TSP solutions as a permutation on the n
vertices of a given instance. This representation is also adopted in this work. A social
neighborhood containing only the global best particle (representing the best current
solution) is defined for each member of the population. A particle has three movement options:
• To follow in its own way
• To go back to its best previous position
• To go towards the global best solution (particle)
The main difference between the proposed algorithm and the previous approaches lies
on the way the velocity operators are defined. The first option of a particle, that is to
follow its own way, is implemented by means of a local search procedure. Two local
search procedures were utilized, each of them defining a version of the algorithm. The
first local search procedure is based upon an inversion operator to build neighbor solutions. The inversion operator inverts the elements of a particle between two indices,
a and b. The difference b-a varies between 1 (simulating a 2-swap move) and
n-1. Thus, when v1 is applied to a particle p, the local search procedure starts inverting
sequences of two elements, then inverts sequences of three elements, and so on.
Figure 1 illustrates an inversion of a sequence of elements defined by the interval a=2
and b=5 (a sequence with four elements) of particle p resulting on particle p’.
p
5
6
a
8
1
3
7
2
4
p’
5
3
1
8
b
Fig. 1. Inversion of elements among indices a and b
6
7
2
4
Particle Swarm for the Traveling Salesman Problem
103
The second local search procedure is the Lin-Kernighan neighborhood, LK [15].
This is a recognized efficient improvement method for the TSP. The basic LK algorithm has a number of decisions to be made and depending on the strategies adopted
by programmers distinct implementations of this algorithm may result on different
performances. The literature contains reports of many LK implementations with
widely varying behavior [13]. In this work the algorithm utilized the LK implementation of the Concorde solver [3].
swap-left
1
2
3
swap-leftt
4
5
1
3
xs
3
5
1
xt
2
4
5
3
1
(a)
2
4
3
1
5
2
4
5
5
4
(b)
2
4
3
(d)
1
2
(c)
Fig. 2. Path-relinking operator
Another velocity operator is considered when a particle has to move from its current position to another (pbest or gbest). In these cases the authors consider that a
natural way to accomplish this task is to perform a path-relinking operation between
the two solutions.
The velocity utilized to move a particle from an origin to a target position is defined as a path-relinking operation. The relinking operator utilized in this work is illustrated in Figure 2. The operator swaps one element with its right (left) neighbor.
The steps of a path-relinking procedure that explores solutions in the path between the
origin solution (1 2 3 4 5) and the target solution (3 5 1 2 4) is shown. First, the element 3 is moved to the first position by swapping it with elements 2 (Figure 2(a)) and
1 (Figure 2(b)). At this point, element 5 has to be moved to the second position. It is
swapped with element 4 (Figure 2(c)), element 2 (Figure 2(d)) and, finally, it is
swapped with element 1, when the target solution is reached. The swap operators lead
to O(n2) procedures.
The path-relinking is applied simultaneously from the origin to the target solution
and vice-versa (back and forward). It is also utilized the swap-left and swap-right
operations.
Combinations of movements are possible. For instance, to combine the first and
third option of movement one can stop the local search procedure after a given number of iterations and then do path-relinking among the solution obtained in the local
search and global best solution. Although combinations could be done, in the proposed algorithms, no combination of movements was implemented. Initial probabilities are assigned to each one of the three possible movements. These probabilities
change as the algorithm runs. A general framework of the algorithm implemented in
this work is listed in the following.
104
E.F.G. Goldbarg, G.R. de Souza, and M.C. Goldbarg
procedure PSO_TSP
{
Define initial probabilities for particles’ moves:
p1 = x /*to follow its own way*/
p2 = y /*to go forward pbest*/
p3 = z /*to go forward gbest*/
/* x+y+z=1 */
Initialize a population of particles
do
for each particle p
Evaluate particle p
If the value of p is better than the value of pbest
Then, update pbest with p
end_for
Define gbest as the particle with the best value
for each particle p do
Choose p’s velocity
Update p’s position
end_for
Update probabilities:
p1 = p1×0.95; p2 = p2×1.01; p3 = 100%-(p1+p2)
while (a stop criterion is not satisfied)
}
At the beginning, the algorithm defines the probabilities associated with each velocity for the particles, where p1, p2 and p3 correspond, respectively, to the likelihood
that the particle follows its own way, goes toward the best previous position and goes
toward the best solution found so far. Then, the algorithm proceeds modifying the
particle’s position according to the velocity operator randomly chosen. Finally, the
probabilities are updated.
Initially, a high probability is set to p1, and low values are assigned to p2 and p3.
The goal is to allow that individualistic moves occur more frequently in the first iterations. During the execution this situation is being modified and, at the final iterations,
p3 has the highest value. The idea is to intensify the search in good regions of the
search space in the final iterations.
Particle Swarm for the Traveling Salesman Problem
105
Particles are initialized with a random adaptive version of the heuristic nearest
neighbor [2]. The procedure is similar to the construction phase of a GRASP algorithm [7]. At first, a city is randomly chosen, then, other cities are added to the
solution in each step. A restricted candidate list is built with the 5% cities closest to
the last one inserted in the solution. A city is chosen at random from this list and is
added to the solution. This step is repeated until a TSP solution is completed.
4 Computational Experiments
The proposed algorithms were implemented in C++ on a Pentium IV (3.0 GHz and
512 Mb of RAM) running Linux. The algorithms were applied to symmetric instances
of the benchmark TSPLIB [22] with sizes ranging from 51 to 7397. The stop criteria
were:
• To find the optimum
• To reach a maximum number of iterations = 2000
• To reach a maximum number of iterations with no improvement of the best current
solution = 20
• To reach a maximum processing time = 60 seconds for instances with n < 1000,
300 seconds when 1000 ≤ n < 5000, 1000 seconds when 5000 ≤ n < 7000 and 2000
seconds for n ≥ 7000.
The population had a fixed size with 20 particles.
A first experiment compared the two proposed algorithms in 11 symmetric instances with sizes ranging from 51 to 2103. Twenty independent runs of each algorithm were performed. The results are showed in Table 1 in terms of percent deviation
from the optimal solution. This gap is computed with equation (3), where Sol and Opt
denote, respectively, the (best or average) solution obtained by the algorithm and the
optimal solution.
(Sol – Opt)×100/Opt
(3)
The columns show the name of the TSPLIB instances, the best solution (Min) and
the average solution of the two versions of the proposed PSO algorithms denoted by
PSO-INV and PSO-LK, the versions with the inversion and LK local search procedures, respectively.
Not surprisingly, PSO-LK exhibits a better performance than PSO-INV, since the
local search procedure embedded in the former version is more powerful than the local search procedure of the latter version. However, a comparison of the results of the
weakest version of the proposed algorithm with the ones reported in the work of Pang
et al. [19] reveals that the former finds the best results. Once Wang et al. [26] reported
results just for one asymmetric TSP instance, the authors implemented their algorithm
in order to compare its performance with the proposed algorithm. Table 2 shows the
best results (percent deviations) of the weakest version of the proposed algorithm,
PSO-INV, and of the algorithms PSO-P [19] and PSO-W [26] for the three
TSP symmetric instances with n > 50 of the computational experiment reported by
Pang et al. [19].
106
E.F.G. Goldbarg, G.R. de Souza, and M.C. Goldbarg
Table 1. Comparison of the two versions of the proposed algorithms
Instances
eil51
berlin52
eil76
rat195
pr299
pr439
d657
pr1002
d1291
rl1304
d2103
PSO-INV
Min
Av
0.2347
1.9836
0
2.0041
2.4164
4.5167
5.8114
8.7581
5.8476
7.9952
4.4200
8.0111
6.9656
9.6157
9.8574
11.1900
13.2104
15.5505
10.4432
11.9942
16.7383
18.4180
PSO-LK
Min
Av
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0.0113
0
0
0.0087 0.0267
Table 2. Comparison of two PSO heuristics with PSO-INV
Instance
eil51
berlin52
eil76
PSO-W
114
115
162
PSO-P
2.54
2.12
4.75
PSO-INV
0.2347
0
2.4164
The results showed in Table 2 correspond to the best solution found in 20 independent runs. The proposed algorithm PSO-INV was also applied to the asymmetric
instance br17 reported by Wang et al. [26]. The results are showed in Table 3, where
columns show the algorithm, the best and average percent deviation from the optimal
solution, and the average runtime in seconds.
Table 3. Comparison of PSO-INV and PSO-W for the TSPLIB instance br17
Algorithm
PSO-INV
PSO-W
Min
0
0
Average
0
16.66
T (s)
< 0.01
60.04
A computational experiment investigated the differences between the results obtained
by the LK procedure [2] and the PSO-LK algorithm. This experiment aimed at finding
out if the proposed PSO approach was able to improve the LK [2] results. Table 4 shows
the percent difference from the optimum, for 30 TSPLIB symmetric instances with n
ranging from 439 to 7397. Bold elements mark when an improvement occurred. Twenty
independent runs of each algorithm were performed. The columns T show the average
time of each algorithm in seconds. From the thirty instances of the experiment, the PSO
approach was able to improve twenty-three minimal results and all the averages. A statistical analysis shows that, the means of columns Min and Average of LK are 0.1115,
0.3431, respectively. The means of PSO-LK are 0.0022 and 0.0154. Although the runtimes of PSO-LK are higher than the LK, in average, improvements of 98% and 95%
were achieved on the best and mean results, respectively.
Particle Swarm for the Traveling Salesman Problem
107
Table 4. Comparison of LK and PSO-LK results
Instance
pr439
pcb442
d493
rat575
p654
d657
rat783
dsj1000
pr1002
u1060
vm1084
pcb1173
d1291
rl1304
rl1323
nrw1379
fl1400
fl1577
vm1748
u1817
rl1889
d2103
u2152
pr2392
pcb3038
fl3795
fnl4461
rl5915
rl5934
pla7397
Min
0.0000
0.0000
0.0029
0.0295
0.0000
0.0020
0.0000
0.0731
0.0000
0.0085
0.0017
0.0000
0.0039
0.0202
0.0463
0.0547
0.0000
0.7371
0.0903
0.1976
0.1836
0.0597
0.2381
0.0775
0.1598
0.5665
0.0882
0.3528
0.2221
0.1278
LK
Average
0.0463
0.1119
0.1216
0.1277
0.0078
0.1500
0.0704
0.2973
0.1318
0.1786
0.0669
0.1814
0.4333
0.3984
0.2300
0.1354
0.1215
2.2974
0.1311
0.5938
0.3844
0.3085
0.5548
0.3904
0.2568
1.0920
0.1717
0.5343
0.4761
0.2912
T (s)
0.88
0.67
2.21
0.62
3.72
1.70
0.90
5.89
1.96
3.12
2.59
1.78
1.79
2.67
2.34
2.45
14.87
6.30
4.66
1.88
4.58
2.82
2.16
3.78
5.42
15.60
9.08
10.08
10.65
21.85
Min
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0027
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0017
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0101
0.0000
0.0296
0.0122
0.0012
0.0075
PSO-LK
Average
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0031
0.0000
0.0000
0.0010
0.0001
0.0000
0.0000
0.0092
0.0085
0.0000
0.0135
0.0018
0.0863
0.0073
0.0043
0.0717
0.0021
0.0396
0.0142
0.0462
0.0633
0.0650
0.0253
T (s)
0.78
0.80
19.38
6.47
1.90
12.42
5.25
178.48
9.50
38.18
34.74
48.18
29.86
21.62
225.32
417.80
15.42
461.99
854.17
789.18
894.43
1137.56
1415.32
577.78
323.94
621.63
583.78
1359.25
983.04
1563.22
Finally, Table 5 shows a comparison of the results obtained by PSO-LK and three
effective heuristics: Tourmerge [4], NYYY iterated Lin-Kermighan variant (reported
at http://www.research.att.com/~dsj/chtsp/) and JM iterated Lin-Kernighan variant.
The results of these heuristics were obtained in the DIMACS Challenge page:
http://www.research.att.com/~dsj/chtsp/results.html.
The columns related to PSO-LK show the best and average tours found in twenty
independent runs. The columns related to the Tourmerge algorithm show the best and
average tours obtained in five independent runs. Results are not reported for instances
fnl446 and pla7397. The columns related to the NYYY and JM iterated LinKernighan variants show the best tours obtained in ten n iterations runs.
108
E.F.G. Goldbarg, G.R. de Souza, and M.C. Goldbarg
Table 5. Comparison of heuristics for TSP symmetric instances
Instance
dsj1000
pr1002
u1060
vm1084
pcb1173
d1291
rl1304
rl1323
nrw1379
fl1400
fl1577
vm1748
u1817
rl1889
d2103
u2152
pr2392
pcb3038
fl3795
fnl4461
rl5915
rl5934
pla7397
PSO-LK
Min
Average
0.0027
0.0031
0
0
0
0
0
0.0010
0
0.0001
0
0
0
0
0
0.0092
0.0017
0.0085
0
0
0
0.0135
0
0.0018
0
0.0863
0
0.0073
0
0.0043
0
0.0717
0
0.0021
0.0101
0.0396
0
0.0142
0.0296
0.0462
0.0122
0.0633
0.0012
0.0650
0.0075
0.0253
Tourmerge
Min
Average
0.0027
0.0478
0
0.0197
0
0.0049
0
0.0013
0
0.0018
0
0.0492
0
0.1150
0.01
0.0411
0
0.0071
0
0
0
0.0225
0
0
0.0332
0.0804
0.0082
0.0682
0.0199
0.3170
0
0.0794
0
0.0019
0.0036
0.0327
0
0.0556
----0.0057
0.0237
0.0023
0.0104
-----
ILKNYYY
Nb10
0
0
0.0085
0.0217
0
0
0
0.01
0.0247
0
0
0
0.1643
0.0082
0.0559
0
0.0050
0.0247
0
0.0449
0.0580
0.0115
0.0209
ILKJM
Nb10
0.0063
0.1482
0.0210
0.0217
0.0088
0
0
0
0.0018
0
0
0
0.2657
0.0041
0
0.1743
0.1495
0.1213
0.0104
0.1358
0.0168
0.1723
0.0497
From the twenty-one instances for which Tourmerge presented results, PSO-LK
finds five best minimal results, Tourmerge finds three best minimal results and both
algorithms find the same quality tours for thirteen instances. Regarding average results Tourmerge finds the best values on six instances and PSO-LK finds the best values on thirteen instances. The mean values of the “Min” and “Average” columns for
the twenty-one instances are 0.0013 and 0.0186 for PSO-LK and 0.0041 and 0.0467
for Tourmerge. These results show that, in average, PSO-LK has a better performance
than Tourmerge regarding minimal and average results.
Comparing the proposed algorithm with the NYYY iterated Lin-Kernighan variant,
one can observe that from the twenty-three instances of the experiment, PSO-LK
finds the best tours for thirteen instances, ILK-NYYY finds the best results for one instance and same results are found for nine instances. The averages of the best results
of these two algorithms for the twenty-three instances are 0.0028 and 0.0199, PSOLK and ILK-NYYY, respectively.
The comparison with the JM iterated Lin-Kernighan version shows that the PSOLK algorithm finds the best results for sixteen instances and both algorithms find the
same tours quality for seven instances. The averages for PSO-LK and ILK-JM are
0.0028 and 0.0569, respectively.
Particle Swarm for the Traveling Salesman Problem
109
5 Conclusions
This paper presented a PSO algorithm for the TSP where the concept of velocity is
differentiated when the particle has to follow its own way and when it goes forward
someone’s position. Local search procedures were applied in the former and pathrelinking operations were applied in the latter case.
Although some works where PSO algorithms were applied to the TSP were presented previously, those algorithms did not reported results which could be compared
with the ones obtained by effective heuristics. In this work, an effective PSO approach was presented for the TSP which results were compared with three high quality heuristics for this problem. The comparison showed that the proposed algorithm
outperforms the three heuristics regarding best tours. The comparison among the average results of PSO-LK and the Tourmerge also shows that the first heuristics finds
better results.
References
1. Aarts, E., Lenstra, J.K.: Local Search in Combinatorial Optimization. John Wiley & Sons,
Chichester, England (1997)
2. Bellmore, M., Nemhauser, G.L.: The Traveling Salesman Problem: A Survey. Operations
Research Vol. 16 (1968) 538–582
3. Concorde TSP Solver: http://www.tsp.gatech.edu/concorde.html. Last access on
01/18/2005
4. Cook, W.J., Seymour, P.: Tour Merging via Branch-decomposition. INFORMS Journal on
Computing Vol. 15 (2003) 233-248
5. Dorigo, M., Gambardella, L.M.: Ant Colony System: A Cooperative Learning Approach
to the Traveling Salesman Problem. IEEE Transactions on Evolutionary Computation
vol. 1, N. 1 (1997) 53-66
6. Eberhart, R.C., Shi, Y.:Comparing Inertia Weights and Constriction Factors in Particle
Swarm Optimization. In: Proceedings of the 2000 Congress on Evolutionary Computation
Vol. 1 (2000) 84-88
7. Feo, T.A., Resende, M.G.C.: A Probabilistic Heuristic for a Computationally Difficult Set
Covering Problem. Operations Research Letters Vol. 8 (1989) 67–71
8. Glover, F.: Parametric Combinations of Local Job Shop Rules. Chapter IV, ONR Research
Memorandum N. 117, GSIA, Carnegie Mellon University, Pittsburgh, PA (1963)
9. Glover, F., Laguna, M., Martí, R.: Fundamentals of Scatter Search and Path Relinking.
Control and Cybernetics Vol. 29, N. 3 (2000) 653-684
10. Gutin, G., Punnen, A. P. (Ed.): Traveling Salesman Problem and Its Variations. Kluwer
Academic Publishers (2002)
11. Heppner, F., Grenander, U.: A Stochastic Nonlinear Model for Coordinated Bird Flocks.
In: Krasner, S. (eds.), The Ubiquity of Caos, AAAS Publications, Washington, DC (1990)
12. Holland, J. H.: Adaptation in Natural and Artificial Systems, University of Michigan
Press, Ann Arbor, MI (1975)
13. Johnson, D. S., McGeoh, L.A.: Experimental Analysis of Heuristics for the STSP. In: Guttin, G., Punnen, A.P. (eds.): Traveling Salesman Problem and Its Variations, Kluwer Academic (2002)
110
E.F.G. Goldbarg, G.R. de Souza, and M.C. Goldbarg
14. Kennedy, J., Eberhart, R.: Particle Swarm Optimization, Proceedings of the IEEE International Conference on Neural Networks Vol. 4 (1995) 1942-1948
15. Lin, S., Kernighan, B.: An Effective Heuristic Algorithm for the Traveling-salesman Problem. Operations Research Vol. 21 (1973) 498-516
16. Machado, T.R., Lopes, H.S.: A Hybrid Particle Swarm Optimization Model for the Traveling Salesman Problem. In: Ribeiro, H., Albrecht, R.F., Dobnikar, A. (eds.): Natural Computing Algorithms, Wien: SpringerWienNewYork (2005) 255-258
17. Moscato, P.: On Evolution, Search, Optimization, Genetic Algorithms and Martial Arts:
Towards Memetic Algorithms, Caltech Concurrent Computation Program, C3P Report
826, 1989
18. Onwubulu, G.C., Clerc, M.: Optimal Path for Automated Drilling Operations by a New
Heuristic Approach Using Particle Swarm Optimization. International Journal of Production Research Vol. 42, N. 3 (2004) 473-491.
19. Pang,W., Wang, K.-P., Zhou, C.-G., Dong, L.-J., Liu, M., Zhang, H.-Y., Wang, J.-Y.:
Modified Particle Swarm Optimization Based on Space Transformation for Solving Traveling Salesman Problem. Proceedings of the Third International Conference on Machine
Learning and Cybernetics (2004) 2342-2346
20. Pomeroy, P.: An Introduction to Particle Swarm Optimization. Electronic document available at www.adaptiveview.com/ipsop1.html
21. Reeves, W.T.: Particle Systems Technique for Modeling a Class of Fuzzy Objects. Computer Graphics Vol. 17, N. 3 (1983) 359-376
22. Reinelt, G.: TSPLIB, 1995. Available: http://www.iwr.uni-heidelberg.de/iwr/comopt/ software/TSPLIB95/
23. Reynolds, C. W.: Flocks, Herds and Schools: a Distributed Behavioral Model, Computer
Graphics Vol. 21, N. 4 (1987) 24-34
24. Reynolds, R. G.: An Introduction to Cultural Algorithms. In: Proceedings of Evolutionary
Programming, EP94, World Scientific, River Edge, NJ (1994) 131-139
25. Shi, Y., Eberhart, R.C.: Parameter Selection in Particle Swarm Optimization. Evolutionary
Progamming VII, Proceedings of EP98, New York (1998) 591-600
26. Wang, K.-P., Huang, L., Zhou, C.-G., Pang, W.: Particle Swarm Optimization for Traveling Salesman Problem. Proceedings of the Second International Conference on Machine
Learning and Cybernetics (2003) 1583-1585
Hierarchical Cellular Genetic Algorithm
Stefan Janson1 , Enrique Alba2 ,
Bernabé Dorronsoro2, and Martin Middendorf1
1
Department of Computer Science, University of Leipzig, Germany
{janson, middendorf}@informatik.uni-leipzig.de
2
Department of Computer Science, University of Málaga, Spain
{eat, bernabe}@lcc.uma.es
Abstract. Cellular Genetic Algorithms (cGA) are spatially distributed
Genetic Algorithms that, because of their high level of diversity, are superior to regular GAs on several optimization functions. Also, since these
distributed algorithms only require communication between few closely
arranged individuals, they are very suitable for a parallel implementation. We propose a new kind of cGA, called hierarchical cGA (H-cGA),
where the population structure is augmented with a hierarchy according
to the current fitness of the individuals. Better individuals are moved towards the center of the grid, so that high quality solutions are exploited
quickly, while at the same time new solutions are provided by individuals at the outside that keep exploring the search space. This algorithmic
variant is expected to increase the convergence speed of the cGA algorithm and maintain the diversity given by the distributed layout. We
examine the effect of the introduced hierarchy by observing the variable
takeover rates at different hierarchy levels and we compare the H-cGA
to the cGA algorithm on a set of benchmark problems and show that
the new approach performs promising.
1
Introduction
The cellular Genetic Algorithm (cGA) [1] is a kind of decentralized GA in which
the population is arranged in a toroidal grid, usually of dimension 2. The characteristic feature of cGAs is a neighbourhood for each individual that is restricted
to a certain subset of individuals in the immediate vicinity of its position. Individuals are allowed to interact only with other individuals belonging to their
neighbourhood. This endows the cGA with useful properties for the optimization [2, 3] and also facilitates a parallel implementation because of its inherent
parallel design. The cGA has already been successfully implemented on parallel
platforms [1, 4] and in sequential computers [5].
While the distributed arrangement of the population of the cGA preserves
a high level of diversity, it can delay the convergence speed of the algorithm
because the cooperative search by the entire population is restricted. In order to
increase the convergence speed of the cGA algorithm, we introduce a hierarchy
into the grid population that orders the individuals according to their current
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 111–122, 2006.
c Springer-Verlag Berlin Heidelberg 2006
112
S. Janson et al.
fitness. Such a population hierarchy has already been successfully applied to particle swarm optimization algorithms [6]. Here the convergence speed of the PSO
algorithm was accelerated after using a hierarchical population when solving
several continuous optimization problems.
In this work we examine the effect of introducing a hierarchy into a cellular
Genetic Algorithm. Our new algorithm is called Hierarchical Cellular Genetic
Algorithm (H-cGA). In the H-cGA a hierarchy is established within the population of a regular cGA by arranging individuals according to their fitness: the
worse the fitness value of an individual is, the farther it is located from the center
of the population. Thus, in this hierarchical population, the best individuals are
placed in the center of the grid where they can mate with other high quality individuals. This way we hope to reach better solutions faster, while still preserving
the diversity provided by a locally restricted parent selection and keeping the
opportunity of an efficient parallel implementation.
The paper is structured as follows. In Section 2 we present our newly proposed
algorithm, H-cGA, as well as a new selection operator we have designed for
this algorithm. We provide a closer examination of the takeover behaviour of
the algorithm in Section 3. Section 4 contains experiments on a benchmark of
functions, where the performance of the H-cGA algorithm is compared with
that of a canonical cGA. Finally, we give our conclusions and further research
directions for our new approach.
2
The H-cGA Algorithm
In this section we present the hierarchical cGA algorithm. First we will briefly
outline the procedure of a cellular GA. Then we describe the hierarchical ordering
of the population that is introduced for the H-cGA algorithm and how this
ordering is obtained. After that we introduce a new selection operator for this
algorithm.
In a Cellular GA [1] the population is mapped onto a 2-dimensional toroidal
grid of size x × y, where an individual can only mate with individuals within
a locally restricted neighbourhood. In each generation, an offspring is obtained
for every individual, where one of the parents is the current individual and
the other one is selected from its neighbourhood. Each offspring is mutated
with a given probability, and replaces the current individual, if it has a better
fitness value. The offspring (or the current individual, if better) is stored in a
temporary auxiliary population, and this population replaces the whole current
one after each generation. In the H-cGA algorithm the population is re-arranged
after every generation with the hierarchical swap operation, as described in the
following section. In Algorithm 1. we give a pseudocode of H-cGA.
2.1
Hierarchy
The hierarchy is imposed on the cellular population of the GA by defining a
center at position (x/2, y/2) and assigning hierarchy levels according to the
Hierarchical Cellular Genetic Algorithm
113
Algorithm 1. Pseudocode of H-cGA
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
proc Steps Up(hcga)
//Algorithm parameters in ‘hcga’
while not TerminationCondition() do
for x ← 1 to WIDTH do
for y ← 1 to HEIGHT do
n list←Compute Neigh(cga,position(x,y));
parent1←Individual At(cga,position(x,y));
parent2←Local Select(n list);
Recombination(cga.Pc,n list[parent1],n list[parent2],aux ind.chrom);
Mutation(cga.Pm,aux ind.chrom);
aux ind.fit←cga.Fit(Decode(aux ind.chrom));
Insert New Ind(position(x,y),aux ind,cga,aux pop);
end for
end for
cga.pop←aux pop;
Swap Operation(cga.pop);
Update Statistics(cga);
end while
end proc Steps Up;
3
2
1
1
2
3
6
5
4
3
3
4
5
6
5
4
3
2
2
3
4
5
4
3
2
1
1
2
3
4
3
2
1
0
0
1
2
3
3
2
1
0
0
1
2
3
4
3
2
1
1
2
3
4
5
4
3
2
2
3
4
5
6
5
4
3
3
4
5
6
3
2
1
1
2
3
Fig. 1. The H-cGA and its different hierarchy levels
distance from the center. The center has level 0 and the level increases with
increasing distance to the center (compare Fig. 1). The hierarchy is updated
after each iteration of the cGA and individuals with high fitness are moved
towards the center. Note, that the population topology is still toroidal when
selecting parents.
In Fig. 1 we show how this swap operation is performed. It is applied between
cells indicated by the arrows, in the order denoted by the numbers outside of the
grid. The update of the hierarchy is performed alternatingly horizontally (black)
and vertically (grey) by the swap operation. We assume an even number for the
population dimensions x and y, so that the population can be uniquely divided
114
S. Janson et al.
into left (upper) and right (lower) half, for the horizontal (vertical) swap. Note,
that this implies that there are 4 individuals in the center of the population, i.e.
on the highest level of the hierarchy.
In the following we describe the horizontal swap operation, the vertical swap
is done accordingly. Each individual (i, j) in the left half compares itself with
its left neighbor (i − 1, j) and if this one is better they swap their positions.
These comparisons are performed starting from the center of the grid towards
the outside, see Fig. 1. Thus, at first individuals in columns (i, x2 − 1) and
(i, x2 − 2) , for i = 0, . . . , y, are compared. If the fitness value at position (i, x2 − 2)
is better they swap positions. These pairwise comparisons are then continued towards the outside of the grid. Hence, an individual can advance only one level
at a time but can drop several levels within one iteration.
2.2
Dissimilarity Selection
The proposed hierarchy promotes the recombination of good individuals within
the population. In this respect, H-cGA is similar to a panmictic GA with a
fitness-biased selection. In our H-cGA algorithm this selective recombination
of the elite individuals of the population is already included in the hierarchy.
Therefore, we examined a new selection operator that is not based on the relative fitness of the neighbouring individuals but instead considers the difference
between the respective solution strings. As for the Binary Tournament (BT) selection, two neighbours are selected randomly, but in contrast to BT, where the
better one is selected, the one that is more different from the focal individual
is selected. All the considered problems are binary encoded, hence we use the
Hamming-Distance for determining the dissimilarity.
The overall optimization progress of the algorithm is ensured by only replacing
an individual if the newly generated individual, by crossover and mutation, is
better than the previous one.
3
First Theoretical Results: Takeover Times
We are providing a closer examination of the properties of the proposed algorithm by studying the takeover time of the algorithm and comparing it to that
of a canonical cGA. The takeover time is the time required until a single best
individual has filled the entire population with copies of itself under the effects
of selection only. First we are looking at a deterministic takeover process, where
the best individual within the neighbourhood is always selected. Later we also
consider BT selection and the newly proposed Dissimilarity selection. Initially
all individuals get assigned random fitness values from [0:4094] and one individual gets the maximum fitness value of 4095. Then the selection-only algorithm is
executed and the proportion of the entire population that holds the maximum
fitness value at each iteration is recorded. The considered grid is of size 64 × 64
and hence the population consists of 4096 individuals.
Hierarchical Cellular Genetic Algorithm
115
1
0.9
Level
62
61
60
59
58
57
56
55
50
40
30
20
10
0
Best Individual Proportion
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
10
20
30
40
Iterations
50
60
Fig. 2. Takeover curve for initially placing the best individual at different levels
In the H-cGA the different levels of the hierarchy influence the time required
for takeover. In order to accurately determine this influence, we use the deterministic selection operator. The best individual is initially placed on each possible
position on the grid and the takeover time for these 4096 different setups is measured. Then the results for all positions on a specific level of the hierarchy are
averaged to obtain the takeover rate for introducing the best individual at this
particular level. In Fig. 2 the obtained takeover curves are shown for introducing
the best individual at different levels of the hierarchy. The slowest takeover rate
is achieved when placing the best value at the center of the grid on level 0. This
takeover rate is identical to the deterministic takeover for the regular cGA. The
hierarchy level 62 consists of the 4 cells on the corners of the grid, where the
fastest takeover rate is obtained. This increasing takeover speed with increasing
hierarchy level is very regular, as can be seen in the detail display of iteration
30. The reason why having the best individual near the outside of the hierarchy
accelerates takeover is, that, since for selection the topology is still toroidal, adjacent individuals on the opposite end of the grid also adopt the highest fitness
value at the beginning of the run. Then the hierarchy swap operation moves the
maximal value towards the center from several sides and therefore the actual
takeover speed is increased.
We also measured the time required for takeover with BT and Dissimilarity selections. The best individual was placed at a random position and the
experiments were repeated 100 times. For the experiments with Dissimilarity
selection, the individuals are using a binary string that corresponds to the 12
116
S. Janson et al.
bit representation of their current fitness value. Our results are shown in Table 1
(average number of iterations, standard deviation, minimum and maximum). As
can be seen, initially placing the best individual at the center (H-cGA level 0)
slows down the takeover compared to the regular cGA algorithm. This is because once the maximal value spreads it will be delayed until all of the central
cells hold the best fitness value, otherwise it will be swapped towards the center
again. In the two algorithms, the use of the BT selection induces a higher selection pressure than in the case of using the Dissimilarity selection. After applying
the Kruskal-Wallis test (in some cases the data were not normally distributed)
to the results in Table 1, we obtained that there exist statistically significant
differences at a 95% confidence level.
Table 1. Takeover times for the algorithms with BT and Dissimilarity selections
3.1
Algorithm
Avg Stddev Min–Max
cGA BT
cGA Dis
H-cGA BT
H-cGA Dis
H-cGA BT level 0
H-cGA BT level 62
75.2
78.7
71.0
79.6
81.5
46.3
±
±
±
±
±
±
1.5
1.7
6.3
3.8
1.5
2.1
72.0– 80.0
75.0– 83.0
48.0– 81.0
71.0– 89.0
78.0– 87.0
42.0– 57.0
Fitting of the Takeover Curves
The takeover time decreases as the level at which the best individual is introduced increases, as shown in Fig. 2. In order to observe this distinction more
precisely, we fitted the obtained takeover curves with a parameterized function,
so that we can simply compare the respective fitting parameter.
The takeover time in Genetic Algorithms is usually fitted by a logistic growth
curve (1) that models bounded population growth at a rate of a [7]. The size
of the population at time t is given by N (t) and the number of individuals at
the beginning is N (0). This growth curve is not applicable to the cGA, because
instead it exhibits quadratic growth [8]. We used a simple formulation for the
quadratic growth in the first half and the symmetrical saturation phase in the
second half of the takeover (2). This quadratic growth curve is also controlled
by a single parameter a.
N (t) =
N (t) =
1
1 + ( N1(0) − 1) e−at
a t2
if t < T /2,
−a (t − T )2 + 1 otherwise.
(1)
(2)
We fitted the parameter a to the takeover curves obtained for different levels
of the hierarchy. This is done by minimizing the mean squared error (MSE)
Hierarchical Cellular Genetic Algorithm
0.0018
1
0.0016
0.8
Deterministic Takeover
Binary Tournament
0.0014
Fitting Parameter a
Best Individual Proportion
117
0.6
0.4
Level 0
Level 62
Quadratic Fitting
Logistic Fitting
0.2
0.0012
0.001
0.0008
0.0006
0.0004
0.0002
0
0
10
20
30
40
50
0
60
Fig. 3. Takeover curves fitted
10
20
30
40
50
60
Hierarchy Level
Iterations
Fig. 4. The parameter a for different
levels
between the observed data points and the parameterized curve. In Fig. 3 the
deterministic takeover curves for introducing the best individual at level 0 and
level 62 and the respective fitted curves are reported.
Similar to the takeover curves at different levels, the parameters for fitting
these curves are also well ordered. In Fig. 4 we depict the parameter a returned
by the fitting for the different levels. This is done for deterministic takeover and
takeover with BT selection. The growth rates for the deterministic takeover are
fully ordered and, with few exceptions, also for the BT takeover a increases as
the level increases.
4
Computational Experiments
In this section, we present the results of our tests on a selected benchmark of
problems. We briefly describe the problems composing the benchmark used in our
testing in Section 4.1, and test the algorithms on those problems in Section 4.2.
4.1
Test Problems
For testing our algorithms, we have selected a benchmark of problems with many
different features, such as multimodality, deceptiveness, use of constraints, or
problem generators. The proposed problems are Onemax, the Massively Multimodal Deceptive Problem (MMDP), P-PEAKS, and the Minimum Tardy Task
Problem (MTTP). We show in Table 2, for each of these problems, the fitness
function to optimize, the chromosome length (size of the problem), and the value
of this optimum.
Onemax. The objective of the Onemax [9] problem is to maximize the number
of 1s in the binary string. We are considering strings of length 500 bits.
MMDP. The Massively Multimodal Deceptive Problem (MMDP) is a problem
specifically designed for being difficult to solve by evolutionary algorithms [10].
It consists of k deceptive subproblems each of size 6 bits. These substrings are
118
S. Janson et al.
Table 2. Benchmark of problems
Problem
x
f (x) =
fitness(s ); k = n/6
f (s) =
Fitness function
n
Optimum
n
Onemax
i
500
500
240
40
100
1.0
20
100
200
0.02429
0.005
0.0025
i=1
k
MMDP
i
i=1
= n1 max {n
1≤i≤p
P-PEAKS
f (x)
MTTP
f (x) =
− HamDist(x, Peaki )}
x ·w
n
i
i
i=1
evaluated according to the number of ones in the substring as given in Fig. 5.
It is easy to see that these subfunctions have two global obtima and a deceptive
attractor in the middle point. We are using an instance of size k = 40 with
optimum value 40.0. The number of local optima for this instance is very large
(22k ), while there are only 2k global solutions.
Subfunction value
1.000000
0.000000
0.360384
0.640576
0.360384
0.000000
1.000000
Massively Multimodal Deceptive Problem
Subfunction Value
Unitation
0
1
2
3
4
5
6
1.0
0.8
0.6
0.4
0.2
0.0
0
1
2
3
4
5
6
Unitation
Fig. 5. Basic deceptive bipolar function (si ) for MMDP
P-PEAKS. In this multimodal problem generator [11] P peaks are generated
and the fitness value is calculated as the distance to the nearest peak divided by
the string length, having a maximum value of 1.0. We are using a test instance
with 100 peaks of length 100.
MTTP. The Minimum Tardy Task Problem (MTTP) [12] is a task scheduling
problem. Each task has a length (the time it takes), a deadline (before which it
has to be finished), and a weight wi . The objective is to maximize the weights
of the scheduled tasks. We are considering here three instances of sizes 20, 100
and 200, taken from [13].
4.2
Results
In this section we present and analyze the results of our experiments. We compare the behaviour of H-cGA to the cGA algorithm. The same parametrization is
used for the two algorithms (see Table 3), and both BT and Dissimilarity selection have been tested. We used a population of size 400 arranged in a grid of size
Hierarchical Cellular Genetic Algorithm
119
Table 3. Parametrization used in our algorithms
Population
Selection of Parents
Recombination
Bit Mutation
Replacement
Stopping Criterion
20 × 20 individuals
itself + (BT or Dissimilarity)
DPX, pc = 1.0
Bit-flip, pm = 1/#bits
Replace if Better
Find Optimum or Reach 2500 Generations
Table 4. Results for the different test functions. Given are the success rate, average
number of required steps to reach the optimum, standard deviation, maximum and
minimum, and statistical significance of the results.
Problem
Onemax
MMDP
P-Peaks
MTTP-20
MTTP-100
MTTP-200
Algorithm
cGA BT
cGA Dis
H-cGA BT
H-cGA Dis
cGA BT
cGA Dis
H-cGA BT
H-cGA Dis
cGA BT
cGA Dis
H-cGA BT
H-cGA Dis
cGA BT
cGA Dis
H-cGA BT
H-cGA Dis
cGA BT
cGA Dis
H-cGA BT
H-cGA Dis
cGA BT
cGA Dis
H-cGA BT
H-cGA Dis
Success
100%
100%
100%
100%
67%
97%
55%
92%
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
100%
Avg
Stddev
Min– Max p-value
129.4
± 7.3 111.2–145.2
140.7
± 8.1 121.6–161.2
94.1
± 5.0 83.2–106.4
103.1
± 5.6 90.4–116.8
202.4 ± 154.7 120.8–859.2
179.8 ± 106.3 116.8–846.0
102.6 ± 76.1 68.8–652.8
122.3 ± 111.7 73.2–837.6
41.9
± 3.0 32.0– 48.4
52.9
± 5.2 38.4– 66.0
47.2
± 8.6 30.8– 71.2
81.1 ± 17.1 45.2–130.8
5.1
± 1.2
1.6– 8.0
6.0
± 1.3
2.0– 9.2
4.7
± 1.1
1.6– 7.2
5.5
± 1.2
2.8– 8.0
162.2 ± 29.3 101.6–241.6
174.6 ± 26.3 96.4–238.8
138.3 ± 35.4 62.0–245.6
132.4 ± 26.2 64.0–186.8
483.1 ± 55.3 341.6–632.4
481.0 ± 71.6 258.8–634.8
436.2 ± 79.7 270.4–631.2
395.3 ± 72.6 257.6–578.8
+
+
+
+
+
+
20 × 20 with a Linear5 neighbourhood (the cell itself and its North, East, South
and West neighbours are considered). In all our experiments, one parent is the
center individual itself and the other parent is selected either by BT or Dissimilarity selection (it is ensured that the two parents are different). An individual
is replaced only if the newly generated fitness value is better. The recombination
120
S. Janson et al.
method used is the two point crossover (DPX), and the selected offspring is the
one having the largest part of the best parent. The mutation and crossover probabilities are 1.0 and bit mutation is performed with probability 1/#bits for genome
string of length #bits. In order to have statistical confidence, all the presented results are average over 100 runs, and the analysis of variance –ANOVA– statistical
test (or Kruskal-Wallis if the data is not normally distributed) is applied to the
results. We consider in this paper a 95% confidence level.
In Table 4 we present the results we have obtained for all the test problems.
Specifically, we show the success rate (number of runs in which the optimum
was found), and some measures on the number of evaluations made to find the
optimum, such as the average value, the standard deviation, and the maximum
and minimum values. The results of our statistical tests are in column p-values,
where symbol ‘+’ means that there exists statistically significant differences.
The evaluated algorithms are cGA and H-cGA both with BT and Dissimilarity
selections.
As can be seen in Table 4, both the cGA and the H-cGA algorithms were able
to find the optimum value in each run for all the problems, with the exception
of MMDP. For this problem, the cGA algorithm achieves slightly better success
rates than H-cGA. Regarding the average number of evaluations required to
reach the optimum, the hierarchical algorithm always outperforms cGA, except
for the P-peaks problem. Hence, the use of a hierarchical population allows us
to accelerate the convergence speed of the algorithm to the optimum, while it
retains the interesting diversity management of the canonical cGA.
If we now compare the results of the algorithms when using the two different
studied selection schemes, we notice that with the Dissimilarity selection the
success rate for the MMDP problem can be increased for both the cGA and the
H-cGA algorithm.
Relative Expected Nr of Evalutions
2
cGA
cGA dis
H-cGA
H-cGA dis
1.5
1
0.5
0
ONEMAX
MMDP
P-PEAKS MTTP20 MTTP100 MTTP200
Fig. 6. Expected number of evaluations required to reach the optimum, relative to the
steps required by cGA, for the different benchmark problems
Hierarchical Cellular Genetic Algorithm
121
Fig. 7. Evolution of the population for the cGA (top) and the H-cGA (bottom)
In Fig. 6 we plot the expected number of evaluations, defined as the average
number of evaluations divided by the success rate, required to find the optimum
value for each problem. The displayed results are relative to the expected number
of evaluations for the cGA.
The expected number of evaluations is increased when using the Dissimilarity
selection compared to the equivalent algorithms with BT. For the cGA the Dissimilarity selection was able to reduce the number of required evaluations only
for the MMDP problem. But for the H-cGA it proved to be useful also for the
two large MTTP instances. In general, the expected number of evaluations is
lower for the two studied versions of H-cGA.
Finally, in order to illustrate the effects of using a hierarchical population
in the cGA, we show a sample run of the cGA (top) and the H-cGA (bottom)
algorithm in Fig. 7. The pictures are snapshots of the population taken every 50
iterations for the MDDP problem until the optimum is found (iteration 383 for
cGA and 233 for H-cGA). The darker an individual is coloured the higher its
fitness is; the white cell in the last image contains the maximum fitness. As can
be seen, the H-cGA algorithm quickly focuses on promising solutions, while at
the same time different solutions of lower quality are kept at the outside of the
hierarchy.
5
Conclusions and Future Work
In this work we have presented a new algorithm called hierarchical cGA, or HcGA. We included the idea of establishing a hierarchy among the individuals of
the population of a canonical cGA. With this hierarchical model we achieve different levels of the exploration/exploitation tradeoff of the algorithm in distinct
zones of the population simultaneously. We studied these specific behaviours at
different hierarchy levels by examining the respective takeover rates.
We have compared the H-cGA with two different selection methods to the
equivalent cGAs and the hierarchical algorithm performed better on almost all
test functions. The newly proposed Dissimilarity selection was not useful in all
the scenarios, but for the H-cGA algorithm it improved the performance for both
the MMDP and the MMTP functions. This selection promotes more diversity
into the population but, as a consequence, the convergence is usually slower.
122
S. Janson et al.
Future work will concentrate on other forms of hierarchies, with respect to the
shape or to the criterion that allows ascending in levels. Furthermore, we will
consider position-dependant algorithm changes, to emphasize different search
strategies on different levels of the hierarchy.
References
1. Manderick, B., Spiessens, P.: Fine-grained parallel genetic algorithm. In Schaffer,
J., ed.: Proceedings of the Third International Conference on Genetic Algorithms,
Morgan-Kaufmann (1989) 428–433
2. Alba, E., Tomassini, M.: Parallelism and Evolutionary Algorithms. IEEE Trans.
on Evolutionary Computation 6(5) (2002) 443–462
3. Cant-Paz, E.: Efficient and Accurate Parallel Genetic Algorithms. 2nd edn. Volume 1 of Book Series on Genetic Algorithms and Evolutionary Computation.
Kluwer Academic Publishers (2000)
4. Alba, E.: Parallel Metaheuristics: A New Class of Algorithms. Wiley (2005)
5. Alba, E., Dorronsoro, B.: The exploration/exploitation tradeoff in dynamic cellular evolutionary algorithms. IEEE Trans. on Evolutionary Computation 9(2) (2005)
126–142
6. Janson, S., Middendorf, M.: A hierarchical particle swarm optimizer and its adaptive variant. IEEE Systems, Man and Cybernetics - Part B 35(6) (2005) 1272–1282
7. Goldberg, D., Deb., K. Foundations of Genetic Algorithms. In: A comparative analysis of selection scheme used in genetic algorithms. Morgan Kaufmann Publishers
(1991) 69–93
8. Giacobini, M., Tomassini, M., Tettamanzi, A., Alba, E.: Synchronous and asynchronous cellular evolutionary algorithms for regular lattices. IEEE Transactions
on Evolutionary Computation 9(5) (2005) 489–505
9. Schaffer, J., Eshelman, L.: On crossover as an evolutionary viable strategy. In: 4th
ICGA, Morgan Kaufmann (1991) 61–68
10. Goldberg, D., Deb, K., Horn, J.: Massively multimodality, deception and genetic
algorithms. In: Proc. of the PPSN-2, North-Holland (1992) 37–46
11. Jong, K.D., Potter, M., Spears, W.: Using problem generators to explore the effects
of epistasis. In: 7th ICGA, Morgan Kaufman (1997) 338–345
12. Stinson, D.: An Introduction to the Design and Analysis of Algorithms. The
Charles Babbage Research Center, Winnipeg, Manitoba, Canada (1985 (second
edition, 1987))
13. S.K., Bäck, T., Heitkötter, J.: An evolutionary approach to combinatorial optimization problems. In: Proceedings of the 22nd annual ACM computer science
conference (CSC ’94), New York, NY, USA, ACM Press (1994) 66–73
Improving Graph Colouring Algorithms and
Heuristics Using a Novel Representation
István Juhos1 and Jano I. van Hemert2
1
Department of Computer Algorithms and Artificial Intelligence,
University of Szeged, Hungary, P. O. Box 652., Hungary
[email protected]
2
Institute of Computer Graphics and Algorithms,
Vienna University of Technology, Vienna, Austria
[email protected]
Abstract. We introduce a novel representation for the graph colouring problem, called the Integer Merge Model, which aims to reduce the
time complexity of an algorithm. Moreover, our model provides useful
information for guiding heuristics as well as a compact description for
algorithms. To verify the potential of the model, we use it in dsatur, in
an evolutionary algorithm, and in the same evolutionary algorithm extended with heuristics. An empiricial investigation is performed to show
an increase in efficiency on two problem suites , a set of practical problem
instances and a set of hard problem instances from the phase transition.
Keywords: graph colouring, representation, heuristics, merge model.
1
Introduction
The Graph Colouring Problem (gcp) plays an important role in graph theory. It
arises in a number of applications—for example in time tabeling and scheduling,
register allocation, and printed circuit board testing (see [1–3]). gcp deals with
the assigment of colours to the vertices of an undirected graph such that adjacent
vertices are not assigned the same colour. The primary objective is to minimize
the number of colours used. The minimum number of colours necessary to colour
the vertices of a graph is called the chromatic number. Finding it is an NP-hard
problem, but deciding whether a graph is k-colourable or not is NP-complete [4].
Thus one often relies on heuristics to compute a solution or an approximation.
Graph colouring algorithms make use of adjacency checking during colouring, which plays a key role in the overall performance (see [5–7]). The number
of checks depends on the problem representation and the algorithm that uses
it. The Integer Merge Model (imm) introduced here directly addresses the issues mentioned above. Generally, there are two main data structures used to
represent graphs: the adjacency matrix and the adjacency list. In [6] a novel
graph representation for the colouring problem called the Binary Merge Model
(bmm) is introduced. imm is a generalization of bmm, which is a useful and efficient representation of the gcp ([6, 7]). imm preserves bmm’s beneficial feature
of improving upon efficiency. Moreover, it provides useful information about the
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 123–134, 2006.
c Springer-Verlag Berlin Heidelberg 2006
124
I. Juhos and J.I. van Hemert
graph structure during the colouring process, which enables one to define more
sophisticated colouring algorithms and heuristics with a compact description.
To demonstrate its potential, imm is embedded in the dsatur algorithm [8]—a
standard and effective heuristic gcp solver—and in a meta-heuristic environment
driven by an evolutionary meta-heuristic. On standard problem sets, we compare
the effectiveness and efficiency of these three algorithms, with and without the
use of imm.
2
Representing the Graph k-Colouring Problem
The problem class known as the graph k-colouring problem is defined as follows.
Given a graph G(V, E) which is a structure of nodes and edges, where V =
{v1 , ..., vn } is a set of nodes and E = {(vi , vj )|vi ∈ V ∧ vj ∈ V ∧ i = j} is a set of
edges, the edges define the relation between the nodes (V × V → E). The graph
k-colouring problem is to colour every node in V with one of k colours such that
no two nodes connected with an edge in E have the same colour. The smallest
such k is called the chromatic number, which will be denoted here by χ.
Graph colouring algorithms make use of adjacency checking during the colouring process, which has a large influence on the performance. Generally, when
assigning a colour to a node, all adjacent or coloured nodes must be scanned
to check for equal colouring, so constraint checks need to be performed. The
number of constraint checks performed lies between two bounds, the current
number of coloured neighbours and |V | − 1. With the imm approach the number of checks is greater than zero and less than the number of colours used up
to this point. These bounds arise from the model-induced hyper-graph structure and they guarantee that the algorithms will perform better under the same
search.
2.1
Integer Merge Model
The Integer Merge Model (imm) implicitly uses hyper-nodes and hyper-edges
(see Figure 1). A hyper-node is a set of nodes that have the same colour. A
hyper-edge connects a hyper-node with other nodes, regardless of whether it is
normal or hyper. A hyper-node and a normal-node or hyper-node are connected
by a hyper-edge if and only if they are connected by at least two normal edges.
imm concentrates on the operations between hyper-nodes and normal nodes. We
try to merge the normal nodes with another node, and when the latter is a
hyper-node, a reduction in adjacency checks is possible. These checks can be
performed along hyper-edges instead of normal edges, whereby we can introduce
significant savings. This is because the initial set of normal edges is folded into
hyper-edges. The colouring data is stored in an Integer Merge Table (imt) (see
Figure 2). Every cell (i, j) in this table has non-negative integer values. The
columns refer to the nodes and the rows refer to the colours. A value in cell (i, j)
is greater than zero if and only if node j cannot be assigned a colour i because
of the edges in the original graph V, E. The initial imt is the adjacency matrix
of the graph, hence a unique colour is assigned to each of the nodes. If the
Improving Graph Colouring Algorithms and Heuristics
125
graph is not a complete graph, then it might be possible to reduce the number
of necessary colours. This corresponds to the reduction of rows in the imt. To
reduce the rows we introduce an Integer Merge Operation, which attempts to
merge two rows. When this is possible, the number of colours is decreased by
one. When it is not, the number of colours remains the same. It is achievable
only when two nodes are not connected by a normal edge or a hyper-edge. An
example of both cases is found in Figures 1 and 2.
Definition 1. The Integer Merge Operation ∪ merges an initial row ri into an
arbitrary (initial or merged) row rj if and only if (j, i) = 0 (i.e., the hyper-node
xj is not connected to the node xi ) in the imt. If rows ri and rj can be merged
then the result is the union of them.
Formally, let I be the set of initial rows of the imt and R be the set of all
possible |V | size integer-valued rows (vectors). Then an integer merge operation
is defined as
∪:R×I →R
rj′ := rj ∪ ri ,
rj′ (l)
rj′ , rj ∈ R,
:= rj (l) + ri (l),
ri ∈ I, or by components
l = 1, 2, . . . , |V |
A merge can be associated with an assignment of a colour to a node, because two
nodes are merged if they have the same colour. Hence, we need as many merge
operation as the number of the nodes in a valid colouring of the graph, apart
from the nodes which are coloured initially and then never merged, i.e., a colour
is used only for one node. If k number of rows left in the imt (i.e., the number
of colours used) then the number of integer merge operations was |V | − k, where
k ∈ {χ, . . . , |V |}.
With regard to the time complexity of a merge operation, we can say that
it uses as many integer additions as the size of the operands. In fact, we just
need to increment the value in the row rj , where the corresponding element
in the row ri is non-zero (i.e., has a value of one),that is d(xi ) number of
operations. The number of all operations are at most i d(xi ) = 2|E| for a valid
colouring. This occurs when a list based representation of the rows is applied
in an implementation. Using special hardware instructions available on modern
computers, merge operations can be reduced to one computer instruction. For
instance, a merge operation can be performed as one vdot operation on a vector
machine [9].
When solving a graph colouring while using the original graph representation
for checking violations, approximately |V |2 constraint checks are required to get
to a valid colouring and the imm supported scheme uses at most |V |·κ (κ ≈ χ the
number of colors in the result coloring) number of checks, because each node (|V |
items) has to be compared at most the number of existing hyper-nodes/colours,
which is not more than κ and χ if a solution is found. Hence, their quotient is
the improvement of an imm supported colouring, which is proportional to the
|V |/κ ratio.
126
2.2
I. Juhos and J.I. van Hemert
Permutation Integer Merge Model
The result of colouring a graph after two or more integer merge operations
depends on the order in which these operations were performed. Consider the
hexagon in Figure 1(a) and its corresponding imt in Figure 2. Now let the
sequence P1 = 1, 4, 2, 5, 3, 6 be the order in which the rows are considered for
the integer merge operations, i.e., for the colouring.
This sequence of merge operations results in a 4-colouring of the graph depicted in Figure 1(c). However, if we use the sequence P2 = 1, 4, 2, 6, 3, 5 then
the result will be only a 3-colouring, as shown in Figure 1(e) with the merges
1 ∪ 4, 2 ∪ 6 and 3 ∪ 4. The defined merge is greedy, i.e., it takes a row and tries to
find the first row from the top of the table that it can merge. The row remains
unaltered if there is no suitable row. After performing the sequence P of merge
operations, we call the resulting imt the merged imt.
Fig. 1. Examples of the result of two different merge orders P 1 = 1, 4, 2, 5, 3, 6 and
P2 = 1, 4, 2, 6, 3, 5. The double-lined edges are hyper-edges and double-lined nodes are
hyper-nodes. The P1 order yields a 4-colouring (c), but with the P2 order we get a
3-colouring (e).
Finding a minimal colouring for a graph k-colouring problem using the imt
representation and integer merge operations comes down to finding the sequence
of merge operations that leads to that colouring. This can be represented as
a sequence of candidate reduction steps using the greedy approach described
above. The permutations of this representation form the Permutation Integer
Merge Model (pimm). It is easy to see that these operations and the colouring
are equivalent.
2.3
Extracting Useful Information: Co-structures
The imm can be incorporated into any colouring algorithm that relies on a construction based form of search. The hyper-graph structure introduced can save
considerable computational effort as we have to make only one constraint check
along a hyper-edge instead of checking all the edges it contains. Besides this
favourable property, the model gives incremental insight into the graph structure
Improving Graph Colouring Algorithms and Heuristics
(a) x1 x2 x3 x4 x5 x6
r1
r2
r3
r4
r5
r6
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
0
1
(d)
r1 ∪ r4
r2 ∪ r6
r3
r5
(b)
1
0
1
0
1
0
r1 ∪ r4
r2
r3
r5
r6
x1 x2 x3 x4 x5 x6
0
1
1
0
1
x1 x2 x3 x4 x5 x6
0
2
1
0
1
0
1
0
2
2
0
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
0
2
1
0
0
1
0
0
1
1
0
(e)
1
0
0
0
1
(c)
1
0
1
1
0
r1 ∪ r4
r2 ∪ r5
r3
r6
127
x1 x2 x3 x4 x5 x6
0
1
1
1
1
0
1
0
2
1
0
1
0
1
1
0
1
0
0
1
1
1
1
0
x1 x2 x3 x4 x5 x6
r1 ∪ r4 0
r2 ∪ r6 2
r3 ∪ r5 2
1
0
1
2
2
0
0
0
2
1
1
0
1
0
2
Fig. 2. Integer Merge Tables corresponding to the graphs in Figure 1
with the progress of the merging steps. This information can be used in a beneficial way, e.g., for defining colouring heuristics.
In this section, the co-structures are defined. These structures contain information about some useful graph properties obtained during the merging process.
How this information is used precisely is explained in Sections 3 and 4, where
we describe the two algorithms in which we have embedded the Integer Merge
Model.
In practice the initial graphs are uncoloured, the colouring being performed
by colouring the nodes in steps. Here, we deal with the sub-graphs of the original
graphs defined by the colouring steps. The related merge tables contain partial
information about the original one. For example, let the original graph with its
initial imt be defined by Figure 2.3(a) on which the colouring will be performed.
Taking the x1 , x4 , x2 , x6 , x3 , x5 order of the nodes into account for colouring G,
then P1 = 1, 4, 2, 6, 3, 5 ordered merges of the imt rows will be performed. After
the greedy colouring of the x1 , x4 , x2 nodes there is a related partial or sub-imt
along with the (sub-)hyper-graph. These are depicted in Figure 2.3(b). The 1st
and the 4th rows are merged together, but the 2nd cannot be merged with the
1 ∪ 4 merged row, thus the 2nd row remains unaltered in the related sub-imt.
The left, top, right and bottom bars are defined around the sub-imt to store the
four co-structures (see Figure 2.3(b)).
The left and top co-structures are associated with the original graph and contain
the sum of the rows and the columns of the current imt, respectively. The sum of
the cell values of a row is equal to the sum of the degree of the nodes associated
with the row (merged or initial), while the sum of the elements of the j-th
column provides the coloured degree of the node xj , i.e., the number of coloured
neighbours.
The right and the bottom co-structures supply information about the hypergraph represented by the sub-imt. They are calculated by counting the number
of non-zero values in the rows and columns in the order described. The bottom
bar value is the colour degree, i.e., the number of adjacent colours of a node.
128
I. Juhos and J.I. van Hemert
Fig. 3. The left side shows the partial colouring of the G graph according to the
x1 , x4 , x2 greedy order and the adjacency matrix of the graph. The right one shows the
partial or sub-imt related to this colouring with its co-structures and sub-imt induced
hyper-graph.
The right bar gives the hyper-degree value of the nodes, which is especially
interesting in case of hyper-nodes. The hyper-degree tells us how many different
normal nodes are connected to the hyper-node being examined. This counts a
node once even though it is connected to the hyper-node in question by more
than one normal edge folded in a hyper-edge.
By extending the imt we are able to describe efficient heuristics in a compact
manner. To demonstrate this we will formulate two effective heuristic using the
Integer Merge Model to get novel colouring algorithms. Two kinds of implementations of the two heuristic algorithms are considered during the experiments,
when imm is used and when it is not used.
3
The DSATUR Heuristic
This algorithm of Brélaz’s [8] uses a heuristic to dynamically change the ordering
of the nodes and it then applies the greedy method to colour them. It works as
follows. One node with the highest saturation degree (i.e., number of adjacent
colours) is selected from the uncoloured subgraph and is assigned the lowest
indexed colour that still yields a valid colouring (first-order heuristic). If there
exist several such nodes, the algorithm chooses a node with the highest degree
(second-order heuristic). The result can also be a set of nodes. If this is the case,
we choose the first node in a certain order (third-order ’heuristic’). The top and
bottom co-structures are used to define the dsatur heuristic (see Figure 4). Let
Improving Graph Colouring Algorithms and Heuristics
129
us denote the top co-structure by τt (i.e., the number of coloured neighbours)
and the bottom co-structure by τb (i.e., saturation degree). In our terminology
the highest saturated node is the node which has the largest τb value. Here, τt
is used in the second order heuristic.
Procedure DSATURIM M
1. Find those uncoloured nodes which have the highest saturated value
S = {v|τb (v) = maxu (τb (u)), v, u ∈ V }
2. Choose those nodes from S that have the highest uncoloured-degree
N = arg maxv (d(v) − τt (v))
3. Choose the first row/node from the set N
4. Merge it with the first non-neighbor hyper-node
5. If there exists an uncoloured node then continue with Step 2
Fig. 4. The dsatur heuristic is defined by the imm top (τt ) and bottom (τ b ) costructures. Here, d is the degree of a node.
A backtracking algorithm is used to discover a valid colouring [10]. It achieves
either an optimal solution or a near optimal solution when the maximum number
of constraint checks is reached. For comparison purposes, two algorithms were
implemented using this heuristic. The first one, dsaturIMM is based on the
imm structures, while the second one dsaturpure , uses the traditional colouring
scheme, where we only make use of the adjacency matrix.
4
Evolutionary Algorithm to Guide the Models
We have two goals with this meta-heuristic. The first is to find a successful
order of the nodes (see Section 2.2) and the second is to find a successful order
for assigning colours. This approach differs from dsatur, where a greedy color
assignment is used. For the first goal, we must search the permutation search
space of the model described in Section 2.2, which is of size n!. Here, we use
an evolutionary algorithm to search through the space of permutations. The
genotype consists of the permutations of the nodes, i.e., the rows of the imt.
The phenotype is a valid colouring of the graph after using a colour assignment
strategy on the permutation to select the order of the integer merge operations.
The colour assignement strategy is a generalization of the one introduced in [7].
We say that the c-th vector of the sub-imt r′ (c) is the most suitable candidate
for merging with rpi if they share the most constraints. The dot product of two
vectors provides the number of shared constraints. Thus, by reverse sorting all
the sub-imt vectors on their dot product with rpi , we can reduce the number
of colours by merging rpi with the most suitable match. Here, the dot product
operates on integer vectors instead of binary ones, thus generalize that.
An intuitive way of measuring the quality of an individual p in the population
is by counting the number of rows remaining in the final bmt. This equals to
the number of colours k(p) used in the colouring of the graph, which needs to be
minimised. When we know the optimal colouring is χ then we may normalise this
fitness function to g(p) = k(p) − χ. This function gives a rather low diversity of
130
I. Juhos and J.I. van Hemert
fitnesses of the individuals in a population because it cannot distinguish between
two individuals that use an equal number of colours. This problem is called the
fitness granularity problem. We modify the fitness function introduced in [7] so
that to use Integer Merge Model structures instead of the appropriate binary
one. This fitness relies on the heuristic that one generally wants to avoid highly
constraint nodes and rows in order to have a higher chance of successful merges at
a later stage, commonly called a succeed-first strategy. It works as follows. After
the final merge the resulting imt defines the colour groups. There are k(p) − χ
over-coloured nodes, i.e., merged rows. Generally, we use the indices of the overcoloured nodes to calculate the number of nodes that need to be minimised (see
g(p) above). But these nodes are not necessarily responsible for the over-coloured
graph. Therefore, we choose to count the hyper-nodes that violates the least
constraints in the final hyper-graph. To cope better with the fitness granularity
problem we should modify the g(p) according to the constraints of the overcoloured nodes discussed previously. The final fitness function is then defined as
follows. Let ζ(p) denote the number of constraints, i.e., non-zero elements, in the
rows of the final imt that belong to the over-coloured nodes, i.e., the sum of the
smallest k(p) − χ values of the right co-structure. The fitness function becomes
f (p) = g(p)ζ(p). Here, the cardinality of the problem is known, and used as a
stopping criterium (f (p) = 0) to determine the efficiency of the algorithm. If
χ is unknown, we can use the worst approximation which is χ′ = 0. We must
modify the stop condition to, reaching a time limit or to fitness ≤ 0 due to
under-approximation (χ′ ≤ χ) or over-approximation (χ′ > χ). Alternatively,
the normalisation step can be left out, but this might seriously effect the quality
of the evolutionary algorithm in a negative way.
Procedure EAIM M
1. population = generate initial permutations randomly
2. while stop condition allows
– evaluate each p permutation {
– – merge pj − th uncoloured node into c − th hyper-node by c = maxj
rj′ , rpi
– – calculate f (p) = (k(p) − χ)ζ(p) }
– populationxover = xover(population, probxover )
– populationmut = mutate(populationxover , probmut ))
– population = select2−tour (population ∪ populationxover ∪ populationmut )
3. end while
Fig. 5. The EAimm meta-heuristic uses directly the imm structure
We use a generational model with 2-tournament selection and replacement,
where we employ elitism of size one. This setting is used in all experiments.
The initial population is created with 100 random individuals. Two variation
operators are used to provide offsprings. First, the 2-point order-based crossover
(ox2) [11, in Section C3.3.3.1] is applied. Second, the other variation operator is
a simple swap mutation operator, which selects at random two different items in
the permutation and then swaps. The probability of using ox2 is set to 0.3 and
the probability for using the simple swap mutation is set to 0.8. These parameter
settings are taken from the experiments in [7].
Improving Graph Colouring Algorithms and Heuristics
5
131
Experiments
The goal of these experiments are twofold. First, to show the improvement in
efficiency possible when adding the Integer Merge Model to an existing technique.
Second, to show further improvement possible in the evolutionary algorithm by
adding heuristics that are based on the additional bookkeeping in the form of
the co-structures.
5.1
Methods of Comparison
How well an algorithm works depends on its effectiveness and efficiency in solving
a problem instance. The first is measured by determining the ratio of runs where
the optimum is found, this ratio is called the success ratio; it is one if the optimum, i.e., the chromatic number of the graph, is found in all runs. The second
is measured by counting the number of constraint checks an algorithm requires
to find the optimum. A constraint check is defined equally for each algorithm as
checking whether the colouring of two nodes is allowed or not. This measurement
is independent of the hardware used and is known to grow exponentially with
the problem size for the worst-case.
5.2
Definition of the Problem Suites
The first test suite consists of problem instances taken from “The Second dimacs
Challenge” [12] and Michael Trick’s graph colouring repository [12]. These graphs
originate from real world problems, with some additional artificial ones.
The second test suite is generated using the well known graph k-colouring
generator of Culberson [13]. It consists of 3-colourable graphs with 200 nodes.
The edge density of the graphs is varied in a region called the phase transition.
This is where hard to solve problem instances are generally found, which is shown
using the typical easy-hard-easy pattern. The graphs are all equipartite, which
means that in a solution each colour is used approximately as much as any other.
The suite consists of nineteen groups where each group has five instances, one
each instance we perform ten runs and calculate averages over these 50 runs. The
connectivity is changed from 0.010 to 0.100 by steps of 0.005 over the groups. To
characterize better the area of the phase transition, a simplification technique
is used introduced by Cheeseman et al in [14]. This three steps node reduction
removes the 0.010–0.020 groups, and simplify the graphs in the other groups to
get the core of the problems.
5.3
Results
In this section, the results of the three kinds of algorithms are presented with
and without using the Integer Merge Model, i.e., dsatur, ea which uses the
introduced fitness f and colour choosing heuristics and eanoheur which does
not apply these heuristics, it uses a greedy colouring with the fitness g. Each
algorithm was stopped when they reached an optimal solution or 150 000 000
number of constraint checks. DSatur with backtracking is an exact solver, it
132
I. Juhos and J.I. van Hemert
tries to explore the search space systematically by its heuristics. Thus, only one
run is enough to get its result. Because of the stochastic nature of eas, we use
ten independent runs.
We can summarise the results on test suite one found in Table 1 as follows,
– The performance of an algorithm improves significantly if it employs the imm
framework.
– The evolutionary algorithms perform better than dsatur, even after improving the efficiency of the latter with imm.
– Adding heuristics to the evolutionary algorithms is useful to improve upon
the efficiency for harder problem instances.
– All algorithms find a solution for almost every problem within the maximum
number of constraint checks, except for the extremely hard queen8 8 and
r75 5g 8 problems.
Table 1. Number of constraint checks required for test suite one using dsatur and ea
with and without imm (latter is denoted by pure). Ten runs are averaged with different
random seeds for ea-s. Prefix-indices show the success ratios if it is not one.
graph
|V |
eapure
eanoheur
pure
3059091 40527833
3414
4541
42022
2660498 32683629
3174
4988
39151
2085103 75198957
2455
3672
57586
22305812 345876238
4328
5456
120348
6030391 95778467
2606
3680
84603
5762200 86482594
2480
3804
79458
147922
1046162
9066
46276
10366
204871
1121864
120051
693403
145459
244886
1249001
57934
559636
116054
329361
1500956
5436
14584
7032
472872
2750261
1221
1370
7916
27807
624340
283
331
1499
134956
4810974
901
1350
5602
1665
12408
678
1777
906
1176441
9106599
1092455
6675813
2793682
−
− 0.6 87482316 0.4 102517235 0.2 125298157
35693383
−
18668080 0.2 122257875 0.9 29609833
56027
61015
171641
142315
112000
124508
75445
5103811
1120068
19550
8905
2146
11163
2488
25332278
−
0.2 129031499
|E| χ dsaturimm dsaturpure
fpsol2.i.2 451 8691 30
fpsol2.i.3 425 8688 30
homer
561 1629 13
inithx.i.1 864 18707 54
inithx.i.2 645 13979 31
inithx.i.3 621 13969 31
miles500 128 1170 20
miles750 128 2113 31
miles1000 128 3216 42
miles1500 128 5198 73
mulsol.i.5 186 3973 31
myciel6
95 755 7
myciel7 191 2360 8
queen5 5 25 160 5
queen7 7 49 476 7
queen8 8 64 728 9
75 1407 13
r75 5g 8
eaimm
eanoheur
imm
Figure 6 shows the performance measured by success ratio and by average
constraint checks performed of the algorithms on test suite two where 50 independent runs are used for every setting of the density. Both evolutionary
algorithms show a sharp dip in the success ratio in the phase transition (see
Figure 6), which is accompanied with a rise in the average number of constraint
checks. imm has significant influence on the performance, the improvement lies in
between 6 and 48 times on average (see Figure 6). DSatur provides good results
on the whole suite. Both the low target colour and the sparsity of the graphs
are favourable terms for the heuristics it employs. Furthermore, the order of the
graphs does not imply combinatorial difficulties for the backtracking algorithm.
Beside these facts, the suite is appropriate to get valuable information about the
behaviour of the algorithms. Even if the dsaturs perfom well on the problem
Improving Graph Colouring Algorithms and Heuristics
133
sets, the ea, using the imm abilities, can outperform the pure version of dsatur
in the critical region. In the phase transition it is 50% better on average. In
practice, increasing the size of the graph leads to better performance of the eas
as opposed to the two exact dsatur algorithms. By employing ea heuristics,
i.e., the fitness function f and the colour choosing strategy, we clearly notice an
improvement in both efficiency and effectiveness over the simple greedy colouring strategy with the simple fitness g. Furthermore, the confidence intervals for
this range are small and non-overlapping. These two approaches give a much
robust algorithm for solving graph k-colouring.
1
DSaturs
EAimm
EApure
Success ratio
0.8
EAimm,noheur
EApure,noheur
0.6
0.4
0.2
Average number of constraint checks
0
0.02
0.03
0.04
0.05
0.06
0.07
0.08
Average density of edges in the graphs
0.09
0.1
1e+009
1e+008
1e+007
EApure,noheur
EAimm,noheur
EApure
EAimm
DSaturpure
DSaturimm
1e+006
100000
10000
0.03
0.04
0.05
0.06
0.07
0.08
0.09
Average density of edges in the graphs
0.1
Fig. 6. Success ratio (dsatur is always one) and average constraint checks to a solution
for the dsatur variants, the eas with and without heuristics (with 95% confidence
intervals)
6
Conclusions
In this paper, we introduced the Integer Merge Model for representing graph
colouring problems. It forms a good basis for developing efficient graph colouring
134
I. Juhos and J.I. van Hemert
algorithms because of its three beneficial properties, a significant reduction in
constraint checks, the availability of useful information for guiding heuristics,
and the compact description possible for algorithms.
We showed how the popular dsatur can be described in terms of the Integer
Merge Model and we empirically investigated how much it can benefit from the
reduction in constraint checks. Similarly, we showed how an evolutionary algorithm can be made more effective by adding heuristics that rely on the Integer
Merge Model. Here we have shown a significant increase in both effectiveness
and effectivity.
Further studies may include incorporating the Integer Merge Model in other
algorithms, including more heuristics. Also, other constraint problems may be
considered.
References
1. de Werra, D.: An introduction to timetabling. European Journal of Operations
Research 19 (1985) 151–162
2. Briggs, P.: Register allocation via graph coloring. Technical Report TR92-183
(1998)
3. Garey, M., Johnson, D., So, H.: An application of graph colouring to printed circuit
testing. IEEE Transaction on Circuits and Systems CAS-23 (1976) 591–599
4. Garey, M., Johnson, D.: Computers and Instractability: A Guide to the Theory of
NP-Completeness. W.H. Freeman, San Francisco, CA (1979)
5. Craenen, B., Eiben, A., van Hemert, J.: Comparing evolutionary algorithms on
binary constraint satisfaction problems. IEEE Transactions on Evolutionary Computation 7 (2003) 424–444
6. Juhos, I., Tóth, A., van Hemert, J.: Binary merge model representation of the graph
colouring problem. In Raidl, G., Gottlieb, J., eds.: Evolutionary Computation in
Combinatorial Optimization. Volume 3004 of LNCS., Springer (2004) 124–134
7. Juhos, I., Tóth, A., van Hemert, J.: Heuristic colour assignment strategies for
merge models in graph colouring. In: Evolutionary Computation in Combinatorial
Optimization. Volume 3448 of LNCS., Springer (2005) 132–143
8. Brélaz, D.: New methods to color the vertices of a graph. Communications of the
acm 22 (1979) 251–256
9. CNET: Xbox specs revealed (http://cnet.com/xbox+specs+revealed/2100-1043 35705372.html) (2005) Accessed: Nov. 10, 2005.
10. Golomb, S., Baumert, L.: Backtrack programming. ACM 12 (1965) 516–524
11. Bäck, T., Fogel, D., Michalewicz, Z., eds.: Handbook of Evolutionary Computation.
Institute of Physics Publishing Ltd, Oxford University Press (1997)
12. Johnson, D., Trick, M.: Cliques, Coloring, and Satisfiability. American Mathematical Society, dimacs (1996)
13. Culberson, J.: Iterated greedy graph coloring and the difficulty landscape. Technical Report tr 92-07, University of Alberta, Dept. of Computing Science (1992)
14. Cheeseman, P., Kenefsky, B., Taylor, W.: Where the really hard problems are. In:
Proceedings of the ijcai’91. (1991) 331–337
Minimizing Makespan on a Single Batch Processing
Machine with Non-identical Job Sizes:
A Hybrid Genetic Approach
Ali Husseinzadeh Kashan1, Behrooz Karimi1,*, and Fariborz Jolai2
1 Department
of Industrial Engineering, Amirkabir University of Technology,
P.O.Box: 15875-4413, Tehran, Iran
{a.kashani, B.Karimi}@aut.ac.ir
2 Department of Industrial Engineering, Faculty of Engineering, University of Tehran,
P.O.Box: 11365-4563, Tehran, Iran
[email protected]
Abstract. This paper addresses minimizing makespan by genetic algorithm
(GA) for scheduling jobs with non-identical sizes on a single batch processing
machine. We propose two different genetic algorithms based on different
encoding schemes. The first one is a sequence based GA (SGA) that generates
random sequences of jobs and applies the batch first fit (BFF) heuristic to group
the jobs. The second one is a batch based hybrid GA (BHGA) that generates
random batches of jobs and ensures feasibility through using knowledge of the
problem. A pairwise swapping heuristic (PSH) based on the problem
characteristics is hybridized with BHGA that has the ability of steering
efficiently the search toward the optimal or near optimal schedules.
Computational results show that BHGA performs considerably well compared
with a modified lower bound and significantly outperforms the SGA and a
simulated annealing (SA) approach addressed in literature. In comparison with
a constructive heuristic named FFLPT, BHGA also shows its superiority.
1 Introduction
Batch processing machines (BPM) are encountered in many different environments.
This research is motivated by burn-in operations in semiconductor manufacturing [1].
The purpose of burn-in operations is to test the integrated circuits by subjecting them
to thermal stress for an extended period. Since the burn-in operation constitutes a
bottleneck in the final testing operation, efficient scheduling of this operation to
maximize throughput is of great concern to management. In scheduling problems,
makespan (Cmax) is equivalent to the completion time of the last job leaving the
system. The minimum Cmax usually implies a high utilization. The utilization for
bottleneck station is closely related to throughput rate of the system. Therefore,
reducing the Cmax should also lead to a higher throughput rate. Te following
assumptions are considered to our problem:
*
Corresponding author.
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 135 – 146, 2006.
© Springer-Verlag Berlin Heidelberg 2006
136
A.H. Kashan, B. Karimi, and F. Jolai
(1) There are n jobs to be processed. The minimum required processing time of job i
is denoted by ti.
(2) Each machine has a capacity B and each job i has a size si. The sum of the sizes
of jobs in a batch must be less than or equal to B. We assume that no job has a
size exceeding the machine capacity.
(3) Once processing of a batch is initiated, it cannot be interrupted and other jobs
cannot be introduced into the machine until processing is completed. The
processing time of batch j, Tj, is given by the longest processing time of the jobs
in the batch.
(4) The objective is minimizing the makespan, Cmax.
Based on the cited assumptions we can get the following optimization model related
to our problem:
∑T
k
Minimize
∑X
C max =
j
(1)
i = 1, L , n
(2)
j =1
k
St :
ij
∑s X
=1
j =1
n
i
ij
≤B
(3)
j = 1, L , k
i =1
T j ≥ t i X ij
i = 1, L , n
j = 1, L , k
X ij ∈ {0,1}
i = 1, L , n
j = 1, L , k
T j ≥ 0,
∑
⎡ n
⎤
s i B ⎥ ≤ k ≤ n , k : integer
⎢
⎥⎥
⎢⎢ i =1
(4)
(5)
(6)
(7)
The objective is minimizing the makespan. Constraint set (2) ensures the assignment
of each job i to only one batch j. Constraint set (3) indicates that sum of the sizes of
jobs in a batch must be less than or equal to machine capacity. Constraint set (4) gives
processing time of batch j. Constraint sets (5) and (6) denote the binary restriction of
the variables Xij and the non-negativity restriction for variables Tj, respectively. The
last constraint denotes the minimum and the maximum number of required batches to
group all jobs.
The arrangement of the paper is as follows. In Section 2, we review works related
to batch processing models. Section 3, reviews the batch first fit heuristic. In this
section we also develop a heuristic approach for the considered problem. GAs
implementation and parameters setting are described in Section 4. In Section 5, the
performance of proposed GAs is evaluated. We conclude the paper with a summary in
Section 6.
2 Literature Review
Batch machine scheduling problems, where the batch processing time is given by the
processing time of the longest job in the batch have been addressed extensively.
Minimizing Makespan on a Single Batch Processing Machine
137
Given different size for jobs, Uzsoy [1] gave complexity results for the minimizing
makespan (Cmax) and total completion time (ΣCi) criteria and provided some heuristics
and a branch and bound algorithm. Dupont and Jolai [2] proposed heuristics to
minimize Cmax. In another research Jolai and Dupont [3] considered ΣCi criterion for
the same problem. A branch-and-bound procedure for minimizing the Cmax was also
developed by Dupont and Dhaenens-Flipo [4]. Melouk, et al., [5] developed a
simulated annealing (SA) approach for minimizing Cmax to schedule a single BPM
with different job sizes. We use their proposed SA as a base algorithm in our
computational experiments. Shuguang et al. [6] recently presented an approximation
algorithm with worst-case ratio 2+ε, for minimizing the makespan.
3 Heuristics
Uzsoy [1] constructed a set of heuristics based on the First-Fit procedure developed
for the bin-packing problem. The batch first fit (BFF) heuristic adapted to the
scheduling problem is as follows:
Step 1. Arrange the jobs in some arbitrary order.
Step 2. Select the job at the head of the list and place it in the first batch with enough
space to accommodate it. If it fits in no existing batch, create a new batch.
Repeat step 2 until all jobs have been assigned to a batch.
Step 3. Sequence the batches on the machine in any arbitrary order.
It has been shown that if in the BFF the sorting of jobs is in LPT order at the first step,
then the algorithm will be superior in both the average and the worst-case
performance comparing to non-LPT based BFF algorithms [1]. In this case it is called
FFLPT algorithm.
Based on our encoding scheme used for the BHGA, we develop a heuristic procedure
named random batches procedure (RBP), which gives a feasible batching scheme by
considering both size and processing time of jobs. The heuristic is as follows:
Step1. Assign all jobs to L batches, randomly without considering the capacity restriction.
If the derived batching scheme is feasible, stop. Otherwise go to step 2.
Step2. Choose a batch with capacity violation and the longest batch processing time. Select the job with the longest processing time in it. Put the selected job in the first
feasible batch having the batch processing time longer than processing time of the
selected job with the smallest residual capacity, then go to step 3. If there is no
such a feasible batch with longer processing time, put the job in the feasible batch
with longest processing time and go to step 3. If the selected job fits in no existing
batches, create a new batch and assign the job to it.
Step3. Repeat step 2 until getting a feasible batching scheme.
The above procedure tries to group jobs with longer processing time in the same
batches and simultaneously minimizing the residual capacity of batches.
Uzsoy [1] proposed a lower bound on the optimal makespan by relaxing the
problem to allow jobs to be split and processed in different batches. When there are
some jobs that cannot be grouped with any other jobs in a same batch, we modify the
lower bound as follows:
138
A.H. Kashan, B. Karimi, and F. Jolai
1) Put the jobs satisfying following relation in the set J, and remove them from the
set of whole jobs.
J = {k | B − sk < min {si }} .
(8)
i∈{1,..., n }
LB
) with unit job sizes
2) For the reduced problem, construct an instance of Cmax ( C max
where each job m is replaced by sm jobs of unit size and processing time tm. This
can be solved by ordering jobs in decreasing order of processing times,
successively grouping the B jobs with longest processing times into the same
batch.
MLB
MLB
LB .
3) The modified lower bound, Cmax
, can be obtained as: C max
= ∑ ti + C max
i∈J
To show the computation of the lower bound solution, we use a test problem whose
data are shown in Table 1.
B = 10 ;
Table 1. Data for the test problem
Job i
ti
si
1
10
7
2
3
5
3
5
3
4
2
9
5
6
6
6
3
4
7
1
8
1) Since the minimum size is equal to 3, then jobs 4 and 7 cannot be grouped by any
other job in a same batch. So we set:
J = {4,7} , batch 1 = {4}, batch 2 = {7} .
2) For the remain jobs, sorting the jobs in decreasing order of their processing times
and successively grouping the jobs which are allowed to be split across the
batches, we get the following batching scheme:
batch 3 = {1,5}, batch 4 = {5,3,2}, batch 5 = {2,6};
T3 = max{10,6} = 10, T4 = max{6,5,3} = 6, T5 = max{3,3} = 3;
MLB
3) The lower bound solution is: C max
= 2 + 1 + 10 + 6 + 3 = 22 .
4 Proposed GAs and Their Implementation
Genetic algorithms are powerful and broadly applicable stochastic search and
optimization techniques based on principles of evolution theory. In the past few years,
genetic algorithms have received considerable attention for solving difficult
combinatorial optimization problems.
This paper proposes two different GAs based on different chromosome
representations for scheduling a single batch processing machine. The first one is
SGA that searches the solutions space via generating random sequences of jobs to
obtain sequences that yield the better Cmax. For each generated sequence, BFF
Minimizing Makespan on a Single Batch Processing Machine
139
heuristic is applied to batch the jobs in an order similar to the corresponding
sequence. In the second GA entitled BHGA, searching the solutions space is done by
generating random feasible batches of jobs. A pairwise swapping heuristic is used in
BHGA to improve its performance. The following steps describe in detail how the
GAs are implemented in this research.
4.1 Coding
In our coding schemes, each gene corresponds to one of n jobs. In SGA, each
chromosome is related to a sequence of jobs. To generate the chromosomes we have
used random key representation of Bean [7], which represents order of jobs with a
sequence of uniformly distributed random numbers. A simple example of using
random key representation for a batch-scheduling problem can be found in Wang and
Uzsoy [8]. In BHGA, a solution for the problem of assigning jobs to batches is an
array whose length is equal to the number of jobs to be scheduled. Each gene
represents the batch to which the job is assigned. Figures 1 and 2 show the
chromosomes related to GA heuristics for a batch-scheduling problem with 5 jobs.
J3
J5
J4
J2
J1
J1
J2
J3
J4
J5
0.461
0.106
0.281
0.514
0.515
1
4
2
3
4
Fig. 1. Chromosome representation for SGA
Fig. 2. Chromosome representation for BHGA
4.2. Initial Population
The initial population for SGA is constructed randomly, where the initial population
for BHGA is generated by RBP. The performance of RBP is directly dependent on the
number of initial batches. This implies that starting RBP with large number of initial
batches would be undesirable. However, starting RBP with small number of initial
batches to form all chromosomes of BHGA’s initial population may cause to trap in
locality. To come up with poor quality of initial seeds and to avoid trapping in
locality, we use a truncated geometric distribution to generate randomly the number
of initial batches used in RBP to form a feasible initial population of chromosomes.
Using a geometric distribution to simulate the number of initial batches ensures that
the probability of starting RBP with large number of batches would be small, against
the high probability for starting with less number of batches. The following relation
gives the random number of initial batches to start RBP for constructing the
chromosomes of initial population of BHGA.
⎡ ln(1 − (1 − (1 − p) l −1 ) R ) ⎤
L=⎢
⎥ + 1 : L ∈ { 2,3, L , l} .
ln(1 − p)
⎢
⎥
(9)
where L is a random number of initial batches for starting RBP, distributed by a
truncated geometric distribution, R is a uniformly distributed variable belonging to
[0,1], p is the probability of success, and l, is the minimum number of required
140
A.H. Kashan, B. Karimi, and F. Jolai
n
batches, l = ⎡∑ si B ⎤ . As stated before, scheduling jobs with RBP, starting from one
⎥
⎢
⎥
⎢ i =1
batch is almost equivalent to scheduling jobs with FFLPT heuristic; so for fair
comparison between SGA and BHGA, we start RBP with more than one batch.
The above approach for generating the initial population in BHGA has some
advantages, since it uses efficiently the knowledge of the problem to group the jobs
with longer processing times in the same batches as long as possible. However this is
not the case with SGA through using the random key representation. Also one can
adjust the quality of initial population by choosing a proper value of p. Setting a high
value for p, seems to be effective on accelerating the convergence rate trough a good
quality initial seeds but may cause trapping in local optimum. Low value of p causes
to less-accelerate converging due to the relatively low quality of initial population. So
a tuned value of p would be drastic to exploit advantages of such an intelligent
mechanism of generating initial population.
4.3 Selection
For selecting chromosomes, the roulette wheel technique is followed. The fitness of
the chromosome is the makespan value. The probability of selecting a certain
chromosome is proportional to its fitness.
4.4 Crossover
A parameterized uniform crossover of Bean [7] is used in which, a bias coin is used to
determine which one of the two selected parents should pass its gene. Using
parameterized uniform crossover ensures the feasibility of the generated offspring to
be still a sequence and allows us to bias the search more strongly toward components
of better solutions and accelerate convergence. A simple example of using
parameterized uniform crossover for a batch-scheduling problem can be found in
Wang and Uzsoy [8]. It should be noted that in BHGA we don’t use random key
representation because in this case the chromosomes are not represented as sequences.
For a fair comparison between BHGA and SGA, we extend the use of parameterized
uniform crossover to BHGA. Our computational results report the good performance
of applying parameterized uniform crossover on BHGA. In crossover stage of BHGA
it may happen to lose some of batches in the generated offspring. In this case we
rename the batches of the offspring in consecutive order. For any infeasible generated
offspring, the RBP is applied to ensure the feasibility. In this case each generated
offspring indicates an initial batching plan, which is infeasible. To ensure the
feasibility we apply steps 2 and 3 of RBP to get a feasible batching scheme.
4.5 Mutation
The swapping mutation is used as mutation operator for both SGA and BHGA. It
selects two random genes of a selected chromosome and swaps them with each other.
The feasibility of the mutated schedule is kept through using steps 2 and 3 of RBP.
Minimizing Makespan on a Single Batch Processing Machine
141
4.6 Pairwise Swapping Heuristic (PSH)
For BHGA, we developed an iterative pairwise swapping heuristic (PSH), which
reduces Cmax value of a given schedule by consecutively swapping jobs between
batches as much as possible. The PSH adapted to BHGA is as follows:
For any selected schedule while there is not any improvement in Cmax do:
Step1. List the batches that have only one job with maximum processing time. If the
list is empty, consider the current schedule as PSH offspring and stop.
Otherwise, consider the first batch in the list (call it a) and find a batch with
batch processing time equal or longer than the processing time of the
considered batch (call it b). Swap the job with longest processing time in a,
( j a ), with a job in b, ( j b ), which has the processing time less than processing
time of job j a , with respect to capacity violation constraint. If there is not any
batch b, or there is not any job j b , consider the current schedule as PSH
offspring corresponding to the batch a. Repeat step 1 for all batches in the list.
Step2. Choose a schedule with better Cmax among the schedules of step 1 and return to
step 1.
In each generation, for all problem categories (after deleting repeated chromosomes)
the PSH is applied on the best chromosomes selected based on a defined probability,
i.e. PPSH.
In each generation of both SGA and BHGA, the new population is formed by
offspring generated by GA operators. The rest of the population is filled with the best
chromosomes of the former generation.
4.7 Parameters Setting
The performance of a GA is generally sensitive to the setting of the parameters that
influence the search behavior and the quality of convergence. It is highly desirable to
set these parameters to levels that produce high quality solutions.
For both SGA and BHGA, we consider the population size equal to n and the
number of simulated generations equal to 200. Also both GAs are stopped if there is
no improvement in the best solution obtained in last 100 generations. Worth to
mention that to avoid useless computations, we set an extra stopping criterion, which
is getting to the modified lower bound solution. For BHGA, based on our primary
experiments we found 0.2 to be appropriate value for the truncated geometric
distribution parameter (probability of success), for all problem instances.
For tuning crossover rate, mutation rate and head probability, different values are
considered; 0.5 and 0.7 for crossover rate, 0.05, 0.1 and 0.15 for mutation rate and 0.7
and 0.9 for head probability. Table 2 shows the results of tuning. Moreover in BHGA
the value for PPSH is considered equal to 0.25 for all problem categories. We found
this value by our primary experiments.
142
A.H. Kashan, B. Karimi, and F. Jolai
Table 2. Parameter setting for GA’s operators
Parameters
Crossover rate
Mutation rate
Head probability
PPSH
Truncated geometric parameter
SMOGA
0.70
0.15
0.90
-
BHMOGA
0.50
0.15
0.90
0.25
0.20
5 Experimentations and Results
For testing effectiveness of proposed GAs, randomly test problem instances are
generated in a manner similar to Melouk et al. [5]. For covering various types of
problems, three factors are identified: number of jobs, variation in job processing
times, and variation in job sizes. In general 6 categories of problems are generated by
combining three levels of job sizes (small, large and combination of small and large
(mixed)) and two levels of processing times. Processing times and job sizes are
generated from discrete uniform distribution. The factors, their levels and ranges, are
shown in Table 3. For example a problem category with 10 jobs, processing times
generated from [1, 20] and job sizes generated from [4, 8] is shown by J1t2s3. The
machine capacity is assumed to be 10 in all instances.
All the algorithms, SGA, BHGA, SA, FFLPT and the modified lower bound, are
coded in MATLAB 6.5.1 and all test problem instances are solved 15 times by GAs
and SA on a Pentium III, 800MGz computer with 128 MB RAM.
Table 4 represents the results for 10 jobs instances. Columns 2 and 4, report the best
and worst Cmax among the 15 runs of BHGA. Column 3 and 5 report the average Cmax
and the standard deviation among the solutions gained by 15 runs of each problem
category by BHGA, respectively. Column 6 reports the average time taken by BHGA.
These values are reported in columns 7, 8, 9, 10 and 11 for the SGA and 12, 13, 14, 15
and 16 for the SA, respectively. Column 17 reports the performance of the FFLPT.
Tables 5, 6 and 7 can be interpreted in a same manner. For each algorithm, the best case,
average and the worst case performance are computed by the following relation:
MLB
MLB
{ [C max - C max
}*100 .
] /C max
(10)
Table 3. Factors and levels
Factors
|J |
ti
si
Levels
10, 20, 50 and 100 jobs (J1-J4)
t1: Discrete uniform [1, 10]
t2: Discrete uniform [1, 20]
s1: Combination of small and large jobs (Discrete uniform [1, 10])
s2: Small jobs (Discrete uniform [2, 4])
s3: Large jobs (Discrete uniform [4,8])
Table 4. Results for 10 job instances
BHGA
Avg Worst S.D
Time
Best
SGA
Avg Worst
S.D
Time
Best
SA
Avg Worst
S.D
Time
J1t1s1
J1t1s2
J1t1s3
J1t2s1
J1t2s2
J1t2s3
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.15
0.29
0.76
0.92
0.24
0.15
0.00
0.00
0.00
0.00
0.00
0.00
1.74
3.47
0.42
1.15
3.80
0.00
0.63
0.86
0.41
0.63
1.95
0.00
1.64
2.23
0.94
1.74
1.42
0.24
0.00
0.00
0.00
0.00
0.00
0.00
10.85 18.51
2.60 8.69
1.12 6.38
5.50 10.86
7.42 20.00
1.05 5.26
1.94
0.91
0.83
2.29
2.32
1.64
2.72
0.72
2.29
2.28
0.86
0.84
Best
SA
Avg Worst
S.D
Time
1.56
0.00
0.00
2.80
0.00
0.00
8.23
7.74
3.88
5.14
6.86
1.94
17.18
13.95
8.33
7.47
15.15
3.47
2.85
1.54
2.14
1.30
2.47
1.82
16.97
9.02
19.61
19.31
8.39
19.41
Best
SA
Avg Worst
S.D
Time
165.21 8.10 10.74 13.51
148.79 15.29 17.17 22.35
178.56 4.46 6.20 8.93
156.4 7.49 10.26 13.68
138.8 13.41 17.31 21.95
186.57 3.05 6.08 11.38
2.25
1.45
2.32
5.18
4.01
7.41
253.5
62.41
178.5
226.3
64.3
212.4
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
7.40
13.04
2.12
4.34
11.42
0.00
FFLPT
0.00
0.00
2.12
4.34
0.00
0.00
Table 5. Results for 20 job instances
Run
code
Best
BHGA
Avg Worst S.D
Time
Best
SGA
Avg Worst
S.D
J2t1s1
J2t1s2
J2t1s3
J2t2s1
J2t2s2
J2t2s3
1.56
0.00
0.00
1.86
0.00
0.00
1.56
1.23
0.00
1.86
0.80
0.00
13.40
3.62
0.89
12.97
6.61
2.06
1.56
0.00
0.00
1.86
0.00
0.00
3.75
7.27
1.11
4.11
5.15
1.20
1.05 11.61
1.40 14.90
0.94 8.71
2.79 14.15
2.29 18.23
1.51 11.041
1.56
4.65
0.00
1.86
1.51
0.00
0.00
0.91
0.00
0.00
0.51
0.00
7.81
9.30
4.16
9.34
9.09
3.47
Time
FFLPT
7.81
4.65
5.56
1.86
1.51
8.33
Table 6. Results for 50 job instances
Run
code
Best
BHGA
Avg Worst S.D
J3t1s1
J3t1s2
J3t1s3
J3t2s1
J3t2s2
J3t2s3
2.02
0.00
0.55
2.60
0.00
1.66
2.09
0.23
0.55
3.02
0.36
1.69
2.70
1.17
0.55
3.25
1.82
2.22
SGA
Avg Worst
S.D
0.25 128
5.40 7.43 11.48
0.41 27.68 7.05 11.21 16.47
0.00 102.9 1.67 2.75 4.46
0.96 158.9 5.86 7.38 11.07
1.05 30.47 10.36 12.62 17.68
0.51 138.51 2.50 4.36 6.11
2.44
2.53
1.57
4.15
3.15
4.18
Time
Best
Time
FFLPT
5.40
0.00
1.67
3.58
1.82
3.33
143
Best
Minimizing Makespan on a Single Batch Processing Machine
Run
code
144
Table 7. Results for 100 job instances
Best
BHGA
Avg Worst S.D
J4t1s1
J4t1s2
J4t1s3
J4t2s1
J4t2s2
J4t2s3
1.17
0.00
1.04
1.23
0.00
0.96
1.72
0.12
1.04
1.74
0.09
1.04
2.35
0.60
1.04
2.29
0.32
1.24
Time
Best
0.73 1182.3 7.45 9.69 13.33
0.41 137.9 13.85 16.44 18.67
0.00 568.3 2.62 3.28 3.93
1.88 1709.4 5.65 7.46 9.54
0.48 151.9 14.46 17.91 20.90
0.91 912.7 2.89 4.15 5.10
Table 8. Comparisons for 10 job instances
Run code
J1t1s1
J1t1s2
J1t1s3
J1t2s1
J1t2s2
J1t2s3
Average
BHGASGA
1.71
3.36
0.42
1.13
3.66
0.00
1.71
BHGASA
9.78
2.54
1.11
5.21
6.91
1.04
4.43
BHGAFFLPT
0.00
0.00
2.08
4.16
0.00
0.00
1.04
Table 10. Comparisons for 50 job instances
Run code
J3t1s1
J3t1s2
J3t1s3
J3t2s1
J3t2s2
J3t2s3
Average
BHGASGA
4.96
9.86
2.13
4.05
10.88
2.56
5.74
SGA
Avg Worst
BHGASA
7.80
14.45
5.31
6.55
14.44
4.13
8.78
BHGAFFLPT
3.14
-0.23
1.09
0.53
1.43
1.58
1.25
S.D
Time
Best
4.28 935.5 10.98
2.55 771.3 19.87
1.55 1235.5 5.77
6.65 968.4 9.54
5.02 745.4 19.93
4.80 1188.9 6.89
SA
Avg Worst
S.D
Time
13.56
23.25
6.69
11.25
23.47
8.62
4.68
2.74
3.94
4.31
4.62
9.26
1303.2
320.3
1087.3
1339.8
291.2
1066.3
16.47
25.90
9.18
12.19
25.08
11.31
FFLPT
4.31
2.41
2.62
3.35
1.28
1.51
Table 9. Comparisons for 20 job instances
Run code
J2t1s1
J2t1s2
J2t1s3
J2t2s1
J2t2s2
J2t2s3
Average
BHGASGA
2.10
5.63
1.09
2.15
4.13
1.18
2.71
BHGASA
6.16
6.04
3.74
3.11
5.67
1.90
4.43
BHGAFFLPT
5.79
3.26
5.26
0.00
0.70
7.69
3.78
Table 11. Comparisons for 100 job instances
Run code
J4t1s1
J4t1s2
J4t1s3
J4t2s1
J4t2s2
J4t2s3
Average
BHGASGA
7.26
14.01
2.16
5.32
15.11
2.98
7.80
BHGASA
10.42
18.76
5.28
8.54
18.93
6.97
11.48
BHGAFFLPT
2.48
2.23
1.53
1.55
1.17
0.46
1.57
A.H. Kashan, B. Karimi, and F. Jolai
Run
code
Minimizing Makespan on a Single Batch Processing Machine
145
where the term Cmax denotes the performance for each algorithm. Tables 8, 9, 10 and
11 compare BHGA versus SGA, SA and FFLPT in term of Cmax value differences for
the problems with 10, 20, 50 and 100 jobs, respectively. The differences are given by:
{[Cmax(A)-Cmax(BHGA)]/max{Cmax(A), Cmax(BHGA)}}*100 .
(11)
where, Cmax(A) denotes the Cmax for the SGA or SA or FFLPT comparators. The
positive differences imply that BHGA works better than the others.
Computational analysis shows that in all categories of test problem instances,
BHGA performs significantly better than SGA and SA, especially for the problems
with large number of jobs. Concerning to increasing trend in the reported objective
value differences, it is promising for BHGA to outperform SGA and SA as the
problem size increase.
The resulting tables show that, for all problems with small jobs (J.t.s2), BHGA
achieved the optimal makespan. As was mentioned before, for these problems, jobs
swapping can be more easily handled by the PSH, so converging to the optimal
makespan may be best achieved through the hybridizing PSH with BHGA.
However for problems with small jobs both SGA and SA report the worst
performance. For the problems with mixed size jobs (J.t.s1) results show the better
performance for BHGA compared to SGA and SA. In this case, although the
objective value differences are not as large as the case of problems with small jobs,
they are still meaningfully large, especially for larger problems. In this case
because of the diversity in the job sizes, effective use of the batch capacity in
assigning the jobs to batches is an important factor that is satisfied by RBP for the
BHGA. The smallest objective value difference exists for the problems with large
size jobs (J.t.s3). It is expected that for these problems, 40% of individual jobs lie
in exactly one batch (the jobs with sizes 7 and 8) and yet the 60% of jobs need to
be assigned efficiently to batches to decrease the makespan. This caused to
reduction in the objective value differences among the BHGA and both SGA and
SA. The increment in the difference values is more likely as the problem size
increases. As it is clear from the results, by reporting smaller standard deviations,
BHGA is also more reliable than both SGA and SA.
Compared to FFLPT, results show that BHGA performs better. However in this
case the differences are not as large as the case with SGA and SA.
Comparing the required running time for the algorithms, results show that in most
of test problem instances the average time needed for BHGA is less than SGA and
SA, especially for problems with small and large jobs. This can be related to the high
rate of convergence in BHGA for the relatively good quality of initial population and
the effective performance of PSH. In BHGA using RBP to get feasibility for a
schedule, generally it takes less time than batching a sequence of jobs using BFF
heuristic in SGA. This means superiority for BHGA compared to SGA. In SGA for
each generated offspring, BFF is applied to assign all n jobs to batches, while in
BHGA when an offspring with m batches is formed, to make it feasible, n-m jobs in
worst case must be reassigned to batches by RBP; this is because at least m jobs do
not need to be reassigned in batches.
146
A.H. Kashan, B. Karimi, and F. Jolai
6 Conclusions and Future Research Directions
In this paper we considered the problem of minimizing makespan on a single batch
processing machine with non-identical job sizes. The processing time of a batch is
given by the longest processing time of the jobs in the batch. We proposed two
different genetic algorithms based on different chromosome representations. Our
computational results show that our second GA entitled BHGA outperforms the first
GA named SGA and also outperforms the simulated annealing approach taken from
the literature as a base algorithm, especially for large-scale problems. In most cases
this algorithm has the ability to find optimal or near optimal solution(s) in reasonable
CPU times. Also its superiority compared to the constructive FFLPT algorithm and its
very good performance comparing to a modified lower bound was proved. Some
characteristics such as using a robust mechanism for generating initial population and
using an efficient pairwise swapping heuristic, which has the ability of steering
quickly the search toward the optimal solution, cause BHGA to dominate the others.
For future research, the extension of our approach could include due date related
performances and also consider dynamic job arrivals and incompatible families.
References
1. Uzsoy, R.: A single batch processing machine with non-identical job sizes. International
Journal of Production Research. 32 (1994) 1615-1635
2. Dupont, L., Jolai Ghazvini, F., Minimizing makespan on a single batch processing
machine with non identical job sizes. European journal of Automation Systems, 1998, 32,
431-440.
3. Jolai Ghazvini, F., Dupont, L.: Minimizing mean flow time on a single batch processing
machine with non- identical job size. International Journal of Production Economics. 55
(1998) 273-280.
4. Dupont, L., Dhaenens-Flipo, C.: Minimizing the makespan on a batch machine with nonidentical job sizes: an exact procedure. Computers & Operations Research. 29 (2002)
807-819.
5. Melouk, S., Damodaran, P., Chang, P.Y.: Minimizing makespan for single machine batch
processing with non-identical job sizes using simulated annealing. International Journal of
Production Economics. 87 (2004) 141-147.
6. Shuguang, L., Guojun, L., Xiaoli, W., Qiming, L.: Minimizing makespan on a single
batching machine with release times and non-identical job sizes. Operations Research
Letter. 33 (2005) 157-164.
7. Bean, J.C.: Genetic algorithms and random keys for sequencing and optimization. ORSA
Journal of Computing. 6 (1994) 154-160.
8. Wang, C., Uzsoy, R.: A genetic algorithm to minimize maximum lateness on a batch
processing machine. Computers & Operations Research. 29 (2002) 1621-1640.
A Relation-Algebraic View on Evolutionary
Algorithms for Some Graph Problems
Britta Kehden and Frank Neumann
Inst. für Informatik und Prakt. Mathematik,
Christian-Albrechts-Univ. zu Kiel, 24098 Kiel, Germany
{bk, fne}@informatik.uni-kiel.de
Abstract. We take a relation-algebraic view on the formulation of evolutionary algorithms in discrete search spaces. First, we show how individuals and populations can be represented as relations and formulate
some standard mutation and crossover operators for this representation
using relation-algebra. Evaluating a population with respect to their constraints seems to be the most costly step in one generation for many
important problems. We show that the evaluation process for a given
population can be sped up by using relation-algebraic expressions in the
process. This is done by examining the evaluation of possible solutions
for three of the best-known NP-hard combinatorial optimization problems on graphs, namely the vertex cover problem, the computation of
maximum cliques, and the determination of a maximum independent
set. Extending the evaluation process for a given population to the evaluation of the whole search space we get exact methods for the considered
problems, which allow to evaluate the quality of solutions obtained by
evolutionary algorithms.
1
Introduction
Evolutionary algorithms (EAs) have become quite popular in solving real-world
problems as well as solving problems from combinatorial optimization. Representing possible solutions for a given problem has been widely discussed. There
are for example different representations for the well-known traveling salesman
problem (see e.g. Michalewicz (2004)) or NP-hard spanning tree problems ((e.g.
Raidl and Julstrom (2003) and Soak, Corne, and Ahn (2004)). Each of these
representations leads to a different neighborhood of a particular solution and
variation operators such as mutation and crossover have to be adjusted to the
considered representation.
In this paper we focus on a different issue of representation. We study the
question whether representations using relations can be useful. The issue of hybridization has become quite popular in the area of evolutionary computation.
Here one combines evolutionary algorithms with other approaches in order to
get better results. We think that it may be useful to combine evolutionary algorithms with the techniques used in the community of relational methods, and
focus on how to formulate the different modules of an EA using relational algebra. A first step into this direction has been made by Kehden, Neumann, and
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 147–158, 2006.
c Springer-Verlag Berlin Heidelberg 2006
148
B. Kehden and F. Neumann
Berghammer (2005) who have given a relational implementation of a (1+λ) EA.
It may be also worth examining which parts of the search process can be carried out using relational algebraic expressions. We think it is worth building a
bridge between relational algebra and evolutionary computation. In particular
it may be useful to consider relation-algebraic expressions in some parts of an
evolutionary algorithm, which can speed up some computations.
We focus on evolutionary algorithms for the search space {0, 1}n and examine how the most important modules of an evolutionary algorithm can be
implemented on the basis of relational operations. Relational algebra has been
widely used in computer science. Especially in the case of NP-hard combinatorial optimization problems on graphs, a lot of algorithms have been developed.
Relational algebra has a small, but efficiently to implement, set of operations.
On the other hand it allows a formal development of algorithms and expressions
starting usually with a predicate logic description of the problem.
Because of the small set of operations used in relational algebra that can
be implemented efficiently we get a common environment for evolutionary algorithms working in the mentioned discrete search space. In addition it has been
shown that relations can be implemented efficiently using Ordered Binary Decision Diagrams (OBDDs). In particular in the case that a considered relation has
a special structure we can hope to get a much more compact representation of
the relation than the standard representation as a matrix. Due to the properties
of OBDDs the operations used in relational algebra can be implemented efficiently. Software systems for relational algebra using this kind of representation
are for example RelView (e.g. Berghammer and Neumann (2005)) or CrocoPat (Beyer, Noack, and Lewerentz (2005)). Both systems are able to carry out
relation-algebraic expressions and programs based on OBDD operations.
We represent a population which is a set of solutions as one single relation and
evaluate this population using relational algebra. It turns out that this approach
can be implemented in a way that mainly relies on the relation-algebraic formulation of the specific modules. Considering the evaluation of a given population
we show that this process can be made more efficient using relational algebra.
We consider three well-known NP-hard combinatorial optimization problems,
namely minimum vertex covers, maximum cliques, and maximum independent
sets, and show how the whole population can be evaluated with respect to the
corresponding constraints of the given problem using relational algebra. It turns
out that using this approach can reduce the runtime from Θ(n3 ) to O(n2.376 )
for a population of size n compared with a standard approach.
In the special case where we evaluate all search points of the given search
space we are dealing with an exact method for the considered problem. We show
how the evaluation process for a population can be turned into a process for
evaluating the whole search space and therefore computing an exact solution.
Due to the compact representation of relations by OBDDs this approach is often
quite successful. Comparing the solutions obtained by an evolutionary approach
with the optimal solution we are able to evaluate the quality of the solutions
obtained by evolutionary algorithms.
A Relation-Algebraic View on EAs for Some Graph Problems
149
In Section 2 we show how populations are represented as relations and recall preliminaries of relational algebra. In Section 3 we consider the evaluation
process for three important graph problems based on relational algebra, and formulate important modules of an evolutionary algorithm using relational algebra
in Section 4. The evaluation processes of populations for the given problems are
extended to get exact methods in Section 5. Based on this, we investigate in
Section 6 the quality of solutions obtained by a standard evolutionary approach
for the vertex cover problem with respect to the optimal solutions using some
experiments. Finally, we finish with conclusions.
2
Representing Populations as Relations
We consider evolutionary algorithms working in the search space {0, 1}n , and
possible solutions are therefore bitstrings of length n. For simplicity we also
assume that a population has n individuals although our ideas may be adapted
to populations of different sizes. We want to represent the whole population as
a relation P where each individual of P is stored in one single column. As we
want to show how to use relational algebra in an evolutionary algorithm we
have to start with some basic definitions. Relational algebra has a surprisingly
small set of operations that can be implemented efficiently. In the following we
give the basic notations that we will use throughout this paper. In addition we
give upper bounds on the runtime needed to execute the different operations.
For a more detailed description of relational algebra we refer to Schmidt and
Ströhlein (1993).
We write R : X ↔ Y if R is a relation with domain X and range Y , i.e. a
subset of X × Y . In the case of finite carrier sets, we may consider a relation
as a Boolean matrix. Since this Boolean matrix interpretation is well suited for
many purposes, we often use matrix terminology and matrix notation in the following. Especially, we speak of the rows, columns and entries of R and write Rxy
instead of (x, y) ∈ R. The basic operations on relations are R⊤ (transposition),
R (negation), R ∪ S (union), R ∩ S (intersection), RS (composition), the special
relations O (empty relation), L (universal relation), and I (identity relation). A
relation v : X ↔ 1 is called vector, where 1 = {⊥} is a specific singleton set.
We omit in such cases the second subscript, i.e. write vi instead of vi⊥ . Such
a vector can be considered as a Boolean matrix with exactly one column and
describes the subset {x ∈ X : vx } of X. Note, that one search point of the
considered search space can be represented as a vector of length n. A set of k
subsets of X can be represented as a relation P : X ↔ [1..k] with k columns.
For i ∈ [1..k] let P (i) be the i-th column of P . More formally, every column P (i)
(i)
is a vector of the type X ↔ 1 with Px ⇐⇒ Pxi . We use relational expressions
to evaluate populations, i.e. to decide which individuals fulfill certain properties
by computing vectors of the type [1..k] ↔ 1.
We assume that we are always working with populations that have exactly
n individuals which implies k = n. Therefore, the relation P representing this
population has exactly n rows and n columns. Under the assumption that we
150
B. Kehden and F. Neumann
work with n × n relations, the operations transposition, negation, union and
intersection can be implemented in time O(n2 ). The standard implementation
for the composition needs time Θ(n3 ). Using the algorithm proposed by Coppersmith and Winograd (1990) for the multiplication of two n × n matrices we
can reduce the runtime for the composition to O(n2.376 ). In the case that we
work with random relations R and S, where each entry is set with probability p
to 1 and 0 otherwise, the runtime for the composition can be reduced to almost
O(n2 log n) as shown by Schnorr and Subramanian (1998). This also holds if one
of the relations is arbitrary but fixed and the entries of the other one are chosen
with probability p.
Another advantage of the relation-algebraic approach is that relations can
be represented efficiently using Ordered Binary Decision Diagrams (OBDDs) as
shown by Berghammer, Leoniuk, and Milanese (2002). OBDDs are implicit representations for boolean functions (see e.g. Wegener (2000)). In the case that the
relations have a regular structure we often get a compact representation of relations. The mentioned operations for relations can be carried out efficiently using
standard operations on OBDDs. For practical applications this leads sometimes
to faster algorithms for a given task. For example Beyer, Noack, and Lewerentz (2005) have shown for practical instances that the transitive closure of a
given graph can be computed much faster and with significantly less memory
than using standard approaches.
3
Testing Properties of Solutions for Some Graph
Problems
Assume that we have a relation P that represents a population such that each
column is identified with an individual. One important issue is to test whether
the individuals of the population fulfill given constraints which means that they
are feasible solutions. Often this is the most costly step in one generation of an
evolutionary algorithm. In Section 4 we will show that all the other important
modules which we consider like crossover, mutation, and selection methods of
an evolutionary algorithm can be carried out in time O(n2 ) for one generation.
Often even the test whether an individual fulfills the constraints of a given
problem needs time Ω(n2 ). In the case that our population consists of n individuals we get a runtime of Ω(n3 ) for evaluating the whole population using a
standard approach. In the following we show how the evaluation of a population can be done for some well-known graph problems using relation-algebraic
expressions.
Given a graph G = (V, E) with n vertices and m edges represented as an
adjacency relation R we want to test each individual to fulfill a given property.
We concentrate on the constraints for some of the best-known combinatorial
optimization problems for graphs, namely minimum vertex covers, maximum
cliques, and maximum independent sets. A vertex cover of a given graph is a
set of vertices V ′ ⊆ V such that e ∩ V ′ = ∅ holds for each e ∈ E. For a clique
C ⊆ V the property that Ruv for all u, v ∈ C with u = v has to be fulfilled and
A Relation-Algebraic View on EAs for Some Graph Problems
151
in an independent set I ⊆ V , Ruv has to hold for all u, v ∈ I with u = v. It
is well known that computing a vertex cover of minimum cardinality or cliques
and independent sets of maximal cadinaliy are NP-hard optimization problems
(see e.g. Garey and Johnson (1979)).
Consider one individual x of the population. If we want to test whether this
individual fulfills one of the stated properties we need a runtime of Θ(n2 ) to do
this in a standard approach. In the case of the vertex cover problem we have
to consider whether each edge contains a vertex of V ′ which needs time Θ(n2 )
for graphs with m = Θ(n2 ). In the case of cliques we have to consider whether
{u, v} ∈ E holds for each pair of two distinct vertices u, v ∈ C. If |C| = Θ(n),
Θ(n2 ) edges have to be considered. Similar for the independent set problem and
|I| = Θ(n) we have to test for Θ(n2 ) pairs of vertices if there is no edge between
these vertices. Working with a population of size Θ(n) this means that we need
time Θ(n3 ) for evaluating each of these properties.
We want to show that the runtime for evaluating a population that is represented as a relation can be substantially smaller using relation-algebraic expressions. Note, that the size of the solutions, which means the number of ones in
the associated column, can be determined for the whole population P in time
O(n2 ) by examining each entry of the relation at most once. Therefore, the most
costly part of the evaluation process for the three mentioned problems seems to
be the test whether the given constraints are fulfilled.
Given the two relations R and P we can compute a vector that marks all
solutions of the population that are vertex covers.
P (i) is a vertex cover of R ⇐⇒
⇐⇒
⇐⇒
⇐⇒
⇐⇒
⇐⇒
(i)
(i)
∀ u, v : Ruv → (Pu ∨ Pv )
¬∃u, v : Ruv ∧ P ui ∧ P vi
¬∃u : (RP )ui ∧ P ui
¬∃u : (RP ∩ P )ui
¬∃u : L⊥u ∧ (RP ∩ P )ui
¬(L(RP ∩ P ))⊥i
⊤
⇐⇒ L(RP ∩ P )i .
To obtain the expression for the case of independent sets we can use the fact
(i)
that P (i) is an independent set iff P is a vertex cover.
P (i) is an independent set of R ⇐⇒ P
(i)
is a vertex cover of R
⊤
⇐⇒ L(RP ∩ P )i
Since a set of vertices is a clique of G if and only if it is an independent set
of the complement graph with adjacency relation R ∩ I, we can conclude
P (i) is a clique of R ⇐⇒ P (i) is an independent set of R ∩ I
⊤
⇐⇒ L((I ∩ R)P ∩ P )i
⊤
⇐⇒ L((I ∪ R)P ∩ P )i
152
B. Kehden and F. Neumann
Considering the different expressions, the most costly operation that has to
be performed is the composition of two n × n relations. Therefore the evaluation
process for a given population P and a relation R can be implemented in time
O(n2.376 ) by adapting the algorithm of Coppersmith and Winograd (1990) for
the multiplication of two n×n matrices to relations, which beats the lower bound
of Ω(n3 ) for the standard implementation. Note, that also larger populations can
be handled saving a factor of n0.624 compared with the standard implementation
by partitioning the large population into different subpopulations of size n and
executing relation-algebraic expressions for these subpopulations.
4
Relation-Algebraic Formulation of Important Modules
Variation operators are important to construct new solutions for a given problem. We assume that the current population is represented by a relation P and
present a relation-algebraic formulation for some well-known variation-operators.
In addition we formulate an important selection method based on relational algebra. It turns out that the runtimes for our general framework are of the same
magnitude as in a standard approach.
4.1
Mutation
An evolutionary algorithm that uses only mutation as variation operator usually
flips each bit of each individual with a certain probability p. The approach for
our population represented as a relation is straightforward and can be implemented in time O(n2 ) as we have to consider each entry of P at most once. To
integrate the mutation operator into the general framework we assume that we
have constructed a relation M that gives the mask which entries are flipped in
the next step. In this case each entry of M is set to 1 with probability p. Then we
can construct the relation C for the children of P using the symmetric difference
of P and M . Hence, we can compute the n children of P by
C = (P ∩ M ) ∪ (P ∩ M ).
4.2
Crossover
A crossover operator for the current population P takes two individuals of P to
produce one child. To create the population of children C by this process, we
assume that we have in addition created a relation P ′ by permuting the columns
of P . Then we can decide which entry to use for the relation C by using a
mask M .
C = (M ∩ P ) ∪ (M ∩ P ′ )
To implement different crossover operators we have to use different masks in
this expression.
A Relation-Algebraic View on EAs for Some Graph Problems
153
In the case of uniform crossover each entry is chosen from P or P ′ with
probability 1/2. Hence, we can use the mask M where each entry is set to 1 with
probability 1/2 and 0 otherwise.
In the case of 1-point crossover, we choose for each column j a position ki
such that Mij holds for 1 ≤ i ≤ ki and M ij otherwise. In a similar way the
masks for the other crossover operators can be constructed.
Often one does not want to apply crossover to each pair of individuals given by
P and P ′ . Normally each pair of individuals is used for crossover with a certain
probability pc . To specify these pairs of individuals, we construct a vector m of
length n where each entry is set to 1 with probability pc . Then we obtain a new
mask
M ′ = M ∩ (mL)⊤ ,
with L : 1 ↔ [1..n] which can be used to compute the relation C. In a similar way we can mutate individuals of P only with a certain probability pm by
constructing a vector m where each entry is set to 1 with probability pm .
The construction of the masks for crossover or mutation can be carried out
in time O(n2 ) and each operation for the computation of C needs time O(n2 ).
Hence, each of the mentioned crossover or mutation operators can be implemented in time O(n2 ) using relational algebra.
4.3
Selection
We focus on one of the most important selection methods used in evolutionary
computation, namely tournament selection, and assume that we have a parent
population P and a child population C both of size n. To establish n tournaments
of size 2 we use a random bijective mapping that assigns each individual of P to
an individual of C. This can be done by permuting the columns of C randomly.
Due to the evaluation process we assume that we have a decision vector d that
tells us to take the individual of P or the individual of C for the newly created
population N .
Let P, C : X ↔ [1..n] and d : [1..n] ↔ 1, where we assume that the columns of
C have already been permuted randomly. We want to construct a new population
N , such that for each i ∈ [1..n] either P (i) or C (i) is the i-th column of N . The
vector d specifies which columns should be adopted in the new population N .
di ⇐⇒ P (i) should be adopted
and
di ⇐⇒ C (i) should be adopted.
More formally, the new relation N : X ↔ [1..n] is defined by
Nxi ⇐⇒ (Pxi ∧ di ) ∨ (Cxi ∧ di ).
154
B. Kehden and F. Neumann
This can easily be transformed into a relational expression:
Nxi ⇐⇒ (Pxi ∧ di ) ∨ (Cxi ∧ di )
⊤
⇐⇒ (Pxi ∧ Ld⊤
xi ) ∨ (Cxi ∧ Ld xi )
⇐⇒ ((P ∩ Ld⊤ ) ∪ (C ∩ Ld⊤ ))xi
Hence, the new population N is determined by
N = (P ∩ Ld⊤ ) ∪ (C ∩ Ld⊤ ).
The expression Ld⊤ is the composition of two vectors of length n which can
be carried out in time O(n2 ). The whole determination of N can be done in time
O(n2 ) as all other operations used in the expression for N can also be executed
in time O(n2 ) as mentioned in Section 2.
5
Computing Exact Solutions
Using the expressions derived in Section 3 we give exact approaches for the
three considered problems. Here we work with a relation M, called membership
relation, instead of the relation P .
The membership relation has been shown to be very useful for the computation of exact solutions using relational algebra.
M : X ↔ 2X
MxY :⇐⇒ x ∈ Y .
The membership relation has size n × 2n . This means that even for small
dimensions it is not possible to store this relation. Note, that the relation M lists
all search points of the search space {0, 1}n columnwise and that, in general, it
is impossible to evaluate all search points in the search space sequentially in a
reasonable amount of time.
In Section 2 we have mentioned that relations can be represented in a compact
form using OBDDs. This is indeed the case if we consider the relation M. It can
be shown that this relation can be represented by an OBDD using O(n) nodes.
The main argument for that is that the underlying function is similar to the
direct storage access function (see e.g. Wegener (2000)). For a complete proof on
the stated upper bound see Leoniuk (2001). Nevertheless, the stated approach
has its limitations as the OBDDs that are constructed during the computation
process may be exponentially large in n. As described in Section 3, the vector
⊤
v = L(RM ∩ M)
of type 2X ↔ 1 specifies all vertex covers of R. To select the vertex covers with
the minimal number of vertices, we need the size-comparison relation
S : 2X ↔ 2X
defined by
SAB :⇐⇒ |A| ≤ |B|.
A Relation-Algebraic View on EAs for Some Graph Problems
155
The relation S has size 4n but can be represented by an OBDD of size O(n2 )
as shown by Milanese (2003). We use the ordering S to develop a relational
expression which specifies the minimal subsets in v.
y is a smallest element of v with respect to S ⇐⇒
⇐⇒
⇐⇒
⇐⇒
vy ∧ ∀z : vz → Syz
vy ∧ ¬∃z : vz ∧ Syz
vy ∧ Sv y
(v ∩ Sv)y
The relational expression
m = v ∩ Sv
describes the set of the smallest elements in v with respect to the order S, hence
we obtain a vector of the same type as v, specifying the smallest vertex covers
of R. By choosing a point p ⊆ m and computing the product Mp we achieve a
vector of the type X ↔ 1 that represents a minimal vertex cover of R.
Similarly, we can compute all independent sets of R with
⊤
v = L(RM ∩ M)
and all cliques of R with
⊤
v = L((I ∪ R)M ∩ M)
using the expressions introduced in Section 3. In this cases we use the relational
expression
⊤
v∩S v
to select the largest elements of v with respect to the order S. Hence, we achieve
the maximal independent sets respectively the maximal cliques of R.
6
The Quality of a Standard Evolutionary Approach
We have shown in the previous sections how the modules of an evolutionary
algorithm can be formulated using relational algebra. In addition we have given
formulations for the exact computation of the considered problems. In the following we present some experimental results. We consider the vertex cover problem
and want to evaluate the quality obtained by a standard evolutionary approach
after a small number of generations, namely 100. He, Yao, and Li (2005) have
studied the behavior of different evolutionary algorithms for the vertex cover
problem. To examine the quality of the algorithms they have considered different
graph classes, namely a bipartite graph and a graph with one large cycle, where
the value of an optimal solution is known. Here we consider random graphs,
where it is hard to obtain optimal solutions. Using the exact method proposed in
Section 5 we are able to compare the results obtained by a standard evolutionary
algorithm with the value of an optimal solution.
156
B. Kehden and F. Neumann
We have carried out all these computations using the RelView-System that allows the evaluation of relation-algebraic terms and programs. Our computations
were executed on a Sun-Fire 880 running Solaris 9 at 750 MHz.
The general framework used in this work allows to carry out all the operations
using RelView and shows the quality of the results obtained by a standard
evolutionary approach with respect to the optimal solutions. But it should be
mentioned that RelView is designed as a general tool for relational algebra and
it is not tuned with respect to the considered problems. Especially it is not
designed in a special way for evolutionary computation. The runtimes for the
exact approach were often less then 10 seconds, but quite high, around 120
seconds, in the case of the evolutionary approach. This is due to the fact that that
RelView has not been designed for the implementation of randomized algorithms
constructing many random relations. To get fast evolutionary algorithms based
on relational algebra, one has to implement the modules of an EA in a special way
as shown in Sections 2–4. The reason for using RelView is the general framework
and the fast computation of the exact solutions.
In our experiments we consider a simple evolutionary algorithm and random
graphs with n = 50 vertices. The initial population is chosen by applying n times
a random version of the well-known approximation algorithm due to Gavril and
Yannakakis (see e.g. Cormen, Leiserson, Rivest, and Stein (2001)). Starting with
the given graph, in each step an edge e = {u, v} is chosen uniformly at random
and u, v are included in the solution. After that all edges incident to u or v are
deleted from the graph. The process is iterated until the graph is empty. It is
well known that solutions constructed in this way have size at most twice the
size of an optimal solution.
The population has size n, we use uniform-crossover and after that mutation
where each bit is flipped with probability 1/n. The probability for a crossover
to take place is pc = 0.8. After n children have been created in this way, we
apply tournament selection with n tournaments of size 2 where one participant
is chosen from the parents and one from the children as explained in Section 4.
Note, that only individuals being vertex covers are accepted for the next generations as in a tournament a feasible solution always wins against an unfeasible
one. In the case that both individuals of a tournament are vertex covers an individual with the smallest number of vertices is chosen for the next generation.
The algorithm is terminated after 100 generations. Only the initial population
is chosen in a way that is special for the vertex cover problem. The other parts
of the algorithm are general and are often used in the scenario of black-box optimization. Therefore our aim is not to beat specific algorithms for the vertex
cover problem, but to examine the quality of solutions obtained by a standard
evolutionary approach with respect to the value of an optimal one.
In our experiments we considered random graphs, where each edge is chosen with a certain probability p. We examine for each p ∈ {0.05, 0.1, 0.15, 0.2}
ten random graphs. The results obtained by the evolutionary algorithm are compared with the value of an optimal solution computed by using the exact method
of Section 5, and the best solution included in the initial population. Note, that
A Relation-Algebraic View on EAs for Some Graph Problems
50
157
Optimum
Initial population
EA
45
40
35
30
25
20
1
10
20
30
40
Fig. 1. Results on random graphs with 50 vertices
the initial population is constructed by applying n times a random version of
the approximation algorithm due to Gavril and Yannakakis.
Figure 1 shows our results. Here the 40 instances are listed at the x-axis,
where the first ten instances correspond to the value p = 0.05, the next ten
instances to p = 0.1 and so on. On the y-axis we list the value of an optimal
solution, the results obtained by the initialization of the population, and the
results achieved by the evolutionary algorithm. Figure 1 shows that the initial
population is always far from optimal, but even within this small number of
generations highly improved by the standard evolutionary approach such that
optimal or nearly optimal solutions are constructed.
7
Conclusions
We have taken a relation-algebraic view on evolutionary algorithms for some
graph problems. It turns out that the evaluation of a population can be sped
up by using relation-algebraic expressions to test whether the solutions of the
population fulfill given constraints. In the case of the three considered graph
problems the computation time for one generation can be reduced from Θ(n3 ) to
O(n2.376 ). We have also shown how the evaluation process of a population can be
extended to the evaluation of the whole search space. This leads to exact methods
for the considered problems which allows to evaluate the results obtained by
evolutionary algorithms with respect to the optimal solutions. Although we have
considered EAs that are not tuned in a special way for the problem considered in
our experiments, namely the vertex cover problem, the comparison shows that
the solutions obtained by a standard evolutionary algorithm are, even within a
small number of generations, not far from optimal.
158
B. Kehden and F. Neumann
References
1. Berghammer, R., Leoniuk, B., and Milanese, U. (2002). Implementation of Relational Algebra Using Binary Decision Diagrams. In: de Swart H.C.M. (ed.): Proc.
6th International Conference RelMiCS 2001, LNCS 2561, Springer, Berlin, Germany, 241–257.
2. Berghammer, R., and Neumann, F. (2005). RELVIEW - An OBDD-based Computer Algebra System for Relations. In: Gansha et al. (Eds.): Proc. of the 8th
International Workshop on Computer Algebra in Scientific Computing - CASC
2005, LNCS 3718, Springer, Berlin, Germany, 40–51.
3. Beyer, D., Noack, A., and Lewerentz, C. (2005). Efficient Relational Calculation
for Software Analysis. IEEE Transactions on Software Engineering 31(2): 137–149.
4. Coppersmith, D., and Winograd, S. (1990). Matrix multiplication via arithmetic
progressions. Journal of Symbolic Computation, 9:251–280.
5. Cormen, T., Leiserson, C., Rivest, R., and Stein, C. (2001). Introduction to Algorithms. 2nd Edition, McGraw Hill, New York.
6. Garey, M. R., Johnson, D. S. (1979). Computers and Intractability: A Guide to
the Theory of NP-completeness. Freeman, New York.
7. He, J., Yao, X., and Li, J. (2005). A Comparative Study of Three Evolutionary
Algorithms Incorporating Different Amount of Domain Knowledge for Node Covering Problems. IEEE Transactions on Systems, Man and Cybernetics, Part C.
35(2):266- 271.
8. Kehden, B., Neumann, F., Berghammer, R. (2005). Relational Implementation of
Simple Parallel Evolutionary Algorithms. In: Proc. of the 8th International Conference on Relational Methods in Computer Science (RelMiCS 8), 137–146.
9. Leoniuk, B. (2001) ROBDD-based implementation of relational algebra with applications (in German). Diss., Univ. Kiel.
10. Michalewicz, Z. (2004). How to solve it: Modern heuristics. 2nd edition, SpringerVerlag, Berlin.
11. Milanese, U. (2003). On the implementation of a ROBDD-based tool for the manipulation and visualization of relations (in German). Diss., Univ. Kiel.
12. Raidl, G.R. and Julstrom, B.A. (2003). Edge sets: an effective evolutionary coding
of spanning trees. IEEE Trans. on Evolutionary Computation 7, 225–239.
13. Schmidt, G., and Ströhlein, T. (1993). Relations and graphs. Discrete mathematics
for computer scientists, EATCS Monographs on Theoret. Comp. Sci., Springer.
14. Schnorr, C.-P., and Subramanian, C. R. (1998). Almost Optimal (on the average)
Combinatorial Algorithms for Boolean Matrix Product Witnesses, Computing the
Diameter (Extended Abstract). RANDOM 1998: 218–231.
15. Soak, S.-M., Corne, D., and Ahn, B.-H. (2004). A Powerful New Encoding for
Tree-Based Combinatorial Optimisation Problems. In Proc. of the 8th. Int. Conf.
on Parallel Problem Solving from Nature (PPSN VIII). LNCS 3242, 430–439.
16. Wegener, I. (2000). Branching programs and binary decision diagrams: Theory and
applications. SIAM Monographs on Discr. Math. and Appl., SIAM.
New Computational Results for the Nurse Scheduling
Problem: A Scatter Search Algorithm
Broos Maenhout1 and Mario Vanhoucke1,2
1
Faculty of Economics and Business Administration,
Ghent University, Gent, Belgium
2
Operations & Technology Management Centre,
Vlerick Leuven Gent Management School, Gent, Belgium
{broos.maenhout, mario.vanhoucke}@ugent.be
Abstract. In this paper, we present a scatter search algorithm for the wellknown nurse scheduling problem (NSP). This problem aims at the construction
of roster schedules for nurses taking both hard and soft constraints into account.
The objective is to minimize the total preference cost of the nurses and the total
penalty cost from violations of the soft constraints. The problem is known to be
NP-hard. The contribution of this paper is threefold. First, we are, to the best of
our knowledge, the first to present a scatter search algorithm for the NSP.
Second, we investigate two different types of solution combination methods in
the scatter search framework, based on four different cost elements. Last, we
present detailed computational experiments on a benchmark dataset presented
recently, and solve these problem instances under different assumptions. We
show that our procedure performs consistently well under many different
circumstances, and hence, can be considered as robust against case-specific
constraints.
Keywords: meta-heuristics; scatter search; nurse scheduling.
1 Introduction
Personnel scheduling problems are encountered in many application areas, such as
public services, call centers, hospitals, and industry in general. For most of these
organizations, the ability to have suitably qualified staff on duty at the right time is of
critical importance when attempting to satisfy their customers’ requirements and is
frequently a large determinant of service organization efficiency [1,2]. This explains
the broad attention given in literature to a great variety of personnel rostering
applications [3,4]. In general, personnel scheduling is the process of constructing
occupation timetables for staff to meet a time-dependent demand for different services
while encountering specific workplace agreements and attempting to satisfy
individual work preferences. The particular characteristics of different industries
result in quite diverse rostering models which leads to the application of very different
solution techniques to solve these models. Typically, personnel scheduling problems
are highly constrained and complex optimization problems [4,5].
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 159 – 170, 2006.
© Springer-Verlag Berlin Heidelberg 2006
160
B. Maenhout and M. Vanhoucke
In this paper, a procedure is presented to solve the nurse scheduling problem (NSP)
which involves the construction of duty rosters for nursing staff over a pre-defined
period. Problem descriptions and models vary drastically and depend on the
characteristics and policies of the particular hospital. Due to the huge variety of hard
and soft constraints, and the several objective function possibilities, the nurse
scheduling problem has a multitude of representations, and hence, many exact and
heuristic procedures have been proposed to solve the NSP in various guises. Recent
literature surveys [6,7] give an overview of all these procedures, and mention
simulated annealing, tabu search and genetic algorithms as popular meta-heuristics for
the NSP.
In constructing a nurse schedule, a set of nurses need to be assigned to days and
shifts in order to meet the minimal coverage constraints and other case-specific
constraints and to maximize the quality of the constructed timetable. Consequently,
the NSP under study is acquainted with three main components, i.e.
- Each nurse needs to express his/her preferences as the aversion to work on a
-
-
particular day and shift. According to [8], quantifying these nurses’ preferences in
the objective function maintains fairness and guarantees the quality of the nurse
roster over the scheduling horizon.
The minimal coverage constraints embody the minimal required nurses per shift
and per day, and are inherent to any shift scheduling problem. These constraints
are handled as soft constraints that can be violated at a certain penalty cost
expressed in the objective function.
The case-specific constraints are not inherent to any NSP instance but are rather
case-specific, i.e. determined by personal time requirements, specific workplace
conditions, national legislation, etc…. These constraints are handled as hard
constraints which can not be violated at a certain penalty cost.
Hence, the objective of the NSP is to minimize the sum of the nurses’ preferences and
the total penalty cost of violating the minimal coverage requirements subject to
different case-specific (hard) constraints. For a more formal description of the NSP,
we refer to [9]. The problem is known to be NP-hard [10].
In section 2 of this paper, we briefly review the philosophy of the scatter search
template provided by [11]. Moreover, we discuss and illustrate the underlying
principles and the implementation of the scatter search framework for the nurse
scheduling problem. In section 3, we present new computational results tested on the
NSPLib dataset proposed by [12]. In section 4, conclusions are made and directions
for future research are indicated.
2 Scatter Search for NSP
Scatter search [11] is a population-based meta-heuristic in which solutions are
combined to yield better solutions using convex linear or non-linear combinations.
This evolutionary meta-heuristic differs from other evolutionary approaches, such as
genetic algorithms, by providing unifying principles for joining solutions based on
generalized path constructions in Euclidian space and by utilizing strategic designs
where other approaches resort to randomization. The scatter search methodology is
New Computational Results for the NSP: A Scatter Search Algorithm
161
very flexible, since each of its elements can be implemented in a variety of ways and
degrees of sophistication. Hence, the scatter search template has been successfully
applied in several application areas. However, to the best of our knowledge, the
scatter search framework has been applied only once to personnel rostering, more
precisely on a labour scheduling problem by [13]. In their paper, they describe the
development and implementation of a decision support system for the optimization of
the passenger flow by trading off service quality and labour costs at an airport. In
their search for the minimal number of employees, their path relinking approach
concentrates on the shifts which are staffed differently in the parent solutions.
For an overview of the basic and advanced features of the scatter search metaheuristic, we refer to [14,15]. In the following, we describe our implementation of the
scatter search approach to the nurse scheduling problem. The pseudo-code for our
generic scatter search template to solve the NSP is written below.
Algorithm Scatter Search NSP
Diversification Generation Method
While Stop Criterion not met
Subset Generation Method
Subset Combination Method
Improvement Method
Reference Set Update Method
Endwhile
The Diversification Generation Method. In this initialization step, a large pool of P
initial solution vectors is generated. A solution point is encoded by the nurse-day
representation [6] which basically indicates the assignment of each nurse to a shift on
each day. Since useful information about the structure of optimal solutions is typically
contained in a suitably diverse collection of elite solutions, the initial solutions are
generated in such a manner a critical level of diversity is guaranteed [14,15]. In order
to generate a diverse set of initial solutions, we create x solutions using a constructive
heuristic and P – x solutions in a random way. The constructive heuristic schedules
the nurses in a random sequence taking both preference costs and penalty cost of
violating the coverage constraints into account. This greedy heuristic is conceived as a
minimum cost flow problem which represents all shifts on all days to which a
particular nurse can be assigned to. Since not all case-specific constraints (e.g. the
maximum number of assignments) can be modelled in the network, it has been
implemented by a k-shortest path approach. Based on this initial population, a subset
of the population elements are designated to be reference solutions. This reference set
contains b1 high quality solutions (Refset1) and b2 diverse solutions (Refset2). The
construction of Refset1 starts with the selection of the best b1 solutions in terms of
solution quality out of the P initial solutions. In order to select the diverse solutions
(Refset2), the minimum distance between all remaining P - b1 solutions and the b1
solutions is calculated based on the adjacency degree of [16]. In pursuit of diversity,
the b2 solutions with maximal distance will be selected for membership of Refset2
while all other P – b1 – b2 solutions are disregarded.
The Solution Generation Method. After the initialization phase, scatter search
operates on this reference set by combining pairs of reference solutions in a
162
B. Maenhout and M. Vanhoucke
controlled, structured way. Two elements of the reference set are chosen in a
systematic way to produce points both inside and outside the convex regions spanned
by the reference solutions. [14] suggest to create new solutions out of all two-element
subsets. Choosing the two reference solutions out of the same cluster stimulates
intensification, while choosing them from different clusters stimulates diversification.
Hence, in our scatter search, the solution method consists of the evaluation of all b1 ×
b1, b1 × b2 and b2 × b2 combinations in a random sequence.
The Solution Combination Method. A new solution point is the result of a linear
combination of two population elements in the reference set. The process of
generating linear combinations of a set of reference solutions may be characterized as
generating paths between solutions [17]. A path between solutions will generally
yield new solutions that share a significant subset of attributes contained in both
parent solutions, which can differ according to the path selected. The moves introduce
attributes contributed by a guiding solution and/or reduce the distance between the
initiating and the guiding solution. The goal is to capture the assignments that
frequently or significantly occur in high quality solutions, and then to introduce some
of these compatible assignments into other solutions that are generated by a heuristic
combination mechanism.
Our specific combination method relies on problem-specific information of both
the initiating and the guiding solution schedule to create a new schedule, and takes
four criteria into account. Two of these criteria incorporate objective function related
data into account, as follows:
− Preference costs: Since the overall objective is to minimize the nurses’ aversion
towards the constructed work timetable, the day/shift preference cost expressed by
each nurse is an important determinant in constructing high-quality new solution
points.
− Coverage information: In order to minimize the penalty cost of violating the
minimal coverage constraints, the algorithm penalizes those shifts where the
coverage constraints are violated. In doing so, the solution combination method
biases the initiating solution towards a (more) feasible solution.
The other two criteria incorporate information to maintain the “good” characteristics
of both the initiating and the guiding schedule, as follows:
− Critical shifts of the initiating solution: In directing the initiating solution towards
the guiding solution, the algorithm prevents the removal of critical shifts from the
initiating solution, which, in case of removal, would lead to an additional violation
of the coverage constraints. In doing so, the algorithm aims at the construction of a
new solution point that does not encounter any (additional) violations of the
coverage constraints.
− Bias to the guiding solution: The algorithm guides the initiating solution to the
assignments of the guiding solution, in order to decrease the distance between the
two schedules by introducing attributes of the guiding solution.
These four elements will be carefully taken into account for each move from an
initiating solution to a guiding solution. Since the re-linking process of two solutions
out of the reference set can be based on more than one neighbourhood [15], our
algorithm makes use of two types of neighbourhood moves: a nurse neighbourhood
move or a day neighbourhood move.
New Computational Results for the NSP: A Scatter Search Algorithm
163
In the nurse neighbourhood move, the schedule of a single nurse of the initiating
solution is directed towards the schedule of the corresponding nurse in the guiding
solution. Therefore, the algorithm relies on a k-shortest path approach to optimize the
schedule for a particular nurse taking into account a weighted average of the four
aforementioned elements. The scheduling of a single nurse at minimum cost over the
complete scheduling horizon can be considered as a minimum cost flow problem and
can be solved by any shortest path algorithm. Moreover, since not all case-specific
constraints can be incorporated in a shortest path algorithm, a k-shortest path
approach is implemented where the outcome of this algorithm (i.e. a nurse schedule)
should be checked whether it is feasible or not with respect to all these constraints. If
the outcome is not feasible, a 2nd shortest path will be generated and checked for
feasibility. This process continues until the shortest feasible pattern (i.e. the kth
shortest path) for the nurse is found. The graph used for our algorithm consists of
#days*#shifts nodes (plus two extra dummy nodes representing the start and end of
the network) representing the daily shift assignments for the nurse under study. An
arc (a, b) is drawn to connect node a representing a possible shift assignment on day j
to node b representing a shift assignment on day j + 1. The distances between nodes
are made up of a weighted average of the four abovementioned elements. In
calculating the new schedule for a particular nurse, we rely on the algorithm of [18].
In the day neighbourhood move, the roster of a single day of the initiating solution
is directed towards the roster of the corresponding day of the guiding solution, given
the assignments of the nurses on all other days in the initiating solution. To that
purpose, we transform a single day roster to a linear assignment problem (LAP)
matrix, and solve it by means of the Hungarian method [19]. In constructing this
matrix, we duplicate each shift column such that each shift has a number of columns
that is equal to its coverage requirements. Moreover, we add dummy nurses and/or
dummy shifts to allow under- or over-coverage of the coverage requirements. The
number of extra dummy nurses equals the total daily nurse requirements, and
penalizes under-coverage when a required shift column has to be assigned to a
dummy nurse. The number of extra dummy shifts equals the total number of (nondummy) nurses and allows over-coverage of the coverage requirements when nurses
are assigned to dummy shifts. The cost of assigning non-dummy nurses to one of the
dummy shifts is equal to the minimum cost of the (feasible) shifts a nurse can be
assigned to. The LAP matrix contains costs associated with the four criteria the
solution combination mechanism is based on. Furthermore, the LAP matrix excludes
certain shift assignments to cope with the case-specific constraints, taking into
account the fixed assignments of all other days of the current solution.
This solution combination method can be best illustrated on an example NSP
instance with 5 nurses and a scheduling period of 4 days. We assume that each
day consists of three working shifts (e.g. early (s1), day (s2), night (s3)) and a free shift
(s4). The nurses’ preferences as well as the minimal coverage requirements are
displayed in the top table of figure 1. Since “s4” is used to refer to a free shift, its daily
coverage requirements equal zero. We assume some additional case specific
constraints as follows: the number of assignments varies between a minimal value
of 3 and a maximal value of 4. The consecutive working shifts vary between a
164
B. Maenhout and M. Vanhoucke
minimal value of 2 and a maximal value of 4. The assignment of nurses to maximal
one shift per day and the succession constraints are inherent to continuous personnel
scheduling. The latter constraint implies forbidden successive assignments between s3
and s1, s3 and s2 and s2 and s1.
Nurse 1
Nurse 2
Nurse 3
Nurse 4
Nurse 5
Scheduled
Coverage
Violation
s1
3
8
4
9
1
1
2
1
Day 1
s2 s3
2 0
0 3
5 9
4 7
9 6
2 0
1 1
0 1
s4
1
9
2
2
8
2
0
0
Initiating Solution
Day 2
Day 3
s2 s3 s4 s1 s2 s3
0 3 6 2 0 4
8 0 7 8 1 4
8 3 4 0 6 1
0 5 6 4 6 1
1 1 2 3 2 8
2 0 0 2 1 2
2 1 0 2 1 1
0 1 0 0 0 0
s1
0
2
9
2
7
3
1
0
s4
1
9
5
5
8
0
0
0
s1
3
9
0
2
3
1
2
1
Day 4
s2 s3
5 4
6 2
0 6
2 2
0 7
1 3
1 1
0 0
s4
9
2
6
0
2
0
0
0
s1
3
8
4
9
1
2
2
0
Day 1
s2 s3
2 0
0 3
5 9
4 7
9 6
1 1
1 1
0 0
s4
1
9
2
2
8
1
0
0
s1
0
2
9
2
7
2
1
0
Guiding Solution
Day 2
Day 3
s2 s3 s4 s1 s2 s3
0 3 6 2 0 4
8 0 7 8 1 4
8 3 4 0 6 1
0 5 6 4 6 1
1 1 2 3 2 8
2 1 0 2 2 1
2 1 0 2 1 1
0 0 0 0 0 0
s2
Day 4
s2 s3
5 4
6 2
0 6
2 2
0 7
1 1
1 1
0 0
s4
9
2
6
0
2
1
0
0
s1
s2
s3
s4
Nurse 1
2 / 0 / 0 / -10
Nurse 2
0/ - / 0/ 0
0 / - / -100 / -10
3/ - / 0/ 0
6 / - / 0/ 0
2/ - / 0/ 0
8 / - / 0 / -10
0/ - / 0/ 0
7 / - / 0/ 0
Nurse 3
9/ - / 0/ 0
8 / - / -100 / 0
3 / - / 0 / -10
4 / - / 0/ 0
s3
s4
Day 1
9 / -100 / 0 / 0
4/ 0/ 0/ 0
7 / -100 / 0 / 0
Day 2
2 / 0 / 0 / -10
0/ 0/ 0/ 0
5 / -100 / 0 / 0
Day 3
4 / 0 / 0 / -10
Day 4 2 / -100 / 0 / -10
s1
3
9
0
2
3
2
2
0
Day neighbourhood
Nurse neighbourhood
s1
s4
1
9
5
5
8
0
0
0
6/ 0/ 0/ 0
6 / 0 / -100 / 0
1/ 0/ 0/ 0
5/ 0/ 0/ 0
Nurse 4
2 / - / 0 / -10
0/ - / 0/ 0
5/ - / 0/ 0
6 / - / 0/ 0
2/ 0/ 0/ 0
2/ 0/ 0/ 0
0/ 0/ 0/ 0
Nurse 5
7 / - / 0 / -10
1/ - / 0/ 0
1/ - / 0/ 0
2 / - / 0/ 0
* PC / CP / CS / BG is used to display preference cost / coverage penalties / critical shifts / bias to
the guiding solution
D ay 2
D ay 1
s1
s2
4
ST A R T
0
-9 3
-9 5
s4
Nurse 1
Nurse 2
Nurse 3
Nurse 4
Nurse 5
Scheduled
Coverage
Violation
s1
3
8
4
9
1
2
2
0
s3
6
Day 1
s2 s3
2 0
0 3
5 9
4 7
9 6
2 0
1 1
0 1
5
1
s4
1
9
2
2
8
1
0
0
s1
0
2
9
2
7
3
1
0
END
0
-1 0 8
s3
5
5
×
s2
s2
-110 -110
s3
3
ds
ds
ds
ds
ds
-110 -110 -110 -110 -110
0
2
2
s4
Nurse 2
2
×
×
×
2
2
2
2
2
Nurse 3
×
-92
-92
-7
-92
-92
-92
-92
-92
Nurse 4
-8
0
0
×
-8
-8
-8
-8
-8
Nurse 5
-3
×
×
×
-3
-3
-3
-3
-3
dn
100
100
100
100
0
0
0
0
0
dn
100
100
100
100
0
0
0
0
0
dn
100
100
100
100
0
0
0
0
0
dn
100
100
100
100
0
0
0
0
0
0
2
2
0
1
s4
6
0
s2
2
2
-9 4
1
-6
6
-9 5
Nurse 1
2
s2
-9 4
1
5
-8
s3
s1
s1
-1 0 8
-9 4
s2
0
-9 5
-9 5
6
-8
s1
-6
0
-9 1
Day 4
D ay 3
s1
-8
s3
0
0
0
New Solution
Day 2
Day 3
s2 s3 s4 s1 s2 s3
0 3 6 2 0 4
8 0 7 8 1 4
8 3 4 0 6 1
0 5 6 4 6 1
1 1 2 3 2 8
2 0 0 3 0 2
2 1 0 2 1 1
0 1 0 0 1 0
s4
s4
1
9
5
5
8
0
0
0
s1
3
9
0
2
3
2
2
0
Day 4
s2 s3
5 4
6 2
0 6
2 2
0 7
1 2
1 1
0 0
s4
9
2
6
0
2
0
0
0
s1
3
8
4
9
1
1
2
1
Day 1
s2 s3
2 0
0 3
5 9
4 7
9 6
2 0
1 1
0 1
s4
1
9
2
2
8
2
0
0
s1
0
2
9
2
7
2
1
0
New Solution
Day 2
Day 3
s2 s3 s4 s1 s2 s3
0 3 6 2 0 4
8 0 7 8 1 4
8 3 4 0 6 1
0 5 6 4 6 1
1 1 2 3 2 8
2 1 0 2 1 2
2 1 0 2 1 1
0 0 0 0 0 0
s4
1
9
5
5
8
0
0
0
s1
3
9
0
2
3
1
2
1
Day 4
s2 s3
5 4
6 2
0 6
2 2
0 7
1 3
1 1
0 0
Fig. 1. The Solution Combination Method in nurse and day neighbourhood space
s4
9
2
6
0
2
0
0
0
New Computational Results for the NSP: A Scatter Search Algorithm
165
The left top table is assumed to be the initiating solution from Refset2 with a total
preference cost of 81 and four coverage violations (the specific assignments have
been encircled). Since the algorithm penalizes each coverage violation with a penalty
cost of 100, the total solution quality of the initiating solution equals 481. The right
table is assumed to be the guiding solution from Refset1 with a total preference cost of
70 and no coverage penalties. The adjacency degree measures the distance between
schedules as the sum of zeros (identical day/shift assignment) and ones (different
day/shift assignment), which leads to a total distance of 12.
In the remainder of this section, we illustrate the nurse neighbourhood move for
nurse 4 (left part) and the day neighbourhood move for day 2 (right part) on our two
parent solution schedules.
Nurse neighbourhood move: The left table below the parent solutions displays the
calculations of the four elements of this section, i.e. the nurse’s preference costs, the
coverage penalties, the critical shifts and the assigned shifts of the guiding solution.
The coverage penalty is set at 100, while the assigned shifts of the guiding solution
have a negative cost of 10. The critical shifts are found for those assigned shifts of the
initial schedule of nurse 4 when the difference between the number of scheduled
nurses (row ‘Scheduled’) and the assignments of nurse 4 is lower than the minimum
required number of nurses (row ‘Coverage’).
The sum of all costs in the table results in the cost values on the corresponding arcs
of the network representing the scheduling of the nurse over the complete scheduling
horizon. The graph counts 4 * 4 nodes and a start and an end dummy node. The
shortest path in the network is s3 – s3 – s4 – s1 with a distance of -291. However, the
path is infeasible since the constraint of minimal 2 consecutive working days is
violated. Based on the same argument, the 2nd shortest path, i.e. s1 – s3 – s4 – s1 with a
distance of -289, is infeasible. The next shortest path is s1 – s1 – s1 – s1 with a distance
of -213. This path is feasible for all case-specific constraints and leads to the newly
constructed schedule at the left bottom part of the figure. The new solution point has a
total solution quality of 386. The total preference cost has increased from 81 to 86,
whereas the number of coverage violations has decreased from 4 to 3. The distance
between the new initiating solution point and the guiding solution point has also
decreased from 12 to 11.
Day neighbourhood move: The right table below the parent solutions displays the
calculations of the four elements in a similar way as previously, but from the second
day’s point-of-view. The corresponding LAP matrix contains the sum of three of
these four elements, i.e. the nurse’s preference costs, the total critical shift cost and
the cost of the assigned shifts of the guiding solutions. The coverage penalties have
been incorporated implicitly in the structure of the LAP matrix since dummy nurses
(dn) have been inserted which penalize the under-coverage of shifts. In contrast, the
incorporation of dummy shifts (ds) allows the over-coverage of shifts. The casespecific constraints have been embedded in the LAP matrix by excluding some
assignments (denoted by crossed cells). The optimal LAP solution has been encircled
and leads to the newly constructed schedule at the right bottom part of the figure. The
new solution point has a total solution quality of 374. The total preference cost has
decreased from 81 to 74, and the number of coverage violations has also decreased
166
B. Maenhout and M. Vanhoucke
from 4 to 3. The distance between the new initiating solution point and the guiding
solution point has not changed and remains 12.
The Improvement Method. The improvement method applies heuristic processes to
improve both total preference cost and coverage infeasibilities of the newly generated
solution points. To that purpose, we implemented the three complementary local
search algorithms of [9], each focusing on a different part of the scheduling matrix.
The pattern-based local search aims at the optimization of the schedule for a
particular nurse, given the schedules of all other nurses. The day-based local search
optimizes the schedule for one day given the assignments of the nurses on all other
days. The schedule-based local search aims to improve the quality of the schedule by
swapping (parts of) schedules between nurses.
The Reference Update Method. After the application of the diversification and
intensification process, the child solutions are added to the reference set if certain
threshold values for the criteria which evaluate the merit of newly created solution
points are met. A newly generated solution may become a member of the reference
set either if the new solution has a better objective function value than the solution
with the worst objective value in Refset1 or if the diversity of the new solution with
respect to the reference set is larger than the solution with the smallest distance value
in Refset2. In both cases the new solution replaces the worst and the ranking is
updated to identify the new worst solution in terms of either quality or diversity. The
reference set is dynamically updated. In contrast to a static update where the reference
set is updated after combination of all generated sub-sets, a dynamic update evaluates
each possible reference set entrance instantly. In this way, new “best” solutions can be
combined faster and inferior solutions are eliminated faster. During the search,
diversity in the reference set is maintained through the use of these artificial tiers in
the reference set but also through a threshold distance depending on the problem size
under study. The latter prevents the duplication of solution points in the reference set
and/or the entrance of highly resembling solutions.
3 Computational Results
In this section, we present computational results for our scatter search procedure
tested on the NSPLib problem instances of [12]. This testset contains 4 sub-sets with
25, 50, 75, and 100 nurses and a 7-days scheduling horizon (this so-called diverse set
contains 4 * 7290 instances), and 2 sub-sets with 30 or 60 nurses and a 28-days
scheduling horizon (this realistic set contains 2 * 960 instances). The nurses’
preference structure and the coverage requirements of each sub-set are characterized
by systematically varied levels of various NSP complexity indicators proposed in
[12]. All sets have been extended by 8 mixes of case-specific constraints which
appear frequently in literature [6], i.e. the minimum/maximum number of working
assignments, the minimum/maximum number of assignments per shift type, the
minimum/maximum consecutive working shifts, and the minimum/maximum
consecutive working shifts per shift type. The testset, the sets of case-specific
constraints and results can be downloaded from http://www. projectmanagement.
ugent.be/nsp.php. The tests have been carried out under a stop criterion of 1,000 or
New Computational Results for the NSP: A Scatter Search Algorithm
167
5,000 schedules (Toshiba SPA10 2.4Ghz processor). In the next sub-section, we
compare different neighbourhood combination versions into detail. In section 3.2, we
present best known solutions for our large dataset.
3.1 Day Neighbourhood or Nurse Neighbourhood
In order to test the performance of our two solution combination methods, the day
neighbourhood (DNH) and nurse neighbourhood (NNH), we have randomly selected
576 instances from the 25- and 288 instances from the 30- nurse instances. Each
neighbourhood move (day or nurse) contains a mix of the 4 elements, i.e. preference
cost (PC), coverage penalty (CP), critical shift calculation (CS) and the bias to the
guiding solution (BG). Both the nurse and the day neighbourhood moves will be
compared with simple and straightforward moves, based on
• Complete replacement by the guiding solution (CGS): The day (DNH) or nurse
(NNH) of the initiating solution will be completely replaced by the assignments of
the guiding solution.
• Random cost (RAN): The cost matrix simply contains random numbers instead of
the sum of PC, CP, CS and BG.
• Percentage of guiding solution (%GS): A randomly selected part of the day (DNH)
or nurse (NNH) of the initiating solution will be replaced by the assignments of the
guiding solution.
Table 1. Average solution quality (Avg_Sol) and Ranking for the various combination methods
Solution Combination Method
Combination elements
CGS
RAN
%GS
PC
×
×
×
×
×
×
×
×
-
CP
×
×
×
×
×
×
×
×
-
CS
×
×
×
×
×
×
×
×
-
Nurse Neighbourhood
N25
N30
BG Avg_Sol Ranking Avg_Sol Ranking
310.67
17
1,498.21
9
312.26
18
1,528.22
18
308.43
9
1,507.74
11
×
306.67
5
1,496.02
6
310.25
14
1,515.23
13
309.18
11
1,496.80
7
×
306.66
4
1,493.21
4
310.40
15
1,519.58
15
×
309.37
13
1,519.87
16
×
306.57
3
1,492.17
3
308.39
8
1,509.86
12
×
309.26
12
1,518.92
14
×
305.82
1
1,490.34
2
×
308.99
10
1,494.23
5
×
306.20
2
1,486.36
1
306.68
6
1,497.63
8
310.56
16
1,524.50
17
307.01
7
1,498.63
10
Day Neighbourhood
N25
N30
Avg_Sol Ranking Avg_Sol Ranking
307.52
14
1,500.20
15
307.37
11
1,501.21
16
307.86
18
1,498.72
13
307.00
5
1,495.93
9
307.57
16
1,542.96
18
307.67
17
1,498.66
12
307.00
5
1,495.16
5
307.50
13
1,498.87
14
307.03
7
1,494.11
3
307.27
10
1,495.43
7
307.44
12
1,497.53
11
306.97
4
1,496.35
10
307.19
8
1,495.65
8
307.21
9
1,495.24
6
306.94
3
1,493.77
2
306.14
1
1,492.97
1
307.55
15
1,504.30
17
306.71
2
1,494.71
4
The results displayed in table 1 can be summarized as follows. First, the day-based
neighbourhood (DNH) outperforms, on the average, the nurse-based neighbourhood
(NNH). Indeed, 13 (10) of the 18 tests results in a DNH cost which is lower than its
corresponding NNH cost. However, the best results can be obtained with the NNH
method. The best result for the N25 (N30) instances amounts to 305.82 (1,486.36)
which outperforms the best known results for the DNH method (306.94 and 1,492.97,
168
B. Maenhout and M. Vanhoucke
respectively). Second, the top 4 results for the NNH have been displayed in bold, and
show that the three elements, PC, CS and BG are relevant cost factors (3, 3 and 4
times used, respectively). The CP cost factor has been used only once in the top 4
results, and seems to be less important. Last, the simple CGS approach is the best
approach for the DNH method, but is not able to outperform the best known results
with the NNH method. The %GS has an average (good) performance for the NNH
(DNH) method while the RAN method leads to rather poor results for both solution
combination methods.
In section 3.2, we report best known solutions for all the data instances, based on
the solution combination method NNH-PC/CS/BG for the diverse set with a 7-days
scheduling horizon (N25, N50, N75 and N100) and the solution method NNHPC/CP/CS/BG for the realistic set with a 28-days scheduling horizon (N30 and N60).
3.2 New Best Known Solutions
In order to benchmark our results and present best known state-of-the-art solutions,
we have tested all 31,080 instances on all case-specific constraint files, resulting in
248,640 instances in total. We have truncated each test after a stop criterion of 1,000
and 5,000 schedules. Table 2 displays the results for the 5,000 schedule stop criterion.
A similar table can be downloaded from www.projectmanagement.ugent.be/nsp.php
with a 1,000 schedule stop criterion. The table displays the average solution quality,
split up in the average total preference cost (Avg_Pref) and the average penalty cost
(Avg_Pen) which is calculated as the average number of violations of the minimal
coverage requirements times the penalty cost of 100, the required CPU time
(Avg_CPU), the percentage of files for which a feasible solution has been found
(%Feas), and the percentage deviation from the LP optimal solution which serves as a
lower bound (%Dev_LP). The latter has been found by a simple and straightforward
LP model, and has been used for similar tests by [9]. No LP lower bounds could be
provided for the N30 en N60 sets, since the number of constraints exceeds the limits
for the industrial LINDO optimization library, version 5.3 [20].
In order to fine-tune a number of parameters, we have run our procedure on a small
subset of all instances under different parameter settings. In order to find an
appropriate balance between the diversification and intensification process, we have
combined the three proposed local search heuristics into a variable neighbourhood
search. For the N25 instances, all nurses are subject to the pattern-based local search
and all days are subject to the day-based local search. The schedule-based local search
evaluates possible swaps between whole schedules and two-day sub-schedules. In our
tests, 40% of all two-day sub-schedules are swapped between the nurses for all
testsets. The population size (b1 + b2) has been set to 15 (10) for the N25, N50 and
N30 (N75, N100 and N60) instances, respectively. Each time, 80% of these
population elements (b1) have been put into the Refset1. Moreover, 40% of all nurses
are subject to the NNH move for N25 and N50 instances, 60% for the N75 instances,
20% for the N100 instances and all nurses for the N30 and N60 instances.
The table reveals that the gap between the obtained solutions and the LP based
lower bounds is in many cases very small. For some of the cases, the gap is somewhat
larger which gives an indication of the constrainedness of the problem instances. Our
New Computational Results for the NSP: A Scatter Search Algorithm
169
scatter search algorithm is able to outperform (equalize) 40.5% and 62.06% (27.12%
and 1.45%) of respectively the diverse and realistic instances solved by the
electromagnetic procedure of [9] with a stop-criterion of 1,000 schedules, and 33.29%
and 64.42% (45.02% and 1.74%) of respectively the diverse and realistic instances for
the 5,000 schedules.
Table 2. Computational Results for the diverse and realistic dataset for 5,000 schedules
Diverse set
Case 1
Case 2
Case 3
Case 4
Case 5
Case 6
Case 7
Case 8
Avg_Pref
252.23
240.86
268.40
250.33
265.94
241.86
284.11
259.21
Avg_Pen
53.02
53.02
53.76
53.02
71.12
53.02
125.05
71.89
Case 1
Case 2
Case 3
Case 4
Case 5
Case 6
Case 7
Case 8
Avg_Pref
762.77
738.20
802.67
752.10
802.08
739.66
848.60
787.75
Avg_Pen
150.32
150.32
152.43
150.32
202.88
150.32
367.17
206.68
N25
%Feas
88.27%
88.27%
88.08%
88.27%
85.88%
88.27%
80.10%
85.60%
N75
%Feas
88.70%
88.70%
88.37%
88.70%
86.06%
88.70%
79.48%
85.78%
Case 9
Case 10
Case 11
Case 12
Case 13
Case 14
Case 15
Case 16
Avg_Pref
1,525.63
1,429.45
1,607.99
1,465.36
1,570.33
1,444.48
1,678.09
1,541.34
Avg_Pen
423.65
392.50
429.58
392.40
501.67
394.17
843.75
498.02
N30
%Feas
68.02%
69.58%
67.60%
69.38%
66.35%
69.48%
63.33%
66.88%
Avg_CPU
1.61
1.03
2.31
1.58
2.26
1.03
5.05
1.67
%Dev_LP
0.19%
0.08%
1.11%
0.14%
3.63%
0.50%
5.95%
3.26%
Avg_Pref
502.66
480.42
529.16
499.12
527.76
482.65
556.82
513.02
Avg_Pen
84.79
84.79
86.80
84.79
142.88
84.79
273.20
140.01
Avg_CPU
10.13
10.78
14.33
9.83
11.36
8.51
16.28
9.42
%Dev_LP Avg_Pref
0.33%
1,223.44
0.15%
1,180.94
1.24%
1,299.15
0.23%
1,209.59
3.85%
1,280.83
0.17%
1,183.93
5.76%
1,354.75
4.30%
1,258.08
Realistic set
Avg_Pen
166.49
166.32
170.40
166.45
260.23
166.35
517.49
256.98
N50
%Feas
90.03%
90.03%
89.66%
90.03%
85.25%
90.03%
78.29%
85.50%
N100
%Feas
90.49%
90.51%
90.01%
90.48%
86.28%
90.51%
79.49%
86.53%
Avg_CPU
17.37
7.52
40.68
8.95
17.52
7.64
59.68
10.41
%Dev_LP
-
Avg_Pen
743.65
677.81
758.54
677.29
906.46
681.98
1543.33
882.92
N60
%Feas
68.54%
70.00%
68.44%
69.90%
67.92%
69.79%
66.04%
68.23%
Avg_Pref
3125.66
2935.91
3277.91
3006.31
3211.65
2963.95
3424.43
3154.49
Avg_CPU %Dev_LP
5.33
0.25%
3.76
0.11%
6.38
1.17%
5.37
0.19%
6.97
3.44%
3.77
0.59%
12.61
5.33%
5.01
3.01%
Avg_CPU %Dev_LP
23.08
0.36%
21.16
0.20%
24.68
1.22%
22.09
0.28%
24.08
3.43%
21.22
0.22%
31.24
5.38%
22.11
4.11%
Avg_CPU %Dev_LP
37.99
24.01
73.00
26.10
37.66
24.04
105.97
27.44
-
4 Conclusions and Future Research
In this paper, we have presented a new scatter search procedure for the well-known
nurse scheduling problem. To the best of our knowledge, the literature on scatter
search for the nurse scheduling problem is completely void. This framework has only
been applied once on a similar problem type of labour scheduling by [13].
We have investigated the use of two types of solution combination methods, based
on the combinations of sub-schedules of nurses or days. Each method calculates the
attractiveness of the move based on four criteria. We have shown that the scatter
search algorithm leads to promising results and hence might have a bright future in
the further development of meta-heuristic optimization algorithms. We have tested
our procedure on a generated problem set NSPLib, under a strict test design with a
strict stop criterion to facilitate comparison between procedures.
Our main future research intention is as follows. We will aim at the development
of hybrid versions of different meta-heuristics, based on knowledge and concepts
presented in this and many other research papers. A skilled combination of concepts
of different meta-heuristics can provide a more efficient behaviour and a higher
flexibility when dealing with real-world and large-scale problems.
170
B. Maenhout and M. Vanhoucke
References
1. Thompson, G.M.: Improved implicit optimal modelling of the labour shift scheduling
problem. Management Science 43 (1995) 595-607
2. Felici, G., and Gentile, C.: A polyhedral Approach for the Staff Rostering Problem.
Management Science 50 (2004) 381-393
3. Ernst, A.T., Jiang, H., Krishamoorty, M., Owens, B., and Sier, D.: Staff scheduling and
rostering: A review of applications, methods and models. European Journal of Operational
Research 153 (2004) 3-27
4. Ernst, A.T., Jiang, H., Krishamoorty, M., Owens, B., and Sier, D.: An Annotated
Bibliography of Personnel Scheduling and Rostering. Annals of Operations Research 127
(2004) 21-144
5. Glover, F., and McMillan, C.: The General Employee Scheduling Problem: An integration
of MS and AI. Computers and Operations Research 13 (1986) 563-573
6. Cheang, B., Li, H., Lim, A., and Rodrigues, B.: Nurse rostering problems – a bibliographic
survey. European Journal of Operational Research 151 (2003) 447-460
7. Burke, E.K., De Causmaecker, P., Vanden Berghe, G. and Van Landeghem, H.: The state
of the art of nurse rostering. Journal of Scheduling 7 (2004) 441-499
8. Warner, H.W.: Scheduling Nursing Personnel According to Nursing Preference: A
Mathematical Approach. Operations Research 24 (1976) 842-856
9. Maenhout, B., and Vanhoucke, M.: An Electromagnetism meta-heuristic for the nurse
scheduling problem. Working paper 05/316 Ghent University (2005)
10. Osogami, T., and Imai, H.: Classification of Various Neighbourhood Operations for the
Nurse Scheduling Problem. Lecture Notes in Computer Science, Vol. 1969 (2000) 72-83.
11. Glover, F: A Template for Scatter Search and Path Relinking. Lecture Notes in Computer
Science, Vol. 1363 (1998) 13-54
12. Vanhoucke, M., and Maenhout, B.: Characterisation and Generation of Nurse Scheduling
Problem Instances. Working paper 05/339 Ghent University (2005)
13. Casado, S., Laguna, M., and Pacheco, J.: Heuristical Labor Scheduling to Optimize
Airport Passenger Flows. Journal of the Operational Research Society 56 (2005) 649-658
14. Glover, F., and Laguna, M.: Fundamentals of Scatter Search and Path Relinking. Control
and Cybernetics 3 (2000) 653-684
15. Marti, R., Laguna, M., Glover, F.: Principles of scatter search. European Journal of
Operational Research 169 (2006) 359-372
16. Aickelin, U.: Genetic Algorithms for Multiple-Choice Optimisation Principles. PhD,
University of Wales Swansea (1999)
17. Glover, F., and Laguna, M.: Tabu Search. Kluwer Academic Publishers (1997)
18. Martins, E.Q.V., and Pascoal, M.M.B.: A new implementation of Yen’s ranking loopless
paths algorithm. 4OR – Quarterly Journal of the Belgian, French and Italian Operations
Research Societies 1 (2003) 121-134
19. Kuhn, H.: The Hungarian method for the assignment problem. Naval Research Logistics 2
(1955) 83-97
20. Schrage, L.: LINDO: Optimization software for linear programming. LINDO Systems
Inc.: Chicago, IL (1995)
Fast EAX Algorithm Considering Population
Diversity for Traveling Salesman Problems
Yuichi Nagata
Graduate School of Information Sciences,
Japan Advanced Institute of Science and Technology
[email protected]
Abstract. This paper proposes an evolutionary algorithm (EA) that is
applied to the traveling salesman problem (TSP). Existing approximation methods to address the TSP known to be state-of-the-art heuristics
almost exclusively utilize Lin-Kernighan local search (LKLS) and its variants. We propose an EA that does not use LKLS, and demonstrate that
it is comparable with these heuristics even though it does not use them.
The proposed EA uses edge assembly crossover (EAX) that is known to
be an efficient and effective crossover for solving TSPs. We first propose
a modified EAX algorithm that can be executed more efficiently than the
original, which is 2–7 times faster. We then propose a selection model that
can efficiently maintain population diversity at negligible computational
cost. The edge entropy measure is used as an indicator of population
diversity.
The proposed method called EAX-1AB(ENT) is applied to TSP
benchmarks up to instances of 13509 cities. Experimental results reveal
that EAX-1AB(ENT) with a population of 200 can almost always find
optimal solutions effectively in most TSP benchmarks up to instances of
5915 cities. In the experiments, a previously proposed EAs using EAX
can find an optimal solution of usa13509 with reasonable computational
cost due to the fast EAX algorithm proposed in this paper. We also
demonstrate that EAX-1AB(ENT) is comparable to well-known LKLS
methods when relatively small populations such as 30 are used.
1
Introduction
The traveling salesman problem (TSP) is a widely cited NP-hard optimization
problem. Let G = (V, E, w) be a weighted complete graph with n vertices, where
V , E, and w correspond to the set of vertices, the set of edges, and the weights
of edges. The optimal solution is defined as the Hamilton cycle (tour) with the
shortest tour length.
Many approximation methods of finding near optimal solutions have been
proposed in the area of TSP research. In Johnson and McGeoch’s surveys [1][2],
the most efficient approximation methods for TSPs were based on Lin-Kernighan
local searches (LKLS) [3]. The Iterated Lin-Kernighan (ILK) [1], for example,
is a simple yet powerful improvement on LKLS. The Chained Lin-Kernighan
(CLK)[4] are more sophisticated LKLS. Heslgaun [5] also proposed another type
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 171–182, 2006.
c Springer-Verlag Berlin Heidelberg 2006
172
Y. Nagata
of efficient LKLS (LKH) where candidates of edges searched by LKLS were
effectively restricted. Iterated local searches using CLK and LKH are known to
be one of the most efficient approximation methods for TSPs.
Many evolutionary algorithms (EAs) have also been applied to TSPs. Much
effort has been devoted to designing effective crossovers suitable for TSPs because the performance of EAs is highly dependent on the design of crossovers.
Consequently, several crossovers for TSPs have been proposed. Many researchers
[6][7][8] have found that EAX crossover proposed by Nagata at el. [6] works particularly well, and several analyses have been conducted to explain why EAX
works so well [9][10][12]. There have also been extensions of EAX [7][14][8] that
have aimed at improving performance by making minor changes to EAX.
However, it has been found that EAs without LKLS are not comparable with
state-of-the-art TSP heuristics based on LKLS. Methods that have incorporated
LKLS into EAs have recently become known to be efficient heuristics for solving TSPs [11][12]. For example, Tsai et al. [12] proposed a hybrid algorithm
composed of EAX and CLK, that was comparable with other LKLS-based approaches.
We attempted to design an EA to solve TSPs without using LKLS heuristics
that would hopefully be comparable with state-of-the-art TSP heuristics based
on LKLS. To achieve this, we used EAX as a crossover and employed an edge
entropy measure to maintain population diversity. We propose a fast implementation of EAX in Section 2. A selection method that can maintain population diversity (edge entropy) at negligible computational cost is described in Section 3.
Section 4 discusses our experiments and the results are compared with those of
other LKLS-based approaches. Section 5 is the conclusion.
2
Fast Implementation of EAX
Here, we propose a fast implementation of EAX. First, we will briefly describe
the algorithm of EAX [6] ( See an original paper for details ).
2.1
Outline of EAX
The following is an outline of EAX, where all steps correspond to the steps in
Fig.1.
Step 1. A pair of parents is denoted as tour-A and tour-B, and GAB is defined
as a graph constructed by merging tour-A and tour-B.
Step 2. Divide edges on GAB into AB-cycles, where an AB-cycle is defined
as a closed loop on GAB that can be generated by alternately tracing
edges of tour-A and tour-B.
Step 3. Construct an E-set by selecting AB-cycles according to a given rule.
AB-cycles constructed of two edges are neglected.
Step 4. Generate an intermediate solution by applying E-set to tour-A, i.e., by
removing tour-A’s edges in the E-set from tour-A and adding tour-B’s
edges in the E-set to it.
Fast EAX Algorithm Considering Population Diversity for TSP
173
Step 5. Modify the intermediate solution to create a valid tour by connecting
its sub-tours. Two sub-tours are connected by respectively deleting one
edge from each sub-tour and adding two edges to connect them. Which
sub-tours are connected and which edges are deleted are determined
heuristically.
tour-A
Step 5
Step 4
tour-B
Intermediate
E-set
Step 1
valid tour
Step 3
Step 2
AB-cycle
GAB
[Step 5]
e''
Ui
Uj
Uj
e'
e'
e
new edges
edges of tour-B,
edges of tour-A,
e''
e'''
Ui
e
(d) Example of e, e', e'' and e'''
v3
v4
e'
e'''
v1 e v2
(e) Example of cadidates for e'(solid line).
Dashed lines are neglected. Circles mean
distances of the i-th nearest vertices from
v1 and v2 respectively. For example, i = 10.
Fig. 1. The outline of EAX
In Step 3, E-set can be constructed from any combination of AB-cycles. The
following two methods were proposed in previous reports [6][14].
EAX-Rand: E-set was constructed by randomly selecting AB-cycles. The intermediate solution tends to include edges of tour-A and tour-B evenly.
174
Y. Nagata
EAX-1AB: E-set was constructed from a single AB-cycle. The intermediate
solution tends to be similar to tour-A, i.e., children are generated by removing a small number of edges from tour-A and adding the same number of
edges to it.
2.2
Fast Algorithm for EAX-1AB
Indeed, most of the computational cost of the EAX algorithm implemented by
[6] is in Step 5 of the EAX algorithm. Following is the detail of Step 5.
(5-1) Let Ui (i = 1, . . . , k) be the set of edges included in the i-th sub-tour,
where k is the number of sub-tours in an intermediate solution.
(5-2) Choose the smallest sub-tour from |Ui | (i = 1, . . . , k), where |Ui | is the
number of edges in Ui . Let Ur be a selected sub-tour.
(5-3) Find a pair of edges, e ∈ Ur and e′ ∈ Uj (j = r), so that it minimizes
{−w(e) − w(e′ ) + w(e′′ ) + w(e′′′ )} where e′′ and e′′′ are determined to
connect two sub-tours (see Fig.1(d)). Let Us be a sub-tour including edge
e′ . Ur and Us are merged by Ur := (Ur ∪ Us − {e, e′ }) ∪ {e′′ , e′′′ }, and
empty Us . Us := Uk and subtract 1 from k.
(5-4) If k is equal to 1, U1 is a valid tour, then terminate, else go to (5-2).
For the purpose of reducing the computational cost in (5-3), the original EAX
algorithm [6] restricted candidates for edge e′ around edge e (see Fig.1(e)). In
practice, for each edge v1 v2 (= e) ∈ Ur , edges v3 v4 such that either v3 or v4
is at most the i-th nearest from v1 or v2 are considered as candidates for edge
e′ . i was set to 10 in the implementation.
The computational cost for (5-3) is not excessive compared to (5-1) if an
intermediate individual is constructed from one large sub-tour and other small
sub-tours, because only the smallest sub-tour is considered to have merged into
other sub-tours. When EAX-1AB is used, changes in tour-A due to E-set are
usually localized and satisfy these conditions. When EAX-1AB is used, the computational cost of (5-1) can also be reduced. Here, we propose a fast implementation of (5-1).
[Fast algorithm for Step (5-1)]
We used the data structure in Fig.2 to represent intermediate individuals. ’city’
is an array that represents the route for tour-A. ’pos’ is an array that is defined
by pos [city[ i ] ] = i (i = 1, . . . , N ), where N is the number of cities.
(a) Arrays city and pos are prepared once for tour-A as shown in Fig.2(a).
(b) A new route for an intermediate individual is generated by deleting edges
(solid lines) from tour-A and adding edges(dashed lines) to it according to Eset. An new route including sub-tours are represented as shown in Fig.2(b).
The dashed lines cut the route of tour-A. The gray solid lines connect two
corresponding cities. This procedure can efficiently be executed by using pos.
Fast EAX Algorithm Considering Population Diversity for TSP
175
(c) Sub-tours are represented as shown in Fig.2(c). For example, sub-tour1 includes cities located from the 5-th to the 7-th position in the array city.
However, a naive algorithm requires a computational cost of O(N ) to obtain
these representations because all cities in the array city are traced according
to the new route. To reduce the computational cost, the positions of cities incident to added edges on the array city must be sorted as shown in Fig.2(c).
By using this, we can know both end positions for the blocks separated by
the dashed vertical lines in Fig.2(b). If the number of removed edges is much
smaller than N (number of cities), this procedure s much faster than the
naive method.
2
1
3
tour-A
5
4
7
11
8
12
14
13
20
4
6 7
8 9 10 11 12 13 14 15 16 17 18 19 20
4 5
6 2
city: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
pos 1 20 2 17 18 19 3 16 15 14 13 4 5 6 9 10 7 8 10 12
(b) city
1 3 7 12 13 14 17 18 15 16 19 20 11 19 10 8
4 5
6 2
20
2
5
4
sorted position: 4, 5, 7, 8,10,11,16,17,18,19
6
10
7
11
8
7 12 13 14 17 18 15 16 19 20 11 10 9 8
position: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
6
11
1
12
3 4 5
1 3
10
9 16
14 15
13
19
17 18
3
1 2
2
8
12
(a)
16
5
7
E-set
city
18
1
3
9
15 19
17
Intermediate
position:
6
10
14
13
17
9 16
15
19
18
20
(c)
sub-tour1:( 5, 7)
sub-tour2:( 8,10) (19, 4) (16,11)
sub-tour3:(17,18)
Fig. 2. Fast implementation of Step (5-i)
2.3
Effect of the Fast Algorithm for EAX-1AB
This subsection discusses our demonstration of the effects of the proposed algorithm for EAX-1AB. EAX-1AB was executed by using both naive and fast
algorithms. We also describe the results we obtained for EAX-Rand. These EAX
crossovers were incorporated with the greedy selection model described in 4.1 and
applied to several TSP benchmarks. Details on the experiments are described
in 4.1. Table 1 lists the results where we can see EAs using the fast algorithm
for EAX-1AB can be executed 2–7 times faster than the naive method. The
efficiency, especially, becomes increasingly prominent as the number of vertices
increases. Although running time of EAX-Rand became 1–2 times faster than
the naive method, the effect of the fast implementation is not so prominent as
in the case of EAX-1AB. EAs using EAX-1AB seem to obtain slightly better
quality solutions than EAX-Rand.
176
Y. Nagata
Table 1. Effects of the fast algorithm of EAX-1AB. ’time’ means average execution
time in seconds required for a run, where left and right values correspond to naive and
fast algorithms. EAs were implemented in C++ and executed on 3.06 GHz Xeon single
processor. Please refer Table 2 for ’opt’, ’err.’ and ’gen.’
EAX-Rand(Greedy)
instance
Np
Nch
opt. err.(%) gen.
mv1084
pcb1173
u1432
mv1748
pr2392
pcb3038
fnl4461
rl5915
300
300
300
300
300
300
300
300
50
50
50
50
50
50
50
50
11
35
12
23
29
0
0
0
3
0.0099
0.0033
0.0259
0.0224
0.0043
0.0165
0.0546
0.0124
EAX-1AB(Greedy)
time(s)
19.0
21.3
20.6
24.3
27.3
38.6
72.5
31.2
96
117
305
469
526
1289
5355
2878
->
65
->
79
-> 257
-> 330
-> 335
-> 504
-> 4067
-> 1667
Np
Nch
opt. err.(%)
gen.
300
300
300
300
300
300
300
300
30
30
30
30
30
30
30
30
24
37
12
18
40
8
2
0
49.3
63.3
81.8
88.7
117.1
182.8
341.2
138.3
0.0083
0.0020
0.0283
0.0308
0.0015
0.0077
0.0065
0.0091
time(s)
97
71
170
304
406
1273
4372
3220
-> 28
-> 25
-> 59
-> 72
-> 93
-> 224
-> 874
-> 475
Diversity Preserving GA with EAX
We proposed the fast algorithm for EAX-1AB in the previous section. Another
important issue in this paper is a selection model. This section proposes a selection method that can efficiently and explicitly maintain population diversity.
3.1
Diversity of Population for TSP
Maintaining population diversity has been an important subject in the field of
EAs. Several EAs have been applied to TSP that took population diversity into
account [12][13][14]. Maekawa et al. [13] proposed a GA framework called TDGA
where an edge entropy measure was used to evaluate population diversity. The
edge entropy is defined as
F (e)/Np log(F (e)/Np ),
(1)
H=−
e∈X
where X is a set of edges included in the current population, Np is the size of the
population, and F (e) is the number of edges e in the current population. TDGA
explicitly utilized H in the selection for survival. Offspring with this method
survive to minimize L − T H. L is the average tour length for the population,
and T is a parameter having positive value. However, their method involves
excessive computational cost to calculate H.
We employed H as an indicator of population diversity in this paper, and propose
a method of selection for survival that can efficiently calculate H and utilize it.
3.2
Selection Model for Survival
We used the selection model described below which was used in [8][14].
[Selection Model I ]
(0) Set Np as the size of the population and Nch as the number of children
generated from a pair of parents.
Fast EAX Algorithm Considering Population Diversity for TSP
177
(1) Set t = 0. Generate Np solution candidates x1 , x2 , . . . , xNp with an appropriate method.
(2) Randomly shuffle the population; i.e., the index is randomly assigned.
(3) For i = 1, . . . , Np , xi and xi+1 are selected as a pair of parents. ( xi becomes
tour-A and xi+1 becomes tour-B in Fig.1. )
(4) For each pair of parents, generate Nch children from them with a crossover
operator. Select the ’best’ individual from xi and the children, that is denoted as x′i . xi is replaced with x′i .
(5) If termination conditions are satisfied, then stop, else increment t and go
to (2).
Figure 3(a) plots the population diversity H against the average tour length
L in the population. These curves represent averaged data applied to pr2392
instances in the experiments described in 2.3. Although H tends to decrease as
L decreases, H should be maintained as high as possible for each value of L.
EAX-1AB in the figure maintains H slightly better than EAX-Rand.
In Step (4) of Selection Model I, each pair of parents, {xi , xi+1 }, generates
Nch children, and then the ’best’ individual is selected as x′i to replace xi . Let y
be a child generated from {xi , xi+1 }. Also, let ∆L(y) and ∆H(y) be differences
of L and H as the result of replacing xi with y. Figure 3(b) has an example of the
distribution of (∆L(y), ∆H(y)), which are generated from a pair of parents. An
individual with the smallest ∆L(y) is selected as x′i in a greedy manner, which
is marked with ’a’ in Fig.3(b). From the point of view of accelerating population
growth, ∆L(y) should be small. In the greedy selection, y is evaluated as
evalGreedy (y) = −∆L(y)
(2)
∆H(y), on the other hand, should be large for the purpose of preserving population diversity. Consequently, there is a trade-off between ∆L(y) and ∆H(y).
The five Pareto individuals in the figure are marked ’a’–’e’.
In Step (4), x′i should be selected from Pareto individuals. Although we could
not determine the appropriate trade-off between ∆L(y) and ∆H(y), we employed
3000
pr2392
∆H(y)
H: Edge Entropy
2500
2000
1500
d
c
0
a
1000
e
b
EAX-Rand
EAX-1AB
500
0
375000
385000
395000
405000
0
415000
L: Average Tour Length
(a)
(b)
Fig. 3. Relations between H and L
∆L(y)
178
Y. Nagata
the following criteria to determine which individual should be selected as x′i . An
individual with the largest evaluation value is selected as x′i .
∆L(y)/∆H(y) if ∆H(y) < 0
evalEN T (y) =
(3)
−∆L(y)/ǫ if ∆H(y) ≥ 0
ǫ in this evaluation function has a sufficiently small positive value. Basically, child
y is evaluated by the amount of decrease in tour length per loss in population
diversity. If there are children with ∆H(y) larger than zero and ∆L(y) less
than zero, an individual with the smallest ∆L(y) is selected from these. Because
evalEN T (xi ) is equal to 0, xi itself survives if there are no children with a positive
evaluation value. For example in Fig.3(b), the individual marked ’c’ has been
selected as x′i . If there are no individuals marked ’c’, child ’b’ is selected.
The proposed evaluation function is similar to that of EAX-Dis [14]. EAX-Dis
employed the following evaluation function.
∆L(y)/∆D(y) if ∆D(y) < 0
(4)
evalLocalDis (y) =
−∆L(y)/ǫ if ∆D(y) ≥ 0
∆D(y) is defined by d(xi , y)−d(xi , xi+1 ), where d(a, b) is the number of different
edges between individuals a and b. ∆D(y) locally estimates the loss in population
diversity caused by replacement of xi with y. Calculation of ∆D(y) is very easy.
3.3
Calculation of ∆
H
(y
)
∆L(y) and ∆H(y) must be calculated to evaluate each child y in Step (4) of
Selection Model I. If EAX-1AB is used, they can be calculated at negligible
computational cost because xi and y are generally similar, i.e., y(child) is produced by removing a small number of edges from xi (tour-A) and adding the
same number of edges to it. Let Ead be a set of edges added to xi and Ere be
a set of edges removed from xi to generate y. Ead and Ere are recorded in the
EAX-1AB procedure. Then, ∆L(y) and ∆D(y) are calculated as
∆L(y) =
1
w(e)}
w(e) −
{
Np
e∈Ead
(5)
e∈Ere
∆H(y) =
{−(F (e) + 1)/Np log((F (e) + 1)/Np ) + F (e)/Np log((F (e))/Np )}
e∈Ead
+
{−(F (e) − 1)/Np log((F (e) − 1)/Np ) + F (e)/Np log((F (e))/Np )} (6)
e∈Ere
where w(e) is a weight (lenth) of an edge e.
After xi is replaced with x′i , F (e) is updated by adding 1 to F (e) if e ∈ Ead ,
and subtracting 1 from F (e) if e ∈ Ere . When EAX-1AB is used, |Ead | and
|Ere | are usually much smaller than N . Therefore, the computational cost of
calculating evalEN T (y) is negligible compared with the EAX-1AB procedure.
Fast EAX Algorithm Considering Population Diversity for TSP
179
For example, the computational costs for calculating ∆H(y) is about 5 % in
pr2392 instance. Because the selection for survival in TDGA are not restricted
within a family , the computational cost of edge entropy becomes a bottleneck
where the fast algorithm for EAX-1AB is used.
4
Experiments
4.1
Comparisons with Selection Methods
We compare three evaluation methods, i.e., evalGreedy (y), evalLocalDis (y), and
evalEN T (y) on Selection Model I where the fast algorithm for EAX-1AB is used.
Each method is denoted by EAX-1AB(Greedy), EAX-1AB(LocalDis), or EAX1AB(ENT) and applied to several TSP benchmarks [15]. No mutation is used in
order to focus on the evaluation methods.
Although EAX-1AB(Greedy) and EAX-1AB(LocalDis) used a population Np
of 300, EAX-1AB(ENT) used 200 because EAs using EAX-1AB(ENT) converge
slower than the others. Nch were set to 30. Fifty runs were executed for each
instances. When the individuals of a population become similar at the end of
evolution, the number of AB-cycles formed by the EAX algorithm are less than
Nch . Therefore, EAX-Rand with greedy selection (EAX-Rand (Greedy)) is used
after no improvements in the shortest tour length in the population are observed over 30 generations in Selection Model I. If the shortest tour length in
the population stagnates over 50 generations, then terminate a run. In Step (1)
of Selection Model I, the initial population was generated by 2-opt local search
[1]. These algorithms were implemented in C++, and executed using a Xeon
3.06 GHz single processor with 2 GB RAM.
Table 2. Comparisons of performance of EAs using three selection methods. Column
headed ’opt.’ means number of trials that can reach optimal solutions. ’err.’ means
average excess from optimal tour length. ’gen.’ means average generation (loop from
Step (2) to (4) in Model I) required to reach best individual in each trial. ’time’ means
average execution time in seconds required for one run, where EAs were implemented
in C++ and executed on 3.06 GHz Xeon single processor.
EAX-1AB(Greedy)
Np = 300, Nch = 30
instance
opt.
mv1084
pcb1173
u1432
vm1748
pr2392
pcb3038
fnl4461
rl5915
usa13509
24
37
12
18
40
8
2
0
0
err.(%)
gen. time(s)
0.0083 49.3
28
0.0020 63.3
25
0.0283 81.8
59
0.0308 88.7
72
0.0015 117.1
93
0.0077 182.8 224
0.0065 341.2 874
0.0091 138.3 475
0.0112 1164.6 7766
EAX-1AB(ENT)
Np = 200, Nch = 30
EAX-1AB(LocalDis)
Np = 300, Nch = 30
opt.
47
49
26
50
50
34
29
12
4
gen.
time(s)
opt.
0.0011 62.2
0.0000 85.1
0.0105 110.8
0.0000 96.7
0.0000 164.2
0.0013 262.1
0.0013 535.3
0.0037 184.9
0.0015 1828.6
36
35
62
91
123
288
1156
692
10534
50
50
35
50
50
50
45
42
0
err.(%)
err.(%)
gen. time(s)
0.0000
89.2
36
0.0000 135.2
43
0.0035 120.9
49
0.0000 153.4
90
0.0000 260.1
121
0.0000 398.3
287
0.0001 786.5 1128
0.0014 326.6
608
0.0021 2561.7 12999
180
Y. Nagata
Table 2 lists the performance of the three methods. EAX-1AB(ENT) can
reach optimal solutions more frequently than EAX-1AB(LocalDis) while having
almost the same computational cost. However, the solution quality of usa13509
obtained by EAX-1AB(ENT) is worse than EAX-1AB(LocalDis). Especially,
EAX-1AB(LocalDis) found an optimal solution. We guess that the edge entropy
measure must be modified to address large size instances such as usa13509. EAX1AB(Greedy) is fastest but the quality of solutions is significantly worse than
the others, especially for large instances.
4.2
Comparisons with Other Optimization Methods
We compared EAX-1AB(ENT) with the heterogeneous selection evolutionary
algorithm (HeSEA) [12]. In our survey on the application of EAs to TSPs, one
of the best approaches was HeSEA. HeSEA is a hybrid that is constructed by integrating EAX and Chained Lin-Kernighan (CLK)[4]. We also considered other
state-of-the-art TSP heuristic algorithms for comparison. From the results obtained by the “8-th DIMACS Implementation Challenge: The Traveling Salesman Problem” [2], we chose three representative methods that performed well.
Iterated Lin-Kernighan (ILK) [1] is a simple yet powerful improvement to LKLS.
Iterated local search of Chained Lin-Kernighan (CLK) [4] and Heslgaun’s (LKH)
[5] are known to be one of the most efficient approximation methods for TSPs.
EAX-1AB(ENT) was applied to 14 benchmarks [15] larger than 1000 cities
under the same conditions as in the previous subsection, where the population
was set 200 or 30. Fifty trials were executed for each instance. Table 3 lists
the results for EAX-1AB(ENT) and the compared methods. Data of HeSEA is
copied from [12], where twenty runs were executed for each instance. Data of ILK,
CLK, and LKH are copied form “8-th DIMACS Implementation Challenge” [2],
where only single run was executed for each instance. The err.(%) and time(s)
are the average excess from the optima and the average running time in seconds
for a run. The running times of EAX-1AB(ENT) and HeSEA are respectively
based on Xeon 3.06 GHz single processor and Pentium IV 1.2 GHz processor.
Running time for ILK, CLK and LKH are normalized running time on 500MHz
Alpha processor. In our guess, Xeon 3.06 GHz processor is 4–5 times faster than
500MHz Alpha processor.
We can see that running time of EAX-1AB(ENT) with a population of 200
is roughly the same as that of HeSEA when differences in the machines are
taken into consideration. Qualities of solutions are comparable. However, EAX1AB(ENT) sometimes fails to find optimal solutions for u1432 and u2152 instances where cities are partially located within a reticular pattern. In this case,
EAs may not work well because there exist several optimal solutions and EAs
can not narrow the range of the promising search space.
EAX-1AB(ENT) with a population of 30 was compared to ILK, CLK, and
LKH, because the proposed method is much slower if population of 200 is used.
As we can see from the table, EAX-1AB(ENT) dominates ILK in some instances.
The solution qualities of EAX-1AB(ENT) are often better than those of CLK,
while running time of EAX-1AB(ENT) is larger than that of CLK, especially
Fast EAX Algorithm Considering Population Diversity for TSP
181
Table 3. Comparisons of performance of EAX-1AB(ENT), HeSEA, ILK, CKL and
LKH. The running times of EAX-1AB(ENT) and HeSEA are respectively based on
Xeon 3.06 GHz single processor and Pentium IV 1.2 GHz processor. Runing time of
ILK, CLK and LKH are normalized on 500MHz Alpha processor.
EAX-1AB(ENT) EAX-1AB(ENT)
[Np=200,Nch=30] [Np=30,Nch=30]
err.(%) time(s)
mv1084
pcb1173
u1432
d1655
vm1748
u2152
pr2392
pcb3038
fnl4461
rl5915
usa13509
0.0000
36
0.0000
43
0.0035
49
0.0008
61
0.0000
90
0.0003
93
0.0000
121
0.0000
287
0.0001 1128
0.0014
608
0.0021 12999
HeSEA
err.(%) time(s)
err.(%) time(s)
0.02
4.2
0.02
5.9
0.12
7.0
0.08
8.0
0.04
13.5
0.14
13.8
0.02
19.5
0.04
44.7
0.05 116.3
0.09
85.7
0.06 1645.2
0.0000
81
0.0000
85
0.0000
107
N/A
0.0000
141
0.0000
211
0.0000
208
0.0000
612
0.0005 2349
0.0001 2773
0.0074 34984
ILK
[JM-N-b10]
err.(%)
0.02
0.01
0.10
0.01
0.00
0.17
0.11
0.12
0.14
0.02
0.16
time(s)
156.6
66.3
94.4
604.4
352.0
244.5
137.5
257.0
398.2
1160.7
4436.2
CLK
[ABCC-10N]
LKH
[Helsgaun-N/10]
err.(%) time(s) err.(%)
0.00
0.16
0.23
0.38
0.05
0.29
0.42
0.26
0.15
0.54
0.20
26.9
19.7
30.6
27.6
51.5
28.1
47.7
66.6
129.0
192.5
967.0
0.07
0.18
0.00
0.00
0.02
0.11
0.00
0.03
0.01
0.04
0.01
time(s)
9.8
8.5
11.7
6.7
21.3
40.2
48.2
84.2
182.2
332.8
2631.1
in large instances. Although EAX-1AB(ENT) is dominated by LKH in most
instances, the differences are not so large. As described in this comparisons,
EAX-1AB(ENT) is quite comparable to state-of-the-art TSP heuristics even
though it dose not use LKLS heuristics.
5
Conclusion
We proposed two ideas to improve the performances of EAs using EAX crossover.
First, we proposed the fast implementation of EAX-1AB crossover. The key idea
was that the change in edges caused by EAX would be localized, and the EAX algorithm would then be locally executed. EAs using EAX-1AB could be executed
2–7 times faster than the original algorithm (Table 1). We then proposed a selection model that could maintain population diversity at negligible computational
cost. Here, edge entropy was used as an indicator of population diversity. The
proposed selection model utilized this explicitly to maintain population diversity.
Using this model, EAs with EAX-1AB could significantly improve the quality
of solutions without increasing the execution time (Table 2). The proposed EA
was called the EAX-1AB(ENT).
EA using EAX-1AB(ENT) was applied to several TSP benchmarks up to
instances of 13509 cities. It was compared to other state-of-the-art TSP heuristics
including HeSEA, ILK, CKL, and HLK. Those methods are all based on LinKernighan local search (LKLS). The experiments demonstrated that the EAX1AB(ENT) was quite comparable to these heuristics even thought it does not
utilize LKLS (Table 3).
However, the solution quality of usa13509 obtained by EAX-1AB(ENT) is
worth than EAX-1AB(LocalDisT). Especially, EAX-1AB(LocalDis) found an
optimal solution. In the future work, the edge entropy measure must be modified
to address large size instances.
182
Y. Nagata
References
1. D. S. Johnson: Local Optimization and the Traveling Salesman Problem, Automata, Languages and Programming, Lecture note in Computer Science 442,
Springer, Heidelberg, pp. 446-461.
2. 8-th DIMACS Implementation Challenge: The Traveling Salesman Problem,
http://www.research.att.com/ dsj/chtsp.
3. S. Lin and B. Kernighan, Effective heuristic algorithms for the traveling salesman
problem, Oper. Res., vol. 21, pp. 498- 516, 1973.
4. D. Applegate, R. Bixby, V. Chvatal, and W. Cook, “Finding tours in the TSP.
Technical Report 99885, Forschungsinstitut fur Diskrete Mathematik, Universitat
Bonn, 1999.
5. K. Helsgaun, “An effective implementation of the Lin-Kernighan traveling salesman
heuristic, “Eur. J. Oper. Res., vol. 126, no.1, pp. 106-130, 2000.
6. Y. Nagata and S. Kobayashi, Edge Assembly Crossover: A High-power Genetic
Algorithm for the Traveling Salesman Problem, Proc. of the 7th Int. Conference
on Genetic Algorithms, pp. 450-457, 1997.
7. H.K. Tsai, J.M. Yang, and C.Y. Kao, Solving Traveling Salesman Problems by
Combining Global and Local Search Mechanisms, Proc. of the the 2002 Congress
on Evolutionary Computation, pp. 12920-1295, 2002.
8. K. Ideda and S. Kobayashi, Deterministic Multi-step Crossover Fusion: A Handy
Crossover Composition for GAs, Proc. of the Seventh Int. Conference on Parallel
Problem Solving from Nature, pp. 162-171, 2002.
9. J. Watson, C. Poss, D. Whitley et al., The Traveling Salesrep Problem, Edge
Assembly Crossover, and 2-opt, Proc. of the Fifth Int. Conference on Parallel
Problem Solving from Nature, pp. 823-833, 2000.
10. Y. Nagata, Criteria for Designing Crossovers for TSP, Proc. of the 2004 Congress
on Evolutionary Computation, , pp. 1465-1472, 2004.
11. P. Merz and B. Freisleben: Genetic Local Search for the TSP: New Results, Proc.
of the 1997 IEEE Int. Conf. on Evolutionary Computation, pp. 159-163 (1997).
12. H. K. Tsai, J. M. Yang, Y. F. Tsai, and C. Y. Kao, An Evolutionary Algorithm
for Large Traveling Salesman Problem, IEEE Transaction on SMC-part B, vol. 34,
no. 4, pp. 1718- 1729, 2004.
13. K. Maekawa, N. Mori, H. Kita, and H.Nishikawa, A Genetic Solution for the Traveling Salesman Problem by Means of a Thermodynamical Selection Rule, Proc.
1996 IEEE Int. Conference on Evolutionary Computation, pp. 529-534, 1996.
14. Y. Nagata, The EAX algorithm considering diversity loss, Proc. of the 8th Int.
Conference on Parallel Problem Solving from Nature, pp. 332-341, 2004.
15. TSPLIB95, http://www.iwr.uni-heidelberg.de/iwr/compt/soft/TSPLIB95
A Memetic Algorithm with Population
Management (MA|PM) for the Capacitated
Location-Routing Problem
Christian Prins1 , Caroline Prodhon1 , and Roberto Wolfler Calvo1
ISTIT, Université de Technologie de Troyes,
BP 2060, 10010 Troyes Cedex, France
{christian.prins, caroline.prodhon, roberto.wolfler}@utt.fr
Abstract. As shown in recent researches, in a distribution system, ignoring routes when locating depots may overestimate the overall system
cost. The Location Routing Problem (LRP) overcomes this drawback
dealing simultaneously with location and routing decisions. This paper
presents a memetic algorithm with population management (MA|PM)
to solve the LRP with capacitated routes and depots. MA|PM is a very
recent form of memetic algorithm in which the diversity of a small population of solutions is controlled by accepting a new solution if its distance
to the population exceeds a given threshold. The method is evaluated on
three sets of instances, and compared to other heuristics and a lower
bound. The preliminary results are quite promising since the MA|PM
already finds the best results on several instances.
1
Introduction
Depot location and vehicle routing are crucial choices to reduce the logistic costs
of companies, and often interdependent. Tackling separately these two levels
of decision may lead to suboptimization [19]. The Location Routing Problem,
LRP, appeared relatively recently in literature, is a combination of both levels.
Given customers with known demands and possible depot locations, it consists
of determining the depots to be opened and the vehicle routes connected to
these depots, in order to cover the demands at minimum cost (see Section 2 for
a formal definition).
As shown in [13], most early published papers consider either capacitated
routes or capacitated depots, but not both [6, 10, 21]. In general, the LRP is
formulated as a deterministic node routing problem (i.e., customers are located
on nodes of the network). However, a few authors have studied stochastic cases
[9, 5] and, more recently, arc routing versions [7, 8]. In the sequel, the case with
capacities on both depots and routes is called general LRP. Albareda-Sambola
et al. [1] proposed a two-phase Tabu Search (TS) heuristic for the LRP with
one single route per capacitated open depot, tested on small instances only
(at most 30 customers). Wu et al. [23] studied the general LRP with homogeneous or heterogeneous limited fleets. They divided the original problem into
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 183–194, 2006.
c Springer-Verlag Berlin Heidelberg 2006
184
C. Prins, C. Prodhon, and R. Wolfler Calvo
two subproblems: a Location-Allocation Problem (LAP), and a Vehicle Routing
Problem (VRP). Each subproblem is solved in a sequential and iterative manner
by a Simulated Annealing (SA) algorithm with a tabu list to avoid cycling. An
iterative “location first - route second” heuristic for a three-level LRP (factoriesdepots-customers) with capacity constraints on both depots and routes, and a
maximum duration per route, was developed by Bruns and Klose [4]. Tuzun and
Burke [22] developed another two-phase TS but for the LRP with capacitated
routes and uncapacitated depots. The two phases are also dedicated to routing
and location. The principle is to progressively increase the number of open depots until this deteriorates the total cost. These authors report results for up
to 200 customers. Prins et al. have already developed two algorithms on the
general LRP. The first one, [16], is a GRASP (Greedy Randomized Adaptive
Search Procedure) with a memory on the depots used during a diversification
phase. This information guides the search on the most promising depots during
an intensification phase. The method is followed by a post-optimization based on
a path relinking algorithm. The second one, [17], is a cooperative metaheuristic
which alternates between a depot location phase and a routing phase, sharing
some information. In the location phase, the routes are aggregated into supercustomers to give a facility location problem solved by a Lagrangean relaxation
of the assignment constraints. In the routing phase, the routes from the resulting
multi-depot VRP are improved using a Granular Tabu Search (GTS). Barreto
[3] developed a family of three-phase heuristics based on clustering techniques.
Clusters of customers fitting vehicle capacity are formed in the first phase. A
TSP is solved for each cluster in the second phase. Finally, in the third phase, the
depots to open are determined by solving a facility location problem, in which
the TSP cycles are aggregated into supernodes. Barreto also proposed a lower
bound which is reached by the best heuristics on some small scale instances.
This paper deals with the general LRP with fixed costs to open a depot or
a route. The objective is to determine the set of depots to open and the routes
originating from each open depot, in order to minimize a total cost comprising the setup costs of depots and routes and the total cost of the routes. The
proposed solution method, MA|PM, is a memetic algorithm (genetic algorithm
hybridized with a local search procedure) with a population management technique based on a distance measure in the solution space. This last tool permits to
control the diversity of a small population of good quality solutions. The paper
is organized as follows. Section 2 defines the problem. The principle of MA|PM
and how it is applied to the LRP is given in Section 3. Section 4 provides the
global algorithm and the parameter used. To evaluate the first performances of
the method, computational experiments are presented in Section 5 with some
concluding remarks to close the paper.
2
Problem Definition
This paper deals with the general LRP with fixed costs to open a route or a
depot. The data are based on a complete, weighted and undirected network
MA|PM for the Capacitated Location-Routing Problem
185
G = (V, E, C). V is a set of nodes comprising a subset I of m possible depot
locations and a subset J = V \I of n customers. The travelling cost between
any two nodes i and j is given by Cij . A capacity Wi and an opening cost Oi
are associated to each depot site i ∈ I. Each customer j ∈ J has a demand dj .
Identical vehicles of capacity Q are available. When used, each vehicle incurs a
fixed cost F and performs one single route. The total number of vehicles used
(or routes performed) is a decision variable.
The following constraints must hold:
– each demand dj must be served by one single vehicle;
– each route must begin and end at the same depot and its total load must
not exceed vehicle capacity;
– the total load of the routes assigned to a depot must fit the capacity of that
depot.
The total cost of a route includes the fixed cost F and the costs of traversed
edges. The objective is to find which depots should be opened and which routes
should be constructed, in order to minimize the total cost (fixed costs of depots,
plus total cost of the routes).
The LRP is obviously NP -hard since when m = 1, it reduces to the Vehicle
Routing Problem (VRP), known to be NP -hard. It is even much more combinatorial than the VRP: in addition to the partition of customers into routes and the
sequencing of each route, it involves the selection of open depots and the assignment of routes to these depots. Therefore only very small instances can be solved
to optimality. A first non-trivial bound for the LRP with capacitated routes and
depots has been proposed only recently [3] but it is too time-consuming beyond
50 customers.
3
MA|PM for the LRP
Evolutionary algorithms have been successfully applied to vehicle routing problems, especially the genetic algorithms hybridized with local search, also called
memetic algorithms (MA), [11, 14]. Very recently, Sörensen and Sevaux [20] have
proposed a new form called MA|PM or memetic algorithm with population management. MA|PM is characterized by a small population P , the improvement of
new solutions by local search, and the replacement of the traditional mutation
operator by a dynamic distance-based population management technique. Given
a threshold ∆, a new solution is accepted only if its distance to P is at least
∆. Otherwise, Sörensen and Sevaux proposed two options: either the offspring is
mutated until its distance to P reaches the threshold, or it is simply discarded.
These authors described also several dynamic control policies for ∆.
MA|PM has already been applied to the Capacitated Arc Routing Problem
[18]. The results indicate that it converges faster than conventional memetic
algorithms. Moreover, its general structure is simpler than other distance-based
population metaheuristics such as scatter search or path relinking, and it is quite
easy to upgrade an existing MA into an MA|PM.
186
C. Prins, C. Prodhon, and R. Wolfler Calvo
The choice of MA|PM for the LRP has been inspired by these promising characteristics. The version studied here corresponds to the second option: children
that do not match the threshold are simply discarded. Section 3.1 presents the
structure of the chromosomes used, Section 3.2 explains the crossover phase,
while Sections 3.3 and 3.4 respectively develop the local search and the population management technique.
3.1
Chromosomes and Evaluation
Defining a suitable chromosome encoding for the LRP is not trivial. Information
about the depots, the assignment of customers and the order of deliveries to these
customers has to be stored inside the chromosome. Moreover, it is important to
design fixed length chromosomes because they are required by most crossovers
and distance measures.
The adopted chromosome encoding comprises a depot status part DS and a
customer sequence part CS (see Figure 1).
DS
index 1 2
value 13 0
3 4 … m
1 18
0
CS
1 2 3 4
8 20 15 16
closed depot
open depot - sequence of
assigned customers begins at
position 13
…
12 13 14
18 2 10
…
17 18 …
4 22
n
17
sequence of customers
assigned to depot 1, cut
into routes by the Split
procedure
Fig. 1. Representation of an LRP solution as a chromosome
DS (depot status) is a vector of m numbers. DS(i) represents the status of
depot i indicating whether it is closed (zero) or opened (non-zero value). If it
is opened, DS(i) is the index in CS of the first customer assigned to depot i.
CS (customers sequence) contains the concatenation of the lists of customers
assigned to the opened depots, without trip delimiters. So, CS is a permutation
of customers and has a fixed length.
The fitness F (S) of a chromosome S is the total cost of the associated LRP
solution. DS is used to deduce the cost of open depots and the list of customers
assigned to each depot. Each such list can be optimally partitioned into trips
using a procedure called Split. This procedure was originally developed by Prins
for the VRP [14]. For a list of p customers, it builds an auxiliary graph H =
(X, A, Z), where X contains p + 1 nodes indexed from 0 to p, A contains one
arc (i, j), i < j, if a trip servicing customer Si+1 to Sj (included) is feasible in
terms of capacity. The weight zij of (i, j) is equal to the trip cost. The optimal
splitting of the list corresponds to a min-cost path from node 0 to node p in H.
For the LRP, we apply Split to the list of customers of each depot.
MA|PM for the Capacitated Location-Routing Problem
3.2
187
Selection of Parents and Crossover
To generate an offspring, the first step is to select its parents. The first one comes
from a binary tournament among the β best solutions of the population, and the
second one from a binary tournament on the whole population except the first
selected parent. Then, basically, for two parents A and B, a one-point crossover
is applied to the DS vectors of the two parents and another one to their CS
vectors. The crossover for DS works like for binary chromosomes. The one for
CS is adapted for permutations. The offspring C receives the sub-sequence of A
located before the cutting point. B is then scanned from left to right, starting
from the cutting point. The customers not yet in C are copied in CS at the same
position as in B to complete the offspring. Once arrived at the end of B, if there
are still some vacant positions in CS, they are filled by non-inserted customers.
Infeasible chromosome:
DS
index:
value:
1
3
2
0
3
1
CS
4
8
5
0
1
3
2
4
3
2
Customers
assigned
to depot 3
4
5
5
8
6
7
7
6
Customers
assigned
to depot 1
8
9
9 10
1 10
Customers
assigned
to depot 4
Capacity violation
Chromosome after repair:
CS
DS
index:
value:
1
4
2
0
3
1
4
8
5
0
1
6
2
3
3
4
Customers
assigned
to depot 3
4
2
5
5
6
8
7
7
Customers
assigned
to depot 1
8
9
9 10
1 10
Customers
assigned
to depot 4
Fig. 2. Example of a repair
This operator may provide a chromosome corresponding to an infeasible solution, especially because of the capacity constraints on the depots. Thus, each
child is tested and repaired in case of infeasibility (see figure 2). First of all,
the repairing procedure checks if all the customers are assigned to a depot by
verifying that the index 1 of CS is in DS. It means that in the worst case,
all the customers are assigned to a single depot. Otherwise, the first closed depot i found is opened and DS(i) = 1. Then, the procedure looks for depots
having a capacity violation. If one depot is found, that means that too much
customers are assigned to it. Therefore, the algorithm scans backward the sequence of customers assigned to such a depot and removes them one by one until
the capacity constraint of the depot holds. Removed customers are assigned to
the first opened depot found having enough remaining capacity. If none exists,
the closest depot is opened.
188
C. Prins, C. Prodhon, and R. Wolfler Calvo
The offspring, if accepted by the population management system described
in Section 3.4, replaces the worst chromosome in the population.
3.3
Local Search Procedures
MA|PM works on a small population of high-quality solutions [20]. This quality
results from the application of a local search procedure. For the LRP, the offspring undergoes a local search LS1 based on the three following neighborhoods:
– MOVE. One customer is shifted from its current position to another position,
in the same route or in a different route which may be assigned to the same
depot or not, provided capacities are respected.
– SWAP. Two customers are exchanged. They may belong to the same route
or, if residual capacities allow it, to two distinct routes sharing one common
depot or not.
– OPT. This is a 2-opt procedure we proposed in [16] and in which two nonconsecutive edges are removed, either in the same route or in two distinct
routes assigned to a common depot or not. When they belong to different
routes, there are various ways of reconnecting the trips. If they are from
different depots, edges connecting the last customers of the two considered
routes to their depot have to be replaced to satisfy the constraint imposing
that a route must begin and finish at the same depot. This neighborhood is
equivalent in the first case to the well-known 2-OPT move for the TSP [12].
LS1 must not be called systematically, to avoid a premature convergence and
also because it is time-consuming with its O(n2 ) neighborhoods. In practice, it is
applied to the offspring with a fixed probability p1 . Otherwise, a ”light” version
LS2 is executed with a given probability p2 . LS2 is identical to LS1, except that
the moves involving two trips from two different depots are not evaluated.
Both LS1 and LS2 execute the first improving move found in the three neighbourhoods (not the best move) and stop when no such move can be found. Note
that a depot can only be opened by the crossover and not by these procedures.
3.4
Population Management
The population management controls population diversity by filtering the offspring thanks to a distance measure in the solution space. Let D(T, U ) be the
distance between two solutions T and U (chromosomes after the evaluation by
Split). It can be defined as follows. For each pair (i, j) of consecutive customers
in T , four cases are considered:
– the pair (i, j) or (j, i) is found in U , so the pair is not broken, and does not
contribute to the distance measure;
– i and j are no longer adjacent in U , but they are in a common trip: count 1
in the distance;
– i and j are in different trips in U , but assigned to one common depot: count 3;
– i and j are assigned to two different depots in U : count 10.
MA|PM for the Capacitated Location-Routing Problem
189
Moreover, for each customer i serviced at the beginning of a trip in T , count
10 if i is assigned to another depot in U .
This measure is not exactly a distance in the mathematical sense, because
the triangle inequality does not hold. However, note that D(T, U ) ≥ 0 and
T = U ⇐⇒ D(T, U ) = 0. Moreover, this distance measure correctly detects
equivalent solutions, e.g. when the trips are renumbered or when some of them
are inverted (performed backward by the vehicle).
The distance of a solution T to the current population P is defined by:
dP (T ) = min D(T, U )
U ∈P
(1)
In MA|PM, a new solution T may enter the population only if dP (T ) ≥ ∆,
where ∆ is a given threshold. If ∆ = 0, the algorithm behaves like a traditional
MA. ∆ ≥ 1 ensures distinct solutions in P (note that the distance is integer). If
∆ takes a large value, most children-solutions are rejected and the MA spends
too much time in unproductive iterations. ∆ can be dynamically adjusted between such extremes to control population diversity. Different control policies
are suggested in [20]. In our MA|PM, ∆ is initialized to a rather high value
∆max . If a series of MaxNbRej successive rejections of the offsprings is reached,
∆ decreases until accepting a new offspring in the population, but keeping the
minimum value of ∆ equal to 1. Then, ∆ remains constant until a new series of
successive rejections occurs. If a new best solution is found, ∆ is reset to ∆max .
4
4.1
Algorithm and Parameters
General Structure
The algorithm begins by creating a population of N bIndiv good solutions using
two different randomized heuristics. The first half of the population comes from
a randomized constructive heuristic based on the Nearest Neighbor Algorithm,
followed by the local search LS1. The second half of the population comes from
a greedy randomized heuristic based on an extended Clarke and Wright saving
algorithm (ECWA) for the LRP [16], followed by LS1. All these initial solutions
are distinct (∆ = 1).
Periodically, the population undergoes a partial replacement of its solutions.
This refreshment of the population occurs when a given number M axN bN oAdd
of rejected offsprings has been reached. Every individual except the best one
(having the best fitness) is replaced in the population. The algorithm stops
when a given number M axN bAcc of accepted offsprings has been generated. An
overview of the pseudocode of MA|PM for the LRP is given Algorithm 1..
The variable BestCost, Cost(C), NbAcc, NbRej, NbNoAdd respectively refers
to the cost of the best solution found, the cost of the current offspring, the
counter of accepted offsprings during the algorithm, the counter of successive
iterations without improvement of the best solution, the counter of successive
iterations without acceptation of offspring in the population and the counter of
rejected offsprings in a population.
190
C. Prins, C. Prodhon, and R. Wolfler Calvo
Algorithm 1. Overview of the algorithm
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
BestCost := +∞
NbAcc := 0
NbRej := 0
∆ := ∆max
GenPop(P)
//Main loop
repeat
//Second loop
repeat
Selection(A,B)
Crossover(A,B,C)
if (random < P1) then
LS1(C)
else
if (random < P2) then
LS2(C)
end if
end if
if (cost(C) < BestCost) then
∆ := ∆max
BestCost := cost(C)
BestSoln := C
end if
if (dP (C) < ∆) then
NbRej := NbRej + 1
NbNoAdd := NbNoAdd + 1
else
NbRej:= 0
NbAcc := NbAcc +1
AddInPop(C)
end if
if (NbRej > MaxNbRej) then
∆ := Max(1,∆ − 1)
end if
until (NbNoAdd > MaxNbNoAdd and NbAcc > MaxNbAcc)
∆ := ∆max
NbNoAdd := 0
GenPop2(P,BestSoln)
until (NbAcc > MaxNbAcc)
Return (BestSoln)
The function GenPop, Selection, Crossover, AddInPop, GenPop and Return
respectively generates a population, selects the parents, creates a feasible offspring, replaces the worst individual in the population by an accepted offspring,
refreshes the population and returns the best solution found. LS1, LS2 refer to
the local searches.
MA|PM for the Capacitated Location-Routing Problem
4.2
191
Parameters
After a preliminary testing phase on the instances, the parameters used in this
metaheuristic are set to the values provided in Table 1.
Table 1. Parameters of MA|PM for the LRP
Parameter
NbIndiv
MaxNbAcc
MaxNbNoAdd
MaxNbRej
5
Value
⌈((n + m )/ 5) + 1⌉
(n + m ) · 10
⌈(n + m) · 2.5⌉
NbIndiv
Parameter
β
∆max
p1
p2
Value
NbIndiv · 1/ 3
⌈(n + m)/10) + 10⌉
0.5
0.7
Results
MA|PM for the LRP is evaluated on three sets of randomly generated Euclidean
instances briefly described in subsection 5.1. Tables of results are provided and
commented in subsection 5.2. Some remarks close the paper in subsection 5.3.
5.1
Instances
The first set contains 30 LRP instances with capacitated routes and depots,
elaborated for a previous work on a multi-start local search method (MSLS) [15],
and used for a GRASP [16] and LRGTS [17]. It contains the largest instances
with capacitated depots (200 customers). The second set comprises 36 instances
with uncapacitated depots used by Tuzun and Burke [22] to evaluate a tabu
search and in which n ∈ {100, 150, 200}, m ∈ {10, 20}. The third set of 13
instances was gathered by Barreto in his recent thesis on clustering heuristics for
the LRP [3]. It may be downloaded at [2]. These files either come from the LRP
literature or are obtained by adding several depots to classical VRP instances.
The algorithm is coded in Visual C++ and tested on a Dell PC Optiplex GX260,
with a 2.4 GHz Pentium 4, 512 MB of RAM and Windows XP. Here the results
are not given for each instance but on average by instances size.
5.2
Commented Results
Contrary to classical GAs, the results of a memetic algorithm are very robust, i.e.
they are only slightly affected by the random number generator used. This can
be explained by the local search, which converts the offspring into local optima.
This is why the results reported come from one single run. On the Tables, the
Gap columns indicate the deviations in % to MA|PM taken as reference. Hence,
the negative gaps correspond to improvements compared to MA|PM.
Table 2 provides a comparison between MA|PM and three other methods
MSLS [15], GRASP [16] and LRGTS [17] on the 30 instances initially designed for
MSLS. MSLS [15] is basically a multi-start local search algorithm that uses some
192
C. Prins, C. Prodhon, and R. Wolfler Calvo
Table 2. Results for the first set with capacitated depots
MA |PM
LRGT S
GRASP
M SLS
n m
Cost CPU
Cost CPU Gap
Cost CPU Gap
Cost CPU Gap
20
5 45087
0 45104
0 0.0 45144
0 0.1 45530
0 0.9
50
5 74188
3 74515
1 0.4 74701
2 0.7 79077
2 6.2
100
5 201094 32 200544
5 -0.1 202210 22 0.7 203548 27 1.3
100 10 249248 29 241178 13 -2.7 257048 35 3.2 267780 51 8.0
200 10 422228 308 423046 73 0.2 447657 422 6.1 487236 744 15.0
Average
-0.4
2.2
6.6
Table 3. Results for the third set with uncapacitated depots
n m
100 10
100 20
150 10
150 20
200 10
200 20
Average
MA | P M
Cost CPU
1174.3 34
1180.7 42
1587.2 138
1453.2 167
1983.0 375
1814.7 422
LRGT S
Cost CPU Gap
1179.1
7 0.6
1185.0
7 0.5
1600.4 24 1.0
1449.6 25 -0.1
1987.7 65 0.3
1783.1 73 -1.3
0.2
GRASP
Cost CPU Gap
1191.4 23 1.5
1196.0 35 1.3
1625.0 92 2.4
1466.6 127 1.1
2020.7 232 1.9
1839.3 337 1.4
1.6
TS
Cost CPU Gap
1215.7
4 3.5
1205.4
3 2.0
1639.6 11 3.5
1474.3 11 1.6
2051.6 21 3.7
1814.1 20 0.3
2.4
randomness in its search. It is the slowest method (164.9 seconds on average) and,
in spite of 2 best solutions (also found by other algorithms), it displays an average
deviation of 6.6% to MA|PM. The relative slowness can be explained by the
time-consuming look-ahead process used to try closing some depots. The other
heuristics are faster and also more efficient than MSLS. Thanks to the granularity
system, LRGTS is by far the fastest method, nearly 5 and 4 times respectively
faster than GRASP and MA|PM, and 9 times faster than MSLS, while finding
the best solution for 11 out of the 30 instances. Its better average solution quality
can be explained by the cooperation between the location and routing phases.
Nevertheless, MA|PM outperforms GRASP and is able to compete with LRGTS
on many instances. It even outperforms LRGTS on 16 instances. In fact, LRGTS
does slightly better on average (-0.4%) mainly because it saves 9% on two very
hard instances, for which MA|PM is not so good. Without these two instances,
the ranking would be inverted and LRGTS would be at 0.2% to MA|PM. Table 3
provides a comparison between MA|PM and GRASP [16], LRGTS [17] and TS
[22] on the second set of instances. MA|PM becomes the method providing the
best results on average. It also seems more effective than LRGTS on small and
medium size instances, especially with uncapacitated depots, while LRGTS is
still superior on most of the largest instances.
Finally, due to lack of room, results for the third set of instances are not
reported in a Table. We have compared Barreto’s clustering heuristic CH [3],
GRASP [16], LRGTS [17] and MA|PM with the lower bound provided by Barreto
[3], and they are respectively at 5.3%, 3.3%, 3.6% and 3.7% to this bound.
MA|PM for the Capacitated Location-Routing Problem
193
GRASP, LRGTS and MA|PM are here almost as good as each other, with a
little advantage to GRASP.
5.3
Conclusion
In this paper, a new metaheuristic for the Location Routing Problem (LRP) with
both capacitated depots and vehicles is presented. The method is an evolutionary
algorithm called memetic algorithm with population management (MA|PM).
It is a genetic method hybridized with local search techniques and a distance
measure permitting to control the diversification of the solutions. The method
is not yet definitively tuned but it has been already tested on three sets of
small, medium and large scale instances with up to 200 customers, and compared
to other heuristics and a lower bound. The solutions obtained show that this
algorithm is promising as it already outperforms other metaheuristics except
one and is able to find good quality solutions on various kinds of instances.
Acknowledgments
This research is partly supported by the Champagne-Ardenne Regional Council
and by the European Social Fund.
References
1. M. Albareda-Sambola, J.A Dı́az, and E. Fernández. A compact model and tight
bounds for a combined location-routing problem. Computers and Operations Research, 32(3):407–428, 2005.
2. S. S. Barreto. http://sweet.ua.pt/ iscf143, 2004.
3. S. S. Barreto. Análise e Modelização de Problemas de localização-distribuição
[Analysis and modelling of location-routing problems]. PhD thesis, University of
Aveiro, campus universitário de Santiago, 3810-193 Aveiro, Portugal, October 2004.
[In Portuguese].
4. A. Bruns and A. Klose. An iterative heuristic for location-routing problems based
on clustering. In Proceedings of the second International Workshop on Distribution
Logistics, Oegstgeest, The Netherlands, 1995.
5. Y. Chan, W.B. Carter, and M.D. Burnes. A multiple-depot, multiple-vehicle,
location-routing problem with stochastically processed demands. Computers and
Operations Research, 28:803–826, 2001.
6. T. W. Chien. Heuristic procedures for practical-sized uncapacitated locationcapacitated routing problems. Decision Sciences, 24(5):995–1021, 1993.
7. G. Ghiani and G. Laporte. Location-arc routing problems. OPSEARCH, 38:151–
159, 2001.
8. N. Labadi. Problèmes tactiques et stratégiques en tournées sur arcs. PhD thesis,
Université de Technologie de Troyes, 2003.
9. G. Laporte, F. Louveaux, and H. Mercure. Models and exact solutions for a class of
stochastic location-routing problems. European Journal of Operational Research,
39:71–78, 1989.
194
C. Prins, C. Prodhon, and R. Wolfler Calvo
10. G. Laporte, Y. Norbert, and S. Taillefer. Solving a family of multi-depot vehicle routing and location-routing problems. Transportation Science, 22(3):161–167,
1988.
11. C.M.R.R. Lima, M.C. Goldbarg, and E.F.G Goldbarg. A memetic algorithm for
heterogeneous fleet vehicle routing problem. Electronic Notes in Discrete Mathematics, (18):171–176, 2004.
12. S. Lin and B.W. Kernighan. An effective heuristic algorithm for the traveling
salesman problem. Operations Research, 21:498–516, 1973.
13. H. Min, V. Jayaraman, and R. Srivastava. Combined location-routing problems: A
synthesis and future research directions. European Journal of Operational Research,
108:1–15, 1998.
14. C. Prins. A simple and effective evolutionary algorithm for the vehicle routing
problem. Computers and Operations Research, 2004.
15. C. Prins, C. Prodhon, and R. Wolfler Calvo. Nouveaux algorithmes pour le
problème de localisation et routage sous contraintes de capacité. In A. Dolgui
and S. Dauzère-Pérès, editors, MOSIM’04, volume 2, pages 1115–1122, Ecole des
Mines de Nantes, September 2004. Lavoisier.
16. C. Prins, C. Prodhon, and R. Wolfler Calvo. A reactive grasp and path relinking
algorithm for the capacitated location routing problem. In IESM’05, Marrakech,
Marroco, May 2005.
17. C. Prins, C. Prodhon, A. Ruiz, P. Soriano, and R. Wolfler Calvo. A cooperative
lagrangean relaxation-granular tabu search heuristic for the capacitated location
routing problem. In MIC’05, Vienna, Austria, August 2005.
18. C. Prins, M. Sevaux, and K. Sörensen. A genetic algorithm with population management (GA | PM ) for the carp. In Tristan V (5th Triennal Symposium on Transportation Analysis, Le Gosier, Guadeloupe, 13-18 June 2004.
19. S. Salhi and G. K. Rand. The effect of ignoring routes when locating depots.
European Journal of Operational Research, 39:150–156, 1989.
20. K. Sörensen and M. Sevaux. MA | PM : memetic algorithms with population management. Computers and Operations Research, (33):1214–1225, 2006.
21. R. Srivastava. Alternate solution procedures for the locating-routing problem.
OMEGA International Journal of Management Science, 21(4):497–506, 1993.
22. D. Tuzun and L.I. Burke. A two-phase tabu search approach to the location routing
problem. European Journal of Operational Research, 116:87–99, 1999.
23. T.H. Wu, C. Low, and J.W Bai. Heuristic solutions to multi-depot location-routing
problems. Computers and Operations Research, 29:1393–1415, 2002.
The Core Concept for the Multidimensional
Knapsack Problem⋆
Jakob Puchinger1 , Günther R. Raidl1 , and Ulrich Pferschy2
1
Institute of Computer Graphics and Algorithms,
Vienna University of Technology, Vienna, Austria
{puchinger, raidl}@ads.tuwien.ac.at
2
Institute of Statistics and Operations Research,
University of Graz, Austria
[email protected]
Abstract. We present the newly developed core concept for the Multidimensional Knapsack Problem (MKP) which is an extension of the
classical concept for the one-dimensional case. The core for the multidimensional problem is defined in dependence of a chosen efficiency
function of the items, since no single obvious efficiency measure is available for MKP. An empirical study on the cores of widely-used benchmark
instances is presented, as well as experiments with different approximate
core sizes. Furthermore we describe a memetic algorithm and a relaxation
guided variable neighborhood search for the MKP, which are applied to
the original and to the core problems. The experimental results show that
given a fixed run-time, the different metaheuristics as well as a general
purpose integer linear programming solver yield better solution when
applied to approximate core problems of fixed size.
1
Introduction
The Multidimensional Knapsack Problem (MKP) is a well-studied, strongly NPhard combinatorial optimization problem occurring in many different applications. It can be defined by the following ILP:
(MKP)
maximize z =
n
pj xj
(1)
j=1
subject to
n
wij xj ≤ ci ,
i = 1, . . . , m
(2)
j=1
xj ∈ {0, 1},
j = 1, . . . , n.
(3)
Given are n items with profits pj > 0 and m resources with capacities ci > 0.
Each item j consumes an amount wij ≥ 0 from each resource i. The goal is to
⋆
This work is supported by RTN ADONET under grant 504438 and the Austrian
Science Fund (FWF) under grant P16263-N04.
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 195–208, 2006.
c Springer-Verlag Berlin Heidelberg 2006
196
J. Puchinger, G.R. Raidl, and U. Pferschy
select a subset of items with maximum total profit, see (1); chosen items must,
however, not exceed resource capacities, see (2). The 0–1 decision variables xj
indicate which items are selected.
A comprehensive overview on practical and theoretical results for the MKP
can be found in the monograph on knapsack problems by Kellerer et al. [8].
Besides exact techniques for solving small to moderately sized instances, see [8],
many kinds of metaheuristics have already been applied to the MKP. To our
knowledge, the method currently yielding the best results, at least for commonly
used benchmark instances, was described by Vasquez and Hao [18] and has
recently been refined by Vasquez and Vimont [19]. Various other metaheuristics
have been described for the MKP [5, 3], including several variants of hybrid
evolutionary algorithms (EAs); see [16] for a survey and comparison of EAs for
the MKP.
We first introduce the core concept for KP, and then expand it to MKP with
respect to different efficiency measures. We then give some results of an empirical
study of the cores of widely-used benchmark instances and present the application of the general ILP-solver CPLEX to MKP cores of fixed sizes. Furthermore
we present a Memetic Algorithm (MA) and a Relaxation Guided Variable Neighborhood Search (RGVNS) applied to cores of hard to solve benchmark instances.
We finally conclude by summarizing our work.
2
The Core Concept
The core concept was first presented for the classical 0/1-knapsack problem [1],
which led to very successful KP algorithms [9, 11, 12]. The main idea is to reduce
the original problem by only considering a core of items for which it is hard to
decide if they will occur in an optimal solution or not, whereas the variables for
all items outside the core are fixed to certain values.
2.1
The Core Concept for KP
The one-dimensional 0/1-knapsack problem (KP) considers items j = 1, . . . , n,
associated profits pj , and weights wj . A subset of these items has to be selected
and packed into a knapsack having a capacity c. The total profit of the items
in the knapsack has to be maximized, while the total weight is not allowed to
exceed c. Obviously, KP is the special case of MKP with m = 1.
If the items are sorted according to decreasing efficiency values
ej =
pj
,
wj
(4)
it is well known that the solution of the LP-relaxation consists in general of
three consecutive parts: The first part contains variables set to 1, the second
part consists of at most one split item s, whose corresponding LP-values is
fractional, and finally the remaining variables, which are always set to zero,
form the third part. For most instances of KP (except those with a very special
The Core Concept for the Multidimensional Knapsack Problem
197
structure of profits and weights) the integer optimal solution closely corresponds
to this partitioning in the sense that it contains most of the highly efficient
items of the first part, some items with medium efficiencies near the split item,
and almost no items with low efficiencies from the third part. Items of medium
efficiency constitute the so called core.
Balas and Zemel [1] gave the following precise definition of the core of a
one-dimensional 0/1-knapsack problem, based on the knowledge of an optimal
integer solution x∗ . Assume that the items are sorted according to decreasing
efficiencies and let
a := min{j | x∗j = 0},
b := max{j | x∗j = 1}.
(5)
The core is given by the items in the interval C = {a, . . . , b}. It is obvious that
the split item is always part of the core.
The KP Core (KPC) problem is defined as
pj xj + p̃
(6)
(KPC)
maximize z =
j∈C
subject to
j∈C
wj xj ≤ c − w̃,
xj ∈ {0, 1},
a−1
j ∈ C,
(7)
(8)
a−1
with p̃ =
j=1 wj . The solution of KPC would suffice to
j=1 pj and w̃ =
compute the optimal solution of KP, which, however, has to be already partially
known to determine C. Pisinger [12] reported experimental investigations of the
exact core size. He moreover studied the hardness of core problems, giving also
a model for their expected hardness in [13].
The first class of core algorithms is based on solving a core problem with an
approximate core of fixed size c = {s
√− δ, . . . , s + δ} with various choices of δ,
e.g. with δ being a constant or δ = n. An example is the MT2 algorithm by
Martello and Toth [9].
Since it is impossible to estimate the core size in advance, Pisinger proposed
two expanding core algorithms. Expknap [11] uses branch and bound for enumeration, whereas Minknap [12] (which enumerates at most the smallest symmetrical core) uses dynamic programming. For more details on core algorithms
for KP we refer to Kellerer et al. [8].
2.2
The Core Concept for MKP
The previous definition of the core for KP can be expanded to MKP without
major difficulties. The main problem, however, lies in the fact that there is no
obvious efficiency measure.
Efficiency Measures for MKP. Consider the most obvious form of efficiency
for the MKP which is a direct generalization of the one-dimensional case:
pj
ej (simple) = m
i=1
wij
.
(9)
198
J. Puchinger, G.R. Raidl, and U. Pferschy
Different orders of magnitude of the constraints are not considered and a
single constraint may dominate the others. This drawback can easily be avoided
by scaling:
pj
ej (scaled) = m wij .
(10)
i=1 ci
Taking into account the relative contribution of the constraints Senju and
Toyoda [17] get:
p
nj
.
(11)
ej (st) = m
i=1 wij (
j=1 wij − ci )
For more details on efficiency values we refer to Kellerer et al. [8] where a
general form of efficiency is defined by introducing relevance values ri for every
constraint:
pj
.
(12)
ej (general) = m
i=1 ri wij
The relevance values ri can also be seen as kind of surrogate multipliers. Pirkul
calculates good multipliers heuristically [10]. Fréville and Plateau [4] suggested
setting
n
j=1 wij − ci
,
(13)
ri = n
j=1 wij
giving the efficiency value ej (fp). Setting the relevance values ri to the values
of an optimal solution to the dual problem of the MKP’s LP-relaxation was a
successful choice in [3], yielding the efficiency value ej (duals).
The MKP Core. Since there are several possibilities of defining efficiency
measures for MKP, the core and the core problem have to be defined depending
on a specific efficiency measure e. Let x∗ be an optimal solution and assume that
the items are sorted according to decreasing efficiency e, then let
ae := min{j | x∗j = 0},
be := max{j | x∗j = 1}.
(14)
The core is given by the items in the interval Ce := {ae , . . . , be }, and the core
problem is defined as
pj xj + p̃
(15)
maximize z =
(MKPCe )
j∈C
subject to
j∈C
wij xj ≤ ci − w̃i ,
xj ∈ {0, 1},
j ∈ C,
i = 1, . . . , m
(16)
(17)
a−1
a−1
with p̃ = j=1 pj and w̃i = j=1 wij , i = 1, . . . , m.
In contrast to KP, the solution of the LP-relaxation of MKP in general does
not consist of a single fractional split item. But up to m fractional values give
rise to a whole split interval Se := {se , . . . , te }, where se and te are the first and
the last index of variables with fractional values after sorting by efficiency e.
The Core Concept for the Multidimensional Knapsack Problem
199
Note that depending on the choice of the efficiency measure, the split interval
can also contain variables with integer values. Moreover, the sets Se and Ce
can have almost any relation to each other, from inclusion to disjointness. For
a “reasonable” choice of e, we expected them, however, to overlap to a large
extent.
If the dual solution values of the LP-relaxation are taken as relevance values,
the split interval Se resulting from the corresponding efficiency values ej (duals)
can be precisely characterized. Let xLP be the optimal solution of the LPrelaxation of MKP.
Theorem 1.
⎧
if ej > 1 ,
⎪
⎨1
= ∈ [0, 1] if ej = 1 ,
⎪
⎩
0
if ej < 1 .
xLP
j
(18)
Proof. The dual LP associated with the LP-relaxation of MKP is given by
(D(MKP))
minimize
subject to
m
i=1
m
i=1
ci u i +
n
vj
(19)
j=1
wij ui + vj ≥ pj ,
ui , vj ≥ 0,
j = 1, . . . , n
i = 1, . . . , m, j = 1, . . . , n,
(20)
(21)
where ui are the dual variables corresponding to the capacity constraints (2) and
vj correspond to the inequalities xj ≤ 1. For the optimal primal and dual solutions the following complementary slackness conditions hold (see any textbook
on linear programming, e.g. [2]):
xj
m
i=1
wij ui + vj − pj
=0
(22)
vj (xj − 1) = 0
(23)
m
p
Recall that ej (duals) = m jui wij . Hence, ej > 1 implies pj >
i=1 wij ui ,
i=1
which means that (20) can only be fulfilled by vj > 0. Now, (23) immediately
yields xj = 1, which proves
the first part of the theorem.
m
If ej < 1, there is pj < i=1 wij ui which together with vj ≥ 0 makes the
second factor of (22) strictly positive and requires xj = 0. This proves the
theorem since nothing has to be shown for ej = 1.
⊓
⊔
It follows from Theorem 1 that Se ⊆ {j | ej = 1, j = 1, . . . , n}. It should
be noted that the theorem gives only a structural result which does not yield
any direct algorithmic advantage to compute the primal solution xLP since it
requires knowing the dual optimal solution.
200
3
J. Puchinger, G.R. Raidl, and U. Pferschy
Experimental Study of MKP Cores and Core Sizes
3.1
MKP Cores and Efficiency Measures
In order to analyze the core sizes in dependence on different efficiency values,
we performed an empirical in-depth examination on smaller instances of Chu
and Beasley’s benchmark library1 . Chu and Beasley [3] generated the instances
as suggested by Fréville and Plateau [4]. The instance classes consist of ten
instances each with n ∈
{100, 250, 500} items, m ∈ {5, 10, 30} constraints, and
n
tightness ratios α = ci / j=1 wij , α ∈ {0.25, 0.5, 0.75}.
For the empirical results presented in this section, we used the smaller instances, which could be solved to proven optimality in reasonable time using the
ILP-solver CPLEX, with n = 100 and m ∈ {5, 10}, and n = 250 and m = 5.
In Table 1 we examine cores devised using the scaled efficiency e(scaled), the
efficiency e(st), the efficiency e(fp) as defined in equations (12) and (13), and
finally the efficiency e(duals) setting the relevance values ri of equation (12) to
Table 1. Split intervals, core sizes and their mutual coverages and distances for different efficiency values (average percent values taken from 10 instances and average over
all problem classes)
1
n m α
100 5 0.25
0.5
0.75
250 5 0.25
0.5
0.75
100 10 0.25
0.5
0.75
Average
|Se |
23.40
29.50
24.30
17.44
22.88
11.44
42.60
39.40
37.50
27.61
n m α
100 5 0.25
0.5
0.75
250 5 0.25
0.5
0.75
100 10 0.25
0.5
0.75
Average
|Se |
24.70
27.10
23.20
16.92
22.96
11.40
42.10
41.90
37.90
27.58
e(scaled)
|Ce | ScC CcS
30.50 72.69 94.71
37.60 71.93 88.45
27.00 72.61 83.13
22.40 77.20 97.38
29.44 71.71 94.25
17.84 56.14 88.45
38.30 92.62 84.39
45.20 80.80 91.20
34.80 94.29 86.42
31.45 76.67 89.82
e(fp)
|Ce | ScC CcS
30.10 75.50 91.94
35.80 70.36 89.74
26.10 74.47 84.22
21.72 76.87 95.63
29.68 74.79 95.02
17.12 59.00 87.27
38.20 90.41 83.74
45.60 84.52 90.85
35.30 94.55 86.96
31.07 77.83 89.49
Cdist
4.05
5.95
5.05
1.88
3.44
4.60
4.35
5.30
2.55
4.13
|Se |
27.20
27.00
22.80
17.12
23.76
11.96
43.30
44.40
38.60
28.46
Cdist
4.20
6.35
4.55
2.24
3.56
4.06
4.75
5.15
2.40
4.14
|Se |
5.00
5.00
5.00
2.00
2.00
2.00
10.00
9.80
9.70
5.61
e(st)
|Ce | ScC CcS
30.20 78.85 88.11
35.60 69.88 89.01
25.20 77.72 84.08
22.20 76.91 94.62
30.88 74.95 94.69
16.64 63.82 85.86
38.20 88.78 79.36
46.50 85.43 88.49
36.20 93.04 87.16
31.29 78.82 87.93
e(duals)
|Ce | ScC CcS
20.20 28.12 100.00
22.10 27.49 100.00
19.60 26.95 100.00
12.68 18.16 100.00
12.20 18.45 100.00
10.40 20.18 100.00
23.20 46.57 100.00
25.70 48.17 95.00
18.80 55.74 99.00
18.32 32.20 99.33
http://people.brunel.ac.uk/∼mastjjb/jeb/info.html
Cdist
4.80
5.90
4.30
2.46
4.04
3.62
5.55
5.65
2.10
4.27
Cdist
3.30
3.45
3.20
2.46
1.38
1.56
2.90
3.15
2.75
2.68
The Core Concept for the Multidimensional Knapsack Problem
201
the optimal dual variable values of the MKP’s LP-relaxation. Listed are average
values of the sizes (in percent of the number of items) of the split interval (|Se |)
and of the exact core (|Ce |), the percentage of how much the split interval covers
the core (ScC) and how much the core covers the split interval (CcS), and the
distance (in percent of the number of items) between the center of the split
interval and the center of the core (Cdist ).
As expected from Theorem 1, the smallest split intervals, consisting of the
fractional variables only are derived with e(duals). They further yield the smallest cores. Using one of the other efficiency measures results in significantly larger
split intervals and cores. Furthermore, the smallest distances between the centers
of the split intervals and the cores are produced by e(duals) for almost all the
subclasses. The most promising information for devising approximate cores are
therefore available from the split intervals generated with e(duals), on which we
will concentrate our further investigations.
3.2
A Fixed Core Approach
In order to evaluate the influence of core sizes on solution quality and run-times,
we propose a fixed core size algorithm, where we solve approximate cores using
Table 2. Solving cores of different sizes exactly (average over 10 instances and average
over all problem classes)
n
m α
100 5 0.25
0.5
0.75
250 5 0.25
0.5
0.75
100 10 0.25
0.5
0.75
Average
n m α
100 5 0.25
0.5
0.75
250 5 0.25
0.5
0.75
100 10 0.25
0.5
0.75
Average
no core
z
t[s]
24197 21
43253 27
60471
6
60414 1474
109293 1767
151560 817
22602 189
42661 97
59556 29
63778 492
δ = 0.2n
%opt # %t
0.015 9 32
0.002 9 24
0.001 9 39
0.000 10 82
0.000 10 67
0.000 10 72
0.002 9 10
0.030 8 13
0.011 9 22
0.007 9.2 40
δ = 0.1n
%opt # %t
0.097 5
1
0.053 4
1
0.038 5
4
0.008 7 36
0.002 8 21
0.000 10 17
0.473 1
0
0.234 3
0
0.036 6
0
0.105 5.4
9
δ = 2m + 0.1n
%opt # %t
0.015 9 32
0.002 9 24
0.001 9 39
0.003 9 69
0.000 10 59
0.000 10 40
0.000 10 46
0.022 8 60
0.000 10 54
0.005 9.3 47
δ = 0.15n
%opt # %t
0.034 7
9
0.018 6
6
0.021 7 17
0.003 9 81
0.000 10 63
0.000 10 47
0.152 4
1
0.084 5
1
0.015 8
3
0.036 7.3 25
δ = 2m + 0.2n
%opt # %t
0.000 10 62
0.002 9 64
0.000 10 61
0.000 10 91
0.000 10 73
0.000 10 61
0.000 10 66
0.000 10 75
0.000 10 70
0.000 9.9 69
202
J. Puchinger, G.R. Raidl, and U. Pferschy
the general purpose ILP-solver CPLEX 9.0. We performed the experiments on
a 2.4 GHz Pentium 4 computer.
In analogy to KP, the approximate core is generated by adding δ items on
each side of the center of the split interval. We created the cores with the e(duals)
efficiency. The values of δ were chosen in accordance with the results of the previous section, where an average core size of about 0.2n was observed. Table 2 lists
average objective values and run-times for the original problem, and percentage
gaps to the optimal solution (%opt = 100 · (z ∗ − z)/z ∗), the number of times the
optimum was reached (#), as well as the average run-times %t (in percent of the
run-time required for solving the original problem) for cores of different sizes.
Observing the results of CPLEX applied to cores of different sizes, we see
that smaller cores can be solved substantially faster and the obtained solution
values are only slightly worse than the optimal ones given by the no core column.
The best results with respect to average run-times were achieved with δ = 0.1n,
the run-time could be reduced by factors going from 3 to 1000, whereas, most
importantly, the obtained objective values are very close to the respective optima
(0.1% on average). Solving the bigger cores needs more run-time, but almost all
of the optimal results could be reached, with still significant time savings.
4
Applying Metaheuristics to the Core
The question of how the reduction to MKP cores influences the performance of
metaheuristics arises due to the observed differences in run-times and solution
qualities of the previous section. Furthermore the core concept might enable us
to find better solutions for larger instances which cannot be solved to optimality. We therefore study a memetic algorithm and a relaxation guided variable
neighborhood search for solving the MKP, applied to MKP cores. The results of
Section 3.2 indicate that the obtained solutions should be good approximations
of the overall MKP optimum.
4.1
A Memetic Algorithm
The MA which we consider here is based on Chu and Beasley’s principles and
includes some improvements suggested in [6, 15, 16]. The framework is steadystate and the creation of initial solutions is guided by the LP-relaxation of the
MKP, as described in [6]. Each new candidate solution is derived by selecting
two parents via binary tournaments, performing uniform crossover on their characteristic vectors x, flipping each bit with probability 1/n, performing repair if a
capacity constraint is violated, and always performing local improvement. If such
a new candidate solution is different from all solutions in the current population,
it replaces the worst of them.
Both, repair and local improvement, are based on greedy first-fit strategies
and guarantee that any resulting candidate solution lies at the boundary of
the feasible region, where optimal solutions are always located. The repair procedure considers all items in a specific order Π and removes selected items
The Core Concept for the Multidimensional Knapsack Problem
203
(xj = 1 → xj = 0) as long as any capacity constraint is violated. Local
improvement works vice-versa: It considers all items in the reverse order Π and
selects items not yet appearing in the solution as long as no capacity limit is
exceeded.
Crucial for these strategies to work well is the choice of the ordering Π. Items
that are likely to be selected in an optimal solution must appear near the end
of Π. Following the results of Section 3.1 we determine Π by ordering the items
according to e(duals), as it has also been previously done in [3].
4.2
A Relaxation Guided VNS for the MKP
Relaxation Guided Variable Neighborhood Search (RGVNS) [14] is a recently developed Variable Neighborhood Search (VNS) [7] variant where the
neighborhood-order of Variable Neighborhood Descent (VND) is dynamically
determined by solving relaxations of the neighborhoods. The RGVNS used here
for the MKP, is a slightly improved version of the approach described in [14].
Representation and Initialization. Solutions are directly represented by
binary strings, and all our neighborhoods are defined on the space of feasible
solutions only. We denote by I1 (xf ) = {j | xfj = 1} the index-set of the items
contained in the knapsack of a current solution xf and by I0 (xf ) = {j | xfj = 0}
its complement. The initial solution for the RGVNS is generated using a greedy
first-fit heuristic, considering the items in a certain order, determined by sorting
the items according to decreasing values of the solutions to the MKP’s LPrelaxation; see [16].
ILP Based Neighborhoods. We want to force a certain number of items of
the current feasible solution xf to be removed from or added to the knapsack.
This is realized by adding neighborhood-defining constraints depending on xf
to the ILP formulation of the MKP.
In the first neighborhood, ILP-Remove-and-Fill IRF (xf , k), we force precisely
k items from I1 to be removed from the knapsack, and any combination of
items from I0 is allowed to be added to the knapsack as long
as the solution
remains feasible. This is accomplished by adding the equation j∈I1 (xf ) xj =
f
j∈I1 (xf ) xj − k to (1)–(3).
In the second neighborhood, ILP-Add-and-Remove IAR(xf , k), we force precisely k items not yet packed, i.e. from I0 , to be included in the knapsack. To
achieve feasibility any
combination of items from I1 may be removed. This is
achieved by adding j∈I0 (xf ) xj = k to (1)–(3).
As relaxations IRF R (xf , k) and IARR (xf , k) we use the corresponding LPrelaxations in which the integrality constraints (3) are replaced by 0 ≤ xj ≤
1, j = 1, . . . , n. For searching the (integer) neighborhoods we use a general purpose ILP-solver (CPLEX) with a certain time limit.
Classical Neighborhoods. As first neighborhood we use a simple swap
SWP(xf ), where a pair of items (xfi , xfj ), with i ∈ I1 and j ∈ I0 , is exchanged,
204
J. Puchinger, G.R. Raidl, and U. Pferschy
i.e. xfi := 0 and xfj := 1. Infeasible solutions are discarded. Note that this neighborhood is contained in both, IRF (xf , 1) and IAR(xf , 1). Its main advantage is
that it can be explored very fast.
Based on the ideas of Chu and Beasley [3] and as another simplification of
IRF and IAR but an extension of SWP, we define two additional neighborhoods based on greedy concepts. In the first case, the Remove-and-Greedy-Fill
neighborhood RGF (xf , k), k items are removed from xf ; i.e. a k-tuple of variables from I1 (xf ) is flipped. The resulting solution is then locally optimized as
described in Section 4.1. In the second case, the Add-and-Greedy-Repair neighborhood AGR(xf , k), k items are added to xf ; i.e. k variables from I0 (xf ) are
flipped. The resulting solution, which is usually infeasible, is then repaired and
locally improved as previously described.
Relaxation Guided VND. The Relaxation Guided VND (RGVND) is based
on the previously defined neighborhoods and follows a best neighbor strategy. The faster to solve neighborhoods are ordered as follows: N1 :=SWP(xf ),
N2 :=RGF (xf , 1), N3 :=AGR(xf , 1). If none of these neighborhoods leads to an
improved solution, we solve the LP-relaxations of IRF (xf , k) and IAR(xf , k)
for k = 1, . . . , kmax , where kmax is a prespecified upper limit on the number of
items we want to remove or add. The neighborhoods are then sorted according to decreasing LP-relaxation solution values. Ties are broken by considering
smaller ks earlier. Only the first βmax ILP-based neighborhoods are explored
before shaking.
Shaking. After RGVND has terminated, shaking is performed for diversification. It flips κ different randomly selected variables of the currently best solution
and applies greedy repair and local improvement as previously described for the
MA. As usual in general VNS, κ runs from 1 to some κmax and is reset to 1 if an
improved solution was found. Furthermore, the whole process is iterated until a
termination criterion, in our case the CPU-time, is met.
5
Computational Experiments
We present several computational experiments where we evaluated the influence
of differently sized cores on the performance of CPLEX, the presented MA, and
RGVNS. The algorithms were given 500 seconds per run. Since the MA converges
much earlier, it was restarted every 1 000 000 generations, always keeping the sofar best solution in the population. In RGVNS, CPLEX was given a maximum
of 5 seconds for exploring the ILP-based neighborhoods, kmax and βmax were set
to 10, and κmax = n. We used the hardest instances of the Chu and Beasley
benchmark set, i.e. those with n = 500 items and m ∈ {5, 10, 30} constraints. As
before, CPLEX 9.0 was used and we performed the experiments on a 2.4 GHz
Pentium 4 computer.
In Table 3 we display the results of CPLEX applied to cores of different sizes.
For comparison CPLEX was also applied to the original problem with the same
time limit. We list averages over ten instances of the percentage gaps to the
The Core Concept for the Multidimensional Knapsack Problem
205
optimal objective value of the LP-relaxation (%LP = 100 · (z LP − z)/z LP), the
number of times this core size yielded the best solution of this algorithm (#),
and the number of explored nodes of the branch and bound tree.
First, it can be noticed that CPLEX applied to approximate cores of different sizes yields, on average, better results than CPLEX applied to the original
problem. Second, the number of explored nodes increases with decreasing problem/core size. The best average results are obtained with higher core sizes.
Table 3. Solving cores of different sizes with CPLEX (avgerage over 10 instances and
average over all problem classes, n = 500)
m α
5 0.25
0.5
0.75
10 0.25
0.5
0.75
30 0.25
0.5
0.75
Average
no core
%LP # Nnodes
0.080 5 5.50E5
0.040 6 5.06E5
0.025 6 5.36E5
0.206 1 3.15E5
0.094 4 3.01E5
0.066 4 3.05E5
0.598 2 1.11E5
0.258 2 1.15E5
0.158 2 1.12E5
0.169 3.6 3.17E5
δ = 0.1n
%LP # Nnodes
0.075 9 1.00E6
0.039 7 1.05E6
0.024 10 1.05E6
0.198 5 1.10E6
0.088 8 1.11E6
0.065 5 1.07E6
0.621 0 4.22E5
0.246 3 4.50E5
0.151 6 4.48E5
0.167 5.9 8.55E5
δ = 0.15n
%LP # Nnodes
0.076 9 9.85E5
0.039 9 1.00E6
0.025 8 1.02E6
0.195 6 6.99E5
0.090 6 6.95E5
0.064 7 6.83E5
0.566 4 3.06E5
0.243 4 3.28E5
0.160 1 3.14E5
0.162 6.0 6.70E5
δ = 0.2n
%LP # Nnodes
0.076 8 8.34E5
0.039 9 8.38E5
0.025 8 9.04E5
0.198 4 5.68E5
0.092 5 5.73E5
0.065 7 5.59E5
0.537 6 2.28E5
0.250 2 2.38E5
0.151 5 2.36E5
0.159 6.0 5.53E5
In Table 4 the results of the MA applied to approximate cores of different sizes
are shown. In order to evaluate the benefits of using a core-based approach, we
also applied the MA to the original problem. The table lists (%LP ), the number
of times this core size yielded the best solution of this algorithm (#), and the
average numbers of MA iterations.
As observed with CPLEX, the use of approximate cores consistently increases
the achieved solution quality. The core size has a significant influence on the
number of iterations performed by the MA, which can be explained by the
smaller size of the problem to be solved. This also seems to be a reason for
the better results, since more candidate solutions can be examined in the given
run-time. Furthemore, the search space of the MA is restricted to a highly
promising part of the original search space. The best average results were obtained with δ = 0.15n. The smaller approximate cores yield better results on
average.
In Table 5, the results of RGVNS when applied to approximate cores of different sizes are shown together with the results of RGVNS on the original problem.
The table also displays the average total number of iterations performed by
RGVND inside RGVNS.
The results obtained by RGVNS applied to the smaller approximate cores
clearly dominate the results obtained without core and with δ = 0.2n. This can
be explained by the fact that CPLEX is used in RGVNS, and that it is able
206
J. Puchinger, G.R. Raidl, and U. Pferschy
Table 4. Solving cores of different sizes with the MA (avgerage over 10 instances and
average over all problem classes, n = 500)
m α
5 0.25
0.5
0.75
10 0.25
0.5
0.75
30 0.25
0.5
0.75
Average
no core
%LP # Niter
0.078 6 1.40E7
0.040 6 1.35E7
0.025 7 1.46E7
0.208 5 1.26E7
0.099 2 1.21E7
0.066 6 1.31E7
0.604 1 9.10E6
0.254 3 8.10E6
0.159 4 8.12E6
0.170 4.4 1.17E7
δ
%LP
0.073
0.039
0.024
0.202
0.093
0.065
0.573
0.257
0.156
0.165
= 0.1n
# Niter
10 5.08E7
9 5.07E7
9 5.07E7
5 4.54E7
6 4.51E7
8 4.53E7
5 3.08E7
1 3.08E7
5 3.14E7
6.4 4.23E7
δ = 0.15n
%LP # Niter
0.074 9 4.07E7
0.039 9 4.07E7
0.024 10 4.08E7
0.202 6 3.62E7
0.091 8 3.59E7
0.067 4 3.59E7
0.575 5 2.39E7
0.246 7 2.37E7
0.157 3 2.35E7
0.164 6.8 3.35E7
δ = 0.2n
%LP # Niter
0.074 9 3.33E7
0.040 7 3.33E7
0.024 9 3.34E7
0.208 4 2.90E7
0.093 5 2.89E7
0.068 4 2.87E7
0.569 6 1.92E7
0.253 3 1.90E7
0.157 5 1.96E7
0.165 5.8 2.72E7
Table 5. Solving cores of different sizes with RGVNS (avgerage over 10 instances and
average over all problem classes, n = 500)
m α
5 0.25
0.5
0.75
10 0.25
0.5
0.75
30 0.25
0.5
0.75
Average
no core
%LP # Niter
0.088 4 230
0.043 5 236
0.027 5 246
0.230 0 225
0.108 1 209
0.069 2 208
0.595 5 202
0.263 3 197
0.168 2 191
0.177 3.0 216
δ = 0.1n
%LP # Niter
0.080 5 208
0.040 7 215
0.026 8 230
0.198 7 200
0.096 5 201
0.066 7 207
0.599 3 196
0.260 0 198
0.158 5 191
0.169 5.2 205
δ = 0.15n
%LP # Niter
0.080 6 223
0.040 8 226
0.026 8 252
0.211 2 193
0.096 3 199
0.066 7 211
0.593 4 191
0.254 6 189
0.164 3 187
0.170 5.2 208
δ = 0.2n
%LP # Niter
0.082 4 230
0.040 7 239
0.026 7 240
0.210 3 205
0.100 1 205
0.066 4 214
0.609 5 195
0.261 3 197
0.164 2 191
0.173 4.0 213
to find better solutions when dealing with smaller problem sizes. Interestingly,
the number of iterations stays about the same for the different settings. The
reason is that CPLEX is given the same constant time limit for searching for
the neighborhoods within RGVND.
Comparing our results to the best known solutions [19], we are able to reach
the best solutions for m = 5, and stay only 0.5% below these solutions for
m ∈ {10, 30}, requiring 500 seconds, whereas in [19] up to 33 hours were needed.
6
Conclusions
We presented the new core concept for the multidimensional knapsack problem, extending the core concept for the classical one-dimensional 0/1-knapsack
problem. An empirical study of the exact core sizes of widely used benchmark
The Core Concept for the Multidimensional Knapsack Problem
207
instances with different efficiency measures was performed. The efficiency value
using dual-variable values as relevance factors yielded the smallest possible splitintervals and the smallest cores.
We further studied the influence of restricting problem solving to approximate
cores of different sizes, and observed significant differences in terms of run-time
when applying the general-purpose ILP-solver CPLEX to approximate cores or
to the original problem, whereas the objective values remained very close to the
respective optima.
We finally applied CPLEX and two metaheuristics to approximate cores of
hard to solve benchmark instances and observed that using approximate cores
of fixed size instead of the original problem clearly and consistently improves
the solution quality when using a fixed run-time.
In the future, we want to further examine the MKP core concept and possibly
extend it to other combinatorial optimization problems.
References
1. E. Balas and E. Zemel. An algorithm for large zero-one knapsack problems. Operations Research, 28:1130–1154, 1980.
2. D. Bertsimas and J. N. Tsitsiklis. Introduction to Linear Optimization. Athena
Scientific, 1997.
3. P. C. Chu and J. Beasley. A genetic algorithm for the multiconstrained knapsack
problem. Journal of Heuristics, 4:63–86, 1998.
4. A. Fréville and G. Plateau. An efficient preprocessing procedure for the multidimensional 0–1 knapsack problem. Discrete Applied Mathematics, 49:189–212,
1994.
5. F. Glover and G. Kochenberger. Critical event tabu search for multidimensional
knapsack problems. In I. Osman and J. Kelly, editors, Metaheuristics: Theory and
Applications, pages 407–427. Kluwer Academic Publishers, 1996.
6. J. Gottlieb. On the effectivity of evolutionary algorithms for multidimensional
knapsack problems. In C. Fonlupt et al., editors, Proceedings of Artificial Evolution:
Fourth European Conference, volume 1829 of LNCS, pages 22–37. Springer, 1999.
7. P. Hansen and N. Mladenović. An introduction to variable neighborhood search. In
S. Voss, S. Martello, I. Osman, and C. Roucairol, editors, Metaheuristics, Advances
and Trends in Local Search Paradigms for Optimization, pages 433–458. Kluwer, 1999.
8. H. Kellerer, U. Pferschy, and D. Pisinger. Knapsack Problems. Springer, 2004.
9. S. Martello and P. Toth. A new algorithm for the 0-1 knapsack problem. Management Science, 34:633–644, 1988.
10. H. Pirkul. A heuristic solution procedure for the multiconstraint zero-one knapsack
problem. Naval Research Logistics, 34:161–172, 1987.
11. D. Pisinger. An expanding-core algorithm for the exact 0–1 knapsack problem.
European Journal of Operational Research, 87:175–187, 1995.
12. D. Pisinger. A minimal algorithm for the 0–1 knapsack problem. Operations
Research, 45:758–767, 1997.
13. D. Pisinger. Core problems in knapsack algorithms. Operations Research, 47:570–
575, 1999.
208
J. Puchinger, G.R. Raidl, and U. Pferschy
14. J. Puchinger and G. R. Raidl. Relaxation guided variable neighborhood search. In
P. Hansen, N. Mladenović, J. A. M. Pérez, B. M. Batista, and J. M. Moreno-Vega,
editors, Proceedings of the 18th Mini Euro Conference on Variable Neighborhood
Search, Tenerife, Spain, 2005.
15. G. R. Raidl. An improved genetic algorithm for the multiconstrained 0–1 knapsack
problem. In D. Fogel et al., editors, Proceedings of the 5th IEEE International
Conference on Evolutionary Computation, pages 207–211. IEEE Press, 1998.
16. G. R. Raidl and J. Gottlieb. Empirical analysis of locality, heritability and heuristic
bias in evolutionary algorithms: A case study for the multidimensional knapsack
problem. Evolutionary Computation Journal, 13(4), to appear 2005.
17. S. Senju and Y. Toyoda. An approach to linear programming with 0–1 variables.
Management Science, 15:196–207, 1968.
18. M. Vasquez and J.-K. Hao. A hybrid approach for the 0–1 multidimensional knapsack problem. In Proceedings of the Int. Joint Conference on Artificial Intelligence
2001, pages 328–333, 2001.
19. M. Vasquez and Y. Vimont. Improved results on the 0-1 multidimensional knapsack
problem. European Journal of Operational Research, 165:70–81, 2005.
Multiobjective Scheduling of Jobs
with Incompatible Families on
Parallel Batch Machines
Dirk Reichelt and Lars Mönch
Technical University of Ilmenau,
Institute of Information Systems, Helmholtzplatz 3,
98684 Ilmenau, Germany
{Dirk.Reichelt, Lars.Moench}@tu-ilmenau.de
Abstract. We consider scheduling heuristics for batching machines
from semiconductor manufacturing. A batch is a collection of jobs that
are processed at the same time on the same machine. The processing
time of a batch is given by the identical processing time of the jobs
within one incompatible family. We are interested in minimizing total
weighted tardiness and makespan at the same time. In order to solve
this problem, i.e. generate a Pareto-front, we suggest a multiobjective
genetic algorithm. We present results from computational experiments
on stochastically generated test instances that show the good solution
quality of the suggested approach.
1
Introduction
A great majority of academic scheduling research deals with single-objective
problems. This research focuses on multiobjective scheduling of batch processing machines found in the diffusion and oxidation areas of a semiconductor
wafer fabrication facility (wafer fab). The processing times of these batching
operations are extremely long (10 hours) when compared to other operations
(1-2 hours) in a wafer fab. Mathirajan and Sivakumar [9] state that the effective
scheduling of these operations is important to achieve good system performance.
Though several jobs can be processed simultaneously in these batch processing
machines, process restrictions require that only jobs belonging to the same family be processed together at one time. The jobs to be processed have different
priorities/weights, due-dates and ready times. In the presence of unequal ready
times, it is sometimes advantageous to form a non full batch while in other situations it is a better strategy to wait for future job arrivals in order to increase
the fullness of the batch.
We model diffusion and oxidation operations as parallel batch processing machines with incompatible job families. The performance measures to be simultaneously minimized are total weighted tardiness and makespan. Total weighted
tardiness is related to on-time delivery performance whereas a small makespan
indicates a high system utilization.
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 209–221, 2006.
c Springer-Verlag Berlin Heidelberg 2006
210
D. Reichelt and L. Mönch
There are many papers that deal with batching (cf. the two recent survey
papers [9, 14]). Most of the papers consider single-objective batching problems.
One known exception is [6] where the simultaneous minimization of earliness
and tardiness of jobs on a batch processing machine is discussed as a bicriteria scheduling problem. Several papers discuss multicriteria scheduling problems
for parallel machines. We refer, for example, to [1]. In this paper an integrated
convex preference measure is introduced. Hybrid genetic algorithms of MPGA
(Multi-Population Genetic Algorithm) [2] and MOGA (Multi-Objective
Genetic Algorithm) [12] type are used. A comparison of the new measure
with existing measures is performed. In this paper we extend the previous work
[11] of the second present author for scheduling of batch machines from a singleobjective situation to a bicriteria situation.
This paper is organized as follows. In Section 2 we describe the problem.
Then, we describe the solution technique to solve the multiobjective scheduling
problem. We present results of computational experiments in Section 4.
2
Problem Setting
The assumptions involved in the scheduling of parallel batch processing machines
with incompatible job families and unequal ready times of the jobs to minimize
total weighted tardiness and makespan are:
1. Jobs of the same family have the same processing times.
2. All the batch processing machines are identical in nature.
3. Once a machine is started, it cannot be interrupted, i.e. no preemption is
allowed.
We use the following notation throughout the rest of the paper.
1. Jobs fall into f am different incompatible families that cannot be processed
together.
2. There are n jobs that have to be scheduled.
3. There are m identical machines in parallel.
f am
4. There are nj jobs of family j to be scheduled. We have n = j=1 nj .
5. Job i of family j is represented as ij.
6. The priority weight for job i of family j is represented as wij .
7. The due date of job i of family j is represented as dij .
8. The processing time of jobs in family j is represented as pj .
9. The ready time of job i in family j is represented as rij .
10. The batch processing machine capacity is B jobs.
11. Batch k of family j is represented by Bkj .
12. The completion time of job i of family j is denoted by Cij .
13. The makespan is defined as Cmax := maxij {Cij }. Minimizing the makespan
usually leads to a high utilization of the machines.
14. The weighted tardiness of job ij is represented as wij Tij = wij (Cij − dij )+ ,
where we use the notation z + := max(z, 0) throughout the rest of the paper.
Multiobjective Scheduling of Jobs with Incompatible Families
211
The total weighted tardiness of all jobs is defined as T W T := ij wij Tij .
Minimizing total weighted tardiness of the jobs implies a high customer
satisfaction level because of a good on-time delivery of the jobs.
Using the α|β|γ notation from the scheduling literature [5] this problem can be
represented as:
(1)
P m|rij , batch, incompatible|T W T, Cmax .
Here, we use the notation Pm for an identical parallel machine environment. The
batching with incompatible job families is denoted by batch incompatible. Finally,
the γ field is used to indicate the two used objectives, TWT and makespan.
The single machine total weighted tardiness scheduling problem is NP-Hard
[13]. Hence, the parallel batch machine scheduling problem with TWT objective is also NP-Hard. The parallel machine scheduling problem with makespan
objective is NP-Hard [13]. Therefore, the parallel batch machine problem with
makespan objective is also NP-Hard. Finally, problem (1) is NP-Hard because it
would be NP-Hard if each of the two objectives would be optimized separately
[13, 15]. Hence, we have to look for efficient heuristics.
3
Solution Approach for the Multiobjective Batching
Problem
In this section we briefly describe the overall three-phase solution approach. It
contains a batch formation, a batch assignment, and a batch sequencing phase
respectively. Then we characterize the NSGA-II metaheuristic that is used for
the second phase. Furthermore, we also describe the usage of a more advanced
version of a hybrid multiobjective metaheuristic combining the NSGA-II algorithm and a local search technique in the assignment phase.
3.1
Three-Phase Scheduling Approach
We extend the batch scheduling approach from [11] to the multiobjective situation. In the first phase, we have to form batches. In the second phase, we assign
each batch from the first phase to one of the parallel machine. The third phase
is responsible for sequencing the batches on each machine.
We start from a fixed point of time t and consider a time window (t, t + ∆t)
in the first phase. Let the set
M̄ (j, t, ∆t) := {ij|rij ≤ t + ∆t}
(2)
denote the set of jobs from family j whose ready times rij are smaller than t+∆t.
Let Iij be an index-based criterion for ranking these jobs and let pos(ij) be the
position of job ij based on Iij . From the set M̄ (j, t, ∆t) we derive the subset:
M̃ (j, t, ∆t, thres) := {ij|ij ∈ M̄ (j, t, ∆t)
and pos(ij) ≤ thres},
(3)
212
D. Reichelt and L. Mönch
where thres is the maximum number of jobs in this new set. The ranking of jobs
in the set M̄ (j, t, ∆t) is obtained by the Apparent Tardiness Cost (ATC)-based
criterion (cf. [13])
wij
(dij − pj + (rij − t))+
Iij,AT C (t) :=
exp −
,
(4)
pj
κp̄
where κ is a look-ahead parameter and p̄ is the average processing time of the
remaining unscheduled jobs. By t we denote the time for decision-making. It
is well known that the application of ATC-based rules leads to schedules with
small TWT [13]. The jobs in the set M̄ (j, t, ∆t) are ranked in the non-decreasing
order of Iij,AT C and the first thres are chosen for the subset M̃ (j, t, ∆t, thres).
All possible batching combinations are considered in this subset. To choose a
single batch from these batches, we use the index Ibj (t):
Ibj (t) :=
nbj
wij
i=1
pj
(dij − pj − t + (rbj − t)+ )+
exp −
.
κp̄
(5)
We denote the number of jobs in the batch by nbj . Furthermore, we set
rbj := maxij∈Bbj (rij ). The Ibj (t) index is called the BATC (Batched Apparent
Tardiness Cost) index. The batch with the highest value of Ibj (t) is scheduled.
The second phase is based on genetic algorithms and is explained in more
detail in Sections 3.2 and 3.3.
After the assignment step performed in the second phase the batches are
sequenced on each single batch machine by using the BATC index (5).
3.2
NSGA-II for the Second Phase
The NSGA-II algorithm [4] is a well-established metaheuristic for multiobjective combinatorial optimization problems based on the principles of genetic algorithms (GAs). NSGA-II evaluates each solution by its domination to each
other population member. Using a nondominated sorting procedure the algorithm splits the complete population into several fronts in each iteration. A
front for a population member (a solution y) is determined by the number of solutions that dominate y and the solutions dominated by y. Taking this property
into account any member of a front is Pareto-optimal to each other solution of
the front it belongs to. Clearly, the solutions of the first front are nondominated
by any other solution of the population. In order to ensure elitism NSGA-II
joins in each iteration the parent and offspring populations. The fitness of an
individual is assigned according to its front. The new population is generated by
iteratively adding solutions from the first front. The population is filled up with
solutions from the remaining fronts when the size of the first front is smaller as
the population size. To ensure diversification NSGA-II uses a crowding comparison procedure for the tournament section [10]. The same procedure is used to
select the solutions from the last front that do not fit completely into the new
generation.
Multiobjective Scheduling of Jobs with Incompatible Families
3.3
213
Combining NSGA-II with Local Search for the Second Phase
A hybrid evolutionary approach based on the NSGA-II algorithm is proposed
by Deb and Goel in [3]. Each solution in the Pareto-front is improved by a
local search when the NSGA-II algorithm is finished. The local search moves the
outcomes of NSGA-II closer to the true Pareto-front Ytrue .
In this paper, we adopt the concept proposed in [3] for our multiobjective
batching approach. A local search procedure tries to improve the objectives
for every solution from the NSGA-II Pareto-front. The local search procedure
uses a single-objective fitness function instead of the multiobjective NSGA-II
metaheuristic. We use a weighted objective approach in order to transfer the
multiobjective problem into a problem with single-objective fitness function.
Therefore, we generate for each obRequire: Yknown , stepsLS
jective
a weight λk according to its
1: for all ywork ∈ Yknown do
location
within the Pareto-front. The
2:
Yresult = Yresult ∪nondom
weights
for
each objective are deterywork
mined
by
3:
calculate λT W T and λCmax
4:
calculate f (ywork )
f maxT − fT W T (y)
5:
counter = 0
,
λT W T (y) := T W
min
fTmax
W T − fT W T
6:
while counter < stepsLS do
(6)
fCmax
− fCmax (y)
7:
yneighbor = move(ywork )
max
,
λCmax (y) :=
8:
calculate f (yneighbor )
− fCmin
fCmax
max
max
9:
if f (yneighbor ) < f (ywork )
then
where we denote by fkmax and fkmin the
10:
ywork = yneighbor
maximum and the minimum value of
11:
counter = 0
the objective function fk . Additionally,
12:
else
the weights are normalized. If fkmax =
13:
counter++
fkmin is valid in expression (6) then we
14:
end if
set λk = 1.
15:
end while
The weights for a solution y take
16:
Yresult = Yresult ∪nondom into account its location within the
ywork
Pareto-front, i.e., for a solution y with
17: end for
fT W T (y) = fTmin
W T (y) and fCmax (y) =
18: return Yresult
(y)
holds
λT W T (y) = 1 and
fCmax
max
λCmax (y) = 0. In this situation, a local
Fig. 1. local search procedure
search hillclimber accepts any solution
with a smaller TWT without considering Cmax .
The single-objective fitness function f using the weights calculated in (6) is
defined in equation (7):
f (y) := λT W T (y) · fT W T (y) + λCmax · fCmax (y).
(7)
The complete local search procedure used in this research is given by
Figure 1. The local search procedure is called with a solution front Yknown and
the maximum number of local search steps denoted by stepsLS . Finally, a set of
214
D. Reichelt and L. Mönch
Makespan
Pareto-optimal solutions is returned by the procedure. We introduce an external archive Yresult that stores all nondominated solutions found during the local
search. The operator ∪nondom denotes the update procedure for Yresult . ∪nondom
adds a solution to Yresult if it dominates solutions in Yresult or if it is Paretooptimal for solutions in Yresult . Solutions in Yresult dominated by the added solutions are removed. The local search iterates over all solutions in Yknown . We first
determine the weights λT W T and λCmax and calculate the fitness value for the
current solution ywork . The inner loop (line 6) performs the local search. We consider for each solution ywork stepsLS solutions in its neighborhood. We define the
neighborhood of a solution as the set of solutions obtained by simply swapping
two batches across different machines. The operator move(ywork ) generates a solution yneighbor in the neighborhood of ywork by randomly exchanging two batches
between two machines. The fitness for yneighbor is calculated using expression (7).
A new solution is accepted as current solution if f (yneighbor ) < f (ywork ). Afterward, the local search restarts with the new current solution ywork .
Figure 2 illustrates the local search for a Pareto-front Yknown generated by
NSGA-II. The arrows connect the solutions generated by the local search with
the initial solution in Yknown . Due to the application of the local search procedure described above we improve the solutions yA , yB , and yC . Solution yA has
the lowest TWT value and the highest Cmax value. The weights used within the
fitness function are λT W T (yA ) = 1 and λCmax (yA ) = 0.
The highest TWT value and the
167
lowest Cmax value are obtained for soy1
Yknown NSGA-II
166
lution yC . For solution yC the weights
Yresult
165
are λT W T (yC ) = 0 and λCmax (yC ) = 1.
164
yA
The corresponding weights for soluy2
163
yB
y3
162
tion yB are λT W T (yB ) = 0.86 and
161
λCmax (yB ) = 0.14. Figure 2 shows that
160
the local search generates for yA two
159
yC
y4
new solutions y1 and y2 and only one
158
157
new (improved) solution for yB and
1150
1170
1190
1210
1230
1250
yC . Figure 2 clearly states that the
TWT
objective for the local search of yA
(determined by the weights) is to min- Fig. 2. Example Improvement of Solutions from Yknown by Local Search
imize TWT without considering Cmax .
Therefore, any solution with a smaller
T W T is accepted by the local search procedure, even if Cmax is higher than
fCmax (ywork ). For solution yC the local search is focused on minimizing Cmax
without considering T W T . Analyzing the local search results for solutions in the
’middle’ of the input Pareto-front we can conclude that the local search for this
problem is unable to find solutions in the neighborhood with a smaller fitness
value. Finally, the results show that a Pareto-front generated by a NSGA-II
can be improved by applying a local search procedure for each solution in Yknown .
Multiobjective Scheduling of Jobs with Incompatible Families
4
215
Results of Computational Experiments
In this section, we describe the design of experiments. Then we discuss the results
of computational experiments.
4.1
Design of Experiments
We use a similar design of experiments as in [11]. We expect that the quality
of the results is influenced by the number of parallel machines, the number
of jobs and the number of incompatible families. We perform ten indepenTable 1. Design of Experiments
Factor
Number of Machines
Number of Jobs
Batch Size
Number of Families
Level
m = 2, 3, 4
n = 60, 80, 100
B = 4, 8
f am = 3
2 with probability of 0.2
4 with a probability of 0.2
Family Processing Time 10 with a probability of 0.3
16 with a probability of 0.2
20 with a probability of 0.1
U(0,1)
Weight wij per job
α
pij )
Ready Times
rij ∼ U (0, mB
β
pij )
Due Dates
dij ∼ U (0, mB
α = 0.25, 0.50, 0.75
β = 0.25, 0.50, 0.75
Total parameter combinations
Number of problem instances
Total problems
Count
3
3
2
1
1
9
162
10
1620
dent runs for each test instance with both NSGA-II and NSGA-II with local
search. We denote the NSGA-II approach with local search for abbreviation
with NSGA-II-LS. We summarize the design used in Table 1. The Paretooptimal solutions out of all runs are aggregated to the solution Pareto-front
Yknown for each approach. A near-to-optimal Pareto-front was generated by
Ytrue := Yknown (NSGA-II) ∪nondom Yknown (NSGA-II-LS). Throughout all experiments we use ∆t = 2h, thres = 10 and stepsLS = 30 . We encoded a solution
for the GAs by an integer string with the size equal to the number of batches
formed in the first phase. Each gene in the chromosome represents the maschine
used for processing the batch. The population size is 100. The initial population
is generated by randomly assigning a machine to each batch. The GAs stops after
300 generations. A uniform crossover [10] with crossover probability of 1 is used.
The mutation operator randomly exchanges two batches between two machines.
216
D. Reichelt and L. Mönch
We use a mutation probablity pmut = 0.02. The parameters for the GAs are determined by trial and error based on intensive computational experiments. Both
NSGA-II and NSGA-II-LS are implemented by using MOMHLib++ [8] under
the linux operating system. The experiments are performed on a Pentium IV, 2
GHz PC.
4.2
Performance Metrics for the Assessment of the Algorithms
In the single-objective case an algorithm outperforms a second one if it generates
a solution with an improved objective value (with eventually fewer computational
effort). As shown in Section 3 a multiobjective algorithm, however, generates a
set of Pareto-optimal solutions (a Pareto-front) instead of a single solution.
Performance metrics are required in order to evaluate and compare the outcome of several multiobjective algorithms. A common concept for evaluating
the outcomes of a multiobjective algorithm is an approximation-based evaluation. Approximation-based performance metrics evaluate the approximation of
a known (near-to-optimal) Pareto-front Ytrue by a Pareto-front Yknown [7]. In
this paper, we use cardinality-based and distance-based metrics.
Veldhuizen proposed some cardinality-based performance metrics in [16]. We
use the following cardinality-based performance metrics for the assessment for
the two algorithms described in Section 3. The metric Overall Non-dominated
Vector Generation (ONVG) is the number of solutions in a Pareto-front Yknown .
It is defined by
(8)
ON V G := |Yknown |.
The metric Overall True Non-dominated Vector Generation (OTNVG) is
given by the number of solutions from Yknown that are in Ytrue . A high value
for OTNVG indicates that many solutions of Yknown are used to generate Ytrue .
This measure is defined through the expression
OT N V G := |{y|y ∈ Yknown ∩ Ytrue }|.
(9)
The third metric is called Overall Non-dominated Vector Generation Ratio
(ONVGR). It is the ratio of ONVG and |Ytrue |. More formally, this measure is
defined as follows:
ON V GR := ON V G/|Ytrue |.
(10)
We denote the error ratio for the solutions from Yknown that are not in Ytrue
by Error. The cardinality-based metric Error is defined as follows:
Error :=
where
ei :=
0
1
|Yknown
|
ei
i=1
ON V G
,
(11)
: if yi ∈ Yknown ∩ Ytrue
.
: otherwise
An Error value close to one means that only a small number of solution from
Yknown is in Ytrue . Error = 0 is desirable. Jaszkiewicz points out in [7] that
Multiobjective Scheduling of Jobs with Incompatible Families
217
cardinality-based performance measures are not enought to assess the approximation of a Pareto-front Ytrue by a Pareto-front Yknown . Thus, we use additionally distance-based performance measures. Veldhuizen [16] proposes the distance measure dist representing the average distance dist between solutions y ∈
Yknown and their closest solution y ′ ∈ Ytrue . The distance dist is calculated by
2
′)
d(y,
y
min
′
dist :=
y∈Yknown
y ∈Yknown
.
ON V G
(12)
Here the distance d(y, y ′ ) between a solutions y ∈ Yknown and y ′ ∈ Yknown is
given by
J
2
d2 (y, y ′ ) :=
(θk (fk (y) − fk (y ′ ))) ,
(13)
j=1
(fkmax
fkmin )−1 for j = 1, ..., J are weights
fkmax = fkmin then θk (fk (y) − fk (y ′ ))
where θk =
−
for normalizing the
objective value fk . If
= 1 holds. Furthermore, we use the distance metrics proposed by Jaszkiewicz in [7] that consider
the distance between the solutions in Ytrue and the closest neighbors in Yknown .
In this paper, we use the following distance performance metrics:
dist1 :=
1
|Ytrue |
{
y∈Ytrue
dist2 := max {
min
min
y ′ ∈Yknown
y∈Ytrue y ′ ∈Yknown
{d(y ′ , y)}},
(14)
{d(y ′ , y)}}.
Here the distance d(y, y ′ ) is calculated using equation (13). The distance dist1
shows the average distance between a solution y ∈ Ytrue and its closest neighbor
y ′ ∈ Yknown . The worst case is provided by the maximum distance between a
solution y ∈ Ytrue and the closest neighbor y ′ ∈ Yknown . It is covered by dist2 .
A measure for the uniformity of the approximation is determined by
dist3 = dist2 /dist1 .
(15)
If dist1 = 0 then dist3 = 1 holds.
4.3
Results
Table 2 presents the obtained computational results. Each row of Table 2 compares the solution front Yknown obtained by using NSGA-II and NSGA-II-LS
with the near-to-optimal Pareto-front Ytrue . A solution front Yknown is generated by the Pareto-optimal solutions out of all runs. For each solution front
Yknown we show the metrics introduced in Section 4.2. Furthermore, Table 2
shows the average computational time for a single run in seconds.
The first two rows in Table 2 provide an overall comparison of the two algorithms investigated in this paper. The values for each performance metric
218
D. Reichelt and L. Mönch
represent a average value over all test problems with the given specific of the
first row. B = 4 means for example that we take the average over all test instances with a batch size of four.
The results clearly show that NSGA-II-LS outperforms the generic NSGA-II
for all performance metrics. The overall results show that the values obtained for
ON V G in Yknown are similar for both approaches. Furthermore, the OTNVG
value for NSGA-II-LS points out that this approach contributes more solutions
for Ytrue than NSGA-II. The value for Error supports this observation. The distance metrics clearly identify the NSGA-II-LS solution front as the front with
the closest distance to Yknown . The smaller dist value for the NSGA-II-LS approach shows that all solutions from Yknown (NSGA-II-LS) have a closer distance
to the nearest neighbor in Ytrue than solutions in Yknown (NSGA-II). The approximation of Ytrue by Yknown is expressed by the distance measures dist1 ,
dist2 , and dist3 . These distance measures again show that Yknown (NSGA-II-LS)
outperforms Yknown (NSGA-II). The values dist1 and dist2 indicate that for the
NSGA-II-LS approach the average and maximum distance between a solution
in Ytrue and the closest solution in Yknown is smaller. The results for different
Table 2. Computational Results
overall
m=3
m=4
m=5
n=60
n=80
n=120
B=4
B=8
Algorithm O N V G O T N V G O N V G R
NSGA-II
4.30
2.15
1.01
NSGA-II LS 4.41
2.55
1.03
NSGA-II
3.71
1.89
1.02
NSGA-II LS 3.87
2.11
1.07
NSGA-II
4.50
2.21
1.01
NSGA-II LS 4.51
2.69
1.01
NSGA-II
4.70
2.34
1.00
NSGA-II LS 4.84
2.85
1.01
NSGA-II
4.32
2.21
0.99
NSGA-II LS 4.55
2.65
1.04
NSGA-II
4.19
2.07
1.00
NSGA-II LS 4.39
2.50
1.08
NSGA-II
4.41
2.16
1.04
NSGA-II LS 4.28
2.51
0.97
NSGA-II
4.18
2.04
1.03
NSGA-II LS 4.30
2.45
1.06
NSGA-II
4.43
2.25
0.99
NSGA-II LS 4.52
2.65
1.00
E rror
0.46
0.39
0.45
0.42
0.48
0.37
0.46
0.38
0.45
0.39
0.47
0.40
0.48
0.38
0.47
0.39
0.46
0.39
dist
0.12
0.10
0.14
0.13
0.12
0.09
0.11
0.09
0.11
0.09
0.13
0.11
0.14
0.10
0.13
0.11
0.11
0.10
dist1
0.19
0.16
0.21
0.19
0.19
0.14
0.18
0.14
0.17
0.14
0.20
0.17
0.21
0.16
0.21
0.17
0.17
0.14
dist2
0.41
0.34
0.41
0.36
0.41
0.33
0.42
0.33
0.38
0.29
0.42
0.37
0.44
0.36
0.44
0.36
0.39
0.32
dist3
2.60
2.56
2.30
2.20
2.69
2.69
2.81
2.80
2.64
2.64
2.49
2.61
2.67
2.44
2.45
2.40
2.75
2.73
T i me
9.41
9.45
10.66
10.70
9.24
9.27
8.34
8.37
6.09
6.10
9.28
9.31
12.87
12.93
11.93
11.96
6.90
6.93
values for m point out that the number of solutions in Yknown increases for
both approaches when m increases. Comparing the cardinality-based metrics
for different number of machines indicates that NSGA-II-LS performs better
than NSGA-II. The distance metrics also identify the NSGA-II-LS approach
as the superior approach. The distance-based performance measure results for
Multiobjective Scheduling of Jobs with Incompatible Families
219
NSGA-II-LS with different number of machines show that the distance between
Yknown (NSGA-II-LS) and Ytrue is similar for all m. Thus, the results obtained
here show that the number of machines has no impact on the solution quality.
Analyzing these facts we have to take into account that the near-to-optimal
Pareto-front is only generated by the nondominated solutions from NSGA-II
and NSGA-II-LS. A Pareto-front Yknown with solutions from more approaches
might lead to other results. The results for different number of jobs show that
when the problem becomes harder, i.e., in case of more jobs, NSGA-II-LS generates fewer solutions and has a lower contribution to Ytrue . We can conclude
that NSGA-II-LS outperforms NSGA-II for all investigated values of n. With
an increase of the batch size B the first phase generates fewer batches. Thus,
the decision space in the second phase becomes smaller. The results in Table 2
show that both approaches generate more solutions for B = 8. The values for
OT N V G show that both approaches contribute more solutions for Yknown with
a higher B. The distance-based performance measures show that a larger B has
only a small impact on the distance between Yknown and Ytrue .
Clearly, the additional local search causes a higher computational effort. A
comparison of the values for the column Time shows that NSGA-II-LS runs
slower than NSGA-II. Taking into account the higher solution quality obtained
by NSGA-II-LS this is a reasonable additional effort. An other remarkable fact
for the solutions in Ytrue is that the average TWT values of the solutions are
similar to the average TWT values obtained by using the single-objectice approach from [11].
288
140
282
280
139
138
278
137
276
136
274
75
80
85
90
95
TWT
100
Yknown(NSGA-II)
Yknown(NSGA-II-LS)
Ytrue
141
Makespan
284
Makespan
142
Yknown(NSGA-II)
Yknown(NSGA-II-LS)
Ytrue
286
105
110
135
200
220
240
260 280
TWT
300
320
340
(a) m=4, n=100, B=4, α=0.75, β=0.5 (b) m=5, n=100, B=4, α=0.75, β=0.25
Fig. 3. Comparison of Ytrue and Pareto-fronts Obtained by NSGA-II and NSGA-II-LS
Figure 3 shows the Pareto-fronts for two test problems. Each plot shows the
Pareto-fronts Yknown (NSGA-II), Yknown (NSGA-II-LS), and Ytrue . Both plots
emphasis the analytic results shown in Table 2. All solutions in Yknown (NSGA-II)
are dominated by solution in Yknown (NSGA-II-LS). Therfore, for both problems the near-to-optimal Pareto-front Ytrue is formed by solutions from
Yknown (NSGA-II-LS).
220
5
D. Reichelt and L. Mönch
Conclusions and Future Research
In this paper, we discuss a multiobjective scheduling problem for parallel batch
machines. We suggest the usage of a genetic algorithm in order to determine
Pareto efficient solution. Then, in a second step, we incorporate a local search
technique in the overall solution scheme in order to improve the solution quality. We present the results of computational experiments that show that the
NSGA-II combined with local search techniques outperforms the pure NSGA-II
algorithm.
There are several directions for future research. First of all it seems to be
possible to replace the genetic algorithm based approaches by other local search
techniques like simulated annealing or tabu search. It seems to be possible to consider more sophisticated local search techniques based on dominance properties.
Here, a swapping of jobs across batches based on their potential contribution to
TWT and/or makespan reduction should be done.
References
1. Carlyle, W.M., Kim, B., Fowler, J.W., Gel, E.S.: Comparison of Multiple Objective
Genetic Algorithms for Parallel Machine Scheduling Problems. In: Zitzler, E. (eds.):
Proceedings EMO 2001. Lecture Notes in Computer Science Vol. 1993 SpringerVerlag Berlin Heidelberg New York (2001) 473–485
2. Cochran, J.K., Horng, S.-M., Fowler, J.W.: A Multi Population Genetic Algorithm
to Solve Parallel Machine Scheduling Problems with Sequence Dependent Setups.
Computers & Operations Research 30(7) (2003) 1087–1102
3. Deb, K., Goel, T.:A Hybrid Multi-Objective Evolutionary Approach to Engineering
Shape Design. In: Zitzler, E. (eds.): Proceedings of the First International Conference on Evolutionary Multi-Criterion Optimization Springer-Verlag Berlin (2001)
385–399
4. Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A Fast and Elitist Multiobjective
Genetic Algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation
6(2) (2002) 182–197
5. Graham, R. L., Lawler, E. L., Lenstra, J. K., Rinnooy Kann, A. H. G.: Optimization
and Approximation in Deterministic Sequencing and Scheduling: a Survey. Annals
of Discrete Mathematics 5 (1979) 287–326
6. Gupta, A. K., Sivakumar, A. I.: On-time Delivery Pareto Controllability for Batch
Processing in Semiconductor Manufacturing. In: Proceedings 3rd International
Conference on Modeling and Analysis of Semiconductor Manufacturing Singapore
(2005) 13–20
7. Jaszkiewicz, A.: Evaluation of Multiple Objective Metaheuristics. In: Metaheuristics for Multiobjective Optimisation, Lecture Notes in Economics and Mathematical Systems Vol. 535 Springer-Verlag Berlin (2004) 65–89
8. Jaszkiewicz, A.: MOMHLib++: Multiple Objective MetaHeuristics Library in
C++. http://www-idss.cs.put.poznan.pl/∼jaszkiewicz/MOMHLib (2005)
9. Mathirajan, M., Sivakumar, A.I.: Scheduling of Batch Processors in Semiconductor Manufacturing - a Review. Singapure MIT Alliance (SMA) 2003 Symposium National University of Singapure https://dspace.-mit.edu/retrieve/
3521/IMST021 (2003)
Multiobjective Scheduling of Jobs with Incompatible Families
221
10. Michalewicz, Z.: Genetic Algorithms + Data Structures = Evolution Programs.
3rd edn. Springer-Verlag, Berlin Heidelberg New York (1996)
11. Mönch, L., Balasubramanian, H., Fowler, J. W., Pfund, M.: Heuristic Scheduling
of Jobs on Parallel Batch Machines with Incompatible Job Families and Unequal
Ready Times. Computers & Operations Research 32 (2005) 2731–2750
12. Murata, T., Ishibuchi, H., Tanaka, H.: Multi-objective Genetic Algorithm and its
Application to Flow Shop Scheduling. Computers and Industrial Engineering 30(4)
(1996) 957–968
13. Pinedo, M.: Scheduling: Theory, Algorithms, and Systems. 2nd edition Prentice
Hall New Jersey (2002)
14. Potts, C. N., Kovalyov, M. Y.: Scheduling with Batching: a Review. European
Journal of Operational Research 120 (2000) 228–249
15. T’kindt, V., Billaut, J.-C.: Multicriteria Scheduling: Theory, Models and Algorithms. Springer-Verlag, Berlin Heidelberg New York (2002)
16. Van Veldhuizen, D. A.: Multiobjective Evolutionary Algorithms: Classifications,
Analyses, and New Innovations. Air Force Institute of Technology Department of
Electrical and Computer Engineering Ohio (1999)
A Memetic Algorithm for the Biobjective Minimum
Spanning Tree Problem
Daniel A. M. Rocha, Elizabeth F. Gouvêa Goldbarg, and Marco César Goldbarg
Depto de Informática e Matemática Aplicada,
Universidade Federal do Rio Grande do Norte,
Campus Universitário, 59072-970, Natal, Brazil
[email protected]
{beth, gold}@dimap.ufrn.br
Abstract. Combinatorial optimization problems with multiple objectives are, in
general, more realistic representations of practical situations than their counterparts with a single-objective. The bi-objective minimum spanning tree problem
is a NP-hard problem with applications in network design. In this paper a memetic algorithm is presented to solve this problem. A computational experiment
compares the proposed approach with AESSEA, a known algorithm of the
literature. The comparison of the algorithms is done with basis on the binary
additive ε-indicator. The results show that the proposed algorithm consistently
produces better solutions than the other method.
1 Introduction
Combinatorial optimization problems with multiple objectives are natural extensions
of single-objective problems. Although single-objective combinatorial problems
model a great number of applications, in many real situations they can be very simplistic representations, since they can not deal with conflicting points equivalent to the
multiple objectives. A problem that arises when considering more suitable models to
represent actual applications, as the case of multiple objectives, is that, in general,
those extensions have an increasing in complexity with relation to their counterparts
with a single-objective. This is the case, for instance, of the Minimum Spanning Tree
and the Linear Assignment Problem [5].
The general multi-objective minimization problem (with no restrictions) can be
stated as:
“minimize” f(x) = (f1(x), ..., fk(x)), subjected to x ∈ X
where, x is a discrete value solution vector and X is a finite set of feasible solutions.
Function f(x) maps the set of feasible solutions X in ℜk, k > 1 being the number of
objectives.
Once there is not only a single solution for the problem, the word minimize has to
be understood in another context. Let x, y ∈ X, then x dominates y, written x ; y, if
and only if ∀i, i=1,...k, fi(x) ≤ fi(y) and ∃i, such that fi(x) < fi(y). The set of optimal solutions X* ⊆ X is called Pareto optimal. A solution x* ∈ X* if there is no x ∈ X such
that x ; x*. The non-dominated solutions are said also to be efficient solutions. Thus,
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 222 – 233, 2006.
© Springer-Verlag Berlin Heidelberg 2006
A Memetic Algorithm for the Biobjective Minimum Spanning Tree Problem
223
to solve a multi-criteria problem, one is required to find the set of efficient solutions.
Solutions of this set can be divided in two classes: the supported and nonsupported efficient solutions. The supported efficient solutions can be obtained by solving the
minimization problem with a weighted sum of those objectives. More formally [6],
Minimize
∑ λ f (x ) , where ∑ λ
i
i
i =1,..., k
i
= 1 , λi > 0, I = 1,…,k
i =1,..., k
The nonsupported efficient solutions are those which are not optimal for any
weighted sum of objectives. This set of solutions is a major challenge for researchers.
On the last three decades, a great effort has been dedicated to the research of multicriteria problems. Some classes of exact algorithms are listed in the paper of Ehrgott
and Gandibleux [6], where a number of applications are also reported.
Since exact approaches are able to solve only small instances within a reasonable
computing time, approximation algorithms, mainly based upon metaheuristic techniques, have been proposed to solve multi-criteria problems [7]. Among those
approaches, the Evolutionary Algorithms are one of the most popular. A survey of
evolutionary algorithms for multi-objective problems is presented by Coello [4].
The Memetic Algorithms, introduced by Moscato [20], are evolutionary algorithms
which unify the diversification potential of Genetic Algorithms with methods specialized in intensify the search in certain regions of the solution space. It has been
observed that for a wide range of applications those algorithms perform better than
classical Genetic Algorithms [19].
Section 3 presents a Memetic Algorithm to solve the Biobjective Minimum Spanning Tree Problem, presented in section 2. A direct encoding of the trees and a
crossover operator based upon the work of Raidl [24] are utilized. A Tabu Search
procedure is proposed, as part of the main algorithm, as an intensification tool.
A computational experiment compares the proposed algorithm with AESSEA, another evolutionary approach proposed previously for the same problem [16]. The
algorithms are applied to 39 instances with number of nodes ranging from 10 to 500,
generated in accordance with the method introduced by Knowles [14].
A challenging issue in multi-criteria optimization is to define quantitative measures
for the performance of different algorithms. Zitzler et al. [28] proposed a general binary indicator which is utilized in this work for the task of algorithms comparison.
Their binary additive ε-indicator is considered to compare the quality of the sets of
solutions generated by each algorithm.
Finally some concluding remarks are drawn in section 5.
2 The Multi-objective MST
A spanning tree of a connected undirected graph G = (N, E) is an acyclic subgraph of
G with n - 1 edges, where n = |N|. If G is a weighted graph, a minimum spanning tree,
MST, of G is spanning tree for which the summation of the weights of its edges is
minimum over all spanning trees of G. The MST is a well known combinatorial optimization problem with applications in distinct areas such as, networks design and
clustering. Its theoretical importance comes from the fact that it may be utilized in approximation algorithms for other combinatorial optimization problems such as the
224
D.A.M. Rocha, E.F.G. Goldbarg, and M.C. Goldbarg
Traveling Salesman Problem [12] and the Steiner Tree [13]. The MST is solvable in
polynomial time and the classical algorithms presented for it are due to Prim [21],
Kruskal [18] and Borüvka [3]. The history of this problem is presented in the work of
Graham and Hell [11]. A survey of the MST problem and algorithms is presented in
the paper of Bazlamaçci and Hindi [2].
The MST problem is polynomial, but constraints often render it NP-hard, as described by Garey and Johnson [9]. Examples include the degree-constrained minimum
spanning tree, the maximum-leaf spanning tree, and the shortest-total-path-length
spanning tree problems.
Another difficult variant of this problem is the Multi-criteria Minimum Spanning
Tree, mc-MST. Given a graph G = (N,E), a vector of non negative weights
wij = ( wij1 ,..., wijk ), k > 1, is assigned to each edge (i,j) ∈ E. Let S be the set of all possible spanning trees, T = (NT,ET), of G and W = (W1,..., Wk), where
Wq =
∑w
q
ij
, q=1,..,k.
( i , j )∈ET
The problem seeks S* ⊆ S, such that T*∈ S* if and only if ∃
/ T ∈ S, such that T
; T*. In this work the biobjective problem is considered, although the proposed algorithm can be adapted to consider k> 2 objectives.
An important application of the mc-MST with two objectives is in the area of network design, where the edge weights can be associated, for instance, to reliability restrictions and installation costs.
Aggarwal et al. [1] showed that the 0-1 knapsack problem can be polynomially reduced to the bicriterion spanning tree. Therefore, the biobjective spanning tree problem belongs to the NP-hard class.
Recently, a number of works have been dedicated to this problem [16], [23], [26],
[27]. Among the heuristic approaches presented for the problem, two evolutionary algorithms were introduced by Zhou and Gen [27] and Knowles and Corne [16].
Zhou and Gen[27] present a genetic algorithm which solution representation is
based upon Prüfer’s code [22]. The algorithm is applied to instances with n between
10 and 50 and a comparison is done with an enumeration method proposed in the
same work. Later, Knowles and Corne [17] showed that the enumeration algorithm
was not correct.
Knowles and Corne [16] present the algorithm AESSEA (Archived Elitist Steady
State Evolutionary Algorithm) in two versions: AESSEA+Prüfer and AESSEA+
Direct/RPM. The first utilizes the Prüfer method to encode solutions and the operators
suggested in the work of Zhou and Gen[27]. The latter utilizes versions of the encoding and operators presented by Raidl [24] for the degree constrained minimum spanning tree problem. The algorithms are tested in a set of instances with n ranging from
10 and 50. The experiments show that the second version of AESSEA is more efficient than the first version.
A discussion of representations for minimum spanning tree problems is presented
by Raidl [24] and Raidl and Julstrom [25].
A Memetic Algorithm for the Biobjective Minimum Spanning Tree Problem
225
3 The Algorithm
The method proposed in this paper to solve the biobjective MST is a genetic algorithm hybridized with a tabu search procedure. The population, with size #size_pop, is
generated in two steps. At first, at most #max_rmckrus individuals are generated with
a random greedy method based upon Kruskal’s algorithm for the single-objective
MST [18]. The other part of the population is generated with the RandomWalk
method [24].
Kruskal’s algorithm is modified to deal with edges with two weights by means of a
scalarizing vector λ. Thus the two weights of each edge (i,j) are replaced by a single
value resultant from the inner product λwij. The version of Kruskal’s algorithm implemented in this work is based upon the constructive phase of GRASP [8] where, for
each decision step, a restricted candidate list, RCL, is formed and an element of this
list is randomly chosen to be added to the solution. A high level pseudo-code of the
algorithm r-mc-Kruskal is given in the following. It receives two parameters: the scalarizing vector λ and a random number, num, generated in the interval [0,0.1]. The
edges are sorted in non-decreasing order of their values (scalarized weights) in a list
L. Let e1 the edge with the minimum associated value a1, then the restricted candidate
list is built with edges ej such that their associated values aj ≤ (1+num)a1. The algorithm, iteratively, constructs this list, chooses randomly an edge of the RCL and removes this edge from L. If a cycle is not created with the inclusion of the chosen
edge, then it is add to the solution. The algorithm stops when a spanning tree is
obtained.
procedure r-mc-Kruskal(λ,num)
L ← sort(E,λ)
repeat
w ← weight of the first edge of L
RCL ← restricted_list(L,w,num)
e ← random_choice(RCL)
if (Sol ∪ {e}) is acyclic
then
Sol ← Sol ∪ {e}
L ← L\{e}
until (|Sol| = n-1)
A fixed number of different scalarizing vectors, #max_rmckrus, generates solutions
for the initial population. If the same solution is generated more than once (by different scalarizing vectors) only one of them remains in the population.
226
D.A.M. Rocha, E.F.G. Goldbarg, and M.C. Goldbarg
The memetic algorithm keeps an archive with non-dominated solutions, Global_Arc.
The number of non-dominated solutions in this archive is not limited. Since a solution is
generated the algorithm checks Global_Arc and if it is necessary, the archive is updated
with the new solution. If the new generated solution, s, is non-dominated in relation to
the solutions in Global_Arc, it is added to the archive. If s dominates any solutions in
Global_Arc, then those are removed.
Different scalarizing vectors are generated and passed to r-mc-Kruskal. The values
of λ’s components varies between (0,1) and (1,0) in intervals with fixed size given by
1/#max_rmckrus.
Unlike mc-Prim [16], r-mc-Kruskal is not guaranteed to generate only Pareto optimal solutions, since the edge with the lowest assigned value is not necessarily chosen
during the iterations. However, this method is able to create non supported efficient
solutions, due to the same reason.
The pseudo-code of the memetic algorithm, Mem-MC-MST is given in the following. Individuals are encoded with the direct representation presented by Raidl [24].
The algorithm runs for a fixed number of iterations, #max_gen. At the beginning of
each iteration, a tabu search procedure is called for the whole population. This search
procedure is described below. An auxiliary population, P’, initially empty, is created
to keep the offspring of the current generation. Each generation, #size_pop children
are created.
The selection scheme is a variation of the binary tournament [10]. Two pairs of individuals are randomly chosen from the current population, each of them to compete
in one criterion. That is, the first and second parents of a given child are the winners
of the first and second tournaments in respect to one and other criterion. This is implemented in function binary_tournament().
Parents are mated by means of the edge-crossover [24], generating one offspring.
The inclusion of the new generated individual in P’ is decided regarding two
conditions. First, the solution encoded on the individual must be not dominated by the
solutions of Global_Arc. Function belong(x,arc) verifies if a solution x is nondominated with respect to the solutions of the file arc, returning a “true” value if it
occurs. Second, the individual must be in a less crowd grid location than both parents.
Function m_grid(arc,x,y) returns a “true” value if solution x is in a less crowd region
with respect to the solutions of arc than solution y. This strategy was introduced by
Knowles and Corne [15], where it is described in details. If those conditions are satisfied then Global_Arc is updated with the new offspring in function update(). Otherwise, the offspring is discarded and a new tentative is done. At most, #max_offsp
tentatives are tried. If no offspring satisfies those conditions, a solution of Global_Arc
is chosen at random and copied to offspring. The offspring is included in the auxiliary
population.
When P’ is complete, it replaces the current population. Finally, the algorithm verifies convergence by checking if Global_Arc has not been updated for #max_it iterations. If it is the case, then half of the current population is replaced by new solutions
generated by the RandomWalk method [24]. The substituted parcel is chosen at random. The following summarizes the memetic algorithm.
A Memetic Algorithm for the Biobjective Minimum Spanning Tree Problem
227
Algorithm Mem-MC-MST
P ← generate_pop(#max_rmckrus,#size_pop)
for i ← 1 to #max_gen do
for each p ∈ P do
Local_Arc ← {s | s ∈ Global_Arc and s ;
/ p}
p ← tabu_search(p,Local_Arc)
end_for
P’ ← {}
for j ←1 to #size_pop do
q ← 0
do
Choose at random p1, p2, p3, p4 from P
parent1 ← binary_tournament(p1,p2,objective_1)
parent2 ← binary_tournament(p3,p4,objective_2)
offspringj ← crossover(parent1,parent2)
if belong(offspringj,Global_Arc) or
(m_grid(Global_Arc, offspringj,parent1) and
m_grid(Global_Arc,offspringj,parent2)), then
q ← #max_offsp + 1
update(Global_Arc,offspringj)
else q ← q + 1
while(q < #max_offsp)
if q = #max_offsp, then
offspringj ← random_choice(Global_Arc)
P’ ← P’∪ {offspringj}
end_for
P ← P’
if |Global_Arc| does not change in #max_it iterations, then Diversify(P)
end_for
return(Global_Arc)
228
D.A.M. Rocha, E.F.G. Goldbarg, and M.C. Goldbarg
procedure tabu_search(s,Local_Arc)
tabu_list ← {}
repeat
r ← 0
do
r ← r+1
Choose
from s
at
random
a
pair
of
edges
(vi,vi+1),(vj,vj+1)
remove((vi,vi+1),(vj,vj+1)) from s
relink(vi,vj,vi+1,vj+1), producing s’
if s’ ; s then s ← s’
else
if ((((vi,vj) ∉ tabu_list) and ((vk,vr)∉ tabu_list))
and m_grid(Local_Arc,s’,s)) then
s ← s’
while ( r < #max_neighbors ) and ( s not modified )
if s was modified then
include(tabu_list,(vi,vj),(vk,vr),#tabutenure)
update(Local_Arc,s)
update(Global_Arc,s)
until ((#max_tabu iterations) or (s not modified))
The tabu search procedure receives two parameters: a solution s and an archive
with the solutions of Global_Arc that do not dominate s.
The neighborhood structure considers s’ a neighbor of solution s, if s’ is generated
by the removal of two edges from s, (vi,vi+1) and (vj,vj+1), i+1<j, and the re-linking of
those terminal vertices. There is only one way to re-link the terminal vertices and it is
implemented in function relink(). The function checks whether the inclusion of edge
(vi,vj) creates a cycle or not. If a cycle is not created then edges (vi,vj) and (vi+1,vj+1)
are added, otherwise the edges included in the solution are (vi,vj+1) and (vi+1,vj).
If s’ dominates s, then s is updated with the new current solution. Otherwise, the
algorithm verifies if none of the two edges that entered in s’ have a “tabu” status and
if s’ is in a less crowd region of the location grid regarding the solutions in Local_Arc. If it is the case, then s is also updated with s’.
To speed the process, on each step, at most #max_neighbors solutions are generated and two edges that leave a certain solution s are chosen at random.
A Memetic Algorithm for the Biobjective Minimum Spanning Tree Problem
229
If s is modified then the tabu list, tabu_list, is updated with the edges that were removed from s. These edges stay with a “tabu” status for #tabutenure iterations. If
necessary, the archives of solutions are also updated.
4 Computational Experiments
The proposed algorithm was compared with the algorithm called
AESSEA+Direct/RPM presented by Knowles and Corne [16]. The algorithm was implemented in C and both algorithms of the computational test ran on a Pentium IV
(2.8 GHz and 1 Gb of RAM) with Linux. The algorithms were applied to thirty-nine
instances generated in accordance with the method described in the work of Knowles
[14]. Three groups of thirteen instances belonging to the classes concave, correlated
and anti-correlated were generated as complete graphs with two objectives. Each class
has an instance with n = 10, 25 and 50, and two instances with n = 100, 200, 300, 400
and 500. The correlated and anti-correlated instances require a correlation factor α
and the concave instances require two parameters, ζ and η, to be generated. Table 1
summarizes the parameters utilized to generate the set of test instances.
Table 1. Parameters to generate the instances for the computational experiment
Instances
10
25
50
100_1
100_2
200_1
200_2
300_1
300_2
400_1
400 _2
500_1
500_2
Concave
ζ
0.1
0.05
0.03
0.01
0.02
0.05
0.08
0.03
0.05
0.025
0.04
0.02
0.03
η
0.25
0.2
0.125
0.02
0.1
0.2
0.1
0.1
0.125
0.125
0.2
0.1
0.15
Correlated
α
0.7
0.7
0.7
0.3
0.7
0.3
0.7
0.3
0.7
0.3
0.7
0.3
0.7
Anticorrelated
α
-0.7
-0.7
-0.7
-0.3
-0.7
-0.3
-0.7
-0.3
-0.7
-0.3
-0.7
-0.3
-0.7
The parameters for AESSEA reported by its authors [16] were utilized in the experiment. The following parameters were utilized in Mem-MC-MST:
#max_rmckrus = 110, #size_pop = 150, #max_gen = 40, #max_offsp = 10,
#max_it = 6, #max_neighbors = 5, #max_tabu= 30, #tabutenure = 5. The archive with
non-dominated solution has unlimited size and the adaptive grid has 1024 positions.
Ten independent runs of each algorithm were done for each instance.
The comparison of the sets of solutions generated by each algorithm was done with
basis on the binary additive ε-indicator, Iε+[28]. Given two sets of solutions A and B, a
230
D.A.M. Rocha, E.F.G. Goldbarg, and M.C. Goldbarg
value Iε+(A,B) < 0, indicates that every solution of B is strictly dominated by at least
one solution of A. Values Iε+(A,B) ≤ 0 and Iε+(B,A) > 0, indicates that every solution of
B is weakly dominated by at least one solution of A. Values Iε+(A,B) > 0 and
Iε+(B,A) > 0, indicates that neither A weakly dominates B nor B weakly dominates A.
The results of the comparisons are showed in table 2 for correlated instances, table 3
for anti-correlated instances and table 4 for concave instances. Columns of the three
tables show the instance, the indicators Iε+(A,B) and Iε+(B,A), where A denotes MemMC-MST and B denotes AESSEA, the runtime and the number non-dominated solutions found by both algorithms.
From the thirteen instances of the class correlated, the proposed algorithm strictly
dominates AESSEA in all instances with n = 100,…, 500. For instances with n = 25
and 50, Mem-MC-MST weakly dominates the other algorithm and for the instance
with n = 10, the performance of the algorithms is incomparable. Runtimes of the proposed memetic algorithm are, in the majority, much smaller than the other algorithm.
Moreover, the number of non-dominated solutions generated by the proposed algorithm is superior to the other. In average, the proposed algorithm finds six times more
non-dominated solutions and runs in a computational time eleven times less than the
other algorithm, regarding the class of correlated instances.
Table 2. Comparison of Mem-MC-MST and AESSEA on correlated instances
Instance
Iε+(A,B)
Iε+(B,A)
10
25
50
100_1
100_2
200_1
200_2
300_1
300_2
400_1
400 _2
500_1
500_2
0.0000
0.0000
0.0000
-0.1439
-0.0609
-0.2362
-0.1485
-0.3516
-0.2566
-0.4813
-0.2596
-0.3576
-0.3774
0.0000
0.0107
0.1381
0.6222
0.3335
1.0316
0.6006
1.7338
1.3532
2.2925
1.6500
2.3219
1.2539
Mem-MC-MST
Time
#solutions
(s)
2.97
24
7.40
53
26.68
412
45.83
620
55.48
669
88.31
710
90.12
667
150.60
753
140.94
616
212.41
707
212.62
595
308.34
707
309.11
608
AESSEA
Time
#solutions
(s)
4.42
24
4.92
51
6.70
104
7.95
119
7.55
99
50.90
155
50.92
84
556.02
79
525.62
77
3185.00
84
3193.55
50
5666.54
159
5675.69
101
For the anti-correlated instances, the proposed algorithm strictly dominates
AESSEA in seven instances, is weakly dominated by the other algorithm on the instance with n = 10, and for the remaining instances the performance of both algorithms is incomparable. In average, the proposed algorithm finds three times more
non-dominated solutions than the other algorithm and spends 50% less time.
A Memetic Algorithm for the Biobjective Minimum Spanning Tree Problem
231
Table 3. Comparison of Mem-MC-MST and AESSEA on anti-correlated instances
Instance
Iε+(A,B)
Iε+(B,A)
10
25
50
100_1
100_2
200_1
200_2
300_1
300_2
400_1
400 _2
500_1
500_2
0.0275
0.1499
0.0419
-0.2058
-0.1052
-0.1082
0.0168
-0.2191
0.0818
-0.7082
0.0219
-0.6249
-0.0962
0.0000
0.1923
0.6827
1.9306
1.9886
2.6343
3.2005
4.3289
4.9293
5.4709
6.6840
6.5998
6.6972
Mem-MC-MST
Time
#solutions
(s)
33.15
109
144.03
587
274.16
944
325.51
980
578.59
1062
726.97
1215
1136.79
1307
991.59
1243
1456.53
1327
1351.85
1442
1946.63
1381
1330.17
1440
1999.35
1543
AESSEA
Time (s) #solutions
5.31
12.94
23.05
23.21
28.26
69.95
79.31
542.96
604.51
2472.03
2488.57
6712.68
6456.46
111
414
412
376
393
305
476
366
357
326
431
436
461
Finally, for the concave instances, the proposed algorithm strictly dominates AESSEA
in all instances with n =200,…,500, weakly dominates the other algorithm on the instance 100_1, and for the remaining instances the performance of both algorithms is
incomparable. In average, the proposed algorithm finds 65% more non-dominated solutions than the other algorithm and spends 3 times less computational time.
Table 4. Comparison of Mem-MC-MST and AESSEA on concave instances
Instance
Iε+(A,B)
Iε+(B,A)
10
25
50
100_1
100_2
200_1
200_2
300_1
300_2
400_1
400 _2
500_1
500_2
0.0000
0.0078
0.0063
0.0000
0.0023
-0.0329
-0.0005
-0.0354
-0.0278
-0.0462
-0.0610
-0.0519
-0.0747
0.0000
0.0132
0.0315
0.0083
0.0816
0.2231
0.0315
0.2271
0.1545
0.2860
0.4353
0.2627
0.3523
Mem-MC-MST
Time
#solutions
(s)
4.63
46
21.97
322
25.74
415
37.94
392
34.13
426
69.75
343
86.03
319
120.64
360
117.65
272
171.00
340
174.06
352
241.23
333
247.26
355
AESSEA
Time
#solutions
(s)
4.61
46
6.68
239
11.57
284
15.88
313
14.32
248
56.83
177
57.71
238
557.82
170
563.52
208
2155.66
125
2246.88
261
5990.03
172
6387.97
104
232
D.A.M. Rocha, E.F.G. Goldbarg, and M.C. Goldbarg
5 Conclusions
This paper presented a new memetic algorithm for the biobjective minimum spanning
tree problem. A randomized greedy method is proposed to generate part of the initial
population and tabu search procedure is introduced as an intensification tool for the
evolutionary algorithm. A variant of the known binary tournament selection scheme is
utilized in the algorithm.
The solution set generated by the proposed algorithm is compared with the solution
set generated by a known algorithm, AESSEA, with basis on a general indicator, the
binary additive ε-indictor.
The results of the computational experiments show that the proposed algorithm
performs better than the other algorithm, regarding solution quality, mainly in large
instances. In average, the algorithm also finds a higher number of solutions and runs
in less time than the comparison algorithm.
As future works, the authors intend to investigate the use of other neighborhood
structures for the tabu search methods, examines extensions of the selection scheme to
problems with more objectives and extend the proposed approach to the degree constrained multiobjective minimum spanning tree problem.
Acknowledgements
The authors want to thank Dr Joshua Knowles who kindly furnished the AESSEA
code. This research was partially funded by CNPq.
References
1. Aggarwal, V., Aneja, Y., Nair, K.: Minimal Spanning Tree Subject to a Side Constraint.
Computers and Operations Research Vol. 9 (1982) 287-296
2. Bazlamaçci, C.F., Hindi, K.S.: Minimum-weight Spanning Tree Algorithms A Survey and
Empirical Study. Computers and Operations Research Vol. 28 (2001) 767-785
3. Chartrand, G., Oellermann, O.R.: Applied and Algorithmic Graph Theory. McGraw-Hill
(1993)
4. Coello, C. A.: A Comprehensive Survey of Evolutionary-based Multiobjective Optimization Techniques. Knowledge and Information Systems Vol.1 (1999) 269-308
5. Ehrgott, M.: Approximation Algorithms for Combinatorial Multicriteria Optimization
Problems. International Transactions in Operational Research Vol. 7(2000) 5-31
6. Ehrgott, M., Gandibleux, X.: A Survey and Annotated Bibliography of Multiobjective
Combinatorial Optimization. OR Spektrum Vol. 22 (2000) 425-460
7. Ehrgott, M., Gandibleux, X.: Approximative Solution Methods for Multiobjective Combinatorial Optimization. Top Vol. 12, N. 1 ( 2004) 1-89
8. Feo, T. A., Resende, M. G. C.: Greedy Randomized Adaptive Search Procedures. Journal
of Global Optimization Vol. 6 (1995) 109-133
9. Garey, M. R., Johnson, D. S.: Computers and Intractability: A Guide to the Theory of NPcompleteness. Freeman, New York (1979)
A Memetic Algorithm for the Biobjective Minimum Spanning Tree Problem
233
10. Goldberg, D. e Deb, K.: A Comparative Analysis of Selection Schemes Used in Genetic
Algorithms, In: Rawlins, G.J.E (Ed.) Foundations of Genetic Algorithms. Morgan Kaufmann Publishers (1991) 69-93
11. Graham, R.L., Hell, P.: On the History of the Minimum Spanning Tree Problem. Ann.
History of Comp. Vol. 7 (1985) 43-57
12. Gutin, G., Punnen, A. P.: Traveling Salesman Problem and Its Variations, In: Kluwer Academic Publishers (2002)
13. Hakami, S. L.: Steiner’s Problem in Graphs and Its Implications. Networks Vol. 1 (1971)
113-133
14. Knowles, J.D.: Local-Search and Hybrid Evolutionary Algorithms for Pareto Optimization. PhD Thesis. Department of Computer Science, University of Reading, Reading, UK
(2002)
15. Knowles, J. D., Corne, D. W.: Approximating the Nondominated Front Using the Pareto
Archived Evolution Strategy. Evolutionary Computation Vol. 8, Issue 2 (2000) 149-172
16. Knowles, J. D., Corne, D. W.: A Comparison of Encodings and Algorithms for Multiobjective Spanning Tree Problems. Proceedings of the 2001 Congress on Evolutionary Computation (CEC01) (2001) 544-551
17. Knowles, J. D., Corne, D. W.: Enumeration of Pareto Optimal Multi-criteria Spanning
Trees – A Proof of the Incorrectness of Zhou and Gen’s Proposed Algorithm. European
Journal of Operational Research Vol. 143 (2002) 543-547
18. Kruskal, J.B.: On the Shortest Spanning Subtree of a Graph and the Travelling Salesman
Problem. Pric. AMS 7 (1956) 48-50
19. Merz, P., Freisleben, B.: Fitness Landscape Analysis and Memetic Algorithms for the
Quadratic Assignment Problem. IEEE Transactions on Evolutionary Computation Vol. 4,
N. 4 (2000) 337-352
20. Moscato, P.: On Evolution, Search, Optimization, Genetic Algorithms and Martial Arts:
Towards Memetic Algorithms. In: Caltech Concurrent Computation Program, C3P Report
826 (1989)
21. Prim, R.C.: Shortest Connection Networks and Some Generalizations. Bell Systems
Techn. J. 36 (1957) 1389-1401
22. Prüfer, H.: Neuer Beweis Eines Satzes Uber Permutationen. Arch. Math. Phys. Vol. 27
(1918) 742-744
23. Ramos, R. M., Alonso, S., Sicilia, J., Gonzáles, C.: The Problem of the Biobjective Spanning Tree. European Journal of Operational Research Vol. 111 (1998) 617-628
24. Raidl, G.R.: An Efficient Evolutionary Algorithm for the Degree-constrained Minimum
Spanning Tree Problem. Proceedings of the 2000 Congress on Evolutionary Computation
(CEC 2000), IEEE Press (2000) 104-111
25. Raidl, G., Julstrom, B.A.: Edge Sets: An Efficient Evolutionary Coding of Spanning Trees.
IEEE Transactions on Evolutionary Computation Vol 7, N. 3 (2003) 225-239.
26. Steiner, S., Radzik, T.: Solving the Biobjective Minimum Spanning Tree Problem using a
k-best Algorithm. Technical Report TR-03-06, Department of Computer Science, King’s
College London (2003)
27. Zhou G., Gen, M.: Genetic Algorithm Approach on Multi-Criteria Minimum Spanning
Tree Problem. European Journal of Operational Research Vol. 114 (1999) 141-152
28. Zitzler E., Thiele, L., Laumanns, M., Fonseca, C. M., Fonseca, V.G.: Performance Assessment of Multiobjective Optimizers: An Analysis and Review. IEEE Transactions on
Evolutionary Computation Vol. 7, N. 2 (2003) 117-132
A Comparative Study of Ant Colony
Optimization and Reactive Search for Graph
Matching Problems
Olfa Sammoud1,2 , Sébastien Sorlin2 ,
Christine Solnon2 , and Khaled Ghédira1
1
SOIE, Institut Supérieur de Gestion de Tunis,
41 rue de la Liberté, Cité Bouchoucha, 2000 Le Bardo, Tunis
{olfa.sammoud, khaled.ghedira}@isg.rnu.tn
2
LIRIS, CNRS UMR 5205, bât. Nautibus, University of Lyon I,
43 Bd du 11 novembre, 69622 Villeurbanne cedex, France
{sammoud.olfa, sebastien.sorlin, christine.solnon}@liris.cnrs.fr
Abstract. Many applications involve matching two graphs in order to
identify their common features and compute their similarity. In this paper, we address the problem of computing a graph similarity measure
based on a multivalent graph matching and which is generic in the sense
that other well known graph similarity measures can be viewed as special
cases of it. We propose and compare two different kinds of algorithms:
an Ant Colony Optimization based algorithm and a Reactive Search. We
compare the efficiency of these two algorithms on two different kinds of
difficult graph matching problems and we show that they obtain complementary results.
1
Introduction
Graphs are often used to model structured objects: vertices represent object
components while edges represent binary relations between components. For example, graphs are used to model images [3, 5], design objects [10], molecules
or proteins [1], course timetables [9]. In this context, object recognition, classification and identification involve comparing graphs, i.e., matching graphs to
identify their common features [11]. This may be done by looking for an exact
graph or subgraph isomorphism in order to show graph equivalence or inclusion.
However, in many applications, one looks for similar objects and not identical
ones and exact isomorphisms cannot be found. As a consequence, error-tolerant
graph matchings such as the maximum common subgraph and the graph edit
distance have been proposed [6, 7, 8, 11]. Such matchings drop the condition that
the matching must preserve all vertices and edges: the goal is to find a "best"
matching, i.e., one which preserves a maximum number of vertices and edges.
Most recently, three different papers ([3, 5, 10]) proposed to go one step further by introducing multivalent matchings, where a vertex in one graph may be
matched with a set of vertices of the other graph in order to associate one single
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 234–246, 2006.
c Springer-Verlag Berlin Heidelberg 2006
A Comparative Study of Ant Colony Optimization and Reactive Search
235
component of an object to a set of components of another object. This allows
one to compare objects described at different levels of granularity such as underor over- segmented images [3], or a model of an image having a schematic aspect
with real and over-segmented images [5].
We more particulary focus on the multi-labeled graph similarity measure of
[10] as it has been shown in [20] that it is more general than the two other ones
proposed in [3, 5]. Indeed, it is parameterized by similarity functions that allow
one to easily express problem-dependent knowledge and constraints.
In section 2, we briefly present the generic graph similarity measure of [10]. In
section 3 and 4, we propose two algorithms based on two different approaches for
computing this graph similarity measure. The first one is based on Ant Colony
Optimization (ACO) and the second one is based on Reactive Search (RS). In
section 5, we experimentally compare the two proposed algorithms on two kinds
of graph matching problems. Finally, we conclude on the complementarity of
these two algorithms and we discuss some further work.
2
A Generic Similarity Measure for Multi-labeled Graphs
Definition of Multi-labeled Graphs. A directed graph is defined by a couple
G = (V, E), where V is a finite set of vertices and E ⊆ V × V is a set of
directed edges. Vertices and edges may be associated with labels that describe
their properties. Without loss of generality, we assume that each vertex and each
edge has at least one label. Given a set LV of vertex labels and a set LE of edge
labels, a multi-labeled graph is defined by a triple G = V, rV , rE such that:
– V is a finite set of vertices,
– rV ⊆ V × LV is a relation associating labels to vertices, i.e., rV is the set of
couples (vi , l) such that vertex vi is labeled by l,
– rE ⊆ V × V × LE is a relation associating labels to edges, i.e., rE is the set
of triples (vi , vj , l) such that edge (vi , vj ) is labeled by l. Note that the set
of edges of the graph can be defined by E = {(vi , vj )|∃l, (vi , vj , l) ∈ rE }.
Similarity Measure. We now briefly describe the graph similarity measure
introduced in [10]. We refer the reader to the original paper for more details.
The similarity measure is computed with respect to a matching of the vertices
of the two graphs. We consider here a multivalent matching, i.e., each vertex
of one graph is matched with a –possibly empty– set of vertices of the other
graph. More formally, a multivalent matching of two multi-labeled graphs G =
V, rV , rE and G′ = V ′ , rV ′ , rE ′ is a relation m ⊆ V ×V ′ which contains every
couple (v, v ′ ) ∈ V × V ′ such that vertex v is matched with vertex v ′ .
Once a multivalent matching is defined, the next step is to identify the set of
features that are common to the two graphs with respect to this matching. This
set contains all the features from both G and G′ whose vertices (resp. edges) are
matched by m to at least one vertex (resp. edge) that has the same label. More
formally, the set of common features G ⊓m G′ of two graphs G = V, rV , rE and
G′ = V ′ , rV ′ , rE ′ , with respect to a matching m ⊆ V × V ′ , is defined as follows:
236
O. Sammoud et al.
G ⊓m G′ =
˙ {(v, l) ∈ rV | ∃(v, v ′ ) ∈ m, (v ′ , l) ∈ rV ′ }
∪ {(v ′ , l) ∈ rV ′ | ∃(v, v ′ ) ∈ m(v), (v, l) ∈ rV }
∪ {(vi , vj , l) ∈ rE | ∃(vi , vi′ ) ∈ m, ∃(vj , vj′ ) ∈ m (vi′ , vj′ , l) ∈ rE ′ }
∪ {(vi′ , vj′ , l) ∈ rE ′ | ∃(vi , vi′ ) ∈ m, ∃(vj , vj′ ) ∈ m (vi , vj , l) ∈ rE }
Given a multivalent matching m, we also have to identify the set of split
vertices, i.e., the set of vertices that are matched to more than one vertex, each
split vertex v being associated with the set sv of its matched vertices:
splits(m) = {(v, sv ) | v ∈ V, sv = {v ′ ∈ V ′ |(v, v ′ ) ∈ m}, |sv | ≥ 2}
∪ {(v ′ , sv′ ) | v ′ ∈ V ′ , sv′ = {v ∈ V |(v, v ′ ) ∈ m}, |sv′ | ≥ 2}
The similarity of two graphs G = V, rV , rE and G′ = V ′ , rV ′ , rE ′ with
respect to a matching m is then defined by:
simm (G, G′ ) =
f (G ⊓m G′ ) − g(splits(m))
f (rV ∪ rV ′ ∪ rE ∪ rE ′ )
(1)
where f and g are two functions that are defined to weight features and splits,
depending on the considered application.
Finally, the similarity sim(G, G′ ) of two graphs G = V, rV , rE and G′ =
′
V , rV ′ , rE ′ is the greatest similarity with respect to all possible matchings, i.e.,
sim(G, G′ ) =
max
m⊆V ×V ′
simm (G, G′ )
Note that the denominator of formula (1) does not depend on the matching
m —this denominator is introduced to normalize the similarity value between
zero and one. Hence, it will be sufficient to find the matching m that maximizes
the score function below:
score(m) = f (G ⊓m G′ ) − g(splits(m))
Using this Graph Similarity Measure to Solve Different Graph Matching Problems. Thanks to the functions f and g of formula (1), the graph similarity measure of [10] is generic. [20] shows how this graph similarity measure can
be used to solve many different graph matching problems such as the (sub)graph
isomorphism problem, the graph edit distance, the maximum common subgraph
problem and the multivalent matching problems of [5] and [10].
The graph matching problem has been shown to be N P -hard in [20]. A complete algorithm has been proposed for computing the matching which maximizes
formula (1) in [10]. This kind of algorithm, based on an exhaustive exploration
of the search space [16] combined with pruning techniques, guarantees solution
optimality. However, this algorithm is limited to very small graphs (having less
than 10 vertices in the worst case). Therefore, incomplete algorithms, that do
not guarantee optimality but have a polynomial time complexity, appear to be
good alternatives.
A Comparative Study of Ant Colony Optimization and Reactive Search
3
237
ACO for the Graph Matching Problem
The ACO (Ant Colony Optimization) meta-heuristic is a bio-inspired approach
[12, 13] that has been used to solve many hard combinatorial optimization problems. The main idea is to model the problem to solve as a search for an optimal
path in a graph –called the construction graph– and to use artificial ants to
search for ‘good’ paths. The behavior of artificial ants mimics the behavior of
real ones: (i) ants lay pheromone trails on the components of the construction
graph to keep track of the most promising components, (ii) ants construct solutions by moving through the construction graph and choose their path with
respect to probabilities which depend on the pheromone trails previously laid,
and (iii) pheromone trails decrease at each cycle simulating in this way the
evaporation phenomena observed in the real world.
In order to solve graph matching problems, we have proposed in [18] a first
ACO algorithm called ANT-GM (ANT-Graph Matching). However, if this algorithm appeared to be competitive with tabu search on sub-graph isomorphism
problems, it was clearly outperformed on multivalent graph matching problems.
The algorithm presented bellow called ANT-GM’06 improves ANT-GM with respect
to the following points: (i) we consider a new heuristic function in the definition of the transition probability, (ii) we consider a new pheromonal strategy,
and (iii) we introduce a local search procedure to improve solutions constructed
by ants.
Algorithmic Scheme. At each cycle, each ant constructs a complete matching
in a randomized greedy way. Once every ant has generated a matching, a local
search procedure takes place to improve the quality of the best matching of the
cycle. Pheromone trails are updated according to this improved matching. This
process stops iterating either when an ant has found an optimal matching, or
when a maximum number of cycles has been performed.
Contrary to the algorithm introduced in [18], ANT-GM’06 follows the MaxMin Ant System[21]: we explicit impose lower and upper bounds τmin and τmax
on pheromone trails (with 0 < τmin < τmax ). The goal is to favor a larger
exploration of the search space by preventing the relative differences between
pheromone trails from becoming too extreme during processing. Also and in
order to achieve a higher exploration of the search space at the first cycles,
pheromone trails are set to τmax at the beginning.
Construction Graph. The construction graph is the graph on which artificial
ants lay pheromone trails. Vertices of this graph are solution components that
are selected by ants to generate solutions. In our graph matching application,
ants build matchings by iteratively selecting couples of vertices to be matched.
Hence, given two attributed graphs G = V, rV , rE and G′ = V ′ , rV ′ , rE ′ , the
construction graph is the complete non-directed graph that associates a vertex
to each couple (u, u′ ) ∈ V × V ′ .
238
O. Sammoud et al.
Pheromone Trails. A key point when developing any ACO algorithm is to
decide where pheromone trails should be laid and how they should be exploited
and updated. In our case, we may consider two different possibilities:
– the first one turns into laying pheromone on the vertices of the construction
graph. So, the amount of pheromone on a vertex (u, u′ ) represents the learnt
desirability to match u with u′ when constructing matchings.
– the second consists in laying pheromone on the edges of the construction
graph. The amount of pheromone on an edge < (u, u′ ), (v, v ′ ) > represents
the learnt desirability to match together u with u′ and v with v ′ when constructing matchings.
Experimental results presented in [18] have been obtained with the second
strategy, that appears to be the best-performing one on the maximum clique
problem [19] and multiple knapsack problem [2]. Since then, we have compared
this second strategy with the first one, and experiments showed us that when
we choose to lay pheromone on vertices (instead of edges), better results are
obtained, also the algorithm is much less time consuming (pheromone laying
and evaporation has a linear complexity with respect to the number of vertices
of the construction graph and not a quadratic one).
So, in ANT-GM’06, pheromone is laid on vertices and not on edges like in the
initial version of ANT-GM. The amount of pheromone on a vertex (u, u′ ) will be
noted τ (u, u′ ).
Matching Construction by Ants. At each cycle, each ant constructs a complete matching: starting from an empty matching m = ∅, by iteratively adding
couples of vertices that are chosen within the set cand = {(u, u′ ) ∈ V × V ′ − m}.
As usually in ACO algorithm, the choice of the next couple to be added to m
is done with respect to a probability that depends on pheromone and heuristic
factors. More formally, given a matching m and a set of candidates cand, the
probability pm (u, u′ ) of selecting (u, u′ ) ∈ cand is:
pm (u, u′ ) =
[τ (u, u′ )]α · [ηm (u, u′ )]β
[τ (v, v ′ )]α · [ηm (v, v ′ )]β
(2)
(v,v ′ )∈cand
where:
– τ (u, u′ ) is the pheromone factor (when choosing the first couple, τm (u, u′ ) =
1, so that the probability only depends on the heuristic factor), and
– ηm (u, u′ ) is a heuristic factor that aims at favoring couples that most increase
the score function, i.e., ηm (u, u′ ) = score(m ∪ {(u, u′ )}) − score(m).
– α and β are two parameters that determine the relative importance of the
two factors.
Ants stop adding new couples to the matching when the addition of every
candidate couple decreases the score function or when the score function has not
been increased since the last three iterations.
A Comparative Study of Ant Colony Optimization and Reactive Search
239
Local Search Procedure. The best performing ACO algorithms for many
combinatorial problems are hybrid algorithms that combine probabilistic solution construction by a colony of ants with local search. In a same perspective,
we have tried to improve the performance of ANT-GM’06 by coupling it with a
local search procedure. In our case, we have chosen a local search which achieves
a ‘good’ compromise between quality and time consuming. Once every ant has
constructed a matching, we try to improve the quality of the best matching constructed during the cycle as follows: the three worse couples of the matching are
removed from it, and the resulting matching is completed in a greedy way, i.e.,
by iteratively adding couples of vertices that most increase the score function.
This local search process is iterated until no more improvement is obtained.
Note that the ‘goodness’ of a couple is judged according to its contribution
in our score function, and couples to be removed at each step of a local search
improvement are couples which have not already been removed.
Pheromone Updating Step. Once each ant has constructed a matching,
and the best of these matchings has been improved by local search, pheromone
trails are updated according to the Max-Min Ant System. First, evaporation is
simulated by multiplying every pheromone trail by a pheromone persistance rate
ρ such that 0 ≤ ρ ≤ 1. Then, the best ant of the cycle deposits pheromone. More
precisely, let mk be the best matching (with respect to the score function) built
during the cycle and improved by local search, and mbest be the best matching
built since the beginning of the run (including the current cycle), the quantity
of pheromone laid is inversely proportional to the gap of score between mk and
mbest , i.e. it is equal to 1/(1 + score(mbest ) − score(mk )).
As, we have chosen to put pheromone on the vertices of the construction
graph, the quantity of pheromone to be added is deposited on each couple of
vertices (u, u′ ) in mk .
4
Reactive Search for the Graph Matching Problem
Greedy Algorithm. [10] proposed a greedy algorithm to solve the graph
matching problem. We briefly describe it because it is used as a starting point
of our Reactive Search algorithm. More information can be found in [10]. The
algorithm starts from an empty matching m = ∅, and iteratively adds to m couples of vertices chosen within the set of candidate couples cand = V × V ′ − m.
This greedy addition of couples to m is iterated until m is locally optimal, i.e.,
until no more couple addition can increase the similarity. At each step, the
couple to be added is randomly chosen within the set of couples that most increase the score function. This greedy algorithm has a polynomial time complexity of O((|V | × |V ′ |)2 ), provided that the computation of the f and g functions
have linear time complexities with respect to the size of the matching. As a
counterpart of this rather low complexity, this algorithm never backtracks and
is not complete.
240
O. Sammoud et al.
Local Search. The greedy algorithm of [10] returns a "locally optimal" matching in the sense that adding or removing one couple of vertices to this matching
cannot improve it. However, it may be possible to improve it by adding and/or
removing more than one couple to this matching. A local search [14, 15] tries
to improve a solution by locally exploring its neighborhood: the neighbours of
a matching m are the matchings which can be obtained by adding or removing
one couple of vertices to m:
∀m ∈ ℘(V × V ′ ), neighbourhood(m) = {m ∪ {(v, v ′ )}|(v, v ′ ) ∈ (V × V ′ ) − m}
∪ {m − {(v, v ′ )}|(v, v ′ ) ∈ m}
From an initial matching, computed by the greedy algorithm, the search space is
explored from neighbour to neighbour until the optimal solution is found (when
the optimal value is known) or until a maximum number of moves have been
performed. The next neighbour to move on at each step is selected according to
the Tabu meta-heuristic.
Tabu Meta-Heuristic. Tabu search [14, 17] is one of the best known heuristic to choose the next neighbour to move on. At each step, one chooses the
best neighbour with respect to the score function. To avoid staying around locally optimal matchings by always performing the same moves, a Tabu list is
used. This list has a length k and memorizes the last k moves (i.e., the last k
added/removed couples) in order to forbid backward moves (i.e., to remove/add
a couple recently added/removed). An exception named "aspiration" is added:
if a forbidden move reaches a better matching than the best known matching,
the move is nevertheless done.
Reactive Search. The length k of the tabu list is a critical parameter that is
hard to set: if the list is too long, search diversification is too strong so that the
algorithm converges too slowly; if the list is too short, intensification is too strong
so that the algorithm may be stuck around local maxima and fail in improving
the current solution. To solve this parameter tuning problem, [4] introduced Reactive Search where the length of the Tabu list is dynamically adapted during
the search. To make the Tabu algorithm reactive, one must evaluate the need for
diversifying the search. When the same matching is explored twice, the search
must be diversified. In order to detect such redundancies, a hashing key is memorized for each explored matching. When a collision occurs in the hash table,
the list length is increased. On the contrary, when there is no collision during
a fixed number of moves, thus indicating that search is diversified enough, one
can reduce the list length. Hashing keys are incrementally computed so that this
method has a negligible added cost.
Iterated Reactive Search. This reactive search process is iterated from different starting points: the total number of allowed moves maxM oves is divided
by k and k executions of reactive search having each one maxM oves/k allowed
moves are launched. Finally, we keep the best matching found during the k
executions.
A Comparative Study of Ant Colony Optimization and Reactive Search
5
241
Experimental Comparison Results of RS and ACO
Problem Instances. We compare our two algorithms on two different sets of
multivalent matching problems: a randomly generated one and a set of seven
instances introduced in [5].
Test suite 1. We have used a random graph generator to generate "similar"
pairs of graphs: it randomly generates a first graph and applies some vertex
splitting/merging and some edge and vertex insertion/suppression to build a
second graph which is similar to the first one. When graph components have
many different labels, the best matching is trivially found as nearly all vertices/edges have different labels. Therefore, to obtain harder instances, we have
generated 100 graphs such that all vertices and edges have the same label. These
graphs have between 80 and 100 vertices and between 200 and 360 edges. The
second graph is obtained by doing 5 vertex merging/splitting and 10 edge or vertex insertion/suppression. We define function f of formula (1) as the cardinality
function and function g as a weighted sum:
(|sv | − 1) where w is the weight of a split.
g(S) = w ∗
(v,sv )∈S
The chosen weight w can drastically change the hardness of instances: with a
null weight, problem is trivially solved (one can make as many splitted vertices
as needed to recover labels), whereas, with a high weight, optimal solutions do
not split vertices and problem turns into an univalent graph matching problem.
With intermediate weights, the problem is harder: optimal solutions must do a
balancing between the number of splitted vertices and the number of recovered
labels. We display experimental results obtained for two different "intermediate" split weights in order to compare the capacity of our algorithms to deal
with splitted vertices. We first consider instances where w = 1, so that optimal
solutions may contain several splits. We also consider instances where w = 3, so
that optimal solutions contain less splitted vertices. We keep only the 13 hardest
instances (i.e., the ones that cannot be solved by the iterated greedy algorithm
of [10]).
Test suite 2. A non-bijective graph matching problem was introduced in [5] to
find the best matching between models and over-segmented images of brains.
Given a model graph G=(V, E) and an image graph G′=(V ′ , E ′ ), a matching is
defined as a function φ : V → ℘(V ′ ) which associates to each vertex of the model
graph G a non empty set of vertices of G′ , and such that (i) each vertex of the
image graph G′ is associated to exactly one vertex of the model graph G, (ii)
for some forbidden couples (v, v ′ ) ∈ V × V ′ , v ′ must not belong to φ(v), and (iii)
the subgraph induced by every set φ(v) must be connected. A weight sv (vi , vi′ )
(resp. se (ei , e′i )) is associated with each couple of vertices (vi , vi′ ) ∈ V × V ′ (resp.
of edges (ei , e′i ) ∈ E × E ′ ). The goal is to find the matching which maximizes a
function depending on these weights of matched vertices and edges.
242
O. Sammoud et al.
One can define functions f and g so that the matching which maximizes
formula (1) corresponds to the best matching as defined in [5]. We refer the
reader to [20] for more details on the definition of these two functions. We have
taken the 7 instances of the non-bijective graph matching problem of [5]. Scheme
graphs have between 10 and 50 vertices while image graphs have between 30 and
250 vertices. For these instances, we compare our two algorithms with LS+, a
randomized construction algorithm proposed by [5] that quickly computes a
set of possible non-bijective graph matchings and improves the best of these
matchings with a local search algorithm until a locally optimal point is reached.
For more details on these instances and on the LS+ algorithm, please refer
to [5].
Experimental Settings for ACO. For ANT-GM’06, we have set the pheromone
factor weight α to 1 and 2 respectively on test suite 1 and test suite 2, the
pheromone persistance rate ρ to 0.98, the heuristic factor weight β to 10, the
maximum number of cycles M axCycle respectively to 1000 and 2000, the number of ants nbAnts to 20, the pheromone lower and upper bound τmin and τmax
to 0.01 and 6.
To evaluate the benefit of integrating local search within ANT-GM’06, we display results obtained without and with local search. We respectively call these
algorithms ANT-GM’06 and ANT-GM’06+LS.
Experimental Settings for RS. Reactive Search needs 5 parameters: the
minimum (min) and the maximum (max) length of the list, the length of extension (and shortening) diff of the list when a reaction process occurs, the
frequency f req of reduction of the list and the maximum number of allowed
moves nbM oves. The initial length of the list is always set to min. For the two
test suites, max is set to 50, diff is set to 15 and the number of moves is set
to 50000. In order to obtain better results, the two others parameters must be
chosen depending on the considered problem. On instances of test suite 1, min
is set to 15 and f req is set to 5000 whereas on instances of test suite 2, min is
set to 10 and f req is set to 1000. As 50000 moves of RS are performed much
quicker than 1000 cycles of ANT-GM’06, we iterated RS from different calls to
the greedy algorithm. The number of iterations of RS is setted in such a way
that both algorithms spend the same time. Note however that execution of our
reactive local search is deterministic on instances of test suite 2: the weights
used are real numbers and as a consequence couples of vertices are never chosen
randomly. As a consequence, it is useless to use iterated version of RS and we
perform only one execution of RS.
We made at least 20 executions of each algorithm on each instance.
Results. Table 1 displays results on the 13 instances of test suite 1 with splits
weighted to 1. First, we can see that our 3 algorithms seems to be robust in
the sense that their average results are close to their best results on 20 executions (for 9 of the 13 instances, the average result is equal to the best result).
A Comparative Study of Ant Colony Optimization and Reactive Search
243
Table 1. Results on multivalent graph matching problems with splits weighted to 1.
For each instance, the table reports the number of vertices and edges of the two graphs,
the CPU time limit L for one run of each algorithm (on a Pentium IV 1.7 GHz) and,
for each algorithm, the best score and the average score found over at least 20 runs
and the average time needed (in seconds) to get the best score.
Problem
RS
ANT-GM’06
ANT-GM’06+LS
Nbr (| V1 |,| E1 |) (| V2 |,| E2 |) L Best
Avg T. Best Avg T. Best
Avg T.
1
(80, 200)
(74, 186)
1512 511 511.00 57 511 511.00 131 512 511.10 140
2
(80, 240)
(82, 261)
1415 644 644.00 60 644 644.00 266 644 644.00 239
3
(80, 320)
(83, 362)
1445 821 820.97 279 821 820.50 498 822 821.20 660
4
(80, 340)
(72, 302)
1174 753 753.00 55 753 753.00 111 753 753.00 130
5
(80, 360)
(77, 367)
1139 856 855.97 187 855 855.00 321 855 855.00 249
6
(80, 360)
(78, 367)
1196 863 863.00 21 863 863.00 187 864 863.94 565
7
(90, 300)
(91, 307)
1670 762 762.00 98 762 762.00 326 762 762.00 213
8
(90, 320)
(87, 310)
1611 780 780.00 51 780 780.00 572 780 780.00 409
9
(90, 320)
(90, 339)
1716 816 816.00 69 816 815.45 546 816 815.45 602
10 (100, 260)
(96, 263)
2093 697 696.63 628 697 696.90 976 697 697.00 812
11 (100, 300)
(100, 304)
2078 780 780.00 148 780 780.00 278 780 780.00 279
12 (100, 320)
(98, 331)
2080 828 828.00 46 828 828.00 286 828 828.00 218
13 (100, 360)
(99, 371)
2455 915 915.00 90 915 915.00 267 915 915.00 152
Table 2. Results on multivalent graph matching problems with splits weighted to 3.
For each instance, the table reports the number of vertices and edges of the two graphs,
the CPU time limit L for one run of each algorithm (on a Pentium IV 1.7 GHz) and,
for each algorithm, the best score and the average score found over at least 20 runs
and the average time needed (in seconds) to get the best score.
Problem
Nbr (| V1 |,| E1 |) (| V2 |,| E2 |) L
1
(80, 200)
(74, 186)
659
2
(80, 240)
(82, 261)
798
3
(80, 320)
(83, 362)
896
4
(80, 340)
(72, 302)
737
5
(80, 360)
(77, 367)
852
6
(80, 360)
(78, 367)
855
7
(90, 300)
(91, 307)
1140
8
(90, 320)
(87, 310)
1079
9
(90, 320)
(90, 339)
1127
10 (100, 260)
(96, 263)
1346
11 (100, 300)
(100, 304)
1466
12 (100, 320)
(98, 331)
1463
13 (100, 360)
(99, 371)
1528
Best
496
624
801
732
846
840
748
766
802
683
769
814
900
RS
Avg
496.00
624.00
801.00
732.00
846.00
840.00
748.00
766.00
802.00
683.00
769.00
814.00
900.00
T.
28
26
17
27
198
36
82
44
70
114
358
51
54
ANT-GM’06
Best Avg T.
496 496.00 132
624 624.00 108
801 801.00 213
732 732.00 185
846 846.00 116
840 840.00 94
748 748.00 186
766 766.00 187
802 802.00 167
683 682.75 556
769 769.00 274
814 814.00 241
900 900.00 245
ANT-GM’06+LS
Best Avg T.
496 496.00 121
624 624.00 88
801 801.00 218
732 732.00 194
846 846.00 77
840 840.00 67
748 748.00 150
766 766.00 187
802 802.00 163
683 683.00 354
769 769.00 285
814 814.00 201
900 900.00 243
Also, we can note that RS performs better than ANT-GM’06: it obtains better
result on 1 instance and is always as fast as ANT-GM’06. Integrating local search
within ANT-GM’06 actually improves the solution process so that ANT-GM’06
244
O. Sammoud et al.
Table 3. Results on non-bijective graph matching of [5]. For each instance, the table
reports its name, the number of vertices of the two graphs, the CPU time limit L for one
run of each algorithm (on a Pentium IV 1.7 GHz), the similarities of the best solutions
obtained by LS+[5], RS, ANT-GM’06 without LS and with LS (the best solution, the
average solution found over 20 runs and the average time in seconds).
Problem
GM-i (| V1 |, | V2 |)
5
(10, 30)
5a
(10, 30)
6
(12, 95)
7
(14, 28)
8
(30, 100)
8a
(30, 100)
9
(50, 250)
L
18
19
269
13
595
595
6018
LS+
Sim
.5474
.5435
.4248
.6319
.5186
.5222
.5187
RS
Sim T.
.5481 0.9
.5529 4.6
.4213 0.0
.6333 2.1
.5210 1.3
.5245 1.3
.5199 81.7
ANT-GM’06
Sim Avg T.
.5601 .5598 16
.5638 .5638 10
.4252 .4251 211
.6369 .6369
7
.5229 .5226 462
.5263 .5261 456
.5201 .5201 4133
ANT-GM’06+LS
Sim Avg T.
.5608 .5604 15
.5645 .5641
7
.4252 .4251 215
.6376 .6369
5
.5232 .5228 229
.5269 .5264 241
.5203 .5202 2034
obtains better (resp. worse) results than RS on 3 (resp. 1) instances, whereas they
obtain same results on 9 instances. On these instances, RS and ANT-GM’06+LS
obtain complementary results: ANT-GM’06+LS outperforms RS more frequently
than RS outperforms ANT-GM’06+LS but RS is much quicker than ANT-GM’06+LS,
even when the two algorithms obtain the same results. Finally, note that if one
cycle of ANT-GM’06+LS is more time consuming than one cycle of ANT-GM’06,
ANT-GM’06+LS does not generally need more CPU time than ANT-GM’06 to find
a solution: the local search procedure speed up the convergence of ANT-GM’06
and less cycles are needed to find the best solution.
Table 1 does not show results for the first ANT-GM algorithm described in [18]
but one should note that the new ACO algorithm ANT-GM’06 clearly outperforms
this first one. Actually, on all the considered instances, ANT-GM’06 computes
much better solutions in less CPU time than ANT-GM. For example, on instance
1, the best score found by ANT-GM is 505 and is found in 8648 seconds, whereas
ANT-GM’06 finds a score of 511 in 131 seconds.
Table 2 displays results on the 13 instances of test suite 1 with splits weighted
to 3. On each instance, our three algorithms always find the same best score and
the same average score (except for ANT-GM’06 on one instance). However, RS
finds the solution in shorter times than ANT-GM’06 and ANT-GM’06+LS except
for only two instances. These results show that on these instances, one clearly
has to use our RS algorithm.
On the 7 instances of test suite 2, our three algorithms obtain better results
than LS+, the reference algorithm of [5] (6 instances on 7 are better solved by
RS and 7 instances on 7 are better solved by ACO algorithms). Note that, because
the considered weights are real numbers, an execution of RS is deterministic. As
a consequence, RS is less randomized than for multivalent matching problems,
it quickly converges to "good" matchings but can easily be trapped into local
optimum. So, results show that, as for non-bijective graph matching problems,
ACO gives better results than RS but needs much more time.
A Comparative Study of Ant Colony Optimization and Reactive Search
245
In conclusion, the local search procedure helps ANT-GM’06 to improve the
quality of the results. As a consequence, ANT-GM’06+LS usually obtains better
results but is slower than RS. The time limits allowed to our three algorithms
have been set depending on the ACO algorithms which generaly need a long
time to converge. So, these time limits penalize RS which, within a shorter time,
can generaly find a better solution then ACO algorithms. ANT-GM’06+LS and RS
are complementary: if we need to compute quickly a "good" solution of hard
instances or if instances are easy, we can use RS but if we have more time to
spend on computation or if we want to solve very hard instances, we can use
ANT-GM’06+LS.
6
Conclusion and Further Work
In this paper, we address the problem of computing the generic graph similarity
measure of [10]. We propose and compare two different kinds of algorithms: an
Ant Colony Optimization (ACO) based algorithm boosted with local search and
a Reactive Search based on a tabu local search heuristic. We compare the efficiency of these two algorithms on two different kinds of difficult graph matching
problems. We show that ACO usually obtains better results but is slower than
Reactive Search. These two algorithms are complementary: if we need to compute quickly a "good" solution of hard instances or if instances are easy, we can
use RS but if we have more time to spend on computation or if we want to solve
very hard instances, we can use ACO.
In further work, we would like to compare these algorithms on some other
graph matching problems such as maximum common subgraph problems. For
ACO, we would like to speed up the convergence of the algorithm. This could
be done by using a better local search strategy to repair built matchings. For
RS, we would like to diversify the search. This could be done by using an other
strategy than the elitist greedy algorithm of [10] to choose the starting points
and then, start shorter tabu searches from many starting points.
References
1. Tatsuya Akutsu. Protein structure alignment using a graph matching technique.
Technical report, Bioinformatics Center, Institute for Chemical Research, Kyoto
University. Uji, Kyoto 611-0011, Japan, 1995.
2. I. Alaya, C. Solnon, and K. Ghédira. Ant algorithm for the multi-dimensional
knapsack problem. International Conference on Bioinspired Optimization Methods
and their Applications (BIOMA 2004), pages 63–72, 2004.
3. R. Ambauen, S. Fischer, and H. Bunke. Graph edit distance with node splitting
and merging and its application to diatom identification. 4th IAPR-TC15 Wk on
Graph-based Representations in Pattern Recognition, LNCS 2726-Springer:95–106,
2003.
4. R. Battiti and M. Protasi. Reactive local search for the maximum clique problem.
In Springer-Verlag, editor, Algorithmica, volume 29, pages 610–637, 2001.
246
O. Sammoud et al.
5. M. Boeres, C. Ribeiro, and I. Bloch. A randomized heuristic for scene recognition
by graph matching. In Wkshp on Experimental and Efficient Algorithms (WEA
2004), pages 100–113, 2004.
6. H. Bunke. On a relation between graph edit distance and maximum common
subgraph. PRL: Pattern Recognition Letters, 18:689–694, 1997.
7. H. Bunke and X. Jiang. Graph Matching and Similarity, volume Teodorescu, H.N., Mlynek, D., Kandel, A., Zimmermann, H.-J. (eds.): Intelligent Systems and
Interfaces, chapter 1. Kluwer Academic Publishers, 2000.
8. H. Bunke and K. Shearer. A graph distance metric based on the maximal common
subgraph. Pattern recognition letters, 19(3–4):255–259, 1998.
9. E.K Burke, B. MacCarthy, S. Petrovic, and R. Qu. Case based reasoning in course
timetabling: An attribute graph approach. Proc. 4th Int. Conf. on Case-Based
Reasoning (ICCBR-2001), LNAI 2080-Springer:90–104, 2001.
10. P.-A. Champin and C. Solnon. Measuring the similarity of labeled graphs. In 5th
Int. Conf. on Case-Based Reasoning (ICCBR 2003), volume LNAI 2689-Springer,
pages 80–95, 2003.
11. D. Conte, P. Foggia, C. Sansone, and M. Vento. 30 years of graph matching in
pattern recognition. Int. Jour. of Pattern Recogn. and AI, 18(3):265–298, 2004.
12. M. Dorigo and G. Di Caro. The ant colony optimization meta-heuristic. In D.
Corne, M. Dorigo, and F. Glover, editors, New Ideas in Optimization. McGraw
Hill, London, UK, pages 11–32, 1999.
13. M. Dorigo and T. Stützle. Ant colony optimization. MIT Press, 2004.
14. F. Glover. Tabu search - part I. Journal on Computing, pages 190–260, 1989.
15. S. Kirkpatrick, S. Gelatt, and M. Vecchi. Optimisation by simulated annealing. In
Science, volume 220, pages 671–680, 1983.
16. B.T. Messmer and H.Bunke. Efficient subgraph isomorphism detection: a decomposition approach. IEEE Trans. on Knowledge and Data Engineering, 12-2:307–323,
2000.
17. Sanja Petrovic, Graham Kendall, and Yong Yang. A tabu search approach for
graph-structured case retrieval. In IOS Press, editor, Proc. of the STarting Artificial
Intelligence Researchers Symposium (STAIRS 2002), pages 55–64, 2002.
18. O. Sammoud, C. Solnon, and K. Ghédira. An ant algorithm for the graph matching
problem. 5th European Conference on Evolutionary Computation in Combinatorial
Optimization (EvoCOP 2005), LNCS 3448 - Springer:213–223, 2005.
19. C. Solnon and S. Fenet. A study of aco capabilities for solving the maximum clique
problem. To appear in Journal of Heuristics- Springer, 2006.
20. S. Sorlin and C. Solnon. Reactive tabu search for measuring graph similarity.
5th IAPR Workshop on Graph-based Representations in Pattern Recognition (GbR
2005), LNCS 3434 - Springer:172–182, 2005.
21. T. Stützle and H.H. Hoos. Max-min Ant System. Journal of Future Generation
Computer Systems, 16:889–914, 2000.
Divide-and-Evolve: A New Memetic Scheme for
Domain-Independent Temporal Planning
Marc Schoenauer1 , Pierre Savéant2 , and Vincent Vidal3
1
Projet TAO, INRIA Futurs, LRI, Bt. 490, Université Paris Sud, 91405 Orsay, France
2
Thales Research & Technology France, RD 128, F-91767 Palaiseau, France
3
CRIL & Université d’Artois, rue de l’université - SP16, 62307 Lens, France
Abstract. An original approach, termed Divide-and-Evolve is proposed
to hybridize Evolutionary Algorithms (EAs) with Operational Research
(OR) methods in the domain of Temporal Planning Problems (TPPs).
Whereas standard Memetic Algorithms use local search methods to improve the evolutionary solutions, and thus fail when the local method
stops working on the complete problem, the Divide-and-Evolve approach
splits the problem at hand into several, hopefully easier, sub-problems,
and can thus solve globally problems that are intractable when directly
fed into deterministic OR algorithms. But the most prominent advantage
of the Divide-and-Evolve approach is that it immediately opens up an avenue for multi-objective optimization, even though the OR method that
is used is single-objective. Proof of concept approach on the standard
(single-objective) Zeno transportation benchmark is given, and a small
original multi-objective benchmark is proposed in the same Zeno framework to assess the multi-objective capabilities of the proposed methodology, a breakthrough in Temporal Planning.
1
Introduction
Artificial Intelligence Planning is a form of general problem solving task which
focuses on problems that map into state models that can be defined by a state
space S, an initial state s0 ⊆ S, a set of goal states SG ⊆ S, a set of actions A(s)
applicable in each state S, and a transition function f (a, s) = s′ with a ∈ A(s),
and s, s′ ∈ S. A solution to this class of models is a sequence of applicable actions
mapping the initial state s0 to a goal state that belongs to SG .
An important class of problems is covered by Temporal Planning which extends classical planning by adding a duration to actions and by allowing concurrent actions in time [8]. In addition, other metrics are usually needed for
real-life problems to qualify a good plan, for instance a cost or a risk criterion.
A usual approach is to aggregate the multiple criteria, but this relies on highly
problem-dependent features and is not always meaningful. A better solution is
to compute the set of optimal non-dominated solutions – the so-called Pareto
front.
Because of the high combinatorial complexity and the multi-objective features of Temporal Planning Problems (TPPs), Evolutionary Algorithms are good
general-purpose candidate methods.
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 247–260, 2006.
c Springer-Verlag Berlin Heidelberg 2006
248
M. Schoenauer, P. Savéant, and V. Vidal
However, there has been very few attempts to apply Evolutionary Algorithms
to planning problems and, as far as we know, not any to Temporal Planning.
Some approaches use a specific representation (e.g. dedicated to the battlefield
courses of action [15]). Most of the domain-independent approaches see a plan
as a program and rely on Genetic Programming and on the traditional blocksworld domain for experimentation (starting with the Genetic Planner [17]). A
more comprehensive state of the art on Genetic Planning can be found in [1]
where the authors experimented a variable length chromosome representation.
It is important to notice that all those works search the space of (partial) plans.
It is also now well-known that Evolutionary Algorithms (EAs) can rarely efficiently solve Combinatorial Optimization Problems on their own, i.e. without
being hybridized, one way or another, with local search ad hoc techniques. The
most successful of such hybridizations use Operational Research methods to locally improve any offspring that was born from EA variation operators (crossover
and mutation): such algorithms have been termed “Memetic Algorithms” or “Genetic Local Search” [14]. Those methods are now the heart of a whole research
field, as witnessed by the series of WOMA’s (Workshops on Memetic Algorithms)
organized every year now, Journal Special Issues and edited books [10].
However, most memetic approaches are based on finding local improvements
of candidate solutions proposed by the evolutionary search mechanism using
dedicated local search methods that have to tackle the complete problem. In
some combinatorial domains such as Temporal Planning, this simply proves to
be impossible when reaching some level of complexity.
This paper proposes Divide-and-Evolve, borrowing to the Divide-and-Conquer
paradigm for such situations: the problem at hand is sliced into a sequence of
problems that are hopefully easier to solve by OR or other local methods. The
solution to the original problem is then obtained by a concatenation of the
solutions to the different sub-problems.
Next section presents an abstract formulation of the Divide-and-Evolve scheme, and starting from its historical (and pedagogical) root, the TGV paradigm.
Generic representation and variation operators are also introduced. Section 3
introduces an actual instantiation of the Divide-and-Evolve scheme to TPPs.
The formal framework of TPPs is first introduced, then the TPP-specific issues
for the Divide-and-Evolve implementation are presented and discussed. Section 4
is devoted to experiments on the transportation Zeno benchmark for both single
and multi-objective cases. The last section opens a discussion highlighting the
limitations of the present work and giving hints about on-going and future work.
2
2.1
The Divide-and-Evolve Paradigm
The TGV Metaphor
The Divide-and-Evolve strategy springs from a metaphor on the route planning
problem for the French high-speed train (TGV). The original problem consists
in computing the shortest route between two points of a geographical landscape
with strong bounds on the curvature and slope of the trajectory. An evolutionary
A New Memetic Scheme for Domain-Independent Temporal Planning
249
algorithm was designed [4] based on the fact that the only local search algorithm
at hand was a greedy deterministic algorithm that could solve only very simple
(i.e. short distance) problems. The evolutionary algorithm looks for a split of
the global route into small consecutive segments such that a local search algorithm can easily find a route joining their extremities. Individuals represent sets
of intermediate train stations between the station of departure and the terminus. The convergence toward a good solution was obtained with the definition
of appropriate variation and selection operators [4]. Here, the state space is the
surface on which the trajectory of the train is defined.
Generalization. Abstracted to Planning, the route is replaced by a sequence
of actions and the “stations” become intermediate states of the system. The
problem is thus divided into sub-problems and “to be close” becomes “to be
easy to solve” by some local algorithm L. The evolutionary algorithm plays the
role of an oracle pointing at some imperative states worth to go trough.
2.2
Representation
The problem at hand is an abstract AI Planning problem as described in the
introduction. The representation used by the evolutionary algorithm is a variable length list of states: an individual is thus defined as (si )i∈[1,n] , where the
length n and all the states si are unknown and subject to evolution. States s0
and sn+1 ≡ sG will represent the initial state and the goal of the problem at
hand, but will not be encoded in the genotypes. By reference to the original
TGV paradigm, each of the states si of an individual will be called a station.
Requirements. The original TGV problem is purely topological with no temporal dimension and reduces to a planning problem with a unique action: moving
between two points. The generalization to a given planning domain requires to
be able to:
1. define a distance between two different states of the system, so that d(S, T )
is somehow related to the difficulty for the local algorithm L to find a plan
mapping the initial state S to the final state T ;
2. generate a chronological sequence of virtual “stations”, i.e. intermediate
states of the system, that are close to one another, si being close to si+1 ;
3. solve the resulting ”easy” problems using the local algorithm L;
4. “glue” the sub-plans into an overall plan of the problem at hand.
2.3
Variation Operators
This section describes several variation operators that can be defined for the
general Divide-and-Evolve approach, independently of the actual domain of application (e.g. TPPs, or the original TGV problem).
Crossover. Crossover operators amounts to exchanging stations between two
individuals. Because of the sequential nature of the fitness, it seems a good idea
250
M. Schoenauer, P. Savéant, and V. Vidal
to try to preserve sequences of stations, resulting in straightforward adaptations
to variable-length representation of the classical 1- or 2-point crossover operators.
Suppose you are recombining two individuals (si )1≤?n and (Ti )1≤?m . The
1-point crossover amounts to choosing one station in each individual, say sa and
Tb , and exchanging the second part of the lists of stations, obtaining the two offspring (s1 , . . . , sa , Tm+1 , . . . Tb ) and (T1 , . . . , Tb , sn+1 , . . . , sn ) (2-point crossover
is easily implemented in a similar way). Note that in both cases, the length of
each offspring is likely to differ from those of the parents.
The choice of the crossover points sa and Tb can be either uniform (as done
in all the work presented here), or distance-based, if some distance is available:
pick the first station sa randomly, and choose Tb by e.g. a tournament based on
the distance with sa (this is on-going work).
Mutation. Several mutation operators can be defined. Suppose individual
(si )1≤?n is being mutated:
– At the individual level, the Add mutation simply inserts a new station
snew after a given station (sa ), resulting in an n + 1-long list, (s1 , . . . , sa ,
snew , sa+1 , . . . , sn ). Its counterpart, the Del mutation, removes a station sa
from the list.
Several improvements on the pure uniform choice of sa can be added and
are part of on-going work, too: in case the local algorithm fails to successfully
join all pairs of successive stations, the last station that was successfully
reached by the local algorithm can be preferred for station sa (in both the
Add and Del mutations). If all partial problems are solved, the most difficult
one (e.g. in terms of number of backtracks) can be chosen.
– At the station level, the definition of each station can be modified –
but this is problem-dependent. However, assuming there exists a stationmutation operator µS , it is easy to define the individual-mutation MµS that
will simply call µS on each station si with a user-defined probability pµS .
Examples of operators µS will be given in section 3, while simple Gaussian
mutation of the (x, y) coordinates of a station were used for the original
TGV problem [4].
3
Application to Temporal Planning
3.1
Temporal Planning Problems
Domain-Independent planners rely on the Planning Domain Definition Language
(PDDL) [13], inherited from the STRIPS model [5], to represent a planning
problem. In particular, this language is used for a competition1 which is held
every two years since 1998. The language has been extended for representing
Temporal Planning Problems in PDDL2.1 [7]. For the sake of simplicity, the
temporal model is often simplified as explained below [18].
1
http://ipc.icaps-conference.org/
A New Memetic Scheme for Domain-Independent Temporal Planning
251
A Temporal PDDL Operator is a tuple o = pre(o), add(o), del(o), dur(o)
where pre(o), add(o) and del(o) are sets of ground atoms that respectively denote
the preconditions, add effects and del effects of o, and dur(o) is a rational number
that denotes the duration of o. The operators in a PDDL input can be described
with variables, used in predicates such as (at ?plane ?city).
A Temporal Planning Problem is a tuple P = A, I, O, G, where A is a set of
atoms representing all the possible facts in a world situation, I and G are two
sets of atoms that respectively denote the initial state and the problem goals,
and O is a set of ground PDDL operators.
As is common in Partial Order Causal Link (POCL) Planning [19], two
dummy actions are also considered, Start and End with zero durations, the
first with an empty precondition and effect I; the latter with precondition G
and empty effects. Two actions a and a′ interfere when one deletes a precondition or positive effect of the other. The simple model of time in [16] defines a
valid plan as a plan where interfering actions do not overlap in time. In other
words, it is assumed that the preconditions need to hold until the end of the
action, and that the effects also hold at the end and cannot be deleted during
the execution by a concurrent action.
A schedule P is a finite set of actions occurrences ai , ti , i = 1, . . . , n, where
ai is an action and ti is a non-negative integer indicating the starting time of ai
(its ending time is ti + dur(ai )). P must include the Start and End actions, the
former with time tag 0. The same action (except for these two) can be executed
more than once in P if ai = aj for i = j. Two action occurrences ai and aj overlap
in P if one starts before the other ends; namely if [ti , ti +dur(ai )]∩[tj , tj +dur(aj )]
contains more than one time point.
A schedule P is a valid plan iff interfering actions do not overlap in P and
for every action occurrence ai , ti in P its preconditions p ∈ pre(a) are true at
time ti . This condition is inductively defined as follows: p is true at time t = 0
iff p ∈ I, and p is true at time t > 0 if either p is true at time t − 1 and no
action a in P ending at t deletes p, or some action a′ in P ending at t adds p.
The makespan of a plan P is the time tag of the End action.
3.2
CPT: An Optimal Temporal Planner
An optimal temporal planner computes valid plans with minimum makespan.
Even though an optimal planner was not mandatory (as discussed in section 5),
we have chosen CPT [18], a freely-available optimal temporal planner, for its
temporal dimension and for its constraint-based approach which provide a very
useful data structure when it comes to gluing the partial solutions (see section
2.2). Indeed, since in Temporal Planning actions can overlap in time, the simple
concatenation of sub-plans, though providing a feasible solution, obviously might
produce a plan that is not optimal with respect to the total makespan, even if
the sequence of actions is the optimal sequence. However, thanks to the causal
links and order constraints maintained by CPT, an improved global plan can
be obtained by shifting sub-plans as early as possible in a final state of the
algorithm.
252
3.3
M. Schoenauer, P. Savéant, and V. Vidal
Rationale for Using Divide-and-Evolve for Temporal Planning
The reasons for the failure of standard OR methods addressing TPPs come
from the exponential complexity of the number of possible actions when the
number of objects involved in the problem increases. It is known for a long time
that taking into account the interactions between sub-goals can decrease the
complexity of finding a plan, in particular when these sub-goals are independent
[12]. Moreover, computing an ideal ordering on sub-goals is as difficult as finding
a plan (PSPACE-hard), as demonstrated in [11]. The basic idea when using the
Divide-and-Evolve approach is that each local sub-plan (“joining” stations si
and si+1 ) should be easier to find than the global plan (joining the station of
departure s0 and the terminus sn+1 ). This will be now demonstrated on the
Zeno transportation benchmark (see http://ipc.icaps-conference.org/).
Table 1 illustrates the decomposition of a relatively difficult problem in the
Zeno domain (zeno14 from IPC-3 benchmarks), a transportation problem with
5 planes (plane1 to plane5) and 10 persons (person0 to person9) to travel
among 10 cities (city0 to city9).
Table 1. State Decomposition of the Zeno14 Instance. (The new location of moved
objects appears in bold.).
Objects
Init
Station 1 Station 2 Station 3 Station 4 Goal
(station 0)
(station 5)
plane 1
city 5
city 6
city 6
city 6
city 6
city 6
plane 2
city 2
city 2
city 3
city 3
city 3
city 3
plane 3
city 4
city 4
city 4
city 9
city 9
city 9
plane 4
city 8
city 8
city 8
city 8
city 5
city 5
plane 5
city 9
city 9
city 9
city 9
city 9
city 8
person 1
city 9
city 9
city 9
city 9
city 9
city 9
person 2
city 1
city 1
city 1
city 1
city 1
city 8
person 3
city 0
city 0
city 2
city 2
city 2
city 2
person 4
city 9
city 9
city 9
city 7
city 7
city 7
person 5
city 6
city 6
city 6
city 6
city 6
city 1
person 6
city 0
city 6
city 6
city 6
city 6
city 6
person 7
city 7
city 7
city 7
city 7
city 5
city 5
person 8
city 6
city 6
city 6
city 6
city 6
city 1
person 9
city 4
city 4
city 4
city 4
city 5
city 5
person 0
city 7
city 7
city 7
city 9
city 9
city 9
Makespan
350
350
280
549
522
Backtracks
1
0
0
195
32
Search time
0.89
0.13
0.52
4.34
1.64
Total time
49.10
49.65
49.78
54.00
51.83
Compression
Global Search
Makespan
772
476
Backtracks
0
606,405
Search time
0.01
4,155.41
Total time
0.02 (total : 254.38)
4,205.40
A New Memetic Scheme for Domain-Independent Temporal Planning
253
Analyzing the optimal solution found by CPT-3 it was easy to manually divide
the optimal “route” of this solution in the state space into four intermediate
stations between the initial state and the goal. It can be seen that very few
moves (plane or person) occur between two consecutive stations (the ones in
bold in each column of Table 1). Each sub-plan is easily found by CPT, with
a maximum of 195 backtracks and 4.34 seconds of search time. It should be
noted that most of the time spent by CPT is for pre-processing: this operation
is actually repeated each time CPT is called, but could be factorized at almost
no cost.
Note that the final step of the process is the compression of the five sub-plans
(see section 2.2): it is here performed in 0.02 seconds without any backtracking,
and the overall makespan of the plan is 772, much less than the sum of the
individual makespans of each sub-plan (2051).
To summarize, the recomposed plan, with a makespan of 772, required a total
running time of 254.38 seconds (including only 7.5s of pure search) and 228 backtracks altogether, whereas a plan with the optimal makespan of 476 is found by
CPT in 4,205 seconds and 606,405 backtracks. Section 5 will discuss this issue.
3.4
Description of the State Space
Non-temporal States. A natural state space for TPPs, as described at the
beginning of this section, would be the actual space of all possible time-stamped
states of the system. Obviously, the size of such a space is far too big and we
simplified it by restricting the stations to non-temporal states. However, even
with this simplification, not all “non-temporal” states can be considered in the
description of the “stations”.
Limiting the Possible States. First, the space of all possible states grows exponentially with the size of the problem. Second, not all states are consistent w.r.t.
the planning domain. For instance, an object cannot be located at two places at
the same time in a transportation problem – and inferring such state invariants
is feasible but not trivial [6]. Note also that determining plan existence from a
propositional STRIPS description has been proved to be PSPACE-complete [2].
A possible way to overcome this difficulty would be to rely on the local algorithm to (rapidly) check the consistency of a given situation, and to penalize
unreachable stations. However, this would clearly be a waste of computational
resources.
On the other hand, introducing domain knowledge into EAs has been known
for long as the royal road toward success in Evolutionary Computation [9]. Hence,
it seems a more promising approach to add state invariants to the description of
the state space in order to remove the inconsistent states as much as possible.
The good thing is that it is not necessary to remove all inconsistent states
since, in any case, the local algorithm is there to help the EA to spot them –
inconsistent stations will be given poor fitness, and will not survive next selection
steps. In particular, only state invariants involving a single predicate have been
implemented in the present work.
254
3.5
M. Schoenauer, P. Savéant, and V. Vidal
Representation of Stations
It was hence decided to describe the stations using only the predicates that
are present in the goal of the overall problem, and to maintain the state
invariants based on the semantics of the problem.
A good example is given in Table 1: the goal of this benchmark instance is
to move the persons and planes in cities listed in the last column. No other
predicate than the corresponding (at objectN cityM) predicates is present in
the goal. Through a user-supplied file, the algorithm is told that only the at
predicates will be used to represent the stations, with the syntactic restrictions
that within a given station, the first argument of an at predicate can appear
only once (at is said to be exclusive with respect to its first argument). The
state space that will be explored by the algorithm thus amounts to a vector of
15 fluents (instantiated predicates) denoting that an item is located in a city (a
column of table 1). In addition, the actual implementation of a station includes
the possibility to “remove” (in fact, comment out) a predicate of the list: the
corresponding object will not move during this sub-plan.
Distance. The distance between two stations should reflect the difficulty for the
local algorithm to find a plan joining them. At the moment, a purely syntactic
domain-independent distance is used: the number of different predicates not
yet reached. The difficulty can then be estimated by the number of backtracks
needed by the local algorithm. It is reasonable to assume that indeed most local
problems where only a few predicates need to be changed from the initial state
to the goal will be easy for the local algorithm - though this is certainly not true
in all cases.
3.6
Representation-Specific Operators
Initialization. First, the number of stations is chosen uniformly in a usersupplied interval. The user also enters a maximal distance dmax between stations.
A matrix is then built, similar to the top lines of table 1: each line corresponds
to one of the goal predicates, each column is a station. Only the first and last
columns (corresponding to initial state and goal) are filled with values. A number of “moves” is then randomly added in the matrix, at most dmax per column,
and at least one per line. Additional moves are then added according to another
user-supplied parameter, and without exceeding the dmax limit per column. The
matrix is then filled with values, starting from both ends (init and goal), constrained column-wise by the state invariants. A final sweep on all predicates
comments out some of the predicates with a given probability.
Station Mutation. Thanks to the simplified representation of the states
(a vector of fluents with a set of state invariants), it is straightforward to modify
one station randomly: with a given probability, a new value for the non-exclusive
arguments is chosen among the possible values respecting all constraints (including the distance constraints with previous and next stations). In addition, each
A New Memetic Scheme for Domain-Independent Temporal Planning
255
predicate might be commented out from the station with a given probability,
like in the initialization phase.
4
4.1
First Experiments
Single Objective Optimization
Our main playground to validate the Divide-and-Evolve approach is that of
transportation problems, and started with the zeno domain as described in
section 3.3. As can be seen in table 1, the description of the stations in zeno
domain involves a single predicate, at, with two arguments. It is exclusive w.r.t.
its first argument. Three instances have been tried, called zeno10, zeno12 and
zeno14, from the simplest to the hardest.
Algorithmic Settings. The EA that was used for the first implementation of
the Divide-and-Evolve paradigm use standard algorithmic settings at the population level: a (10, 70)−ES evolution engine (10 parents give birth to 70 children,
and the best 10 among the children become the next parents), the children are
created using 25% 1-point crossover (see section 2.3) and 75% mutation (individual level), out of which 25% are the Add (resp. Del) generic mutations
(section 2.3). The remaining 50% of the mutations call the problem-specific station mutation. Within a station mutation, a predicate is randomly changed in
75% of the cases and a predicate is removed (resp. restored) in each of the remaining 12.5% cases. (see section 3.6). Initialization is performed using initial
size in [2, 10], maximum distance of 3 and probability to comment out a predicate is set to 0.1. Note that no lengthy parameter tuning was performed for those
proof-of-concept experiments, and the above values were decided based upon a
very limited set of initial experiments.
The Fitness. The target objective is here the total makespan of a plan – assuming that a global plan can be found, i.e. that all problems (si , si+1 ) can be solved
by the local algorithm. In case one of the local problems could not be solved, the
individual is declared infeasible and is penalized in such a way that all unfeasible
individuals were worse than any feasible one. Moreover, this penalty is proportional to the number of remaining stations after the failure, in order to provide
a nice slope of the fitness landscape toward feasibility. For feasible individuals,
an average of the total makespan and the sum of the makespans of all partial
problems is used: when only the total makespan is used, some individuals start
bloating, without much consequence on the total makespan thanks to the final
compression that is performed by CPT, but nevertheless slowing down the whole
run because of all the useless repeated calls to CPT.
Preliminary Results. The simple zeno10 (resp. zeno12) instance can be solved
very easily by CPT-2 alone, in less than 2s (resp. 125s), finding the optimal plans
with makespan 453 (resp. 549) using 154 (resp. 27560) backtracks.
256
M. Schoenauer, P. Savéant, and V. Vidal
For zeno10, all runs found the optimal solution in the very first generations
(i.e. the initialization procedure always produced a feasible individual that CPT
could compress to the optimal makespan. For zeno12, all runs found a suboptimal solution with makespan between 789 and 1222. Note that this final
solution was found after 3 to 5 generations, the algorithm being stuck to this
solution thereafter. The CPU time needed for 10 generations is around 5 hours.
A more interesting case is that of zeno14. First of all, it is worth mentioning
that the present Divide-and-Evolve EA uses as local algorithm CPT version 2, and
this version of CPT was unable to find a solution to zeno14: the results given in
table 1 have been obtained using the (yet experimental and not usable from within
the EA) new version of CPT. But whereas it proved unable to solve the full problem, CPT-2 could nevertheless be used to solve the hopefully small instances of
zeno14 domain that were generated by the Divide-and-Evolve approach – though
taking a huge amount of CPU time for that. Setting a limit on the number of backtracks allowed for CPT was also mandatory to force CPT not to explore the too
complex cases that would have resulted in a never-returning call.
However, a feasible individual was found in each of the only 2 runs we could
run – one generation (70 evaluations) taking more than 10 hours. In the first
run, a feasible individual was found in the initial population, with makespan
1958, and the best solution had a makespan of 773. In the other run, the first
feasible solution was found at generation 3 – but the algorithm never improved
on that first feasible individual (makespan 1356).
Though disappointing with respect to the overall performances of the algorithm, those results nevertheless witness for the fact that the Divide-and-Evolve
approach can indeed solve a problem that could not be solved by CPT alone
(remember that the version of CPT that was used in all experiments is by far
less efficient than the one used to solve zeno14 in section 3.3, and was not able
to solve zeno14 at all.
4.2
A Multi-objective Problem
Problem Description. In order to test the feasibility of the multi-objective approach based on the Divide-and-Evolve paradigm, we extended the zeno benchmark with an additional criterion, that can be interpreted either as a cost, or
as a risk: in the former case, this additional objective is an additive measure,
whereas in the latter case (risk) the aggregation function is the max operator.
The problem instance is shown in Figure 1: the only available routes between
cities are displayed as edges, only one transportation method is available (plane),
and the duration of the transport is shown on the corresponding edge. Risks (or
costs) are attached to the cities (i.e., concern any transportation that either
lands or takes off from that city). In the initial state, the 3 persons and the 2
planes are in City 0, and the goal is to transport them into City 4.
As can be easily computed (though there is a little trick here), there are 3
remarkable Pareto-optimal solutions, corresponding to traversing only one of the
A New Memetic Scheme for Domain-Independent Temporal Planning
257
City 1
2
2
100
1000
3
4
4
City 2
5
3
City 4
10
Cost/Risk
City 0
Gen. 1
Gen. 3
Gen. 10
Gen. 28
800
600
400
200
6
6
City 3
1
a) The instance: Durations are attached to edges, costs/risks are attached to cities (in gray circles)
0
10
30
Makespan
b) The population at different generations for a successful run on the cost
(additive) instance of the zeno miniproblem of Figure 1-a
Fig. 1. The multi-objective Zeno benchmark
3 middle cities. Going through City 1 is fast, but risky (costly), whereas going
through City 3 is slow and safe and cheap.
When all persons go through respectively City 1, City 2 and City 3, the
corresponding values of the makespans and costs in the additive case are (8,
800), (16, 80) and (24, 8), whereas they are, in the max case, (8, 100),
(16, 10) and (24, 1).
Problem Complexity It is easy to compute the number of possible virtual stations: each one of the 3 persons can be in one of the 5 cities, or not mentioned
(absent predicate). Hence there are 36 = 729 possible combinations, and 729n
possible lists of length n. So even when n is limited to 6, the size of the search
space is approx. 1017 . . .
The Algorithm. The EA is based on the standard NSGA-II multi-objective
EA [3]: standard tournament selection of size 2 and deterministic replacement
among parents + offspring, both based on the Pareto ranking and crowding distance selection; a population size of 100 evolves during 30 generations. All other
parameters were those used for the single objective case.
Fitnesses. The problem has two objectives: one is the the total makespan (as in
the single-objective case), the other is either the risk (aggregated using the max
operator) or the cost (an additive objective). Because the global risk only takes
3 values, there is no way to have any useful gradient information when used as
fitness in the max case. However, even in the additive case, the same arguments
than for the makespan apply (section 4.1), and hence, in all cases, the second
objective is the sum of the overall risk/cost and the average (not the sum) of
258
M. Schoenauer, P. Savéant, and V. Vidal
the values for all partial problems – excluding from this average those partial
problems that have a null makespan (when the goal is already included in the
initial state).
Results. For the additive (cost) case, the most difficult Pareto optimum (going
through city 3 only) was found 4 times out of 11 runs. However, the 2 other
remarkable Pareto optima, as well as several other points in the Pareto front
were also repeatedly found by all runs. Figure 1-b shows different snapshots
of the population at different stages of the evolution for a typical successful
run: at first (‘+’), all individuals have a high cost (above 800); At generation 3
(‘×’), there exist individuals in the population that have cost less than 600; At
generation 10 (squares), many points have a cost less than 100. But the optimal
(24,8) solution is only found at generation 28 (circles).
The problem in the risk context (the max case) proved to be, as expected,
slightly more difficult. All three Pareto optima (there exist no other point of the
true Pareto front in the max case) were found only in 2 runs out of 11. However,
all runs found both the two other Pareto optima, as well as the slightly suboptimal solutions that goes only through city 3 but did not find the little trick
mentioned earlier, resulting in a (36,1) solution.
In both cases, those results clearly validate the Divide-and-Evolve approach
for multi-objective TPPs – remember that CPT has no knowledge of the risk/cost
in its optimization procedure - it only aggregates the values a posteriori, after
having computed its optimal plan based on the makespan only – hence the difficulty to find the 3rd Pareto optimum going only through city3.
5
Discussion and Further Work
A primary concern is the existence of a decomposition for any plan with optimal
makespan. Because of the restriction of the representation to the predicates
that are in the goal, some states become impossible to describe. If one of these
states is mandatory for all optimal plans, the evolutionary algorithm is unable
to find the optimal solution. In the zeno14 benchmark detailed in section 3.3,
for instance, one can see from the optimal solution that the in predicate should
be taken into account when splitting the optimal solution, in order to be able
to link a specific person to a specific plane. The main difficulty, however, is to
add the corresponding state invariant between at and in (a person is either at a
location or in a plane). Future work will include state invariants involving pairs
of predicates, to cope with such cases. Along the same line, we will investigate
whether it might be possible to automatically infer some state invariants from
the data structures maintained by CPT.
It is clear from the somehow disappointing results presented in section 4.1
that the search capabilities of the proposed algorithm should be improved. But
there is a lot of space for improvements. First, and most immediate, the variation
A New Memetic Scheme for Domain-Independent Temporal Planning
259
operators could use some domain knowledge, as proposed in section 2.3 – even if
this departs from “pure” evolutionary blind search. Also, all parameters of the
algorithm will be carefully fine-tuned.
Of course the Divide-and-Evolve scheme has to be experimented on more
examples. The International Planning Competition provides many instances in
several domains that are good candidates. Preliminary results on the driver
problem showed very similar results that those reported here on the zeno domain.
But other domains, such as the depot domain, or many real-world domains,
involve (at least) 2 predicates in their goal descriptions (e.g., in and on for
depot) . It is hence necessary to increase the range of allowed expressions in the
description of individuals.
Other improvements will result from the move to the new version of CPT,
entirely rewritten in C. It will be possible to call CPT from within the EA, and
hence to perform all grounding, pre-processing and CSP representation only
once: at the moment, CPT is launched anew for each partial computation, and a
quick look at table 1 shows that on zeno14 problem, for instance, the run-time
per individual will decrease from 250 to 55 seconds. Though this will not per
se improve the quality of the results, it will allow us to tackle more complex
problems than even zeno14. Along the same lines, other planners, in particular
sub-optimal planners, will also be tried in lieu of CPT, as maybe the Divideand-Evolve approach could find optimal results using sub-optimal planners (as
done in some sense in the multi-objective case, see section 4.2).
A last but important remark about the results is that, at least in the single
objective case, the best solution found by the algorithm was always found in
the very early generations of the runs: it could be that the simple splits of the
problem into smaller sub-problems that are done during the initialization are
the main reasons for the results. Detailed investigations will show whether or
not an Evolutionary Algorithm is useful in that context!
Nevertheless, we do believe that using Evolutionary Computation is mandatory in order to solve multi-objective optimization problems, as witnessed by the
results of section 4.2, that are, to the best of our knowledge, the first ever results
of Pareto optimization for TPPs.
References
1. A. H. Brie and P. Morignot. Genetic Planning Using Variable Length Chromosomes. In 15th Intl Conf. on Automated Planning and Scheduling, 2005.
2. T. Bylander. The Computational Complexity of Propositional STRIPS planning.
Artificial Intelligence, 69(1-2):165–204, 1994.
3. K. Deb, S. Agrawal, A. Pratab, and T. Meyarivan. A Fast Elitist Non-Dominated
Sorting Genetic Algorithm for Multi-Objective Optimization. In M. Schoenauer
et al., editor, PPSN’2000, pages 849–858. Springer-Verlag, LNCS 1917, 2000.
4. C. Desquilbet. Détermination de trajets optimaux par algorithmes génétiques.
Rapport de stage d’option B2 de l’Ecole Polytechnique. Palaiseau, France, Juin
1992. Advisor: Marc Schoenauer. In French.
5. R. Fikes and N. Nilsson. STRIPS: A New Approach to the Application of Theorem
Proving to Problem Solving. Artificial Intelligence, 1:27–120, 1971.
260
M. Schoenauer, P. Savéant, and V. Vidal
6. M. Fox and D. Long. The Automatic Inference of State Invariants in TIM. Journal
of Artificial Intelligence Research, 9:367–421, 1998.
7. M. Fox and D. Long. PDDL2.1: An Extension to PDDL for Expressing Temporal
Planning Domains. Journal of Artificial Intelligence Research, 20:61–124, 2003.
8. H. Geffner. Perspectives on Artificial Intelligence Planning. In Proc. AAAI-2002,
pages 1013–1023, 2002.
9. J. J. Grefenstette. Incorporating Problem Specific Knowledge in Genetic Algorithms. In Davis L., editor, Genetic Algorithms and Simulated Annealing, pages
42–60. Morgan Kaufmann, 1987.
10. W.E. Hart, N. Krasnogor, and J.E. Smith, editors. Recent Advances in Memetic
Algorithms. Studies in Fuzziness and Soft Computing, Vol. 166. Springer Verlag,
2005.
11. J. Koehler and J. Hoffmann. On Reasonable and Forced Goal Orderings and their
Use in an Agenda-Driven Planning Algorithm. JAIR, 12:338–386, 2000.
12. R. Korf. Planning as Search: A Quantitative Approach. Artificial Intelligence,
33:65–88, 1987.
13. D. McDermott. PDDL – The Planning Domain Definition language. At
http://ftp.cs.yale.edu/pub/mcdermott, 1998.
14. P. Merz and B. Freisleben. Fitness Landscapes and Memetic Algorithm Design. In
David Corne, Marco Dorigo, and Fred Glover, editors, New Ideas in Optimization,
pages 245–260. McGraw-Hill, London, 1999.
15. J.L. Schlabach, C.C. Hayes, and D.E. Goldberg. FOX-GA: A Genetic Algorithm
for Generating and Analyzing Battlefield Courses of Action. Evolutionary Computation, 7(1):45–68, 1999.
16. D. Smith and D. S. Weld. Temporal Planning with Mutual Exclusion Reasoning.
In Proceedings of IJCAI-99, pages 326–337, 1999.
17. L. Spector. Genetic Programming and AI Planning Systems. In Proc. AAAI 94,
pages 1329–1334. AAAI/MIT Press, 1994.
18. V. Vidal and H. Geffner. Branching and Pruning: An Optimal Temporal POCL
Planner based on Constraint Programming. In Proceedings of AAAI-2004, pages
570–577, 2004.
19. D. S. Weld. An Introduction to Least Commitment Planning. AI Magazine,
15(4):27–61, 1994.
A Variable Neighbourhood Search Algorithm for Job
Shop Scheduling Problems
Mehmet Sevkli1 and M. Emin Aydin2,*
1
Fatih University, Dept. of Industrial Engineering, Buyukcekmece, Istanbul, Turkey
[email protected]
2 University of Luton, Department of Computing and Information Systems, Luton, UK
[email protected]
Abstract. Variable Neighbourhood Search (VNS) is one of the most recent
metaheuristics used for solving combinatorial optimization problems in which a
systematic change of neighbourhood within a local search is carried out. In this
paper, a variable neighbourhood search algorithm is proposed for Job Shop
Scheduling (JSS) problem with makespan criterion. The results gained by VNS
algorithm are presented and compared with the best known results in literature.
It is concluded that the VNS implementation is better than many recently published works with respect to the quality of the solution.
1 Introduction
Metaheuristics are general strategies for designing heuristic procedures to solve an
optimization problem by a search process on the solution space. The heuristic search
procedures are generally based on transformations of the alternatives that determine a
neighbourhood structure on the solution space. Variable neighbourhood search (VNS)
is a recent metaheuristic for solving combinatorial and global optimization problems
whose basic idea is systematic change of neighbourhood within a local search. It is
based upon a simple principle: change the neighbourhood structure when the search is
trapped on a local minimum, which is very likely in most of combinatorial and/or
multi-model numerical optimisation problems. Especially, as search space grows fast
with growing problem sizes, the likelihood of being trapped in local minima becomes
inevitable. The main concern of research in this field is to recover trapped search or to
put effort for preventing on-line. VNS offers a multiple neighbourhood structure with
which one recovers the solutions trapped via the others. The main idea here is to
choose heuristics (neighbourhood structures) complementary to each other.
Job Shop Scheduling (JSS) problems with the objective function of minimizing
makespan (Cmax) is one of the best known and strongly NP-hard [16] combinatorial
optimization problems. Among the benchmarks within the literature, small size instances of the JSS problems can be solved in reasonable computational time by exact
algorithms such as branch-and-bound approach [3, 10]. However, when the problem
size increases, the computational time of the exact methods grows exponentially.
*
Corresponding author.
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 261 – 271, 2006.
© Springer-Verlag Berlin Heidelberg 2006
262
M. Sevkli, and M.E. Aydin
Therefore, the recent research on JSS problems is focused on heuristic algorithms
such as Simulated Annealing (SA) [4, 21, 27], Genetic Algorithm (GA) [7, 14, 17,
18], Taboo Search (TS) [13, 23, 24], Ant Colony Optimization (ACO) [8, 12], Neural
Network (NN) [26], Shifting Bottleneck Procedure [1, 19], Guided Local Search [5],
Parallel Greedy Randomized Adaptive Search Procedure (GRASP) [2] and Constraint
Propagation [14]. A comprehensive survey of the JSS problem can be found in [20].
In this paper, we propose a new implementation of VNS algorithm for JSS problems. The main idea of new implementation is to look for the best time and condition
to switch to the other neighbourhood structure from one, whereas heuristics are utilised on a periodical bases in traditional VNS. That is to diversify the solution when it
needs. The algorithms have been tested with several hard benchmark instances of the
JSS problems. The novelty of this study comes from the success of modified VNS
algorithm as it is the first implementation of VNS for JSS problems to our knowledge.
The organization of this paper is as follows. Section 2 introduces the foundations
of VNS algorithm, job shop scheduling problems and the representation method exploited in this study. A novel implementation of VNS, namely Modified VNS, is
elaborated in Section 3 while experimental results are presented and discussed in
Section 4. Finally, Section 5 presents the concluding remarks.
2 Background
In the following sub-sections, the foundations of VNS, JSS and the way in which JSS
problems are represented have been elaborated.
2.1 Variable Neighbourhood Search (VNS) Algorithms
VNS algorithm, one of very well-known local search methods [22], gets more attention day-by-day, because of its ease of use and accomplishments in solving combinatorial optimisation problems [25, 28]. Basically, a local search algorithm carries out
exploration within a limited region of the whole search space. That facilitates a provision of finding better solutions without going further investigation. The VNS is a
simple and effective search procedure that proceeds to a systematic change of
neighbourhood. An ordinary VNS algorithm (Fig. 1) gets an initial solution, s∈S,
where S is the whole set of search space, than manipulates it through a two nested
loop in which the core one alters and explores via two main functions so called shake
and localSearch. The outer loop works as a refresher reiterating the inner loop, while
the inner loop carries the major search. localSearch explores an improved solution
within the local neighbourhood, whilst shake diversifies the solution by switching to
another local neighbourhood. The inner loop iterates as long as it keeps improving the
solutions, where an integer, k, controls the length of the loop. Once an inner loop is
completed, the outer loop re-iterates unless the termination condition is not met. Since
the complementariness of neighbourhood functions is the key idea behind VNS, the
neighbourhood structure / heuristic functions should be chosen very rigorously so as
to achieve an efficient VNS.
A Variable Neighbourhood Search Algorithm for Job Shop Scheduling Problems
263
Fig. 1. A pseudo code for VNS algorithm
2.2 Job Shop Scheduling Problems
Job Shop Scheduling (JSS) problems have been studied for a long time. Since it is not
that easy to reach the optimal solutions within a short time, because of the NP-Hard
nature, and there is no guarantee to switch to a better state from a feasible state, this
problem type has been a very strong testbed for metaheuristics. Furthermore, they
have never been dropped from scientific research.
The problem is comprised of a set of jobs (J) to be processed on a set of machines
(M) subject to a number of technological constraints. Each job consists of m operations, Oj={o1j,…,omj}, each operation must be processed on a particular machine, and
there is only one operation of each job to be processed on each machine. There is a
predefined order of the operations of each particular job in which each operation has
to be processed after its predecessor (PJj) and before its successor (SJj). In the end of
the whole schedule, each machine completes processing n operations in an order that
is determined during the scheduling time, although there is no such order initially.
Therefore, each operation processed on the Mi has a predecessor (PMi ) and a successor (SMi ). A machine can process only one operation at a time. There are no set-up
times, no release dates and no due dates.
Each operation has a processing time (pij) on related machine starting at the time of rij .
The completion time of oij is therefore: cij=rij+pij, where i = (1,...,m), j = (1,..., n) and
rij = max(ciPJ j , cPM i j ) . Machines and jobs have particular completion times, which are
denoted and identified as: CMi = cin and C J j = cin where cin and cjm are the completion time
of the last (nth) operation on ith machine and the completion time of the last (mth) operation of jth job, respectively. The overall objective is to minimise the completion time of
the whole schedule (makespan), which is the maximum of machines’ completion times,
Cmax = max (CM1,...,CMm ). The representation is done via a disjunctive graph, as it is
widely used.
264
M. Sevkli, and M.E. Aydin
2.3 Problem Representation
Schedules are represented in a set of integers, where each stands for an operation. It is
also called chromosome of n×m gene represents a problem of n jobs, m machines.
Since each integer does not represent a certain operation, but the last completed operation of corresponding job, each job is represented m times within the chromosome.
This way of representation prevents infeasibility, and always provide with a feasible
active schedule. For instance, we are given a chromosome of [2 1 2 2 1 3 1 3 3],
where {1, 2, 3} represents { j1 , j2 , j3 } respectively. Obviously, there are totally 9
operations, but, 3 different integers, each is repeated 3 times. The integer on the first
gene, 2, represents the first operation of the second job to be processed first on corresponding machine. Likewise, the integer on the second gene, 1, represents the first
operation of the first job on corresponding machine. Thus, the chromosome of [2 1 2
2 1 3 1 3 3] is understood as [o21, o11, o22, o23, o12, o31, o13, o32, o33] where oij stands for
the ith operation of jth job. More details can be found in [11].
2.4 Neighbourhood Structure
The neighbourhood structure with which the neighbouring solutions are determined to
move to is one of the key elements of metaheuristics, as the performance of the metaheuristic algorithm significantly depends on the efficiency of the neighbourhood
structure. The following two neighbourhood structures are employed in this study:
- Exchange is a function used to move around in which any two randomly selected operations are simply swapped. For instance, suppose that we are given
a state of [2 1 2 2 1 3 1 3 3] and the two random numbers derived are 2 and 8.
After applying Exchange, the new state will be [2 1 3 2 1 3 1 3 2]. Obviously,
the 2nd and 8th genes of the chromosome were 2 and 3, respectively. Applying
Exchange function, the new 2nd and 8th genes were swapped and turned to 3
and 2, respectively.
- Insert is another fine-tuning function that inserts a randomly chosen gene in
front or back of another randomly chosen gene. For instance, we are given the
same state as before. In order to apply Insert, we also need to derive two random numbers; one is for determining the gene to be inserted and the other is
for the gene that insertion to be done in front/back of it. Let us say those number are 3 and 5, where 3rd gene is 2 and the 5th one is 3. Consecutively, the new
state will be [2 1 2 1 2 3 1 3 3].
Although there are other possible functions to be applied, we preferred the aforementioned functions due to their simplicity and ease of use alongside of a reasonable
efficiency.
3 The Modified VNS Implementation for JSS
The VNS implementation for JSS problems has been carried out based on the aforementioned information provided. Exchange and Insert functions are adopted as local
search and shake respectively, meaning that the solution undertaken is shaked by
A Variable Neighbourhood Search Algorithm for Job Shop Scheduling Problems
265
Insert function and then submitted it to the local search that manipulates the solution
by Exchange. Although Insert and Exchange are found very complementary to each
other, the VNS developed ordinarily has not provided impressive results. For that
purpose, we kept investigating for a better equipped VNS algorithm in which the
problems can be solved straightforwardly.
Modified VNS algorithm is the newly developed VNS implementation based on
complementary heuristics for better quality of solution within a shorter time. We
realised that the main bottleneck of VNS lies in the pairing of the heuristics to shape
up, shake and localSearch functions. In fact, they have to complete each other so as to
develop an efficient algorithm. For this purpose, the core of VNS algorithm, which
functions in the middle, has been shaped up with two complementary heuristics, exchange and insert, in a way that the heuristics runs as the shake function is invoked
whenever it is needed subject to the conditions. Otherwise, the one functions as localSearch keeps running. The other significant novelty is the insert of a perturbation
function into the algorithm. This is because of the need of periodical diversification in
the search. In many cases, local optima blocks the way of search, especially in the
algorithms as such.
Fig. 2. Pseudo code for Modified VNS algorithm
Modified VNS algorithm is sketched in a pseudo code given by Fig. 2. As explained in the previous paragraph, it has been developed wrapping shake and local
search functions into a combined function, which allows each working subject to
certain conditions. In addition, it has been equipped with a perturbation function outside the inner loop. This algorithm has been tested as reported in the following section. The perturbation procedure consists of a combination of Exchange and Insert
functions, where Exchange operates first, then Insert runs with its outcome and finally
Exchange re-operates on the outcome of Insert. This is shown by Fig. 3.
266
M. Sevkli, and M.E. Aydin
Fig. 3. The way perturbation function is shaped up
4 Experimental Results
In this paper, we propose a VNS implementation for job shop scheduling problems
with a wide range of experimentation. In the following section, we provide with
experimental results and relevant discussions in order to make clear the fundamentals
of the implementation. The measures considered in this study are mainly about quality
of solution and/or computational time. The success of the algorithm regarding the
quality of solution has mainly been accounted with respect to the relative percentage
of error (RPE) index, which is calculated as follows:
RPE =
(bf − opt)
× 100
opt
(1)
where bf is the best makespan found and opt is either the optimum or the lowest
boundary known for unknown optimum values. Obviously, RPE is calculated based
on the mean, and also can be measured benchmark-by-benchmark. In order to review
the results in a broader point of view, we developed a second index based on the latter
RPE calculation averaged over the 30 repetitions. That is called ARPE standing for
averaged relative percentage of error. The third index used is the hitting-ratio (HR)
being calculated as the number of optimum found through the whole repetitions. This
is needed as other indexes may not build a sufficient level of confidence with the
results. The experimentation was carried out on a PC equipped with Intel Pentium IV
2.6 GHz processor and 256MB memory. The software coded in C programming language. The JSS benchmark problems, which are very well known within the field,
were picked up from OR-Library [6].
In Table 1, the experimental results gained by VNS and Modified VNS algorithms
with respect to the quality of solutions measured in RPE, ARPE and HT indexes,
where first two are minimized and the last one (HR) is maximized. The experiments
have been conducted over 31 benchmarks tackled; some are known moderately hard
but some are very hard. The accomplishments of both algorithms are clearly reflected.
Last three columns of Table 1 are assigned for the results gained by the ordinary
VNS, while the middle three present the results by Modified VNS, which are significantly better and evidently improved. HR index by normal VNS remains 0 % for
almost all of the benchmarks, which means that almost none of the trail of experiments provided with an optimum makespan for none of the benchmarks. On the other
hand, HR by Modified VNS remains 0 % for only 7 of 31 benchmarks, which are
known very difficult, where the 11 of 31 are 50 % or more and the rest provided with
less than 50 % provision of optimum. The other two indexes by normal VNS are very
solidly and significantly higher than the ones by Modified VNS.
A Variable Neighbourhood Search Algorithm for Job Shop Scheduling Problems
267
Table 1. Results obtained from two VNS algorithms with respect to 3 indexes for quality of
solutions
Benchmarks
Name
Modified VNS
Ordinary VNS
Opt.
RPE
ARPE
HR
RPE
ARPE
HR
ft10
930
0.00
0.55
0.60
3.02
7.47
0.00
ft20
1165
0.00
0.54
0.50
1.27
2.70
0.00
la16
945
0.00
0.30
0.50
0.11
2.26
0.00
la19
842
0.00
0.09
0.93
2.77
3.57
0.00
abz05
1234
0.00
0.10
0.60
0.00
0.86
0.03
abz06
943
0.00
0.00
1.00
2.38
2.58
0.00
orb01
1059
0.00
1.47
0.13
2.22
4.79
0.00
orb02
888
0.11
0.33
0.00
0.89
2.92
0.00
orb03
1005
0.00
2.60
0.10
6.25
7.85
0.00
orb04
1005
0.00
0.62
0.40
1.66
3.48
0.00
orb05
887
0.00
0.31
0.17
2.31
4.92
0.00
orb06
1010
0.00
0.89
0.10
2.04
7.20
0.00
orb07
397
0.00
0.27
0.80
2.46
3.31
0.00
orb08
899
0.00
1.63
0.23
1.86
5.45
0.00
orb09
934
0.00
0.78
0.13
0.53
2.94
0.00
orb10
944
0.00
0.00
1.00
0.74
4.19
0.00
abz07
656
0.46
2.01
0.00
4.93
6.45
0.00
abz08
665
0.60
1.99
0.00
6.99
7.28
0.00
abz09
679
0.15
2.17
0.00
6.34
7.16
0.00
la21
1046
0.00
0.62
0.03
1.88
4.81
0.00
la22
927
0.00
0.24
0.57
1.70
2.90
0.00
la24
935
0.00
0.60
0.03
1.58
4.12
0.00
la25
977
0.00
0.64
0.07
0.91
3.72
0.00
la27
1235
0.08
0.91
0.00
2.76
4.08
0.00
la28
1216
0.00
0.03
0.87
1.38
2.33
0.00
la29
1152
0.95
1.80
0.00
5.88
7.39
0.00
la36
1268
0.00
0.49
0.27
1.78
3.60
0.00
la37
1397
0.00
0.73
0.37
3.72
5.62
0.00
la38
1196
0.00
0.97
0.07
2.13
5.18
0.00
la39
1233
0.00
0.43
0.30
1.83
3.49
0.00
la40
1222
0.16
0.42
0.00
2.16
3.59
0.00
The investigation on fine-tuning the local search algorithms has been carried out
over various combinations of aforementioned local search heuristics, namely Exchange and Insert. Table 2 reflects the performances of each case considered with
respect to the three performance indexes. The cases considered are Exchange only,
Insert only, Exchange with Insert, Insert with Exchange and Exchange with Insert
268
M. Sevkli, and M.E. Aydin
without perturbation. Obviously, the worst case indicated in the lowermost row of
Table 2 presents the performance of Exchange with Insert without Perturbation,
which reflects the significance of perturbation in this algorithm. The other cases are
not that significantly worse, where the performance of Exchange only and Insert only
are remarkably distinguishable from other two. The rest two cases are not significantly different from each other, though Exchange with Insert seems the best in numbers as PRE and HR indexes are better, but APRE is worse than Insert with
Exchange. All these experiments are carried out over 30 trails each.
Table 2. The performance of various heuristics with modified VNS algorithms with respect to
all three indexes
PRE
ARPE
HR
Exchange
Heuristics
0.30
1.22
0.52
Insert
0.13
1.00
0.74
Exchange+Insert
0.08
0.79
0.77
Insert+Exchange
0.13
0.76
0.71
Without Perturbation
0.44
3.10
0.45
The impact of perturbation is obvious from Table 2 as the worst case indicated is
the case with which perturbation operation has not been considered. As mentioned
before, perturbation operation is a combined operation of Exchange and Insert functions, where Exchange operates once before and once after Insert. The idea behind
this operation is to release the possible restrictions of some improved results via the
heuristics; each functions as an independent hill climber. Perturbation refreshes the
solution and provides some diversity for preventing further traps.
Table 3 presents results provided with various meta-heuristics recently published
and Modified VNS algorithm with respect to the quality of the solutions in PRE index, which is the only measure provided in common. The benchmarks chosen are
those which considered very hard among the list of 31 in Table 1. We are not able to
provide a comparison for the whole list of benchmarks provided in Table 1 as the
comparing works have mostly considered those listed in Table 3, but not the whole
list of Table 1. These algorithms taken into account are listed as follows:
-
Distributed evolutionary simulated annealing algorithm (dESA) Aydin and
Fogarty [4].
Ant colony optimization algorithm (ACO GSS) by Blum and Sampels [8].
Parallel GRASP with path-relinking (GRASP) by Aiex et al.[2]
A Hybrid Genetic Algorithm (HGA) by Goncalves et al.[18].
A Tabu Search Method (TSSB) by Pezzella and Merelli [24].
Obviously, the column providing best results is the last one that presents the results with Modified VNS, where the others are competitive among one another. The
last row presents the average PRE values of each column, where the minimum is also
in the column of VNS. All these results prove the strength of this VNS implementation (Modified VNS) for JSS problems.
A Variable Neighbourhood Search Algorithm for Job Shop Scheduling Problems
269
Table 3. A comparison among the meta-heuristics recently published with respect to the quality
of the solution in RPE index
Benchmarks
PRE performance
ACO
GSS [8]
GRASP
[2]
TSSB
[24]
656
2.44
2.74
5.49
VNS
NA
1.52
0.46
abz08
665
2.41
3.61
abz09
679
2.95
3.39
6.02
NA
1.95
0.60
8.98
NA
2.06
la21
1046
0.00
0.15
0.10
1.05
0.00
0.00
la24
935
0.00
0.32
0.96
2.03
1.93
0.32
la25
0.00
977
0.00
0.00
0.72
0.92
0.20
0.00
la27
1235
0.40
0.65
2.75
1.70
0.00
0.08
la29
1152
2.08
1.39
4.43
3.82
1.39
0.95
la38
1196
0.42
2.59
1.84
1.92
0.42
0.00
la40
1222
0.49
0.49
1.80
1.55
0.90
0.16
1.15
1.59
3.51
1.69
0.88
0.24
Name
Opt.
abz07
Average
dESA
[4]
HGA
[18]
5 Conclusion
Job shop scheduling problem has been studied for far a long time. Because of its hardness and being representative for planning problems, many methods have been tested
with this family of problems. In this paper, a novel VNS implementation has been
introduced for classical job shop problems. The novelty of this implementation is
provided with a combined local search algorithm and a perturbation function which
frequently refreshes the solution undertaken. It has been shown that this method has
done well and outperformed a number of recently published meta-heuristics. The
research is ongoing on the course of parallelization of VNS algorithm to get better
quality of solution within far shorter time.
References
1. Adams, J., Balas, E., and Zawack, D. :The Shifting Bottleneck Procedure for Job Shop
Scheduling. Management Science 34 (1988) 391-401.
2. Aiex, R. M., Binato, S., and Resende, M. G. C. :Parallel GRASP with Path-Relinking for
Job Shop Scheduling. Parallel Computing 29 (2003) 393-430.
3. Applegate, D., and Cook, W. :A Computational Study of Job-Shop Scheduling. ORSA
Journal on Computing 3(2) (1991) 149-156.
4. Aydin, M. E., and Fogarty, T. C.: A Distributed Evolutionary Simulated Annealing Algorithm for Combinatorial Optimisation Problems. Journal of Heuristics 10 (2004) 269-292.
5. Balas, E., and Vazacopoulos, A. :Guided Local Search with Shifting Bottleneck for Job
Shop Scheduling. Management Science 44 (1998) 262-275.
270
M. Sevkli, and M.E. Aydin
6. Beasley, J.E. "Obtaining Test Problems via Internet." Journal of Global Optimisation 8,
429-433, http://people.brunel.ac.uk/~mastjjb/jeb/info.html.
7. Bierwith, C. :A Generalized Permutation Approach to Job Shop Scheduling with Genetic
Algorithms. OR Spektrum 17 (1995) 87-92.
8. Blum, C., and Sampels, M. :An Ant Colony Optimization Algorithm for Shop Scheduling
Problems. Journal of Mathematical Modelling and Algorithms 3 (2004) 285-308.
9. Bruce, K.B., Cardelli, L., Pierce, B.C.: Comparing Object Encodings. In: Abadi, M., Ito,
T. (eds.): Theoretical Aspects of Computer Software. Lecture Notes in Computer Science,
Vol. 1281. Springer-Verlag, Berlin Heidelberg New York (1997) 415–438
10. Carlier, J., and Pison, E. :An Algorithm for Solving the Job-Shop Problem, Management
Science 35 (1989) 164-176.
11. Cheng, R. , Gen, M., and Tsujimura, Y. :A Tutorial Survey of Job Shop Scheduling Problems Using genetic Algorithms-I. Representation. Journal of Computers and Industrial Engineering 30(4) (1996) 983-997.
12. Colorni, A., Dorigo, M., Maniezzo, V., and Trubian, M. :Ant System for Job-Shop Scheduling. Belgian Journal of Operations Research, Statistics and Computer Science
(JORBEL) 34(1) (1994) 39-53.
13. Dell'Amico, M., and Trubian, M. :Applying Tabu-Search to the Job-Shop Scheduling
Problem. Annals of Operations Research 4 (1993) 231-252.
14. Dorndorf, U., and Pesch, E.: Evolution Based Learning in a Job Shop Scheduling Environment, Computers & Operations Research 22 (1995) June 26, 2005 0:30 International
Journal of Production Research "A hybrid PSO for the JSSP"
15. Dorndorf, U., Pesch, E., and Phan-Huy, T.: Constraint Propagation and Problem Decomposition: A Preprocessing Procedure for the Job Shop Problem, Annals of Operations Research 115 (2002) 125-145.
16. Garey, M. Johnson, D., and Sethy, R. :The Complexity of Flow Shop and Job Shop
Scheduling. Mathematics of Operations Research 1 (1976) 117-129.
17. Groce, F. D. Tadei, R., and Volta, G. :A Genetic Algorithm for the Job Shop Problem.
Computers & Operations Research 22 (1995) 15-24.
18. Goncalves, J. F., Mendes, J. M., and Resende, M. :A hybrid genetic algorithm for the job
shop scheduling problem, European Journal of Operations Research 167(1) (2004) 77-95.
19. Huang, W., and Yin, A. : An Improved Shifting Bottleneck Procedure for the Job Shop
Scheduling Problem. Computers & Operations Research 31 (2004) 2093-2110.
20. Jain, A., and Meeran, S. : Deterministic Job-Shop Scheduling: Past, Present and Future.
European Journal of Operational Research. 113: (1999) 390-434.
21. Kolonko, M. :Some New Results on Simulated Annealing Applied to the Job Shop Scheduling Problem. European Journal of Operational Research 113, (1999) 123-136.
22. Mladenovic, N., and Hansen, P. :Variable Neighborhood Search. Computers and Operations Research 24 (1997) 1097-1100.
23. Nowicki, E., and Smutnicki, C.: A Fast Taboo Search Algorithm for the Job Shop Problem. Management Science 42 (1996) 797-813.
24. Pezzella, F. and Merelli, E. :A Tabu Search Method Guided by Shifting Bottleneck for the
Job Shop Scheduling Problem. European Journal of Operational Research 120:297-310,
2000.
25. Ribeiroa, C. C. and Souza, M., C.: Variable neighborhood search for the degree-constrained
minimum spanning tree problem, Discrete Applied Mathematics 118 (2002) 43–54
26. Satake, T., Morikawa, K., Takahashi, K., and Nakamura, N. :Neural Network Approach
for Minimizing the Makespan of the General Job- Shop. International Journal of Production Economics 33 (1994) 67-74.
A Variable Neighbourhood Search Algorithm for Job Shop Scheduling Problems
271
27. Satake, T., Morikawa, K., Takahashi, K., and Nakamura, N. :Simulated Annealing Approach for Minimizing the Makespan of the General Job- Shop. International Journal of
Production Economics 60 (1999) 515-522.
28. Urosevic,D., Brimberg,J. and Mladenovic, N., Variable neighborhood decomposition
search for the edge weighted k-cardinality tree problem, Computers & Operations Research 31 (2004) 1205-1213
An Efficient Hybrid Search Algorithm for Various
Optimization Problems
Mario Vanhoucke1,2
1
2
Ghent University, Hoveniersberg 24, 9000 Ghent, Belgium
Vlerick Leuven Gent Management School, Reep 1, 9000 Ghent, Belgium
[email protected]
[email protected]
Abstract. This paper describes a detailed study of a recursive search algorithm
for different optimization problems. Although the algorithm has been originally
developed for a project scheduling problem with financial objectives, we show
that it can be extended to many other application areas and therefore, can serve
as a sub-procedure for various optimization problems. The contribution of the
paper is threefold. First, we present a hybrid recursive search procedure for the
project scheduling problem with net present value maximization and compare it
with state-of-the-art procedures by means of computational tests. Second, we
show how the procedure can be adapted to two other application areas: project
scheduling with work continuity minimization and the open pit mining problem.
Last, we highlight some future research areas where this hybrid procedure
might bring a promising contribution.
1 Introduction
In 1964, [1] introduced the idea of maximizing the net present value (npv) of the cash
flows of a project as a financially highly relevant criterion. Since then, a large amount
of algorithms have been presented in the literature under different assumptions with
respect to network representation (activity-on-the-node versus activity-on-the-arc) and
cash flows patterns (positive and/or negative, event-oriented or activity-based and
time-dependent vs. time-independent). In their paper [17] examined the rationale
behind this idea and gave an overview of the existing algorithms.
The basic problem under study involves the scheduling of project activities in order
to maximize the net present value (npv) of the project in the absence of resource
constraints. Assume that the project is represented by an activity-on-the-node (AoN)
network G = (N, A) where the set of nodes, N, represents activities and the set of arcs,
A, represents the precedence constraints. The activities are numbered from the dummy
start activity 1 to the dummy end activity n. The duration of an activity is denoted by
di (1 ≤ i ≤ n) and the performance of each activity involves a series of cash flow
payments and receipts throughout the activity duration. Assume that cfit (1 < i < n)
denotes the known deterministic cash flow of activity i in period t of its execution. A
terminal value of each activity upon completion can be calculated by compounding
the associated cash flow to the end of the activity as follows:
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 272 – 283, 2006.
© Springer-Verlag Berlin Heidelberg 2006
An Efficient Hybrid Search Algorithm for Various Optimization Problems
∑ cf eα
di
ci =
( d i −t )
it
273
(1)
t =1
where α represents the discount rate and ci the terminal value of cash flows of activity
i at its completion. The nonnegative integer variables si and fi (1 ≤ i ≤ n) denote the
starting time and completion time, respectively, of activity i. The discounted value of
activity i at the beginning of the project is
ci e −α ( si + di ) = ci e −α fi
(2)
A formulation of the problem can be given as follows:
∑c e α
n
− ( si + d i )
(3)
s i + l ij ≤ s j , ∀(i, j ) ∈ A
(4)
sn ≤ δ n
(5)
s1 = 0
(6)
Maximize
i
i =1
Subject to
The objective in Eq. (3) maximizes the net present value of the project. The
constraint set given in Eq. (4) maintains the precedence relations with time-lag lij
among the activities. Eq. (5) limits the project duration to a negotiated project
deadline δn and Eq. (6) forces the dummy start activity to start at time zero. The timelag lij and the different types of generalized precedence relations can be represented in
a standardized form by reducing them to minimal start-start precedence relations as
shown by [2].
The early research has focused on the case where activity cash flows are
independent on the completion times of the corresponding activities. Depending on
the type of precedence relations, we distinguish between problems where only
minimal time-lags between the activities are considered and problems with
generalized precedence constraints, i.e. where both minimal and maximal time-lags
are taken into account. Following the classification scheme of [18], the first type of
project scheduling problem can be categorized as min,δn,cj⎪npv and is further denoted
as the max-npv problem. Exact algorithms for the max-npv problem have been
presented by [6], [10], [15], [16], [25] and [32]. The introduction of generalized
precedence relations (gpr) transforms the problem into the max-npv-gpr problem
(problem gpr,δn,cj⎪npv) and is the topic of research done by [8], [20], [23], [26]
and [27].
Recent research has focused on the case where activity cash flows are dependent
on the completion times of the corresponding activities (e.g. the papers by [3], [4],
[5], [12], [13], [21], [28], [29], [32], [33] and [34]). In this paper, however, we restrict
274
M. Vanhoucke
our attention to the maximization of the net present value of an unconstrained project
in which we assume that the cash flows are time-independent. We show that an
efficient hybrid solution procedure for the cash-flow problem can be extended to
many other applications areas, and therefore, might be a promising algorithm for
future research purposes.
The organization of the paper is as follows. In section 2 we briefly review the
literature for the max-npv-gpr problem. Furthermore, we present a hybrid search
algorithm for the max-npv-gpr problem based on ideas from different sources in
literature. In section 3 we report the results of a computational experiment set up to
validate the hybrid procedure described in this paper. In section 4 we describe two
applications where the efficient hybrid algorithm can be used as a sub-problem. We
conclude in section 5 with some overall conclusions.
2 The Max-npv-gpr Procedures
In section 2.1 we give an overview of the procedures in literature for the max-npv-gpr
problem. In section 2.2 we discuss a hybrid approach in order to improve efficiency.
Section 2.3 presents a project example.
2.1 The Max-npv-gpr Procedures in Literature
[20] has presented an exact solution procedure for the max-npv-gpr problem based on
the approach by [15]. The introduction of a new pivot rule extends this last procedure
to generalized precedence relations. [6] propose an activity-oriented recursive search
algorithm for the max-npv problem as described in Eqs. (3)-(6) with lij = di for all (i, j)
∈ A. [32] have updated this recursive search algorithm and incorporated it in a
branch-and-bound algorithm for the resource-constrained max-npv problem. [8] have
extended this procedure using the so-called distance matrix D in order to cope with
generalized precedence relations. [9] have embedded the procedure of [8] into a
branch-and-bound algorithm for the resource-constrained project scheduling problem
with discounted cash flows and generalized precedence constraints. [23] have adapted
the procedure by [15] and have investigated different pivot rules. Finally, [26] and
[27] have presented a steepest ascent algorithm and compared different solution
procedures on two randomly generated test sets. Note that [22] have shown that the
project scheduling problem with general cost functions can be transformed into a
minimum-cut problem, and hence, can be solved by any minimum-cut solution
procedure. In the next sub-sections, we present a hybridized method based on the
recursive search principles taken from [6], [8], [26], [27] and [32].
2.2 Hybridization of Max-npv-gpr Procedures
In this section, we extend the recursive search procedure of [32] to cope with
generalized precedence relations. Furthermore, we hybridize this adapted recursive
search method with ideas from the steepest ascent approach of [26] and [27] and
extend it with a forward/backward calculation principle.
An Efficient Hybrid Search Algorithm for Various Optimization Problems
275
2.2.1 Adapting the Recursive Search Procedure for the Max-npv-gpr Problem
Although the original recursive search procedure of [32] has been developed for
minimal precedence relations with a time-lag of zero, it can be easily modified in
order to cope with generalized precedence relations. The procedure builds an initial
tree for the project, and then iteratively searches the tree for sets of activities to shift.
These activities are then shifted forwards in time within a calculated displacement
interval, aiming at an improvement of the total net present value. In the adapted
procedure, the allowable displacement interval vkl, which simply calculates the
minimal distance over which an activity set SA can be shifted forwards in time, need
to take the generalized precedence relations into account, as follows:
vk *l* = min {sl − s k − lkl }
( k ,l )∈A
k∈SA
l∉SA
(7)
This interval simply calculates all time windows between all activities k ∈ SA and l
∉ SA, taking into account the time-lags lkl, and selects the shortest time window for
arc (k*, l*). Note that [8] also has transformed the procedure of [32] to cope with
generalized precedence relations, but uses the distance matrix D as a basis for the tree
calculation. Our adapted approach uses the original precedence relations as a basis for
the tree calculations, and hence, avoids the time-consuming computation of this
distance matrix.
In section 3, we refer to the modified procedure as “RS-gpr” and use the
abbreviations “DM-gpr” to refer to [8].
2.2.2 A Hybrid Search Procedure
The steepest ascent approach [27] follows a similar approach than the recursive
search method [32] but there are a number of differences. In the recursive search
method, each time a set of activities SA has been found which can be shifted forwards,
a number of steps are successively performed. First, the allowable displacement
interval vkl is calculated and the activities are shifted. Second, the search tree ST is
updated and finally, the recursion step is repeated to search for another set of
activities to shift. The steepest ascent approach calculates all sets of activities in one
step and shifts them one by one in a second step.
The hybrid approach which is the subject of this section divides the logic of the
recursive search method into two parts and borrows ideas from both the recursive
search algorithm of [32] and the steepest ascent procedure of [27]. The first part
(denoted as the “recursion” sub-procedure) only searches for sets of activities SA with
a negative npv and which are, consequently, candidates to be shifted. The second step
(referred to as the “shift_activities” sub-procedure) calculates an allowable
displacement interval for each set SA ∈ SS similar to Eq. (7).
The pseudocode of a hybrid approach is described hereafter. We use SA to denote
the set of activities to be shifted, SS to denote the various sets SA found in the
recursion step, Z to denote all the activities in SS that are candidates to be shifted, CA
to denote the set of already considered activities during the search process and DC to
denote the discounted cash flows. The symbol “→” refers to the output of the
recursion sub-procedure.
276
M. Vanhoucke
Procedure Hybrid_recursive_search
CA = SS = ∅
Do Recursion(1)
If SS ≠ ∅ then
Shift_activities(SS) and repeat Recursion(1)
Else
Report the optimal solution (DC’)
Return
The pseudo-code of the two sub-procedures can be described as follows:
Sub-procedure Recursion(newnode)
SA = {newnode}, DC = DCnewnode and CA
Do ∀i|i∉CA and i succeeds newnode
Recursion(i) → SA’, DC’
If DC’≥0 then set SA = SA ∪ SA’
Else ST = ST\(newnode,i) and SS
Do ∀i|i∉CA and i precedes newnode
Recursion(i) → SA’, DC’
Set SA = SA ∪ SA’ and DC = DC +
Return
= CA ∪ {newnode}
in the tree ST:
and DC = DC + DC’
= SS ∪ SA’
in the tree ST:
DC’
Sub-procedure Shift_activities(SS)
Let Z = {i∈SA|SA∈SS} be the set of activities which can
possibly be delayed;
While Z ≠ ∅ do
Compute vk *l* = min {sl − s k − l kl }
( k ,l )∈A
k∈Z
l∉Z
Do ∀i∈SA|k*∈SA : Set si = si + vk*l* and Z = Z\{i};
Set ST = ST ∪ (k*,l*);
Return
In section 3, we refer to this procedure as “RS/SA-gpr”. In section 2.3, we illustrate
the pseudocode on a project network.
2.2.3 Forward and Backward
In their paper, [32] have tested the impact of the percentage of negative cash flows in
the project on the required CPU-time and have revealed that a higher percentage
(except for 100% negative cash flows) of negative cash flows results in a more
difficult problem. This is quite logic since a higher number of negative cash flows
implies a larger number of shifts and consequently a more extensive search in the
search tree. Inspired by these results, we further modified the hybrid search procedure
of previous section for problem instances with more than 50% of the activities with a
negative cash flow. In this case, we schedule the activities as late as possible (within
the project deadline) and try to find sets of activities to shift backwards (toward time
zero) in order to increase the net present value. We simply use the dummy end node
as a basis of our recursive search instead of the dummy start node. Therefore, the net
An Efficient Hybrid Search Algorithm for Various Optimization Problems
277
present value calculations of Eq. (2) need to be modified, in order to calculate the
discounted value of activity i at the end of the project, as follows:
ci eα (δ n − ( si + d i )) = ci eα (δ n − f i )
(8)
This will lead to a considerable reduction of the number of shifts in our search, as
revealed in the computational results section. In section 3, we refer to this procedure
as “RS/SA(FB)-gpr”
2.3 An Illustrative Example
The example network of Fig. 1 (a) contains 4 non-dummy activities and minimal and
maximal time-lags between the activities. The activity duration is displayed above the
node while the cash flow is given below the node. The discount rate is 1.6% and the
project deadline δn is 10. The numbers associated with the arcs denote the generalized
precedence relations. A minimal time-lag is denoted by an arc (i, j) with a positive
number while a maximal time-lag is represented by an arc (j, i) with a negative
number (e.g. arc (4,3)). For the sake of simplicity, all arcs are of the start-start type.
The initial search tree, which spans all activities at its earliest start schedule s1 = 0,
s2 = 1, s3 = 0, s4 = 1, s5 = 6 and s6 = 7, is given in Fig. 1 (b).
(a)
1
3
0
-10 1
0
1
1
(b)
1
1
-1
-10 0
0
1
1
0
0
2
5
6
1
50
0
3
1
5
-10
-10 1
0
1
0
1
(d)
1
-1
1
2
5
6
-10
1
1
1
0
5
6
5
1
5
50
6
1
3
4
2
6
(c)
1
3
5
0
1
1
4
4
1
1
-1
3
-10
1
0
0
5
6
50
1
5
-10 1
4
-10
1
1
0
1
2
5
6
0
5
3
1
5
50
6
Fig. 1. An example project with generalized precedence relations and its corresponding trees
After the first run of the recursion sub-procedure, the sets SS = {(3), (4)} and Z =
{3, 4} have been found. During this recursion search process, the arcs (1, 3) and (3, 4)
have been removed from the tree. The activity sets {3} and {4} will be shifted in
the shift_activities sub-procedure as follows: The sub-procedure calculates the
minimal allowable displacement interval. The allowable displacement interval vkl =
min{s5 – s4 – l45; s2 – s3 – l32} = {6 – 1 – 0; 1 – 0 – 1} is minimal for k* = 3 and l* = 2
and hence, activity 3 is delayed in the search tree by adding arc (3, 2) and is removed
from Z. Since Z = {4} is not empty, a new allowable displacement interval vkl =
278
M. Vanhoucke
min{s5 – s4 – l45; s3 – s4 – l43} = {6 – 1 – 0; 0 – 1 + 1} is minimal for k* = 4 and l* = 3,
and hence, the sub-procedure adds arc (4, 3) in the search tree. Since both
displacement intervals equal 0, the starting times remain unchanged. The search tree
is displayed in Fig. 1 (c).
The second run of the recursion sub-procedure reports one set SA = {2, 3, 4) and
hence, Z = SS = {2, 3, 4}. During this recursion search process, the arc (1, 2) has been
removed from the tree. The allowable displacement interval vkl = min{s5 – s4 – l45; s5 –
s2 – l25} = {6 – 1 – 0; 6 – 1 – 3} is minimal for k* = 2 and l* = 5, and hence, the subprocedure adds arc (2, 5) in the search tree. Since vkl > 0, the starting times of each
activity of SA is increased by 3 units to s2 = 3, s3 = 2 and s4 = 3. The search tree is
displayed in Fig. 1 (d).
The last run of the recursion sub-procedure does not report a non-empty set, and
therefore, the optimal solution can be derived from the tree as displayed in Fig. 1 (d),
i.e. s1 = 0, s2 = 3, s3 = 2, s4 = 3, s5 = 6 and s6 = 7. Note that the lump sum payment of
50 at the end of the project forces the algorithm to minimize the total project duration,
and hence, the deadline of 10 is irrelevant.
3 Computational Experiences
In order to test the efficiency of all procedures, we have coded them in Visual C++
version 6.0 under Windows XP on a Toshiba personal computer, with a Pentium IV 2
GHz processor. We have used the 1,440 instances from [7] to validate the procedures
for the max-npv-gpr problem. We have extended both datasets with cash flows
generated from the interval [-500; 500], a discount rate of 1.6% and a project deadline
which equals the critical path length increased by 100.
In the sequel of this section we use “% neg” to denote the percentage of
negative cash flows in the problem instances and “RS-gpr” to refer to the extended
recursive search method of [32] to cope with generalized precedence relations (see
section 2.2.1). “RS/SA-gpr” and “RS/SA(FB)-gpr” refer to the adaptations as proposed
in section 2.2.2 and section 2.2.3 respectively. “SA-gpr” refers to the steepest ascent
procedure of [27]. The abbreviation “DM-gpr” is used to refer to the procedure of [8]
that relies on the distance matrix.
Table 1 reports the results for the 15,840 (1,440 instances and 11 settings for the
percentage of negative cash flows) instances for the max-npv-gpr problem. The
columns labeled “CPU” display the average CPU-time in milliseconds needed to
solve the problem instances. The columns labeled “iter” displays the average number
of iterations for each procedure. For all recursive procedures, the number of iterations
is defined as the number of times the recursion is called. For the steepest ascent
approach, the number of iterations equals the number of times a steepest ascent
direction has to be looked for. The results can be summarized as follows.
RS-gpr and DM-gpr are both adapted versions of the recursive search procedure of
[32], but the former outperforms the latter. This is due to the fact that the latter needs
the very time-consuming calculation of the distance matrix D in order to solve the
problem (see section 2.2.1).
An Efficient Hybrid Search Algorithm for Various Optimization Problems
279
The hybridization of the recursive search procedure and the steepest ascent
approach, as discussed in section 2.2.2, is beneficial. The number of iterations for the
RS/SA-gpr, RS/SA(FB)-gpr and SA-gpr procedures is significantly lower than the RSgpr procedure, since these algorithms delay the activities of several disconnected subtrees at the same time.
The best performing procedure is the RS/SA(FB)-gpr procedure of section 2.2.3.
For all other procedures, the CPU-times are positively correlated with the percentage
of negative cash flows in the problem instances. In the forward/backward approach,
problem instances can be resolved by using a backward recursive search procedure
whenever the percentage of negative cash flows exceeds 50%.
Table 1. Computational performance for the different search procedures
% neg
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Avg
Max
RS-gpr
CPU
iter
0.157
1.00
0.197
3.14
0.228
4.93
0.305
9.62
0.439
19.07
0.612
36.98
0.762
55.48
0.920
79.44
1.066
102.49
1.170
121.55
1.283
141.48
0.649
52.29
362
RS/SA-gpr
CPU
iter
0.156
1.00
0.194
2.22
0.209
2.67
0.229
3.14
0.248
3.45
0.268
3.54
0.285
3.46
0.300
3.29
0.319
3.05
0.335
2.68
0.337
2.00
0.262
2.77
18
RS/SA(FB)-gpr
CPU
iter
0.156
1.00
0.194
2.22
0.209
2.67
0.229
3.14
0.248
3.45
0.268
3.54
0.263
3.19
0.266
2.91
0.290
2.78
0.344
2.75
0.169
1.00
0.240
2.61
18
SA-gpr
CPU
iter
0.297
1.00
0.476
2.22
0.543
2.67
0.590
3.14
0.593
3.45
0.603
3.54
0.606
3.46
0.620
3.29
0.616
3.05
0.586
2.68
0.519
2.00
0.550
2.77
18
DM-gpr
CPU
iter
19.525
1.00
21.570
29.96
22.816
46.23
25.506
80.40
27.930
116.92
29.277
152.90
31.871
169.95
31.685
173.46
32.172
150.67
28.498
118.15
23.905
69.10
26.796
100.79
754
4 Other Application Areas
The excellent performance (the CPU-times are only fractions of milliseconds) of the
hybrid recursive search procedure is extremely important, since the procedure will not be
restricted to solve problem instances as proposed in Eqs (3)-(6). Instead, the procedure
will often be embedded in larger, more complex, algorithms where the hybrid recursive
search procedure acts as a sub-problem solver. A straightforward example is the
incorporation of the original recursive search procedure for the max-npv problem into a
branch-and-bound procedure to solve the resource-constrained project scheduling
problem with discounted cash flows [32]. In this problem, the required computational
effort by the recursive search procedure has to be extremely small to allow the efficient
computation of upper bounds for the nodes in the branch-and-bound tree which may run
in the thousands (even millions). In this section, we describe two application areas
without cash-flow optimization, where the efficient use of the hybrid recursive search
procedure is extremely important and acts as a sub-problem solver.
4.1 Work Continuity Constraints
Construction projects are often characterized by repeating activities that have to be
performed from unit to unit. Highway projects, pipeline constructions and high-rise
280
M. Vanhoucke
buildings, for example, commonly require resources to perform the work on similar
activities that shift in stages. Indeed, construction crews perform the work in a
sequence and move from one unit of the project to the next. This is mainly the result
of the subdivision of a general activity (e.g. carpentry) into specific activities
associated with particular units (e.g. carpentry at each floor of a high-rise building).
Since the resources of these repeating activities have to be performed from unit to
unit, it is crucial in scheduling these project types to ensure the uninterrupted usage of
resources of similar activities between different units, as to enable timely movement
of resources (crews) from one unit to the other, avoiding idle time. This feature is
known as work continuity constraints [11].
The hybrid recursive search procedure is able to solve the project scheduling
problem with work continuity constraints, to assure that idle time of resources is
minimized. The basic philosophy of the net present value is to schedule activities with
a negative cash flow as late as possible and activities with a positive cash flow as
soon as possible. A similar philosophy can be applied to the work continuity
constraint problem, since the idle time of resources can be minimized by minimizing
the time window between the first and the last activity of the activity set that relies on
the resource. Therefore, by assigning a fictive negative cash flow to the start activity
of the activity set and a fictive positive cash flow to the last activity of the activity set,
we simulate attraction between these two activities, and hence, the total time window
(and consequently, the resource idle time) will be minimized.
[30] have illustrated the importance of work continuity constraints on the huge and
complex “Westerschelde Tunnel” project. The incorporation of work continuity
constraints reduces the total resource idle time in the schedule, which leads to a cost
saving of more than 1 million euro. A detailed description of this project can be found
in [30] or on http://www.westerscheldetunnel.nl.
4.2 Open Pit Mining
The open-pit mining problem aims at the determination of the contours of a mine,
based on economic data and engineering feasibility requirement in order to yield
maximum possible net income [19]. More precisely, blocks of earth are removed from
the surface to retrieve the ore contained in them. Therefore, the entire volume is
divided into blocks with a weight representing its estimated value. This value
represents the value of the ore of the block, minus all the costs of excavating the
block. The objective is to determine the set of blocks to remove, in order to maximize
net benefits, and subject to several constraints. These constraints represent the
precedence relations among blocks, preventing to remove blocks for which other
blocks on top of them are not yet removed, and technological slope requirements
constraints.
The open-pit mining problem can be represented by a graph G = (N, A), where
each node in N represents a block with a weight equal to its net value. The arc set A
between the nodes represents the precedence relations between the blocks. The
decision which blocks to extract is equivalent to the search of a maximum weight set
of nodes such that all nodes in the set have their successor nodes in the set. This
An Efficient Hybrid Search Algorithm for Various Optimization Problems
281
problem is known in the graph theory literature as the maximum closure problem, and
such a set is called a maximum closure of graph G. [24] has shown that the maximal
closure problem can be converted to a maximal flow problem. Consequently, any
maximal flow algorithm can solve the problem with, as a by-product, a minimal cut
that serves as the maximal closure.
The maximum closure problem can be solved by the hybrid recursive search
procedure. Indeed, each node of the graph has a weight that can be either positive or
negative. A closure of G is a subset of nodes such that every successor of each node
of the subset also belongs to that subset. Hence, a maximal closure of G is a subset of
nodes such that the sum of the node weights is at least as large as any other closure of
G. The node weights can serve as cash flows for the hybrid search procedure, with a
fictive project deadline equal to infinity. In doing so, the procedure splits the project
activities into two parts: activities near the beginning of the projects and activities
close to the deadline. This split corresponds to the closure of the project network and
hence, determines to optimal blocks to extract for the open-pit mining problem.
5 Conclusions
In this paper we have compared five solution procedures for the unconstrained project
scheduling problems with discounted cash flows with generalized precedence
constraints (max-npv-gpr problem). We show that the hybrid adaptation of different
procedure lead to the most promising results.
More precisely, we have compared three hybrid adaptations of a recursive search
procedure of [32] with a steepest ascent procedure of [27] and a search procedure of
[8]. Computational experience has revealed that the hybrid recursive search method
outperforms the steepest ascent procedure. Additional tests have shown that both the
hybrid recursive search procedure and the steepest ascent procedure outperform the
procedure by [8]. The main reason is that the distance matrix is a very timeconsuming activity in the last mentioned procedure.
Our future research intensions are two-fold. First, we want to improve the
efficiency of the hybrid recursive search procedure to be able to cope with very large
problem instances. Second, we want to use the procedure as a sub-problem solver in
combinatorial optimization algorithms (such as branch-and-bound) to solve large,
real-life problem instances. The application areas of the hybrid recursive search
procedure are numerous. [14] mentioned possible applications for the transitive
closure problem, such as portfolio selection, task scheduling in job shop
environments, selection of freight handling terminals and many more. [31] have
discussed a modified version for the resource-constrained project scheduling problem
with JIT characteristics, but they do not incorporate generalized precedence relations.
In the near future, we will embed the hybrid recursive search procedure in a branchand-bound procedure to schedule R&D projects where quality restrictions are taken
into account. The different procedures are available upon request, such that
researchers will be motivated to use this efficient code as a part of their algorithms for
complex, large-sized and realistic problems.
282
M. Vanhoucke
References
[1] Battersby, A.: Network analysis for planning and scheduling. MacMillan (1964)
[2] Bartusch, M, Möhring, R.H., Radermacher, F.J.: Scheduling project networks with
recource constraints and time windows. Annals of Operations Research. 16, 201-240
(1988)
[3] Dayanand, N., Padman, R..: The payment scheduling problem in project networks.
Working Paper 9331, The Heinz School, CMU, Pittsburgh, PA 15213, U.S.A (1993)
[4] Dayanand, N., Padman, R.: Payments in projects: a constractor’s model. Working Paper
9371, The Heinz School, CMU, Pittsburgh, PA 15213, U.S.A (1993)
[5] Dayanand, N., Padman, R.: On modeling payments in project networks. Journal of the
Operational Research Society. 48, 906-918 (1997)
[6] Demeulemeester, E., Herroelen, W., Van Dommelen, P.: An optimal recursive search
procedure for the deterministic unconstrained max-npv project scheduling problem.
Research Report 9603, Department of Applied Economics, Katholieke Universiteit
Leuven, Belgium (1996)
[7] De Reyck, B.: Scheduling Projects with Generalized Precedence Relations - Exact and
Heuristic Procedures. Ph.D. Dissertation, Department of Applied Economics, Katholieke
Universiteit Leuven, Belgium (1998)
[8] De Reyck, B., Herroelen, W.: An optimal procedure for the unconstrained max-npv
project scheduling problem with generalized precedence relations. Research Report 9642,
Department of Applied Economics, Katholieke Universiteit Leuven, Belgium (1996)
[9] De Reyck, B., Herroelen, W.: An optimal procedure for the resource-constrained project
scheduling problem with discounted cash flows and generalized precedence relations.
Computers and Operations Research. 25, 1-17 (1998)
[10] Elmaghraby, S.E., Herroelen, W.: The scheduling of activities to maximize the net present
value of projects. European Journal of Operational Research. 49, 35-49 (1990)
[11] El-Rayes, K., Moselhi, O.: Resource-driven scheduling of repetitive activities.
Construction Management and Economics. 16, 433-446 (1998)
[12] Etgar, R., Shtub, A., LeBlanc, L.J.: Scheduling projects to maximize net present value The case of time-dependent, contingent cash flows. European Journal of Operational
Research. 96, 90-96 (1996)
[13] Etgar, R., Shtub, A.: Scheduling project activities to maximize the net present value - The
case of linear time dependent, contingent cash flows. International Journal of Production
Research. 37, 329-339 (1999)
[14] Faaland, B., Kim, K., Schmitt, T.: A new algorithm for computing the maximal closure of
a graph. Management Science. 36, 315-331 (1990)
[15] Grinold, R.C.: The payment scheduling problem. Naval Research Logistics Quarterly. 19,
123-136 (1972)
[16] Herroelen, W., Gallens, E.: Computational experience with an optimal procedure for the
scheduling of activities to maximize the net present value of projects. European Journal of
Operational Research. 65, 274-277 (1993)
[17] Herroelen, W., Demeulemeester, E., Van Dommelen, P.: Project network models with
discounted cash flows: A guided tour through recent developments. European Journal of
Operational Research. 100, 97-121 (1997)
[18] Herroelen, W., Demeulemeester, E., De Reyck, B.: A classification scheme for project
scheduling problems. Weglarz J. (Ed.), Handbook on Recent Advances in Project
Scheduling, Kluwer Academic Publishers. Chapter 1, 1-26 (1999)
An Efficient Hybrid Search Algorithm for Various Optimization Problems
283
[19] Hochbaum, D.S., Chen, A.: Performance analysis and best implementations of old and
new algorithms for the open-pit mining problem. Operations Research. 48, 894-914
(2000)
[20] Kamburowski, J.: Maximizing the project net present value in activity networks under
generalized precedence relations. Proceeding of 21st DSI Annual meeting, San Diego,
748-750 (1990)
[21] Kazaz, B., Sepil, C..: Project scheduling with discounted cash flows and progress
payments. Journal of the Operational Research Society. 47, 1262-1272 (1996)
[22] Möhring, R.H., Schulz, A.S., Stork, F., Uetz, M.: On project scheduling with irregular
starting time costs. Operations Research Letters. 28, 149-154 (2001)
[23] Neumann, K., Zimmermann, J.: Exact and heuristic procedures for net present value and
resource levelling problems in project scheduling. European Journal of Operational
Research. 127, 425-443 (2000)
[24] Picard, J.C.: Maximal closure of a graph and applications to combinatorial problems.
Management Science. 22, 1268-1272 (1976)
[25] Russell, A.H.: Cash flows in networks. Management Science. 16, 357-373 (1970)
[26] Schwindt, C., Zimmermann, J.: Maximizing the net present value of projects subject to
temporal constraints. WIOR-Report-536, Institut für Wirtschaftstheorie und Operations
Research, University of Karlsruhe, Germany (1998)
[27] Schwindt, C., Zimmermann, J.: A steepest ascent approach to maximizing the net present
value of projects. Mathematical Methods of Operations Research. 53, 435-450 (2001)
[28] Sepil, C., Ortaç, N.: Performance of the heuristic procedures for constrained projects with
progress payments. Journal of the Operational Research Society. 48, 1123-1130 (1997)
[29] Shtub, A., Etgar, R..: A branch-and-bound algorithm for scheduling projects to maximize
net present value: the case of time dependent, contingent cash flows. International Journal
of Production Research. 35, 3367-3378 (1997)
[30] Vanhoucke, M.: Work continuity constraints in project scheduling. Journal of
Construction Engineering and Management. 132, 1-12 (2006).
[31] Vanhoucke, M., Demeulemeester, E., Herroelen, W.: An exact procedure for the
resource-constrained weighted earliness-tardiness project scheduling problem. Annals of
Operations Research. 102, 179-196 (2000)
[32] Vanhoucke, M., Demeulemeester, E., Herroelen, W.: On maximizing the net present
value of a project under renewable resource constraints. Management Science. 47, 11131121 (2001)
[33] Vanhoucke, M., Demeulemeester, E., Herroelen, W.: Scheduling projects with linearly
time-dependent cash flows to maximize the net present value. International Journal of
Production Research. 39, 3159-3181 (2001)
[34] Vanhoucke, M., Demeulemeester, E., Herroelen, W.: Progress payments in project
scheduling problems. European Journal of Operational Research. 148, 604-620 (2003)
A Hybrid VNS/Tabu Search Algorithm for Apportioning
the European Parliament
Gabriel Villa1, Sebastián Lozano2, Jesús Racero1, and David Canca1
1
University of Seville, Camino de los Descubrimientos,
s/n Isla de la Cartuja,
E-41092 Sevilla, Spain
{gvilla, jrm, dco}@esi.us.es
2 University of Seville, E.T.S. Ingeniería Informática,
Avda. Reina Mercedes, s/n
E-41012 Sevilla, Spain
[email protected]
Abstract. In a Proportional Representation (PR) electoral system it is assumed
that seats are apportioned to the different electoral districts/states according to
the corresponding voters’ distribution. In a previous paper we proposed a MILP
(Mixed Integer Linear Programming) model to apportion the seats in the European Parliament (EP). Since the exact solution to the problem is not computationally efficient, we have designed a hybrid metaheuristic algorithm based on
Variable Neighborhood Search (VNS) and Tabu Search (TS). The proposed
approach takes into account the existing situation, guaranteeing a minimum
number of seats, independently of the population size of each member. The
model is illustrated with actual data and its results are compared with the present apportionment. The results show that the proposed approach can significantly improve the proportionality of the present apportionment.
1 Introduction
PR is inspired in the principle of “one person, one vote”. The application of this principle to the apportionment problem implies that the number of seats allocated to each
electoral district should be as close as possible to what would correspond to its share
of the electoral population. The idea is simple but its implementation is not trivial
since seats are indivisible and hence while the distribution of the population is fractional the distribution of seats is discrete. This means that a perfectly proportional
apportionment is usually not feasible. Since there are different ways to measure
malapportionment, i.e. the deviation from perfect proportionality, ([1]) finding a
“good” apportionment is a complex problem.
There are two classes of apportionment methods: divisor methods and quota methods. Among the divisor methods we find the Greatest Divisors or Jefferson method,
the Smallest Divisors or Adams method, the Major Fractions or Webster method, the
Harmonic Means or Dean method and the Equal Proportions, Hill or Huntington
J. Gottlieb and G.R. Raidl (Eds.): EvoCOP 2006, LNCS 3906, pp. 284 – 292, 2006.
© Springer-Verlag Berlin Heidelberg 2006
A Hybrid VNS/Tabu Search Algorithm for Apportioning the European Parliament
285
method [2]. Quota methods (a.k.a. Greatest Remainders methods) include the Hare
method, the Droop method and the Imperiali method [3]. There are many real examples of significant malapportionment [4] and although there is an interesting debate
about the comparative advantages of each of these methods (e.g. [2], [3], [5], [6], [7]),
it cannot be concluded that any of them is better than the rest.
In the real world, apart from the fact that some malapportionment is unavoidable,
there are also practical and political considerations in addition to pure proportionality
that may have to be taken into account, e.g. establishing a lower limit of representation so that all electoral districts have a guaranteed minimum number of seats independently of its size.
In the case of the EP, the apportionment is the result of a complex, political, multilateral negotiation process. Table 1 shows the population and present number of seats
for each EP member country. It can be seen in any of the figures in the Appendix that
the present EP apportionment is not very proportional to population with larger countries getting a smaller share than smaller ones.
Table 1. Population distribution and present seats apportionment
Country
Austria
Belgium
Cyprus
Czech Rep
Denmark
Estonia
Finland
France
Germany
Greece
Hungary
Ireland
Italy
Latvia
Lithuania
Luxembourg
Malta
Netherlands
Poland
Portugal
Slovakia
Slovenia
Spain
Sweden
UK
TOTAL
Abrev
at
be
cy
cz
dk
ee
fi
fr
de
el
hu
ie
it
lv
lt
lu
mt
nl
pl
pt
sk
sl
es
se
uk
---
Population (millions)
8,059
10,348
0,797
10,202
5,387
1,35
5,21
59,725
82,551
10,68
10,12
3,947
57,646
2,321
3,454
0,448
0,393
16,215
38,195
10,191
5,381
1,964
41,101
8,956
59,28
453,921
Seats
18
24
6
24
14
6
14
78
99
24
24
13
78
9
13
6
5
27
54
24
14
7
54
19
78
732
286
G. Villa et al.
In the next section, we formulate a Mixed-Integer Linear Programming model for
the apportionment problem. In section 3 we present the hybrid metaheuristic algorithm that we propose as efficient solution method. Computer results are reported in
Section 4. Finally, in Section 5 some conclusions are drawn.
2 Quasi-Pure Proportional Apportionment Model
In ([8]) the authors have proposed a Quasi-Pure Proportional Apportionment (QPPA)
model. Let:
N
pr
P=Σrpr
sr
S=Σrsr
smin
number of EP member countries
population of EP member country r
sum of EP member countries population
number of seats presently assigned to EP member country r
total number of seats in EP
guaranteed minimum number of seats per EP member country
α+r
positive deviation (w.r.t. proportional ratio) of ratio of seats to population for country r
negative deviation (w.r.t. proportional ratio) of ratio of seats to
α-r
population for country r
The QPPA model is:
∑ (α
N
Min
+
r
+ α r− )
r =1
s.t
s r ≥ s min
∑s
∀r
N
r
=S
(1)
r =1
sr
= S −1
∀r
pr
P
α r+ , α r− ≥ 0 s r i nteger
α +r
− α −r
This is a Mixed-Integer Linear Programming (MILP) with 2⋅N continuous variables and N integer variables. The model finds a feasible (i.e. taking into account the
guaranteed minimum number of seats) allocation of the total number of seats minimizing the sum of deviations (either from above or from below) from proportional
representation. For an ideal PR apportionment (generally not feasible) these deviations would be zero. Note that the third set of constraints are just the definitions of
the variables that measure the deviation (positive or negative) of the ratio of seats to
population for each country; these deviation variables are used in the objective
function.
A Hybrid VNS/Tabu Search Algorithm for Apportioning the European Parliament
287
In ([8]) this combinatorial optimization problem was solved six times with smin
varying from 0 to 5. Version 7.0 of the state-of-the-art CPLEX optimization software
was used (http://www.cplex.com), running on an Intel Pentium IV 2.8 GHz microprocessor. As it often happens with MILP problems, finding the exact optimal
solution can take an unpredictable (potentially large) amount of computing time. An
upper limit of 5 hours of computing time was imposed so that CPLEX stopped after
that time recording the best solution found. That is what happened in all six cases.
Table 2 shows the results obtained as well as, again, the present apportionment.
Table 2. Solution provided by CPLEX and present seats apportionment
smin
Country
Present
Appor.
0
1
2
3
4
5
Austria
18
13
13
13
13
13
13
Belgium
24
17
17
17
17
17
17
Cyprus
6
1
1
2
3
4
5
Czech Rep
24
17
17
17
17
17
17
Denmark
14
9
9
9
9
9
9
Estonia
6
2
2
2
3
4
5
Finland
14
8
8
8
8
8
8
France
78
96
96
96
96
96
96
Germany
99
133
133
130
126
121
115
Greece
24
17
17
17
17
17
17
Hungary
24
16
16
16
16
16
16
Ireland
13
6
6
6
6
6
6
93
Italy
78
93
93
93
93
93
Latvia
9
4
4
4
4
4
5
Lithuania
13
6
6
6
6
6
6
Luxembourg
6
1
1
2
3
4
5
Malta
5
1
1
2
3
4
5
Netherlands
27
26
26
26
26
26
26
Poland
54
62
62
62
62
62
62
Portugal
24
16
16
16
16
16
16
Slovakia
14
9
9
9
9
9
9
Slovenia
7
3
3
3
3
4
5
Spain
54
66
66
66
66
66
66
Sweden
19
14
14
14
14
14
14
UK
Objective Function
Value
78
96
96
96
96
96
96
30.5559
1.8096
1.8096
5.1283
9.1952
13.6424
18.4699
288
G. Villa et al.
It can be seen that the present apportionment has a large value of the objective
function (not unexpected since it is far from proportionality) and that the objective
function decreases sharply (meaning a significant proportionality improvement) as the
guaranteed minimum number of seats smin decreases. Those countries that gain
more from the apportionment changes seem to be those whose population is more
under-represented (e.g. Germany) while the ones that may lose seats would be some
smaller, over-represented countries (e.g. Luxemburg).
3 The VNTS Proposed
Since optimally solving the above problem does not seem efficient, a search strategy
must be designed to obtain better results. We have opted for a metaheuristic algorithm
based on a hybrid of VNS ([9] and [10]) and TS ([11]). The initial solution is the
present apportionment.
[s1o , s o2 ,..., s or ,..., s oN ]
(2)
We have defined a set of pre-selected neighbourhood structures Nk(x) that consist
in adding and subtracting a total of k seats to some countries. The amount of seats
added and subtracted has to be equal since the total number of seats (S) must be kept
constant. For example, for neighborhood N2(x) a neighbor solution would be obtained
taking one seat from each of two countries (which may coincide) and giving them to
another two countries (which also may coincide)
[s1 + 0,..., s i − 2,..., s j + 1,..., s k + 1,..., s N + 0]
(3)
Obviously, the proposed approach avoids unfeasible solutions such as those that
would assign a negative number of seats or a number of seats less than smin to any
country. The pseudocode of the proposed VNTS algorithm is:
Pseudo-code of proposed VNTS algorithm
Initialization. Select the set of neighborhood structures Nk, k=1,…, kmax, that will be used in the search;
find an initial solution x; choose a stopping condition;
Repeat the following sequence for a fixed number of iterations (ITER):
1) Set k←1;
2) Until k=kmax repeat the following steps:
a) Exploration of neighborhood. Find the best
neighbor x’ of x (x’∈Nk(x)) using Tabu
Search;
A Hybrid VNS/Tabu Search Algorithm for Apportioning the European Parliament
289
b) Move or not. If the solution thus obtained
x’ is better than x, set x ←x’, and k←1;
otherwise, set k←k+1;
end.
As for the tabu search mentioned in step 2a), it explores the neighborhood Nk(x).
The value of each movement, i.e. the variation of the objective function can be efficiently computed based on the change in the representation ratio of only the countries
affected by the move. As adaptive memory mechanism, a tabu list has been proposed,
where the previous value of the number of seats is recorded for the affected countries,
so that for a number of T iterations (i.e. a tabu tenure) changing the number of seats of
any country to its recorded value is prohibited. The tabu search algorithm method
ends after a certain number of iterations (parameter ITERTB) without improving the
best solution found.
4 Computational Experiences
In table 3 we show the solutions provided by the hybrid for smin = 0, 1, 2, 3, 4 and 5.
We have used the following values for the different parameters: kmax=2;
ITERTB=50; T=5; and ITER=5000. We obtained the similar solutions using different
values which may show the robustness of the proposed approach. In particular, for
kmax=3 the time taken by the metaheuristic was higher than for kmax=2, providing
the same results. We tried to solve the model for kmax=4 as well, however, we had to
interrupt the resolution after a couple of hours, obtaining again the same results as in
the case of kmax=2.
The three last rows contain respectively the value of the objective function, the
percentage error with respect to the solution obtained by CPLEX, measured as:
100* ⎛⎜ Objective Function Value VNTS − Objective Function Value CPLEX ⎞⎟
⎜
⎝
Objective Function Value
CPLEX
⎟
⎠
(4)
and the CPU time used by the proposed hybrid approach.
We can observe from table 3 that the metaheuristic in all cases obtains better
results than CPLEX (see the minus sign of the relative errors). Also, it is remarkable that, compared to CPLEX, the time taken to solve every case is insignificant.
Figure 1 (in the Appendix) graphically shows the solutions found by the proposed
approach for smin varying from 0 through 5. Note that except for three member countries (namely Malta, Luxemburg and Cyprus) the seat apportionment of the rest of
countries is very close to its proportional quota (the dashed line segment in each
graphic) and for these three countries their deviation from their quotas is significantly
smaller than at present. The range of the ratio %seats/%population would be reduced
from the present (0.74, 8.31) to (0.78, 1.58) for smin=1 for example.
Finally, we can observe from table 4 how the value of the deviation ranges of the
ratio %seats/%population (i.e. the difference between the maximum and minimum
values) increases with smin.
290
G. Villa et al.
Table 3. Solution provided by VNTS approach
Country
Austria
Belgium
Cyprus
Czech Rep
Denmark
Estonia
Finland
France
Germany
Greece
Hungary
Ireland
Italy
Latvia
Lithuania
Luxembourg
Malta
Netherlands
Poland
Portugal
Slovakia
Slovenia
Spain
Sweden
UK
Objective Function
Value
Relative Error
(%)
CPU time (s)
smin
Present
Appor.
0
1
2
3
4
5
18
24
6
24
14
6
14
78
99
24
24
13
78
9
13
6
5
27
54
24
14
7
54
19
78
13
17
1
16
9
2
8
97
133
17
16
6
93
4
6
1
1
26
62
16
9
3
66
14
96
13
17
1
16
9
2
8
97
133
17
16
6
93
4
6
1
1
26
62
16
9
3
66
14
96
13
17
2
16
9
2
8
96
133
17
16
6
93
4
6
2
2
26
61
16
9
3
66
14
95
13
17
3
16
9
3
8
96
129
17
16
6
93
4
6
3
3
26
61
16
9
3
66
14
95
13
17
4
16
9
4
8
96
124
17
16
6
93
4
6
4
4
26
61
16
9
4
66
14
95
13
17
5
16
9
5
8
96
118
17
16
6
93
5
6
5
5
26
61
16
9
5
66
14
95
30.5559
1.8076
1.8076
5.1051
9.1719
13.6191
18.4466
--
-0.1083
-0.1083
-0.4533
-0.2531
-0.1706
-0.1263
--
28.67
22.58
19.94
18.12
16.42
14.83
Table 4. Minimum, maximum and deviation range of the ratio %seats/%population
smin
min
max
max-min
0
0.78
1.58
0.80
1
0.78
1.58
0.80
2
0.92
3.16
2.24
3
0.94
4.73
3.79
4
0.93
6.31
5.38
5
0.89
7.89
7.00
A Hybrid VNS/Tabu Search Algorithm for Apportioning the European Parliament
291
5 Conclusions
In this article we have presented an efficient solution approach for the European Parliament apportionment problem that is able to allocate quasi-proportionally to their
population the total number (732) of seats. Since the problem has a combinatorial
structure exact methods are ineffective which makes necessary the use of metaheuristic approaches such as VNS or tabu search. We have introduced a new hybrid of these
two metaheuristics that solves the problem in a matter of seconds. Experiments with
various values of smin have been carried out giving in all cases a more proportional
apportionment than the present one.
References
1. Taagepera, R., Grofman, B.: Mapping the indices of seats-votes disproportionality and inter-election volatility. Party Politics, 9, 6 (2003) 659-677
2. Ernst, L.: Apportionment Methods for the House of Representatives and the Court Challenges. Management Sciences, 40, 10 (1994) 1207-1227
3. Riedwyl, H., Steiner, J.: What is Proportionality Anyway?. Comparative Politics, 27, 3
(1995) 357-369
4. Samuels, D., Snyder, R.: The Value of a Vote: Malapportionment in Comparative Perspective. British Journal of Political Science, 31 (2001) 651-671
5. Loosemore, J., Hanby, V.J.: The Theoretical Limits of Maximum Distortion: Some Analytical Expressions for Electoral Systems. British Journal of Political Science, 1, 4 (1971)
467-477
6. Benoit, K.: Which Electoral Formula Is the Most Proportional? A New Look with New
Evidence. Political Analysis, 8, 4 (2000) 381-388
7. Schuster, K., Pukelsheim, F., Drton, M., Draper, N.R.: Seat biases of apportionment methods for proportional representation. Electoral Studies, 22 (2003) 651-676
8. Lozano, S., Villa, G.: Apportioning the European Parliament using Data Envelopment
Analysis. Paper submitted to European Journal of Political Research
9. Hansen, P., Mladenovic, N.: Variable Neighborhood search: Principles and applications,
European Journal of Operational Research, 130 (2001) 449-467
10. Hansen, P., Mladenovic, N., Pérez-Brito, D.: Variable Neighborhood Decomposition
search. Journal of Heuristics, 7 (2001) 335-350
11. Glover, F., Laguna M.: Tabu Search. Kluwer Academic Publishers, Boston (1997)
292
G. Villa et al.
Appendix
9
8
7
6
5
4
3
2
1
0
%seats/
%population
at be cy cz dk ee
9
8
7
6
5
4
3
2
1
0
fi
ie
it
lv
lt
lu mt nl
pl
fr
de el hu
pt sk sl es se uk
members
Present
VNTS
ie
it
lv
lt
lu mt nl
pl
pt sk sl es se uk
members
s=3
Present
VNTS
fi
fr
%seats/
%population
at be cy cz dk ee
9
8
7
6
5
4
3
2
1
0
de el hu
s=2
%seats/
%population
at be cy cz dk ee
9
8
7
6
5
4
3
2
1
0
fr
%seats/
%population
at be cy cz dk ee fi
9
8
7
6
5
4
3
2
1
0
Present
VNTS
s=0 and s=1
de el hu
ie
it
lv
lt
lu mt nl
pl
s=4
fi
fr
%seats/
%population
de el hu
pt sk sl es se uk
members
Present
VNTS
ie
it
lv
lt
lu mt nl
pl
pt sk sl es se uk
members
s=5
Present
VNTS
at be cy cz dk ee
fi
fr
de el hu
ie
it
lv
lt
lu mt nl
pl
pt sk sl es se uk
members
Fig. 1. Proportionality profile of present vs solution provided by VNTS approach (smin=0, 1, 2,
3, 4 and 5)
Author Index
Alba, Enrique 111
Andrés-Romano, Carlos 49
Armbruster, Michael 1
Aydin, M. Emin 261
Canca, David 284
Cardós, Manuel 49
Colledge, Nic 13
Cotta, Carlos 73
Cowling, Peter 13
49
Fernández, Antonio J. 73
Fügenschuh, Armin 61
Fügenschuh, Marzena 1
Gallardo, José E. 73
Ghédira, Khaled 234
Giacobini, Mario 86
Goldbarg, Elizabeth F. Gouvêa 99, 222
Goldbarg, Elizabeth F. Gouvêa 37
Goldbarg, Marco César 99, 222
Goldbarg, Marco César 37
Helmberg, Christoph 1
Höfler, Benjamin 61
Janson, Stefan 111
Jetchev, Nikolay 1
Jolai, Fariborz 135
Juhos, István 123
Karimi, Behrooz 135
Kashan, Ali Husseinzadeh
Kehden, Britta 147
Maenhout, Broos 159
Martin, Alexander 1
Middendorf, Martin 111
Mönch, Lars 209
Nagata, Yuichi 171
Neumann, Frank 147
Dahal, Keshav 13
Dioşan, Laura 25
Dorronsoro, Bernabé 111
Duarte, Herbert de Mélo 37
Esparcia-Alcázar, Anna I.
Lluch-Revert, Lidia 49
Lozano, Sebastián 284
Oltean, Mihai
25
Pferschy, Ulrich 195
Preuss, Mike 86
Prins, Christian 183
Prodhon, Caroline 183
Puchinger, Jakob 195
Racero, Jesús 284
Raidl, Günther R. 195
Reichelt, Dirk 209
Remde, Stephen 13
Rocha, Daniel A.M. 222
Sammoud, Olfa 234
Savéant, Pierre 247
Schoenauer, Marc 247
Sevkli, Mehmet 261
Sharman, Ken 49
Solnon, Christine 234
Sorlin, Sébastien 234
Souza, Givanaldo R. de 99
Tomassini, Marco
86
van Hemert, Jano I. 123
Vanhoucke, Mario 159, 272
Vidal, Vincent 247
Villa, Gabriel 284
135
Wolfler Calvo, Roberto
183