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). MPBNGC usually uses relatively
small amount of iterations and, thus, it should be an efficient choice
also with difference approximations.
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.