




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一-基于遗传算法的函数优 化人工智能实验报告实验一基于遗传算法的函数优化1、实验目的1)掌握Matl ab子函数的编写与调用。2)理解基本遗传算法的原理,并利用程序实现利用遗传算法优化非线性函数的解2、实验内容与实验要求1)掌握基本遗传算法方法原理。2)掌握matl ab子函数的编写方法及调用方法。3)根据基本遗传算法方法原理,编写Mat lab程序,优化非线性函数的解。4)设f(x) = x2 4x 1 ,求max f (x), x -2, 2,解的精度保留二位小数。3、实验要求1)自己独立编写Matlab函数。2)书写实验报告。3)分析实验结果,用图或表描述出迭代次数与适应度函数值的关
2、系曲线。4、实验设备1)计算机2) Matlab 软件5、实验结果及分析(1)编码和产生初始群体首先需要确定编码的策略,也就是说如何把-2, 2 区间内的数用计算机语言表示出来。采用二进制形 式来解决编码问题,即将某个变量值代表的个体表 示为一个0, 1二进制串。串的长度取决于求解的 精度,例如假设求解精度为保留两位小数,由于区 间-2, 2的长度为4,则必须将该区间分为 400 等分。因为2840029,所以编码所用的二进制串 至少需要9位。编码:二进制串 的映射:(b8b7b6b1b。)与-2, 2内实数298xbi2ii 0b8b7b6 b 1b0二进制串a=其对应的十进制数为:(101
3、000111)2327转化到-2, 2内的实数为:2 x,* 2910. 56产生初始群体:pop1=100011110吊% al001000010,% a2110000000,% a3% a4转化成-2, 2之间的十进制数即为:pop1=0.24,-1.48,1.01,1.05(2)定义适应函数和适应值,、f(x) Fmin,若 f (x) Fmin 0 g(x) 0,其他由于目标函数f(x)在-2, 2内的值有正有负,所 以必须通过建立适应函数与目标函数的映射关系, 保证映射后的适应值非负,而且目标函数的优化方 向应对应于适应值增大的方向,也为以后计算各个 体的入选概率打下基础。定义适应函
4、数:为了便于计算,这里的 Fmin采 用了一个特定的输入值,如果取 Fmin=-1,则 f(x)=1对应的适应值为 g(x)=2o上述随机产生的 初始群体,取Fmin=-1,则它们的目标函数值和适 应值分别为:f(pop1)= -0.02, 4.73, -4.06,-4.30g(pop1)=-1.02,3.73,5.06,-5.30)(3)确定选择标准1用适应值比例来作为入选概率。2设给定的规模为400的群体pop=ai, a2,. a400,个体ai的适应值为g(a),则其入选概 率为R(a)40g(a) (i 1,2,3,., 400)g(a) i 1上述随机产生的初始群体,它们的入选概率
5、分别为:p(pop1)=g(pop1)/sum(g(pop1)=0,1,0,0)(4)产生种群3将入选概率大的个体选入种群,淘汰概率小的 个体,并用概率最大的个体补入种群,得到与原 群体大小同样的种群。 TOC o 1-5 h z 4在上述随机产生的初始群体中,淘汰掉a3,再加入a2,得到新的种群(选择):newpop1=,%a1001000010,%a2001000010,%a2)%a4交叉:5交叉也就是将一组染色体上对应基因段的交 换得到新的染色体,然后得到新的染色体组, 组成新的群体。6将前面得到的 newpopl的四个个体两两配 对,重复的不配对,进行交叉(可以在任一位 进行交叉):变
6、异:变异就是通过一个小概率改变染色体位串上 的某个基因。7现把jchpopl中第3个个体中的第 5位改 变,就产生了变异,得到了新的群体pop2 :pop2=,然后对新的种群重复上述的选择、 交叉、变异,直 到满足终止条件为止。(5)实验结果:6、附录(Matlab函数)%fi传算法主函数%q:输出最佳个体自变量值 名迭代次数为400function q=GA()global best_in;global g_value;%K始化initilize();%初始化最佳个体的适应函数值for i=1:400g_value = 0.;end%迭代开始for k=1:1:100fitness(); %
7、适应函数操作calculate。;对出现概率小的个体进行淘汰,并保留最佳个体best_in的信息%计算每一次迭代中最佳个体的适应函数值aa,并赋给g_value(i)aa=0.;for j=1:9aa = aa+best_in(j).*2A(j-1);endg_value(k)=aa;selection();%选择操作crossover();%交叉操作mutation();%变异操作endplotGA();% 打印算法迭代过程%获得最佳个体变量值q = 0.;for j=1:9q = q+best_in(j).*2A(j-1);endq = -2+q*4./(2A9-1);q=-qA2-4*q
8、+1;%g果展示fprintf(最大值为:%3.2fn,q);clear i;clear j;clear q;%调用函数1附始化种群pop%种群大小400%染色体长度9%ran时随机数%rouncK 整function initilize()global pop;for i=1:400for j=1:9pop(i,j)=round(rand);endendclear i;clear j;%函数调用2%计算出适应函数值g(x)与函数 f(x)=-xA2-4x+1%. Fmin=-1%g(x)=-xA2-4x%value是pop种群中每个个体的适应值%将value中小于零的数都赋值为零functi
9、on fitness()global pop;global value;for i=1:400value(i) = 0.;for j=1:9if pop(i,j)=1value(i)= value(i)+pop(i,j)*2A(j-1);endendvalue(i)=-2.+ value(i)*4./(2A9-1);value(i)=-value(i)*value(i)-4.*value(i);if value(i)value(i)max=i+1;endendfor j=1:9best_in(j)=pop(max,j);end%求所有value值的总和加到table中求出平均值avg1,再求出
10、均值个体的出现概率 avgfor i=1:400if i=1table(i)=table(i)+value(i);elsetable(i)=table(i-1)+value(i);endendavg1=table(400)./400;avg=avg1./table(400);%(tvalue中每个个体出现的概率并且保留在 popl中for i=1:400popl(i)=value(i)./table(400);end for i=1:400if popl(i)avgfor j=1:9pop(i,j)=best_in(j);endendendclear i;clear q;clear j;cle
11、ar k;clear temp;clear max;clear avg1;%函数调用4%等popl (i ) =0的个体除去,并补上其相邻的不为0的pop%等新产生的群pop_newM终复制到popfunction selection()global pop;global popl;global best_in;pop_new(400,9)=0.;for i=1:400if popl(i)=0for j=1:9pop_new(i,j)=best_in(j);endelsefor j=1:9pop_new(i,j)=pop(i,j);endendendfor i=1:400for j=1:9po
12、p(i,j)=pop_new(i,j);endendclear i;clear j;clear m;clear n;%函数调用5%单点交叉操作%pop_size:种群大小%chromo_size: 染色体长度%cross_rate: 交叉概率function crossover()global pop%设置交叉概率为0.6cross_rate=0.6;fo门=1:2:399if(rand cross_rate)cross_pos = round(rand * 9);if or (cross_pos = 0, cross_pos = 1) continue;endfor j=cross_pos:
13、9temp = pop(i,j);pop(i,j) = pop(i+1,j);pop(i+1,j) = temp;endendendclear i;clear j;clear cross_pos;clear temp;%函数调用6%单点变异操作%pop_size:种群大小%chromo_size: 染色体长度%cross_rate: 变异概率function mutation() global pop;%设置变异概率为0.01mutate_rate=0.01;for i=1:400if rand mutate_ratemutate_pos = round(rand*9);if mutate_pos = 0 continue;endpop(i,mutate_pos) = 1 - pop(i, mutate_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年合同修改协议书
- 如何认定公司内设机构对外签订合同范本
- 2025年揭阳大车货运资格证考试题
- 会计初级商业合同标准文本
- 信息宣传培训合同标准文本
- 黄疸的健康宣教
- 2025新版广州市汽车购买合同范本
- 写给未来2035年的自己一封信6篇
- 加强自我激励的实践建议计划
- 供泵合同标准文本
- VTE的预防和治疗
- 和谐型机车坡道起车操纵办法细化措施
- 废旧物资管理办法-6
- 心安即是归处
- CNG撬车连接安全操作规程
- 和田十二法是什么
- 2023年北京定额及计算规则
- 安徽龙源风力发电有限公司龙源来安县三湾风电场项目环评报告表
- 全自动蜂窝纸板生产线介绍-美迅机械设备制造商
- 民营医院职称岗位工资级岗位招聘分级表
- 药品质量评审实施方案
评论
0/150
提交评论