炼油厂模型(矩阵与线性方程组) 、问题的提出: 考虑一家开办了3个炼油厂的公司,每个炼油厂生产3种石油产品:燃料油 柴油和汽油。设从1桶(1桶为31.5加仑一译注)原油中,第一个炼油厂生产16加 仑(1加仑为37385升一译注)燃料油,8加仑柴油及4加仑汽油;第二个炼油厂生 产8加仑燃料油,20加仑柴油,10加仑汽油;第三个炼油厂生产8加仑燃料油 加仑柴油,20加仑汽油。现在需要9600加仑燃料油,12800加仑柴油及16000 仑汽油,则每个炼油厂所用石油的桶数是多少? 分析:这是一个涉及到多变量的问题,比起中学学习的一元代数稍微复杂一 点。我们可以用线性代数这个工具,使它与一元代数同样容易求解 首先,由于每个炼油厂生产这三种产品的数量各不相同,我们可以用下图来描 第一炼油厂第二炼油厂第三炼油厂 燃料油16 柴油8 4 10 图中的每一列表示一个炼油厂的生产能力,例如第三列表明第三炼油厂可生产 燃料油8加仑,柴油8加仑,汽油20加仑 图中的每一行表示不同炼油厂生产某种产品的数量,例如第二行表明第一个炼 油厂产柴油8加仑,第二炼油厂产柴油20加仑,第三炼油厂产柴油8加仑 其次,设x;表示第i个炼油厂所用石油的桶数,则x应该满足下列线性方程 16x1+8x2+8x3=9600 8x1+20x2+8x3=12800 4x1+10x2+20x3=16000 1688 =1 12800 41020 注意到A是一个3×3矩阵,x是一个3×1矩阵,所以Ax是一个3×1矩阵 从而上述方程组可以用矩阵乘法简写为Ax=β,这种写法不仅节省了篇幅,更重 要的是可以用矩阵的方法来处理方法线性方程组 二、问题的解答
✁✂✄☎ ✆✝✞✟✠✡☛☞✌ ✍ ✎✏✑✒✓✔✕✖ ✗✘✙✚✛✜✢ 3 ✣✤✥✦✧★✩✪✫ ✣✤✥✦✬✭ 3 ✮✯✥✭✰✖✱✲✥✏ ✳ ✥✴✵✥✶✷✸ 1 ✹ ✺1 ✹✻ 31.5 ✼✽✾✿❀ ❁❂ ✥❃✪ ❄✙✣✤✥✦✬✭ 16 ✼ ✽ ✺1 ✼✽✻ 3.785 ❅✾✿❀ ❁✱✲✥✪8 ✼✽✳ ✥❆ 4 ✼✽✵✥❇❄❈✣✤✥✦✬ ✭ 8 ✼✽✱✲✥✪ 20 ✼✽✳ ✥✪ 10 ✼✽✵✥❇❄❉✣✤✥✦✬✭ 8 ✼✽✱✲✥✪ 8 ✼✽✳ ✥✪ 20 ✼✽✵✥✶❊❋●❍ 9600 ✼✽✱✲✥✪ 12800 ✼✽✳ ✥❆ 16000 ✼ ✽✵✥✪■✫ ✣✤✥✦❏❑✯✥✧✹▲▼◆❖ P ◗❘✖❙ ▼ ✙ ✣❚❆❯◆❱❲✧ ❳❨✪❩❬ ❃❭❭ ❪✧✙❫❴▲❵❛❜❝✙ ❞ ✶❡❢❣❤❑✐❥❴ ▲ ❙ ✣❦❧✪♠♥♦✙❫❴▲♣qrst✉✶ ✈✇✪ ①②✫ ✣✤✥✦✬✭❙❉✮✭✰✧▲❲③④⑤♣✪❡❢❣❤❑⑥⑦⑧⑨ ⑩✖ ❄✙✤✥✦ ❄❈✤✥✦ ❄❉ ✱✲ ✤✥✦ ✥ 16 8 8 ✳ ✥ 8 20 8 ✵ ✥ 4 10 20 ⑦❃✧ ✫✙❶❷❸✙✣✤✥✦✧✬✭❹❺✪❻❼❄❉❶❷❽❄❉✤✥✦❣✬✭ ✱✲✥ 8 ✼✽✪✳ ✥ 8 ✼✽✪✵✥ 20 ✼✽✶ ⑦❃✧ ✫✙❾❷❸④♣✤✥✦✬✭❿✮✭✰✧▲❲✪❻❼❄❈❾❷❽❄✙✣✤ ✥✦✭✳ ✥ 8 ✼✽✪❄❈✤✥✦✭✳ ✥ 20 ✼✽✪❄❉✤✥✦✭✳ ✥ 8 ✼✽✶ ➀➁✪ ✷ xi ❷❸❄ i ✣✤✥✦❏❑✯✥✧✹▲✪■ xi ➂➃➄➅⑥ ❶ ✐❥➆➇ ➈✖ 16x1 + 8x2 + 8x3 = 9600 8x1 + 20x2 + 8x3 = 12800 4x1 + 10x2 + 20x3 = 16000 (1) ➉ A = 16 8 8 8 20 8 4 10 20 , x = x1 x2 x3 , β = 9600 12800 16000 ❀➊❯ A ▼ ✙ ✣ 3 × 3 ➋➌✪ x ▼ ✙ ✣ 3 × 1 ➋➌✪❏❤ Ax ▼ ✙ ✣ 3 × 1 ➋➌➍ ✸➎➏⑩ ➆➇➈ ❣❤❑➋➌➐➑➒➓✻ Ax = β , ❙ ✮ ➓➑④➔→➣✢↔↕✪➙➛ ❍ ✧▼❣❤❑➋➌✧➆➑⑧➜➝➆ ➑ ✐❥➆➇➈ ➍ ➞✏✑✒✓➟➠✖ 1
接下来就是求解的问题了,可以用两种方法求解 (1)Gas消去法 已知方程组(1)的系数增广矩阵为 16889600 A 820812800 4102016000 将第一行乘以-加到第二行得 01648000 4102016000 同样,将第一行乘以-加到第三行得 16889600 01648000 081813600 再将第二行乘以-加到第三行得 16889600 01648000 00169600 所以原方程组变为 16x1+8x2+8r3=9600(a 16x2+4x3=8000() 63=90600(c) 由(c)得x3=m0=600把x3的值代入(b)得到16x2+4×600=8000,从而 2=2010200=350,然后把x2,x3的值代入(a,我们有16x1+8×350+8×600=9600 解得x1=125,所以三个炼油厂所用石油的桶数各为(125,350.600 用Guas消去法来解线性方程组是一种简便常用的方法,特别地,当未知数的 个数不太多时,人们乐意采用这种方法 (2)用 Cramer法则 已知这个方程组的系数矩阵行列式为: 4|=|8208=4096 41020 A1|=12800208=51200 所以,x1=141=00=125.同样, 1696008 A2=8128008=143800 41600020 所以,x2=14=14800=350.同样可以计算出x3=141=600所以三个炼油厂所 用石油桶数各为(125.350.600
➡ ⑥ ⑧➢▼ t✉✧❳❨ ✢ ✪❣❤❑➤✮➆➑t✉➍ (1)Gauss ➥➦➧✖ ➨➩ ➆➇➈ (1) ✧➫▲➭➯➋➌✻ Ae = 16 8 8 9600 8 20 8 12800 4 10 20 16000 ➲❄✙❾➐❤ − 1 2 ✼❯❄❈❾➳ 16 8 8 9600 0 16 4 8000 4 10 20 16000 ♣ q ✪ ➲❄✙❾➐❤ − 1 4 ✼❯❄❉❾➳ 16 8 8 9600 0 16 4 8000 0 8 18 13600 ➵➲❄❈❾➐❤ − 1 2 ✼❯❄❉❾➳ 16 8 8 9600 0 16 4 8000 0 0 16 9600 ❏❤❂ ➆➇➈ ❱✻ 16x1 + 8x2 + 8x3 = 9600 (a) 16x2 + 4x3 = 8000 (b) 16x3 = 9600 (c) (2) ① (c) ➳ x3 = 9600 16 = 600, ➸ x3 ✧➺❴➻ (b) ➳ ❯ 16x2 + 4 × 600 = 8000 , ✸➎ x2 = 8000−2400 16 = 350, ➼➽➸ x2, x3 ✧➺❴➻ (a), ❡❢➾ 16x1 + 8 × 350 + 8 × 600 = 9600, ✉➳ x1 = 125, ❏❤❉ ✣✤✥✦❏❑✯✥✧✹▲③✻ (125,350,600). ❑ Guass ➚➪➑⑧✉ ✐❥➆➇➈ ▼ ✙ ✮ ➒➶➹❑✧➆➑ ✪ ➘➴➷✪ ➬➮➩ ▲✧ ✣▲④➱◆✃✪❐❢❒➊❮❑ ❙ ✮➆➑ ➍ (2) ❰ Cramer ➧Ï✖ ➨➩❙ ✣➆➇➈ ✧➫▲➋➌❾❶Ð✻✖ |A| = 16 8 8 8 20 8 4 10 20 =4096, |A1| = 9600 8 8 12800 20 8 16000 10 20 = 512000, ❏❤✪ x1 = |A1| A = 512000 4096 = 125. ♣ q ✪ |A2| = 16 9600 8 8 12800 8 4 16000 20 = 1433600, ❏❤✪ x2 = |A2| A = 1433600 4096 = 350. ♣ q ❣❤ÑÒÓ x3 = |A3| A = 600. ❏❤❉ ✣✤✥✦❏ ❑✯✥✹▲③✻ (125,350,600). 2
般来说,用 Cramer法则来求线性方程组的解时,计算量相当大,但是它的好 处是给出了一个公式且这个公式简单明了,便于记忆.口 问题的延伸 上述的炼油厂模型中,线性方程组的方程个数等于未知数的个数而且我们求出 方程组刚好有唯一的一个解,但是在现实生活中,有一些模型的线性方程组的个 数不一定等于未知数的个数,我们也可以用线性代数来处理这些问题 延伸一(两种产品的炼油厂模型)假设上述的炼油厂模型中汽油的生产无关紧要 (储油罐里有充分的储存量),我们只关心燃料油与柴油的需求.则每个炼油厂所用 的石油桶数各是多少? 分析:原有炼油厂方程组变为 从而系数增广矩阵变为 用Gaus消元法将第一行乘以-加到第二行得 16889600 01648000 再将第一行,第二行均乘以诘得 然后将第二行乘以-加到第一行得 500 所以方程组(3)变为 把x3移到方程组的右端,我们得到用x3表出的通解 (5) 我们发现,当变量的个数多于方程个数时,一个或几个变量将不能用 Guass消 元法确定,可以随时赋予它我们想要的任意值,这就是在第三章我们即将学到的 线性方程组有无穷多解的情况
✙Ô⑧Õ✪❑ Cramer ➑ ■ ⑧t ✐❥➆➇➈ ✧ ✉ ✃✪ÑÒ❲⑤➬Ö✪ × ▼♥✧Ø ➜ ▼ÙÓ✢✙✣★ÐÚ❙✣★Ð➒Û❽✢ ✪ ➶②ÜÝ➍ ✷ Þ✏✑✒✓ßà✖ ➏⑩ ✧✤✥✦áâ❃✪✐❥➆➇➈ ✧➆➇✣▲ã②➮➩ ▲✧✣▲➎Ú ❡❢t Ó ➆➇➈äØ➾å✙ ✧ ✙ ✣ ✉ ✪ × ▼ ❋❊æ✬ç ❃✪➾✙èáâ✧✐❥➆➇➈ ✧✣ ▲④✙éã ②➮➩ ▲✧✣▲✪❡❢ê❣❤❑✐❥❴ ▲ ⑧➜➝❙è❳❨➍ ßà✎(➤✮✭✰✧✤✥✦áâ) ë ✷➏⑩ ✧✤✥✦áâ❃✵✥✧✬✭ìíî❍ (ï✥ðñ➾òó✧ïô❲), ❡❢õíö✱✲✥♦✳ ✥✧●t ➍■ ✫ ✣✤✥✦❏❑ ✧✯✥✹▲③▼◆❖ P ◗❘✖❂ ➾✤✥✦➆➇➈ ❱✻✖ 16x1 + 8x2 + 8x3 = 9600 8x1 + 20x2 + 8x3 = 12800 (3) ✸➎➫▲➭➯➋➌❱✻ 16 8 8 9600 8 20 8 12800 ❑ Gauss ➚ ❫➑➲❄✙❾➐❤ − 1 2 ✼❯❄❈❾➳ 16 8 8 9600 0 16 4 8000 ➵➲❄✙❾✪ ❄❈❾÷➐❤ 1 16 ➳ 1 1 2 1 2 600 0 1 1 4 500 ➼➽➲❄❈❾➐❤ − 1 2 ✼❯❄✙❾➳ 1 0 3 8 350 0 1 1 4 500 ❏❤➆➇➈ (3) ❱✻ x1 + 3 8 x3 = 350 x2 + 1 4 x3 = 500 (4) ➸ x3 ø❯➆➇➈ ✧ùú✪❡❢➳ ❯❑ x3 ❷ Ó✧û✉ x1 = 350 − 3 8 x3 x2 = 500 − 1 4 x3 (5) ❡❢ü❊ ✪ ➬ ❱❲✧✣▲◆② ➆➇✣▲✃✪ ✙ ✣ýþ✣❱❲➲ ④❹❑ Guass ➚ ❫➑ÿé✪❣❤✃✁✂♥❡❢✄ ❍ ✧☎ ➊ ➺✪❙➢▼ ❋❄❉✆ ❡❢✝ ➲ ❭❯✧ ✐❥➆➇➈ ➾ì✞◆ ✉ ✧✟✠➍ 3
延伸二(两个炼油厂的模型)假定炼油厂模型中第二个炼油厂停产,而我们必须 设法由仅有的两个炼油厂满足需求,则这两个炼油厂所用的石油桶数各是多少? 分析:原有炼油厂方程组变为 +8x3=9600 1+8x3=12800 +20x3=16000 此时系数增广矩阵变为 1689600 42016000 用Gus消元法,将第一行乘以加到第二行,将第一行乘以-士加到第三行得 048000 01813600 所以方程组(6)变为 x3=9600 4x3=8000 从而x3=200=2000且x3=180≈756,这不可能.可以看出,仅用两家炼油厂 我们未必能正好满足三种需求,这种问题称为超定的,因为约数个数大于变量个 对于上述无准确解的问题,我们的目标通常是寻求最好的近似解,经过一些尝 试,得到可能的近似解为x1=300,x3=800,即以下产量表 第一炼油厂第三炼油厂产量需求差额 燃料油16×300+8×800=112009600+1600 柴油8×300+8×800=880012800-400 汽油4×300+20×800=1720016000+1200 内容选自《数学的理论与实践》, COMAP,申大伟,方丽萍,叶其孝等译,高 等教育出版社,(198 陈健敏编写)
ßà➞ (➤✣✤✥✦✧áâ) ë é ✤✥✦áâ❃❄❈✣✤✥✦✡✭✪➎ ❡❢☛☞ ✷➑①➔➾✧➤✣✤✥✦➄➅●t ✪■❙ ➤✣✤✥✦❏❑✧✯✥✹▲③▼◆❖ P ◗❘✖❂ ➾✤✥✦➆➇➈ ❱✻ 16x1 + 8x3 = 9600 8x1 + 8x3 = 12800 4x1 + 20x3 = 16000 (6) ✌ ✃➫▲➭➯➋➌ ❱✻ 16 8 9600 8 8 12800 4 20 16000 ❑ Guass ➚ ❫➑✪ ➲❄✙❾➐❤ 1 2 ✼❯❄❈❾✪ ➲❄✙❾➐❤ −1 4 ✼❯❄❉❾➳ 16 8 9600 0 4 8000 0 18 13600 ❏❤➆➇➈ (6) ❱✻ 16x1 + 8x3 = 9600 4x3 = 8000 18x3 = 13600 (7) ✸➎ x3 = 8000 4 = 2000 Ú x3 = 13600 18 ≈ 756, ❙ ④❣❹➍❣❤✍Ó✪➔❑➤✚ ✤✥✦ ❡❢➮ ☛❹✎Ø➄➅❉ ✮ ●t ✪ ❙ ✮❳❨✏✻✑ é ✧✪✒✻✓▲✣▲Ö② ❱❲✣ ▲➍ ✔②➏⑩ ì✕ ÿ✉ ✧❳❨✪❡❢✧ ✖ ✗ û ➹ ▼✘ t✙ Ø✧✚✛✉ ✪ ✜✢✙è✣ ✤ ✪ ➳ ❯❣❹✧✚✛✉ ✻ x1 = 300, x3 = 800, ✝❤⑥✭❲❷ ❄✙✤✥✦ ❄❉✤✥✦ ✭❲ ●t ✥✦ ✱✲✥ 16 × 300 + 8 × 800 = 11200 9600 + 1600 ✳ ✥ 8 × 300 + 8 × 800 = 8800 12800 − 4000 ✵ ✥ 4 × 300 + 20 × 800 = 17200 16000 + 1200 ✧r★ ✩ ✪ ▲❭✧➝✫ ♦ æ✬✭✪ COMAP, ✮ Ö✯ ✪➆✰✱✪✲ ➀✳ ã ✿ ✪ ✴ ã✵✶Ó ✷✸✪ (1988) (✹✺✻ ✼✽) 4