Skip to content

Simulated Bifurcation 2.0

No due date 8% complete

The simulated-bifurcation package will evolve directly from release 1.2.1 to release 2.0.0 as many fundamental and breaking changes occurred over the past months.

The purpose of release 2.0.0 will be to provide a more professional and intuitive implementation of the SB algorithm.

Model definition

  • mathematical definition of models from SymPy polynomials (…

The simulated-bifurcation package will evolve directly from release 1.2.1 to release 2.0.0 as many fundamental and breaking changes occurred over the past months.

The purpose of release 2.0.0 will be to provide a more professional and intuitive implementation of the SB algorithm.

Model definition

  • mathematical definition of models from SymPy polynomials (more natural, more user-friendly, more visual)
  • optimization domain independent from polynomial: same model can be reused on different domains and no need to separate polynomials in different classes as previously
  • standardized optimization model API with the ABCModel interface

Optimization features

  • generify optimization domain such that each variable can have its own domain
  • more efficient stop window that removes converged agents so the computation gets faster
  • possibility to manually interrupt computation

User interface

  • make all parameters keyword-only as positional parameters are quite arbitrary
  • renaming of some parameters for a clearer understanding of their purpose
Previous parameter name New parameter name Role Remarks
input_type domain Optimization domain(s) of the model Can also be a list of domains if some variables have its own
use_window early_stopping Activate agents convergence monitoring
ballistic mode Simulated Bifurcation mode (ballistic or discrete) Would go from boolean value (True = ballistic / False = discrete) to a string value that can be either ballistic or discrete

Documentation

  • user-friendly documentation website to present the SB algorithm and quadratic optimization more thoroughly
  • clear docstring
Loading