zoukankan      html  css  js  c++  java
  • Jmetal设置Solution Variables

    Jmetal设置Solution Variables

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

    首先每个solution都必须使用Problemset初始化

    ProblemSet problemset = CIHS.getT1();
           Solution sol1 = new Solution(problemset);
    

    不能直接初始化Variable和Real对象,没有size

    //        Variable var1=new Variable();
    //        Variable real1=new Real();
    

    使用Xreal对象直接改变Solution决策变量

    //方1,通过XReal对象,改变单个位点
            XReal x1 = new XReal(sol1);
            //将sol1的变量全部设置为1
            for (int i = 0; i < x1.size(); i++) {
                x1.setValue(i, 1);
            }
    

    使用Variables对象改变对象的决策变量

    sol2.setDecisionVariables(var_sol1);
    

    Code

    ProblemSet problemset = CIHS.getT1();
           Solution sol1 = new Solution(problemset);
           Solution sol2 = new Solution(problemset);
    //     Solution只能使用problem初始化,而直接创建Variable和Real的方式都是行不通的,会认为没有size来初始化XReal
    //        Variable var1=new Variable();
    //        Variable real1=new Real();
    
    
           //方1,通过XReal对象,改变单个位点
           XReal x1 = new XReal(sol1);
           //将sol1的变量全部设置为1
           for (int i = 0; i < x1.size(); i++) {
               x1.setValue(i, 1);
           }
           //重新获取sol1的变量验证是否全部设置为1
           Variable[] var_sol1 = sol1.getDecisionVariables();
           //这表示通过Xreal 类型的x1变量是可以改变solution类型的决策变量的
           for (int i = 0; i < var_sol1.length; i++) {
               System.out.print(var_sol1[i] + "   ");
           }
           //[1.0,1.0...1.0]
    
    
    
           //方2, 通过一个解决方案的决策变量改变另外一个决策方案的决策变量即Variable变量
           sol2.setDecisionVariables(var_sol1);
           //验证
           Variable[] var_sol2 = sol2.getDecisionVariables();
           for (int i = 0; i < var_sol2.length; i++) {
               System.out.print(var_sol2[i] + "   ");
           }
           //[1.0,1.0...1.0]
    
    
    
  • 相关阅读:
    CAS配置记录
    线程同步机制
    线程
    异常
    List集合
    数据结构
    泛型+通配符高级使用--受限泛型
    Collection集合+迭代器+foreach循环
    easyui获取日期datebox中的值
    EL表达式与三目运算符
  • 原文地址:https://www.cnblogs.com/cloud-ken/p/12056325.html
Copyright © 2011-2022 走看看