前言現代信息技術的飛速發展,極大地推動了應用數學的發展,使得數學幾乎滲透到每一個科學領域及人們生活的方方麵麵。用數學眼光看待生活、認識世界,並綜合運用數學知識和數學方法解決實際問題,將成為每個公民應具備的基本素養。而數學建模能力是21世紀科技人才應具備的數學素養之一。
在平時教學中,教師應注重將數學建模的方法和思想滲透到數學課堂上。如何把數學模型與專業課程結合起來,為專業服務,為學生服務,如何通過數學建模教學培養和提高學生應用數學的意識和能力,是一項重要的課題。
本書源自學校進行課程教學改革積累起來的素材,是筆者在數學建模選修課使用講義的基礎上,結合筆者對優化算法的科學研究成果形成的。本書在編著過程中力求通俗易懂,既注重基礎性、可讀性,又注重趣味性和應用性。首先,對於數學基礎不同的學生,書中的實例模型都是學生能學會的。其次,對於財經類學生,則選取一些經濟管理類的數學模型,為專業服務。不同層次、不同專業學生可根據實際需要與自身能力靈活選擇內容。最後,為便於讀者學習掌握建模方法,書中的每個實例都來源於生活實際,解決問題的過程又按照數學建模的基本步驟順序進行編寫。
本書由福建商學院公共基礎部副教授嚴坤妹編著,全書共分9章。根據培養應用型人才的要求,除第8章外,在其餘各章節都設計了“思考與訓練”環節。這個環節要求學生以小組的形式,通過搜集資料、市場調查和討論來完成。其目的是鍛煉學生的團隊協作、市場調研、資料收集的能力,培養學生的數學建模能力。
本書在編寫過程中參閱並引用了國內外很多學者的研究成果,在此謹向有關作者表示衷心的感謝。本書的出版得到了福建商學院、廈門大學出版社的大力支持與幫助,在此表示衷心的感謝。由於筆者水平有限,書中案例的選取及分析方法難免有遺漏和不當之處,懇請同行專家及其他讀者批評指正,提出寶貴意見,以便進一步改進。
編者2017年3月目錄目錄第1章數學建模概述11.1什麼是數學模型11.1.1模型11.1.2數學模型21.2什麼是數學建模31.3數學建模的基本步驟3
1.4數學建模競賽的發展6
1.5數學的簡單應用問題7
思考與訓練10第2章用初等數學解決的問題112.1遞推關係模型112.1.1漢諾塔問題———一個古老的傳說112.1.2平麵內直線交點的個數問題122.2初等代數模型132.2.1水庫泄洪問題132.2.2商人們安全渡河問題142.2.3席位分配問題172.3解析幾何模型192.3.1水泵站選址問題192.3.2蠓蟲分類問題212.3.3出售相同產品的公司的選址問題232.4函數模型252.4.1選擇服務計劃問題252.4.2合理避稅問題———10萬元收入先發與後發一樣嗎?262.4.3旅遊方案的選擇問題292.4.4商品的價格問題302.4.5交通管理中的黃燈問題322.5隨機概率模型342.5.1這樣確定“莊家”是否公平的問題34—1—數學建模實例與優化算法2.5.2有趣的蒙特莫特問題35思考與訓練36第3章與利息有關的經濟問題383.1利息、貼現的知識383.1.1單利與複利383.1.2貨幣的現值、終值與貼現383.1.3等額支付的終值和現值403.1.4均勻貨幣流的總價值403.2具體應用實例413.2.1投資項目是否可行413.2.2多少年可收回投資資金423.2.3多少年可還清貸款433.2.4養老金的積累問題443.2.5保險收益問題453.2.6購房貸款問題463.2.7每月應還多少錢473.2.8利息最多的存款方式483.2.9諾貝爾獎獎金問題503.2.10養老保險問題513.2.11基金使用問題52思考與訓練54第4章運用微積分方法解決的問題574.1與函數極限、極值等有關的問題574.1.1細菌繁殖問題574.1.2城市垃圾的處理問題584.1.3椅子能在不平的地麵上放穩嗎?594.1.4最優價格問題604.1.5廣告與利潤問題614.1.6豬肉產品供求平衡問題634.1.7庫存費用問題674.1.8反複學習及效率問題694.1.9生豬的最佳出售時機問題714.1.10旅館房間定價問題714.1.11病人按時吃藥問題724.1.12手機生產商的定價問題744.1.13銀行最大貨幣供應量的計算問題754.2與定積分有關的問題77—2—目錄4.2.1除雪機除雪問題774.2.2合理減肥問題814.2.3租客機還是買客機834.2.4下雪時間的估計問題834.3與微分方程有關的問題854.3.1估計固定資產的折舊854.3.2商品價格調整模型864.3.3江河汙染物的降解係數874.3.4商品廣告問題884.3.5人口增長問題914.3.6新產品的推銷問題944.3.7溶液混合後的濃度96思考與訓練98第5章線性規劃問題1015.1線性規劃問題的導出1015.2線性規劃問題的數學描述1035.3幾種特殊的線性規劃模型1045.3.1運輸問題模型1045.3.2指派問題模型1065.4應用實例1075.4.1生產計劃問題1075.4.2飼料配方問題1085.4.3場地租借問題1105.4.4背包問題1125.4.5安排生產計劃問題1135.4.6選址問題1165.4.7零件配套問題1215.4.8選擇加工方式問題1225.4.9汽車廠生產計劃問題1245.4.10機票分配問題1275.4.11藝術品拍賣問題1285.4.12股票投資策略1315.4.13原油采購與加工1325.4.14圓盤切割問題———非線性規劃問題136思考與訓練139第6章網絡優化問題1456.1網絡最優化的基本問題145—3—數學建模實例與優化算法6.2圖的基本概念及其表示方法1466.2.1圖的基本概念1466.2.2圖的表示方法1486.2.3樹1486.3最小生成樹問題1496.3.1最小生成樹問題的數學描述1496.3.2最小生成樹的構造1496.3.3度約束最小生成樹問題1506.3.4度約束最小生成樹的求解算法1516.3.5度約束最小生成樹問題的應用1516.4旅行商問題1546.4.1旅行商問題的描述1546.4.2旅行商問題的求解1566.4.3旅行商問題的應用實例1566.5最短路徑問題1576.5.1網絡最短路徑的描述1576.5.2求解最短路徑問題———狄克斯特拉算法1586.5.3應用實例159思考與訓練164第7章層次分析法應用實例1667.1層次分析法1667.1.1應用層次分析法建模的主要步驟1677.1.2兩兩比較判斷矩陣的構造1677.1.3確定相對權重向量的方法1687.2運用層次分析法的具體過程1697.3旅遊景點選擇問題173思考與訓練177第8章優化算法簡介1788.1算法的發展1788.2粒子群優化算法概述1798.2.1標準的粒子群優化算法1798.2.2粒子群優化算法的基本步驟1808.2.3粒子群優化算法的參數設置1818.3求解DCMST問題的模糊離散粒子群優化算法1838.3.1粒子的編碼機製1838.3.2初始化種群和度的改進1838.3.3粒子位置和速度的更新公式185—4—目錄8.3.4粒子的評價(粒子的適應度函數)1858.4算法流程186第9章其他應用實例1879.1矩陣、線性方程組的應用實例1879.1.1從業人數的預測問題1879.1.2企業投入產出問題1899.1.3交通流量問題1919.1.4常染色體遺傳問題1949.1.5動物數量按年齡段預測問題1969.1.6森林管理問題1989.1.7動物種群管理問題2019.2決策問題與決策分析2049.2.1風險型決策方法2059.2.2風險型決策實例205思考與訓練215參考文獻219—5—第1章數學建模概述要培養高素質的創新人才,大學教育是關鍵,而大學的數學教育在人才的培養中起著重要的奠基作用。數學是無處不在的,各行各業和各學科領域都在運用數學。在實際生活和各科學領域中都有一些需要解決的實際問題,而這些實際問題不是簡單地套用某個數學公式,或隻用單一學科的知識就能解決,這需要工作者具有較高的數學素質,具有敏銳的觀察力、團結協作的能力、創造性思維的能力,善於抓住問題的主要矛盾,能用數學的知識和方法以及相關的知識去解決實際問題。數學建模是培養創新能力的一個重要途徑。通過數學建模的教學和數學建模競賽相關的活動,讓學生親自參與綜合利用數學技術和計算機技術解決實際問題的過程中,能擴大學生的知識麵,培養和提高學生綜合運用所學的知識解決實際問題的能力,即“數學建模的能力”。
1.1什麼是數學模型1.1.1模型模型是指對所研究的係統、過程、事物或概念的一種表達形式,也可指根據實驗、圖樣放大或縮小而製作的樣品,一般用於展覽或實驗或鑄造機器零件等用的模子。如展覽會裏的飛機模型,按照實物的形狀和結構按比例製成的物體等等。
模型的分類眾多,可按用途、表現形式、產品屬性等分類。按照模型的表現形式可以分為物理模型、數學模型、結構模型和仿真模型。1.物理模型物理模型也稱實體模型,又可分為實物模型和類比模型。
(1)實物模型:根據相似性理論製造的按原係統比例縮小(也可以是放大或與原係統尺寸一樣)的實物,例如風洞實驗中的飛機模型、水力係統實驗模型、建築模型、船舶模型等。
(2)類比模型:在不同的物理學領域(力學、電學、熱學、流體力學等)的係統中各自的變量有時服從相同的規律,根據這個共同規律可以製出物理意義完全不同的比擬和類推的模型。例如在一定條件下由節流閥和氣容構成的氣動係統的壓力響應與一個由電阻和電容所構成的電路的輸出電壓特性具有相似的規律,因此可以用比較容易進行實驗的電路來模擬氣動係統。
—1—數學建模實例與優化算法2.結構模型主要反映係統的結構特點和因果關係的模型。結構模型中的一類重要模型是圖模型。此外,生物係統分析中常用的房室模型等也屬於結構模型。結構模型是研究複雜係統的有效手段。3.仿真模型通過數字計算機、模擬計算機或混合計算機上運行的程序表達的模型。采用適當的仿真語言或程序,物理模型、數學模型和結構模型一般能轉變為仿真模型。關於不同控製策略或設計變量對係統的影響,或是係統受到某些擾動後可能產生的影響,最好是在原係統中進行實驗,但這並非永遠可行。原因是多方麵的,例如:實驗費用可能是昂貴的;係統可能是不穩定的,實驗可能會破壞係統的平衡,造成危險;係統的時間常數很大,實驗需要很長時間;待設計的係統尚不存在等。在這樣的情況下,建立係統的仿真模型是有效的。例如,生物的甲烷化過程是一個絕氧發酵過程,由於細菌的分解作用而產生甲烷。根據生物化學的知識可以建立過程的仿真模型,通過計算機尋求過程的最優穩態值並且可以研究各種啟動方法。這些研究幾乎不可能在係統自身上完成,因為從技術上很難保持過程處於穩態,而且生物甲烷化反應的啟動過程很慢,需要幾周的時間。但如果利用(仿真)模型在計算機上仿真,則甲烷化反應的啟動過程隻需要幾分鍾的時間。
數字模型又稱數字沙盤、多媒體沙盤、數字沙盤係統等,它是以三維的手法進行建模,模擬出一個三維的建築、場景、效果,可以在數字場景中任意遊走、飛行、縮放,從整體到局部,再從局部到整體,無所限製。用三維數字技術搭建的三維數字城市、虛擬樣板間,交通橋梁仿真、園林規劃三維可視化、古建三維仿真、機械工業設備仿真演示等借助計算機、顯示係統等起到展示、解說、指揮、講解等作用。多媒體沙盤是利用投影設備結合物理規劃模型,通過精確對位,製作動態平麵動畫,並投射到物理沙盤,從而產生動態變化的新的物理模型表現形式。
1.1.2數學模型數學模型是用數學語言描述的一類模型。這種描述可以是一種符號,如常用符號、函數符號等;可以是一個數學式子或方程,如代數方程、微分方程、差分方程、積分方程或統計學方程等,通過這些方程定量地或定性地描述問題中各變量之間的相互關係或因果關係;也可以是一個算法、圖形或其他的數學工具(如幾何、拓撲、數理邏輯)。
我們在日常的學習中已經接觸過數學模型,如:點、線、麵是沙粒、繩子、鏡麵的數學模型;導數是曲線的切線斜率、物體直線運動瞬時速率的數學模型;定積分是曲邊梯形麵積、做直線運動物體路程的數學模型;F=ma是牛頓第二運動定律的數學模型,表示物體(係統)受到外力作用時,物體的加速度與所受的外力成正比,與物體的質量成反比;S=πr2是圓的麵積的數學模型,表示圓的麵積與圓的半徑之間的內在關係;等等。
實際上,數學模型並不是新的事物,要用數學去解決實際問題,就一定要用數學模型去刻畫它。
對於一個實際的問題,為了能夠用數學知識解決實際問題,常常需要把表征該實際問題的數量關係或圖形結構抽象出來,用數學語言進行描述,建立數學模型,把實際問題轉—2—第1章數學建模概述化為數學問題。需要指出的是,數學模型不僅可以表達實際問題的內在規律,也可以表示問題的定義。例如,客觀世界的許多現象和事物不僅是運動變化的,而且其運動變化的過程往往是連續不斷的,比如飛機在天空飛行、樹的生長、河水的流動、氣溫的變化等都是連續不斷的。這種連續不斷的變化過程如何用數學語言描述?我們知道客觀世界的事物在變化過程中總是相互依存、相互製約的,在研究一種現象時,總會涉及幾個變量,這些變量間存在著某種聯係,如果隻考慮兩個變量,且這兩個變量間的內在關係可以用數學模型y=f(x)來表示,那麼問題就轉化為去研究函數y=f(x)的連續性,式子limy=0是函x→0數y=f(x)在x0點連續的數學模型。
1.2什麼是數學建模數學建模是利用數學方法解決實際問題的一種實踐,即通過抽象、簡化、假設、引進變量等處理過程後,將實際問題用數學語言描述,建立起相應的數學模型並進行求解的實踐過程。數學建模是用數學語言描述實際問題的過程,是應用知識從實際問題中抽象、提煉出數學模型的過程。數學建模將各種知識綜合應用於解決實際問題中,是培養和提高同學們應用所學知識分析問題、解決問題的能力的必備手段之一。
1.3數學建模的基本步驟對於實際問題,我們應該如何建立數學模型?數學建模一般要經過哪些步驟?我們先來解決一個應用題,從中了解數學建模的過程。
中學的時候,我們就已經在用建立數學模型的方法解決實際問題了,隻是我們沒有充分注意到它就是數學模型罷了。譬如說下麵這類“實際”問題。
[問題提出]設某旅遊景區,第一年接待了4萬人,由於該景點環境優美,廣告也做得好,第二年、第三年到此景點旅遊參觀的人數持續增長,到第三年末,景點共接待了19萬人,那麼後兩年的增長率是多少?
這是中學代數中的一道應用題———增長率問題。
[解]設平均增長率為x,則易得4+4(1+x)+4(1+x)(1+x)=19,即4x2+12x-7=0。求解之即可,然後進行檢驗,不符合實際的結果舍去。
我們詳細地把解題步驟寫出來,則建立和求解這個代數應用題的數學模型的基本過程如下:第一步:問題分析根據現實對象的背景和要求對問題進行分析,本例中若每年的增長率不同,則問題的解不唯一;若每年的增長率看作相同,則根據題意,可以列出代數方程。
第二步:合理的簡化假設—3—數學建模實例與優化算法根據問題的分析和目的做出合理的簡化假設。本例中,我們設第二年、第三年的增長率都為常數x。我們說這個假設並不合理,因為實際中的增長率通常不會是常數,但在中學階段,這個假設是合理的。換句話說,假設的合理性與研究者所使用的工具和研究範圍有關。
第三步:建立數學模型根據問題分析與假設,由相應的規律建立實際問題的數學表達式———建立數學模型。本例的數學模型是代數方程,到第三年末的總產量為4+4(1+x)+4(1+x)(1+x)=19,整理得4x2+12x-7=0。