2026/4/16 18:48:20
网站建设
项目流程
教育平台网站建设,狼雨seo教程的网上店铺,网站建设经验与团队,用ps做个人网站界面目录
编辑
前言
一、96小时的“战地日记”
1.1 Day 0#xff1a;选题的陷阱
1. 2 Day 1#xff1a;模型“裸奔”与第一次争吵
1.3 Day 2#xff1a;推倒重来#xff0c;代码架构重构
1.4 Day 3#xff1a;至暗时刻与“神来之笔”
1.5 Day 4#xff1a;生死时速…目录编辑前言一、96小时的“战地日记”1.1 Day 0选题的陷阱1. 2 Day 1模型“裸奔”与第一次争吵1.3 Day 2推倒重来代码架构重构1.4 Day 3至暗时刻与“神来之笔”1.5 Day 4生死时速二、那些“救命”的神仙工具1. 代码与建模篇2. 可视化篇论文的脸面3. 写作与排版篇三、关于D题模型的一些技术复盘干货1. 怎么给球员估值双轨制2. 怎么做动态决策3. 应对伤病的“黑科技”四、避坑指南血泪总结总结前言2026年的美赛终于结束了。现在的我坐在椅子上看着电脑里那堆乱七八糟的.py文件和最终提交的 PDF由于连续熬夜心脏还在突突地跳。为什么要写这篇复盘因为这四天的经历实在太魔幻了。我们选了D题体育管理从第一天觉得“这题我熟不就是看球吗”到第二天发现“我靠这其实是金融运筹学”再到最后一天用滚动时域整数规划极限救场。如果你是明年要参赛的小白或者今年同样被折磨过的道友这篇博客应该能给你一些共鸣或者一些实用的工具推荐。下面就让我们正式开始吧一、96小时的“战地日记”1.1 Day 0选题的陷阱比赛开始前我们队伍的三个人达成了一致定了策略坚决不碰物理题尽量选数据题。看到题目的那一刻我们三个人的眼睛都亮了。Problem D:Managing Sports for Success体育管理。 “这不就是玩《NBA 2K》吗经理模式我熟啊”负责建模的队友A拍着胸脯说。 “数据也好找NBA数据网上一大堆。”负责数据和编程的我也觉得稳了。于是我们毫不犹豫选了D。后来事实证明选D题就像谈恋爱始于颜值陷于才华终于人品。题目看起来是体育实际上核心全是商业决策、金融期权定价、多目标动态规划。只懂球不懂数学那基本就凉了。这里顺便给大家提供一下D题的题目1. 2 Day 1模型“裸奔”与第一次争吵第一天是最痛苦的。我们试图用简单的线性回归来预测球员价值。 代码写出来一跑结果惨不忍睹。 “为什么库里的价值预测出来还没一个年轻新秀高” “因为模型只看了年龄衰减没看商业流量价值啊”队友A主张上神经网络LSTM我觉得数据量不够LSTM肯定过拟合建议用随机森林。负责论文写作的队友C在旁边急得转圈“你俩先别吵算法我的背景分析咋写老板到底是要赢球还是赚钱”教训1第一天千万别急着写代码先审题先审题先审题D题的核心矛盾是Win Games vs Make Money。我们直到第一天晚上才意识到必须建立一个“竞技-商业”的双目标体系否则模型就是裸奔。1.3 Day 2推倒重来代码架构重构第二天早上我做了一个大胆的决定重写代码架构。之前的代码太散了全是脚本。为了应对题目中复杂的“扩军”、“伤病”、“交易”场景我们必须采用面向对象OOP的策略。我把代码分成了好几层这里强烈建议大家也可以采用这种架构写论文时特好吹Data Dimension数据层把球员拆解为竞技价值、商业价值和注意力经济价值。Correction Dimension修正层。Commercial Dimension商业层这一层是用于算钱的把奢侈税、门票收入算清楚。Decision Dimension决策层这是大脑负责做出最终的最优决策。下面这是我们模型的架构图供大家参考这一天键盘敲得冒火星子。我们引入了Beam Search集束搜索来寻找最优交易策略。当看到控制台终于打印出Optimal Strategy: [Sign_Star, Maintain]时毫不夸张地说当时的我激动得差点哭出来。1.4 Day 3至暗时刻与“神来之笔”第三天下午我们卡在了第五问“关键球员受伤怎么办”此时距离结束还有30小时。常规的静态模型根本解不了这个问题。“要不就瞎编一个策略”“不行论文里这块是加分项。”这时候我在谷歌学术上翻到了一篇关于供应链管理的论文灵光一闪滚动时域控制Rolling Horizon Control把球员受伤看作是供应链断裂把签短工看作是紧急补货。我们迅速手搓了一个MILP混合整数线性规划模型对这一问进行求解。这一招直接让我们的模型从“玩具”升级到了“工业级”。论文里的图表瞬间高大上起来——那条并在受伤期间止损回升的曲线简直是艺术品。1.5 Day 4生死时速最后12小时就是纯纯的体力活。 Latex报错、图片格式不对、摘要写得像流水账... 负责写作的队友C已经神志不清了一边打字一边念叨“我不干了我要回家种地。” 我们在今天早十六点钟终于生成了最终PDF检查了两遍论文之后就提交了。提交的那一刻真是如释重负。二、那些“救命”的神仙工具这部分是重点美赛不仅考智商还考工具链。工具选得好哪怕模型一般论文看起来也很专业。1. 代码与建模篇Python (yyds)建议打数模竞赛的各位别用Matlab了除非你是工科控制类大神Python在处理数据和画图上是降维打击。SciPy (scipy.optimize)做运筹优化的神器。我们在做第五问“受伤应对”时用的就是milp。它不需要你装庞大的Gurobi直接能解0-1整数规划绝对轻量级好用Dataclasses强烈推荐以前我定义球员都是用字典player {name: Curry, age: 38}代码一多就乱。这次用了dataclass代码清晰度提升了数倍dataclass class Player: name: str ws_current: float salary: float # 自动生成的构造函数真香NetworkX虽然这次没怎么用但如果是做网络流或者传球路线分析这个库是必不可少的。Tare字节推出的类VSCode的灵活性极高的编辑器工具内部集成了超多大语言模型可以随时调用还支持自主创建智能体能大大提高代码编写与迭代的效率。2. 可视化篇论文的脸面评委看论文第一眼看摘要第二眼就看图。图丑的基本就“凉凉”了。Seaborn比Matplotlib好看。画热力图、分布图首选。帕累托前沿图 (Pareto Frontier)一定要会画只要是涉及双目标优化比如我们题目的 赢球 vs 赚钱一张帕累托图能顶一千字的解释。我们在论文里放了一张散点图横轴是胜场纵轴是利润那条曲线一画出来Trade-off即权衡的感觉立马就有了。ProcessOn / Draw.io画流程图。别用Word自带的形状画太丑了。我们那个“滚动时域决策流程图”就是用ProcessOn画的结构清晰看着像发过顶会的。当然如果你对于PPT操作足够熟练的话使用PPT绘制流程图也不失为一种好的选择。3. 写作与排版篇Overleaf (LaTeX)如果你还在用Word排版美赛论文赶紧转LaTeX吧。美赛模板一套公式自动编号参考文献自动生成不用担心图片乱跑。Grammarly写英文必备。我们这种“Chinglish”全靠它纠正语法错误。Gemini / ChatGPT (辅助)注意是辅助千万别让AI直接写论文。我们会先把中文逻辑写好让AI翻译润色然后人工必须再改一遍因为AI很喜欢用一些空洞的形容词比如 delved into, crucial landscape等这样的用语评委一看就烦。三、关于D题模型的一些技术复盘干货下面来简单聊聊我们这次D题的几个核心逻辑代码源码比较乱就不贴在这里了为大家准备了几个核心思路。1. 怎么给球员估值双轨制大部分人只看 PER 或者 WS竞技数据。我们引入了一个CAI(Commercial Attention Index) 指标。这就解释了为什么老詹和库里哪怕打不动了工资依然高因为系数极大。这一点在论文里是非常加分的。2. 怎么做动态决策我们没有用那种“一年一年算”的死板逻辑而是用了MDP马尔可夫决策 Beam Search。 简单说就是站在2026年往后看5年。每年有多种操作签人、交易、摆烂。因为可能性太多指数爆炸我们每一步只保留最好的5个策略Beam Width 5。这样既保证了搜索深度又不会算死机。3. 应对伤病的“黑科技”这是第五问。我们用的是Rolling Horizon ILP滚动时域整数规划。 逻辑是库里第10周受伤缺席8周。模型立刻冻结库里的薪资空间。在剩余的薪资硬帽Hard Cap下去自由市场找一个“性价比最高”的替补。目标是这8周的流量和胜场损失最小化。四、避坑指南血泪总结关于熬夜前两天能睡就睡别硬熬最后一天才是通宵的时候。我们第二天晚上熬太狠导致第三天上午全员大脑宕机效率极低。关于分工千万别完全割裂“你只管建模我只管写作”的刻板分工逻辑是极度错误的。写作的人必须懂模型逻辑建模的人必须告诉写作的人图表是啥意思。我们中间因为沟通不到位写作队友把“期权定价”写成了“期货定价”差点闹笑话。关于数据不要编数据不要编数据找不到真实数据可以用近似替代并在假设里说明。评委很精的一眼就能看出你的数据是不是正态分布生成的假数据。摘要定生死最后留出至少2-3小时撰写摘要。摘要必须包含解决了什么问题、用了什么方法、得到了什么核心结论带数字。别写废话总结美赛就像一场微型的科研模拟。 你会经历迷茫、争吵、绝望也会经历灵感爆发、代码跑通的狂喜。 不管结果如何这96小时里你为了一个目标拼尽全力的样子真的很帅。希望大家都能拿到理想的奖项如果这篇博客对你有帮助点个赞再走呗~ 祝大家代码无Bug论文全O奖