⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ga_optimal_example.txt

📁 GA结合BP算法
💻 TXT
字号:
p=[1.5/7  1/5  1.5/7;
   1.5/7  4/5  5/7;
   3/7    1/5  3/7;
   3/7  2/5  5/7;
   5/7  1/5  5/7;
   5/7  2/5  1.5/7;
   5/7  4/5  3/7
]';

t=[1621.7/4000;1790.1/4000;1932.6/4000;2123.7/4000;1862.1/4000;2138.5/4000;2268.9/4000]';
t1=[91.03/200;93.71/200;91.94/200;92.86/200;92.96/200;93.37/200;95.84/200]';

net=newff(minmax(p),[6,1],{'logsig','purelin'},'trainlm'); %构建网络 
net.trainParam.epochs=1000;  %单步求解时间
net.trainParam.goal=1e-5;  % 误差限定范围
net.trainParam.mc=0.000009;     %指定动量因子;
net=init(net);
LP.lr=0.1;   %指定学习速率;
netq=train(net,p,t); %用P1 对网络进行训练
netg=train(net,p,t1); 

%y1=sim(netq,p)
%y2=sim(netg,p)

global netg;
global netq;

lb=[1/7;1/5;1/7];
ub=[5/7;1;5/7];
ib=[1/7;1/5;1/7];
[x, fval, exitflag, output] = patternsearch(@fitness11,ib,[],[],[],[],lb,ub)

fprintf('The number of iterations was : %d\n', output.iterations);
fprintf('The number of function evaluations was : %d\n', output.funccount);
fprintf('The best function value found was : %g\n', fval);

function y1=f1(x)
global netq;
y1=sim(netq,x);

function y1=f2(x)
y1=x(1)+x(2)+x(3);

function max=f3(x)
global netg;
if 0>0.9-2*sim(netg,x)
  max=0;
else
  max=0.9-2*sim(netg,x);
end

function y=fitness11(x)
y=-0.7*f1(x)+0.3*f2(x)-20*f3(x);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -