前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jmetal Problem和Problem Set的变量范围

Jmetal Problem和Problem Set的变量范围

作者头像
演化计算与人工智能
发布2020-08-14 16:15:11
6390
发布2020-08-14 16:15:11
举报

ProblemSet的变量范围

代码语言:javascript
复制
//注意MATP1是一个ProblemSet,其中有50个任务,即有50个Problem
      //其变量上下界的范围使用getUnified函数获得
     double unilw= problemSet.getUnifiedLowerLimit();
     double uniup=problemSet.getUnifiedUpperLimit();
     System.out.println("unilw  "+unilw+"  "+"uniup  "+uniup);
     //unilw  0.0  uniup  1.0

可以看出ProblemSet的变量范围是下限0,上限1

这是因为在ProblemSet的类定义中默认下限0,上限1

代码语言:javascript
复制
public ProblemSet() {
  problemsList_ = new ArrayList<Problem>();
  accObjsList_ = new ArrayList<Integer>();
  maxDim_ = 0;

  // solutionType_ = null;

  solutionType_ = new RealSolutionType(this); // default: real

  unifiedLowerLimit_ = 0;
  unifiedUpperLimit_ = 1;
} // SolutionSet

或者是人为的进行初始化

代码语言:javascript
复制
public ProblemSet(int maximumSize, double low, double up) {
  problemsList_ = new ArrayList<Problem>();
  accObjsList_ = new ArrayList<Integer>();

  capacity_ = maximumSize;
  maxDim_ = 0;

  solutionType_ = new RealSolutionType(this); // default: real

  // solutionType_ = null;
  unifiedLowerLimit_ = low;
  unifiedUpperLimit_ = up;
 }

或者是单独使用set函数进行设置

代码语言:javascript
复制
public void setUnifiedLowerLimit(double low) {
  unifiedLowerLimit_ = low;
}

public void setUnifiedUpperLimit(double up) {
  unifiedUpperLimit_ = up;
}

Problem的变量范围由各个不同维度的范围组成,即一个问题的范围不是一个共同的值,不同维度的范围是不同的

  • 例如对于MATP1问题的第1个问题而言,其中变量的范围第一维是在0-1之间,而其后的49维变量范围为-100~100
代码语言:javascript
复制

 double prolw0 = problemSet.get(0).getLowerLimit(0);
 double proup0 = problemSet.get(0).getUpperLimit(0);
 double prolw1 = problemSet.get(0).getLowerLimit(1);
 double proup1 = problemSet.get(0).getUpperLimit(1);
 System.out.println("prolw0  " + prolw0 + "  " + "proup0  " + proup0+"prolw1  " + prolw1 + "  " + "proup1  " + proup1);
//prolw0  0.0  proup0  1.0prolw1  -100.0  proup1  100.0
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ProblemSet的变量范围
  • 可以看出ProblemSet的变量范围是下限0,上限1
  • 这是因为在ProblemSet的类定义中默认下限0,上限1
    • 或者是人为的进行初始化
      • 或者是单独使用set函数进行设置
      • Problem的变量范围由各个不同维度的范围组成,即一个问题的范围不是一个共同的值,不同维度的范围是不同的
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档