(二)遗传算法(Genetic Algorithm, GA)流程 您所在的位置:网站首页 遗传算法的主要内容 (二)遗传算法(Genetic Algorithm, GA)流程

(二)遗传算法(Genetic Algorithm, GA)流程

2023-06-04 01:16| 来源: 网络整理| 查看: 265

(二)遗传算法(Genetic Algorithm, GA)流程 1. 遗传算法流程2. 关键参数说明

1. 遗传算法流程

  一点说明:   在遗传算法中,将 n n n维决策向量 X \bf{X} X = [ x 1 , x 2 , . . . , x n ] T =[x_1,x_2,...,x_n]^T =[x1​,x2​,...,xn​]T用 n n n个记号 X i ( i = 1 , 2 , . . . , n ) X_i(i=1,2,...,n) Xi​(i=1,2,...,n)所组成的符号串 X X X来表示: X = X 1 X 2 . . . X n ⇒ X = [ x 1 , x 2 , . . . , x n ] T \boldsymbol{X}=X_1X_2...X_n\Rightarrow\boldsymbol{X}=[x_1,x_2,...,x_n]^T X=X1​X2​...Xn​⇒X=[x1​,x2​,...,xn​]T   把每一个 X i X_i Xi​看作一个遗传基因,它的所有可能取值就称为等位基因,这样 X \boldsymbol{X} X就可看作由 n n n个遗传基因所组成的一个染色体。   遗传算法流程图如下所示: 在这里插入图片描述   具体步骤如下:   (1)初始化。设置进化迭代计数器 g = 0 g=0 g=0,设置最大进化代数 G G G,随机生成 N p N_p Np​个个体作为初始群体 P ( 0 ) P(0) P(0)。   (2)个体评价。计算群体 P ( t ) P(t) P(t)中各个个体的适应度。   (3)选择运算。将选择算子作用于群体,根据个体的适应度,按照一定的规则或方法,选择一些优良个体遗传到下一代群体。   (4)交叉运算。将交叉算子作用于群体,对选中的成对个体,以某一概率交换它们之间的部分染色体,产生新的染色体。   (5)变异运算。将变异算子作用于群体,对选中的个体,以某一概率改变某一个或一些基因值为其他的等位基因。   (6)循环操作。群体 P ( t ) P(t) P(t)经过选择、交叉和变异运算之后得到下一代群体 P ( t + 1 ) P(t+1) P(t+1).计算其适应度值,并根据适应度值进行排序,准备进行下一次遗传操作。   (7)终止条件判断:若 g ≤ G g\leq G g≤G,则 g = g + 1 g=g+1 g=g+1,转到步骤(2);若 g > G g>G g>G,则此进化过程中所得到的具有最大适应度的个体作为最优解输出,终止计算。

2. 关键参数说明 群体规模 N p N_p Np​;   群体规模将影响遗传优化的最终结果以及遗传算法的执行效率。当群体规模 N p N_p Np​太小时,遗传优化性能一般不会太好。采用较大的群体规模可以减小遗传算法陷入局部最优解的机会,但较大的群体意味着计算复杂度较高。一般 N p N_p Np​取 10 − 200. 10-200. 10−200.交叉概率 P c P_c Pc​;   交叉概率 P c P_c Pc​控制着交叉操作被使用的频度。较大的交叉概率可以增强遗传算法开辟新的搜索区域的能力,但高性能的模式遭到破坏的可能性增大;若交叉概率太低,遗传算法搜索可能陷入迟钝状态。一般 P c P_c Pc​取 0.25 − 1.00. 0.25-1.00. 0.25−1.00.变异概率 P m P_m Pm​;   变异在遗传算法中属于辅助性的搜索操作,它的主要目的是保持群体的多样性。一般低频度的变异可防止群体中重要基因的可能丢失,高频度的变异将使遗传算法趋于纯粹的随机搜索。通常 P m P_m Pm​取 0.001 − 0.1. 0.001-0.1. 0.001−0.1.遗传运算的终止进化代数 G G G;   终止进化代数 G G G是表示遗传算法运行结束条件的一个参数,它表示遗传算法运行到指定的进化代数之后就停止运行,并将当前群体中的最佳个体作为所求问题的最优解输出。一般视具体问题而定, G G G的取值可在 100 − 1000 100-1000 100−1000之间。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有