KGB-DMOEA: Knowledge-Guided Bayesian Dynamic Multi-Objective Evolutionary Algorithm

KGB-DMOEA is a sophisticated evolutionary algorithm for dynamic multi-objective optimization problems (DMOPs). It employs a knowledge-guided Bayesian classification approach to adeptly navigate and adapt to changing Pareto-optimal solutions in dynamic environments. This algorithm utilizes past search experiences, distinguishing them as beneficial or non-beneficial, to effectively direct the search in new scenarios.

Key Features

  • Knowledge Reconstruction-Examination (KRE): Dynamically re-evaluates historical optimal solutions based on their relevance and utility in the current environment.

  • Bayesian Classification: Employs a Naive Bayesian Classifier to forecast high-quality initial populations for new environments.

  • Adaptive Strategy: Incorporates dynamic parameter adjustment for optimized performance across varying dynamic contexts.

from pymoo.algorithms.moo.kgb import KGB
from pymoo.core.callback import CallbackCollection
from pymoo.optimize import minimize
from pymoo.problems.dyn import TimeSimulation
from pymoo.problems.dynamic.df import DF1

from import ObjectiveSpaceAnimation

problem = DF1(taut=2, n_var=2)

algorithm = KGB()

res = minimize(problem,
               termination=('n_gen', 10),


  • perc_detect_change (float, optional): Proportion of the population used to detect environmental changes.

  • perc_diversity (float, optional): Proportion of the population allocated for introducing diversity.

  • c_size (int, optional): Cluster size.

  • eps (float, optional): Threshold for detecting changes. Default:

  • pertub_dev (float, optional): Deviation for perturbation in diversity introduction.


Yulong Ye, Lingjie Li, Qiuzhen Lin, Ka-Chun Wong, Jianqiang Li, Zhong Ming. “A knowledge guided Bayesian classification for dynamic multi-objective optimization”. Knowledge-Based Systems, Volume 251, 2022.