資源簡介
用于工程優化,函數優化,求最優解 工程問題
代碼片段和文件信息
clc;
close?all;
nSize=10;??%?蝙蝠個體數
N_gen=1000;??%?總迭代次數
%?This?frequency?range?determines?the?scalings.?You?should?change?these?values?if?necessary
Qmin=0;?????????%?Frequency?minimum
Qmax=2;?????????%?Frequency?maximum
?
%?Iteration?parameters??迭代參數
N_iter=0;???????%?Total?number?of?function?evaluations??功能評價總數
%?Dimension?of?the?search?variables????搜索維數
Dim=2;???????????%?Number?of?dimensions
?
ALoud=1+rand(nSize1);????%?Loudness??(constant?or?decreasing)響度,按照p8要求產生[12]的隨機數
r=rand(nSize1);??????%?Pulse?rate?(constant?or?decreasing)脈沖率設置為[01]的隨機數
afa?=?0.85;???????????%響度弱化速率
rta?=?0.9;???????????%脈沖率增強系數
r0?=?r;
tol?=?1e-9;??????????%最小的計算誤差
%?Lower?limit/bounds/?a?vector
Lb=-2*ones(1Dim);???
%?Upper?limit/bounds/?a?vector
Ub=2*ones(1Dim);
%?Initializing?arrays??初始化數組
Q=zeros(nSize1);???%?Frequency?頻率
v=zeros(nSizeDim);???%?Velocities?速度
Sol?=?zeros(nSizeDim);?
Fitness?=?zeros(nSize1);
MinVal?=?zeros(N_gen1);
%?Initialize?the?population/solutions
for?i=1:nSize
??Sol(i:)=Lb+(Ub-Lb).*rand(1Dim);??%rand(m*n)會生成??m*n的矩陣,矩陣元素是[010]隨機數
??Fitness(i)=Fun(Sol(i:));
end
%?Find?the?initial?best?solution
[fminiBest]=min(Fitness);???%iBest記錄取得fmin的Fitness的位置,而這位置正是Sol中解的位置;fmin是Fitness中最小的值
best=Sol(iBest:);???????????%記錄最好的解
?
%?Start?the?iterations?--?Bat?Algorithm?(essential?part)??%
itr?=?0;??%統計進化的
- 上一篇:pcnn圖像去噪
- 下一篇:太陽能電池板MATLAB模型
評論
共有 條評論