上周三,上完思修課后我和小組成員爭分奪秒地趕制了數模競賽的程序。剛完事兒不久,筆記本就沒電了。中午去實驗室插上電,又把報告趕了出來,下午打印好后交了上去。 Deadline真是第一生產力。
數學建模很早就有所耳聞,感覺是非常有意思的一種比賽。據我前期了解,A題一般是連續的題,B題是離散的題,C題則是和其他學科綜合性比較強的題。我們這次參加的是一個校級的預賽,但A、B題還是不會。A題是探討紅綠燈中黃燈的時長安排問題,聽說需要用微分方程雲雲,嚇尿了。B題看上去像是旅行商問題,按理說是我們計算機專業的長項,但覺得其中內容還沒學習,以我們現在的編程能力和數學能力恐怕難以攻下。於是我們便選了C題,規划合理定價。
C題看上去比較水,題目要求是這樣的:
2015 年北京工業大學“太和顧問杯”數學建模競賽初賽 C題:最優價格確定 一家公司在22個近似相等大小的城市嘗試銷售一種新的軟飲料。銷售價格以及在這些城市中每周的銷量如表1所示。 表1:銷售價格(單位:元)及每周的銷量(單位:件)
城市 銷售價格 銷量/周 城市 銷售價格 銷量/周 1 3.54 3980 12 2.94 6000 2 4.80 2200 13 6.54 1190 3 5.70 1850 14 5.70 1960 4 2.70 6100 15 4.74 2760 5 4.74 2100 16 3.90 4330 6 5.94 1700 17 2.70 6960 7 5.40 2000 18 3.60 4160 8 3.90 4200 19 5.34 1990 9 4.74 2440 20 4.74 2860 10 4.14 3300 21 5.94 1920 11 4.74 2300 22 5.10 2160
- 公司想要找出 “理想的銷售價格曲線”,即在每一種可能的價格下,每周的銷量是多少?
- 在研究了試銷結果后,公司將設置一個全國統一的銷售價,已知每件產品的成本是38元,公司定價是多少時,使公司獲得的利潤達到最大?
- 對你的計算結果作可靠性分析。
這個圖上沒有R2,后來給加上了,聽說能反映擬合的程度。
在線性和彎的擬合曲線中猶豫了一會兒,我判斷直線雖然能較好反映數據趨勢,但曲線能完成預測數據的功能,所以選擇了三次多項式。
然后我們就發揮計算機專業的特長啦,用Java把公式做成了程序,輸入價格(x),輸出預測銷量(y)。
我覺得最有笑點的地方就在於這個程序。我嘗試了很多x的輸入,發現當x越來越大時,銷量越來越少,為0時我覺得就賣不出去了。當銷售價格為負,還越來越小時,銷量就越來越大,而且增加的趨勢也是越來越大。我腦補了一種喜感的畫面:倒貼錢白送,倒貼越多,場面越火爆,而且火爆程度呈指數上升。 應該抓來一個經管院的同(gu)學(niang)來問問。
早前便裝過Mathematica,當時是為了玩細胞自動機。這次終於派上用場了…使用難度真大,折騰到最后也沒成功弄出自定義函數。但總之目的基本是實現了。就看在Wolfram大神的面子上,初賽也得給我們過了吧。
看上去就很專業對吧!不管怎么說,總歸是比手算好。你問我怎么靠極限求最值?呃…
非常感謝數理學院的朋友紀天驕,她為我提供了此次比賽許多信息。她說A題網上有答案,所以交的人很多…哎,感覺從網上抄一份也挺不值當的。雖然這次比賽過了初賽可以拿到2個創新學分,但大學里那么多機會,說啥幾年下來創新學分也夠了。如果為了功利性的目的而失去了感受這么好玩的競賽的機會,那也是太可惜了。
數模我覺得有兩方面吸引我,一是大家都在談的,對實際問題進行數學建模,總結規律,進行假設和預測,最后實踐檢驗。這個過程是我非常享受的。我覺得,這是一種由現象或需求向理論和抽象轉化的過程,是科學研究中非常基本的內容。當年的伽利略,開普勒,牛頓,不都是在進行數學建模嗎?數學模型建立后,就會有非常強大的數學工具,可以創造科技產品,進一步推動生產效率和生產力。比如這題,最終的最優定價,如果靠人的直覺恐怕是很難得出的。當然,以我們這題的簡單程度,我們的成果都難以稱之為“模型”,恐怕也就是個“簡單的數據分析”吧。
我們考慮到的變量、因素都太少。我們得出的最有價格是3.5元,其他小組就有3.6元。我們忽略一些數據中的內容(譬如同一城市同一定價銷量卻不同),更多的是我們意識不到許多應考慮到的變量。比如,如果我們的模型中沒有考慮到任何經濟學的知識,想必真正的市場跟單純由數據導出的曲線存在着很大差異。
數據分析很流行,但人的直覺總是有着生存的空間,我的看法是,數據分析往往會存在錯誤、疏漏,而人的直覺有時候能在宏觀上做出相對更加正確的決策。比如NBA里的數據達人,火箭隊經理莫雷,熱衷於對球員和比賽進行數據分析。他曾對范甘迪說(大意):“如果一節最后還剩下20多秒,兩次倉促的快攻好於一次壓時間的陣地戰。”范甘迪不信呀,他問莫雷:“如果我按你說的做,我能多贏多少比賽?”莫雷一愣,趕忙回去計算,匯報給教練:“每兩個賽季多贏一場。”范甘迪根本就沒理這套。莫雷和庫班都熱衷於大數據在NBA中的應用,我覺得那也是一種數學模型的建立吧,分析巨量的數據,形成人類直觀易懂的預測。但為總是有人相信“直覺”呢?我覺得,所謂直覺,有時候能在潛意識中考慮到一些難以被預測到的變量和因素、或是直覺更善於總結經驗,不研究而是使用因果關系。你看,NBA中像拉里伯德一樣不相信數據分析的老牌總經理總是有一席之地的。
當然,事實和歷史都告訴了我們,精確的數學模型比模糊的因果關系更有用。中國古代儒家佛家的智慧不可謂不少,但它們都過於模糊,甚至故意回避精確。古代數學和科學的萌芽不僅早還廣泛,說明我們東方人也是很聰明,但文化制約了科學技術的進一步成長。
回到數學建模。除了抽象出模型這件事令我開心,我還喜歡寫報告。我覺得,能把思維的成果用文字和圖像展現給大家,是一件非常愉悅身心的事。當我用Mathematica畫出那個“最大利潤隨定價變化的曲線”時,多巴胺的分泌絕對比平時多。由紛繁、冰冷的數字,得出了如此直觀、和善的圖像,像是大腦在用智力活動使局部的熵減少了,多么奇妙。同時,我也喜歡文字表達的過程。我的表達能力較為一般,文字表達能力相比語言又差了一大截。書寫報告,我不僅僅得讓我的大腦明白眼前的東西都是什么,還得讓別人也能輕松、正確地進行理解,多有意思。如果一種思想無法被表達出來,又無法被人們所理解,那這種思想無異於不存在吧。也不一定,我指的是我們普通人,維特根斯坦那樣的…另當別論吧。
也許你能感受得到,哪怕是我的這篇文章,也存在着思維不順,措辭混亂的現象。我正在靠寫博客練習我的書面表達能力,希望能早日寫出流暢的文字。
數學建模很有意思,希望以后還能多參與。不求拿什么獎,自己開心就好。
附上報告:數學建模報告 C題


