The NLPC Nonlinear Optimization Solver

In nonlinear optimization, you try to minimize or maximize an objective function that can be subject to a set of constraints. The objective function is typically nonlinear in terms of the decision variables. If the problem is constrained, it can be subject to bound, linear, or nonlinear constraints. In general, you can classify nonlinear optimization (minimization or maximization) problems into the following four categories:

• unconstrained
• bound-constrained
• linearly constrained
• nonlinearly constrained

where

• : is the nonlinear objective function

• are the functions of general nonlinear equality and inequality constraints

• are the constant terms of the constraints, also referred to as the right-hand side (RHS)

• and are lower and upper bounds on the decision variable

If are all linear in , the nonlinear optimization problem becomes a linearly constrained problem, which can be expressed as

where . If is not present, you have a bound-constrained problem. If it is also true that and for all , you have an unconstrained problem in which can take values in the entire space.

These different problem classes typically call for different types of algorithms to solve them. The algorithms that are devised specifically to solve a particular class of problem might not be suitable for solving problems in a different class. For example, there are algorithms that specifically solve unconstrained and bound-constrained problems. For linearly constrained problems, the fact that the Jacobian of the constraints is constant enables you to design algorithms that are more efficient for that class.

Solution Techniques

The algorithms in the NLPC solver take advantage of the problem characteristics and automatically select an appropriate variant of an algorithm for a problem. Each of the optimization techniques implemented in the NLPC solver can handle unconstrained, bound-constrained, linearly constrained, and nonlinearly constrained problems without your explicitly requesting which variant of the algorithm should be used. The NLPC solver is also designed for backward compatibility with PROC NLP, enabling you to migrate from PROC NLP to the more versatile PROC OPTMODEL modeling language.

The NLPC solver provides the following solution techniques:

• trust region method

• Newton-Raphson method with line search