-
Notifications
You must be signed in to change notification settings - Fork 68
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
Implement GUB branching #181
Conversation
539aa3d
to
99b8a73
Compare
When given all the action set _, action_set, _, done, _ = env.reset(next(instances))
while not done:
_, action_set, _, done, _ = env.step(action_set) And that their sum is integral, three nodes are created. But since no variable get fixed, they all appear again in the |
737b93d
to
61f4e9d
Compare
4dfc397
to
888bfe5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor comments about variable names and a few typos. High quality PR !
SCIP_Real priority, | ||
SCIP_Real estimate, | ||
SCIP_VAR** vars, | ||
SCIP_Real* ones, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this argument called ones ? Does it have to be a vector of ones ? If so, why is it an argument ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ha, yes it's literally a vector of ones. It's being reused between the left and right child...
Pull request checklist
General idea
For integer variables
x_i
provided by the user, and their LP relaxation valuex_lp_i
,s := sum(x_lp_i)
is fractional, then branch onsum(x_i) <= floor(s)
&sum(x_i) >= ceil(s)
s := sum(x_lp_i)
is integer, then branch onsum(x_i) <= s - 1
&sum(x_i) == s
&sum(x_i) >= s+ 1
Proposed implementation
n_vars == 0
, fail;n_vars == 1
):sum(x_lp_i)
is infinite, what then?sum(x_lp_i)
is integer, branch on three nodes