登录论坛

查看完整版本 : 求助:基于BP神经网络模型的遗传算法多参数优化程序


austin2008
2009-08-21, 13:13
%BP神经网络的建立

P %训练数据的输入
T %训练数据的输出
nntwarn off
[Pn,minP,maxP,Tn,minT,maxT]=premnmx(P,T);

%创建网络
net=newff(minmax(Pn),[15,1],{'tansig','purelin'},'trainlm');
%设置训练参数
net.trainParam.show=50;
net.trainParam.lr=0.05;
net.trainParam.epochs=1000;
net.trainParam.goal=0.001;
%训练网络
net=train(net,Pn,Tn);
yn=sim(net,Pn)
y=postmnmx(yn,minT,maxT)
save BPnet net %保存网络




load BPnet
Y=sim(net,X);%X=[x1 x2 x3 x4 x5 ] ,维数与训练的输入P相同
%Y=f(X) Y与X的关系是通过BP神经网络训练出来的。


现在我想用遗传算法对上述模型进行优化,使得x1,x2,x3,x4,x5五个变量适当组合使得Y为最大值。x1∈[30,100],x2∈[5,12],x3∈[25,33],x4∈[15,25],x5∈[19,30]

我现在不知道怎么定义遗传算法的适应值函数f(x),使得遗传算法程序能对多变量(x1,x2,x3,x4,x5)进行优化,麻烦热心的朋友给个解决的办法或建议,另外是用二进制编码还是实数编码我也不是很清楚,若有提供相关的例子和源码那就更加感激了,用遗传算法工具箱又该怎么做呢?我是新手,还请诸位多多关照

anbcjys
2009-08-28, 10:08
你说的y最佳值是什么意思 如何算最佳 应该有个判定标准吧

austin2008
2009-09-05, 12:16
不好意思,那里打错字了,应该是Y为最大值!