Softwares and Libraries:

StOpt: STochastic OPTimization library in C++ with a Python wrapper.

The STochastic OPTimization library (StOpt) aims at providing tools in C++ for solving some stochastic optimization problems encountered in finance or in the industry. A python binding is available for some C++ objects provided permitting to easily solve an optimization problem by regression. Different methods are available: dynamic drogramming methods based on Monte Carlo with regressions, Semi-Lagrangian methods for Hamilton Jacobi Bellman general equations, stochastic dual dynamic programming methods. For each method, a framework is provided to optimize the problem and then simulate it out of the sample using the optimal commands previously calculated. Parallelization methods based on OpenMP and MPI are provided in this framework permitting to solve high dimensional problems on clusters. The library should be flexible enough to be used at different levels depending on the user's willingness.

Git repository: