Named parameter for setting Elevator type with automatic allocation. The Elevator should have standard constructor interface to be able to automatically created by the algorithm (i.e. the digraph and the maximum level should be passed to it). However, an external elevator object could also be passed to the algorithm with the elevator() function before calling run() or init().
#include <lemon/circulation.h>
Additional Inherited Members | |
Public Types inherited from Circulation< Digraph, LowerMap, UpperMap, SupplyMap, SetStandardElevatorTraits< T > > | |
typedef SetStandardElevatorTraits< T > | Traits |
The traits class of the algorithm. | |
typedef Traits::Digraph | Digraph |
The type of the digraph the algorithm runs on. | |
typedef Traits::Value | Value |
The type of the flow and supply values. | |
typedef Traits::LowerMap | LowerMap |
The type of the lower bound map. | |
typedef Traits::UpperMap | UpperMap |
The type of the upper bound (capacity) map. | |
typedef Traits::SupplyMap | SupplyMap |
The type of the supply map. | |
typedef Traits::FlowMap | FlowMap |
The type of the flow map. | |
typedef Traits::Elevator | Elevator |
The type of the elevator. | |
typedef Traits::Tolerance | Tolerance |
The type of the tolerance. | |
Public Member Functions inherited from Circulation< Digraph, LowerMap, UpperMap, SupplyMap, SetStandardElevatorTraits< T > > | |
Circulation (const Digraph &graph, const LowerMap &lower, const UpperMap &upper, const SupplyMap &supply) | |
Constructor. | |
~Circulation () | |
Destructor. | |
Circulation & | lowerMap (const LowerMap &map) |
Sets the lower bound map. | |
Circulation & | upperMap (const UpperMap &map) |
Sets the upper bound (capacity) map. | |
Circulation & | supplyMap (const SupplyMap &map) |
Sets the supply map. | |
Circulation & | flowMap (FlowMap &map) |
Sets the flow map. | |
Circulation & | elevator (Elevator &elevator) |
Sets the elevator used by algorithm. | |
const Elevator & | elevator () const |
Returns a const reference to the elevator. | |
Circulation & | tolerance (const Tolerance &tolerance) |
Sets the tolerance used by the algorithm. | |
const Tolerance & | tolerance () const |
Returns a const reference to the tolerance. | |
const FlowMap & | flowMap () const |
Returns a const reference to the flow map. | |
Value | flow (const Arc &arc) const |
Returns the flow value on the given arc. | |
bool | barrier (const Node &node) const |
Returns true if the given node is in a barrier. | |
void | barrierMap (BarrierMap &bar) const |
Gives back a barrier. | |
void | init () |
Initializes the internal data structures. | |
void | greedyInit () |
Initializes the internal data structures using a greedy approach. | |
bool | start () |
Executes the algorithm. | |
bool | run () |
Runs the algorithm. | |
bool | checkFlow () const |
Check if the found flow is a feasible circulation. | |
bool | checkBarrier () const |
Check whether or not the last execution provides a barrier. | |