Ahora está siguiendo esta publicación
- Verá actualizaciones en las notificaciones de contenido en seguimiento.
- Podrá recibir correos electrónicos, en función de las preferencias de comunicación que haya establecido.
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.
Citar como
Alessandro (2026). ppso (https://es.mathworks.com/matlabcentral/fileexchange/58895-ppso), MATLAB Central File Exchange. Recuperado .
Información general
- Versión 1.3.0.0 (91,1 KB)
Compatibilidad con la versión de MATLAB
- Compatible con cualquier versión
Compatibilidad con las plataformas
- Windows
- macOS
- Linux
