docplex中的cpleqp等效项

时间:2019-11-30 12:01:13

标签: cplex docplex

我们可以使用cplexqp命令在matlab中使用Cplex来查找问题的最少内容。我正在寻找docplex中的替代方法。

Cplex vs Docplex

1 个答案:

答案 0 :(得分:1)

让我在docplex中编写标准的qpex1 example

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() ) 

给出

x0  =  0.13911493492690713
x1  =  0.5984654737750436
x2  =  0.8983957227089207
objective :  2.0156165232891574