[Ipopt] Problem with Ipopt/ Bonmin/ NEOS
Andreas Waechter
awaechter.iems at gmail.com
Wed Nov 16 10:29:04 EST 2011
Hi Webb,
You didn't formulate your problem as one with discrete variables,
instead you defined in Cbin a non-smooth function (with "if"
statement). Ipopt and Bonmin require smooth function in the model - if
they are not smooth, Ipopt can easily get stuck at a point that is
nondifferentiable. I suggest to look at some introductory literature on
discrete optimization to find alternative ways to formulate your model.
Regards,
Andreas
On 11/16/2011 12:47 AM, Webb Sprague wrote:
> Hi there,
>
> I am getting an error with Ipopt (see log below) when submitting a job
> via NEOS on Bonmin. There is probably nothing to be done about it,
> unless we can help diagnose via NEOS, but maybe there is an issue or
> something we can fix.
>
> Here is the output, my mod dat run files are cut and pasted below that:
>
> **** neos output ***
>
> Executing /opt/neos/Drivers/bonmin-ampl/bonmin-ampl-driver.py at time:
> 2011-11-16 00:34:56.107856
> File exists
> You are using the solver bonmin.
> Executing AMPL.
> processing data.
> processing commands.
>
> Substitution eliminates 7 variables.
> Adjusted problem:
> 1 variable, all nonlinear
> 8 constraints, all nonlinear; 8 nonzeros
> 8 inequality constraints
> 1 nonlinear objective; 1 nonzero.
>
> bonmin:
>
> Error: Ipopt exited with error code -1 Maximum Iterations Exceeded
> ******************************************************************************
> Error: Error at _cmdno 3 executing "solve" command
> This program contains Ipopt, a library for large-scale nonlinear optimization.
> Error: (file amplin, line 40, offset 743):
> Ipopt is released as open source code under the Common Public License (CPL).
> Error: can't open /tmp/neos-11104/at11108.sol
> For more information visit http://projects.coin-or.org/Ipopt
> ******************************************************************************
>
> IpOp0008I
> Num Status Obj It time
> IpOp0009I 1 FAILED 93748.5 3000 1.50977
> IpOp0010I r1 FAILED 93748.5 3000 1.50277
>
> ***** model etc *****
> # this works with MINLP on neos, but craps out with bonmin and couenne
>
> set CSCH;
> set FOO := 1 .. card{CSCH};
>
> param price;
> param cost{CSCH};
> param cmin{CSCH};
> param cmax{CSCH};
>
> var Sales>= 3,<= 1000;
>
> var Cbin{c in CSCH} = (if Sales>= cmin[c] and Sales<= cmax[c] then 1 else 0);
>
> var TRev = sum {c in CSCH} Cbin[c] * Sales * price;
> var TCost = sum {c in CSCH} Cbin[c] * cost[c] * Sales;
> var Profit = TRev - TCost;
>
> maximize Obj: Profit;
>
> s.t. Foo {c in CSCH}: Cbin[c]>= 0;
> s.t. Bar {c in CSCH}: Cbin[c]<= 1;
>
> data;
> param price := 6.25;
> param: CSCH :
> cmin cmax cost :=
> 1 0 20 2
> 2 20 50 1
> 3 50 999 4
> 4 999 9999 100;
>
> solve;
> display _varname, _var;
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
More information about the Ipopt
mailing list