image thumbnail

Multiple Design Options - MOPSO (MDO-MOPSO)

version 1.4 (9.44 KB) by Davide Fioriti
Parallel version of Multi-Objective Particle Swarm Optimization also with improved convergence, history tracking and multiple design options


Updated 30 Apr 2021

From GitHub

View license on GitHub

Improved version of Multiple Objective Particle Swarm Optimization (MOPSO), that:
(1) has advanced convergence criteria,
(2) tracks the entire history of the simulated points including auxiliary quantities,
(3) supports parallel computing by specifying a paremter,
(4) identifies Multiple Design Options: points close to the Pareto frontier for a given tolerance,
(5) presents a more user-friendly method to set options is also included, and
(6) supports vectorized functions.

Two advanced convergence criteria are based on (1) the spread measure and (2) quadratic mean of the crouding distances, which enhance the standard criterion based on maximum number of iterations.
Similarly to MATLAB optimization functions, the code implements options for the solver with default values; this version enables the user to change only the desired parameter in a simple way, as also shown in the example.
More details are reported in the referenced paper or please leave a comment below.

The proposed formulation automatically supports vectorized functions or not-vectorized function; for the non-vectorized functions, the methodology also supports parallel computing by simply enabling a parameter.

Cite As

Fioriti, Davide, et al. “Coupling Economic Multi-Objective Optimization and Multiple Design Options: A Business-Oriented Approach to Size an off-Grid Hybrid Microgrid.” International Journal of Electrical Power & Energy Systems, vol. 127, Elsevier BV, May 2021, p. 106686, doi:10.1016/j.ijepes.2020.106686.

View more styles
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!
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.