[Minotaur] FilterSQP engine strange behaviour
Ashutosh Mahajan
amahajan at iitb.ac.in
Sun Dec 4 20:45:59 CST 2016
Dear Roberto Chao
Sven Leyffer who developed the filter solver is the best person to answer your
queries. Minotaur merely uses it as an external library.
--
Regards
Ashutosh Mahajan
http://www.ieor.iitb.ac.in/amahajan
On Mon, Nov 28, 2016 at 04:00:58PM +0100, Roberto Chao wrote:
> In this problem the SNQP method converges monotonically to the
> solution more or less like ipopt engine does. The same cannot be said
> of the minotaur SNQP implementation (filterSQP engine). It's true that
> in the end it converges to the solution but this is a very easy
> problem.
>
> Regards
> Roberto Chao
>
> 2016-11-28 6:59 GMT+01:00 Ashutosh Mahajan <amahajan at iitb.ac.in>:
> > Dear Roberto
> >
> > Both FilterSQP and Ipopt seem to be converging to the same point
> > (x0, x1) = (0.707107, 0.707107) in roughly the same number of
> > iterations. Can you be a bit more specific about what you feel is unexpected?
> > Cheers.
> >
> > --
> > Regards
> > Ashutosh Mahajan
> > http://www.ieor.iitb.ac.in/amahajan
> >
> > On Sun, Nov 27, 2016 at 08:38:10PM +0100, Roberto Chao wrote:
> >> Hello, my name is Roberto. I'm an experienced C/C++/Java developer and
> >> I'm currently very excited with the SNQP method and Minotaur seems to
> >> me the perfect interface with filtersqp solver.
> >>
> >> I've downloaded an successfully compiled minotaur-0.2.0 on a
> >> Linux-x86_64 machine. The executable has successfully passed all unit
> >> tests. I'd like to use minotaur to solve small-medium scale (tens of
> >> constraints) non-linear programming problems through the SNQP method.
> >>
> >> The first basic problem I've tried to solve has been taken from the
> >> book: Practical Methods of Optimization (2nd edition) (Pag 296):
> >>
> >> max x1+x2
> >> st. x1^2+x2^2<=1
> >>
> >> the FilterSQPEngine exhibits a strange behaviour:
> >>
> >> filterSQP: version 20010817
> >> (x0, x1) = (2, 0)
> >> (x0, x1) = (1.25, 10)
> >> (x0, x1) = (1.25, 5)
> >> (x0, x1) = (2.06029, 2.24118)
> >> (x0, x1) = (1.23322, 1.157)
> >> (x0, x1) = (0.786654, 0.829407)
> >> (x0, x1) = (0.720027, 0.707684)
> >> (x0, x1) = (0.706927, 0.707408)
> >> (x0, x1) = (0.707107, 0.707107)
> >> FilterSQPEngine: total calls = 1
> >> FilterSQPEngine: strong branching calls = 0
> >> FilterSQPEngine: total time in solving = 0.003292
> >> FilterSQPEngine: time in str branching = 0
> >> FilterSQPEngine: total iterations = 8
> >> FilterSQPEngine: strong br iterations = 0
> >> solution status code = 1
> >> solution status = ProvenLocalOptimal
> >>
> >> However using IPopt engine gives me this result:
> >>
> >> (x0, x1) = (2, 0)
> >> (x0, x1) = (1.24837, 1.7)
> >> (x0, x1) = (1.06331, 1.06783)
> >> (x0, x1) = (0.831419, 0.831195)
> >> (x0, x1) = (0.731859, 0.731869)
> >> (x0, x1) = (0.708612, 0.708612)
> >> (x0, x1) = (0.707108, 0.707108)
> >> (x0, x1) = (0.707107, 0.707107)
> >> Ipopt: total calls = 1
> >> Ipopt: strong branching calls = 0
> >> Ipopt: total time in solving = 0.047418
> >> Ipopt: total time in presolve = 2e-06
> >> Ipopt: time in str branching = 0
> >> Ipopt: total iterations = 7
> >> Ipopt: strong br iterations = 0
> >> solution status code = 1
> >> solution status = ProvenLocalOptimal
> >>
> >> so I can assume I've correctly defined jacobian, hessian of lagrange,
> >> objective an constraint evaluation callback methods.
> >>
> >> Can you help me please?
> >> Thank you in advance.
> >> Roberto Chao
> >> _______________________________________________
> >> Minotaur mailing list
> >> Minotaur at lists.mcs.anl.gov
> >> https://lists.mcs.anl.gov/mailman/listinfo/minotaur
> _______________________________________________
> Minotaur mailing list
> Minotaur at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/minotaur
More information about the Minotaur
mailing list