-
Notifications
You must be signed in to change notification settings - Fork 43
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
Error in TreeSearchAlgorithm but not SolveIpForm for MILP #557
Comments
Hi, Constraint
and the constraint will go into the master. You can check that with method
You can use lower multiplicity and upper multiplicity. (5,5) if the solution should use the 5 machines or (0,5) if some machines can stay unused. Both are equivalent if the subproblem can generate a solution that does not assign any job to a machine. However, multiplicity is not fully supported at the moment :
Originally posted by @rrsadykov in #551 (comment) This is also a problem for branching because when all original variables are integer, we cannot branch anymore. The algorithm then stops prematurely. |
Coluna should throw an error because the master variable |
Hi, With the latest version of BlockDecomposition, the following error is now thrown:
Subproblem multiplicity is indicated as an alpha feature in the documentation. Progress will be made soon. Thanks for the report. |
Describe the bug
Simple decomposable MILP scheduling problem solves with
solver = Coluna.Algorithm.SolveIpForm()
in 1 second but fails withsolver = Coluna.Algorithm.TreeSearchAlgorithm()
.To Reproduce
Expected behavior
This problem has a known optimal solution of 33. Expected both SolveIpForm and TreeSearchAlgorithm to produce the same result. Instead got the following:
Result using
solver = Coluna.Algorithm.SolveIpForm()
:Result using
solver = Coluna.Algorithm.TreeSearchAlgorithm()
:Environment (please complete the following information):
Additional context
This problem has a known optimal solution of 33. Expected dantzig_wolfe_decomposition to result in a master problem containing constraints c2 (assignment of jobs to machines) and c4 (defines makespan >= machine makespans) and other constraints in the sub-problems. The
makespan
variable is master-only, and it's the only variable with a non-zero objective coefficient. All machines are independent similar to GAP example, so I was really expecting this to work. Furthermore, there are 2 sets of identical sub-problems: machines with odd indices (there are 5 of them) are identical to one another, and machines with even indices (there are 5 of them) are identical to one another. Not sure whether I need to duplicate constraints for M_odd, M_even instead of just M and use lower_multiplicity and upper_multiplicity to make this work. If so, what values to use for multiplicities (5, 5?). Also, that would require multiple@axis
and presumably multiple@dantzig_wolfe_decomposition
and I'm not sure if that is supported. Do I have to mark the sub-problems as identical some how or was that just in earlier versions of Coluna? Please advise.The text was updated successfully, but these errors were encountered: