# Optimization

## UNCONSTRAINED MINIMIZATION

### UNIVARIATE FUNCTION

ROUTINE | DESCRIPTION |
---|---|

UVMIF | Finds the minimum point of a smooth function of a single variable using only function evaluations. |

UVMID | Finds the minimum point of a smooth function of a single variable using both function evaluations and first derivative evaluations. |

UVMGS | Finds the minimum point of a non-smooth function of a single variable. |

### MULTIVARIATE FUNCTION

ROUTINE | DESCRIPTION |
---|---|

UMINF | Minimizes a function of N variables using a quasi-Newton method and a finite-difference gradient. |

UMING | Minimizes a function of N variables using a quasi-Newton method and a user-supplied gradient. |

UMIDH | Minimizes a function of N variables using a modified Newton method and a finite-difference Hessian. |

UMIAH | Minimizes a function of N variables using a modified Newton method and a user-supplied Hessian. |

UMCGF | Minimizes a function of N variables using a conjugate gradient algorithm and a finite-difference gradient. |

UMCGG | Minimizes a function of N variables using a conjugate gradient algorithm and a user-supplied gradient. |

UMPOL | Minimizes a function of N variables using a direct search polytope algorithm. |

### NONLINEAR LEAST SQUARES

ROUTINE | DESCRIPTION |
---|---|

UNLSF | Solves a nonlinear least-squares problem using a modified Levenberg-Marquardt algorithm and a finite-difference Jacobian. |

UNLSJ | Solves a nonlinear least squares problem using a modified Levenberg-Marquardt algorithm and a user-supplied Jacobian. |

## MINIMIZATION WITH SIMPLE BOUNDS

ROUTINE | DESCRIPTION |
---|---|

BCONF | Minimizes a function of N variables subject to bounds on the variables using a quasi- Newton method and a finite-difference gradient. |

BCONG | Minimizes a function of N variables subject to bounds on the variables using a quasi- Newton method and a user-supplied gradient. |

BCODH | Minimizes a function of N variables subject to bounds on the variables using a modified Newton method and a finite-difference Hessian. |

BCOAH | Minimizes a function of N variables subject to bounds on the variables using a modified Newton method and a user-supplied Hessian. |

BCPOL | Minimizes a function of N variables subject to bounds on the variables using a direct search complex algorithm. |

BCLSF | Solves a nonlinear least squares problem subject to bounds on the variables using a modified Levenberg-Marquardt algorithm and a finite-difference Jacobian. |

BCLSJ | Solves a nonlinear least squares problem subject to bounds on the variables using a modified Levenberg-Marquardt algorithm and a user-supplied Jacobian. |

BCNLS | Solves a nonlinear least-squares problem subject to bounds on the variables and general linear constraints. |

## LINEARLY CONSTRAINED MINIMIZATION

ROUTINE | DESCRIPTION |
---|---|

READ_MPS | Reads an MPS file containing a linear programming problem or a quadratic programming problem. |

MPS_FREE | Deallocates the space allocated for the IMSL derived type s_MPS. This routine is usually used in conjunction with READ_MPS. |

DENSE_LP | Solves a linear programming problem using an active set strategy. |

DLPRS | Solves a linear programming problem via the revised simplex algorithm. |

SLPRS | Solves a sparse linear programming problem via the revised simplex algorithm. |

TRAN | Solves a transportation problem. |

QPROG | Solves a quadratic programming problem subject to linear equality/inequality constraints. |

LCONF | Minimizes a general objective function subject to linear equality/inequality constraints. |

LCONG | Minimizes a general objective function subject to linear equality/inequality constraints and a user-supplied gradiient. |

## NONLINEARLY CONSTRAINED MINIMIZATION

ROUTINE | DESCRIPTION |
---|---|

NNLPF | Nonlinearly Constrained Minimization using a sequential equality constrained QP method. |

NNLPG | Nonlinearly Constrained Minimization using a sequential equality constrained QP method and a user-supplied gradient. |

## SERVICE ROUTINES

ROUTINE | DESCRIPTION |
---|---|

CDGRD | Approximates the gradient using central differences. |

FDGRD | Approximates the gradient using forward differences. |

FDHES | Approximates the Hessian using forward differences and function values. |

GDHES | Approximates the Hessian using forward differences and a user-supplied gradient. |

DDJAC | Approximates the Jacobian of M functions in N unknowns using divided differences. |

FDJAC | Approximate the Jacobian of M functions in N unknowns using forward differences. |

CHGRD | Checks a user-supplied gradient of a function. |

CHHES | Checks a user-supplied Hessian of an analytic function. |

CHJAC | Checks a user-supplied Jacobian of a system of equations with M functions in N unknowns. |

GGUES | Generates points in an N-dimensional space. |