数学建模线性规划
- 格式:docx
- 大小:55.12 KB
- 文档页数:9
线性规划
1.简介:
线性规划是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法.在经济管理、交通运输、工农业生产等经济活动中,提高经济效果是人们不可缺少的要求,而提高经济效果一般通过两种途径:一是技术方面的改进,例如改善生产工艺,使用新设备和新型原材料.二是生产组织与计划的改进,即合理安排人力物力资源.
线性规划所研究的是:在一定条件下,合理安排人力物力等资源,使经济效果达到最好.规划问题。一般地,求线性目标函数在线性约束条件下的最大值或最小值的问题,统称为线性线性约束条件的解叫做可行解,由所有可行解组成的集合叫做可行域。
(x)都是线性函数,则该模型称为在优化模型中,如果目标函数f(x)和约束条件中的g
i
线性规划。
2.线性规划的3个基本要素
(1)决策变量
(2)目标函数f(x)
(x)≤0称为约束条件)
(3)约束条件(g
i
3.建立线性规划的模型
(1)找出待定的未知变量(决策变量),并用袋鼠符号表示他们。
(2)找出问题中所有的限制或者约束,写出未知变量的线性方程或线性不等式。
(3)找到模型的目标或判据,写成决策变量的线性函数,以便求出其最大值或最小值。以下题为例,来了解一下如何将线性规划用与实际的解题与生活中。
生产计划问题
某工厂生产甲乙两种产品,每单位产品消耗和获得的利润如表
试拟订生产计划,使该厂获得利润最大
解答:根据解题的三个基本步骤
(1)找出未知变量,用符号表示:
设甲乙两种产品的生产量分别为x
1与x
2
吨,利润为z万元。
(2)确定约束条件:
在这道题目当中约束条件都分别为:钢材,电力,工作日以及生产量不能为负的限制
钢材:9x
1+5 x
2
≤360,
电力:4x
1+5 x
2
≤200,
工作日:3x
1+10 x
2
≤300,
x 1≥0 ,x
2
≥0,
(3)确定目标函数:
Z=7x
1+12 x
2
所以综合上面这三步可知,这个生产组合问题的线性规划的数学模型为:
max Z=7x 1+12 x 2
s.t.⎪⎪⎪⎩⎪⎪⎪⎨⎧≥≥≤+≤+≤+0
0300103200543605921
212121x x x x x x x x
4.使用MATLAB 解决线性规划问题
依旧是以上题为例,将其用MATLAB 来表示出来
1.将目标函数用矩阵的乘法来表示
max Z=(7 12)⎪⎪⎭
⎫ ⎝⎛21x x
2.将约束条件也用矩阵的乘法表示
s.t.⎪⎪⎪⎩⎪⎪⎪⎨⎧⎪⎪⎭
⎫ ⎝⎛≤⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛≤⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛2121003002003601035459x x x x
编写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
5.MATLAB求解线性规划的语句
(1)c=[ ] 表示目标函数的各个决策变量的系数
(2)A=[ ] 表示约束条件中≥或≤的式子中的各个决策变量的系数。
(若系数构成了两行以上的矩阵那么则由“;”来分割不同的两行)(3)b=[ ] 表示≥或≤右边的数字
(4)Aeq=[ ] 表示约束条件中=的式子中各个决策变量的系数。
(5)beq=[ ] 表示=右边的数字
(6)vlb=[ ] 表示决策变量的定义域[ ]中为≥的数字
(7)vub=[ ] 表示决策变量的定义域[ ]中为≤的数字
(8)[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) 调用了linprog 函数,以此来求解出决策变量的值
6.课后习题
1.某鸡场有1000只鸡,用动物饲料和谷物混合喂养。每天每只鸡平均食混合饲料0.5KG ,其中动物饲料所占比例不能少于20%。动物饲料每千克0.30元,谷物饲料每千克0.18元,饲料公司每周仅保证供应谷物饲料6000KG ,问饲料怎样混合,才能使成本最低? 解:设动物饲料与谷物饲料分别为1x 与2x 千克,总成本为Z 。
min Z=0.31x +0.182x
s.t.⎪⎩
⎪⎨⎧≤≤⨯≥≤+60000%20350035002121x x x x
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.0000
5.某工厂生产1A、2A两种型号的产品都必须经过零件装配和检验两道工序,如果每天可用于零件装配的工时只有100h,可用于检验的工时只有120h,各型号产品每件需占用各工序时数和可获得的利润如下表所示: