cplex求解线性规划(python)

前言

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 按列添加
未完待续…

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值