0


遗传算法基本介绍

1. 主要解决什么问题?
是一种仿生全局优化算法。

2. 原理/思路是什么?
选择(优胜劣汰)、交叉、变异
一些重要概念,生物遗传概念在遗传算法中的对应关系:
在这里插入图片描述
在这里插入图片描述
编码策略:
常用的遗传算法编码方法主要有:二进制编码、浮点数编码等。可以证明,二进制编码比浮点数编码搜索能力强,但浮点数编码比二进制编码在变异操作上能够保持更好的种群多样性。
标准遗传算法多采用二进制编码方法,将决策变量用二进制字符串表示,二进制编码串的长度由所求精度决定。然后将各决策变量的二进制编码串连接在一起,构成一个染色体。
例如:变量x的定义域为[-2,3],要求其精度为10-5,则需要将[-2,3]分成至少500 000个等长小区域,而每个小区域用一个二进制串表示。于是有,2L=500 000,即在这里插入图片描述 向上取整,可得到L=19。即可用19位二进制串a18a17…a0 来表示。

确定个体适应度的量化评价方法:
a.直接以待求解的目标函数为适应度函数:
若目标函数为最大值问题,则Fit(f(X))=f(X)
若目标函数为最小值问题,则Fit(f(X))=-f(X)
b.倒数法:
在这里插入图片描述

选择算子和选择操作:
在这里插入图片描述
在这里插入图片描述

交叉率及交叉操作:
在这里插入图片描述

变异率及变异操作:
在这里插入图片描述

3. 建模步骤?

  1. 选择编码策略,把参数集合(可行解集合)转换染色体结构空间;
  2. 定义适应度函数,便于计算适应值;
  3. 确定遗传策略,包括选择群体大小,选择、交叉、变异方法以及确定交叉概率、变异概率等遗传参数;
  4. 随机产生初始化群体;
  5. 计算群体中的个体或染色体解码后的适应值;
  6. 按照遗传策略,运用选择、交叉和变异算子作用于群体,形成下一代群体;
  7. 判断群体性能是否满足某一指标,或者已完成预定的迭代次数,不满足则返回第五步,或者修改遗传策略再返回第六步.

4. 论文写作?

5. 模型的优缺点?
优:良好并行性;良好的全局优化和鲁棒性;
缺:未成熟收敛问题(未成熟收敛现象是遗传算法中的特有现象,且十分常见。它是指,当遗传算法还没找到全局最优解或满意解时,群体中不能再产生性能超过父代的后代,群体中的各个个体非常相似。未成熟收敛的重要特征是群体中个体结构的多样性急剧减少。);

6. 代码讲解?

7. 模型的拓展?
联系tsp问题

8. 例子?
eg1.利用遗传算法求解区间[0,31]上的二次函数y=x2的最大值,精度要求达到个位。 
分析:原问题可转化为在区间[0, 31]中搜索能使y取最大值的点a的问题。那么,[0, 31] 中的点x就是个体, 函数值f(x)恰好就可以作为x的适应度,区间[0, 31]就是一个(解)空间 。这样, 只要能给出个体x的适当染色体编码, 该问题就可以用遗传算法来解决。
解过程:
(1) 设定种群规模,编码染色体,产生初始种群。
将种群规模设定为4;用5位二进制数编码染色体;取下列个体组成初始种群S1:
s1= 13 (01101), s2= 24 (11000)
s3= 8 (01000), s4= 19 (10011)
(2) 定义适应度函数,取适应度函数:f (x)=x²
(3) 计算各代种群中的各个体的适应度, 并对其染色体进行遗传操作,直到适应度最高的个体(即31(11111))出现为止。
首先计算种群S1中各个体
s1= 13(01101), s2= 24(11000)
s3= 8(01000), s4= 19(10011)
的适应度f (si) 。
容易求得: f (s1) = f(13) = 169 f (s2) = f(24) = 576
f (s3) = f(8) = 64 f (s4) = f(19) = 361
(4) 再计算种群S1中各个体的选择概率。
在这里插入图片描述
由此可求得
P(s1) = P(13) = 0.14
P(s2) = P(24) = 0.49
P(s3) = P(8) = 0.06
P(s4) = P(19) = 0.31
在这里插入图片描述
(5) 进行选择和复制
在这里插入图片描述
(6) 进行交叉处理
在这里插入图片描述
(7) 进行变异处理
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(8) 显然,在这一代种群中已经出现了适应度最高的染色体s1=11111。于是,遗传操作终止,将染色体“11111”作为最终结果输出。
然后,将染色体“11111”解码为表现型,即得所求的最优解:31。
将31代入函数y=x2中,即得原问题的解,即函数y=x2的最大值为961。

eg2.求下列问题的解:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
eg3.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注:参考书籍:《数学模型》第四版,姜启源著。


本文转载自: https://blog.csdn.net/y1456505611/article/details/128840167
版权归原作者 阿群今天学习了吗 所有, 如有侵权,请联系我们删除。

“遗传算法基本介绍”的评论:

还没有评论