* 本文節選指《數學建模教學與評估指南》一書,上海大學出版社。本書旨在為學校加強數學核心素養及數學建模的教與學提供助力。
在學生的數學教育過程中,「模型」一詞被用在很多方面,例如教具模型、演示模型、角色模型以及數學概念模型,這些都是對教與學非常有幫助的工具。然而,它們與數學建模的實踐是不同的。無論是在職場還是在學校,數學建模指的是使用數學來回答龐大、繁雜並基於現實的問題。在本書中,我們跟同事們——無論您是教師、主管還是師範教育工作者——來分享我們在課堂上的經驗,讓大家看到,經過教師的適當協助,學生們是能夠參與到真正的數學建模活動中的,並使用數學來解答他們認為有意義的以及對他們未來發展有增益的問題。
本書的作者堅信,數學建模應當在學生數學教育的每一階段都被教授。不然,為何社會給我們那麼多時間進行數學教學?某種程度上是因為數學本身很重要,但更大程度上是因為數學在處理數學世界以外的問題方面意義重大。當然,當學生從學校走進工作環境時,數學是能夠幫到他們的;並且數學還能夠在日常生活中幫助他們,並使他們成為有見地的公民。學生具有數學建模經驗是至關重要的,因為隨著年級的提高,這經驗使他們廣泛接觸到各種各樣的問題——如何確定某個州的平均降雨量?消防站位於哪裡最好?什麼是公平的投票制度?如何能使得沿著樓梯懸掛的圖片看上去是直的?正如我們在本書隨後章節中所表明的,學生們能夠學習並且領會到建模在他們所有教育階段中的重要性。
在下面幾個部分我們將提供一些示例說明建模是什麼以及不是什麼。我們將給出一個更詳盡的數學建模的定義,但是先以一個簡明扼要的形式來描述它:
數學建模是一個過程,它應用數學對現實世界的現象進行表達、分析、預測或進行其他方式的深入探究。
我們找到的大多數簡短定義都強調這個最重要的方面,即建模和我們周遭世界的關係:
— 用數學的語言量化現實世界的現象並分析其行為。
— 使用數學探索和發展我們對現實世界問題的理解。
— 在問題的迭代求解過程中,數學被用於調查研究,並發展更深層次的理解。
讓我們考慮一下如何將這些轉化成課堂語言。
數學建模能夠用於激勵課程要求,並且在解答重要問題時能夠突出數學的重要性和相關性。它還能幫助學生獲得通用技能,如跨學科的思維習慣。我們將在下面部分給出更精確的數學建模定義,目前我們聚焦於如何通過舉例的方式將數學建模的元素納入現有的課程中,而僅對熟悉的應用題做略微改動。
在這個例子中,學生們正在學習加法技巧。如果拋開應用,可以向學生提出這樣一個加法問題「計算6+3的和」。而一道應用題則會添加一些標籤,會這樣問學生:「如果Jim有6塊椒鹽卷餅,Suzy有3塊,那麼他們加起來一共有多少?」
雖然這道應用題把物品與加法聯繫了起來,但它並不是一個建模問題,理由有二:首先,對學生來說它沒有內在的價值或意義。除了為了完成家庭作業而解答這個問題,學生們為何要關心Jim和Suzy有多少椒鹽卷餅呢?其次,這道應用題自始至終都是封閉的。儘管學生們可以用幾個不同的方式解答這個問題,例如畫圖計數或寫一個算數表達式並求值,但所有必要的數據都是明確給定的,並且僅有一個正確解。
讓我們探討一下如何將這個應用題轉換成一個數學建模問題,卻仍然使學生能夠參與到整數加法運算當中。為了讓學生更好地融入情境,您可以讓學生們想像他們正在為各自的家庭準備野餐,並且他們得決定需要準備多少椒鹽卷餅。學生們將需要考慮很多事情並問他們自己很多問題。家裡有多少人?其中多少人將會參加野餐?每個人可能想吃多少椒鹽卷餅?要考慮有人有飲食限制嗎?野餐中還有多少其他食物?
學生們將需要對問題情境做出假設,他們在上述問題上的努力至關重要,將改變問題的答案。不過,當他們回答了這些問題並作出假設後,他們仍然必須完成整數加法。這樣便有了一個小小的變化,讓學生對情境進行思考,並決定「什麼數要相加」,甚至是「有多少數要相加」,這樣便將一個封閉的問題變成了一個開放式問題。修訂後的問題不但將學生引入到了問題情境當中,而且達到了同樣的數學教學目標。
在本例中,學生將學習如何利用給出的斜率與縱截距寫方程並作圖。一個不涉及實際應用的問題也許是:讓學生用斜率2和縱截距100畫一條線,然後寫出這條線的方程。
朝著建模邁出的第一步,或許是將問題情境化:
Emily在一家零售店工作,零售店每周付給她100美元,每賣出一件貨品外加2美元。寫出一個線性方程,並作圖,表示Emily的周收入與她一周所賣出商品數的關係。
有的學生讀到這個問題可能會問:「我為什麼要作這個圖?」在這種情況下,把數學情境化的嘗試可能實際上讓數學工作顯得無關緊要。
我們可以稍作如下改動,便可以把這個問題轉換成一個更加開放且更有意義的問題:
節日將至,你最好的朋友Karen想掙一些錢去買禮物。她找到的第一份工作的薪水是比最低工資多2美元/小時,另一份工作是付給她的薪水是最低工資的一半,外加每賣出一件貨品2美元佣金。哪一份工作更好呢?為了有助於Karen理解你的分析,要包括一個有用的表述,從而幫助她作出決定。
學生將必須做一些準備工作來回答這個問題。他們可能需要查找最低工資,他們還將得考慮「收支平衡」點——他們的朋友每小時必須賣掉多少貨品才能掙到最低工資。然後他們還需考慮Karen是不是有可能賣出那麼多商品,而這可能取決於商品本身以及Karen的個性。研究情境並進行假設是數學建模的要素。
但是儘管那樣也不足以讓學生回答這個問題。風險趨避型的學生可能會建議Karen選擇第一份工作,因為這份工作是體面且有保證的。相反,喜歡冒險的學生則可能會建議她選擇第二份工作,因為這可能會有機會掙更多的錢。決定收支平衡點僅是這個問題的一個方面而已,學生還得思考在面對不確定性時如何決策。他們的觀點至關重要,並且將影響到這個問題的解答。他們仍然需要用同樣的數學模型去解答這個問題,但不得不根據實際調整自己的答案,這使得數學變得更有現實關聯性且更有趣。就影響因素作出判斷並評估解決方案的質量也是數學建模的組成部分。
早在第一學期的微積分課上,同學們通常要學習如何用差商[f(x + h) – f(x)]/h 來近似導數,用逐漸減少步長h的方式來計算。比如,假定學生已經掌握了差商的概念,課本上可能會給出如下問題:
用求差商的方法,近似求解函數 f(x) = x3ex 在x = 2時的導數,令h = 0.1、h = 0.01、h = 0.001。
我們可以通過增加情境將這類問題轉變成應用題。甚至可以提供一些如下基於真實數據的信息:
氣溫遞減率可以幫助識別不穩定氣流,這對無人機的飛行尤其重要,氣溫遞減率被定義為溫度隨海拔的增加而降低的速率,或表示為 γ=–dT/da,這裡T是溫度,a是高度。已經測得位於阿肯色州小石城上空典型的十月份某天的大氣溫度,由下面的函數近似給出:
T(a)= 24.3 – 5.81a + 0.295a2 – 0.057a3 + 0.0024a5 + 0.006cos(a),
這裡T的單位是攝氏度,a是公裡。
當h = 0.1、h = 0.01和h = 0.001時,用求差商的方法近似求解11公裡高度的氣溫遞減率。
儘管這道應用題提供了一個情境,但是這個問題並沒有給學生任何機會將他們的分析放回到情境中去,從而解決更大一些的問題。這個問題仍然是一個封閉問題。一個數學建模問題應該迫使學生在求解過程中能積極主動做一些決策。下面便是一個方法,可以將上面的應用題修改成數學建模問題,並且仍然讓學生學習使用差商來近似求導的思想:
氣溫遞減率可以幫助識別不穩定氣流,這對無人機的飛行尤其重要,氣溫遞減率被定義為溫度隨海拔高度的增加而降低的速率,表示為 γ=–dT/da,這裡T表示溫度,a表示高度。已經測得位於阿肯色州小石城上空某個典型十月份日子的大氣溫度,由下面的函數近似給出:
T(a)= 24.3 – 5.81a + 0.295a2 – 0.057a3 + 0.0024a5 + 0.006cos(a),
這裡T的單位是攝氏度,a的單位是公裡。
你需要評估無人機在小石城上空執行監控任務的安全性。假定這個無人機在城市上空大約11公裡的高度飛行,而且它只要在9公裡至15公里海拔高度之間飛行都可以完成這個任務。如果氣溫遞減率小於6°C/km,你的無人機就絕對可以安全飛行;如果超過8°C/km,出於安全考慮你的無人機必須馬上降落。利用你所掌握的關於差商的知識來評價這個任務的安全性,並給你的上級提供一整套建議,其中包括你完成分析所作的一切假設。
與應用題不同,這道建模版本的題目並沒有告訴學生h的取值是什麼,他們必須自己選擇一個合理的h值。也許在探索不同取值的過程中,他們會吸收這樣的思想,即近似值會隨著h的減少而更逼近真實值,這有助於他們更好地理解導數的極限定義。
這道建模版問題也讓學生將他們的數學結果放在無人機任務的情境中作出解釋,同時基於這些數學結果得出結論,作出建議。當他們得出的數學結論落在安全與不安全區域之間時,他們就需要作出如何繼續進行的決策,譬如,為這個任務探索其他可能的高度。不管學生做出怎樣的決定,他們都必須去驗證他們的決定,這就要求他們真正成為數學過程的主人,通過這個過程得到最終結論。
正如上面三個不同教育階段的例子所表明的,一個數學問題可以被轉變成一個數學建模問題。重要的是,我們要看到僅添加標籤,例如「椒鹽卷餅」,是不足夠的;也許沒那麼明顯但同樣重要的是,添加情境和意義比如「工作」和「工資,」或是「氣溫遞減率」和「無人機」,依然不足夠。一個建模問題必須同時提供給學生足夠的空間,讓他們來解釋這個問題,並在解決問題的過程中有自己的抉擇。數學問題的這些轉變可如圖1.1所示。
本書的目的是要告訴大家數學建模是一個過程,這個過程是由以下部分組成的:
釐定問題
我們釐清確定現實世界中我們想要知道、做或理解的某種事物,其結果就是得到一個源於現實世界的問題。
做出假設並識別變量
我們在現實世界的問題中選擇一些看上去比較重要的「對象」、識別它們之間的關係、並決定保留還是忽視哪些對象或者它們之間的關係,結果得到一個初始問題的理想化版本。
數學求解
我們將這個理想化版本轉換成數學術語並得出理想化問題的數學公式。這個數學公式就是模型。我們進行數學運算和求解,看我們得到什麼見解和結果。
分析並評估解決方案
我們這樣考慮:它解決問題了嗎?當把它轉變回現實世界時是否合乎實際和情理?其結果是否實際、答案是否合理、後果是否可接受?
迭代
我們做必要的過程迭代,從而完善並擴展我們的模型。
實施模型
面向現實世界和實際應用,我們向他人報告我們的結論,並實施解決方案。
數學建模經常被描述成一個循環,因為我們常常需要返回到最初並重新做假設,以便更加接近可用的結果。不過,我們將用下圖來表示數學建模過程,它反映了實踐當中的事實,即建模者經常要在不同階段來回跳躍。
注意,上圖所示的建模過程包含了周期性要素,同時,並非所有的箭頭都是單向的。因此我們故意不使用「步驟」一詞,同時也不對建模過程的要素進行編號。我們不希望隱含這樣的意思,即存在一個有序的步驟讓我們遵循,以此來保證我們找到建模問題的解決方案。恰恰相反,一些要素可能會同時發生,一些也可能會根據需要而反覆發生。這種微妙我們將從下面的例子中略有所窺,其餘究竟則將在附錄的例子裡著重闡述。
這就是本書通篇討論中我們對數學建模的定義。然而,我們應記住,建模和建模教學還有藝術性的一面(第五章作更深入的討論),這種藝術性是我們在不同年級段探索實施時,極其希望追求的。
也許討論建模過程的組成的最好方式是舉例。雖然在課堂上某些特定時間,我們可能會僅專注於數學建模過程的一些片段,但認識這些局部組成是怎樣融入整個建模過程中是非常重要的。理解完整的建模過程如何工作,會讓我們知道如何為學生提供支持,以便先讓他們參與到一些小規模的數學建模過程。長遠而言,我們是希望學生有能力利用建模思想去解決更龐大、更繁雜和更重要的現實世界問題,而他們的解答又會是對問題的解決起作用的。學生有能力完成建模過程中的單獨部分的工作,這會幫助學生建立信心、相信自己的能力,當他們有機會要參與到完整的數學建模過程中時就不會一籌莫展。
有一個關鍵必須注意,那就是不能把示例問題用作所有的建模問題的模版。現實世界的問題並不都是如出一轍,所以無論是為我們自己還是為學生,我們能做的最好的方式便是注重過程,而不是只注意在這裡展示的特定內容。在隨後與年級相關的章節中,你可以找到更多適用於該年級水平的問題,也會找到一些關於你作為老師在整個過程中所擔任的角色的討論。