public class MultivaluedDecisionDiagram extends Object
Created by cprudhom on 30/10/14.
Modifier and Type | Field and Description |
---|---|
static int |
EMPTY
Express "no edge" information
|
static int |
TERMINAL
The terminal node.
|
Constructor and Description |
---|
MultivaluedDecisionDiagram(int[][] FLATDOM,
Tuples TUPLES)
Create an MDD based on an array of flatten domains and a set of tuples
|
MultivaluedDecisionDiagram(int[][] FLATDOM,
Tuples TUPLES,
boolean compactOnce,
boolean sortTuple)
Create an MDD based on an array of flatten domains and a set of tuples
|
MultivaluedDecisionDiagram(IntVar[] VARIABLES,
int[][] TRANSITIONS)
Create an MDD based on an array of flatten domains and a set of transitions.
|
MultivaluedDecisionDiagram(IntVar[] VARIABLES,
Tuples TUPLES)
Create an MDD based on an array of flatten domains and a set of tuples
|
MultivaluedDecisionDiagram(IntVar[] VARIABLES,
Tuples TUPLES,
boolean compactOnce,
boolean sortTuple)
Create an MDD based on an array of flatten domains and a set of tuples
|
Modifier and Type | Method and Description |
---|---|
boolean |
addTuple(int[] TUPLE)
Add a tuple to the MDD
|
boolean |
addTuples(Tuples TUPLES)
Add all tuples within the MDD
|
boolean |
exists(int... PATH)
Return true is PATH has a support in the mdd
|
int[] |
getDiagram()
Return the diagram (not a copy) of the MDD
|
int |
getEdge(int k)
Return the edge valued in the k^th cell of the diagram
|
int |
getNodeSize(int layer)
Return the initial domain size of the variable in layer
|
int |
getOffset(int layer)
Return the initial LB of the variable in layer
|
protected int |
searchClosest(int[] a,
int key) |
public static final int TERMINAL
public static final int EMPTY
public MultivaluedDecisionDiagram(IntVar[] VARIABLES, Tuples TUPLES)
VARIABLES
- array of flatten domainsTUPLES
- set of (allowed) tuplespublic MultivaluedDecisionDiagram(IntVar[] VARIABLES, Tuples TUPLES, boolean compactOnce, boolean sortTuple)
VARIABLES
- array of flatten domainsTUPLES
- set of (allowed) tuplescompactOnce
- set to true to compact the MDD after having added all the TUPLES, set to false to try to compact the MDD after each tuple additionsortTuple
- set to true to sort the TUPLES in increasing order before adding thempublic MultivaluedDecisionDiagram(int[][] FLATDOM, Tuples TUPLES)
FLATDOM
- array of flatten domainsTUPLES
- set of (allowed) tuplespublic MultivaluedDecisionDiagram(int[][] FLATDOM, Tuples TUPLES, boolean compactOnce, boolean sortTuple)
FLATDOM
- array of flatten domainsTUPLES
- set of (allowed) tuplescompactOnce
- set to true to compact the MDD after having added all the TUPLES, set to false to try to compact the MDD after each tuple additionsortTuple
- set to true to sort the TUPLES in increasing order before adding thempublic MultivaluedDecisionDiagram(IntVar[] VARIABLES, int[][] TRANSITIONS)
VARIABLES
- array of flatten domainsTRANSITIONS
- list of transitionspublic boolean addTuples(Tuples TUPLES)
TUPLES
- tuples to addpublic boolean addTuple(int[] TUPLE)
TUPLE
- tuple to addprotected int searchClosest(int[] a, int key)
public int[] getDiagram()
public int getNodeSize(int layer)
layer
- index of the variablepublic int getOffset(int layer)
layer
- index of the variablepublic int getEdge(int k)
k
- index of the cellpublic boolean exists(int... PATH)
PATH
- array of valueCopyright © 2018. All rights reserved.