数学建模之运筹学问题
目錄
1、引言
2、常見(jiàn)模型與算法
3、問(wèn)題描述
4、遺傳算法
5、仿真結(jié)果
1、引言
運(yùn)籌學(xué)問(wèn)題,包括任務(wù)規(guī)劃、分配、決策,是數(shù)學(xué)建模比賽中常見(jiàn)的問(wèn)題(參見(jiàn)2018年“高教杯”數(shù)學(xué)建模B題、2019年美賽MCM B題)。今天小編就和大家分享一下數(shù)學(xué)建模中運(yùn)籌學(xué)問(wèn)題的常見(jiàn)解決方法與技巧。本文相對(duì)適用于剛剛?cè)腴T(mén)的小白同學(xué)以及對(duì)于數(shù)學(xué)建模有些接觸的同學(xué),當(dāng)然也歡迎大神們交流討論。
本文主要概述一下比賽中可能出現(xiàn)的問(wèn)題,同時(shí)分享了遺傳算法在運(yùn)籌學(xué)問(wèn)題中的應(yīng)用。
另外小編也整理了一些參考文獻(xiàn),也是數(shù)學(xué)建模比賽時(shí)非常有用的參考,論文里面加上一定能讓你脫穎而出的哦,想要的話(huà)請(qǐng)留言哦。
2、常見(jiàn)模型與算法
首先是運(yùn)籌學(xué)中一些常見(jiàn)的模型與算法。大家如果不感興趣可以直接跳到第二部分哈。常見(jiàn)的運(yùn)籌學(xué)模型包括車(chē)輛路由問(wèn)題(Vehicle Routing Problem,VRP)、旅行商問(wèn)題(Travelling Salesmen Problem,TSP)及多旅行商問(wèn)題(Multiple Travelling Salesmen Problem,MTSP)、網(wǎng)絡(luò)優(yōu)化問(wèn)題(Network Flow Optimization,NFO)、混合整數(shù)線(xiàn)性規(guī)劃(Mixed Integer Linear Programming,MILP)、協(xié)同多任務(wù)分配問(wèn)題(Cooperative Multiple Task Assignment Problem,CMTAP)等。
對(duì)于單一類(lèi)型的運(yùn)籌學(xué)問(wèn)題,例如最大流、最短路徑問(wèn)題,常常使用VRP、TSP 和 MTSP 模型。針對(duì)具體的任務(wù)需求以及任務(wù)約束,常常需要在基本的VRP、TSP 模型的基礎(chǔ)上建立相應(yīng)的擴(kuò)展模型,如考慮時(shí)間窗的 VRPTW 和 TWMTSP 模型。
NFO 以及動(dòng)態(tài) NFO 模型最早產(chǎn)生于郵遞行業(yè)的分配。其受實(shí)際物流網(wǎng)的啟發(fā),以任務(wù)執(zhí)行者為供應(yīng)商,將待分配、執(zhí)行的任務(wù)作為網(wǎng)格中的物流,以任務(wù)代價(jià)作為網(wǎng)絡(luò)流中流動(dòng)的代價(jià),建立商業(yè)供需網(wǎng)格并通過(guò)最小化網(wǎng)絡(luò)流的總代價(jià)實(shí)現(xiàn)多任務(wù)的協(xié)同分配。
MILP 模型和 CMTAP 模型主要適用于任務(wù)關(guān)系復(fù)雜、多種約束下的運(yùn)籌學(xué)問(wèn)題。MILP 模型中問(wèn)題的是由二進(jìn)制變量和連續(xù)變量共同描述的,可以有效解決任務(wù)分配中的約束問(wèn)題,CMTAP 是一種建立在 NFO 和 MILP 模型基礎(chǔ)上的組合優(yōu)化模型,能夠處理不同任務(wù)間的時(shí)序關(guān)系與促進(jìn)關(guān)系,廣泛應(yīng)用于多類(lèi)型運(yùn)籌學(xué)問(wèn)題。
運(yùn)籌學(xué)問(wèn)題在數(shù)學(xué)上是一類(lèi)組合優(yōu)化問(wèn)題,求解這類(lèi)組合優(yōu)化問(wèn)題的方法包括經(jīng)典整數(shù)規(guī)劃與現(xiàn)代智能算法。分支定界方法(Branch and Bound,BNB)是任務(wù)分配中應(yīng)用最廣泛的一種經(jīng)典整數(shù)規(guī)劃方法。BNB通過(guò)分枝-定界-剪枝,逐步縮小搜索區(qū)域,對(duì)于小規(guī)模的問(wèn)題可以在較短時(shí)間內(nèi)獲得滿(mǎn)意的可行解。然而由于任務(wù)分配問(wèn)題的NP(Non-deterministic Polynomial)特性,隨著問(wèn)題約束以及維度的增加,以BNB為首的經(jīng)典整數(shù)規(guī)劃算法難以獲得較好的可行解。相比于確定性的經(jīng)典算法,具有概率特性的智能優(yōu)化算法在高維問(wèn)題上體現(xiàn)出了一定的優(yōu)勢(shì)?,F(xiàn)代智能算法包括遺傳算法(Genetic Algorithm,GA)、差分進(jìn)化(Differential Evolution Algorithm,DEA)等進(jìn)化類(lèi)算法和粒子群優(yōu)化(Particle Swarm Optimization,PSO)、蟻群算法等群智能算法。本文主要講解一下遺傳算法在運(yùn)籌學(xué)問(wèn)題中的應(yīng)用,當(dāng)然一些局部?jī)?yōu)化算法也是可以使用的,而且在比賽時(shí)使用一些局部算法會(huì)有意想不到的驚喜,本文暫且不表,放到下一次進(jìn)行講解。
3、問(wèn)題描述
以一個(gè)任務(wù)分配為例,任務(wù)分配的優(yōu)化變量通常為整數(shù),在實(shí)際建模過(guò)程中通常有兩種表示:
一是采用分配序號(hào)向量:
二是采用0-1分配矩陣:
同時(shí)對(duì)于任務(wù)分配問(wèn)題,還需要有優(yōu)化的目標(biāo),通常為時(shí)間最優(yōu)或者成本最少。
4、遺傳算法
遺傳算法是一種全局優(yōu)化方法,理論上具備尋找到全局最優(yōu)解的能力。通常使用遺傳算法需要對(duì)問(wèn)題變量進(jìn)行編碼,由于任務(wù)分配問(wèn)題本身決策變量就是一串整數(shù),因此可以直接用決策變量作為基因編碼進(jìn)行優(yōu)化。
5、仿真結(jié)果
下面給出一個(gè)旅行商問(wèn)題的仿真計(jì)算。假設(shè)地圖上有50座城市,一個(gè)商人需要遍歷所有城市并最終回到起點(diǎn),優(yōu)化目標(biāo)為總距離最短。這個(gè)問(wèn)題的決策變量可以由1到50的排列序列的向量表示,該向量可以直接作為遺傳算法的基因編碼。在仿真中,城市位置隨機(jī)選取,種群個(gè)數(shù)為60個(gè),迭代次數(shù)為10000次。
下圖給出了50個(gè)城市的坐標(biāo)位置:
使用遺傳算法迭代過(guò)程:
最終優(yōu)化結(jié)果:
以及使用遺傳算法迭代時(shí)的適應(yīng)度曲線(xiàn):
使用matlab運(yùn)算大概只需要幾秒鐘就能算出啦。
總結(jié)
以上是生活随笔為你收集整理的数学建模之运筹学问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Maven-学习笔记05【基础-使用骨架
- 下一篇: Maven-学习笔记06【基础-Mave