问题标签 [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.

0 投票
1 回答
364 浏览

java - 如何使用 jenetics 在我的 GA 中绘制不同世代的适应度

一般来说,您将如何打印或绘制使用 jenetics 库创建的每一代的健康分数?

更具体的我自己的代码:

我注意到可能存在过早收敛,因为尽管将稳态适应度限制设置为 200,但我只获得了有限的几代人。所以我想弄清楚适应度得分的变化接近 0 的一代,以及打印每一代中最佳元素的适应度分数。

0 投票
1 回答
466 浏览

java - Jenetics 库默认初始种群和适应度计算

我正在使用Jenetics以获取最大程度地解决问题的最佳个人。人口规模如何影响个人?

想象一下,我有从文件中读取的初始人口放入列表中

如果文件包含即 10 条染色体,然后我将人口设置为 100,那么剩余的 90 个人是随机创建的吗?

我也想知道这个适应度函数是否正确

0 投票
2 回答
272 浏览

java - Jenetics:正确使用编解码器与列基因型

目前我正在研究 Jenetics(指向 jenetics 的链接)实施以优化粒子加速器束线。我的健身功能调用加速器检测设备,定义如下:

Jenetics 的流引擎以特定方法初始化:

在哪里:

我想做的是调用适应度函数,这样我就可以在适应度函数中使用基因型来访问基因的值(我发送到加速器的设置)。我已经尝试将 Fitness() 定义如下:

但是这个调用会导致编译错误。

0 投票
1 回答
634 浏览

java - Jenetics:我如何在每一步访问进化结果(或统计数据)?

我正在开发基于 Jenetics 框架的优化引擎(指向 jenetics.io 的链接)。我有一个进化引擎定义如下:

目前,我在一个进化周期(通过人口的一次迭代)结束时向我的 UI 推送一条消息

我想做的是在执行每个适应度步骤后推送进化的当前状态(最好是一些包含当前适应度平均值、最小值、最大值等的统计数据) ,以便用户可以看到优化过程的当前状态.

任何想法?


基于 Franz Wilhelmstötter 的建议的最终实施:

请注意,我使用“_variable”是类属性的约定。

0 投票
1 回答
179 浏览

java - 如何使用 Java 中的 jenetics.io 库增加遗传算法的种群规模?

populationSize() 是我得到错误的地方。我需要将默认值 50 更改为 150。

0 投票
2 回答
102 浏览

java - 如何在遗传算法中强制依赖/链接基因?

对于当前的项目,我想使用遗传算法——目前我查看了jenetics库。

我怎样才能强迫某些基因相互依赖?我想在基因上映射 CSS,我有基因指示是否显示图像,如果它也是相应的高度和宽度。所以我想把这些基因作为一个整体,因为在交叉之后,染色体会指示“无图像”之类的东西是没有意义的 - 高度 100 像素 - 宽度 0 像素。

有没有办法做到这一点?或者也许另一个支持这个的库(在java中)?

非常感谢!

0 投票
0 回答
256 浏览

java - 如何在 Eclipse 中导入 Jenetics 库

第一次在这里发帖,希望不要太笨,但是我试了几个小时还是找不到解决办法。

我想玩进化算法,因此尝试导入Jenetics库。我下载了 zip 并尝试将其导入现有的 java 项目。

我正在使用 eclipse 并尝试以这种方式添加 zip(以及后来在 zip 中的两个 jar 文件):属性 - > Java 构建路径 - > 库 - > 添加外部 JAR。

之后,我尝试在我的代码 ( import io.jenetics.BitGene;) 中导入一些无法解决的内容。

上次我必须导入一个库时,我添加了一个 jar 文件,也许这就是问题所在,但我似乎在 zip 中找不到正确的 jar 文件

谢谢您的帮助

0 投票
1 回答
249 浏览

java - Jenetics中非原始类型的多目标问题

我想在 Jenetics 中用两个背包实现一个多目标背包问题,但我遇到了一些打字问题。我查看了Jenetics 手册DTLZ1中的问题——据我所知,这是唯一可用的 MOO 示例——并将其映射到类:Problem

我之前使用以下类型签名(转换为 Java)在 Scala 中实现了单目标背包问题:

在哪里:

  • <ISeq<BitGene>:作为(不可变的)位序列的背包。
  • BitGene:进化引擎的基因类型。
  • Integer:背包的适应度,即它的利润。

使用两个背包,我想到了类似的东西(基于DTLZ1示例):

在哪里:

  • ISeq<BitGene>[]:多个背包作为(不可变的)位序列,包装在一个数组中。
  • BitGene:进化引擎的基因类型(同上)。
  • int[]:背包的适应度,即它们的利润。

除了ISeq<BitGene>[],这需要一些时间来适应(我也可以使用List或类似的东西吗?),我不知道如何创建一个合适的编解码器:

0 投票
3 回答
243 浏览

java - 在 Jenetics 中定义约束

我以前使用过MOEA 框架,它知道约束的概念。也就是说,问题的解决方案可能具有良好的适应度,但不可行。例如,在处理背包问题时,物品的特定组合可能会带来高利润,但它们的重量超过了背包的容量。相应的适应度函数将包括以下行:

在多目标背包问题的情况下的另一个示例是不允许一个背包使用已经在另一个背包中使用的物品的约束。

Jenetics有类似的东西吗?或者我如何将约束编码为适应度函数的一部分(或其他地方)?

0 投票
1 回答
152 浏览

genetic-algorithm - 使用 Jenetics 库

假设我想用这个Jenetics库来解决一个问题,我打算说 20 代。但是,我想申请Elitism前 10 代并为剩余的代禁用它。我该怎么做?