instance

代码:

import pulp

z = [2, 3, 1]
a = [[1, 4, 2], [3, 2, 0]]
b = [8, 6]
aeq = [[1,2,4]]
beq = [101]
#确定最大化最小化问题,最大化只需将Min改成Max即可
m = pulp.LpProblem(sense=pulp.LpMinimize)
# 定义三个变量放到列表中
x = [pulp.LpVariable(f'x{i}', lowBound=0) for i in [1, 2, 3]]
#定义目标函数,lopDot可以将两个列表的对应位相乘再相加
#相当于z[0]*x[0]+....
m += pulp.lpDot(z,x)
#设置不等式约束条件
for i in range(len(a)):
m += pulp.lpDot(a[i], x) >= b[i]
#设置等式约束条件
for i in range(len(aeq)):
m += pulp.lpDot(aeq[i],x) == beq[i]
#求解
m.solve()
#输出结果
print(f'优化结果:{pulp.value(m.objective)}')
print(f'参数取值:{[pulp.value(var) for var in x]}')

import numpy as np
import pulp as pl def main():
ProbLp=pl.LpProblem("ProbLp",sense=pl.LpMaximize)
print(ProbLp.name)
x1=pl.LpVariable('x1',lowBound=0,upBound=None,cat='Integer')
x2=pl.LpVariable('x2',lowBound=0,upBound=2,cat='integer') ProbLp+=(x1+4*x2)
ProbLp+=(-2*x1+3*x2<=3)
ProbLp+=(x1+2*x2<=8)
ProbLp.solve()
print("Shan Status:", pl.LpStatus[ProbLp.status]) # 输出求解状态
for v in ProbLp.variables():
print(v.name, "=", v.varValue) # 输出每个变量的最优值
print("F(x) =", pl.value(ProbLp.objective)) # 输出最优解的目标函数值 if __name__ =='__main__':
main()
ProbLp
Shan Status: Optimal
x1 = 4.0
x2 = 2.0
F(x) = 12.0

  

基于python的数学建模---pulp库的更多相关文章

  1. Python数模笔记-PuLP库(1)线性规划入门

    1.什么是线性规划 线性规划(Linear programming),在线性等式或不等式约束条件下求解线性目标函数的极值问题,常用于解决资源分配.生产调度和混合问题.例如: max fx = 2*x1 ...

  2. Python数模笔记-PuLP库(2)线性规划进阶

    1.基于字典的创建规划问题 上篇中介绍了使用 LpVariable 对逐一定义每个决策变量,设定名称.类型和上下界,类似地对约束条件也需要逐一设置模型参数.在大规模的规划问题中,这样逐个定义变量和设置 ...

  3. scapy - 基于python的数据包操作库

    简介 地址:https://github.com/secdev/scapy scapy是一个基于python的交互式数据包操作程序和库. 它能够伪造或者解码多种协议的数据包,通过使用pcap文件对他们 ...

  4. 基于Python的开源人脸识别库:离线识别率高达99.38%

    项目地址:https://github.com/ageitgey/face_recognition#face-recognition 本文的模型使用了C++工具箱dlib基于深度学习的最新人脸识别方法 ...

  5. 使用wxpy这个基于python实现的微信工具库的一些常见问题

    使用如下的命令行安装: pip install wxpy Collecting wxpy Downloading https://files.pythonhosted.org/packages/6b/ ...

  6. 使用Python scipy linprog 线性规划求最大值或最小值(使用Python学习数学建模笔记)

    函数格式 scipy.optimize.linprog(c, A_ub=None, b_ub=None, A_eq=None, b_eq=None, bounds=None, method='simp ...

  7. Python数学建模-01.新手必读

    Python 完全可以满足数学建模的需要. Python 是数学建模的最佳选择之一,而且在其它工作中也无所不能. 『Python 数学建模 @ Youcans』带你从数模小白成为国赛达人. 1. 数学 ...

  8. Python数学建模-02.数据导入

    数据导入是所有数模编程的第一步,比你想象的更重要. 先要学会一种未必最佳,但是通用.安全.简单.好学的方法. 『Python 数学建模 @ Youcans』带你从数模小白成为国赛达人. 1. 数据导入 ...

  9. Python小白的数学建模课-A1.国赛赛题类型分析

    分析赛题类型,才能有的放矢. 评论区留下邮箱地址,送你国奖论文分析 『Python小白的数学建模课 @ Youcans』 带你从数模小白成为国赛达人. 1. 数模竞赛国赛 A题类型分析 年份 题目 要 ...

  10. Python小白的数学建模课-A3.12 个新冠疫情数模竞赛赛题与点评

    新冠疫情深刻和全面地影响着社会和生活,已经成为数学建模竞赛的背景帝. 本文收集了与新冠疫情相关的的数学建模竞赛赛题,供大家参考,欢迎收藏关注. 『Python小白的数学建模课 @ Youcans』带你 ...

随机推荐

  1. HDFS 伪分布式环境搭建

    HDFS 伪分布式环境搭建 作者:Grey 原文地址: 博客园:HDFS 伪分布式环境搭建 CSDN:HDFS 伪分布式环境搭建 相关软件版本 Hadoop 2.6.5 CentOS 7 Oracle ...

  2. KingbaseES R6 集群启动‘incorrect command permissions for the virtual ip’故障案例

    案例说明: KingbaseES R6集群启动时,出现"incorrect command permissions for the virtual ip"故障,本案例介绍了如何分析 ...

  3. lombok Builder注解

    使用了@Builder 将会失去无参构造函数 可以通过 @Tolerate 来添加构造函数

  4. 如何使用U盘重装Windows7系统?

    一.重装步骤 第一步 将U盘制作为启动盘. 备注:推荐使用比较纯净的制作工具,如开源工具Rufus制作USB启动盘. 第二步 进入BIOS界面,选择U盘启动. 备注:不同的电脑进入BIOS界面的方式不 ...

  5. sklearn中MLPClassifier源码解析

    神经网络 .fit() 首先传入类私用方法._fit() 确定hidden_layer_size是可迭代的 调用_validate_hyperparameters验证超参数是否合法 验证输入的x和y是 ...

  6. 使用Vite快速构建Vue3+ts+pinia脚手架

    一.前言 vue3的快速更新,很多IT发展快的地区在22开始都已经提上日程,小编所在的青岛好像最近才有点风波.vue3的人才在青岛还是比较稀缺的哈,纯属小编自己的看法,可能小编是个井底之蛙!! vue ...

  7. 微服务低代码Serverless平台(星链)的应用实践

    导读 星链是京东科技消金基础研发部研发的一款研发效能提升的工具平台,面向后端服务研发需求,尤其是集成性.场景化.定制化等难度不太高.但比较繁琐的需求,如服务前端的后端(BFF).服务流程编排.异步消息 ...

  8. 静态文件:Static Files

    官方文档地址:https://fastapi.tiangolo.com/zh/tutorial/static-files/ from fastapi import FastAPI from fasta ...

  9. Springboot配置文件参数使用docker-compose实现动态配置

    文章总结; Springboot配置文件中的一些参数可以写成变量的形式,具体变量的值可以从docker-compose.yml文件中设置来获取 在yml文件中,通过${Envirment_variab ...

  10. 授予用户/用户组访问 Kubernetes 的一个名称空间

    转载地址:https://www.kuboard.cn/learning/k8s-advanced/sec/rbac/auth-namespace.html 前提条件 已安装 Kuboard v3,版 ...