This book is entirely devoted to algorithms for numerical optimisation (quasi-Newton, bundle, sequential quadratic programming, interior points). Its aim is to familiarize the reader with these algorithms. Emphasis is given to implementation aspects, an experienced reader can program the algorithms directly. However, the theoretical side is not neglected.