赛程安排的数学模型.docx
《赛程安排的数学模型.docx》由会员分享,可在线阅读,更多相关《赛程安排的数学模型.docx(20页珍藏版)》请在冰豆网上搜索。
![赛程安排的数学模型.docx](https://file1.bdocx.com/fileroot1/2023-6/9/3b9bcd3d-9196-430a-9e56-fcac46a5816b/3b9bcd3d-9196-430a-9e56-fcac46a5816b1.gif)
赛程安排的数学模型
兰州工业学院第一届大学生数学建模竞赛
参赛基本信息
承诺书
我们仔细阅读了大学生数学建模竞赛的竞赛规则.
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
基本信息
题目号
(A、B或C)
B
评阅编号(由组委会统一填写)
姓名(打印)
班级
电话
本人签名
崔有军
过控11-2班
189190*****
赛程安排的数学模型
篮球赛赛程编制方法
问题重述:
针对第一届职工篮球比赛流程,11支男队进行单循环比赛,比赛的赛程中,几乎所有的球队都有“背靠背”比赛,即连续两天天都有比赛,难免因体力恢复不及而影响了比赛成绩。
所以需要将比赛流程进行改进,以克服这种情况,为此提出问题,以求最好的比赛流程。
问题一假设有n支球队进行单循环比赛,每天只进行1场,则各队每两场比赛中间相隔的场次数(天)的上限是多少?
问题二.在达到问题1的上限的条件下,给出一般的赛程编制算法,并具体给出n=5,n=6,n=10,n=11的赛程。
问题三假设n支球队单循环比赛,每天比赛m(m>1)场,则各队每两场比赛中间相隔的场次数(天)的上限又是多少?
并给出当n=11,m=2和n=11,m=3的满足上限要求的赛程。
问题四如果比赛仅在周内(周1至周5)进行,对于n=11,m=3的情况,能否安排某种赛程以克服“背靠背”问题(注:
星期一和星期五的比赛不算“背靠背”)。
问题五.除了每两场比赛间相隔场次数这一指标外,你还能给出哪些指标来衡量一个赛程的优劣性,并以此比较附件中的赛程与你所给赛程的优劣.
关键字:
职工篮球背靠背体力优劣性单循环比赛
问题分析:
篮球比赛赛程,由于体力消耗量大,所以必须进行许多场的比赛,让比赛队员有较好的发挥能力,由于队员体力是否充沛,会影响比赛成绩的优劣性。
所以如何利用两场比赛之间的空隙的时间进行体力休整,使体力充分恢复,是一个直接的因素。
所以进行赛程安排要做到公平,公正的原则。
问题一n支球队进行单循环比赛,每天只进行一场时,怎样安排赛程,才可以使队员体力恢复好,才是最佳答案。
问题二.在达到问题一的上限的条件下,写出一般的赛程编制算法,并给出n=5,n=6,n=10,n=11的赛程,以检验次安排是否为最佳答案。
问题三在问题一,问题二成立的情况下,将每天比赛场数设为未知量m(m>1)场,以求各队每两场比赛中间相隔的场次数(天)的上限,列出函数表达式,并求n=11,m=2和n=11,m=3的满足上限要求的赛程,检验表达式的正确性,得出结果,应用于实际,已达到建模的必要性。
问题四在问题三的条件下,对n=11,m=3的情况,编程赛程,实际应用,为篮球比赛当中的不利条件克服掉,即克服“背靠背”问题,以求较公平,公正的原则。
问题五.将问题近一步升华,以得出更加公平,公正的原则。
解决篮球比赛当中不利因素吗,应对实际问题,将理论问题实际化。
问题假设:
假设一:
每场比赛当中天气理想化,不影响比赛的连续进行,不会中断;
假设二:
裁判对每一场都是公平的,比赛场地都一样。
假设三:
编程组不充在偏向的现象。
符号说明:
(m,n):
比赛球队队号m,n=(1,2,3,···n);
n:
比赛球队总数(n=1,2,3,…,n);
N:
比赛场数(N=1,2,3,…,N);
Pmax:
相隔场次数上线;
M5:
表示n=5的赛程;
M6:
表示n=6的赛程
M10:
表示n=10的赛程
M11:
表示n=11的赛程;
E(ui,uj):
表示第ui支球队与第uj支球队的比赛;
Mn:
表示比赛轮数n。
R:
平均相隔场次数;
f:
总体最大偏差;
g:
球队最大偏差;
建立模型:
由于各队比赛间隔数不尽相同,对n队球队进行安排赛程,需从不同角度考虑,所以将问题简化,只考虑间隔上限,对此安排赛程。
(1)假设有n(=2p-1)(n,p=1,2,3,···,n)支球队建立模型,将所有要进行的N=n*(n-1)/2场比赛平均分为Mn=n-1轮每轮进行n场比赛,并且一次排开进行轮流比赛。
(1)
(2)
第一轮比赛
说明:
将进行第一轮比赛的2p-1个球队,所对应上面图园
(1)进行顺时针编程,先以(1,2)(3,4)...(2p-3,2p-2)依次进行场次数编程,再将(2p-1,1)(2,3)…(2p-2,2p-1)进行编程,一共编程第一轮比赛场数为n-1场比赛,第一轮就完成了。
天数
赛程
天数
赛程
1
2
3
···
(n-5)/2
(n-3)/2
(1,2)
(3,4)
(5,6)
···
(2p-4,2p-3)
(2p-3,2p-2)
(n-1)/2+1
(n-1)/2+2
(n-1)/2+3
···
n-2
n-1
(2p-1,1)
(2,3)
(4,5)
···
(2p-4,2p-3)
(2p-2,2p-1)
第二轮比赛
说明:
将进行第二轮比赛的2p-1个球队,所对应上面图园
(1)进行顺时针填空法进行编程,按照相邻的四个队进行(1,3)队,(2,4)队的比赛安排方式,依次安排(1,3)(2,4)...(2p-6,2p-2)(2p-3,2p-1)各队进行场次数编程,再将(2p-2,1)(2p-1,2)(3,5)(4,6)…(2p-5,2p-3)(2p-4,2p-2)进行编程,一共编程第二轮比赛场数为2n-1场比赛,第二轮就完成了。
天数
赛程
天数
赛程
1
2
3
···
(n-5)/2
(n-3)/2
(1,3)
(2,4)
(5,7)
···
(2p-6,2p-4)
(2p-3,2p-1)
(n-1)/2(n-1)/2+1
(n-1)/2+2
···
n-2
n-1
(2p-2,1)
(2p-1,2)
(3,5)
···
(2p-5,2p-3)
(2p-4,2p-2)
第三轮比赛
说明:
将进行第三轮比赛的2p-1个球队,所对应上面图园
(1)进行顺时针填空法进行编程,按照相邻的六个队进行(1,4)队,(2,5)(3,6)队的比赛方式,依次安排(1,4)(2,5)...(2p-6,2p-3)(进行编程,一共编程第三轮比赛场数为2n-1场比赛,第三轮就完成了。
······
第年N((n-1)/2)轮比赛
说明:
将进行第(n-1)/2轮比赛的2p-1个球队,所对应上面图园
(1)进行顺时针填空法进行编程,将对应的元素依次编程为,(1,p-1)(2,p)...(p-1,2p-2)(p,2p-1)…(2p-2,p-2)(2p-1,p-1)进行编程比赛,一共编程有比赛场数为n-1场比赛,最后一轮就完成了
天数
赛程
天数
赛程
1
2
3
···
(n-5)/2
(n-3)/2
(1,p-1)
(2,p)
(3,p+1)
···
(p-2,2p-3)
(p-1,2p-2)
(n-1)/2(n-1)/2+1
(n-1)/2+2
···
n-2
n-1
(p,2p-1)
(p+1,1)
(p+2,2)
···
(2p-2,p-2)
(2p-1,p-1)
由以上图论编程,不难观察发现该(n-1)/2轮比赛中任何一个队在两场比赛当中都可能会出现相隔至少一场的赛程,还会出现相隔(n-3)/2的情况,而且相隔(n-3)/2的情况的场数最多,相隔数量最大,所以这样的安排是最佳安排,且上限Pmax=(n-3)/2
(2)假设有n(=2p)(n,p=1,2,3,•••,n)支球队建立模型,将所有要进行的N=n(n-1)场比赛平均分为n-1轮进行Mn=2n-1场比赛,并且一次排开进行轮流比赛。
第一轮比赛
说明:
将进行比赛的其中2p-1个球队,在所对应上图园
(2)进行数据整理为(2,3,4,…,2p),将n=1提出进行编程2p场赛的方法,将n=1队与图上的数据队号顺次安排,后进行在图上安排赛程,可编程为(1,2)(3,2p)(4,2p-1)...(p-2,p+1)(p,p-1)(1,3)(2,4)(5,2p)…(p-1,p+1)(p,p+1)各队进行第一轮2p场编程赛,第一轮就完了。
天数
赛程
天数
赛程
1
2
3
···
(n-5)/2
(n-3)/2
(1,2)
(3,2p)
(4,2p-1)
···
(p-2,p+1)
(p,p-1)
(n-1)/2
(n-1)/+2+1
(n-2)/2+2
···
n-2
n-1
(1,3)
(2,4)
(5,2p)
···
(p-1,p+1)
(p,p+1)
第二轮比赛
说明:
将进行比赛的2p个队的其中2p-1个球队,在所对应上图园
(2)进行数据整理为(2,3,4,…,2p),将n=1提出进行编程2p场赛的方法,同第一轮一样,将n=1队与图上的数据队号顺次安排,后进行在图上安排赛程,可编程为(1,4)(2,5)…(7,2p-1)
(8,2p-2)...(p,p+1)(p+1,p+2)(1,5)(2,6)…(10,2p-1)(11,2p-2)…(p-1,p+4)(p+2,p+3)各队进行第e二轮2p场编程赛,第二轮就完了。
天数
赛程
天数
赛程
1
2
3
···
(n-1)/-2
(n-1)/-1
(1,4)
(3,5)
(6,2)
···
(p,p+3)
(p+1,p+1)
(n-1)/2
(n-1)/2+1
(n-1)/2+2
···
n-2
n-1
(1,5)
(4,6)
(3,7)
···
(p-1,p+4)
(p+2,p+3)
第三轮比赛
说明:
将进行比赛的2p个队的其中2p-1个球队,在所对应上图园
(2)进行数据整理为(2,3,4,…,2p),将n=1提出进行编程2p场赛的方法,同第一轮,第二轮一样,将n=1队与图上的数据队号顺次安排,后进行在图上安排赛程…
······
说明:
将进行比赛的2p个队的其中2p-1个球队,在所对应上图园
(2)进行数据整理为(2,3,4,…,2p),将n=1提出进行编程2p场赛的方法,同前面一样,将n=1队与图上的数据队号顺次安排,后进行在图上安排赛程,可编程为(1,2p-1)(2,2p-2)…(p-2,p-1)(1,p-1)…(p-1,p-4)(p-2,p-3)各队进行最后轮2p场编程赛,最后一轮就完了。
第M(n/2)轮比赛
天数
赛程
天数
赛程
1
2
3
···
(n-5)/2
(n-3)/2
(1,2p)
(2,2p-1)
(3,2p-2)
···
(p-3,p)
(p-1,p-2)
(n-1)/2
(n-1)/2+1
(n-1)/2+2
···
n-2
n-1
(1,2p-1)
(2,2p-2)
(3,2p-3)
···
(p-4,p-1)
(p,-3p-2)
由以上编程和图论,可以观察发现该n/2轮比赛中任何一个队在两场比赛当中都可能会出现相隔至少数场的赛程,还会出现相隔(n-2)/2和(n-4)、2的情况,而且相隔(n-2)/2的情况的相隔数量最大,所以这样的安排是最佳安排,且上限Pmax=(n-2)/2
所以当n支球队比赛时,各队每两场比赛中相隔的场次数的上限是Pmax=(n-2)/2或(n-3)/2.
2.依照问题一给出的赛程编程则有
当n(=2p-1)(n,p=1,2,3,•••,n)支球队是可编程为
第一轮比赛
天数
赛程
天数
赛程
1
2
3
···
(n-5)/2
(n-3)/2
(1,2)
(3,4)
(5,6)
···
(2p-4,2p-3)
(2p-3,2p-2)
(n-1)/2
(n-1)/2+1
(n-1)/2+2
···
n-2
n-1
(2p-1,1)
(2,3)
(4,5)
···
(2p-4,2p-3)
(2p-2,2p-1)
第二轮比赛
天数
赛程
天数
赛程
1
2
3
···
(n-5)/2
(n-3)/2
(1,3)
(2,4)
(5,7)
···
(2p-6,2p-4)
(2p-3,2p-1)
(n-1)/2(n-1)/2+1
(n-1)/2+2
···
n-2
n-1
(2p-2,1)
(2p-1,2)
(3,5)
···
(2p-5,2p-3)
(2p-4,2p-2)
······
第年N((n-1)/2)轮比赛
天数
赛程
天数
赛程
1
2
3
···
(n-5)/2
(n-3)/2
(1,p-1)
(2,p)
(3,p+1)
···
(p-2,2p-3)
(p-1,2p-2)
(n-1)/2
(n-1)/2+1
(n-1)/2+2
···
n-2
n-1
(p,2p-1)
(p+1,1)
(p+2,2)
···
(2p-2,p-2)
(2p-1,p-1)
当n(=2p)(n,p=1,2,3,•••,n)支球队是可编程为第一轮比赛
第一轮比赛
天数
赛程
天数
赛程
1
2
3
···
(n-5)/2
(n-3)/2
(1,2)
(3,2p)
(4,2p-1)
···
(p-2,p+1)
(p,p-1)
(n-1)/2(n-1)/2+1
(n-1)/2+2
···
n-2
n-1
(1,3)
(2,4)
(5,2p)
···
(p-1,p+1)
(p,p+1)
第二轮比赛
天数
赛程
天数
赛程
1
2
3
···
(n-5)/2
(n-3)/2
(1,3)
(2,4)
(5,7)
···
(2p-6,2p-4)
(2p-3,2p-1)
(n-1)/2
(n-1)/2+1
(n-1)/2+2
···
n-2
n-1
(2p-2,1)
(2p-1,2)
(3,5)
···
(2p-5,2p-3)
(2p-4,2p-2)
······
第M(n/2)轮比赛
天数
赛程
天数
赛程
1
2
3
···
(n-5)/2
(n-3)/2
(1,2p)
(2,2p-1)
(3,2p-2)
···
(p-3,p)
(p-1,p-2)
(n-1)/2
(n-1)/2+1
(n-1)/2+2
···
n-2
n-1
(1,2p-1)
(2,2p-2)
(3,2p-3)
···
(p-4,p-1)
(p,-3p-2)
(2)据以上条件的编程方法,可将n=5,n=6,n=11,n=10的数值代入编程法则进行编程,以验证数据,检查结果。
编程当n=5时的赛程
M1=(1,2)(3,4)
M2=(5,1)(2,3)(4,5)
M3=(1,3)(4,1)
M4=(2,4)(5,2)(3,5)
编程当n=6时的赛程
M1=(1,2)(3,6)(4,5)
M2=(1,3)(4,2)(5,6)
M3=(1,4)(5,3)(6,2)
M4=(1,5)(6,4)(2,3)
M5=(1,6)(2,5)(3,4)
编程当n=10时的赛程
M1=(1,2)(3,10)(4,9)(5,8)(6,7)
M2=(1,3)(4,2)(5,10)(6,9)(7,8)
M3=(1,4)(5,3)(6,2)(7,10)(8,9)
M4=(1,5)(5,4)(7,3)(8,2)(9,10)
M5=(1,6)(5,7)(8,4)(9,3)(10,2)
M6=(1,7)(6,8)(9,5)(10,4)(2,3)
M7=(1,8)(7,9)(10,6)(2,5)(3,4)
M8=(1,9)(8,10)(2,7)(3,6)(4,5)
M9=(1,10)(9,2)(3,8)(4,7)(5,6)
编程当n=11时的赛程
M1=(1,2)(3,4)(5,6)(7,8)(9,10)
M2=(1,11)(2,3)(4,5)(6,7)(8,9)(10,11)
M3=(1,3)(2,4)(5,7)(9,11)(8,6)
M4=(1,10)(11,2)(3,5)(4,6)(7,9)(8,10)
M5=(1,4)(2,5)(3,6)(7,10)(8,11)
M6=(1,9)(10,2)(11,3)(4,7)(5,8)(6,9)
M7=(1,5)(2,6)(3,7)(4,8)(5,9)(7,11)
M8=(1,8)(9,2)(10,3)(11,4)(6,10)
M9=(1,6)(2,7)(3,8)(4,9)(5,10)(6,11)
M10=(7,1)(8,2)(9,3)(10,4)(11,5)
3假设1:
n(=2p-1)支球队进行单循环赛,每天比赛m(m>1)场,各队每两场比赛中间相隔的场次数(天)的上限是(n-3)/(2m).
证明:
将2p-1支球队进行编程,如第二问编程,在进行排列,将编程的比赛场次数记为Nn,记第M对为(Mi,Mj)
则N1={(1,2)(3,4)…(M1,M1)}
N2={(M1,M1)…(M2,M2)}
N3={(M2,M2)…(M3,M3)}
……
Nn={(,)…(2p-1,p-1)}
一共进行Nn场比赛且可得有Nn=[n(n-1)]/(2M),因为两两对阵可进行[n(n-1)]/2场比赛,且若每天进行一场比赛,有上限是(n-3)/2,所以当每天进行M比赛时,则由于比赛总场数不变,而比赛时间相应缩短为【n(n-1)】/(2M),既有比赛场数之比约等于上限数比,
所以得出;Pmax=(n-3)/n2M
假设2:
n(=2p-1)支球队进行单循环赛,每天比赛m(m>1)场,各队每两场比赛中间相隔的场次数(天)的上限是(n-4)/(2m).
证明:
将2p支球队进行编程,如第二问编程,在进行排列,将编程的比赛场次数记为Nn,记第M对为(,)
则N1={(1,2)(3,2p)…(,)}
N2={(,)…(,)}
N3={(,)…(,)}
……
Nn={(,)…(p+2,p+3)}
一共进行Nn场比赛且可得有Nn=[n(n-1)]/(2M),因为两两对阵可进行[n(n-1)]/2场比赛,且若每天进行一场比赛,有上限是(n-2)/2,所以当每天进行M比赛时,则由于比赛总场数不变,而比赛时间相应缩短为【n(n-1)】/(2M),既有比赛场数之比约等于上限数比,
所以得出;Pmax=(n-2)/(2Mn)
(2)据以上条件的编程方法,可将n=11;m=2,n=11;m=3的数值代入编程法则进行编程,以验证数据,检查结果。
编程当n=11;m=2时的赛程
M1={(1,2)(3,4)}M2={(5,6)(7,8)}
M3={(9,10)(1,11)}M4={(2,3)(4,5)}
M5={(6,7)(8,9)}M6={(10,11)(1,3)}
M7={(2,4)(5,7)}M8={(9,11)(8,6)}
M9={(1,10)(11,2)}M10={(3,5)(4,6)}
M11={(7,9)(8,10)}M12={(1,4)(2,5)}
M13={(3,6)(7,10)}M14={(8,11)(1,9)}
M15={(10,2)(11,3)}M16={(4,7)(5,8)}
M17={(6,9)(1,5)}M18={(2,6)(3,7)}
M19={(4,8)(5,9)}M20={(6,10)(1,8)}
M21={(9,2)(10,3)}M22={(11,4)(7,11)}
M23={(1,6)(2,7)}M24={(3,8)(4,9)}
M25={(5,10)(6,11)}
编程当n=11;m=3时的赛程
M1={(1,2)(3,4)(5,6)}M2={(7,8)(9,10)(1,11)}
M3={(2,3)(4,5)(6,7)}M4={(8,9)(10,11)(1,3)}
M5={(2,4)(5,7)(9,11)}M6={(8,6)(1,10)(11,2)}
M7={(3,5)(4,6)(7,9)}M8={(8,10)(1,4)(2,5)}
M9={(3,6)(7,10)(8,11)}M10={(1,9)(10,2)(11,3)}
M11={(4,7)(5,8)(6,9)}M12={(1,5)(2,6)(3,7)}
M13={(4,8)(5,9)(6,10)}M14={(1,8)(9,2)(10,3)}
M15={(11,4)(1,6))(7,11)}M16={(2,7)(3,8)(4,9)}
M17={(5,10)(6,11)(7,1)}M18={(8,2)(9,3)(10,4)}
M19={(11,5)}
4如果比赛仅在周内(周1至周5)进行,对于n=11,m=3的
情况,进行安排,以克服“背靠背”问题。
但是据第三问的分析可得:
第一周
M1={(1,2)(3,4)(5,6)}M2={(7,8)(9,10)(1,11)}
M3={(2,3)(4,5)(6,7)}M4={(8,9)(10,11)(1,3)}
M5={(2,4)(5,7)(9,11)}
第二周
M6={(8,6)(1,10)(11,2)}M7={(3,5)(4,6)(7,9)}M8={(8,10)(1,4)(2,5)}M9={(3,6)(7,10)(8,11)}M10={(1,9)(10,2)(11,3)}
第三周
M11={(4,7)(5,8)(6,9)}M12={(1,5)(2,6)(3,7)}M13={(4,8)(5,9)(6,10)}M14={(1,8)(9,2)(10,3)}M15={(11,4)(1,6))(7,11)}
第四周
M16={(2,7)(3,8)(4,9)}M17={(5,10)(6,11)(7,1)}
M18={(8,2)(9,3)(10,4)}M19={(11,5)}
编程依然无法克服这种困难,最公平的编程就是,没有连续几天都有比赛的情况,就是最佳方案了。
5)除了每两场比赛间相隔场次数这一指标外,采用其他方案来衡量一个赛程的优劣性,以比较附件中的赛程与你所给赛程的优劣.
摘要
除两场比赛间的相隔场次数这一指标外,还有当两球队的比赛总间隔
相等时,最大间隔与最小间隔的差值越小其公平性就越合理
关键字:
场次数最大偏差,平均相隔场数
1)平均相隔场数
记第i队第j个相隔场数Cij(i=1,2,3,,…n,j=1,2,3,,…(n-1)),则说明平均相隔场数为R是赛程整体意义下的指标,他越大越好。
检查n=10的赛程,得r=3而,