matlab数学建模-遗传算法基本原理

目录

1.遗传操作

2.选择

3.交叉

4.变异

5.终止条件


1.遗传操作

对群体里的个体,按照环境适应度,施加一定的操作,实现优胜劣汰的进化过程。

可以使得问题一代一代的优化,逼近最优解。

三基本遗传算子:选择、交叉 和 变异。

个体遗传算子的操作在扰动情况下进行,向最优解迁移的规则是随机的,这种随机化操作是高校有向的搜索,而不是传统随机搜索那种无向搜索。

操作效果,与三种遗传算子所取 操作概率、编码方法、群体大小、初始群体和适应度函数的设定密切相关。

2.选择

选择的目的是把优化算子遗传到下一代,或配对交叉产生新的个体再遗传到下一代。

选择操作建立在个体的适应度评价之上。

常用选择算子:适应度比例、随机遍历抽样、局部选择。

3.交叉

交叉是起到核心作用的遗传操作。

把两个父代结构替换重组,生成新个体。通过交叉,搜索能力得到飞速提高。

1)实值重组:离散重组、中间重组、线性重组、扩展线性重组。

2)二进制交叉:单点交叉、多点交叉、均匀交叉、洗牌交叉、缩小代理交叉。

单点交叉:设一个交叉点,交叉点前后的个体的部分互换,生成两个新个体。

A 0101 (交叉点) 000

B 0111  (交叉点) 101

生成C,D

C 0101 101

D 0111 000

4.变异

按个体编码表示方法,分实值变异和二进制变异。

变异算子操作步骤:

1)对所有个体事先设定概率判断是否变异。

2)对变异个体,随机选择变异位进行变异。

变异目的:

1)使遗传算法有局部的搜索能力

2)使遗传算法维持群体多样性,放置出现未成熟收敛。

交叉算子作为主要算子,变异算子因其局部搜索能力是辅助算子,相互配合,所以兼顾全局和局部搜索能力。

相互配合:群体在进化中,线图某个搜索空间或超平面,依靠交叉不能摆脱,通过变异可以帮助摆脱。

相互竞争:交叉形成的积木块,可能被变异破坏,有效配合交叉和变异操作是遗传算法的重要研究内容。

基本变异算子,挑出一个或者几个基因座,对基因值做变动。

1010 变异后 1011

变异率很小,一般取0.001到0.01

5.终止条件

最优个体适应度达到阈值、最优个体或群体的适应度不再上升、迭代次数达到预设次数,算法终止。

你可能感兴趣的:(matlab数学建模,matlab,算法,开发语言)