[Ipopt] A maximization problem returns a minimum

Paul Smith phhs80 at gmail.com
Thu Jun 17 12:48:41 EDT 2010


Hi Andreas,

Thanks for your clarification.

I was expecting that IPOPT checked second-order conditions, but
according to what you are saying it only checks first-order
conditions.

Best regards,

Paul


On Thu, Jun 17, 2010 at 5:07 PM, Andreas Waechter
<andreasw at watson.ibm.com> wrote:
> Hi Paul,
>
> You give Ipopt x=0.5 as starting point.  At this point the KKT error is
> exactly zero, and Ipopt does not take any steps.  Ipopt is guaranteed only
> to find a first-order optimal point, and this is what it returns to you.
>
> However, Ipopt has provisions that try to avoid a local maximizer, and if
> you just change the starting point a tiny bit to x=0.500001, it returns
> x = 0.853553.
>
> Hope this clarifies,
>
> Andreas
>
>
> On Thu, 17 Jun 2010, Paul Smith wrote:
>
>> Dear All,
>>
>> I am running this simple model through AMPL and Ipopt 3.8.0:
>>
>> --------------------------------------
>> var x >= 0;
>>
>> let x := 0.5;
>>
>> maximize F:
>>  -16 * x * (x-1) * (2*x - 1)^2;
>>
>> subject to R1:
>>  x <= 1;
>> --------------------------------------
>>
>> Ipopt returns the following solution:
>>
>> «EXIT: Optimal Solution Found.
>>
>> Ipopt 3.8.0: Optimal Solution Found
>>
>> suffix ipopt_zU_out OUT;
>> suffix ipopt_zL_out OUT;
>> ampl: display F, x;
>> F = 0
>> x = 0.5».
>>
>> However the returned solution is a minimum and NOT a maximum. What am
>> I not understanding?
>>
>> Thanks in advance,
>>
>> Paul
>>
>>
>> _______________________________________________
>> Ipopt mailing list
>> Ipopt at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/ipopt
>>
>




More information about the Ipopt mailing list