Camargue
|
Class template for storing dual LP solutions. More...
#include <dualgroup.hpp>
Public Member Functions | |
DualGroup ()=default | |
Construct an empty DualGroup. | |
DualGroup (bool remove_neg, const LP::Relaxation &relax, const Sep::ExternalCuts &ext_cuts) | |
Construct DualGroup from a Relaxation and HyperGraph collection. More... | |
DualGroup (DualGroup &&D) noexcept | |
DualGroup & | operator= (DualGroup &&D) noexcept |
Public Attributes | |
std::vector< numtype > | node_pi |
Dual values for degree constraints. | |
std::vector< numtype > | node_pi_est |
Overestimates of node_pi. | |
std::vector< numtype > | cut_pi |
Dual values for cuts. | |
std::unordered_map< Sep::Clique, numtype > | clique_pi |
Dual values/multiplicities for Cliques. | |
Class template for storing dual LP solutions.
numtype | the number type used for the vectors/pi values. |
CMR::LP::DualGroup< numtype >::DualGroup | ( | bool | remove_neg, |
const LP::Relaxation & | relax, | ||
const Sep::ExternalCuts & | ext_cuts | ||
) |
Construct DualGroup from a Relaxation and HyperGraph collection.
Construct a DualGroup by querying the LP solver for dual values and using the collection of cuts, cliques, and teeth to generate clique multiplicities and node pi estimates.
numtype | the numeric representation. Should be one of double or util::Fixed64. |
remove_neg | if true, negative dual values will be replaced with zero. |
relax | the Relaxation which will be used to grab node and cut pi's. |
ext_cuts | the HyperGraph list of cuts in the Relaxation. |