數學建模常用算法

數學建模中常用的方法:類比法、二分法、差分法、變分法、圖論法、層次分析法、數據擬合法、迴歸分析法、數學規劃(線性規劃,非線性規劃,整數規劃,動態規劃,目標規劃)、機理分析、排隊方法、對策方法、決策方法、模糊評判方法、時間序列方法、灰色理論方法、現代優化算法(禁忌搜索算法,模擬退火算法,遺傳算法,神經網絡)。

這些方法可以解一些模型:優化模型、微分方程模型、統計模型、概率模型、圖論模型、決策模型。

擬合與插值方法(給出一批數據點,確定滿足特定要求的曲線或者曲面,從而反映對象整體的變化趨勢):matlab可以實現一元函數,包括多項式和非線性函數的擬合以及多元函數的擬合,即迴歸分析,從而確定函數;同時也可以用matlab實現分段線性、多項式、樣條以及多維插值。

優化方法中,決策變量、目標函數(儘量簡單、光滑)、約束條件、求解方法是四個關鍵因素。其中包括無約束規則(用fminserch、fminbnd實現)線性規則(用linprog實現)非線性規則、(用fmincon實現)多目標規劃(有目標加權、效用函數)動態規劃、整數規劃。

迴歸分析:對具有相關關係的現象,根據其關係形態,選擇一個合適的數學模型,用來近似地表示變量間的平均變化關係的一種統計方法(一元線性迴歸、多元線性迴歸、非線性迴歸),迴歸分析在一組數據的基礎上研究這樣幾個問題:建立因變量與自變量之間的迴歸模型(經驗公式);對迴歸模型的可信度進行檢驗;判斷每個自變量對因變量的影響是否顯著;判斷迴歸模型是否適合這組數據;利用迴歸模型對進行預報或控制。相對應的有線性迴歸、多元二項式迴歸、非線性迴歸。

逐步迴歸分析:從一個自變量開始,視自變量作用的顯著程度,從大到地依次逐個引入迴歸方程:當引入的自變量由於後面變量的引入而變得不顯著時,要將其剔除掉;引入一個自變量或從迴歸方程中剔除一個自變量,爲逐步迴歸的一步;對於每一步都要進行值檢驗,以確保每次引入新的顯著性變量前回歸方程中只包含對作用顯著的變量;這個過程反覆進行,直至既無不顯著的變量從迴歸方程中剔除,又無顯著變量可引入迴歸方程時爲止。(主要用SAS來實現,也可以用matlab軟件來實現)。

聚類分析:所研究的樣本或者變量之間存在程度不同的相似性,要求設法找出一些能夠度量它們之間相似程度的統計量作爲分類的依據,再利用這些量將樣本或者變量進行分類。

系統聚類分析—將n個樣本或者n個指標看成n類,一類包括一個樣本或者指標,然後將性質最接近的兩類合併成爲一個新類,依此類推。最終可以按照需要來決定分多少類,每類有多少樣本(指標)。

系統聚類方法步驟:

  1. 計算n個樣本兩兩之間的距離

  2. 構成n個類,每類只包含一個樣品

  3. 合併距離最近的兩類爲一個新類

  4. 計算新類與當前各類的距離(新類與當前類的距離等於當前類與組合類中包含的類的距離最小值),若類的個數等於1,轉5,否則轉3

  5. 畫聚類圖

  6. 決定類的個數和類。

判別分析:在已知研究對象分成若干類型,並已取得各種類型的一批已知樣品的觀測數據,在此基礎上根據某些準則建立判別式,然後對未知類型的樣品進行判別分類。

距離判別法—首先根據已知分類的數據,分別計算各類的重心,計算新個體到每類的距離,確定最短的距離(歐氏距離、馬氏距離)

Fisher判別法—利用已知類別個體的指標構造判別式(同類差別較小、不同類差別較大),按照判別式的值判斷新個體的類別

Bayes判別法—計算新給樣品屬於各總體的條件概率,比較概率的大小,然後將新樣品判歸爲來自概率最大的總體

模糊數學:研究和處理模糊性現象的數學(概念與其對立面之間沒有一條明確的分界線)與模糊數學相關的問題:模糊分類問題—已知若干個相互之間不分明的模糊概念,需要判斷某個確定事物用哪一個模糊概念來反映更合理準確;模糊相似選擇—按某種性質對一組事物或對象排序是一類常見的問題,但是用來比較的性質具有邊界不分明的模糊性;模糊聚類分析—根據研究對象本身的屬性構造模糊矩陣,在此基礎上根據一定的隸屬度來確定其分類關係;模糊層次分析法—兩兩比較指標的確定;模糊綜合評判—綜合評判就是對受到多個因素制約的事物或對象作出一個總的評價,如產品質量評定、科技成果鑑定、某種作物種植適應性的評價等,都屬於綜合評判問題。由於從多方面對事物進行評價難免帶有模糊性和主觀性,採用模糊數學的方法進行綜合評判將使結果儘量客觀從而取得更好的實際效果。

時間序列是按時間順序排列的、隨時間變化且相互關聯的數據序列—通過對預測目標自身時間序列的處理,來研究其變化趨勢(長期趨勢變動、季節變動、循環變動、不規則變動)

自迴歸模型:一般自迴歸模型AR(n)—系統在時刻t的響應X(t)僅與其以前時刻的響應X(t-1),…,X(t-n)有關,而與其以前時刻進入系統的擾動無關;移動平均模型MA(m)—系統在時刻t的響應X(t),與其以前任何時刻的響應無關,而與其以前時刻進入系統的擾動a(t-1),…,a(t-m)存在着一定的相關關係;自迴歸移動平均模型ARMA(n,m)—系統在時刻t的響應X(t),不僅與其前n個時刻的自身值有關,而且還與其前m個時刻進入系統的擾動存在一定的依存關係。

時間序列建模的基本步驟

  1. 數據的預處理:數據的剔取及提取趨勢項

  2. n=1,擬合ARMA(2n,2n-1)(即ARMA(2,1))模型

  3. n=n+1,擬合ARMA(2n,2n-1)模型

  4. F準則檢驗模型的適用性。若檢驗顯著,則轉入第2步。若檢驗不顯著,轉入第5步。

  5. 檢查遠端時刻的係數值的值是否很小,其置信區間是否包含零。若不是,則適用的模型就是ARMA(2n,2n-1)。若很小,且其置信區間包含零,則擬合ARMA(2n-1,2n-2)

  6. 利用F準則檢驗模型ARMA(2n,2n-1)ARMA(2n-1,2n-2),若F值不顯著,轉入第7步;若F值顯著,轉入第8步。

  7. 捨棄小的MA參數,擬合m<2n-2的模型ARMA(2n-1,m),並用F準則進行檢驗。重複這一過程,直到得出具有最小參數的適用模型爲止

  8. 捨棄小的MA參數,擬合m<2n-1的模型ARMA(2n,m),並用F準則進行檢驗。重複這一過程,直到得出具有最小參數的適用模型爲止。

圖論方法:

最短路問題:兩個指定頂點之間的最短路徑—給出了一個連接若干個城鎮的鐵路網絡,在這個網絡的兩個指定城鎮間,找一條最短鐵路線(Dijkstra算法)每對頂點之間的最短路徑(Dijkstra算法、Floyd算法)。

最小生成樹問題:連線問題—欲修築連接多個城市的鐵路設計一個線路圖,使總造價最低(prim算法、Kruskal算法)。

圖的匹配問題:人員分派問題:n個工作人員去做件n份工作,每人適合做其中一件或幾件,問能否每人都有一份適合的工作?如果不能,最多幾人可以有適合的工作?(匈牙利算法)。

遍歷性問題:中國郵遞員問題—郵遞員發送郵件時,要從郵局出發,經過他投遞範圍內的每條街道至少一次,然後返回郵局,但郵遞員希望選擇一條行程最短的路線

最大流問題。

運輸問題:

最小費用最大流問題:在運輸問題中,人們總是希望在完成運輸任務的同時,尋求一個使總的運輸費用最小的運輸方案

在數學建模中常用的算法:

1:蒙特卡羅算法;

2:數據擬合、參數估計、插值等數據處理算法(常用matlab實現);

3:線性規劃、整數規劃、多元規劃、二次規劃(用lingolingdo、matlab即可實現);

4:圖論算法(包括最短路、網絡流、二分圖);

5:動態規劃、回溯搜索、分治算法、分支界定;

6:最優化理論的三大經典算法(模擬退火算法、神經網絡算法、遺傳算法);

7:網格算法和窮舉法;

8:連續數據離散化;

9:數值分析算法;

10:圖象處理算法(常用matlab來實現)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章