Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType > Class Template Reference

Detailed Description

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

Definition at line 405 of file min_cost_flow.h.

#include <min_cost_flow.h>

Inheritance diagram for operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >:
operations_research::MinCostFlowBase

Public Types

typedef Graph::NodeIndex NodeIndex
typedef Graph::ArcIndex ArcIndex
typedef int64_t CostValue
typedef int64_t FlowQuantity
typedef Graph::OutgoingOrOppositeIncomingArcIterator OutgoingOrOppositeIncomingArcIterator
typedef ZVector< ArcIndexArcIndexArray
Public Types inherited from operations_research::MinCostFlowBase
enum  Status {
  NOT_SOLVED , OPTIMAL , FEASIBLE , INFEASIBLE ,
  UNBALANCED , BAD_RESULT , BAD_COST_RANGE , BAD_CAPACITY_RANGE
}

Public Member Functions

 GenericMinCostFlow (const Graph *graph)
 GenericMinCostFlow (const GenericMinCostFlow &)=delete
GenericMinCostFlowoperator= (const GenericMinCostFlow &)=delete
const Graphgraph () const
Status status () const
void SetNodeSupply (NodeIndex node, FlowQuantity supply)
void SetArcUnitCost (ArcIndex arc, ArcScaledCostType unit_cost)
void SetArcCapacity (ArcIndex arc, ArcFlowType new_capacity)
bool Solve ()
CostValue GetOptimalCost ()
FlowQuantity Flow (ArcIndex arc) const
FlowQuantity Capacity (ArcIndex arc) const
CostValue UnitCost (ArcIndex arc) const
FlowQuantity Supply (NodeIndex node) const
void SetCheckFeasibility (bool value)
void SetUseUpdatePrices (bool value)
void SetPriceScaling (bool value)

Member Typedef Documentation

◆ ArcIndex

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
typedef Graph::ArcIndex operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::ArcIndex

Definition at line 408 of file min_cost_flow.h.

◆ ArcIndexArray

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
typedef ZVector<ArcIndex> operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::ArcIndexArray

Definition at line 413 of file min_cost_flow.h.

◆ CostValue

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
typedef int64_t operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::CostValue

Definition at line 409 of file min_cost_flow.h.

◆ FlowQuantity

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
typedef int64_t operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::FlowQuantity

Definition at line 410 of file min_cost_flow.h.

◆ NodeIndex

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
typedef Graph::NodeIndex operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::NodeIndex

Definition at line 407 of file min_cost_flow.h.

◆ OutgoingOrOppositeIncomingArcIterator

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
typedef Graph::OutgoingOrOppositeIncomingArcIterator operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::OutgoingOrOppositeIncomingArcIterator

Definition at line 412 of file min_cost_flow.h.

Constructor & Destructor Documentation

◆ GenericMinCostFlow() [1/2]

template<typename Graph, typename ArcFlowType, typename ArcScaledCostType>
operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::GenericMinCostFlow ( const Graph * graph)
explicit

Definition at line 51 of file min_cost_flow.cc.

◆ GenericMinCostFlow() [2/2]

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::GenericMinCostFlow ( const GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType > & )
delete

Member Function Documentation

◆ Capacity()

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
auto operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::Capacity ( ArcIndex arc) const

Definition at line 378 of file min_cost_flow.cc.

◆ Flow()

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
auto operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::Flow ( ArcIndex arc) const

Definition at line 367 of file min_cost_flow.cc.

◆ GetOptimalCost()

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
auto operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::GetOptimalCost ( )

Definition at line 482 of file min_cost_flow.cc.

◆ graph()

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
const Graph * operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::graph ( ) const
inline

Definition at line 427 of file min_cost_flow.h.

◆ operator=()

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
GenericMinCostFlow & operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::operator= ( const GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType > & )
delete

◆ SetArcCapacity()

template<typename Graph, typename ArcFlowType, typename ArcScaledCostType>
void operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::SetArcCapacity ( ArcIndex arc,
ArcFlowType new_capacity )

Definition at line 99 of file min_cost_flow.cc.

◆ SetArcUnitCost()

template<typename Graph, typename ArcFlowType, typename ArcScaledCostType>
void operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::SetArcUnitCost ( ArcIndex arc,
ArcScaledCostType unit_cost )

Definition at line 89 of file min_cost_flow.cc.

◆ SetCheckFeasibility()

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
void operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::SetCheckFeasibility ( bool value)
inline

Definition at line 477 of file min_cost_flow.h.

◆ SetNodeSupply()

template<typename Graph, typename ArcFlowType, typename ArcScaledCostType>
void operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::SetNodeSupply ( NodeIndex node,
FlowQuantity supply )

Definition at line 79 of file min_cost_flow.cc.

◆ SetPriceScaling()

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
void operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::SetPriceScaling ( bool value)
inline

Definition at line 481 of file min_cost_flow.h.

◆ SetUseUpdatePrices()

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
void operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::SetUseUpdatePrices ( bool value)
inline

Definition at line 480 of file min_cost_flow.h.

◆ Solve()

template<typename Graph, typename ArcFlowType, typename ArcScaledCostType>
bool operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::Solve ( )

Definition at line 451 of file min_cost_flow.cc.

◆ status()

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
Status operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::status ( ) const
inline

Definition at line 432 of file min_cost_flow.h.

◆ Supply()

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
auto operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::Supply ( NodeIndex node) const

Definition at line 396 of file min_cost_flow.cc.

◆ UnitCost()

template<typename Graph, typename ArcFlowType = int64_t, typename ArcScaledCostType = int64_t>
auto operations_research::GenericMinCostFlow< Graph, ArcFlowType, ArcScaledCostType >::UnitCost ( ArcIndex arc) const

Definition at line 388 of file min_cost_flow.cc.


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