JAMES: A modern object-oriented Java framework for discrete optimization using local search metaheuristics (original) (raw)

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

Software: Practice and Experience, 2016

This paper describes JAMES, a modern 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 easily to any user-defined problem by plugging in a custom neighbourhood for the corresponding solution type. The performance of several different search algorithms can be assessed and compared in order to select an appropriate optimization strategy. Also, the influence of parameter values can be studied. Implementations of specific components are included for subset selection, such as a predefined solution type, a 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. 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.

FOM: A framework for metaheuristic optimization

… Science—ICCS 2003, 2003

Most metaheuristic approaches for discrete optimization are usually implemented from scratch. In this paper, we introduce and discuss FOM, an object-oriented framework for metaheuristic optimization to be used as a general tool for the development and the implementation of metaheuristic algorithms. The basic idea behind the framework is to separate the problem side from the metaheuristic algorithms, allowing this to reuse different metaheuristic components in different problems. In addition to describing the design and functionality of the framework, we apply it to illustrative examples. Finally, we present our conclusions and discuss futures developments.

A survey on optimization metaheuristics

Information Sciences, 2013

Metaheuristics are widely recognized as efficient approache s for many hard optimization problems. This paper provides a survey of some of the main metaheuristics. It outlines the components and concepts that are used in various metaheuristics in order to analyze their similarities and differences. The classification adopted in this paper differentiates between single solution based metaheuristics and population based metaheuristics . The literature survey is accompanied by the presentation of references for further details, including applications. Recent trends are also briefly discussed. (P. Siarry).

HSF: A Generic Framework to Easily Design Meta-Heuristic Methods

2001

This paper has briefly presented HSF, a Java-based innovative framework, which proposes a new way to design Heuristic Search algorithms by identifying foundamental concepts already defined in the literature. Those concepts implemented as basic components, are thereafter plugged together to obtain a Heuristic Search algorithm. This approach allows to easily implement a wide range of well-known algorithms in a short time and facilitate the integration of future algorithms by quickly and easily add required new components. Combined with PMF, HSF is even capable to automatically provide a broad range of default algorithms for COPs. By its flexibility, generalisation and e#ciency, HSF o#ers a complete solving system based on Heuristic Search algorithms

Implementing Metaheuristic Optimization Algorithms with JECoLi

2009 Ninth International Conference on Intelligent Systems Design and Applications, 2009

This work proposes JECoLi-a novel Java-based library for the implementation of metaheuristic optimization algorithms with a focus on Genetic and Evolutionary Computation based methods. The library was developed based on the principles of flexibility, usability, adaptability, modularity, extensibility, transparency, scalability, robustness and computational efficiency. The project is opensource, so JECoLi is made available under the GPL license, together with extensive documentation and examples, all included in a community Wiki-based web site (http://darwin.di.uminho.pt/jecoli). JECoLi has been/is being used in several research projects that helped to shape its evolution, ranging application fields from Bioinformatics, to Data Mining and Computer Network optimization.

The Influence of Problem Specific Neighborhood Structures in Metaheuristics Performance

Journal of Mathematics

Metaheuristics (MH) aptitude to move past local optimums makes them an attractive technique to approach complex computational problems, such as the Travelling Salesman Problem (TSP), but there is lack of information on the parameterization procedure and the appropriate parameters to improve MHs’ performance. In this paper the parameterization procedure of Simulated Annealing (SA) and Discrete Artificial Bee Colony (DABC) is addressed, with a focus on the Neighborhood Structure (NS). Numerous NS have been proposed for specific problems, which seem to indicate that the NS is a special parameter, whose optimization is independent of other parameters. The performance of eight NS was examined with SA and DABC under two optimization constraints, regarding computational time variation, to determine if there is one appropriate NS for the TSP problem, independent of the rest of the parameters of the optimization procedure. The computational study carried out for comparing the evaluation of t...

Metaheuristic Algorithms: Guidelines for Implementation

Journal of Soft Computing and Decision Support Systems , 2017

This paper presents a quick review of the basic concepts and essential steps for implementing of metaheuristic algorithms. It can be therefore used as a roadmap to shed light on solving an optimization problem using a metaheuristic algorithm. We provide a brief review of the topics, including general concepts for metaheuristics, the need to design metaheuristics, the need for further improvement of metaheuristics, parameters tuning and performance assessment of metaheuristic algorithms. Finally, the paper ends with a guideline framework which aims to assist new researchers for solving optimization problems via metaheuristics.