All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Pages
Public Member Functions | List of all members
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)

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<double> paal::ir::steiner_network_round_condition::operator() ( Problem &  problem,
const LP lp,
lp::col_id  col_id 

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: