-
- Downloads
Implement generic proximal Newton solver for solving nonsmooth minimization problems
This commit add a generic proximal Newton solver to solve non-smooth minimization problems of the form min `J(x) = f(x) + g(x)` where f is a smooth C^2 function and g is possibly non-smooth. The algorithm is based on the `Solvers::LoopSolver` and inherits from `Solvers::Solver`. During the `solve()` call increments of the second order subproblems min `0.5*f''(x)[dx,dx] + f'(x)[dx] + g(x + dx) + r||dx||^2` are computed and the iterate is updated by `x := x + dx`. Details and documentation are provided at the class definition. A simple test case is added which solves a minimization problem with an analytical solution.
parent
de87490c
No related branches found
No related tags found
Checking pipeline status
Showing
- CHANGELOG.md 2 additions, 0 deletionsCHANGELOG.md
- dune/solvers/solvers/CMakeLists.txt 1 addition, 0 deletionsdune/solvers/solvers/CMakeLists.txt
- dune/solvers/solvers/proximalnewtonsolver.hh 439 additions, 0 deletionsdune/solvers/solvers/proximalnewtonsolver.hh
- dune/solvers/test/CMakeLists.txt 2 additions, 0 deletionsdune/solvers/test/CMakeLists.txt
- dune/solvers/test/proximalnewtonsolvertest.cc 149 additions, 0 deletionsdune/solvers/test/proximalnewtonsolvertest.cc
Loading
Please register or sign in to comment