Skip to content

Latest commit

 

History

History
172 lines (112 loc) · 8.67 KB

CHANGELOG.md

File metadata and controls

172 lines (112 loc) · 8.67 KB

Changelog

All notable changes to this project will be documented in this file.

[0.5.0] - 2023-11-22

2ee24f0...2ee24f0

Bug Fixes

  • Use lowercase for commit messages because it's standard (a352b8e)
  • Fix gsl-sys (fe86e32)
  • Fix random sampling for unconstrained domains (278fbe0)
  • Fix steffensen algorithm when given point is already solution (42da442)
  • Fix step calculation in jacobian matrix approximation (4161c56)

Documentation

  • Overhaul the documentation (30d44a9)

Features

  • Remove cuckoo search algorithm (29b22be)
  • Remove population module (7b5a64b)
  • Hide testing module behind a feature flag (e69ede6)
  • Introduce TestFunction trait in testing module (9ea04f0)
  • Change the interoperability between System and Function traits (db104b5)
  • Make systems and functions infallible (8b6c271)
  • Rename next methods on Solver and Optimizer so they do not clash (d15c996)
  • Rename scalar associated type to field (5d8c8e1)
  • Introduce own RealField trait (abe0f65)
  • Remove prelude and move important types to lib root (057d595)
  • Use fastrand crate for random number generation (67a0d45)
  • Make magnitude estimation function public (69b037a)
  • Remove RepulsiveSystem type (bc35ea2)
  • Move non-linear vars detection and magnitude estimation (639a8af)
  • Rename solver module to algo (8c59165)
  • Use std vectors for in public API of the domain (16de444)
  • Implement high-level API for solving and optimization (f9fba37)
  • Update nalgebra (d2c229b)
  • Return x as part of the result of next and find (b392536)
  • Implement different rules for step size in derivatives approx (2ee24f0)

Miscellaneous Tasks

  • Fix rustdoc warning (ca44cac)
  • Use all numbers from semver version for dependencies (24791d1)
  • Sort dependencies alphabetically (a9d1ad9)

Refactor

  • Move benchmark suite to a separate crate (d7a92b4)
  • Rename SolveError to TestingError (7e72ec7)
  • Completely overhaul the domain type (606da4f)
  • Always use dynamic dimension (4f8f2ce)
  • Do not use num_traits dependency (b69bb8d)

[0.4.1] - 2023-05-15

4028405...22445f5

Bug Fixes

  • Fix Nelder-Mead for univariate optimization (22445f5)

[0.4.0] - 2023-05-13

3c523d3...ebc07ed

Features

  • Remove Function and Optimizer from the prelude (dd6524a)
  • Adapt the trust region algorithm for function optimization (96fe08f)
  • Implement LIPO solver (ebc07ed)

[0.3.2] - 2023-04-28

48bbf11...dfd5399

Bug Fixes

  • Initialize residuals when initializing simplex in Nelder-Mead (5b758a2)

Features

  • Introduce a new, hidden setting for TrustRegion (dfd5399)

Miscellaneous Tasks

  • Fix clippy warnings and other stylistic changes (141305a)

Testing

  • Make tests to actually check if the successful output is a root (33ae76a)
  • Add a test for system that has infinite solutions (266a1b1)

[0.3.1] - 2022-05-08

Features

  • Update nalgebra to v0.31 (009ae58)

[0.3.0] - 2022-04-12

Documentation

  • Fix list of algorithms in README (53f300d)

Features

  • Implement Steffensen's method for 1D systems (422eeae)
  • Update nalgebra to v0.30 (e31c75a)
  • Require contiguous storage for x values (b63317d)
  • Rename Error to ProblemError (0aa2397)

Miscellaneous Tasks

  • Fix new clippy warnings (c84446a)

[0.2.1] - 2022-02-07

Documentation

Features

  • Improve robustness of Nelder-Mead algorithm (34a7fca)
  • Avoid unnecessary function evaluation in Nelder-Mead (fb8e90e)
  • Add reset functions to all solvers (b12eca5)

[0.2.0] - 2022-01-27

Features

  • Rename System::apply_mut to System::apply (6b5ad6e)
    • The function was superseded by System::eval in (0e869f6)
  • Add Function and Optimizer traits for general optimization (0e869f6)
    • Huge breaking change because of restructuring the problem traits to Problem, System and Function

Miscellaneous Tasks

  • Fix commit links for changelog (42db7f7)

[0.1.1] - 2022-01-08

Bug Fixes

  • Ensure that computed steps are inside trust region (5ed3226)
  • Allow to use custom population initializer in Cuckoo (7f3193d)

Documentation

  • Remove note about log being an optional feature (a4a3430)
  • Add examples for Solver/System traits (24028d7)
  • Fix a link in the documentation (d498da8)
  • Use modules link in the documentation index page (53320da)

Features

  • Pass system reference to population initializers (9f2cc5b)
  • Add analysis for initial guesses (f78130b)
  • Add allow_ascent option to trust region algorithm (d0f7421)

[0.1.0] - 2021-12-20

Added

  • Create core abstractions and types
  • Implement trust region algorithm
  • Implement cuckoo search algorithm
  • Implement Nelder-Mead algorithm
  • Add tests and benchmark