从GLPK解决方案中获取表会引发错误“断言失败:out!=out”

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (43)

我在一个文件里有一个线性规划lpGLPK用以下命令解决:

glpsol --math -m lp

屏幕上的部分输出是:

Generating priority_words...
Model has been successfully generated
...
Long-step dual simplex will be used
+   770: mip =     not found yet <=              +inf        (1; 0)
Solution found by heuristic: 1569225
...
INTEGER OPTIMAL SOLUTION FOUND
...
Writing MIP solution to 'result'...

文件result是未格式化的,我希望将结果保存在CSV中。因此,我包括一行,用于将结果输出到上一个约束之后的一个表中,并在end;关键词:

...
s.t. priority_words{w in words}: include[w] >= priority[w];

table num{u in unicodes} OUT "CSV" "num.csv": u~unicode, number_of_characters[u]~count;

end;

GLPK给出了这个错误:

Generating priority_words...
Writing num...
Assertion failed: out != out
Error detected in file mpl/mpl3.c at line 5072
Abort trap: 6

在求解模型后,我如何向GLPK索取结果表?

提问于
用户回答回答于

请注意,带有table OUT语句的代码的输出没有该行Model has been successfully generated。因此,GLPK在解决问题之前尝试编写结果表!此线程中的示例代码显示GLPK需要知道何时解决问题,否则最终会解决问题。所以只需solve;在表格之前添加:

...
s.t. priority_words{w in words}: include[w] >= priority[w];
solve;
table num{u in unicodes} OUT "CSV" "num.csv": u~unicode, number_of_characters[u]~count;
end;

所属标签

可能回答问题的人

  • 西风

    renzha.net · 站长 (已认证)

    7 粉丝1 提问9 回答
  • 四无君

    0 粉丝0 提问3 回答
  • o o

    3 粉丝490 提问2 回答
  • Dingda

    Dingda · 站长 (已认证)

    4 粉丝0 提问2 回答

扫码关注云+社区

领取腾讯云代金券