STochastic OPTimization library in C++

Abstract

The STochastic OPTimization library (StOpt) aims at providing tools in C++ for solving somestochastic 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 PDEsFor 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

    Similar works

    Full text

    thumbnail-image