[Minotaur] FilterSQP engine strange behaviour
Kazazakis, Nikos
n.kazazakis12 at imperial.ac.uk
Wed Dec 7 10:52:30 CST 2016
>From my personal experience, Minotaur's interface to both FilterSQP and IPOPT is very reliable, as are the local solvers themselves. I have cross-referenced the results for about 300 fairly large problems (up to 300 variables) and found no numerically significant difference between the two.
One likely culprit for unexpected behavior in convergence but not the result, is that AMPL may have reformulated your problem. Try re-running AMPL with:
option presolve 0
and see if it makes a difference.
Always happy to fix bugs if you find one though!
--
Kind regards,
Dr Nikos Kazazakis,
Dept. of Chemical Engineering,
Imperial College London,
Prince Consort Road,
SW7 2AZ
________________________________
From: minotaur-bounces at lists.mcs.anl.gov <minotaur-bounces at lists.mcs.anl.gov> on behalf of Roberto Chao <chaoroberto at gmail.com>
Sent: 06 December 2016 11:26:15
To: Sven Leyffer
Cc: minotaur at lists.mcs.anl.gov; Sven Leyffer
Subject: Re: [Minotaur] FilterSQP engine strange behaviour
Thankyou for your interest. We'll test Minotaur an filterSQP with more
complicated optimization problems with known solution and I'll report
you the results. We'll have to make some minor changes to Minotaur to
avoid defining one function for evaluating every constraint because we
have tens of nonlinear constraints.
Thankyou
Roberto Chao
2016-12-05 16:15 GMT+01:00 Sven Leyffer <leyffer at anl.gov>:
> Dear Roberto,
>
> As I said earlier, I see nothing strange in the behavior. Different
> algorithms will converge differently. The main point is that both converge
> to the same limit point as predicted by their theory.
>
> Kind regards,
>
> Sven
>
>
>
> On 12/04/2016 08:45 PM, Ashutosh Mahajan wrote:
>>
>> 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
>
>
> --
> ---
> Sven Leyffer
> Senior Computational Mathematician
> Argonne National Laboratory
>
_______________________________________________
Minotaur mailing list
Minotaur at lists.mcs.anl.gov
https://lists.mcs.anl.gov/mailman/listinfo/minotaur
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/minotaur/attachments/20161207/9ffc599c/attachment-0001.html>
More information about the Minotaur
mailing list