On Nov 21, 2011, at 9:06 AM, chris wrote:
I'm using NLOpt to solve a (strictly convex) QP problem with box,
linear and
quadratic inequality constraints. I tried the MMA and SLSQP methods.
In most
cases, they both converge to a very good solution but SLSQP always
gives an
answer that satisfies the inequality constraints up to required
precision,
whereas MMA occasionally starts erring into the infeasible region
(despite
starting with a feasible point). Did I misunderstand the strict
requirement of
feasibility of NLOpt ? (I can send an example .c file if that helps).
In general, NLopt only guarantees strict feasibility of all
evaluations for box constraints (specified explicitly as lower/upper
bounds); with other constraints, you should get something that
converges towards a feasible point (to the attainable accuracy), but
may stray outside the feasible region at intermediate steps.
MMA, in particular, has both "outer iterations" and "inner iterations"
within each outer iteration. The outer iterations are guaranteed to
be feasible (from a feasible starting point), but the inner iterations
may evaluate the function at points outside the feasible region. It
should only return the result of an outer iteration, however, i.e. a
feasible point.
When you say "MMA occasionally starts erring into the infeasible
region" are you talking about the return value of the optimization, or
just about intermediate steps prior to return? In the latter case
there is no guarantee of feasibility.
Steven
_______________________________________________
NLopt-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/nlopt-discuss