基于python的数学建模---pulp库
2024-09-08 09:56:10
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
最新文章
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(39)-在线人数统计探讨
- IOS 代码提示有问题
- 【推荐】【给中高级开发者】构建高性能ASP.NET应用的几点建议
- 【Android测试】【第十八节】Espresso——环境搭建
- solr与.net系列课程(一)solr的安装与配置
- Java异常-一般异常和运行时异常的区别
- .net学习之类与对象、new关键字、构造函数、常量和只读变量、枚举、结构、垃圾回收、静态成员、静态类等
- js net 除法取整
- 中国移动MM Android/OPhone付费SDK--MMBillingSDK,集成问题总结
- SpringMVC文件上传 Excle文件 Poi解析 验证 去重 并批量导入 MYSQL数据库
- 解决 android.view.ViewGroup$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams
- 数据库存储过程 — Sql Server
- 数组、链表、Hash(转)
- Lua中使用table实现的其它5种数据结构
- nginx启动脚本,手动编辑
- 关于阿里云Centos7 Mailx发送邮件失败的处理
- Windows10 磁盘100%解决办法
- Elasticsearch 分片路由原理指定分片存储查询
- springboot+zuul(一)------实现自定义过滤器、动态路由、动态负载。
- Eclipse里选一个变量后,这个类里的该变量不变色了