91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-07
  • 語言: Matlab
  • 標簽: PSO??Matlab??

資源簡介

大學教授編寫的粒子群算法代碼,MATLAB實現。通用性好,函數參數模塊化,有詳細的注釋,便于移值。直接定義自己的目標函數(適應度函數、代價函數)即可使用。

資源截圖

代碼片段和文件信息

%
%?Copyright?(c)?2016?Yarpiz?(www.yarpiz.com)
%?All?rights?reserved.?Please?read?the?“license.txt“?for?license?terms.
%
%?Project?Code:?YTEA101
%?Project?title:?Particle?Swarm?Optimization?Video?Tutorial
%?Publisher:?Yarpiz?(www.yarpiz.com)
%?
%?Developer?and?Instructor:?S.?Mostapha?Kalami?Heris?(Member?of?Yarpiz?Team)
%?
%?Contact?Info:?sm.kalami@gmail.com?info@yarpiz.com
%

function?out?=?PSO(problem?params)

????%%?Problem?Definiton

????CostFunction?=?problem.CostFunction;??%?Cost?Function

????nVar?=?problem.nVar;????????%?Number?of?Unknown?(Decision)?Variables

????VarSize?=?[1?nVar];?????????%?Matrix?Size?of?Decision?Variables

????VarMin?=?problem.VarMin; %?Lower?Bound?of?Decision?Variables
????VarMax?=?problem.VarMax;????%?Upper?Bound?of?Decision?Variables


????%%?Parameters?of?PSO

????MaxIt?=?params.MaxIt;???%?Maximum?Number?of?Iterations

????nPop?=?params.nPop;?????%?Population?Size?(Swarm?Size)

????w?=?params.w;???????????%?Intertia?Coefficient
????wdamp?=?params.wdamp;???%?Damping?Ratio?of?Inertia?Coefficient
????c1?=?params.c1;?????????%?Personal?Acceleration?Coefficient
????c2?=?params.c2;?????????%?Social?Acceleration?Coefficient

????%?The?Flag?for?Showing?Iteration?Information
????ShowIterInfo?=?params.ShowIterInfo;????

????MaxVelocity?=?0.2*(VarMax-VarMin);
????MinVelocity?=?-MaxVelocity;
????
????%%?Initialization

????%?The?Particle?Template
????empty_particle.Position?=?[];
????empty_particle.Velocity?=?[];
????empty_particle.Cost?=?[];
????empty_particle.Best.Position?=?[];
????empty_particle.Best.Cost?=?[];

????%?Create?Population?Array
????particle?=?repmat(empty_particle?nPop?1);

????%?Initialize?Global?Best
????GlobalBest.Cost?=?inf;

????%?Initialize?Population?Members
????for?i=1:nPop

????????%?Generate?Random?Solution
????????particle(i).Position?=?unifrnd(VarMin?VarMax?VarSize);

????????%?Initialize?Velocity
????????particle(i).Velocity?=?zeros(VarSize);

????????%?Evaluation
????????particle(i).Cost?=?CostFunction(particle(i).Position);

????????%?Update?the?Personal?Best
????????particle(i).Best.Position?=?particle(i).Position;
????????particle(i).Best.Cost?=?particle(i).Cost;

????????%?Update?Global?Best
????????if?particle(i).Best.Cost?????????????GlobalBest?=?particle(i).Best;
????????end

????end

????%?Array?to?Hold?Best?Cost?Value?on?Each?Iteration
????BestCosts?=?zeros(MaxIt?1);


????%%?Main?Loop?of?PSO

????for?it=1:MaxIt

????????for?i=1:nPop

????????????%?Update?Velocity
????????????particle(i).Velocity?=?w*particle(i).Velocity?...
????????????????+?c1*rand(VarSize).*(particle(i).Best.Position?-?particle(i).Position)?...
????????????????+?c2*rand(VarSize).*(GlobalBest.Position?-?particle(i).Position);

????????????%?Apply?Velocity?Limits
????????????particle(i).Velocity?=?max(particle(i).Velocity?MinVelocity);
????????????particle(i).Velocity?=?min(particle(i).Velocit

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????4316??2016-05-20?03:16??PSO.m
?????文件????????1415??2016-05-20?03:16??pso1.m
?????文件?????????448??2016-05-20?03:15??Sphere.m

評論

共有 條評論