In Chapter 2 we briefly introduced local optimizers, which rely on gradients of the objective and/or constraint function with respect to the design variables: design sensitivities. These methods find their niche in problems which have just one optimum (are unimodal) and where the objective/constraint functions are quick to analyse. Unfortunately such problems are rarely encountered and, when they are, do not remain problems for long. Local methods should also be applied when a problem has so many variables, and function evaluations take such a long time, that global search is impracticable. These situations require the efficient calculation of accurate design sensitivities for the local search algorithm to exploit. Our examples in this chapter are, in fact, of the former quick and simple type, but allow us to illustrate methods that might be applied to more difficult problems.