evox.operators.selection.tournament_selection

模块内容

函数

tournament_selection_multifit

基于多个适应度值执行锦标赛选择。

tournament_selection

根据单一适应度值执行锦标赛选择。

API

evox.operators.selection.tournament_selection.tournament_selection_multifit(n_round: int, fitnesses: List[torch.Tensor], tournament_size: int = 2) torch.Tensor[源代码]

基于多个适应度值执行锦标赛选择。

参数:
  • n_round -- 选择轮数(选择多少个解)。

  • fitnesses -- 一个1D张量的列表,每个张量表示不同目标的候选者的适应度值。

  • tournament_size -- 每个锦标赛中的候选人数量。 默认值为 2。

返回:

所选解决方案在锦标赛选择后的索引。

此函数通过随机选择每轮的一组候选者进行锦标赛选择,并根据他们在多个目标上的适应度值从每组中选择最佳者。

evox.operators.selection.tournament_selection.tournament_selection(n_round: int, fitness: torch.Tensor, tournament_size: int = 2) torch.Tensor[源代码]

根据单一适应度值执行锦标赛选择。

参数:
  • n_round -- 选择轮数(选择多少个解)。

  • fitness -- 一个一维张量,表示候选者的适应度值。

  • tournament_size -- 每个锦标赛中的候选人数量。 默认值为 2。

返回:

所选解决方案在锦标赛选择后的索引。

此函数通过随机选择每轮的候选者组来执行锦标赛选择,并根据他们的适应度值从每组中选择最佳者。