Files
2026_mcm_b/p2/README.md
2026-01-31 16:11:40 +08:00

12 KiB
Raw Blame History

Task 2: 系统不确定性与鲁棒性分析 (v2)

本目录实现 MCM 2026 Problem B 任务二:

To what extent does your solution(s) change if the transportation systems are not in perfect working order (e.g., swaying of the tether, rockets fail, elevators break, etc.)?


版本说明 (v2 审计后修正)

改进项 v1 问题 v2 修正
完成时间分布 二分搜索中重复随机采样 使用期望值函数保证单调性
能量口径 只报告无条件均值 分条件/无条件两种口径
电梯效率 能量÷效率(逻辑错误) 能量∝交付量(效率影响交付)
失败能量 固定 30% 分阶段加权 44.2%(引用 FAA 数据)
结论表述 "膝点右移 40 年" 决策区间 + 风险偏好表

一、问题分析与建模思路

1.1 问题本质

任务二要求回答的核心问题是:在系统存在不确定性时,最优解决方案会如何变化?

这不仅仅是计算"能耗增加多少",而是要回答:

  • 原来的最优工期(膝点)还适用吗?
  • 需要预留多少时间/资源冗余?
  • 哪些因素对结果影响最大?

1.2 不确定性来源

不确定性 物理机制 影响
火箭发射失败 发动机故障、天气中止、轨道偏差 有效发射次数减少
电梯故障/维护 机械故障、缆绳摆动、定期维护 运力间歇性中断
天气/窗口约束 恶劣天气、发射窗口限制 可发射天数减少
载荷损失 对接失败、运输损坏 实际交付量减少

1.3 建模方法选择

方法 优点 缺点 适用场景
确定性分析 简单、快速 无法量化风险 初步估算
期望值分析 考虑均值影响 忽略分布尾部 快速敏感性
蒙特卡洛模拟 完整分布、风险量化 计算量大 本方案
逐日仿真 最真实 极慢 验证/附录

二、数学原理

2.1 二项分布模型(发射成功/失败)

火箭发射是独立的伯努利试验,成功概率为 (p)。在 (n) 次尝试中,成功次数 (X) 服从二项分布:

X \sim \text{Binomial}(n, p)

2.2 Beta 分布(概率参数采样)

对于 ([0,1]) 区间的概率参数Beta 分布是自然选择:

p \sim \text{Beta}(\alpha, \beta)

给定均值 (\mu) 和标准差 (\sigma),可反解参数。

2.3 完成时间分布v2 修正:单调性保证)

完成时间定义为首次达到目标的时间

T^* = \inf\{T: D(T) \ge M\}

其中交付函数 (D(T)) 使用期望值计算:

D(T) = E_{\text{elevator}}(T) + E[\text{rocket}(T)]

这保证了 (D(T)) 单调递增,避免了 v1 中二分搜索每步重新采样导致的非单调问题。

2.4 失败能量分阶段建模v2 新增)

失败发射的能量损失取决于失败阶段(参考 FAA AST 报告):

失败阶段 能量损失比例 发生概率
发射前中止 5% 15%
一级飞行失败 35% 50%
上面级失败 70% 30%
轨道转移失败 100% 5%
加权平均 44.2% -

三、算法实现

3.1 核心算法:聚合 MC + 二项分布

def monte_carlo_binomial(target_years, params, n_simulations):
    # Step 1: 采样参数Beta/三角分布)
    # Step 2: 计算电梯交付(能量∝交付量)
    # Step 3: 成功发射次数(二项分布采样)
    # Step 4: 失败能量(分阶段加权)
    # Step 5: 返回条件/无条件能量分布

3.2 条件能量 vs 无条件能量v2 新增)

# 无条件能量(包含未完成的模拟)
energy_mean = np.mean(total_energy)

# 条件能量(只算完成的模拟)
completed_mask = completed.astype(bool)
energy_given_completed = np.mean(total_energy[completed_mask])

四、运行方式

cd p2
python uncertainty_analysis.py

五、不确定性参数

参数 均值 标准差 分布 物理含义
火箭成功率 97% 1.5% Beta 发射成功概率
电梯可用率 90% 4% Beta 故障/维护导致的有效运行时间
天气因子 80% 8% Beta 可发射天数占比
损失率 1% 0.5% 三角 运输过程载荷损失
电梯效率 95% 2% Beta 缆绳摆动等效率损失

六、程序运行输出 (v2)

================================================================================
MOON COLONY LOGISTICS - UNCERTAINTY ANALYSIS (TASK 2) v2
Revised: Binomial MC + Monotonic Time + Conditional Energy + Decision Table
================================================================================

1. UNCERTAINTY PARAMETERS (Beta/Triangular)
--------------------------------------------------
Rocket Success: 97.0% (σ=1.5%)
Elevator Avail: 90.0% (σ=4.0%)
Weather Factor: 80.0% (σ=8.0%)
Loss Rate: 1.00% (σ=0.50%)
Elevator Efficiency: 95.0% (σ=2.0%)

2. DETERMINISTIC BASELINE (139 years)
--------------------------------------------------
   Total Energy:      24343 PJ
   Elevator Payload:  74.6 M tons
   Rocket Payload:    25.4 M tons
   Launches:          202,856

3. MONTE CARLO SIMULATION (Binomial Model)
--------------------------------------------------
   Simulations:       2,000
   Completion Prob:   98.2%

   Energy Mean (all):       28588 PJ (+17.4%)
   Energy P95 (all):        30551 PJ
   Energy Mean (|completed):28577 PJ (+17.4%)
   Energy P95 (|completed): 30517 PJ

   Avg Successful Launches: 291,675
   Avg Failed Launches:     8,973
   Failure Energy Ratio:    44.2% (weighted avg)

4. COMPLETION TIME DISTRIBUTION (Monotonic)
--------------------------------------------------
   Mean:              124.2 years
   Std:               6.6 years
   P5/P50/P95:        114.5 / 123.2 / 135.9

5. DECISION GUIDANCE (ANSWER TO TASK 2)
--------------------------------------------------
   Task 1 recommended knee point: 139 years

   DECISION TABLE (Risk Preference → Timeline):
   ┌─────────────────┬──────────┬───────────┐
   │ Risk Tolerance  │ Timeline │ Energy P95│
   ├─────────────────┼──────────┼───────────┤
   │ Aggressive (P≥90%) │   133 y  │   31377 PJ│
   │ Standard (P≥95%) │   138 y  │   31002 PJ│
   │ Conservative (P≥99%) │   146 y  │   29673 PJ│
   └─────────────────┴──────────┴───────────┘

   Knee point in feasible region (P≥95%): 150 years
   → This is the Time-Energy tradeoff optimum within the safe zone

================================================================================
ANSWER TO 'TO WHAT EXTENT DOES YOUR SOLUTION CHANGE?'
--------------------------------------------------
  1. Energy penalty: +17% (unconditional mean)
     Energy penalty: +17% (given completion)
  2. Failed launches: ~8,973 (3.1% of successful)
  3. Recommended timeline RANGE: 138-150 years
     - 138y: minimum for 95% reliability
     - 150y: optimal time-energy tradeoff
  4. Most sensitive factor: Elevator Availability
================================================================================

七、核心结果 (v2)

7.1 确定性 vs 不确定性对比139年膝点

指标 确定性模型 MC模拟 变化
总能量(无条件) 24,343 PJ 28,588 PJ +17.4%
总能量(条件) 24,343 PJ 28,577 PJ +17.4%
能量 P95 - 30,551 PJ 风险上界
完成概率 100% 98.2% -
成功发射 202,856 291,675 +43.8%
失败发射 0 8,973 新增

v2 说明条件能量和无条件能量非常接近因为完成概率高达98%),但当完成概率较低时二者会有显著差异。

7.2 完成时间分布

统计量 数值 物理含义
均值 124.2 年 平均完成时间
标准差 6.6 年 时间不确定性
P5 / P50 / P95 114.5 / 123.2 / 135.9 年 概率分位数

7.3 决策指导表ANSWER TO TASK 2

风险偏好 最短时间线 能量 P95 说明
激进 (P≥90%) 133 年 31,377 PJ 10%失败风险
标准 (P≥95%) 138 年 31,002 PJ 推荐选择
保守 (P≥99%) 146 年 29,673 PJ 近乎无风险

可行域膝点150 年(在 P≥95% 区域内的时间-能量权衡最优点)


八、敏感性分析详细数据

参数 取值 完成概率 能量均值 (PJ) vs 确定性
基准 - 97.5% 28,600 +17.5%
火箭成功率 93%→99% 96%→98% 微降 -1%
电梯可用率 80%→95% 84%→99% 显著降 -14%
天气因子 70%→90% 87%→99% 微变 ~0%

最敏感因素:电梯可用率


九、输出图表

9.1 蒙特卡洛模拟结果

monte_carlo_results

9.2 解决方案变化(核心图)

solution_changes

9.3 完成时间分布

completion_time_dist

9.4 敏感性分析

sensitivity_analysis

9.5 情景对比

scenario_comparison


十、关键结论 (v2)

回答:"To what extent does your solution change?"

1. 能量惩罚:+17%

确定性模型24,343 PJ
MC 模拟均值28,588 PJ (+17.4%)
P95 风险上界30,551 PJ (+25.5%)

2. 时间线建议:决策区间而非单点

决策者风险偏好 推荐时间线
激进接受10%失败) 133 年
标准接受5%失败) 138 年
保守接受1%失败) 146 年
时间-能量权衡最优 150 年

核心结论:任务一推荐 139 年,任务二建议 138-150 年区间,具体取决于决策者的风险偏好。

3. 失败发射约 9,000 次

  • 失败率:约 3.1%
  • 失败能量:按阶段加权 44.2%

4. 风险缓解策略

策略 措施 预期效果
提升电梯维护 可用率90%→95% 完成概率+2%,能耗-5%
延长工期 139年→146年 完成概率98%→99%
优先低纬度 法属圭亚那优先 降低单次发射能耗

十一、与任务一的关联

对比项 任务一(确定性) 任务二(不确定性)
模型类型 确定性优化 二项分布蒙特卡洛
能量口径 按站点/纬度/ΔV 同任务一(一致性)
推荐时间线 139 年(膝点) 138-150 年(区间)
能量估算 24,343 PJ 28,588 PJ (+17%)
输出形式 单点最优 决策表 + 风险分位数

十二、方法论改进说明 (v2)

12.1 完成时间单调性修正

v1 问题

# 二分搜索每步重新采样 → 非单调
n_succ = np.random.binomial(n_try, p_s)  # 每次都不同!

v2 修正

# 使用期望值函数 → 单调递增
expected_success = n_try * p_s

12.2 能量口径分离

v1:只报告 E[Energy]

v2:分开报告

  • E[Energy]:无条件均值
  • E[Energy | completed]:条件均值

12.3 失败能量文献支持

v1:固定 30%(无来源)

v2:分阶段加权 44.2%(引用 FAA AST 报告)


十三、数据文件

文件 内容
uncertainty_analysis.py 主程序(~1200行
sensitivity_results.csv 敏感性分析数据
pareto_risk_constrained.csv 风险约束 Pareto 前沿

十四、参考文献

  • FAA AST (2024). Commercial Space Transportation Year in Review
  • Metropolis & Ulam (1949). The Monte Carlo Method
  • Satopää et al. (2011). Finding a 'Kneedle' in a Haystack