import choco.kernel.solver.search.integer.AbstractIntVarSelector; import choco.kernel.solver.variables.integer.IntDomainVar; import choco.kernel.solver.variables.AbstractVar; import choco.kernel.memory.IStateInt; public class MaxColHeuristic extends AbstractIntVarSelector { private IntDomainVar[] vars; // 0/1 decision variables private int n; // number of decision variables private IStateInt[] col; // colouring of v[i] in candidate set, reversible private ReversibleVector candidateSet; // the uninstantiated variables public MaxColHeuristic(IntDomainVar[] vars,IStateInt[] col,ReversibleVector candidateSet){ this.vars = vars; n = vars.length;this.col = col; this.candidateSet = candidateSet; } public IntDomainVar selectIntVar(){ int maxColour = Integer.MIN_VALUE; IntDomainVar maxColourVar = null; int colour = 0; int i = 0; for (int k=0;k maxColour){maxColourVar = vars[i]; maxColour = colour;} //System.out.print("col["+ i +"]="+ col[i].get() +" "); } //System.out.println("selected: "+ maxColourVar); return maxColourVar; } // // select the uninstantiated variable with maximum colour // }