我正在尝试使用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应该是正确的。
有人可以给我一些见解,为什么这不起作用?特别是,有一个“技巧”来快速解决这样的情况吗?
答案 0 :(得分:0)
我和lp_solve的一些开发者聊了聊。问题的原因显然是lp_solve在内部使用了double类型的变量,并且它们没有提供足够的精度来处理那些大的整数。
看起来使用lp_solve解决系统是不可能的。如果您遇到类似我的类似问题,您可能会搜索其他工具。