为什么lp_solve在普通实例上失败?

时间:2012-07-20 16:47:44

标签: lpsolve

我正在尝试使用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,然后解决问题w.r.t.到整数定义。在这种情况下,lp-solution应该是正确的。

有人可以给我一些见解,为什么这不起作用?特别是,有一个“技巧”来快速解决这样的情况吗?

1 个答案:

答案 0 :(得分:0)

我和lp_solve的一些开发者聊了聊。问题的原因显然是lp_solve在内部使用了double类型的变量,并且它们没有提供足够的精度来处理那些大的整数。

看起来使用lp_solve解决系统是不可能的。如果您遇到类似我的类似问题,您可能会搜索其他工具。