遗传算法学习心得体会

发布 2020-07-05 22:39:28 阅读 7467

篇一:遗传算法总结。

遗传算法总结。

遗传算法是借鉴生物的自然选择和遗传进化机制而开发出的一种全局自适应概率搜索算法。

一、遗传算法流程图。

图1遗传算法流程图。

二、遗传算法的原理和方法。

1)染色体编码。

把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法就称为编码。

dejong曾提出了两条操作性较强的实用编码原则:编码原则一:应使用能易于产生与所求问题相关的且具有低阶、短定义长度模式的编码方案;编码原则二:

应使用能使问题得到自然表示或描述的具有最码字符集的编码方案。

编码方法主要有以下几种:二进制编码方法、格雷码编码方法、浮点数编码方法、符号编码方法、参数级联编码方法、多参数交叉编码方法。2)适应值计算。

由解空间中某一点的目标函数值f(x)到搜索空间中对应个体的适应度函数值。

fit(f(x))的转换方法基本上有一下三种:

a.直接以待解的目标函数值f(x)转化为适应度函数值fit(f(x))(遗传算法学习心得体会),令。

f(x)目标函数为最大化函数。

fit(fx())

?f(x)目标函数为最小化函数。

cmax?f(x)f(x)?cmax

b.对于最小值的问题,做下列转化fit(f(x))?其中cmax是。

0其他?f(x)的最大输入值。

c.若目标函数为最小值问题,fit(f(x))?

c?0,c?f(x)?0

1?c?f(x)

c?0,c?f(x)?0

1?c?f(x)

若目标函数为最大值问题,fit(f(x))?3)选择、交叉、变异。

遗传算法使用选择算子来对群体中的个体进行优胜劣汰操作:根据每个个体的适应度值大小选择。适应度较高的个体被遗传到下一代群体中的概率较大;适应度较低的个体的被遗传到下一代群体中的概率较小。

其中选择的方法有:轮盘赌选择、随机竞争选择、最佳保留选择、无回放随机选择、确定式选择等。

遗传算法中的所谓交叉运算,是指对两个相互配对的染色体按某种方式相互交换其部分基因,从而形成两个新的个体。交叉操作主要有单点交叉、两点交叉与多点交叉、均匀交叉和算数交叉四种。

遗传算法中的变异运算,是指将个体染色体编码串中的某些基因座上的基因值用该基因座的其他基因来替换,从而形成一个新的个体。主要有基本位变异、均匀变异、边界变异等几种变异操作方法。4)控制参数选择。

交叉概率pcpm

三、算例。minf(x1,x2)?(x1?3)2?(x2?2)2

g1(x1,x2)?x12?x2?5?

1)三种不同的遗传方法。

方法一:原模型中x1、x2均为决策变量,操作如下。

a.采用混合整数编码,对x1进行十进制编码,x2进行二进制编码;b.适应度函数值采用fit(f(x1,x2))?

计算,其中。

c?f(x1,x2)

c???max???max,?=10000;

c.采用赌轮盘选择、单点交叉和基本位变异;

遗传代数为200,种群中个体数100;e.终止条件为连续十次最优个体保持不变或遗传代数到达200。

方法二:已知等式约束h1(x1,x2),可得x2?(4?x1)/2,则原问题可化为。

minf(x1)?(x1?3)2?((4?x1

4?x12?2

g(x)?x?()5111?2?s..t?0?x1?10,x1?n?4?x1?0??10

xminf(x1)?(x1?3)2?(1)2

即等式约束简化后的模型为4?x12?2

g(x)?x?()5?1

s..t?112??0?x1?4,x1?n

其中a~b的操作如下,而c~e的操作同方法一。a.对x1进行十进制编码;

b.适应度函数值采用fit(f(x1,x2))?

计算,其中。

c?f(x1,x2)

c???max,?=10000

方法三:在方法二的基础上,改变x1的编码方法,对x1进行二进制编码。由于0?

x1?4,且为自然数,则二进制编码至少为3位,但3位的二进制可以表示0~7的整数,所以存在冗余编码。则通过惩罚来排除冗余编码,即适应度函数值采用。

fit(f(x1,x2))?

计算。c?f(x1,x2)

其中c???max???max,?=10000。x1(i)表示个体解码后的x1。

2)三种方法的计算结果。

方法一可得到三个不同的解:

解1:x1?2,x2?1,fit(f(x1,x2))?0.4646,f(x)?2.0000,适应度趋势图如下:

图2方法一解1的适应度趋势图。

解2:x1?0,x2?2,fit(f(x1,x2))?0.1075,f(x)?9.0000,适应度趋势图如下:

篇二:遗传算法学习心得。

基本概念。遗传算法(geneticalgorithms,ga)是一类借鉴生物界自然选择和自然遗传机制的随机化搜索算法。

它模拟自然选择和自然遗传过程中发生的繁殖、交叉和基因突变现象,在每次迭代中都保留一组候选解,并按某种指标从解群中选取较优的个体,利用遗传算子(选择、交叉和变异)对这些个体进行组合,产生新一代的候选解群,重复此过程,直到满足某种收敛指标为止。

ga的组成:

1)编码(产生初始种群)

2)适应度函数。

3)遗传算子(选择、交叉、变异)

4)运行参数。

编码。基因在一定能够意义上包含了它所代表的问题的解。基因的编码方式有很多,这也取决于要解决的问题本身。常见的编码方式有:

1)二进制编码,基因用0或1表示(常用于解决01背包问题)如:基因a:00100011010(代表一个个体的染色体)

2)互换编码(用于解决排序问题,如旅行商问题和调度问题)

如旅行商问题中,一串基因编码用来表示遍历的城市顺序,如:234517986,表示九个城市中,先经过城市2,再经过城市3,依此类推。

3)树形编码(用于遗传规划中的演化编程或者表示)

如,问题:给定了很多组输入和输出。请你为这些输入输出选择一个函数,使得这个函数把每个输入尽可能近地映射为输出。

编码方法:基因就是树形结构中的一些函数。

4)值编码(二进制编码不好用时,解决复杂的数值问题)

在值编码中,每个基因就是一串取值。这些取值可以是与问题有关任何值:整数,实数,字符或者其他一些更复杂的东西。

适应度函数。

遗传算法对一个个体(解)的好坏用适应度函数值来评价,适应度函数值越大,解的质量越好。适应度函数是遗传算法进化过程的驱动力,也是进行自然选择的唯一标准,它的设计应结合求解问题本身的要求而定。

如tsp问题,遍历各城市路径之和越小越好,这样可以用可能的最大路径长度减去实际经过的路径长度,作为该问题的适应度函数。

遗传算子——选择。

遗传算法使用选择运算来实现对群体中的个体进行优胜劣汰操作:适应度高的个体被遗传到下一代群体中的概率大;适应度低的个体,被遗传到下一代群体中的概率小。选择操作的任务就是按某种方法从父代群体中选取一些个体,遗传到下一代群体。

sga(基本遗传算法)中采用轮盘赌选择方法。

轮盘赌选择又称比例选择算子,基本思想:各个个体被选中的概率与其适应度函数值大小成正比。设群体大小为n,个体i的适应度为fi,则个体i被选中遗传到下一代群体的概率为:

遗传算子——交叉。

所谓交叉运算,是指对两个相互配对的染色体依据交叉概率按某种方式相互交换其部分基因,从而形成两个新的个体。交叉运算在ga中起关键作用,是产生新个体的主要方法。

1.单交叉点法(用于二进制编码)

选择一个交叉点,子代在交叉点前面的基因从一个父代基因那里得到,后面的部分从另外一个父代基因那里得到。

如:交叉前:

交叉后:

2.双交叉点法(用于二进制编码)

选择两个交叉点,子代基因在两个交叉点间部分来自一个父代基因,其余部分来自于另外一个父代基因。

如:交叉前:

交叉后:

3.基于“与/或”交叉法(用于二进制编码)

对父代按位”与”逻辑运算产生一子代a;按位”或”逻辑运算产生另一子代b。该交叉策略在解背包问题中效果较好。

如:交叉前:

交叉后:

4.单交叉点法(用于互换编码)

选择一个交叉点,子代的从初始位置出发的部分从一个基因复制,然后在另一个基因中扫描,如果某个位点在子代中没有,就把它添加进去。

如:交叉前:

交叉后:

5.部分匹配交叉(pmx)法(用于互换编码)

先随机产生两个交叉点,定义这两点间的区域为匹配区域,并用交换两个父代的匹配区域。

父代a:872|130|9546

父代b:983|567|1420变为:

tempa:872|567|9546

tempb:983|130|1420

对于tempa、tempb中匹配区域以外出现的数码重复,要依据匹配区域内的位置逐一进行替换。匹配关系:1536子代a:802|567|9143

子代b:986|130|5427

6.顺序交叉法(ox)(用于互换编码)

从父代a随机选一个编码子串,放到子代a的对应位置;子代a空余的位置从父代b中按b的顺序选取(与己有编码不重复)。同理可得子代b。

父代a:872|139|0546

父代b:983|567|1420

交叉后:子代a:856|139|7420

子代b:821|567|3904

7.循环交叉(cx)法(用于互换编码)

cx同ox交叉都是从一个亲代中取一些城市,而其它城市来自另外一个亲代,但是二者不同之处在于:ox中来自第一个亲代的编码子串是随机产生的,而cx却不是,它是根据两个双亲相应位置的编码而确定的。

父代a:123456789

父代a:546923781

可得循环基因:1->5->2->4->9->1

用循环的基因构成子代a,顺序与父代a一样。

学习心得体会物权法学习心得体会

三一文库 心得体会范文 学习心得体会 物权法学习心得体会 从xx年7月版本 物权法 草案 到xx年3月正式公布的 中华人民共和国物权法 以下分别简称 草案 和 物权法 之间的审议演变过程中,许多条款有了很大的变动。通过观察 研判这些变动痕迹,可以反映出立法者的立法宗旨和原意。非常值得我们学习 分析 ...

学习心得体会 物权法学习心得体会

从 年7月版本 物权法 草案 到 年3月正式公布的 中华人民共和国物权法 以下分别简称 草案 和 物权法 之间的审议演变过程中,许多条款有了很大的变动。通过观察 研判这些变动痕迹,可以反映出立法者的立法宗旨和原意。非常值得我们学习 分析 研究。通过观察 草案 和 物权法 中第六章内容之变动,发现了许...

学习心得体会六五普法学习心得体会

在过去的几十年里,全民普法教育为推动我国政治 经济 文化和社会各项事业的发展发挥了相当重要的作用,并正在为构建和谐社会发挥着巨大的法治保障作用。它继承和发展了马克思主义法学理论,同时根据我国国情赋予了新的历史使命,为社会主义法治国家建设指明了发展方向,是国家安定社会进步的基石。在整个普法期间,我坚持...