PD-SOS: the importance of being constrained
Pre-releaseThis release is a permanent version of the current SOS platform containing all classes for reproducing the results described in section 4 of the article "The importance of being constrained: dealing with infeasible solutions in Differential Evolution" located as indicated below and in the original ECJ submission according to the reproducibility guidelines of this CFP for the special issue on Reproducibility in Evolutionary Computation.
Pre-processing code for section 5:
The entire experimental setup of this section is coded the class 'ECJ2022TIOBR' in the 'mains.AlgorithmicBehaviour' package. This class contains the main method and can be run in SOS for generating the raw data on f0, thus reproducing the results analysed in section 4 of the main article.
NB: we make available all data generated for this study in Zenodo. These are subsequently processed with the scripts in this GitHub repo.
Objective function code for section 5:
The f0 function is implemented in the "Infeasibility and Structural Bias" (ISB) suite of SOS, whose code is available in the class 'ISBSuite' of the 'benchmarks' package.
This suite and other methods (mentioned in the next block) were added to extend SOS - see "Population Dynamics" PD-SOS Caraffini, F. 2021 - to investigate specific algorithmic behaviours.
Algorithm code for section 5:
The code for the algorithms under investigation in this section is available in the 'DE_TIOBR' class inside the package 'algorithms.AlgorithmicBehaviour'.
This class implements a modular DE similar to the one already present in the algorithms folder of SOS, but equipped with several methods from PD-SOS Caraffini, F. 2021 and further novel ones for e.g. recording POIS with a given SDIS and measuring the cosine similarity between search directions - for information on acronyms please see the original manuscript and relevant previous articles as e.g. [Kononova, A. V. et al. 2021, von Stein, B. et al. 2021, Vermetten, D. et al. 2021, Caraffini, F. et al. 2019]
References to the main article and relevant repos
- Further processing code https://github.com/Dvermetten/DE_TIOBR
- Dataset https://doi.org/10.5281/zenodo.5900706
- Figures www.doi.org/10.6084/m9.figshare.18319394.v1