paal::ir::steiner_network_round_condition Struct Reference

#include <steiner_network.hpp>

Public Member Functions

steiner_network_round_condition (double epsilon=steiner_network_compare_traits::EPSILON)

template<typename Problem , typename LP >
boost::optional< double > operator() (Problem &problem, const LP &lp, lp::col_id col_id)

Detailed Description

Round Condition of the IR Steiner Network algorithm.

Definition at line 334 of file steiner_network.hpp.

Constructor & Destructor Documentation

 paal::ir::steiner_network_round_condition::steiner_network_round_condition ( double epsilon = steiner_network_compare_traits::EPSILON )
inline

Constructor. Takes epsilon used in double comparison.

Definition at line 338 of file steiner_network.hpp.

Member Function Documentation

template<typename Problem , typename LP >
 boost::optional paal::ir::steiner_network_round_condition::operator() ( Problem & problem, const LP & lp, lp::col_id col_id )
inline

Checks if a given column of the LP can be rounded to 0 or if it is greater then 1/2. If the column is rounded to 0, the corresponding edge is removed from the graph. If the column is greater than 1/2, it is rounded to 1 and the corresponding edge is added to the solution.

Definition at line 353 of file steiner_network.hpp.

The documentation for this struct was generated from the following file: