MATP1生成测试SolutionSet

MATP1生成测试SolutionSet

觉得有用的话,欢迎一起讨论相互学习~Follow Me

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();
        }
    }

结果

在这里插入图片描述

发布了263 篇原创文章 · 获赞 163 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/u013555719/article/details/103603894