Improved particle swarm optimization (PSO) algorithm

This tool can be used for every type of optimization problem (minimization / maximization / fitting, single / multi objective).
1.9K Downloads
Updated 25 Oct 2022
Author
Vistit the engimix.com platform to run online or download my engineering packages, including:
  • Mathematical optimizer (e.g. multi-method and multi-objective optimizer based on the PSO (Particle Swarm Optimization) algorithm, GA (Gentic Algorithm) and GD (Gradient Descent) method);
  • Electrical models (e.g. PMSM (Permanent Manget Synchronous Motor) control and modelling);
  • Thermal models (e.g. heat pumpts, etc.);
  • Etc.
You will find user-guides, documentation, demos and source code for each package.
Test cases
Two test cases are shown:
  • TestCase01_SingleObjFunOpt: Experimental data fitting.
  • TestCase02_MultiObjFunOpt
How to run
  • Open the folder associated to one of the two test cases;
  • Run "Fitting.m" or "Minimization.m" according to the test case you have choosen
How to modify it:
  • Open the folder associated to one of the two test cases;
  • Modify the script to calculate the objective function to be optimized in the "ObjFun_fun.m" file mantaining the input and output data formats;
  • Modify the parameters in the main file ("Fitting.m" or "Minimization.m" according to the best case you have choosen)
  • Run the main file ("Fitting.m" or "Minimization.m" according to the best case you have choosen)
Other usages:
  • Optimization of dynamic models on Simulink (look at my other projects on the File Exchange portal

Cite As

Federico Giai Pron (2024). Improved particle swarm optimization (PSO) algorithm (https://github.com/FGP310592/ParticleSwarmOptimization/releases/tag/4.1.12), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2020b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!

TestCase01_SingleObjFunOpt

TestCase02_MultiObjFunOpt

Version Published Release Notes
4.1.12

See release notes for this release on GitHub: https://github.com/FGP310592/ParticleSwarmOptimization/releases/tag/4.1.12

4.1.10

See release notes for this release on GitHub: https://github.com/FGP310592/ParticleSwarmOptimization/releases/tag/4.1.10

3.1.0.0

See release notes for this release on GitHub: https://github.com/FGP310592/ParticleSwarmOptimization/releases/tag/3.1

1.1.2

- Changed the name of the file

1.1.1

- PSO parameters moved from "Optimization_PSO_v0x.m" to "Fitting.m", for simplifying the access.
- Partial results displayed for long optimization processes.

1.0.1

Comments

1.0.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.