RFSQP
Selected Applications 
Application References 
RFSQP Sites

 


What is RFSQP

Development of RFSQP started at the Institute for Systems Research (ISR), University of Maryland; developers were Craig Lawrence and Andre Tits. Then, in 2000, RFSQP was taken over by AEM Design, where the capability  to handle equality constraints was incorporated, and the code was further enhanced.

Like CFSQP (the C version of FSQP) RFSQP (for Reduced FSQP) consists of C code for the minimization of the maximum of a set of smooth objective functions (or a single smooth objective function), subject to general smooth constraints. The optimization algorithm at the heart of RFSQP is very much inspired from that used in FSQP. (Both of these were developed by Andre Tits' research group at the University of Maryland.) 

The main difference between CFSQP and RFSQP lies in that, in the latter, search directions are computed at lower cost. Specifically, while in CFSQP computation of a search direction requires the solution of two quadratic programming (QP) problems--the second one for the purpose of titling the search direction towards the interior of the feasible set--, in RFSQP, both are combined into a single QP. Computational cost can be further reduced by making use of "warm starts" in the solution of this QP. While QLD, the public domain QP solver bundled with the RFSQP distribution, does not allow for warm starts, RFSQP includes an interface that makes it possible (indeed, painless) to call QPOPT instead (a product of Stanford Business Software, Inc.) when available.

Just like CFSQP, if the initial guess provided by the user is infeasible for some inequality constraint or some linear equality constraint, RFSQP first generates a feasible point for these constraints; subsequently thesuccessive iterates generated by RFSQP all satisfy these constraints. Also, similarly to CFSQP, 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 objective function (penalized objective function if equality constraints are present) is then forced to decrease at each iteration. For that purpose, a certain Armijo type arc search is used with the property that the step of one is eventually accepted, a requirement for superlinear convergence. 

Like CFSQP, when used to solve problems with many sequentially related constraints (or objectives), such as discretized semi-infinite programming (SIP) problems, RFSQP gives the user the option to employ an algorithm that efficiently solves these problems, greatly reducing the computational effort. Finally, like with CFSQP, the user must provide functions that define the objective and constraint functions and may either provide functions to compute the respective gradients or require that FSQP estimate them by forward finite differences.

Back to the top

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