數模競賽經驗心得|亞洲歷史上首位蟬聯兩屆美賽O獎的數模天王

  • 2015 MCM/ICM國際大學生數學建模競賽特等獎(Outstanding Winner)
  • 2014 MCM/ICM國際大學生數學建模競賽特等獎(Outstanding Winner)
  • 2013 MCM/ICM國際大學生數學建模競賽一等獎
  • 2013年全國大學生數學建模競賽一等獎,并入選湖南省2013優秀論文集
  • 2012年全國大學生數學建模競賽一等獎,并入選湖南省2013優秀論文集
張勝·中南大學
2015-06-29
閱讀數81225

=========================================

本文拒絕轉載,但歡迎分享

=========================================

亞洲歷史上首位蟬聯兩屆美賽O獎的數模天王

=========================================

 

首先得感謝賽氪方面的負責人 趙松 師兄盛情的邀請,但由于我前段時間忙于畢業設計,所以這個數學建模競賽的經驗心得一直沒來得及寫。為了感謝你們的熱情,我覺得應該盡量寫一點干貨。下面是我結合自己的經驗體會和在學校交流上的講稿進行整理的。

 

當2015年數模成績揭曉的時候,作為組長的我感覺很吃驚,但已經沒有去年的那種激動和興奮了,好友覺得我們是得獎得麻木了。但是我想,這第二次獲得 OutStanding 獎其實更多的是感到意外和幸運。

 

至此,我的整個本科數模生涯就此比較完美的劃上了句號。這里我首先想感謝一直陪著我熬過多個夜晚的兩個隊友,丹玲和然爺,丹玲是一個非常聰明,有自己想法的女生,程然是一個非常樂觀開朗的男孩。沒有他們,我們的這個小隊,不可能獲得這么多獎項。然后感謝其他關心我支持我的Johnny,作作和毛線。還有雪婷姐、周浩學長等等。

 

我做一下自我介紹,我是張勝,來自國防科學技術大學,我喜歡音樂、慢跑。在大學四年中,我很有幸獲得如下獎項:

 

* 2012年全國大學生數學建模競賽一等獎,并入選湖南省2012優秀論文集

* 2013年全國大學生數學建模競賽一等獎,并入選湖南省2013優秀論文集

* 2013年 MCM 競賽 M獎

* 2014年 ICM 競賽 Outstanding 獎

* 2015年 ICM 競賽 Outstanding 獎

 

為了介紹下我們的心得,我從以下幾個方面介紹,新人如何入門、如何組隊、前期如何準備、比賽時間如何分配、賽后注意事項。

## 大一大二能參賽嗎——新人如何入門

我大一下學期的時候,學姐突然找到我,問我要不要一起參加數學建模競賽。當時我對這個競賽毫無概念,而且,當時我們高數都還沒有上完,更別說概率論、運籌學了。我和大家一樣,當時有一個疑問,大一的自己可以嗎?

 

但是面對學長學姐這么熱情的邀請,我還是答應了。于是開始的時候,我們做校賽、模擬賽、選拔賽,開始的時候,我什么都不會,有時候在那里也是干著急。所以我在平時也會看一看數學模型和一些算法,于是,終于,我也能夠在這個小組內發揮自己的作用,能夠將學長學姐們的想法轉換為程序進行實現。

 

在這期間,我曾經參加了學校的 ACM 比賽,并有幸進入學校的 ACM 校隊。在校隊期間,我抓緊學習的機會,在 OJ 上刷題,提高自己的編程能力,曾經在 OJ 上刷了400多道題。想想,這段時光為我的編程奠定了堅實的基礎。

 

正是這段時間學長學姐的帶領,讓我走入了數學建模的殿堂,讓我迅速熟悉了做數模得方法,注意事項。但由于各種原因,我們這個組在參加完美賽之后就解散了。

 

我總結新人可以通過以下方法入門:

 

首先,需要夯實自己的學科基礎知識。有一些人可能覺得,競賽是不是都可以參加,而且很好拿獎。不是。如果你的數學基礎不好,高數線代還是不及格,我建議你在提高你的數學能力之前暫時不要參加數學建模比賽。可以說,數學應該是數學建模小組成員之間的交流語言,如果你語言都沒有學好,如何跟其他成員交流。

 

其次,需要了解常見的數學模型。對于數學建模,如果你不知道一些基本的模型,你如何能夠對題目中的問題建立一個合理的數學模型。因此,常見的模型,如智能算法(蟻群,退火、遺傳等)、層次分析法、會建立規劃方程、神經網絡、主成分分析、以及現在比較熱門的數據挖掘等等算法。對于入門的來說,你只需要知道各個算法**大致的原理,如何使用以及如何調用現成的程序**,不需要了解**公式的推導及更深層次的機理**,因為這些東西其一:你可能只需要借用特定的軟件和庫就能夠完成,并且這樣做可以減輕前期的工作量。其二:如果你想改進該算法,可以現學。(現在網絡如此發達)

 

再次,需要學會站在巨人的肩膀上。郵電出版社的書貌似都有這句話。你所做的工作,**99%的別人已經做過了**。因此,要學會使用搜索,不要總是做伸手黨。不是你找不到相關資料,而是你不會使用搜索引擎。

 

最后,作為新人,一定要認真向有經驗的學長學姐老師們請教,讓他們指出你的不足,這樣你才能長足進步。

## 什么樣的隊友最適合自己——如何組隊

經過一年和學長學姐們的努力,我們獲得了一次國一獎,一次M獎。原來的組解散之后,我突然想自己組一個隊,和我同一級的同學組隊,于是我就找到了我同一級丹玲和然爺,他們很爽快的就答應了,于是我們就開始了我們的新一輪的數模之旅。

作為組長所需要考慮的東西和當時作為組員所需要考慮到東西還是有很大的差別的,不僅需要作為整個小組的負責人還要和老師還有隊友進行聯絡。并且需要對人員任務分工,進度把握,問題方向做一個明確的決斷,因此,作為隊長一定不能過度猶豫,有的時候還是要當機立斷,迅速做出決定。

 

真的真的非常感謝我的兩位隊友全力的配合,我們一起相處的相當融洽。

 

那么,我總結的組隊原則如下

     *1人建模,1人寫作,1人編程

     *各有分工,各有所專,但又有交叉。

 

前面一點大家都沒什么異議,我想說的是最好分工能有交叉,比如編程的人能夠一起參與建模,建模的人也可以參與寫作,因為如果寫作完全落在一個人的身上壓力真的太大了。

我主要負責編程部分。但是,我們組通常是我們一起討論建模,對于選題和解題思路模型的異議,我們通過民主投票表決,如果還不行我就拍板。然后在最后一天,通常我們另外兩個人都會幫寫作的童鞋一起進行寫作,加快我們論文成文的進度。

 

那么,有的同學可能會問,我作為一個新手,我的工作是 XXX,我如何上手呢?

下面是我在學校做報道的時候的部分內容,是我對主要負責各個部分的人員的能力情況的評級。大家可以對照著看一看,大牛們看看,見笑了。

 

**寫作者的三重境界****

 

高級境界:熟悉科技文章寫作的基本套路和形式,熟練通過英文直接寫作,邏輯和思路很好,讀起來非常流暢。英文寫作大概是雅思寫作7up 水平。

 

中級境界:能夠仿照優秀論文的形式進行寫作。能夠通過英文直接寫作,有一定的邏輯和思路。邏輯和思路不錯讀起來通順。大概是雅思寫作6up 水平。

 

合格水平:能夠形成中文的思路,并有效轉換成英文。邏輯上可能存在不合理,讀起來通順。但可能還有些想法表達不清。

 

針對國賽,去掉上述關于英語部分的描述。

 

**建模者的三重境界**

 

高級境界:了熟各種建模算法于心,能夠靈活運用,適當創造和改進算法。能夠將自己的想法清楚和形象的表述。

 

中級境界:了解各類算法的基本想法,能夠選擇適當的算法,適當改進使其更貼近問題。能夠清楚表達自己的想法。

 

合格水平:知道各類算法是干什么的,可以通過查詢資料學習該算法。會使用各類畫圖軟件。

 

**編程者的三重境界**

 

高級境界:熟讀《算法導論》,擁有很強的計算思維(將人的想法轉換成計算機的思維),熟練掌握一門編程語言。

 

中級境界:熟悉一門編程語言,能夠調用現成的庫和代碼并做適當的修改。

合格水平:會使用一門編程語言,對各個基本算法的實現也有了解,能夠在網絡的幫助下跑通程序。

 

我在開始組隊的時候不是特別的適應,主要問題體現在不能夠把任務很好的交代清楚,導致我們三個人之間理解有偏差。所以我們參加校賽建模的時候沒有拿到一個好的名次,所以我們認真總結,積極準備,最終拿到了全國一等獎。

 

有一個比較有趣的經歷是我們在全國大學生數模競賽的第二天星期六的晚上,實在是沒有想法了,于是我們在賓館里打開了電視,看起了《中國好聲音》,哈哈。

## 什么都不會怎么辦——前期如何準備

前期的準備非常重要,在我的身邊,我看到很多第一次參賽就拿到了全國一等獎的,第一次參賽就拿到了美賽 M 獎的,所以,如果準備的充分,拿一個比較滿意的獎項還是很容易的。

 

BTW,我目前沒有看見整個組完全第一次參賽就獲得了 O/F 獎的,可能是我目光短淺,歡迎大牛來打臉。

 

那么,作為新人如何做準備呢?除了上述我說的新人的入門準備之外,整個小組應該考慮如下工作。

 

### 1.讀優秀論文

 

要想獲得更高層次的獎,優秀論文必讀。

 

首先,讀優秀論文有助于熟悉做題的基本套路,這個是很多新手可以通過學習這個快速上手的。了解優秀論文的結構如何組織,問題如何敘述,模型如何敘述和解釋,計算和驗證,如何做參數驗證,如何下結論等等。這些基本要素都是每個論文必不可少的,基本上每個要素都是有得分點的。

其次,優秀論文均寫自我們的同齡人之手(至少是作者寫論文時的年齡和我們相同),因此,解題思路和寫作手法很容易理解,我們很容易能夠體會出我們和我們同齡人的差距在哪里,(別人這么寫,為什么我沒有這么寫。別人這么做,為什么我這么做)。

 

再次,優秀論文既然都是得獎論文,那么它們是有原因的,特別是國賽和美賽特等獎論文,他們都是至少不少于8遍篩選,因此,能夠評上這些獎的至少文章不會差,值得學習。他們這么寫得獎了,如果你也能夠學習他們的技巧和能力,也能夠得到不錯得獎。

 

最后,要注意優秀論文對細節的處理,比如假設的說明,圖表的展示,對參數進行的細致的分析,以及摘要。特別是摘要,這個一定要好好學習,特別是如何寫摘要。

 

**注意** 摘要很有可能決定你能不能拿一等獎(M 獎)

 

### 2.抓住每一次實戰的機會

 

學校或者一些省里或者學校聯盟會定期舉行些模擬賽、比賽,有精力有機會一定要積極參加,畢竟是和國賽或者美賽形式差不多,因此,可以算是“貼近實戰”,所以建議沒有參加過得,參加一下試試。參加過的,再做一次提升自己。

 

可以說,做模擬題是最快速地提高整個隊伍素質能力的方法。

 

### 3.總結經驗不足

 

比賽完之后,可能有的老師會幫你總結你的優缺點。如果沒有,你可以拿著你的論文去找老師看看,讓他幫你們看看你們的長短處。通過認識自己的優缺點,對自己的揚長避短有很大作用。

同時,我建議小組成員們能夠定時聚一聚,交流一下自己的數模學習心得,以及對整個模擬賽或者比賽的總結和心得,這樣一方面有助于提高團隊凝聚力,另一方面對于團隊的提高幫助會很大。

 

## 第一次參賽應該注意什么——比賽時間如何分配

 

這個部分我主要是以問答(Q&A)的形式來介紹我們參賽數模的情況

 

問:如何找論文?

我們是首先了解如何使用數據庫,根據關鍵詞,先找到幾篇文章,看文章的參考文獻,找到其引用的文章中有用的文章。不過別人的文章只是參考,最后論文要呈現的是自己的想法。

 

問:如何分配我們參賽的時間?

下面是我們小組的時間的分配,僅供參考

abc.png

這是我們具體的時間劃分,僅供參考

前2天:早9:00-11:30,下午2:30-5:00,晚6:30-12:00

 

最后一天:通宵

僅供參考,值得提醒的是前幾天不要太過勞累,以免影響后面幾天的節奏。

 

問:比賽中有什么需要注意的?

我總結的原則:

合理分配時間,堅持就是勝利,合理解決分歧

 

問:論文需要注意什么?

摘要一定要認真寫,假設要說清楚,模型建立要細致深入,結果呈現要豐富多樣,結論要鞭辟入里。各個部分要細致完善。

 

問:你們有什么有用的小技巧?

我們組在參加比賽之前都會詳細的閱讀比賽說明,雖然我們參加了很多次,但是每一次都認真閱讀了,因此,這可以有效避免出現超時,交錯郵箱等情況。

 

此外,我們會買一些水果,因為后面幾天熬夜比較厲害,買點水果可以補充水分和維生素。

 

再者,很重要的一點是我們會吧我們比賽中需要注意的事項(比如記得寫摘要,記得對假設進行分析等等)寫成一個列表,也就是 TODO—list,然后在比賽中如果做了一項就劃掉一項。

 

最后,就是比賽前一晚上早點睡覺。這個不多說。

## 賽后需要注意什么

比賽之后,的確可以稍作休息,或者慶祝一番,終于解放了。但是高興之余別忘了保存建模比賽中間的一些過程性的文件和資料哦,比如程序代碼,論文 word 版。因為說不定你進了國賽的選拔,可能就要進行數據真實性檢查了。所以,整理之后打個包保存,然后去好好享受大自然的美好吧~~

 

做了三年數模真的感觸很多,熬過的通宵應該不低于20次,此外我真的從來不通宵。特別是在前期會有很多人的冷嘲熱諷和不解,個中滋味只有我們自己能體會。不過當你看到黎明前的第一道曙光的那一刻,當你和隊友一起盯著屏幕點擊發送的那一刻,你會有一種成就感和幸福感。

 

真的,不是每一個人都能得獎,但是,如果你和我經歷了數模之路,你也一定也能收獲很多。

 

還是數模那句口號:一次參賽,終身受益!

 

=================update 2015.7.1==========================

 

下面就大家常問的問題做一些回答

 

問:我是負責編程的,但是我以前沒有接觸過數學建模,請問該如何下手?

答:不知道你有沒有了解 ACM,你可以去找一些OJ(Online Judge),比如說 leecode,zoj,poj,rqnoj 等等,從一些簡單題開始做,這個可以快速提高成績。兩個月,每2天完成一道題,應該可以做30道題,如果1天2道,大概可以做120道,堅持后你會發現提升很大的。可以去 coursera或者網易公開課 上面看一些關于算法的公開課等等。也可以買《算法導論》看一看。最后,你可以找一些優秀論文,看看他們用了什么算法,你可以找找網上現成的代碼,把它調試運行成功,如果你想更進一步,如果能自己編寫就更好了。

 

問:你一般使用什么語言,有什么好的推薦?

答:做數模首要推薦的確是 Matlab,不過我做數模的時候特別亂,C++,matlab,python 還有一些軟件換著用。其實這些語言都可以完成大多數任務,但是我有時候比如 C++做圖像處理我不是太熟,我就去用 matlab 會上手快一點,做文件路徑出你的時候我又會去用 python,不是 C/matlab 做不了,而是我覺得我會選擇我更熟悉的語言。因此,首先選擇你熟悉的語言,不要在語言語法問題上糾結太久。如果你實在想用 matlab 而又不會,那趕快就在比賽之前認真學習吧。

 

問:是不是搞ACM的人再來參加數模,就很容易?

答:恩,應該會有幫助的,不過還是有差別的,因為 ACM 只用編程,但是 MCM/ICM 還需要把貨倒出來,因為最后評閱只看論文,所以寫作因素占很大。可以說 MCM/ICM 更接近科研把。不過不可否認 ACM 的獎含金量很高。

本文由 張勝 授權 賽氪網 發表,并經賽氪網編輯。轉載此文章須經作者同意,并請附上出處(賽氪網)及本頁鏈接。原文鏈接http://www.aliliang.com.cn/a/1595
收藏
分享
別默默的看了,快來和大家聊聊吧,登錄后發表評論~ 登錄 立即注冊
打賞
張勝
打賞金額(金額:¥0)
給Ta留言
賞金已入袋,多謝!(*^__^*)
溫馨提示

非常抱歉!本站不支持舊版本IE瀏覽器~~建議使用IE10/IE11/Chrome/Firefox/Safari等高級瀏覽器瀏覽。

溫馨提示
溫馨提示
幫助與反饋

熱門問題

菠菜菠菜网大全 宾阳县| 龙口市| 邵武市| 偃师市| 阆中市| 安岳县| 田阳县| 余庆县| 文昌市| 民丰县| 武汉市| 涞水县| 郯城县| 奉化市| 新野县| 崇阳县| 井陉县| 边坝县| 拜城县| 陇川县| 广州市| 海门市| 斗六市| 根河市| 山丹县| 灵山县| 千阳县| 中卫市| 柳州市| 兰考县| 兴国县| 望江县| 平阳县| 井陉县| 开江县| 贵州省| 奉节县| 新晃| 宁陕县| 杭锦后旗| 大邑县| 平阳县| 胶州市| 丹棱县| 屏东县| 井研县| 封丘县| 永济市| 田林县| 东兴市| 新津县| 邢台市| 潢川县| 福泉市| 临清市| 综艺| 沙河市| 兴安县| 来安县| 青铜峡市| 衡东县| 宜川县| 鲁山县| 哈巴河县| 胶州市| 湖南省| 浠水县| 虎林市| 马尔康县| 扬州市| 财经| 闽侯县| 嘉定区| 阳曲县| 灌阳县| 永平县| 鲁山县| 永丰县| 忻城县| 南城县| 莫力| 沙河市| 泊头市| 武强县| 鲁山县| 惠来县| 汾阳市| 迭部县| 洛川县| 渭南市| 谷城县| 资阳市| 眉山市| 涪陵区| 双流县| 利川市| 文安县| 渭南市| 城口县| 砀山县| 马边| 稻城县| 台东县| 永平县| 榆林市| 五华县| 莱州市| 天台县| 达拉特旗| 静海县| 启东市| 汶川县| 湘阴县| 孟津县| 东乡县| 平遥县| 高台县| 瓦房店市| 易门县| 景德镇市| 分宜县| 滨州市| 利津县| 洪雅县| 昔阳县| 砀山县| 明光市| 玉屏| 济宁市| 庆元县| 鞍山市| 盐源县| 吉安市| 宣恩县| 泾阳县| 炎陵县| 盐边县|