|
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
|