|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectchoco.cp.solver.constraints.global.tree.filtering.structuralFiltering.globalCardConstraint.AbstractBipartGraph
choco.cp.solver.constraints.global.tree.filtering.structuralFiltering.globalCardConstraint.AbstractBipartFlow
public abstract class AbstractBipartFlow
A general assignment constraint with constraints on the flow bounds
Nested Class Summary |
---|
Nested classes/interfaces inherited from class choco.cp.solver.constraints.global.tree.filtering.structuralFiltering.globalCardConstraint.AbstractBipartGraph |
---|
AbstractBipartGraph.IntQueue |
Field Summary | |
---|---|
protected boolean |
compatibleFlow
|
protected int[] |
flow
|
protected int[] |
maxFlow
|
protected int[] |
minFlow
|
Fields inherited from class choco.cp.solver.constraints.global.tree.filtering.structuralFiltering.globalCardConstraint.AbstractBipartGraph |
---|
component, componentOrder, currentComponent, currentNode, finishDate, graph, index, isFeasible, left2rightArc, LOGGER, matchingSize, maxValue, minValue, nbLeftVertices, nbRightVertices, nbVertices, nTree, queue, refMatch, right2leftArc, seen, solver, source, struct, time, tree |
Constructor Summary | |
---|---|
protected |
AbstractBipartFlow(Solver solver,
Object[] pack)
Constructor for AbstractBipartiteFlow |
Method Summary | |
---|---|
void |
augment(int x)
Augment flow on the current matching |
void |
decreaseMatchingSize(int j)
updates the matching size when the matching is rebuilt |
void |
deleteMatch(int i,
int j)
remove the assignment of j to the ith variable |
int |
findAlternatingPath()
Search for an augmenting path |
void |
increaseMatchingSize(int j)
updates the matching size when one more left vertex is matched with j |
protected void |
initAbstractBipartFlow()
|
boolean |
mayDiminishFlowFromSource(int j)
check unassignement |
boolean |
mayGrowFlowFromSource(int j)
check assignement |
boolean |
mustGrowFlowFromSource(int j)
check if j should be assigned to other variables |
void |
putRefMatch(int i,
int j)
Assignment of j to the ith variable |
void |
setMatch(int i,
int j)
match the ith variable to value j |
Methods inherited from class choco.cp.solver.constraints.global.tree.filtering.structuralFiltering.globalCardConstraint.AbstractBipartGraph |
---|
addComponentEdge, addComponentVertex, augmentFlow, deleteEdgeAndPublish, firstDFSearch, firstPassDFS, getPriority, init, initSCCGraph, match, mayDiminishFlowBetween, mayGrowFlowBetween, mayGrowFlowToSink, mayInverseMatch, mayMatch, propagate, removeUselessEdges, secondDFSearch, secondPassDFS |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected int[] minFlow
protected int[] maxFlow
protected int[] flow
protected boolean compatibleFlow
Constructor Detail |
---|
protected AbstractBipartFlow(Solver solver, Object[] pack)
solver
- the solverpack
- a set of parameters such as the original set of variables fvars, the contracted graph structure associated
and the table of indicesMethod Detail |
---|
protected void initAbstractBipartFlow()
public void setMatch(int i, int j)
setMatch
in class AbstractBipartGraph
i
- the variable to matchj
- the value to assignpublic void deleteMatch(int i, int j)
deleteMatch
in class AbstractBipartGraph
i
- the variable to unmatchj
- the value to removepublic void putRefMatch(int i, int j)
putRefMatch
in class AbstractBipartGraph
i
- the variable to assignj
- the valuepublic boolean mayDiminishFlowFromSource(int j)
mayDiminishFlowFromSource
in class AbstractBipartGraph
j
- the jth value
public boolean mayGrowFlowFromSource(int j)
mayGrowFlowFromSource
in class AbstractBipartGraph
j
- the jth value
public boolean mustGrowFlowFromSource(int j)
mustGrowFlowFromSource
in class AbstractBipartGraph
j
- the jth value
public void increaseMatchingSize(int j)
increaseMatchingSize
in class AbstractBipartGraph
j
- indice of the assigned valuepublic void decreaseMatchingSize(int j)
decreaseMatchingSize
in class AbstractBipartGraph
j
- indice of the removed assignementpublic int findAlternatingPath()
findAlternatingPath
in class AbstractBipartGraph
public void augment(int x)
augment
in class AbstractBipartGraph
x
- left extremity of one of the matching arc
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |