2019-06-29 14:52:56 +02:00
<!doctype html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1, minimum-scale=1" / >
2020-04-23 15:34:43 +02:00
< meta name = "generator" content = "pdoc 0.8.1" / >
2019-06-29 14:52:56 +02:00
< title > pywrapgraph API documentation< / title >
< meta name = "description" content = "" / >
< link href = 'https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel = 'stylesheet' >
< link href = 'https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel = 'stylesheet' >
< link href = "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel = "stylesheet" >
2020-04-23 15:34:43 +02:00
< style > . flex { display : flex !important } body { line-height : 1.5 em } # content { padding : 20 px } # sidebar { padding : 30 px ; overflow : hidden } # sidebar > * : last-child { margin-bottom : 2 cm } . http-server-breadcrumbs { font-size : 130 % ; margin : 0 0 15 px 0 } # footer { font-size : .75 em ; padding : 5 px 30 px ; border-top : 1 px solid #ddd ; text-align : right } # footer p { margin : 0 0 0 1 em ; display : inline-block } # footer p : last-child { margin-right : 30 px } h1 , h2 , h3 , h4 , h5 { font-weight : 300 } h1 { font-size : 2.5 em ; line-height : 1.1 em } h2 { font-size : 1.75 em ; margin : 1 em 0 .50 em 0 } h3 { font-size : 1.4 em ; margin : 25 px 0 10 px 0 } h4 { margin : 0 ; font-size : 105 % } a { color : #058 ; text-decoration : none ; transition : color .3 s ease-in-out } a : hover { color : #e82 } . title code { font-weight : bold } h2 [ id ^ = "header-" ] { margin-top : 2 em } . ident { color : #900 } pre code { background : #f8f8f8 ; font-size : .8 em ; line-height : 1.4 em } code { background : #f2f2f1 ; padding : 1 px 4 px ; overflow-wrap : break-word } h1 code { background : transparent } pre { background : #f8f8f8 ; border : 0 ; border-top : 1 px solid #ccc ; border-bottom : 1 px solid #ccc ; margin : 1 em 0 ; padding : 1 ex } # http-server-module-list { display : flex ; flex-flow : column } # http-server-module-list div { display : flex } # http-server-module-list dt { min-width : 10 % } # http-server-module-list p { margin-top : 0 } . toc ul , # index { list-style-type : none ; margin : 0 ; padding : 0 } # index code { background : transparent } # index h3 { border-bottom : 1 px solid #ddd } # index ul { padding : 0 } # index h4 { margin-top : .6 em ; font-weight : bold } @ media ( min-width : 200ex ) { # index . two-column { column-count : 2 } } @ media ( min-width : 300ex ) { # index . two-column { column-count : 3 } } dl { margin-bottom : 2 em } dl dl : last-child { margin-bottom : 4 em } dd { margin : 0 0 1 em 3 em } # header-classes + dl > dd { margin-bottom : 3 em } dd dd { margin-left : 2 em } dd p { margin : 10 px 0 } . name { background : #eee ; font-weight : bold ; font-size : .85 em ; padding : 5 px 10 px ; display : inline-block ; min-width : 40 % } . name : hover { background : #e0e0e0 } . name > span : first-child { white-space : nowrap } . name . class > span : nth-child ( 2 ) { margin-left : .4 em } . inherited { color : #999 ; border-left : 5 px solid #eee ; padding-left : 1 em } . inheritance em { font-style : normal ; font-weight : bold } . desc h2 { font-weight : 400 ; font-size : 1.25 em } . desc h3 { font-size : 1 em } . desc dt code { background : inherit } . source summary , . git-link-div { color : #666 ; text-align : right ; font-weight : 400 ; font-size : .8 em ; text-transform : uppercase } . source summary > * { white-space : nowrap ; cursor : pointer } . git-link { color : inherit ; margin-left : 1 em } . source pre { max-height : 500 px ; overflow : auto ; margin : 0 } . source pre code { font-size : 12 px ; overflow : visible } . hlist { list-style : none } . hlist li { display : inline } . hlist li : after { content : ',\2002' } . hlist li : last-child : after { content : none } . hlist . hlist { display : inline ; padding-left : 1 em } img { max-width : 100 % } . admonition { padding : .1 em .5 em ; margin-bottom : 1 em } . admonition-title { font-weight : bold } . admonition . note , . admonition . info , . admonition . important { background : #aef } . admonition . todo , . admonition . versionadded , . admonition . tip , . admonition . hint { background : #dfd } . admonition . warning , . admonition . versionchanged , . admonition . deprecated { background : #fd4 } . admonition . error , . admonition . danger , . admonition . caution { background : lightpink } < / style >
< style media = "screen and (min-width: 700px)" > @ media screen and ( min-width : 700px ) { # sidebar { width : 30 % ; height : 100 vh ; overflow : auto ; position : sticky ; top : 0 } # content { width : 70 % ; max-width : 100 ch ; padding : 3 em 4 em ; border-left : 1 px solid #ddd } pre code { font-size : 1 em } . item . name { font-size : 1 em } main { display : flex ; flex-direction : row-reverse ; justify-content : flex-end } . toc ul ul , # index ul { padding-left : 1.5 em } . toc > ul > li { margin-top : .5 em } } < / style >
2019-06-29 14:52:56 +02:00
< style media = "print" > @ media print { # sidebar h1 { page-break-before : always } . source { display : none } } @ media print { * { background : transparent !important ; color : #000 !important ; box-shadow : none !important ; text-shadow : none !important } a [ href ] : after { content : " (" attr ( href ) ")" ; font-size : 90 % } a [ href ] [ title ] : after { content : none } abbr [ title ] : after { content : " (" attr ( title ) ")" } . ir a : after , a [ href ^ = "javascript:" ] : after , a [ href ^ = "#" ] : after { content : "" } pre , blockquote { border : 1 px solid #999 ; page-break-inside : avoid } thead { display : table-header-group } tr , img { page-break-inside : avoid } img { max-width : 100 % !important } @ page { margin : 0 . 5cm } p , h2 , h3 { orphans : 3 ; widows : 3 } h1 , h2 , h3 , h4 , h5 , h6 { page-break-after : avoid } } < / style >
< style type = "text/css" >
a:link { color: #46641e; text-decoration: none}
.ident { color: #46641e }
< / style >
< link rel = "icon" href = "https://developers.google.com/optimization/images/orLogo.png" >
< / head >
< body >
< main >
< article id = "content" >
< header >
< h1 class = "title" > Module < code > pywrapgraph< / code > < / h1 >
< / header >
< section id = "section-intro" >
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > # This file was automatically generated by SWIG (http://www.swig.org).
2019-09-06 00:05:29 +02:00
# Version 4.0.1
2019-06-29 14:52:56 +02:00
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.
from sys import version_info as _swig_python_version_info
if _swig_python_version_info < (2, 7, 0):
2019-09-06 00:05:29 +02:00
raise RuntimeError(" Python 2.7 or later required" )
2019-06-29 14:52:56 +02:00
# Import the low-level C/C++ module
2019-09-06 00:05:29 +02:00
if __package__ or " ." in __name__:
2019-06-29 14:52:56 +02:00
from . import _pywrapgraph
else:
import _pywrapgraph
try:
import builtins as __builtin__
except ImportError:
import __builtin__
def _swig_repr(self):
try:
strthis = " proxy of " + self.this.__repr__()
except __builtin__.Exception:
strthis = " "
return " < %s.%s; %s > " % (self.__class__.__module__, self.__class__.__name__, strthis,)
def _swig_setattr_nondynamic_instance_variable(set):
def set_instance_attr(self, name, value):
if name == " thisown" :
self.this.own(value)
elif name == " this" :
set(self, name, value)
elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
set(self, name, value)
else:
raise AttributeError(" You cannot add instance attributes to %s" % self)
return set_instance_attr
def _swig_setattr_nondynamic_class_variable(set):
def set_class_attr(cls, name, value):
if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
set(cls, name, value)
else:
raise AttributeError(" You cannot add class attributes to %s" % cls)
return set_class_attr
def _swig_add_metaclass(metaclass):
" " " Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass" " "
def wrapper(cls):
return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
return wrapper
class _SwigNonDynamicMeta(type):
" " " Meta class to enforce nondynamic attributes (no new attributes) for a class" " "
__setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
class SimpleMaxFlow(object):
2019-09-06 00:05:29 +02:00
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=" The membership flag" )
2019-06-29 14:52:56 +02:00
__repr__ = _swig_repr
def __init__(self):
_pywrapgraph.SimpleMaxFlow_swiginit(self, _pywrapgraph.new_SimpleMaxFlow())
2019-09-06 00:05:29 +02:00
def AddArcWithCapacity(self, tail: " operations_research::NodeIndex" , head: " operations_research::NodeIndex" , capacity: " operations_research::FlowQuantity" ) -> " operations_research::ArcIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_AddArcWithCapacity(self, tail, head, capacity)
def NumNodes(self) -> " operations_research::NodeIndex" :
return _pywrapgraph.SimpleMaxFlow_NumNodes(self)
def NumArcs(self) -> " operations_research::ArcIndex" :
return _pywrapgraph.SimpleMaxFlow_NumArcs(self)
2019-09-06 00:05:29 +02:00
def Tail(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_Tail(self, arc)
2019-09-06 00:05:29 +02:00
def Head(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_Head(self, arc)
2019-09-06 00:05:29 +02:00
def Capacity(self, arc: " operations_research::ArcIndex" ) -> " operations_research::FlowQuantity" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_Capacity(self, arc)
OPTIMAL = _pywrapgraph.SimpleMaxFlow_OPTIMAL
POSSIBLE_OVERFLOW = _pywrapgraph.SimpleMaxFlow_POSSIBLE_OVERFLOW
BAD_INPUT = _pywrapgraph.SimpleMaxFlow_BAD_INPUT
BAD_RESULT = _pywrapgraph.SimpleMaxFlow_BAD_RESULT
2019-09-06 00:05:29 +02:00
def Solve(self, source: " operations_research::NodeIndex" , sink: " operations_research::NodeIndex" ) -> " operations_research::SimpleMaxFlow::Status" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_Solve(self, source, sink)
def OptimalFlow(self) -> " operations_research::FlowQuantity" :
return _pywrapgraph.SimpleMaxFlow_OptimalFlow(self)
2019-09-06 00:05:29 +02:00
def Flow(self, arc: " operations_research::ArcIndex" ) -> " operations_research::FlowQuantity" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_Flow(self, arc)
def GetSourceSideMinCut(self) -> " void" :
return _pywrapgraph.SimpleMaxFlow_GetSourceSideMinCut(self)
def GetSinkSideMinCut(self) -> " void" :
return _pywrapgraph.SimpleMaxFlow_GetSinkSideMinCut(self)
2019-09-06 00:05:29 +02:00
def SetArcCapacity(self, arc: " operations_research::ArcIndex" , capacity: " operations_research::FlowQuantity" ) -> " void" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_SetArcCapacity(self, arc, capacity)
__swig_destroy__ = _pywrapgraph.delete_SimpleMaxFlow
# Register SimpleMaxFlow in _pywrapgraph:
_pywrapgraph.SimpleMaxFlow_swigregister(SimpleMaxFlow)
class MinCostFlowBase(object):
2019-09-06 00:05:29 +02:00
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=" The membership flag" )
2019-06-29 14:52:56 +02:00
__repr__ = _swig_repr
NOT_SOLVED = _pywrapgraph.MinCostFlowBase_NOT_SOLVED
OPTIMAL = _pywrapgraph.MinCostFlowBase_OPTIMAL
FEASIBLE = _pywrapgraph.MinCostFlowBase_FEASIBLE
INFEASIBLE = _pywrapgraph.MinCostFlowBase_INFEASIBLE
UNBALANCED = _pywrapgraph.MinCostFlowBase_UNBALANCED
BAD_RESULT = _pywrapgraph.MinCostFlowBase_BAD_RESULT
BAD_COST_RANGE = _pywrapgraph.MinCostFlowBase_BAD_COST_RANGE
def __init__(self):
_pywrapgraph.MinCostFlowBase_swiginit(self, _pywrapgraph.new_MinCostFlowBase())
__swig_destroy__ = _pywrapgraph.delete_MinCostFlowBase
# Register MinCostFlowBase in _pywrapgraph:
_pywrapgraph.MinCostFlowBase_swigregister(MinCostFlowBase)
class SimpleMinCostFlow(MinCostFlowBase):
2019-09-06 00:05:29 +02:00
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=" The membership flag" )
2019-06-29 14:52:56 +02:00
__repr__ = _swig_repr
2020-06-11 12:23:09 +02:00
def __init__(self, reserve_num_nodes: " operations_research::NodeIndex" =0, reserve_num_arcs: " operations_research::ArcIndex" =0):
_pywrapgraph.SimpleMinCostFlow_swiginit(self, _pywrapgraph.new_SimpleMinCostFlow(reserve_num_nodes, reserve_num_arcs))
2019-06-29 14:52:56 +02:00
2019-09-06 00:05:29 +02:00
def AddArcWithCapacityAndUnitCost(self, tail: " operations_research::NodeIndex" , head: " operations_research::NodeIndex" , capacity: " operations_research::FlowQuantity" , unit_cost: " operations_research::CostValue" ) -> " operations_research::ArcIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_AddArcWithCapacityAndUnitCost(self, tail, head, capacity, unit_cost)
2019-09-06 00:05:29 +02:00
def SetNodeSupply(self, node: " operations_research::NodeIndex" , supply: " operations_research::FlowQuantity" ) -> " void" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_SetNodeSupply(self, node, supply)
def Solve(self) -> " operations_research::MinCostFlowBase::Status" :
return _pywrapgraph.SimpleMinCostFlow_Solve(self)
def SolveMaxFlowWithMinCost(self) -> " operations_research::MinCostFlowBase::Status" :
return _pywrapgraph.SimpleMinCostFlow_SolveMaxFlowWithMinCost(self)
def OptimalCost(self) -> " operations_research::CostValue" :
return _pywrapgraph.SimpleMinCostFlow_OptimalCost(self)
def MaximumFlow(self) -> " operations_research::FlowQuantity" :
return _pywrapgraph.SimpleMinCostFlow_MaximumFlow(self)
2019-09-06 00:05:29 +02:00
def Flow(self, arc: " operations_research::ArcIndex" ) -> " operations_research::FlowQuantity" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_Flow(self, arc)
def NumNodes(self) -> " operations_research::NodeIndex" :
return _pywrapgraph.SimpleMinCostFlow_NumNodes(self)
def NumArcs(self) -> " operations_research::ArcIndex" :
return _pywrapgraph.SimpleMinCostFlow_NumArcs(self)
2019-09-06 00:05:29 +02:00
def Tail(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_Tail(self, arc)
2019-09-06 00:05:29 +02:00
def Head(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_Head(self, arc)
2019-09-06 00:05:29 +02:00
def Capacity(self, arc: " operations_research::ArcIndex" ) -> " operations_research::FlowQuantity" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_Capacity(self, arc)
2019-09-06 00:05:29 +02:00
def Supply(self, node: " operations_research::NodeIndex" ) -> " operations_research::FlowQuantity" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_Supply(self, node)
2019-09-06 00:05:29 +02:00
def UnitCost(self, arc: " operations_research::ArcIndex" ) -> " operations_research::CostValue" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_UnitCost(self, arc)
__swig_destroy__ = _pywrapgraph.delete_SimpleMinCostFlow
# Register SimpleMinCostFlow in _pywrapgraph:
_pywrapgraph.SimpleMinCostFlow_swigregister(SimpleMinCostFlow)
class LinearSumAssignment(object):
2019-09-06 00:05:29 +02:00
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=" The membership flag" )
2019-06-29 14:52:56 +02:00
__repr__ = _swig_repr
def __init__(self):
_pywrapgraph.LinearSumAssignment_swiginit(self, _pywrapgraph.new_LinearSumAssignment())
2019-09-06 00:05:29 +02:00
def AddArcWithCost(self, left_node: " operations_research::NodeIndex" , right_node: " operations_research::NodeIndex" , cost: " operations_research::CostValue" ) -> " operations_research::ArcIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_AddArcWithCost(self, left_node, right_node, cost)
def NumNodes(self) -> " operations_research::NodeIndex" :
return _pywrapgraph.LinearSumAssignment_NumNodes(self)
def NumArcs(self) -> " operations_research::ArcIndex" :
return _pywrapgraph.LinearSumAssignment_NumArcs(self)
2019-09-06 00:05:29 +02:00
def LeftNode(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_LeftNode(self, arc)
2019-09-06 00:05:29 +02:00
def RightNode(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_RightNode(self, arc)
2019-09-06 00:05:29 +02:00
def Cost(self, arc: " operations_research::ArcIndex" ) -> " operations_research::CostValue" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_Cost(self, arc)
OPTIMAL = _pywrapgraph.LinearSumAssignment_OPTIMAL
INFEASIBLE = _pywrapgraph.LinearSumAssignment_INFEASIBLE
POSSIBLE_OVERFLOW = _pywrapgraph.LinearSumAssignment_POSSIBLE_OVERFLOW
def Solve(self) -> " operations_research::SimpleLinearSumAssignment::Status" :
return _pywrapgraph.LinearSumAssignment_Solve(self)
def OptimalCost(self) -> " operations_research::CostValue" :
return _pywrapgraph.LinearSumAssignment_OptimalCost(self)
2019-09-06 00:05:29 +02:00
def RightMate(self, left_node: " operations_research::NodeIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_RightMate(self, left_node)
2019-09-06 00:05:29 +02:00
def AssignmentCost(self, left_node: " operations_research::NodeIndex" ) -> " operations_research::CostValue" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_AssignmentCost(self, left_node)
__swig_destroy__ = _pywrapgraph.delete_LinearSumAssignment
# Register LinearSumAssignment in _pywrapgraph:
_pywrapgraph.LinearSumAssignment_swigregister(LinearSumAssignment)
2019-09-06 00:05:29 +02:00
def DijkstraShortestPath(node_count: " int" , start_node: " int" , end_node: " int" , graph: " std::function< int64 (int,int) > " , disconnected_distance: " int64" ) -> " std::vector< int > *" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.DijkstraShortestPath(node_count, start_node, end_node, graph, disconnected_distance)
2019-09-06 00:05:29 +02:00
def BellmanFordShortestPath(node_count: " int" , start_node: " int" , end_node: " int" , graph: " std::function< int64 (int,int) > " , disconnected_distance: " int64" ) -> " std::vector< int > *" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.BellmanFordShortestPath(node_count, start_node, end_node, graph, disconnected_distance)
2019-09-06 00:05:29 +02:00
def AStarShortestPath(node_count: " int" , start_node: " int" , end_node: " int" , graph: " std::function< int64 (int,int) > " , heuristic: " std::function< int64 (int) > " , disconnected_distance: " int64" ) -> " std::vector< int > *" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.AStarShortestPath(node_count, start_node, end_node, graph, heuristic, disconnected_distance)< / code > < / pre >
< / details >
< / section >
< section >
< / section >
< section >
< / section >
< section >
< h2 class = "section-title" id = "header-functions" > Functions< / h2 >
< dl >
< dt id = "pywrapgraph.AStarShortestPath" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > AStarShortestPath< / span > < / span > (< span > node_count: int, start_node: int, end_node: int, graph: std::function< int64 ( int , int ) > , heuristic: std::function< int64 ( int ) > , disconnected_distance: int64) -> 'std::vector< int > *'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def AStarShortestPath(node_count: " int" , start_node: " int" , end_node: " int" , graph: " std::function< int64 (int,int) > " , heuristic: " std::function< int64 (int) > " , disconnected_distance: " int64" ) -> " std::vector< int > *" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.AStarShortestPath(node_count, start_node, end_node, graph, heuristic, disconnected_distance)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.BellmanFordShortestPath" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > BellmanFordShortestPath< / span > < / span > (< span > node_count: int, start_node: int, end_node: int, graph: std::function< int64 ( int , int ) > , disconnected_distance: int64) -> 'std::vector< int > *'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def BellmanFordShortestPath(node_count: " int" , start_node: " int" , end_node: " int" , graph: " std::function< int64 (int,int) > " , disconnected_distance: " int64" ) -> " std::vector< int > *" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.BellmanFordShortestPath(node_count, start_node, end_node, graph, disconnected_distance)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.DijkstraShortestPath" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > DijkstraShortestPath< / span > < / span > (< span > node_count: int, start_node: int, end_node: int, graph: std::function< int64 ( int , int ) > , disconnected_distance: int64) -> 'std::vector< int > *'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def DijkstraShortestPath(node_count: " int" , start_node: " int" , end_node: " int" , graph: " std::function< int64 (int,int) > " , disconnected_distance: " int64" ) -> " std::vector< int > *" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.DijkstraShortestPath(node_count, start_node, end_node, graph, disconnected_distance)< / code > < / pre >
< / details >
< / dd >
< / dl >
< / section >
< section >
< h2 class = "section-title" id = "header-classes" > Classes< / h2 >
< dl >
< dt id = "pywrapgraph.LinearSumAssignment" > < code class = "flex name class" >
< span > class < span class = "ident" > LinearSumAssignment< / span > < / span >
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > class LinearSumAssignment(object):
2019-09-06 00:05:29 +02:00
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=" The membership flag" )
2019-06-29 14:52:56 +02:00
__repr__ = _swig_repr
def __init__(self):
_pywrapgraph.LinearSumAssignment_swiginit(self, _pywrapgraph.new_LinearSumAssignment())
2019-09-06 00:05:29 +02:00
def AddArcWithCost(self, left_node: " operations_research::NodeIndex" , right_node: " operations_research::NodeIndex" , cost: " operations_research::CostValue" ) -> " operations_research::ArcIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_AddArcWithCost(self, left_node, right_node, cost)
def NumNodes(self) -> " operations_research::NodeIndex" :
return _pywrapgraph.LinearSumAssignment_NumNodes(self)
def NumArcs(self) -> " operations_research::ArcIndex" :
return _pywrapgraph.LinearSumAssignment_NumArcs(self)
2019-09-06 00:05:29 +02:00
def LeftNode(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_LeftNode(self, arc)
2019-09-06 00:05:29 +02:00
def RightNode(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_RightNode(self, arc)
2019-09-06 00:05:29 +02:00
def Cost(self, arc: " operations_research::ArcIndex" ) -> " operations_research::CostValue" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_Cost(self, arc)
OPTIMAL = _pywrapgraph.LinearSumAssignment_OPTIMAL
INFEASIBLE = _pywrapgraph.LinearSumAssignment_INFEASIBLE
POSSIBLE_OVERFLOW = _pywrapgraph.LinearSumAssignment_POSSIBLE_OVERFLOW
def Solve(self) -> " operations_research::SimpleLinearSumAssignment::Status" :
return _pywrapgraph.LinearSumAssignment_Solve(self)
def OptimalCost(self) -> " operations_research::CostValue" :
return _pywrapgraph.LinearSumAssignment_OptimalCost(self)
2019-09-06 00:05:29 +02:00
def RightMate(self, left_node: " operations_research::NodeIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_RightMate(self, left_node)
2019-09-06 00:05:29 +02:00
def AssignmentCost(self, left_node: " operations_research::NodeIndex" ) -> " operations_research::CostValue" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_AssignmentCost(self, left_node)
__swig_destroy__ = _pywrapgraph.delete_LinearSumAssignment< / code > < / pre >
< / details >
< h3 > Class variables< / h3 >
< dl >
< dt id = "pywrapgraph.LinearSumAssignment.INFEASIBLE" > < code class = "name" > var < span class = "ident" > INFEASIBLE< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< / dd >
< dt id = "pywrapgraph.LinearSumAssignment.OPTIMAL" > < code class = "name" > var < span class = "ident" > OPTIMAL< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< / dd >
< dt id = "pywrapgraph.LinearSumAssignment.POSSIBLE_OVERFLOW" > < code class = "name" > var < span class = "ident" > POSSIBLE_OVERFLOW< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< / dd >
< / dl >
< h3 > Instance variables< / h3 >
< dl >
< dt id = "pywrapgraph.LinearSumAssignment.thisown" > < code class = "name" > var < span class = "ident" > thisown< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < p > The membership flag< / p > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=" The membership flag" )< / code > < / pre >
2019-06-29 14:52:56 +02:00
< / details >
< / dd >
< / dl >
< h3 > Methods< / h3 >
< dl >
< dt id = "pywrapgraph.LinearSumAssignment.AddArcWithCost" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > AddArcWithCost< / span > < / span > (< span > self, left_node: operations_research::NodeIndex, right_node: operations_research::NodeIndex, cost: operations_research::CostValue) -> 'operations_research::ArcIndex'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def AddArcWithCost(self, left_node: " operations_research::NodeIndex" , right_node: " operations_research::NodeIndex" , cost: " operations_research::CostValue" ) -> " operations_research::ArcIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_AddArcWithCost(self, left_node, right_node, cost)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.LinearSumAssignment.AssignmentCost" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > AssignmentCost< / span > < / span > (< span > self, left_node: operations_research::NodeIndex) -> 'operations_research::CostValue'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def AssignmentCost(self, left_node: " operations_research::NodeIndex" ) -> " operations_research::CostValue" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_AssignmentCost(self, left_node)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.LinearSumAssignment.Cost" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > Cost< / span > < / span > (< span > self, arc: operations_research::ArcIndex) -> 'operations_research::CostValue'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def Cost(self, arc: " operations_research::ArcIndex" ) -> " operations_research::CostValue" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_Cost(self, arc)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.LinearSumAssignment.LeftNode" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > LeftNode< / span > < / span > (< span > self, arc: operations_research::ArcIndex) -> 'operations_research::NodeIndex'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def LeftNode(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_LeftNode(self, arc)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.LinearSumAssignment.NumArcs" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > NumArcs< / span > < / span > (< span > self) -> 'operations_research::ArcIndex'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > def NumArcs(self) -> " operations_research::ArcIndex" :
return _pywrapgraph.LinearSumAssignment_NumArcs(self)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.LinearSumAssignment.NumNodes" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > NumNodes< / span > < / span > (< span > self) -> 'operations_research::NodeIndex'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > def NumNodes(self) -> " operations_research::NodeIndex" :
return _pywrapgraph.LinearSumAssignment_NumNodes(self)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.LinearSumAssignment.OptimalCost" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > OptimalCost< / span > < / span > (< span > self) -> 'operations_research::CostValue'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > def OptimalCost(self) -> " operations_research::CostValue" :
return _pywrapgraph.LinearSumAssignment_OptimalCost(self)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.LinearSumAssignment.RightMate" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > RightMate< / span > < / span > (< span > self, left_node: operations_research::NodeIndex) -> 'operations_research::NodeIndex'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def RightMate(self, left_node: " operations_research::NodeIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_RightMate(self, left_node)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.LinearSumAssignment.RightNode" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > RightNode< / span > < / span > (< span > self, arc: operations_research::ArcIndex) -> 'operations_research::NodeIndex'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def RightNode(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.LinearSumAssignment_RightNode(self, arc)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.LinearSumAssignment.Solve" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > Solve< / span > < / span > (< span > self) -> 'operations_research::SimpleLinearSumAssignment::Status'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > def Solve(self) -> " operations_research::SimpleLinearSumAssignment::Status" :
return _pywrapgraph.LinearSumAssignment_Solve(self)< / code > < / pre >
< / details >
< / dd >
< / dl >
< / dd >
< dt id = "pywrapgraph.MinCostFlowBase" > < code class = "flex name class" >
< span > class < span class = "ident" > MinCostFlowBase< / span > < / span >
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > class MinCostFlowBase(object):
2019-09-06 00:05:29 +02:00
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=" The membership flag" )
2019-06-29 14:52:56 +02:00
__repr__ = _swig_repr
NOT_SOLVED = _pywrapgraph.MinCostFlowBase_NOT_SOLVED
OPTIMAL = _pywrapgraph.MinCostFlowBase_OPTIMAL
FEASIBLE = _pywrapgraph.MinCostFlowBase_FEASIBLE
INFEASIBLE = _pywrapgraph.MinCostFlowBase_INFEASIBLE
UNBALANCED = _pywrapgraph.MinCostFlowBase_UNBALANCED
BAD_RESULT = _pywrapgraph.MinCostFlowBase_BAD_RESULT
BAD_COST_RANGE = _pywrapgraph.MinCostFlowBase_BAD_COST_RANGE
def __init__(self):
_pywrapgraph.MinCostFlowBase_swiginit(self, _pywrapgraph.new_MinCostFlowBase())
__swig_destroy__ = _pywrapgraph.delete_MinCostFlowBase< / code > < / pre >
< / details >
< h3 > Subclasses< / h3 >
< ul class = "hlist" >
< li > < a title = "pywrapgraph.SimpleMinCostFlow" href = "#pywrapgraph.SimpleMinCostFlow" > SimpleMinCostFlow< / a > < / li >
< / ul >
< h3 > Class variables< / h3 >
< dl >
< dt id = "pywrapgraph.MinCostFlowBase.BAD_COST_RANGE" > < code class = "name" > var < span class = "ident" > BAD_COST_RANGE< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< / dd >
< dt id = "pywrapgraph.MinCostFlowBase.BAD_RESULT" > < code class = "name" > var < span class = "ident" > BAD_RESULT< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< / dd >
< dt id = "pywrapgraph.MinCostFlowBase.FEASIBLE" > < code class = "name" > var < span class = "ident" > FEASIBLE< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< / dd >
< dt id = "pywrapgraph.MinCostFlowBase.INFEASIBLE" > < code class = "name" > var < span class = "ident" > INFEASIBLE< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< / dd >
< dt id = "pywrapgraph.MinCostFlowBase.NOT_SOLVED" > < code class = "name" > var < span class = "ident" > NOT_SOLVED< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< / dd >
< dt id = "pywrapgraph.MinCostFlowBase.OPTIMAL" > < code class = "name" > var < span class = "ident" > OPTIMAL< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< / dd >
< dt id = "pywrapgraph.MinCostFlowBase.UNBALANCED" > < code class = "name" > var < span class = "ident" > UNBALANCED< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< / dd >
< / dl >
< h3 > Instance variables< / h3 >
< dl >
< dt id = "pywrapgraph.MinCostFlowBase.thisown" > < code class = "name" > var < span class = "ident" > thisown< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < p > The membership flag< / p > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=" The membership flag" )< / code > < / pre >
2019-06-29 14:52:56 +02:00
< / details >
< / dd >
< / dl >
< / dd >
< dt id = "pywrapgraph.SimpleMaxFlow" > < code class = "flex name class" >
< span > class < span class = "ident" > SimpleMaxFlow< / span > < / span >
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > class SimpleMaxFlow(object):
2019-09-06 00:05:29 +02:00
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=" The membership flag" )
2019-06-29 14:52:56 +02:00
__repr__ = _swig_repr
def __init__(self):
_pywrapgraph.SimpleMaxFlow_swiginit(self, _pywrapgraph.new_SimpleMaxFlow())
2019-09-06 00:05:29 +02:00
def AddArcWithCapacity(self, tail: " operations_research::NodeIndex" , head: " operations_research::NodeIndex" , capacity: " operations_research::FlowQuantity" ) -> " operations_research::ArcIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_AddArcWithCapacity(self, tail, head, capacity)
def NumNodes(self) -> " operations_research::NodeIndex" :
return _pywrapgraph.SimpleMaxFlow_NumNodes(self)
def NumArcs(self) -> " operations_research::ArcIndex" :
return _pywrapgraph.SimpleMaxFlow_NumArcs(self)
2019-09-06 00:05:29 +02:00
def Tail(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_Tail(self, arc)
2019-09-06 00:05:29 +02:00
def Head(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_Head(self, arc)
2019-09-06 00:05:29 +02:00
def Capacity(self, arc: " operations_research::ArcIndex" ) -> " operations_research::FlowQuantity" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_Capacity(self, arc)
OPTIMAL = _pywrapgraph.SimpleMaxFlow_OPTIMAL
POSSIBLE_OVERFLOW = _pywrapgraph.SimpleMaxFlow_POSSIBLE_OVERFLOW
BAD_INPUT = _pywrapgraph.SimpleMaxFlow_BAD_INPUT
BAD_RESULT = _pywrapgraph.SimpleMaxFlow_BAD_RESULT
2019-09-06 00:05:29 +02:00
def Solve(self, source: " operations_research::NodeIndex" , sink: " operations_research::NodeIndex" ) -> " operations_research::SimpleMaxFlow::Status" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_Solve(self, source, sink)
def OptimalFlow(self) -> " operations_research::FlowQuantity" :
return _pywrapgraph.SimpleMaxFlow_OptimalFlow(self)
2019-09-06 00:05:29 +02:00
def Flow(self, arc: " operations_research::ArcIndex" ) -> " operations_research::FlowQuantity" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_Flow(self, arc)
def GetSourceSideMinCut(self) -> " void" :
return _pywrapgraph.SimpleMaxFlow_GetSourceSideMinCut(self)
def GetSinkSideMinCut(self) -> " void" :
return _pywrapgraph.SimpleMaxFlow_GetSinkSideMinCut(self)
2019-09-06 00:05:29 +02:00
def SetArcCapacity(self, arc: " operations_research::ArcIndex" , capacity: " operations_research::FlowQuantity" ) -> " void" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_SetArcCapacity(self, arc, capacity)
__swig_destroy__ = _pywrapgraph.delete_SimpleMaxFlow< / code > < / pre >
< / details >
< h3 > Class variables< / h3 >
< dl >
< dt id = "pywrapgraph.SimpleMaxFlow.BAD_INPUT" > < code class = "name" > var < span class = "ident" > BAD_INPUT< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< / dd >
< dt id = "pywrapgraph.SimpleMaxFlow.BAD_RESULT" > < code class = "name" > var < span class = "ident" > BAD_RESULT< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< / dd >
< dt id = "pywrapgraph.SimpleMaxFlow.OPTIMAL" > < code class = "name" > var < span class = "ident" > OPTIMAL< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< / dd >
< dt id = "pywrapgraph.SimpleMaxFlow.POSSIBLE_OVERFLOW" > < code class = "name" > var < span class = "ident" > POSSIBLE_OVERFLOW< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< / dd >
< / dl >
< h3 > Instance variables< / h3 >
< dl >
< dt id = "pywrapgraph.SimpleMaxFlow.thisown" > < code class = "name" > var < span class = "ident" > thisown< / span > < / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < p > The membership flag< / p > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=" The membership flag" )< / code > < / pre >
2019-06-29 14:52:56 +02:00
< / details >
< / dd >
< / dl >
< h3 > Methods< / h3 >
< dl >
< dt id = "pywrapgraph.SimpleMaxFlow.AddArcWithCapacity" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > AddArcWithCapacity< / span > < / span > (< span > self, tail: operations_research::NodeIndex, head: operations_research::NodeIndex, capacity: operations_research::FlowQuantity) -> 'operations_research::ArcIndex'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def AddArcWithCapacity(self, tail: " operations_research::NodeIndex" , head: " operations_research::NodeIndex" , capacity: " operations_research::FlowQuantity" ) -> " operations_research::ArcIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_AddArcWithCapacity(self, tail, head, capacity)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMaxFlow.Capacity" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > Capacity< / span > < / span > (< span > self, arc: operations_research::ArcIndex) -> 'operations_research::FlowQuantity'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def Capacity(self, arc: " operations_research::ArcIndex" ) -> " operations_research::FlowQuantity" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_Capacity(self, arc)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMaxFlow.Flow" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > Flow< / span > < / span > (< span > self, arc: operations_research::ArcIndex) -> 'operations_research::FlowQuantity'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def Flow(self, arc: " operations_research::ArcIndex" ) -> " operations_research::FlowQuantity" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_Flow(self, arc)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMaxFlow.GetSinkSideMinCut" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > GetSinkSideMinCut< / span > < / span > (< span > self) -> 'void'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > def GetSinkSideMinCut(self) -> " void" :
return _pywrapgraph.SimpleMaxFlow_GetSinkSideMinCut(self)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMaxFlow.GetSourceSideMinCut" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > GetSourceSideMinCut< / span > < / span > (< span > self) -> 'void'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > def GetSourceSideMinCut(self) -> " void" :
return _pywrapgraph.SimpleMaxFlow_GetSourceSideMinCut(self)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMaxFlow.Head" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > Head< / span > < / span > (< span > self, arc: operations_research::ArcIndex) -> 'operations_research::NodeIndex'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def Head(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_Head(self, arc)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMaxFlow.NumArcs" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > NumArcs< / span > < / span > (< span > self) -> 'operations_research::ArcIndex'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > def NumArcs(self) -> " operations_research::ArcIndex" :
return _pywrapgraph.SimpleMaxFlow_NumArcs(self)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMaxFlow.NumNodes" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > NumNodes< / span > < / span > (< span > self) -> 'operations_research::NodeIndex'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > def NumNodes(self) -> " operations_research::NodeIndex" :
return _pywrapgraph.SimpleMaxFlow_NumNodes(self)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMaxFlow.OptimalFlow" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > OptimalFlow< / span > < / span > (< span > self) -> 'operations_research::FlowQuantity'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > def OptimalFlow(self) -> " operations_research::FlowQuantity" :
return _pywrapgraph.SimpleMaxFlow_OptimalFlow(self)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMaxFlow.SetArcCapacity" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > SetArcCapacity< / span > < / span > (< span > self, arc: operations_research::ArcIndex, capacity: operations_research::FlowQuantity) -> 'void'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def SetArcCapacity(self, arc: " operations_research::ArcIndex" , capacity: " operations_research::FlowQuantity" ) -> " void" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_SetArcCapacity(self, arc, capacity)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMaxFlow.Solve" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > Solve< / span > < / span > (< span > self, source: operations_research::NodeIndex, sink: operations_research::NodeIndex) -> 'operations_research::< a title = "pywrapgraph.SimpleMaxFlow" href = "#pywrapgraph.SimpleMaxFlow" > SimpleMaxFlow< / a > ::Status'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def Solve(self, source: " operations_research::NodeIndex" , sink: " operations_research::NodeIndex" ) -> " operations_research::SimpleMaxFlow::Status" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_Solve(self, source, sink)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMaxFlow.Tail" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > Tail< / span > < / span > (< span > self, arc: operations_research::ArcIndex) -> 'operations_research::NodeIndex'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def Tail(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMaxFlow_Tail(self, arc)< / code > < / pre >
< / details >
< / dd >
< / dl >
< / dd >
< dt id = "pywrapgraph.SimpleMinCostFlow" > < code class = "flex name class" >
< span > class < span class = "ident" > SimpleMinCostFlow< / span > < / span >
2020-06-11 12:23:09 +02:00
< span > (< / span > < span > reserve_num_nodes: operations_research::NodeIndex = 0, reserve_num_arcs: operations_research::ArcIndex = 0)< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > class SimpleMinCostFlow(MinCostFlowBase):
2019-09-06 00:05:29 +02:00
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=" The membership flag" )
2019-06-29 14:52:56 +02:00
__repr__ = _swig_repr
2020-06-11 12:23:09 +02:00
def __init__(self, reserve_num_nodes: " operations_research::NodeIndex" =0, reserve_num_arcs: " operations_research::ArcIndex" =0):
_pywrapgraph.SimpleMinCostFlow_swiginit(self, _pywrapgraph.new_SimpleMinCostFlow(reserve_num_nodes, reserve_num_arcs))
2019-06-29 14:52:56 +02:00
2019-09-06 00:05:29 +02:00
def AddArcWithCapacityAndUnitCost(self, tail: " operations_research::NodeIndex" , head: " operations_research::NodeIndex" , capacity: " operations_research::FlowQuantity" , unit_cost: " operations_research::CostValue" ) -> " operations_research::ArcIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_AddArcWithCapacityAndUnitCost(self, tail, head, capacity, unit_cost)
2019-09-06 00:05:29 +02:00
def SetNodeSupply(self, node: " operations_research::NodeIndex" , supply: " operations_research::FlowQuantity" ) -> " void" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_SetNodeSupply(self, node, supply)
def Solve(self) -> " operations_research::MinCostFlowBase::Status" :
return _pywrapgraph.SimpleMinCostFlow_Solve(self)
def SolveMaxFlowWithMinCost(self) -> " operations_research::MinCostFlowBase::Status" :
return _pywrapgraph.SimpleMinCostFlow_SolveMaxFlowWithMinCost(self)
def OptimalCost(self) -> " operations_research::CostValue" :
return _pywrapgraph.SimpleMinCostFlow_OptimalCost(self)
def MaximumFlow(self) -> " operations_research::FlowQuantity" :
return _pywrapgraph.SimpleMinCostFlow_MaximumFlow(self)
2019-09-06 00:05:29 +02:00
def Flow(self, arc: " operations_research::ArcIndex" ) -> " operations_research::FlowQuantity" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_Flow(self, arc)
def NumNodes(self) -> " operations_research::NodeIndex" :
return _pywrapgraph.SimpleMinCostFlow_NumNodes(self)
def NumArcs(self) -> " operations_research::ArcIndex" :
return _pywrapgraph.SimpleMinCostFlow_NumArcs(self)
2019-09-06 00:05:29 +02:00
def Tail(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_Tail(self, arc)
2019-09-06 00:05:29 +02:00
def Head(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_Head(self, arc)
2019-09-06 00:05:29 +02:00
def Capacity(self, arc: " operations_research::ArcIndex" ) -> " operations_research::FlowQuantity" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_Capacity(self, arc)
2019-09-06 00:05:29 +02:00
def Supply(self, node: " operations_research::NodeIndex" ) -> " operations_research::FlowQuantity" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_Supply(self, node)
2019-09-06 00:05:29 +02:00
def UnitCost(self, arc: " operations_research::ArcIndex" ) -> " operations_research::CostValue" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_UnitCost(self, arc)
__swig_destroy__ = _pywrapgraph.delete_SimpleMinCostFlow< / code > < / pre >
< / details >
< h3 > Ancestors< / h3 >
< ul class = "hlist" >
< li > < a title = "pywrapgraph.MinCostFlowBase" href = "#pywrapgraph.MinCostFlowBase" > MinCostFlowBase< / a > < / li >
< / ul >
< h3 > Methods< / h3 >
< dl >
< dt id = "pywrapgraph.SimpleMinCostFlow.AddArcWithCapacityAndUnitCost" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > AddArcWithCapacityAndUnitCost< / span > < / span > (< span > self, tail: operations_research::NodeIndex, head: operations_research::NodeIndex, capacity: operations_research::FlowQuantity, unit_cost: operations_research::CostValue) -> 'operations_research::ArcIndex'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def AddArcWithCapacityAndUnitCost(self, tail: " operations_research::NodeIndex" , head: " operations_research::NodeIndex" , capacity: " operations_research::FlowQuantity" , unit_cost: " operations_research::CostValue" ) -> " operations_research::ArcIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_AddArcWithCapacityAndUnitCost(self, tail, head, capacity, unit_cost)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMinCostFlow.Capacity" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > Capacity< / span > < / span > (< span > self, arc: operations_research::ArcIndex) -> 'operations_research::FlowQuantity'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def Capacity(self, arc: " operations_research::ArcIndex" ) -> " operations_research::FlowQuantity" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_Capacity(self, arc)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMinCostFlow.Flow" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > Flow< / span > < / span > (< span > self, arc: operations_research::ArcIndex) -> 'operations_research::FlowQuantity'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def Flow(self, arc: " operations_research::ArcIndex" ) -> " operations_research::FlowQuantity" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_Flow(self, arc)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMinCostFlow.Head" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > Head< / span > < / span > (< span > self, arc: operations_research::ArcIndex) -> 'operations_research::NodeIndex'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def Head(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_Head(self, arc)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMinCostFlow.MaximumFlow" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > MaximumFlow< / span > < / span > (< span > self) -> 'operations_research::FlowQuantity'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > def MaximumFlow(self) -> " operations_research::FlowQuantity" :
return _pywrapgraph.SimpleMinCostFlow_MaximumFlow(self)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMinCostFlow.NumArcs" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > NumArcs< / span > < / span > (< span > self) -> 'operations_research::ArcIndex'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > def NumArcs(self) -> " operations_research::ArcIndex" :
return _pywrapgraph.SimpleMinCostFlow_NumArcs(self)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMinCostFlow.NumNodes" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > NumNodes< / span > < / span > (< span > self) -> 'operations_research::NodeIndex'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > def NumNodes(self) -> " operations_research::NodeIndex" :
return _pywrapgraph.SimpleMinCostFlow_NumNodes(self)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMinCostFlow.OptimalCost" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > OptimalCost< / span > < / span > (< span > self) -> 'operations_research::CostValue'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > def OptimalCost(self) -> " operations_research::CostValue" :
return _pywrapgraph.SimpleMinCostFlow_OptimalCost(self)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMinCostFlow.SetNodeSupply" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > SetNodeSupply< / span > < / span > (< span > self, node: operations_research::NodeIndex, supply: operations_research::FlowQuantity) -> 'void'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def SetNodeSupply(self, node: " operations_research::NodeIndex" , supply: " operations_research::FlowQuantity" ) -> " void" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_SetNodeSupply(self, node, supply)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMinCostFlow.Solve" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > Solve< / span > < / span > (< span > self) -> 'operations_research::< a title = "pywrapgraph.MinCostFlowBase" href = "#pywrapgraph.MinCostFlowBase" > MinCostFlowBase< / a > ::Status'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > def Solve(self) -> " operations_research::MinCostFlowBase::Status" :
return _pywrapgraph.SimpleMinCostFlow_Solve(self)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMinCostFlow.SolveMaxFlowWithMinCost" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > SolveMaxFlowWithMinCost< / span > < / span > (< span > self) -> 'operations_research::< a title = "pywrapgraph.MinCostFlowBase" href = "#pywrapgraph.MinCostFlowBase" > MinCostFlowBase< / a > ::Status'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-06-29 14:52:56 +02:00
< pre > < code class = "python" > def SolveMaxFlowWithMinCost(self) -> " operations_research::MinCostFlowBase::Status" :
return _pywrapgraph.SimpleMinCostFlow_SolveMaxFlowWithMinCost(self)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMinCostFlow.Supply" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > Supply< / span > < / span > (< span > self, node: operations_research::NodeIndex) -> 'operations_research::FlowQuantity'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def Supply(self, node: " operations_research::NodeIndex" ) -> " operations_research::FlowQuantity" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_Supply(self, node)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMinCostFlow.Tail" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > Tail< / span > < / span > (< span > self, arc: operations_research::ArcIndex) -> 'operations_research::NodeIndex'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def Tail(self, arc: " operations_research::ArcIndex" ) -> " operations_research::NodeIndex" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_Tail(self, arc)< / code > < / pre >
< / details >
< / dd >
< dt id = "pywrapgraph.SimpleMinCostFlow.UnitCost" > < code class = "name flex" >
2020-04-23 15:34:43 +02:00
< span > def < span class = "ident" > UnitCost< / span > < / span > (< span > self, arc: operations_research::ArcIndex) -> 'operations_research::CostValue'< / span >
2019-06-29 14:52:56 +02:00
< / code > < / dt >
< dd >
2020-04-23 15:34:43 +02:00
< div class = "desc" > < / div >
2019-06-29 14:52:56 +02:00
< details class = "source" >
2019-10-01 11:48:51 -04:00
< summary >
< span > Expand source code< / span >
< / summary >
2019-09-06 00:05:29 +02:00
< pre > < code class = "python" > def UnitCost(self, arc: " operations_research::ArcIndex" ) -> " operations_research::CostValue" :
2019-06-29 14:52:56 +02:00
return _pywrapgraph.SimpleMinCostFlow_UnitCost(self, arc)< / code > < / pre >
< / details >
< / dd >
< / dl >
< h3 > Inherited members< / h3 >
< ul class = "hlist" >
< li > < code > < b > < a title = "pywrapgraph.MinCostFlowBase" href = "#pywrapgraph.MinCostFlowBase" > MinCostFlowBase< / a > < / b > < / code > :
< ul class = "hlist" >
< li > < code > < a title = "pywrapgraph.MinCostFlowBase.thisown" href = "#pywrapgraph.MinCostFlowBase.thisown" > thisown< / a > < / code > < / li >
< / ul >
< / li >
< / ul >
< / dd >
< / dl >
< / section >
< / article >
< nav id = "sidebar" >
< header >
< a class = "homelink" rel = "home" title = "OR-Tools Home" href = "https://google.github.io/or-tools/" >
< img src = "https://developers.google.com/optimization/images/orLogo.png" alt = "" > OR-Tools
< / a >
< / header >
< h1 > Index< / h1 >
< div class = "toc" >
< ul > < / ul >
< / div >
< ul id = "index" >
< li > < h3 > < a href = "#header-functions" > Functions< / a > < / h3 >
< ul class = "" >
< li > < code > < a title = "pywrapgraph.AStarShortestPath" href = "#pywrapgraph.AStarShortestPath" > AStarShortestPath< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.BellmanFordShortestPath" href = "#pywrapgraph.BellmanFordShortestPath" > BellmanFordShortestPath< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.DijkstraShortestPath" href = "#pywrapgraph.DijkstraShortestPath" > DijkstraShortestPath< / a > < / code > < / li >
< / ul >
< / li >
< li > < h3 > < a href = "#header-classes" > Classes< / a > < / h3 >
< ul >
< li >
< h4 > < code > < a title = "pywrapgraph.LinearSumAssignment" href = "#pywrapgraph.LinearSumAssignment" > LinearSumAssignment< / a > < / code > < / h4 >
< ul class = "two-column" >
< li > < code > < a title = "pywrapgraph.LinearSumAssignment.AddArcWithCost" href = "#pywrapgraph.LinearSumAssignment.AddArcWithCost" > AddArcWithCost< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.LinearSumAssignment.AssignmentCost" href = "#pywrapgraph.LinearSumAssignment.AssignmentCost" > AssignmentCost< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.LinearSumAssignment.Cost" href = "#pywrapgraph.LinearSumAssignment.Cost" > Cost< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.LinearSumAssignment.INFEASIBLE" href = "#pywrapgraph.LinearSumAssignment.INFEASIBLE" > INFEASIBLE< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.LinearSumAssignment.LeftNode" href = "#pywrapgraph.LinearSumAssignment.LeftNode" > LeftNode< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.LinearSumAssignment.NumArcs" href = "#pywrapgraph.LinearSumAssignment.NumArcs" > NumArcs< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.LinearSumAssignment.NumNodes" href = "#pywrapgraph.LinearSumAssignment.NumNodes" > NumNodes< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.LinearSumAssignment.OPTIMAL" href = "#pywrapgraph.LinearSumAssignment.OPTIMAL" > OPTIMAL< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.LinearSumAssignment.OptimalCost" href = "#pywrapgraph.LinearSumAssignment.OptimalCost" > OptimalCost< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.LinearSumAssignment.POSSIBLE_OVERFLOW" href = "#pywrapgraph.LinearSumAssignment.POSSIBLE_OVERFLOW" > POSSIBLE_OVERFLOW< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.LinearSumAssignment.RightMate" href = "#pywrapgraph.LinearSumAssignment.RightMate" > RightMate< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.LinearSumAssignment.RightNode" href = "#pywrapgraph.LinearSumAssignment.RightNode" > RightNode< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.LinearSumAssignment.Solve" href = "#pywrapgraph.LinearSumAssignment.Solve" > Solve< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.LinearSumAssignment.thisown" href = "#pywrapgraph.LinearSumAssignment.thisown" > thisown< / a > < / code > < / li >
< / ul >
< / li >
< li >
< h4 > < code > < a title = "pywrapgraph.MinCostFlowBase" href = "#pywrapgraph.MinCostFlowBase" > MinCostFlowBase< / a > < / code > < / h4 >
< ul class = "two-column" >
< li > < code > < a title = "pywrapgraph.MinCostFlowBase.BAD_COST_RANGE" href = "#pywrapgraph.MinCostFlowBase.BAD_COST_RANGE" > BAD_COST_RANGE< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.MinCostFlowBase.BAD_RESULT" href = "#pywrapgraph.MinCostFlowBase.BAD_RESULT" > BAD_RESULT< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.MinCostFlowBase.FEASIBLE" href = "#pywrapgraph.MinCostFlowBase.FEASIBLE" > FEASIBLE< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.MinCostFlowBase.INFEASIBLE" href = "#pywrapgraph.MinCostFlowBase.INFEASIBLE" > INFEASIBLE< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.MinCostFlowBase.NOT_SOLVED" href = "#pywrapgraph.MinCostFlowBase.NOT_SOLVED" > NOT_SOLVED< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.MinCostFlowBase.OPTIMAL" href = "#pywrapgraph.MinCostFlowBase.OPTIMAL" > OPTIMAL< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.MinCostFlowBase.UNBALANCED" href = "#pywrapgraph.MinCostFlowBase.UNBALANCED" > UNBALANCED< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.MinCostFlowBase.thisown" href = "#pywrapgraph.MinCostFlowBase.thisown" > thisown< / a > < / code > < / li >
< / ul >
< / li >
< li >
< h4 > < code > < a title = "pywrapgraph.SimpleMaxFlow" href = "#pywrapgraph.SimpleMaxFlow" > SimpleMaxFlow< / a > < / code > < / h4 >
< ul class = "two-column" >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.AddArcWithCapacity" href = "#pywrapgraph.SimpleMaxFlow.AddArcWithCapacity" > AddArcWithCapacity< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.BAD_INPUT" href = "#pywrapgraph.SimpleMaxFlow.BAD_INPUT" > BAD_INPUT< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.BAD_RESULT" href = "#pywrapgraph.SimpleMaxFlow.BAD_RESULT" > BAD_RESULT< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.Capacity" href = "#pywrapgraph.SimpleMaxFlow.Capacity" > Capacity< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.Flow" href = "#pywrapgraph.SimpleMaxFlow.Flow" > Flow< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.GetSinkSideMinCut" href = "#pywrapgraph.SimpleMaxFlow.GetSinkSideMinCut" > GetSinkSideMinCut< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.GetSourceSideMinCut" href = "#pywrapgraph.SimpleMaxFlow.GetSourceSideMinCut" > GetSourceSideMinCut< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.Head" href = "#pywrapgraph.SimpleMaxFlow.Head" > Head< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.NumArcs" href = "#pywrapgraph.SimpleMaxFlow.NumArcs" > NumArcs< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.NumNodes" href = "#pywrapgraph.SimpleMaxFlow.NumNodes" > NumNodes< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.OPTIMAL" href = "#pywrapgraph.SimpleMaxFlow.OPTIMAL" > OPTIMAL< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.OptimalFlow" href = "#pywrapgraph.SimpleMaxFlow.OptimalFlow" > OptimalFlow< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.POSSIBLE_OVERFLOW" href = "#pywrapgraph.SimpleMaxFlow.POSSIBLE_OVERFLOW" > POSSIBLE_OVERFLOW< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.SetArcCapacity" href = "#pywrapgraph.SimpleMaxFlow.SetArcCapacity" > SetArcCapacity< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.Solve" href = "#pywrapgraph.SimpleMaxFlow.Solve" > Solve< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.Tail" href = "#pywrapgraph.SimpleMaxFlow.Tail" > Tail< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMaxFlow.thisown" href = "#pywrapgraph.SimpleMaxFlow.thisown" > thisown< / a > < / code > < / li >
< / ul >
< / li >
< li >
< h4 > < code > < a title = "pywrapgraph.SimpleMinCostFlow" href = "#pywrapgraph.SimpleMinCostFlow" > SimpleMinCostFlow< / a > < / code > < / h4 >
< ul class = "" >
< li > < code > < a title = "pywrapgraph.SimpleMinCostFlow.AddArcWithCapacityAndUnitCost" href = "#pywrapgraph.SimpleMinCostFlow.AddArcWithCapacityAndUnitCost" > AddArcWithCapacityAndUnitCost< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMinCostFlow.Capacity" href = "#pywrapgraph.SimpleMinCostFlow.Capacity" > Capacity< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMinCostFlow.Flow" href = "#pywrapgraph.SimpleMinCostFlow.Flow" > Flow< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMinCostFlow.Head" href = "#pywrapgraph.SimpleMinCostFlow.Head" > Head< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMinCostFlow.MaximumFlow" href = "#pywrapgraph.SimpleMinCostFlow.MaximumFlow" > MaximumFlow< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMinCostFlow.NumArcs" href = "#pywrapgraph.SimpleMinCostFlow.NumArcs" > NumArcs< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMinCostFlow.NumNodes" href = "#pywrapgraph.SimpleMinCostFlow.NumNodes" > NumNodes< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMinCostFlow.OptimalCost" href = "#pywrapgraph.SimpleMinCostFlow.OptimalCost" > OptimalCost< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMinCostFlow.SetNodeSupply" href = "#pywrapgraph.SimpleMinCostFlow.SetNodeSupply" > SetNodeSupply< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMinCostFlow.Solve" href = "#pywrapgraph.SimpleMinCostFlow.Solve" > Solve< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMinCostFlow.SolveMaxFlowWithMinCost" href = "#pywrapgraph.SimpleMinCostFlow.SolveMaxFlowWithMinCost" > SolveMaxFlowWithMinCost< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMinCostFlow.Supply" href = "#pywrapgraph.SimpleMinCostFlow.Supply" > Supply< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMinCostFlow.Tail" href = "#pywrapgraph.SimpleMinCostFlow.Tail" > Tail< / a > < / code > < / li >
< li > < code > < a title = "pywrapgraph.SimpleMinCostFlow.UnitCost" href = "#pywrapgraph.SimpleMinCostFlow.UnitCost" > UnitCost< / a > < / code > < / li >
< / ul >
< / li >
< / ul >
< / li >
< / ul >
< / nav >
< / main >
< footer id = "footer" >
2020-04-23 15:34:43 +02:00
< p > Generated by < a href = "https://pdoc3.github.io/pdoc" > < cite > pdoc< / cite > 0.8.1< / a > .< / p >
2019-06-29 14:52:56 +02:00
< / footer >
< script src = "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js" > < / script >
< script > hljs . initHighlightingOnLoad ( ) < / script >
< / body >
2019-11-14 13:52:51 -08:00
< / html >