All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Pages
Public Member Functions | List of all members
paal::ir::detail::iterative_rounding< Problem, IRcomponents, Visitor, LP > Class Template Reference

This class solves an iterative rounding problem. More...

#include <iterative_rounding.hpp>

Public Member Functions

 iterative_rounding (Problem &problem, IRcomponents e, Visitor vis=Visitor())
 Constructor.
 
lp::problem_type solve_lp ()
 Finds solution to the LP. More...
 
lp::problem_type resolve_lp ()
 Finds solution to the LP. More...
 
double get_solution_cost ()
 Returns the solution cost based on the LP values.
 
bool round ()
 Rounds the LP columns (independently) using the RoundCondition component. More...
 
bool relax ()
 Relaxes the LP rows using the RelaxCondition component. More...
 
LPget_lp ()
 Returns the LP object used to solve the IR.
 
IRcomponentsget_ir_components ()
 Returns the IR components.
 
void set_solution ()
 Sets the solution to the problem using SetSolution component.
 
void dependent_round ()
 Rounds the LP using the RoundCondition component.
 
bool stop_condition ()
 Checks if the IR problem has been solved, using the StopCondition component. More...
 

Detailed Description

template<typename Problem, typename IRcomponents, typename Visitor = trivial_visitor, typename LP = lp::glp>
class paal::ir::detail::iterative_rounding< Problem, IRcomponents, Visitor, LP >

This class solves an iterative rounding problem.

Template Parameters
Problem
IRcomponents
Visitor
LP

Definition at line 101 of file iterative_rounding.hpp.

Member Function Documentation

template<typename Problem, typename IRcomponents, typename Visitor = trivial_visitor, typename LP = lp::glp>
bool paal::ir::detail::iterative_rounding< Problem, IRcomponents, Visitor, LP >::relax ( )
inline

Relaxes the LP rows using the RelaxCondition component.

Returns
true iff at least one row was relaxed

Definition at line 200 of file iterative_rounding.hpp.

template<typename Problem, typename IRcomponents, typename Visitor = trivial_visitor, typename LP = lp::glp>
lp::problem_type paal::ir::detail::iterative_rounding< Problem, IRcomponents, Visitor, LP >::resolve_lp ( )
inline

Finds solution to the LP.

Returns
LP solution status

Definition at line 144 of file iterative_rounding.hpp.

template<typename Problem, typename IRcomponents, typename Visitor = trivial_visitor, typename LP = lp::glp>
bool paal::ir::detail::iterative_rounding< Problem, IRcomponents, Visitor, LP >::round ( )
inline

Rounds the LP columns (independently) using the RoundCondition component.

Returns
true iff at least one column was rounded

Definition at line 171 of file iterative_rounding.hpp.

template<typename Problem, typename IRcomponents, typename Visitor = trivial_visitor, typename LP = lp::glp>
lp::problem_type paal::ir::detail::iterative_rounding< Problem, IRcomponents, Visitor, LP >::solve_lp ( )
inline

Finds solution to the LP.

Returns
LP solution status

Definition at line 132 of file iterative_rounding.hpp.

template<typename Problem, typename IRcomponents, typename Visitor = trivial_visitor, typename LP = lp::glp>
bool paal::ir::detail::iterative_rounding< Problem, IRcomponents, Visitor, LP >::stop_condition ( )
inline

Checks if the IR problem has been solved, using the StopCondition component.

Returns
true iff the problem has been solved

Definition at line 252 of file iterative_rounding.hpp.


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