Over the past thirty years there has been a growing need and interest for nonsmooth optimization methods. Nonsmoothness of objective or constraint functions may arise, for example, from heterogeneous material properties, from process controls and safety mechanisms that dynamically switch on and off; from variational inequality representations of free boundaries, phase transitions, contacts with friction; and from numerical schemes such as upwind finite differences and flux limiters.