假设我们考虑投资两种证券X和Y。若投资X证券的数量为xxx,投资Y证券的数量为yyy, 试求3x+2y3x+2y3x+2y的最大值。限制条件如下:

  • 投资2倍的X证券数量与投资Y证券数量之和不超过100;
  • 投资X证券数量与投资Y证券数量之和不超过80;
  • 投资X证券的数量不超过40;
  • 不允许卖空(short selling)。

该最大化问题的数学表达式如下:
求f(x,y)=3x+2yf(x,y)=3x+2yf(x,y)=3x+2y的最大值,约束条件:
2x+y≤100x+y≤80x≤40x≥0,y≥02x + y ≤ 100 \\ x + y ≤ 80 \\ x ≤ 40 \\ x ≥0, y ≥ 0 2x+y≤100x+y≤80x≤40x≥0,y≥0

import pulpx = pulp.LpVariable("x", lowBound=0,upBound=40,cat=pulp.LpContinuous)#设置x的上下界,LpContinuous是连续优化,还可以指定LpInteger求整数解,具体问题具体分析
y = pulp.LpVariable("y", lowBound=0,cat=pulp.LpContinuous)
#设置y的下界,方法同上problem = pulp.LpProblem("problem",pulp.LpMaximize) #命名,指定问题类型为求最大值problem += 3*x + 2*y #指定目标函数
problem += 2*x + y <= 100 #添加约束条件
problem += x + y <= 80status = problem.solve()print(pulp.LpStatus[problem.status])
print("The optimal solution: x=",pulp.value(x),", y=",pulp.value(y))

打印如下:

Optimal  # Status为Optimal即求出了最优解,其他情况参考解释文档
The optimal solution: x= 20.0 , y= 60.0

接下来为了尝试区分整数规划和连续优化的区别,我修改了约束条件:
2.3x+0.766y≤100x+y≤80x≤40x≥0,y≥02.3x + 0.766y ≤ 100 \\ x + y ≤ 80 \\ x ≤ 40 \\ x ≥0, y ≥ 0 2.3x+0.766y≤100x+y≤80x≤40x≥0,y≥0
这时候变量可选参数LpContinuous和LpInteger(代码第3、5行)就派上用场了。
在指定了LpInteger后应该求得整数解(进行整数规划),果然输出结果如下:

Optimal
The optimal solution: x= 25.0 , y= 55.0

而在指定了LpContinuous后可能求得非整数解,输出结果如下:

Optimal
The optimal solution: x= 25.241199 , y= 54.758801

请注意:参数cat=pulp.LpContinuous是默认的。
还有一个用字典解决线性规划的方法,等有时间再更

Python使用PuLP第三方库解决线性规划问题相关推荐

  1. pulp和scipy库解决线性规划

    目录 1.pulp库解决简单线性规划问题 2.pulp库解决大型线性规划问题 3.scipy库解决线性规划 1.pulp库解决简单线性规划问题 ''' max fx = 2*x1 + 3*x2 - 5 ...

  2. python pip安装第三方库老是报错_#python pip 安装dlib一直失败?#python安装dlib错误...

    #python pip 安装dlib一直失败?#python安装dlib错误 python dlib 教程2020-10-11 07:52:36人已围观 ubuntu里面怎么安装dlib 下面是在ub ...

  3. qpython3安装第三方库_【工具篇】python pip安装第三方库

    python安装第三方库其实挺简单的, 一句话总结:pip install 库名 (如pip install jieba 安装结巴库) 但会有一些安装的细节, 本文将详细展开如何pip安装第三方库的详 ...

  4. Python pip安装第三方库的国内镜像

    Python pip 安装第三方库的国内镜像 Windows系统下,一般情况下使用pip在DOS界面安装python第三方库时,经常会遇到超时的问题,导致第三方库无法顺利安装,此时就需要国内镜像源的帮 ...

  5. python安装第三方包总是超时_(python pip安装第三方库超时问题(raise ReadTimeoutErrorself._pool, None, 'Read timed out.')...

    (python pip安装第三方库超时问题(raise ReadTimeoutErrorself._pool, None, 'Read timed out.') pip工具安装 百度经验链接: pip ...

  6. python离线安装第三方库

    python离线安装第三方库 本人也是一枚小白,欢迎大佬们批评指正! 当服务器是未联网状态时,在环境中安装第三方包就很不方便.下面是自己学习过多篇文章后,结合自己实际安装步骤,写的一点总结. 1. 在 ...

  7. 【Python软件和第三方库国内地址】

    Python软件和第三方库国内地址 提示:国外地址下载半天,总失败 文章目录 Python软件和第三方库国内地址 前言 一.安装Python 1.[国内华为镜像](https://mirrors.hu ...

  8. JS--使用第三方库解决浮点数(小数)计算不准确的问题

    原文网址:JS--使用第三方库解决浮点数(小数)计算不准确的问题_IT利刃出鞘的博客-CSDN博客 简介 本文介绍如何解决JavaScript在计算浮点数(小数)时不准确(精度丢失)的问题. 问题描述 ...

  9. python基础和第三方库 笔记(python基础完结包括高级用法,第三方库持续更新中...)

    python基础 注:本笔记面向有一定基础的人 本笔记是本人快速复习python过程中记录的,不适合零基础的人学习python的主工具,可以作为辅工具,本笔记记录了入门阶段常用操作,如有错误的地方,希 ...

最新文章

  1. 06开始完整制作网站
  2. Java SE 9(JDK9)环境安装及交互式编程环境Jshell使用示例
  3. python消费datahub_DataHub使用指南-阿里云开发者社区
  4. yarn ngc使用练习
  5. Dlib机器学习库安装
  6. Java学习笔记----线程
  7. 【SpringMVC】下载功能
  8. 小程序对实体行业转型有何影响?
  9. cmake 历史版本
  10. springboot整合
  11. 抖音热门音乐整理合集歌曲打包分享
  12. 【OpenGL】室内3D弹球
  13. (小程序) 客户签名及签名后页面整体转图片后上传
  14. 炒菜机器人放食材的顺序_炒菜机器人的制作方法
  15. Linux下快速解析nf_conntrack
  16. JCR分区(WOS或Thomson Reuters或汤姆森 路透)和中科院分区(附网址及查询方法)_2018年
  17. MyEclipse老是提示 resetting selection 长耗时的问题
  18. wps上下标怎么对齐_wps如何设置表格对齐方式图解
  19. Form表单提交成功,但是后台并没有处理数据且debug无效
  20. Windows 开发之VC++垃圾清理程序软件

热门文章

  1. 电脑开机黑屏,只有一个鼠标箭头
  2. DJANGO后台ADMIN下拉三级联动,纯JS,没有AJAX数据库回显,目前为止最简单的做法
  3. 关联规则 置信度定义
  4. 【新手教程】51Sim-One Cloud 2.0如何构建一个V2X案例
  5. Navicat15安装使用
  6. 仿抖音底部菜单响应式html代码十分酷炫
  7. Android震动vibrator(马达)--系统到驱动的流程【转】
  8. qps多少才算高并发_要大到什么程度?才算高并发?
  9. 塔罗牌怎么引流?如何利用塔罗牌引流?做塔罗牌如何引流?
  10. FFmpeg视频解码流程详解及demo