Violations checker for the separation oracle in the steiner tree problem. More...
#include <steiner_tree_oracle.hpp>
Public Types | |
using | Candidate = AuxVertex |
Public Member Functions | |
template<typename Problem , typename LP > | |
auto | get_violation_candidates (const Problem &problem, const LP &lp) -> decltype(irange(problem.get_terminals().size())) |
template<typename Problem > | |
Violation | check_violation (Candidate candidate, const Problem &problem) |
template<typename Problem , typename LP > | |
void | add_violated_constraint (Candidate violating_terminal, const Problem &problem, LP &lp) |
Violations checker for the separation oracle in the steiner tree problem.
Definition at line 34 of file steiner_tree_oracle.hpp.
|
inline |
Adds the violated constraint to LP. It contains all the components reachable from a given source, but its sink vertex is not reachable.
Definition at line 88 of file steiner_tree_oracle.hpp.
|
inline |
Checks if the given constraint candidate is violated an if it is, returns the violation value and violated constraint ID.
Definition at line 69 of file steiner_tree_oracle.hpp.
|
inline |
Returns an iterator range of violated constraint candidates.
Definition at line 48 of file steiner_tree_oracle.hpp.