OR-Tools  9.6
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 327 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 ()
 
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 330 of file min_cost_flow.h.

◆ ArcIndexArray

Definition at line 334 of file min_cost_flow.h.

◆ NodeIndex

typedef Graph::NodeIndex NodeIndex

Definition at line 329 of file min_cost_flow.h.

◆ OutgoingArcIterator

typedef Graph::OutgoingArcIterator OutgoingArcIterator

Definition at line 331 of file min_cost_flow.h.

◆ OutgoingOrOppositeIncomingArcIterator

typedef Graph::OutgoingOrOppositeIncomingArcIterator OutgoingOrOppositeIncomingArcIterator

Definition at line 333 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 195 of file min_cost_flow.h.

Constructor & Destructor Documentation

◆ GenericMinCostFlow()

GenericMinCostFlow ( const Graph *  graph)
explicit

Definition at line 52 of file min_cost_flow.cc.

Member Function Documentation

◆ Capacity()

FlowQuantity Capacity ( ArcIndex  arc) const

Definition at line 426 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 313 of file min_cost_flow.cc.

◆ FeasibleSupply()

FlowQuantity FeasibleSupply ( NodeIndex  node) const

Definition at line 459 of file min_cost_flow.cc.

◆ Flow()

FlowQuantity Flow ( ArcIndex  arc) const

Definition at line 414 of file min_cost_flow.cc.

◆ GetOptimalCost()

CostValue GetOptimalCost

Definition at line 549 of file min_cost_flow.cc.

◆ graph()

const Graph* graph ( ) const
inline

Definition at line 342 of file min_cost_flow.h.

◆ InitialSupply()

FlowQuantity InitialSupply ( NodeIndex  node) const

Definition at line 452 of file min_cost_flow.cc.

◆ MakeFeasible()

bool MakeFeasible

Definition at line 401 of file min_cost_flow.cc.

◆ SetArcCapacity()

void SetArcCapacity ( ArcIndex  arc,
ArcFlowType  new_capacity 
)

Definition at line 114 of file min_cost_flow.cc.

◆ SetArcFlow()

void SetArcFlow ( ArcIndex  arc,
ArcFlowType  new_flow 
)

Definition at line 153 of file min_cost_flow.cc.

◆ SetArcUnitCost()

void SetArcUnitCost ( ArcIndex  arc,
ArcScaledCostType  unit_cost 
)

Definition at line 104 of file min_cost_flow.cc.

◆ SetCheckFeasibility()

void SetCheckFeasibility ( bool  value)
inline

Definition at line 423 of file min_cost_flow.h.

◆ SetNodeSupply()

void SetNodeSupply ( NodeIndex  node,
FlowQuantity  supply 
)

Definition at line 94 of file min_cost_flow.cc.

◆ SetUseUpdatePrices()

void SetUseUpdatePrices ( bool  value)
inline

Definition at line 415 of file min_cost_flow.h.

◆ Solve()

bool Solve

Definition at line 513 of file min_cost_flow.cc.

◆ status()

Status status ( ) const
inline

Definition at line 347 of file min_cost_flow.h.

◆ Supply()

FlowQuantity Supply ( NodeIndex  node) const

Definition at line 444 of file min_cost_flow.cc.

◆ UnitCost()

CostValue UnitCost ( ArcIndex  arc) const

Definition at line 436 of file min_cost_flow.cc.


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