資源簡介
粒子群算法,也稱粒子群優(yōu)化算法,縮寫為 PSO, 是由J. Kennedy和R. C. Eberhart等開發(fā)的一種新的進化算法,PSO 算法屬于進化算法的一種,和模擬退火算法相似,它也是從隨機解出發(fā),通過迭代尋找最優(yōu)解,它也是通過適應(yīng)度來評價解的品質(zhì),但它比遺傳算法規(guī)則更為簡單,它沒有遺傳算法的“交叉”(Crossover) 和“變異”(Mutation) 操作,它通過追隨當前搜索到的最優(yōu)值來尋找全局最優(yōu)。這種算法以其實現(xiàn)容易、精度高、收斂快等優(yōu)點引起了學(xué)術(shù)界的重視,并且在解決實際問題中展示了其優(yōu)越性。
代碼片段和文件信息
%?定義PSO函數(shù)
function?out?=?PSO(problem?params)
????%%?讀取problem變量的值
????CostFunction?=?problem.CostFunction;??%?目標函數(shù)
????nVar?=?problem.nVar;????????%?決策變量個數(shù)
????VarSize?=?[1?nVar];?????????%?決策變量矩陣大小
????VarMin?=?problem.VarMin; %?決策變量的取值的最小值
????VarMax?=?problem.VarMax;????%?決策變量的取值的最大值
????%%?讀取params變量的值
????MaxIt?=?params.MaxIt;???%?最大迭代次數(shù)
????nPop?=?params.nPop;?????%?種群數(shù)量
????w?=?params.w;???????????%?慣性系數(shù)w
????wdamp?=?params.wdamp;???%?每次迭代改變慣性系數(shù)
????c1?=?params.c1;?????????%?個體理性系數(shù)c1
????c2?=?params.c2;?????????%?群體理性系數(shù)c2;?????????本文設(shè)r1r2為區(qū)間(0,1)的隨機數(shù)
????%?判斷是否顯示迭代信息
????ShowIterInfo?=?params.ShowIterInfo;????
????
????%?定義速度的上下界
????MaxVelocity?=?0.2*(VarMax-VarMin);
????MinVelocity?=?-MaxVelocity;
????
????%%?初始化
????
????%?粒子的性質(zhì)
????empty_pa
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1073??2019-02-02?00:44??pso1.m
?????文件?????????53??2019-01-30?21:16??Sphere.m
?????文件???????4254??2019-02-02?00:52??PSO.m
-----------?---------??----------?-----??----
?????????????????5380????????????????????3
評論
共有 條評論