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

Cost scaling algorithm for min-cost flow. More...

#include <DualMinCostFlow.h>

Inheritance diagram for limbo::solvers::CostScaling< 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::CostScaling< 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::CostScaling< 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

 CostScaling (typename alg_type::Method method=alg_type::PARTIAL_AUGMENT, int factor=16)
 constructor
 CostScaling (CostScaling const &rhs)
 copy constructor
CostScalingoperator= (CostScaling const &rhs)
 assignment
virtual SolverProperty operator() (dualsolver_type *d)
 API to run min-cost flow solver.
 CostScaling (typename alg_type::Method method=alg_type::PARTIAL_AUGMENT, int factor=16)
 constructor
 CostScaling (CostScaling const &rhs)
 copy constructor
CostScalingoperator= (CostScaling 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 (CostScaling const &rhs)
 copy object
void copy (CostScaling 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::Method m_method
 PUSH, AUGMENT, PARTIAL_AUGMENT.
int m_factor
 scaling factor for the algorithm

Detailed Description

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

Cost scaling algorithm for min-cost flow.

Template Parameters
Tcoefficient type
Vvariable type

Definition at line 590 of file MinCostFlow.h.

Member Typedef Documentation

◆ alg_type [1/2]

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

algorithm type

Definition at line 698 of file DualMinCostFlow.h.

◆ alg_type [2/2]

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

algorithm type

Definition at line 602 of file MinCostFlow.h.

◆ base_type [1/2]

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

base type

Definition at line 692 of file DualMinCostFlow.h.

◆ base_type [2/2]

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

base type

Definition at line 596 of file MinCostFlow.h.

◆ dualsolver_type

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

dual min-cost flow solver type

Definition at line 694 of file DualMinCostFlow.h.

◆ primalsolver_type

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

dual min-cost flow solver type

Definition at line 598 of file MinCostFlow.h.

◆ value_type [1/2]

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

value type

Definition at line 690 of file DualMinCostFlow.h.

◆ value_type [2/2]

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

value type

Definition at line 594 of file MinCostFlow.h.

Constructor & Destructor Documentation

◆ CostScaling() [1/4]

template<typename T, typename V>
limbo::solvers::CostScaling< T, V >::CostScaling ( typename alg_type::Method method = alg_type::PARTIAL_AUGMENT,
int factor = 16 )
inline

constructor

Parameters
methodinternal method
factorscaling factor

Definition at line 703 of file DualMinCostFlow.h.

◆ CostScaling() [2/4]

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

copy constructor

Parameters
rhsright hand side

Definition at line 711 of file DualMinCostFlow.h.

◆ CostScaling() [3/4]

template<typename T, typename V>
limbo::solvers::CostScaling< T, V >::CostScaling ( typename alg_type::Method method = alg_type::PARTIAL_AUGMENT,
int factor = 16 )
inline

constructor

Parameters
methodinternal method
factorscaling factor

Definition at line 607 of file MinCostFlow.h.

◆ CostScaling() [4/4]

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

copy constructor

Parameters
rhsright hand side

Definition at line 615 of file MinCostFlow.h.

Member Function Documentation

◆ copy() [1/2]

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

copy object

Definition at line 772 of file DualMinCostFlow.h.

◆ copy() [2/2]

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

copy object

Definition at line 676 of file MinCostFlow.h.

◆ operator()() [1/2]

template<typename T, typename V>
virtual SolverProperty limbo::solvers::CostScaling< 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 730 of file DualMinCostFlow.h.

◆ operator()() [2/2]

template<typename T, typename V>
virtual SolverProperty limbo::solvers::CostScaling< 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 634 of file MinCostFlow.h.

◆ operator=() [1/2]

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

assignment

Parameters
rhsright hand side

Definition at line 718 of file DualMinCostFlow.h.

◆ operator=() [2/2]

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

assignment

Parameters
rhsright hand side

Definition at line 622 of file MinCostFlow.h.

Member Data Documentation

◆ m_factor

template<typename T, typename V>
int limbo::solvers::CostScaling< T, V >::m_factor
protected

scaling factor for the algorithm

Definition at line 779 of file DualMinCostFlow.h.

◆ m_method

template<typename T, typename V>
alg_type::Method limbo::solvers::CostScaling< T, V >::m_method
protected

PUSH, AUGMENT, PARTIAL_AUGMENT.

Definition at line 778 of file DualMinCostFlow.h.


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