Youtube channel


FOPS is a standalone toolbox for optimization in Matlab. It covers local optimization methods (Newton method, Nelder=Mead algorithm) as well as global methods (Genetic Algorithms, Swarm intelligence etc.). It is able to solve both single-objective (SOO) and multi-objective optimization (MOO) tasks. For now, these algorithms are available: for SOO - Genetic Algorithms [1], Particle Swarm Optimization [2], Differential Evolution [3] and Self-Organizing Migrating Algorithm [4]; and for MOO – NSGA-II [5], MOPSO [6], GDE3 [7] and MOSOMA [8].

Also, problems having variable number of dimensions can be solved in FOPS using VNDPSO algorithm [9].

FOPS package contains plenty of prepared well-known benchmark functions but is able to solve any user defined optimization task including constrained ones. Metrics for evaluation of convergence properties of algorithms are prepared in FOPS which enables to use FOPS for various comparative studies. FOPS enables to perform optimization task in chains of different algorithms (e.g. to perform 50 iterations with NSGA-II and then proceed with GDE3 …).


FOPS Task 

FOPS Chain


FOPS comparative study 


Read about FOPS features and see the gallery!


[1] Rahmat-Samii, Y., Michielssen, E. (1999). Electromagnetic optimization by genetic algorithms. Microwave Journal, 42(11), 232-232.
[2] Robinson, J., Rahmat-Samii, Y. (2004). Particle swarm optimization in electromagnetics. IEEE transactions on antennas and propagation, 52(2), 397-407.
[3] Storn, R., Price, K. (1997). Differential evolution–a simple and efficient heuristic for global optimization over continuous spaces. Journal of global optimization, 11(4), 341-359.
[4] Zelinka, I. (2016). SOMA—Self-organizing Migrating Algorithm. In Self-Organizing Migrating Algorithm (pp. 3-49). Springer International Publishing.
[5] Deb, K., Pratap, A., Agarwal, S., Meyarivan, T. A. M. T. (2002). A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE transactions on evolutionary computation, 6(2), 182-197.
[6] Coello, C. A. C., Pulido, G. T., Lechuga, M. S. (2004). Handling multiple objectives with particle swarm optimization. IEEE Transactions on evolutionary computation, 8(3), 256-279.
[7] Kukkonen, S., Lampinen, J. (2005, September). GDE3: The third evolution step of generalized differential evolution. In 2005 IEEE Congress on Evolutionary Computation (Vol. 1, pp. 443-450). IEEE.
[8] Kadlec, P., Raida, Z. (2016). Multi-objective Self-organizing Migrating Algorithm. In Self-Organizing Migrating Algorithm (pp. 83-103). Springer International Publishing.

[9] P. Kadlec and V. Šeděnka, "Particle Swarm Optimization for Problems with Variable Number of Dimensions", Engineering Optimization, 2017.