數學建模新手村 習題 女子體操團體賽

2021-10-04 20:19:08 字數 2604 閱讀 2872

本人是乙個初學數學建模的大學生,正在學的有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 的含義在下文中理解錯了...