遗传算法及其应用实例

频道:生活应用 日期: 浏览:22

第1页共20页

遗传算法及其应用示例

遗传算法是美国密歇根大学荷兰的一种遗传算法

教授(1969)提出了它,后来又通过了De Jong(1975),Goldberg(1989)等。

NASUS摘要形成的一种模拟演化算法。

通过遗传算法搜索最佳溶液的方法是模仿生物的进化过程,也就是说

与染色体交叉和突变已完成。遗传算法主要使用选择算子,

跨操作员和突变操作员模拟生物学进化,从而产生几代人群

()x t。

(1)选择操作员:这是一个模拟自然选择的操作,反映了原始的“优胜品生存”

原因。它基于每个人的适应性,根据某些规则或方法,来自T生成人群

()x t选择一些优秀的个人(或作为父母,或者让他们继承给下一代

组(1)X T)。

(2)跨操作员:是模拟有性繁殖的基因重组操作,将从人群中得出

()x t每个选定的母体对它们之间的部分基础与一定的交叉概率交换

因为。

(3)变异算子:这是一种模拟基因突变的遗传操作。它使用人口()x t

每个人都会改变特定基因座或某些基因座的基础,并具有一定的变化概率

因为值是其他等位基因。

跨算子和突变算子的作用是重组染色体基因以产生新的基因。

个人。

第2页共20页

遗传算法的计算过程如下:

步骤1(初始化)

确定人口大小n,交叉概率

P,突变的概率

P和终止进化标准;

n个个体作为初始种群(0)x产生;设置0 t。

步骤2(个人评估)

计算和评估()x t中个体的适应性。

步骤3(流行进化)

3.1。选择(母亲)使用()x t选择算子来选择 / 2 m

(Mn)。

3.2。选择的交叉对 / 2 M对父母,概率

p执行跨界以形成m

一个中间人。

3.3。独立使用M中级个体的概率

P执行变化以形成M

候选人。

3.4。根据上面形成的M候选人的适应性选择(门徒)

n个个体被选择形成新一代人(1)x t。

步骤4(终止检查)

如果已满足终止标准kaiyun全站网页版登录,则输出为(1)x t中最大适合度的个体

最佳解决方案,终止计算,否则设置了1 tt,然后转到步骤2。

上述计算过程只是根据实际条件的遗传算法的各种实施方法之一

不同的问题是不同的,遗传算法的实施也不同。

第3页,共20页

遗传算法具有出色的优势,例如一般,平行,健壮,简单和全球优化功能。

优点,适合解决复杂且困难的全球优化问题。

优化问题称为复杂,通常是指具有以下特征之一:

(1)目标函数没有明确分析表达(例如非数字优化问题)。

(2)尽管目标函数明确表示,但不可能得到准确的评价(例如大多数最多的

最佳控制问题,财务优化问题)。

(3)目标函数具有许多峰(例如DNA计算和组合优化问题)。

(4)多目标优化,即目标函数是向量值。

优化问题称为困难,通常是指:或目标函数F不得

连续,非差异,高度非线性或优化问题是困难的组合问题。

对于这些复杂而困难的优化问题,可能根本不可能使用已知的优化方法

使用或可用但无效。相比之下kaiyun全站登录网页入口,遗传算法不仅可以保证可用,还可以

通常看起来更有效。

但是,我们必须指出,一般且较少依赖目标函数价值和

其他辅助信息算法无法充分利用目标函数值和相关的辅助信息。

辅助信息的算法更有效,当问题具有某些可用的辅助信息时,

也不需要放弃可用于将其应用于信息独立算法的信息。

这是一个明智的选择。因此,遗传算法通常不适合通常的应用。

数值优化问题(例如连续可区分的数学计划问题),或者应用于

在这个问题中,遗传算法并不总是显示出其优越性。

第4页,共20页

接下来,我们将通过求解简单函数的最小值来进行初步开发。

遗传算法的详细实施方法:

问题1:

在[0,2] x间隔上找到函数()11sin(6)7cos(5)fxxxx的最小值点(5)。

上图是[0,2] x间隔上的函数()11SIN()11SIN()11SIN(6)7cos(5)fxxxx的曲线图像

可以看出,此功能具有多个极端要点,并且易于使用其他搜索方法。

偶然发现当地的最低点,找不到真正的全球最小点,但是遗传算法可以

更好地弥补了这个缺陷。遗传算法的具体实现如下:

1。问题分析。对于此问题,可以将自变量x抽象成个体的基因组,

也就是说,使用二进制编码表示x;函数值()fx可以抽象为个人的适应性,函数

值越小,健身越高。

关于二进制编码方法,可以在允许的准确性范围内设置间隔内的无。

0 1 2 3 4 5 6 7

-20

-15

-10

-5

10

15

20

第5页共20页

较差的点被有限的点所取代,其间隔足够小,以减少计算量并确保准确性损失。

损失不大。如果使用16位二进制数来表示此间隔中的点,则相邻点之间的间隔仅为

16

2 0

9.5875 10

21



,相邻点的功能值的变化已经很小,这导致

准确性损失是完全可以接受的。

另一个问题是普通的二进制编码方法可能具有较大的汉明

(锤)距离,例如,15和16表示为01111和10000,

所有位必须从15更改为16,此缺陷将降低遗传算法的搜索效率。

通过使用灰色编码可以避免此缺陷。灰色代码的特征是

在任何两个连续整数的编码值之间,只有一个位是不同的,而另一个位是

他们都是完全一样的。灰色编码的原则如下:

有二进制字符串

1 2 n

BB B,对应的灰色弦

1 2 n

AAA,用二进制编码

对灰色代码的转换是

kaiyun全站app登录入口,1

,1

ii

BBI



从编码到二进制编码到

()mod2

IJ

BA

例如,下表显示了0-15的灰色代码:

0 1 2 3 4 5 6 7

0000 0001 0011 0010 0110 0111 0101 0100

8 9 10 11 12 13 14 15

1100 1101 1111 1110 1010 1011 1001 1000

2。根据遗传算法的计算过程编写程序。

%f(x)= 11sin(6x) + 7cos(5x),0

网友留言(0)

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。