问题标签 [jenetics]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何使用 jenetics 在我的 GA 中绘制不同世代的适应度
一般来说,您将如何打印或绘制使用 jenetics 库创建的每一代的健康分数?
更具体的我自己的代码:
我注意到可能存在过早收敛,因为尽管将稳态适应度限制设置为 200,但我只获得了有限的几代人。所以我想弄清楚适应度得分的变化接近 0 的一代,以及打印每一代中最佳元素的适应度分数。
java - Jenetics 库默认初始种群和适应度计算
我正在使用Jenetics
以获取最大程度地解决问题的最佳个人。人口规模如何影响个人?
想象一下,我有从文件中读取的初始人口放入列表中
如果文件包含即 10 条染色体,然后我将人口设置为 100,那么剩余的 90 个人是随机创建的吗?
我也想知道这个适应度函数是否正确
java - Jenetics:正确使用编解码器与列基因型
目前我正在研究 Jenetics(指向 jenetics 的链接)实施以优化粒子加速器束线。我的健身功能调用加速器检测设备,定义如下:
Jenetics 的流引擎以特定方法初始化:
在哪里:
我想做的是调用适应度函数,这样我就可以在适应度函数中使用基因型来访问基因的值(我发送到加速器的设置)。我已经尝试将 Fitness() 定义如下:
但是这个调用会导致编译错误。
java - Jenetics:我如何在每一步访问进化结果(或统计数据)?
我正在开发基于 Jenetics 框架的优化引擎(指向 jenetics.io 的链接)。我有一个进化引擎定义如下:
目前,我在一个进化周期(通过人口的一次迭代)结束时向我的 UI 推送一条消息
我想做的是在执行每个适应度步骤后推送进化的当前状态(最好是一些包含当前适应度平均值、最小值、最大值等的统计数据) ,以便用户可以看到优化过程的当前状态.
任何想法?
基于 Franz Wilhelmstötter 的建议的最终实施:
请注意,我使用“_variable”是类属性的约定。
java - 如何使用 Java 中的 jenetics.io 库增加遗传算法的种群规模?
populationSize() 是我得到错误的地方。我需要将默认值 50 更改为 150。
java - 如何在遗传算法中强制依赖/链接基因?
对于当前的项目,我想使用遗传算法——目前我查看了jenetics库。
我怎样才能强迫某些基因相互依赖?我想在基因上映射 CSS,我有基因指示是否显示图像,如果它也是相应的高度和宽度。所以我想把这些基因作为一个整体,因为在交叉之后,染色体会指示“无图像”之类的东西是没有意义的 - 高度 100 像素 - 宽度 0 像素。
有没有办法做到这一点?或者也许另一个支持这个的库(在java中)?
非常感谢!
java - 如何在 Eclipse 中导入 Jenetics 库
第一次在这里发帖,希望不要太笨,但是我试了几个小时还是找不到解决办法。
我想玩进化算法,因此尝试导入Jenetics库。我下载了 zip 并尝试将其导入现有的 java 项目。
我正在使用 eclipse 并尝试以这种方式添加 zip(以及后来在 zip 中的两个 jar 文件):属性 - > Java 构建路径 - > 库 - > 添加外部 JAR。
之后,我尝试在我的代码 ( import io.jenetics.BitGene;
) 中导入一些无法解决的内容。
上次我必须导入一个库时,我添加了一个 jar 文件,也许这就是问题所在,但我似乎在 zip 中找不到正确的 jar 文件
谢谢您的帮助
java - Jenetics中非原始类型的多目标问题
我想在 Jenetics 中用两个背包实现一个多目标背包问题,但我遇到了一些打字问题。我查看了Jenetics 手册DTLZ1
中的问题——据我所知,这是唯一可用的 MOO 示例——并将其映射到类:Problem
我之前使用以下类型签名(转换为 Java)在 Scala 中实现了单目标背包问题:
在哪里:
<ISeq<BitGene>
:作为(不可变的)位序列的背包。BitGene
:进化引擎的基因类型。Integer
:背包的适应度,即它的利润。
使用两个背包,我想到了类似的东西(基于DTLZ1
示例):
在哪里:
ISeq<BitGene>[]
:多个背包作为(不可变的)位序列,包装在一个数组中。BitGene
:进化引擎的基因类型(同上)。int[]
:背包的适应度,即它们的利润。
除了ISeq<BitGene>[]
,这需要一些时间来适应(我也可以使用List
或类似的东西吗?),我不知道如何创建一个合适的编解码器:
genetic-algorithm - 使用 Jenetics 库
假设我想用这个Jenetics
库来解决一个问题,我打算说 20 代。但是,我想申请Elitism
前 10 代并为剩余的代禁用它。我该怎么做?