研究生作业_基于遗传算法优化多元多目标函数的matlab实现.pdf
文本预览下载声明
精品文档
南 京 航 空 航 天 大 学
共 8 页 第 1 页
学院:航空宇航学院 姓名 : 魏德宸
基于遗传算法优化多元多目标函数的 MATLAB实现
0. 引言
现实生活中的很多决策问题都要考虑同时优化若干个目标 , 而这些目标之间有时是彼此约束,
甚至相互冲突 , 这样就需要从所有可能的方案中找到最合理、最可靠的解决方案。而遗传算法是模
拟达尔文的遗传选择和自然淘汰的生物进化过程的一种新的迭代的全局优化搜索算法 , 它能够使
群体进化并行搜寻多个目标 , 并逐渐找到问题的最优解。
1. 问题描述
变量维数为 5,含有 2 个优化目标的多目标优化问题表达式如下
对于该问题, 利用权重系数变换法很容易求出最优解, 本题中确定 f 1 和 f 2 的权重系数都为 0.5 。
2. 遗传算法
2.1 遗传算法简述
遗传算法的基本原理是通过作用于染色体上的基因寻找好的染色体来求解问题,它需要对算
法所产生的每个染色体进行评价,并基于适应度值来选择染色体,使适应性好的染色体有更多的
繁殖机会,在遗传算法中,通过随机方式产生若干个所求解问题的数字编码,即染色体,形成初
始种群;通过适应度函数给每个个体一个数值评价,淘汰低适应度的个体,选择高适应度的个体
参加遗传操作,经过遗产操作后的个体集合形成下一代新的种群,对这个新的种群进行下一轮的
进化。
2.2 遗传算法的过程
遗传算法的基本过程是:
1. 初始化群体。
2. 计算群体上每个个体的适应度值
3. 由个体适应度值所决定的某个规则选择将进入下一代个体。
4. 按概率 Pc 进行交叉操作。
5. 按概率 Pm进行变异操作。
6. 没有满足某种停止条件,则转第 2 步,否则进入第 7 步。
.
精品文档
7. 输出种群中适应度值最优的染色体作为问题的满意解或最优界。
8. 遗传算法过程图如图 1:
图 1 遗传算法过程图
3. 遗传算法 MATLAB代码实现
本题中控制参数如下:
(1)适应度函数形式 FitnV=ranking(ObjV) 为基于排序的适应度分配。
(2 )交叉概率取为一般情况下的 0.7 ,变异概率取其默认值 .
(3)个体数目分别为 2000 和 100 以用于比较对结果的影响。
(4 )最大遗传代数参考值分别为 80 和 20.
(5)因含有 5 个未知数,故变量维数为 5.
(6)因取值范围较小,变量的二进制数目为 20.
(7)代沟设置为 0.9.
3.1 初始化及其他准备工作
.
精品文档
区域描述器 FieldD 描述染色体的表示和解释, 每个格雷码采用 20 位二进制。 5 个变量的区间
和边界定义如上述所示。
3.2 计算适应度值
计算适应度值是由根据程序 FitnV=ranking(ObjV) 来实现的, 对这个等级评定算法的缺省设置
时选择压差为 2 和使用线性评估,给最适应个体的适应度值为 2,最差个体的适应度值为 0,适应
度值结果由向量 F
显示全部