On this page:

NonSmooth Optimization (NSO) Software

"Laugh at your problems; everybody else does."
- Anonymous

NSO Software available here

General Nonsmooth Optimization

LMBM Limited memory bundle method for large-scale nonsmooth, possibly nonconvex optimization by N. Karmitsa (Fortran 77 and mex-driver for MatLab users). See LDGB for Fortran 95 version of LMBM.
D-Bundle Diagonal bundle solver for general, possible nonconvex, large-scale nonsmooth minimization by N. Karmitsa (Fortran 95).
MPBNGC Proximal bundle method for nonsmooth possibly nonconvex (multiobjective) minimization by M.M. Mäkelä (Fortran 77). The code includes the constraint handling (bound constraints, linear constraints, and nonlinear/nonsmooth constraints). MPBNGC can also be used (free for academic purposes) via WWW-NIMBUS -system.
QSM Quasi-secant solver for nonsmooth possibly nonconvex minimization by A. Bagirov and A. Ganjehlou (Fortran 77). The user can employ either analytically calculated or approximated subgradients in his experiments (this can be done automatically by selecting one parameter).
SMDB Splitting metrics diagonal bundle solver for general, possible nonconvex, large-scale nonsmooth minimization by N. Karmitsa (Fortran 95).

Derivative Free Optimization

LDGB Limited memory discrete gradient bundle solver for derivative free general, possible nonconvex, nonsmooth minimization by N. Karmitsa (Fortran 95). To apply LDGB, one only needs to compute at every point the value of the objective function. The subgradient will be approximated. You can also use this code as Fortran 95 version of LMBM (due to some implementational facts it might use less subgradient evaluations than the previous version).
DDG-Bundle Diagonal discrete gradient bundle solver for derivative free general, possible nonconvex, nonsmooth minimization by N. Karmitsa (Fortran 95). To apply DDG-Bundle, one only needs to compute at every point the value of the objective function. The subgradient will be approximated.
DGM Discrete gradient solver for derivative free optimization by A. Bagirov, B. Karasozen and M. Sezer (Fortran 77). To apply DGM, one only needs to compute at every point the value of the objective function. The subgradient will be approximated.
QSM Quasi-secant solver with discrete gradients. See QSM above.

DC Programming

AggSub Aggregate subgradient based solver for nonsmooth DC programming (difference of two convex functions) by K. Joki (Fortran 95) and N. Karmitsa (Python).
BEM-DC Bundle enrichment method for nonsmooth DC programming by N. Karmitsa, A. Bagirov and S. Taheri (Fortran 2003).
DBDC Proximal double bundle solver for nonsmooth DC programming by K. Joki (Fortran 95).
PBDC Proximal bundle solver for nonsmooth DC programming by K. Joki (Fortran 95).
NonsmoothDCA Solver for nonsmooth DC programming by A. Bagirov (Fortran 77). The solver is an implemantation of well-known DCA algorithm by Le Thi Hoai An and Pham Dinh Tao.
TCM Truncated codifferential solver for nonsmooth DC programming by A. Bagirov (Fortran 77).

Multiobjective Nonsmooth Optimization

MPBNGC Multiobjective proximal bundle solver. See MPBNGC above.
MDBDC Multiobjective double bundle method for nonsmooth DC programming by K. Joki and O. Montonen (Fortran 95). MDBDC is able to handle problems which objective and constraint functions can be presented as a difference of two convex (DC) functions.

Nonsmooth Test Problems

Solver-o-matic

Solver-o-matic is an online decision tree for choosing a NSO solver. Solver-o-matic will tell you which method/solver is the most suitable for solving your problem.