下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.函数优化4x122.仅143x6,2,4 x?2 4x2 4x2该二元6次函数式一个多峰函数,共有6个极值,其中有两个极值点对应的 函数取值为最小值。试求解函数的极值点(1)设计思路本题采用遗传算法,遗传算法搜索最优解的方法是模仿生物的进化过程,遗传算法主要使用选择算子、交叉算子与变异算子来模拟生物进化,从而产生一代又一代的种群。遗传算法具有通用、并行、稳健、简单与全局优化能力强等突 出优点,适用于解决复杂、困难的全局优化问题(2)程序流程图(3)实验程序function objV=objectFunction(pop) m=size(pop,1);for i=1:mobjV(i,1)=4
2、*pop(i,1)A2-2.1*pop(i,1)A4+(1/3)*pop(i,1)A6+pop(i,1)*pop(i,2)-4*po p(i,2)A2+4*pop(i,2)A4;end%J始化clc;clear;pc=0.7;pm=0.05;NIND=20;MAXGEN=1000;NVAR=2;PRECI=40;GGAP=0.9;短叉率%变异率%个体数目%最大遗传代数%变量维数峨量二进制数%弋沟trace_min=zeros(MAXGEN,1);trace_max=zeros(MAXGEN,1);%每代极小值%!代极大值%#群初始化FieldD=rep(PRECI,1,NVAR);-1,-1;
3、1,1;rep(1;0;1;1,1,NVAR);%K 域扫描Chrom=crtbp(NIND,NVAR*PRECI);%计算第0代函数适应度,寻找最优个体gen=0;pop=bs2rv(Chrom,FieldD);objV=objectFunction(pop);minY=min(objV);%各二进制初始种群转化为十进制%计算函数适应度%i数适应度最小值即函数最小值maxY=max(objV);POP(:,:,gen+1)=pop(1:end,1:end);%进化过程while gen<MAXGENFitnV=ranking(-objV);SelCh=select('sus
4、39;,Chrom,FitnV,GGAP);%择SelCh=recombin('xovsp',SelCh,pc);%!组SelCh=mut(SelCh,pm);藏异popnew=bs2rv(SelCh,FieldD);渤一代种群objVSel=objectFunction(popnew); % 计算子代目标函数值 Chrom,objV=reins(Chrom,SelCh,1,1,objV,objVSel); gen=gen+1; if minY>min(objV)%W找当前极小值minY=min(objV);y,i=min(objV);x=bs2rv(Chrom,Fiel
5、dD);xmin(1,:)=x(i,:);disp('对应最小自变量取值:',num2str(x(i,:)disp('对应最小值:',num2str(y)%输出最优个体%输出最优个体endif maxY<max(objV)%!找当前极大值maxY=max(objV);Y,I=max(objV);X=bs2rv(Chrom,FieldD);xmax(1,:)=X(I,:);disp('对应最大自变量取值:',num2str(X(I,:)disp('对应最大值:',num2str(Y)end%俞出最优个体%俞出最优个体trace
6、_min(gen,1)=minY;trace_max(gen,1)=maxY;end%画图%保存当前极小值%呆存当前极大值figureplot(1:gen,trace_min(:,1); hold on%画进化过程图plot(1:gen,-1.031570364,'r-');figure(2)plot(1:gen,trace_max(:,1);hold on%i标函数在区间最小值plot(1:gen32333,'r-');%目标函数在区间最大值(4)运行结果优化函数如图所示:由优化函数图可知,此函数存在 2个极小值点,4个极大值点4个最大值为:对应x1,x2最大
7、自变量取值:-0.99543-0.91298对应函数最大值:2.5798对应x1,x2最大自变量取值:-0.92829-0.99328对应函数最大值:2.97对应x1,x2最大自变量取值:-0.989-0.99817对应函数最大值:3.1879对应x1,x2最大自变量取值:-0.99168-0.99925对应函数最大值:3.20472个最小值为:对应x1,x2最小自变量取值:-0.0447820.76447对应函数最小值:-0.99772对应x1,x2最小自变量取值:0.11984-0.66623对应函数最小值:-1.01022.体重约70kg的某人在短时间喝下2瓶啤酒后,隔一段时间测量他的血
8、液中酒精含量(mg/100mL),得到以下数据:时间/(h)0.250.50.7511.522.533.544.5567酒精含量/3068758282776868585150413835时间/(h)8910111213141516酒精含量282518151210774根据酒精在人体血液分解的动力学规律可知,血液中酒精浓度与时间的关系可表示为:qt rtk e e试根据表中数据求出参数k、q、r。(1)设计思路本题采用遗传算法,遗传算法搜索最优解的方法是模仿生物的进化过程,遗传算法主要使用选择算子、交叉算子与变异算子来模拟生物进化,从而产生一 代又一代的种群。遗传算法具有通用、并行、稳健、简单与
9、全局优化能力强等突 出优点,适用于解决复杂、困难的全局优化问题。(2)程序流程图(3)实验程序:%求函数适应度子程序function objV=objectFunction(pop,Data)m=size(pop,1);n=size(Data,1);for i=1:mfor j=1:nC0,1)=abs(pop(i,1)*(exp(pop(i,2)*(-1)*Data0,1)-exp(pop(i,3)*(-1)*Data0,1)-Data0,2); endobjV(i,1)=mean(C);end%求方差子程序function RESM=variance(a,a_1)M=size(a,1);y
10、=0;y_1=0;for i=1:My_1=y_1+(a(i,1)-a_1(i,1)A2; end RESM=sqrt(y_1/M);%交叉率 尬异率 %尸体数目%主程序 load Data %始化 pc=0.7; pm=0.05; NIND=500;%i大遗传代数MAXGEN=2000;NVAR=3;PRECI=20;GGAP=0.9;超量维数 被量二进制数%弋购trace=zeros(MAXGEN,1);%!代最优值%中群初始化FieldD=rep(PRECI,1,NVAR);100,0,0;150,1,3;rep(1;0;1;1,1,NVAR);烬域扫描呢建初始种群Chrom=crtbp
11、(NIND,NVAR*PRECI);%计算第0代函数适应度,寻找最优个体gen=0;%各二进制初始种群转化为十进制%计算函数适应度%函数适应度最小值即最优值pop=bs2rv(Chrom,FieldD);objV=objectFunction(pop,Data);minY=min(objV);%进化过程while gen<MAXGENFitnV=ranking(-objV);SelCh=select('sus',Chrom,FitnV,GGAP);SelCh=recombin('xovsp',SelCh,pc);SelCh=mut(SelCh,pm);po
12、pnew=bs2rv(SelCh,FieldD);objVSel=objectFunction(popnew,Data); %处择%1组异名新一代种群计算子代目标函数值Chrom,objV=reins(Chrom,SelCh,1,1,objV,objVSel);gen=gen+1;if minY>min(objV)%l找当前最优个体endminY=min(objV);trace(gen,1)=minY;% 呆存当前最优个体end%结果输出Y,I=min(objV);X=bs2rv(Chrom,FieldD);Xmin(1,:)=X(I,:);disp('对应自变量取值:,num2
13、str(X(I,:)喻出最优个体m=size(Data,1);for i=1:m喻出最优个体的函数拟合值Y(i,1)=Xmin(1,1)*(exp(-1)*Xmin(1,2)*(Data(i,1)-exp(-1)*Xmin(1,3)*(Data(i,1);ARE(i,1)=Data(i,2)-Y(i,1);endRESM=variance(Data(:,2),Y);disp('方差:',num2str(RESM)%十算方差%画图figure刎进化过程图plot(1:gen,trace(:,1);figure(2);%画出期望值与拟合值曲线plot(Data(:,1),Data(
14、:,2),'rd-'); hold onplot(Data(:,1),Y,'b*-')xlabel('时间');ylabel('酒精含量');legend('期望值',拟合值);figure(3)plot(Data(:,1),ARE,'rd-') xlabel('时间');ylabel('误差');(4)运行结果进行20次的多项式拟合后图如下:OTro的30明1=-七如月所以,对应自变量取值:k=113.3353q=0.1841013r=2.206932方差:3.37
15、483.设计一个神经网络,并对输入信号进行预测。输入为一线性调频信号,信号 采样时间为2s,采样频率为1000Hz,起始到信号的瞬时为0Hz, 1s时的瞬 时频率为150Hz。(1)本题采用三层BP神经网络。第一步,网络初始化。给各连接权值分别赋一个区间的随机数, 设定误差函数e,给定计算精度值和最大学习次数 Mo第二步,随机选取第2000个输入样本,前1900作为训练中¥本最后100做测 试。第三步,计算隐含层各神经元的输入和输出。第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元 的偏导数a。第五步利用隐含层到输出层的连接权值、 输出层和隐含层a的输出计算误差函数
16、对隐含层各神经元的偏导数 bo第六步,利用输出层各神经元的a和隐含层各神经元的输出来修正连接权值wo第七步:利用隐含层各神经元的 a和输入层各神经元的输入修正连接权。(2)神经网络算法流程图:(3)实验程序%设计一个神经网络,并对输入信号进行预测1s时的瞬时%信号采样时间为2s,采样频率为1000Hz ,起始到信号的瞬时为 0Hz,频率为150Hzclc;clear;time=0:0.001:2;y=chirp(time,0,1,150,'linear');y=y'time=time'm=size(y,1);%网络训练数据以前四个时刻预测第五个时刻fo门=1:1
17、896X(i,1)=y(i,1);X(i,2)=y(i+1,1);X(i,3)=y(i+2,1);X(i,4)=y(i+3,1);Y(i,1)=y(i+4,1); end %网络训练 s=size(Y,2);P=X't=Y'%数据归一化pn,minX,maxX=premnmx(p);%各数据归一化tn,minY,maxY=premnmx(t);%各数据归一化啕“练网络net=newf(minmax(pn),8,s,'tansig','purelin','trainlm');net.trainParam.goal=0.001;net
18、.trainParam.epochs=800;net=train(net,pn,tn);yn =sim(net,pn);Yn = postmnmx(yn,minY,maxY);y_train=Yn'%训练误差train_number=size(X,1);for i=1:train_numberARE(i,1)=Y(i,1)-y_train(i,1);end%网络测试数据fo门=1:97X_test(i,1)=y(i+1900,1);X_test(i,2)=y(i+1901,1);X_test(i,3)=y(i+1902,1);X_test(i,4)=y(i+1903,1);Y_test
19、(i,1)=y(i+1904,1);end%网络测试q=X_test'u=Y_test'qn=tramnmx(q,minX,maxX);y_tr=sim(net,qn);y_trr=postmnmx(y_tr,minY,maxY);y_test=y_trr'train_number=size(X,1);test_number=size(X_test,1);test_number=size(X_test,1);%测试误差for i=1:test_numberARE_1(i,1)=Y_test(i,1)-y_test(i,1);end%画图figure。); plot(Y,
20、'rd-');hold onplot(y_train,'b*-')legend('训练样本输出期望值,'训练样本输出预测值');axis(0 500 -1.5 1.5)figure(2);plot(Y,'rd-');hold onplot(y_train,'b*-')legend('训练样本输出期望值,'训练样本输出预测值);axis(501 1000 -1.5 1.5)figure(3);plot(Y,'rd-');hold onplot(y_train,'b*-&
21、#39;)legend('训练样本输出期望值,'训练样本输出预测值');axis(1001 1500 -1.5 1.5)figure(4);plot(Y,'rd-');hold onplot(y_train,'b*-')legend('训练样本输出期望值,'训练样本输出预测值');axis(1501 1900 -1.5 1.5)figure(5);plot(ARE,'b*-');axis(0 500 -0.2 0.2)figure(6);plot(ARE,'b*-');axis(50
22、1 1000 -0.2 0.2)figure(7);plot(ARE,'b*-');axis(1001 1500 -0.2 0.2)figure(8);plot(ARE,'b*-');axis(1501 1900 -0.2 0.2)figure(9);plot(ARE_1,'b*-');figure(10);plot(Y_test,'rd-');hold onplot(y_test,'b*-')(4)运行结果下图分别为0-1900样本分成4组的训练过程1.5训练样本输出期望值一训练样本输出预测值$ ¥播 ) 1+* + !:*:* If+.+ tt+.s*一 _ _ _wV'脚H +-*+室05010015020025030035040045050
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咖奶茶店奖惩制度
- 商场保安部奖惩制度
- 四六级奖惩制度
- 团队比赛奖惩制度
- 城监大队奖惩制度
- 外拓渠道指标奖惩制度
- 2026年平顶山工业职业技术学院单招职业适应性测试题库及答案详解(历年真题)
- 妇科科室奖惩制度
- 学期班班级奖惩制度
- 学校教研组奖惩制度
- GB/T 42706.4-2025电子元器件半导体器件长期贮存第4部分:贮存
- 10kV配电网电流保护系统设计
- 雨课堂在线学堂《信息素养-学术研究的必修课》作业单元考核答案
- 2025内蒙古单招计算机试题及答案
- 消防自动报警系统培训
- 消防思想政治教育
- 灭火系统运行管理规定细则
- 加油站防雷安全生产责任制度
- DB4201∕T 533.1-2017 清洁服务规范 第1部分:分类与一般要求
- 春秋三传经典常谈课件
- 学校后勤管理处行政部副主任2025年个人工作总结
评论
0/150
提交评论