|
@@ -11,7 +11,7 @@ public class TabuSearch {
|
|
|
/**
|
|
|
* 最大的迭代次数(提高这个值可以稳定地提高解质量,但是会增加求解时间)
|
|
|
*/
|
|
|
- public final int MAX_GEN = 10;
|
|
|
+ public final int MAX_GEN = 20;
|
|
|
/**
|
|
|
* 每次搜索领域的个数(这个值不要太大,太大的话搜索效率会降低)
|
|
|
*/
|
|
@@ -91,7 +91,6 @@ public class TabuSearch {
|
|
|
long start = System.currentTimeMillis();
|
|
|
// 获取初始解
|
|
|
getInitSolution();
|
|
|
- System.out.println(bestSolution.getRate());
|
|
|
//开始迭代,停止条件为达到指定迭代次数
|
|
|
while (t < MAX_GEN) {
|
|
|
//当前领域搜索次数
|
|
@@ -127,7 +126,7 @@ public class TabuSearch {
|
|
|
System.out.println("当前迭代次数为:" + t + ",当前最佳利用率为:" + bestSolution.getRate());
|
|
|
}
|
|
|
//求解完毕
|
|
|
- System.out.println("最佳迭代次数:" + bestT);
|
|
|
+ System.out.println("最佳迭代次数:" + (bestT + 1));
|
|
|
System.out.println("最佳利用率为:" + bestSolution.getRate());
|
|
|
System.out.println("用时:" + (System.currentTimeMillis() - start) + "ms");
|
|
|
return bestSolution;
|