Argonne-National-Laboratory / DSP

An open-source parallel optimization solver for structured mixed-integer programming
Other
81 stars 24 forks source link

Handle dual infeasible subproblem in DwBundleDual (Issue211) #271

Open hideakiv opened 1 year ago

hideakiv commented 1 year ago

The original implementation did not add cuts when at least one of the subproblems was dual infeasible. This is fixed to generate columns using extreme rays.

codecov-commenter commented 1 year ago

Codecov Report

Patch coverage has no change and project coverage change: +48.82 :tada:

Comparison is base (2c9b9e6) 11.88% compared to head (37e3daa) 60.70%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## release-draft #271 +/- ## ================================================== + Coverage 11.88% 60.70% +48.82% ================================================== Files 88 121 +33 Lines 10743 10213 -530 ================================================== + Hits 1277 6200 +4923 + Misses 9466 4013 -5453 ``` | [Impacted Files](https://app.codecov.io/gh/Argonne-National-Laboratory/DSP/pull/271?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Argonne-National-Laboratory) | Coverage Δ | | |---|---|---| | [src/DspConfig.h](https://app.codecov.io/gh/Argonne-National-Laboratory/DSP/pull/271?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Argonne-National-Laboratory#diff-c3JjL0RzcENvbmZpZy5o) | `100.00% <ø> (+100.00%)` | :arrow_up: | | [src/Solver/DantzigWolfe/DwBundleDual.cpp](https://app.codecov.io/gh/Argonne-National-Laboratory/DSP/pull/271?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Argonne-National-Laboratory#diff-c3JjL1NvbHZlci9EYW50emlnV29sZmUvRHdCdW5kbGVEdWFsLmNwcA==) | `71.42% <ø> (+71.42%)` | :arrow_up: | | [src/Solver/DantzigWolfe/DwBundleDual.h](https://app.codecov.io/gh/Argonne-National-Laboratory/DSP/pull/271?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Argonne-National-Laboratory#diff-c3JjL1NvbHZlci9EYW50emlnV29sZmUvRHdCdW5kbGVEdWFsLmg=) | `44.44% <ø> (+44.44%)` | :arrow_up: | | [src/Solver/DantzigWolfe/DwMaster.cpp](https://app.codecov.io/gh/Argonne-National-Laboratory/DSP/pull/271?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Argonne-National-Laboratory#diff-c3JjL1NvbHZlci9EYW50emlnV29sZmUvRHdNYXN0ZXIuY3Bw) | `36.39% <ø> (+36.39%)` | :arrow_up: | | [src/Solver/DantzigWolfe/DwMaster.h](https://app.codecov.io/gh/Argonne-National-Laboratory/DSP/pull/271?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Argonne-National-Laboratory#diff-c3JjL1NvbHZlci9EYW50emlnV29sZmUvRHdNYXN0ZXIuaA==) | `40.00% <ø> (+40.00%)` | :arrow_up: | | [src/Solver/DantzigWolfe/DwWorker.cpp](https://app.codecov.io/gh/Argonne-National-Laboratory/DSP/pull/271?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Argonne-National-Laboratory#diff-c3JjL1NvbHZlci9EYW50emlnV29sZmUvRHdXb3JrZXIuY3Bw) | `78.57% <ø> (+78.57%)` | :arrow_up: | | [src/Solver/DualDecomp/DdDriverSerial.cpp](https://app.codecov.io/gh/Argonne-National-Laboratory/DSP/pull/271?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Argonne-National-Laboratory#diff-c3JjL1NvbHZlci9EdWFsRGVjb21wL0RkRHJpdmVyU2VyaWFsLmNwcA==) | `87.23% <ø> (+87.23%)` | :arrow_up: | | [src/Solver/DualDecomp/DdMW.h](https://app.codecov.io/gh/Argonne-National-Laboratory/DSP/pull/271?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Argonne-National-Laboratory#diff-c3JjL1NvbHZlci9EdWFsRGVjb21wL0RkTVcuaA==) | `33.33% <ø> (+33.33%)` | :arrow_up: | | [src/Solver/DualDecomp/DdMasterTr.cpp](https://app.codecov.io/gh/Argonne-National-Laboratory/DSP/pull/271?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Argonne-National-Laboratory#diff-c3JjL1NvbHZlci9EdWFsRGVjb21wL0RkTWFzdGVyVHIuY3Bw) | `71.57% <ø> (+71.57%)` | :arrow_up: | | [src/Solver/DualDecomp/DdWorkerUB.cpp](https://app.codecov.io/gh/Argonne-National-Laboratory/DSP/pull/271?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Argonne-National-Laboratory#diff-c3JjL1NvbHZlci9EdWFsRGVjb21wL0RkV29ya2VyVUIuY3Bw) | `80.95% <ø> (+80.95%)` | :arrow_up: | | ... and [3 more](https://app.codecov.io/gh/Argonne-National-Laboratory/DSP/pull/271?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Argonne-National-Laboratory) | | ... and [99 files with indirect coverage changes](https://app.codecov.io/gh/Argonne-National-Laboratory/DSP/pull/271/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Argonne-National-Laboratory)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

hideakiv commented 1 year ago

Fail at cpx_dw_noswot and cpx_dw_dec_farmer. It works on my local machine using Gurobi and the server using CPLEX.