引言
2019年全國大學生數學建模競賽江蘇賽區論文評審在南京林業大學進行,每個隊提交的論文都由三位老師獨立打分,打分結束后,對于最高分和最低分差距比較大的論文,打最高分和最低分的老師再進行協商,重新打分。由于涉及到的論文和老師較多,很多老師相互之間還不太認識,如何合理安排協商是一件比較麻煩的事情。如果能夠給出科學合理的協商方案,可以節約很多時間,以這一個事情為背景設計了如下這個比賽題目。這個問題解決方法的初步設想是使用運籌學建立約束規劃模型來求解,還需要使用圖論相關知識,編程求解,撰寫論文等。
1.問題重述
現在對大學生數學建模論文評審,每篇論文由三名老師獨立打分,如果最低分和最高分差距超過10分,需要兩位老師面對面協商,兩人修改自己的分數,修改完后不需要再進行一次修改。如果一人空著,另一人與別的老師協商,那么前面的這位老師需要等待。如果兩位老師不熟悉,需要取得聯系,這需要花費一點時間。如果兩位老師熟悉,不需要再在取得聯系上花費時間,協商用時會短一些。下午14:00協商開始。
問題一:如何安排,使得全部協商完后需要的時間最少?
問題二:由于老師之間互相不熟悉,一名老師新找一名老師協商需要4分鐘。問如何安排,使得全部協商完后需要的時間最少?
問題三:有三位徐州(趙老師、周老師、林老師)的老師趕時間坐車,需要優先協商完,要求三位徐州的老師全部協商完的時間不遲于下午14:30(越早結束越好),問在滿足三位徐州老師時間的條件下,如何安排,使得全部協商完成后需要的時間最少。
表1需要協商的教師信息
論文編號教師A教師B論文編號教師A教師B論文編號教師A教師B
215趙張261邱吳110趙張
262錢周256吳錢16邱張
159邱費122俞周233邱范
240錢范248吳周15吳林
323孫范13俞林90吳林
18邱吳29錢周150張林
156吳周54吳孫451吳費
198邱孫315錢牛31邱孫
101張周53錢俞208邱周
293邱周278吳周291陸張
232吳林322趙陳192錢周
20孫周391邱張263陸牛
154趙陳4陳范343張費
注:表中只列舉中教師姓名,且排名不分先后
2.符號說明
針對上述問題,本文建模了單目標、多目標的優化模型,為便于大家理解本文所提的優化模型,這里將建模過程中主要應用到的符號作如下說明,具體符號及其物理意義如下所示:
符號物理意義
,第i篇論文
n篇論文
第i位評委
評委老師集合
打分矩陣
協商矩陣
第i位老師與第j位老師協商情
當前參與協商矩陣
矩陣的第行
矩陣的第列
第t分鐘評委老師間協商次數矩陣
T協商時間
3.問題分析
在大學生數學建模論文評審過程中,每篇論文由三名教師獨立打分,如果最低分和最高分差距超過10分,需要兩位老師面對面協商,兩人修改自己的分數。注意到每次協商過程中,只能是兩位面對面協商,即不能出現3或多位教師共同協商的情形。此問題與經典的任務分配類似,需要給出具體的協商方案,以使整個協商過程時間最短,這就涉及到單指標/多指標的優化問題。
表1所示,此次需要協商的論文共計39篇,共涉及陳、陸、錢、邱、孫、吳、俞、張、趙、范、費、林、牛和周14位評委教師間的協商問題。圖1統計了各位評委老師共需要協商次數情況,可以看出最大需要協商的次數為11次,最小需要協商的次數為2次,其中,周、吳、邱三位評委老師的協商任務均超過10。分析不難發現,所以老師完成協商最短時間為44min。
圖1各評委老師協商次數
問題1要求給出最佳協商方案,使得全部協商完成時間最短。問題2在問題1的基礎上,增加了尋找評委老師的時間。問題3則基于問題1、問題2提出優先安排三位徐州(趙老師、周老師、林老師)評委教師,確保這三位教師在最短時間內完成自己的協商任務,同時也使得剩余評委老師協商任務在盡可能短的時間內完成。三個問題均為優化問題,問題2/3則增加了相應約束條件,則可認為是有約束的優化問題。
為使總協商時間最短,需要盡可能降低等待機會,即盡可能安排所有需要協商的教師盡可能多地參與協商。建模過程中,我們根據表1中打分情況,構造協商關系圖鄰接矩陣,需要協商的位置用大于1的數表示,不需要協商的教師間取值為0,這里數值大小表示兩位老師間的最大協商次數。則整個協商過程可轉變為對協商關系圖的最大邊覆蓋問題。每輪協商問題可轉化為在協商關系圖中找到最大不相鄰邊。通過不斷迭代,知道協商關系圖所以的邊都被覆蓋到,則整個協商過程全部完成。
4.模型的建立與求解
問題一模型的建立與求解
模型的分析及建立
問題1要求給出最佳的協商安排方案,以使得整個協商進程時間最短。針對此問題,為簡化模型,建模過程中,本文對其進行必要的限定,作如下假設:
1)假設需要協商的兩位老師,當且僅當協商一次,即即使多篇文章需要協商,只需協商一次便可完成所有任務;
2)對于每篇論文,三位老師打分出現重復且最高分最低分差距超過10分時,只需與其中一位老師協商(所給數據中不存在此情況);
3)假設兩位需要協商老師需要協商多篇論文,其總共所需時間仍為4分鐘;
4)評委老師只協商共同打分的論文。
基于上述假設,下面給出具體的建模方法。設現有n篇論文記為,m位評委老師,其形成的打分矩陣記為,且有
則根據打分矩陣,可以獲得需要協商的論文及對應的評委老師,則有:
文及對應的評委老師,構造如下協商矩陣,其滿足:
其中,表示第i位老師與第j位老師協商情況,即有:
結合,不難發現
協商過程中,每位需要協商的老師可結合自身安排選擇評委老師進行協商,但實際中,往往容易出現多個同時尋找一位老師協商,這就造成時間和資源的浪費。為此,需合理安排協商過程,確保協商過程在最短時間內完成??紤]到協商策略的變化并不影響總共需要協商的次數,也就是協商過程中的最短用時是一定的,因此,在制定協商策略過程中,只需盡可能避免兩位或者多位評委老師同時找某一位評委老師的情況,即盡可能讓所有需要老師參與協商但不重復即可。每一輪協商可視為在矩陣中尋找盡可能多不在同行同列的1,迭代直到矩陣中所有為1的元素都被遍歷過,則有:
其中,表示矩陣的第行,表示矩陣的第列,,且滿足:
不難發現,上述優化問題是有約束的非線性整數規劃問題,該問題的可行域并非連續,采用一般的有約束的優化算法如梯度下降法、單純性法、對偶單純性法等求解比較困難。遺傳算法(Genetic Algorithm,GA)是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法。其主要特點表現在:1)直接對結構對象進行操作,不存在求導和函數連續性的限定;2)具有內在的隱并行性和更好的全局尋優能力;3)采用概率化的尋優方法,不需要確定的規則就能自動獲取和指導優化的搜索空間,自適應地調整搜索方向。
遺傳算法(Genetic algorithms,GAs)是在進化和自然遺傳學原理指導下的隨機搜索和優化技術,具有大量的隱式并行性。GAs在復雜、大型和多模態的景觀中執行搜索,并為目的或優化問題的“靈敏度函數”提供近似最優解。在GAs中,搜索空間的參數以字符串(稱為染色體)的形式編碼。這樣的字符串集合稱為總體。在模式識別領域,為了獲得最優解,需要在復雜空間中進行適當的參數選擇和搜索,在分析和識別模式的過程中涉及很多任務。因此,將GAs應用于解決模式識別的某些問題(需要優化計算要求,以及魯棒性、快速性和近似解)似乎是合適且自然的。遺傳算法求解優化問題的一般步驟如圖2所示,包括生成初始種群、計算適應度、選擇、變異、交叉等,通過多次迭代,保留群體中最優個體,從而得到適合問題的最佳解。
圖2遺傳算法流程圖
具體求解過程中,首先對題目中教師編號(如表2)非整數規劃問題,先隨機選擇一定數量的原始染色體,這些染色體經過雜交,變異得到的染色體經過計算后,得到適應度。最終選擇適應度最高的染色體。
表2協商教師編號
教師編號
陳#1
陸#2
錢#3
邱#4
孫#5
吳#6
俞#7
張#8
趙#9
范#10
費#11
林#12
牛#13
周#14
采用上述編號,結合表1,構造協商關系圖鄰接矩陣,并畫出其對應的協商關系圖,得到:

圖3協商關系圖
模型的求解及結果
針對上述鄰接矩陣,下面運用遺傳算法對其進行求解,得到第一輪迭代結果如表3所示,其中,1所處位置對應的行和列所對應的老師參與本輪協商,0所處位置對應的行列所對應的老師不參與本輪協商。根據表3,不難發現,本輪所有老師均參與協商。
表3協商關系矩陣
#1#2#3#4#5#6#7#8#9#10#11#12#13#14
#1 0 0 0 0 0 0 0 0 1 0 0 0 0 0
#2 0 0 0 0 0 0 0 0 0 0 0 0 1 0
#3 0 0 0 1 0 0 0 0 0 0 0 0 0 0
#4 0 0 1 0 0 0 0 0 0 0 0 0 0 0
#5 0 0 0 0 0 0 0 0 0 1 0 0 0 0
#6 0 0 0 0 0 0 0 0 0 0 0 0 0 1
#7 0 0 0 0 0 0 0 0 0 0 0 1 0 0
#8 0 0 0 0 0 0 0 0 0 0 1 0 0 0
#9 1 0 0 0 0 0 0 0 0 0 0 0 0 0
#10 0 0 0 0 1 0 0 0 0 0 0 0 0 0
#11 0 0 0 0 0 0 0 1 0 0 0 0 0 0
#12 0 0 0 0 0 0 1 0 0 0 0 0 0 0
#13 0 1 0 0 0 0 0 0 0 0 0 0 0 0
#14 0 0 0 0 0 1 0 0 0 0 0 0 0 0
將表3對應的協商關系轉化為具體的協商方案為:#1——>#9,#2——>#13,#3——>#4,#5——>#10,#6——>#14,#7——>#12,#8——>#11。完成本輪協商之后,從原始的協商矩陣中去除本輪已經協商的老師,得到更新協商關系圖如下所示:
圖4第一輪協商關系圖
按照上述過程,繼續進行迭代,得到第二輪的協商方案:#1——>#10,#2——>#8,#3——>#13,#4——>#5,#6——>#12,#7——>#14,去除已經協商過的教師,則此時更新后的協商關系圖變為:
圖4第二輪協商關系圖
同樣,可得到上述協商關系圖的第三輪協商方案:#3——>#7,#4——>#10,#5——>#14,#6——>#11,#8——>#12,去除已經協商過的教師,則此時更新后的協商關系圖變為:
圖5第三輪協商關系圖
利用遺傳算法,求解得到上述協商關系對應的第四輪協商方案:#3——>#10,#4——>#11,#5——>#6,#8——>#14,去除已經協商過的教師,則此時更新后的協商關系圖變為:
圖6第四輪協商關系圖
繼續重復上述過程,求解得到上述協商關系對應的第五輪協商方案:#3——>#6,#4——>#14,#8——>#9,去除已經協商過的教師,則此時更新后的協商關系圖變為:
圖7第五輪協商關系圖
重復上述過程,求解得到上述協商關系對應的協商方案:#3——>#14,#4——>#8,去除已經協商過的教師,則此時更新后的協商關系圖變為:
圖7第六輪協商關系圖
根據第六輪協商關系圖,則最后一次的協商方案為:#4——>#6,此時,協商關系圖已無邊即原始協商關系圖中的所有邊已經被覆蓋過,所有的協商均已完成。
綜合上述六輪協商過程,可得到整個過程的協商耗時:24min+4min=28min。至此,完成整個協商需要耗時28分鐘。
問題二模型的建立與求解
模型的分析及建立
問題2提到老師之間相互不熟悉,一名老師新找一名老師協商需要4分鐘,在此種條件下,如何安排協商方案,可使得全部協商完后需要的時間最短。針對此問題,為便于建模,簡化問題原型,在建模過程中,本文作如下假設:
1)不同評委老師協商一篇論文所需時間均為4分鐘;
2)不同評委老師尋找協商評委所需時間相等,均為4分鐘;
3)若需要協商多篇論文,則只需進行一次協商即可完成所有協商任務。
基于上述假設條件,考慮到評委老師之間互不熟悉,因此在評閱協商過程中,尋找對應的老師需要耗費一定時間,同時評委協商過程中,可能存在多篇論文需要協商,因而不同評委間協商所需時間不同,而在此期間,其他與正在協商的評委老師有協商需求的評委老師可選擇等待或者繼續尋找其他評委老師進行協商。設工作需要協商的論文總數為,當有m位評委老師時,定義協商次數矩陣表示t時刻協商次數矩陣的狀態,表示第i位老師和第j位老師剩余協商次數,顯然有,,。假設協商總共經過T分鐘,每1分鐘評委老師間協商次數矩陣為,為便于計算,這里同樣約束每分鐘內不可存在兩位評委同時尋找一位評委的情形,則有:
這里,,,,,同時有:
根據的定義,則經過分鐘,可以得到完成整個協商所需要的時間為:
其中,為的矩陣,且有:
綜合上述,要使得整個協商過程時間最短,則有:
s.t.
其中,,分別表示矩陣第行,第列。不難發現上述優化問題是一個復雜的非線性的規劃問題,模型中含有非線性約束條件,且目標函數非凸,因而,常規方法求解困難。
粒子群算法(Particle Swarm Optimization,PSO)是在1995年由Eberhart博士和Kennedy博士一起提出的,它源于對鳥群捕食行為的研究。發展該理論的一個動機是模仿人類的社會行為,這當然與魚群或鳥群不同。重要的區別在于它的抽象性。鳥類和魚類調整它們的身體運動,以避免捕食者,尋找食物和配偶,優化環境參數,如溫度等。人類不僅要調整身體運動,還要調整認知或經驗變量。我們通常不會步調一致地走路。盡管一些有關人類從眾的有趣研究表明,我們有能力做到這一點;相反,我們傾向于調整我們的信念和態度,以符合我們的社會同伴。
模型的求解及結果
利用PSO生物智能優化算法,對上述問題進行求解。求解過程中,首先將協商關系圖(圖8)轉化為帶權值的協商關系圖,如圖9所示,圖中邊的權值表示兩節點間共需協商的次數。
圖8協商關系圖
圖9加權協商關系圖
調用粒子群算法,針對上述協商關系圖,求解得到協商方案:#1——>#9,#2——>#13,#3——>#4,#5——>#10,#6——>#11,#7——>#12,#8——>#14,采取此協商方案后,更新協商關系圖,得到新的協商關系圖,如下:
圖10第一輪8分鐘后商議圖
按照上述過程,繼續進行迭代,得到第二輪的協商方案:#1——>#9,#8——>#9,#3——>#13,#4——>#11,#6——>#12,#5——>#14。注意到,由于尋找對應的協商老師,需要花費1分鐘,因此,在此輪協商過程中,正參與上一輪協商的教師,下一輪將要與其協商的教師,可在其即將剩余最后一篇論文協商任務時,開始尋找該教師,對應協商關系圖上,即允許存在相鄰的兩條邊被同時選擇(如圖10,#1——>#9,#8——>#9,)。2分鐘后,在協商的教師完成一篇論文的協商,去除已經協商過的教師,則此時更新后的協商關系圖變為:
圖10第二輪8分鐘后商議圖
繼續重復上述過程,求解得到上述協商關系圖,得到對應的第三輪協商方案:#2——>#8,#9——>#8,#3——>#10,#6——>#12,#7——>#14,#4——>#5,此時同樣允許存在相鄰的邊,去除已經協商過的教師,則更新后的協商關系圖變為:
圖10第三輪8分鐘后商議圖
繼續上述過程,求解第三輪商議圖,得到對應的第三輪協商方案:#8——>#12,#3——>#7,#10——>#4,#5——>#4,#6——>#5,此時同樣允許存在相鄰的邊,注意到,由于節點#4和節點#5正處于協商過程中,且還有一篇論文未協商,此時,節點#10、節點6可以分別去找#4、#5教師,當找到時,教師#4、#5恰好協商完成,則可繼續協商,因此,有三個邊相鄰。去除已經協商過的教師,則更新后的協商關系圖變為:
圖11第四輪8分鐘后商議圖
為展示方便,后續優化,僅拿出還需協商節點,得到如下的協商子圖,繼續采用粒子群算法進行優化,得到第五、六輪協商(8+4分鐘后)的協商方案:
第五輪:#8——>#4,#4——>#14,#6——>#14,#8——>#4,#6——>#14;
第六輪:#4——>#6,#6——>#14,#3——>#14,#4——>#6,#3——>#14;
其對應的協商關系圖為:
圖12第五輪商議圖
第六輪協商(8+4分鐘后):
圖13第六輪商議圖
綜合上述六輪協商過程,所以教師均完成對應的協商任務,很容易得到此過程總耗時為:4*8+2*12=56min。
問題三模型的建立與求解
模型的分析及建立
問題3提到有三位徐州(趙老師、周老師、林老師)的老師趕時間坐車,需要優先協商完,要求這三位老師全部協商完的時間不遲于下午14:30(越早結束越好),問在滿足三位徐州老師時間的條件下,如何安排,使得全部協商完成后需要的時間最少。整個協商開始時間為14:00,也就是說盡量在半個小時內,三位老師的協商任務需全部完成。鑒于問題2中提到老師之間相互不熟悉,一名老師新找一名老師協商需要4分鐘,對于有特殊安排的教師,在此題中,我們認為其為大家所熟知,即與其協商無須額外的尋找時間。而其他教師之間的協商則依然存在協商尋找時間。在建模過程中,本文作如下假設:
1)假設三位趕車老師之間協商優先級相同;
2)尋找三位優先安排協商的老師協商無時間消耗;
3)除三位老師之外其他教師之間的協商需要尋找時間,且尋找所需的時間為仍為4min。
現三位徐州老師需要趕時間乘車,需優先安排協商,記三位老師分別為,,,,,,且,,。實際中,這三位老師需要協商的論文數可能為1,2或多個,記與三位老師有協商需求的老師單獨組成新的協商子集為,則剩余老師組成的集合,如圖1所示,取協商矩陣中第,,列中不全為0的行,構成子協商矩陣,則有:
此時對應的剩余老師構成的協商矩陣定義為剩余協商矩陣為:
這里,,,且,均為正整數。
圖14協商關系矩陣
鑒于三位老師需要趕車,為確保協商過程順利完成,則應使三位老師的協商任務盡早結束。實際中,三位趕車老師為評委老師中的特殊人群。為節約時間,這里假設這三位老師為大家熟知人員,即任何需要與這三位老師協商的其他評委老師均不需要花費4分鐘的尋找時間,三位老師協商耗時只存在論文具體協商過程中。記m位評委老師協商關系矩陣為,構造選擇矩陣的矩陣如下:
則從與三位評委,,對應的協商關系矩陣為:
容易得出,為矩陣去除元素全為0的行,即不妨將寫為,為推導方便,這里將矩陣擴展為的矩陣:
為的全0矩陣。類比問題1,關于三位評委,,對應的協商關系矩陣的優化,只需每次尋找中盡可能多不同行不同列的非0即,其等效于,對于每次未協商老師即單次剩余矩陣,考慮到這些老師間存在互不相識,優化過程中存在尋找老師耗時,這個子問題的優化可采用問題二優化方法,此時,,這里,b表示矩陣點積,多次迭代直到矩陣中所有不為0元素均被覆蓋到,且元素全為0,由于需要與三位提前走老師協商的評委也存在與綜上可知,此問題為迭代的兩目標的優化問題,單次多目標優化問題為:
目標1:
目標2:
s.t.
其中,,分別表示矩陣第行,第列,表示矩陣的第行,表示矩陣的第列。
模型的求解結果
上述優化問題為多目標約束優化問題,其求解過程相對復雜。為此,本文提出迭代的多目標優化算法,在迭代過程中,動態調整與三位老師無協商教師的協商關系子圖,將整個問題,分解為兩個子問題,依次分別進行求解,經過反復迭代,得到問題的解。其算法具體流程如下所示:
算法1:迭代多目標優化算法框架
輸入:,,,,,標記矩陣
Repeat:
計算矩陣,
調用遺傳算法,求解目標1、目標2的優化問題
更新=,
,,
Until:=
由于三位老師需要趕車,在優化過程中,將三位老師涉及的優化任務單獨列舉出來,形成協商關系子圖,如15下所示,其中邊的權值表示兩節點點需要協商的次數。
圖15三位老師(趙老師、周老師、林老師)協商關系加權圖
采用遺傳算法,針對上述協商關系子圖,求解得到協商方案,第一分鐘:#1——>#9,#3——>#12,#8——>#14;第二分鐘:#7——>#12,#8——>#9,#3——>#14。采取此協商方案后,經過8分鐘,去掉已完成協商任務的邊,得到新的協商關系圖,如下:
圖16三位老師8分鐘內協商情況演變圖
由于三位老師協商過程中,與其有協商關系的教師,可能未參與本次協商。為節約時間,這些需要與三位老師協商的教師可與其他正未協商的教師協商相應的論文。將無與三位老師協商的教師組合起來,構造剩余協商關系子圖,如下圖所示:
圖17剩余協商關系加權子圖
同樣,運用遺傳求解得到,容易得到最佳的協商方案為:#5——>#10,#6——>#11,#4——>#13,對應的協商情況演變如圖18所示。
圖18與三位老師無協商關系老師8分鐘內協商情況演變圖
完成第一輪協商之后,需要對與三位老師的協商關系子圖重新進行優化,即如下圖所示,重新安排協商任務,這里繼續運用遺傳算法,求解得到論文的協商方案為:#11——>#9,#14——>#3,#2——>#12
圖19三位老師4分鐘內協商情況演變圖
其對應未參與本次協商的教師協商關系圖,如下圖所示:
圖20未與三位老師(趙老師、周老師、林老師)協商關系權值圖
鑒于三位老師需要趕車,其情況特殊,在建模過程中,假設這三位老師為大家熟知,因此其他教師與其協商過程中,尋找對應協商老師不需壓額外時間,而本輪中未與三位教師協商的教師之間相互不認識,故而這些教師之間協商需要額外花費4min的尋找時間。針對上述剩余老師的協商關系優化問題,利用遺傳算法求解得到,最佳的協商方案為:#1——>#7,#4——>#5,#8——>#6,其對應的協商演變情況如下所示:
圖21未與三位老師協商的教師8分鐘內協商情況演變圖
三位趕車教師之間完成一篇論文協商需花費4min,而其他教師之間則需要花費8min,即其他教師在尋找協商老師的過程中,三位教師可完成一篇論文協商,這就產生時間差異。為最大化減小整體協商的時間,提高協商效率,模型中與三位老師存在協商關系的教師若在本次協商過程中空閑,則其可與其他教師協商。一篇論文不同教師間協商耗時差異,造成整個協商過程需動態調整,以確保在最短時間內,優先完成三位老師的協商任務。對比圖1,圖2可知,此輪協商安排,存在4min的差異,為充分利用時間,此輪繼續為三位老師安排協商任務,求解得到協商方案為:#9——>#14,#4——>#12,此時的協商關系圖為:
圖22三位老師4分鐘內協商情況演變圖
觀察圖22,不難發現,節點#4與節點#12在第8分鐘末,仍存在一篇協商任務未完成,即還需要4min的協商時間,為充分利用時間,在此4min內,繼續安排其它教師協商,即#6——>#14,#4——>#12。此時,協商狀態圖如圖4所示。
圖23三位老師4分鐘內協商情況演變圖
同理,安排未與三位老師協商的教師繼續進行協商。其對應的協商關系圖如下圖所示。則利用遺傳算法進行求解得到其協商方案如下:#5——>#8,#4——>#10,#6——>#1。
圖24未與三位老師協商的教師協商情況演變圖
此時,按照上述步驟繼續迭代,直到三位老師的協商任務全部完成,具體過程結果如下所示:#14——>#6,#12——>#6,#4——>#14,#14——>#5。
圖25三位老師協商相關的教師協商情況演變圖
同理,容易得到其它教師的協商方案為:#5——>#6,#4——>#6,其對應的情況演變如下圖所示:
圖26其余教師協商情況演變圖
鑒于與三位趕車老師之間協商的教師之間也可能存在協商關系,為確保所有協商任務全部完成,對上述過程中未涉及的協商進行優化。首先,得到剩余的協商關系圖,如下所示:
圖27剩余老師時間權值圖
繼續采用遺傳算法求解,不難得到對應的協商關系演化關系如下所示:
圖28剩余老師協商情況演變圖
至此,完成整個優化過程,總計用時:64min。
5.模型的優缺點
模型的優點
(1)運用遺傳算法和粒子群算法的相關性的整合分析,建立了非線性整數規劃模型,具有更強的說服力。
(2)在建立模型中充分考慮了此問題當中的實際情況,根據不同的情況進行合理安排;
(3)在第三問中,巧妙的運用迭代的多目標優化算法解決了相關問題的類型和原因。
模型的缺點
(1)該模型僅僅局限于不真實數據數量少于真實數據的情況,當不真實數據過多時,該模型的說服力不夠強
(2)問題一只考慮同一篇論文只能被兩個老師打分,未涉及其他情況。
(3)問題三中已假設的是徐州三位老師互相認識,并未考慮互相不認識情況下的假設。
(4)由于知識的局限性,我們只能從較淺層次的去研究探討,僅僅考慮了問題的主要因素,而對于眾多次要因素并未進行深入探討。
總結
本次我所涉及的課題是數學建模競賽論文評審優化協商方案,本文主要研究了數學建模的知識,通過對遺傳算法,非線性整數規劃等技術方面展開分析,對模型建立及求解,從而將存在的諸多問題進行總結,此模型主要實現以下幾個功能:
(1)運用遺傳算法進行求解模型,得到最優的協商分配方案
(2)利用數據信息構造協商關系圖,將論文協商分配問題轉化為協商關系圖的最大邊覆蓋問題
(3)問題三中鑒于三位老師的特殊情況,將整體論文協商分配問題轉化多個協商子問題,并提出迭代的多目標遺傳優化算法,通過計算,求解得知此條件下的最優協商分配方案
參考文獻
[1]司守奎,孫璽菁.數學建模算法與應用[M].北京:國防工業出版社,(2015,372-382).
[2]韓中庚,數學建模方法及其應用(第二版)[M],北京:高等教育出版社,(2009).
[3]姜啟源,謝金星,葉俊,數學模型(第四版)[M],北京:高等教育出版社,(2011).
[4]大學生數學建模競賽輔導教材,(一)(二)(三)[M],葉其孝主編,湖南教育出版社(1993,1997,1998).
[5]數學模型[M],[門]近藤次郎著,官榮章等譯,機械工業出版社,(1985).
[6]生命科學模型[M],(應用數學模型叢書第4卷),[美1W.F.Lucas主編,翟曉燕等譯,國防科技大學出版社,(1996)
[7]遺傳模型分析方法[M],朱軍著,中國農業出版社(1997).(中山大學數學系王壽松編輯,2001年4月)
[8]科技工程中的數學模型[M],堪安琦編著,鐵道出版社(1988).
[9]數學建模案例分析[M],白其崢主編,北京:海洋出版社,(2000).
[10]遺傳算法原理與應用實例[M],韓瑞峰,兵器工業出版社,(2010).
[11]神經網絡[M],侯媛彬,杜京義,汪梅,西安電子科技大學出版社,(2007).
[12]種群生態學的數學建模與研究[M],馬知恩著,安徽教育出版社,(1996).
[13]模型數學–連續動力系統和離散動力系統[J],[英1H.B.Grif6ths和A.01dknow著,蕭禮、張志軍編譯,科學出版社,(1996).
[14]中國大學生數學建模競賽[C],李大潛主編,高等教育出版社(1998).
[15]問題解決的數學模型方法[M],劉來福,曾文藝編著、北京師范大學出版社,(1999).
致謝
時光飛逝,四年的大學時光就在不經意中即將結束了。人生最大的財富,莫過于歲月留下的記憶。當回首往事的時候,那些痛苦的和歡樂的往事,都會變成嘴角的一抹微笑。在宿院的校園里,所有的老師、同學,所有的人和事,都將成為我人生中最珍潰的一段記憶。
首先,我要感謝我的導師,從論文定題到論文最終完成,導師給予了我極大的幫助,在論文的每一環節都非常認真和嚴謹地給予我指導和建議,每次即使感覺疲憊也都會為我耐心而細致地修改論文,這樣的責任心和工作態度使我深受感動和鼓舞,成為我順利完成論文的動力。導師淵博的學識、平易近人的性格、嚴謹的治學態度以及認真負責的工作風格使我銘記在心,成為我今后繼續深造的榜樣和指南針。在此,我對我的導師表示衷心的感謝!
感謝大學期間的所有老師對我在專業學習中的指導和無私的幫助,感謝你們對我孜孜不倦的教導和告訴我們很多做人做事的道理,也感謝你們對我們學生平日里、生活上的關心、關愛和關懷,是那么的無微不至,不是父母卻如父母般的厚重。四年的專業學習,我將永遠銘記在心;宿遷學院四年的生活,也將會是我生命里無法忘記的珍潰記憶和記憶的電影無法剪輯掉的膠片。
感謝審閱這篇文章的各位老師,你們的指導和批評是我今后繼續深造和學習的動力。
最后感謝我的親人和朋友,是你們的支持和默默的奉獻,才給了我完成學業的信心和動力,沒有你們,就沒有我這四年的學習生涯,更不可能有今天的學有所成。親情、友情永遠是我生活和學習不斷奮進的最大動力源泉。不管人生的下一站將駛向何方,在宿院四年的讀書生活卻是令我永難忘懷的。
附錄
function main()
clear;
clc;
%種群大小
popsize=100;
%二進制編碼長度
chromlength=10;
%交叉概率
pc=0.6;
%變異概率
pm=0.001;
%初始種群
pop=initpop(popsize,chromlength);
for i=1:100
%計算適應度值(函數值)
objvalue=cal_objvalue(pop);
fitvalue=objvalue;
%選擇操作
newpop=selection(pop,fitvalue);
%交叉操作
newpop=crossover(newpop,pc);
%變異操作
newpop=mutation(newpop,pm);
%更新種群
pop=newpop;
%尋找最優解
[bestindividual,bestfit]=best(pop,fitvalue);
x2=binary2decimal(bestindividual);
x1=binary2decimal(newpop);
y1=cal_objvalue(newpop);
if mod(i,10)==0
figure;
fplot('10*sin(5*x)+7*abs(x-5)+10',[0 10]);
hold on;
plot(x1,y1,'*');
title(['迭代次數為n='num2str(i)]);
%plot(x1,y1,'*');
end
end
fprintf('The best X is—>>%5.2fn',x2);
fprintf('The best Y is—>>%5.2fn',bestfit);
%初始化種群大小
%輸入變量:
%popsize:種群大小
%chromlength:染色體長度–>>轉化的二進制長度
%輸出變量:
%pop:種群
function pop=initpop(popsize,chromlength)
pop=round(rand(popsize,chromlength));
%rand(3,4)生成3行4列的0-1之間的隨機數
%rand(3,4)
%
%ans=
%
%0.8147 0.9134 0.2785 0.9649
%0.9058 0.6324 0.5469 0.1576
%0.1270 0.0975 0.9575 0.9706
%round就是四舍五入
%round(rand(3,4))=
%1 1 0 1
%1 1 1 0
%0 0 1 1
%所以返回的種群就是每行是一個個體,列數是染色體長度
%二進制轉化成十進制函數
%輸入變量:
%二進制種群
%輸出變量
%十進制數值
function pop2=binary2decimal(pop)
[px,py]=size(pop);
for i=1:py
pop1(:,i)=2.^(py-i).*pop(:,i);
end
%sum(.,2)對行求和,得到列向量
temp=sum(pop1,2);
pop2=temp*10/1023;
%計算函數目標值
%輸入變量:二進制數值
%輸出變量:目標函數值
function[objvalue]=cal_objvalue(pop)
x=binary2decimal(pop);
%轉化二進制數為x變量的變化域范圍的數值
objvalue=10*sin(5*x)+7*abs(x-5)+10;
%如何選擇新的個體
%輸入變量:pop二進制種群,fitvalue:適應度值
%輸出變量:newpop選擇以后的二進制種群
function[newpop]=selection(pop,fitvalue)
%構造輪盤
[px,py]=size(pop);
totalfit=sum(fitvalue);
p_fitvalue=fitvalue/totalfit;
p_fitvalue=cumsum(p_fitvalue);%概率求和排序
ms=sort(rand(px,1));%從小到大排列
fitin=1;
newin=1;
while newin<=px
if(ms(newin))<p_fitvalue(fitin)
newpop(newin,:)=pop(fitin,:);
newin=newin+1;
else
fitin=fitin+1;
end
end
%交叉變換
%輸入變量:pop:二進制的父代種群數,pc:交叉的概率
%輸出變量:newpop:交叉后的種群數
function[newpop]=crossover(pop,pc)
[px,py]=size(pop);
newpop=ones(size(pop));
for i=1:2:px-1
if(rand<pc)
cpoint=round(rand*py);
newpop(i,:)=[pop(i,1:cpoint),pop(i+1,cpoint+1:py)];
newpop(i+1,:)=[pop(i+1,1:cpoint),pop(i,cpoint+1:py)];
else
下載提示:
1、如文檔侵犯商業秘密、侵犯著作權、侵犯人身權等,請點擊“文章版權申述”(推薦),也可以打舉報電話:18735597641(電話支持時間:9:00-18:30)。
2、網站文檔一經付費(服務費),不意味著購買了該文檔的版權,僅供個人/單位學習、研究之用,不得用于商業用途,未經授權,嚴禁復制、發行、匯編、翻譯或者網絡傳播等,侵權必究。
3、本站所有內容均由合作方或網友投稿,本站不對文檔的完整性、權威性及其觀點立場正確性做任何保證或承諾!文檔內容僅供研究參考,付費前請自行鑒別。如您付費,意味著您自己接受本站規則且自行承擔風險,本站不退款、不進行額外附加服務。
原創文章,作者:寫文章小能手,如若轉載,請注明出處:http://www.therealfoodists.com/chachong/14770.html,