Many science and engineering applications require the user to find solutions to systems of nonlinear constraints or to optimize a nonlinear function subject to nonlinear constraints. The field of global optimization is the study of methods to find all solutions to systems of nonlinear constraints and all global optima to optimization problems. Numerica is modeling language for global optimization that makes it possible to state nonlinear problems in a form close to the statements traditionally found in textbooks and scientific papers. The constraint-solving algorithm of Numerica is based on a combination of traditional numerical methods such as interval and local methods, and constraint satisfaction techniques. This comprehensive presentation of Numerica describes its design, functions, and implementation. It also discusses how to use Numerica effectively to solve practical problems and reports a number of experimental results. A commercial implementation of Numerica is available from ILOG under the name ILOG Numerica.