2016-11-13 1 views
1

제 코드에서는 lpSolveAPI를 사용하여 LP 문제를 해결하는 몇 가지 반복 작업을 수행하고 있습니다. 어떤 경우에는 LP에 과도한 시간이 걸리기 때문에 시간 제한을 설정하여 현재 반복을 건너 뛰고 다음 반복으로 넘어갈 수 있습니다.R에서 lpSolveAPI를 깨는 방법?

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 내가 시간 제한을 지정하지 않은 것처럼 동일한 방식으로 작업을 계속 두 경우 모두를.

무엇을 제안합니까? lpSolveAPI 패키지의 reference manual

+0

과도한 시간이 걸리는 문제를 제거하십시오. 일반적으로 LP는 정수 제약이 없으면 해결할 시간이 없습니다. 나는 당신이 NEOS 서버를 볼 것을 제안 할 것이다 –

+0

완전히 재현 할 수있는 예제로 이것을 없애면 좋을 것이다. –

답변

0

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

당신 때문에 일을 해결하지 않는 시도한 방법은 첫 번째를 제외한 모든 인수를 무시 사용하고 evalWithTimeout는 C 코드를 방해 할 수 없다.