ren*_*kre 1 optimization linear-programming genetic-algorithm particle-swarm integer-programming
我正在学习用于自动分组用户的优化算法.但是,我对这些算法完全陌生,我在回顾相关文献时听说过它们.而且,不同的是,在其中一篇文章中,作者使用整数编程实现了他们自己的算法(基于他们自己的逻辑)(这就是我所知道的IP).
我想知道是否需要使用混合整数线性编程实现遗传/粒子群(或任何其他优化)算法,或者这只是其中一个选项.最后,我需要构建一个基于Web的系统,自动对用户进行分组.我感谢任何帮助.
我认为你有点困惑这些条款.这些都是不同的优化技术.您肯定可以使用混合整数规划(MIP)表示法来表示问题,但您可以使用MIP求解器或遗传算法(GA)或粒子群优化(PSO)来解决它.
整数规划是更传统的范式的一部分,称为数学规划,其中问题是基于一组有点刚性的方程来建模的.存在不同类型的数学编程模型:线性编程(其中所有变量是连续的),整数编程,混合整数编程(连续和离散变量的混合),非线性编程(一些方程不是线性的).
数学编程模型是好的和健壮的,根据模型,您可以知道您与理想解决方案的距离.但是这些模型经常在许多变量的问题上挣扎.
另一方面,遗传算法和PSO属于较年轻的优化技术分支,通常称为元启发式.即使对于大型复杂问题,许多实际应用,这些技术通常也能找到好的或至少是合理的解决方案
有一些混合算法结合了数学模型和元启发式,在这种情况下,是的,你会同时使用MIP和GA/PSO.选择哪种方法(MIP,元启发式或混合式)非常依赖于问题,您必须测试哪种方法更适合您.如果重点是解决方案的准确性,我通常会更喜欢数学模型,如果我的目标函数非常复杂并且我需要一个快速但更差的解决方案,我更喜欢元启发式.