[Couenne] Couenne support

Vincent Goulet vincent.goulet.4 at ulaval.ca
Wed Aug 5 16:17:44 EDT 2015


Hi,

Thanks to Pietro for help on my first question. By trying to put it into practice, I encountered unexpected behavior from the solver.

My original problem is that I want the solver to only branch on a few variables and not on others. As suggested by Pietro, I looked around line 396 in BonCouenneSetup.cpp. I found there is a for-loop there over all variables. I tried to include only variables with indexes below 9, by breaking the loop if [var -> Index ()] returned a value higher than 8. One thing I tried is change line 391 from:

391>    if (var -> Multiplicity () <= 0) 
392>      continue;

to:

391>    if (var -> Multiplicity () <= 0) || (var -> Index () > 8)
392>      continue;

My rough understanding is that this should force the solver to branch only on the first 9 variables, and that the rest of the algorithm should stay unchanged.

After compiling this and trying to solve my model. I observe it does branch only on variables with indexes lower than 8, but it doesn't respect the constraints anymore. It's not completely offtrack, but it's definitely wrong, as some constraints stay respected but others don't.

I don't understand the code well enough to understand why this simple change affects the way the solver respects the constraints. Perhaps you can see why this is and what I'm doing wrong?

Regards,

Vincent Goulet
Université Laval
NI: 910076204

________________________________________
De : Pietro Belotti <petr.7b6 at gmail.com>
Envoyé : 29 juillet 2015 18:15
À : Vincent Goulet
Cc : couenne at list.coin-or.org
Objet : Re: Couenne support

Hi Vincent,

you can do this by selecting the CouenneVarObjects that are inserted
in the branch-and-bound model. This is done after line 396 of
BonCouenneSetup.cpp. You'll have to add conditions for those variables
that need to be included in branching. I'm afraid there is no solution
involving modeling languages only.

Hope this helps. I'm CC'ing the Couenne mailing list, and I would ask
you to post all your questions about Couenne to that email address
from now on.

Regards,
Pietro

On Wed, Jul 29, 2015 at 10:22 PM, Vincent Goulet
<vincent.goulet.4 at ulaval.ca> wrote:
> Hi!
>
>
> I'm looking for help on the matter of Couenne branching options. I can't
> seem to find any helpful resource, and I was wondering if you could tell me
> where to look or whom to ask.
>
>
> My question is simple and as follows: I want to tell Couenne to branch only
> on certain variables and not on others. Can this be done? How?
>
>
> Thank you,
>
>
> Regards,
>
>
> Vincent Goulet
> Université Laval
> NI: 910076204
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screenshot from 2015-08-05 155805.png
Type: image/png
Size: 10587 bytes
Desc: Screenshot from 2015-08-05 155805.png
URL: <http://list.coin-or.org/pipermail/couenne/attachments/20150805/4722633b/attachment.png>


More information about the Couenne mailing list