OR-Tools  8.2
GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >

Detailed Description

template<typename Graph, typename ArcFlowType = FlowQuantity, typename ArcScaledCostType = CostValue>
class operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >

Definition at line 326 of file min_cost_flow.h.

Public Types

typedef Graph::NodeIndex NodeIndex
 
typedef Graph::ArcIndex ArcIndex
 
typedef Graph::OutgoingArcIterator OutgoingArcIterator
 
typedef Graph::OutgoingOrOppositeIncomingArcIterator OutgoingOrOppositeIncomingArcIterator
 
typedef ZVector< ArcIndexArcIndexArray
 
enum  Status {
  NOT_SOLVED , OPTIMAL , FEASIBLE , INFEASIBLE ,
  UNBALANCED , BAD_RESULT , BAD_COST_RANGE
}
 

Public Member Functions

 GenericMinCostFlow (const Graph *graph)
 
const Graph * graph () const
 
Status status () const
 
void SetNodeSupply (NodeIndex node, FlowQuantity supply)
 
void SetArcUnitCost (ArcIndex arc, ArcScaledCostType unit_cost)
 
void SetArcCapacity (ArcIndex arc, ArcFlowType new_capacity)
 
void SetArcFlow (ArcIndex arc, ArcFlowType new_flow)
 
bool Solve ()
 
bool CheckFeasibility (std::vector< NodeIndex > *const infeasible_supply_node, std::vector< NodeIndex > *const infeasible_demand_node)
 
bool MakeFeasible ()
 
CostValue GetOptimalCost () const
 
FlowQuantity Flow (ArcIndex arc) const
 
FlowQuantity Capacity (ArcIndex arc) const
 
CostValue UnitCost (ArcIndex arc) const
 
FlowQuantity Supply (NodeIndex node) const
 
FlowQuantity InitialSupply (NodeIndex node) const
 
FlowQuantity FeasibleSupply (NodeIndex node) const
 
void SetUseUpdatePrices (bool value)
 
void SetCheckFeasibility (bool value)
 

Member Typedef Documentation

◆ ArcIndex

typedef Graph::ArcIndex ArcIndex

Definition at line 329 of file min_cost_flow.h.

◆ ArcIndexArray

Definition at line 333 of file min_cost_flow.h.

◆ NodeIndex

typedef Graph::NodeIndex NodeIndex

Definition at line 328 of file min_cost_flow.h.

◆ OutgoingArcIterator

typedef Graph::OutgoingArcIterator OutgoingArcIterator

Definition at line 330 of file min_cost_flow.h.

◆ OutgoingOrOppositeIncomingArcIterator

typedef Graph::OutgoingOrOppositeIncomingArcIterator OutgoingOrOppositeIncomingArcIterator

Definition at line 332 of file min_cost_flow.h.

Member Enumeration Documentation

◆ Status

enum Status
inherited
Enumerator
NOT_SOLVED 
OPTIMAL 
FEASIBLE 
INFEASIBLE 
UNBALANCED 
BAD_RESULT 
BAD_COST_RANGE 

Definition at line 194 of file min_cost_flow.h.

Constructor & Destructor Documentation

◆ GenericMinCostFlow()

GenericMinCostFlow ( const Graph *  graph)
explicit

Definition at line 47 of file min_cost_flow.cc.

Member Function Documentation

◆ Capacity()

FlowQuantity Capacity ( ArcIndex  arc) const

Definition at line 405 of file min_cost_flow.cc.

◆ CheckFeasibility()

bool CheckFeasibility ( std::vector< NodeIndex > *const  infeasible_supply_node,
std::vector< NodeIndex > *const  infeasible_demand_node 
)

Definition at line 292 of file min_cost_flow.cc.

◆ FeasibleSupply()

FlowQuantity FeasibleSupply ( NodeIndex  node) const

Definition at line 438 of file min_cost_flow.cc.

◆ Flow()

FlowQuantity Flow ( ArcIndex  arc) const

Definition at line 393 of file min_cost_flow.cc.

◆ GetOptimalCost()

CostValue GetOptimalCost ( ) const
inline

Definition at line 384 of file min_cost_flow.h.

◆ graph()

const Graph * graph ( ) const
inline

Definition at line 341 of file min_cost_flow.h.

◆ InitialSupply()

FlowQuantity InitialSupply ( NodeIndex  node) const

Definition at line 431 of file min_cost_flow.cc.

◆ MakeFeasible()

bool MakeFeasible

Definition at line 380 of file min_cost_flow.cc.

◆ SetArcCapacity()

void SetArcCapacity ( ArcIndex  arc,
ArcFlowType  new_capacity 
)

Definition at line 110 of file min_cost_flow.cc.

◆ SetArcFlow()

void SetArcFlow ( ArcIndex  arc,
ArcFlowType  new_flow 
)

Definition at line 149 of file min_cost_flow.cc.

◆ SetArcUnitCost()

void SetArcUnitCost ( ArcIndex  arc,
ArcScaledCostType  unit_cost 
)

Definition at line 100 of file min_cost_flow.cc.

◆ SetCheckFeasibility()

void SetCheckFeasibility ( bool  value)
inline

Definition at line 418 of file min_cost_flow.h.

◆ SetNodeSupply()

void SetNodeSupply ( NodeIndex  node,
FlowQuantity  supply 
)

Definition at line 90 of file min_cost_flow.cc.

◆ SetUseUpdatePrices()

void SetUseUpdatePrices ( bool  value)
inline

Definition at line 410 of file min_cost_flow.h.

◆ Solve()

bool Solve

Definition at line 492 of file min_cost_flow.cc.

◆ status()

Status status ( ) const
inline

Definition at line 346 of file min_cost_flow.h.

◆ Supply()

FlowQuantity Supply ( NodeIndex  node) const

Definition at line 423 of file min_cost_flow.cc.

◆ UnitCost()

CostValue UnitCost ( ArcIndex  arc) const

Definition at line 415 of file min_cost_flow.cc.


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