1

我正在学习用于自动分组用户的优化算法。但是,我对这些算法完全陌生,并且在查看相关文献时听说过它们。而且,不同的是,在其中一篇文章中,作者使用整数编程实现了他们自己的算法(基于他们自己的逻辑)(这就是我听说 IP 的方式)。

我想知道是否需要使用混合整数线性规划来实现遗传/粒子群(或任何其他优化)算法,或者这只是其中一种选择。最后,我需要构建一个基于 Web 的系统来自动对用户进行分组。我很感激任何帮助。

4

1 回答 1

5

我认为您有点混淆了这些术语。这些都是不同的优化技术。您当然可以使用混合整数规划 (MIP) 表示法来表示问题,但您可以使用 MIP 求解器或遗传算法 (GA) 或粒子群优化 (PSO) 来解决它。

整数规划是称为数学规划的更传统范式的一部分,其中问题是基于一组有些严格的方程建模的。有不同类型的数学规划模型:线性规划(所有变量都是连续的)、整数规划、混合整数规划(连续和离散变量的混合)、非线性规划(一些方程不是线性的)。

数学编程模型很好且健壮,例如,根据模型,您可以判断您离理想解决方案还有多远。但是这些模型经常在许多变量的问题中挣扎。

另一方面,遗传算法和 PSO 属于优化技术的一个较年轻的分支,它通常被称为元启发式算法。即使对于大而复杂的问题,这些技术也经常找到好的或至少合理的解决方案,许多实际应用

有一些混合算法结合了数学模型和元启发式算法,在这种情况下,是的,您将同时使用 MIP 和 GA/PSO。选择哪种方法(MIP、元启发式或混合方法)非常依赖于问题,您必须测试哪种方法更适合您。如果重点是解决方案的准确性,我通常更喜欢数学模型,如果我的目标函数非常复杂并且我需要一个快速但更差的解决方案,我更喜欢元启发式算法。

于 2016-12-12T17:14:18.650 回答