📄 ga_optimal_example.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 + -