我正在尝试使用 Pulp 和 XPRESS 求解器获得 LP 问题的影子价格。
使用 CBC 求解器,.pi 命令可以正常工作:
import pulp
my_lp_problem = pulp.LpProblem("My LP Problem", pulp.LpMinimize)
a = pulp.LpVariable("L",lowBound=-10, upBound=10, cat='Continuous')
my_lp_problem += a<= 2
my_lp_problem += a >= -5
my_lp_problem += a
my_lp_problem.solve(pulp.PULP_CBC_CMD())
for name, c in list(my_lp_problem.constraints.items()):
print(c.pi)
给
0.0
1.0
但是,使用 XPRESS :
import pulp
my_lp_problem = pulp.LpProblem("My LP Problem", pulp.LpMinimize)
a = pulp.LpVariable("L",lowBound=-10, upBound=10, cat='Continuous')
my_lp_problem += a<= 2
my_lp_problem += a >= -5
my_lp_problem += a
my_lp_problem.solve(pulp.XPRESS())
for name, c in list(my_lp_problem.constraints.items()):
print(c.pi)
给
None
None
有谁知道如何解决这个问题?
谢谢!