Language Reference

Nonlinear Optimization and Related Subroutines

Table 20.1: Nonlinear Optimization and Related Subroutines
Optimization Subroutines
Conjugate Gradient Optimization Method
CALL NLPCG( rc, xr, "fun", x0 <, opt, blc, tc, par, "ptit", "grd">);
Double Dogleg Optimization Method
CALL NLPDD( rc, xr, "fun", x0 <,opt, blc, tc, par, "ptit", "grd">);
Nelder-Mead Simplex Optimization Method
CALL NLPNMS( rc, xr, "fun", x0 <,opt, blc, tc, par, "ptit", "nlc">);
Newton-Raphson Optimization Method
CALL NLPNRA( rc, xr, "fun", x0 <,opt, blc, tc, par, "ptit", "grd", "hes">);
Newton-Raphson Ridge Optimization Method
CALL NLPNRR( rc, xr, "fun", x0 <,opt, blc, tc, par, "ptit", "grd", "hes">);
(Dual) Quasi-Newton Optimization Method
CALL NLPQN( rc, xr, "fun", x0 <,opt, blc, tc, par, "ptit", "grd", "nlc", "jacnlc">);
Quadratic Optimization Method
CALL NLPQUA( rc, xr, quad, x0 <,opt, blc, tc, par, "ptit", lin>);
Trust-Region Optimization Method
CALL NLPTR( rc, xr, "fun", x0 <,opt, blc, tc, par, "ptit", "grd", "hes">);


Least Squares Subroutines
Hybrid Quasi-Newton Least Squares Methods
CALL NLPHQN( rc, xr, "fun", x0, opt <,blc, tc, par, "ptit", "jac">);
Levenberg-Marquardt Least Squares Method
CALL NLPLM( rc, xr, "fun", x0, opt <,blc, tc, par, "ptit", "jac">);


Supplementary Subroutines
Approximate Derivatives by Finite Differences
CALL NLPFDD( f, g, h, "fun", x0 <,par, "grd">);
Feasible Point Subject to Constraints
CALL NLPFEA( xr, x0, blc <,par>);

Note: The names of the optional arguments can be used as keywords. For example, the following statements are equivalent:

  
    call nlpnrr(rc,xr,"fun",x0,,,ter,,,"grad"); 
    call nlpnrr(rc,xr,"fun",x0) tc=ter grd="grad";
 

All the optimization subroutines require at least two input arguments.

The other arguments that can be used as input are described in the following list. As indicated in Table 20.1, not all input arguments apply to each subroutine.

Note that you can specify optional arguments with the keyword=argument syntax.

The modules that can be used as input arguments for the subroutines ("fun," "grd," "hes," "jac," "ptit," "nlc," and "jacnlc") accept only a single input parameter x=(x_1, ... ,x_n). You can provide more input parameters for these modules by using the GLOBAL clause. See the section "Using the GLOBAL Clause" for an example.

All the optimization subroutines return the following results:

Previous Page | Next Page | Top of Page