遗传算法
遗传算法是模仿自然选择过程的优化算法。 他们没有使用"数学技巧",而是仅复制了我们知道其有效的逻辑。
遗传算法中的自然选择
这种自然选择的过程以适者生存为基础:自然界中能使最佳个体(动物,植物或其他)生存的过程。 然后,这些优胜劣汰的人彼此交配,产生了新一代。 大自然还以基因组突变的形式增加了一些随机性。
新生代是好人和坏人的混合体,但是在这里,好人将继续生存,交配,然后产生新一代。
结果是一代又一代的持续改进。
员工计划的遗传算法
人员计划是优化研究的主题,许多公司都对此进行了介绍。 一旦公司拥有许多员工,就很难在满足某些约束的同时找到适合业务需求的计划。 除其他现有解决方案外,遗传算法是一种解决此问题的优化方法。
Python实现
在本文中,我将更详细地介绍如何理解遗传算法的不同部分。
下面的代码是遗传算法的生产代码的简化版本。 为了更好地理解示例而不是速度和可重用性,对它进行了优化。 它包含应用于示例数据的每个列出的步骤。
遗传算法代码演练的6个步骤
遗传算法的步骤:
- 如何为遗传算法编码数据?
- 如何评估遗传算法解决方案?
- 如何为遗传算法编码交配(交叉)?
- 如何为遗传算法编码突变?
- 如何定义遗传算法的选择?
- 如何为遗传算法定义迭代和停止?
如果要随身携带笔记本,可以在此处下载。
第1步-如何为遗传算法编码数据?
输入数据-两种计划
在此代