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

結果

在這裏插入圖片描述

發佈了266 篇原創文章 · 獲贊 172 · 訪問量 37萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章