關(guān)鍵詞:數(shù)學(xué)建模板鬓,國賽悲敷,python,仿真俭令,車間調(diào)度后德,遺傳算法
主關(guān)鍵詞:用于調(diào)度的遺傳算法與生成樹核
目錄
一、前言
??1.參賽目的
??2.參賽準(zhǔn)備
??3.選題
二抄腔、問題概述
??1.問題背景
??2.問題簡述
??3.思路
三瓢湃、建模經(jīng)歷
??1.第一天
??2.第二天
??3.第三天
??4.此刻
四窟赏、解題流程
??1.目標(biāo)
??2.窮舉思想
??3.仿真
??4.遺傳算法
??5.生成樹核
五、代碼編寫
??1.仿真
????(1)引入
????(2)錯(cuò)誤類
????(3)CNC與CNC狀態(tài)類
????(4)RGV類
????(5)用法
??2.生成樹核
??3.遺傳算法
??4.其他情況
六箱季、最終感悟
??1.不完全確定的錯(cuò)誤
????(1)擇題
????(2)休息
????(3)建模步驟
????(4)建模分工
??2.完全確定的錯(cuò)誤
????(1)應(yīng)該審核論文
????(2)應(yīng)該參與論文編撰
??3.結(jié)語
一、前言
1.參賽目的:
??作為熱愛計(jì)算機(jī)學(xué)生棍掐,曾經(jīng)為了機(jī)器學(xué)習(xí)學(xué)了numpy藏雏、pandas、matplotlib作煌,然而就算暫時(shí)掌握了這些工具掘殴,卻是一點(diǎn)機(jī)器學(xué)習(xí)的邊都沒搭上,苦惱時(shí)發(fā)現(xiàn)了學(xué)校組織參加的數(shù)學(xué)建模競賽粟誓,竟然和機(jī)器學(xué)習(xí)如此相關(guān)奏寨,于是報(bào)名參加數(shù)學(xué)建模,縱使每次準(zhǔn)備都是很倉促的鹰服,但這種短時(shí)間內(nèi)發(fā)揮自己積累的能量病瞳、激發(fā)潛能的感覺真的很爽。
2.參賽準(zhǔn)備:
??我是隊(duì)內(nèi)的編程手悲酷,自然是先說我的編程能力套菜;我之前的精力更加投入在Python Web上,Python基礎(chǔ)語法是絕對(duì)沒問題的设易,也因此不想現(xiàn)學(xué)matlab逗柴、r、lingo之類的語言或工具顿肺,之前提到的python數(shù)據(jù)科學(xué)包使用都沒問題戏溺;Sympy庫用于處理符號(hào)運(yùn)算不錯(cuò),可惜我在比賽中并沒有碰到使用它的情況屠尊;像statsmodels旷祸、scipy這種庫可以很快的改成我需要的代碼,如果是tensorflow這種庫暫時(shí)也沒什么辦法讼昆。
??我認(rèn)為我的優(yōu)勢是:程序的組織能力相比于純粹的數(shù)學(xué)建模編程手要好一些肋僧,同時(shí)學(xué)過數(shù)據(jù)庫的原理、操控控淡,大批量數(shù)據(jù)處理是我的最大優(yōu)勢嫌吠。相對(duì)的:對(duì)現(xiàn)有代碼的改造就不如純粹的建模編程手,畢竟數(shù)學(xué)建模比賽不需要考慮到代碼的重用性掺炭,而且大量資料都是matlab的辫诅,我雖然能看懂一些,卻沒法像python一樣應(yīng)用自如涧狮。如果我遇到一些問題炕矮,會(huì)去網(wǎng)上尋找相關(guān)的包來解決問題么夫,找不到的話就搜索原理實(shí)現(xiàn),值得說的是肤视,建模時(shí)間很少档痪,能調(diào)包的就不要去自己實(shí)現(xiàn),除非有特定需要改寫代碼的情況邢滑。還有一點(diǎn)是好壞均有的:作為以程序員為標(biāo)準(zhǔn)看齊的我腐螟,對(duì)程序的組織、技術(shù)的統(tǒng)一有級(jí)高的要求困后,因此我參加此類競賽乐纸,除非有我認(rèn)可水平的編程者,我不允許隊(duì)伍中其他人參與編程摇予。操作excel畫畫圖可以汽绢,但是達(dá)到編程的級(jí)別,matlab侧戴、lingo之類的盡量都不要出現(xiàn)宁昭。這的確會(huì)給我不滿意隊(duì)友罷工的可能,但我只是希望:隊(duì)友信任我的能力酗宋!在上次比賽中久窟,建模手認(rèn)為某些地方能實(shí)現(xiàn),但我作為編程手本缠,在思考每一個(gè)步驟后斥扛,認(rèn)為有某些步驟不可行,并且在反復(fù)追問建模手具體步驟后依舊沒得到解決丹锹,于是我決定不動(dòng)手去實(shí)現(xiàn)稀颁。使隊(duì)伍中出現(xiàn)了短暫的矛盾,建模手自己去用excel鼓咚數(shù)據(jù)了楣黍,最終發(fā)現(xiàn)了數(shù)據(jù)的范圍匾灶,但沒解決建模的問題……數(shù)學(xué)建模的模型選取確實(shí)是建模手的事,模型的大致步驟都應(yīng)該是建模手考慮的租漂,但編程手絕不是只去實(shí)現(xiàn)的工具阶女,落實(shí)到細(xì)節(jié),沒人能比得過編程手哩治,因?yàn)榫幊淌质秦?fù)責(zé)動(dòng)手實(shí)現(xiàn)步驟的人秃踩!如果不解決編程手的問題,模型是絕對(duì)實(shí)現(xiàn)不了的业筏。
??其次是建模水平:這是我第二次參加的數(shù)學(xué)建模競賽憔杨,第一次數(shù)學(xué)建模競賽是東三省數(shù)學(xué)建模競賽,本質(zhì)是深圳杯的四道題再加上自己出的三道題蒜胖。當(dāng)時(shí)因?yàn)檫x題倉促消别,直接選了D題抛蚤,是一個(gè)交通規(guī)劃的題目,并且是千萬數(shù)據(jù)級(jí)別的大數(shù)據(jù)題目寻狂,當(dāng)時(shí)學(xué)校的老師都不建議參加岁经,有個(gè)性格很急的老師更是直說:這是找死,學(xué)校不提供這類題的輔導(dǎo)蛇券。不過我在聽到大數(shù)據(jù)時(shí)卻很興奮缀壤,當(dāng)時(shí)我的會(huì)的模型沒多少,而處理數(shù)據(jù)卻是優(yōu)勢所在怀读。事實(shí)證明當(dāng)時(shí)的選擇沒錯(cuò),最后還是在老師的幫助和隊(duì)友的努力下完成了建模比賽并受益良多骑脱,作為唯一選擇D題的隊(duì)伍還拿了一等獎(jiǎng)菜枷。
??很快就到這學(xué)期的國賽了,相比于其他高校叁丧,我們學(xué)校并沒有假期集訓(xùn)啤誊,因?yàn)閷W(xué)校撥款和政策支持不夠,老師只能提前一個(gè)月組織我們參加培訓(xùn)拥娄,每周給一個(gè)題目蚊锹,讓我們完成,雖然時(shí)間稚瘾、次數(shù)不多牡昆,但已經(jīng)差不多包含了預(yù)測、評(píng)價(jià)摊欠、優(yōu)化問題丢烘,我也因此掌握了幾個(gè)模型。
??此時(shí)我會(huì)并實(shí)現(xiàn)的大致有灰色預(yù)測些椒、馬爾可夫播瞳、回歸、線性規(guī)劃免糕、熵值法確定權(quán)重赢乓、遺傳算法。了解一些的包括:數(shù)據(jù)包絡(luò)分析法石窑、層次分析法牌芋、模糊評(píng)價(jià)法、混合規(guī)劃等松逊。為了能在比賽中更好的調(diào)包姜贡,我特地將自己實(shí)現(xiàn)的代碼封裝,事實(shí)證明棺棵,在本次比賽中是無用的楼咳,國賽提出的問題熄捍,根本不可能掉個(gè)包就出來,更需要的是根據(jù)題目改進(jìn)算法母怜。同時(shí)我發(fā)現(xiàn)余耽,國賽考驗(yàn)的不僅僅是掌握模型數(shù)量這種表面實(shí)力,更重要的是來自各個(gè)專業(yè)領(lǐng)域知識(shí)的內(nèi)在實(shí)力苹熏。因此碟贾,即使是學(xué)了那么多的數(shù)學(xué)專業(yè)學(xué)生,未必會(huì)比其他專業(yè)占更多優(yōu)勢轨域。在這次的B題中袱耽,運(yùn)籌學(xué)能起到很大的作用,同時(shí)作為計(jì)算機(jī)專業(yè)的學(xué)生干发,我能感覺到這個(gè)問題和操作系統(tǒng)中的調(diào)度問題很像朱巨,而輕工專業(yè)的學(xué)生,一定也有他們的想法吧枉长。
3.選題:
??為什么這次我們會(huì)選擇B題冀续?
??首先,A題必峰,是一個(gè)隔熱服的問題(淘寶隔熱服店家三天被爆)洪唐,在耐心讀完題,并給數(shù)據(jù)做了個(gè)圖后吼蚁,沒有什么思路凭需,這很正常,建模就是要慢慢打破自己思維局限的過程肝匆,但作為計(jì)算機(jī)專業(yè)的學(xué)生功炮,對(duì)A題不是很來電,感覺沒什么意思术唬。于是看了B題薪伏,一眼過去,感覺就是控制小車給機(jī)器加料的過程粗仓,但是看到“調(diào)度”嫁怀、“路徑”這種詞匯,瞬間就感覺很親切借浊,操作系統(tǒng)對(duì)進(jìn)程的調(diào)度塘淑、數(shù)據(jù)結(jié)構(gòu)的最短路徑都是我們專業(yè)的范疇,即像是上次比賽一樣蚂斤,這是我的強(qiáng)項(xiàng)存捺。對(duì)比下來,對(duì)A題就更不喜歡了。當(dāng)然捌治,作為編程手岗钩,如果隊(duì)員都選擇了A題,我也是不能強(qiáng)行選B的肖油,罷工的權(quán)利不是隨便用的兼吓,之前說了,選擇隊(duì)友就要求隊(duì)友的相信森枪,反過來說视搏,作為編程手也不能總是讓隊(duì)友失望。
??最終選擇了B題是一個(gè)老師的助攻县袱,嗯浑娜,就是上面說的那個(gè)急性子的老師,他表示A題是個(gè)收束的問題式散,結(jié)果必須要在一定范圍內(nèi)筋遭,而B題是發(fā)散性的問題,結(jié)果百花齊放杂数,只要合理就可以宛畦,于是我的隊(duì)友也跟著選擇B題瘸洛。結(jié)果是這老師又錯(cuò)了233揍移,這題沒有足夠強(qiáng)的編程手支撐,簡直爆炸反肋,最后27個(gè)隊(duì)伍那伐,一開始還是對(duì)半分,最后換題的不少石蔗,參與B題的只占參賽隊(duì)伍不到三分之一罕邀。
由于字?jǐn)?shù)原因,請(qǐng)看【數(shù)學(xué)建难啵】2018全國大學(xué)生數(shù)學(xué)建模競賽B題感悟(中)