FSQP

 


What is FSQP

FSQP was originally developed at the Institute for Systems Research (ISR), University of Maryland. See history for detail.

FSQP is a source code for minimization of the maximum of a set of smooth objective functions subject to general smooth constraints. Two versions are available. One written in portable Fortran 77 (FFSQP), and the other written in portable standard C (CFSQP). Both versions have been tested and run successfully on most platforms, including Sun SPARCs, DECs, and IBM personal computers. Feedback from users concerning success/failure on various platforms would be greatly appreciated, as would suggested fixes in the case of a problem.

If the initial guess provided by the user is infeasible for some inequality constraint or some linear equality constraint, FSQP first generates a feasible point for these constraints; subsequently the successive iterates generates by FSQP all satisfy these constraints. Nonlinear equality constraints are turned into inequality constraints and the maximum of the objective function is replaced by an exact penalty function which penalizes nonlinear equality constraint violations only. The user has the option of either requiring that the objective function (penalty function if nonlinear equality constraints are present) decrease at each iteration after feasibility for nonlinear inequality and linear constrains has been reached (monotone line search), or requiring a decrease within at most four iterations (nonmonotone line search). The user must provide functions that define the objective functions and constraint functions and may either provide functions to compute the respective gradients or require that FSQP estimate them by forward finite differences.

When solving problems with many sequentially related constraints (or objectives), such as discretized semi-infinite programming (SIP) problems, the C version CFSQP gives the user the option to use an algorithm that efficiently solves these problems, greatly reducing computational effort.

FSQP is an implementation of two algorithms based on Sequential Quadratic Programming (SQP), modified so as to generate feasible iterates. In the first one (monotone line search), a certain Armijo type arc search is used with the property that the step of one is eventually accepted, a requirement for superlinear convergence. In the second one the same effect is achieved by means of a nonmonotone search along a straight line. The merit function used in both searches is the maximum of the objective functions if there is no nonlinear equality constraints, or an exact penalty function if nonlinear equality constraints are present.

 

Back to the top

Send mail to webmaster@aemdesign.com with questions or comments about this web site.
Last modified: February 21, 2005