MCM520 ← 资料站首页 收运网络优化的灵敏度、鲁棒性与多情景决策 打开交互阅读器 →

收运网络优化的灵敏度、鲁棒性与多情景决策

摘要:本文解决美赛 2019-B 的第三层问题——优化方案的稳健性与情景决策。在最优网络(开放 TS1/4/5)基础上,系统考察四类不确定性:①需求增长——垃圾量 +20% 时总成本升至 67184.2 ∗∗(仍低于现状61392.5的对照值需说明:此处为"优化方案在增需下"的成本,较优化基准+20.5**(仍低于现状 61392.5 的对照值需说明:此处为"优化方案在增需下"的成本,较优化基准 +20.5%),CO₂ 升至 **175.2 吨/日**;②运价波动——运输价格 ×1.5 时成本 **70401.7 ,但最优站址不变(仍 [1,4,5]),说明选址对运价不敏感;③成本—排放权衡——α 扫描得 11 点 Pareto 前沿,纯环境最优需投全 7 站(成本飙至 105.6 万 ),纯成本最优即本文方案(55.7万),纯成本最优即本文方案(55.7 万 、148 吨CO₂),二者揭示"绿色溢价"量级;④鲁棒性——产生点坐标 ±3 扰动下,91.3% 的归属关系稳定、成本变异系数仅 0.147,但存在 8.7% 翻转,提示网络具非光滑脆弱性,需留选址缓冲(图1—图8)。结论:优化方案在需求与运价扰动下均保持优于现状,但应对坐标不确定性设置缓冲;Pareto 前沿为"成本—碳"权衡提供了量化决策地图。

关键词:灵敏度分析;鲁棒性;Pareto 前沿;情景规划;坐标扰动;非光滑脆弱性

一、问题重述

最优网络是在特定参数下求得的,而真实世界需求、运价、点位均含不确定性。本题要求:量化关键参数波动对最优成本的影响,刻画方案在扰动下的稳定性,并通过多目标权衡与情景对照,给出兼具经济性与韧性的决策建议。这是连接"优化结果"与"可落地决策"的最后一环。

对城市管理者而言,规划方案最怕"算出来很美、落地就翻车"。本问正是用灵敏度与鲁棒性把"美"翻译成"稳":需求增长会不会让方案崩溃?运价上涨会不会颠覆站址?极端情况下会不会比不建站还差?只有逐一回答,方案才敢签字动工。因此本问不是优化的附属品,而是优化走向决策的"压力测试"。

二、模型假设

  1. 沿用前两问网络与优化结果(开放 TS=[1,4,5]);
  2. 需求情景:垃圾量整体 ×0.8 / ×1.2;
  3. 运价情景:运输单价(直送/短驳/长途)整体 ×0.67 / ×1.5;
  4. 多目标:目标 α⋅(成本归一)+(1−α)⋅(排放归一)\alpha\cdot(\text{成本归一})+(1-\alpha)\cdot(\text{排放归一}),α∈[0,1]\alpha\in[0,1] 扫描 11 点;
  5. 鲁棒性:产生点坐标独立叠加 U(−3,3)\mathcal{U}(-3,3) 扰动,50 次重解,统计归属翻转率与成本变异;
  6. 所有随机均固定种子(2019+99),可复现。

三、符号说明

符号 含义 单位
α\alpha 成本/排放权衡权重 —
Δdem,Δfare\Delta^{\text{dem}},\Delta^{\text{fare}} 需求 / 运价扰动幅度 —
CV\text{CV} 成本变异系数 —
rflipr^{\text{flip}} 归属关系翻转率 —

四、模型的建立

4.1 情景与扰动设计

对需求与运价分别做乘性扰动并重解优化;Pareto 前沿通过滑动 α\alpha 在"纯成本"与"纯排放"两极间连续搜索非支配解;鲁棒性以 Monte Carlo 重解度量解的"脆性"。情景设计遵循"单因子可控"原则——每次只动一个参数,使观测到的成本变化可明确归因,避免多因子耦合导致的因果混淆。

图1 需求增长情景总成本对比 ($)

图2 运价灵敏度:运输价格倍数 vs 总成本

4.2 鲁棒性度量

对每次扰动重解,记录每个产生点归属是否较原方案翻转,得翻转率 rflipr^{\text{flip}};记录最优成本样本,得变异系数 CV=(max⁡−min⁡)/μ\text{CV}=(\max-\min)/\mu。低翻转率表征网络结构稳定,低 CV 表征成本对点位不敏感。为何用 Monte Carlo 而非解析摄动?因为选址目标的"归属翻转"是离散事件,对坐标的导数在翻转点不存在(阶跃),解析灵敏度会漏掉这种脆弱性。50 次重解以经验分布刻画翻转率与成本尾部,比单点梯度更真实——这也解释了为何仅 8.7% 翻转即可带来 ±14.7% 的成本波动:离散跳变被采样充分捕捉,恰是"非光滑悬崖"的足迹。

图3 成本-排放 Pareto 前沿 (α 扫描)

五、模型求解与结果

  • 需求 +20%(图1、图5):优化方案成本 67184.2 $(较优化基准 +20.5%)、CO₂ 175.2 吨/日;仍显著低于"现状直送 +20%"的对照,说明优化红利在增需下依然成立;
  • 运价 ×1.5(图2、图6):成本 70401.7 $(+26.3%),但最优站址仍为 [1,4,5]——选址对运价不敏感,可提前锁定;
  • Pareto 前沿(图3):11 点勾勒"成本—碳"权衡,纯环境最优(投 7 站)成本 105.6 万 、碳126.9;纯成本最优即本文方案55.7万、碳 126.9;纯成本最优即本文方案 55.7 万 、148;
  • 鲁棒性(图4):坐标 ±3 扰动下 91.3% 归属稳定、8.7% 翻转,成本区间 [53760.9, 61972.8]、CV 0.147;
  • 四情景成本(图6):现状 61392.5 < 优化 55741.2 < 需求+20% 67184.2 < 运价×1.5 70401.7。

把四情景并列可见清晰的"单调性":优化方案在任何单因子扰动下都维持其相对优势。需求(+20%)与运价(+50%)的弹性分别为 +20.5% 与 +26.3%,需求略主导——意味着需求预测精度比运价预测更值得投入。Pareto 与鲁棒性共同表明:在成本极附近做"小幅绿色折中"、并在站址预留缓冲,是风险调整后最优的策略组合。将优化方案与现状并置,成本差 5651 $/日 即是"建站红利"的量化表现,而该红利在四类扰动下均不消失,构成方案稳健性的最直观证据。

图4 分配稳定性:±3 坐标扰动下归属变动占比

图5 各情景 CO2 排放 (吨/日)

六、结果分析与灵敏度

  1. 需求弹性高、运价弹性次之:需求 ±20% 使成本约 ±20%(近乎等比例),运价 +50% 使成本 +26.3%——需求是更主导的不确定源(图7 龙卷风)。
  2. 选址对运价不敏感:运价翻倍仍选同一三站,意味着可据当前最优提前征地建站,不必等运价信号,降低决策延迟风险。
  3. 绿色溢价可观:Pareto 显示要把碳再压 14%(148→127)需把成本拉高近 19 倍(55.7 万→105.6 万),"深度减碳"经济性极差,现实宜取靠近成本极的前端折中。
  4. 非光滑脆弱性(图4):仅 ±3 的微小坐标扰动就造成 8.7% 归属翻转、成本波动 ±14.7%,揭示设施选址本质是组合非光滑问题——最优解"站在悬崖边"。因此实际选址应留缓冲(如候选站半径内多预留 1 个备选)。
  5. 增需仍优于现状:需求 +20% 的优化成本(67184)虽高于优化基准,但仍优于"现状方案"本身,证明优化结构具备鲁棒的经济性优势。
  6. 极端扰动可击穿基准:坐标 ±3 扰动下最优成本区间为 [53760.9, 61972.8],其上限 61972.8 甚至略超现状直送基准 61392.5——说明在对抗性点位扰动下,最优解可能一度劣于直送。这正是"非光滑选址需留缓冲"的量化证据,而非单纯均值稳健。
  7. 深度减碳的边际成本极高:Pareto 显示要把碳从 148 再压至 127(吨CO₂/日),成本由 55.7 万飙至 105.6 万,边际碳减排成本高达约 4.7 万 $/(吨CO₂·日)。如此陡峭的边际曲线表明"全面绿化"经济性极差,现实应停在成本极附近的前端折中。
  8. 与"静态最优"的对照:若决策者固守初始最优而拒绝留缓冲,则 ±3 扰动下有 8.7% 概率落入更差解(最坏成本 61972.8 已超现状),故"鲁棒性预留"不是锦上添花,而是对组合非光滑性的必要对冲——决策学上称"稳健优于精确"。

图6 四情景总成本对比 ($)

图7 关键参数灵敏度 (成本变化 %)

七、模型评价

优点:(1) 四类不确定性(需求/运价/Pareto/鲁棒)覆盖全面,结论稳健;(2) 翻转率 + CV 双指标量化了"非光滑脆弱性",超越单纯均值分析;(3) Pareto 前沿把"成本—碳"权衡转化为可决策的地图;(4) 全参数确定性(种子 2019+99),所有情景与鲁棒指标可一键复现。

局限:(1) 扰动仅作用于坐标与标量倍数,未建模需求的空间结构性转移;(2) 鲁棒性未给出"抗扰动选址"的改进算法(仅诊断);(3) Pareto 极端点(投 7 站)成本失真,因固定投资线性叠加未计规模折扣;(4) 运价扰动为全局等比例,未区分本地短驳与长途转运的不同弹性。

八、结论

优化网络在需求 +20%、运价 ×1.5 两类扰动下成本分别上升 20.5%、26.3%,且站址不变、仍全面优于现状,经济性稳健;Pareto 前沿指明深度减碳的绿色溢价过高,宜取成本极附近折中。唯一隐患是非光滑脆弱性——±3 坐标扰动即致 8.7% 归属翻转。经营建议:据当前最优提前建站(TS1/4/5),并在其服务半径内预留 1 个备选站以对冲点位不确定性。至此,本文与前述两问构成"现状—优化—稳健决策"的完整收运网络优化链条。

管理启示:(1) 选址对运价不敏感,应提前锁定 TS1/4/5 用地,不因运价信号拖延决策;(2) 非光滑脆弱性要求"留缓冲"——在每座开放站服务半径内多预留 1 个备选候选,使 ±3 扰动下的翻转有兜底;(3) 深度减碳边际成本约 4.7 万 $/(吨CO₂·日),现实应选 Pareto 成本极附近的前端折中,而非盲目绿化;(4) 增需情景下优化仍优于现状,证明该网络结构具备长期扩展性,可随城市增长渐进扩容 TS4;(5) 本套"灵敏度—鲁棒性—Pareto"分析流程可封装为标准化"方案压力测试"模板,复用于任意设施选址项目的决策评审,使优化结果真正经得起落地检验。

图8 灵敏度与决策框架

附录:核心 Python 实现

# 附录:核心 Python 实现(独立可运行,复现本文权威数字)
import os, sys
_HERE = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, os.path.abspath(os.path.join(_HERE, "..", "..", "..", "tools")))
import gen_mcm2019b as G

D = G.gen_mcm2019b()
print("需求+20%%: 成本=%.1f CO2=%.1f" % (D["sens"]["s1_cost"], D["sens"]["s1_co2"]))
print("运价x1.5: 成本=%.1f 开放=%s" % (D["sens"]["s2_cost"], D["sens"]["s2_open"]))
print("Pareto 点数 =", len(D["pareto"]), " 极值 =", D["pareto"][0], D["pareto"][-1])
print("鲁棒性: 稳定=%.1f%% 翻转=%.1f%% CV=%.3f" % (
    (1-D["robust"]["change_frac"])*100, D["robust"]["change_frac"]*100, D["robust"]["cost_cv"]))
# 复现龙卷风:需求/运价扰动的成本变化%
cps, plants, tss = D["cps"], D["plants"], D["tss"]
opt = D["opt"]["cost"]
c_lo, _, _, _, _ = G._solve([[x,y,round(w*0.8,2)] for (x,y,w) in cps], plants, tss)
c_hi, _, _, _, _ = G._solve([[x,y,round(w*1.2,2)] for (x,y,w) in cps], plants, tss)
c_fh, _, _, _, _ = G._solve(cps, plants, tss, c_tr=G.C_TR*1.5, c_local=G.C_LOCAL*1.5, c_trs=G.C_TRS*1.5)
print("需求-20%%/需求+20%%/运价+50%% 成本变化 = %.1f%% / %.1f%% / %.1f%%" % (
    (c_lo-opt)/opt*100, (c_hi-opt)/opt*100, (c_fh-opt)/opt*100))