遗传算法(GA)干货
来源:互联网 发布:java接口怎么写 编辑:程序博客网 时间:2024/05/19 13:09
遗传算法其实是一种优化算法,对于不可解析的问题,传统的优化方法如:共轭梯度法、拟牛顿法、单纯形法都是局部优化方法,而遗传算法是一种全局优化算法,与其类似的还有随机漫步、模拟退火等算法。
原理:
仿生思想:可行解的逐步优化--染色体的优胜劣汰
可行解--染色体(可行解得到的目标函数值--染色体的适应值)
可行解的基--染色体的基因
对于染色体基因的操作:
1、选择;2、交换;3、变异。
染色体即一串二进制编码, 基因基即编码中的一位
初始,随机产生一定数量的染色体,称为初始种群
选择,计算各染色体的适应度,适应度越大,被选择的概率越高,被选择的染色体进行复制,
交换,两个染色体互换基因,即交换部分位的编码
变异,染色体的部分编码变化,最常见的即取反(1--0, 0--1)
如此重复,最后即逐渐收敛到最优解。
重要参数:
种群规模,即染色体个数
交叉率,即参与交叉的染色体的比例
变异率,即参与变异的基金的比例
步骤总结:
寻找合适的编码方式,将可行解表示为一串二进制代码
寻找合适的适应度函数,评价染色体对应的可行解的目标函数值
指定N个初始可行解,即N个染色体,构成初始种群S0;
计算适应度函数值,按照适应度越大,选择概率越大的原则,从中有放回挑出N个染色体, 组成种群S1;
按照指定的比例,从S1种群中,挑出部分染色体,两两一组,随机选择某位,断开,交换,组成新的染色体,替换原有染色体,组成种群S2。
按照指定比例,从上步种群中,挑出部分染色体, 选择其中某位, 变异,然后放回,组成种群S3;
重复上述步骤,直至达到约定的迭代次数。
结束时,适应度最大的染色体,解码得到最优解
原理:
仿生思想:可行解的逐步优化--染色体的优胜劣汰
可行解--染色体(可行解得到的目标函数值--染色体的适应值)
可行解的基--染色体的基因
对于染色体基因的操作:
1、选择;2、交换;3、变异。
染色体即一串二进制编码, 基因基即编码中的一位
初始,随机产生一定数量的染色体,称为初始种群
选择,计算各染色体的适应度,适应度越大,被选择的概率越高,被选择的染色体进行复制,
交换,两个染色体互换基因,即交换部分位的编码
变异,染色体的部分编码变化,最常见的即取反(1--0, 0--1)
如此重复,最后即逐渐收敛到最优解。
重要参数:
种群规模,即染色体个数
交叉率,即参与交叉的染色体的比例
变异率,即参与变异的基金的比例
步骤总结:
寻找合适的编码方式,将可行解表示为一串二进制代码
寻找合适的适应度函数,评价染色体对应的可行解的目标函数值
指定N个初始可行解,即N个染色体,构成初始种群S0;
计算适应度函数值,按照适应度越大,选择概率越大的原则,从中有放回挑出N个染色体, 组成种群S1;
按照指定的比例,从S1种群中,挑出部分染色体,两两一组,随机选择某位,断开,交换,组成新的染色体,替换原有染色体,组成种群S2。
按照指定比例,从上步种群中,挑出部分染色体, 选择其中某位, 变异,然后放回,组成种群S3;
重复上述步骤,直至达到约定的迭代次数。
结束时,适应度最大的染色体,解码得到最优解
阅读全文
0 0
- 遗传算法(GA)干货
- 遗传算法(GA)
- 遗传算法(GA)的matlab实现
- 遗传算法(GA)
- GA遗传算法解析
- 遗传算法GA
- 遗传算法GA
- GA遗传算法
- 遗传算法(Genetic Algorithm,GA)
- 遗传算法(genetic algorithm, GA)
- GA遗传算法(Genetic Algorithm)
- 数学建模(1)——遗传算法(GA)
- 遗传算法(GA)的C语言实现
- 机器学习基础—— 遗传算法(GA)
- GA入门:遗传算法原理与应用
- 遗传算法GA笔记之简述
- 机器学习笔记之遗传算法(GA)
- GA遗传算法Matlab版本实例注释
- C# 64位系统无法读取Access数据库
- HDU4348
- Web服务器
- MindManager 2018新增功能有这些
- jquery 限制文本中文输入30个英文数字或15个汉字
- 遗传算法(GA)干货
- kmeans对图像和数据进行分割
- poi处理excel问题
- Loadrunner常用函数详解(一)
- 第7周项目3-负数把正数赶出队列
- 内存地址的计算方法
- java获取客户端的ip 和IP所在地
- web.xml文件加载顺序
- jquery的$().each,$.each的区别--上