ProblemSet matp1;
matp1 = MATP1.getProblem();
ReadPrintPFTools tools = new ReadPrintPFTools();
SolutionSet testSSvarMATP1 = new SolutionSet();
////设置初始化测试标准SolutionSet
tools.InistdSoltSet(10,0,testSSvarMATP1,matp1);
tools.PrintSolutionSet(testSSvarMATP1);
//设置初始化测试标准SolutionSet,即最大值为1,最小值为0,x0值可以指定为0-1之间的任意实数
public void InistdSoltSet(int num_sol, double x0, SolutionSet solset, ProblemSet PS) throws ClassNotFoundException, JMException {
//初始化SolutionSet及其Xreal
XReal[] Xn = new XReal[num_sol];
for (int i = 0; i < num_sol; i++) {
solset.add(new Solution(PS));
//将每个solution的决策变量取出,单独进行保存
Xn[i] = new XReal(solset.get(i));
//设置所有Solution中的x0
Xn[i].setValue(0, x0);
//设置Solution i 中的其余位置
for (int j = 1; j < Xn[i].size(); j++) {
Xn[i].setValue(j,(double) i*(1.0-0.0)/num_sol);
}
}
}
//打印SolutionSet的全部变量
public void PrintSolutionSet(SolutionSet solset) {
//检验决策变量
Variable[] var;
for (int i = 0; i < solset.size(); i++) {
System.out.println("Solution " + i + "Variable ");
var = solset.get(i).getDecisionVariables();
for (int j = 0; j < var.length; j++) {
System.out.print(var[j] + " ");
}
System.out.println();
}
}