Particle Swarm Optimization
Version 3.1.0.1 (3.29 KB) by
Lateef Adewale Kareem
Function for searching for minimizer of a function
% This minimizes the function fun, subject to the inequality constraints
% funCInEq and Equality constrants funCEq within the hyperbox between lb
% and ub
% fun = function handle for the function to be minimized
% funCInEq = function handle for the inequality condition (set to
% empty matrix when there is no inequality condition)
% funCEq = function handle for the equality condition (set to
% empty matrix when there is no equality condition)
% lb = vector of lower bounds
% ub = vector of upper bounds
% penalty = scale violation of constrain conditions (usually between 10
% and 100)
% popsize = population size (usually 30 to 50)
% maxiter = maximum iteration(less than 500)
% maxrun = maximum number of runs( 10 or less)
%% %%%%%%%%%%%%%%%% Examples %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 1.
% Roosenbrook = @(x) (1 - x(1))^2 + 100*(x(2) - x(1)^2)^2;
% PartSwamOpt(Roosenbrook, [], [], [-2;-1], [2;3], 0, 30, 500, 10);
% 2.
% Adjiman = @(x) cos(x(1))*sin(x(2)) – x(1)/(x(2)^2 + 1);
% PartSwamOpt(Adjiman, [], [], [-1;-1], [2;1], 0, 30, 500, 10);
% 3.
% Beale = @(x) (1.5-x(1) + x(1)*x(2))^2 + (2.25-x(1) + x(1)*x(2)^2)^2 + (2.625-x(1) + x(1)*x(2)^3)^2;
% PartSwamOpt(Beale, [], [], [-1;-1], [2;1], 0, 30, 500, 10);
Cite As
Lateef Adewale Kareem (2024). Particle Swarm Optimization (https://www.mathworks.com/matlabcentral/fileexchange/58034-particle-swarm-optimization), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Created with
R2012b
Compatible with any release
Platform Compatibility
Windows macOS LinuxCategories
Find more on Particle Swarm in Help Center and MATLAB Answers
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
3.1.0.1 | We moved the compound objective function into the body of the main function, just to ease readability |
||
3.1.0.0 | Bugs on Equality and InEquality constrain handling were corrected. and Examples provided.
|
||
3.0.0.0 | bug in velocity reversal was corrected |
||
2.0.0.0 | Changes to the plot function to identify the minimum point |
||
1.0.0.0 | Image thumbnail |