DOcplex用法锦集(持续更新)
一、含决策变量的中间变量也可写入约束中并起到作用!
例如,下文代码中,tempx中间变量可以写入mdl.add_constraint,并发挥作用
from docplex.mp.model import Model# 创建模型
mdl = Model("MIQCQP_Example")# 定义变量(x为整数变量,y为连续变量)
x = mdl.integer_var(lb=0, name='x')
y = mdl.continuous_var(lb=0, name='y')# 添加二次约束:x² + 2xy + y ≤ 15 (二次约束已删除)
tempx = 2*x
mdl.add_constraint( tempx >= 10)
mdl.add_constraint( y >= 1)# 定义二次目标函数:最小化 x² + y²
mdl.minimize(x**2 + y**2)# 求解并输出结果
solution = mdl.solve()
if solution:print(f"最优值: {mdl.objective_value:.2f}")print(f"x = {x.solution_value:.2f}, y = {y.solution_value:.2f}")
else:print("未找到可行解")
运行结果:
