This function performs a Multi-Objective Particle Swarm Optimization (MOPSO) for minimizing continuous functions. The implementation is bearable, computationally cheap, and compressed (the algorithm only requires one file: MPSO.m). An 'example.m' script is provided in order to help users to use the implementation. It is also noteworthy to mention that the code is highly commented for easing the understanding. This implementation is based on the paper of Coello et al. (2004), "Handling multiple objectives with particle swarm optimization".
IMPORTANT: the objetive function that you specify must be vectorized. This means that it will take the entire population (i.e., a matrix Np x nVar, which Np is the number of particles and nVar is the number of variables) and it expects to receive a fitness value for each particle (i.e., a vector Np x 1). If the function is not vectoriyed and receives only a single value, the code will obviously rise an error.
Víctor Martínez-Cagigal (2022). Multi-Objective Particle Swarm Optimization (MOPSO) (https://www.mathworks.com/matlabcentral/fileexchange/62074-multi-objective-particle-swarm-optimization-mopso), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!