Jmetal Problem和Problem Set的变量范围
时间:2022-07-23
本文章向大家介绍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
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 重新夺回对 /etc/resolv.conf 的控制权
- plsql
- 打卡群2刷题总结1008——环形链表
- Oracle数据库的对象
- 打卡群刷题总结1008——加油站
- 打卡群刷题总结1005——跳跃游戏
- 真是活久见,在 Minecraft 的虚拟游戏里竟然还能管理 Kubernetes!
- 打卡群2刷题总结1007——反转链表
- 打卡群2刷题总结1001——两数之和 II - 输入有序数组
- 复杂一点的SQL语句
- PL/SQL Developer连接本地Oracle 11g 64位数据库
- 打卡群刷题总结1007——买卖股票的最佳时机 II
- 事务Transaction
- 打卡群2刷题总结1006—— 删除链表的倒数第N个节点
- 打卡群刷题总结1006——跳跃游戏 II