qp() in Octave 3.0.0 returns result egregiously violating input constraints
Joshua Redstone
redstone at gmail.com
Wed Apr 9 23:06:42 CDT 2008
Hi Gabriele,
I put in the expressions you suggested into qp.m right before the __qp__()
call. The output I get is:
for norm(A*x0-b):
ans = 5.7220e-16
and for
all((Ain*x0) > bin -
1e-15)
I got 1. (I got zero if I put a tolerance of 1e-18)
I have a bit more debugging information.
So when __qp__ runs, it starts off with a feasible solution. Then it varies
between thinking the problem is convex and not convex.
That is, it varies between setting info to 0 and 1, and I think this depends
on the set of active constraints.
I added gobs of printfs and around when the candidate x in __qp__ steps
outside of feasibility (around iteration 188), and I noticed that
the vector eVrH on line 288 has extreme values in it. They range from
1e-316 to 1e+286. Is this expected?
This leads to a 1e-17 in the variable 'p' on line 291, which leads to an
alpha of around 1e+18, which means a giant step
outside of feasibility.
Any ideas on what is going on?
Thanks,
Josh
On Sun, Apr 6, 2008 at 2:11 PM, Gabriele Pannocchia <
g.pannocchia at ing.unipi.it> wrote:
>
> > oppps ... sorry, I have no idea how to determine that. How might that
> > be done?
>
> Put a keyboard command in qp.m before line 273, i.e. right before the
> "__qp__" call and check:
> norm(A*x0-b)
> (which should be small)
> all(Ain*x0 > bin-tol)
> which should be 1 (these are all inequality constraints in the form
> required by __qp__)
>
> Gabriele
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://www.cae.wisc.edu/pipermail/bug-octave/attachments/20080409/f6b95db9/attachment.html
More information about the Bug-octave
mailing list