Steiner树问题是组合优化中的一个经典问题,它在很多领域得到了广泛应用和深入发展。但当前对Steiner树问题的研究大都集中在单个目标上,即最终只需要达到一种优化目标。而现实中需要解决的问题,往往不止一个目标,而是多个目标相互制约、影响,由此提出了多目标的Steiner树问题,使Steiner树问题变成多目标优化问题。目前有很多种解决多目标优化问题的算法,但这些传统的算法只是提供了一些不同的途径,将多目标优化问题转化为单目标优化问题,然后采用较为成熟的单目标优化方法来进行求解。其解决问题的基础仍是依赖单目标优化,往往难以得到令人满意的最优解集。由于遗传算法内在的并行性,善于在全局范围内进行搜索,适用于解决多目标优化问题。本文提出利用多目标遗传算法解决一种两个目标的Steiner树问题。本文的算法中,Steiner生成树由贪婪算法计算,多目标遗传算法对每一代的个体搜索其Pareto最优解集,直到算法结束,最终得到一组Pareto最优解,这些解包含了总体开销和边数两个目标,使决策者可以根据喜好选取最适当的方案。为了证明算法的有效性和先进性,测试了Beasley提供的B-problem数据集,并选择了解决Steiner树问题的三种经典算法进行了单个目标的比较,结果说明,本文的算法能搜索到单目标Steiner树的最优解,同时能搜索到多目标Steiner树的Pareto最优解集。
本文来源: https://www.lw50.cn/article/20fd1fd935ef50cd31afd71c.html