如何在R中打破lpSolveAPI?

时间:2016-11-13 18:54:33

标签: r timeout lpsolve

在我的代码中,我运行了几次迭代,每次迭代都使用lpSolveAPI解决了LP问题。在某些情况下,LP需要花费过多的时间,所以我想设置一个时间限制,以便我可以跳过当前的迭代并转到下一个。

for (i in 1:1000)
{
  #create LP model for problem for instance i
  solve(model)
}

我已经尝试过:

solve(model,timeout = 10, time_limit = 10)

evalWithTimeout(solve(model), timeout = 10, onTimeout = "error")

但在这两种情况下,LPsolver的工作方式与我未指定时间限制的方式相同。

你有什么建议?

1 个答案:

答案 0 :(得分:1)

每个reference manual的lpSolveAPI包,请使用

lp.control(model, timeout = 10)
status = solve(model)

你尝试过的方法不起作用,因为solve忽略了除第一个之外的所有参数,而evalWithTimeout不能中断C代码。