




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第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年地震數據采集系統合作協議書
- 人事中介合同正式合同范例
- 買樹林合同樣本
- 2024年蘇教版三年級下冊數學全冊教案及教學反思
- GB/T 13452.2-2008色漆和清漆漆膜厚度的測定
- 2023年中國工商銀行天津分行校園招聘考試錄用公告
- 班組工程量結算書
- 生產件批準申請書
- 環境監測考試知識點總結
- 爵士音樂 完整版課件
- 嘉興華雯化工 - 201604
- 冀教版七年級下冊數學課件 第8章 8.2.1 冪的乘方
- XX公司“十四五”戰略發展規劃及年度評價報告(模板)
- 計算機輔助設計(Protel平臺)繪圖員級試卷1
- 除法口訣表(完整高清打印版)
評論
0/150
提交評論