STochastic OPTimization library in C++.

Authors
Publication date
2018
Publication type
report
Summary 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 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. A SDDP module in python is provided. To use this module, the transitional optimization problem has to written in C++ and mapped to python (examples provided).
  • Some methods are provided to solve by Monte Carlo some problems where the underlying stochastic state is controlled.
  • Some pure Monte Carlo Methods are proposed to solve some non linear PDEs
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.
Topics of the publication
Themes detected by scanR from retrieved publications. For more information, see https://scanr.enseignementsup-recherche.gouv.fr