[Couenne] [HELP]- An AMPL model solved by couenne

Pietro Belotti petr.7b6 at gmail.com
Fri Jan 16 20:15:58 EST 2015


Dear Ying,

for 1), it seems there is indeed some problem and Couenne cuts off the
optimal solution. I'm looking at this issue and hope to resolve it
soon. For 2), there are problems where Couenne can't find a feasible
solution or a lower bound, due to the non-convexity of the problem.
One possible strategy here is to try and solve it with Bonmin, which
would provide a heuristic solution to a nonconvex problem, and then
use that solution as the initial solution of Couenne by, for instance,
specifying

art_cutoff 12345.6

in the option file couenne.opt, where 12345.6 is the value of the
objective function found.

I hope this helps,
Pietro

On Wed, Jan 14, 2015 at 3:18 AM, 霍瑛 <huoying at nuaa.edu.cn> wrote:
> Dear Pietro,
>
> Thank you very much! With your help, my model can be solved by couenne now.
> But there are other problems when solving.
>
> 1) The couenne maybe could not get the optimal results every time.
> For example, the model files "randA.dat 5-5.mod 5-5.run". The results from couenne are:
> use [*] :=
>  3  1
>  7  1
> 15  1
> 20  1
> 24  1;
> ComSAW = 0.645818
> But when I use the exhaustive algorithm (namely check all the cases one by one), and the answer is use [3 9 12 17 25] = 1, ComSAW = 0.654953 > 0.645818.
> Can I change some options to ensure that I can get the optimal result.
>
> 2)For the model files "randA.dat 5-10.mod 5-10.run"(The same model as before, just increase the number of variable).
> The program has been runned for more than 10 hours, but hasn't get the results. Part of the records are in "5-10-result.txt".
> Is there any problem?
>
> Thank you very much again!
> I appreciate it if you can help me again.
>
> Ying Huo
> Ph.D. Candidate
> College of Computer Science and Technology,
> Nanjing University of Aeronautics and Astronautics, China
>
>
>
>> -----原始邮件-----
>> 发件人: "Pietro Belotti" <petr.7b6 at gmail.com>
>> 发送时间: 2015-01-13 07:22:42 (星期二)
>> 收件人: "霍瑛" <huoying at nuaa.edu.cn>
>> 抄送: "couenne at list.coin-or.org" <couenne at list.coin-or.org>
>> 主题: Re: [Couenne] [HELP]- An AMPL model solved by couenne
>>
>> Dear Ying,
>>
>> Couenne does not handle the min operator (yet), so that min {}
>> quantity in your model needs to change. However, it seems this can be
>> done rather easily: the min() operator is used when Com_status[j]=3,
>> which corresponds to Posi_status[j]=1, for which Comscore[j] is taken
>> with positive sign (and has nonnegative weight in the objective).
>> Therefore, you could introduce a new variable as follows:
>>
>> var z;
>>
>> subject to def_z {i in N_class, j in ATTRIBUTE: Com_status[j] == 3}: z
>> <= ComService[i,j];
>>
>> and then change the definition of ComScore as follows:
>>
>> var ComScore {j in ATTRIBUTE} =
>>     if Com_status[j]==1 then sum {i in N_class} ComService[i,j]
>>         else if Com_status[j]==2 then (prod {i in N_class} ComService[i,j])
>>             else if Com_status[j]==3 then z
>>                     else sum  {i in N_class} ComService[i,j] /5;
>>
>> and you should be able to obtain an optimal solution to the problem.
>> As for the near-integrality of the solution, many solvers treat values
>> such as -1e-16 as nearly integer, since it's very close to zero.
>>
>> Pietro
>>
>>
>> On Mon, Jan 12, 2015 at 11:11 AM, 霍瑛 <huoying at nuaa.edu.cn> wrote:
>> > Dear All,
>> >
>> > I have an AMPL model that can would be solved by using couenne.
>> >
>> > The files are "randA.dat 5-10-1.mod". The error message is "couenne:
>> > ANALYSIS TEST: ERROR: unknown operator".
>> >
>> > I know I may use operators that are not supported by Couenne from
>> > "http://list.coin-or.org/pipermail/couenne/2012-June/000304.html"
>> >
>> > I tried many times, and after I delete the "min" operator. The new files are
>> > "randA.dat 5-10.mod 5-10.run", and it can be solved by couenne.
>> >
>> > couenne: Optimal
>> > use [*] :=
>> >  3   1
>> > 15   1
>> > 29   1
>> > 36   1
>> > 40  -2.22045e-16
>> > 46   1
>> > ;
>> >
>> > But I need to solve the old problem (the one with the min operator), is
>> > there another method for this?
>> >
>> > Besides, for the new problem (without the min operator), we set the variable
>> > to be binary: "var use {i in N_candidate} binary;".
>> > But the above result "40  -2.22045e-16"  is not an integer. Why? And how can
>> > I always get the binary result?
>> >
>> >
>> >
>> > Thank you very much!
>> >
>> > Ying Huo
>> >
>> >
>> > _______________________________________________
>> > Couenne mailing list
>> > Couenne at list.coin-or.org
>> > http://list.coin-or.org/mailman/listinfo/couenne
>
> _______________________________________________
> Couenne mailing list
> Couenne at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/couenne



More information about the Couenne mailing list