问题标签 [jgap]
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 - JGAP IntegerGene 在调用 getAllele() 方法时返回 null
我正在为我的 GA 使用 JGAP 库。
我正在创造这样的染色体
但是当我尝试检索染色体的基因值时。我得到空
java - JGAP 不保留最适合的个体
我正在为遗传算法任务尝试 JGAP。我用过他们的例子:
当我打印时:
我看到它是false
。我想念什么吗?
java - 在 java 中包含框架 - IntelliJ
这可能是一个非常简单的问题,但我真的快疯了,因为我没有得到我想要的工作。我尝试在我的项目中简单地包含一个框架,但我不知道如何......我正在使用 IntelliJ IDEA,我正在开发一个小游戏,我想在其中包含JGAP。因此,我下载了 zip 文件并将其解压缩到我的文件夹中,项目的其余部分也在其中,所以我现在有了包含 bin 文件、src 文件(当然还有一些项目文件)的文件夹结构。在 src 文件夹中,我放置了包含 JGAP 解压缩内容的文件夹。现在我怎样才能正确地包含它?我必须告诉IDE吗?还是我必须在代码中写这个?import org.jpag.*
似乎不起作用。
genetic-algorithm - 遗传算法 - 可变长度优化策略
我有一个想使用遗传算法 (GA) 解决的问题。您可以将其简化为以下问题:
我想优化一家公司的汽车资源,即汽车数量和车型。我已经有一个健身功能calcFitness(carList)
,可以评估给定的设置,如“商务车、运输车”或“商务车、商务车、运输车”。现在,问题是,如何使用 GA 解决这个可变长度问题。
我有四个想法可以解决这些问题:
- 也许以某种方式实现允许可变长度染色体的 GA 并在一次运行中解决问题(不确定是否可能?)
- 估计最大可行的汽车数量(例如 20)并为从 1 到 20 的每个车位编号运行一个固定长度的 GA 并比较 20 个结果
- 与 #2 类似,但没有固定上限:您从 1 辆汽车开始并增加插槽数量,直到增加数量的最佳解决方案比前面的解决方案差(基于梯度的方法)
- 两个堆叠的固定长度 GA:一个父 GA 单独负责优化汽车插槽的数量,在其适应度函数中,另一个优化这些插槽分配的 GA 被称为
您如何看待这些通用方法?对于这些可变长度情况,还有其他想法或 GA 替代方案吗?
genetic-algorithm - 具有二进制可行性的遗传算法
在我计划使用 GA 解决的问题中,染色体可能是不可行的。这意味着,某些解决方案根本无效,并且无法为它们计算适应度函数。我的目标是保持可行性状态二元化(可行或不可行),因为对染色体不可行的量化将非常复杂甚至是不可能的。
为了找到最佳可行的解决方案,如何实现这一点并将其实施到遗传算法中?
genetic-algorithm - 遗传算法 - 染色体中变量的顺序
使用交叉点的概念,染色体中变量的顺序似乎很重要:与远离彼此的变量相比,直接相邻的变量将有更高的机会在孩子的染色体中保持在一起。这对我的基因编码意味着什么?我应该如何订购变量?
java - 如何在 JGAP 的初始种群中设置唯一的染色体?
我正在尝试执行以下操作:我有一个 N 大小的染色体,其类型是 IntegerGene。我对在交叉算子之后评估的那个独特的染色体感兴趣,所以我使用:
例如,我想使用单个染色体来创建以下种群,这条染色体将是 | 9 | 5 | 10 | 0 | 因此我初始化它:
当我运行程序时,输出(染色体解)总是相同的(| 9 | 5 | 10 | 0 |),它不执行交叉算子....
谢谢你。
java - Genotype.evolve() 抛出“比较方法违反其一般合同”
我正在编写一个遗传算法来解决分类问题。
我正在按照我在网上看到的其他人所做的完全正确地设置我的配置,但使用我自己的健身功能(必需)。我生成了一个随机基因型来保存我的种群,然后进化这个种群。但是,有时我会收到错误消息“比较方法违反了一般合同!”
我理解这个错误的含义,但由于它是在框架方法 .evolve() 上调用的,所以我不确定我能做什么......
有什么想法/帮助吗?谢谢。
我的设置:
java - Java中使用JGAP库的遗传算法
我正在尝试学习和实现一种遗传算法,该算法将找到用户可以选择的特定选定疾病的免费术语列表。由于我从未使用过遗传算法,如果有人能给我一些关于如何开始实施的指导,我会很高兴。
一些假设是用户将输入疾病的类型(为简单起见,让它为整数 - 例如 0 是甲状腺功能亢进)和他想要检索免费术语的时间段(日期和日期)。输入这些输入后,我的适应度函数将被调用,它将检索预订列表,然后通过某种逻辑(我目前不知道),遗传算法将找到该时间段内的最佳检查日期对于那个病。我是否朝着正确的方向前进?
预留模型将包括:id、状态(可用/预留/完成)、reservationDate、reservationTimeFrom、reservationTimeTo、diseaseId 等。
疾病模型将包括:id、name 等。
我应该实现自己的扩展适应度函数和覆盖评估方法的类吗?在这个特定示例中如何计算染色体大小?
提前谢谢了