0

我正在尝试使用 lp-solve 解决以下实例

/* Objective function */
min: +x;

/* Constraints */
+2046853249 x +2046853248 y +c = 0;
+1954481150 x +1954481149 y +c = 0;
R3: +x >= 1;

/* Variable bounds */
-10000 <= x <= 10000;
-10000 <= y <= 10000;
-10000 <= c <= 10000;

/* Integer definitions */
int x,y,c;

这似乎不是一个困难的例子,但 lp-solve 无法解决它。我对 lp-solve 文档的理解是,求解器实际上开始将实例作为常规 lp 求解,然后将问题修复为整数定义。在这种情况下,lp-solution 应该是正确的。

有人可以给我一些见解,为什么这不起作用?特别是,是否有快速解决此类实例的“技巧”?

4

1 回答 1

0

我与一些 lp_solve 的开发人员进行了交谈。问题的原因显然是 lp_solve 在内部使用了 double 类型的变量,并且它们没有提供足够的精度来处理这么大的整数。

看起来使用 lp_solve 解决这样的系统是不可能的。如果你遇到像我这样的类似问题,你可能会搜索另一个工具。

于 2012-08-02T22:42:34.643 回答