Package | Description |
---|---|
org.jacop.constraints.netflow | |
org.jacop.constraints.netflow.simplex |
Modifier and Type | Field and Description |
---|---|
List<Node> |
NetworkBuilder.nodeList |
Modifier and Type | Method and Description |
---|---|
Node |
NetworkBuilder.addNode() |
Node |
NetworkBuilder.addNode(int balance) |
Node |
NetworkBuilder.addNode(String name) |
Node |
NetworkBuilder.addNode(String name,
int balance) |
Node[][] |
NetworkBuilder.valueGraph(IntVar[] vars,
IntDomain[] domains)
Returns two arrays containing the nodes for each variable and the nodes
for each domain, respectively.
|
Modifier and Type | Method and Description |
---|---|
Arc |
NetworkBuilder.addArc(Node from,
Node to) |
Arc |
NetworkBuilder.addArc(Node from,
Node to,
int weight) |
Arc |
NetworkBuilder.addArc(Node from,
Node to,
int weight,
int capacity) |
Arc |
NetworkBuilder.addArc(Node from,
Node to,
int weight,
int lowerCapacity,
int upperCapacity) |
Arc |
NetworkBuilder.addArc(Node from,
Node to,
int weight,
IntVar xVar) |
Arc |
NetworkBuilder.addArc(Node from,
Node to,
IntVar wVar,
int lowerCapacity,
int upperCapacity) |
Arc |
NetworkBuilder.addArc(Node from,
Node to,
IntVar wVar,
IntVar xVar) |
Constructor and Description |
---|
Network(List<Node> nodes,
List<Arc> arcs) |
Pruning(List<Node> nodes,
List<Arc> arcs) |
Modifier and Type | Field and Description |
---|---|
Node |
Arc.head
The head of the arc (where the arc points to).
|
Node[] |
NetworkSimplex.nodes |
Node |
Node.parent |
Node |
NetworkSimplex.root |
Node |
Node.thread |
Modifier and Type | Field and Description |
---|---|
Set<Node> |
NetworkSimplex.infeasibleNodes |
Modifier and Type | Method and Description |
---|---|
Node |
Node.lca(Node that)
Finds the root of the smallest subtree that contains both this node and
that node.
|
Node |
Node.predecessorOnThread()
Finds the predecessor of this node on the thread.
|
Node |
Node.rightMostLeaf()
Finds the last node on the thread that has a larger depth than this node.
|
Node |
Arc.tail() |
Modifier and Type | Method and Description |
---|---|
int |
NetworkSimplex.augmentFlow(Node from,
Node to,
int delta)
Augments the flow between two nodes by the maximum amount along the
unique tree path that connects these nodes.
|
Node |
Node.lca(Node that)
Finds the root of the smallest subtree that contains both this node and
that node.
|
int |
NetworkSimplex.parametricStep(Node source,
Node sink,
int balance,
int maxPivots)
Given an optimal flow that satisfies all feasibility constraints except
mass balance on two nodes, the parametric simplex algorithm tries to
achieve feasibility while keeping the solution optimal.
|
void |
NetworkSimplex.treeSwap(Node a,
Node b,
Node c)
TODO prove (or disprove) correctness
TODO can be 'inlined' in updateTree (but that would decrease readability)
Changes the parent of a node and updates the thread data structure (This
operation invalidates the depth values in the subtree)
Runs in O(T2) amortized time over all treeSwaps performed by an
updateTree operation where T2 is the size of the subtree that is being
reversed.
|
Constructor and Description |
---|
Arc(Node tail,
Node head)
Special constructor to create artificial arcs.
|
Arc(Node tail,
Node head,
int cost,
int lowerCapacity,
int upperCapacity)
General constructor to create arcs.
|
Constructor and Description |
---|
NetworkSimplex(List<Node> nodes,
List<Arc> arcs) |
Copyright © 2015. All rights reserved.