本人是乙個初學數學建模的大學生,正在學的有matlab和lingo。已經遇到很多困難,有些解決了,有些卻在網上蒐羅一番後要麼無解答,要麼簡略,所以有此系列部落格,以乙個剛入門的學習者的視角,較詳細地記錄我的問題和解決方法,供後來者參考。
—————————————————————————————————————————————
—————————————————————————————————————————————
首先是一道習題(部落格亦興起,順序有問題,包涵)
有一場由四個專案(高低槓、平衡木、跳馬、自由體操) 組成的女子體操團體賽,賽程規定:每個隊至多允許10 名運動員參賽,每乙個專案可以有6 名選手參加。每個選手參賽的成績評分從高到低依次為:10;9.9;9.8;…;0.1;0。每個代表隊的總分是參賽選手所得總分之和,總分最多的代表隊為優勝者。此外,還規定每個運動員只能參加全能比賽(四項全參加) 與單項比賽這兩類中的一類,參加單項比賽的每個運動員至多只能參加三個單項。每個隊應有4 人參加全能比賽,其餘運動員參加單項比賽。
現某代表隊的教練已經對其所帶領的 10 名運動員參加各個專案的成績進行了大量測試,教練發現每個運動員在每個單項上的成績穩定在4 個得分上(見表3) ,她們得到這些成績的相應概率也由統計得出(見表中第二個資料。例如:8.4~0.15 表示取得8.4 分的概率為0.15)。試解答以下問題:
(1)每個選手的各單項得分按最悲觀估算,在此前提下,請為該隊排出乙個出場陣容,使該隊團體總分盡可能高;每個選手的各單項得分按均值估算,在此前提下,請為該隊排出乙個出場陣容,使該隊團體總分盡可能高。
(2)若對以往的資料及近期各種資訊進行分析得到:本次奪冠的團體總分估計為不少於236.2 分,該隊為了奪冠應排出怎樣的陣容?以該陣容出戰,其奪冠的前景如何?得分前景(即期望值)又如何?它有90%的把握戰勝怎樣水平的對手?
第一問意為當派出選手得分為可得的最低時,為保證總分最多,該如何排除選手。
有約束條件:1.有四名選手四項全部參加2.每項有六人參加(為得分最多,結果一定是每項派六名選手,故這裡直接看成每項派出六名選手)
(如有侵權,聯絡刪去)
看完後,沒大看懂,只是大概了解其做法是將全項和單項選手分開求分,其解決單項選手分的方法給我通過了思路,即用∏(j=1~10)aij 來確定那幾個選手是全項,如果是全項選手,則為1,如果不是則為0。(aij j選手參加i項 參加為1 不參加為0)
於是對aij矩陣進行約束,
1.∑(i=1~4)aij=6 每項六個選手
2.∑(i=1~ 4)∏(j=1~10)aij=4 只有四個全項選手
這樣就可以保證a矩陣有四個列向量是滿的,其他的1隨意填,但是不會滿。
下面貼**(lingo)
sets:
item/t1.
.t4/
:t;/*四項運動*/
ath/a1.
.a10/
:a;/*十個選手*/
links
(item,ath)
:fen,can;
/*fen是分數 can是參加與否*/
endsets
max=@sum
(links:fen*can)
;/*目標函式*/
@for
(item
(i):
@sum
(ath
(j):
can(i,j))=
6);/*每項六個人的約束*/
@sum
(ath
(j):@prod
(item
(i):
can(i,j)))
=4;/*四個全項選手的約束*/
@for
(links:@bin
(can));
/*01約束*/
data:
fen=
8.49.3
8.48.1
8.49.4
9.58.4
8.49
8.48.4
8.18.7
98.7
8.48.8
8.48.1
9.18.4
8.49
8.38.5
8.38.7
8.48.2
8.78.9
9.58.4
9.48.4
8.48.2
9.39.1
;enddata
end
結果展示:
本人初入數模大門,學識實在有限,其中諸多疏漏,望各位讀者指正批評
希望本文對你有幫助
走出 Vue 新手村
vue 的學習曲線平緩,入門很簡單,所以後發奪人,爭取到一大批支持者,我也是其中之一。但是因為隱蔽了很多細節,所以我也沒少踩坑,撓頭拍桌,不厭其煩。如今,我終於突破屏障,遇到大部分問題,都能舉一反三,快速定位 快速解決。這段過程,難免追本溯源,窮究細節。我希望通過這次分享,把我的經驗和收穫傳達給大家...
新手村之迴圈!迴圈!迴圈!
p1008 三連擊 總 優美的暴力或打表。var i,j,a,b,c longint v array 0.10 of boolean f boolean begin for i 123 to345 dobegin fillchar v,sizeof v 0 a i b i 2 c i 3 for j...
新手村 迴圈 小魚的航程
難受,這題居然翻車了。這題一開始的時候,我想錯了演算法,我是想著只要統計 前7天裡面週末天數 後7天裡面的週末天數 中間的週末天數 總週末天數,其實這個想法沒錯,但是我沒有想到正確的算中間7天的週末天數的方法。後來寫的時候發現結果總是不對,仔細檢查後發現是自己把兩個變數x,n 的含義在下文中理解錯了...