目录

  • 1. 安装Pupl
  • 2. 基础操作
    • 2.1 样例
    • 2.2 设置优化方向
    • 2.3 写入目标函数
    • 2.4 变量设置:01变量
    • 2.5 变量设置:整数变量
    • 2.6 变量设置:连续变量
    • 2.7 变量设置:变量上下限
    • 2.8 写入不等式约束
    • 2.9 写入等式约束

1. 安装Pupl

conda install --channel https://conda.anaconda.org/conda-forge pulp

注:如果直接使用 conda install pulp 或是 pip install pulp 总是出现如下错误,使用以上操作可以成功安装。(借鉴自:https://blog.csdn.net/winter_python/article/details/108085295)

2. 基础操作

2.1 样例

import pulp
MyProbLP = pulp.LpProblem("LPProbDemo1", sense=pulp.LpMaximize)
x1 = pulp.LpVariable('x1', lowBound=0, upBound=7, cat='Continuous')
x2 = pulp.LpVariable('x2', lowBound=0, upBound=7, cat='Continuous')
x3 = pulp.LpVariable('x3', lowBound=0, upBound=7, cat='Continuous')
MyProbLP += 2*x1 + 3*x2 - 5*x3      # 设置目标函数
MyProbLP += (2*x1 - 5*x2 + x3 >= 10)  # 不等式约束
MyProbLP += (x1 + 3*x2 + x3 <= 12)  # 不等式约束
MyProbLP += (x1 + x2 + x3 == 7)  # 等式约束
MyProbLP.solve()
print("Status:", pulp.LpStatus[MyProbLP.status]) # 输出求解状态
for v in MyProbLP.variables():print(v.name, "=", v.varValue)  # 输出每个变量的最优值
print("F(x) = ", pulp.value(MyProbLP.objective))  #输出最优解的目标函数值
#= 关注 Youcans,分享原创系列 https://blog.csdn.net/youcans =

(样例借鉴自:https://blog.csdn.net/guolindonggld/article/details/89950877)

2.2 设置优化方向

  • 最大化
MyProbLP = pulp.LpProblem("LPProbDemo1", sense=pulp.LpMaximize)
  • 最小化
MyProbLP = pulp.LpProblem("LPProbDemo1", sense=pulp.LpMinimize)

2.3 写入目标函数

MyProbLP += 2*x1 + 3*x2 - 5*x3  # 设置目标函数

2.4 变量设置:01变量

x = LpVariable("x",cat='Binary')

2.5 变量设置:整数变量

x = LpVariable("x",cat='Integer')

2.6 变量设置:连续变量

x = pulp.LpVariable('x', cat='Continuous')

2.7 变量设置:变量上下限

x = pulp.LpVariable('x', lowBound=0, upBound=7, cat='Continuous')

2.8 写入不等式约束

MyProbLP += (x1 + 3*x2 + x3 <= 12)  # 不等式约束

2.9 写入等式约束

MyProbLP += (x1 + x2 + x3 == 7)  # 等式约束

Python中pupl的基础操作相关推荐

  1. python 新建文件 hdfs_python基础操作以及hdfs操作

    一.前言 作为一个全栈工程师,必须要熟练掌握各种语言...HelloWorld.最近就被"逼着"走向了python开发之路,大体实现的功能是写一个通用类库将服务器本地存储的文件进行 ...

  2. Python中的File(文件)操作

    Python中的File(文件)操作 针对磁盘中的文件的读写.文件I/O I 输入(input) O输出(Output) 文件操作步骤:1.打开文件 2.读写文件 3.关闭文件 写入文件的操作:(把大 ...

  3. 详解Python中的File(文件)操作

    目录 Python中的File(文件)操作 写入文件的操作: 读取文件的操作: 一.文件操作相关函数 1. open() 打开文件 2. seek() 设置文件指针的位置 3. write() 写入内 ...

  4. Python中常用的一些操作总结(未完待续)update @ 2017-5-18

    写在前面的话 其实也没有什么可以写的,或者说完全没有价值.因为你只要动一动手指就可以在Google上找到我要写的这些东西.只是我还不习惯好久没有碰我的blog,但是我又不想写没有价值的东西.或许有价值 ...

  5. python对excel某一列去重-「总结篇」Python中所有的Excel操作技巧

    原标题:「总结篇」Python中所有的Excel操作技巧 Python对于Excel的操作是多种多样的,掌握了相关用法就可以随心所欲的操作数据了! 操作xls文件 xlrd(读操作): import ...

  6. python使用方法-在Python中使用next()方法操作文件的教程

    next()方法当一个文件被用作迭代器,典型例子是在一个循环中被使用,next()方法被反复调用.此方法返回下一个输入行,或引发StopIteration异常EOF时被命中. 与其它文件的方法,如Re ...

  7. python脚本怎么使用_在Python中使用next()方法操作文件的教程

    next()方法当一个文件被用作迭代器,典型例子是在一个循环中被使用,next()方法被反复调用.此方法返回下一个输入行,或引发StopIteration异常EOF时被命中. 与其它文件的方法,如Re ...

  8. Python中的数据遍历操作

    1 前言 今天在学习FaceBoxes~ 看到一个语句不是很懂, 就是这里面的zip操作,感觉Python中的数据遍历的语句还是挺多样的,于是想着用笔记记录一下~ 2 Python中的数据遍历操作 2 ...

  9. Python中有关文件的操作

    Python中有关文件的操作 1.文件路径的书写 import os #这里返回的值是字符串 path = os.path.join(root_dir,file_dir) 2.列出文件夹中的文件 im ...

最新文章

  1. 独家 | 探索性文本数据分析的新手教程(Amazon案例研究)
  2. 全球及中国塑料制品行业发展形势及产量需求前景研究报告2021版
  3. 装好了ubuntu,w2k却无法启动了,:(
  4. mysql 存储过程游标删除_mysql数据库存储过程游标循环,提前退出
  5. CentOS 6.5 Zabbix-agent3.2 安装 1.0版
  6. requirejs加载顺序_前端模块化之AMD — Requirejs的使用
  7. 测试网内主机存活状态
  8. css sprite 介绍和实例
  9. Android开发笔记(十六)秋千摇摆动画SwingAnimation
  10. spring与jpa整合 简化persistence.xml配置文件 使用属性文件 数据源dbcp访问数据库...
  11. Oracle PLSQL语句实例
  12. 智慧食堂项目策划书(商业计划书/立项计划)
  13. 使用BMfont制作含有中文图片的.fnt格式字体合图
  14. 阳光牧场助手 阳光牧场外挂
  15. python股票量化交易系统源码_经典的股票量化交易策略(含源码)
  16. php怎么定义字符串变量的值,php字符串变量怎么替换
  17. 我是一只在IT线上苦苦挣扎的小菜鸟
  18. 我的自白--道路与梦想
  19. css3字间距的控制
  20. 从普通程序员到身价过百亿:追求长期价值的耐心,决定了你能走多远

热门文章

  1. word2019安装mythtype后出现“不受信任的位置及禁用宏”问题解决办法
  2. perl 处理 回车 换行符
  3. 工程师笔记|STM32U5带OEM Key保护的RDP降级
  4. 荣誉系统排名是整个服务器,魔兽世界60年代的PVP荣誉系统、军阶对照表和各职业的徽记效果...
  5. 产品经理的竞品分析报告入门
  6. 收藏 | Android开发从入门到精通系列书籍资料最全攻略!!!(最新更新)
  7. gbase 8d客户端配置文件
  8. matlab中绘制一个sin函数曲线
  9. 推荐四款可视化工具,解决99%的可视化大屏需求
  10. gis处理提示唯一值过多