Jmetal设置Solution Variables
Jmetal设置Solution Variables
觉得有用的话,欢迎一起讨论相互学习~
首先每个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]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)