You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if (m_branchingImplementation == DecompBranchInSubproblem ) {
instead and never set the bounds correctly.
Proposal
Do not change strategy because of branching on master only variables. The strategy has something to do with enforcing integrality on subproblem variables.
Instead enforce setting the bounds always for the master only variables, i.e., move the bound setting of the master variables only out of the if-else statement in DecompAlgo::setMasterBounds and delete the change of implementation in DecompAlgo::chooseBranchSet
A check for ramping up is needed since master bounds are set to +/- inf here - not sure why?
This sounds like a reasonable proposal. It's strange that there was that bug there the whole time, as I thought we had pretty well tested the master-only stuff. I'm not sure if there are any implicatins to just always setting the bounds on master-only variables, bu I can't think of anything. Do you want to submit a PR?
I am solving a fixed charge multi commodity flow problem and need to branch on the design variables.
The default branch setting is
and I solve the subproblem with my own shortest path algorithm.
When picking a master variable the implementation changes
Dip/Dip/src/DecompBranch.cpp
Lines 67 to 71 in b0e1f03
We now have a up and a down branch.
Then when entering
setMasterBounds
we do this for the up branchDip/Dip/src/DecompAlgo.cpp
Lines 2446 to 2464 in b0e1f03
however at the end of the function we do
Dip/Dip/src/DecompAlgo.cpp
Lines 2523 to 2525 in b0e1f03
Next time around for the down branch on the master variable we enter
Dip/Dip/src/DecompAlgo.cpp
Line 2385 in b0e1f03
instead and never set the bounds correctly.
Proposal
Do not change strategy because of branching on master only variables. The strategy has something to do with enforcing integrality on subproblem variables.
Instead enforce setting the bounds always for the master only variables, i.e., move the bound setting of the master variables only out of the if-else statement in
DecompAlgo::setMasterBounds
and delete the change of implementation inDecompAlgo::chooseBranchSet
A check for ramping up is needed since master bounds are set to +/- inf here - not sure why?
Dip/Dip/src/AlpsDecompTreeNode.cpp
Lines 221 to 238 in b0e1f03
This can be handled with in the start of
DecompAlgo::setMasterBounds
by addingto check if we are ramping up and then not touch the bounds.
I am not sure there what the side effects of this approach may be?
The text was updated successfully, but these errors were encountered: