数学建模线性规划

上传人:pu****.1 文档编号:507934519 上传时间:2022-09-24 格式:DOC 页数:33 大小:72.50KB
返回 下载 相关 举报
数学建模线性规划_第1页
第1页 / 共33页
数学建模线性规划_第2页
第2页 / 共33页
数学建模线性规划_第3页
第3页 / 共33页
数学建模线性规划_第4页
第4页 / 共33页
数学建模线性规划_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《数学建模线性规划》由会员分享,可在线阅读,更多相关《数学建模线性规划(33页珍藏版)》请在金锄头文库上搜索。

1、第一章 线性规划 1 线性规划 在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济效益的问题。此类问题构成了运筹学的一个重要分支数学规划,而线性规划(Linear Programming 简记 LP)则是数学规划的一个重要分支。自从 1947 年 G. B. Dan t z ig 提出求解线性规划的单纯形方法以来,线性规划在理论上趋向成熟,在实用中日益广泛与深入。特别是在计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性规划的适用领域更为广泛了,已成为现代管理中经常采用的基本方法之一。 1.1 线性规划的实例与定义 例 1 某机床厂生产甲、 乙两种机床, 每

2、台销售后的利润分别为 4000 元与3000 元。生产甲机床需用 B A、 机器加工,加工时间分别为每台 2 小时和 1 小时;生产乙机床需用 C B A 、 、 三种机器加工,加工时间为每台各一小时。若每天可用于加工的机器时数分别为 A机器 10 小时、B机器 8 小时和C机器 7 小时,问该厂应生产甲、乙机床各几台,才能使总利润最大? 上述问题的数学模型: 设该厂生产 1 x 台甲机床和 2 x 乙机床时总利润最大, 则 2 1, x x应满足 (目标函数) 2 1 3 4 max x x z + = (1) s.t.(约束条件) + +0 ,7810 22 122 12 1x xxx x

3、x x (2) 这里变量 2 1 , x x 称之为决策变量, (1)式被称为问题的目标函数, (2)中的几个不等式是问题的约束条件,记为 s.t.(即 subject to)。由于上面的目标函数及约束条件均为线性函数,故被称为线性规划问题。 总之,线性规划问题是在一组线性约束条件的限制下,求一线性目标函数最大或最小的问题。 在解决实际问题时,把问题归结成一个线性规划数学模型是很重要的一步,但往往也是困难的一步,模型建立得是否恰当,直接影响到求解。而选适当的决策变量,是我们建立有效模型的关键之一。 1.2 线性规划的 Matlab 标准形式 线性规划的目标函数可以是求最大值,也可以是求最小值,

4、约束条件的不等号可以是小于号也可以是大于号。为了避免这种形式多样性带来的不便,Matlab 中规定线性规划的标准形式为 x cxT min s.t. = ub x lbbeq x Aeqb Ax 其中c和x为n维列向量, A、 Aeq为适当维数的矩阵,b、beq为适当维数的列向量。 -2- 例如线性规划 b Ax x cxT s.t. max 的 Matlab 标准型为 b Ax x cxT s.t. min 1.3 线性规划问题的解的概念 一般线性规划问题的(数学)标准型为 =njj jx c z1max (3) s.t. = = = =n j xm i b x ajnji j ij, ,

5、2 , 1 0, , 2 , 11LL (4) 可行解 满足约束条件(4)的解 ) , , , ( 2 1 n x x x x L = ,称为线性规划问题的可行解,而使目标函数(3)达到最大值的可行解叫最优解。 可行域 所有可行解构成的集合称为问题的可行域,记为R。 1.4 线性规划的图解法 0 2 4 6 8 10012345678910x2 =72x1+x2=10x1+x2 =8z=12(2 ,6 ) 图1 线性规划的图解示意图 图解法简单直观,有助于了解线性规划问题求解的基本原理。我们先应用图解法来求解例 1。对于每一固定的值z,使目标函数值等于z的点构成的直线称为目标函数等位线,当z变

6、动时,我们得到一族平行直线。对于例 1,显然等位线越趋于右上方,其上的点具有越大的目标函数值。不难看出,本例的最优解为 Tx ) 6 , 2 ( * = ,最优目标值26 * = z 。 从上面的图解过程可以看出并不难证明以下断言: (1)可行域R可能会出现多种情况。R可能是空集也可能是非空集合,当R非空时,它必定是若干个半平面的交集(除非遇到空间维数的退化) 。R既可能是有界区域,也可能是无界区域。 (2) 在R非空时, 线性规划既可以存在有限最优解, 也可以不存在有限最优解 (其目标函数值无界) 。 -3- (3)若线性规划存在有限最优解,则必可找到具有最优目标函数值的可行域R的“顶点”

7、。 上述论断可以推广到一般的线性规划问题, 区别只在于空间的维数。 在一般的n维空间中,满足一线性等式 =nii ib x a1的点集被称为一个超平面,而满足一线性不等式 =nii ib x a1(或 =nii ib x a1)的点集被称为一个半空间(其中 ) , , ( 1 n a a L 为一n维行向量,b为一实数) 。若干个半空间的交集被称为多胞形,有界的多胞形又被称为多面体。易见,线性规划的可行域必为多胞形(为统一起见,空集也被视为多胞形) 。 在一般n维空间中,要直接得出多胞形“顶点”概念还有一些困难。二维空间中的顶点可以看成为边界直线的交点, 但这一几何概念的推广在一般n维空间中的

8、几何意义并不十分直观。为此,我们将采用另一途径来定义它。 定义 1 称n 维空间中的区域 R 为一凸集,若 R x x 2 1, 及 ) 1 , 0 ( ,有R x x + 2 1) 1 ( 。 定义 2 设R为n维空间中的一个凸集,R中的点x被称为R的一个极点,若不存在 R x x 2 1、 及 ) 1 , 0 ( ,使得 2 1) 1 ( x x x + = 。 定义 1 说明凸集中任意两点的连线必在此凸集中;而定义 2 说明,若x是凸集R的一个极点,则x不能位于R中任意两点的连线上。不难证明,多胞形必为凸集。同样也不难证明,二维空间中可行域R的顶点均为R的极点(R也没有其它的极点) 。

9、1.5 求解线性规划的 Matlab 解法 单纯形法是求解线性规划问题的最常用、最有效的算法之一。这里我们就不介绍单纯形法, 有兴趣的读者可以参看其它线性规划书籍。 下面我们介绍线性规划的 Matlab解法。 Matlab 中线性规划的标准型为 x cxT min s.t. = ub x lbbeq x Aeqb Ax 基本函数形式为 linprog(c,A,b),它的返回值是向量x的值。还有其它的一些函数调用形式(在 Matlab 指令窗运行 help linprog 可以看到所有的函数调用形式) ,如: x,fval=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIO

10、NS) 这里 fval 返回目标函数的值, LB 和UB 分别是变量x的下界和上界, 0 x 是x的初始值,OPTIONS 是控制参数。 例 2 求解下列线性规划问题 3 2 1 5 3 2 max x x x z + = s.t. 7 3 2 1 = + + x x x 10 5 2 3 2 1 + x x x 12 3 3 2 1 + + x x x 0 , , 3 2 1 x x x -4- 解 (i)编写 M 文件 c=2;3;-5; a=-2,5,-1;1,3,1; b=-10;12; aeq=1,1,1; beq=7; x=linprog(-c,a,b,aeq,beq,zeros(

11、3,1) value=c*x (ii)将M文件存盘,并命名为example1.m。 (iii)在Matlab指令窗运行example1即可得所求结果。 例3 求解线性规划问题 3 2 1 3 2 min x x x z + + = + + +0 , ,6 2 38 2 43 2 12 13 2 1x x xx xx x x 解 编写Matlab程序如下: c=2;3;1; a=1,4,2;3,2,0; b=8;6; x,y=linprog(c,-a,-b,zeros(3,1) 1.6 可以转化为线性规划的问题 很多看起来不是线性规划的问题也可以通过变换变成线性规划的问题来解决。如: 例4 规划问题为 b Axx x x n+ + + t. s.| | | | | | min 2 1 L 其中 Tn x x x 1 L = , A和b为相应维数的矩阵和向量。 要把上面的问题变换成线性规划问题,只要注意到事实:对任意的 ix ,存在0 , i iv u 满足 i i iv u x = , i i iv u x + = | | 事实上,我们只要取 2| |i iix xu+= , 2| |i iix xv= 就可以满足上面的条件。 这样,记 Tn u u u 1 L = , Tn v v v 1 L = ,从而我们可以把上面的问题变成 =+nii iv u1) ( min

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号