2024华东杯数学建模

2024华东杯数学建模
BeatenA题 比赛出场顺序问题
排列组合,组合优化,模拟
第一问 最优出场顺序
(1)确定我方球员的最优出场顺序,以便在对抗固定对方出场顺序(B1, B2, B3, B4, B5)时达到最高的胜率。
我们需要将提供的历史对抗数据(表A-1)转化为更易于分析的格式,每个对抗组合的胜负统计。
(2)对每个我方可能的双打组合与对方的双打组合的胜率进行计算。这涉及到统计每种组合在历史对抗中的胜利次数和总比赛次数,然后计算胜率。
(3)模拟所有可能的出场顺序
由于问题涉及到在一个既定对方出场顺序下的最优我方出场顺序,可以通过穷举法来处理:
使用排列组合生成我方所有可能的出场顺序。
为每个可能的出场顺序计算预期的胜率。
(4)选择最优顺序
通过比较所有可能出场顺序的总胜率,选择胜率最高的出场顺序
综上,第一问的步骤就是先整理数据->计算每个组合的胜率->穷举所有可能的出场顺序
多句嘴,去年校赛就有一道类似的题,难绷^^
第二问 针对对抗策略的模拟
对于问题2中的动态调整策略,可以使用蒙特卡洛模拟来评估不同出场顺序对胜率的影响。通过大量模拟随机的比赛结果,可以统计在不同对手策略下的胜率分布。
这里提到蒙特卡洛模拟
蒙特卡洛模拟
蒙特卡洛模拟可以用来评估不同出场顺序对比赛结果的影响,当对手采用针对你们的原计划顺序的最优策略时,评估不同调整策略的有效性。
** 如何使用蒙特卡洛模拟解决问题 **
1.定义问题和参数:
定义每个球员之间的对抗胜率。这些胜率可以基于历史数据或假设数据。
确定对手的三种可能的最优出场顺序。
2.模拟比赛过程:
对于每种可能的我方出场顺序,模拟与对方三种顺序的多次比赛。
在每次模拟中,根据设定或估计的胜率来随机决定比赛的胜负。
3.统计分析:
计算每种我方出场顺序在模拟中对抗每种对方顺序时的平均胜率。
汇总统计数据,找出平均胜率最高的出场顺序。
4.优化策略:
基于模拟结果优化我方出场顺序。
可能需要多次迭代,调整胜率参数或测试不同的出场顺序。
python代码
1 | import random |
ok这里还有其他选择,例如运筹学中的博弈论,遗传算法,时间原因不过多赘述。自己选择~
第三问 稳定性分析
第三个问题考虑了新的变化,即新增两名选手(A6和B6),并探索是否存在一种稳定的出场顺序,使得无论对方如何调整出场顺序,我方的胜率都保持较高。这涉及到组合优化和策略的稳定性分析。下面是解决这个问题的建议方法:
步骤 1:数据整理与分析
首先,将包括新选手的对抗数据整理并分析,以评估新选手与现有队员相比的表现。这包括对表A-2中的数据进行详细分析,计算各种组合的胜率。
步骤 2:模拟所有可能的组合
由于现在每队有六名选手,可以从中选择五名出场。这意味着需要考虑所有从六名选手中选择五名的组合,这可以通过组合公式 ( C(n, k) = \frac{n!}{k!(n-k)!})
(逆天。。。怎么敲不出来公式),其中 ( n ) 是总选手数,( k ) 是出场选手数。
步骤 3:搜索稳定的出场顺序
对每种可能的我方和对方组合进行模拟,确定在所有对方可能组合中,哪些我方组合具有较高的平均胜率。这涉及到对每种我方组合在面对所有对方组合时的胜率进行平均,并找出平均胜率最高的组合。
步骤 4:稳定性检验
验证选出的组合是否真的对多种对方组合都有效。这可以通过更广泛的模拟,包括随机生成对方组合,来检验。
Python代码
1 | import itertools |
核心就是稳态分析吧,最好是二三题用一样的模型,上面提到了供你选择的模型,比如蒙特卡洛模拟,博弈论,遗传算法。
B题 自动驾驶中的转弯问题
4.30 23:37修改
这个b题是改编题,在互联网上可以找到许多可供借鉴的资料,相对于A题可能更容易一点。
物理+数学
第一问 建立转弯的数学模型
动力学模型:
车辆的转向:单轨模型或多轨模型。物理学中的各种力,牵引力、侧向力、摩擦力。
同时需要考虑车辆的前轮转向角度对车辆路径的影响。
肯定要写方程-
Ackermann:基于前轮的转向角和车辆的几何尺寸,计算理论转弯半径。放个链接
第二问 车辆的具体位置计算
用matlab或者python做仿真| 画图
时间步进模拟:
基于第一部分建立的模型,进行时间步进仿真,以计算每隔0.1秒车辆的位置。这可能包括计算车辆的速度向量、加速度以及转向过程中的路径。
路径跟踪:
计算车辆转弯过程中的路径,使用数学方程(如参数方程)描述车辆中心以及车轮的具体位置。
问题三 转弯角度与停车位置的计算
同上的思路
C T
基于MACD指标的交易策略问题,目标是构建一个交易系统,使用MACD指标分析给定数据,并计算相关的量化指标,如胜率、赔率、频率、最大收益、年化收益率、夏普比率和最大回撤。以下是解决这个问题的步骤和方法:
1. 理解和计算MACD指标
- 计算DIF和DEA:
- DIF:短期(通常为12天)指数移动平均线(EMA)与长期(通常为26天)EMA之间的差异。
- DEA:DIF的指数移动平均线,通常是9天期。
- MACD Histogram:DIF与DEA之差的两倍,用于显示买卖动量。
2. 交易策略的制定
- 基本规则:
- 买入信号:当DIF从下向上穿越DEA时。
- 卖出信号:当DIF从上向下穿越DEA时。
- 其他信号:考虑使用MACD的高点和低点之间的背离,作为市场即将反转的预警信号。
3. 量化交易系统的构建
- 数据处理:清洗和准备交易数据,确保数据质量。
- 交易模拟:基于历史数据模拟交易,记录每次交易的开仓和平仓时间、价格等详细信息。
- 性能评估:
- 胜率:成功交易占总交易的比例。
- 赔率:平均每次赢利与每次亏损的比率。
- 频率:交易的频繁程度。
- 最大收益和最大回撤:最大盈利和在特定时间内可能的最大亏损。
- 年化收益率:将收益率转换为年度收益率。
- 夏普比率:风险调整后的收益,衡量每单位风险的收益。
4. 改进和优化
- 参数调整:尝试不同的EMA参数,如调整短期和长期EMA的天数,优化交易性能。
- 机器学习应用:利用机器学习算法(如随机森林、支持向量机)分析指标和市场条件,优化买卖信号的判断。
- 经验分析:从实证结果和投资交易逻辑两方面对MACD指标的实用性进行分析。
5. 软件工具和编程
- Python:使用Pandas进行数据处理,使用NumPy进行数学计算,Matplotlib和Seaborn用于数据可视化。
- 回测平台:如QuantConnect或Backtrader,进行策略的回测和评估。
这个问题的解决涉及到较为复杂的数据处理和数学建模,需要准确理解MACD指标的计算方法和交易策略的逻辑。如果你需要进一步的指导,例如如何编写计算MACD的Python代码或者如何进行策略的回测,我可以提供详细的帮助和示例代码。





