Skip to content

Releases: uqfoundation/mystic

0.4.3

30 Sep 20:18
Compare
Choose a tag to compare

0.4.3 Release Notes

mystic provides a collection of optimization algorithms and tools that allows the user to more robustly (and easily) solve hard optimization problems. All optimization algorithms included in mystic provide workflow at the fitting layer, not just access to the algorithms as function calls. mystic gives the user fine-grained power to both monitor and steer optimizations as the fit processes are running. Optimizers can advance one iteration with Step, or run to completion with Solve. 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. Optimization algorithms in mystic can accept parameter constraints, either in the form of penaties (which "penalize" regions of solution space that violate the constraints), or as constraints (which "constrain" the solver to only search in regions of solution space where the constraints are respected), or both. mystic provides a large selection of constraints, including probabistic and dimensionally reducing constraints. The goal of mystic is to enable the user to easily configure and control solvers, thus greatly reducing the barrier to solving hard optimization problems.

mystic installs with pip:
$ pip install mystic

mystic requires:
- python or pypy, >=3.8
- numpy, >=1.0
- sympy, >=0.6.7
- mpmath, >=0.19
- dill, >=0.3.9
- klepto, >=0.2.6

Optional requirements:
- matplotlib, >=0.91 (install with $ pip install mystic[plotting])
- scipy, >=0.6.0 (install with $ pip install mystic[math])
- pathos, >=0.3.3 (install with $ pip install mystic[parallel])
- pyina, >=0.3.0 (install with $ pip install mystic[parallel])

mystic is licensed under 3-clause BSD:

>>> import mystic
>>> print (mystic.license())

To cite mystic:

>>> import mystic
>>> print (mystic.citation())

What's Changed

  • avoid OverflowError and LinAlgError; pyina to 0.2.9 by @mmckerns in #230
  • avoid ZeroDivision and LinAlgError for single datapoint by @mmckerns in #231
  • fix constraints.unique after change to random.randrange by @mmckerns in #233
  • Bump idna from 3.4 to 3.7 in /docs by @dependabot in #234
  • TimeLimits termination and compound constraints example by @mmckerns in #235
  • Bump jinja2 from 3.1.3 to 3.1.4 in /docs by @dependabot in #236
  • Bump requests from 2.31.0 to 2.32.0 in /docs by @dependabot in #237
  • Bump tornado from 6.3.3 to 6.4.1 in /docs by @dependabot in #238
  • index in sorting and monotonic constraint, extend sampled statistics by @mmckerns in #239
  • sort probabilities of Dirac masses, and use while not terminated in optML by @mmckerns in #240
  • update docs requirements to rtfd 10.27.0 by @mmckerns in #242
  • add Variance and Negativity to examples3, samples, and measures by @mmckerns in #243
  • Bump certifi from 2024.2.2 to 2024.7.4 in /docs by @dependabot in #244
  • expand pof_given_samples test range for pypy by @mmckerns in #245
  • adjust fcalls in diffev2 for skipped cost by @mmckerns in #247
  • replace items removed from numpy namespace by @mmckerns in #248
  • replace use of np.core and np.product by @mmckerns in #250
  • SetTermination to None to only use EvaluationLimits by @mmckerns in #251
  • type check with Integral, bool by value by @mmckerns in #252
  • add formal support for python 3.13 by @mmckerns in #253
  • generations should never be a float by @mmckerns in #254

Full Changelog: 0.4.2...0.4.3

0.4.2

28 Jan 20:01
Compare
Choose a tag to compare

0.4.2 Release Notes

mystic provides a collection of optimization algorithms and tools that allows the user to more robustly (and easily) solve hard optimization problems. All optimization algorithms included in mystic provide workflow at the fitting layer, not just access to the algorithms as function calls. mystic gives the user fine-grained power to both monitor and steer optimizations as the fit processes are running. Optimizers can advance one iteration with Step, or run to completion with Solve. 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. Optimization algorithms in mystic can accept parameter constraints, either in the form of penaties (which "penalize" regions of solution space that violate the constraints), or as constraints (which "constrain" the solver to only search in regions of solution space where the constraints are respected), or both. mystic provides a large selection of constraints, including probabistic and dimensionally reducing constraints. The goal of mystic is to enable the user to easily configure and control solvers, thus greatly reducing the barrier to solving hard optimization problems.

mystic installs with pip:
$ pip install mystic

mystic requires:
- python or pypy, >=3.8
- numpy, >=1.0
- sympy, >=0.6.7
- mpmath, >=0.19
- dill, >=0.3.8
- klepto, >=0.2.5

Optional requirements:
- matplotlib, >=0.91 (install with $ pip install mystic[plotting])
- scipy, >=0.6.0 (install with $ pip install mystic[math])
- pathos, >=0.3.2 (install with $ pip install mystic[parallel])
- pyina, >=0.2.7 (install with $ pip install mystic[parallel])

mystic is licensed under 3-clause BSD:

>>> import mystic
>>> print (mystic.license())

To cite mystic:

>>> import mystic
>>> print (mystic.citation())

What's Changed

Full Changelog: mystic-0.4.1...0.4.2

mystic-0.4.1

23 Jul 18:37
Compare
Choose a tag to compare

mystic 0.4.1 Release Notes

mystic provides a collection of optimization algorithms and tools that allows the user to more robustly (and easily) solve hard optimization problems. All optimization algorithms included in mystic provide workflow at the fitting layer, not just access to the algorithms as function calls. mystic gives the user fine-grained power to both monitor and steer optimizations as the fit processes are running. Optimizers can advance one iteration with Step, or run to completion with Solve. 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. Optimization algorithms in mystic can accept parameter constraints, either in the form of penaties (which "penalize" regions of solution space that violate the constraints), or as constraints (which "constrain" the solver to only search in regions of solution space where the constraints are respected), or both. mystic provides a large selection of constraints, including probabistic and dimensionally reducing constraints. The goal of mystic is to enable the user to easily configure and control solvers, thus greatly reducing the barrier to solving hard optimization problems.

mystic installs with pip:
$ pip install mystic

mystic requires:
- python or pypy, >=3.7
- numpy, >=1.0
- sympy, >=0.6.7
- mpmath, >=0.19
- dill, >=0.3.7
- klepto, >=0.2.4

Optional requirements:
- matplotlib, >=0.91 (install with $ pip install mystic[plotting])
- scipy, >=0.6.0 (install with $ pip install mystic[math])
- pathos, >=0.3.1 (install with $ pip install mystic[parallel])
- pyina, >=0.2.7 (install with $ pip install mystic[parallel])

mystic is licensed under 3-clause BSD:

>>> import mystic
>>> print (mystic.license())

To cite mystic:

>>> import mystic
>>> print (mystic.citation())

What's Changed

New Contributors

Full Changelog: mystic-0.4.0...mystic-0.4.1

mystic-0.4.0

24 Oct 03:16
Compare
Choose a tag to compare

mystic 0.4.0 Release Notes

mystic provides a collection of optimization algorithms and tools that allows the user to more robustly (and easily) solve hard optimization problems. All optimization algorithms included in mystic provide workflow at the fitting layer, not just access to the algorithms as function calls. mystic gives the user fine-grained power to both monitor and steer optimizations as the fit processes are running. Optimizers can advance one iteration with Step, or run to completion with Solve. 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. Optimization algorithms in mystic can accept parameter constraints, either in the form of penaties (which "penalize" regions of solution space that violate the constraints), or as constraints (which "constrain" the solver to only search in regions of solution space where the constraints are respected), or both. mystic provides a large selection of constraints, including probabistic and dimensionally reducing constraints. The goal of mystic is to enable the user to easily configure and control solvers, thus greatly reducing the barrier to solving hard optimization problems.

mystic installs with pip:
$ pip install mystic

mystic requires:
- python or pypy, >=3.7
- numpy, >=1.0
- sympy, >=0.6.7
- mpmath, >=0.19
- dill, >=0.3.6
- klepto, >=0.2.3

Optional requirements:
- matplotlib, >=0.91 (install with $ pip install mystic[plotting])
- scipy, >=0.6.0 (install with $ pip install mystic[math])
- pathos, >=0.3.0 (install with $ pip install mystic[parallel])
- pyina, >=0.2.6 (install with $ pip install mystic[parallel])

mystic is licensed under 3-clause BSD:

>>> import mystic
>>> print (mystic.license())

To cite mystic:

>>> import mystic
>>> print (mystic.citation())

Full Changelog: mystic-0.3.9...mystic-0.4.0

mystic-0.3.9

24 May 15:32
Compare
Choose a tag to compare

mystic provides a collection of optimization algorithms and tools that allows the user to more robustly (and easily) solve hard optimization problems. All optimization algorithms included in mystic provide workflow at the fitting layer, not just access to the algorithms as function calls. mystic gives the user fine-grained power to both monitor and steer optimizations as the fit processes are running. Optimizers can advance one iteration with Step, or run to completion with Solve. 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. Optimization algorithms in mystic can accept parameter constraints, either in the form of penaties (which "penalize" regions of solution space that violate the constraints), or as constraints (which "constrain" the solver to only search in regions of solution space where the constraints are respected), or both. mystic provides a large selection of constraints, including probabistic and dimensionally reducing constraints. The goal of mystic is to enable the user to easily configure and control solvers, thus greatly reducing the barrier to solving hard optimization problems.

mystic installs with pip:
$ pip install mystic

mystic requires:
- python or pypy, ==2.7 or >=3.7
- numpy, >=1.0
- sympy, >=0.6.7
- mpmath, >=0.19
- dill, >=0.3.5.1
- klepto, >=0.2.2

Optional requirements:
- matplotlib, >=0.91 (install with $ pip install mystic[plotting])
- scipy, >=0.6.0 (install with $ pip install mystic[math])
- pathos, >=0.2.9 (install with $ pip install mystic[parallel])
- pyina, >=0.2.5 (install with $ pip install mystic[parallel])

mystic is licensed under 3-clause BSD:

>>> import mystic
>>> print (mystic.license())

To cite mystic:

>>> import mystic
>>> print (mystic.citation())

mystic-0.3.8

14 Jun 23:29
Compare
Choose a tag to compare

mystic provides a collection of optimization algorithms and tools that allows the user to more robustly (and easily) solve hard optimization problems. All optimization algorithms included in mystic provide workflow at the fitting layer, not just access to the algorithms as function calls. mystic gives the user fine-grained power to both monitor and steer optimizations as the fit processes are running. Optimizers can advance one iteration with Step, or run to completion with Solve. 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. Optimization algorithms in mystic can accept parameter constraints, either in the form of penaties (which "penalize" regions of solution space that violate the constraints), or as constraints (which "constrain" the solver to only search in regions of solution space where the constraints are respected), or both. mystic provides a large selection of constraints, including probabistic and dimensionally reducing constraints. The goal of mystic is to enable the user to easily configure and control solvers, thus greatly reducing the barrier to solving hard optimization problems.

mystic installs with easy_install or pip:
$ pip install mystic

mystic requires:
- python2, version == 2.7 *or* python3, version >= 3.6
- numpy, version >= 1.0
- sympy, version >= 0.6.7
- dill, version >= 0.3.4
- klepto, version >= 0.2.1

Optional requirements:
- matplotlib, version >= 0.91 (install with $ pip install mystic[plotting])
- scipy, version >= 0.6.0 (install with $ pip install mystic[math])
- mpmath, version > 1.0.0 (install with $ pip install mystic[math])
- pathos, version >= 0.2.8 (install with $ pip install mystic[parallel])
- pyina, version >= 0.2.4 (install with $ pip install mystic[parallel])

mystic is licensed under 3-clause BSD:

>>> import mystic
>>> print (mystic.license())

To cite mystic:

>>> import mystic
>>> print (mystic.citation())

mystic-0.3.7

02 Nov 23:49
Compare
Choose a tag to compare

mystic provides a collection of optimization algorithms and tools that allows the user to more robustly (and easily) solve hard optimization problems. All optimization algorithms included in mystic provide workflow at the fitting layer, not just access to the algorithms as function calls. mystic gives the user fine-grained power to both monitor and steer optimizations as the fit processes are running. Optimizers can advance one iteration with Step, or run to completion with Solve. 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. Optimization algorithms in mystic can accept parameter constraints, either in the form of penaties (which "penalize" regions of solution space that violate the constraints), or as constraints (which "constrain" the solver to only search in regions of solution space where the constraints are respected), or both. mystic provides a large selection of constraints, including probabistic and dimensionally reducing constraints. The goal of mystic is to enable the user to easily configure and control solvers, thus greatly reducing the barrier to solving hard optimization problems.

mystic installs with easy_install or pip:
$ pip install mystic

mystic requires:
- python2, version == 2.7 *or* python3, version >= 3.5
- numpy, version >= 1.0
- sympy, version >= 0.6.7
- dill, version >= 0.3.3
- klepto, version >= 0.2.0

Optional requirements:
- matplotlib, version >= 0.91 (install with $ pip install mystic[plotting])
- scipy, version >= 0.6.0 (install with $ pip install mystic[math])
- mpmath, version > 1.0.0 (install with $ pip install mystic[math])
- pathos, version >= 0.2.7 (install with $ pip install mystic[parallel])
- pyina, version >= 0.2.3 (install with $ pip install mystic[parallel])

mystic is licensed under 3-clause BSD:

>>> import mystic
>>> print (mystic.license())

To cite mystic:

>>> import mystic
>>> print (mystic.citation())

mystic-0.3.6

16 Jun 19:04
Compare
Choose a tag to compare

mystic provides a collection of optimization algorithms and tools that allows the user to more robustly (and easily) solve hard optimization problems. All optimization algorithms included in mystic provide workflow at the fitting layer, not just access to the algorithms as function calls. mystic gives the user fine-grained power to both monitor and steer optimizations as the fit processes are running. Optimizers can advance one iteration with Step, or run to completion with Solve. 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. Optimization algorithms in mystic can accept parameter constraints, either in the form of penaties (which "penalize" regions of solution space that violate the constraints), or as constraints (which "constrain" the solver to only search in regions of solution space where the constraints are respected), or both. mystic provides a large selection of constraints, including probabistic and dimensionally reducing constraints. The goal of mystic is to enable the user to easily configure and control solvers, thus greatly reducing the barrier to solving hard optimization problems.

mystic installs with easy_install or pip:
$ pip install mystic

mystic requires:
- python2, version == 2.7 *or* python3, version >= 3.5
- numpy, version >= 1.0
- sympy, version >= 0.6.7
- dill, version >= 0.3.2
- klepto, version >= 0.1.9

Optional requirements:
- matplotlib, version >= 0.91 (install with $ pip install mystic[plotting])
- scipy, version >= 0.6.0 (install with $ pip install mystic[math])
- mpmath, version > 1.0.0 (install with $ pip install mystic[math])
- pathos, version >= 0.2.6 (install with $ pip install mystic[parallel])
- pyina, version >= 0.2.3 (install with $ pip install mystic[parallel])

mystic is licensed under 3-clause BSD:

>>> import mystic
>>> print (mystic.license())

To cite mystic:

>>> import mystic
>>> print (mystic.citation())

mystic-0.3.5

28 Sep 18:44
Compare
Choose a tag to compare

mystic provides a collection of optimization algorithms and tools that allows the user to more robustly (and easily) solve hard optimization problems. All optimization algorithms included in mystic provide workflow at the fitting layer, not just access to the algorithms as function calls. mystic gives the user fine-grained power to both monitor and steer optimizations as the fit processes are running. Optimizers can advance one iteration with Step, or run to completion with Solve. 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. Optimization algorithms in mystic can accept parameter constraints, either in the form of penaties (which "penalize" regions of solution space that violate the constraints), or as constraints (which "constrain" the solver to only search in regions of solution space where the constraints are respected), or both. mystic provides a large selection of constraints, including probabistic and dimensionally reducing constraints. The goal of mystic is to enable the user to easily configure and control solvers, thus greatly reducing the barrier to solving hard optimization problems.

mystic installs with easy_install or pip:
$ pip install mystic

mystic requires:
- python2, version >= 2.6 *or* python3, version >= 3.1
- numpy, version >= 1.0
- sympy, version >= 0.6.7
- dill, version >= 0.3.1
- klepto, version >= 0.1.8

Optional requirements:
- matplotlib, version >= 0.91 (install with $ pip install mystic[plotting])
- scipy, version >= 0.6.0 (install with $ pip install mystic[math])
- mpmath, version > 1.0.0 (install with $ pip install mystic[math])
- pathos, version >= 0.2.5 (install with $ pip install mystic[parallel])
- pyina, version >= 0.2.2 (install with $ pip install mystic[parallel])

mystic is licensed under 3-clause BSD:

>>> import mystic
>>> print (mystic.license())

To cite mystic:

>>> import mystic
>>> print (mystic.citation())

mystic-0.3.4

27 Jun 20:19
Compare
Choose a tag to compare

mystic provides a collection of optimization algorithms and tools that allows the user to more robustly (and easily) solve hard optimization problems. All optimization algorithms included in mystic provide workflow at the fitting layer, not just access to the algorithms as function calls. mystic gives the user fine-grained power to both monitor and steer optimizations as the fit processes are running. Optimizers can advance one iteration with Step, or run to completion with Solve. 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. Optimization algorithms in mystic can accept parameter constraints, either in the form of penaties (which "penalize" regions of solution space that violate the constraints), or as constraints (which "constrain" the solver to only search in regions of solution space where the constraints are respected), or both. mystic provides a large selection of constraints, including probabistic and dimensionally reducing constraints. The goal of mystic is to enable the user to easily configure and control solvers, thus greatly reducing the barrier to solving hard optimization problems.

mystic installs with easy_install or pip:
$ pip install mystic

mystic requires:
- python2, version >= 2.6 *or* python3, version >= 3.1
- numpy, version >= 1.0
- sympy, version >= 0.6.7
- dill, version >= 0.3.0
- klepto, version >= 0.1.7

Optional requirements:
- matplotlib, version >= 0.91 (install with $ pip install mystic[plotting])
- scipy, version >= 0.6.0 (install with $ pip install mystic[math])
- mpmath, version > 1.0.0 (install with $ pip install mystic[math])
- pathos, version >= 0.2.4 (install with $ pip install mystic[parallel])
- pyina, version >= 0.2.2 (install with $ pip install mystic[parallel])

mystic is licensed under 3-clause BSD:

>>> import mystic
>>> print (mystic.license())

To cite mystic:

>>> import mystic
>>> print (mystic.citation())