You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
The key has expired.
[3.0.0] - 2021-10-25
Added
Implementation of the Traveling Salesperson Problem (class TSP), with the following features:
Generates random instances with cities distributed uniformly at random within a square.
Defaults to Euclidean distance, but also supports specifying a function for edge distance.
Two variations with a precomputed matrix of edge costs: floating-point costs, and integer costs,
where the integer cost version by default rounds each edge cost to nearest int, but which can be
customized. These use quadratic memory.
Two variations where edge costs are computed as needed: floating-point costs, and integer costs,
where the integer cost version by default rounds each edge cost to nearest int, but which can be
customized. These use linear memory.
Changed
Beginning with release 3.0.0, the minimum supported Java version is now Java 11+.
The randomization utilities for generating Gaussian-distributed random numbers, previously
contained in the package org.cicirello.math.rand has been moved to a new
library ρμ, which is a transitive dependency (via
our dependency on JPT).
Refactored GaussianMutation to improve maintainability by eliminating dependence upon a
specific algorithm for generating Gaussian distributed random numbers.
The library now uses Java modules, providing the module org.cicirello.chips_n_salsa, which
includes the package org.cicirello.search and all of its very many subpackages.
The required dependent module org.cicirello.jpt is declared with requires transitive
because the Permutation class from one of the packages of that module is a parameter
and/or returned by a variety of methods such as operators that manipulate permutations.
As a consequence, projects that include Chips-n-Salsa as a dependency will also include JPT
and its dependencies. User's dependency manager should handle this.
Changed the default annealing schedule in the SimulatedAnnealing class to the Self-Tuning Lam
adaptive schedule of Cicirello (2021), which is implemented in class SelfTuningLam.
Other
Reorganized directory hierarchy to the Maven default (we had been using a custom directory
hierarchy for quite some time from before we switched to Maven).