案例 067 电池什么时候该换新
案例 067 电池什么时候该换新
摘要:电池按 \(C(t)=24\exp(-0.016t)\) 衰减,第 14 个月跌破额定容量的 80%,续航从 55 km 掉到 44.0 km,而日均骑行要 43 km。把"换新净支出"摊到每个月、把"续航不足的额外换电"折成钱,就得到一个离散生命周期的经济寿命问题:早换让 660 元的净支出摊到更多月份、每月更贵;晚换要天天多跑一趟换电柜。本文用 0-1 变量 \(z_{t}\) 做 SOS1 选月、以 \(t_{r}=\sum t z_{t}\) 联结,建立 36 个候选月的均摊成本最小化模型。Gurobi 求得最优更换月为第 18 个月、单位月均成本 40.77 元,比"80% 就换"省 6.37 元/月,36 个月现金从 1320 元降到 808 元。
关键词:设备更新;经济寿命;SOS1 选月;容量衰减;均摊成本
1 问题提出
1.1 一块电池的三年账
新电池 24 Ah、满电跑 55 km,售价 780 元;旧电池残值 120 元,换一次净掏 660 元。厂商标称衰减曲线 \(C(t)=24\exp(-0.016t)\),续航按同一比例缩水,第 14 个月只剩 44.0 km。小哥一天跑 43 km、一个月出勤 26 天,从这天起一块电池跑不满一天,中间必须再换一次;单次换电综合成本 36 元(电费 6 元加绕路排队折 30 元)。
表 1 电池衰减与额外换电成本(抽样)
| 月龄 t | 容量 C(t)/Ah | 续航 R(t)/km | 等效额外换电/次每月 | 额外换电成本/元 |
|---|---|---|---|---|
| 1 | 23.62 | 54.13 | 0.00 | 0.0 |
| 6 | 21.80 | 49.97 | 0.00 | 0.0 |
| 12 | 19.81 | 45.39 | 0.00 | 0.0 |
| 14 | 19.18 | 43.96 | 0.00 | 0.0 |
| 18 | 17.99 | 41.24 | 1.11 | 40.0 |
| 24 | 16.35 | 37.46 | 3.84 | 138.4 |
| 36 | 13.49 | 30.92 | 10.16 | 365.8 |
1.2 为什么要优化
换新是一次性 660 元的大额支出,摊到 12 个月是 55.00 元/月,摊到 18 个月只有 36.67 元/月,差 18.33 元。续航不足的代价却是持续性的:第 36 个月单月额外换电成本已到 365.8 元,一年 4389.3 元,比一块新电池还贵。两个方向相反的力必然交于一点,而"80% 就换"的经验规则只看容量,既不看换电成本,也不看电池价格,拍不出这个交点。
1.3 Gurobi 如何求解
候选月只有 36 个,枚举也能算,但写成 0-1 规划有三个好处:\(\sum z_{t}=1\) 严格表达"只选一个月",不必用大 M 松弛;\(t_{r}=\sum t z_{t}\) 把决策提成一个整数变量,便于追加"保修期内不得更换"一类线性约束;灵敏度扫描时只改目标系数不改模型结构,一套代码复用二十余次。
2 数学模型
2.1 符号说明
表 2 符号说明
| 符号 | 含义 | 取值/单位 |
|---|---|---|
| \(C(t)\) | 月龄 t 的电池容量 | Ah |
| \(R(t)\) | 月龄 t 的续航里程 | km |
| \(D\) | 日均骑行里程 | 43 km |
| \(d\) | 每月出勤天数 | 26 天 |
| \(c_s\) | 单次换电综合成本 | 36 元 |
| \(P_n,\ P_s\) | 新电池售价、旧电池残值 | 780 / 120 元 |
| \(e_t\) | 月龄 t 当月的额外换电成本 | 元 |
| \(z_t\) | 是否在第 t 个月换新(0-1) | - |
| \(t_r\) | 选定的更换月 | 月 |
| \(c_t\) | 更换周期为 t 时的单位月均成本 | 元/月 |
2.2 目标函数
容量与续航同比例衰减:
月龄 \(t\) 的电池当月需要的等效额外换电成本,按续航缺口比例折算:
若在第 \(t\) 个月换新,一个更换周期的支出为新电池净价加上这期间的额外换电成本,摊到每个月:
2.3 约束条件
式 (5) 是"只选一个月"的指派约束,等价于对 \(z\) 施加 SOS1;式 (6) 把 0-1 向量压成一个整数决策 \(t_{r}\),报告与追加约束都用它;式 (7) 给出取值域。
2.4 规模与性质
37 个 0-1 变量、1 个整数变量、2 条等式约束,Gurobi 在根节点即证最优。系数 \(c_{t}\) 是"固定支出除以周期 + 凸增持有成本"的经典经济寿命结构,最优解必落在 \(c_{t}\) 的极小点上。
3 Gurobi 求解实现
3.1 建模要点
z = m.addVars(range(1, 37), vtype=GRB.BINARY)
tr = m.addVar(lb=1, ub=36, vtype=GRB.INTEGER)
m.addConstr(gp.quicksum(z[t] for t in range(1, 37)) == 1)
m.addConstr(gp.quicksum(t * z[t] for t in range(1, 37)) == tr)
m.setObjective(gp.quicksum(unit[t-1] * z[t] for t in range(1, 37)), GRB.MINIMIZE)
一个实现细节:\(c_{t}\) 里的 \(\sum e_{\tau}\) 在建模前用 numpy.cumsum 一次算好,作为目标系数传入,模型因此保持纯线性;若把累加写进约束,会凭空多出 36 个辅助变量而毫无收益。
3.2 求解结果
表 3 三种更换策略的对比
| 策略 | 更换周期/月 | 设备摊薄/元每月 | 换电成本/元每月 | 合计/元每月 | 36 个月现金/元 |
|---|---|---|---|---|---|
| 激进早换 | 12 | 55.00 | 0.00 | 55.00 | 1320.0 |
| 80% 容量阈值 | 14 | 47.14 | 0.00 | 47.14 | 1320.0 |
| 模型最优(SOS1) | 18 | 36.67 | 4.10 | 40.77 | 807.7 |
最优更换月 \(t_{r}^{*}=18\),单位月均成本 40.77 元,其中设备摊薄 36.67 元、额外换电 4.10 元。作为对照,第 14 个月是 47.14 元、第 12 个月是 55.00 元——早换确实更贵。
4 结果分析
4.1 衰减曲线与换电成本(图 1、图 2)
续航从 55 km 单调降到第 36 个月的 30.9 km,容量同步从 24 Ah 降到 13.49 Ah。图上两条竖线分得很开:第 14 个月是厂商的"容量 80%"线,第 18 个月才是经济的成本最低线,两者差 4 个月,正是本文要解释的差额。额外换电这笔钱也不是线性上升的,它在续航跌破日均需求那一刻才从 0 跳起来:第 15 个月仍是 0 元,第 16 个月 9.28 元,第 18 个月 40.02 元,第 36 个月 365.8 元。气泡大小对应续航,越往右气泡越小、成本越高,这就是"续航不足期"的画像。

图 1 容量、续航与两个关键月:14 个月跌破 80%,18 个月才是成本最优点

图 2 逐月额外换电成本:第 16 个月起才真正开始花钱
4.2 三种策略与现金流(图 3、图 4)
把每月的钱拆成"设备摊薄"和"换电成本"两块,三条路的差别一目了然:12 个月换,设备摊薄 55.00 元/月;14 个月换,47.14 元/月;18 个月换,36.67 元/月。换电成本要到 18 个月才冒出 4.10 元,远小于省下的设备摊薄。

图 3 三种更换策略的单位月均成本分解
均摊成本是决策口径,小哥真正掏的是现金。按 12 个月或 14 个月换,36 个月内要换两次,累计 1320 元;按 18 个月换只换一次(第 36 个月期末不再换),累计 808 元,少掏 512 元。阶梯线的台阶位置就是换新时点,最优方案那条只有一个台阶。

图 4 三种策略的 36 个月累计现金支出
4.3 衰减速率与新电池价格(图 5—图 7)
衰减速率从 0.008 走到 0.032,最优更换月从 33 个月一路提前到 10 个月:衰减越快,早期续航掉得越狠,越该早换。同一张图上 960 元的曲线整体更靠后,设备越贵越要把周期拉长去摊薄,但幅度有限——衰减率 0.020 处只从 14 推到 15 个月。

图 5 最优更换月与最优月均成本对衰减速率、电池价格的双重响应
图 6 把成本曲面对衰减率展开:颜色越深越便宜,红色轨迹是逐列最优月,斜率明显为负——衰减率每提高 0.004,最优月提前 4—5 个月。

图 6 更换月与衰减速率二维成本曲面(星号为本案参数)
图 7 单独看价格:售价 600 元时最优 17 个月,960 元时 18 个月,只挪动 1 个月,但月均成本从 30.22 元升到 50.77 元。结论是价格决定"贵不贵",衰减率才决定"何时换"。

图 7 新电池售价对最优更换月与月均成本的影响
4.4 前沿、分布与边际贡献(图 8—图 10)
图 8 的阴影是"续航不足区":更换周期一旦超过 14 个月,电池就进入跑不满一天的状态。曲线在第 18 个月触底后迅速抬升,第 24 个月已到 54.73 元、第 30 个月 83.92 元——拖得越久,换电柜越像无底洞。

图 8 更换周期—月均成本前沿与续航不足区
图 9 把 27 个候选解的成本做成直方图:33% 的候选月成本低于 50 元,最优解 40.77 元落在最左侧,说明"18 个月附近"是一段平坦的好区域,不必精确到某一个月。

图 9 候选更换月的成本分布与累计占比
图 10 把从 14 个月延到 18 个月的净收益拆开:设备摊薄降 10.48 元,换电电费升 0.68 元,绕路排队升 3.42 元,净降 6.37 元/月,折年 76.5 元。设备一项量级最大,也是唯一带负号的。

图 10 从阈值规则推迟到最优月的边际贡献分解
5 结论
第一,最优更换月是第 18 个月,单位月均成本 40.77 元;它既不等于厂商的"80% 容量"线(14 个月),也不是越晚越好。
第二,经验规则偏保守的代价是 6.37 元/月、76.5 元/年;放到 36 个月看,阈值规则要多换一次电池,现金多掏 512 元。
第三,驱动力是两条曲线的交点:660 元净支出除以更长的周期一直在降,额外换电成本在第 16 个月后加速上升,交点落在 18 个月。
第四,灵敏度方向明确:衰减率每差 0.004、最优月移动 4—5 个月;电池价格涨 360 元、最优月只挪 1 个月。参数标定应优先测准衰减率。
第五,模型骨架(SOS1 选月加整数联结)可直接搬到轮胎、刹车片、手机电池等任何"固定更换成本加凸增持有成本"的场景,只换系数不换结构。
参考文献
[1] Gurobi Optimization LLC. Gurobi Optimizer Reference Manual[Z]. 2024.
[2] Kellerer H, Pferschy U, Pisinger D. Knapsack Problems[M]. Berlin: Springer, 2004.
[3] Martello S, Toth P. Knapsack Problems: Algorithms and Computer Implementations[M]. Chichester: John Wiley & Sons, 1990.
[4] 司守奎, 孙玺菁. 数学建模算法与应用[M]. 3 版. 北京: 国防工业出版社, 2021.
复现方式:python batch_067.py;数据与结果见同目录 .csv / .json,图见 figs/

浙公网安备 33010602011771号