Multi-objective evolutionary algorithms (MOEAs) are among the most widely and successfully applied optimizers for multi-objective problems. However, to store many optimal trade-offs (the Pareto optima) simultaneously, MOEAs are typically run with a large population of solution candidates. This slows down the algorithm and renders the choice of the population size a crucial design decision. In this work, we aim to overcome these difficulties by proposing the dynamic NSGA-II, a variant of the well-known NSGA-II that starts with a small initial population and doubles it after a user-specified number $τ$ of function evaluations, up to a maximum size of $N_{max}$. We prove that the dynamic NSGA-II with optimal parameters computes the Pareto front of the OneMinMax benchmark of size $n$ with high probability in $O(n \log^2 n)$ function evaluations, which is considerably faster than the $Θ(n^2 \log n)$ runtime of the static NSGA-II with optimal parameters. For the OneJumpZeroJump benchmark with gap size $k$, we show a runtime of $O(n^k \log^2 n)$, improving upon the known runtime of $Θ(n^{k+1})$. We also propose a variant that uses the initial population size for a longer period and achieves slightly better performance. Finally, we show that a simple concurrent-run strategy turns our dynamic NSGA-II variants into parameter-less algorithms that exceed the above runtimes only by a logarithmic factor and hence still outperform the static NSGA-II by a factor of $\tildeΩ(n)$.
翻译:多目标进化算法(MOEAs)是解决多目标问题中应用最广泛且最成功的优化器之一。然而,为同时存储大量最优权衡解(帕累托最优解),MOEAs 通常需要运行包含大量候选解种群的算法。这降低了算法效率,使得种群规模的选择成为关键设计决策。本研究提出动态 NSGA-II 算法以克服上述困难:该算法是经典 NSGA-II 的变体,初始使用小规模种群,并在每经过用户指定的 $τ$ 次函数评估后将其规模翻倍,直至达到最大种群规模 $N_{max}$。我们证明,采用最优参数的动态 NSGA-II 能在 $O(n \log^2 n)$ 次函数评估内以高概率计算出规模为 $n$ 的 OneMinMax 基准测试的帕累托前沿,显著快于最优参数下静态 NSGA-II 的 $Θ(n^2 \log n)$ 运行时间。针对间隙大小为 $k$ 的 OneJumpZeroJump 基准测试,我们证明其运行时间为 $O(n^k \log^2 n)$,优于已知的 $Θ(n^{k+1})$ 运行时间。此外,我们还提出一种变体,该变体在更长时间内保持初始种群规模,并取得略优的性能。最后,我们证明简单的并发运行策略可将动态 NSGA-II 变体转化为无参数算法,其运行时间仅比上述结果多一个对数因子,因此仍比静态 NSGA-II 快 $\tildeΩ(n)$ 倍。