-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for branching constraints #124
Comments
Yeah, the way that it's done has to do with how Dip interacts with Alps. I'm not sure quite how easy this is going to be, actually, There may be some hidden gotchas in how the subproblems are created. The general mechanism is that the branching disjunction is selected in Dip/Dip/src/AlpsDecompTreeNode.cpp Line 504 in b0e1f03
So the first thing would probably be to modify AlpsDecompNodeDesc so that the constructor is a bit more general. At the moment, it's pretty simplistic:Dip/Dip/src/AlpsDecompNodeDesc.h Lines 104 to 118 in b0e1f03
After that, I guess you would need to look at where the subproblem is actually created and installed from the description and make sure that whatever information is in the description is correctly applied. That is the bulk of the work I guess. Hopefully, that's enough to get you started. Let me know if anything is unclear. |
In the default implementation DIP branches on variable bounds.
In general one may like to support GUB/SOS1 branching?
For derived branching decisions one may want to add problem specific branch constraints.
Not sure how to start this.
Adding a
DecompConstraintSet
or aDecompCut
/DecompCutOsi
toAlpsDecompTreeNode
and then roll them on/off inDip/Dip/src/AlpsDecompTreeNode.cpp
Line 104 in b0e1f03
The text was updated successfully, but these errors were encountered: