基因学
Jenetics是一个遗传算法、进化算法、语法进化、遗传编程和多目标优化库,用现代 Java 编写。它的设计清楚地分离了算法的几个概念,例如Gene
、 Chromosome
、 Genotype
、 Phenotype
型、 Population
和适应度Function
。 Jenetics允许您最小化和最大化给定的适应度函数,而无需对其进行调整。与其他 GA 实现相比,该库使用演化流 ( EvolutionStream
) 的概念来执行演化步骤。由于EvolutionStream
实现了 Java Stream 接口,因此它可以与 Java Stream API 的其余部分顺利工作。
其他语言
- Jenetics.Net :基础库的 C# 实验性 .NET Core 端口。
- Helisa :Jenetics 库的 Scala 包装。
文档
该库有完整的文档 (javadoc) 并附带用户手册 (pdf)。
构建基因学
Jenetics至少需要Java 21才能编译和运行。
从 GitHub 查看 master 分支。
$ git clone https://github.com/jenetics/jenetics.git <builddir>
Jenetics 使用 Gradle 作为构建系统,并将源代码组织到子项目(模块)中。每个子项目都位于其自己的子目录中:
已发表的项目
以下项目/模块也发布到 Maven。
- jenetics :该项目包含 Jenetics 核心模块的源代码和测试。
- jenetics.ext :该模块包含额外的非标准GA 操作和数据类型。它还包含用于解决多目标问题(MOEA)和进行语法进化(GE)的类。
- jenetics.prog :这些模块包含允许进行遗传编程(GP)的类。它与现有的
EvolutionStream
和进化Engine
无缝协作。 - jenetics.xml : Jenetics基本数据结构的 XML 编组模块。
未发表的项目
- jenetics.example :该项目包含core模块的示例代码。
- jenetics.doc :包含网站代码和手册。
- jenetics.tool :该模块包含用于进行集成测试和算法性能测试的类。它还用于创建 GA 性能度量并根据性能度量创建图表。
要构建库,请更改为<builddir>
目录(或模块目录之一)并调用可用任务之一:
- compileJava :编译 Jenetics 源并将类文件复制到
<builddir>/<module-dir>/build/classes/main
目录。 - jar :编译源代码并创建 JAR 文件。这些工件将复制到
<builddir>/<module-dir>/build/libs
目录。 - javadoc :生成 API 文档。 Javadoc 存储在
<builddir>/<module-dir>/build/docs
目录中 - test :编译并执行单元测试。测试结果打印到控制台,并且由 TestNG 创建的测试报告写入
<builddir>/<module-dir>
目录。 - clean :删除
<builddir>/build/*
目录并删除所有生成的工件。
用于从源调用构建库 jar
$ cd <build-dir>
$ ./gradlew jar
例子
你好世界(正在计数)
最小进化引擎设置需要一个基因型工厂Factory<Genotype<?>>
和一个适应度Function
。 Genotype
实现了Factory
接口,因此可以用作创建初始Population
和创建新的随机Genotypes
的原型。
import io . jenetics . BitChromosome ;
import io . jenetics . BitGene ;
import io . jenetics . Genotype ;
import io . jenetics . engine . Engine ;
import io . jenetics . engine . EvolutionResult ;
import io . jenetics . util . Factory ;
public class HelloWorld {
// 2.) Definition of the fitness function.
private static Integer eval ( Genotype < BitGene > gt ) {
return gt . chromosome ()
. as ( BitChromosome . class )
. bitCount ();
}
public static void main ( String [] args ) {
// 1.) Define the genotype (factory) suitable
// for the problem.
Factory < Genotype < BitGene >> gtf =
Genotype . of ( BitChromosome . of ( 10 , 0.5 ));
// 3.) Create the execution environment.
Engine < BitGene , Integer > engine = Engine
. builder ( HelloWorld :: eval , gtf )
. build ();
// 4.) Start the execution (evolution) and
// collect the result.
Genotype < BitGene > result = engine . stream ()
. limit ( 100 )
. collect ( EvolutionResult . toBestGenotype ());
System . out . println ( "Hello World: n " + result );
}
}
与其他 GA 实现相比,该库使用演化流 ( EvolutionStream
) 的概念来执行演化步骤。由于EvolutionStream
实现了 Java Stream 接口,因此它可以与 Java 流 API 的其余部分顺利工作。现在让我们仔细看看上面的清单并逐步讨论这个简单的程序:
在设置新的进化Engine
时,最具挑战性的部分可能是将问题域转换为适当的Genotype
(工厂)表示。在我们的示例中,我们要计算BitChromosome
的个数。由于我们只计算一条染色体的数量,因此我们只将一条BitChromosome
添加到Genotype
中。一般来说, Genotype
可以用 1 到 n 条染色体创建。
完成此操作后,就可以定义应最大化的适应度函数。利用 Java 8 中引入的新语言功能,我们只需编写一个私有静态方法,该方法采用我们定义的基因型并计算其适应度值。如果我们想使用优化的位计数方法bitCount()
,我们必须将Chromosome<BitGene>
类转换为实际使用的BitChromosome
类。由于我们确信我们使用BitChromosome
创建了 Genotype,因此可以安全地完成此操作。然后将对 eval 方法的引用用作适应度函数并传递给Engine.build
方法。
在第三步中,我们创建进化Engine
,它负责改变或进化给定的群体。该Engine
具有高度可配置性,并采用参数来控制进化和计算环境。为了改变进化行为,你可以设置不同的改变者和选择者。通过改变使用的Executor
服务,你可以控制线程的数量;发动机被允许使用。新的Engine
实例只能通过其构建器创建,该构建器是通过调用Engine.builder
方法创建的。
在最后一步中,我们可以从Engine
创建一个新的EvolutionStream
。 EvolutionStream
是进化过程的模型或视图。它充当“进程句柄”,除其他外,还允许您控制演化的终止。在我们的示例中,我们只是在 100 代后截断流。如果不限制流, EvolutionStream
将不会终止并永远运行。由于EvolutionStream
扩展了java.util.stream.Stream
接口,因此它与 Java Stream API 的其余部分顺利集成。然后使用EvolutionResult
类的预定义收集器之一收集最终结果,即我们示例中的最佳Genotype
。
不断变化的图像
此示例尝试通过半透明多边形来近似给定图像。它配备了 Swing UI,您可以立即开始自己的实验。编译源代码后
$ ./gradlew compileTestJava
您可以通过调用来启动该示例
$ ./jrun io.jenetics.example.image.EvolvingImages
上图显示了默认图像经过大约 4,000 代演化后的 GUI。使用“打开”按钮,可以加载其他图像进行多边形化。 “保存”按钮允许将 PNG 格式的多边形图像存储到磁盘。在UI的按钮上,您可以更改示例的一些GA参数。
使用 Jenetics 的项目
- SPEAR :SPEAR(资源分配智能能源预测)创建了一个可扩展的平台,用于生产系统的能源和效率优化。
- Renaissance Suite :Renaissance是一个现代、开放、多样化的JVM基准测试套件,旨在测试JIT编译器、垃圾收集器、分析器、分析器和其他工具。
- APP4MC :Eclipse APP4MC 是一个用于工程嵌入式多核和众核软件系统的平台。
博客和文章
- Schachprobleme komponieren mit进化算法,作者: Jakob Leck ,2023 年 12 月,Die Schwalbe 324-2,第 373-380 页。用比平时更多的和棋来作文和解决国际象棋问题。不是使用蛮力方法,而是使用遗传算法来解决问题(德语)。
- 使用 Jenetics 库解决背包问题,作者: Craftcode Crew ,2021 年 5 月 13 日
- 一种基于Jenetics的遗传算法程序设计,电脑知识与技术2018年22期王康,2018年11月26日
- Jenetics 库简介,作者: baeldung ,2017 年 4 月 11 日
- 如何使用遗传算法解决棘手问题,作者: Tzofia Shiftan ,2017 年 4 月 6 日
- 使用 Java 进行遗传算法,作者: William Antônio ,2017 年 1 月 10 日
- Jenetics 설치 및 예제,作者JDM ,2015 年 5 月 8 日
- 유전 알고리즘(遗传算法),作者JDM ,2015 年 4 月 2 日
引文
文森特·A·西西里洛。使用 Chips-n-Salsa 进行开源进化计算。斯托克顿大学商学院计算机科学。 2024 年 12 月。 ...
- 文森特·A·西西里洛。使用 Chips-n-Salsa 进行开源进化计算。斯托克顿大学商学院计算机科学。 2024 年 12 月。
- S. Gruber、P. Feichtenschlager、C. Fabianek、E. Gringer 和 CG Schuetz。空中交通流量管理中目标时间管理系统的启发式优化器。 2024 年 AIAA DATC/IEEE 第 43 届数字航空电子系统会议 (DASC),美国加利福尼亚州圣地亚哥,2024 年,第 1-10 页。 2024 年 11 月。
- Šimić, G.、Jevremović, A.、Strugarević, D. 使用遗传算法改进教学过程。见:Perakovic, D.、Knapcikova, L.(编)《无处不在的智能基础设施的未来接入推动者》。 FABULOUS 2024。计算机科学、社会信息学和电信工程研究所讲义,第 596 卷。2024 年 10 月。
- 迪米特里斯·G·明蒂萨·尼古拉斯·切马里奥萨·安德烈亚斯·楚马尼萨·阿纳斯塔西奥斯·G·帕帕迪亚曼蒂萨·尼科·W·范·登·布林克·亨克·J·范·林吉尼·乔治亚·梅拉拉基夫·伊索特·林奇布·安特里亚斯·阿凡蒂斯。 NanoBioAccumulate:通过 Enalos DIAGONAL 云平台模拟纳米材料在土壤和水生无脊椎动物中的吸收和生物累积。计算和结构生物技术杂志。爱思唯尔,2001-0370。 2024 年 10 月。
- R. Jordão、F. Bahrami、Y. Yang、M. Becker、I. Sander 和 K. Rosvall。多核平台上静态 DSP 的多目标无偏好精确设计空间探索。 2024 年规范与设计语言 (FDL) 论坛,瑞典斯德哥尔摩,2024 年,第 1-9 页。 2024 年 9 月。
- 贾里德·墨菲和特拉维斯·德塞尔。最小化 EXA-GP 基于图的遗传规划算法以进行可解释的时间序列预测。在遗传和进化计算会议同伴(GECCO '24 同伴)的会议记录中。计算机协会,美国纽约州纽约市,1686-1690 年。 2024 年 8 月。
- 贾里德·墨菲、德夫鲁普·卡、约书亚·卡恩斯和特拉维斯·德塞尔。 EXA-GP:统一基于图的遗传编程和神经进化以进行可解释的时间序列预测。在遗传和进化计算会议同伴(GECCO '24 同伴)的会议记录中。计算机协会,美国纽约州纽约市,523–526。 2024 年 8 月。
- 塞巴斯蒂安·格鲁伯、保罗·费希滕施拉格和克里斯托夫·G·舒茨。使用遗传算法在时间关键的设置中进行多目标分配问题的隐私保护优化:空中交通流量管理中的应用。遗传与进化计算会议记录(GECCO '24)。计算机协会,美国纽约州纽约市,1246–1254。 2024 年 7 月。
- 王江浩、克莱·史蒂文斯、布鲁克·基德摩斯、迈拉·B·科恩和哈米德·巴盖里。具有自适应适应度函数的合金规格的进化分析。基于搜索的软件工程。 SSBSE 2024。计算机科学讲义,第 14767 卷。施普林格。 2024 年 7 月。
- 伯恩哈德·J·伯杰;克里斯蒂娜丰满;劳伦·保罗;罗尔夫·德雷克斯勒。 EvoAl — 无代码域优化。遗传与进化计算会议(GECCO-2024)。 2024 年 7 月。
- 克里斯蒂娜·普朗普、丹尼尔·C·霍因基斯、约恩·胡贝尔、伯恩哈德·J·伯格、马蒂亚斯·冈瑟、克里斯托夫·卢斯、罗尔夫·德雷克斯勒。为您的患者寻找完美的 MRI 序列 --- 实现 MRI 序列的优化工作流程。 IEEE WCCI 2024。2024年 6 月。
- 米兰·库古罗维奇、米莱娜·武约塞维奇·贾尼西奇、沃金·约万诺维奇、托马斯·维尔辛格。 GraalSP:多语言、高效且强大的基于机器学习的静态分析器。系统与软件杂志,第 213 卷,2024 年,112058,ISSN 0164-1212。七月。 2024 年。
- 冯文文、雷晓辉、蒋云中、王超、廖伟红、王浩、龚星辉、于峰。城市河流系统实时控制的耦合模型预测控制和基于规则的控制。水文学杂志,2024 年,131228,ISSN 0022-1694。 2024 年 4 月。
- S. Sint、A. Mazak-Huemer、M. Eisenberg、D. Waghubinger 和 M. Wimmer。自动优化模型驱动运行时状态识别的容差范围。 IEEE 自动化科学与工程汇刊。四月。 2024 年。
- Cicirello,Vincent A。进化计算:理论、技术和应用。应用科学 14,没有。 6:2542。2024年 3 月。
- Koitz-Hristov R、Sterner T、Stracke L、Wotawa F。关于测试套件缩减中检查覆盖率和遗传参数调整的适用性。 J Softwarew Evol Proc。 2024;e2656。 2024 年 2 月。
- 若尔当,鲁道夫;贝克尔,马蒂亚斯;桑德、英戈. IDeSyDe:通过设计空间识别进行系统设计空间探索。 ACM 电子系统设计自动化汇刊。 2024 年 2 月。
- Squillero, G.、Tonda, A. Veni、Vidi、Evolvi 对 WB Langdon 的“Jaws 30”的评论。 Genet 计划可进化马赫 24, 24 (2023) 2023 年 11 月。
- Eneko Osaba、Gorka Benguria、Jesus L. Lobo、Josu Diaz-de-Arcaya、Juncal Alonso、Iñaki Etxaniz。优化 IaC 配置:使用自然启发计算的案例研究。 CIIS 2023。2023年 11 月。
- Sapra, D.、Pimentel, AD 探索具有终生可靠性和功耗权衡的多核系统。嵌入式计算机系统:架构、建模和仿真。 SAMOS 2023。计算机科学讲义,第 14385 卷。Springer,Cham。 2023 年 11 月。
- 赛义德·朱德·阿里、扬·迈克尔·拉兰霍、多米尼克·博克。基于通用且可定制的遗传算法的概念模型模块化框架。第 27 届国际 EDOC 会议 (EDOC 2023) - 企业设计、运营和计算。 2023 年 9 月。
- A. Elyasaf、E. Farchi、O. Margalit、G. Weiss 和 Y. Weiss。组合序列测试的通用覆盖标准。 IEEE 软件工程汇刊,卷。 49,没有。 08,第 4023-4034 页。 2023 年 8 月。
- 朱利安·安布拉德、罗伯特·菲尔曼、加布里埃尔·科皮托。 GPSstar4:用于实验遗传编程的灵活框架。 OGECCO '23 同伴:遗传和进化计算同伴会议记录。 2023 年 7 月。
- Garmendia, A.、Bork, D.、Eisenberg, M.、Ferreira, T.、Kessentini, M.、Wimmer, M. 利用人工智能进行基于模型的软件分析和设计。利用人工智能优化软件开发流程。自然计算系列。施普林格,新加坡。 2023 年 7 月。
- Sikora, M.、Smołka, M. 进化算法和机器学习在四部分协调中的应用。计算科学 – ICCS 2023。ICCS 2023。计算机科学讲义,第 14073 卷。施普林格, 2023 年 6 月。
- 多莉·萨普拉和安迪·皮门特尔。探索具有终生可靠性和功耗权衡的多核系统。萨莫斯'23。 2023 年 5 月。
- 维宾·舒克拉 (Vipin Shukla)、麦纳克·班迪奥帕迪亚 (Mainak Bandyopadhyay)。通过受自然启发的进化算法优化 ANN 驱动等离子体源的输入参数。智能系统与应用,第 18 卷,2023 年,200200,ISSN 2667-3053。 2023 年 5 月。
- P. Feichtenschlager、K. Schuetz、S. Jaburek、C. Schuetz、E. Gringinger。空中交通流量管理时隙交换拍卖机制的隐私保护实施。第 23 届综合通信、导航和监视会议 (ICNS 2023) 会议记录,美国华盛顿特区,2023 年 4 月 18-20 日,IEEE Press,12 页。 2023 年 4 月。
- 克里斯托夫·拉伯、陶岳、肖卡特·阿里。基于多目标搜索的软件微基准优先级排序。 ArXiv/计算机科学/软件工程。 2022 年 11 月。
- 里卡多·费雷拉·维莱拉、若昂·乔马·内托、维克多·雨果·圣地亚哥·科斯塔·平托、保罗·塞尔吉奥·洛佩斯·德·索萨、西蒙娜·多·罗西奥·森格·德·索萨。仿生优化支持并发软件的测试数据生成。并发与计算:实践与经验。 2022 年 11 月。
- G. Mateeva、D. Parvanov、I. Dimitrov、I. Iliev 和 T. Balabanov。第三方遗传算法软件库在金融时间序列预测移动分布式计算中的效率。 2022 年国际自动化与信息学会议 (ICAI)。 2022 年 10 月。
- 吉列尔梅·埃斯帕达、莱昂·英格尔斯、保罗·卡内拉斯、佩德罗·巴博萨、阿尔西德斯·丰塞卡。数据类型作为语法引导遗传编程的更符合人体工程学的前端。 arXiv. 2022 年 10 月。
- Christoph G. Schuetz、Thomas Lorünser、Samuel Jaburek、Kevin Schuetz、Florian Wohner、Roman Karl 和 Eduard Gringinger。使用遗传算法和多方计算进行隐私保护优化的分布式架构。 CoopIS 2022:合作信息系统,第 168-185 页。 2022 年 9 月。
- 克里斯蒂娜·普朗普、伯恩哈德·J·伯格、罗尔夫·德雷克斯勒。使用训练数据的密度来改进具有近似适应度函数的进化算法。 WCCI2022 IEEE 计算智能世界大会。 2022 年 7 月。
- 克里斯蒂娜·普朗普、伯恩哈德·J·伯格、罗尔夫·德雷克斯勒。使变异和重组算子适应现实应用数据中的范围感知关系。 GECCO '22:遗传和进化计算会议配套论文集。第 755–758 页。 2022 年 7 月。
- 埃里克·梅德韦特、乔治亚·纳迪扎、卢卡·曼佐尼。 JGEA:用于实验进化计算的模块化 Java 框架。 GECCO '22:遗传和进化计算会议配套论文集。 2009-2018 年页面。 2022 年 7 月。
- 摩西·西佩尔、托默·哈尔佩林、伊泰·茨鲁亚、阿奇亚·埃利亚萨夫。 EC-KitY:Python 中的进化计算工具套件,具有无缝机器学习集成。 arXiv:2207.10367v1 [cs.NE]。 2022 年 7 月。
- A. Billedeaux 和 B. DeVries。使用变形关系和遗传算法来测试开源软件。 2022 年 IEEE 国际电子信息技术会议 (eIT),2022 年,第 342-345 页。 2022 年 7 月。
- R. Koitz-Hristov、L. Stracke 和 F. Wotawa。检查测试套件减少的覆盖范围 - 值得付出努力吗? 2022 年 IEEE/ACM 软件测试自动化国际会议 (AST),第 6-16 页。 2022 年 6 月。
- 阿卜杜萨迈德·韦塞、穆罕默德·塞勒姆、安东尼奥·M·莫拉。实时策略游戏中 MCTS 不断变化的动作预选参数。娱乐计算,第 42 卷。2022 年 4 月。
- Musatafa Abbas Abbood Albadr、Sabrina Tiun、Masri Ayob、Fahad Taha AL-Dhief、Khairuddin Omar 和 Mhd Khaled Maen。使用优化遗传算法的语音情感识别——极限学习机。多媒体工具和应用程序, 2022 年 3 月。
- 克里斯蒂娜·普朗普、伯恩哈德·伯杰、罗尔夫·德雷克斯勒。为正确的限制选择正确的技术 - 在进化算法中强制执行搜索空间限制的特定领域方法。 LDIC-2022,物流动态国际会议, 2022 年 2 月。
- Quoc Nhat Han Tran、Nhan Quy Nguyen、Hicham Chehade、Lionel Amodeo、Farouk Yalaoui。门诊预约优化:化疗服务案例研究。应用科学/计算和人工智能。 2022 年 1 月。
- Achiya Elyasaf、Eitan Farchi、Oded Margalit、Gera Weiss、Yeshayahu Weiss。使用行为编程和广义覆盖标准进行组合序列测试。系统与软件杂志。 2022 年 1 月。
- 频率集团。 D4.1 有关最新相关概念的报告。 SLOTMACHINE - 结果和公开交付成果,Frequentis, 2021 年 12 月。
- 黄万杰、王浩天、薛一博。基于遗传算法的仓内拣货模型优化研究。 2021 年信息技术、教育与发展国际会议 (ICITED 2021)。 2021 年 12 月。
- Aalam Z.、Kaur S.、Vats P.、Kaur A.、Saxena R。使用面向对象软件的 Avisar 测试工具对测试工作进行综合分析。智能可持续系统。网络与系统讲义,第 334 卷。施普林格,新加坡。 2021 年 12 月。
- Anh Vu Vo、黛布拉·F·拉弗、乔纳森·伯恩。使用遗传算法和双并行计算框架优化城市 LiDAR 飞行路径规划。遥感,第 13 卷,第 21 期。2021 年 11 月。
- Pozas N.、Durán F. 关于面向服务的应用程序组合的可扩展性。 ICSOC 2021:面向服务的计算,第 449-463 页, 2021 年 11 月。
- Küster, T.、Rayling, P.、Wiersig, R. 等人。使用遗传算法对节能生产计划进行多目标优化。优化与工程(2021)。 2021 年 10 月。
- B.德弗里斯和 C.特雷夫茨。自动测试生成的新颖性搜索和变形测试方法。 2021 年 IEEE/ACM 第 14 届基于搜索的软件测试 (SBST) 国际研讨会,2021 年,第 8-11 页。 2021 年 5 月。
- W. 盖特纳、Z. 安德尔科维奇、O. 盖特纳、F. 赫弗斯、V. 拉普、A. 内梅斯、F. Wilhelmstötter、AH Van Benschoten。使用双目标遗传和矩阵轮廓算法进行离子源优化。 IPAC2021 - 第十二届国际粒子加速器会议。 2021 年 5 月。
- C. Plump、BJ Berger 和 R. Drechsler。适用于复杂现实应用的领域驱动的相关感知重组和变异算子。 2021 年 IEEE 进化计算大会 (CEC),第 540-548 页。 2021 年 7 月。
- Sapra, D.、Pimentel, AD 设计具有约束进化分段训练的卷积神经网络。应用英特尔 (2021)。 2021 年 7 月。
- 米凯拉·洛兰迪、莱昂纳多·卢西奥·库斯托德、乔瓦尼·艾卡。延迟容忍网络中路由的遗传改进。 GECCO '21:遗传和进化计算会议配套论文集。 2021 年 7 月,第 35-36 页。
- 克里斯蒂娜·普拉姆 (Plump)、伯恩哈德·J·伯杰 (Bernhard J.) 和罗尔夫·德雷克斯勒 (Drechsler)。通过预测区间增强近似适应度函数来改进进化算法。 IEEE 进化计算大会 (IEEE CEC-2021)。 2021 年 6 月。
- Faltaous、莎拉、Abdulmaksoud、Aya、Kempe、Markus、Alt、Florian 和 Schneegass、Stefan。 GeniePutt:通过肌肉电刺激增强人类运动技能。它 - 信息技术,卷。 , 不。 ,2021 年。2021 年 5 月。
- 唐一鸣、拉菲·哈查杜里安、迈赫迪·巴格扎德、瑞亚·辛格、阿贾尼·斯图尔特和安妮塔·拉贾。机器学习系统中重构和技术债务的实证研究。在国际软件工程会议 ICSE '21 中。 2021 年 5 月。
- Arifin HH、Robert Ong HK、Dai J.、Daphne W.、Chiimplee N。基于模型的产品线工程,采用遗传算法进行自动组件选择。见:Krob D.、Li L.、Yao J.、Zhang H.、Zhang X.(编)复杂系统设计与管理。施普林格、查姆. 2021 年 4 月。
- 米歇拉·洛兰迪、莱昂纳多·卢西奥·库斯托德和乔瓦尼·艾卡。延迟容忍网络路由协议的遗传改进。 arXiv:2103.07428v1 2021 年 3 月。
- 阿明·阿齐兹-阿拉维、卡罗拉·杜尔、约翰·德雷奥。通过集成模块化基准测试框架实现大规模自动化算法设计。 E arXiv:2102.06435 2021 年 2 月。
- 多米尼克·博克、安东尼奥·加门迪亚和曼努埃尔·威默。面向实体关系模型的多目标模块化方法。 ER 2020,第 39 届国际概念建模会议。 2020 年 11 月。
- 萨法拉齐,S.;戴森罗斯-乌里格,M.; Bertsch, V. 社区能源系统中的家庭聚集:从参与者和市场角度进行的分析。能源 2020, 13, 5154. 2020 年 10 月。
- M. Šipek、D. Muharemagić、B. Mihaljević 和 A. Radovan。使用 GraalVM 和 Quarkus 增强基于云的软件应用程序的性能。 2020 年第 43 届国际信息、通信和电子技术大会 (MIPRO),克罗地亚奥帕蒂亚,2020 年,第 1746-1751 页。 2020 年 10 月。
- Vats P.、Mandot M. AVISAR 面向对象测试工具验证的综合分析。 Joshi A.、Khosravy M.、Gupta N.(编)用于预测分析的机器学习。网络与系统讲义,第 141 卷。施普林格,新加坡。 2020 年 10 月。
- Thakur, K.、Kumar, G. 入侵检测系统中受自然启发的技术和应用:最新进展和最新观点。工程计算方法档案(2020)。 2020 年 8 月。
- Nur Hidayah Mat Yasin、Abdul Sahli Fakhrudin、Abdul Wafie Afnan Abdul Hadi、Muhammad Harith Mohd Khairuddin、Noor Raihana Abu Sepian、Farhan Mohd Said、Norazwina Zainol。响应面法和人工神经网络从鱼类废物中溶剂萃取脂肪酸甲酯的比较。国际现代农业杂志,第 9 卷,第 3 期,2020 年,ISSN:2305-7246。 2020 年 9 月。
- Cicirello,VA Chips-n-Salsa:可定制、可混合、迭代、并行、随机和自适应本地搜索算法的 Java 库。开源软件杂志,5(52),2448。2020年 8 月。
- 李媛媛;斯特凡诺·卡拉贝利;爱德华多·法达;马内尔巴,丹尼尔;塔德伊,罗伯托;三尔佐,奥利维尔。工业 4.0 中生产重新安排的机器学习和优化。国际先进制造技术杂志。 - ISSN 1433-3015。 2020 年 8 月。
- 多莉·萨普拉和安迪·皮门特尔。逐渐饱和目标函数的进化优化算法。 GECCO '20,墨西哥坎昆。七月。 2020.
- 多莉·萨普拉和安迪·皮门特尔。用于设计卷积神经网络的约束进化零散训练。 IEA/AIE 2020 – 日本北九州。七月。 2020.
- Femi Emmanuel Ayo、Sakinat Oluwabukonla Folorunso、Adebayo A. Abayomi-Alli、Adebola Olayinka Adekunle、Joseph Bamidele Awotunde。基于深度学习模型的网络入侵检测,通过基于规则的混合特征选择进行优化。信息安全杂志:全球视角。 2020 年 5 月。
- Zainol N.、Fakharudin AS、Zulaidi NIS 使用人工智能算法优化食物垃圾生物降解模型。 Yaser A.(编)废物处理技术的进展。施普林格,新加坡。 2020 年 5 月。
- 索尼娅·沃内娃、马纳尔·马兹卡特里、约翰内斯·格罗曼和安妮·科齐奥莱克。优化增量性能模型提取的参数依赖性。卡尔斯鲁厄理工学院,卡尔斯鲁厄,德国。四月。 2020.
- 劳尔·拉拉·卡布雷拉、安赫尔·冈萨雷斯·普列托、费尔南多·奥尔特加和赫苏斯·博巴迪利亚。使用遗传编程演进基于矩阵分解的协同过滤。 MDPI,应用科学。 2020 年 2 月。
- Humm BG、Hutter M。机器人传感器数据中复杂事件检测的学习模式。优化和学习。 OLA 2020。计算机和信息科学通信,第 1173 卷。施普林格, 2020 年 2 月。
- Erich C. Teppan,Giacomo Da Col。用于创建大型作业车间调度规则的遗传算法。智能方法集成的进展。智能创新、系统和技术,第 170 卷。施普林格,新加坡。 2020 年 1 月。
- 里卡多·佩雷斯-卡斯蒂略、弗朗西斯科·鲁伊斯、马里奥·皮亚蒂尼。企业架构建模的决策支持系统。决策支持系统。 2020 年 1 月。
- 萨布丽娜·阿佩尔、沃尔夫冈·盖特纳、斯蒂芬·雷曼、马里乌斯·萨宾斯基、拉胡尔·辛格和多米尼克·维尔斯迈尔。受自然启发的优化算法和机器学习在重离子同步加速器中的应用。国际现代物理学杂志 A. 2019 年 12 月。
- OM Elzeki、MF Alrahmawy、Samir Elmougy。一种新的混合遗传和信息增益算法,用于估算癌症基因数据集中的缺失值。 P国际智能系统与应用杂志 (IJISA),第 11 卷,第 12 期,第 20-33 页,DOI:10.5815/ijisa.2019.12.03。 2019 年 12 月。
- 奥利弗·斯特劳斯、艾哈迈德·阿尔姆海达和霍尔格·凯特。将启发式和机器学习策略应用于 ProductResolution。第 15 届网络信息系统和技术国际会议 (WEBIST 2019) 论文集,第 242-249 页。 2019 年 11 月。
- 李媛媛、Stefano Carabelli、Edoardo Fadda、Daniele Manerba、Roberto Tadei1 和 Olivier Terzo。机器学习和优化技术的集成,用于工业 4.0 中灵活的车间重新调度。都灵理工大学,运筹学和优化小组。 2019 年 10 月。
- Höttger R.、Igel B.、Spinczyk O. 汽车系统的约束软件分发。计算机和信息科学通信,第 1078 卷。2019 年 10 月。
- 李振宇、张光善、郑浩贤、李在吉、李宜珍。通过优化任务分配,最大限度地提高移动云中的 MapReduce 作业速度和可靠性。普遍的移动计算。 2019 年 10 月。
- 克劳奇克、卢卡斯、马哈茂德·巴扎尔、拉姆·普拉萨斯·戈文达拉詹和卡斯滕·沃尔夫。使用 Eclipse APP4MC 对异构多核系统进行基于模型的时序分析和部署优化。 2019 年 ACM/IEEE 第 22 届模型驱动工程语言和系统国际会议同伴:44-53。 2019 年 9 月。
- 朱尼奥·塞萨尔·里贝罗·达·席尔瓦、洛雷娜·莱昂、维尼修斯·彼得鲁奇、阿卜杜拉耶·加马蒂埃、费尔南多·马格诺·昆塔奥·佩雷拉。通过函数输入的多元线性回归在异构架构中进行调度。 lirmm-02281112。 2019 年 9 月。
- 埃里克·O·斯科特,肖恩·卢克。 ECJ 20 周年:走向通用元启发式工具包。 GECCO '19:遗传和进化计算会议配套论文集,第 1391-1398 页。 2019 年 7 月。
- 弗朗西斯科·蒙托亚 (Francisco G. Montoya) 和劳尔·巴尼奥斯·纳瓦罗 (Raúl Baños Navarro)(主编)。适用于电力系统的优化方法,第 2 卷。MDPI 书籍,ISBN 978-3-03921-156-2。 2019 年 7 月。
- Höttger、Robert 和 Ki、Junhyung 和 Bui、Bao 和 Igel、Burkhard 和 Spinczyk、Olaf。高性能汽车系统的 CPU-GPU 响应时间和映射分析。第 10 届嵌入式和实时系统分析工具和方法国际研讨会 (WATERS) 与第 31 届 Euromicro 实时系统会议 (ECRTS'19) 同期举办。 2019 年 7 月。
- 马克西姆·科迪、史蒂夫·穆勒、迈克·帕帕达基斯和伊夫·勒·特劳恩。基于搜索的测试和基于机器学习的异常检测系统的改进。第 28 届 ACM SIGSOFT 国际软件测试与分析研讨会 (ISSTA 2019) 论文集。 ACM,美国纽约州纽约市,158-168。 2019 年 7 月。
- 迈克尔·维斯坦、扬·法贝尔、克莱门斯·施密特-艾森洛尔、丹尼尔·雷特。使用多运动抓取系统自动处理辅助材料。 Procedia 制造,2019 年第 38 卷,第 1276-1283 页。 2019 年 6 月。
- 尼古拉斯·尼古拉基斯、扬尼斯·斯塔哈基斯、索蒂里奥斯·马克里斯。为工厂操作员提供个性化支持的进化信息系统。第 52 届 CIRP 制造系统会议 (CMS),斯洛文尼亚卢布尔雅那。 2019 年 6 月。
- 迈克尔·特罗特、蒂莫西·伍德和黄振浩。预测风暴:使用遗传算法和监督学习来预测最佳配置。第 13 届 IEEE 自适应和自组织系统国际会议 (SASO 2019)。 2019 年 6 月。
- Krawczyk、Lukas & Bazzal、Mahmoud & Prasath Govindarajan、Ram & Wolff、Carsten。一种用于计算自动驾驶应用中端到端响应时间的分析方法。第十届嵌入式和实时系统分析工具和方法国际研讨会 (WATERS 2019)。 2019 年 6 月。
- 鲁道夫·阿亚拉·洛佩斯、蒂亚戈·马塞多·戈麦斯和艾伦·罗伯特·雷森德·德·弗雷塔斯。符号进化算法软件平台。遗传和进化计算会议同伴会议记录(GECCO '19)。 2019 年 7 月。
- 亚历山大·普罗科佩克、安德里亚·罗莎、大卫·利奥波德塞德、吉尔斯·杜博斯克、彼得·图马、马丁·斯图德纳、卢博米尔·布莱杰、郑宇迪、亚历克斯·维拉宗、道格·西蒙、托马斯·伍辛格、沃尔特·宾德。 Renaissance:JVM 上并行应用程序的基准测试套件。 PLDI '19,美国亚利桑那州凤凰城。 2019 年 6 月。
- 罗伯特·霍特格、卢卡斯·克劳奇克、布克哈德·伊格尔、奥拉夫·斯宾奇克。汽车系统的内存映射分析。简要介绍论文集(RTAS 2019)。 2019 年 4 月。
- Al Akkad, MA 和 Gazimzyanov, FF 用于评估 2D 图像合成特征的自动化系统:配置数学模型。智力。姐姐。 Proizv., 17(1), 26-33。 DOI:10.22213/2410-9304-2019-1-26-33。 2019 年 4 月。
- 阿尔凯德,A.;巴尼奥斯,R.;阿拉巴尔-坎波斯,FM; Montoya,FG 通过遗传算法优化合同电力。 《能源》,第 12 卷,第 7 期, 2019 年 4 月。
- 阿卜杜勒·萨利·法卡鲁丁、诺拉兹维娜·扎伊诺尔、祖尔西亚兹万·艾哈迈德·库谢里。使用神经网络和遗传算法对油棕树干核心生物脱木质素进行建模和优化。 IEEA '19:第八届国际信息学、环境、能源和应用会议论文集;第 155–158 页, 2019 年 3 月。
- 亚历山大·普罗科佩克、安德里亚·罗莎、大卫·利奥波德塞德、吉尔·杜博斯克、彼得·图马、马丁·斯图德纳、卢博米尔·布莱杰、郑宇迪、亚历克斯·维拉宗、道格·西蒙、托马斯·乌尔辛格、沃尔特·宾德。关于评估 Renaissance 基准测试套件:多样性、性能和复杂性。康奈尔大学:编程语言, 2019 年 3 月。
- S. Appel、W. Geithner、S. Reimann、M Sapinski、R. Singh、DM Vilsmeier 使用受自然启发的算法和机器学习优化重离子同步加速器。第 13 届国际。计算加速器物理大会, 2019 年 2 月。
- 克里斯蒂安·萨阿德、伯恩哈德·鲍尔、乌尔里希·R·曼斯曼和李健。系统生物学中的自动分析。生物信息学和生物学见解, 2019 年 1 月。
- Gandeva Bayu Satrya,Soo Young Shin。优化工业无线传感器网络超帧调度的进化计算方法。康奈尔大学, 2018 年 12 月。
- HR Maier、S. Razavi、Z. Kapelan、LS Mattott、J. Kasprzyk、BA Tolson。介绍性概述:使用进化算法和其他元启发法进行优化。环境建模与软件, 2018 年 12 月。
- Erich C. Teppan 和 Giacomo Da Col. 通过遗传算法自动生成大型作业车间的调度规则。 CIMA 2018,智能方法与应用组合国际研讨会, 2018 年 11 月。
- 帕斯卡莱·萨尔扎,菲洛梅娜·费鲁奇。使用软件容器在云中加速遗传算法。下一代计算机系统, 2018 年 10 月。
- 古拉姆·穆巴沙尔·哈桑和马克·雷诺兹。用于矿石列车网络调度和优化的遗传算法。 GCAI-2018。第四届全球人工智能会议, 2018 年 9 月。
- Drezewski、Rafal 和 Kruk、Sylwia 和 Makowka、Maciej。公司股本回报率的进化优化:走向支持公司财务决策的基于代理的仿生系统。 IEEE 访问。 6. 10.1109/ACCESS.2018.2870201,2018年 9 月。
- Arifin, HH、Chimplee, N.、Kit Robert Ong, H.、Daengdej, J. 和 Sortrakul, T. 使用进化权衡,通过基于模型的系统工程对物理架构的设计综合进行自动组件选择。 INCOSE 国际研讨会,28:1296-1310,2018年 8 月。
- Ong、Robert 和 Sortrakul,Thotsapon。使用基于模型的系统工程进行设计合成的自动组件选择的遗传算法选择方法的比较。会议:2018年I-Seec, 2018年5月。
- 斯蒂芬·皮恩鲍姆(Stephan Pirnbaum)。 Die Evolution IM算法-TEIL 2:Multikriterielle optimierung和Architekturerkennung。 Javaspektrum 03/2018,第66-69页, 2018年5月。
- W. Geithner,Z。Andelkovic,S。Appel,O。Geithner,F。Herfurth,S。Reimann,G。Vorobjev,F。Wilhelmstötter。公平控制系统环境中机器优化的遗传算法。第9届国际粒子加速器会议(IPAC'18), 2018年5月。
- 斯蒂芬·皮恩鲍姆(Stephan Pirnbaum)。 Die Evolution IM算法-TEIL 1:Grundlagen。 Javaspektrum 01/2018,第64-68页, 2018年1月。
- Alexander Felfernig,Rouven Walter,JoséA。Galindo,David Benavides,Seda Polat Erdeniz,MüslümAtas,Stefan Reiterer。任何时间诊断重新配置。智能信息系统杂志,第1-22页, 2018年1月。
- 布鲁斯·约翰逊。从原始数据到使用NMRFX处理和NMRVIEWJ分析的蛋白质骨干化学移位。蛋白质NMR:方法和协议,第257--310页,纽约,纽约, 2017年11月。
- Cuadra P.,Krawczyk L.,HöttgerR。,Heisig P.,Wolff C.使用混合遗传算法的紧密耦合嵌入式多核系统的自动调度。信息和软件技术:第23届国际会议,ICIST 2017,立陶宛Druskininkai。计算机和信息科学中的通信,第756卷。施普林格,CHAM,2017年9月。
- 迈克尔·特罗特(Michael Trotter),刘·格(Guyue Liu),蒂莫西·伍德(Timothy Wood)。进入风暴:使用遗传算法和贝叶斯优化降低最佳配置。自我*系统的基础和应用(FAS* W),2017年IEEE第二届国际研讨会,2017年9月。
- Emna Hachicha,Karn Yongsiriwit,Mohamed Sellami。基于遗传的可配置云资源分配在QoS感知业务流程开发中。信息和软件技术:第23届国际会议,ICIST 2017,立陶宛Druskininkai。 Web Services(ICWS),2017年IEEE国际会议,2017年6月。
- AbraãoG.Nazário,FábioRaSilva,Raimundo Teive,Leonardo Villa,AntônioFlávio,JoãoZico,Eire Fragoso,Ederson F. Souza。 automaçãodomóticasimulada utizando algoritmogenéticoespecializado nareduçãodocoptuno de energia。 2017年海滩上的计算机180-189,2017年3月。
- Bandaru,S。和Deb,K。Metaheuristic技术。决策科学。 CRC出版社,第693-750页,2016年11月。
- Lyazid Toumi,Abdelouahab Moussaoui和Ahmet Ugur。 EMED-PART:用于数据仓库中水平分配的有效方法。国际智能信息处理,安全和高级沟通会议论文集。 Djally Eddine Boubiche,Faouzi Hidoussi和Homero Toral Cruz(编辑)。 ACM,纽约,纽约,美国,第43条,第7页,2015年。
- Igo Jurisica(编辑)Andreas Holzinger(编辑)。互动知识发现和生物医学信息学中的数据挖掘。计算机科学的讲义,第1卷。 8401。Springer ,2014年。
- Lyazid Toumi,Abdelouahab Moussaoui,Ahmet Ugur。数据仓库中的粒子组群优化联接索引选择问题。 《超级计算杂志》,第68卷,第2期,第672-708页,2014年5月。
- Tang Yi(中国广州广州511400的广州电源局有限公司)对分销网络的面向对象的反应性补偿分配优化算法,2012年10月,2012年10月。
- John M. Linebarger,Richard J. Detry,Robert J. Glass,Walter E. Beyeler,Arlo L. Ames,Patrick D. Finley,S。Louise Maffitt。系统工程环境1.0的复杂自适应系统。沙报告,2012年2月。
发行说明
8.1.0
改进
- #822:改进用于生成合并Javadoc的构建脚本。
- #898:添加支持从CSV文件或字符串读取数据的支持。这简化了回归问题的代码。
static List < Sample < Double >> parseDoubles ( final CharSequence csv ) {
return CsvSupport . parseDoubles ( csv ). stream ()
. map ( Sample :: ofDouble )
. toList ();
}
- #904:升级到Gradle 8.10和构建脚本的清理。
- #907:在用户手册中添加一章以进行优化策略:实用的介绍。
- #909:用于转换原始阵列的辅助方法。
final Codec < int [], DoubleGene > codec = Codecs
. ofVector ( DoubleRange . of ( 0 , 100 ), 100 )
. map ( Conversions :: doubleToIntArray );
虫子
8.0.0
改进
- Java 21用于构建和使用库。
- #878:允许评估健身功能的虚拟线程。必须在创建
Engine
时启用(请参见下面的代码段),保留了先前的行为。
final Engine < DoubleGene , Double > engine = Engine . builder ( ff )
. fitnessExecutor ( BatchExecutor . ofVirtualThreads ())
. build ();
- #880:用JEP 413在Javadoc中替换代码示例。
- #886:改进
CharStore
排序。 - #894:新的遗传操作员:
ShiftMutator
, ShuffleMutator
和UniformOrderBasedCrossover
。 - #895:改进默认的
RandomGenerator
选择。使用以下顺序选择所使用的RandomGenerator
:- 检查是否设置了
io.jenetics.util.defaultRandomGenerator
start参数。如果是这样,请带这个发电机。 - 检查是否有
L64X256MixRandom
生成器。如果是这样,请带这个发电机。 - 根据
RandomGeneratorFactory.stateBits()
值查找最佳可用随机生成器。 - 如果找不到最佳发电机,请使用
Random
发电机。该发电机可以在每个平台上可用。
所有发行说明
执照
该库是根据Apache许可证的2.0版获得许可的。
Copyright 2007-2024 Franz Wilhelmstötter
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
二手软件