使用 DEAP 库实现遗传算法解决 OneMax 问题
0. 前言
我们已经了解了 DEAP 库中的重要数据结构和工具,为了快速掌握 DEAP
,本节中,我们将介绍 DEAP
框架下的遗传算法构建流程,并使用 DEAP
解决简单的 OneMax
问题。
1. OneMax 问题介绍
OneMax
问题是一个简单的优化任务,通常作为遗传算法 Hello World
。OneMax
任务是查找给定长度的二进制串,最大化该二进制串中数字的总和。例如,对于长度为 5
的 OneMax
问题,10010
的数字总和为 2
,01110
的数字总和为 3
。
显然,此问题的最优解为每位数字均为 1
的二进制串。但是对于遗传算法而言,其并不具备此知识,因此需要使用其遗传算子寻找最优解。算法的目标是在合理的时间内找到最优解,或者至少找到一个近似最优解。