leaf-analysis/src/simulation/BICSPAlgorithm.java
/**
	 * Creates the var list with:
	 * - select state
	 * - next possible states (based on possible time points)
	 * - time points for those states
	 * @return
	 */
Creates the var list with:
- select state
- next possible states (based on possible time points)
- time points for those states
@return
Creates the var list with : - select state - next possible states ( based on possible time points ) - time points for those states @return
private IntVar[] createNextStateVarList(int currentStateIndex, int nextStateIndex){
		IntVar[] fullList = new IntVar[this.numIntentions * 2 * 4];
		int fullListIndex = 0;
		for (int i = 0; i < this.values.length; i++)
			for (int v = 0; v < this.values[i][0].length; v++){
				fullList[fullListIndex] = this.values[i][currentStateIndex][v];
				fullListIndex++;
			}
		for (int i = 0; i < this.values.length; i++)
			for (int v = 0; v < this.values[i][0].length; v++){
				fullList[fullListIndex] = this.values[i][nextStateIndex][v];
				fullListIndex++;
			}	
		return fullList;
	}
private IntVar [ ] createNextStateVarList ( int currentStateIndex , int nextStateIndex ) { IntVar [ ] fullList = new IntVar [ this . numIntentions * 2 * 4 ] ; int fullListIndex = 0 ; for ( int i = 0 ; i < this . values . length ; i ++ ) for ( int v = 0 ; v < this . values [ i ] [ 0 ] . length ; v ++ ) { fullList [ fullListIndex ] = this . values [ i ] [ currentStateIndex ] [ v ] ; fullListIndex ++ ; } for ( int i = 0 ; i < this . values . length ; i ++ ) for ( int v = 0 ; v < this . values [ i ] [ 0 ] . length ; v ++ ) { fullList [ fullListIndex ] = this . values [ i ] [ nextStateIndex ] [ v ] ; fullListIndex ++ ; } return fullList ; }
Creates the var list with:
 - select state
 - next possible states (based on possible time points)
 - time points for those states
 @return
Creates the var list with : - select state - next possible states ( based on possible time points ) - time points for those states @return
// Solve only the next state variables.