ppso
PROTOTYPE:
[xopt, fval, exitflag, output] = ppso(func,npars,lb,ub) or
[xopt, fval, exitflag, output] = ppso(func,npars,lb,ub,options) or
[xopt, fval, exitflag, output] = ppso(func,npars,lb,ub,options,auxdata)
DESCRIPTION:
Find minimum of function using a global version of Particle Swarm Optimization algorithm, as described in Ref. 1. The values of the Cognitive and Social weights are, respectively, cC = 1.49445*r2(0,1) and cS = 1.49445*r3(0,1) where r2(0,1) and r3(0,1) are two random numbers with uniform distribution between 0 and 1. The Inertial weight is cI = 0.5 + 0.5*r1(0,1). A decreasing version of the Inertial weight has been tested, but it results in a worst performance of the overall algorithm in terms both of speed and final results.
The oracle penalty method (see Ref. 2) is used for the nonlinear constraints handling. l1, l2 or l_inf norm can be chosen for the computation of residuals.
NOTE. Nonlinear constraints handling does not work properly yet. To date, it does work on simple problems.
Several test cases show how ppso works against pure mathematical and space dynamics problems. These are summarized into the README.txt file. A comparison with MATLAB's built-in functions ga and particleswarm is shown as well.
Please refer to the help of the function for a more detailed description.
CALLED FUNCTIONS:
oracle
REFERENCES:
- Pontani, M. and Conway, B., "Particle Swarm Optimization Applied to Space Trajectories", Journal of Guidance, Navigation and Control, Vol. 33, No. 5, 2010, pp. 1429-1441.
- Schluter, M. and Gerdts, M., "The oracle penalty method", Journal of Global Optimization, Vol. 47, No. 2, 2010, pp. 293-325.
Cite As
Alessandro (2024). ppso (https://www.mathworks.com/matlabcentral/fileexchange/58895-ppso), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
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.