如何使用NSGA-II(在python/pymoo库中)从列表中选择最佳值对



上下文:对于以下两个目标的优化问题,我需要在python中实现NSGA-II:我有一组项目,每个项目都有两个无界值:一个用于成本,另一个用于服务质量。例如:

[(item1, cost=0.4, QoS=0.89),(item2, cost=0.67, QoS=0.42),(item3, cost=0.02, QoS=0.53)]

目标:目标是应用多目标优化算法(例如,NSGA-II(来选择最优化的项目,即具有最优(最小(成本和最优(最大(QoS的项目。此外,我们旨在比较各种优化算法(我们刚刚从NSGA-II开始(。

问题:我已经检查了pymoo库:https://pypi.org/project/pymoo/0.1.2/并且我的主要问题是定义优化";"问题";在执行NSGA-II算法之前。因为我的输入不是目标函数,而是成对的值(成本、QoS(。那么,我如何将这个配对数组输入到NSGA-II算法中,以找到最佳配对呢?

我对优化算法完全陌生,所以也许我的方法是错误的,我确信我一定遗漏了一些东西。如有任何帮助/解释,我们将不胜感激。

提前谢谢。

我总是建议用数学或结构化的方式来制定问题。我们的入门指南解释了如何在给定数学表达式的情况下实现问题。实现了您的问题后,使用pymoo对不同的算法进行基准测试变得相当容易。此外,我想提到的是,pymoo的最新版本是最近发布的0.4.1版本。没有更多关于你的问题的细节,这就是我建议你看看的。

最新更新