This repository contains problem implementations for the pymoo [1] framework which I use for my research work. Some of them are just shightly changed pymoo implementations, others are not found in pymoo by default and implemented here.
Here is a short list of the multi-objective problems implemented.
Reference implementation of the MACO problem as described in [2]. Besides the base-version the three variations (weights, p-norm, interaction classes) are also implemented.
from pymoo_problems.moo.maco import MACO
The LZ problems 1 - 9 implemented after the reference in [3].
from pymoo_problems.moo.lz import LZ1, LZ2, LZ3, LZ4, LZ5, LZ6, LZ7, LZ8, LZ9
A port from the jmetalpy [4] implementation of the LZ problems. The implementation contains references to the PF which are a usefull check. However, the implementation does not stay true to the original LZ problems as described in [3], mainly as they shift the bounds of the problem to
from pymoo_problems.moo.lz_jmetalpy import LZ09_F1, LZ09_F2, LZ09_F3, LZ09_F4, LZ09_F5, LZ09_F6, LZ09_F7, LZ09_F8, LZ09_F9
Currently six functions of the UF [5] Benchmarking set are implemented: UF1, UF2, UF3, UF8, UF9, and UF10. Four of these functions are a direct copy of the LZ [3] test suite described above:
- UF1 = LZ2
- UF2 = LZ5
- UF3 = LZ8
- UF8 = LZ6
from pymoo_problems.moo.uf import UF1, UF2, UF3, UF8, UF9, UF10
Added a pareto set calculation for ZDT [6] functions ZDT1, ZDT2, ZDT3, ZDT4, and ZDT6 (not ZDT5) to the pymoo [1] implementation.
from pymoo_problems.moo.zdt import ZDT1, ZDT2, ZDT3, ZDT4, ZDT6
Added a pareto set calculation for DTLZ [7] functions DTLZ1, DTLZ2, DTLZ3, DTLZ5, and DTLZ6 (not DTLZ4 or DTLZ7) to the pymoo [1] implementation.
from pymoo_problems.moo.dtlz import DTLZ1, DTLZ2, DTLZ3, DTLZ5, DTLZ6
[1] J. Blank und K. Deb, „Pymoo: Multi-Objective Optimization in Python“, IEEE Access, Bd. 8, S. 89497–89509, 2020, doi: 10.1109/ACCESS.2020.2990567.
[2] S. Mai, T. Benecke, und S. Mostaghim, „MACO: A Real-World Inspired Benchmark for Multi-objective Evolutionary Algorithms“, in Evolutionary Multi-Criterion Optimization, in Lecture Notes in Computer Science. Cham: Springer Nature Switzerland, 2023, S. 305–318. doi: 10.1007/978-3-031-27250-9_22.
[3] H. Li und Q. Zhang, „Multiobjective Optimization Problems With Complicated Pareto Sets, MOEA/D and NSGA-II“, IEEE Transactions on Evolutionary Computation, Bd. 13, Nr. 2, S. 284–302, Apr. 2009, doi: 10.1109/TEVC.2008.925798.
[4] A. Benítez-Hidalgo, A. J. Nebro, J. García-Nieto, I. Oregi, und J. Del Ser, „jMetalPy: A Python framework for multi-objective optimization with metaheuristics“, Swarm and Evolutionary Computation, Bd. 51, S. 100598, Dez. 2019, doi: 10.1016/j.swevo.2019.100598.
[5] Q. Zhang, A. Zhou, S. Zhao, P. Suganthan, W. Liu, und S. Tiwari, „Multiobjective optimization Test Instances for the CEC 2009 Special Session and Competition“, Mechanical Engineering, Jan. 2008.
[6] E. Zitzler, K. Deb, und L. Thiele, „Comparison of Multiobjective Evolutionary Algorithms: Empirical Results“, Evol. Comput., Bd. 8, Nr. 2, S. 173–195, Juni 2000, doi: 10.1162/106365600568202.
[7] K. Deb, L. Thiele, M. Laumanns, und E. Zitzler, „Scalable multi-objective optimization test problems“, in Proceedings of the 2002 Congress on Evolutionary Computation. CEC’02 (Cat. No.02TH8600), Mai 2002, S. 825–830 Bd.1. doi: 10.1109/CEC.2002.1007032.