我有一個優化問題,我寫了一個python程序來解決它。我用紙漿與CPLEX求解:如何防止紙漿和蟒蛇不可行的錯誤?
import pulp
prob = LpProblem("myProblem", LpMinimize)
x = pulp.LpVariable.dicts("p", range(K), 0, 1, pulp.LpContinuous)
prob += pulp.lpSum(x[k] for k in range(K))
...
# Rest of the constraints
status = prob.solve(pulp.CPLEX(msg = 0))
我得到的錯誤:
File "C:\Anaconda\lib\site-packages\pulp\solvers.py", line 468, in readsol
raise PulpSolverError, "Unknown status returned by CPLEX: "+statusString
pulp.solvers.PulpSolverError: Unknown status returned by CPLEX: infeasible
我的問題是:如何測試,如果問題是不可行或不?我想防止這種事件一樣,如果問題是不可行的則返回0
我想:
if prob.status == 'infeasible':
...
,我試圖
if pulp.LpStatusInfeasible == 'infeasible':
...