choco.kernel.solver.constraints.global.automata.fast_multicostregular.structure
Class StoredDirectedMultiGraph

java.lang.Object
  extended by choco.kernel.solver.constraints.global.automata.fast_multicostregular.structure.StoredDirectedMultiGraph

public class StoredDirectedMultiGraph
extends Object

Created by IntelliJ IDEA. User: julien Mail: julien.menana{at}emn.fr Date: Nov 4, 2009 Time: 1:07:19 PM


Nested Class Summary
 class StoredDirectedMultiGraph.Arcs
           
 class StoredDirectedMultiGraph.Nodes
           
 
Field Summary
 AbstractIntSConstraint constraint
           
 StoredDirectedMultiGraph.Arcs GArcs
           
 StoredDirectedMultiGraph.Nodes GNodes
           
 BitSet inStack
           
 StoredIndexedBipartiteSetWithOffset[] layers
           
 int nbR
           
 int[] offsets
           
 int sourceIndex
           
 int tinIndex
           
 
Constructor Summary
StoredDirectedMultiGraph(IEnvironment environment, AbstractIntSConstraint constraint, org.jgrapht.graph.DirectedMultigraph<Node,Arc> graph, int[][] layers, int[] starts, int[] offsets, int supportLength, ICostAutomaton pi, IntDomainVar[] z)
           
 
Method Summary
 void clearInStack(int idx)
          Clear the idx th bit of the to be removed bitset
 void delayedBoundUpdate(gnu.trove.TIntStack toRemove, IntDomainVar[] z, int... dim)
           
 BitSet getInStack()
          Getter to the is arc in to be removed stack bitSet
 double[] getInstantiatedLayerCosts(int layer)
           
 int[] getMinMaxPathCostForAssignment(int layer, int value, int... resources)
           
 int getMinPathCost(int... resources)
           
 int getMinPathCostForAssignment(int layer, int value, int... resources)
           
 FastPathFinder getPathFinder()
           
 int getRegret(int layer, int value, int... resources)
           
 StoredIndexedBipartiteSetWithOffset getSupport(int i, int j)
           
 boolean isInStack(int idx)
          Getter, the idx th bit of the inStack bitSet
 void makePathFinder()
           
 boolean removeArc(int arcId, gnu.trove.TIntStack toRemove, gnu.trove.TIntStack[] updateLeft, gnu.trove.TIntStack[] updateRight)
           
 void setInStack(int idx)
          Set the idx th bit of the to be removed bitset
 void updateLeft(gnu.trove.TIntStack updateLeft, gnu.trove.TIntStack toRemove, int dim, boolean[] modBound)
           
 void updateRight(gnu.trove.TIntStack updateRight, gnu.trove.TIntStack toRemove, int dim, boolean[] modBound)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

constraint

public AbstractIntSConstraint constraint

offsets

public int[] offsets

sourceIndex

public int sourceIndex

tinIndex

public int tinIndex

nbR

public int nbR

layers

public StoredIndexedBipartiteSetWithOffset[] layers

inStack

public BitSet inStack

GNodes

public StoredDirectedMultiGraph.Nodes GNodes

GArcs

public StoredDirectedMultiGraph.Arcs GArcs
Constructor Detail

StoredDirectedMultiGraph

public StoredDirectedMultiGraph(IEnvironment environment,
                                AbstractIntSConstraint constraint,
                                org.jgrapht.graph.DirectedMultigraph<Node,Arc> graph,
                                int[][] layers,
                                int[] starts,
                                int[] offsets,
                                int supportLength,
                                ICostAutomaton pi,
                                IntDomainVar[] z)
Method Detail

delayedBoundUpdate

public void delayedBoundUpdate(gnu.trove.TIntStack toRemove,
                               IntDomainVar[] z,
                               int... dim)

makePathFinder

public final void makePathFinder()

getSupport

public final StoredIndexedBipartiteSetWithOffset getSupport(int i,
                                                            int j)

getPathFinder

public final FastPathFinder getPathFinder()

removeArc

public boolean removeArc(int arcId,
                         gnu.trove.TIntStack toRemove,
                         gnu.trove.TIntStack[] updateLeft,
                         gnu.trove.TIntStack[] updateRight)
                  throws ContradictionException
Throws:
ContradictionException

updateRight

public void updateRight(gnu.trove.TIntStack updateRight,
                        gnu.trove.TIntStack toRemove,
                        int dim,
                        boolean[] modBound)
                 throws ContradictionException
Throws:
ContradictionException

updateLeft

public void updateLeft(gnu.trove.TIntStack updateLeft,
                       gnu.trove.TIntStack toRemove,
                       int dim,
                       boolean[] modBound)
                throws ContradictionException
Throws:
ContradictionException

getInStack

public final BitSet getInStack()
Getter to the is arc in to be removed stack bitSet

Returns:
an instance of a storable bitset

isInStack

public final boolean isInStack(int idx)
Getter, the idx th bit of the inStack bitSet

Parameters:
idx - the index of the arc
Returns:
true if a given arc is to be deleted

setInStack

public final void setInStack(int idx)
Set the idx th bit of the to be removed bitset

Parameters:
idx - the index of the bit

clearInStack

public final void clearInStack(int idx)
Clear the idx th bit of the to be removed bitset

Parameters:
idx - the index of the bit

getRegret

public int getRegret(int layer,
                     int value,
                     int... resources)

getMinPathCostForAssignment

public int getMinPathCostForAssignment(int layer,
                                       int value,
                                       int... resources)

getMinMaxPathCostForAssignment

public int[] getMinMaxPathCostForAssignment(int layer,
                                            int value,
                                            int... resources)

getInstantiatedLayerCosts

public double[] getInstantiatedLayerCosts(int layer)

getMinPathCost

public int getMinPathCost(int... resources)


Copyright © 2012. All Rights Reserved.