ZKX's LAB

如何求解无约束最优化问题 matlab无约束最优化的使用

2021-04-06知识26

matlab无约束最优化的使用,最优化方法主要是为了解决从多个方案中选择最合适的,而在本经验中主要介绍的是无约束的最优化的使用,如下:

在MATLAB中用神经网络算法求解无约束最优化问题 程序一:GA训练BP权值的主函数 function net=GABPNET(XX,YY)%使用遗传算法对BP网络权值阈值进行优化,再用BP算法训练网络%数据归一化预处理 nntwarn off XX=[1:19;2:20;3:21;4:22]';YY=[1:4];XX=premnmx(XX);YY=premnmx(YY);YY%创建网络 net=newff(minmax(XX),[19,25,1],{'tansig','tansig','purelin'},'trainlm');下面使用遗传算法对网络进行优化 P=XX;T=YY;R=size(P,1);S2=size(T,1);S1=25;隐含层节点数 S=R*S1+S1*S2+S1+S2;遗传算法编码长度 aa=ones(S,1)*[-1,1];popu=50;种群规模 save data2 XX YY%是将 xx,yy 二个变数的数值存入 data2 这个MAT-file,initPpp=initializega(popu,aa,'gabpEval');初始化种群 gen=100;遗传代数%下面调用gaot工具箱,其中目标函数定义为gabpEval[x,endPop,bPop,trace]=ga(aa,'gabpEval',[],initPpp,[1e-6 1 1],'maxGenTerm',gen,.'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]);绘收敛曲线图 figure(1)plot(trace(:,1),1./trace(:,3),'r-');hold on plot(trace(:,1),1./trace(:,2),'b-');xlabel('Generation');ylabel('Sum-Squared Error');figure(2)plot(trace(:,1),trace(:,3),'r-');hold on plot。

如何用matlab求解非线性约束优化问题,对于非线性约束的优化问题,matla有个很好的函数fmico可以很容易解决。之前一个经验已经详细介绍了fmico的用法,下面通过一个例子来。

#如何求解无约束最优化问题

随机阅读

qrcode
访问手机版