前言
Cplex是IBM公司的一款商业求解器,其求解性能十分强大,在整数规划领域有突出表现。Cplex支持多种语言调用,包括C++,java,python等,之前写过C++安装以及调用Cplex的教程,本文将简单介绍Cplex在python中的调用方法,相比于C++调用,在python中的调用要更为简单一些,但是求解速度更慢。
首先要在python中安装Cplex包,Cplex安装包,Python版本不要高于3.8,否则会安装失败。
代码
1 按行添加
import cplex
# 数据
my_obj = [1.0, 2.0, 3.0]
my_ub = [40.0, cplex.infinity, cplex.infinity]
my_col_names = ['x1', 'x2', 'x3']
my_rhs = [20.0, 30.0]
my_row_names = ['c1', 'c2']
my_sense = 'LL'
# 模型
prob = cplex.Cplex()
# 目标函数
prob.objective.set_sense(prob.objective.sense.maximize)
# 变量
prob.variables.add(obj=my_obj, ub=my_ub, names=my_col_names)
prob.variables.add(obj=[1], ub=[10], names=['x4'])
# 约束
rows = [[['x1', 'x2', 'x3'], [-1.0, 1.0, 1.0]], [['x1', 'x2', 'x3'], [1.0, -3.0, 1.0]]]
prob.linear_constraints.add(lin_expr=rows, senses=my_sense, rhs=my_rhs, names=my_row_names)
# 求解
prob.solve()
2 按列添加
未完待续…