Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

JAMES Core Module

Build Status Coverage Status Maven Central

The JAMES core module is part of the JAMES framework.

The core module includes many general components for both problem specification and search application.

A wide range of local search algorithms are provided out-of-the-box, including

  1. Random descent (basic local search)
  2. Steepest descent
  3. Tabu search
  4. Variable neighbourhood search
  5. Metropolis search
  6. Parallel tempering
  7. ...

Exhaustive search is also available, which is of course only feasible for problems with a reasonably small search space.

In addition, the core contains specific components for subset selection such as a predefined solution type, a generic problem specification and various subset neighbourhoods, as well as a greedy subset sampling heuristic (LR subset search).


More information, user documentation and examples of how to use the framework are provided at the website. Additional developer documentation is posted on the wiki.

License and copyright

The JAMES core module is licensed under the Apache License, Version 2.0, see LICENSE file or Copyright information is stated in the NOTICE file.

User forum

Users may post questions on the forum. Instructions for participating without a Google account are available at the website.


The JAMES framework is developed and maintained by

Please use the forum instead of directly mailing the developers whenever possible, so that others may benefit from or contribute to the discussion as well.


A list of changes is provided in the CHANGES file.