【问题标题】:Why does lp_solve fail on trivial instance?为什么 lp_solve 在普通实例上失败?
【发布时间】:2012-07-20 16:47:44
【问题描述】:

我正在尝试使用 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 应该是正确的。

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

【问题讨论】:

    标签: lpsolve


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-02-12
      • 2021-02-17
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多