Solver-o-matic
Decision Tree for Nonsmooth Optimization Software
Your first choice should be Proximal
Bundle Method (MPBNGC) by M.M. Mäkelä (you need to code
difference approximations by yourself).
The code includes the constraint handling (bound constraints,
linear constraints, and nonlinear/nonsmooth constraints). MPBNGC
can also be used
via
WWW-NIMBUS -system.
For other choices, see e.g.