• Python-Cplex安装(假定读者具备Python基础,且已经安装好Anaconda)

(一)方法1:适用于求解小规模问题

pip install cplex -i https://pypi.tuna.tsinghua.edu.cn/simple

(二)方法2:可求解大规模问题

Python3.6(Anaconda)+cplex12.8.0(亲测cplex12.8.0下不支持python3.7)

注意:

  1. 以管理员身份打开
  2. 若anaconda非3.6环境,在创建Python3.6环境后,激活该环境(这里gym环境是我的python3.6环境的名字,可百度搜索Python如何创建新环境)
  3. 进入到你的cplex安装路径下的python路径
  4. 执行安装命令
  5. Cplex需要事先安装好,可直接在IBM官网下载学术免费版,但需要edu邮箱,学术版白嫖链接:使用Cplex的第一天(不限语言,含学术版软件) - 知乎 (zhihu.com)

测试:

import cplexcplexmodel = cplex.Cplex()

  • 实例:线性规划问题模型求解

(一)方法一:通过读取lp文件

LP-ex1.lp文件内容:模型样例

import cplex
# 初始化模型
prob = cplex.Cplex()
# 模型写入
#prob.write("LP-ex1.lp")
# 读取lp文件
prob.read('LP-ex1.lp')
# 模型求解
prob.solve()
print("目标函数值:", prob.solution.get_objective_value()) #122.5
print("最优解:", prob.solution.get_values()) #[40.0, 10.5, 19.5, 3.0]

(二)按行建模(还有按列建模,按系数建模,了解更多移步b站运筹OR帷幄

import cplex
#初始化模型
prob = cplex.Cplex()
prob.objective.set_sense(prob.objective.sense.maximize)
obj = [1.0, 2.0, 3.0, 1.0]
#决策变量取值范围上界
ub = [40.0, cplex.infinity, cplex.infinity, 3.0]
#决策变量取值范围下界
lb = [0.0, 0.0, 0.0, 2.0]
varnames = ["x1", "x2", "x3", "x4"]
#决策变量类型,C是数值,I是整数
types = 'CCCI'
prob.variables.add(obj=obj, ub=ub, lb=lb, types=types, names=varnames)
print(prob.variables.get_lower_bounds())
print(prob.variables.get_upper_bounds("x2"))
print(prob.variables.get_names())
#约束中<=(L),=(E)
senses = "LLE"
rhs = [20.0, 30.0, 0.0]
rownames = ["r1", "r2", "r3"]
rows = [[["x1", "x2", "x3", "x4"], [-1.0, 1.0, 1.0, 10.0]],[["x1", "x2", "x3", "x4"], [1.0, -3.0, 1.0, 0.0]],[["x1", "x2", "x3", "x4"], [0.0, 1.0, 0.0, -3.5]]]
prob.linear_constraints.add(lin_expr=rows, senses=senses, rhs=rhs, names=rownames)
prob.solve()
# 查看目标函数值
print("目标函数值:",prob.solution.get_objective_value())
# 查看最优解
print("最优解:",prob.solution.get_values())

Python调用Cplex:安装,测试,实例相关推荐

  1. python rpc_对python调用RPC接口的实例详解

    要调用RPC接口,python提供了一个框架grpc,这是google开源的 rpc相关文档: 需要安装的python包如下: 1.grpc安装 pip install grpcio 2.grpc的p ...

  2. 如何用python调用百度云接口实例

    python可以通过python+Opencv来实现很多图片变换之类的工作,因为OpenCV库的功能可以说是相当强大,很多功能都可以完成.但是实现起来需要自己造轮子,所以很费时间和精力,我们可以直接学 ...

  3. ElasticSearch 6.x 增删改查操作汇总 及 python调用ES中文检索实例

    文章目录 Error汇总 1. 由于Elasticsearch可以输入且执行脚本,为了系统安全,不允许使用root启动 2. 外部无法访问 3. 解决 max virtual memory areas ...

  4. Python调用matlab——安装和调试mlab

    图像处理包括图像复原最常用的工具是Matlab,随着Python和深度学习的火热,Python和matlab的混合编程成为需要. mlab安装 环境要求:anaconda2(Python2.7,pyt ...

  5. Python调用kafka构建完整实例分析与应用!

    近期遇到一个需求就是我们需要把当前比较耗费资源的接口开发成异步通讯的机制,简单来说就是有一个消息队列来不停地进行消息的集中分发与任务处理,这里应用端给出的方案是使用kafka来做,但是这个我在之前没有 ...

  6. windows下kafka环境完整搭建,Python调用kafka构建完整实例分析与应用

    今天临近下班的时候来了一个需求就是我们需要把当前比较耗费资源的接口开发成异步通讯的机制,简单来说就是有一个消息队列来不停地进行消息的集中分发与任务处理,这里应用端给出的方案是使用kafka来做,但是这 ...

  7. python调用cplex求解装箱问题_使用cplex(python)解决限制背包(01背包)问题

    问题描述: 对于01背包问题,简历数学模型,使用python的cplex模块解决问题,找到最大解. 代码实现: # -*- coding: utf-8 -*- # The MIP problem so ...

  8. 简单python脚本实例-简单了解python调用其他脚本方法实例

    1.用python调用python脚本 #!/usr/local/bin/python3.7 import time import os count = 0 str = ('python b.py') ...

  9. python调用cplex求解装箱问题_装箱问题的CPLEX求解

    装箱问题(Bin Packing Problem) 装箱问题即搬家公司问题.一个搬家公司有无限多的箱子,每个箱子的承重上限为W,当搬家公司进入一个房间时,所有物品都必须被装入箱子,每个物品的重量为wi ...

  10. conda 装tensorboardx_Pytorch数据可视化:TensorboardX安装及使用(安装测试+实例演示)...

    数据可视化:TensorboardX安装及使用 tensorboard作为Tensorflow中强大的可视化工具: https://github.com/tensorflow/tensorboard, ...

最新文章

  1. 疫情之下的网站优化该怎样进行?
  2. kettle 数据转换
  3. tomca7.0 mysql配置连接池_tomcat7.0+mysql连接池配置
  4. Laravel 怎么在 blade 视图中将带 HTML 字符原样输出
  5. 服务器ghost到虚拟机,无需U盘用Ghost还原vmware内虚拟机系统的方法
  6. 朋友圈9宫格留白_九宫格招聘拼图图片
  7. php案例分析百度云_百度阅读|助力推动阅读领域无障碍优化(二)
  8. 实现位数超过32bit的整数的加减乘除运算_Java 运算符
  9. 仪表自定义刻度值_汇总丨工业仪表知识大全和选型参考
  10. Apache 分割日志
  11. 实体框架提供程序类型无法加载?
  12. Makefile .PHONY用法
  13. RDS数据订阅服务使用说明
  14. 最新!泰晤士2021亚洲大学排名发布:91所中国大陆高校上榜!
  15. cad计算机画图标准,CAD高级绘图员鉴定标准
  16. Echart资源网站
  17. SQL数据库语句大全
  18. Codeforces1336A Linova and Kingdom (思维)
  19. word文档里怎么撤回上一步的操作
  20. 建筑识图与构造【2】

热门文章

  1. bilibili 韩顺平Java后端学习路线
  2. 科学函数计算机怎么关机,函数计算器的功能有哪些?关机是哪个键?
  3. Java实现图书管理系统
  4. OpenERP工作流不同角色看属于自己审批的方法
  5. oracle财务软件中出纳用,财务软件中:“出纳签字”功能在会计核算中的作用及操作步骤?...
  6. Eclipse配置使用SVN插件
  7. Linux命令大全完整版
  8. Java IO _打印流
  9. Android TTS实现简单阅读器(一)
  10. vasp 模拟退火_vasp的分子动力学模拟