建模比賽已經過去三天了,但留校的十多天里,自己的收獲與感受依然長存於心。下面的大致流程,很多並沒有細化,下面很多情況都是在假設下進行的,比如假設飛機能夠來回運送葯品,運貨無人機就只運貨,在最大視距下偵查等。
題目下載:點擊下載
首先,因為這道題中的變量太多,我們需要對變量的數量進行減小。
一.變量設置
二.約束條件
1.從基地運輸到醫院的葯包量必須滿足醫院的需求。
2.無人機最大行駛距離能否滿足來回醫院。
三.目標函數
1.計算基地到醫院的時間:
2.我們希望時間最優(最短),則取滿足約束條件b的無人機運送航線的時間最大值,使得時間花費最長的取最小值,則總時間最短。
通過上面流程,我們通過程序計算,能夠把需求量,運送花費時間,基地位置(經緯度)等都能夠算出來。這是兩個基地的情況,我們能夠再增加一個基地,得出一個時間。將它與兩個基地進行比較,看哪一個更短。這樣一來,我們剩下的問題就是解決,派什么類型的飛機運送了。
四.通過上面,我們得出了3個基地應該是最優的情況。
我們將救援過程分為兩個過程:
- 運送急救包
- 偵查路段
1.第一階段:
a.通過醫院對各種葯物的需求量和醫院到基地的距離,建立函數和約束條件,選擇無人機的類型。
2.第二階段:
a.計算無人機掃描的圓半徑
在這里我們考慮了海拔高度。
b.建立函數,使得函數滿足無人機能夠滿足來回偵查圓的最遠位置,約束條件,在這情況下速度要盡肯能快,選出飛機類型。
為了計算運輸葯物實際需要的無人機的數量,存在每架無人機每天最多出任務次數與實際需要的無人機數量的乘積為理論上需要的無人機數量。以此我們能夠列出函數式。
c.我們以醫院為中心,5公里為半徑圓的范圍內偵查。我們將偵查情況分為兩種:
- 在基地在偵查圓內
- 基地在偵查圓外
基地在圓內
1.我們需要求無人機飛行的總路徑,我們將它分為圓內路徑長度和弧長。
a.我們能夠將圓內的每個小塊看成梯形或者矩形,微元法計算。
建立等式,梯形/矩形總面積等於偵查圓的總面積。從而,我們可以得到圓內部分的總路徑長度。
b.將圓外的轉彎弧看成圓弧,無人機掃描的半徑實際就是它的半徑,長度也就很好算出了。至於轉彎弧總的個數,我通過觀察得到
這樣,我們通過總路徑,得到需要的飛機數量。
基地在圓外
實際上,這里的總方法也是一樣的,變的是總路徑和偵查的面積,陰影部分是掃描的面積,總路徑長度,依然是陰影部分內部長度加上轉彎弧長度,不過這里還需要多出兩條切線的長度。
同樣的,這里我們也可以算出飛機需求的數量。
五.裝箱問題(背包問題)
將無人機箱,葯包箱,運貨箱三種裝入到集裝箱中的問題,類似於三維裝箱問題,不過這里需要考慮,運貨箱放在無人機箱還是集裝箱中。
這里進行模型的模擬,可以使用loadexpert或者loadmaster軟件模擬。
這里的算法可以借鑒:
文章下載:點擊進入
有想參加數學建模的,或者正在參加的朋友,歡迎加我QQ,關注我,大家一起討論交流,一起奮斗。