亲爱的用户,这是Geatpy2的一个功能性更新,增加了对多种群进化优化的支持,同时完善了对导入先验知识进行进化的功能。

更新方法 pip install --upgrade --user geatpy

更新内容一览

【内核】
1.增加了两个内核算子:migrate(种群间个体迁移)和mselecting(多种群个体选择)。
其中mselecting函数在所有种群的所有个体中筛选个体,同时保证每个种群起码有一定的个体被选择。可以通过help(ea.migrate)以及help(ea.mselecting)来查看详细的API文档。
2.在面向对象层添加了一个Migrate()函数,用于调用内核层的migrate()函数进行种群间个体迁移。
3.提升了内核函数xovexp(指数交叉)以及otos(一对一生存者选择)的性能。

【框架】
1.修复部分差分进化算法默认的交叉算子设置错误的问题。
2.删除了Population类和PsyPopulation类中的对个体适应度进行重置的操作,修改为:在变更种群个体(插入、合并种群个体)时,不主动对种群个体的适应度进行重置。因此当在变更种群个体后如果需要更新适应度,则需要随后进行更新。
3.为Population类增添一项特殊操作:通过设置编码方式Encoding为None来创建一个不携带译码矩阵Field和染色体矩阵Chrom的特殊种群。这种特殊用法可以在只需要统计非染色体直接相关的信息时使用,尤其可以在多种群进化优化过程中对个体进行统一的适应度评价时使用。
4.为算法模板的run()函数添加一个输入参数:prophetPop,用于传入“先知种群”,即传入一个携带先验知识的种群来协助进化优化。

【案例更新】
1.修改了soea_demo6案例,展示了采用多进程/多线程来计算目标函数值的用法。
2.新增了soea_demo8案例,展示了如何用EA-kmeans来对数据进行聚类。
3.新增了soea_demo9案例,展示了如何利用多种群协同进化优化来求解问题。
4.新增了moea_demo5案例,展示了如何利用先验知识来进行进化优化。

感谢您们的关注与支持!

Geatpy2.7.0正式发布

Geatpy2交流群

采用自研高性能矩阵库,体验极速的进化之旅!