f'favg (I)I f'favg
22
遗传算法的软件实现
一、基本遗传算法的Matlab实现
1 计算函数的格式
函数:myGA。
•
功能:用基本遗传算法解一维无约束极值问题
•
调用格式:[xv,fv]=myGA(fitness,a,b,NP,NG,Pc,Pm,eps)
•
其中:fitness:待优化的目标函数;
自适应遗传算法(7.1.5)
一、 自适应遗传算法的原理
• Srinvivas等提出一种自适应遗传算法,交叉概率和变异概率能够随适应度自动改
变。当种群个体适应度趋于一致或者趋于局部最优时,使交叉概率和变异概率二者增 加、而当群体适应度比较分散时,使交叉概率和变异概率减少。
•
同时,对于适应值高于群体平均适应值的个体,对应于较低的交叉概率和变异
3 群体规模的确定
, 常取个体编码长度数的一个线性倍数。当多个进化代没有改变解的性能,可扩大群体的规 模。若解的改进已经非常好时,就可以减少群体规模,使计算速度加快。
4 适应函数的确定
简单适应函数 目标函数的简单变形,构造简单,与目标函数直接相关,缺点是可能使算 法在迭代过程中出现收敛到一些目标值近似的不同染色体而难以区别。
12
基本遗传算法(7.1.3)
2 遗传算法的基本操作举例
• (2)遗传运算
•
交叉运算
•
以单点交叉为例,任意挑选经过选择操作后种群中两个个体作为交叉对象,即两个父
个体经过染色体交换重组产生两个子个体,如下图,随机产生一个交叉点位置,父个体l和
父个体2在交叉点位置之有的部分基因码互换,形成子个体1和子个体2。类似地完成其他个