uqfoundation/mystic

constrained nonlinear optimization for scientific machine learning, UQ, and AI

What it solves

Mystic addresses the difficulty of solving complex, non-convex, and highly constrained nonlinear optimization problems. It provides a robust framework for scientific machine learning, uncertainty quantification (UQ), and AI, reducing the barrier to entry for users who need to monitor, steer, and control the optimization process with precision.

How it works

The framework implements a variety of optimization algorithms through a common API, allowing users to swap solvers without rewriting code. It supports both "hard constraints" (restricting the search to valid regions) and "soft constraints" (penalizing invalid regions). To facilitate machine learning and UQ, Mystic integrates sampling, interpolation, and statistics, including tools to convert constraints into kernel transforms for ML and adaptive samplers that drive data collection toward critical points of a response surface.

Who it’s for

It is designed for researchers and engineers in scientific machine learning, AI, and uncertainty quantification who require fine-grained control over optimization workflows, parallel computing capabilities, and the ability to handle complex parameter constraints.

Highlights

  • Fine-grained Control: Ability to pause, continue, and steer optimizations iteration-by-iteration using Step and Solve commands.
  • Flexible Constraints: Supports a wide selection of probabilistic and dimensionally reducing constraints, as well as symbolic conversion of equalities and inequalities.
  • Robust Workflow: Features built-in checkpointing, dynamic reconfiguration, and customizable termination conditions.
  • Parallel Execution: Leverages parallel and distributed computing via the pathos package for both individual iterations and ensembles of solvers.
  • ML Integration: Provides tools for producing emulators on irregular grids and generating highly-informative training datasets through optimizer-guided sampling.

Related

  • Project
  • Project
  • Project
  • Project
  • Project