記得關注哦 , 考試期間持續更新ing
記得關注哦 , 考試期間持續更新ing
記得關注哦 , 考試期間持續更新ing
記得關注哦 , 考試期間持續更新ing
考慮如下的小游戲:玩家憑借一張地圖,利用初始資金購買一定數量的水和食物(包括食品和其他日常用品),從起點出發,在沙漠中行走,途中會遇到不同的天氣,也可在礦山、村莊補充資金或資源,目標是在規定時間內到達終點,并保留盡可能多的資金,
題目背景分析:首先每個人的初始資金是一定的,那么如何去分配購買水和食物,如何去進行分配可能是后續需要解決的一項問題,目標有兩個,可以說算是多目標決策,為在規定時間內到達終點,并保留盡可能多的資金,
游戲的基本規則如下:
(1)以天為基本時間單位,游戲的開始時間為第0天,玩家位于起點,玩家必須在截止日期或之前到達終點,到達終點后該玩家的游戲結束,
(2)穿越沙漠需水和食物兩種資源,它們的最小計量單位均為箱,每天玩家擁有的水和食物質量之和不能超過負重上限,若未到達終點而水或食物已耗盡,視為游戲失敗,
(3)每天的天氣為“晴朗”、“高溫”、“沙暴”三種狀況之一,沙漠中所有區域的天氣相同,
(4)每天玩家可從地圖中的某個區域到達與之相鄰的另一個區域,也可在原地停留,沙暴日必須在原地停留,
(5)玩家在原地停留一天消耗的資源數量稱為基礎消耗量,行走一天消耗的資源數量為基礎消耗量的2倍,
(6)玩家第0天可在起點處用初始資金以基準價格購買水和食物,玩家可在起點停留或回到起點,但不能多次在起點購買資源,玩家到達終點后可退回剩余的水和食物,每箱退回價格為基準價格的一半,
(7)玩家在礦山停留時,可通過挖礦獲得資金,挖礦一天獲得的資金量稱為基礎收益,如果挖礦,消耗的資源數量為基礎消耗量的3倍;如果不挖礦,消耗的資源數量為基礎消耗量,到達礦山當天不能挖礦,沙暴日也可挖礦,
(8)玩家經過或在村莊停留時可用剩余的初始資金或挖礦獲得的資金隨時購買水和食物,每箱價格為基準價格的2倍,
分析:這部分是清晰明了的規則,沒什么可以剖析的,提醒一點,解決這道題編程能力要足,最好是用java或者python,面向物件必不可少,
請根據游戲的不同設定,建立數學模型,解決以下問題,
假設只有一名玩家,在整個游戲時段內每天天氣狀況事先全部已知,試給出一般情況下玩家的最優策略,求解附件中的“第一關”和“第二關”,并將相應結果分別填入Result.xlsx,
分析:第一問就是有最優解的問題,大家一定記得在網上對對答案,不然如果和標準答案有偏差可能會影響最終的成績,整個這道題對編程的要求較高,應該是利用仿真去求最優解,
由于細節太多太亂太雜,這次的思路將以提示的方式去說明:
1 題目需要利用仿真,首先就需要將題目給出的圖用資料結構中的【鄰接表或鄰接矩陣】進行存盤,以便后續求解最優解,
2 題目中說明了目標有兩個,一是能走到終點,二是有更多的資金在終點,所以在你進行仿真時,目標就是最后留存更多的資金,提前多少天到達終點并不需要考慮,
3 玩家在選擇時分不同的區域有不同的選擇規則,但基礎規則永遠是走與留,在 留的基礎上才會產生更多選擇,所以編程需要把握這一前后關系,
4 由于資料并不多,我的建議是直接暴力將所有可能的結果都算一下,也就是窮舉法(終止條件為規定的最后一天還未到終點),最后得到的終點資金最多的即為最優解,
5 以我4中的方法,可能會對編程同學有一定難度,最后的論文效果也可能不是特別好看,論文的重心就在如何去構建仿真了,我覺得這種方法非常保險,但應該會有更好的建模方法,
6 如果不想用窮舉法推薦利用動態規劃去求解,
7 大家不要陷入誤區,就是用最短路徑,因為不能保證最短路徑就是最優解,
8 感覺B題仿真代碼十分重要,所以如果編程能力薄弱的隊盡早換題還有機會,
9 題目中給出的地圖是以矩陣形式存在的,要將其看成點(有人可能覺得是廢話,F君就怕有人不知道哇)
10 在編程時注意終止條件為:時間不超過規定時間、負重是有上限的、攜帶的消耗物不能出現負數,如果出現立即終止這次仿真,
11 最后將最優方案畫成一張圖(題目給的),不要僅僅放一個表,放圖會增色不少,畫圖用cad或者c++都可以,如果不會畫,可以直接用ppt搞,

點擊上面,然后回復2020數學建模領取本題必用工具,你懂的!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/15557.html
標籤:java
