【发布时间】:2016-01-03 20:35:11
【问题描述】:
我有一个优化问题,我编写了一个 python 程序来解决它。我将 Pulp 与 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':
...
【问题讨论】: