1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| // variables
private List tabuList = new ArrayList();
private List bestSequence = new ArrayList();
private List solutionsSubSet = new ArrayList();
private int bestTime;
List tempList = new ArrayList();
...
public TabuSearch(List initSequence, int initTime){
bestSequence = initSequence;
bestTime = initTime;
}
ensuite cette méthode est appelée :
public void getSolutionsSubSet(){
for (int i=1; i<=(bestSequence.size()/2); i++){
tempList = permutation(i);
tabuList.add(tempList);
myRandomizer.permuteTableRows(tempList);
scheduler.scheduling();
if (scheduler.getLastval() < bestTime) {
bestTime = scheduler.getLastval();
bestSequence.clear();
}
}}
private List permutation(int i){
Integer tempInt = (Integer) bestSequence.get(0);
bestSequence.set(0,bestSequence.get(i));
bestSequence.set(i,tempInt);
return bestSequence;
} |
Partager