2018年第七届数学建模国际赛小美赛B题世界杯足球赛的赛制安排解题全过程文档及程序

本文主要是介绍2018年第七届数学建模国际赛小美赛B题世界杯足球赛的赛制安排解题全过程文档及程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2018年第七届数学建模国际赛小美赛

B题 世界杯足球赛的赛制安排

原题再现:

  有32支球队参加国际足联世界杯决赛阶段的比赛。但从2026年开始,球队的数量将增加到48支。由于时间有限,一支球队不能打太多比赛。因此,国际足联提议改变比赛形式。每组将从4支球队改为3支球队,前两支球队有资格进入第二轮。为了保持比赛的激情,我们不希望有太多的比赛结果不影响球队的出线。为了比赛的公平性,我们不希望有太多的游戏认为串通对双方都有利。我们也希望比赛的最终结果不要过于包含运气因素。请分析这个问题,并给出最佳的竞争安排体系。最终结果需要包括以下问题的答案:

  1.每组球队的数量以及谁可以进入第二轮。

  2.预先安排比赛顺序的方法。

  3.决赛结果对国际足联可口可乐排名的影响。

整体求解过程概述(摘要)

  随着世界杯足球赛参赛队伍的不断扩大,比赛安排制度受到了广泛关注。因此,研究竞赛安排制度的公平性和实用性具有重要意义。本文以博弈过程为基础,重点分析了均衡、比赛顺序和结果对FIFA可口可乐排名的影响。

  关于第一个问题,我们参考现有的系统,假设两种安排,即分组阶段和淘汰阶段。一个方案是将3个小组分成一个小组。每组前两名进入第二轮。另一组则有四个小组。每组前两名和第三名前八名进入下一轮。通过建立均衡指数,讨论了每种安排的个数,并进行了均衡分析。我们模拟了1000次博弈,讨论了总均衡的均衡度以及最后16、8、4三个阶段的均衡度。结果表明,上述第一竞争系统具有较少的匹配和较高的均衡度。

  根据问题2,我们采用第一种竞赛制度。对小组赛的计分制进行了详细的阐述,得出了小组赛的胜负必须确定的结论。在这个例子中,我们分析了小组赛和淘汰赛。结果表明,为了避免各参赛队之间的勾结,保证比赛的公平性,有必要在小组赛阶段安排强队参加前两轮比赛。同时在基因敲除阶段采用交叉分布的方法。

  对于问题三,根据排名和团队排名的变化建立了影响因素,称为上升因素和下降因素。同时基于match system one,通过单局模拟,证明了博弈结果在排名上的变化可以用上升因子和下降因子来表示。我们又进行了1000次模拟,结果表明,不同的比赛结果对排名有不同的影响。通过分析影响排名上升和下降的因素,得出比赛成绩对排名的影响。

模型假设:

  比赛中各队获胜率确定,不受其他因素干扰;

  竞争过程不受外界因素干扰;

  每场比赛均由竞赛规则决定,不得弃权。

问题重述:

  我们如何确定每个小组的队伍数量以及进入第二轮的队伍?

  当我们设计一个计划时,我们必须考虑几个因素:比赛总数、公平性和得分系统。根据球队总数的增加,我们不能用过去的方法来安排整个比赛。我们参考现有的系统,假设了两种安排,即分组阶段和淘汰阶段。一个方案是将3个小组分成一个小组。每组前两名进入第二轮。另一组则有四个小组。每组前两名和第三名前八名进入下一轮。通过建立均衡指数,讨论了每种安排的个数,并进行了均衡分析。

  如何确定下一场比赛的最佳顺序?

  1) 从组匹配的角度来看:

  对于避免合谋问题,我们的解决方案是允许较高级别的团队在群体博弈阶段与其他两个团队竞争。

  2) 从淘汰赛阶段来看:

  为了减少运气因素的影响,我们保证了在第二轮比赛中与任何球队竞争的可能性。从每个级别中选择一个团队组成一个团队的随机性是显著的。

  在淘汰赛阶段,采用交叉分布的方法确定一队将面对的对手。

  影响因素的量化分析

  在不考虑比赛偶然性的情况下,根据排名和球队排名的变化建立了影响因素,即上升因素和下降因素。我们对比赛前后球队的排名进行了定性分析,并用权重来表示球队排名变化的程度。结果表明,所建立的模型能够分析决赛结果对FIFA可口可乐排名的影响。

模型的建立与求解整体论文缩略图

在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

function effect
global cocacola
global a
global G
global effall
eff=zeros(48,2);
for i=1:48b=cocacola(i,2)c=find(a(:,2)==b)if 1<=i&&i<=16if 1<=c&&c<=16d=(i-c)*1;if d>0eff(i,1)=eff(i,1)+d;else eff(i,2)=eff(i,2)+d;endelse if 17<=c&&c<=32d=(i-16)*1+(16-c)*4;eff(i,2)=eff(i,2)+d;else if 33<=c&&c<=48d=(i-16)*1-16*4+(32-c)*8;eff(i,2)=eff(i,2)+d;endendendendif 17<=i&&i<=32if 1<=c&&c<=16d=(i-17)*1+(17-c)*4;eff(i,1)=eff(i,1)+d;else if 17<=c&&c<=32d=(i-c)*1;if d>0eff(i,1)=eff(i,1)+d;else eff(i,2)=eff(i,2)+d;endelse if 33<=c&&c<=48d=(32-i)*1+(c-32)*4;eff(i,2)=eff(i,2)+d;endendendendif 33<=i&&i<=48if 1<=c&&c<=16d=(i-33)*1+16*4+(17-c)*8;eff(i,1)=eff(i,1)+d;else if 17<=c&&c<=32d=(i-33)*1+(33-c)*4;eff(i,1)=eff(i,1)+d;else if 33<=c&&c<=48d=(i-c)*1;if d>0eff(i,1)=eff(i,1)+d;else eff(i,2)=eff(i,2)+d;endendendendend
endeffall(G,:)=sum(eff);
function Groupcompetition
global team
global xiaozu
global taotai16
for i=1:16a(1:3,:)=xiaozu(3*i-2:3*i,:);b=rand*(a(1,4)+a(2,4));if b<=a(1,4)a(1,5)=a(1,2);        %第一次 获胜队伍a(1,6)=a(2,2);        %第一次 失败队伍a(1,7)=a(1,7)+1;       %1队加分c=round(1+2*rand);  %进球d=round(c*rand-1);    %丢球a(1,8)=c+a(1,8);   %1队进球a(1,9)=d+a(1,9);      %1队丢球a(2,8)=d+a(2,8);     %2队进球a(2,9)=c+a(2,9);      %2队丢球elsea(1,6)=a(1,2);a(1,5)=a(2,2);a(2,7)=a(2,7)+1;c=round(1+2*rand);  %进球d=round((c-1)*rand-1);    %丢球a(2,8)=c+a(2,8);   %2队进球a(2,9)=d+a(2,9);      %2队丢球a(1,8)=d+a(1,8);     %1队进球a(1,9)=c+a(1,9);      %1队丢球      endb=rand*(a(1,4)+a(3,4));if b<=a(1,4)a(2,5)=a(1,2);a(2,6)=a(3,2);a(1,7)=a(1,7)+1;c=round(1+2*rand);  %进球d=round((c-1)*rand);    %丢球a(1,8)=c+a(1,8);   %1队进球a(1,9)=d+a(1,9);      %1队丢球a(3,8)=d+a(3,8);     %3队进球a(3,9)=c+a(3,9);      %3队丢球elsea(2,6)=a(1,2);a(2,5)=a(3,2);a(3,7)=a(3,7)+1;c=round(1+2*rand);  %进球d=round((c-1)*rand-1);    %丢球a(3,8)=c+a(3,8);   %3队进球a(3,9)=d+a(3,9);      %3队丢球a(1,8)=d+a(1,8);     %1队进球a(1,9)=c+a(1,9);      %1队丢球endb=rand*(a(2,4)+a(3,4));if b<=a(2,4)a(3,5)=a(2,2);a(3,6)=a(3,2);a(2,7)=a(2,7)+1;c=round(1+2*rand);  %进球d=round((c-1)*rand-1);    %丢球a(2,8)=c+a(2,8);   %2队进球a(2,9)=d+a(2,9);      %2队丢球a(3,8)=d+a(3,8);     %3队进球a(3,9)=c+a(3,9);      %3队丢球elsea(3,6)=a(1,2);a(3,5)=a(2,2);a(3,7)=a(3,7)+1;c=round(1+2*rand);  %进球d=round((c-1)*rand-1);    %丢球a(3,8)=c+a(3,8);   %2队进球a(3,9)=d+a(3,9);      %2队丢球a(2,8)=d+a(2,8);     %3队进球a(2,9)=c+a(2,9);      %3队丢球enda(:,10)=a(:,8)-a(:,9);    %净胜球for j=1:3m=a(j,5);n=find(team(:,1)==m);team(n,5)=team(n,5)+1;endxiaozu(3*i-2:3*i,:)=a;for j=1:3if a(j,7)==2taotai16(2*i-1,:)=a(j,:);for k=1:3if a(k,7)==1taotai16(2*i,:)=a(k,:);endendendendfor m=1:2for k=m+1:3if a(m,10)<a(k,10)e=a(m,:);a(m,:)=a(k,:);a(k,:)=e;endendend
taotai16(2*i-1,:)=a(1,:);
taotai16(2*i,:)=a(2,:);
endtaotai16;xiaozu;team;
xuni=taotai16;
for i=1:32for j=i:32if xuni(i,4)<xuni(j,4)a=xuni(i,:);xuni(i,:)=xuni(j,:);xuni(j,:)=a;endend
end
for i=1:32if (1<=i)&&(i<=8)   xuni(i,3)=1;else if (9<=i)&&(i<=16)xuni(i,3)=2;else if (17<=i)&&(i<=24)xuni(i,3)=3;else if (25<=i)&&(i<=32)  xuni(i,3)=4;endendendend
end
for i=1:32a=find(xuni(i,2)==taotai16(:,2));taotai16(a,11)=xuni(i,3);
end
xuni;
taotai16;team;
function Semifinal
global team
global taotai2
global taotaia=rand*(taotai2(1,4)+taotai2(3,4));if a<taotai2(1,4)taotai(1,:)= taotai2(1,:);taotai(3,:)=taotai2(3,:);elsetaotai(1,:)= taotai2(3,:);taotai(3,:)=taotai2(1,:);enda=rand*(taotai2(2,4)+taotai2(4,4));if a<taotai2(2,4)taotai(2,:)= taotai2(2,:);taotai(4,:)=taotai2(4,:);elsetaotai(2,:)= taotai2(4,:);taotai(4,:)=taotai2(2,:);end
for j=1:2m=taotai(j,2);n=find(team(:,1)==m);team(n,9)=team(n,9)+1;
end
taotai2;
taotai;
team;
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

这篇关于2018年第七届数学建模国际赛小美赛B题世界杯足球赛的赛制安排解题全过程文档及程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/517488

相关文章

maven私服配置全过程

《maven私服配置全过程》:本文主要介绍maven私服配置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用Nexus作为 公司maven私服maven 私服setttings配置maven项目 pom配置测试效果总结使用Nexus作为 公司maven私

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

python编写朋克风格的天气查询程序

《python编写朋克风格的天气查询程序》这篇文章主要为大家详细介绍了一个基于Python的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open-MeteoAPI... 目录工具介绍工具使用说明python脚本内容如何运行脚本工具介绍这个天气查询工具是一个基于 Pyt

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程

Linux下安装Anaconda3全过程

《Linux下安装Anaconda3全过程》:本文主要介绍Linux下安装Anaconda3全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录简介环境下载安装一、找到下载好的文件名为Anaconda3-2018.12-linux-x86_64的安装包二、或者通

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

Python程序的文件头部声明小结

《Python程序的文件头部声明小结》在Python文件的顶部声明编码通常是必须的,尤其是在处理非ASCII字符时,下面就来介绍一下两种头部文件声明,具有一定的参考价值,感兴趣的可以了解一下... 目录一、# coding=utf-8二、#!/usr/bin/env python三、运行Python程序四、