|
|
新人Show
| 论坛注册会员名: |
lux |
| 研究方向/专业工种: |
机电控制 |
| 课题项目/专业特长: |
matlab遗传算法 |
| 兴趣爱好: |
电影 |
| 居住地: |
北京 |
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
请教高手:编写一个基于遗传算法的函数寻优程序,完成如下任务:
, o4 A/ a" e+ E9 |' X$ g9 J& e( J3 g: R r, n8 I6 c8 L0 N8 h
1、在区间(0,2л)上搜索函数f1=x*|sin(x)|的最大值。
, o: c& f' ]$ Q" t" ~9 \! `* v" s, g, z/ R1 }, j) v
2、搜索函数 f2=20+x1^2+x2^2 -10(cos2pix1+cos2pix2) 的最小值* d5 Y. L* f X0 U, G
(其中,-5<x1,x2<5)! M% v u" D. C- O# Q
程序由选择、交叉和变异三个遗传操作及群体更新等主要算法模块以及随机函数发生器、译码、适应度评估模块组成。程序输入参数为群体规模、染色体长度,交叉概率,变异概率等。其中,群体规模的取值范围为2—100之间的任意偶数,染色体长度取不大于64的整数,交叉概率和变异概率的取值范围为[0,1]。输出数据包括每代最优个体码串、译码值、目标函数值以及用图形显示逐渐逼近最优解的过程 |
|