Essentials of numerical nonsmooth optimization