# [Ipopt] changing linear solver to ma86 which is not an the option list

1252685 at tongji.edu.cn 1252685 at tongji.edu.cn
Mon Dec 21 02:45:24 EST 2015

```The following is the math model,including objective function,constraints and variables.

obj:25-x[2]-x[4]+25/x[5]*(1+x[3]^2-2*x[3]*cos(x[1]))+x[6]+x[7]+...+x[15]

constraints:                                                Lower bounds        Upper bounds
-x[2]+x[3]*(-25*sin(x[1])+25*cos(x[1]))/x[5]-x[3]^2*25/(x[5]^2)+x[6]-x[7]             0                 0
25/x[5]-x[3](25*cos(x[1])+25*sin(x[1]))/x[5]+x[8]-x[9]                         -5                 5
0-x[1]+x[10]-x[11]                                                 -pi/2              pi/2
-x[4]+x[3]*(25*sin(x[1])+25*cos(x[1]))/x[5]-x[3]^2*25/(x[5]^2)+x[12]-x[13]            0                0
25/x[5]-x[3]*(-25*sin(x[1])+25*cos(x[1]))/x[5]+x[14]-x[15]                      -1                1

variables:
x[1]                                                         -pi/2               pi/2
x[2]                                                          0                 10
x[3]                                                         0.9                1.1
x[4]                                                          0                 15
x[5]                                                         0.95                1.05
x[6]~x[15]                                                      0                 10e7

I take x[6]~x[15] as slack variables for the constraints,so that the program can still find a solution as close as possible to the bounds of the constraints when the original problem is not feasible.

I naively thought it may be difficult for the program to satisfy the tolerance of the complementary_inf,but it turns out that it's dual infeasibility that is difficult to satisfy.

I'd appreciate it a lot if you can give me some advice.

Dongming Jin
-----原始邮件-----

The number if variables and constraints is not enough information to determine how many iterations your problem should take to solve. What sort of problem are you working with?

On Sun, Dec 20, 2015, 19:26  <1252685 at tongji.edu.cn> wrote:

Thank you very much for your reply,and I don't have to try other linear solvers.

But I still can't solve my initial problem.How can I reduce the iteration count?

I'm solving an nlp,which has 2 equality constraints,5 inequality constraints and  19 variables with lower and upper bounds.It takes 358 iterations to find the final solution. It's quite unacceptable for such a small question.

And in the program output,I found that the overall_error,constraint_viol and complementary_inf were all smaller than the corresponding tolerance in the 17th iteration except the dual_inf which has the value of 40.00341,and the program took another 341 steps only to reduce the dual_inf.Is there anyway to reduce the iteration count except increasing the tolerance of dual_inf?

Dongming Jin

> -----原始邮件-----
> 发件人: jonathan.hogg at stfc.ac.uk
> 发送时间: 2015-12-20 20:53:08 (星期日)
> 收件人: 1252685 at tongji.edu.cn, ipopt at list.coin-or.org
> 抄送:
> 主题: RE: [Ipopt] changing linear solver to ma86 which is not an the option     list
>
> This isn't terribly surprising - they should all give the same answer for solving the linear system!
>
> The only time changing the linear solver might help reduce iteration count is if there is some form of breakdown (eg singular systems), where different solvers might offer different scaling techniques or similar that will determine if they can successfully extract meaningful information from the system.
>
> Changing the linear system may, however, decrease time per iteration.
>
> Jonathan.
> ________________________________________
> From: Ipopt [ipopt-bounces at coin-or.org] on behalf of 1252685 at tongji.edu.cn [1252685 at tongji.edu.cn]
> Sent: 20 December 2015 11:18
> To: ipopt at list.coin-or.org
> Subject: [Ipopt] changing linear solver to ma86 which is not an the option      list
>
> Hello.
> I'm solving some nolinear problem with ipopt,and trying to change the linear solver to improve its efficiency.
>
> And I have tried mumps,ma27 and ma57 so far.But the outcome isn't really satisfying.The solving process with these three linear solvers have almost the same number of iteration steps.I wondering if I have change the linear solver successfully,but the program output says that "this is ipopt version 3.7 stable,runing with linear solver ma57",Can this guarantee that i have changed the linear solver from default mumps to ma57 successfully?if so,maybe i should change some other linear solvers like HSL_MA86? But the ipopt only have linear solver options like mumps,ma27,ma57.The ma86,ma77 are not in the option list.how can I change the linear solvers to another one like ma86?
>
> Can you give me some instructions,or if there is any website or post discussing about it?I'm changing linear solver by dynamically loading some separate DLL. Working on windows,using msvs and intel fortran compiler.
>
> Sorry for my poor English,and thanks in advance!
> Best regards,
>
> Dongming Jin
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt

_______________________________________________
Ipopt mailing list
Ipopt at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/ipopt

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20151221/b4284e31/attachment-0001.html>
```