<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div>thank you for your reply.Now I can be sure that my program is correct and the problem is solvable.</div><div><span style="font-family: arial; line-height: 23.8px; white-space: pre-wrap;">And it's true that the steps are too small to reduce the dual infeasibility. In my view, it's because that the constraints are already satisfied, the barrier parameter gets very small, making the steps very small.this is the </span><font face="arial"><span style="white-space: pre-wrap;">phenomenon,and</span></font><span style="line-height: 1.7; white-space: pre-wrap;"> i¡®m more curious about why this problem is difficult for Ipopt.</span></div><div><span style="line-height: 1.7; white-space: pre-wrap;"> </span><span style="line-height: 1.7; white-space: pre-wrap;">I also tried to simplify the problem and when i fixed variables x[5],x[4] to 1, ipopt find the solution in the 485th iteration,which is still irregular for such a small scale problem.</span></div><div><span style="line-height: 1.7;">the simplified problem is showed below:</span></div><div><span style="line-height: 1.7;"> </span><span style="font-family: arial; line-height: 23.8px; white-space: pre-wrap;">objective function:</span></div><div><span style="font-family: arial; line-height: 23.8px; white-space: pre-wrap;">pow(10, 6)*(x[6] + x[7] + x[8] + x[9] + x[10] + x[11])</span></div><div><span style="font-family: arial; line-height: 23.8px; white-space: pre-wrap;"> constraints:</span></div><div><span style="font-family: arial; line-height: 23.8px; white-space: pre-wrap;"> (-x[2] * cos(x[0])) / (0.075556) + pow(x[2], 2) / 0.075556 + x[4] - x[5]=0</span></div><div><span style="font-family: arial; line-height: 23.8px; white-space: pre-wrap;"> (-x[3] * cos(x[1])) / (0.075556) + pow(x[3], 2) / 0.075556 + x[6] - x[7]=0</span></div><div><span style="font-family: arial; line-height: 23.8px; white-space: pre-wrap;"> 0.1<-x[2] * cos(x[0]) / (0.075556) - x[3] * cos(x[1]) / (0.075556) + 2 / 0.075556+ x[8] - x[9]<0.309</span></div><div><span style="font-family: arial; line-height: 23.8px; white-space: pre-wrap;">variables:</span></div><div><span style="font-family: arial; line-height: 23.8px; white-space: pre-wrap;"> -pi/2<x[0],x[1]<pi/2; 0.95<x[2],x[3]<1.05; 0<x[5]~x[9]<10^7</span></div><div><span style="font-family: arial; line-height: 23.8px; white-space: pre-wrap;">I also paste the main program in the appendix for reference.if anyone has any thoughts about why this small scale problem is difficult for ipopt,please let me know, it would be very helpful.</span></div><pre><br>At 2016-06-30 18:35:22, "Stefan Vigerske" <stefan@math.hu-berlin.de> wrote:
>Hi,
>
>I could reproduce this, also with a GAMS model (attached).
>Some lines from the Ipopt log short before it terminates:
>
>iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du
>alpha_pr ls
>15600 9.9176715e-02 6.51e-10 8.50e-04 -11.0 7.64e-06 2.0 1.00e+00
>1.00e+00h 1
>15601 9.9176679e-02 5.85e-09 8.50e-04 -11.0 2.29e-05 1.6 1.00e+00
>1.00e+00h 1
>15602 9.9176666e-02 8.23e-10 8.50e-04 -11.0 8.59e-06 2.0 1.00e+00
>1.00e+00h 1
>15603 9.9176625e-02 7.41e-09 8.50e-04 -11.0 2.58e-05 1.5 1.00e+00
>1.00e+00h 1
>
>It seems to me that the steps are too small to make sufficient progress
>in reducing dual infeasibility.
>I played with a number of parameters, but didn't make it any better.
>Reducing optimality tolerance (constr_viol_tol 1e-8, tol 0.01) was the
>only thing that made Ipopt terminate fast (13 iterations).
>
>Btw, CONOPT, MINOS, and SNOPT solve this in <10 iterations, but Knitro
>also needs >10000 iterations. Seems to be a difficult problem for
>interior point algorithms.
>
>Stefan
>
>On 06/29/2016 11:14 AM, dongming jin wrote:
>> dear all:
>> I'm solving a nonlinear problem which has 3 constraints and 12 variables with ipopt. But the iteration count gets larger than 1000 and ipopt can't find an optimal solution. Can anyone help me out?
>>
>>
>> the problem is showed below:
>> objective function:
>> pow(10, 6)*(x[6] + x[7] + x[8] + x[9] + x[10] + x[11])
>> constraints:
>> (-x[2] * cos(x[0])) / (0.075556*x[4]) + pow(x[2], 2) / 0.075556 + x[6] - x[7]=0
>> (-x[3] * cos(x[1])) / (0.075556*x[5]) + pow(x[3], 2) / 0.075556 + x[8] - x[9]=0
>> 0.1<-x[2] * cos(x[0]) / (0.075556*x[4]) - x[3] * cos(x[1]) / (0.075556*x[5]) + 1 / 0.075556*(1 / pow(x[4], 2) + 1 / pow(x[5], 2)) + x[10] - x[11]<0.3099
>> variables:
>> -pi/2<x[0],x[1]<pi/2; 0.95<x[2],x[3]<1.05; 0.9<x[4],x[5]<1.1; 0<x[6]~x[11]<10^7
>>
>>
>> I guess it has something to do with the symmetrical constraints. When i set the lower bound of the third constraints to zero, ipopt found the optimal solution in the 15th iteration.and I paste the main program in the appendix for reference.
>> I would appreciate it if anyone can give me some advice.
>>
>>
>> dongming jin
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Ipopt mailing list
>> Ipopt@list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/ipopt
>>
>
>
>--
>http://www.gams.com/~stefan
</pre></div><br><br><span title="neteasefooter"><p><br/> </p></span>