Mapping Solutions and Bounds from Original Problem Space to Preprocessed and Back #88
-
I saw a few lines of code starting here within Cbc that appear to map a solution from the original problem space to the preprocessed problem space. Am I correct? Is this transformed solution valid for the preprocessed problem? While we're on this topic, does Further, how can I get the dual bound of an instance if I called branchAndBound on its preprocessed counterpart? It looks like I can do this (defined here), but is that valid? Are we guaranteed to have the same dual bound in the original instance as we found in the preprocessed instance? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
The transformed solution is valid for preprocessed problem - however it is more flexible not to use "strategy" but to use CglPreprocess as in CbcSolver.cpp. |
Beta Was this translation helpful? Give feedback.
The transformed solution is valid for preprocessed problem - however it is more flexible not to use "strategy" but to use CglPreprocess as in CbcSolver.cpp.
I think you mean CglPreprocess::preProcess - the presolve function returns a model saved during preProcess. preProcess can create variables - it rarely does.
The dual bound is valid.