Limbo 3.5.4
Loading...
Searching...
No Matches
limbo::solvers::NetworkSimplex< T, V > Class Template Reference

Network simplex algorithm for min-cost flow. More...

#include <DualMinCostFlow.h>

Inheritance diagram for limbo::solvers::NetworkSimplex< T, V >:
limbo::solvers::MinCostFlowSolver< T, V > limbo::solvers::MinCostFlowSolver< T, V >

Public Types

typedef T value_type
 value type
typedef MinCostFlowSolver< T, V > base_type
 base type
typedef base_type::dualsolver_type dualsolver_type
 dual min-cost flow solver type
typedef lemon::NetworkSimplex< typename dualsolver_type::graph_type, value_type, value_typealg_type
 algorithm type
typedef T value_type
 value type
typedef MinCostFlowSolver< T, V > base_type
 base type
typedef base_type::primalsolver_type primalsolver_type
 dual min-cost flow solver type
typedef lemon::NetworkSimplex< typename primalsolver_type::graph_type, value_type, value_typealg_type
 algorithm type
Public Types inherited from limbo::solvers::MinCostFlowSolver< T, V >
typedef DualMinCostFlow< T, V > dualsolver_type
 dual min-cost flow solver type
typedef MinCostFlow< T, V > primalsolver_type
 dual min-cost flow solver type

Public Member Functions

 NetworkSimplex (typename alg_type::PivotRule pivotRule=alg_type::BLOCK_SEARCH)
 constructor
 NetworkSimplex (NetworkSimplex const &rhs)
 copy constructor
NetworkSimplexoperator= (NetworkSimplex const &rhs)
 assignment
virtual SolverProperty operator() (dualsolver_type *d)
 API to run min-cost flow solver.
 NetworkSimplex (typename alg_type::PivotRule pivotRule=alg_type::BLOCK_SEARCH)
 constructor
 NetworkSimplex (NetworkSimplex const &rhs)
 copy constructor
NetworkSimplexoperator= (NetworkSimplex const &rhs)
 assignment
virtual SolverProperty operator() (primalsolver_type *d)
 API to run min-cost flow solver.
Public Member Functions inherited from limbo::solvers::MinCostFlowSolver< T, V >
 MinCostFlowSolver ()
 constructor
 MinCostFlowSolver (MinCostFlowSolver const &rhs)
 copy constructor
MinCostFlowSolveroperator= (MinCostFlowSolver const &rhs)
 assignment
virtual ~MinCostFlowSolver ()
 destructor
 MinCostFlowSolver ()
 constructor
 MinCostFlowSolver (MinCostFlowSolver const &rhs)
 copy constructor
MinCostFlowSolveroperator= (MinCostFlowSolver const &rhs)
 assignment
virtual ~MinCostFlowSolver ()
 destructor

Protected Member Functions

void copy (NetworkSimplex const &rhs)
 copy object
void copy (NetworkSimplex const &rhs)
 copy object
Protected Member Functions inherited from limbo::solvers::MinCostFlowSolver< T, V >
void copy (MinCostFlowSolver const &)
 copy object
void copy (MinCostFlowSolver const &)
 copy object

Protected Attributes

alg_type::PivotRule m_pivotRule
 pivot rule for the algorithm, FIRST_ELIGIBLE, BEST_ELIGIBLE, BLOCK_SEARCH, CANDIDATE_LIST, ALTERING_LIST

Detailed Description

template<typename T, typename V>
class limbo::solvers::NetworkSimplex< T, V >

Network simplex algorithm for min-cost flow.

Template Parameters
Tcoefficient type
Vvariable type

Definition at line 690 of file MinCostFlow.h.

Member Typedef Documentation

◆ alg_type [1/2]

template<typename T, typename V>
typedef lemon::NetworkSimplex<typename dualsolver_type::graph_type, value_type, value_type> limbo::solvers::NetworkSimplex< T, V >::alg_type

algorithm type

Definition at line 798 of file DualMinCostFlow.h.

◆ alg_type [2/2]

template<typename T, typename V>
typedef lemon::NetworkSimplex<typename primalsolver_type::graph_type, value_type, value_type> limbo::solvers::NetworkSimplex< T, V >::alg_type

algorithm type

Definition at line 702 of file MinCostFlow.h.

◆ base_type [1/2]

template<typename T, typename V>
typedef MinCostFlowSolver<T, V> limbo::solvers::NetworkSimplex< T, V >::base_type

base type

Definition at line 792 of file DualMinCostFlow.h.

◆ base_type [2/2]

template<typename T, typename V>
typedef MinCostFlowSolver<T, V> limbo::solvers::NetworkSimplex< T, V >::base_type

base type

Definition at line 696 of file MinCostFlow.h.

◆ dualsolver_type

template<typename T, typename V>
typedef base_type::dualsolver_type limbo::solvers::NetworkSimplex< T, V >::dualsolver_type

dual min-cost flow solver type

Definition at line 794 of file DualMinCostFlow.h.

◆ primalsolver_type

template<typename T, typename V>
typedef base_type::primalsolver_type limbo::solvers::NetworkSimplex< T, V >::primalsolver_type

dual min-cost flow solver type

Definition at line 698 of file MinCostFlow.h.

◆ value_type [1/2]

template<typename T, typename V>
typedef T limbo::solvers::NetworkSimplex< T, V >::value_type

value type

Definition at line 790 of file DualMinCostFlow.h.

◆ value_type [2/2]

template<typename T, typename V>
typedef T limbo::solvers::NetworkSimplex< T, V >::value_type

value type

Definition at line 694 of file MinCostFlow.h.

Constructor & Destructor Documentation

◆ NetworkSimplex() [1/4]

template<typename T, typename V>
limbo::solvers::NetworkSimplex< T, V >::NetworkSimplex ( typename alg_type::PivotRule pivotRule = alg_type::BLOCK_SEARCH)
inline

constructor

Parameters
pivotRulepivot rule

Definition at line 802 of file DualMinCostFlow.h.

◆ NetworkSimplex() [2/4]

template<typename T, typename V>
limbo::solvers::NetworkSimplex< T, V >::NetworkSimplex ( NetworkSimplex< T, V > const & rhs)
inline

copy constructor

Parameters
rhsright hand side

Definition at line 809 of file DualMinCostFlow.h.

◆ NetworkSimplex() [3/4]

template<typename T, typename V>
limbo::solvers::NetworkSimplex< T, V >::NetworkSimplex ( typename alg_type::PivotRule pivotRule = alg_type::BLOCK_SEARCH)
inline

constructor

Parameters
pivotRulepivot rule

Definition at line 706 of file MinCostFlow.h.

◆ NetworkSimplex() [4/4]

template<typename T, typename V>
limbo::solvers::NetworkSimplex< T, V >::NetworkSimplex ( NetworkSimplex< T, V > const & rhs)
inline

copy constructor

Parameters
rhsright hand side

Definition at line 713 of file MinCostFlow.h.

Member Function Documentation

◆ copy() [1/2]

template<typename T, typename V>
void limbo::solvers::NetworkSimplex< T, V >::copy ( NetworkSimplex< T, V > const & rhs)
inlineprotected

copy object

Definition at line 870 of file DualMinCostFlow.h.

◆ copy() [2/2]

template<typename T, typename V>
void limbo::solvers::NetworkSimplex< T, V >::copy ( NetworkSimplex< T, V > const & rhs)
inlineprotected

copy object

Definition at line 774 of file MinCostFlow.h.

◆ operator()() [1/2]

template<typename T, typename V>
virtual SolverProperty limbo::solvers::NetworkSimplex< T, V >::operator() ( dualsolver_type * d)
inlinevirtual

API to run min-cost flow solver.

Parameters
ddual min-cost flow object

Implements limbo::solvers::MinCostFlowSolver< T, V >.

Definition at line 828 of file DualMinCostFlow.h.

◆ operator()() [2/2]

template<typename T, typename V>
virtual SolverProperty limbo::solvers::NetworkSimplex< T, V >::operator() ( primalsolver_type * d)
inlinevirtual

API to run min-cost flow solver.

Parameters
ddual min-cost flow object

Implements limbo::solvers::MinCostFlowSolver< T, V >.

Definition at line 732 of file MinCostFlow.h.

◆ operator=() [1/2]

template<typename T, typename V>
NetworkSimplex & limbo::solvers::NetworkSimplex< T, V >::operator= ( NetworkSimplex< T, V > const & rhs)
inline

assignment

Parameters
rhsright hand side

Definition at line 816 of file DualMinCostFlow.h.

◆ operator=() [2/2]

template<typename T, typename V>
NetworkSimplex & limbo::solvers::NetworkSimplex< T, V >::operator= ( NetworkSimplex< T, V > const & rhs)
inline

assignment

Parameters
rhsright hand side

Definition at line 720 of file MinCostFlow.h.

Member Data Documentation

◆ m_pivotRule

template<typename T, typename V>
alg_type::PivotRule limbo::solvers::NetworkSimplex< T, V >::m_pivotRule
protected

pivot rule for the algorithm, FIRST_ELIGIBLE, BEST_ELIGIBLE, BLOCK_SEARCH, CANDIDATE_LIST, ALTERING_LIST

Definition at line 875 of file DualMinCostFlow.h.


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