[Coin-discuss] BCP: selecting variables for strong branching
Laszlo Ladanyi
ladanyi at us.ibm.com
Wed Jan 4 22:47:50 EST 2006
Hi Miroslav,
You are absolutely right. I have committed the suggested change.
As far as having other criteria... I'm not against adding more. It's just that
I wanted to have a few default, and for any specific problem class most people
have to devise their own branching anyway... I'm perfectly willing to include
more defaults if someone writes the code.
--Laci
On Mon, 2 Jan 2006, Miroslav Karamanov wrote:
> I perform strong branching on the 10 most fractional
> variables: BCP_StrongBranch_CloseToHalfNum=10.
> I noticed a strange behavior: a variable that should be
> selected based on its fractionality is not among the 10
> candidates. Furthermore, all 10 selected variables have zero
> objective coefficients while the discarded variable has a
> large positive coefficient. This behavior was systematic for
> the instance I solved.
> As a result, the LP bound (almost) does not change for a
> long time.
>
> The culprit is BCP_lp_user::branch_close_to_half(). Variable
> selection is done in two steps: first, select a larger
> number of variables based on fractionality; then, order the
> candidates by objective coefficients and select the first 10
> (in my case).
>
> Well, this ordering is done in nondecreasing cost. I do not
> see the reason and I may be missing something. But I think
> nonincreasing ordering is more appropriate. Please correct me.
>
> I replaced
> di = std::upper_bound(new_cost.begin(), new_cost.end(), val);
> by
> di = std::upper_bound(new_cost.begin(), new_cost.end(), val,
> std::greater<double>());
> in lines 1016 and 1023 of file BCP_lp_user.cpp (CVS:1.25).
>
> Other criteria for variable selection can be considered here
> too. E.g. the product of cost and fractional part instead of
> cost only.
>
> Miroslav
>
> _______________________________________________
> Coin-discuss mailing list
> Coin-discuss at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-discuss
>
More information about the Coin-discuss
mailing list