2026美赛A题分析及其相关文档:智能手机电池耗尽时间预测
2026 年美国大学生数学建模竞赛(MCM)A 题要求参赛者建立一个连续时间的智能手机电池模型,输出荷电状态(State of Charge,SOC)随时间的变化,并据此预测不同使用场景下的剩余续航时间(Time-to-Empty,TTE)。
这道题看起来像是“预测手机多久没电”,但真正的难点并不是拟合一条电量曲线,而是解释:
- 手机正在运行什么任务,功耗如何随时间变化;
- 电池为何在低温、高负载和低电量时表现不同;
- 用户行为存在随机性时,续航预测应如何给出置信区间;
- 如何把模型结论转化为用户和操作系统都能执行的省电策略。
本文主要介绍我们在开源仓库中采用的建模思路,不展开论文中的全部推导。完整代码、LaTeX 源文件和最终 PDF 均已公开。
项目仓库:wangling-miao/2026MCM-ICMProblemA
官方题目:2026 MCM Problem A: Modeling Smartphone Battery Drain
最终论文:final/2612876.pdf
LaTeX 源文件:final/2612876.tex

图 1:手机使用的锂离子电池。图片来源:Phrontis / Wikimedia Commons,CC BY-SA 3.0。
一、题目究竟要求什么
官方题目明确强调:模型必须以连续时间方程或方程组为核心,不能仅依靠离散曲线拟合、时间步回归或没有物理解释的黑箱机器学习模型。
因此,最基本的输出不是某个时刻的“预测电量”,而是一个连续状态轨迹:
$$ SOC(t),\qquad t\ge 0 $$
剩余续航时间则可以理解为 SOC 或端电压首次触及关机阈值的时刻:
$$ TTE=\inf{t>0:SOC(t)\le SOC_{\min}\ \text{或}\ V_t\le V_{cut}} $$
题目还要求比较不同初始电量、使用场景、温度和电池老化程度,量化不确定性,进行敏感性分析,并给出面向用户与操作系统的建议。
换句话说,一个完整解法至少需要回答四件事:
- 手机在每个时刻消耗多少功率;
- 功率如何转换为电池电流和 SOC 变化;
- 温度、极化和老化如何影响实际可用容量;
- 用户未来行为不确定时,续航时间的概率分布是什么。
二、总体思路:不要直接预测电量,而要模拟“耗电过程”
我们采用的是一条由上至下的模型链:
用户使用场景
↓
屏幕、CPU、网络、GPS、后台任务等功耗分解
↓
总负载功率 P_total(t)
↓
电池电流 I(t)
↓
SOC、极化电压、温度与老化状态的连续时间演化
↓
端电压观测与 EKF 修正
↓
首次到达关机阈值,得到 TTE
↓
蒙特卡洛重复仿真,得到概率分布与置信区间
这条路线的优点是每一层都有明确含义。模型预测错误时,可以判断问题来自用户行为、功耗参数、电池参数还是状态估计,而不是只得到一个无法解释的误差值。
三、第一层:把手机总功耗拆开
手机功耗不是一个固定常数。最直观的做法是按硬件和软件组件进行分解:
$$ P_{total}(t)=P_{screen}(t)+P_{CPU}(t)+P_{net}(t)+P_{GPS}(t)+P_{bg}(t)+P_{AI}(t) $$
其中:
- 屏幕功耗受亮度、刷新率和显示内容影响;
- CPU/GPU 功耗随游戏、视频解码和计算任务变化;
- 网络功耗取决于 Wi-Fi、4G/5G、信号质量和数据传输状态;
- GPS 与后台定位会形成持续负载;
- 后台同步、推送和常驻服务会造成看似待机时的隐性耗电;
- 端侧 AI 推理可以作为独立组件加入模型。
用隐马尔可夫模型描述用户行为
用户不会永远保持同一种状态。一个人可能先刷视频,再回复消息,随后锁屏待机。为了描述这种随机切换,我们将用户状态写为:
$$ S_t\in{\text{待机、社交、视频、游戏、导航、通话}} $$
并使用隐马尔可夫模型(HMM)或连续时间马尔可夫链描述状态转移。每种状态对应一组功耗分布,而转移矩阵决定用户下一阶段更可能进入什么场景。
这一步使负载不再是一条人工指定的固定曲线,而是具有统计规律的随机过程。相同的初始电量也可能产生不同 TTE,这正是后续不确定性量化的基础。
四、第二层:二阶 RC 等效电路描述电池动态
只用库仑计量法可以得到最简单的 SOC 方程:
$$ \frac{dSOC}{dt}=-\frac{\eta I(t)}{Q_{eff}} $$
其中 $I(t)$ 为放电电流,$Q_{eff}$ 为当前有效容量,$\eta$ 为库仑效率。
但真实电池在负载突变后会出现瞬时压降和缓慢恢复,仅靠 SOC 无法描述这种极化现象。因此,仓库中的主体模型采用二阶 RC 等效电路,引入两组不同时间尺度的极化支路:
$$ \frac{dV_1}{dt}=-\frac{V_1}{R_1C_1}+\frac{I}{C_1} $$
$$ \frac{dV_2}{dt}=-\frac{V_2}{R_2C_2}+\frac{I}{C_2} $$
端电压为:
$$ V_t=OCV(SOC)-I R_0-V_1-V_2 $$
这里的 $R_0$ 表示欧姆内阻,$V_1$ 与 $V_2$ 分别描述快速和慢速极化。手机负载突然增大时,端电压可能先触及关机阈值,即使 SOC 尚未完全耗尽,这也是高负载场景续航骤降的重要原因。
![]()
图 2:锂离子电池二阶 RC 等效电路。图片来源:Triv97 / Wikimedia Commons,CC0。
从功率反推电流
手机侧更容易估计的是功率,而电池状态方程需要电流。两者通过
$$ P_{total}(t)=V_t I(t) $$
联系起来。由于 $V_t$ 本身又受电流和极化状态影响,实际求解时需要联立端电压方程,或在每个连续积分区间内迭代求解 $I(t)$。这比简单使用“功率除以固定 3.7 V”更符合低电量和高负载下的实际情况。
五、第三层:温度与老化反馈
1. 热模型
持续高负载会产生焦耳热,环境又会通过散热影响电池温度。可以使用集总热模型:
$$ C_{th}\frac{dT}{dt}=I^2R_0+Q_{rxn}-hA(T-T_{amb}) $$
温度反过来影响内阻和极化参数。仓库使用 Arrhenius 型关系对参数进行温度修正,使模型能够解释低温时内阻升高、有效容量下降以及高负载发热等现象。
2. 老化模型
电池老化主要体现为有效容量下降和内阻上升。我们采用与 SEI 膜生长相关的 $\sqrt{t}$ 型规律描述缓慢退化,并将循环次数、温度和负载历史映射为状态健康度(SOH):
$$ Q_{eff}=Q_n\cdot SOH $$
$$ R_0=R_{0,ref}\left(1+\Delta R_{aging}\right) $$
老化并不是独立的常数修正,而是会改变后续每一次放电过程中的容量、电压降和发热。
![]()
图 3:锂离子电池充放电过程示意。图片来源:Walter Davison / Wikimedia Commons,CC BY-SA 4.0。
六、第四层:随机微分方程与状态修正
即使给定相同使用场景,实际功耗仍会受到任务调度、信号波动、温度测量误差和后台活动影响。因此,可以在确定性状态方程上加入随机扰动:
$$ dSOC_t=-\frac{\eta I_t}{Q_{eff}}dt+\sigma_{SOC}dW_t $$
其中 $W_t$ 为 Wiener 过程,$\sigma_{SOC}$ 控制未建模扰动的强度。类似噪声也可以加入功率、温度或状态转移过程。
随机项不是为了让模型显得复杂,而是为了避免给出虚假的单点精确答案。实际输出应更接近:
当前条件下预计还能使用 4.2 小时,90% 的模拟结果落在 3.7~4.8 小时之间。
EKF:用端电压不断纠正 SOC
仅靠电流积分会逐渐累积误差,因此模型使用扩展卡尔曼滤波(EKF),将端电压观测与非线性状态方程结合,实时修正 SOC、极化电压等隐藏状态。
其逻辑可以概括为:
- 根据上一时刻状态和当前负载预测下一状态;
- 由预测状态计算端电压;
- 将预测电压与真实观测电压比较;
- 根据卡尔曼增益修正 SOC 和极化状态;
- 将修正结果作为下一次预测的起点。
仓库 README 同时列出了物理信息神经网络(PINN)作为可扩展的状态估计方法,但主体思路仍以显式物理方程和可解释状态空间模型为核心,而不是让神经网络取代连续时间模型。
七、如何得到 TTE 的概率分布
确定所有参数后,可以从当前状态开始向前积分,直到 SOC 或端电压达到关机阈值。一次仿真得到一个 TTE;重复抽取用户状态序列、负载扰动和参数误差,即可进行蒙特卡洛模拟:
for k = 1 ... N:
抽取一条未来用户行为路径
抽取功耗与电池参数扰动
求解连续时间状态方程
记录首次达到关机阈值的时间 TTE_k
输出均值、中位数、分位数和 90% 置信区间
这种方法能够回答两个不同问题:
- 在平均意义上,手机还能使用多久;
- 在较保守的情况下,用户至少还能使用多久。
对导航、移动支付或应急通信等场景,第二个问题往往更有实际价值。
八、仓库中的主要仿真结论
下面的数据来自该仓库当前参数配置和仿真结果,不能直接视为所有手机的通用结论,但可以说明模型能够解释哪些现象。
1. 游戏模式是最明显的续航杀手
高 CPU/GPU 负载不仅增加平均功率,还会通过 $I^2R$ 增大发热和压降。在仓库的场景设置中,游戏模式的续航约为待机模式的十分之一。
2. 低温比单纯的内阻变化更值得关注
低温会同时影响内阻、反应动力学和有效容量。仿真中,$-10\ ^\circ\mathrm{C}$ 条件下的续航可能缩短 28% 以上。这里的具体比例取决于参数,但“低温造成多因素共同恶化”这一机制具有清晰解释。
3. 用户感知到的“不耐用”不一定主要来自化学老化
当前仓库的老化参数下,500 次循环后的 SOH 仍约为 99.8%,对单次续航的影响小于应用功耗持续增长带来的影响。这个结果并不意味着现实中所有电池 500 次循环后都只衰减 0.2%,而是提示我们必须区分:
- 电池化学容量下降;
- 新版本应用和后台服务变得更耗电;
- 低温、弱信号和高亮度造成的场景性损失。
4. 容量与平均功率最敏感
灵敏度分析显示,额定容量 $Q_n$ 和平均负载功率 $P_{avg}$ 是影响 TTE 的主要因素。内阻 $R_0$ 在常温、正常电量下影响相对较小,但在低温、低 SOC 或突发高负载时会迅速变得重要。
九、从模型推导出的省电建议
模型的价值不仅在于输出一个时间,还在于说明“改什么最有效”。
对普通用户
- 优先降低长时间高亮度和高刷新率带来的屏幕负载;
- 在弱信号环境下避免持续使用高功率蜂窝网络;
- 不需要导航时关闭持续定位和高频 GPS 更新;
- 检查异常活跃的后台同步、推送和常驻服务;
- 低温环境中尽量让手机保持在适宜温度,而不是单纯依赖软件省电;
- 剩余电量较低时避免突然启动大型游戏或高负载拍摄任务。
对操作系统
操作系统可以根据模型做更主动的功耗控制:
- 根据预测的 TTE 动态调整刷新率、CPU/GPU 频率和后台任务优先级;
- 将弱信号、低温和低 SOC 共同作为高风险状态,而不是分别判断;
- 给出带置信区间的续航预测,避免显示看似精确但频繁跳变的数字;
- 学习用户的状态转移规律,在即将进入高负载场景前提前调整资源;
- 以“延长首次触及关机阈值的时间”为目标,而不只是降低瞬时功率。
十、如何运行仓库代码
项目主要使用 Python,仓库中还包含少量 MATLAB 与完整 LaTeX 文档。基础依赖可以通过以下命令安装:
pip install numpy pandas matplotlib scipy
在项目根目录运行:
python code/run_complete_workflow.py
主脚本会依次执行:
- 数据读取与预处理;
- OCV 曲线与 RC 参数辨识;
- 电池模型校准;
- 用户行为与负载场景生成;
- 确定性和蒙特卡洛 TTE 预测;
- 灵敏度分析;
- 论文图表与汇总报告生成。
主要目录如下:
2026MCM-ICMProblemA/
├── code/ # Python、MATLAB 与仿真代码
│ ├── run_complete_workflow.py # 全流程入口
│ ├── model_development/ # 电池模型、EKF 等核心模块
│ └── paper_results/ # 生成的图表与结果
├── final/
│ ├── 2612876.tex # 最终论文 LaTeX 源码
│ └── 2612876.pdf # 最终论文
├── template/ # 美赛论文模板
├── 数据/ # 原始数据
└── 2026_MCM_Problem_A.pdf # 赛题原文
由于 GitHub 单文件大小限制,仓库删除了部分超过 100 MB 的数据,因此完全复现时可能需要补充原始数据或调整数据路径。
十一、这一方案的优点与局限
优点
- 满足题目对连续时间模型的硬性要求;
- 将用户行为、电路、热和老化机制连接在同一框架中;
- 每个变量都具有物理或行为含义,便于解释;
- 能输出 TTE 分布,而不是只有单点预测;
- 模块化程度较高,可替换功耗模型、电池参数和用户模型;
- 可以自然扩展到平板电脑、手表、无人机等便携设备。
局限
- 二阶 RC 模型仍是等效模型,不能完整描述电池内部电化学过程;
- HMM 的状态转移概率依赖用户数据,不同人之间差异较大;
- 热模型把电池视为温度均匀的整体,忽略局部热点;
- 老化参数对电芯型号、充电策略和环境非常敏感;
- 手机系统报告的 SOC、功率和温度本身可能存在偏差;
- 仿真中的具体百分比不能脱离参数配置推广到所有设备。
因此,这套方案更适合作为一个可解释、可校准、可扩展的建模框架,而不是宣称已经得到适用于所有手机的唯一电池公式。
十二、相关文档
本文只对公开仓库中的建模路线进行梳理,不对竞赛奖项作推断。模型中的数值结果依赖数据、参数和场景设定,引用时应同时说明实验条件。
图片来源与许可
- Phrontis, Li-Ion batteries for mobile phones.jpg, Wikimedia Commons,CC BY-SA 3.0。
- Triv97, Second order equivalent circuit model for li-ion battery cell.png, Wikimedia Commons,CC0。
- Walter Davison, Lithium ion battery.png, Wikimedia Commons,CC BY-SA 4.0。
2026美赛A题分析及其相关文档:智能手机电池耗尽时间预测
https://wangling.hauchet.cn/archives/2026-mcm-problem-a-smartphone-battery-model
评论