We can use cplexqp command to find the minimum of a problem using Cplex in matlab. I am looking for an alternative in docplex.
Asked
Active
Viewed 254 times
1 Answers
1
let me write the standard qpex1 example in docplex:
from docplex.mp.model import Model
mdl = Model(name='qpex1')
#decision variables
x = {b: mdl.continuous_var(0,40,name="x"+str(b)) for b in range(0,3)}
# Constraint
mdl.add_constraint( - x[0] + x[1] + x[2] <= 20, 'ct1')
mdl.add_constraint(x[0] - 3 * x[1] + x[2] <= 30,'ct2');
# Objective
mdl.maximize(x[0] + 2 * x[1] + 3 * x[2]-\
0.5 * ( 33*x[0]*x[0] + 22*x[1]*x[1] + 11*x[2]*x[2] -\
12*x[0]*x[1] - 23*x[1]*x[2] ))
msol=mdl.solve()
# Dislay solution
for v in mdl.iter_continuous_vars():
print(v," = ",v.solution_value)
print("objective : ",msol.get_objective_value() )
which gives
x0 = 0.13911493492690713
x1 = 0.5984654737750436
x2 = 0.8983957227089207
objective : 2.0156165232891574

Alex Fleischer
- 9,276
- 2
- 12
- 15
-
Expanding on Alex's answer: in `docplex` there are no different functions to solve a model depending on the model type. You just create the model and call `solve()`. The `solve()` function will inspect the model type and invoke the appropriate low-level function. This all happens under the hood for your convenience. – Daniel Junglas Dec 09 '19 at 08:45