Files
ortools-clone/docs/python/ortools/graph/pywrapgraph.html
Corentin Le Molgat b670dc9daa Update doc
2020-04-23 15:34:43 +02:00

1221 lines
63 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
<meta name="generator" content="pdoc 0.8.1" />
<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">
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}#sidebar > *:last-child{margin-bottom:2cm}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#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:1px solid #ddd}#index ul{padding:0}#index h4{margin-top:.6em;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:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;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:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;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:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.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:100vh;overflow:auto;position:sticky;top:0}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
<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:1px 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">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python"># This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.1
#
# 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 &lt; (2, 7, 0):
raise RuntimeError(&#34;Python 2.7 or later required&#34;)
# Import the low-level C/C++ module
if __package__ or &#34;.&#34; in __name__:
from . import _pywrapgraph
else:
import _pywrapgraph
try:
import builtins as __builtin__
except ImportError:
import __builtin__
def _swig_repr(self):
try:
strthis = &#34;proxy of &#34; + self.this.__repr__()
except __builtin__.Exception:
strthis = &#34;&#34;
return &#34;&lt;%s.%s; %s &gt;&#34; % (self.__class__.__module__, self.__class__.__name__, strthis,)
def _swig_setattr_nondynamic_instance_variable(set):
def set_instance_attr(self, name, value):
if name == &#34;thisown&#34;:
self.this.own(value)
elif name == &#34;this&#34;:
set(self, name, value)
elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
set(self, name, value)
else:
raise AttributeError(&#34;You cannot add instance attributes to %s&#34; % 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(&#34;You cannot add class attributes to %s&#34; % cls)
return set_class_attr
def _swig_add_metaclass(metaclass):
&#34;&#34;&#34;Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass&#34;&#34;&#34;
def wrapper(cls):
return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
return wrapper
class _SwigNonDynamicMeta(type):
&#34;&#34;&#34;Meta class to enforce nondynamic attributes (no new attributes) for a class&#34;&#34;&#34;
__setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
class SimpleMaxFlow(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=&#34;The membership flag&#34;)
__repr__ = _swig_repr
def __init__(self):
_pywrapgraph.SimpleMaxFlow_swiginit(self, _pywrapgraph.new_SimpleMaxFlow())
def AddArcWithCapacity(self, tail: &#34;operations_research::NodeIndex&#34;, head: &#34;operations_research::NodeIndex&#34;, capacity: &#34;operations_research::FlowQuantity&#34;) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.SimpleMaxFlow_AddArcWithCapacity(self, tail, head, capacity)
def NumNodes(self) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMaxFlow_NumNodes(self)
def NumArcs(self) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.SimpleMaxFlow_NumArcs(self)
def Tail(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMaxFlow_Tail(self, arc)
def Head(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMaxFlow_Head(self, arc)
def Capacity(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::FlowQuantity&#34;:
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
def Solve(self, source: &#34;operations_research::NodeIndex&#34;, sink: &#34;operations_research::NodeIndex&#34;) -&gt; &#34;operations_research::SimpleMaxFlow::Status&#34;:
return _pywrapgraph.SimpleMaxFlow_Solve(self, source, sink)
def OptimalFlow(self) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMaxFlow_OptimalFlow(self)
def Flow(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMaxFlow_Flow(self, arc)
def GetSourceSideMinCut(self) -&gt; &#34;void&#34;:
return _pywrapgraph.SimpleMaxFlow_GetSourceSideMinCut(self)
def GetSinkSideMinCut(self) -&gt; &#34;void&#34;:
return _pywrapgraph.SimpleMaxFlow_GetSinkSideMinCut(self)
def SetArcCapacity(self, arc: &#34;operations_research::ArcIndex&#34;, capacity: &#34;operations_research::FlowQuantity&#34;) -&gt; &#34;void&#34;:
return _pywrapgraph.SimpleMaxFlow_SetArcCapacity(self, arc, capacity)
__swig_destroy__ = _pywrapgraph.delete_SimpleMaxFlow
# Register SimpleMaxFlow in _pywrapgraph:
_pywrapgraph.SimpleMaxFlow_swigregister(SimpleMaxFlow)
class MinCostFlowBase(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=&#34;The membership flag&#34;)
__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):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=&#34;The membership flag&#34;)
__repr__ = _swig_repr
def __init__(self):
_pywrapgraph.SimpleMinCostFlow_swiginit(self, _pywrapgraph.new_SimpleMinCostFlow())
def AddArcWithCapacityAndUnitCost(self, tail: &#34;operations_research::NodeIndex&#34;, head: &#34;operations_research::NodeIndex&#34;, capacity: &#34;operations_research::FlowQuantity&#34;, unit_cost: &#34;operations_research::CostValue&#34;) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.SimpleMinCostFlow_AddArcWithCapacityAndUnitCost(self, tail, head, capacity, unit_cost)
def SetNodeSupply(self, node: &#34;operations_research::NodeIndex&#34;, supply: &#34;operations_research::FlowQuantity&#34;) -&gt; &#34;void&#34;:
return _pywrapgraph.SimpleMinCostFlow_SetNodeSupply(self, node, supply)
def Solve(self) -&gt; &#34;operations_research::MinCostFlowBase::Status&#34;:
return _pywrapgraph.SimpleMinCostFlow_Solve(self)
def SolveMaxFlowWithMinCost(self) -&gt; &#34;operations_research::MinCostFlowBase::Status&#34;:
return _pywrapgraph.SimpleMinCostFlow_SolveMaxFlowWithMinCost(self)
def OptimalCost(self) -&gt; &#34;operations_research::CostValue&#34;:
return _pywrapgraph.SimpleMinCostFlow_OptimalCost(self)
def MaximumFlow(self) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMinCostFlow_MaximumFlow(self)
def Flow(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMinCostFlow_Flow(self, arc)
def NumNodes(self) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMinCostFlow_NumNodes(self)
def NumArcs(self) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.SimpleMinCostFlow_NumArcs(self)
def Tail(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMinCostFlow_Tail(self, arc)
def Head(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMinCostFlow_Head(self, arc)
def Capacity(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMinCostFlow_Capacity(self, arc)
def Supply(self, node: &#34;operations_research::NodeIndex&#34;) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMinCostFlow_Supply(self, node)
def UnitCost(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::CostValue&#34;:
return _pywrapgraph.SimpleMinCostFlow_UnitCost(self, arc)
__swig_destroy__ = _pywrapgraph.delete_SimpleMinCostFlow
# Register SimpleMinCostFlow in _pywrapgraph:
_pywrapgraph.SimpleMinCostFlow_swigregister(SimpleMinCostFlow)
class LinearSumAssignment(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=&#34;The membership flag&#34;)
__repr__ = _swig_repr
def __init__(self):
_pywrapgraph.LinearSumAssignment_swiginit(self, _pywrapgraph.new_LinearSumAssignment())
def AddArcWithCost(self, left_node: &#34;operations_research::NodeIndex&#34;, right_node: &#34;operations_research::NodeIndex&#34;, cost: &#34;operations_research::CostValue&#34;) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.LinearSumAssignment_AddArcWithCost(self, left_node, right_node, cost)
def NumNodes(self) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.LinearSumAssignment_NumNodes(self)
def NumArcs(self) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.LinearSumAssignment_NumArcs(self)
def LeftNode(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.LinearSumAssignment_LeftNode(self, arc)
def RightNode(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.LinearSumAssignment_RightNode(self, arc)
def Cost(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::CostValue&#34;:
return _pywrapgraph.LinearSumAssignment_Cost(self, arc)
OPTIMAL = _pywrapgraph.LinearSumAssignment_OPTIMAL
INFEASIBLE = _pywrapgraph.LinearSumAssignment_INFEASIBLE
POSSIBLE_OVERFLOW = _pywrapgraph.LinearSumAssignment_POSSIBLE_OVERFLOW
def Solve(self) -&gt; &#34;operations_research::SimpleLinearSumAssignment::Status&#34;:
return _pywrapgraph.LinearSumAssignment_Solve(self)
def OptimalCost(self) -&gt; &#34;operations_research::CostValue&#34;:
return _pywrapgraph.LinearSumAssignment_OptimalCost(self)
def RightMate(self, left_node: &#34;operations_research::NodeIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.LinearSumAssignment_RightMate(self, left_node)
def AssignmentCost(self, left_node: &#34;operations_research::NodeIndex&#34;) -&gt; &#34;operations_research::CostValue&#34;:
return _pywrapgraph.LinearSumAssignment_AssignmentCost(self, left_node)
__swig_destroy__ = _pywrapgraph.delete_LinearSumAssignment
# Register LinearSumAssignment in _pywrapgraph:
_pywrapgraph.LinearSumAssignment_swigregister(LinearSumAssignment)
def DijkstraShortestPath(node_count: &#34;int&#34;, start_node: &#34;int&#34;, end_node: &#34;int&#34;, graph: &#34;std::function&lt; int64 (int,int) &gt;&#34;, disconnected_distance: &#34;int64&#34;) -&gt; &#34;std::vector&lt; int &gt; *&#34;:
return _pywrapgraph.DijkstraShortestPath(node_count, start_node, end_node, graph, disconnected_distance)
def BellmanFordShortestPath(node_count: &#34;int&#34;, start_node: &#34;int&#34;, end_node: &#34;int&#34;, graph: &#34;std::function&lt; int64 (int,int) &gt;&#34;, disconnected_distance: &#34;int64&#34;) -&gt; &#34;std::vector&lt; int &gt; *&#34;:
return _pywrapgraph.BellmanFordShortestPath(node_count, start_node, end_node, graph, disconnected_distance)
def AStarShortestPath(node_count: &#34;int&#34;, start_node: &#34;int&#34;, end_node: &#34;int&#34;, graph: &#34;std::function&lt; int64 (int,int) &gt;&#34;, heuristic: &#34;std::function&lt; int64 (int) &gt;&#34;, disconnected_distance: &#34;int64&#34;) -&gt; &#34;std::vector&lt; int &gt; *&#34;:
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">
<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>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def AStarShortestPath(node_count: &#34;int&#34;, start_node: &#34;int&#34;, end_node: &#34;int&#34;, graph: &#34;std::function&lt; int64 (int,int) &gt;&#34;, heuristic: &#34;std::function&lt; int64 (int) &gt;&#34;, disconnected_distance: &#34;int64&#34;) -&gt; &#34;std::vector&lt; int &gt; *&#34;:
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">
<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>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def BellmanFordShortestPath(node_count: &#34;int&#34;, start_node: &#34;int&#34;, end_node: &#34;int&#34;, graph: &#34;std::function&lt; int64 (int,int) &gt;&#34;, disconnected_distance: &#34;int64&#34;) -&gt; &#34;std::vector&lt; int &gt; *&#34;:
return _pywrapgraph.BellmanFordShortestPath(node_count, start_node, end_node, graph, disconnected_distance)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.DijkstraShortestPath"><code class="name flex">
<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>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def DijkstraShortestPath(node_count: &#34;int&#34;, start_node: &#34;int&#34;, end_node: &#34;int&#34;, graph: &#34;std::function&lt; int64 (int,int) &gt;&#34;, disconnected_distance: &#34;int64&#34;) -&gt; &#34;std::vector&lt; int &gt; *&#34;:
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>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">class LinearSumAssignment(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=&#34;The membership flag&#34;)
__repr__ = _swig_repr
def __init__(self):
_pywrapgraph.LinearSumAssignment_swiginit(self, _pywrapgraph.new_LinearSumAssignment())
def AddArcWithCost(self, left_node: &#34;operations_research::NodeIndex&#34;, right_node: &#34;operations_research::NodeIndex&#34;, cost: &#34;operations_research::CostValue&#34;) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.LinearSumAssignment_AddArcWithCost(self, left_node, right_node, cost)
def NumNodes(self) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.LinearSumAssignment_NumNodes(self)
def NumArcs(self) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.LinearSumAssignment_NumArcs(self)
def LeftNode(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.LinearSumAssignment_LeftNode(self, arc)
def RightNode(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.LinearSumAssignment_RightNode(self, arc)
def Cost(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::CostValue&#34;:
return _pywrapgraph.LinearSumAssignment_Cost(self, arc)
OPTIMAL = _pywrapgraph.LinearSumAssignment_OPTIMAL
INFEASIBLE = _pywrapgraph.LinearSumAssignment_INFEASIBLE
POSSIBLE_OVERFLOW = _pywrapgraph.LinearSumAssignment_POSSIBLE_OVERFLOW
def Solve(self) -&gt; &#34;operations_research::SimpleLinearSumAssignment::Status&#34;:
return _pywrapgraph.LinearSumAssignment_Solve(self)
def OptimalCost(self) -&gt; &#34;operations_research::CostValue&#34;:
return _pywrapgraph.LinearSumAssignment_OptimalCost(self)
def RightMate(self, left_node: &#34;operations_research::NodeIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.LinearSumAssignment_RightMate(self, left_node)
def AssignmentCost(self, left_node: &#34;operations_research::NodeIndex&#34;) -&gt; &#34;operations_research::CostValue&#34;:
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>
<div class="desc"></div>
</dd>
<dt id="pywrapgraph.LinearSumAssignment.OPTIMAL"><code class="name">var <span class="ident">OPTIMAL</span></code></dt>
<dd>
<div class="desc"></div>
</dd>
<dt id="pywrapgraph.LinearSumAssignment.POSSIBLE_OVERFLOW"><code class="name">var <span class="ident">POSSIBLE_OVERFLOW</span></code></dt>
<dd>
<div class="desc"></div>
</dd>
</dl>
<h3>Instance variables</h3>
<dl>
<dt id="pywrapgraph.LinearSumAssignment.thisown"><code class="name">var <span class="ident">thisown</span></code></dt>
<dd>
<div class="desc"><p>The membership flag</p></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=&#34;The membership flag&#34;)</code></pre>
</details>
</dd>
</dl>
<h3>Methods</h3>
<dl>
<dt id="pywrapgraph.LinearSumAssignment.AddArcWithCost"><code class="name flex">
<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>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def AddArcWithCost(self, left_node: &#34;operations_research::NodeIndex&#34;, right_node: &#34;operations_research::NodeIndex&#34;, cost: &#34;operations_research::CostValue&#34;) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.LinearSumAssignment_AddArcWithCost(self, left_node, right_node, cost)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.LinearSumAssignment.AssignmentCost"><code class="name flex">
<span>def <span class="ident">AssignmentCost</span></span>(<span>self, left_node: operations_research::NodeIndex) -> 'operations_research::CostValue'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def AssignmentCost(self, left_node: &#34;operations_research::NodeIndex&#34;) -&gt; &#34;operations_research::CostValue&#34;:
return _pywrapgraph.LinearSumAssignment_AssignmentCost(self, left_node)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.LinearSumAssignment.Cost"><code class="name flex">
<span>def <span class="ident">Cost</span></span>(<span>self, arc: operations_research::ArcIndex) -> 'operations_research::CostValue'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def Cost(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::CostValue&#34;:
return _pywrapgraph.LinearSumAssignment_Cost(self, arc)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.LinearSumAssignment.LeftNode"><code class="name flex">
<span>def <span class="ident">LeftNode</span></span>(<span>self, arc: operations_research::ArcIndex) -> 'operations_research::NodeIndex'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def LeftNode(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.LinearSumAssignment_LeftNode(self, arc)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.LinearSumAssignment.NumArcs"><code class="name flex">
<span>def <span class="ident">NumArcs</span></span>(<span>self) -> 'operations_research::ArcIndex'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def NumArcs(self) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.LinearSumAssignment_NumArcs(self)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.LinearSumAssignment.NumNodes"><code class="name flex">
<span>def <span class="ident">NumNodes</span></span>(<span>self) -> 'operations_research::NodeIndex'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def NumNodes(self) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.LinearSumAssignment_NumNodes(self)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.LinearSumAssignment.OptimalCost"><code class="name flex">
<span>def <span class="ident">OptimalCost</span></span>(<span>self) -> 'operations_research::CostValue'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def OptimalCost(self) -&gt; &#34;operations_research::CostValue&#34;:
return _pywrapgraph.LinearSumAssignment_OptimalCost(self)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.LinearSumAssignment.RightMate"><code class="name flex">
<span>def <span class="ident">RightMate</span></span>(<span>self, left_node: operations_research::NodeIndex) -> 'operations_research::NodeIndex'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def RightMate(self, left_node: &#34;operations_research::NodeIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.LinearSumAssignment_RightMate(self, left_node)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.LinearSumAssignment.RightNode"><code class="name flex">
<span>def <span class="ident">RightNode</span></span>(<span>self, arc: operations_research::ArcIndex) -> 'operations_research::NodeIndex'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def RightNode(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.LinearSumAssignment_RightNode(self, arc)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.LinearSumAssignment.Solve"><code class="name flex">
<span>def <span class="ident">Solve</span></span>(<span>self) -> 'operations_research::SimpleLinearSumAssignment::Status'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def Solve(self) -&gt; &#34;operations_research::SimpleLinearSumAssignment::Status&#34;:
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>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">class MinCostFlowBase(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=&#34;The membership flag&#34;)
__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>
<div class="desc"></div>
</dd>
<dt id="pywrapgraph.MinCostFlowBase.BAD_RESULT"><code class="name">var <span class="ident">BAD_RESULT</span></code></dt>
<dd>
<div class="desc"></div>
</dd>
<dt id="pywrapgraph.MinCostFlowBase.FEASIBLE"><code class="name">var <span class="ident">FEASIBLE</span></code></dt>
<dd>
<div class="desc"></div>
</dd>
<dt id="pywrapgraph.MinCostFlowBase.INFEASIBLE"><code class="name">var <span class="ident">INFEASIBLE</span></code></dt>
<dd>
<div class="desc"></div>
</dd>
<dt id="pywrapgraph.MinCostFlowBase.NOT_SOLVED"><code class="name">var <span class="ident">NOT_SOLVED</span></code></dt>
<dd>
<div class="desc"></div>
</dd>
<dt id="pywrapgraph.MinCostFlowBase.OPTIMAL"><code class="name">var <span class="ident">OPTIMAL</span></code></dt>
<dd>
<div class="desc"></div>
</dd>
<dt id="pywrapgraph.MinCostFlowBase.UNBALANCED"><code class="name">var <span class="ident">UNBALANCED</span></code></dt>
<dd>
<div class="desc"></div>
</dd>
</dl>
<h3>Instance variables</h3>
<dl>
<dt id="pywrapgraph.MinCostFlowBase.thisown"><code class="name">var <span class="ident">thisown</span></code></dt>
<dd>
<div class="desc"><p>The membership flag</p></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=&#34;The membership flag&#34;)</code></pre>
</details>
</dd>
</dl>
</dd>
<dt id="pywrapgraph.SimpleMaxFlow"><code class="flex name class">
<span>class <span class="ident">SimpleMaxFlow</span></span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">class SimpleMaxFlow(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=&#34;The membership flag&#34;)
__repr__ = _swig_repr
def __init__(self):
_pywrapgraph.SimpleMaxFlow_swiginit(self, _pywrapgraph.new_SimpleMaxFlow())
def AddArcWithCapacity(self, tail: &#34;operations_research::NodeIndex&#34;, head: &#34;operations_research::NodeIndex&#34;, capacity: &#34;operations_research::FlowQuantity&#34;) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.SimpleMaxFlow_AddArcWithCapacity(self, tail, head, capacity)
def NumNodes(self) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMaxFlow_NumNodes(self)
def NumArcs(self) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.SimpleMaxFlow_NumArcs(self)
def Tail(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMaxFlow_Tail(self, arc)
def Head(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMaxFlow_Head(self, arc)
def Capacity(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::FlowQuantity&#34;:
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
def Solve(self, source: &#34;operations_research::NodeIndex&#34;, sink: &#34;operations_research::NodeIndex&#34;) -&gt; &#34;operations_research::SimpleMaxFlow::Status&#34;:
return _pywrapgraph.SimpleMaxFlow_Solve(self, source, sink)
def OptimalFlow(self) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMaxFlow_OptimalFlow(self)
def Flow(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMaxFlow_Flow(self, arc)
def GetSourceSideMinCut(self) -&gt; &#34;void&#34;:
return _pywrapgraph.SimpleMaxFlow_GetSourceSideMinCut(self)
def GetSinkSideMinCut(self) -&gt; &#34;void&#34;:
return _pywrapgraph.SimpleMaxFlow_GetSinkSideMinCut(self)
def SetArcCapacity(self, arc: &#34;operations_research::ArcIndex&#34;, capacity: &#34;operations_research::FlowQuantity&#34;) -&gt; &#34;void&#34;:
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>
<div class="desc"></div>
</dd>
<dt id="pywrapgraph.SimpleMaxFlow.BAD_RESULT"><code class="name">var <span class="ident">BAD_RESULT</span></code></dt>
<dd>
<div class="desc"></div>
</dd>
<dt id="pywrapgraph.SimpleMaxFlow.OPTIMAL"><code class="name">var <span class="ident">OPTIMAL</span></code></dt>
<dd>
<div class="desc"></div>
</dd>
<dt id="pywrapgraph.SimpleMaxFlow.POSSIBLE_OVERFLOW"><code class="name">var <span class="ident">POSSIBLE_OVERFLOW</span></code></dt>
<dd>
<div class="desc"></div>
</dd>
</dl>
<h3>Instance variables</h3>
<dl>
<dt id="pywrapgraph.SimpleMaxFlow.thisown"><code class="name">var <span class="ident">thisown</span></code></dt>
<dd>
<div class="desc"><p>The membership flag</p></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=&#34;The membership flag&#34;)</code></pre>
</details>
</dd>
</dl>
<h3>Methods</h3>
<dl>
<dt id="pywrapgraph.SimpleMaxFlow.AddArcWithCapacity"><code class="name flex">
<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>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def AddArcWithCapacity(self, tail: &#34;operations_research::NodeIndex&#34;, head: &#34;operations_research::NodeIndex&#34;, capacity: &#34;operations_research::FlowQuantity&#34;) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.SimpleMaxFlow_AddArcWithCapacity(self, tail, head, capacity)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMaxFlow.Capacity"><code class="name flex">
<span>def <span class="ident">Capacity</span></span>(<span>self, arc: operations_research::ArcIndex) -> 'operations_research::FlowQuantity'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def Capacity(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMaxFlow_Capacity(self, arc)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMaxFlow.Flow"><code class="name flex">
<span>def <span class="ident">Flow</span></span>(<span>self, arc: operations_research::ArcIndex) -> 'operations_research::FlowQuantity'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def Flow(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMaxFlow_Flow(self, arc)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMaxFlow.GetSinkSideMinCut"><code class="name flex">
<span>def <span class="ident">GetSinkSideMinCut</span></span>(<span>self) -> 'void'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def GetSinkSideMinCut(self) -&gt; &#34;void&#34;:
return _pywrapgraph.SimpleMaxFlow_GetSinkSideMinCut(self)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMaxFlow.GetSourceSideMinCut"><code class="name flex">
<span>def <span class="ident">GetSourceSideMinCut</span></span>(<span>self) -> 'void'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def GetSourceSideMinCut(self) -&gt; &#34;void&#34;:
return _pywrapgraph.SimpleMaxFlow_GetSourceSideMinCut(self)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMaxFlow.Head"><code class="name flex">
<span>def <span class="ident">Head</span></span>(<span>self, arc: operations_research::ArcIndex) -> 'operations_research::NodeIndex'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def Head(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMaxFlow_Head(self, arc)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMaxFlow.NumArcs"><code class="name flex">
<span>def <span class="ident">NumArcs</span></span>(<span>self) -> 'operations_research::ArcIndex'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def NumArcs(self) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.SimpleMaxFlow_NumArcs(self)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMaxFlow.NumNodes"><code class="name flex">
<span>def <span class="ident">NumNodes</span></span>(<span>self) -> 'operations_research::NodeIndex'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def NumNodes(self) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMaxFlow_NumNodes(self)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMaxFlow.OptimalFlow"><code class="name flex">
<span>def <span class="ident">OptimalFlow</span></span>(<span>self) -> 'operations_research::FlowQuantity'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def OptimalFlow(self) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMaxFlow_OptimalFlow(self)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMaxFlow.SetArcCapacity"><code class="name flex">
<span>def <span class="ident">SetArcCapacity</span></span>(<span>self, arc: operations_research::ArcIndex, capacity: operations_research::FlowQuantity) -> 'void'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def SetArcCapacity(self, arc: &#34;operations_research::ArcIndex&#34;, capacity: &#34;operations_research::FlowQuantity&#34;) -&gt; &#34;void&#34;:
return _pywrapgraph.SimpleMaxFlow_SetArcCapacity(self, arc, capacity)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMaxFlow.Solve"><code class="name flex">
<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>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def Solve(self, source: &#34;operations_research::NodeIndex&#34;, sink: &#34;operations_research::NodeIndex&#34;) -&gt; &#34;operations_research::SimpleMaxFlow::Status&#34;:
return _pywrapgraph.SimpleMaxFlow_Solve(self, source, sink)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMaxFlow.Tail"><code class="name flex">
<span>def <span class="ident">Tail</span></span>(<span>self, arc: operations_research::ArcIndex) -> 'operations_research::NodeIndex'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def Tail(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
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>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">class SimpleMinCostFlow(MinCostFlowBase):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc=&#34;The membership flag&#34;)
__repr__ = _swig_repr
def __init__(self):
_pywrapgraph.SimpleMinCostFlow_swiginit(self, _pywrapgraph.new_SimpleMinCostFlow())
def AddArcWithCapacityAndUnitCost(self, tail: &#34;operations_research::NodeIndex&#34;, head: &#34;operations_research::NodeIndex&#34;, capacity: &#34;operations_research::FlowQuantity&#34;, unit_cost: &#34;operations_research::CostValue&#34;) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.SimpleMinCostFlow_AddArcWithCapacityAndUnitCost(self, tail, head, capacity, unit_cost)
def SetNodeSupply(self, node: &#34;operations_research::NodeIndex&#34;, supply: &#34;operations_research::FlowQuantity&#34;) -&gt; &#34;void&#34;:
return _pywrapgraph.SimpleMinCostFlow_SetNodeSupply(self, node, supply)
def Solve(self) -&gt; &#34;operations_research::MinCostFlowBase::Status&#34;:
return _pywrapgraph.SimpleMinCostFlow_Solve(self)
def SolveMaxFlowWithMinCost(self) -&gt; &#34;operations_research::MinCostFlowBase::Status&#34;:
return _pywrapgraph.SimpleMinCostFlow_SolveMaxFlowWithMinCost(self)
def OptimalCost(self) -&gt; &#34;operations_research::CostValue&#34;:
return _pywrapgraph.SimpleMinCostFlow_OptimalCost(self)
def MaximumFlow(self) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMinCostFlow_MaximumFlow(self)
def Flow(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMinCostFlow_Flow(self, arc)
def NumNodes(self) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMinCostFlow_NumNodes(self)
def NumArcs(self) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.SimpleMinCostFlow_NumArcs(self)
def Tail(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMinCostFlow_Tail(self, arc)
def Head(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMinCostFlow_Head(self, arc)
def Capacity(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMinCostFlow_Capacity(self, arc)
def Supply(self, node: &#34;operations_research::NodeIndex&#34;) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMinCostFlow_Supply(self, node)
def UnitCost(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::CostValue&#34;:
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">
<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>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def AddArcWithCapacityAndUnitCost(self, tail: &#34;operations_research::NodeIndex&#34;, head: &#34;operations_research::NodeIndex&#34;, capacity: &#34;operations_research::FlowQuantity&#34;, unit_cost: &#34;operations_research::CostValue&#34;) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.SimpleMinCostFlow_AddArcWithCapacityAndUnitCost(self, tail, head, capacity, unit_cost)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMinCostFlow.Capacity"><code class="name flex">
<span>def <span class="ident">Capacity</span></span>(<span>self, arc: operations_research::ArcIndex) -> 'operations_research::FlowQuantity'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def Capacity(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMinCostFlow_Capacity(self, arc)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMinCostFlow.Flow"><code class="name flex">
<span>def <span class="ident">Flow</span></span>(<span>self, arc: operations_research::ArcIndex) -> 'operations_research::FlowQuantity'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def Flow(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMinCostFlow_Flow(self, arc)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMinCostFlow.Head"><code class="name flex">
<span>def <span class="ident">Head</span></span>(<span>self, arc: operations_research::ArcIndex) -> 'operations_research::NodeIndex'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def Head(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMinCostFlow_Head(self, arc)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMinCostFlow.MaximumFlow"><code class="name flex">
<span>def <span class="ident">MaximumFlow</span></span>(<span>self) -> 'operations_research::FlowQuantity'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def MaximumFlow(self) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMinCostFlow_MaximumFlow(self)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMinCostFlow.NumArcs"><code class="name flex">
<span>def <span class="ident">NumArcs</span></span>(<span>self) -> 'operations_research::ArcIndex'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def NumArcs(self) -&gt; &#34;operations_research::ArcIndex&#34;:
return _pywrapgraph.SimpleMinCostFlow_NumArcs(self)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMinCostFlow.NumNodes"><code class="name flex">
<span>def <span class="ident">NumNodes</span></span>(<span>self) -> 'operations_research::NodeIndex'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def NumNodes(self) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMinCostFlow_NumNodes(self)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMinCostFlow.OptimalCost"><code class="name flex">
<span>def <span class="ident">OptimalCost</span></span>(<span>self) -> 'operations_research::CostValue'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def OptimalCost(self) -&gt; &#34;operations_research::CostValue&#34;:
return _pywrapgraph.SimpleMinCostFlow_OptimalCost(self)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMinCostFlow.SetNodeSupply"><code class="name flex">
<span>def <span class="ident">SetNodeSupply</span></span>(<span>self, node: operations_research::NodeIndex, supply: operations_research::FlowQuantity) -> 'void'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def SetNodeSupply(self, node: &#34;operations_research::NodeIndex&#34;, supply: &#34;operations_research::FlowQuantity&#34;) -&gt; &#34;void&#34;:
return _pywrapgraph.SimpleMinCostFlow_SetNodeSupply(self, node, supply)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMinCostFlow.Solve"><code class="name flex">
<span>def <span class="ident">Solve</span></span>(<span>self) -> 'operations_research::<a title="pywrapgraph.MinCostFlowBase" href="#pywrapgraph.MinCostFlowBase">MinCostFlowBase</a>::Status'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def Solve(self) -&gt; &#34;operations_research::MinCostFlowBase::Status&#34;:
return _pywrapgraph.SimpleMinCostFlow_Solve(self)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMinCostFlow.SolveMaxFlowWithMinCost"><code class="name flex">
<span>def <span class="ident">SolveMaxFlowWithMinCost</span></span>(<span>self) -> 'operations_research::<a title="pywrapgraph.MinCostFlowBase" href="#pywrapgraph.MinCostFlowBase">MinCostFlowBase</a>::Status'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def SolveMaxFlowWithMinCost(self) -&gt; &#34;operations_research::MinCostFlowBase::Status&#34;:
return _pywrapgraph.SimpleMinCostFlow_SolveMaxFlowWithMinCost(self)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMinCostFlow.Supply"><code class="name flex">
<span>def <span class="ident">Supply</span></span>(<span>self, node: operations_research::NodeIndex) -> 'operations_research::FlowQuantity'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def Supply(self, node: &#34;operations_research::NodeIndex&#34;) -&gt; &#34;operations_research::FlowQuantity&#34;:
return _pywrapgraph.SimpleMinCostFlow_Supply(self, node)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMinCostFlow.Tail"><code class="name flex">
<span>def <span class="ident">Tail</span></span>(<span>self, arc: operations_research::ArcIndex) -> 'operations_research::NodeIndex'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def Tail(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::NodeIndex&#34;:
return _pywrapgraph.SimpleMinCostFlow_Tail(self, arc)</code></pre>
</details>
</dd>
<dt id="pywrapgraph.SimpleMinCostFlow.UnitCost"><code class="name flex">
<span>def <span class="ident">UnitCost</span></span>(<span>self, arc: operations_research::ArcIndex) -> 'operations_research::CostValue'</span>
</code></dt>
<dd>
<div class="desc"></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def UnitCost(self, arc: &#34;operations_research::ArcIndex&#34;) -&gt; &#34;operations_research::CostValue&#34;:
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">
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.8.1</a>.</p>
</footer>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad()</script>
</body>
</html>