Particle Swarm Optimization (PSO)

バージョン (2.68 KB) 作成者: Pramit Biswas
Searching/Tuning/Optimizing by Particle Swarm Optimization (PSO) method

ダウンロード 19.4K 件

更新 2020/3/4


This is simple basic PSO function.
This function is well illustrated and analogically programed to understand and visualize Particle Swarm Optimization theory in better way and how it implemented.
To run this you also need to have a function MinMaxCheck.m(File Id: #43251)
PSO Description:
Program Description:
% Bird_in_swarm=Number of particle=agents=candidate
% Number_of_quality_in_Bird=Number of Variable
% MinMaxRange: jx2 matrix; jth row contains minimum and maximum values of the jth variable
% say you have a variable N1
% which can have maximum value M1 and minimum value m1
% then your matrix will be [m1 M1]
% for more:
% [m1 M1; m2 M2; mj Mj]
% Food_availability=Objective function with one input variable (for more than one variable you may use array)
% example for two variable
% function f = funfunc(array)
% a=array(1);
% b=array(2);
% f = a+b ;
% end
% Food_availability is a string, for above example : 'funfunc'
% availability_type is string 'min' or 'max' to check depending upon need to minimize or maximize the Food_availability
% velocity_clamping_factor (normally 2)
% cognitive_constant=c1=individual learning rate (normally 2)
% social_constant=c2=social parameter (normally 2)
% normally C1+C2>=4
% Inertia_weight=At the beginning of the search procedure, diversification is heavily weighted, while intensification is heavily weighted at the end of the search procedure.
% Min_Inertia_weight=min of inertia weight (normally 0.4)
% Max_Inertia_weight=max of inertia weight (normally 0.9)
% max_iteration=how many times readjust the position of the flock/swarm of birds its quest for food
% optimised_parameters : Optimal parameters

Required MATLAB function MinMaxCheck.m (File Id: #43251)

If the program helps you in any way in your seminar/project/research/thesis etc. work, then please cite our work (either this page or the paper).

Thank you.


Pramit Biswas (2022). Particle Swarm Optimization (PSO) (, MATLAB Central File Exchange. 取得済み .

@inproceedings{biswas2014pso, title={PSO based PID controller design for twin rotor MIMO system}, author={Biswas, Pramit and Maiti, Roshni and Kolay, Anirban and Sharma, Kaushik Das and Sarkar, Gautam}, booktitle={IEEE International Conference on Control, Instrumentation, Energy and Communication (CIEC)}, pages={56--60}, year={2014} }

Pramit Biswas, Roshni Maiti, Anirban Kolay, Kaushik Das Sharma, and Gautam Sarkar. "PSO based PID controller design for twin rotor MIMO system," IEEE International Conference on Control, Instrumentation, Energy and Communication (CIEC), pp. 56-60. 2014.

MATLAB リリースの互換性
作成: R2010a
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!