版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章矩阵与行列式7.1矩阵的概念7.2矩阵的运算7.3方阵的行列式7.4逆矩阵7.5矩阵的初等变换*7.6线性代数在经济领域中的应用7.7用MATLAB计算矩阵和解线性方程组 7.1矩阵的概念
现实生活中的许多数量关系可用数的表格表示.
引例7-1
某班部分学生某学期的成绩表如表7-1所示.表7-1某班部分学生某学期成绩表如果取出表7-1中的成绩数据并保持原来的相对位置,则可得到一个数表
80
85
70
90
78
88
80
91
75
75
81
90
数学上将这样的矩形数表称为矩阵.因此,矩阵可以看做是数字表格的抽象形式.
定义7.1
由m×n个数aij(i=1,2,…,m;j=1,2,…,n)排成的m行n列的数表称为m行n列矩阵,简称m×n矩阵.本书中用大写黑体字母A、B、C、…表示矩阵,记作在矩阵A中,横排称为行,纵排称为列.m×n个数称为矩阵A的元素,数aij位于矩阵A的第i行第j列.在需要标明矩阵A的行数m和列数n时,可写成Am×n.矩阵A有时也可记作(aij),或者(aij)m×n.所有元素均为零的矩阵称为零矩阵,记作O.
行数与列数都等于n的矩阵A称为n阶矩阵或n阶方阵,记作An.
方阵A中从左上角到右下角的元素组成方阵A的主对角线.
4.单位矩阵
如果对角矩阵中主对角线上的元素均为1,则称为单位矩阵,记作E,即
例7-1
设有某种物资要从m个产地运往n个销地,如果用cij表示从第i个产地(i=1,2,…,m)运往第j个销地(j=1,2,…,n)的物资数量,则相应的物资调运方案就可表示成一个m×n矩阵其中,aij为工厂向第i店发送第j种产品的数量.
当两个矩阵的行数相等、列数也相等时,就称它们是同型矩阵.如果A=(aij)与B=(bij)是同型矩阵,并且它们的对应元素相等,即
aij=bij
(i=1,2,…,m;j=1,2,…,n)
则称矩阵A与矩阵B相等,记作A=B.
7.2矩阵的运算
7.2.1矩阵的加法
用矩阵表示有关的实际问题不仅形式简洁,更重要的是可以对矩阵定义具有实际意义的各种运算.
例7-3设将某物资(单位:t)从四个产地运往两个销地的两次调运方案分别用矩阵A和矩阵B表示为那么,从各产地运往各销地的两次调运的总调运方案是矩阵A与矩阵B的和.即
定义7.2
设有两个m×n矩阵A=(aij)m×n、B=(bij)m×n,那么矩阵A与B的和记作A+B.规定为例7-4
设某厂生产的甲、乙、丙、丁四种产品,上个月的销售收入及生产成本(单位:万元)分别用矩阵A和矩阵B表示为A=(35243018),B=(30192413)那么,该厂上个月生产这四种产品的利润(单位:万元)是矩阵A与矩阵B的差,即A-B=(35243018)-(30192413)=(35-3024-1930-2418-13)=(5565)7.2.2数与矩阵相乘
定义7.3
数λ与矩阵A的乘积记作λA或Aλ,规定为例7-5
设某两个地区与另外四个地区之间的里程(单位:km)可用矩阵表示为如果每吨货物每千米的运价为3元,则上述地区之间每吨货物的运费(单位:元/吨)应是数3与矩阵A的乘积.即容易验证,数乘矩阵满足下列运算规律(设A、B为m×n矩阵,λ、μ为数):
(1)(λμ)A=λ(μA);
(2)(λ+μ)A=λA+μA;
(3)λ(A+B)=λA+λB.
例7-6
设矩阵7.2.3矩阵与矩阵相乘
例7-7
某乡有三个村,今年农作物产量如表7-2所示.
将表7-2写为产量矩阵A,表7-3写为价格矩阵B,表7-4写为费用矩阵C,则表7-4对应的费用矩阵C就是矩阵A与矩阵B的乘积:
进行矩阵乘法时应当注意:
(1)只有当第一个矩阵A的列数等于第二个矩阵B的行数时,两个矩阵才能相乘;
(2)乘积矩阵C的行数等于矩阵A的行数,列数等于矩阵B的列数;
(3)乘积矩阵C的第i行第j列元素cij等于A的第i行与B的第j列的对应元素的乘积之和.
例7-8
设甲、乙两厂均生产型号为Ⅰ、Ⅱ、Ⅲ的三种机床,其年产量(单位:台)可用矩阵A表示为甲乙ⅠⅡⅢ生产这三种机床每台的利润(单位:万元/台)可用矩阵B表示为关于矩阵乘法的运算律,必须注意:
(1)矩阵的乘法不满足交换律.在一般情况下,矩阵的乘法不可以交换,即AB≠BA.这是因为AB有意义时,BA未必有意义.此外,即使AB与BA都有意义,两者也未必相等.因此,矩阵相乘时有左乘与右乘的区别,通常将AB称为A左乘B,或称为B右乘A.
(2)矩阵的乘法不满足消去律.两个非零矩阵的积可能是零矩阵,例如,设7.2.4矩阵的转置
定义7.5
把矩阵A的行和列互换就得到一个新的矩阵,称为这个矩阵A的转置矩阵,记作AT.例如矩阵矩阵的转置也是一种运算,满足下述运算规律(假设运算都是可行的): 7.3方阵的行列式
7.3.1二阶与三阶行列式
1.二阶行列式
对于二阶方阵图7-1图7-2
n阶方阵的行列式称为n阶行列式.方阵的有关术语如行、列、元素、主对角线、转置以及方阵的有关名称如上三角、下三角、对角等对行列式也都通用.
为了给出n阶行列式的定义,先来研究三阶行列式与二阶行列式的关系.三阶行列式可用二阶行列式表示如下:上式给了我们一个启示,高阶行列式可由低阶行列式来表示.
定义7.6
对于n阶方阵A=(aij)n×n(i=1,2,…,n;j=1,2,…,n)构成的n阶行列式7.3.3行列式的性质
在一般情况下,n阶行列式可按照定义化为n个n-1阶行列式计算,但当n比较大时,计算是相当困难的.
为了简化n阶行列式的计算,下面介绍行列式的有关性质.记行列式detAT称为矩阵A的转置行列式.性质7.1
行列式与它的转置行列式相等.
性质7.2、性质7.3、性质7.6介绍了行列式关于行或列的三种运算,即ri
rj、ri×k、ri+krj和ci
cj、ci×k、ci+kcj,这些运算可简化行列式的计算.特别是运算ri+krj(或ci+kcj)可以把行列式中某些元素化为0,从而把行列式化为上三角行列式,算得行列式的值.例7-15计算
例7-16计算
解这个行列式的特点是各列4个数之和都是6.今把第2、3、4行同时加到第1行,提出公因子6,然后各行减去第一行:7.3.4行列式按行(列)展开
按定义n阶行列式可以化为第一行元素与对应的n-1阶行列式之积的代数和来计算,称为行列式按第一行展开.行列式也能按其他行(列)展开.为此,先引进余子式和代数余子式的概念.
在n阶行列式中,把元素aij所在的第i行和第j列划去后,留下来的n-1阶行列式叫做元素aij的余子式,记作Mij;记Aij=(-1)i+jMij称为元素aij的代数余子式.例如四阶行列式
定理7.1
行列式等于它的任一行(列)的各元素与其对应的代数余子式乘积之和,即
detA=ai1Ai1+ai2Ai2+…+ainAin
或 detA=a1jA1j+a2jA2j+…+anjAnj
定理7.1叫做行列式按行(列)展开法则.利用这一法则并结合行列式的性质,可以简化行列式的计算.例7-17
计算下列行列式 7.4逆矩阵
下面从线性方程组的求解问题引进逆矩阵的概念.
设给定线性方程组矩阵方程AX=B在形式上与最简单的代数方程ax=b非常类似,分析代数方程ax=b的求解过程,对于求解矩阵方程会有启发.
当a≠0时,存在着a的倒数(a-1也可以叫做a的逆元素).a-1乘方程ax=b的两端,因为aa-1=a-1a=1,所以得到方程的解x=a-1b.如果对n阶方阵A也定义它的逆方阵A-1,使之满足AA-1=A-1A=E,那么,用A-1乘矩阵方程AX=B的两端就得到方程的解X=A-1B.7.4.1逆矩阵的概念与性质
定义7.7
对于n阶矩阵A,如果有矩阵B,使得
AB=BA=E
则说矩阵A是可逆的,并称矩阵B为A的逆矩阵.A的逆矩阵记作A-1,则B=A-1.如果矩阵A是可逆的,那么A的逆矩阵是唯一的.这是因为:设B、C都是A的逆矩阵,则有B=BE=B(AC)=(BA)C=EC=C所以A的逆矩阵是唯一的.
关于矩阵的逆运算具有下列性质:
性质7.7
可逆矩阵A的逆矩阵A-1也是可逆矩阵,并且
(A-1)-1=A
性质7.8
非零数k与可逆矩阵A的乘积矩阵kA也是可逆矩阵,并且
性质7.9
两个同阶可逆矩阵的乘积矩阵是可逆矩阵,并且
(AB)-1=B-1A-1
性质7.10
可逆矩阵的转置矩阵是可逆矩阵,并且
(AT)-1=(A-1)T
7.4.2方阵可逆的条件
设n阶方阵
由方阵A中元素aij的代数余子式Aij(i=1,2,…,n;j=1,2,…,n)按转置方式排成的n阶方阵,称为方阵A的伴随矩阵,记作
定理7.3
n阶方阵A可逆的充分必要条件是detA≠0,并且当A可逆时,A的逆矩阵可表示为其中,A*是A的伴随矩阵.
上述定理不仅说明了n阶方阵可逆的条件,而且在方阵可逆的情况下,给出了应用伴随矩阵求逆矩阵的方法.例7-19求矩阵X使满足 7.5矩阵的初等变换
矩阵的初等变换是矩阵的一种十分重要的运算,它在解线性方程组、求逆矩阵及矩阵理论的探讨中都可起重要的作用,为引进矩阵的初等变换,先来分析用消元法解线性方程组的例子.
引例7-2
求解线性方程组:(B1)(B2)(B3)(B4)这里,式(1)→式(B1)是为了消去x1作准备.式(B1)→式(B2)是保留式⑤中的x1,消去式⑥、式⑦、式⑧中的x1.式(B2)→式(B3)是保留式⑩中的x2并把它的系数变为1,然后消去式11、式12中的x2,此时恰好把x3也消去了.式(B3)→式(B4)是消去x4,此时恰好把常数也消去了,得到恒等式0=0(如果常数项不能消去,就将得到矛盾方程0=1,则说明方程组无解).至此消元完毕.式(B4)形式的线性方程组称为阶梯型方程组.
式(B4)是4个未知量3个有效方程的方程组.这样,只需用“回代”的方法便能求出解.x1=x3+4x2=x3+3x4=-3其中,x3可任意取值.若令x3=c(c为任意常数),方程组的解可记作x1=c+4x2=c+3x3=c
x4=-3消元法解方程组所进行的变换,可归纳为三种基本变换:
(1)互换两个方程的位置;
(2)用一个非零的数乘一个方程;
(3)用一个数乘一个方程后加到另一个方程上.
基本变换(1)、(2)、(3)称为线性方程组的同解变换.
在上述变换过程中,实际上只对方程组的系数和常数进行运算,未知量并未参与运算.把方程组的上述三种基本变换移植到矩阵上,就得到矩阵的三种初等变换.定义7.8下面三种变换称为矩阵的初等行变换:
(1)对调两行(对调i、j两行,记作ri
rj);
(2)以数k≠0乘某一行中的所有元素(第i行乘k,记作ri×k);
(3)把某一行所有元素的k倍加到另一行对应的元素上(第j行的k倍加到第i行上,记作ri+krj).
若把定义7.8中的“行”换成“列”,即得矩阵的初等列变换的定义(所用记号是把r换成c).矩阵的初等行变换与初等列变换统称初等变换.用矩阵的初等行变换解线性方程组更简便.如对于引例7-2中求解的线性方程组2x1-x2-x3+x4=2①x1-x2-x3+x4=4②4x1-6x2+2x3-2x4③3x1+6x2-9x3+7x4=9④对其增广矩阵进行初等行变换如下:
最后得到的矩阵称为阶梯型矩阵(全为零的行在矩阵的最下面;且不全为零的行的第一个不为零的元素的列标随着行标增加而严格增加).对应的方程组为阶梯型方程组回代即得方程组的解矩阵经过初等行变换化为的阶梯型矩阵中,不全为零的行的行数称为矩阵的秩.该秩与对应的阶梯型方程组中有效的方程的个数相同.
用伴随矩阵的方法求逆矩阵,需要计算众多的代数余子式,这对于阶数较大的矩阵来说是相当困难的.下面介绍应用行初等变换求逆矩阵的方法.
将n阶可逆矩阵A与n阶单位矩阵E并列,构成一个n×2n矩阵(AE).对(AE)施行初等行变换,就相当于对A和E施行相同的初等行变换,当将左边的A化为E时,右边的E就随之化为A-1了.即(AE) (EA-1)初等行变换
例7-20
用行初等变换的方法判断下列方阵是否可逆?如果可逆,求其逆矩阵.至此,左边的方阵中最后一行元素全部为零,所以B不可逆,即B-1不存在. *7.6线性代数在经济领域中的应用
7.6.1投入/产出数学模型
引例7-3表7-5是某地一个经济周期的投入/产出表.
在表7-5中有工业、农业和其他三个部门,其中每个部门既是生产部门又是消耗部门.从表的横行看,每一部门是生产部门,它向各部门提供中间产品作为各部门的生产消耗,并向社会提供最终产品以满足消费、积累和出口的需求;从表的纵列看,每个部门又是消耗部门,它消耗各部门所投入的生产资料和劳动.表7-5价值型投入/产出表投入/产出是研究经济系统各部门之间表现为投入与产出的相互依从关系的一种数量经济关系.它是经济学,计算机科学和数学相结合的产物.投入是指生产中的消耗,包括原材料、辅助材料、燃料、动力的消耗及固定资产折旧和劳动力等的消耗.产出是指生产出来的产品总量及其分配使用的去向和数量(生产消费、生活消费、积累和出口等).投入/产出模型种类很多,按编制划分,有世界模型、全国模型、地区模型、部门模型、企业模型;按计量单位划分,有价值模型和实物模型;按分析时期的不同,又可分为静态模型和动态模型.表7-5就是静态价值型投入/产出表.下面通过静态价值型投入/产出模型介绍投入/产出模型的基本原理和计算方法.
1.投入/产出表
将投入、产出两部分按一定顺序排列成棋盘式的表叫做投入/产出表.价值型投入/产出表中各产品都以货币单位计量,投入/产出表可分为四个部分,又称为四个象限,如图
7-3所示.图7-3表7-6价值型投入/产出表
2.平衡方程
由表7-5可以看出,第Ⅰ部分和第Ⅱ部分的每一行都构成一个等式,从而构成一组等式:97+40+43+166=34634+35+26+122=21731+18+12+70=131一般地,在表7-6中,有方程组:x11+x12+…+x1n+y1=x1x21+x22+…+x2n+y2=x2
…xn1+xn2+…+xnn+yn=xn或简写为同样,在表7-6中的第Ⅰ部分和第Ⅲ部分的列也构成方程组:x11+x21+…+xn1+z1=x1x12+x22+…+xn2+z2=x2
…x1n+x2n+…+xnn+zn=xn或简写为其中表示第j部门在生产过程中消耗各部门的产品总和.我们把上述方程组叫做消耗平衡方程组.
3.直接消耗系数
为了描述各部门之间在生产技术上的数量关系,下面引入直接消耗系数的概念.
在表7-5中,农业部门的总产品价值为217亿元,即x2=217,但农业部门在生产过程中消耗了工业部门40亿元的产品,即x12=40,这就是说,农业部门每生产价值1元的产品,需要直接消耗工业部门元的产品.类似地,农业部门在生产过程中每生产价值1元的产品,还需要直接消耗本部门元的产品和其他部门元的产品.
定义7.9
我们把第j部门生产单位产品直接消耗第i部门的产品量,叫做第j部门对第i部门的直接消耗系数,记作aij,即i=1,2,…,n;j=1,2,…,n
直接消耗系数构成的n阶矩阵叫做直接消耗系数矩阵,记作A,即在一定的技术水平和生产组织的条件下,直接消耗系数是相对稳定的,因此利用关系式(E-A)X=Y可以对下期计划进行预测.如果已知总产品X,则由(E-A)X=Y可求最终产品Y;如果已知最终产品Y,则可证明矩阵(E-A)非奇异,于是由(E-A)X=Y可求得总产品X,即X=(E-A)-1Y
如果记如果已知总产品X,则由(E-D)X=Z可求行新创造的价值
Z;如果已知新创造的价值Z,则可证明矩阵(E-D)非奇异,于是由(E-D)X=Z可求得总产品X,即X=(E-D)-1Z
事实上,有
例7-21
设某单位有三个部门,在某一经济周期内各部门的生产消耗量和社会需求的最终产品如表7-7所示.求:表7-7价值型投入/产出表
(1)总部门的总产品x1、x2、x3;
(2)各部门的最终产品y1、y2、y3;
(3)直接消耗系数矩阵.
解
(1)根据消耗平衡方程,得x1=30+50+30+90=200x2=60+100+100+140=400x3=30+30+60+180=300
4.完全消耗系数
我们知道,国民经济各部门之间除了发生直接联系产生直接消耗外,还存在着间接的联系,产生间接消耗.例如,钢铁工业生产中不仅直接消耗电力,同时还要消耗煤炭、机械、耐火材料等产品,而生产这些产品也同样需要消耗电力.我们把第j部门生产产品时通过其他部门间接消耗第i部门的产品称为第i部门对第j部门的间接消耗.定义7.10
第j部门生产单位产品时对第i部门完全消耗的产品量称为第j部门的完全消耗系数,记作bij,即(i,j=1,2,…,n),其中表示间接消耗的总和.
完全消耗系数从最终产品和总产品量的关系上阐明了经济活动的规律,准确、完整地反映了提供单位产品将对各部门总产品的完全消耗量的需求.在最终产品确定之后,预测各部门的总产品是非常有用的.
如果记B=(bij)则B称为完全消耗系数矩阵.于是等式(i=1,2,…,n)的矩阵形式为
(2)由分配平衡方程组X=AX+Y,得即X=(150,200,150)T.7.6.2线性规划模型
1.线性规划问题的数学模型
引例7-4某加工厂生产Ⅰ、Ⅱ型电子产品,生产这两种电子产品都需A、B两种零件,生产一件Ⅰ型电子产品需在A、B零件上分别花时2h和1h,可获利30元;生产一件Ⅱ型电子产品需在A、B零件上分别花时1h和2h,可获利40元.
零件A每天最多加工工时为100h,零件B每天最多加工工时为90h.加工厂每天应如何安排生产,才能使利润最大?
解设Ⅰ、Ⅱ型电子产品的日产量分别为x、y件.
对于零件A需满足:2x+y≤100;
对于零件B需满足:x+2y≤90.
又考虑到零件数都是件数且非负,则x,y≥0且为整数.
每天的利润值为
S=30x+40y
该线性函数为目标函数,本题就是求它在约束条件下的最大值.经过上面的讨论,得到线性规划的数学模型为maxS=30x+40y
约束条件:2x+y≤100x+2y≤90x,y≥0且为整数上面这个例子具有这样一类数学结构,表示约束条件的数学关系式都是线性不等式(或等式),表示问题的最优化指标的函数(目标函数)都是线性函数.我们把具有这种模型的问题称为线性规划问题.线性规划是运筹学的一个重要分支,线性规划在科技、工程等领域的应用十分广泛.
线性规划问题的数学模型的一般形式是:
求一组变量x1,x2,…,xn的值,使其满足约束条件:并使S=c1x1+c2x2+…+cnxn最大(或最小).我们称x1,x2,…,xn为决策变量;满足约束条件的解称为线性规划问题的可行解;使目标函数实现最优的可行解为最优解;最优解的目标函数值为最优值.
本小节我们先举一些例子来讨论如何建立线性规划的数学模型,然后讲述用图解法求解两个变量的线性规划问题,
最后简单介绍求解一般线性规划问题的单纯形法.
例7-24(产品决策问题)某汽车厂生产甲、乙两种不同型号的汽车,已知生产每辆汽车所用的钢材分别是2t和2t,该工厂每年供应的钢材为2000t.工厂每5h可生产甲型汽车,每2.5h可生产乙型汽车,工厂全年的有效工时为3500h.甲型汽车发动机年供货量为600台.每出售一台甲型汽车可获利5千元,出售一台乙型汽车可获利4千元.问在这些条件下,工厂应如何安排生产才能使工厂获利最大?
解设x1为年生产甲型汽车的数量(辆),x2为生产乙型汽车的数量(辆).全年的利润值:S=5x1+4x2
我们的目标是使利润越大越好,所以这个函数我们称之为目标函数.约束条件是:
(1)原材料的限制:2x1+2x2≤2000;
(2)工时限制:5x1+2.5x2≤3500;
(3)甲型汽车发动机:x1≤600;
(4)非负限制:x1≥0,x2≥0;
所以我们可以用数学模型来表达:2x1+2x2≤20005x1+2.5x2≤3500x1≤600x1≥0,
x2≥0
例7-25(配方问题)某工厂配制某种饮料由甲、乙两种原料合成.甲种原料每千克分别含糖20g、蛋白质50g,购买此种饮料的价格为5元/千克;乙种饮料每千克分别含糖30g、蛋白质20g,购买此种饮料的价格为3元/千克.现要求这批饮料至少含糖100g、蛋白质120g,问如何配料,使得成本最低.
解设这批饮料有甲种饮料x1(kg),乙种饮料x2(kg),因此这批饮料至少含糖为:20x1+30x2≥100;至少含蛋白质为:50x1+20x2≥120;又x1、x2是非负实数,表示为x1≥0,x2≥0,上面得到的线性不等式为约束条件.这批饮料的成本为S=5x1+3x2(元),这个线性函数即为目标函数,依题意就是在约束条件下的最小值,即最优解.经过上面的讨论,得到这个线性规划问题的数学模型:
2.两个变量线性规划问题的图解法
图解法是一种求解线性规划问题的几何方法,该方法比较直观,对理解线性规划问题的性质和解的情况有较大帮助.下面通过例子说明
图解法.
例7-26
用图解法求解下列线性规划问题:maxS=2x1+5x2
x1≤4x2≤3x1+2x2≤8x1≥0,
x2≥0
解
(1)画出可行域.我们把x1、x2看成坐标平面上点的坐标,那么满足约束条件中每一个不等式的点集就是一个半平面.因为约束条件是由五个不等式组成的,所以满足约束条件的点集是五个半平面的相交部分.即图7-4中凸多边形OABCD上任何一点的坐标,都同时满足约束条件中的五个不等式;凸多边形外任何一点的坐标都不能同时满足这五个不等式.所以凸多边形OABCD上的每个点的坐标都是这个线性规划问题的一个可行解.凸多边形上点的全体构成这一线性规划问题的可行解全体,称为可行解集.凸多边形OABCD所确定的区域为可行域.
(2)作等值线.我们再在全体可行解中找一个最优解,就是找使目标函数值最大的可行解.为此,给定一个值,比如S=4,那么2x1+5x2=4是坐标平面上一条直线.在该直线介于凸区域中的线段上任何一点都使目标函数取值为4,我们称这样的直线为等值线.
(3)再令目标函数值分别为8、15、19…作平行直线族,由图7-4可以看出,当该值愈大,直线离开原点愈远.
(4)找最优解.这一问题变成为:在以上平行线中找出一条,使其与凸多边形OABCD相交,而又尽可能地离原点最远.从图7-4中显然可见,经过B点的一条即符合要求,即B点坐标既满足约束条件,又使目标函数取最大值.解x2=9x1+2x2=8得最优解为x1=2,
x2=3.相应的目标函数的最大值为S=2×2+5×3=19图7-4
例7-27
用图解法求解下列线性规划问题:maxS=2x1+2x2
x1≤4x2≤3x1+2x2≤8x1≥0,
x2≥0解画出可行域:画出直线x1-x2=1,x1-2x2=0;并确定四个半平面,x1-x2≥1、x1-2x2≥0、x1≥0、x2≥0的重叠部分,记作OBC(参见图7-5).
画等值线:令S=0,2,4,…在可行域OBC上作目标函数等值线(图7-5中的虚线).可以看出,当等值线在可行域中向上平移时,目标函数值增大,且在可行域内的C点处取最大值.而C点的坐标由解方程组得到x1=2,x2=2,目标函数的最大值S=6.图7-5
例7-28
用图解法求解下列线性规划问题:maxS=3x1+2x2
-x1+x2≥1x1+x2≤-1x1≥0,x2≥0
解在平面直角坐标系中画出四个半平面-x1+x2≥1、x1+x2≤-1、x1≥0、x2≥0.可以看出,这四个半平面无公共部分,所以无可行域(参见图7-6),该线性规划问题无可行解,故无最优解.图7-6
3.单纯形法
对于变量较少的线性规划问题可以用图解法从可行域的有限个定点中找到最优解,但变量较多的时候该方法就受到局限.20世纪40年代末期,美国数学家丹齐克首先运用了单纯形法,随着单纯形法的使用,线性规划问题得到更广泛的应用.
1)基本概念
线性规划问题数学模型的一般形式中包含了多种形式,
给求解带来诸多不便,因此,通常把一般线性规划问题的数学模型化为标准形式.
定义7.11
线性规划问题的标准型为(7-1)(7-2)i=1,2,…,m;bi≥0xi≥0,
j=1,2,…,n
(7-3)
通过上述定义我们知道线性规划问题的标准形式有以下几个特点:
(1)求目标函数的最大值.
(2)所有的约束方程都用等式表示.
(3)所有的变量都是非负的.
(4)约束方程等式右边的常数(称为约束常数)都是非负的.对一般的线性规划问题,可通过下面几种变换化为标准形式:
(1)如果目标函数是求最小值,即求minS=CX,则只需令S′=-S即可化为求minS′=-CX的标准形式.
(2)单纯形法是在标准形式下进行的,而线性规划问题的问题模型化为标准形式后,变量的个数就会增加.如果在约束条件中含有的不等式为ai1x1+ai2x2+…+ainxn≤bi
则在不等式的左边加一个非负变量xn+i,使得不等式变为等式,即ai1x1+ai2x2+…+ainxn+xn+i=bi
如果在约束条件中含有的不等式为ai1x1+ai2x2+…+ainxn≥bi
则在不等式的左边减一个非负变量,使得不等式变为等式,即ai1x1+ai2x2+…+ainxn-x-xn+i=bi
这里,我们把引进的新变量xn+i称为松驰变量(也称为人工变量).
(3)如果约束常数bi<0,则只需在第i个约束方程的两边同乘以-1,便可使得-bi>0.
(4)如果约束某一变量xj无非负限制,则可用两个非负新变量xjm和xjn之差代替,即将
xj=xjm-xjn
代入原问题中.
定义7.12
对于线性规划的标准形式,如果在含有n个变量的m个约束方程的系数矩阵中,存在m阶单位矩阵,或经过行的初等变换后有m阶单位矩阵,我们就把m阶单位矩阵所在列对应的变量称为基变量;其余变量称为非基变量.
例如某约束方程的系数矩阵为x1
x2
x3
x4
-1
1
1
01
2
0
1A=则x3、x4为基变量,x1、x2为非基变量.同时把x3、x4所对应的列形成的矩阵称为基阵,记为定义7.13在线性规划问题中,非基变量取零值时所得到的解称为基本解.如果基本解又满足非负条件,则称为基本可行解,简称基可行解.能使目标函数达到最优的基可行解,则称为最优基可行解.
从上述定义可以看出,基本可行解一定是基本解,也一定是可行解,但反之不然.
2)单纯形解法
(1)建立初始基本可行解.在线性规划问题中,约束条件多为不等式,所以首先要将其化为标准型,如例7-24(产品决策问题)的例子,需要引入三个变量x3、x4、x5就可化为标准型:
这里新增加的三个变量x3、x4、x5称为松弛变量.对应的单纯形矩阵为取标准形式的约束方程组中的变量x3、x4、x5的系数列矩阵组成一个基矩阵B1,则对应的基变量为x3、x4、x5,非基变量为x1、x2.当x1=x2=0,
得到一个基本可行解为X0=(0,0,2000,3500,600)T,对应的目标函数值S0=0,它的物理意义是:两种汽车都不生产,
因而剩余的材料为2000t,剩余的工时为3500h,剩余的座椅是600套,利润为零.(2)最优解检验规则.找到一个可行解之后,我们要判断它是不是最优解.判断的方法是检查目标函数中是否还有正的系数,若有正系数存在,则说明还有更好的解.例如本例的目标函数S=5x1+4x2+0x3+0x4+0x5
说明当x3、x4、x5变化时不会使S变化,而增加x1或x2却可以使S增加,因此用非基变量来代替基变量,只有当目标函数中的系数全部为负值或零时,此时的解才是最优解.
(3)寻找更好的可行解.
为使目标函数逐步优化,可从目标函数S=5x1+4x2分析:因为x1、x2的系数为正数,所以将它们中的某一个换成基变量(换入的称为进基变量,换出的称为出基变量),为使目标函数值增加得多些,对x1、x2的系数作如下选择: max{5,4}=5
即选取系数最大的非基变量进基.有了进基变量,就必须从原基变量中换一个出基.那么将原基变量中的哪一个换成非基变量呢?我们对式①中x1列的三个大于零的系数分别去除同行的常数项b,取比值最小的那一行的基变量为换出基变量.②其中最小的比值是600,所以取对应的x5为换出基变量.有了换入的非基变量x1和换出的基变量x5, 我们得到了一组新的基变量x3、x4、x1,以它们对应的系数为新的基,求出一组新解.将增广矩阵式②施以行初等变换,使第一列中的第一行和第二行元素为零,得到③因此对应约束方程化为④对应的基阵是令非基变量x2=x5=0,得到基本可行解X1=(600,0,800,500,0)T,将式④代入对应的目标函数得S1=5x1+4x2=5(600-x5)+4x2=3000可见目标函数值增加了,同时从非基变量x2的系数为正说明,增加x2还可以使目标函数值增加,因此还需进行第二次迭代.(4)寻找更好的可行解.对于S1中的x2的系数为正,确定x2为换入基变量,让非基变量x2进基,x5保持不变,在其余几个原基变量中选定一个变量出基.用式③中x2列的大于零的系数去除b项,取比值θ最小的那一行基变量x4为换出基变量,对增广矩阵式③施以初等行变换,得⑤⑥对应的基矩阵为令非基变量x4=x5=0,得一组基本可行解X1=(600,200,400,0,0)T.将式⑥代入目标函数得S2=5x1+4x2
=5(600-x5)+4(200-0.4x4+2x5)=3800-1.6x4+3x5
=3800目标函数值在增加,但式中的x5的系数为正,说明增加x5还可以使目标函数值增加,因此还需进行寻找更优解.
(5)寻找最优解.对于S2中x5的系数为正,确定x5为换入基变量,让非基变量x5进基,用x5列的大于零的系数去除同行的常数项,取θ最小的那行的基变量x3为换出基变量.⑦⑧
3)单纯形表
在上例的解法中,基本思路是把线性规划模型化为标准形式,从一个基本可行解开始,用换基迭代方法,转换到另一个基本可行解,使目标函数值逐步增大,当目标函数达到最大值时,也就是目标函数的最优解.这种方法称为单纯形法.
为简化这一过程,将它列成一张表格,我们把这张表称为单纯形表.表7-8在例7-24中对应的单纯形表如表7-8所示,表中第三行第一列的数为目标函数非基化后的系数,称为检验数.从分析知道,当检验数全部非正时,目标函数才取最优值.最大正检验数所在的列称为主元列,对应的变量为进基变量.用主元列中的正分量去除b列所对应的分量,取最小比值的元素称为轴心项(即表中加框的数),轴心项所在的行对应的基变量为出基变量.换基变换的过程称为换基迭代.它主要是在单纯形表中,利用矩阵的初等行变换,将轴心项化为“1”,主元列的其他元素化为“0”.因此上例中的后三步可分别用表7-9、表7-10、表7-11来表示.表7-9表7-10表7-11
解首先将约束条件标准化:例7-29用单纯形法求解maxZ=2x1+4x2
maxZ=2x1+4x2
用单纯形表作换基迭代,过程如表7-12所示.表7-12
在表7-12中,检验数全非正,迭代结束,最优解为X=(2,3,2,0,0)T,最优值Z=16.
实训7.6
1.填空题.
(1)投入产出表分为
部分,由第
部分组成了分配平衡方程组,由第
部分组成了消耗平衡方程组.
(2)直接消耗系数aij的计算公式是
,其中是中间产品,
是总产品.
(3)设A是直接消耗系数矩阵,Y是最终产品,则当A和Y已知时,求总产品X的公式是
.
(1)求各部门最终产品;
(2)若各部门固定资产折旧分别为40、80、50,求各部门新创造价值;
(3)求直接消耗系数矩阵.
3.两部门直接消耗系数矩阵为最终产品,求总产品.
4.两部门的直接消耗系数矩阵求完全消耗系数B.
*5.有两个煤厂A、B每月分别进煤60t、100t.它们担负供应三个居民区的用煤任务.这三个区每月需用煤分别为45t、75t、40t.A厂离这三个区分别为10km、5km、6km,B厂离这三个区分别为4km、8km、15km.问这两个煤厂如何分配供煤,才使运输量最小,写出其数学形式.*6.某班有男同学30人、女同学20人去植树.根据经验,一天男同学平均每人挖抗15个,或栽树30棵,或给25棵树浇水;女同学平均每人挖坑10个,或栽树20棵,或给15棵树浇水.问怎样安排,才能使植树最多?写出其数学形式.
*7.用图解法解下列线性规划问题:
(1)maxS=3x1+2x2
(2)
maxZ=4x1+3x2
*8.用单纯法解线性规划问题:maxS=3x1+x2
*9.用单纯形法解线性规划问题:maxS=x1+2x2+4x3
7.7用MATLAB计算矩阵和解线性方程组
1.用MATLAB计算行列式
在MATLAB中用命令函数det求行列的值,格式如下:
det(A)
其中A为n阶方阵.
范例7-1
求矩阵的行列式的值.
解程序如下:
>>clear
>>A=[1021;-1223;2331;0121];
>>det(A)运行结果:
ans=
14
程序说明:矩阵的输入可以有两种格式,除程序中的输入方式外,还可以如下输入:A=[1,0,2,1;-1,2,2,3;2,3,3,1;0,1,2,1]
范例7-2
计算行列式a
1
0
0-1
b
1
00
-1
c
10
0
-1
d的值.
解程序如下:
>>clear
>>symsabcd
[WB]%生成变量
>>A=[a100;-1b10;0-1c1;00-1d];%生成符号矩阵
>>DA=det(A)运行结果:
DA=
a*b*c*d+a*b+a*d+c*d+1程序说明:函数det也可以用于计算含有变量的行列式.
2.用MATLAB计算矩阵
范例7-3求矩阵1
2
3
2
1
2
3
3
1与矩阵
3
2
4
2
5
3
2
3
1的和与差.
解程序如下:
>>clear
>>A=[123;212;331];
>>B=[324;253;231];
>>C=A+B;
>>D=A-B;
>>C,DB=运行结果:
C=
4
4
7
4
6
5
5
6
2
D=
-2
0
-1
0-4
-1
1
0
0范例7-4
求矩阵与矩阵的乘积.
解程序如下:
>>clear
>>A=[123;212;331];
>>B=[324;253;231];
>>C=A*B,D=B*A运行结果:
C=
13
21
13 12
15
13 17
24
22
D=
19
20
17 21
18
19 11
10
13
范例7-5
求矩阵的逆矩阵.解程序如下:
>>clear
>>A=[1-12;01-1;210];
>>C=inv(A)运行结果:
C=
-1
-2
1 2
4
-1 2
3
-1
范例7-6
利用矩阵的初等行变换求上例矩阵的逆.
解程序如下:
>>clear
>>B=[1-12100;01-1010;210001];
%矩阵A的增广矩阵
>>formatrat%以有理格式输出
>>C=rref(B)%给出矩阵B的行最简形
C=
1
0
0
-1
-2
1
0
1
0
2
4
-1
0
0
1
2
3
-1
>>D=C(:,4:6)%取矩阵C的4到6列,D即为矩阵A的逆矩阵
D=
-1
-2
1
2
4
-1
2
3
-1
在MATLAB中,矩阵相除可以利用运算符“\”(左除)和“/”(右除)进行.
范例7-7
求矩阵和相除.
解程序如下:
>>clear
>>A=[123;421;213];
>>B=[212;121;321];
>>C=A\B
%矩阵左除,相当于inv(A)*B,inv(A)为矩阵A的逆
C=
0.3333
0.6000
-0.2000
-0.6667
-0.4000
0.8000
1.0000
0.4000
0.2000
>>D=A/B
%矩阵右除,相当于A*inv(B)
D=
1.3333
1.3333
-1.0000
0
-0.5000
1.5000
1.6667
0.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《月亮河》课件教学课件
- 2025年重庆公共运输职业学院单招职业技能考试题库带答案解析
- 2025年内蒙古建筑职业技术大学马克思主义基本原理概论期末考试模拟题带答案解析
- 2025年华北科技学院马克思主义基本原理概论期末考试模拟题含答案解析(必刷)
- 2025年厦门东海职业技术学院单招职业适应性考试题库带答案解析
- 2024年隰县招教考试备考题库附答案解析
- 2024年道真仡佬族苗族自治县招教考试备考题库带答案解析
- 2025年山东师范大学马克思主义基本原理概论期末考试模拟题附答案解析(必刷)
- 2025年抚松县幼儿园教师招教考试备考题库附答案解析(必刷)
- 2026年泸州医疗器械职业学院单招综合素质考试模拟测试卷附答案解析
- 2025年湖北能源集团股份有限公司招聘笔试真题
- ARK+Invest+年度旗舰报告《Big+Ideas+2026》重磅发布
- 2026山西临汾市大宁县招聘第四次全国农业普查办公室人员8人备考题库及一套完整答案详解
- MEMRS-ECG心电网络系统使用说明书
- 美国变压器市场深度报告
- 建设工程第三方质量安全巡查标准
- 乳化液处理操作规程
- 饭店转让协议合同
- 营建的文明:中国传统文化与传统建筑(修订版)
- 液化天然气气化站安全检查表
- 2023年白银有色集团招聘笔试题库及答案解析
评论
0/150
提交评论