遗传算法与MATLAB

。_饼干妹妹 提交于 2020-03-10 13:28:47

遗传算法与MATLAB

(一)遗传算法:遗传算法是模拟达尔文生物进化论的自然选择和遗传机理的生物进化过程的计算模型,是一种模拟自然进化过程搜索最优解的方法。
(二)应用层面:遗传算法存在自身缺陷性,如搜索的最优解并不是我们想要的,该算法是逼近最优解,所以常用来研究各种非线性、多变量、多目标、复杂的自适应系统问题(涵盖类:实验数据处理,图像处理,数值拟合等)。
(三)遗传算法的六大基本特征
(1)智能式搜索:目标函数是基础
(2)渐进式优化:利用、复制、交换、突变等操作,使下一代结果优于上一代
(3)全局最优解:利用交换和突变操作产生的新个体,使得搜索得到的优化结果逼近全局最优解
(4)黑箱式结构:只考虑输入和输出关系的黑箱式结构
(5)通用性强:不要求明确的数学表达式,框架式算法
(6)并行式运算:每次迭代都是对种群的所有个体进行运算,搜索速度快,效率高
(四)基本过程(如下图)
(1)编码、随机产生的初始种群
(2)个体评价、确定是否输出
(2)选择操作
(3)随机交叉运算
(4)随机变异运算
(5)转向个体评价,开始循环
在这里插入图片描述
(五)编码:遗传算法的工作对象是字符串
(六)适应度:衡量个体优劣的尺度,由适应度来决定个体的繁殖数量、是否存活、适应度是驱动遗传算法的动力
(七)复制:复制算子将优良的个体在下一代予以繁殖,体现了“适者生存”自然选择原则。复制的数量是按适应度的大小来决定的。
在这里插入图片描述在这里插入图片描述
(九)交换:产生新个体,交换概率是可控的,根据自身可以调控,从而达到快速收敛得到最优解
(十)变异:遗传算法产生新个体的另一种方法,被选择的个体的部分字符进行补(取反)运算
(十一)终止条件:通过多次逐渐化逐渐逼近最优解,常用的终止方法是迭代代数(运行有限次数得到的最优解先输出)
小结:遗传算法中含有不确定的算法因子,人为可控,想要快速得到全局的最优解,算子起到至关重要的作用,所以针对不同的模型,不同的概率设定会产生不同的效果。
(ps:接下来给大家介绍二进制遗传算法和十进制遗传算法)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!