package splar.core.heuristics;
import java.util.ArrayList;
import java.util.List;
import splar.core.constraints.CNFFormula;
public class CustomVariableOrderingHeuristic extends VariableOrderingHeuristic {
private String initialVO[] = null;
public CustomVariableOrderingHeuristic(String name, String initialVO[]) {
super(name);
this.initialVO = initialVO;
}
public String[] runHeuristic(CNFFormula cnf) {
String voList = (String)parameters.get("variable_ordering_list");
List<String> varOrderList = new ArrayList<String>();
if ( voList != null ) {
String[] result = voList.split(",");
for (int i=0; i < result.length; i++) {
varOrderList.add(result[i].trim());
}
return varOrderList.toArray(new String[0]);
}
return initialVO;
}
}