替换策略列表#

从C++暴露的替换策略#

class pygmo.fair_replace(rate=1)#

公平的替换政策。

此用户定义的替换策略(UDRP)仅在候选替换个体比原始个体更好时,才会替换组中的个体。

在这种情况下,更好意味着以下内容:

  • 在单目标无约束问题中,如果一个个体的适应度较低,则它比另一个个体更好,

  • 在单目标约束问题中,个体通过sort_population_con()进行排序,

  • 在多目标无约束问题中,个体通过sort_population_mo()进行排序。

请注意,此用户定义的替换策略目前支持多目标约束问题。

一个公平的替换策略是从一个rate参数构建的,该参数可以是整数值或浮点值。

如果rate\(\left[0,1\right]\)范围内的浮点值, 那么它表示一个分数迁移率。也就是说,它表示输入种群中可能被替换的个体比例: 值为0表示没有个体会被替换,值为1表示所有个体都可能被替换。

如果rate是一个整数值,那么它代表一个绝对迁移率,即输入种群中可能被替换的个体数量。

另请参阅C++类pagmo::fair_replace的文档。

Parameters

rate (int, float) – 所需的迁移率

Raises
  • ValueError – 如果提供的分数迁移率不是有限的 或不在\(\left[0,1\right]\)范围内

  • TypeError – 如果 rate 不是 intfloat 的实例

  • 未指定 – 由调用的C++构造函数引发的任何异常