choco.kernel.model.constraints.automaton.FA
Class CostAutomaton

java.lang.Object
  extended by choco.kernel.model.constraints.automaton.FA.FiniteAutomaton
      extended by choco.kernel.model.constraints.automaton.FA.CostAutomaton
All Implemented Interfaces:
IAutomaton, ICostAutomaton

public class CostAutomaton
extends FiniteAutomaton
implements ICostAutomaton

Created by IntelliJ IDEA. User: julien Date: Nov 23, 2010 Time: 11:07:36 AM


Nested Class Summary
 
Nested classes/interfaces inherited from interface choco.kernel.model.constraints.automaton.FA.IAutomaton
IAutomaton.NonDeterministicOperationException, IAutomaton.StateNotInAutomatonException, IAutomaton.Triple
 
Field Summary
protected  ArrayList<ICounter> counters
           
 
Fields inherited from class choco.kernel.model.constraints.automaton.FA.FiniteAutomaton
alphabet, charFromIntMap, intFromCharMap, LOGGER, nbStates, representedBy, states, stateToIndex
 
Constructor Summary
CostAutomaton()
           
CostAutomaton(IAutomaton auto)
           
CostAutomaton(IAutomaton auto, ICounter counter)
           
CostAutomaton(IAutomaton auto, List<ICounter> counters)
           
 
Method Summary
 void addCounter(ICounter c)
           
 double getCost(int layer, int value)
           
 double getCostByResource(int layer, int value, int counter)
           
 double getCostByResourceAndState(int layer, int value, int counter, int state)
           
 double getCostByState(int layer, int value, int state)
           
 List<ICounter> getCounters()
           
 int getNbResources()
           
static ICostAutomaton makeMultiResources(IAutomaton pi, int[][][][] layer_value_resource_state, int[] infs, int[] sups)
           
static ICostAutomaton makeMultiResources(IAutomaton auto, int[][][][] c, IntDomainVar[] z)
           
static ICostAutomaton makeMultiResources(IAutomaton auto, int[][][][] c, IntegerVariable[] z)
           
static ICostAutomaton makeMultiResources(IAutomaton pi, int[][][] layer_value_resource, int[] infs, int[] sups)
           
static ICostAutomaton makeMultiResources(IAutomaton auto, int[][][] c, IntDomainVar[] z)
           
static ICostAutomaton makeMultiResources(IAutomaton auto, int[][][] c, IntegerVariable[] z)
           
static ICostAutomaton makeSingleResource(IAutomaton pi, int[][][] costs, int inf, int sup)
           
static ICostAutomaton makeSingleResource(IAutomaton pi, int[][] costs, int inf, int sup)
           
 
Methods inherited from class choco.kernel.model.constraints.automaton.FA.FiniteAutomaton
_removeSymbolFromAutomaton, addEpsilon, addState, addToAlphabet, addTransition, clone, complement, complement, concatenate, deleteTransition, delta, delta, fill, getAlphabet, getCharFromInt, getFinalStates, getInitialState, getIntFromChar, getNbStates, getNbSymbols, getOutSymbols, getOutSymbolsArray, getTransitions, getTransitions, intersection, isDeterministic, isFinal, makeBricsAutomaton, max, minimize, reduce, removeDeadTransitions, removeFromAlphabet, removeSymbolFromAutomaton, repeat, repeat, repeat, run, setDeterministic, setFinal, setFinal, setInitialState, setNonFInal, setNonFinal, toDot, toDotty, union
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface choco.kernel.model.constraints.automaton.FA.IAutomaton
clone, delta, delta, getInitialState, getNbStates, isFinal, run
 

Field Detail

counters

protected ArrayList<ICounter> counters
Constructor Detail

CostAutomaton

public CostAutomaton()

CostAutomaton

public CostAutomaton(IAutomaton auto)

CostAutomaton

public CostAutomaton(IAutomaton auto,
                     List<ICounter> counters)

CostAutomaton

public CostAutomaton(IAutomaton auto,
                     ICounter counter)
Method Detail

getCost

public double getCost(int layer,
                      int value)
Specified by:
getCost in interface ICostAutomaton

getCostByState

public double getCostByState(int layer,
                             int value,
                             int state)
Specified by:
getCostByState in interface ICostAutomaton

getCostByResource

public double getCostByResource(int layer,
                                int value,
                                int counter)
Specified by:
getCostByResource in interface ICostAutomaton

getNbResources

public int getNbResources()
Specified by:
getNbResources in interface ICostAutomaton

getCostByResourceAndState

public double getCostByResourceAndState(int layer,
                                        int value,
                                        int counter,
                                        int state)
Specified by:
getCostByResourceAndState in interface ICostAutomaton

getCounters

public List<ICounter> getCounters()
Specified by:
getCounters in interface ICostAutomaton

makeSingleResource

public static ICostAutomaton makeSingleResource(IAutomaton pi,
                                                int[][][] costs,
                                                int inf,
                                                int sup)

makeSingleResource

public static ICostAutomaton makeSingleResource(IAutomaton pi,
                                                int[][] costs,
                                                int inf,
                                                int sup)

makeMultiResources

public static ICostAutomaton makeMultiResources(IAutomaton pi,
                                                int[][][] layer_value_resource,
                                                int[] infs,
                                                int[] sups)

makeMultiResources

public static ICostAutomaton makeMultiResources(IAutomaton pi,
                                                int[][][][] layer_value_resource_state,
                                                int[] infs,
                                                int[] sups)

makeMultiResources

public static ICostAutomaton makeMultiResources(IAutomaton auto,
                                                int[][][][] c,
                                                IntegerVariable[] z)

makeMultiResources

public static ICostAutomaton makeMultiResources(IAutomaton auto,
                                                int[][][][] c,
                                                IntDomainVar[] z)

makeMultiResources

public static ICostAutomaton makeMultiResources(IAutomaton auto,
                                                int[][][] c,
                                                IntegerVariable[] z)

makeMultiResources

public static ICostAutomaton makeMultiResources(IAutomaton auto,
                                                int[][][] c,
                                                IntDomainVar[] z)

addCounter

public void addCounter(ICounter c)


Copyright © 2012. All Rights Reserved.