# The Unconstrained Nonlinear Programming (NLPU) Solver

Procedures in Online Documentation

The NLPU solver in the OPTMODEL procedure enables you to solve unconstrained nonlinear programming problems.
An unconstrained nonlinear programming problem can be written as

where
is the nonlinear objective function and
*x* is the decision variable.

## Solution Techniques

The NLPU solver provides three techniques that are able to solve purely unconstrained optimization problems
and one technique that can solve optimization problems that contain bounds on the variables. They are as follows:

- Fletcher-Reeves nonlinear conjugate gradient algorithm for convex unconstrained optimization
- Polak-Ribiere nonlinear conjugate gradient algorithm for convex unconstrained optimization
- limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) algorithm for general nonconvex unconstrained optimization
- conjugate-gradient trust region algorithm for general nonconvex bound-constrained optimization problems

If the objective function is convex, then the optimal solution is a global optimum; otherwise, it is a
local optimum. This implies that the optimal solution obtained by the NLPU solver can depend on the starting point.