資源簡介
采用PSO和SA算法的結合,對函數進行智能優化!

代碼片段和文件信息
clear;
clc;
FitHd?=?@FitNess;
%?設置相關參數
Dim?=6;??????%?維數
SwarmNum?=?60;?%?種群規模
X_low?=?-200*ones(Dim?1);??%?x的下界
X_up?=?200*ones(Dim?1);????%?x的上界
V_max?=1*(X_up-X_low);???%?粒子移動的最大速度
w?=?0.8;?%?慣性權重
c1?=?2.0;?%?學習因子
c2?=?2.0;
MaxIter?=90000;%最大迭代數
wmin?=0;%%%%%%%%%%%%%%%?0.8;慣性權重的最小值
wmax?=?0.8;
Err?=1;?%?誤差平方和的允許范圍,適應值的允許值
Times?=20;%算法運行的次數
fbest?=?zeros(Times1);
PSOSATrainTimes?=?zeros(Times?1);
fGbest?=?PSOSATrainTimes;
for?k?=?1:1:Times
????[PSOSAxGbest?PSOSAfGbest(k)?PSOSATrainTimes(k)]?=?PSOSA(FitHd?Dim?SwarmNum...
????????????????????MaxIter?w?c1?c2??X_low?X_up?V_max?Err);
????if(PSOSAfGbest(k)15.2106)
????????disp(‘最優適應度:\n‘);
????????outFit=PSOSAfGbest(k)
????????disp(‘最優位置:\n‘);
????????outX=PSOSAxGbest
%????????break;???????
????end?????
end
t=?1:1:Times;
plot(tPSOSAfGbest‘*‘);
%?%-----------------------fitness---------------------------%
%?save?PSOXORNNDate.mat?PSOSAxGbest?PSOSAfGbest?-append;
%?indexf?=?find(PSOSAfGbest?%?PSOSASR?=?length(indexf)/Times
%?%?temp?=?PSOSAfGbest(indexf);
%?%?fGbest?=?temp;
%?%?PSOSAfGbMin?=?min(fGbest)
%?%?PSOSAfGbMean?=?mean(fGbest)
%?%?PSOSAfGbMax?=?max(fGbest)
%?%?PSOSAfGbStd?=?std(fGbest)
%?%%--------------精度---------------%%
%?PSOSAfGbMin?=?min(PSOSAfGbest)
%?PSOSAfGbMean?=?mean(PSOSAfGbest)
%?PSOSAfGbMax?=?max(PSOSAfGbest)
%?PSOSAfGbStd?=?std(PSOSAfGbest)
%?%%--------------------------------%%
%?save?PSOXORNNDate.mat?PSOSASR?PSOSAfGbMin?PSOSAfGbMean?PSOSAfGbMax?PSOSAfGbStd?-append;
%?fprintf(fid?‘%s\n\n‘?[‘PSOSA的成功率為:?‘?num2str(PSOSASR)??‘??最小適應值為:?‘?num2str(PSOSAfGbMin)...
%?????‘??平均適應值為:?‘?num2str(PSOSAfGbMean)??‘??最大適應值為:?‘?num2str(PSOSAfGbMax)...
%?????‘??方差為:?‘?num2str(PSOSAfGbStd)]);
%?%-----------------------times---------------------------%
%?save?PSOXORNNDate.mat??PSOSATrainTimes??-append;
%?%?index?=?find(PSOSATrainTimes?%?%?SR?=?length(index)/Times
%?%?temp?=?PSOSATrainTimes(index);
%?%?fGbest?=?temp;
%?PSOSATrainTimesMin?=?min(PSOSATrainTimes)
%?PSOSATrainTimesMean?=?mean(PSOSATrainTimes)
%?PSOSATrainTimesMax?=?max(PSOSATrainTimes)
%?PSOSATrainTimesStd?=?std(PSOSATrainTimes)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-03-21?20:35??PSOSA5\
?????文件????????2165??2011-05-29?21:51??PSOSA5\Curve.asv
?????文件????????2298??2011-05-29?19:18??PSOSA5\Curve.m
?????文件?????????624??2011-05-26?21:58??PSOSA5\FitNess.asv
?????文件?????????624??2011-05-26?22:00??PSOSA5\FitNess.m
?????文件????????2189??2011-05-29?21:55??PSOSA5\main.m
?????文件????????1313??2011-05-29?21:26??PSOSA5\plotcurve.asv
?????文件????????1263??2011-05-29?21:34??PSOSA5\plotcurve.m
?????文件????????2818??2011-05-28?10:43??PSOSA5\PSOSA.asv
?????文件????????2831??2011-05-28?15:53??PSOSA5\PSOSA.m
評論
共有 條評論