mystic - a brief introduction
The mystic framework enables the solving of difficult optimization problems through three major innovations: (1) plug-and-play component-based optimization algorithms, (2) the ability to dynamically construct and apply generalzed trnasforms, K , where x' = K(x) , and (3) workflows providing asynchronous execution and statefulness. These features, in conjunction with supporting packages pathos , pyina , and klepto , can provide massively-parallel scalable workflows for quickly solving optimization problems in complex nonlinear spaces. mystic can be used to simplify non-convex optimization problems by transforming away nonlinearities through user-built kernel transforms. This tutorial demonstrates using mystic for machine learning with automated dimensional-reduction, using embarrasingly parallel solver ensembles to find an accurate interpolated surrogate for a nonlinear surface, and the determination of worst-case bounds on expectation value of an objective function under uncertainty.