Bug#1042442: ITP: mystic -- Constrained nonlinear optimization
Package: wnpp
Severity: wishlist
Owner: Julian Gilbey <jdg@debian.org>
X-Debbugs-Cc: debian-devel@lists.debian.org, Debian Python Team <team+python@tracker.debian.org>
* Package name : mystic
Version : 0.4.1
Upstream Contact: Mike McKerns <mmckerns at uqfoundation dot org>
* URL : https://github.com/uqfoundation/mystic
* License : BSD-3-clause
Programming Lang: Python
Description : Constrained nonlinear optimization
The mystic framework provides a collection of optimization algorithms
and tools that allows the user to more robustly (and easily) solve
hard optimization problems for machine learning, uncertainty
quantification and AI. mystic gives the user fine-grained power to
both monitor and steer optimizations as the fit processes are
running. Users can customize optimizer stop conditions, where both
compound and user-provided conditions may be used. Optimizers can
save state, can be reconfigured dynamically, and can be restarted
from a saved solver or from a results file. All solvers can also
leverage parallel computing, either within each iteration or as an
ensemble of solvers.
.
mystic provides a stock set of configurable, controllable solvers
with:
* a common interface
* a control handler with: pause, continue, exit, and callback
* ease in selecting initial population conditions: guess, random, etc
* ease in checkpointing and restarting from a log or saved state
* the ability to leverage parallel & distributed computing
* the ability to apply a selection of logging and/or verbose monitors
* the ability to configure solver-independent termination conditions
* the ability to impose custom and user-defined penalties and constraints
.
mystic is part of pathos, a Python framework for heterogeneous computing.
It is part of the pathos framework which I am packaging. Nonlinear
optimisation is a core task for ML/AI, and use of this pathos plugin
is demonstrated in several examples in the pathos package.
I will maintain it within the Debian Python Team.
Reply to: