The STochastic OPTimization library (StOpt) was developped at OSIRIS department at EDF R&D and used in some operational projects as an open source project.
The StOpt library 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 programming methods based on Monte Carlo with regressions (global, local and sparse regressors), for underlying states following some uncontrolled Stochastic Differential Equations (python binding provided).
– Semi-Lagrangian methods for Hamilton Jacobi Bellman general equations for underlying states following some controlled Stochastic Differential Equations (C++ only)
– Stochastic Dual Dynamic Programming methods to deal with stochastic stocks management problems in high dimension (C++ only)
Besides somes methods are provided to solve by Monte Carlo some problems where the underlying stochastic state is controlled. 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.
The StOpt website: