3

我有一个 linprog 代码,其目标函数中有 x1、x2、x3 和 x4。

我得到的结果为我提供了以下形式的值:

 x = 
6.6667
0.0420
0 
0

在我尝试建模的情况下,这在物理上没有意义,因为 x 代表特定技术的单位数,因此例如 0.0420 实际上并不存在。无论如何要“强制” linprog 找到 x 的最佳整数值?

谢谢

4

2 回答 2

3

这称为整数编程,通常是 NP 难的。它没有被涵盖,linprog因为它是一个完全不同且更难的问题。

这是 Stack Overflow 关于 Integer Programming 的一个相关问题(但不是重复问题)

于 2012-07-02T20:02:33.887 回答
1

您应该考虑使用混合整数编程(在 linprog 中将“整数约束”如“x 整数”添加到线性程序时会得到一个)。

直截了当,我建议使用Scip,因为它是“免费的”或Gams,它是一种商业产品,但为较小的实例提供免费试用版。

可以在 [scicomp][3] 找到关于混合整数规划和对应求解器的更详细的帖子

[3]:https ://scicomp.stackexchange.com/questions/2679/objects-in-buckets-assignment-optimization-problem“scicomp”。

于 2012-07-05T08:49:43.413 回答