We have built a robust optimization framework (mystic) that lowers the barrier to solving complex problems in predictive science. mystic provides tools for constraining design space and targeting unique solutions, including suites of standard and statistical constraints, discrete math, uncertainty quantification, and symbolic math. mystic is built from the ground up to leverage parallel computing.
We have built a robust optimization framework (mystic) that lowers the barrier to solving complex problems in predictive science. mystic is built from the ground up to utilize parallel and distributed computing. mystic leverages a computational job management framework (pathos) that oﬀers a simple, eﬃcient, and consistent user experience across a variety of heterogeneous environments from multi-core workstations to networks of large-scale computer clusters.
In mystic, an optimization is composed as a distributed graph of interacting services, with the most common services (i.e. graph nodes) being the user’s model function, constraints function, and/or objective function being mapped over parallel resources. By providing a simple interface to a lot of underlying complexity, mystic enables a non-specialist user unprecedented access to optimizer conﬁgurability and provides high-performance computing without a steep learning curve.
Typically, both termination conditions and initial conditions are hard-coded into an optimization algorithm -- however, in mystic, conditionals are both dynamic and dynamically configurable. Bounds constraints and parameter constraints in mystic are also highly configurable, and can be generically applied to any of the provided unconstrained optimization algorithms. Constrained optimization problems traditionally tend to be solved iteratively, where a penalty is applied to candidate solutions that violate the constraints. However, mystic can solve constraints numerically or algebraically, where the solving of constraints can itself be cast as an optimization problem. Decoupled constraints solvers can then be cast as graph nodes, and thus take advantage of available distributed and parallel resources. Decoupling the solving of constraints from the optimization problem can also greatly increase the eﬃciency in solving highly-constrained nonlinear problems -- where, eﬀectively, the optimization algorithm only selects points for the objective function that satisfy the constraints.
New algorithms have been developed that launch multiple optimizers in parallel, thus allowing highly efficient local search algorithms to provide fast global optimization. In this way, parallelism in optimization also can allow us to not only find global minima, but to simultaneously find all local minima and transition points -- thus providing a very efficient means of mapping out the critical points for the potential energy surface of the objective function.
mystic has been used to solve for global optima in complex optimization problems with hundreds of constraints and hundreds of input variables. mystic provides tools for constraining design space and targeting unique solutions, including suites of standard and statistical constraints, discrete mathematics and uncertainty quantification, and constraints from symbolic math.