JAMES: An object‐oriented Java framework for discrete optimization using local search metaheuristics

This paper describes the Java Metaheuristics Search framework (JAMES, v1.1): an object‐oriented Java framework for discrete optimization using local search algorithms that exploits the generality of such metaheuristics by clearly separating search implementation and application from problem specification. A wide range of generic local searches are provided, including (stochastic) hill climbing, tabu search, variable neighbourhood search and parallel tempering. These can be applied to any user‐defined problem by plugging in a custom neighbourhood for the corresponding solution type. Using an automated analysis workflow, the performance of different search algorithms can be compared in order to select an appropriate optimization strategy. Implementations of specific components are included for subset selection, such as a predefined solution type, generic problem definition and several subset neighbourhoods used to modify the set of selected items. Additional components for other types of problems (e.g. permutation problems) are provided through an extensions module which also includes the analysis workflow. In comparison with existing Java metaheuristics frameworks that mainly focus on population‐based algorithms, JAMES has a much lower memory footprint and promotes efficient application of local searches by taking full advantage of move‐based evaluation. Releases of JAMES are deployed to the Maven Central Repository so that the framework can easily be included as a dependency in other Java applications. The project is fully open source and hosted on GitHub. More information can be found at http://www.jamesframework.org. Copyright © 2016 John Wiley & Sons, Ltd.

[1]  Kenneth Sörensen,et al.  An iterated local search algorithm for water distribution network design optimization , 2016, Networks.

[2]  Andreas Zell,et al.  The EvA2 Optimization Framework , 2010, LION.

[3]  Antonio J. Nebro,et al.  jMetal: A Java framework for multi-objective optimization , 2011, Adv. Eng. Softw..

[4]  Enrique Alba,et al.  MALLBA: a software library to design efficient optimisation algorithms , 2007 .

[5]  Michel Gendreau,et al.  Handbook of Metaheuristics , 2010 .

[6]  Veerle Fack,et al.  Core Hunter II: fast core subset selection based on multiple genetic diversity measures using Mixed Replica search , 2012, BMC Bioinformatics.

[7]  David S. Johnson,et al.  The Traveling Salesman Problem: A Case Study in Local Optimization , 2008 .

[8]  Martin Lukasiewycz,et al.  Opt4J: a modular framework for meta-heuristic optimization , 2011, GECCO '11.

[9]  Jason Brownlee OAT : the Optimization Algorithm Toolkit , 2007 .

[10]  J. Jansen,et al.  Statistical Techniques for Defining Reference Sets of Accessions and Microsatellite Markers , 2011 .

[11]  Marco Laumanns,et al.  SPEA2: Improving the strength pareto evolutionary algorithm , 2001 .

[12]  Luca Di Gaspero,et al.  EASYLOCAL++: an object‐oriented framework for the flexible design of local‐search algorithms , 2003, Softw. Pract. Exp..

[13]  James E. Carey,et al.  Lessons learned becoming a framework developer , 2002, Softw. Pract. Exp..

[14]  El-Ghazali Talbi,et al.  ParadisEO: A Framework for the Reusable Design of Parallel and Distributed Metaheuristics , 2004, J. Heuristics.

[15]  Michael W Deem,et al.  Parallel tempering: theory, applications, and new perspectives. , 2005, Physical chemistry chemical physics : PCCP.

[16]  Fernando Guerrero,et al.  FOM: A Framework for Metaheuristic Optimization , 2003, International Conference on Computational Science.

[17]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[18]  Gerhard Reinelt,et al.  TSPLIB - A Traveling Salesman Problem Library , 1991, INFORMS J. Comput..

[19]  Chris Thachuk,et al.  Core Hunter: an algorithm for sampling genetic resources based on multiple genetic measures , 2009, BMC Bioinformatics.

[20]  Sebastián Lozano,et al.  Metaheuristic optimization frameworks: a survey and benchmarking , 2011, Soft Computing.

[21]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[22]  A. Brown,et al.  Core collections: a practical approach to genetic resources management , 1989 .

[23]  J. Corander,et al.  Genetic diversity and population structure of pea (Pisum sativum L.) varieties derived from combined retrotransposon, microsatellite and morphological marker analysis , 2008, Theoretical and Applied Genetics.

[24]  F. V. van Eeuwijk,et al.  Quality of core collections for effective utilisation of genetic resources review, discussion and interpretation , 2012, Theoretical and Applied Genetics.

[25]  César Hervás-Martínez,et al.  JCLEC: a Java framework for evolutionary computation , 2007, Soft Comput..

[26]  R Core Team,et al.  R: A language and environment for statistical computing. , 2014 .

[27]  Fred W. Glover,et al.  A user's guide to tabu search , 1993, Ann. Oper. Res..

[28]  Pierre Hansen,et al.  Variable neighbourhood search: methods and applications , 2010, Ann. Oper. Res..

[29]  David R. White Software review: the ECJ toolkit , 2011, Genetic Programming and Evolvable Machines.