This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Competition on Dynamic Optimization Problems Generated by Generalized Moving Peaks Benchmark (GMPB)

Danial Yazdani Michalis Mavrovouniotis Changhe Li Guoyu Chen Wenjian Luo Mohammad Nabi Omidvar Jürgen Branke Shengxiang Yang and Xin Yao Danial Yazdani is with the Business Intelligence Team, WINC, Australia (email: [email protected]).Michalis Mavrovouniotis is with Cyprus University of Technology, Lemesos, Cyprus (e-mail: [email protected]).Changhe Li is with the School of Artificial Intelligence, Anhui University of Sciences & Technology, Hefei, China (e-mail: [email protected]).Guoyu Chen is with the School of Artificial Intelligence, Anhui University of Sciences & Technology, Hefei, China (e-mail: [email protected]).Wenjian Luo is with the Guangdong Provincial Key Laboratory of Novel Security Intelligence Technologies, School of Computer Science and Technology, Harbin Institute of Technology and Peng Cheng Laboratory, Shenzhen 518055, China (e-mail: [email protected]).Mohammad Nabi Omidvar is with the School of Computing, University of Leeds, and Leeds University Business School, Leeds LS2 9JT, United Kingdom (e-mail: [email protected]).Jürgen Branke is with the Operational Research and Management Sciences Group at Warwick Business school, University of Warwick, Coventry CV4 7AL, United Kingdom (e-mail: [email protected] Yang is with the Center for Computational Intelligence (CCI), School of Computer Science and Informatics, De Montfort University, Leicester LE1 9BH, United Kingdom (e-mail: [email protected]).Xin Yao is with the Department of Computing and Decision Sciences, Lingnan University, Hong Kong, China. He is also with the CERCIA, School of Computer Science, Birmingham B15 2TT, United Kingdom (e-mail: [email protected]).
Abstract

The Generalized Moving Peaks Benchmark (GMPB) [1] is a tool for generating continuous dynamic optimization problem instances with controllable dynamic and morphological characteristics. GMPB has been used in recent Competitions on Dynamic Optimization at prestigious conferences, such as the IEEE Congress on Evolutionary Computation (CEC). This dynamic benchmark generator can create a wide variety of landscapes, ranging from simple unimodal to highly complex multimodal configurations, and from symmetric to asymmetric forms. It also supports diverse surface textures, from smooth to highly irregular, and can generate varying levels of variable interaction and conditioning. This document provides an overview of GMPB, emphasizing how its parameters can be adjusted to produce landscapes with customizable characteristics. The MATLAB implementation of GMPB is available on the EDOLAB platform [2].

Index Terms:
Evolutionary dynamic optimization, Tracking moving optimum, Dynamic optimization problems, Generalized moving peaks benchmark.

I Introduction

Search spaces of many real-world optimization problems are dynamic in terms of the objective function, the number of variables, and/or constraints [3, 4]. Optimization problems that change over time and need to be solved online by an optimization method are referred to as dynamic optimization problems (DOPs) [5]. To solve DOPs, algorithms not only need to find desirable solutions but also to react to the environmental changes in order to quickly find a new solution when the previous one becomes suboptimal [6].

To comprehensively evaluate the effectiveness of algorithms designed for DOPs, a suitable benchmark generator is crucial. Commonly used and well-known benchmark generators in this domain use the idea of having several components that form the landscape. In most existing DOP benchmarks, the width, height, and location of these components change over time [7]. One of the benchmark generators that is designed based on this idea is the Moving Peaks Benchmark (MPB) [8], which is the most widely used synthetic problem in the DOP field [7, 6, 4]. Each component in MPB is formed by usually a simple peak whose basin of attraction is determined using a max()\max(\cdot) function.

Despite the popularity of the traditional MPB, landscapes generated by this benchmark consist of components that are smooth/regular, symmetric, unimodal, separable [9], and easy-to-optimize, which may not be the case in many real-world problems. In [1], a generalized MPB (GMPB) is proposed which can generate components with a variety of characteristics that can range from unimodal to highly multimodal, from symmetric to highly asymmetric, from smooth to highly irregular, and with different variable interaction degrees and condition numbers. GMPB is a benchmark generator with fully controllable features that helps researchers to analyze DOP algorithms and investigate their effectiveness in facing a variety of different problem characteristics.

II Generalized Moving Peaks Benchmark [1]

The baseline function of GMPB is111Herein, we focus on fully non-separable problem instances which are constructed by Eq. (1). Those readers who are interested in partially/fully separable problems (i.e., composition based functions), refer to [1].:

f(t)(𝐱)=maxk{1,,m}{hk(t)𝕋((𝐱𝐜k(t))𝐑k(t),k)𝐖k(t)𝕋(𝐑k(t)(𝐱𝐜k(t)),k)},\displaystyle f^{(t)}(\mathbf{x})=\max_{k\in\{1,\dots,m\}}\left\{h_{k}^{(t)}-\sqrt{\mathbb{T}\left(\left(\mathbf{x}-\mathbf{c}_{k}^{(t)}\right)^{\top}{\mathbf{R}_{k}^{(t)}}^{\top},k\right)~{}\mathbf{W}_{k}^{(t)}~{}\mathbb{T}\left(\mathbf{R}_{k}^{(t)}\left(\mathbf{x}-\mathbf{c}_{k}^{(t)}\right),k\right)}\right\}, (1)

where 𝕋(𝐲,k):dd\mathbb{T}(\mathbf{y},k):\mathbb{R}^{d}\mapsto\mathbb{R}^{d} is calculated as:

𝕋(yj,k)={exp(log(yj)+τk(t)(sin(ηk,1(t)log(yj))+sin(ηk,2(t)log(yj))))if yj>00if yj=0exp(log(|yj|)+τk(t)(sin(ηk,3(t)log(|yj|))+sin(ηk,4(t)log(|yj|))))if yj<0\displaystyle\mathbb{T}\left(y_{j},k\right)=\begin{dcases}\exp{\left(\log(y_{j})+\tau^{(t)}_{k}\left(\sin{(\eta_{k,1}^{(t)}\log(y_{j}))}+\sin{(\eta_{k,2}^{(t)}\log(y_{j}))}\right)\right)}&\text{if }y_{j}>0\\ 0&\text{if }y_{j}=0\\ -\exp{\left(\log(|y_{j}|)+\tau^{(t)}_{k}\left(\sin{(\eta_{k,3}^{(t)}\log(|y_{j}|))}+\sin{(\eta_{k,4}^{(t)}\log(|y_{j}|))}\right)\right)}&\text{if }y_{j}<0\end{dcases} (2)

where 𝐱\mathbf{x} is a solution in dd-dimensional space, mm is the number of components, 𝐑k(t)\mathbf{R}_{k}^{(t)} is the rotation matrix of kkth component in the ttth environment, 𝐖k(t)\mathbf{W}_{k}^{(t)} is a d×dd\times d diagonal matrix whose diagonal elements show the width of kkth component in different dimensions, yjy_{j} is jjth dimension of 𝐲\mathbf{y}, and ηk,l{1,2,3,4}(t)\eta_{k,l\in\{1,2,3,4\}}^{(t)} and τk(t)\tau^{(t)}_{k} are irregularity parameters of the kkth component.

For each component kk, the rotation matrix 𝐑k\mathbf{R}_{k} is obtained by rotating the projection of 𝐱\mathbf{x} onto all xpx_{p}-xqx_{q} planes by a given angle θk\theta_{k}. The total number of unique planes which will be rotated is (d2)=d(d1)2{d\choose 2}=\frac{d(d-1)}{2}. For rotating each xpx_{p}-xqx_{q} plane by a certain angle (θk\theta_{k}), a Givens rotation matrix 𝐆(p,q)\mathbf{G}_{(p,q)} must be constructed. To this end, first, 𝐆(p,q)\mathbf{G}_{(p,q)} is initialized to an identity matrix 𝐈d×d\mathbf{I}_{d\times d}; then, four elements of 𝐆(p,q)\mathbf{G}_{(p,q)} are altered as:

𝐆(p,q)(p,p)\displaystyle\mathbf{G}_{(p,q)}(p,p) =cos(θk(t)),\displaystyle=\cos\left(\theta_{k}^{(t)}\right), (3)
𝐆(p,q)(q,q)\displaystyle\mathbf{G}_{(p,q)}(q,q) =cos(θk(t)),\displaystyle=\cos\left(\theta_{k}^{(t)}\right), (4)
𝐆(p,q)(p,q)\displaystyle\mathbf{G}_{(p,q)}(p,q) =sin(θk(t)),\displaystyle=-\sin\left(\theta_{k}^{(t)}\right), (5)
𝐆(p,q)(q,p)\displaystyle\mathbf{G}_{(p,q)}(q,p) =sin(θk(t)),\displaystyle=\sin\left(\theta_{k}^{(t)}\right), (6)

where 𝐆(p,q)(𝔦,𝔧)\mathbf{G}_{(p,q)}(\mathfrak{i},\mathfrak{j}) is the element at 𝔦\mathfrak{i}th row and 𝔧\mathfrak{j}th column of 𝐆(p,q)\mathbf{G}_{(p,q)}. 𝐑k\mathbf{R}_{k} in the ttth environment is calculated by:

𝐑k(t)=((p,q)𝒫𝐆(p,q))𝐑k(t1),\displaystyle\mathbf{R}_{k}^{(t)}=\left(\prod_{(p,q)\in\mathcal{P}}\mathbf{G}_{(p,q)}\right)\mathbf{R}_{k}^{(t-1)}, (7)

where 𝒫\mathcal{P} contains all unique pairs of dimensions defining all possible planes in a dd-dimensional space. The order of the multiplications of the Givens rotation matrices is random. The reason behind using (7) for calculating 𝐑\mathbf{R} is that we aim to have control on the rotation matrix based on an angle severity θ~\tilde{\theta}. Note that the initial 𝐑k(0)\mathbf{R}^{(0)}_{k} for problem instances with rotation property is obtained by using the Gram-Schmidt orthogonalization method on a matrix with normally distributed entries.

For each component kk, the height, width vector, center, angle, and irregularity parameters change from one environment to the next according to the following update rules:

𝐜k(t+1)\displaystyle\mathbf{c}_{k}^{(t+1)} =𝐜k(t)+s~𝐫𝐫,\displaystyle=\mathbf{c}_{k}^{(t)}+\tilde{s}\frac{\mathbf{r}}{\|\mathbf{r}\|}, (8)
hk(t+1)\displaystyle h_{k}^{(t+1)} =hk(t)+h~𝒩(0,1),\displaystyle=h_{k}^{(t)}+\tilde{h}\,\mathcal{N}(0,1), (9)
wk,j(t+1)\displaystyle w_{k,j}^{(t+1)} =wk,j(t)+w~𝒩(0,1),j{1,2,,d},\displaystyle=w_{k,j}^{(t)}+\tilde{w}\,\mathcal{N}(0,1),j\in\{1,2,\cdots,d\}, (10)
θk(t+1)\displaystyle\theta_{k}^{(t+1)} =θk(t)+θ~𝒩(0,1),\displaystyle=\theta_{k}^{(t)}+\tilde{\theta}\,\mathcal{N}(0,1), (11)
ηk,l(t+1)\displaystyle\eta_{k,l}^{(t+1)} =ηk,l(t)+η~𝒩(0,1),l{1,2,3,4},\displaystyle=\eta_{k,l}^{(t)}+\tilde{\eta}\,\mathcal{N}(0,1),l\in\{1,2,3,4\}, (12)
τk(t+1)\displaystyle\tau_{k}^{(t+1)} =τk(t)+τ~𝒩(0,1),\displaystyle=\tau_{k}^{(t)}+\tilde{\tau}\,\mathcal{N}(0,1), (13)

where 𝒩(0,1)\mathcal{N}(0,1) is a random number drawn from a Gaussian distribution with mean 0 and variance 1, 𝐜k\mathbf{c}_{k} shows the vector of center position of the kkth component, 𝐫\mathbf{r} is a dd-dimensional vector of random numbers generated by 𝒩(0,1)\mathcal{N}(0,1), 𝐫\|\mathbf{r}\| is the Euclidean length (i.e., l2l_{2}-norm) of 𝐫\mathbf{r}, 𝐫𝐫\frac{\mathbf{r}}{\|\mathbf{r}\|} generates a unit vector with a random direction, h~\tilde{h}, w~\tilde{w}, s~\tilde{s}, θ~\tilde{\theta}, η~\tilde{\eta}, and τ~\tilde{\tau} are height, width, shift, angle, and two irregularity parameters’ change severity values, respectively, wk,jw_{k,j} shows the width of the kkth component in the jjth dimension, and hkh_{k} and θk\theta_{k} show the height and angle of the kkth component, respectively.

Outputs of equations (8) to (13) are bounded as follows: hk[hmin,hmax]h_{k}\in[h_{\mathrm{min}},h_{\mathrm{max}}], wk[wmin,wmax]dw_{k}\in[w_{\mathrm{min}},w_{\mathrm{max}}]^{d}, 𝐜k[Lb,Ub]d\mathbf{c}_{k}\in[Lb,Ub]^{d}, τ[τmin,τmax]\tau\in[\tau_{\mathrm{min}},\tau_{\mathrm{max}}], η1,2,3,4[ηmin,ηmax]\eta_{1,2,3,4}\in[\eta_{\mathrm{min}},\eta_{\mathrm{max}}], and θk[θmin,θmax]\theta_{k}\in[\theta_{\mathrm{min}},\theta_{\mathrm{max}}], where LbLb and UbUb are maximum and minimum problem space bounds. For keeping the above mentioned values in their bounds, a Reflect method is utilized. Assume a(t+1)=a(t)+ba^{(t+1)}=a^{(t)}+b represents one of the equations (8) to (13). The output based on the reflect method is:

a(t+1)={a(t)+bif a(t)+b[amin,amax]2×amina(t)bif a(t)+b<amin2×amaxa(t)bif a(t)+b>amax\displaystyle a^{(t+1)}=\begin{dcases}a^{(t)}+b&\text{if }a^{(t)}+b\in[a_{\mathrm{min}},a_{\mathrm{max}}]\\ 2\times a_{\mathrm{min}}-a^{(t)}-b&\text{if }a^{(t)}+b<a_{\mathrm{min}}\\ 2\times a_{\mathrm{max}}-a^{(t)}-b&\text{if }a^{(t)}+b>a_{\mathrm{max}}\end{dcases} (14)

II-A Problem characteristics

In this section, we describe the main characteristics of the components and the landscapes generated by GMPB. Note that in the 2-dimensional examples provided in this part, the values of width (2-dimensional vector), irregularity parameters (τ\tau and four values for η\eta), and rotation status (1 is rotated and 0 otherwise) are shown in the title of figures.

II-A1 Component characteristics

In the simplest form, (1) generates a symmetric, unimodal, smooth/regular, and easy-to-optimize conical peak (see Figure 1). By setting different values to τ\tau and η\eta, a component generated by GMPB can become irregular and multimodal. Figure 2 shows three irregular and multimodal components generated by GMPB with different parameter settings for τ\tau and η\eta. A component is symmetric when all η\eta values are identical, and components whose η\eta values are set to different values are asymmetric (see Figure 3).

Refer to caption
(a)
Refer to caption
(b)
Figure 1: A conical component (regular, smooth, and unimodal) generated by (1) whose width values are identical, 𝐑=𝐈\mathbf{R}=\mathbf{I}, and τ\tau and η\eta are set to zero.
Refer to caption
Refer to caption
(a)
Refer to caption
Refer to caption
(b)
Refer to caption
Refer to caption
Figure 2: Three components generated by (1) with different irregularity parameter settings.
Refer to caption
(a)
Refer to caption
(b)
Figure 3: An asymmetric component generated by (1).

GMPB is capable of generating components with various condition numbers. A component generated by GMPB has a width value in each dimension. When the width values of a component are identical in all dimensions, the condition number of the component will be one, i.e., it is not ill-conditioned. The condition number of a component is the ratio of its largest width value to its smallest value [1]. If a component’s width value is stretched in one axis’s direction more than the other axes, then, the component is ill-conditioned. Figure 4 depicts three ill-conditioned components.

Refer to caption
(a) Asymmetric and ill-conditioned (condition number is two).
Refer to caption
(b)
Refer to caption
(c) Asymmetric and ill-conditioned (condition number is five).
Refer to caption
(d)
Refer to caption
(e) Asymmetric, ill-conditioned (condition number is 5), and rotated.
Refer to caption
(f)
Figure 4: Three components generated by (1) with different characteristics.

In GMPB, each component kk is rotated using 𝐑k\mathbf{R}_{k}. If 𝐑k=𝐈\mathbf{R}_{k}=\mathbf{I}, then the component kk is not rotated (e.g., Figures 4(a) and 4(c)). Figure 4(e) is obtained by rotating the component shown in Figure 4(c). In GMPB, by changing θk\theta_{k} over time using (11), the variable interaction degrees of the kkth component change over time.

II-A2 Search space characteristics

Landscapes generated by GMPB are constructed by assembling several components using a max()\max(\cdot) function in (1), which determines the basin of attraction of each component. As shown in [9], a landscape consists of several components (i.e., m>1m>1) is fully non-separable. Figure 5 shows a landscape with five components.

Refer to caption
(a)
Refer to caption
(b)
Figure 5: A landscape generated by (1) with five components whose parameter settings are generated randomly in the ranges shown in Table I.

III Parameter settings

Table I shows the parameter settings of GMPB. By changing the number of dimensions, shift severity value, the number of components, and change frequency, the difficulty level of the generated problem instances can be adjusted. Every ϑ\vartheta fitness evaluations, the center position, height, width vector, angle, and irregularity parameters of each component change using the dynamics presented in (8) to (13).

TABLE I: Parameter settings of GMPB. Default parameter values are highlighted where several values can be set. If a parameter has kk subscript, it belongs to the kkth component and its value can be different from a component to another. Parameters without any subscript are common between all components or they are temporal parameters.
Parameter Symbol Value(s)
Dimension dd 2,5,10,20
Shift severity s~\tilde{s} 1,2,5
Numbers of components mm 1,5,10,25,50,100,200
Angle severity θ~\tilde{\theta} π/9\pi/9
Height severity h~\tilde{h} 7
Width severity w~\tilde{w} 1
Irregularity parameter τ\tau severity τ~\tilde{\tau} 0.2
Irregularity parameter η\eta severity η~\tilde{\eta} 10
Search range [Lb,Ub]d[Lb,Ub]^{d} [100,100]d[-100,100]^{d}
Height range [hmin,hmax][h_{\mathrm{min}},h_{\mathrm{max}}] [30,70][30,70]
Width range [wmin,wmax]d[w_{\mathrm{min}},w_{\mathrm{max}}]^{d} [1,12]d[1,12]^{d}
Angle range [θmin,θmax][\theta_{\mathrm{min}},\theta_{\mathrm{max}}] [π,π][-\pi,\pi]
Irregularity parameter τ\tau range [τmin,τmax][\tau_{\mathrm{min}},\tau_{\mathrm{max}}] [0.1,1][0.1,1]
Irregularity parameter η\eta range [ηmin,ηmax][\eta_{\mathrm{min}},\eta_{\mathrm{max}}] [0,100][0,100]
Initial center position 𝐜k(0)\mathbf{c}^{(0)}_{k} 𝒰[Lb,Ub]d\mathcal{U}[Lb,Ub]^{d}
Initial height hk(0)h^{(0)}_{k} 𝒰[hmin,hmax]\mathcal{U}[h_{\mathrm{min}},h_{\mathrm{max}}]
Initial width 𝐰k(0)\mathbf{w}^{(0)}_{k} 𝒰[wmin,wmax]d\mathcal{U}[w_{\mathrm{min}},w_{\mathrm{max}}]^{d}
Initial angle θk(0)\theta^{(0)}_{k} 𝒰[θmin,θmax]\mathcal{U}[\theta_{\mathrm{min}},\theta_{\mathrm{max}}]
Initial irregularity parameter τ\tau τk(0)\tau^{(0)}_{k} 𝒰[τmin,τmax]\mathcal{U}[\tau_{\mathrm{min}},\tau_{\mathrm{max}}]
Initial irregularity parameter η\eta ηk(0)\eta^{(0)}_{k} 𝒰[ηmin,ηmax]\mathcal{U}[\eta_{\mathrm{min}},\eta_{\mathrm{max}}]
Initial rotation matrix 𝐑k(0)\mathbf{R}^{(0)}_{k} GS(𝒩(0,1)d×d)\mathrm{GS}(\mathcal{N}(0,1)^{d\times d})\dagger
Change frequency ϑ\vartheta 1000,2500,5000,10000
Number of Environments TT 100
  • \dagger

    𝐑k\mathbf{R}_{k} is initialized by performing the Gram-Schmidt orthogonalization method GS()\mathrm{GS}(\cdot) on a d×dd\times d matrix with normally distributed entries.

IV Performance indicator

To measure the performance of algorithms in solving the problem instances generated by GMPB, the offline-error [10] (EOE_{\mathrm{O}}) and the average error of the best found solution in all environments, i.e., the best error before change, (EBBCE_{\mathrm{BBC}}[11] are used as the performance indicators. EOE_{\mathrm{O}} is the most commonly used performance indicator in the literature [12]. This approach calculates the average error of the best found position over all fitness evaluations using the following equation:

EO=1Tϑt=1Tφ=1ϑ(f(t)(𝐱(t))f(t)(𝐱((t1)ϑ+φ))),\displaystyle E_{\mathrm{O}}=\frac{1}{T\vartheta}\sum_{t=1}^{T}\sum_{\varphi=1}^{\vartheta}\left(f^{(t)}\left(\mathbf{x}^{\star(t)}\right)-f^{(t)}\left(\mathbf{x}^{*((t-1)\vartheta+\varphi)}\right)\right), (15)

where 𝐱(t)\mathbf{x}^{\star(t)} is the global optimum position at the ttth environment, TT is the number of environments, ϑ\vartheta is the change frequency, φ\varphi is the fitness evaluation counter for each environment, and 𝐱((t1)ϑ+φ)\mathbf{x}^{*((t-1)\vartheta+\varphi)} is the best found position at the φ\varphith fitness evaluation in the ttth environment.

EBBCE_{\mathrm{BBC}} is the second commonly used performance indicator in the field [12]. EBBCE_{\mathrm{BBC}} only considers the last error before each environmental change (i.e., at the end of each environment):

EBBC=1Tt=1T(f(t)(𝐱(t))f(t)(𝐱(t))),\displaystyle E_{\mathrm{BBC}}=\frac{1}{T}\sum_{t=1}^{T}\left(f^{(t)}\left(\mathbf{x}^{\star(t)}\right)-f^{(t)}\left(\mathbf{x}^{*(t)}\right)\right), (16)

where 𝐱(t)\mathbf{x}^{*(t)} is the best found position in ttth environment which is fetched at the end of the ttth environment.

V Source code

GMPB is a featured component of EDOLAB [2], a comprehensive MATLAB222Version R2020b and later optimization platform designed for both educational and experimental purposes in dynamic environments. EDOLAB hosts an array of 25 evolutionary dynamic optimization algorithms. Researchers are encouraged to utilize the guidelines in [2] to integrate their own algorithms into EDOLAB. This allows for an extensive evaluation of their algorithms’ performance against a variety of problem instances created by dynamic optimization benchmark generators, including GMPB. The source code of EDOLAB is readily available and can be accessed at here.

We also provided another source code that visualizes 2-dimensional landscapes generated by GMPB which can be found in [13]. Using this source code, researchers can observe the impacts of different parameter settings on morphological characteristics of the problems generated by GMPB.

References

  • [1] D. Yazdani, M. N. Omidvar, R. Cheng, J. Branke, T. T. Nguyen, and X. Yao, “Benchmarking continuous dynamic optimization: Survey and generalized test suite,” IEEE Transactions on Cybernetics, pp. 1 – 14, 2020.
  • [2] M. Peng, Z. She, D. Yazdani, D. Yazdani, W. Luo, C. Li, J. Branke, T. T. Nguyen, A. H. Gandomi, Y. Jin, and X. Yao, “Evolutionary dynamic optimization laboratory: A matlab optimization platform for education and experimentation in dynamic environments,” arXiv preprint arXiv:2308.12644, 2023.
  • [3] T. T. Nguyen, S. Yang, and J. Branke, “Evolutionary dynamic optimization: A survey of the state of the art,” Swarm and Evolutionary Computation, vol. 6, pp. 1 – 24, 2012.
  • [4] T. T. Nguyen, “Continuous dynamic optimisation using evolutionary algorithms,” Ph.D. dissertation, University of Birmingham, 2011.
  • [5] D. Yazdani, R. Cheng, D. Yazdani, J. Branke, , Y. Jin, and X. Yao, “A survey of evolutionary continuous dynamic optimization over two decades – part A,” IEEE Transactions on Evolutionary Computation, 2021.
  • [6] D. Yazdani, “Particle swarm optimization for dynamically changing environments with particular focus on scalability and switching cost,” Ph.D. dissertation, Liverpool John Moores University, Liverpool, UK, 2018.
  • [7] C. Cruz, J. R. González, and D. A. Pelta, “Optimization in dynamic environments: a survey on problems, methods and measures,” Soft Computing, vol. 15, no. 7, pp. 1427–1448, 2011.
  • [8] J. Branke, “Memory enhanced evolutionary algorithms for changing optimization problems,” in IEEE Congress on Evolutionary Computation, vol. 3.   IEEE, 1999, pp. 1875–1882.
  • [9] D. Yazdani, M. N. Omidvar, J. Branke, T. T. Nguyen, and X. Yao, “Scaling up dynamic optimization problems: A divide-and-conquer approach,” IEEE Transaction on Evolutionary Computation, 2019.
  • [10] J. Branke and H. Schmeck, “Designing evolutionary algorithms for dynamic optimization problems,” in Advances in Evolutionary Computing, A. Ghosh and S. Tsutsui, Eds.   Springer Natural Computing Series, 2003, pp. 239–262.
  • [11] K. Trojanowski and Z. Michalewicz, “Searching for optima in non-stationary environments,” in Congress on Evolutionary Computation, vol. 3, 1999, pp. 1843–1850.
  • [12] D. Yazdani, R. Cheng, D. Yazdani, J. Branke, , Y. Jin, and X. Yao, “A survey of evolutionary continuous dynamic optimization over two decades – part B,” IEEE Transactions on Evolutionary Computation, 2021.
  • [13] D. Yazdani, Visualizing 2-D Generalized Moving Peaks Bnechmark (MATLAB Source Code), 2021 (accessed December 09, 2023). [Online]. Available: https://github.com/Danial-Yazdani/GMPB_2D_Visualization