写在前面
源程序参考原文:
遗传算法的简介与应用 - 子木的文章 - 知乎 https://zhuanlan.zhihu.com/p/49055485
写在前面
遗传算法是通过大量备选解的 变换、迭代和变异,在解空间中并行动态地进行全局 搜索的最优化方法.由于遗传算法具有比较完备的 数学模型和理论,在解决很多NP—Hard问题上具有 良好的性能.
1.因为我也是刚学遗传算法,我觉得它只是一个工具,会用就行,也没有去专门看书学习。然后就是只是在网上查查资料,网上很多教程都很详细,但是一些程序有些小错误。然后我写了几个程序,进行仿真。
2.网上的程序要么是单变量编码,或是二变量未编码。而我要做的是需要实现多函数多变量。所以这一篇只是介绍下遗传算法,以及它的基本实现方式,知道了它的实现原理就行了。
3.如果后面有时间的话,就把实现有偏好的多目标函数多变量寻求最优解的过程写写。
4.遗传算法实质就是在给定的自变量范围内找到函数的最大值,即最优解,如果是求最小值,理解成求最大值的倒数就行了。
5.欢迎指正
一、什么是遗传算法
遗传算法(Genetic Algorithm, GA)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好