2

如何在 docplex (python) 中进行敏感性分析?假设我们有这个模型:

 Max z= 3*x+2*y;
  st:
      2*x+y<=8;
      x+2*y<=6;

我在 python 中使用 docplex 来解决模型:

from docplex.mp.model import Model
tm = Model(name="MyModel")
x = tm.continuous_var()
y = tm.continuous_var()
tm.add_constraint(2*x+y <= 8)
tm.add_constraint(x+2*y <= 6)
expr = 3*x+2*y
tm.maximize(expr)
result = tm.solve()

如何确定当前基础保持最优的约束的右侧常数的范围?

4

1 回答 1

3

你可以使用 cplex python 对象:

from docplex.mp.model import Model
tm = Model(name="MyModel")
x = tm.continuous_var()
y = tm.continuous_var()
tm.add_constraint(2*x+y <= 8)
tm.add_constraint(x+2*y <= 6)
expr = 3*x+2*y
tm.maximize(expr)
result = tm.solve()

cpx = tm.get_engine().get_cplex()

print(cpx.solution.sensitivity.lower_bounds())
print(cpx.solution.sensitivity.upper_bounds())
print(cpx.solution.sensitivity.bounds())
print(cpx.solution.sensitivity.objective())
print(cpx.solution.sensitivity.rhs())
于 2020-06-21T17:24:41.617 回答