
刷到 B 题是“太空电梯系统建立月球殖民地”的时候我第一反应是这题终于从“地球电梯”升级到“月球电梯”了。太空电梯这个主题在美赛里不算冷门但 B 题一般不会只让你算一根缆绳——它会把物理可行性、运输调度、基地选址、成本经济全部揉在一起最后还让你写一份可持续发展的方案。对大多数参赛队来说最大的难点不是公式而是不知道从哪一步开始建模。这篇内容我会按我自己备赛时的顺序来讲先拆题目、再建物理模型、然后处理运输与优化、最后给出代码框架和论文排版建议。适合正在备赛 MCM 的队伍参考也适合想快速理解“太空电梯建模套路”的同学阅读。里面的参数和代码我会给到可以直接复制改写的程度但更重要的是理解每一条公式为什么长这样。1. 拿到题目先画问题地图太空电梯不是“造一根缆绳”那么简单1.1 五个字概括题目本质把货物送到月球很多队伍看到“月球殖民地”就开始脑补科幻设定这是最大的失分点。竞赛题目无论包装成什么样本质都是一道可以用数学语言描述的系统设计题。太空电梯解决的核心问题只有一个如何以比火箭更低的成本把物资从月面持续送到地月空间或者反过来。月球殖民地只是需求端它决定了需要运输多少货物、多少人员。所以第一步不是写代码而是把题目里所有动词圈出来。比如“设计”“评估”“优化”“权衡”这些词对应到论文里分别是设计参数、建立指标、优化模型、敏感性分析。我习惯用一张问题地图把题目拆成三层物理层缆绳能否存在材料强度够不够张力分布长什么样。交通层爬升器怎么上下运力多大能耗多少多久能完成运输任务。规划层基地建在哪规模如何增长成本如何回收风险如何管控。这三层不是并列关系而是递进关系。物理层是硬约束交通层是系统能力的决定因素规划层才是拿高分的差异化内容。大多数队伍会在物理层花掉80%的时间到了第三天发现运输和规划还没有模型最后只能硬凑。这个坑我踩过所以建议一开始就按三层分配工作量。1.2 先手算量级建模的第一步不是列公式拿到这类题目我强烈建议先花半小时做一组手算量级估算。量级估算的意义是让你知道题目中哪些因素是主导项哪些可以安全忽略。太空电梯逃不开这几个数字月球半径约为 1737 km表面重力加速度约 1.62 m/s²是地球的六分之一。月球自转周期约为 27.322 天潮汐锁定也就是说它绕自己转一圈需要约 236 万秒。月球的同步轨道半径约为 88460 km对应距月面高度约 86700 km。地月 L1 点距月球中心约 61500 km距月面约 59800 km。这几个数字一出来关键结论马上就清楚了如果把缆绳末端只伸到 L1 点由于 L1 点的离心加速度还不足以抵消月球的引力缆绳会被“拉回”月球方向无法自持。理想方案必须让缆绳末端超出月球同步轨道利用离心力来拉紧整根缆绳或者在同步轨道以内加一个大型配重。这也是很多人忽略的物理核心太空电梯不是一根悬在天上的绳子而是一根“旋转木马上的绳子”离心力是它立起来的关键。再算一个运输量级从月面到末端约 10 万公里如果爬升器以 1000 m/s 的速度匀速上升单程大约需要 10 万秒也就是不到 30 小时。如果速度降到 200 m/s单程就要 5 天。这个数字直接决定了后续运输模型中的周转时间也是后面优化的一个重要变量。1.3 三问拆解法把“殖民地”需求翻译成运输任务题目里的“月球殖民地”不会只让你描述生活画面它一定会给出人口规模或建设目标比如“支持 100 人长期驻留”或“建成 1000 吨级研究站”。这时候要做的是把这些目标翻译成运输任务。我的拆法很简单用三个问题驱动第一问殖民初期需要从地球或月面运输哪些物资答案是基础设施模块、生命支持系统、设备仪器、能源装置还有建设月球电梯本身的材料。这部分是“一次性建设物资”对应固定的运输总吨位。第二问维持运营需要哪些持续补给氧气、水、食物、备件对应一个以天或月为单位的补给速率。要注意闭合生命支持系统的回收率如果水回收率是 90%每人每天可能需要补充的水量就很少如果完全不回收那运输量会直接爆炸。这种细节特别适合写进假设和敏感性分析。第三问运输系统需要多长时间完成建设任务这决定了缆绳长度、爬升器速度、载荷量和配重质量的联合优化。竞赛题往往要求你给出一个“最优方案”这里的优化目标可以是总成本最低也可以是最短工期或者两者权衡。把这三问的答案整理成表格论文的问题重述部分就有了骨架而且后面每个模型都知道该输出什么量。2. 从张力分布到锥度比手把手搭出静力学模型2.1 缆绳上每一段都受三个力静力学模型是整个 B 题的基础。无论是材料选择、缆绳尺寸还是配重质量都要回到张力分布上。取缆绳上距离月心为 r 的一小段它主要受三个力月球引力向内离心力向外缆绳截面张力沿绳传递。如果把缆绳截面积设计成与张力成正比即每段截面的应力都保持在材料的允许应力附近那么就可以推导出一个非常优雅的微分方程。定义局部有效重力加速度为a_eff(r) G M / r² - ω² r其中 G 为引力常数M 为月球质量ω 为月球自转角速度。当 a_eff 为正时表示该处月球引力占优缆绳需要靠内部的张力来“拉住”上方当 a_eff 为负时表示离心力占优缆绳处于受拉状态。再设缆绳密度为 ρ材料允许应力为 σ截面积为 A(r)张力为 T(r)。利用 A(r) T(r)/σ可以消去截面积得到dT/dr - (ρ / σ) · a_eff(r) · T(r)这个方程的意思是张力的相对变化率由当时的局部有效重力决定。低轨区域引力占优张力随高度下降过了同步轨道之后离心力占优张力又随高度上升。所以整根缆绳的张力分布是一条“先降后升”的曲线最低点正好在同步轨道附近。这个模型的好处是只需要一个边界条件缆绳末端的张力等于配重提供的向心力矩拉力也就是 T_top m_cw · (ω² r_top - G M / r_top²)。只要末端在同步轨道外末端张力就是正的。然后从末端向月面数值积分就能得到月面锚点处的张力进而算出所需的截面积和总质量。2.2 材料参数是模型的命门太空电梯能不能成立核心就看材料。碳纳米管是目前最常被拿来做假设的材料理论拉伸强度可以超过 100 GPa但实际工程中要打折扣。我在建模时通常把允许应力设为 30~50 GPa密度取 1300 kg/m³这样不会显得过于乐观。如果你想让模型更有区分度可以列一张材料对比表材料密度 (kg/m³)允许应力 (GPa)比强度 (m²/s²)备注碳纳米管1300503.85e7主选材料石墨烯2200502.27e7工艺不成熟Zylon PBO15405.83.77e6可作对比高强钢785011.27e5只能当笑话比强度其实就是“允许应力除以密度”它决定了缆绳自重占多大比例。比强度越高缆绳可以做得越长而不需要靠锥度来增重。月球电梯之所以比地球电梯容易就是因为月球引力小且自转周期长需要的特征长度小得多。2.3 用 solve_ivp 从末端向月面积分完整代码这段代码我建议直接放进论文附录并且主文里放一张张力分布图。用 Python 的 scipy 可以轻松完成关键点是积分方向从末端 r_top 往月面 R0 积分。import numpy as np from scipy.integrate import solve_ivp G 6.674e-11 M_moon 7.346e22 R_moon 1.737e6 T_period 27.322 * 86400 omega 2 * np.pi / T_period rho 1300.0 # 碳纳米管密度 kg/m3 sigma 50e9 # 允许应力 Pa r_top 1.2e8 # 末端半径 12 万 km m_cw 50000.0 # 配重质量 5 万吨 def a_eff(r): return G * M_moon / r**2 - omega**2 * r T_top m_cw * (omega**2 * r_top - G * M_moon / r_top**2) def dT_dr(r, T): return -(rho / sigma) * a_eff(r) * T sol solve_ivp(dT_dr, [r_top, R_moon], [T_top], rtol1e-8, atol1e-6) r_arr sol.t T_arr sol.y[0] A_bottom T_arr[-1] / sigma print(月面张力 {:.2e} N.format(T_arr[-1])) print(月面所需截面积 {:.2e} m^2.format(A_bottom)) print(直径 {:.2f} m.format(2 * np.sqrt(A_bottom / np.pi)))这里有个很容易踩的坑solve_ivp 默认要求时间自变量单调变化从 r_top 到 R_moon 是递减的这是允许的但你的初值必须是末端张力 T_top。如果你的边界条件给错位置比如从月面往上积就需要猜月面截面积相当麻烦。从末端往下积物理意义清晰数值上也稳定。算完之后你会发现月面锚点处截面积可能只有几平方厘米到零点几平方米。这个数字看起来不大但整根缆绳长度接近 10 万公里总质量会达到上万吨级。这正好可以作为运输任务输入的初始依据。3. 爬升器与物资流建模把“电梯”变成“运输系统”3.1 爬升器动力学别一上来就假设匀速很多队伍做运输模型时直接设定“爬升速度 1000 m/s”然后算时间。这个做法不是不行但会丢掉一个重要的物理约束爬升器需要靠缆绳提供牵引力而牵引力受限于缆绳表面接触能力和电机功率。我建议把爬升器的运动分成三段匀加速段、巡航段、匀减速段。加速度可以取 5 m/s² 到 10 m/s²对货物来说没有舒适性限制对人员来说要控制在 5 m/s² 以下。运行阻力包括重力梯度变化、机械摩擦和可能的空气阻力。月球没有大气所以空气阻力这一项直接删掉这是一个重要细节。于是运动方程可以写成F_trac - m_climber · a_eff(r) - F_friction m_climber · a其中 F_trac 是爬升器由缆绳提供的牵引力a_eff 是前面的局部有效重力加速度但要注意爬升器受到的力不是整根缆绳的张力差而是它提升自重所对抗的等效重力。工程上可以把每单位质量所需的牵引功率写成P F_trac · v / ηη 是电机和传动效率取 0.7~0.8。这个公式的意义是速度越高、载荷越重需要的功率越大。如果你的方案里假设靠激光或微波从月面供能还要额外把接收效率和波束发散考虑进去。3.2 运输吞吐量算一次就知道方案合不合理吞吐量是整个交通层的输出指标。定义一个“爬升器”的往返周期T_round 2 · (L / v_cruise t_acc t_dec t_load t_unload)其中 L 是缆绳有效爬升长度。如果 L 取 9 万公里巡航速度取 1000 m/s加速减速各 12 分钟装卸各 6 小时单程约 25 小时往返约 50 小时。这个数字意味着一个爬升器大约两天跑一趟。如果单次运载能力是 200 吨那一个爬升器每年可运输 3 万吨以上。建一个 100 人殖民地的初期物资如果按 5 万吨算一台爬升器一年多就能完成。这个算例告诉我们太空电梯系统最大的瓶颈往往不是缆绳而是爬升器数量、装卸效率和能源供应。因此模型里必须把爬升器数量 N 作为决策变量而不是拍脑袋设成“3 台”。3.3 用优化模型同时决定爬升器数量与速度这部分建议做一个单目标或多目标优化模型。决策变量可以是爬升器数量 N巡航速度 v单次有效载荷 m_payload末端配重质量 m_cw缆绳末端半径 r_top约束条件包括缆绳各点应力不超过允许应力爬升器功率不超过最大设计功率同一时刻缆绳上的爬升器间隔大于安全距离完成建设任务的总时间不超过给定年限目标函数可以选“单位货物运输成本最小”或者“总成本最低总时间最短”的双目标。我常用的做法是定义C_total C_cable N · C_climber C_energy C_ops其中 C_cable 与缆绳总质量成正比C_climber 与爬升器单价和数量成正比C_energy 与总需要提升的势能和全程能耗成正比C_ops 是运营费用。把各分项写清单位最后统一换成美元或“等价积分”在摘要页里给一个总成本即可。求解这种问题不需要太高级的算法先用网格扫描 模拟退火做全局搜索再用局部搜索精化。不要一上来就上强化学习MCM 的评审看重的是模型的合理性和结果的可解释性不是算法有多炫。4. 从单缆绳到殖民基地选址与扩张规划模型4.1 把殖民地需求翻译成“补给流”很多队伍把殖民地当摆设只在结论里写一句“可以容纳 100 人”。但真正的高分论文会把殖民地需求化成一个补给方程。我常用的方式是按“建设物资 运营物资”两类统计建设物资包括预制舱段、太阳能板/核反应堆、水冰处理设备、机器人、科学仪器、人员运输舱。运营物资包括氧气、食物、水补充、备件和消耗品。可以给出一张“日产需求表”项目每人每天消耗100 人每天需求假设回收率后需补给量氧气0.84 kg84 kg若 85% 回收只需约 12.6 kg饮用水3 L300 L若 90% 回收只需 30 L食物0.6 kg干重60 kg无回收60 kg综合电力3~10 kWh1000 kWh由核能/太阳能提供不考虑运输这张表一出来持续补给速率就有了运输模型可以算“建设期完成之后还需要多少频次的航班”。这个细节特别能体现建模的完整性。4.2 基地选址多准则打分比纯优化更实用基地选址题目如果没有明确给约束建议用多准则决策。候选地可以抽象成月球赤道附近的几个区域也可以基于简单地图划分网格。评分准则建议覆盖四个方面与电梯锚点的距离距离越近物资转运成本越低。光照条件月球昼夜各约 14 天极区部分高地有接近永久光照区域太阳能利用价值高。水冰资源极地陨石坑阴影区可能含有水冰是生命支持系统和燃料生产的关键资源。温度稳定性与地质风险避开月震活跃带和极端温差区域。把四类指标标准化后加权求和权重的选择用熵权法或层次分析法都行。如果想做得更专业可以画出候选方案的帕累托前沿展示“越靠近锚点光照越差”的权衡关系。评审很吃这一套因为它说明你不是只用单一指标拍板。4.3 扩张阶段三段式模型最稳殖民地的建设周期建议分成三个阶段阶段一机器人先遣。运送无人设备和基础发电装置到月面建设电梯月面锚点。运输总量小但要求高可靠性。阶段二首批人员驻留。完成居住舱、水循环、食物生产系统人员规模从 10 人增加到 100 人。这一段是物资运输的高峰期。阶段三持续运营与科学扩展。人员规模稳定运输以补给和设备为主开启资源开采和原位利用。此时太空电梯也开始承担向地月空间运输月面资源的任务。每个阶段定义一组合适的状态变量人员数 P(t)、已建成有效载荷能力 I(t)、累计运输量 Q(t)。然后用常微分方程描述增长比如人员增长率受制于居住舱能力和补给速率。这样写出来论文的“模型建立”部分就有层次感而不是只有一根缆绳的静力学。5. 代码路线图与敏感性分析结果怎么摆5.1 代码框架先跑通物理再扩展优化我自己的代码结构是这样的physics.py负责静力学模型输出张力分布、截面积、缆绳总质量。transport.py负责爬升器运动与吞吐量计算输出单程时间、年运力。optimize.py负责优化车队配置与参数扫描。sensitivity.py负责对材料强度、速度、载荷等参数做敏感性分析。plotting.py统一出图。这个结构不复杂但能保证团队协作时不会所有代码都堆在一个 notebook 里。特别是中文注释一定要写清楚物理单位我在备赛时就因为把 km 和 m 混用导致缆绳质量差了一千倍。5.2 车队配置优化目标函数与约束的伪代码优化部分如果不想引入太重的外部库可以用 scipy.optimize.differential_evolution它支持带边界的全局优化也方便处理连续变量。写伪代码的思路是这样def transport_cost(x): N, v, m_payload, r_top, m_cw x # 1) 由静力学模型计算缆绳质量 cable_mass cable_mass_from_tension(r_top, m_cw) # 2) 计算单程时间 t_oneway L / v time_acc time_load # 3) 年产运力 annual_capacity N * m_payload * 365.0 * 24 / (2 * t_oneway) if annual_capacity required_demand: return 1e18 # 不满足需求给大惩罚 # 4) 总成本 total_cost cable_cost(cable_mass) N * climber_cost energy_cost(t_oneway) return total_cost此处的核心是“不满足约束直接给一个极大惩罚值”比写复杂的约束函数更省事。如果时间充裕可以用 DEAP 库做多目标遗传算法同时绘制总成本与总工期的帕累托前沿图。5.3 敏感性分析这几张图能救回印象分敏感性分析不需要复杂但要覆盖题目最核心的假设。我建议至少做三张第一张材料允许应力从 10 GPa 扫到 100 GPa观察月面截面积和缆绳总质量的变化。这张图直接回答“太空电梯方案对材料到底有多敏感”。第二张爬升器巡航速度从 200 m/s 扫到 2000 m/s观察年运力和单位运输成本的变化。这张图直接对应交通层优化。第三张月面基地人口目标从 50 扫到 500观察需要的补给速率和运输频次。这张图让题目里“殖民地规模”这个变量真正进入模型。画 tornado chart 或热力图都可以我习惯用 matplotlib 画热力图因为信息密度高放在论文里显得很专业。注意所有子图必须统一单位坐标轴注明“月心距 (km)”还是“距月面高度 (km)”这种细节非常影响阅读体验。6. 论文写作图表的自我解释比你想象的更重要6.1 按 MCM 评审习惯搭论文骨架MCM 论文的评审速度比想象中快结构清晰比文采重要得多。我建议按这个顺序Summary Sheet单独一页包含问题简述、模型概述、核心结果、图表各一个。1 问题重述与分析2 模型假设与符号说明3 物理模型月球太空电梯静力学4 运输模型爬升器与吞吐量5 规划模型殖民地需求与选址6 优化与敏感性分析7 模型评价与结论附录代码、数据表注意每个模型小节内部都按“建模思路-公式推导-参数说明-结果图表”四步走。不要一个段落里又写背景又写公式又写结果。6.2 必画图表清单我把最值得花时间做的图表列成了一张清单照着画就不会漏图表位置内容说明摘要页系统方案示意缆绳从月面延伸到末端配重的示意图物理模型张力随月心距变化曲线标明同步轨道位置物理模型缆绳截面积随月心距变化曲线直观展示锥度比运输模型单程时间-吞吐量曲线直观展示速度与运力关系优化模型帕累托前沿图总成本 vs 工期敏感性材料应力-总质量热力图让评审快速理解风险点规划模型基地选址雷达图多准则决策可视化图表尽量导出 PDF 矢量格式不要用低分辨率截图这个细节在最终打印评审时很重要。6.3 摘要页怎么写才能不丢分摘要页是整个论文被读的唯一保证。我的写法是五段式第一段一句话点明做什么。不要写“本文研究了太空电梯”要写“本文建立了月球太空电梯系统的静力学-运输-规划联合模型并给出了支撑 100 人殖民地的可行参数方案”。第二段物理层结果。给出关键数字例如“末端半径 12 万公里、配重 5 万吨时月面锚点最大张力为 X N所需缆绳总质量约 Y 万吨”。第三段运输层结果。给出爬升器数量、速度、年运力以及完成建设任务所需时间。第四段优化与敏感性结果。说明哪个参数最敏感方案鲁棒性如何。第五段一句话总结可行性与优势。注意不要空喊口号。摘要页千万不能出现公式必须全是结论和数据。评审只会花两分钟看摘要如果摘要里看不到数字后面内容写得再好也容易被跳过。7. 备赛时间线与常见坑7.1 四天时间怎么分配真实竞赛只有四天我建议这样切第一天上午全面读题绘制问题地图完成量级估算。下午开始写静力学模型确定材料参数跑通张力分布代码。第二天完成爬升器动力学与吞吐量模型画出缆绳张力和截面积图。晚上开始做优化模型先用网格扫描找可行范围。第三天补完殖民地需求与选址模型完成帕累托前沿做敏感性分析。晚上开始写论文的物理层和运输层。第四天上午完成剩余章节和摘要页下午统一术语、核对单位、检查图表编号最后留 2 小时整体润色。这个安排的核心原则是物理模型第一天就必须落地运输模型第二天必须出数第三天必须完成所有图表第四天只做整合不写新内容。7.2 常见坑清单这里列几个我见过或者踩过的具体的坑第一把地球太空电梯的参数直接搬到月球。地球同步轨道高度约 35786 km月球同步轨道高度约 86700 km两者差别巨大。直接用地球参数缆绳锥度比和张力分布会完全错误。第二忘记月球表面没有大气。太空电梯爬升器不需要考虑空气阻力但需要考虑月尘对机械机构和太阳能板的影响这两个点很多队伍都漏了。第三忽略了月球昼夜长度。月球一昼夜约 29.5 个地球日太阳能供电会出现连续约 14 天的“黑夜”。如果选择太阳能供能必须在模型里增加储能系统或者改用核能否则能源约束崩塌。第四把“配重”和“末端锚定”混为一谈。当缆绳末端在同步轨道之外时靠离心力拉紧即可如果末端在 L1 点附近就必须额外讨论动态稳定问题不能只给一个静力学结果。第五单位混用。我见过一名队友把所有长度都用 km但引力常数用 m 制结果算出来的力差了 1000 倍。建议所有代码里统一用国际单位制输出到图表时再转换为 km 或 GJ。7.3 一点个人经验近几年美赛的题目里“硬核物理 系统规划”的组合越来越常见太空电梯正是这种出题风格的典型代表。我自己做这类题最大的体会是不要等到第三天再考虑优化目标。第一天就应该确定好“什么叫好方案”是成本低还是时间短还是两者权衡。只要这个目标定下来物理、运输、规划三块模型都会围绕它展开写论文时自然有一条清晰的主线。另外团队里最好有一个人专门负责“查单位”和“查图表编号”这个角色看起来不重要但往往决定最终成稿能不能让人一眼看懂。每次参赛我都会在第四天下午做一次“模拟评审”假设自己是评审只看摘要、每张图、每个结论的数字是否对得上。这一遍花两小时比多写两个模型都值得。