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.
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 pymoo.visualization.video.callback_video import ObjectiveSpaceAnimation problem = DF1(taut=2, n_var=2) algorithm = KGB() res = minimize(problem, algorithm, termination=('n_gen', 10), callback=TimeSimulation(), seed=1, verbose=False)
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.