OPL (Optimization Programming Language) is a modelling language for combinatorial optimization that simplifies the formulation and solution of optimization problems. This book, written by the developer of OPL, is a comprehensive introduction to the OPL programming language and its application to problems in linear and integer programming, constraint programming and scheduling.