-
Notifications
You must be signed in to change notification settings - Fork 24
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
Unbounded subproblems for general decomposition problem with dw
#211
Comments
dw
dw
Has this issue been solved? I used the DW method to solve an MILP and the algorithm does not seem to converge after 68 iterations (kept running for 10 hours+). The DW bound did not decrease. |
The subproblem model appears to be defined improperly Line 151 in 41c3586
|
When some subproblem is dual infeasible, DSP tries to use an extreme ray. However, DSP/src/Solver/DantzigWolfe/DwWorker.cpp Line 276 in 41c3586
If |
However, when some subproblems are primal/dual infeasible, the generated columns are not added to the master. DSP/src/Solver/DantzigWolfe/DwMaster.cpp Lines 788 to 847 in 41c3586
DwBundleDual needs to handle the case that no cut is added because all the generated cuts are from dual infeasible subproblems. This can possibly cause the master problem to be unbounded due to the bounds defined below, when all generated cuts are from dual infeasible solutions. DSP/src/Solver/DantzigWolfe/DwBundleDual.cpp Lines 240 to 242 in 41c3586
|
Similarly, when all generated cuts are from dual infeasible solutions, the primal form of the master problem becomes infeasible due to the following row bounds (0=1). DSP/src/Solver/DantzigWolfe/DwBundleDual.cpp Lines 167 to 168 in 41c3586
|
For the dual form of the master problem, I set the column bounds to be zero.
and modified it to Similarly, for the primal form of the master problem, I set the row bounds to be zero.
and modified it to |
I am now getting optimal status for the master problem. However, in the second round of solving the subproblem, I got optimal status for one problem but the solution is extremely large, and gets stuck at the assertion below. DSP/src/Solver/DantzigWolfe/DwWorker.cpp Line 320 in 41c3586
|
The Dantzig-Wolfe decomposition does not address unbounded subproblems and terminates with segfault for general decomposition problem instance.
Example is: https://github.com/Argonne-National-Laboratory/DSP/blob/41c3586948ef5c1653823d5d73f3c780eb4ad3b2/examples/cpp/farmer.cpp
The text was updated successfully, but these errors were encountered: