我使用进化算法,例如NSGA-II algorithm来解决多目标的无约束优化问题。
由于我的适应度函数有时有非常不同的域(例如f1(x)在[0..1]内生成适应度值,而f2(x)在[10000..10000000]内生成适应度值),我想知道这是否对所选算法的搜索行为有影响。
适应度函数域的选择(例如,将所有域从[lb..ub]扩展到公共域)是否会影响解决方案的质量和找到好的解决方案的速度或者这个问题没有一般的答案?
不幸的是,我找不到关于这个话题的任何东西。欢迎任何提示!

最佳答案

你的问题与算法中实现的选择策略有关。在原始NSGA II的情况下,使用帕累托秩和拥挤距离的混合进行选择。当pareto秩(即点的非支配前沿id)不改变数值的某个常数时,拥挤距离改变了。
所以答案是肯定的,如果你的第二个目标是在[10000..它对拥挤距离的贡献可能正在吞噬另一个目标。
在NSGA II等算法中,单位计数!

09-20 17:02