• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

线性代数Python解常见的三种线性规划问题

武飞扬头像
西瓜WiFi
帮助1

一、线性规划问题数学模型的一般形式

学新通
学新通

二、连续性规划问题

学新通
学新通
学新通
学新通
学新通
使用pulp求解

import pulp
model=pulp.LpProblem('Example 7',pulp.LpMaximize)#求最大值
x1=pulp.LpVariable('x1',lowBound=0,cat='Continuous')#限制约束变量为连续性
x2=pulp.LpVariable('x2',lowBound=0,cat='Continuous')#限制约束变量为连续性
#目标函数
model =72*x1 64*x2
#约束条件
model =x1 x2<=50
model =12*x1 8*x2<=480
model =3*x1<=100
model.solve()#解决问题
pulp.LpStatus[model.status]
print('x1={}'.format(x1.varValue))#打印最优解
print('x2={}'.format(x2.varValue))
print('可获得最大利润',pulp.value(model.objective),'元')#打印最优值

输出为:
学新通

三、整数规划问题

学新通
学新通
学新通
学新通
学新通
使用pulp求解

import pulp
model=pulp.LpProblem('Example 8',pulp.LpMaximize)#求最大值
x1=pulp.LpVariable('x1',lowBound=0,cat='Integer')#限制约束变量为整数
x2=pulp.LpVariable('x2',lowBound=0,cat='Integer')#限制约束变量为整数
y=pulp.LpVariable('y',lowBound=0,cat='Integer')#限制约束变量为整数
#目标函数
model =y
#约束条件
model =y-0.5*x1<=0
model =y-1/3*x2<=0
model =5*x1 4*x2<=960
model =9*x1 10*x2<=1440
model =4*x1 6*x2<=60
model.solve()#解决问题
pulp.LpStatus[model.status]
print('x1={}'.format(x1.varValue))#打印最优解
print('x2={}'.format(x2.varValue))
print('最大产量为y=',pulp.value(model.objective))#打印最优值
学新通

输出为
学新通
学新通

四、0-1规划问题

学新通

学新通
学新通
学新通
使用pulp求解

import pulp
model=pulp.LpProblem('Example 9',pulp.LpMaximize)#求最大值
x1=pulp.LpVariable('x1',lowBound=0,cat='Binary')#限制约束变量为0-1型
x2=pulp.LpVariable('x2',lowBound=0,cat='Binary')#限制约束变量为0-1型
x3=pulp.LpVariable('x3',lowBound=0,cat='Binary')#限制约束变量为0-1型
x4=pulp.LpVariable('x4',lowBound=0,cat='Binary')#限制约束变量为0-1型
#目标函数
model =1000*x1 1500*x2 900*x3 2100*x4
#约束条件
model =4*x1 6*x2 6*x3 8*x4<=20
model.solve()#解决问题
pulp.LpStatus[model.status]
print('x1={}'.format(x1.varValue))#打印最优解
print('x2={}'.format(x2.varValue))
print('x3={}'.format(x3.varValue))
print('x4={}'.format(x4.varValue))
print('总价值最大为y=',pulp.value(model.objective),'元.')#打印最优值
学新通

输出为
学新通
学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfjaghh
系列文章
更多 icon
同类精品
更多 icon
继续加载