Skip to content

v1.2.2

Latest

Choose a tag to compare

@cenwangumass cenwangumass released this 02 Dec 03:58
· 15 commits to master since this release

Release Notes

Highlights

  • Added plotting capabilities for stochastic constraint problems, along with the new FCSA solver, the SAN-2 problem, and a corresponding demo notebook.

  • Refactored the solver, problem, and model classes, improved budget tracking, migrated configuration to Pydantic, and simplified how problem and solver metadata are specified.

  • Replaced the Ruby-based NOLHS generator with a native Python implementation integrated into the GUI and data-farming workflow.

  • Introduced input-model hooks that allow simulations to load data from custom sources, with a new data-driven walkthrough notebook.

  • Added a Rust-based MRG32K3A random number generator, optionally enabled via MRG32K3A_BACKEND=rust; this will become the default in a future release.

  • Added experimental support for patching simulation model with Rust implementation. This can be enabled by environment variable SIMOPT_EXT=simopt_extensions, where simopt_extensions is a user module that provides a patch_model* function.

Breaking Changes

  • Python 3.11 is now the minimum supported version.

  • Solver, problem, and model configuration has moved to Pydantic models and a new API; downstream scripts must adopt the updated schema.

Docs & Examples

  • Comprehensive documentation overhaul (available at https://simopt.readthedocs.io/) complete with in-depth model/problem/solver documentation, API reference, and testing guides.

  • Demos are maintained as notebooks and Python scripts, and can be executed either in Jupyter or as standalone scripts.

Compared to v1.2.0

  • Fixed several bugs in v1.2.0