classdef IBEA < ALGORITHM % <multi/many> <real/integer/label/binary/permutation> % Indicator-based evolutionary algorithm % kappa --- 0.05 --- Fitness scaling factor %------------------------------- Reference -------------------------------- % E. Zitzler and S. Kunzli, Indicator-based selection in multiobjective % search, Proceedings of the International Conference on Parallel Problem % Solving from Nature, 2004, 832-842. %------------------------------- Copyright -------------------------------- % Copyright (c) 2023 BIMK Group. You are free to use the PlatEMO for % research purposes. All publications which use this platform or any code % in the platform should acknowledge the use of "PlatEMO" and reference "Ye % Tian, Ran Cheng, Xingyi Zhang, and Yaochu Jin, PlatEMO: A MATLAB platform % for evolutionary multi-objective optimization [educational forum], IEEE % Computational Intelligence Magazine, 2017, 12(4): 73-87". %-------------------------------------------------------------------------- methods function main(Algorithm,Problem) %% Parameter setting kappa = Algorithm.ParameterSet(0.05); %% Generate random population Population = Problem.Initialization(); %% Optimization while Algorithm.NotTerminated(Population) MatingPool = TournamentSelection(2,Problem.N,-CalFitness(Population.objs,kappa)); Offspring = OperatorGA(Problem,Population(MatingPool)); Population = EnvironmentalSelection([Population,Offspring],Problem.N,kappa); end end end end
时间: 2023-06-17 18:05:51 浏览: 218
针对软件产品线中的功能和非功能需求优化功能选择
这是一个 MATLAB 中的 Indicator-based evolutionary algorithm (IBEA) 的实现。IBEA 是一种用于多目标优化的演化算法,其核心思想是通过定义适应度指标来指导个体的选择和进化。具体来说,该算法通过计算每个个体与种群中其他个体之间的距离来计算每个个体的适应度指标,并使用适应度指标来进行选择和进化。算法中的参数 kappa 是适应度缩放因子。算法的优化过程是通过在种群中进行竞标赛选择,使用遗传算子生成后代,然后通过环境选择来更新种群。这个实现是使用了 PlatEMO 平台。
阅读全文