Simulated Bifurcation 2.0
No due date
25% 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