Violations checker for the separation oracle in the steiner network problem. More...
#include <steiner_network_oracle.hpp>
Public Types | |
using | Candidate = std::pair< AuxVertex, AuxVertex > |
Public Member Functions | |
template<typename Problem > | |
bool | check_if_solution_exists (Problem &problem) |
template<typename Problem , typename LP > | |
auto | get_violation_candidates (const Problem &problem, const LP &lp) -> decltype(problem.get_restrictions_vec()) |
template<typename Problem > | |
Violation | check_violation (Candidate candidate, const Problem &problem) |
template<typename Problem , typename LP > | |
void | add_violated_constraint (Candidate violation, const Problem &problem, LP &lp) |
Violations checker for the separation oracle in the steiner network problem.
Definition at line 31 of file steiner_network_oracle.hpp.
|
inline |
Adds a violated constraint to the LP.
Definition at line 92 of file steiner_network_oracle.hpp.
|
inline |
Checks if any solution to the problem exists.
Definition at line 42 of file steiner_network_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 78 of file steiner_network_oracle.hpp.
|
inline |
Returns an iterator range of violated constraint candidates.
Definition at line 66 of file steiner_network_oracle.hpp.