docplex 中的敏感性分析
sensitivity analysis in docplex
如何在 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()
如何确定当前基保持最优的约束的右侧常数的范围?
您可以使用 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())
如何在 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()
如何确定当前基保持最优的约束的右侧常数的范围?
您可以使用 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())