\documentclass[manuscript,screen,nonacm]{acmart}

%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
  \providecommand\BibTeX{{%
    Bib\TeX}}}
    
%\setcopyright{acmcopyright}
%\copyrightyear{2022}
%\acmYear{2022}
%\acmDOI{XXXXXXX.XXXXXXX}    


\usepackage{adjustbox}
%\usepackage{rotating}
%\usepackage{algorithmicx}
%\usepackage[linesnumbered,ruled,vlined]{algorithm2e}
%\usepackage{amsfonts}
%\usepackage{amssymb}
%\usepackage{amsmath}
%\usepackage{amsthm}
%\usepackage{booktabs}
%\usepackage{cancel}
%\usepackage{cite}
%\usepackage{color}
%\usepackage{epsfig}
\usepackage[graphicx]{realboxes}
%\usepackage{mathrsfs}
\usepackage{mathtools}
%\usepackage{moresize}
\usepackage{multirow}
\usepackage{color, colortbl}
\usepackage{paralist}
%\usepackage{pifont}
\usepackage{pgfplots}
%\usepackage{pgf-pie}
%\usepackage{rotating}
\usepackage{subfigure}
%\usepackage{tabu}
\usepackage{threeparttable}
\usepackage{tikz}
\usetikzlibrary{positioning,shapes,arrows,shadows}
%\usepackage[dvipsnames,table]{xcolor}
\citestyle{acmauthoryear}
\pgfplotsset{compat=1.8}
\usepackage{pgfplotstable}
\usepackage{geometry} 

\usepackage{rotating}

\usepackage{makecell}
\usepackage{setspace} 

\renewcommand*{\familydefault}{\sfdefault}
%\usepackage[none]{hyphenat}

\definecolor{Gray}{gray}{0.97}
\renewcommand{\vec}{\mathbf}

\newcommand{\CM}{\ding{51}}
\newcommand{\XM}{\ding{53}}
\DeclareMathOperator*{\argmax}{\arg\!\max}
\DeclareMathOperator*{\argmin}{\arg\!\min}
\DeclareMathOperator{\sign}{sgn}

\def\hl{\setlength{\fboxsep}{1.0pt}\colorbox[rgb]{0.85,0.85,0.85}}

\newtheorem{example}{Example}
\newtheorem*{example*}{Example}
\newtheorem{definition}{Definition}
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}{Lemma}
\newtheorem{proposition}{Proposition}


\usepackage{xpatch}

\makeatletter
\xpatchcmd{\ps@firstpagestyle}{Manuscript submitted to ACM}{}{\typeout{First patch succeeded}}{\typeout{first patch failed}}
\xpatchcmd{\ps@standardpagestyle}{Manuscript submitted to ACM}{}{\typeout{Second patch succeeded}}{\typeout{Second patch failed}}    \@ACM@manuscriptfalse% Also in titlepage
\makeatother

\settopmatter{printacmref=false} % Removes citation information below abstract
\renewcommand\footnotetextcopyrightpermission[1]{} % removes footnote with conference info
\setcopyright{none}
\pagestyle{plain} % remove running headers


%\renewcommand{\mathbf}{\vec}

\usepackage{xr}
\makeatletter
\newcommand*{\addFileDependency}[1]{
  \typeout{(#1)}
  \@addtofilelist{#1}
  \IfFileExists{#1}{}{\typeout{No file #1.}}
}
\makeatother
\newcommand*{\myexternaldocument}[1]{
    \externaldocument{#1}
    \addFileDependency{#1.tex}
    \addFileDependency{#1.aux}
}
\myexternaldocument{manual}

\title[EDOLAB]{Algorithm xxx: EDOLAB, a Platform for Research and Education in Evolutionary Dynamic Optimization}


\author{Mai~Peng}
\email{pengmai1998@gmail.com}
\authornote{Equal contribution}
\affiliation{%
  \institution{School of Automation, China University of Geosciences, Wuhan, Hubei Key Laboratory of Advanced Control and Intelligent Automation for Complex Systems, and Engineering Research Center of Intelligent Technology for Geo-Exploration, Ministry of Education}
  \country{China}
 \postcode{430074}
}


\author{Delaram~Yazdani}
\email{delaram.yazdani@yahoo.com}
\authornotemark[1]
\affiliation{%
  \institution{Liverpool Logistics, Offshore and Marine (LOOM) Research Institute, Faculty of Health, Innovation, Technology and Science, Liverpool John Moores University}
  \city{Liverpool}
  \country{United Kingdom}
 \postcode{L3 3AF}
}


\author{Danial~Yazdani}
\email{danial.yazdani@gmail.com}
\authornotemark[1]
\affiliation{%
  \institution{School of Computing Technologies, RMIT University}
  \city{Melbourne}
  \country{Australia}
  \postcode{3000}
}

\author{Zeneng~She}
\email{20s151103@stu.hit.edu.cn}
\authornotemark[1]
%\authornote{The first six authors contributed equally to this work.}
\affiliation{%
  \institution{School of Computer Science and Technology, Harbin Institute of Technology}
  \city{Shenzhen}
  \country{China}
 \postcode{518055}
}


\author{Wenjian~Luo}
\email{ luowenjian@hit.edu.cn}
\authornotemark[1]
%\authornote{The first six authors contributed equally to this work.}
\affiliation{%
  \institution{Guangdong Provincial Key Laboratory of Novel Security Intelligence Technologies, Institute of Cyberspace Security, School of Computer Science and Technology, Harbin Institute of Technology}
  \city{Shenzhen}
  \country{China}
 \postcode{518055}
}

\author{Changhe~Li}
\email{changhe.lw@gmail.com}
\authornotemark[1]
\affiliation{
  \institution{School of Artificial Intelligence, Anhui University of Science \& Technology, State Key Laboratory of Digital Intelligent Technology for Unmanned Coal Mining, Anhui University of Science \& Technology}
  \city{Hefei}
  \country{China}
 \postcode{230026}
}

\author{Juergen~Branke}
\email{Juergen.Branke@wbs.ac.uk}
\affiliation{%
  \institution{Warwick Business School, University of Warwick}
  \city{Coventry}
  \country{United Kingdom}
  \postcode{CV4 7AL}
}

\author{Trung~Thanh~Nguyen}
\email{T.T.Nguyen@ljmu.ac.uk}
\affiliation{%
  \institution{The Liverpool Logistics, Offshore and Marine (LOOM) Research Institute, Faculty of Health, Innovation, Technology and Science, Liverpool John Moores University}
  \city{Liverpool}
  \country{United Kingdom}
  \postcode{L2 2ER}
}

\author{Amir~H.~Gandomi}
\email{Gandomi@uts.edu.au}
%\authornotemark[2]
\authornote{Corresponding authors}
\affiliation{%
  \institution{Faculty of Engineering \& Information Technology, University of Technology Sydney}
  \city{Ultimo}
  \country{Australia}
  \postcode{2007}
}
\affiliation{%
  \institution{University Research and Innovation Center (EKIK), Obuda University}
  \city{Budapest}
  \country{Hungary}
  \postcode{1034}
}

\author{Shengxiang Yang}
\email{syang@dmu.ac.uk}
\affiliation{%
  \institution{Digital Future Institute, School of Computer Science and Informatics, De Montfort University}
  \city{Leicester}
  \country{United Kingdom}
  \postcode{LE1 9BH}
}

\author{Yaochu~Jin}
\email{jinyaochu@westlake.edu.cn}
%\authornotemark[5]
\affiliation{%
  \institution{Department of Artificial Intelligence, School of Engineering, Westlake University}
  \city{Hangzhou}
  \country{China}
  \postcode{301130}
}

\author{Xin~Yao}
\email{xinyao@ln.edu.hk}
\authornotemark[2]
%\authornote{Corresponding author}
\affiliation{%
  \institution{School of Data Science, Lingnan University}
  \city{Hong Kong SAR}
   \country{China}
}
%
%
\thanks{
This work was supported by a National Natural Science Foundation of China (Grant No. 62250710682), a Lingnan University internal grant, a Shenzhen Fundamental Research Program (Grant No. JCYJ20220818102414030), a Guangdong Provincial Key Laboratory of Novel Security Intelligence Technologies (Grant No. 2022B1212010005), a National Natural Science Foundation of China (Grant No. 62476006), a Hubei Provincial Natural Science Foundation of China (Grant No. 2023AFA049), a Fundamental Research Funds of the AUST (Grant No. 2024JBZD0007), a National Natural Science Foundation of China (Grant No. U23B2058), an NSFC ICFCRT (Grant No. W2441019), an NSFC (Grant No. 62136003), a Liverpool John Moores University Vice-Chancellor PhD Scholarship, and Australian Government through the Australian Research Council under Project DE210101808. }   

\begin{CCSXML}
<ccs2012>
   <concept>
       <concept_id>10010405.10010489.10010491</concept_id>
       <concept_desc>Applied computing~Interactive learning environments</concept_desc>
       <concept_significance>500</concept_significance>
       </concept>
       <concept>
       <concept_id>10002944.10011123.10011131</concept_id>
       <concept_desc>General and reference~Experimentation</concept_desc>
       <concept_significance>500</concept_significance>
       </concept>
%      <concept>
%       <concept_id>10003752.10003809.10003716.10011138.10011803</concept_id>
%       <concept_desc>Theory of computation~Bio-inspired optimization</concept_desc>
%       <concept_significance>500</concept_significance>
%       </concept>
 </ccs2012>
\end{CCSXML}

\ccsdesc[500]{Applied computing~Interactive learning environments}
\ccsdesc[500]{General and reference~Experimentation}
%\ccsdesc[500]{Theory of computation~Bio-inspired optimization}
%\let\@authorsaddresses\@empty
%\makeatother
\settopmatter{printacmref=false}
\setcopyright{none}
\renewcommand\footnotetextcopyrightpermission[1]{}
\pagestyle{plain}
\renewcommand{\shortauthors}{Peng et al.}







\begin{document}
 \newpage
\begin{abstract}
\textit{\textbf{Abstract---}}
Many real-world optimization problems exhibit dynamic characteristics, posing significant challenges for traditional optimization methods.
Evolutionary Dynamic Optimization Algorithms (EDOAs) have been developed to address these challenges by adapting to changing environments over time.
However, the reproducibility and consistency of experimental results in the literature remain limited due to the lack of publicly available source codes and the complexity of accurately re-implementing algorithms and performance evaluation protocols.
To support the community, we introduce EDOLAB (\textit{E}volutionary \textit{D}ynamic \textit{O}ptimization \textit{LAB}oratory), an open-source MATLAB platform designed for both research and educational purposes.
EDOLAB includes 27 EDOAs, four highly configurable benchmark generators, and a growing suite of performance indicators.
The platform supports full parameter tuning, batch experiment management, parallel execution, and automated statistical comparisons---including rankings, significance testing, box plots, and performance trend visualizations over time.
An \textit{educational application} allows users to observe:
\begin{inparaenum}[a)]
\item dynamic changes in a 2D problem landscape,
\item the movement of individuals in response to these changes, and
\item the ability of an algorithm to track moving optima.
\end{inparaenum}
By providing an integrated environment for experimentation, benchmarking, and instructional use, EDOLAB promotes reproducibility, comparative analysis, and a deeper understanding of EDOAs in dynamic environments.
 \end{abstract}

\keywords{Dynamic optimization problems, evolutionary dynamic optimization, benchmarking platform, educational tools, algorithm analysis, reproducible research, MATLAB software.}

\maketitle

% \clearpage

% \tableofcontents




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Introduction}
\label{sec:Introduction}

\subsection{Motivation and Background}
\label{sec:sec:motivation}

Many real-world optimization problems are dynamic in nature~\cite{nguyen2011thesis}, meaning that the characteristics of their search spaces change over time~\cite{yazdani2021DOPsurveyPartA,raquel2013dynamic}. 
These environmental changes in dynamic optimization problems (DOPs) introduce uncertainties that must be accounted for by the optimization algorithm~\cite{jin2005evolutionary}. 
To effectively solve DOPs, it is important that the optimization algorithm not only locates an optimal solution efficiently but also continues to track it as the environment changes. 
This capability is referred to as tracking the moving optimum (TMO)~\cite{nguyen2012evolutionary}.


Evolutionary algorithms and swarm intelligence methods are popular and effective optimization tools, originally designed for solving static optimization problems. 
Applying these tools directly to TMO in DOPs proves ineffective because they fail to account for environmental changes. 
These changes in DOPs present several challenges, including: 
\begin{inparaenum} [a)] 
\item outdated stored fitness values (also known as objective function values), 
\item local and global diversity loss, and 
\item a limited number of objective function evaluations that can be conducted between consecutive environmental changes (i.e., within each environment)~\cite{yazdani2020adaptive}. 
\end{inparaenum} 

To cope with these challenges, evolutionary algorithms and swarm intelligence methods are typically augmented with additional components, forming evolutionary dynamic optimization algorithms (EDOAs).
These components may include local and global diversity control, explicit archives, change detection and reaction mechanisms, population clustering and management, exclusion, convergence detection, and computational resource allocation~\cite{yazdani2021DOPsurveyPartA}. 
Consequently, EDOAs often become complex algorithms.

This complexity also poses a challenge to reproducibility, as even minor changes or mistakes during re-implementation can significantly impact performance.
In the absence of publicly available source codes, researchers often spend a significant amount of time and effort attempting to re-implement complex EDOAs based solely on their textual descriptions. 
This process is not only time-consuming and error-prone, but also discouraging for newcomers to the field, potentially limiting engagement and innovation.

Moreover, such algorithm descriptions often omit low-level implementation details that are crucial for achieving the intended behavior and performance. 
As a result, researchers must make assumptions about important aspects of the algorithm, which may diverge significantly from the original intentions. These implementation-sensitive behaviors are rarely explained in full, as papers naturally focus on high-level concepts rather than operational minutiae.

Meaningful statistical comparisons require access to the full set of run results for both the proposed algorithm and its baselines. Relying solely on published summary statistics---such as mean and standard deviation---is insufficient for conducting hypothesis testing or variance-based analyses. 
However, in many studies, the lack of available reference implementations leads authors to compare their proposed algorithms against reported averages from prior work without re-implementing the baselines. 
This practice undermines the validity of the statistical analysis.
Although some estimation techniques exist to reconstruct missing data, they generally lack the statistical power to support robust conclusions.
Even when re-implementations are attempted, subtle discrepancies can produce significantly different outcomes. 
For instance, in the Moving Peaks Benchmark (MPB)~\cite{branke1999memory}, some implementations initialize all peaks with uniform height, while others randomize them---resulting in notably different performance during early environments. 
Similarly, we have observed inconsistent use of iteration-based and fitness-evaluation-based performance indicators across comparative studies~\cite{yazdani2021DOPsurveyPartB}.

Another example of source of divergence lies in how and when environmental changes are handled. 
Since performance typically degrades immediately after a change, even minor differences---such as triggering change reactions at the end of an iteration, after a sub-population update, between internal mechanisms, or immediately upon detection---can yield statistically significant differences in performance. 
While this issue is separate from change detection itself (as many real-world problems assume informed changes), it nonetheless highlights the critical role of timing and synchronization in dynamic optimization algorithms.

Finally, the improper or inconsistent use of random seeds can lead to drastically different benchmark instances. 
Despite having predefined parameter ranges, randomized landscape configurations can produce instances with significantly different difficulty levels---e.g., a narrow global optimum hidden in a corner, surrounded by wide deceptive peaks---thus leading to unstable or irreproducible results.

The lack of standardization in these aspects has made meaningful comparisons more challenging and has limited the pace of progress.
These challenges highlight the need for a platform that ensures standardization, promotes reproducibility, and provides accessible and consistent experimental environments for evaluating EDOAs.
Such a platform would facilitate fair and consistent comparisons across studies, reduce the overhead of re-implementation, and significantly lower the entry barrier for new researchers entering the field of evolutionary dynamic optimization.



\subsection{About EDOLAB}
To address the lack of reproducible implementations, the complexity of evaluating performance indicators, and the absence of a unified software platform for experimentation in evolutionary dynamic optimization, we have developed an open-source MATLAB platform known as the \textit{E}volutionary \textit{D}ynamic \textit{O}ptimization \textit{LAB}oratory (EDOLAB).
The current version of EDOLAB is primarily focused on single-objective, unconstrained, continuous DOPs. 
However, the EDOAs designed for this class of DOPs have been demonstrated to be easily extendable to address other significant classes of DOPs, including robust optimization over time (ROOT)~\cite{yazdani2023robust,yazdani2022robust}, constrained DOPs~\cite{nguyen2012continuous,bu2016continuous}, and large-scale DOPs~\cite{luo2017hybrid,yazdani2019scaling}.

Moreover, although the structures of EDOAs designed for single-objective DOPs differ from those tailored for finding Pareto optimal solutions (POS) in each environment within multi-objective DOPs~\cite{jiang2022evolutionary}, they remain effective for addressing many multi-objective DOPs. 
In fact, in many multi-objective DOPs, a \emph{single} solution is deployed in each environment, chosen by a decision maker based on both user preferences and problem-specific characteristics. 
Therefore, finding the POS for each environment and selecting a solution for deployment may not always be the most effective approach, particularly in problems with high-frequency environmental changes.
For example, given a real-world multi-objective DOP where the environment changes every few seconds, it can be challenging for a user to select a solution from the POS for each environment. 
To address such multi-objective DOPs, the problem can be transformed into a single-objective DOP by combining all objectives according to the decision maker's preferences. 
These preferences are both user-driven, based on the decision maker's goals and values, and problem-dependent, considering the specific nature and constraints of the problem at hand~\cite{marler2010weighted,kaddani2017weighted}.
Consequently, in the resulting single-objective problem, a single-objective EDOA may be more suitable, focusing on finding an optimal solution for deployment in each environment based on these combined preferences.


\subsection{Design Goals and Key Features}
In the following, we describe the major contributions and features of EDOLAB.
\subsubsection{Comprehensive library}
The current release of EDOLAB includes 27 EDOAs, as listed in Table~\ref{tab:algorithms}, each with distinct characteristics such as varying structures, optimizers, population clustering and sub-population management methods, diversity control components, and computational resource allocation strategies.
EDOLAB also includes four dynamic benchmark generators: MPB~\cite{branke1999memory},  free peaks (FPs)~\cite{li2018open},  Generalized Dynamic Benchmark Generator (GDBG)~\cite{li2008GDBG}, and Generalized MPB (GMPB)~\cite{yazdani2020benchmarking,yazdani2021generalized}.
These benchmark generators are fully parametric and capable of producing dynamic problem instances with varying morphological and dynamical characteristics.
To evaluate the efficiency of EDOAs in solving DOPs and facilitate comparisons, EDOLAB incorporates the two most commonly used performance indicators: offline error~\cite{branke2003designing} and the average error before environmental changes~\cite{trojanowski1999searching}.

\subsubsection{Easy to use}
EDOLAB is developed in MATLAB, a programming language that offers a vast collection of high-level mathematical functions for operating on arrays and matrices, along with various random number generators. 
These features make MATLAB an ideal choice for implementing EDOAs and dynamic benchmarks. 
The source codes of EDOLAB, particularly for the EDOAs and benchmarks, are designed to be easy to understand, trace, and modify, thanks to MATLAB's capabilities.

Based on our investigations, MATLAB has been one of the most frequently used programming languages in the field of evolutionary dynamic optimization due to its strengths and overall ease of use, including its straightforward syntax and readability.
Moreover, MATLAB is highly popular not only in this field but also in other active areas such as evolutionary multi-objective optimization. This popularity is reflected in the widespread use of platforms like PlatEMO~\cite{tian2017platemo}, which is implemented in MATLAB.

We have also structured and modularized the platform to ensure the clarity and readability of the source code. 
The descriptive name of the parameters, the clear distinctions between components, and the detailed comments make the source code easy to trace and modify. 
EDOLAB features a graphical user interface (GUI) designed to enhance user-friendliness.


\subsubsection{Advanced Experimentation Interface}

EDOLAB includes a graphical interface specifically designed to support research-grade experimentation workflows. 
It allows users to fully configure all algorithmic and benchmark parameters through an intuitive GUI. 
In addition, the platform supports parallel execution of multiple experiments. 
Experiments can be saved and restored using \texttt{.m} files to reduce setup overhead for repeated runs. 
Furthermore, all results can be exported directly to Excel files for further analysis or reporting.

EDOLAB integrates built-in functionalities for statistical analysis of experimental results. 
Users can compare multiple algorithms using non-parametric tests such as the Friedman test and Wilcoxon signed-rank test, with automated generation of groupings and rankings. 
It also supports sensitivity analysis, enabling researchers to examine the impact of individual parameter settings on algorithm performance.

In addition, EDOLAB provides rich visualization features, including box plots for comparing distributions of performance metrics and trend plots for analyzing algorithm behavior over time or across environments. 
These tools enhance the interpretability of experimental results and support deeper insights into algorithm behavior and parameter interactions.

\subsubsection{Flexible and Comprehensive Research Capabilities}
EDOLAB offers researchers significant flexibility in conducting empirical studies by supporting both a ``GUI Mode'' for interactive use and a ``Code Mode'' for script-based experimentation and advanced customization.
Its extensive library allows for the thorough investigation and comparison of various EDOAs, each designed with different structures, optimizers, and components to address dynamic optimization challenges across a wide range of problem instances.
Additionally, EDOLAB is particularly valuable for researchers developing new EDOAs or improving existing algorithms.
Since the platform's source code is open-source and modularly designed, it becomes easy to incorporate new mechanisms---such as population control, diversity control, or other innovative components---into the existing algorithms. 
The platform includes four dynamic benchmark generators, capable of producing a broad range of problem instances with varying levels of difficulty and characteristics. 
This, coupled with a collection of comparison EDOAs, performance indicators, and visualization plots, makes EDOLAB an invaluable tool for evaluating algorithms and generating results for scientific reports and articles.

\subsubsection{Educational Support}
EDOLAB includes an educational application, which is particularly useful for new researchers, such as PhD students, to enter the field and contribute more efficiently. 
This application visualizes the 2-dimensional problem space (i.e., environment) and dynamically illustrates how the morphology of the search space evolves after each environmental change. 
Users can observe how individuals relocate over time, providing valuable insights into how EDOAs adapt to environmental changes. 
By highlighting the similarity factors between successive environments, this application enables users to grasp the significance of knowledge transfer from the previous to the current environment, accelerating their understanding of complex dynamic optimization behaviors.

\subsubsection{Extensibility}
EDOLAB is designed for easy extensibility, allowing researchers to expand its library by adding new EDOAs, benchmark problems, and performance indicators. 
With EDOLAB's open-source code, researchers can also modify EDOA frameworks, incorporate their own components, and explore their effectiveness. 
For instance, if a researcher develops a new exclusion, change reaction, or convergence detection component, they can simply replace the existing code with the new one and assess its impact on the overall performance of an EDOA.
Additionally, researchers can extend EDOAs to address other classes of DOPs by incorporating specific components necessary for those problems, such as constraint-handling mechanisms for constrained DOPs~\cite{nguyen2012continuous} or decision-making components for altering or maintaining deployed solutions in ROOT~\cite{yazdani2017new,yazdani2018changing}. 

\subsubsection{Innovative modular design}
One of the key contributions of EDOLAB is its innovative design, which unifies a diverse set of EDOAs through a modular structure. This design allows different algorithms, each with varying mechanisms and structures, to be integrated into a single, cohesive platform. By utilizing a novel approach to component modularization, EDOLAB enables these algorithms to share a common framework while maintaining their unique characteristics. In addition, the modular design supports the extensibility of the platform, allowing new algorithms, benchmarks, and performance indicators to be incorporated with minimal effort.

\subsubsection{Open-source availability and accessibility}
A significant contribution of EDOLAB is its open-source availability. 
The platform is publicly accessible through GitHub, allowing researchers to utilize and extend its functionality for experimental and comparative studies. 
By making EDOLAB open-source, we aim to provide a valuable resource for researchers working on evolutionary dynamic optimization. 
The platform can be accessed from [\url{https://github.com/EvoMindLab/EDOLAB}].

\subsection{Paper Organization}
The remainder of this paper is organized as follows: 
Section~\ref{sec:DOPsAndBenchmarks} introduces the class of dynamic optimization problems considered in the current version of EDOLAB and describes the four benchmark generators included in the platform. 
Section~\ref{sec:indicator} presents the performance indicators used to evaluate EDOAs in EDOLAB, including both quantitative error-based metrics and their corresponding visualizations. 
Section~\ref{sec:EDOAs} provides an overview of common EDOA frameworks and components, lists the 27 algorithms included in EDOLAB, and outlines implementation decisions and standardization policies adopted for fair experimentation. 
Section~\ref{sec:Overview} offers an overview of the platform's structure and technical architecture. 
Further details are provided in the user manual (available as a separate document), which includes comprehensive information on the software design, source code organization, GUI, usage instructions, and extensibility options.
Section~\ref{sec:BenchmarkingResults} reports benchmark results across various scenarios to illustrate the capabilities of EDOLAB and offers usage guidance to users.
Finally, Section~\ref{sec:conclusion} concludes the paper with a summary and discussion of future directions.

\section{Dynamic Optimization Problems and Benchmark Generators}
\label{sec:DOPsAndBenchmarks}

In this section, we first provide a formal definition of the class of DOPs targeted in the current version of EDOLAB, focusing on single-objective, unconstrained, continuous problems. 
All algorithms, benchmark generators, and performance indicators in EDOLAB are designed for maximization problems within this class.

We then describe the four dynamic benchmark generators included in EDOLAB--MPB, GDBG, FPs, and GMPB--each of which can produce diverse problem instances with varying morphological and dynamical characteristics. 
These generators form the foundation for evaluating and comparing EDOAs under controlled and configurable scenarios.

\subsection{General Definition of Dynamic Optimization Problems}
\label{sec:DefinitionDOP}

A single-objective, unconstrained, continuous DOP can be defined as: 
\begin{align}
\label{eq:DOP1}
\mathrm{Maximize:} & \;\; f^{(t)}(\vec{x})=f\left(\vec{x},\vec{\alpha}^{(t)}\right),\;\vec{x}=\{x_1,x_2,\cdots,x_d\},
\end{align}
where $\vec{x}$ is a solution in the $d$-dimensional search space, $f$ is the time-varying objective function, $t$ is the time index, and $\vec{\alpha}$ is a set of time-varying environmental parameters.
Most research in this field focuses on DOPs where environmental changes occur only at discrete time steps, which is characteristic of many real-world DOPs~\cite{nguyen2011thesis}. 
For a problem with $T$ environments, there is a sequence of $T$ stationary search spaces. 
Consequently, a DOP, with $T$ environmental states (i.e., $T-1$ environmental changes), can be reformulated as:
\begin{align}
\label{eq:DOP2}
 \mathrm{Maximize:} &   f(\vec{x}) = \left\{ f(\vec{x},\vec{\alpha}^{(t)}) \right\}_{t=1}^{T} = \left\{ f(\vec{x},\vec{\alpha}^{(1)}),f(\vec{x},\vec{\alpha}^{(2)}), \dots ,f(\vec{x},\vec{\alpha}^{(T)}) \right\}.
\end{align}
It is generally assumed that there is a degree of morphological similarity between successive environments, a characteristic commonly observed in many real-world DOPs~\cite{yazdani2018thesis,nguyen2011thesis,branke2012evolutionary}.


\subsection{Dynamic Benchmark Generators}
\label{sec:sec:benchmarks}

A wide variety of benchmark generators have been proposed for evaluating EDOAs. 
In EDOLAB, we have selected four of the most well-established and advanced benchmark generators in the field: MPB, GDBG, FPs, and GMPB. 
These benchmarks collectively span a range of landscape complexities, from simple and interpretable test functions suitable for educational use to highly configurable and challenging problem instances for advanced experimentation. 
A comprehensive review of other benchmark generators can be found in~\cite{yazdani2021DOPsurveyPartB}, and readers interested in a broader survey of benchmarks are encouraged to refer to that work.

MPB~\cite{branke1999memory} is the most widely used dynamic benchmark generator in the field~\cite{yazdani2020benchmarking}. 
The landscapes generated by the standard version of MPB are relatively straightforward to optimize, as they consist of a series of conical promising regions (i.e., peaks) that are regular, unimodal, symmetric, fully separable~\cite{yazdani2019scaling}, and well-conditioned. 
Despite its simplicity, MPB is an essential component of EDOLAB due to its significant value for educational purposes.
MPB's straightforward nature makes it easier for users to observe the behavior of EDOAs over time and investigate the effectiveness of various components, such as promising region coverage, change reaction, and diversity control. 
In the standard MPB, the height, width, and center of each promising region (represented as a cone) change over time. 
To enhance the realism of MPB in EDOLAB, we have made a few modifications. 
First, we removed the option that allowed all promising regions to be initialized with identical height and width. 
In EDOLAB, the attributes of all promising regions are initialized randomly within predefined ranges. 
Second, we eliminated the option for correlated movements of promising regions, which could result in linear relocation directions of the promising region centers. 
Instead, in EDOLAB, the directions of shifts are randomized, providing a stochastic and more challenging dynamic environment.

GDBG~\cite{li2008GDBG} is the second most commonly used dynamic benchmark in the field. 
GDBG is created by introducing dynamics to composition benchmark functions~\cite{suganthan2005problem,liang2005novel}, which are commonly employed in static global optimization. 
The problem instances generated by GDBG are generally more complex and challenging than those produced by MPB, as they involve landscapes with irregular, multimodal, and partially separable components. 
Despite its lack of fully controllable characteristics, GDBG has been widely used in research and can still provide valuable insights into the performance of EDOAs. 
To create a more comprehensive platform, we have included GDBG in EDOLAB, allowing researchers to leverage its complexity for a broader range of experimental evaluations.

FPs~\cite{li2018open} is the third benchmark generator included in EDOLAB. 
The landscapes generated by FPs are divided into several hypercubes using a k-d tree~\cite{bentley1979data}, with each hypercube containing one promising region. 
As a result, the basin of attraction for each promising region is determined by the hypercube in which it lies. 
After each environmental change, the shape of each promising region is randomly selected from eight different unimodal functions. 
Additionally, the location and size of each hypercube change over time, which alter the basin of attraction of the promising region. 
The center position of each promising region also shifts within the hypercube. 
Several transformations, such as symmetry breaking and condition number increasing, are applied in FPs, though these transformations remain fixed over time. 
FPs is also suitable for educational purposes, as its promising regions are clearly defined by the hypercubes.

GMPB~\cite{yazdani2020benchmarking,yazdani2021generalized} is the final benchmark generator included in EDOLAB.
GMPB is a complex, fully configurable benchmark generator. 
The landscapes generated by GMPB are constructed by assembling several promising regions with a variety of controllable characteristics, ranging from unimodal to highly multimodal, symmetric to highly asymmetric, smooth to highly irregular, and varying degrees of variable interaction and ill-conditioning. 
All of these characteristics can change over time. 
With its high degree of configurability, GMPB allows users to examine the performance of proposed or existing EDOAs across a wide range of problem instances with different characteristics and difficulty levels. 
Consequently, GMPB is well-suited for experimentation and for investigating and comparing the performance of different EDOAs. 
However, due to the complexity of the search spaces generated by GMPB, it is not the ideal choice for educational purposes.


Figure~\ref{fig:benchmarks} provides examples of the landscapes generated by the four benchmarks included in EDOLAB: MPB, GDBG, FPs, and GMPB. 
These contour plots illustrate the morphological characteristics of each benchmark's problem space. However, it is important to note that these are just examples, and the characteristics shown in these figures cannot be generalized to all possible landscapes that can be generated by these benchmarks.



\begin{figure*}[!t]
\centering
\begin{tabular}{cc}
    \subfigure[{\scriptsize Example of a landscape generated by the MPB benchmark.}]{\includegraphics[width=0.45\linewidth]{Figures/MPB.eps}\label{fig:MPB}}
&
     \subfigure[{\scriptsize Example of a landscape generated by the GDBG benchmark.}]{\includegraphics[width=0.45\linewidth]{Figures/GDBG.eps}\label{fig:GDBG}}
\\
    \subfigure[{\scriptsize Example of a landscape generated by the FPs benchmark.}]{\includegraphics[width=0.45\linewidth]{Figures/FPs.eps}\label{fig:FPs}}
&
     \subfigure[{\scriptsize Example of a landscape generated by the GMPB benchmark.}]{\includegraphics[width=0.45\linewidth]{Figures/GMPB.eps}\label{fig:GMPB}}
\end{tabular}
\caption{Examples of two-dimensional landscapes generated by the four benchmarks: (a) MPB, (b) GDBG, (c) FPs, and (d) GMPB. These are representative examples, and the characteristics shown cannot be generalized to all possible landscapes generated by these benchmarks.}
\label{fig:benchmarks}

\label{fig:benchmarks}
\end{figure*}


The benchmarks included in EDOLAB provide a flexible and robust framework for evaluating the performance of EDOAs. 
Their parametric nature allows researchers to generate a wide variety of problem instances with different morphological and dynamical characteristics, making them invaluable for algorithm evaluation and educational purposes. 
These benchmarks help researchers systematically understand how algorithms behave under controlled scenarios, revealing their strengths and weaknesses, which is crucial for guiding future improvements. 
Additionally, they serve as a foundation for new researchers to study and experiment with algorithmic concepts, making them highly suitable for educational use.
In the user manual, we have provided commonly used parameter settings for generating problem instances from the four benchmark generators included in EDOLAB. 
These settings generate 12 instances per benchmark generator, covering a range of difficulties and characteristics that are commonly used in the literature.

At this stage, we do not include real-world problems in the platform for two primary reasons. 
First, many real-world problems are inflexible and do not allow the generation of diverse problem instances with varying characteristics, limiting their usefulness for the comprehensive evaluation of algorithms. 
Second, for many real-world problems, we do not fully understand their morphological characteristics, dynamic behavior, or the specific challenges they present. 
This lack of transparency makes them less suitable for testing and refining algorithms.

While there are real-world problem domains, such as dynamic facility location problems, that offer the flexibility to generate instances with controllable characteristics, the algorithms currently available in the field---including those implemented in the current version of EDOLAB---are not yet capable of addressing the complex challenges posed by such problems~\cite{yazdani2024clustering}.
It is not merely a matter of suboptimal performance; these algorithms often fail to function effectively in such scenarios, highlighting the need for further advancements before tackling real-world dynamic problems of this nature.
Consequently, these problems---and benchmark generators that attempt to simulate their behavior---are not included in the current version of EDOLAB.

\section{Performance Indicators for Dynamic Optimization}
\label{sec:indicator}
A wide range of performance indicators have been proposed to evaluate the behavior and efficiency of EDOAs in dynamic environments. 
The current version of EDOLAB incorporates two of the most widely used and well-established error-based indicators---offline error~\cite{branke2003designing} and average error before environmental changes~\cite{trojanowski1999searching}---as they provide comprehensive insights into an algorithm's ability to track moving global optimum and recover from changes.
These indicators are particularly suited to synthetic benchmarks with known optimum, which are used in all evaluations within EDOLAB.

These two performance indicators are the most widely used in the field, with over 85\% of studies relying on them~\cite{yazdani2021DOPsurveyPartB}. 
EDOLAB does not include the offline performance indicator~\cite{branke1999memory}, a third commonly used metric, as it provides no additional insights beyond those captured by the offline error. 
We also exclude distance-to-optimum-based indicators~\cite{duhain2012particle}, which measure proximity to the global optimum without considering solution quality. 
Since nearly all EDOAs are designed to optimize fitness values rather than Euclidean distance, such indicators may lead to misleading assessments of algorithm performance~\cite{yazdani2021DOPsurveyPartB}.

To complement these numerical indicators, EDOLAB also provides a set of visualization tools that support in-depth temporal and statistical analysis of algorithm behavior. 
These include current error plots, offline error over time plots, moving averages of end-of-environment errors, and box plots summarizing indicator distributions across runs. 
Together, these tools enable both quantitative and visual comparisons of algorithms under dynamic conditions.

\subsection{Quantitative Error-Based Indicators}
\label{sec:sec:QuantitiveIndicators}

\subsubsection{Offline error}

Offline error measures the mean error of the best-found solution across all objective function evaluations. 
It is calculated using the following equation~\cite{branke2003designing}:
\begin{align}
\label{eq:Eo}
E_\mathrm{o} = \frac{1} { \sum_{t=1}^T \upsilon^{(t)} } \sum_{t=1}^T \sum_{\vartheta=1}^{\upsilon^{(t)}} \left(f^{(t)}\left( \vec{\mathrm{g}}^{\star(t)} \right) - f^{(t)}\left(\vec{\mathrm{g}}^{*\left(\vartheta+\sum_{k=1}^{(t-1)} \upsilon^{(k)}  \right)}\right)\right),
\end{align}
where $E_\mathrm{o}$ represents the offline error, $\vec{\mathrm{g}}^{\star(t)}$ is the global optimum at the $t$-th environment, $\upsilon^{(t)}$ is the number of objective function evaluations in the $t$-th environment, $T$ is the number of environments, $\vartheta$ is the function evaluation counter for each environment, and $\vec{\mathrm{g}}^{*\left(\vartheta+\sum_{k=1}^{(t-1)} \upsilon^{(k)} \right)}$ is the best-found solution at the $\vartheta$-th function evaluation in the $t$-th environment.
The offline error measures the overall performance of an algorithm across all function evaluations and captures the convergence speed of an EDOA following environmental changes. This metric serves as an effective indicator for assessing how quickly (based on the number of function evaluations) an algorithm adapts to changes in the environment and converges towards the optimal solution.



\subsubsection{Average error before environmental changes}

The second performance indicator, average error before environmental changes ($E_\mathrm{bbc}$)~\cite{trojanowski1999searching}, focuses on the error of the best-found solution just before each environmental change. It is calculated as follows:
\begin{align}
\label{eq:Eb}
E_\mathrm{bbc} = \frac{1}{T} \sum_{t=1}^T  \left(f^{(t)}\left( \vec{\mathrm{g}}^{\star(t)} \right) - f^{(t)}\left(\vec{\mathrm{g}}^{\mathrm{end}(t)}\right)\right),
\end{align}
where $\vec{\mathrm{g}}^{\mathrm{end}(t)}$ is the best found solution at the end of the $t$-th environment. 
Since $E_\mathrm{bbc}$ focuses solely on the best-found solution at the end of each environment, it does not capture the convergence speed or performance across all function evaluations within an environment.

\subsection{Visualization of Performance Indicators}
\label{sec:sec:Visualization}

In addition to the numerical performance indicators, EDOLAB provides multiple visualization tools to support the temporal analysis and comparison of algorithm performance across environments and function evaluations. 
These include convergence trend plots, temporal error averages, and statistical box plots.

\begin{itemize}
    \item \textbf{Current error plots} display the error of the best-found solution at each function evaluation, providing a detailed view of the convergence behavior within each environment. 
    These plots help assess how quickly an algorithm responds to environmental changes and how effectively it converges within each stationary period.

    \item \textbf{Offline error over time plots} show the moving average of the error of the best-found solutions across all previous function evaluations. 
    For each evaluation point, the plot reflects the algorithm's cumulative ability to track the moving optimum over time.

    \item \textbf{Average error before change over time plots} provide a complementary perspective by showing how the average error of the best found solution at the end of each environment evolves over successive changes. 
    For the $t$-th environment, this value is computed as the mean of all previous end-of-environment errors up to environment $t$.

    \item \textbf{Box plots of performance indicators} are provided to summarize the distribution of each performance metric across all runs. 
    These plots support direct visual comparison of algorithms or configurations based on central tendency, spread, and outliers.
\end{itemize}

\section{Evolutionary Dynamic Optimization Algorithms (EDOAs)}
\label{sec:EDOAs}

EDOAs are designed to address the unique challenges posed by DOPs, where the problem changes over time. 
These algorithms extend static evolutionary frameworks by incorporating mechanisms for adaptation, diversity maintenance, memory, and resource allocation, enabling them to track moving global optimum across changing environments.

This section provides an overview of the fundamental components, structural frameworks, and algorithmic strategies commonly used in the design of EDOAs. 
We first outline the components that constitute most EDOA architectures, followed by a taxonomy of popular algorithmic frameworks---ranging from single-population to advanced multi-population approaches. 
Readers interested in a more comprehensive survey of EDOA structures and classifications are referred to~\cite{mavrovouniotis2017survey,nguyen2012evolutionary,yazdani2024survey,yazdani2021DOPsurveyPartA}.

\subsection{Common Frameworks and Component Design}
\label{sec:sec:EDOAoverview}

EDOAs are typically composed of multiple components that work in coordination to improve performance across dynamic environments.
These components may include population management strategies, memory-based mechanisms, diversity preservation techniques, convergence detectors, and optimization operators. 
Each plays a distinct role in enabling the algorithm to react to changes and maintain effective search behavior throughout the optimization process.

\subsubsection{Key Components of EDOAs}
\label{sec:EDOA-Components}
\color{black}

\begin{itemize}
\item \textbf{Population Management:} These components are responsible for controlling the creation, organization, and activities of subpopulations in algorithms that utilize more than one population, such as bi-population and, more commonly, multi-population methods~\cite{li2015multipopulation}. 
They dictate how subpopulations are formed, how they share information with each other, and how computational resources are allocated across the subpopulations to ensure an effective balance between exploration and exploitation.
\item \textbf{Explicit Memory:} EDOAs often rely on historical knowledge to enhance their optimization process over time and after environmental changes. 
One method for storing and retrieving this information is through explicit memory~\cite{branke1999memory}, which keeps track of past optima. In some algorithms, explicit memory is used to accelerate the change reaction, while in others, it is employed to manage subpopulations and prevent over-exploitation of promising regions.
\item \textbf{Diversity Control:} In evolutionary algorithms, \textit{diversity loss} is a significant challenge when optimizing in dynamic environments~\cite{branke2012evolutionary}.  
Diversity control components help address this challenge. 
There are two main types of diversity control components. 
The first type, \textit{local diversity control}, addresses local diversity loss by facilitating the tracking of local optima and enhancing exploitation after environmental changes. 
The second type, \textit{global diversity control}, aims to maintain the capability of exploration. 
Diversity control components are further classified into those that maintain diversity throughout the optimization process and those that inject diversity into subpopulations or the overall population when certain conditions trigger them.
\item \textbf{Convergence Detection:} While not directly addressing any specific challenge of optimization in dynamic environments, convergence detection is essential for triggering other components, such as those related to diversity control or population management. It helps identify when a population or subpopulation has converged on a promising region.
\item \textbf{Optimizer:} One of the core components of an EDOA is the optimizer itself, which is often an algorithm originally designed for static optimization. However, when integrated with other components such as population management and diversity control, these optimizers become capable of handling dynamic environments by adapting to environmental changes and maintaining effective search performance. 
\end{itemize}


A significant line of research in the field involves the development of new versions or improvements of these core components. 
In EDOLAB, we have designed the platform with modularity in mind, ensuring that each of the components is clearly separated and well-structured within the codebase. 
This modularization allows researchers to easily locate, modify, or replace individual components---such as the population management or diversity control mechanisms---without requiring a full re-implementation of the algorithm.
This design facilitates experimentation and enables users to evaluate the performance of existing algorithms when paired with newly developed components.

\subsubsection{Taxonomy of EDOA Frameworks}
\label{sec:EDOA-Classification}
~~~

Based on the components and strategies used in the framework of EDOAs, we can categorize them into the following classes~\cite{yazdani2024survey}:


\begin{itemize}
    \item \textbf{Single-Population Algorithms}: These algorithms employ a single population throughout the optimization process~\cite{eberhart2001tracking}. 
    Their primary limitation is the lack of flexibility in exploring different regions of the search space, making them less effective for complex dynamic problems.
    
    \item \textbf{Bi-Population Algorithms}: Bi-population algorithms divide the population into two groups, where one typically focuses on exploration and the other on exploitation~\cite{branke1999memory}. This basic division offers improved performance compared to single-population algorithms by balancing the exploration of new regions and the exploitation of the best known promising region.
    
    \item \textbf{Multi-Population Algorithms}: The most advanced and commonly used class, multi-population EDOAs employ several subpopulations to explore various regions of the search space~\cite{blackwell2004multiswarm}. 
These algorithms tend to offer the best performance for solving dynamic optimization problems because they can simultaneously explore and exploit multiple regions. 
Multi-population algorithms are highly flexible and can incorporate a variety of other components such as diversity control and convergence detection.
 In terms of population management components, these algorithms can be further classified based on the following aspects:

    \begin{itemize}
        \item \textbf{Fixed vs. Adaptive Subpopulations}: In multi-population methods, subpopulations can either have a fixed or adaptive structure. Algorithms with a fixed number of subpopulations maintain the same structure throughout the optimization process~\cite{blackwell2006multiswarm}, while those with adaptive subpopulations dynamically adjust the number of subpopulations based on the number of promising regions discovered~\cite{blackwell2007particle}. Adaptive algorithms rely on mechanisms for creating and eliminating subpopulations in response to environmental changes~\cite{yazdani2020adaptive}.
        
               \item \textbf{Clustering-Based Subpopulation Formation}: Subpopulations in multi-population EDOAs can be generated through clustering methods. These clustering strategies may use the positions and fitness values of individuals~\cite{yang2010clustering} or simply group individuals based on indices~\cite{blackwell2006multiswarm}. Clustering based on positions can be more effective, as it takes the spatial distribution of individuals into account when forming subpopulations~\cite{yazdani2021DOPsurveyPartA}. However, this approach is more computationally expensive as it requires frequent re-clustering of individuals.
        
  \item \textbf{Homogeneous vs. Heterogeneous Subpopulations}: Subpopulations in multi-population methods can be either homogeneous or heterogeneous. In homogeneous subpopulations, each subpopulation uses the same optimizer, structure, and parameter settings~\cite{mendes2006DynDE}. On the other hand, heterogeneous subpopulations~\cite{li2008fast}  have varying structures, parameter settings, or even optimizers, making them more flexible and potentially more effective at assigning different roles and covering diverse regions of the search space.



    \end{itemize}
\end{itemize}




\subsection{\textbf{EDOAs Included in EDOLAB}}
\label{sec:sec:CoveredEDOs}

The current release of EDOLAB includes 27 EDOAs, listed in Table~\ref{tab:algorithms}.  
As seen in the table, Particle Swarm Optimization (PSO)~\cite{bonyadi2017particle} and Differential Evolution (DE)~\cite{das2010differential} are the most commonly used optimizers in the algorithms included in EDOLAB.
This choice is in line with the distribution of optimizers in the literature, where these two are the most frequently employed in the field of evolutionary dynamic optimization~\cite{yazdani2021DOPsurveyPartB}.
Note that while Covariance Matrix Adaptation Evolution Strategy (CMA-ES)~\cite{CMA-ES} has proven to be a powerful and widely used optimizer in other fields of optimization, its application to continuous single-objective, unconstrained DOPs, which is the focus of the current version of EDOLAB, has been limited. 
Consequently, CMA-ES is only represented by a single algorithm in EDOLAB, which mirrors its relatively low adoption in the field of evolutionary dynamic optimization. 

Additionally, multi-population algorithms are heavily represented in EDOLAB, as they are widely recognized as the most effective class of algorithms for DOPs~\cite{yazdani2021DOPsurveyPartA,li2015multipopulation,yazdani2024survey}.
As discussed in Section~\ref{sec:sec:EDOAoverview}, different versions of multi-population EDOAs have been proposed in the literature, each employing a variety of techniques to manage subpopulations. 
In EDOLAB, we have included algorithms with:
\begin{itemize}
    \item Fixed and adaptive numbers of subpopulations,  
    \item Fixed and adaptive population sizes,  
    \item Various clustering methods for forming subpopulations, including clustering based on positions and fitness,  
    \item Homogeneous and heterogeneous subpopulation structures, where subpopulations may either share similar characteristics or differ in terms of parameter settings, size, or optimization components.
\end{itemize}
These variations provide a broad spectrum of strategies for addressing the complexities of DOPs.  
Overall, the distribution of EDOAs in EDOLAB is consistent with the trends observed in the literature, ensuring that the platform accurately represents the current state of the field.




\begin{table}[!t]
\small
\centering
  \caption{EDOAs included in the initial release of EDOLAB.} 
  \label{tab:algorithms}
\Rotatebox{90}{
    \begin{tabular}{l@{\ \ }p{0.16\textwidth}p{0.12\textwidth}c@{\ \ }c@{\ \ }c@{\ \ }p{0.1\textwidth}c@{\ \ }}
    \toprule
     \multirow{2}{*}{EDOA}         & \multirow{2}{*}{ Reference}        & Optimization & Population  & Number   of             & Population & Population & Sub-population\\
                                                                       &                                                                  &   component   &  structure     &  sub-populations &size &  clustering & heterogeneity\\
    \midrule 
\rowcolor{gray!20} ACF$_\mathrm{PSO}$& \cite{yazdani2020adaptive}&  PSO & Multi-population & Adaptive & Adaptive & By index & Homogeneous\\
AMP$_\mathrm{DE}$ &\cite{li2016adaptive}&DE& Multi-population & Adaptive & Adaptive & By position & Heterogeneous\\   
\rowcolor{gray!20}AMP$_\mathrm{PSO}$ &\cite{li2016adaptive}&PSO & Multi-population & Adaptive & Adaptive & By position  & Heterogeneous\\     
AmQSO      & \cite{blackwell2008particle}          &   PSO & Multi-population & Adaptive & Adaptive & By index & Homogeneous\\
\rowcolor{gray!20}AMSO &\cite{li2014adaptive}&PSO & Multi-population & Adaptive & Adaptive & By position & Heterogeneous\\   
CDE& \cite{du2012using} & DE/best/2/bin & Multi-population & Fixed & Fixed & By index & Homogeneous\\
\rowcolor{gray!20}CESO& \cite{lung2007collaborative}& DE/rand/1/exp and PSO & Bi-population & Fixed & Fixed & N/A  & Heterogeneous\\
CPSO &\cite{yang2010clustering}&PSO& Multi-population & Adaptive & Fixed & By position & Heterogeneous\\
\rowcolor{gray!20}CPSOR &\cite{li2012general}&PSO & Multi-population & Adaptive & Fixed & By position & Heterogeneous\\   
DSPSO &\cite{parrot2006locating} &PSO & Multi-population & Adaptive & Fixed & By position and fitness & Heterogeneous\\ 
\rowcolor{gray!20}DynDE& \cite{mendes2006DynDE}&DE/best/2/bin & Multi-population & Fixed & Fixed & By index & Homogeneous\\      
DynPopDE& \cite{plessis2013differential}&DE/best/2/bin& Multi-population & Adaptive & Adaptive & By index & Homogeneous\\           
\rowcolor{gray!20}FTMPSO& \cite{yazdani2013novel} &  PSO  & Multi-population & Adaptive & Adaptive & By index & Heterogeneous\\
HmSO &\cite{kamosi2010hibernating}&PSO & Multi-population & Fixed & Fixed & By index & Homogeneous\\   
\rowcolor{gray!20}IDSPSO &\cite{blackwell2008particle} &PSO & Multi-population & Adaptive & Fixed & By position and fitness & Heterogeneous\\ 
ImQSO       & \cite{kordestani2019note}   &   PSO& Multi-population & Fixed & Fixed & By index & Homogeneous\\   
\rowcolor{gray!20}mCMA-ES    & \cite{yazdani2019scaling}                   &   CMA-ES& Multi-population & Adaptive & Adaptive & By index & Homogeneous\\
mDE       & \cite{yazdani2019scaling}                  &   DE/best/2/bin& Multi-population & Adaptive & Adaptive & By index & Homogeneous\\      
\rowcolor{gray!20}mjDE       & \cite{yazdani2019scaling}                   &   jDE& Multi-population & Adaptive & Adaptive & By index & Homogeneous\\
mPSO   & \cite{yazdani2019scaling} &   PSO & Multi-population & Adaptive & Adaptive & By index & Homogeneous\\
\rowcolor{gray!20}mQSO       & \cite{blackwell2006multiswarm}   &   PSO & Multi-population & Fixed & Fixed & By index & Homogeneous\\        
%MSPSO &\cite{luo2016species}&PSO& Multi-population & Adaptive & Fixed & By position and fitness & Heterogeneous\\    
psfNBC &\cite{luo2018identifying}&PSO& Multi-population & Adaptive & Fixed & By position and fitness & Homogeneous\\  
\rowcolor{gray!20}RPSO       & \cite{hu2002adiptive}                         &   PSO  & Single-population & Fixed & Fixed & N/A & N/A\\
SPSO$_\mathrm{AD+AP}$ &\cite{yazdani2023species}&PSO& Multi-population & Adaptive & Adaptive & By position and fitness & Homogeneous\\  
\rowcolor{gray!20}TMIPSO &\cite{wang2007triggered}&PSO& Bi-population & Fixed & Fixed & N/A & Heterogeneous \\   
APCPSO &\cite{liu2020apcpso}&PSO & Multi-population & Adaptive & Adaptive & By position  & Heterogeneous\\     
\rowcolor{gray!20} DPCPSO &\cite{li2024dpcpso}&PSO & Multi-population & Adaptive & Adaptive & By position  & Heterogeneous\\     
  \bottomrule
  \end{tabular}
}\end{table}


\subsection{Implementation Notes and Standardization Policies}
\label{sec:sec:EDOA-Standardization}
To ensure fair comparisons in experiments, we have standardized certain aspects of the optimization components used in the EDOAs, meaning that some EDOAs in EDOLAB may differ slightly from their original versions. 
For all EDOAs that utilize PSO as their optimization component, we employ PSO with a constriction factor~\cite{eberhart2001comparing}. 
Additionally, DE/rand/2/bin~\cite{mendes2006DynDE} is used for most EDOAs that incorporate DE. 
In CESO~\cite{lung2007collaborative}, crowding DE (DE/rand/1/exp)~\cite{thomsen2004multimodal} is used to maintain global diversity; thus, we have retained this DE version. 
Similarly, in mjDE, the jDE~\cite{brest2006selfadaptive}, a well-known self-adaptive version of DE, is employed. Furthermore, to handle the box constraints~\cite{mezura2011constraint} (i.e., keeping the individuals/candidate solutions within search space boundaries), we apply the absorb boundary handling technique~\cite{helwig2012experimental} across all EDOAs.

We also assume that all EDOAs in EDOLAB are informed about environmental changes; therefore, change detection components are not included. 
As described in~\cite{branke2003designing}, environmental changes in many real-world DOPs are often \emph{visible}, with optimization algorithms being informed of these changes through other system components, such as agents, sensors, or the arrival of new entities (for example, new orders)~\cite{yazdani2021DOPsurveyPartA}. 
In such scenarios, the algorithms do not require a change detection component.

In the original versions of some EDOAs, internal parameters of benchmark generators, such as shift severity, were utilized by the algorithms. 
However, for fair and unbiased comparisons, problem instances must be treated as black boxes, and using such internal knowledge can disadvantage other EDOAs that do not have access to it. 
In EDOLAB, we employ the shift severity estimation method from~\cite{yazdani2018robust} for all EDOAs that require knowledge about shift severity. 
Furthermore, in EDOAs and components that originally required knowledge of the number of promising regions, we use the number of sub-populations instead~\cite{blackwell2008particle}.



\section{Overview of Structure and Architecture of EDOLAB}
\label{sec:Overview}

This section provides a high-level overview of EDOLAB's structure, focusing on its core components and their roles in experimentation and education.
In this section, it is intended to give readers a conceptual understanding of the platform's capabilities without exploring implementation details. 
Complete technical information is available in a comprehensive user manual that accompanies the platform. 
The manual offers detailed guidance on EDOLAB's internal architecture, implementation structure, usage workflows, extension procedures, and Octave compatibility. 
It is provided as supplementary material to this article and is also accessible via the project's GitHub repository: [\url{https://github.com/EvoMindLab/EDOLAB}].

EDOLAB supports two modes of operation: a \emph{GUI Mode} and a \emph{Code Mode} (script-based). 
The GUI Mode offers a comprehensive environment for configuring experiments, modifying algorithm and benchmark parameters, running multiple experiments in parallel, and performing statistical analysis with integrated visualization tools. 
The Code Mode remains available for those who prefer direct script-level control or need to customize internal components at a lower level. 
A detailed comparison of these two modes, along with usage instructions and workflow differences, is provided in Section~\ref{sec:running} of the user manual.


EDOLAB provides two primary applications: \textit{Experimentation} and \textit{Education}, each targeting different user needs. 
The Experimentation application focuses on algorithm evaluation, benchmarking, and statistical analysis, while the Education application emphasizes interpretability and visual understanding of EDOA behavior in dynamic environments. 
Details about the functionality of these applications and how users interact with them are provided in Sections~\ref{sec:sec:exprementationModule} and~\ref{sec:sec:sec:EducationApp} of the user manual. 
Visual illustrations of their graphical interfaces are shown in Figures~\ref{fig:Manual:ExperimentationModule} and~\ref{fig:Manual:EducationModul}.


In the current version of EDOLAB, the \textit{Experimentation} application enables users to run and compare 27 pre-implemented EDOAs across four configurable benchmark generators. 
Experiment parameters can be customized either through the GUI or by modifying the source code. 
When configured via the GUI, parameter changes are applied at runtime without altering the default values hardcoded in the source files. 
The Code Mode offers full flexibility, allowing users to directly modify algorithm components and internal logic. 
In contrast, the GUI Mode provides additional capabilities, including batch experiment configuration, parallel execution using thread or process pools, automated result aggregation, and an integrated statistical analysis panel that supports significance testing and visual comparisons (see Manual Section~\ref{sec:sec:exprementationModule}).

The \textit{Education} application is designed for visual exploration of EDOA behavior in 2D problem instances. 
It generates contour plots that dynamically display the movement of individuals and environmental changes. 
The application operates identically in both GUI and Code Modes, providing equivalent functionality for configuring benchmark and algorithm parameters and for producing detailed visualizations. 
Step-by-step usage instructions for the Education application in both modes are provided in Sections~\ref{sec:sec:sec:EducationApp} (GUI Mode) and~\ref{sec:sec:CodeMode} (Code Mode) of the user manual.


EDOLAB is designed with modularity as a core principle. 
Algorithms, benchmark generators, and performance indicators are encapsulated in separate folders and implemented using standardized interfaces and naming conventions. 
This structure ensures that modules can be added or modified independently, without affecting other parts of the platform. 
The user manual provides detailed guidance on how to extend EDOLAB with new modules, including file-level descriptions and a sequence diagram showing how components interact (see Sections~\ref{sec:Architecture} and~\ref{sec:sec:extension} of the user manual).

To support users without access to MATLAB, EDOLAB also offers compatibility with GNU Octave, an open-source alternative. 
This compatibility is available for the Code Mode (non-GUI), as GUI functionalities depend on MATLAB-specific components that are not fully supported in Octave. 
A dedicated compatibility layer is included in the platform, and key scripts have been adapted to ensure proper functionality.
Instructions for configuring and running EDOLAB in Octave are provided in Section~\ref{sec:Octave} of the user manual.

\section{Benchmarking Results and Visualization Overview}
\label{sec:BenchmarkingResults}

To showcase EDOLAB's capabilities in benchmarking and experimental analysis, we present a study evaluating nine recent EDOAs included in the current version of the EDOLAB library. 
These algorithms were compared across several scenarios generated by four benchmark generators described in Section~\ref{sec:sec:benchmarks}. This analysis not only highlights algorithmic behavior but also demonstrates how EDOLAB supports comprehensive result interpretation through its statistical and visualization tools.
In addition to the comparative benchmarking study, we include a standalone sensitivity analysis on a key parameter of one representative EDOA. This demonstrates how EDOLAB facilitates deeper investigations into algorithm behavior at the parameter level.
The benchmark scenarios used in this study vary in the number and morphology of promising regions, enabling a broad evaluation of algorithm performance under diverse conditions. The results are intended to showcase EDOLAB's features for analyzing benchmarking outcomes.

\subsection{Algorithm Performance Comparison Across Benchmark Scenarios}
\label{sec:sec:Comparisons}


To evaluate the behavior of recent EDOAs across diverse problem landscapes, we conducted a series of experiments involving the nine latest algorithms integrated into EDOLAB: SPSO$_\mathrm{AP+AD}$~\cite{yazdani2023species}, ACF$_\mathrm{PSO}$~\cite{yazdani2020adaptive}, APCPSO~\cite{liu2020apcpso}, DPCPSO~\cite{li2024dpcpso}, ImQSO~\cite{kordestani2019note}, mDE~\cite{yazdani2019scaling}, mPSO~\cite{yazdani2019scaling}, AMP$_\mathrm{PSO}$~\cite{li2016adaptive}, and psfNBC~\cite{luo2018identifying}. 
Each algorithm was tested across benchmark scenarios generated by all four generators described in Section~\ref{sec:sec:benchmarks}, with the number of promising regions set to 10, 25, 50, and 100 to represent varying levels of multimodality. 
All benchmark generator parameters, except the number of promising regions, were set to their default values.
Common benchmark settings across all scenarios included a problem dimension of 5, a change frequency of 5000 fitness evaluations, a shift severity of 1, and 100 environmental changes.
Similarly, each algorithm was configured according to the default parameter settings recommended in its original publication. 
For each algorithm–scenario combination, 31 independent runs were performed to ensure statistical robustness. 
The resulting performance data were analyzed using EDOLAB's integrated statistical and visualization tools, enabling a detailed examination of trends, robustness, and behavior under different landscape conditions.

Performance analysis was conducted using EDOLAB's \emph{Statistical Analysis} panel in GUI Mode, which supports three non-parametric hypothesis testing methods~\cite{hollander2013nonparametric}: the \emph{Friedman test}, the \emph{Wilcoxon signed-rank test}, and the \emph{Wilcoxon rank-sum test}. By selecting the desired performance indicators and testing methods, users can automatically generate detailed statistical comparison results, including indicator values and associated test statistics.

The results of algorithm performance across the four benchmarks are summarized in Tables~\ref{tab:MPBresults}, \ref{tab:GMPBresults}, \ref{tab:GDBGresults}, and \ref{tab:FPsresults}. 
Each table reports the average, standard error, and median of $E_\mathrm{o}$ and $E_\mathrm{bbc}$ across 31 runs. 
Furthermore, all three non-parametric statistical tests are applied to both indicators: the Friedman test provides average ranks along with Nemenyi post-hoc groupings (denoted by letters), while the Wilcoxon signed-rank and rank-sum tests yield win-loss ($w\text{-}l$) results for pairwise comparisons. 
The best-performing entries in each row---according to each statistical test---are highlighted. 
For example, values tagged with ``a'' in the Friedman test or those with the highest win-loss count in either Wilcoxon test are highlighted. 
Note that due to differing statistical assumptions, the three tests may not always identify the same algorithms as the top performers, and minor inconsistencies between their conclusions are to be expected.

We emphasize that the simultaneous use of multiple statistical methods in this analysis is intended to showcase the flexibility and breadth of EDOLAB's capabilities in statistical evaluation. 
In typical benchmarking studies, it is more common to select a single test based on the study design and comparison goals. 
For further discussion of the differences between these methods, see Section~\ref{sec:sec:StatisticalNotes}.


\begin{table}[!t]
\centering
  \caption{\small Statistical results on the MPB benchmark with varying numbers of promising regions ($P=10, 25, 50, 100$), based on 31 runs. Here, $P$ denotes the number of promising regions. The table reports the average, median, and standard error ($SE$) of $E_\mathrm{o}$ and $E_\mathrm{bbc}$. Performance differences are analyzed using non-parametric tests: Friedman test ranks with Nemenyi post-hoc groups (marked by letters), and Wilcoxon signed-rank and rank-sum tests with win-loss ($w\text{-}l$) results. The best performance for each indicator is highlighted. These statistical results were generated using the Statistical Analysis panel in the GUI Mode of EDOLAB.
}

  \label{tab:MPBresults}
  \renewcommand{\arraystretch}{1.2}
\resizebox{\textwidth}{!}{
\small
\begin{tabular}{ccccccccccc}
      \hline
      \hline
    \multirow{2}{*}{$P$} & \multirow{2}{*}{Indicator} & \multicolumn{9}{c}{Algorithms} \\
    \cmidrule{3-11}
    & & ACF$_\mathrm{PSO}$ & SPSO$_\mathrm{AD+AP}$ & AMP$_\mathrm{PSO}$ & mPSO & APCPSO & DPCPSO & ImQSO & mDE & psfNBC \\
      \hline
      \multirow{10}[0]{*}{10} & $\overline{E}_\mathrm{o} \pm  SE$ & 1.02 ± 0.07 & 1.02 ± 0.06 & 1.61 ± 0.05 & 1.34 ± 0.06 & 3.80 ± 0.11 & 3.28 ± 0.09 & 2.16 ± 0.08 & 1.86 ± 0.07 & 2.59 ± 0.08 \\
      & $E_\mathrm{o}$ Median & 1.06 & 0.97 & 1.55 & 1.39 & 3.64 & 3.17 & 2.09 & 1.86 & 2.55 \\
      & Friedman Rank & \colorbox{gray!20}{1.61 a} & \colorbox{gray!20}{1.61 a} & 4.00 b & \colorbox{gray!20}{3.00 a} & 9.00 c & 7.97 c & 5.90 b & 4.97 b & 6.94 c \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 2 & 4 & -8 & -6 & -2 & 0 & -4 \\
      & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 2 & 4 & -8 & -6 & -2 & 0 & -4 \\
      \cline{2-11}
      & $\overline{E}_\mathrm{bbc} \pm  SE$ & 0.53 ± 0.06 & 0.56 ± 0.06 & 0.63 ± 0.06 & 0.59 ± 0.06 & 1.90 ± 0.08 & 1.67 ± 0.08 & 1.00 ± 0.07 & 1.19 ± 0.07 & 1.12 ± 0.07 \\
      & $E_\mathrm{bbc}$ Median & 0.50 & 0.50 & 0.57 & 0.51 & 1.90 & 1.66 & 0.99 & 1.10 & 1.04 \\
      & Friedman Rank & \colorbox{gray!20}{2.16 a} & \colorbox{gray!20}{2.68 a} & \colorbox{gray!20}{3.13 a} & \colorbox{gray!20}{2.65 a} & 8.77 c & 8.06 c & 5.29 b & 6.35 b & 5.90 b \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{5} & \colorbox{gray!20}{5} & \colorbox{gray!20}{5} & \colorbox{gray!20}{5} & -8 & -6 & 0 & -4 & -2 \\
      & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{5} & \colorbox{gray!20}{5} & \colorbox{gray!20}{5} & \colorbox{gray!20}{5} & -7 & -7 & -2 & -2 & -2 \\
        \hline
      \multirow{10}[0]{*}{25} & $\overline{E}_\mathrm{o} \pm  SE$ & 1.37 ± 0.06 & 1.44 ± 0.06 & 2.14 ± 0.06 & 1.92 ± 0.07 & 3.65 ± 0.11 & 3.48 ± 0.11 & 2.83 ± 0.10 & 2.33 ± 0.07 & 3.26 ± 0.09 \\
      & $E_\mathrm{o}$ Median & 1.30 & 1.40 & 2.14 & 1.90 & 3.64 & 3.39 & 2.81 & 2.32 & 3.24 \\
      & Friedman Rank & \colorbox{gray!20}{1.45 a} & \colorbox{gray!20}{1.55 a} & 4.13 b & \colorbox{gray!20}{3.13 a} & 8.65 c & 7.97 c & 6.10 b & 4.81 b & 7.23 c \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 2 & 4 & -8 & -6 & -2 & 0 & -4 \\
      & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 2 & 4 & -7 & -6 & -2 & 0 & -5  \\
      \cline{2-11}
      & $\overline{E}_\mathrm{bbc} \pm  SE$ & 0.78 ± 0.05 & 0.85 ± 0.06 & 1.13 ± 0.05 & 0.97 ± 0.06 & 2.11 ± 0.09 & 2.18 ± 0.10 & 1.83 ± 0.09 & 1.53 ± 0.07 & 1.90 ± 0.08 \\
      & $E_\mathrm{bbc}$ Median & 0.73 & 0.80 & 1.10 & 0.92 & 2.09 & 2.07 & 1.77 & 1.51 & 1.90 \\
      & Friedman Rank & \colorbox{gray!20}{1.71 a} & \colorbox{gray!20}{1.81 a} & \colorbox{gray!20}{3.74 a} & \colorbox{gray!20}{2.81 a} & 7.81 c & 8.32 c & 6.68 b & 5.32 b & 6.81 b \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 2 & 4 & -7 & -7 & -3 & 0 & -3 \\
      & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{7} & 6 & 2 & 5 & -6 & -7 & -3 & 0 & -4 \\
      \hline
      \multirow{10}[0]{*}{50} & $\overline{E}_\mathrm{o} \pm  SE$ & 1.54 ± 0.04 & 1.55 ± 0.04 & 2.33 ± 0.05 & 2.10 ± 0.05 & 3.22 ± 0.07 & 3.26 ± 0.07 & 2.67 ± 0.07 & 2.39 ± 0.05 & 3.14 ± 0.06 \\
      & $E_\mathrm{o}$ Median & 1.51 & 1.57 & 2.28 & 2.07 & 3.18 & 3.20 & 2.63 & 2.37 & 3.15 \\
      & Friedman Rank & \colorbox{gray!20}{1.45 a} & \colorbox{gray!20}{1.55 a} & 4.29 b & \colorbox{gray!20}{3.10 a} & 8.00 c & 8.32 c & 5.84 b & 4.90 b & 7.55 c \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 2 & 4 & -6 & -7 & -2 & 0 & -5 \\
      & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 1 & 4 & -6 & -6 & -2 & 1 & -6 \\
      \cline{2-11}
      & $\overline{E}_\mathrm{bbc} \pm  SE$ & 0.89 ± 0.04 & 0.91 ± 0.04 & 1.37 ± 0.05 & 1.12 ± 0.04 & 1.93 ± 0.06 & 2.17 ± 0.06 & 1.83 ± 0.07 & 1.52 ± 0.04 & 1.88 ± 0.05 \\
      & $E_\mathrm{bbc}$ Median & 0.86 & 0.85 & 1.31 & 1.09 & 1.85 & 2.17 & 1.75 & 1.52 & 1.86 \\
      & Friedman Rank & \colorbox{gray!20}{1.55 a} & \colorbox{gray!20}{1.65 a} & 4.13 b & \colorbox{gray!20}{2.87 a} & 7.35 c & 8.61 c & 6.81 c & 5.03 b & 7.00 c \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 2 & 4 & -5 & -8 & -3 & 0 & -4 \\
      & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 2 & 4 & -4 & -8 & -4 & 0 & -4 \\
      \hline
      \multirow{10}[0]{*}{100} & $\overline{E}_\mathrm{o} \pm  SE$ & 1.54 ± 0.03 & 1.56 ± 0.03 & 2.37 ± 0.04 & 2.20 ± 0.03 & 2.85 ± 0.05 & 2.94 ± 0.05 & 2.55 ± 0.04 & 2.38 ± 0.03 & 3.16 ± 0.06 \\
      & $E_\mathrm{o}$ Median & 1.55 & 1.55 & 2.35 & 2.22 & 2.83 & 2.91 & 2.59 & 2.36 & 3.12 \\
      & Friedman Rank & \colorbox{gray!20}{1.55 a} & \colorbox{gray!20}{1.45 a} & 4.52 b & \colorbox{gray!20}{3.23 a} & 7.32 c & 7.90 c & 5.77 b & 4.61 b & 8.65 c \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 1 & 4 & -4 & -6 & -2 & 1 & -8 \\
      & Rank Sum $w\text{-}l$ & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 1 & 4 & -5 & -5 & -2 & 1 & -8 \\
      \cline{2-11}
      & $\overline{E}_\mathrm{bbc} \pm  SE$ & 0.92 ± 0.02 & 0.92 ± 0.03 & 1.49 ± 0.03 & 1.25 ± 0.02 & 1.68 ± 0.04 & 1.98 ± 0.05 & 1.81 ± 0.03 & 1.46 ± 0.02 & 1.98 ± 0.06 \\
      & $E_\mathrm{bbc}$ Median & 0.93 & 0.93 & 1.46 & 1.26 & 1.68 & 1.97 & 1.80 & 1.45 & 1.91 \\
      & Friedman Rank & \colorbox{gray!20}{1.58 a} & \colorbox{gray!20}{1.45 a} & 4.94 b & \colorbox{gray!20}{3.03 a} & 6.16 b & 8.42 c & 7.13 c & 4.35 b & 7.94 c \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 1 & 4 & -2 & -7 & -4 & 1 & -7 \\
      & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 1 & 4 & -2 & -7 & -4 & 1 & -7 \\
      \hline
      \hline
    \end{tabular}%
  }
\end{table}

\begin{table}[!t]
\centering
  \caption{\small Statistical results on the GMPB benchmark with varying numbers of promising regions ($P=10, 25, 50, 100$), based on 31 runs. Here, $P$ denotes the number of promising regions. The table reports the average, median, and standard error ($SE$) of $E_\mathrm{o}$ and $E_\mathrm{bbc}$. Performance differences are analyzed using non-parametric tests: Friedman test ranks with Nemenyi post-hoc groups (marked by letters), and Wilcoxon signed-rank and rank-sum tests with win-loss ($w\text{-}l$) results. The best performance for each indicator is highlighted. These statistical results were generated using the Statistical Analysis panel in the GUI Mode of EDOLAB.
}
  \label{tab:GMPBresults}
  \renewcommand{\arraystretch}{1.2}
\resizebox{\textwidth}{!}{
\small
\begin{tabular}{ccccccccccc}
      \hline
      \hline
    \multirow{2}{*}{$P$} & \multirow{2}{*}{Indicator} & \multicolumn{9}{c}{Algorithms} \\
    \cmidrule{3-11}
    & & ACF$_\mathrm{PSO}$ & SPSO$_\mathrm{AD+AP}$ & AMP$_\mathrm{PSO}$ & mPSO & APCPSO & DPCPSO & ImQSO & mDE & psfNBC \\
      \hline
      \multirow{10}[0]{*}{10} & $\overline{E}_\mathrm{o} \pm  SE$ & 1.70 ± 0.09 & 1.41 ± 0.08 & 1.30 ± 0.05 & 1.76 ± 0.06 & 2.37 ± 0.08 & 2.49 ± 0.07 & 1.88 ± 0.06 & 1.87 ± 0.06 & 2.07 ± 0.07 \\
      & $E_\mathrm{o}$ Median & 1.55 & 1.30 & 1.25 & 1.68 & 2.27 & 2.48 & 1.75 & 1.83 & 2.11 \\
      & Friedman Rank & 4.10 b & \colorbox{gray!20}{2.32 a} & \colorbox{gray!20}{1.71 a} & 4.45 b & 7.77 c & 8.06 c & 5.23 b & 5.13 b & 6.23 b \\
      & Signed Rank $w\text{-}l$ & 3 & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 1 & -7 & -7 & 0 & 0 & -4 \\
      & Rank Sum $w\text{-}l$  & 3 & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 1 & -7 & -7 & 0 & -1 & -3 \\
      \cline{2-11}
      & $\overline{E}_\mathrm{bbc} \pm  SE$ & 1.15 ± 0.09 & 1.02 ± 0.08 & 0.71 ± 0.05 & 1.01 ± 0.05 & 1.36 ± 0.07 & 1.61 ± 0.06 & 1.30 ± 0.06 & 1.26 ± 0.05 & 1.17 ± 0.06 \\
      & $E_\mathrm{bbc}$ Median & 0.98 & 0.89 & 0.64 & 0.92 & 1.31 & 1.63 & 1.17 & 1.19 & 1.14 \\
      & Friedman Rank & 4.74 b & \colorbox{gray!20}{3.52 a} & \colorbox{gray!20}{1.55 a} & \colorbox{gray!20}{3.52 a} & 6.55 b & 8.00 c & 6.06 b & 5.81 b & 5.26 b \\
      & Signed Rank $w\text{-}l$ & 1 & 4 & \colorbox{gray!20}{8} & 4 & -4 & -8 & -2 & -2 & -1 \\
      & Rank Sum $w\text{-}l$  & 3 & 4 & \colorbox{gray!20}{8} & 4 & -4 & -8 & -3 & -3 & -1 \\
        \hline
      \multirow{10}[0]{*}{25} & $\overline{E}_\mathrm{o} \pm  SE$ & 2.04 ± 0.06 & 1.83 ± 0.05 & 1.82 ± 0.04 & 2.18 ± 0.04 & 2.79 ± 0.04 & 3.18 ± 0.05 & 2.61 ± 0.06 & 2.27 ± 0.06 & 3.05 ± 0.08 \\
      & $E_\mathrm{o}$ Median & 1.98 & 1.77 & 1.76 & 2.15 & 2.75 & 3.18 & 2.55 & 2.23 & 2.93 \\
      & Friedman Rank & \colorbox{gray!20}{3.16 a} & \colorbox{gray!20}{2.06 a} & \colorbox{gray!20}{1.87 a} & \colorbox{gray!20}{3.97 a} & 6.90 c & 8.45 c & 6.19 b & 4.55 b & 7.84 c \\
      & Signed Rank $w\text{-}l$ & 3 & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 2 & -4 & -7 & -2 & 1 & -7 \\
      & Rank Sum $w\text{-}l$  & 4 & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 1 & -4 & -7 & -2 & 1 & -7 \\
      \cline{2-11}
      & $\overline{E}_\mathrm{bbc} \pm  SE$ & 1.50 ± 0.06 & 1.32 ± 0.05 & 1.19 ± 0.04 & 1.40 ± 0.04 & 1.80 ± 0.04 & 2.30 ± 0.05 & 1.97 ± 0.05 & 1.54 ± 0.05 & 2.10 ± 0.08 \\
      & $E_\mathrm{bbc}$ Median & 1.43 & 1.31 & 1.17 & 1.37 & 1.79 & 2.35 & 1.92 & 1.51 & 2.00 \\
      & Friedman Rank & \colorbox{gray!20}{4.00 a} & \colorbox{gray!20}{2.61 a} & \colorbox{gray!20}{1.90 a} & \colorbox{gray!20}{3.32 a} & 6.00 b & 8.26 c & 7.16 c & 4.29 b & 7.45 c \\
      & Signed Rank $w\text{-}l$ & 2 & 6 & \colorbox{gray!20}{8} & 3 & -2 & -8 & -5 & 1 & -5 \\
      & Rank Sum $w\text{-}l$  & 2 & 6 & \colorbox{gray!20}{7} & 4 & -2 & -8 & -5 & 1 & -5 \\
      \hline
      \multirow{10}[0]{*}{50} & $\overline{E}_\mathrm{o} \pm  SE$ & 2.27 ± 0.06 & 1.98 ± 0.05 & 2.00 ± 0.03 & 2.34 ± 0.04 & 2.97 ± 0.05 & 3.47 ± 0.05 & 2.84 ± 0.05 & 2.50 ± 0.04 & 3.29 ± 0.06 \\
      & $E_\mathrm{o}$ Median & 2.22 & 1.95 & 1.96 & 2.31 & 2.96 & 3.46 & 2.81 & 2.49 & 3.24 \\
      & Friedman Rank & \colorbox{gray!20}{3.42 a} & \colorbox{gray!20}{1.77 a} & \colorbox{gray!20}{1.90 a} & \colorbox{gray!20}{3.71 a} & 6.84 c & 8.65 c & 6.19 b & 4.65 b & 7.87 c \\
      & Signed Rank $w\text{-}l$ & 3 & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 3 & -3 & -8 & -3 & 0 & -6 \\
      & Rank Sum $w\text{-}l$  & 3 & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 3 & -3 & -8 & -3 & 0 & -6 \\
      \cline{2-11}
      & $\overline{E}_\mathrm{bbc} \pm  SE$ & 1.73 ± 0.05 & 1.42 ± 0.05 & 1.36 ± 0.03 & 1.54 ± 0.04 & 1.98 ± 0.04 & 2.61 ± 0.04 & 2.25 ± 0.05 & 1.71 ± 0.04 & 2.30 ± 0.06 \\
      & $E_\mathrm{bbc}$ Median & 1.70 & 1.37 & 1.35 & 1.56 & 1.94 & 2.57 & 2.22 & 1.69 & 2.28 \\
      & Friedman Rank & 4.48 b & \colorbox{gray!20}{2.13 a} & \colorbox{gray!20}{1.61 a} & \colorbox{gray!20}{3.23 a} & 5.94 b & 8.71 c & 7.16 c & 4.29 b & 7.45 c \\
      & Signed Rank $w\text{-}l$ & 1 &  \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 4 & -2 & -8 & -5 & 1 & -5 \\
      & Rank Sum $w\text{-}l$  & 1 &  \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 4 & -2 & -8 & -5 & 1 & -5 \\
      \hline
      \multirow{10}[0]{*}{100} & $\overline{E}_\mathrm{o} \pm  SE$ & 2.37 ± 0.04 & 2.11 ± 0.04 & 2.15 ± 0.03 & 2.54 ± 0.02 & 3.00 ± 0.04 & 3.56 ± 0.05 & 3.03 ± 0.04 & 2.70 ± 0.04 & 3.27 ± 0.06 \\
      & $E_\mathrm{o}$ Median & 2.32 & 2.10 & 2.14 & 2.52 & 2.97 & 3.56 & 3.07 & 2.70 & 3.28 \\
      & Friedman Rank & \colorbox{gray!20}{2.90 a} & \colorbox{gray!20}{1.65 a} & \colorbox{gray!20}{1.84 a} & 3.94 b & 6.42 c & 8.65 d & 6.71 c & 5.16 b & 7.74 c \\
      & Signed Rank $w\text{-}l$ & 4 & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 2 & -3 & -8 & -3 & 0 & -6 \\
      & Rank Sum $w\text{-}l$ & 4 & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 2 & -3 & -8 & -3 & 0 & -6 \\
      \cline{2-11}
      & $\overline{E}_\mathrm{bbc} \pm  SE$ & 1.84 ± 0.03 & 1.53 ± 0.04 & 1.53 ± 0.03 & 1.74 ± 0.02 & 2.05 ± 0.03 & 2.75 ± 0.04 & 2.42 ± 0.04 & 1.90 ± 0.03 & 2.31 ± 0.05 \\
      & $E_\mathrm{bbc}$ Median & 1.82 & 1.50 & 1.52 & 1.72 & 2.04 & 2.73 & 2.42 & 1.90 & 2.32 \\
      & Friedman Rank & 4.26 b & \colorbox{gray!20}{1.71 a} & \colorbox{gray!20}{1.74 a} & \colorbox{gray!20}{3.32 a} & 5.58 b & 8.77 c & 7.55 c & 4.90 b & 7.16 c \\
      & Signed Rank $w\text{-}l$ & 1 & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 4 & -2 & -8 & -5 & 1 & -5 \\
      & Rank Sum $w\text{-}l$  & 1 & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 4 & -2 & -8 & -5 & 1 & -5 \\
      \hline
      \hline
    \end{tabular}%
  }
\end{table}



\begin{table}[!t]
\centering
  \caption{\small  Statistical results on the GDBG benchmark with varying numbers of promising regions ($P=10, 25, 50, 100$), based on 31 runs. Here, $P$ denotes the number of promising regions. The table reports the average, median, and standard error ($SE$) of $E_\mathrm{o}$ and $E_\mathrm{bbc}$. Performance differences are analyzed using non-parametric tests: Friedman test ranks with Nemenyi post-hoc groups (marked by letters), and Wilcoxon signed-rank and rank-sum tests with win-loss ($w\text{-}l$) results. The best performance for each indicator is highlighted. These statistical results were generated using the Statistical Analysis panel in the GUI Mode of EDOLAB.
}
  \label{tab:GDBGresults}
  \renewcommand{\arraystretch}{1.2}
\resizebox{\textwidth}{!}{
\small
\begin{tabular}{ccccccccccc}
      \hline
      \hline
    \multirow{2}{*}{$P$} & \multirow{2}{*}{Indicator} & \multicolumn{9}{c}{Algorithms} \\
    \cmidrule{3-11}
    & & ACF$_\mathrm{PSO}$ & SPSO$_\mathrm{AD+AP}$ & AMP$_\mathrm{PSO}$ & mPSO & APCPSO & DPCPSO & ImQSO & mDE & psfNBC \\
      \hline
      \multirow{10}[0]{*}{10} & $\overline{E}_\mathrm{o} \pm  SE$ & 3.78 ± 0.12 & 5.87 ± 0.19 & 4.97 ± 0.13 & 4.85 ± 0.15 & 13.21 ± 0.31 & 12.51 ± 0.32 & 9.62 ± 0.27 & 6.12 ± 0.17 & 11.40 ± 0.22 \\
      & $E_\mathrm{o}$ Median & 3.76 & 5.63 & 4.89 & 4.72 & 12.66 & 11.83 & 9.28 & 5.93 & 11.39 \\
      & Friedman Rank & \colorbox{gray!20}{1.03 a} & 4.23 b & \colorbox{gray!20}{2.65 a} & \colorbox{gray!20}{2.55 a} & 8.84 c & 8.00 c & 6.06 b & 4.55 b & 7.10 c \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{8} & 1 & 5 & 5 & -8 & -6 & -2 & 1 & -4 \\
      & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{8} & 1 & 5 & 5 & -7 & -7 & -2 & 1 & -4 \\
      \cline{2-11}
      & $\overline{E}_\mathrm{bbc} \pm  SE$ & 1.55 ± 0.07 & 4.01 ± 0.16 & 2.11 ± 0.09 & 1.69 ± 0.09 & 7.92 ± 0.21 & 7.12 ± 0.21 & 5.74 ± 0.21 & 3.66 ± 0.13 & 5.13 ± 0.15 \\
      & $E_\mathrm{bbc}$ Median & 1.60 & 3.78 & 2.02 & 1.62 & 7.73 & 6.88 & 5.73 & 3.50 & 5.04 \\
      & Friedman Rank & \colorbox{gray!20}{1.42 a} & 4.84 b & \colorbox{gray!20}{2.90 a} & \colorbox{gray!20}{1.68 a} & 8.84 d & 8.13 c & 6.58 c & 4.35 b & 6.26 b \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{8} & 0 & 4 & 6 & -8 & -6 & -4 & 2 & -2 \\
      & Rank Sum $w\text{-}l$ & \colorbox{gray!20}{7} & 1 & 4 & \colorbox{gray!20}{7} & -8 & -6 & -3 & 1 & -3 \\
        \hline
      \multirow{10}[0]{*}{25} & $\overline{E}_\mathrm{o} \pm  SE$ & 2.93 ± 0.07 & 6.19 ± 0.15 & 4.23 ± 0.10 & 4.20 ± 0.10 & 8.74 ± 0.14 & 9.37 ± 0.14 & 8.87 ± 0.14 & 4.84 ± 0.12 & 9.54 ± 0.11 \\
      & $E_\mathrm{o}$ Median & 2.96 & 6.29 & 4.28 & 4.22 & 8.77 & 9.11 & 8.93 & 4.88 & 9.65 \\
      & Friedman Rank & \colorbox{gray!20}{1.00 a} & 4.94 b & \colorbox{gray!20}{2.65 a} & \colorbox{gray!20}{2.48 a} & 6.71 c & 8.00 c & 6.90 c & 3.94 b & 8.39 c \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{8} & 0 & 5 & 5 & -3 & -7 & -3 & 2 & -7 \\
      & Rank Sum $w\text{-}l$  &  \colorbox{gray!20}{8} & 0 & 5 & 5 & -3 & -7 & -3 & 2 & -7 \\
      \cline{2-11}
      & $\overline{E}_\mathrm{bbc} \pm  SE$ & 1.32 ± 0.05 & 3.55 ± 0.11 & 2.12 ± 0.07 & 1.96 ± 0.08 & 4.89 ± 0.13 & 5.10 ± 0.11 & 4.94 ± 0.12 & 2.68 ± 0.09 & 4.26 ± 0.10 \\
      & $E_\mathrm{bbc}$ Median & 1.36 & 3.58 & 2.00 & 1.88 & 4.86 & 5.13 & 5.06 & 2.59 & 4.28 \\
      & Friedman Rank & \colorbox{gray!20}{1.00 a} & 5.19 b & \colorbox{gray!20}{2.81 a} & \colorbox{gray!20}{2.23 a} & 7.52 c & 8.23 c & 7.87 c & 3.97 b & 6.19 c \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{8} & 0 & 4 & 6 & -5 & -7 & -6 & 2 & -2 \\
      & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{8} & 0 & 4 & 6 & -6 & -6 & -6 & 2 & -2 \\
      \hline
      \multirow{10}[0]{*}{50} & $\overline{E}_\mathrm{o} \pm  SE$ & 3.35 ± 0.05 & 7.12 ± 0.16 & 4.11 ± 0.07 & 4.14 ± 0.07 & 7.52 ± 0.11 & 8.37 ± 0.12 & 8.76 ± 0.18 & 4.46 ± 0.08 & 8.82 ± 0.13 \\
      & $E_\mathrm{o}$ Median & 3.37 & 7.01 & 4.20 & 4.19 & 7.46 & 8.31 & 8.44 & 4.41 & 8.65 \\
      & Friedman Rank &  \colorbox{gray!20}{1.00 a} & 5.48 b & \colorbox{gray!20}{2.61 a} & \colorbox{gray!20}{2.68 a} & 5.74 b & 7.45 c & 8.00 c & 3.71 b & 8.32 c \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{8} & 0 & 5 & 5 & -2 & -4 & -7 & 2 & -7 \\
      & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{8} & 0 & 5 & 5 & -2 & -5 & -6 & 2 & -7 \\
      \cline{2-11}
      & $\overline{E}_\mathrm{bbc} \pm  SE$ & 1.77 ± 0.04 & 4.16 ± 0.12 & 2.41 ± 0.04 & 2.39 ± 0.05 & 3.98 ± 0.06 & 4.46 ± 0.06 & 4.94 ± 0.13 & 2.73 ± 0.06 & 3.96 ± 0.08 \\
      & $E_\mathrm{bbc}$ Median & 1.72 & 4.15 & 2.38 & 2.40 & 3.94 & 4.43 & 4.82 & 2.68 & 3.97 \\
      & Friedman Rank & \colorbox{gray!20}{1.00 a} & 6.68 c & \colorbox{gray!20}{2.61 a} & \colorbox{gray!20}{2.65 a} & 6.19 c & 7.77 c & 8.48 d & 3.74 b & 5.87 b \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{8} & -3 & 5 & 5 & -2 & -6 & -8 & 2 & -1 \\
      & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{8} & -2 & 5 & 5 & -2 & -6 & -8 & 2 & -2 \\
      \hline
      \multirow{10}[0]{*}{100} & $\overline{E}_\mathrm{o} \pm  SE$ & 3.59 ± 0.07 & 7.41 ± 0.13 & 4.00 ± 0.07 & 4.16 ± 0.08 & 6.91 ± 0.12 & 8.10 ± 0.14 & 8.74 ± 0.15 & 4.33 ± 0.08 & 8.14 ± 0.10 \\
      & $E_\mathrm{o}$ Median & 3.62 & 7.38 & 4.01 & 4.08 & 6.90 & 8.00 & 8.57 & 4.31 & 8.19 \\
      & Friedman Rank & \colorbox{gray!20}{1.35 a} & 6.19 c & \colorbox{gray!20}{2.35 a} & \colorbox{gray!20}{2.77 a} & 5.29 b & 7.61 c & 8.48 d & 3.52 b & 7.42 c \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{8} & -2 & 6 & 4 & 0 & -5 & -8 & 2 & -5 \\
      & Rank Sum $w\text{-}l$ & \colorbox{gray!20}{8} & -2 & 5 & 4 & 0 & -5 & -8 & 3 & -5 \\
      \cline{2-11}
      & $\overline{E}_\mathrm{bbc} \pm  SE$ & 2.01 ± 0.05 & 4.16 ± 0.09 & 2.54 ± 0.05 & 2.63 ± 0.05 & 3.59 ± 0.08 & 4.13 ± 0.10 & 4.79 ± 0.11 & 2.78 ± 0.06 & 3.61 ± 0.07 \\
      & $E_\mathrm{bbc}$ Median & 2.01 & 4.18 & 2.54 & 2.56 & 3.62 & 4.08 & 4.66 & 2.83 & 3.62 \\
      & Friedman Rank & \colorbox{gray!20}{1.13 a} & 7.39 c & \colorbox{gray!20}{2.55 a} & \colorbox{gray!20}{2.87 a} & 5.74 c & 7.35 c & 8.68 d & 3.48 b & 5.81 c \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{8} & -5 & 5 & 5 & -1 & -5 & -8 & 2 & -1 \\
      & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{8} & -5 & 5 & 5 & -1 & -5 & -8 & 2 & -1 \\
      \hline
      \hline
    \end{tabular}%
  }
\end{table}


\begin{table}[!t]
\centering
  \caption{\small Statistical results on the FPs benchmark with varying numbers of promising regions ($P=10, 25, 50, 100$), based on 31 runs. Here, $P$ denotes the number of promising regions. The table reports the average, median, and standard error ($SE$) of $E_\mathrm{o}$ and $E_\mathrm{bbc}$. Performance differences are analyzed using non-parametric tests: Friedman test ranks with Nemenyi post-hoc groups (marked by letters), and Wilcoxon signed-rank and rank-sum tests with win-loss ($w\text{-}l$) results. The best performance for each indicator is highlighted. These statistical results were generated using the Statistical Analysis panel in the GUI Mode of EDOLAB.}
  \label{tab:FPsresults}
  \renewcommand{\arraystretch}{1.2}
\resizebox{\textwidth}{!}{
\small
\begin{tabular}{ccccccccccc}
  \hline
  \hline
\multirow{2}{*}{$P$} & \multirow{2}{*}{Indicator} & \multicolumn{9}{c}{Algorithms} \\
\cmidrule{3-11}
& & ACF$_\mathrm{PSO}$ & SPSO$_\mathrm{AD+AP}$ & AMP$_\mathrm{PSO}$ & mPSO & APCPSO & DPCPSO & ImQSO & mDE & psfNBC \\
  \hline
  \multirow{10}[0]{*}{10} & $\overline{E}_\mathrm{o} \pm  SE$ & 2.96 ± 0.47 & 3.03 ± 0.41 & 4.19 ± 0.52 & 3.37 ± 0.44 & 5.63 ± 0.61 & 5.17 ± 0.57 & 4.55 ± 0.51 & 4.01 ± 0.48 & 4.53 ± 0.49 \\
  & $E_\mathrm{o}$ Median & 2.25 & 2.46 & 3.32 & 2.74 & 4.57 & 4.22 & 3.56 & 3.22 & 3.92 \\
  & Friedman Rank & \colorbox{gray!20}{1.94 a} & \colorbox{gray!20}{2.13 a} & 4.84 b & \colorbox{gray!20}{2.55 a} & 8.71 c & 7.45 c & 6.45 b & 4.45 b & 6.48 b \\
  & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{7} & \colorbox{gray!20}{7} & 1 & 4 & -8 & -6 & -3 & 1 & -3 \\
  & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{6} & 4 & -1 & 3 & -4 & -3 & -2 & 0 & -3 \\
  \cline{2-11}
  & $\overline{E}_\mathrm{bbc} \pm  SE$ & 2.06 ± 0.44 & 2.28 ± 0.39 & 3.04 ± 0.45 & 2.23 ± 0.38 & 4.12 ± 0.47 & 3.75 ± 0.45 & 3.34 ± 0.44 & 3.14 ± 0.43 & 3.38 ± 0.43 \\
  & $E_\mathrm{bbc}$ Median & 1.06 & 1.66 & 2.14 & 1.48 & 3.66 & 3.02 & 2.69 & 2.38 & 3.03 \\
  & Friedman Rank & \colorbox{gray!20}{1.97 a} & \colorbox{gray!20}{2.68 a} & 4.58 b & \colorbox{gray!20}{2.23 a} & 8.61 c & 7.23 c & 6.23 b & 5.13 b & 6.35 b \\
  & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{7} & 6 & 2 & 5 & -8 & -4 & -3 & 0 & -5 \\
  & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{6} & 4 & 0 & 4 & -4 & -3 & -3 & -1 & -3 \\
    \hline
  \multirow{10}[0]{*}{25} & $\overline{E}_\mathrm{o} \pm  SE$ & 2.10 ± 0.21 & 2.18 ± 0.23 & 2.85 ± 0.24 & 2.47 ± 0.24 & 3.31 ± 0.30 & 3.46 ± 0.32 & 2.85 ± 0.26 & 2.64 ± 0.26 & 3.31 ± 0.25 \\
  & $E_\mathrm{o}$ Median & 1.92 & 1.83 & 2.35 & 2.14 & 2.79 & 2.98 & 2.39 & 2.22 & 3.16 \\
  & Friedman Rank & \colorbox{gray!20}{1.81 a} & \colorbox{gray!20}{1.81 a} & 5.48 b & \colorbox{gray!20}{3.32 a} & 7.45 c & 7.84 c & 5.35 b & 4.13 b & 7.81 c \\
  & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{7} & 7 & -1 & 4 & -5 & -7 & -1 & 2 & -6 \\
  & Rank Sum $w\text{-}l$  &  \colorbox{gray!20}{5} & 4 & -2 & 3 & -3 & -4 & -1 & 2 & -4 \\
  \cline{2-11}
  & $\overline{E}_\mathrm{bbc} \pm  SE$ & 1.43 ± 0.18 & 1.68 ± 0.21 & 2.04 ± 0.21 & 1.63 ± 0.19 & 2.42 ± 0.25 & 2.64 ± 0.27 & 2.14 ± 0.22 & 1.88 ± 0.21 & 2.54 ± 0.23 \\
  & $E_\mathrm{bbc}$ Median & 1.34 & 1.56 & 1.79 & 1.45 & 2.10 & 2.34 & 1.89 & 1.56 & 2.39 \\
  & Friedman Rank & \colorbox{gray!20}{1.77 a} & \colorbox{gray!20}{2.87 a} & 5.00 b & \colorbox{gray!20}{2.71 a} & 7.10 c & 7.94 c & 5.68 b & 4.10 b & 7.84 c \\
  & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{8} & 5 & -1 & 5 & -5 & -7 & -1 & 2 & -6 \\
  & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{5} & 3 & -1 & 3 & -3 & -4 & -1 & 2 & -4 \\
  \hline
  \multirow{10}[0]{*}{50} & $\overline{E}_\mathrm{o} \pm  SE$ & 2.01 ± 0.14 & 1.86 ± 0.14 & 2.53 ± 0.15 & 2.11 ± 0.15 & 2.73 ± 0.17 & 2.88 ± 0.19 & 2.47 ± 0.15 & 2.18 ± 0.16 & 3.03 ± 0.19 \\
  & $E_\mathrm{o}$ Median & 1.92 & 1.66 & 2.54 & 1.98 & 2.68 & 2.87 & 2.38 & 2.00 & 3.09 \\
  & Friedman Rank &  \colorbox{gray!20}{2.77 a} & \colorbox{gray!20}{2.03 a} & 5.65 b & \colorbox{gray!20}{3.35 a} & 6.87 b & 7.23 b & 5.55 b & \colorbox{gray!20}{3.65 a} & 7.90 c \\
  & Signed Rank $w\text{-}l$ & 5 & \colorbox{gray!20}{8} & -1 & 4 & -5 & -6 & -1 & 3 & -7 \\
  & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{5} & \colorbox{gray!20}{5} & -3 & 4 & -4 & -4 & -1 & 3 & -5 \\
  \cline{2-11}
  & $\overline{E}_\mathrm{bbc} \pm  SE$ & 1.60 ± 0.12 & 1.51 ± 0.13 & 1.94 ± 0.13 & 1.56 ± 0.12 & 2.20 ± 0.14 & 2.36 ± 0.16 & 2.06 ± 0.13 & 1.63 ± 0.13 & 2.41 ± 0.18 \\
  & $E_\mathrm{bbc}$ Median & 1.45 & 1.48 & 1.89 & 1.49 & 2.21 & 2.38 & 1.89 & 1.59 & 2.29 \\
  & Friedman Rank & \colorbox{gray!20}{2.94 a} & \colorbox{gray!20}{2.68 a} & 5.13 b & \colorbox{gray!20}{2.87 a} & 6.90 b & 7.39 c & 6.16 b & \colorbox{gray!20}{3.39 a} & 7.55 c \\
  & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{5} & \colorbox{gray!20}{5} & -1 & \colorbox{gray!20}{5} & -5 & -6 & -2 & \colorbox{gray!20}{5} & -6 \\
  & Rank Sum $w\text{-}l$  & \colorbox{gray!20}{5} & \colorbox{gray!20}{5} & -1 & \colorbox{gray!20}{5} & -4 & -5 & -4 & 4 & -5 \\
  \hline
  \multirow{10}[0]{*}{100} & $\overline{E}_\mathrm{o} \pm  SE$ & 2.29 ± 0.13 & 2.10 ± 0.12 & 2.50 ± 0.11 & 2.34 ± 0.12 & 2.82 ± 0.11 & 3.15 ± 0.14 & 2.88 ± 0.12 & 2.27 ± 0.12 & 3.40 ± 0.15 \\
  & $E_\mathrm{o}$ Median & 2.15 & 1.90 & 2.45 & 2.23 & 2.74 & 3.12 & 2.79 & 2.16 & 3.43 \\
  & Friedman Rank & \colorbox{gray!20}{3.39 a} & \colorbox{gray!20}{2.48 a} & \colorbox{gray!20}{4.35 a} & \colorbox{gray!20}{3.26 a} & 6.13 b & 7.61 b & 6.48 b & \colorbox{gray!20}{3.32 a} & 7.97 b \\
  & Signed Rank $w\text{-}l$ & 4 & \colorbox{gray!20}{7} & 0 & 5 & -3 & -6 & -3 & 4 & -8 \\
  & Rank Sum $w\text{-}l$ & 4 & \colorbox{gray!20}{5} & 3 & 4 & -4 & -5 & -4 & 4 & -7 \\
  \cline{2-11}
  & $\overline{E}_\mathrm{bbc} \pm  SE$ & 1.96 ± 0.12 & 1.80 ± 0.11 & 2.03 ± 0.10 & 1.87 ± 0.10 & 2.42 ± 0.09 & 2.67 ± 0.12 & 2.57 ± 0.11 & 1.79 ± 0.11 & 2.89 ± 0.14 \\
  & $E_\mathrm{bbc}$ Median & 1.87 & 1.67 & 1.96 & 1.85 & 2.32 & 2.75 & 2.51 & 1.61 & 2.85 \\
  & Friedman Rank & \colorbox{gray!20}{3.77 a} & \colorbox{gray!20}{3.35 a} & \colorbox{gray!20}{3.84 a} & \colorbox{gray!20}{2.97 a} & 6.32 b & 7.48 b & 6.84 b & \colorbox{gray!20}{2.74 a} & 7.68 b \\
  & Signed Rank $w\text{-}l$ & 4 & \colorbox{gray!20}{5} & 1 & \colorbox{gray!20}{5} & -3 & -6 & -4 & \colorbox{gray!20}{5} & -7 \\
  & Rank Sum $w\text{-}l$ & \colorbox{gray!20}{4} & \colorbox{gray!20}{4} & \colorbox{gray!20}{4} & \colorbox{gray!20}{4} & -4 & -5 & -5 & \colorbox{gray!20}{4} & -6 \\
  \hline
  \hline
\end{tabular}%
  }
\end{table}


Based on the results of our benchmark experiments, ACF$_\mathrm{PSO}$ demonstrates the strongest overall performance on the MPB, FPs, and GDBG benchmarks. 
However, it does not maintain its superiority on GMPB, where it ranks among the second-tier algorithms alongside mPSO and behind AMP$_\mathrm{PSO}$ and SPSO$_\mathrm{AP+AD}$. 
SPSO$_\mathrm{AP+AD}$ performs as a top-tier algorithm on GMPB, MPB, and FPs, and is often on par with ACF$_\mathrm{PSO}$ on MPB and FPs. 
However, its performance degrades on the GDBG benchmark, where it does not match the top-performing algorithms. 
AMP$_\mathrm{PSO}$ performs particularly well on GMPB and ranks among the top tier on that benchmark, together with SPSO$_\mathrm{AP+AD}$. 
In contrast, its performance on MPB and FPs is weaker, placing it in the second tier in those scenarios. 
mPSO exhibits consistent second-tier performance across all benchmark types.

These trends highlight that ACF$_\mathrm{PSO}$ and SPSO$_\mathrm{AP+AD}$ frequently deliver competitive results, which is attributed to their resource-allocation strategies that dynamically assign more computational effort to more promising subpopulations.
However, their relative effectiveness varies across benchmarks, emphasizing the role of problem characteristics in shaping algorithm performance. 
It is important to emphasize that these observations are limited to the specific benchmark generators and parameter settings used in this study, and performance rankings may differ under alternative configurations.

Note that the Friedman test often identifies three or more algorithms as statistically indistinguishable top performers; this is a consequence of its conservative nature due to the adjusted $\alpha$ level used in multiple comparison settings. 
For additional discussion of these differences and guidance on interpreting the statistical tests used, see Section~\ref{sec:sec:StatisticalNotes}.

In terms of computational complexity, among the four algorithms that form the top and second tiers in our tests, ACF$_\mathrm{PSO}$, mPSO, and AMP$_\mathrm{PSO}$ all exhibit approximately $O(N_p^2)$ behavior, where $N_p$ denotes the number of subpopulations. 
SPSO$_\mathrm{AP+AD}$ incurs a higher complexity of $O(I^2)$, where $I$ is the total number of individuals, due to its internal species clustering procedure. 
Among these, ACF$_\mathrm{PSO}$ offers a relatively favorable balance between performance and computational cost. 
Nonetheless, the suitability of any algorithm should always be reassessed in the context of the specific problem landscape and application requirements.


In addition to statistical testing, EDOLAB provides visualization tools that facilitate intuitive interpretation of benchmarking outcomes. 
Specifically, \emph{Trend Plots} depict the evolution of selected performance indicators over time (e.g., $E_\mathrm{o}$ versus the number of fitness evaluations, $E_\mathrm{bbc}$ versus the number of environmental changes), averaged across all runs to provide a robust view of overall performance dynamics. 
\emph{Box Plots} display the distributions of final indicator values across multiple runs, highlighting performance variability and robustness. 
Both \emph{Trend Plots} and \emph{Box Plots} support user-defined indicators. 
\emph{Current Error Plots} are also supported and visualize the error of the best-so-far solution within each environment as the algorithm progresses. 
Averaged across multiple runs, these plots highlight how quickly an algorithm adapts to environmental changes and how effectively it converges within each environment, offering insights into real-time convergence dynamics beyond what is captured by traditional indicators.

To illustrate these capabilities, we present results from a benchmark scenario generated by MPB with 25 promising regions. 
Figure~\ref{fig:trendPlots} displays the average trends of $E_\mathrm{o}$ and $E_\mathrm{bbc}$ across 31 runs for each of the nine algorithms, plotted against the number of fitness evaluations and environment indices, respectively.
Figure~\ref{fig:boxPlots} presents the corresponding box plots, summarizing the distributions of $E_\mathrm{o}$ and $E_\mathrm{bbc}$ across 31 independent runs for each algorithm. 
The tighter boxes and shorter whiskers observed for ACF$_\mathrm{PSO}$, SPSO$_\mathrm{AP+AD}$, mPSO, and AMP$_\mathrm{PSO}$ highlight their superior stability under this highly multimodal problem instance. 
Figure~\ref{fig:currentErrorPlot} presents the \emph{Current Error Plots}, which show the current error of the best-so-far solution in each environment, plotted over fitness evaluations and averaged across 31 independent runs for each algorithm. 
Unlike $E_\mathrm{o}$ and $E_\mathrm{bbc}$, this plot captures real-time convergence dynamics within each environment and reveals how quickly algorithms adapt and re-converge after environmental changes.
Spikes in the plots correspond to environmental change points, after which the error rises and then gradually decreases as the algorithm readapts. 


\begin{figure}[!t]
\centering
\begin{tabular}{cc}
    \subfigure[{\scriptsize Trend Plot of $E_o$.}]{\includegraphics[width=0.485\linewidth]{Figures/trendEo.eps}\label{fig:trendEo}}
&
     \subfigure[{\scriptsize Trend Plot of $E_{bbc}$}.]{\includegraphics[width=0.485\linewidth]{Figures/trendEbbc.eps}\label{fig:trendEbbc}}
\end{tabular}
\caption{\small Trend plots showing the evolution of offline error ($E_{o}$) over fitness evaluations and best-before-change error ($E_{bbc}$) over environment index for nine EDOAs on the MPB benchmark with 25 promising regions. 
Curves represent averages over 31 independent runs. 
These visualizations were generated using the Statistical Analysis panel in the GUI Mode of EDOLAB.}
\label{fig:trendPlots}
\end{figure}

\begin{figure}[!t]
\centering
\begin{tabular}{cc}
    \subfigure[{\scriptsize Box Plot of $E_o$.}]{\includegraphics[width=0.485\linewidth]{Figures/boxEo.eps}\label{fig:boxEo}}
&
     \subfigure[{\scriptsize Box Plot of $E_{bbc}$.}]{\includegraphics[width=0.485\linewidth]{Figures/boxEbbc.eps}\label{fig:boxEbbc}}
\end{tabular}
\caption{Box plots comparing the final offline error ($E_{o}$) and best-before-change error ($E_{bbc}$) for nine EDOAs on the MPB benchmark with 25 promising regions. The plots summarize performance distributions over 31 runs. These plots were generated using the Statistical Analysis panel in the GUI Mode of EDOLAB.}

\label{fig:boxPlots}
\end{figure}

\begin{figure}[!t]
\centering
\includegraphics[width=\linewidth]{Figures/currentError.eps}
\caption{Trend of current error over fitness evaluations for each algorithm on the GMPB benchmark with 100 promising regions, averaged across 31 runs. Although the experiment spans 100 environments, only the \emph{final} 10 are shown here to enhance readability. Note that the change frequency is set to 5000 fitness evaluations. This plot was generated using the Statistical Analysis panel in GUI Mode.}

\label{fig:currentErrorPlot}
\end{figure}


\subsection{Parameter Tuning and Sensitivity Analysis Example}
\label{sec:sec:sensitivityAnalysis}

EDOLAB's Statistical Analysis panel also supports parameter tuning and sensitivity studies by enabling performance comparisons of an algorithm under different configurations. 
Within EDOLAB's GUI Mode, users can configure a series of experimental tasks where the same algorithm is tested with varying parameter values under identical problem instances. 
Once these experiments are complete, the Statistical Analysis panel can be used to perform significance testing and generate result plots---following the same workflow as for comparing different algorithms.
When all compared tasks involve the same algorithm and problem instance, EDOLAB automatically detects this and allows users to specify the parameter of interest for analysis. 
This selected parameter is then used to generate appropriate legends, axis labels, and column headers in the resulting visualizations and summary tables.

To demonstrate this functionality, we conduct an experiment to evaluate the effect of the subpopulation size parameter ($N$) in mQSO~\cite{blackwell2006multiswarm}---a widely studied classic algorithm in the field---on its performance. 
Experiments are performed on the GMPB benchmark under four configurations (10, 25, 50, and 100 promising regions), with $N$ varied across five values ($5$, $10$, $20$, $30$, and $50$). 
All other parameters of the GMPB benchmark and the mQSO algorithm are set to their default values. 
The results are then analyzed using EDOLAB's Statistical Analysis panel.


\begin{table}[!th]
\centering
  \caption{\small  Analyzing the impact of subpopulation size on mQSO~\cite{blackwell2006multiswarm} performance and conducting sensitivity analysis on GMPB. Results show the effect of varying subpopulation sizes ($N=5, 10, 20, 30, 50$) across different numbers of promising regions ($P=10, 25, 50, 100$), evaluated using $E_o$ and $E_{bbc}$ (averages, medians, and standard errors ($SE$) over 31 runs). Statistical significance is assessed through the Friedman test with Nemenyi post-hoc grouping (marked by letters) and Wilcoxon win-loss ($w\text{-}l$) counts. Best-performing configurations are highlighted. These statistical results were generated using the Statistical Analysis panel in the GUI Mode of EDOLAB.}

  \label{tab:sensitivityAnalysis}
  \renewcommand{\arraystretch}{1.2}
 \resizebox{0.62\textwidth}{!}{
\small
    \begin{tabular}{ccccccc}
      \hline
      \hline
        \multirow{2}{*}{$P$} & \multirow{2}{*}{Indicator} & \multicolumn{5}{c}{Subpopulation Size ($N$) in mQSO} \\
        \cmidrule{3-7}
        & & 5 & 10 & 20 & 30 & 50 \\
      \hline
      \multirow{10}[0]{*}{10} & $\overline{E}_\mathrm{o} \pm  SE$ & 1.90 ± 0.07 & 1.55 ± 0.06 & 1.57 ± 0.04 & 1.64 ± 0.06 & 2.04 ± 0.06 \\
      & $E_\mathrm{o}$ Median & 1.82 & 1.49 & 1.49 & 1.57 & 2.03 \\
      & Friedman Rank & 3.58 b & \colorbox{gray!20}{1.94 a} & \colorbox{gray!20}{2.23 a} & \colorbox{gray!20}{2.61 a} & 4.65 b \\
      & Signed Rank $w\text{-}l$ & -2 & \colorbox{gray!20}{3} & 2 & 1 & -4 \\
      & Rank Sum $w\text{-}l$  & -3 & \colorbox{gray!20}{2} & \colorbox{gray!20}{2} & \colorbox{gray!20}{2} & -3 \\
      \cline{2-7}
      & $\overline{E}_\mathrm{bbc} \pm  SE$ & 1.28 ± 0.07 & 0.96 ± 0.05 & 0.85 ± 0.04 & 0.81 ± 0.04 & 1.01 ± 0.05 \\
      & $E_\mathrm{bbc}$ Median & 1.21 & 0.94 & 0.80 & 0.77 & 0.98 \\
      & Friedman Rank & 4.32 c & 3.00 b & \colorbox{gray!20}{2.23 a} & \colorbox{gray!20}{1.87 a} & 3.58 b \\
      & Signed Rank $w\text{-}l$ & -4 & 0 & 2 & \colorbox{gray!20}{3} & -1 \\
      & Rank Sum $w\text{-}l$  & -4 & 0 & 2 & \colorbox{gray!20}{3} & -1 \\
        \hline
      \multirow{10}[0]{*}{25} & $\overline{E}_\mathrm{o} \pm  SE$ & 2.59 ± 0.06 & 2.35 ± 0.05 & 2.42 ± 0.06 & 2.55 ± 0.07 & 2.98 ± 0.07 \\
      & $E_\mathrm{o}$ Median & 2.56 & 2.35 & 2.36 & 2.53 & 2.85 \\
      & Friedman Rank & 3.29 b & \colorbox{gray!20}{1.87 a} & \colorbox{gray!20}{2.32 a} & \colorbox{gray!20}{2.94 a} & 4.58 c \\
      & Signed Rank $w\text{-}l$ & -1 & \colorbox{gray!20}{3} & 2 & 0 & -4 \\
      & Rank Sum $w\text{-}l$  & -1 & \colorbox{gray!20}{3} & 2 & 0 & -4 \\
      \cline{2-7}
      & $\overline{E}_\mathrm{bbc} \pm  SE$ & 1.97 ± 0.05 & 1.75 ± 0.04 & 1.75 ± 0.06 & 1.82 ± 0.07 & 2.10 ± 0.07 \\
      & $E_\mathrm{bbc}$ Median & 1.96 & 1.69 & 1.77 & 1.77 & 2.04 \\
      & Friedman Rank & 3.58 b & \colorbox{gray!20}{2.23 a} & \colorbox{gray!20}{2.16 a} & \colorbox{gray!20}{2.90 a} & 4.13 b \\
      & Signed Rank $w\text{-}l$ & -2 & \colorbox{gray!20}{2} & \colorbox{gray!20}{2} & 1 & -3 \\
      & Rank Sum $w\text{-}l$  & -2 & \colorbox{gray!20}{2} & \colorbox{gray!20}{2} & 1 & -3 \\
      \hline
      \multirow{10}[0]{*}{50} & $\overline{E}_\mathrm{o} \pm  SE$ & 2.86 ± 0.05 & 2.68 ± 0.04 & 2.83 ± 0.06 & 2.98 ± 0.05 & 3.56 ± 0.08 \\
      & $E_\mathrm{o}$ Median & 2.79 & 2.65 & 2.83 & 2.96 & 3.46 \\
      & Friedman Rank & \colorbox{gray!20}{2.58 a} & \colorbox{gray!20}{1.90 a} & \colorbox{gray!20}{2.42 a} & 3.26 b & 4.84 c \\
      & Signed Rank $w\text{-}l$ & 1 & \colorbox{gray!20}{4} & 1 & -2 & -4 \\
      & Rank Sum $w\text{-}l$  & 0 & \colorbox{gray!20}{3} & 2 & -1 & -4 \\
      \cline{2-7}
      & $\overline{E}_\mathrm{bbc} \pm  SE$ & 2.25 ± 0.04 & 2.08 ± 0.04 & 2.17 ± 0.05 & 2.26 ± 0.05 & 2.67 ± 0.07 \\
      & $E_\mathrm{bbc}$ Median & 2.23 & 2.05 & 2.15 & 2.27 & 2.60 \\
      & Friedman Rank & \colorbox{gray!20}{2.94 a} & \colorbox{gray!20}{2.00 a} & \colorbox{gray!20}{2.45 a} & \colorbox{gray!20}{3.06 a} & 4.55 b \\
      & Signed Rank $w\text{-}l$ & 0 & \colorbox{gray!20}{3} & 1 & 0 & -4 \\
      & Rank Sum $w\text{-}l$  & 0 & \colorbox{gray!20}{3} & 1 & 0 & -4 \\
      \hline
      \multirow{10}[0]{*}{100} & $\overline{E}_\mathrm{o} \pm  SE$ & 2.97 ± 0.04 & 2.90 ± 0.05 & 3.01 ± 0.05 & 3.23 ± 0.06 & 3.75 ± 0.09 \\
      & $E_\mathrm{o}$ Median & 2.97 & 2.86 & 2.98 & 3.18 & 3.73 \\
      & Friedman Rank & \colorbox{gray!20}{2.29 a} & \colorbox{gray!20}{1.77 a} & \colorbox{gray!20}{2.58 a} & 3.61 b & 4.74 c \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{2} & \colorbox{gray!20}{2} & \colorbox{gray!20}{2} & -2 & -4 \\
      & Rank Sum $w\text{-}l$ & \colorbox{gray!20}{2} & \colorbox{gray!20}{2} & \colorbox{gray!20}{2} & -2 & -4 \\
      \cline{2-7}
      & $\overline{E}_\mathrm{bbc} \pm  SE$ & 2.38 ± 0.04 & 2.30 ± 0.05 & 2.38 ± 0.05 & 2.54 ± 0.06 & 2.92 ± 0.08 \\
      & $E_\mathrm{bbc}$ Median & 2.36 & 2.25 & 2.35 & 2.49 & 2.90 \\
      & Friedman Rank & \colorbox{gray!20}{2.68 a} & \colorbox{gray!20}{2.06 a} & \colorbox{gray!20}{2.65 a} & 3.19 b & 4.42 c \\
      & Signed Rank $w\text{-}l$ & \colorbox{gray!20}{2} & \colorbox{gray!20}{2} & \colorbox{gray!20}{2} & -2 & -4 \\
      & Rank Sum $w\text{-}l$  & 0 & \colorbox{gray!20}{3} & 1 & 0 & -4 \\
      \hline
      \hline
    \end{tabular}%
   }
\end{table}

The results in Table~\ref{tab:sensitivityAnalysis} indicate that, under the selected experimental settings, a subpopulation size of $N=10$ yields the best overall performance for mQSO across different levels of problem complexity, with $N=20$ performing comparably in many cases. 
Subpopulation sizes in this range appear to offer a good trade-off between rapid adaptation to environmental changes and accurate search within each environment. 
Larger subpopulation sizes (e.g., $N=50$) tend to slow convergence, as the number of fitness evaluations per generation increases, which reduces the algorithm's responsiveness and limits its ability to recover quickly after changes.

Figure~\ref{fig:sensitivityPlots} shows box plots of $E_\mathrm{o}$ and $E_\mathrm{bbc}$ for different subpopulation sizes ($N=5,10,20,30,50$) of mQSO on the GMPB benchmark with 25 promising regions, based on 31 independent runs. These plots visually confirm the trends observed in Table~\ref{tab:sensitivityAnalysis}, highlighting $N=10$ and $N=20$ as the most stable and best-performing configurations under the selected conditions.


In addition to identifying configurations with relatively strong performance, the results provide insights into the sensitivity of mQSO's behavior with respect to the subpopulation size parameter. 
Subpopulation sizes between 10 and 20 show broadly stable performance, as supported by Friedman rankings and Wilcoxon-based pairwise comparisons, suggesting a degree of robustness to moderate variations in this parameter. 

\begin{figure}[!t]
\centering
\begin{tabular}{cc}
    \subfigure[{\scriptsize Box Plot of $E_o$.}]{\includegraphics[width=0.485\linewidth]{Figures/sensitivityEo.eps}\label{fig:sensitivityBoxEo}}
&
     \subfigure[{\scriptsize Box Plot of $E_{bbc}$.}]{\includegraphics[width=0.485\linewidth]{Figures/sensitivityEbbc.eps}\label{fig:sensitivityBoxEbbc}}
\end{tabular}
\caption{Box plots comparing the final offline error ($E_{o}$) for mQSO~\cite{blackwell2006multiswarm} under different subpopulation sizes ($N$) on the GMPB benchmark with 25 promising regions. The plots summarize performance distributions over 31 runs and were generated using the Statistical Analysis panel in the GUI Mode of EDOLAB.}
\label{fig:sensitivityPlots}
\end{figure}


\subsection{A Note on Statistical Testing Methods and Their Interpretation}
\label{sec:sec:StatisticalNotes}

In the current version of EDOLAB, three widely used statistical tests are available for comparing algorithmic performance: the Friedman test, the Wilcoxon signed-rank test, and the Wilcoxon rank-sum test~\cite{hollander2013nonparametric}. 
Each serves a distinct purpose and offers different trade-offs in terms of statistical rigor and granularity. 

The Friedman test is a non-parametric multiple comparison procedure designed for comparing more than two related groups (i.e., algorithms tested on the same tasks). 
It provides global rankings of the algorithms and identifies statistically significant differences across all competitors simultaneously. 
However, multiple comparison procedures like the Friedman test must correct for the increased risk of Type I errors (false positives) that arise when conducting many simultaneous comparisons. 
This correction—typically applied through post-hoc methods such as the Nemenyi or Holm-Bonferroni adjustment—results in a more conservative threshold for declaring statistical significance. 
Importantly, the conservativeness of the test increases with the number of algorithms under comparison, as the adjusted $\alpha$ becomes smaller to account for the larger number of pairwise tests.
In our experiments, where nine algorithms are compared, this effect is particularly noticeable: the Friedman test often identifies broad groupings of three or more algorithms as statistically indistinguishable top performers, even if their individual differences are modest.

By contrast, the Wilcoxon signed-rank and Wilcoxon rank-sum tests are pairwise comparison methods. 
Since they assess differences between two algorithms at a time, they do not inherently require correction for multiple comparisons unless interpreted within a broader multiple testing framework. 
This allows them to operate with a less conservative threshold per test, often leading to sharper distinctions between algorithms and fewer ties. 
As a result, it is typical to observe that Wilcoxon-based win–loss comparisons highlight fewer best-performing algorithms than the Friedman test, even when both tests are applied to the same dataset.

In our analysis, these two Wilcoxon-based tests yield slightly different win–loss counts due to their underlying assumptions: the signed-rank test accounts for pairing between samples and thus captures consistent performance trends more effectively, whereas the rank-sum test is more sensitive to distributional differences when treating the samples independently.
While EDOLAB offers both Wilcoxon signed-rank and rank-sum tests for pairwise analysis, note that for benchmarking experiments where algorithms are tested under identical tasks, the Wilcoxon signed-rank test is generally more statistically appropriate due to the paired nature of the data and its higher statistical power.

In practice, it is customary to select a single test based on the study's goals and data characteristics—typically the Friedman test when a global comparison across multiple algorithms is desired, or one of the Wilcoxon tests when finer pairwise differences are of interest~\cite{derrac2011practical,bartz2010experimental,demvsar2006statistical}. 
In this study, we present results from all three methods not to recommend redundant testing but to illustrate the breadth of EDOLAB's statistical capabilities and to provide a comprehensive example for users.



\color{black}

\section{Conclusion}
\label{sec:conclusion}


Evolutionary dynamic optimization algorithms (EDOAs) and dynamic benchmark generators are inherently complex, making their re-implementation both time-consuming and error-prone. 
Over the past two decades, the lack of standardized platforms and the limited availability of public source codes have posed serious challenges for researchers attempting to reproduce results or conduct meaningful algorithmic comparisons.

To address these issues, we presented \emph{EDOLAB}, an open-source MATLAB platform specifically designed to support experimentation, evaluation, and education in evolutionary dynamic optimization. 
EDOLAB provides a standardized and extensible environment that lowers the entry barrier for new researchers and improves reproducibility in the field.

The current version of EDOLAB includes 27 EDOAs, four configurable benchmark generators, and two widely used performance indicators. 
It is structured around two core applications: the \textit{Education} application, which focuses on visualizing algorithm behavior in dynamic landscapes; and the \textit{Experimentation} application, which supports full-cycle experimentation, including parameter configuration, parallel execution, statistical analysis, ranking, and sensitivity analysis. 
Users can interact with the platform through a graphical interface or via direct scripting, depending on their preference.

This paper outlined the structure and usage of EDOLAB, introduced its modular architecture, and provided guidance for extending the platform with new algorithms, benchmarks, and indicators. 
While this manuscript presents a high-level overview, a comprehensive user manual accompanies EDOLAB, offering detailed technical documentation, usage instructions, architectural diagrams, and practical examples to help users effectively interact with and extend the platform.

Future directions include expanding EDOLAB to support additional subfields of dynamic optimization, such as dynamic multi-objective optimization~\cite{chen2017dynamicmultiobjectives, ruan2024knowledge, ruan2025coping}, dynamic constrained optimization~\cite{nguyen2012continuous}, dynamic multimodal optimization~\cite{cheng2019dynamic}, and robust optimization~\cite{yazdani2023robust} over time. 
Another important direction is re-implementing the platform in Python to increase accessibility and broaden its user base in the research community.



\bibliography{bib}
\bibliographystyle{ACM-Reference-Format}


\end{document}
