Reputation: 529
how can I do sensitivity analysis in docplex (python)? Suppose we have this model:
Max z= 3*x+2*y;
st:
2*x+y<=8;
x+2*y<=6;
I use docplex in python for solve the model:
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()
How can determine the ranges of the right-hand-side constants for the constraints for which the current basis remains optimal?
Upvotes: 2
Views: 803
Reputation: 10059
you could use the cplex python object:
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())
Upvotes: 5