在我的代码中,我运行了几次迭代,每次迭代都使用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的工作方式与我未指定时间限制的方式相同。
你有什么建议?
答案 0 :(得分:1)
每个reference manual的lpSolveAPI包,请使用
lp.control(model, timeout = 10)
status = solve(model)
你尝试过的方法不起作用,因为solve忽略了除第一个之外的所有参数,而evalWithTimeout不能中断C代码。