专栏首页人工智能与演化计算成长与进阶Jmetal Problem和Problem Set的变量范围

Jmetal Problem和Problem Set的变量范围

ProblemSet的变量范围

//注意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

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

或者是人为的进行初始化

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函数进行设置

public void setUnifiedLowerLimit(double low) {
  unifiedLowerLimit_ = low;
}

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

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

  • 例如对于MATP1问题的第1个问题而言,其中变量的范围第一维是在0-1之间,而其后的49维变量范围为-100~100
 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

本文分享自微信公众号 - DrawSky(wustcsken),作者:CloudXu

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-07-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Manytasking Jmetal 代码反向解析 1_MATP 测试函数集

    看出 MATP_1 是一个双目标的问题,并且决策变量个数为 50,决策变量最小值为-100,最大值为 100,而 G 函数的类型为sphere,而只要是双目标的...

    DrawSky
  • [DeeplearningAI 笔记]第三章 1.4-1.7 开发集测试集划分与满足与优化指标

    吴恩达老师课程原地址: https://mooc.study.163.com/smartSpec/detail/1001319001.htm

    DrawSky
  • Manytasking MATP MOOMFO 中G函数

    DrawSky
  • Vivado联合ModelSim

    首先,在modelsim安装路径中新建一个名为vivado2017_4lib(根据自己的需要安装的modelsim和vivado版本自己确定)的文件夹

    瓜大三哥
  • Python实现立方体纹理映射

    本文要点在于扩展库pyopengl的使用,接口与标准的OpenGL基本一致。 import sys from OpenGL.GL import * from O...

    Python小屋屋主
  • Python+OpenGL进行立方体多纹理映射

    Python扩展库pyopengl完美地封装了OpenGL,从而使得可以使用Python编写计算机图形学程序。如果使用pip在线安装不成功的话,可以下载whl文...

    Python小屋屋主
  • Kubernetes容器开放接口系列:容器运行时接口(CRI)

    在 Kubernetes1.5 之前 Docker 作为第一个容器运行时,Kubelet 通过内嵌 dockershim 操作容器API,但随着越来越多的容器运...

    机械视角
  • 2年20亿搞自动驾驶+环卫,酷哇和中联环境成立合资子公司

    昨天(10月8日),酷哇机器人和中联环境宣布:共同投资成立合资子公司酷哇中联智能科。

    量子位
  • 两个故事告诉大家,程序员技术和运气同样重要...

    第一个故事有点悲凉,2011年3月,我的同学老 A 和我一同进入茁壮网络,2012 年公司战略变动,整个部门端掉了,我提前离了职另谋出路,老 A 一直赖到了最后...

    Java架构技术
  • PHP7创建COOKIE和销毁COOKIE的实例方法

    砸漏

扫码关注云+社区

领取腾讯云代金券