- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
线性规划
简介:
线性规划是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支 , 它是辅助人们进行科学管理的一种数学方法 . 在经济管理、交通运输、工农业生产等经济活动中, 提高经济效果是人们不可缺少的要求,而提高经济效果一般通过两种途径:一是技术方面
的改进,例如改善生产工艺,使用新设备和新型原材料 . 二是生产组织与计划的改进,即合理安排人力物力资源 .
线性规划所研究的是:在一定条件下,合理安排人力物力等资源,使经济效果达到最好 .
规划问题。一般地,求线性目标函数在线性约束条件下的最大值或最小值的问题,统称为线性线性约束条件的解叫做可行解,由所有可行解组成的集合叫做可行域。
在优化模型中,如果目标函数 f(x) 和约束条件中的 g i (x) 都是线性函数,则该模型称为线性规划。
线性规划的 3 个基本要素
)决策变量
)目标函数 f(x)
)约束条件( g i (x) ≤ 0 称为约束条件)
建立线性规划的模型
)找出待定的未知变量(决策变量) ,并用袋鼠符号表示他们。
)找出问题中所有的限制或者约束,写出未知变量的线性方程或线性不等式。
)找到模型的目标或判据,写成决策变量的线性函数,以便求出其最大值或最小值。以下题为例,来了解一下如何将线性规划用与实际的解题与生活中。
生产计划问题
某工厂生产甲乙两种产品,每单位产品消耗和获得的利润如表试拟订生产计划,使该厂获得利润最大
解答: 根据解题的三个基本步骤
)找出未知变量,用符号表示:
设甲乙两种产品的生产量分别为 x 1与 x 2 吨,利润为 z 万元。
)确定约束条件:
在这道题目当中约束条件都分别为:钢材,电力,工作日以及生产量不能为负的限制钢材: 9x 1+5 x 2 ≤360,
电力: 4x 1+5 x 2 ≤200,
工作日: 3x 1+10 x 2 ≤300,
x 1 ≥ 0 ,x 2 ≥ 0,
)确定目标函数:
Z=7x1 +12 x 2
所以综合上面这三步可知,这个生产组合问题的线性规划的数学模型为:
max Z=7x 1 +12 x 2
9x1
5x2
360
4x1
5x2
200
s.t.
3x1
10x2
300
x1
0
x2
0
使用 MATLAB解决线性规划问题
依旧是以上题为例,将其用 MATLAB来表示出来
将目标函数用矩阵的乘法来表示
max Z=(7 12) x1
x2
将约束条件也用矩阵的乘法表示
95
9
5
4
5
s.t.
3
10
0
x1
0
x2
x1
200
x2
300
编写 MATLAB的程序如下:
c=[-7 -12]; ( 由于是 max函数,因此将目标函数的系数全部变为负数 )
A=[9,5;4,5;3,10];
b=[360;200;300];
Aeq=[];
beq=[];
vlb=[0;0];
vub=[];
[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)
其运行结果显示如下:
x =
20.0000
24.0000
fval =
-428.0000
MATLAB求解线性规划的语句
c=[ ] 表示目标函数的各个决策变量的系数
A=[ ] 表示约束条件中≥或≤的式子中的各个决策变量的系数。
(若系数构成了两行以上的矩阵那么则由“; ”来分割不同的两行)
b=[ ] 表示≥或≤右边的数字
Aeq=[ ] 表示约束条件中 =的式子中各个决策变量的系数。(5)beq=[ ] 表示=右边的数字
vlb=[ ] 表示决策变量的定义域 [ ] 中为≥的数字
vub=[ ] 表示决策变量的定义域 [ ] 中为≤的数字
(8)[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) 调用了 linprog 函数,以此来求解出决策变量的值
课后习题
1. 某鸡场有 1000 只鸡,用动物饲料和谷物混合喂养。每天每只鸡平均食混合饲料 0.5KG, 其中动物饲料所占比例不能少于 20%。动物饲料每千克 0.30 元,谷物饲料每千克 0.18 元 , 饲料公司每周仅保证供应谷物饲料 6000KG,问饲料怎样混合,才能使成本最低?
解:设动物饲料与谷物饲料分别为
x1 与
x2 千克,总成本为 Z。
min Z=0.3 x1 +0.18 x2
x1 x2 3500
s.t.
x1 3500
20%
0 x2 6000
MATLAB程序: c=[0.3 0.18];
A=[1,1];
b=[3500];
Aeq=[];
beq=[];
vlb=[700;0];
vub=[6000];
[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)
运算结果:
x =
700.0000
0.0000
fval =
210.0
文档评论(0)