在我的代码中,我运行了多次迭代,每次迭代都使用 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 都会以相同的方式工作,就好像我没有指定时间限制一样。
你有什么建议?
最佳答案
每reference manual lpSolveAPI包,使用
lp.control(model, timeout = 10)
status = solve(model)
您尝试过的方法不起作用,因为solve会忽略除第一个参数之外的所有参数,并且evalWithTimeout无法中断C代码。
关于r - 如何在 R 中破解 lpSolveAPI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40577560/