choco.cp.solver.constraints.global.tree.filtering.structuralFiltering.globalCardConstraint
Class GlobalCardinalityNoLoop
java.lang.Object
choco.cp.solver.constraints.global.tree.filtering.structuralFiltering.globalCardConstraint.AbstractBipartGraph
choco.cp.solver.constraints.global.tree.filtering.structuralFiltering.globalCardConstraint.AbstractBipartFlow
choco.cp.solver.constraints.global.tree.filtering.structuralFiltering.globalCardConstraint.GlobalCardinalityNoLoop
public class GlobalCardinalityNoLoop
- extends AbstractBipartFlow
Field Summary |
protected boolean |
affiche
boolean for debug and show a trace of the execution |
protected VarGraphView |
inputGraph
data structure related to the graph representation of the input graph |
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 |
Method Summary |
boolean |
applyGCC(RemovalsAdvisor rem)
Achieves generalized arc consistency in one call
remove arcs connecting two different strongly connected components
the event generated by the flow algorithm:
discovering that an edge is no longer valid, and posting this event
to the constraint solver: since we are already achieving GAC consistency
in one single loop. |
void |
deleteEdgeAndPublish(int i,
int j,
RemovalsAdvisor rem)
implement one of the two main events:
when an edge is definitely removed from the bipartite assignment graph |
Methods inherited from class choco.cp.solver.constraints.global.tree.filtering.structuralFiltering.globalCardConstraint.AbstractBipartFlow |
augment, decreaseMatchingSize, deleteMatch, findAlternatingPath, increaseMatchingSize, initAbstractBipartFlow, mayDiminishFlowFromSource, mayGrowFlowFromSource, mustGrowFlowFromSource, putRefMatch, setMatch |
Methods inherited from class choco.cp.solver.constraints.global.tree.filtering.structuralFiltering.globalCardConstraint.AbstractBipartGraph |
addComponentEdge, addComponentVertex, augmentFlow, 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 |
affiche
protected boolean affiche
- boolean for debug and show a trace of the execution
inputGraph
protected VarGraphView inputGraph
- data structure related to the graph representation of the input graph
GlobalCardinalityNoLoop
public GlobalCardinalityNoLoop(Solver solver,
Object[] pack)
- Constructor: build a global cardinality constraint API, short cut when smallest value equals 0
- Parameters:
solver
- the choco problem involving the constraintpack
- a set of parameters : treeParams, indices, struct, affiche
deleteEdgeAndPublish
public void deleteEdgeAndPublish(int i,
int j,
RemovalsAdvisor rem)
- Description copied from class:
AbstractBipartGraph
- implement one of the two main events:
when an edge is definitely removed from the bipartite assignment graph
- Specified by:
deleteEdgeAndPublish
in class AbstractBipartGraph
- Parameters:
i
- the variable to unmatchj
- the value to remove
applyGCC
public boolean applyGCC(RemovalsAdvisor rem)
throws ContradictionException
- Achieves generalized arc consistency in one call
remove arcs connecting two different strongly connected components
the event generated by the flow algorithm:
discovering that an edge is no longer valid, and posting this event
to the constraint solver: since we are already achieving GAC consistency
in one single loop.
- Parameters:
rem
-
- Returns:
-
- Throws:
ContradictionException
Copyright © 2012. All Rights Reserved.