[Coin-symphony] How to enforce "at least one variable is zero"

Mark Williams mark at stretchinc.com
Thu Jan 3 15:57:23 EST 2008


I need a constraint of the form "at least one of these (real valued, >=0) variables is zero".

Initially, I thought I could use "user_is_feasible", "user_shall_we_branch" and "user_select_candidates". But it looks like this kind of branching (where each child constrains a different variable) is not supported.

Am I missing something obvious?

Thanks

Mark Williams

ps:

I realize I can do this by creating a parallel set of boolean variables, constraining the sum of those variables to be one, and then adding constraints of the form Vi <= M - M*bi (for suitably large M). But this approach appears to run into severe difficulties (very high runtimes for relatively small problems).



More information about the Symphony mailing list