天天看點

數模系列:入門+進階+國賽+美賽+其他數模系列:入門+進階+國賽+美賽+其他(待更新中)一、數模入門二、進階三、國賽四、美賽五、其他總結

數模系列:入門+進階+國賽+美賽+其他(待更新中)

數模競賽經驗,成績為國二\省一\o獎\H獎,用部落格給自己的數模做一個總結。通篇為個人了解,主要做大資料題目如有不當之處歡迎在評論區或者郵箱探讨。

文章目錄

  • 數模系列:入門+進階+國賽+美賽+其他(待更新中)
  • 一、數模入門
    • 1.數模是什麼
    • 2.入門級知識儲備
  • 二、進階
    • 1.分析
    • 2.通用模組化方法
    • 3.例子
  • 三、國賽
    • 1.資料預備
    • 2.題目分析解讀
    • 3.優秀模型分析
    • 4.比賽準備與安排
  • 四、美賽
    • 1.資料預備
    • 2.題目分析解讀
    • 3.優秀模型分析
    • 4.比賽準備與安排
  • 五、其他
  • 總結

一、數模入門

本章以下内容主要面向零基礎和有一定基礎的數模同學

1.數模是什麼

數學模組化:數模是用對實際問題做适當簡化抽象,用數學方法模拟、求解、分析。

求解一道數模題時,一般的,我們需要提煉題目的關鍵詞和隐含資訊,查閱資料加深對于題目背景和題目問題的認識,量化條件,抽象問題,求解分析,驗證讨論。在這個過程中,模組化人的分析、抽象、推導、創新等多種能力都發揮各自的作用。而對于入門者,抽象量化能力的強化是最迫切的需求。

抽象量化,狹義上指的是:

1.方程、不等式、圖、向量機、決策樹、自動機等有解空間或者多個離散解的數學方式表達問題的求解和條件;

2.用變量、向量、含有資訊的矩陣、狀态、節點、集合、元胞、坐标、進過函數映射的y等方法抽象欲求解和欲表達的量;

3.用數學化或者符合數學思想的方法剝離題目來構模組化型。

抽象量化的一般方法是結合了解讓需要被抽象的對象和已知的數學對象“對号入座”。首先去捕捉對象的特點、條件、限制,盡量概括成具有數學性的話或者符号公式,接着列舉符合的數學對象,根據提煉的東西來篩選和修改已選數學對象。

舉個例子,如何用抽象量化的方法描述“棧”?首先分析棧的特點:1.有存儲元素的能力2.讀出時優先讀出後寫入的元素。

根據第一點,我們想到圖、向量、樹、矩陣、集合是符合的。接着我們提煉資訊:讀出元素優先最新寫入的元素。從這一點我們抓到關鍵變量“寫入時間的先後”,令元素在資料結構中排列是遵循寫入時間的先後的正序,并且在寫操作時我們優先修改最後一位元素,這種特征下我們可以排除集合和矩陣,考慮用圖的節點抽象元素,讓單向圖中的節點按照寫入順序生成子節點來寫入新元素;當然按照寫入順序排序的向量也是同理。

數模系列:入門+進階+國賽+美賽+其他數模系列:入門+進階+國賽+美賽+其他(待更新中)一、數模入門二、進階三、國賽四、美賽五、其他總結

概括的說:

一、變量設定方面:決策(是否xxx)往往可以抽象為布爾型的變量,數量和價格、距離等可以計算對象往往可以抽象為方程或者不等式中的未知量x,而時間、總價格、效率、總距離、統計量(均值方差協方差)往往作為min或者max的修飾對象,需要用其他參數和變量寫成函數格式。

二、模型搭建方面:選址、傳播、設定站點或崗哨、建設xx服務類設施的題目優先考慮網絡圖,需要方案的問題可以在目标規劃求解的基礎上建構自己的評價名額,涉及服務和被服務關系時排隊論往往不可或缺、預測方法固定的有回歸、灰階、馬爾科夫、時間序列。在有資料、需要探究其關系或者做出決策時,回歸和決策樹、貝葉斯機率、聚類是主要手段。在傳統的模型不适用的情況下,可以查詢相關文章尋找特殊的量化公式或者模型,我們隻需要抓住一些關鍵資訊量化新的名額來優化和完善模型,就能起到事半功倍的效果。

數模系列:入門+進階+國賽+美賽+其他數模系列:入門+進階+國賽+美賽+其他(待更新中)一、數模入門二、進階三、國賽四、美賽五、其他總結

2.入門級知識儲備

常用的模型:

規劃類:線性規劃、非線性規劃、動态規劃、多目标優化模型
模拟類:線性回歸、多元線性回歸、BOX-COX變換、殘差分析
預測類:時間序列、灰階、logistics、SEIR、微分差分方程、馬爾科夫鍊
權重确定類:AHP、主成分分析、因子分析法、熵權法、模糊評價法
其他常用類:圖、排隊論、社會力模型、決策樹、博弈論
           

常用的方法:

蒙特卡洛法、Dijkstra、Floyd、窮舉法、元胞自動機
           

常用的學習思路:

先學習模型的公式,再了解模型的使用情境、可應用的問題類型,最後将公式推
導和原理推導手動完成一遍。
           

常見的子問題:

在各類數模題中往往有與如下問題有相似的類型的子問題,如果能對下列問題有一套甚至幾套模組化方法,個人認為已經可以解決70%+的數模問題。

1.已知x1,x2,x3,...,機關盈利為w1,w2,w3,...,多個目的地與起點的距離是d1,d2,d3,...,對應的機關距離的運費為z1,z2,z3,...,試求一個盈利最大運費最小的方案。
2.已知路口的車流流入量lamdba,紅綠燈n秒且忽略黃燈,在車流量穩定的情況下試分析車輛在路口的平均等待時間。
3.結合第a學期b門課程的成績,評估某年級某院某班級的每個學生的學習能力。
4.結合曆年來五一長假期間西安機場的航班情況,試預測今年五一期間機場在何時達到客流量的高峰,客流量大緻為多少。
5.TSP問題。
6.試畫出各種資料已知的氣球在穿越n層風速為vi(i=1,2,3,...,n)的氣流層時的軌迹。
7.試給出方案确定學校應該新增座椅的數量和位置,學校地形、椅子成本已知。
8.商場拟定根據曆年來顧客的購買資料進行分析,調整促銷商品的種類和價格,試給出方案。
9.請根據雪崩的實體原理建立模型模拟雪崩随時間的變化。
10.根據每日治愈人數、感染人數以及其他資料建立傳染病模型。
           

二、進階

注:由于本人是一個模組化水準一般但是想法很多的人,是以以下經驗可能更适合同類型的同學作參考。

許多模組化同學的問題可能并不是對上述問題沒有解決手段,而是模型拿出來千篇一律、沒有亮點,或者對自己好的思路不知道怎麼建構、實作。我認為這是處于一個厚積薄發的瓶頸期,如果能找到克服問題的方法,模組化能力就會更上層樓、登堂入室(自己深有體會)。那麼進階中需要的能力是什麼呢?如何強化呢?

1.分析

結合不同情況,可以分為三類。

一類同學是做題總是拿老一套模型;或者做題的時候腦子就想不到其他模型也适用。對于這類同學,我認為主要問題是儲備的模型并不牢靠,對模型比較生疏,不太會使用也不清楚它适用于哪些問題。建議是加強論文閱讀或者部落格閱讀,可以查閱模型相關的文章,引申到模型适用于哪些情景和問題。同時不要吝惜練習,在訓練中大膽地使用這些要學習的模型,與其他同學交流該模型的優劣、用途。

二類同學是模型拿得出,但是缺乏亮點,看上去食之無味棄之可惜。對于這類同學,他\她可能已經在模型的運用和練習上打下了一定的底子,不過欠缺一些創造力和想象力。而我認為,想象力和創造力抽象後是相似+随機+推導,相似是指創新的想法來源于已知的知識體系但是又不完全等同于已知的知識,在思考的過程中大腦有意識或者無意識地捕捉到了解決該問題或者建構該模型的過程與曾經的xxx有相似之處,可以類比或者在此之上發散;随機是指在整頓思路得到創新點和梁點的時候,優化創新的方向是随機的、未知的,這種随機與做題的經驗和感覺有很大的關系;推導是指把成型的思路量化成公式、根據思路優化改造模型的能力。對于相似和推導能力,我們可以通過對各種模型的理論推導來強化,對于随機能力,積累做題經驗,閱讀有想法的文章,及時總結,都不失為優化的方法。

三類同學的特征是狀态不穩定,有時候自己思路泉湧,模型有自己的東西;有時候覺得自己腦子空空,面對問題隻能擠出來一兩個老模型應付應付;有的時候自己有了一些想法,但是落到模型上不知道從何下手。這種情況比較複雜,也許你是想法很多但是基礎薄弱的小白,也許你是積累頗豐無處發力的模組化人。首先應該認真的審視自己的真實水準,确定自己是積累不足還是想法不足,審視的方法因人而異,不過多贅述。積累不足去補基礎,認真學習;想法不足或者實作想法的能力不強的同學,你不穩定的發揮說明你的理論基礎和儲備基礎是線上的,可能是缺乏系統的訓練總結限制了你的穩定性。這種情況下優秀的榜樣可以起到很好的引領作用,推薦閱讀優秀國一論文和o獎論文,在那些比較有新意的模型或者量化點上多推敲琢磨一下,總結心得即可

(在國賽和美賽篇我會列舉一些個人的推薦,同時展示個人總結和心得)。

2.通用模組化方法

整理思路(總理)➡剝繭抽絲(挖掘)➡師夷長技(吸收)➡優化改造(優化)

首先快速浏覽問題梗概,分析問題需求(把問題具體化),抓取關鍵詞或者關鍵資訊,有時候題目動則在一個很大的範圍内要求你規劃什麼什麼方案,這種情況下結合資訊簡化問題就顯得很重要。

接着整理一個大緻的模組化思路(類似于 我估計要用幾個微分方程表示xx的變化然後用一些分析方法理一下xx和xx的關系再做打算 \ 估計要圍繞這幾個變量和xx的關系做文章,我想提煉幾個名額做一個目标規劃評價一下 這種程度的思路就行)

然後結合生活經驗和做題經驗,對思路中的變量和條件展開合理的分析和量化,從模糊的思路中按照:是什麼—為什麼—怎麼做 的本質原則展開成更具體的邏輯線(此處比較抽象,下文例子可見)

接下來,查閱資料學習思路中的邏輯線如何數學化或者對題目背景的了解。一方面參考其他文獻可以快速地幫助我們了解哪些模型是适用于我們的思路的,另一方面可以收集一些同類型問題背景下的資訊,輔助我們修正思路中不當之處或增加一些關鍵點。切記此處不是拿來主義,我們可以覺得一篇論文的模型是比較完美的,但是一定不是我們可以直接拿來用的,可以參考但是不能讓别人的模型完全主導你的模組化邏輯線。完成這一步後,我們已經有了一個比較成熟的模組化邏輯線和一個基于一些可參考樣例的模型雛形了。

最後,我們的工作将決定這個模型能否成功的展示我們邏輯線中自己的思想。好的模型需要讓自己模組化邏輯中比較有新意或者比較科學嚴謹或者貼近題目背景符合實際的一點在模型裡展現出來,這裡不僅指代上文邏輯線中自己關于模型的創意,也涵蓋模組化者從題目立意、題目需求、生活實際、整篇論文的邏輯出發考慮到的小tips。實際上就是把好東西抽象量化出來,自然地融入到模型架構甚至論文表述的邏輯順序裡去。

找好東西有幾個常見的思路:

  1. 引入新的定義或者變量,考慮生活實際或者政策或者人之常情。
  2. 讓結果更加清晰,多角度解讀或綜合解讀結果。
  3. 合适的檢驗,魯棒性、殘差分析等。
  4. 渾然一體的模組化思路,讓模組化看起來像建設高樓一樣逐漸推進,層層相連的同時更上一層樓。
  5. 注意類比、近似的使用,在電路、實體、信号、網絡通信等學科的知識原理可以運用于模型。

關于抽象量化上文有介紹。而“自然”是說我們量化出來的小模型、限制方程或者不等式組在模型的這個地方運用是有道理的,要麼從生活常識上它符合我們一般人的認知,要麼邏輯推理上有足夠的推導證明它根正苗紅,要麼事後諸葛亮來個驗證分析讨論其合理性。

3.例子

如何規劃電動汽車充電站在全國的建設方案

一、總理:

電動汽車充電站、全國、建設方案

1.問題就是規劃電動汽車充電站建設方案。肯定要查一下電動汽車充電站的相關的資訊和它的使用者相關的資訊,後面應該有參數用得上,具體查啥等思路進一步理清楚。

2.全國這麼大這麼複雜,且不說有沒有辦法一個模型求出全國怎麼規劃,搜尋相關資訊的時間成本就很棘手。是以我們先解決一個小地方(省、市、區)的推廣方案,提出一個輸入參數就能求出方案的模型,再推廣到全國(具體、簡化)。

3.并且車使用者的個人資訊本來就查不到幾個,能用的資訊肯定是那種一個區域統計的總量。是以我們的模型如果想考慮一個個的客戶是不太實際的 ,可以用車輛大量聚集的地方如小區、超市、公司停車場、加油站等地點模拟車所在的位置(簡化)。

4.再想的細緻一點,在一個小地方上的建設東西,圖模型八九不離十了,那麼圖怎麼建立呢?我們把該地的地圖簡化成背景圖,标出車在的點(需求點),标出主幹道作為圖的邊,問題就成為了在圖上找服務點來滿足需求點的問題(抽象),現在就是欠缺量化名額和規劃的條件了

二、挖掘

結合生活,汽車-充電站的關系就好比于客戶-服務方的關系,在哪建多少個充電站就好比服務站點應該在哪建多少個(這隻是一個說法,這個地方是為了找一個你更熟悉的情景關系,有助于你接下來的分析)。我們不妨從客戶-服務方的出發點分别思考他們對于如何建立服務站有這什麼樣的考量。

服務方:想掙錢-------需要-------客戶多、建設成本低、營運維修成本低-------需要-------離的近、服務品質好(吸引顧客來)、每個點潛在客戶多、少建點、每次建的成本低一點、減少維修次數

客戶:省錢/友善-------需要------- /距離近/服務好-------需要-------離的近、排隊時間少-------需要-------每個點的人數不太多

邏輯線形成,提煉因素:距離、成本、需求量、服務品質(排隊時間)、(政策限制)、其他(維修營運成本)

接下來需要考慮這些因素加入到我們的模型中,使用合理的方法對上述因素進行組合,讓它把我們的問題具體到 某變量/方程組/不等式組,例如:我們想找出建設的可能的地點,有什麼方法呢。簡單的如直接取所有路段的中點或者交叉點,複雜的用一些名額限制我們的選址條件,我們的因素組合量化起來。

三、吸收

引用論文:[1]張國亮. 城市内和城市間電動汽車充電站的選址布局研究[D]. 天津:天津大學,2011. DOI:10.7666/d.Y2241610.
數模系列:入門+進階+國賽+美賽+其他數模系列:入門+進階+國賽+美賽+其他(待更新中)一、數模入門二、進階三、國賽四、美賽五、其他總結
數模系列:入門+進階+國賽+美賽+其他數模系列:入門+進階+國賽+美賽+其他(待更新中)一、數模入門二、進階三、國賽四、美賽五、其他總結
數模系列:入門+進階+國賽+美賽+其他數模系列:入門+進階+國賽+美賽+其他(待更新中)一、數模入門二、進階三、國賽四、美賽五、其他總結
數模系列:入門+進階+國賽+美賽+其他數模系列:入門+進階+國賽+美賽+其他(待更新中)一、數模入門二、進階三、國賽四、美賽五、其他總結
數模系列:入門+進階+國賽+美賽+其他數模系列:入門+進階+國賽+美賽+其他(待更新中)一、數模入門二、進階三、國賽四、美賽五、其他總結

可以在上述模型中看到,作者用引力模型量化需求量,建立三個布爾變量表示一個節點是否在組合中以及組合是否滿足路的需求、線路能和否被滿足需求。是以模型建成了一個單目标零一規劃模型,将建設問題分拆成了三個子問題:怎麼建設、建設好不好、建設的限制條件。

一、怎麼建設:候選點是否建立充電站、充電站是否屬于某個充電組合、路的需求是否能被某個組合滿足。

二、建設好不好:被服務的路徑需求量最大時最好。

三、建設的限制條件:建設充電站數目等于一個定值,充電站組合内所有充電站都開放服務、所有路徑都至少有一個充電組合來服務。

我們大緻了解了作者的思路後,發現它設計的布爾型變量來待定圖上的節點是否建充電站這個思路不僅友善我們求解,而且與參數相乘和求和都能友善地表達新的含義,這是一個值得學習保留的點。此外,限制條件也可以适當參考,不等式的表達和量化比較簡潔清晰。順便一提的是,他用引力模型計算需求量是個不錯的點子,我們可以也引用一些合理的模型把成本、需求量、距離的量化進行優化。接下來我們将剛剛思路裡考慮的成本、服務時間抽象量化為模型的條件或者目标函數。

數模系列:入門+進階+國賽+美賽+其他數模系列:入門+進階+國賽+美賽+其他(待更新中)一、數模入門二、進階三、國賽四、美賽五、其他總結

四、優化

顯然上述模型非常粗糙,我們需要結合自己的生活經驗和做題經驗對它進行大換血。首先考慮模型居然有四個目标函數,顯然是不合常理的,為此我們篩選出自己心中重要程度最高的一個或者兩個作為目标,如:服務總能力、成本。接着,如何把距離和需求量方差加入模型中呢?我們考慮到需求量的量化可以建一個小模型,例如收集該地區的電動汽車分布

(待更新中)

三、國賽

1.資料預備

2.題目分析解讀

3.優秀模型分析

4.比賽準備與安排

四、美賽

1.資料預備

2.題目分析解讀

3.優秀模型分析

4.比賽準備與安排

五、其他

總結

提示:這裡對文章進行總結:

繼續閱讀