前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jmetal设置Solution Variables

Jmetal设置Solution Variables

作者头像
演化计算与人工智能
发布2020-08-14 16:00:51
3620
发布2020-08-14 16:00:51
举报

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

代码语言:javascript
复制
ProblemSet problemset = CIHS.getT1();
       Solution sol1 = new Solution(problemset);

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

代码语言:javascript
复制
//        Variable var1=new Variable();
//        Variable real1=new Real();

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

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

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

代码语言:javascript
复制
sol2.setDecisionVariables(var_sol1);

Code

代码语言:javascript
复制
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]


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DrawSky 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 首先每个solution都必须使用Problemset初始化
    • 不能直接初始化Variable和Real对象,没有size
    • 使用Xreal对象直接改变Solution决策变量
    • 使用Variables对象改变对象的决策变量
    • Code
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档