遗传算法是元启发式算法之一。 它有与达尔文理论(1859 年发表)的自然演化相似的机制。 如果你问我什么是元启发式算法,我们最好谈谈启发式算法的区别。
启发式和元启发式都是优化的主要子领域,它们都是用迭代方法寻找一组解的过程。启发式算法是一种局部搜索方法,它只能处理特定的问题,不能用于广义问题。而元启发式是一个全局搜索解决方案,该方法可以用于一般性问题,但是遗传算法在许多问题中还是被视为黑盒。
那么,遗传算法能做什么呢?和其他优化算法一样,它会根据目标函数、约束条件和初始解给我们一组解。
最优局部解与最优全局解
遗传算法是如何工作的?遗传算法有5个主要任务,直到找到最终的解决方案。它们如下。
- 初始化
- 适应度函数计算
- 选择
- 交叉
- 突变
我们将使用以下等式作为遗传算法的示例。 它有 5 个变量和约束,其中 X1、X2、X3、X4 和 X5 是非负整数且小于 10(0、1、2、4、5、6、7、8、9)。 使用遗传算法,我们将尝试找到 X1、X2、X3、X4 和 X5 的最优解。
将上面的方程转化为目标函数。 遗传算法将尝试最小化以下函数以获得 X1、X2、X3、X4 和 X5 的解决方案。