我正在用SCIP解决VRP,我希望将优化结果导出到文本文件中。我使用以下代码但在调用SCIPwriteBestSol函数时失败。
FILE* file;
file = fopen("Solution.sol", "w");
SCIP_CALL(SCIPprintBestSol(scip, file, FALSE));
fclose(file);
答案 0 :(得分:2)
如果以下调用有效(即将解决方案打印到控制台),则问题来自I / O方法。如果它也失败了,你必须检查你的SCIP状态,即你是否有解决方案。如果这不起作用,我建议写信给SCIP邮件列表/报告错误。
SCIP_CALL(SCIPprintBestSol(scip, stdout, FALSE));
答案 1 :(得分:0)
检查fopen()的返回值
因为manual表示如果函数调用失败,fopen将返回空指针
然后先做
if ((file = fopen("Solution.sol", "w")) != nullptr)
{
// do your stuff
}