Release notes

Most important changes in Indago releases are listed here. Breaking changes are indicated by the sign.

Indago 0.5.0

New features

  • HSIW inertia technique for PSO

  • FullyEmployed variant of ABC

  • scatter_method optimizer parameter, with ‘halton’ option for using Halton sequence for initializing design vectors

  • New method: Random Search (RS)

  • Optimizer.plot_history() is improved to produce better and fancier plots.

  • Export of all evaluated candidate solutions (Optimizer.evals_db parameter)

  • New utility functions: unconstrain() and read_evals_db()

  • New method: Grey Wolf Optimization (GWO)

  • Checking for unknown (illegal) optimizer attributes

  • Some important optimizer parameters can be given as evaluation_function attributes (namely dimensions, lb, ub, objectives, constraints, objective_weights, objective_labels, constraint_labels)

  • Optimizer.status providing textual information on the optimizer state

  • CandidateState.is_feasible() for checking whether the solution is feasible (i.e. whether it satisfies all constraints)

  • Optimizer.copy() produces a (deep) copy of an Optimizer object

Improvements

  • Cleaner log messages

  • Better documentation

  • Completely rewritten ABC (significantly different behavior expected)

  • New (shorter and more consistent) param names in almost all methods

  • NelderMead method now has an abbreviation (NM), just like all other methods

  • CEC 2014 benchmark test is removed (we are working on a much more comprehensive benchmark test suite)

  • New defaults in minimize_exhaustive()

  • More consistent error reporting style

  • New (better) default param values for all methods

  • Better evaluation error handling

  • number_of_processes parameter is now called processes

  • Updated requirements (most importantly python>=3.9)

  • Optimizer.plot_history() can skip subplots if needed. Useful for turning off dysfunctional subplots with too many plot lines.

Bug fixes

  • target_fitness stopping criterion is not ignored any more

  • Fixed stopping criteria overshooting defined targets

  • Fixed memory leak due to circular referencing in Optimizer and CandidateState objects

  • Fixed multiple problems in MSGS

  • Fixed some evaluation retrying problems

  • Rich-based features adapted to a new version of rich