美赛B题建模:太空电梯与月球殖民地的系统决策
看到这个题目第一反应是“太空电梯终于被美赛翻牌子了”。作为指导过多年美赛B题的“老油条”我得说这道题出得相当漂亮——它把硬核物理、工程可行性、经济评估和长远战略决策全揉在了一起表面上是科幻命题内核却是典型的多约束系统建模与多目标决策。很多队伍第一眼会被“太空电梯”四个字吓住觉得自己物理不行、代码不够其实这道题真正筛选的并不是“谁能算出更精确的轨道力学”而是“谁能在信息不完整、约束条件一大堆的情况下把决策逻辑讲得足够自洽”。如果你正在备赛或者想找一份可以直接上手的建模与代码参考这篇内容就是为你准备的。1. 先读懂B题这道题到底在问什么1.1 题目热度与命题逻辑美赛B题历来有个特点它不会只考一个纯粹的“数学题”而是喜欢把工程系统、社会政策、经济成本甚至环境伦理全部塞进同一个背景里。往年出现过全球粮食分配、水资源短缺、可持续旅游、流行病防控等方向核心共性就是“资源约束下的系统方案设计与评估”。2026年这道题把背景放到了太空电梯和月球殖民地看似科幻本质上仍然是同一个套路你要在给定目标下设计一个大型基础设施系统并回答“这个东西值不值得建、怎么建、什么时候能建完”。这个命题方向在备赛圈里属于那种“热度极高但真正做得好的人极少”的题。因为它天然包含物理模型、运输调度模型、殖民需求模型、成本收益模型等至少四个层次队伍里如果只有数学或只有编程的人都会吃力。我的建议是拿到题先不要掉进“太空电梯”的科幻感里而是立刻把它翻译成“在地球和月球之间建设一条超长运输通道并用它支持一个有人驻留基地的物资流与资金流计划”。一旦完成这个翻译后续的模型框架就很清晰了。1.2 核心任务的再拆解标题里“借助太空电梯系统建设月球殖民地”这个短语实际上可以拆成三条互相咬合的任务线。第一条线是工程物理线太空电梯缆绳怎么受力、需要什么材料、多长才稳定、爬升器怎么动、单次能运多少东西。这条线的产出是可行性判断——到底是“理论上可行”还是“想都别想”。第二条线是物流与建设线给定运输能力要建设一个能住人的月球基地需要从地球运多少吨水、空气、模块化舱段、人员、维生设备整个建设工期多长瓶颈是运力还是建造速度。第三条线是经济决策线建太空电梯的初始投入、维护成本、运营收益用净现值、投资回收期等指标回答“值不值得投”。三条线最终汇总成一个结论如果值得给出建议的建设方案如果不值得说明临界条件是什么。很多队伍做这道题最容易犯的错误是只做第一条线——拼命算缆绳材料、张力分布最后发现结论只是“碳纳米管强度够用”。这不行美赛B题很少考“算不算得出来”而是考“算出来之后你还能不能继续做决策”。三条线缺一不可。1.3 适合的建模方向从建模工具上来讲这道题适合“解析/半解析模型离散优化多目标决策”的组合。物理层用微分方程描述缆绳的张力与截面积分布这部分用手推公式加Matlab数值积分就能解决物流层用离散的日班次调度模型本质上是个带约束的整数规划经济层则明显是净现值与敏感性分析是美赛评委会很熟悉的范式。同时题目里“月球殖民地”还隐含了生态生命支持系统的建模比如再生水的回收率、氧气循环、食物补给这就涉及到人在封闭环境中的资源需求。部分队伍会在这里引入系统动力学或马尔可夫过程不过我的经验是只要你能把每个需求项的闭环比例和补给缺口算清楚就已经足够不必硬上复杂随机模型。2. 太空电梯的物理内核别让想象力变成空转2.1 太空电梯最基本的力学平衡很多人理解太空电梯容易陷入一个直觉误区以为它是“一座从地面扔到天上的吊桥”绳子是被地面拉住的。实际上太空电梯能够悬在空中靠的不是地表的拉力而是缆绳整体绕着地球自转产生的离心效应。想象一段足够长的绳子一端固定在赤道上另一端一直向上延伸到同步轨道之上。在同步轨道高度以下重力大于离心力绳子想往下坠但在同步轨道高度以上离心力大于重力绳子想往外甩。这一对相反的力把整根绳子绷紧就像两个人在相反方向拔河。量化这个平衡时最关键的一个量是“视重力”g_eff(r)g(r)−ω²r。在同步轨道高度处g_eff0低于这个高度时g_eff为正指向地心高于这个高度时g_eff为负指向太空。对于一根长L的缆绳其张力分布不是均匀的靠近同步轨道高度附近的张力最大因为该处要平衡两端全部缆绳的合力。这个分布不搞清楚后面材料强度校核就是空中楼阁。如果是月球太空电梯原理类似但更复杂。月球被地球潮汐锁定自转角速度等于公转角速度这导致月球表面的“一天”长达27.3个地球日所以单纯靠月球自转建立同步轨道是不现实的。更合理的设计是让缆绳沿地月连线方向布置把地球引力当作额外稳定源——缆绳可以在月球近地侧的L1点或远地侧的L2点附近找到视重力为零的平衡位置。但无论哪种方案模型的核心仍然是那个一维微分方程缆绳微元的张力变化量等于该处微元所受的视重力。2.2 材料强度与“锥形缆绳”的关系材料参数是这个模型里最牵一发动全身的地方。常识告诉我们太空电梯的缆绳需要极高强度、极低密度通常提的都是碳纳米管。判断碳纳米管能不能撑住一根几万公里长的缆绳不能只看抗拉强度数值而要算一个叫“特征长度”的东西。特征长度的定义是材料在自身重力下刚好不被拉断的极限悬吊长度公式为Lcσ/(ρg)其中σ是抗拉强度ρ是密度g是当地重力加速度。碳纳米管的理论强度大约是60~100GPa密度约1300kg/m³在月球表面重力下Lc可以达到约5万公里看起来已经很可观。但问题在于缆绳不是在一个均匀重力场里同步轨道以上还要承受额外的离心拉力所以真实设计里往往需要让截面积随高度变化——这就是“锥形缆绳”概念。具体的建模思路是这样的设定缆绳内部任意截面的应力都刚好达到同一许用值这时缆绳的截面积分布由等式σA(r)T(r)反推张力大的地方截面积就粗。数值上可以在缆绳顶端给定一个很小的初始截面积然后沿缆绳向下积分张力微分方程逐步反算出每个高度的截面积。最终会得到一个“底部粗、顶部细”的锥形分布。这个“等应力设计”既不是唯一的也不一定最优但作为竞赛模型足够有说服力。我在实际指导中发现只要队伍能把“为什么必须做成锥形”讲清楚评委就不会再揪着材料强度参数不放。2.3 月球环境的不可忽略细节月球和地球的最大区别第一是重力加速度只有地球的六分之一左右第二是没有大气第三是潮汐锁定导致它总以同一面朝向地球。前两点对模型的影响很直接低重力意味着同样的缆绳材料在月球上能支撑更长没有大气意味着爬升器不需要承受气动加热可以简化成纯机械爬升。第三点则决定了缆绳锚点最好选在月球面向或背向地球的赤道区域否则缆绳姿态会因科里奥利力和潮汐力变得很不稳定。除此之外月尘、微流星体撞击、昼夜温差波动这些因素虽然难以精确建模但完全可以在模型假设和风险分析里给出定性讨论。评委希望看到的是你能意识到工程系统不是在真空中运行的哪怕你最后只是用一个“安全系数”把这些不确定性折进材料强度上也比完全无视它们要好得多。我记得有支队伍的做法是给缆绳最大应力设定了一个“环境系数”乘子简单但有效最后评审意见里专门表扬了这一点。2.4 关键参数的敏感性来源这一层的产出应该是一张参数表至少要能回答“哪个参数对可行性影响最大”。我建议在模型里做一个局部敏感性分析在基准值附近把材料抗拉强度、缆绳长度、爬升器速度、单次载重、运输利用率分别上下浮动10%/20%记录对输出指标的影响。实战经验是刚度最大的通常是材料抗拉强度与缆绳总长度因为它们决定了缆绳自重和整根绳的应力水平而运输方案参数只影响工程工期和成本曲线不影响“能不能建”的物理判断。所以我在备赛时会让队伍把物理层、物流层、经济层的敏感性分开做每层各自出一张“参数影响表”最后再串起来给一个总敏感性结论。这比笼统地在一张表里堆五十个参数要清晰得多。3. 从“能建”到“值得建”三类子模型的搭建思路3.1 运输容量与物流调度模型物理模型讲清楚“缆绳能承受多大拉力”之后紧接着就要回答“每天能运多少东西”。运输模型的核心参数有三个爬升器的数量、单次有效载荷、爬升速度。爬升器不是瞬间到站的单程时间等于缆绳长度除以爬升速度地球到月球大约38万公里就算平均以每小时5000公里的速度爬升单程也要约76小时一个往返就要六天以上。这就意味着初期运力极其有限前几个月只能优先运生命维持系统和建设关键路径上的设备而不是一次性把建材全堆上去。建模时可以把建设过程分成两个阶段第一阶段是“无人/少量人员”的基础设施建设期主要运输自动化建造机器人、3D打印装置和能源模块第二阶段才是人员及物资的大规模进驻。用日运输量乘以有效天数就能得到总建设时间的解析预测。如果你想让模型看起来更精致可以在第二层引入一个简单的排队模型爬升器在缆绳上同向行驶时必须有安全间距一旦速度不同就可能碰撞所以实际有效班次要乘以一个小于1的利用率系数。这个系数可以从车头时距公式粗估也可以用简单仿真去扫。3.2 殖民地需求与闭环生态模型建设一个有人月球基地最繁琐的其实是维生需求。每位驻员每天大约需要0.81.0kg氧气、35L水在闭环回收状态下可降到12L、0.50.7kg干重食物加上每人每天产生的废物也必须在密闭舱内处理。这组数字随便一乘500人的基地一年就需要大约两百吨以上的补给量。把这些需求梳理成一张“物资清单表”左边是项目右边是单位消耗与闭环回收率这本身就能解决题目里“殖民地需要什么”这个子问题。闭环生态是这道题的隐藏得分点。你可以给不同物资设定不同的回收利用率比如水回收率可以达到90%以上氧气通过电解水再生也能达到较高闭路水平但食物和某些耗材几乎不可能完全自给。这样模型输出就不是一个静态总吨数而是“在给定的闭环比例下每个月仍需要从地球补给多少”的动态数字。这个数字直接决定了太空电梯的长期运力需求也和前面的物流模型形成闭环。3.3 经济效益与多目标决策模型到了经济层核心工具就是净现值NPV和投资回收期。总投资包括缆绳材料成本、爬升器制造与发射成本、月面基建成本、年度维护成本收益则来源比较难定义可以写科研产出、月面资源开采、地月运输服务收费等。这里的难点不是公式而是“收入项缺乏可靠数据”。我的建议是采用情景分析给出乐观、基准、悲观三个情景分别定义不同的收益曲线然后计算每个情景下的NPV与回收期。在方案比选上可以用层次分析法把几个候选方案比如纯火箭运力建设、太空电梯建设、太空电梯火箭混合放在同一框架里比较准则层设置工期、成本、安全性、可扩展性、技术成熟度。评分虽然有一定主观性但只要一致性比率合格这就是一个完整且规范的多目标决策模型。美赛评委会比较吃这一套因为“用模型解决决策问题”本身就是B题的核心考察点。4. Matlab参考代码从物理公式到可运行demo4.1 缆绳张力与截面积分布的数值求解我给队伍的建议是物理层不要一上来写复杂的三维仿真而是先在Matlab中实现一个一维缆绳模型的数值求解。沿缆绳取坐标x表示距月球表面的高度定义视重力分布函数g_eff(x)然后用积分从缆绳自由端往锚点推张力。% 月球缆绳一维力学模型简化版 % 单位SIm, kg, s G 6.674e-11; M_moon 7.346e22; % 月球质量 M_earth 5.972e24; % 地球质量 R_moon 1.737e6; % 月球半径 D_earth_moon 3.844e8; % 地月中心距 rho 1300; % 缆绳密度假设碳纳米管 sigma_max 100e9; % 抗拉强度 Pa % 缆绳沿月球背离地球方向延伸x从月表向L2方向 L_cable 3.0e7; % 假设缆绳长3万公里 % 视重力函数内端指向锚点取负表示向下外端离心地球引力综合为0以上 g_eff (x) G*M_moon/(R_moonx)^2 - G*M_earth/(D_earth_moon - R_moon - x)^2 ... (2*pi/(27.3*86400))^2 * (D_earth_moon - R_moon - x); % 数值积分求张力分布从自由端xL_cable向锚点x0积分 N 2000; x_nodes linspace(0, L_cable, N); dx x_nodes(2) - x_nodes(1); A0 1e-6; % 顶端参考截面积 1 mm^2 T zeros(N,1); T(end) sigma_max * A0 * 0.5; % 自由端有一个对重质量带来的小张力 % 反向积分dT/dx -rho*A*g_eff % 等应力设计A(x) T(x)/sigma_design sigma_design sigma_max * 0.6; % 工作应力取材料强度的60% for k N-1:-1:1 x_mid 0.5*(x_nodes(k) x_nodes(k1)); g_mid g_eff(x_mid); T(k) T(k1) rho * (T(k1)/sigma_design) * (-g_mid) * dx; end % 截面积分布 A_dist T / sigma_design; % 可视化 figure(Units,points,Position,[100 100 900 360]); subplot(1,2,1); plot(x_nodes/1e6, T/1e6, LineWidth, 1.5); xlabel(距月表高度 (万公里)); ylabel(张力 (MN)); title(缆绳张力分布); grid on; subplot(1,2,2); semilogy(x_nodes/1e6, A_dist*1e6, LineWidth, 1.5); xlabel(距月表高度 (万公里)); ylabel(截面积 (mm^2)); title(等应力设计下的截面积分布); grid on;这段代码的逻辑重点在反向积分从缆绳自由端开始越往锚点方向缆绳要承担的自身重量越大张力越大所以截面积要逐渐加粗。注意g_eff表达式的符号定义我的写法里近月端“视重力”指向锚点因此反向积分时要用−g_mid来做增量。如果你的模型选了近地侧L1方案只需要把这个函数换成对应坐标的引力表达式即可。4.2 运输班次与建设工期的快速估算物流层的Matlab代码不需要很高的技巧重点是参数关系清楚、结果可视化。% 运输能力与建设工期估算 clc; clear; P 20e3; % 单次有效载荷 20 吨 n_vehicles 40; % 同时运行的爬升器数量 v_climb 5000 / 3.6; % 爬升速度换算为 m/s 约 1389 m/s L_eff 3.0e7; % 有效运输距离 3万公里 t_oneway L_eff / v_climb / 3600; % 小时 t_round 2*t_oneway 12; % 加上装卸维护时间12h trips_per_vehicle 24 ./ t_round; % 每车每日航班次数 daily_capacity n_vehicles * trips_per_vehicle * P / 1e3; % 吨/天 fprintf(单程时间: %.1f h\n, t_oneway); fprintf(日总运力: %.1f 吨/天\n, daily_capacity); % 建设需求情景 demand_total [1e5, 2e5, 5e5]; % 10万、20万、50万吨 for d demand_total T_build d / daily_capacity / 365; % 年 fprintf(总需求 %d 万吨时工期约 %.1f 年\n, d/1e4, T_build); end跑出来的结果通常会告诉你一件很现实的事在不考虑爬升器数量爆炸式增长的前提下太空电梯的初期运力并没有想象中夸张反而是“建设前期数万吨生命支持系统”这种小目标比较现实。这也是模型给决策层的核心信息太空电梯的价值不是“瞬间运力”而是“长期边际运输成本低”这和火箭的“高运力高成本”形成鲜明对比。4.3 成本收益与敏感性扫描经济层可以做一张NPV热力图扫描两个变量贴现率和年运营收益增长率。% 成本收益扫描 clear; close all; C_capex 8e11; % 初始投入 8000 亿美元 C_maintenance 2e9; % 年维护费 20 亿美元 base_revenue 5e10; % 基准年收益 500 亿美元 years 0:40; discount_rate 0.02:0.005:0.08; revenue_growth 0.0:0.01:0.05; NPV_mat zeros(length(discount_rate), length(revenue_growth)); for i 1:length(discount_rate) for j 1:length(revenue_growth) rev base_revenue * (1 revenue_growth(j)) .^ years; cashflow -C_maintenance rev; npv -C_capex sum(cashflow(2:end) ./ (1 discount_rate(i)) .^ years(2:end)); NPV_mat(i,j) npv / 1e12; % 以万亿美元为单位 end end figure; imagesc(revenue_growth, discount_rate*100, NPV_mat); colorbar; xlabel(年收益增长率); ylabel(贴现率 (%)); title(NPV万亿美元敏感性热力图); set(gca, YDir, normal);这张图的解读方式很直接如果热力图左下角仍是深蓝或大面积负值说明方案在悲观参数下不可行如果负值区只出现在高贴现率低增长的角落说明方案整体稳健。美赛里这种“把Two-Way Sensitivity做成Heatmap”的做法几乎是标配评委看到会觉得很规范。4.4 如何让Demo代码显得“有模型感”参考代码跑通了还只是第一步。在论文里你一定不要把代码原文大段贴进去而要给流程图、伪代码、公式推导留足空间。代码的价值是“附录里能够复现”正文里展示的应该是“建模思路关键公式图像结果”。具体做法是把上面这些脚本封装成三个小函数文件同时用一行命令批量跑参数扫描然后把输出图组合成一个Figure。这样呈现出来的效果是“你的模型是可扩展、可批量试验的”比单一脚本高好几个档次。5. 论文写作与结果呈现图比公式更容易拿分的地方5.1 图表是第一印象美赛评阅时间非常有限图表是抓住评委注意力的第一抓手。凡是你做出了结果的地方都要有图有表并且每张图下面必须有“你能从这张图得出什么结论”这句话。我见过太多队伍辛辛苦苦算出张力分布图却只在下面写“缆绳张力随高度增加而增大”——这是废话图里已经看出来了。你应该写的是“在距月表约12万公里处张力达到峰值该位置是缆绳设计的最危险截面必须在此处加固或增加截面积”。只有把图和工程结论紧紧绑在一起图才有价值。另外三线表和结构化表格在美赛里非常加分。把参数表、物资需求表、投资回收期汇总表分别做成清晰的表格评委一眼就能扫到你的假设与结论会大幅降低阅读成本。5.2 摘要的打磨技巧美赛摘要的重要性再怎么强调都不过分。B题的摘要建议固定四段式第一段用一两句话点明问题背景和你的整体思路第二段按物理层、物流层、经济层三个子模型分别给出方法第三段给出最核心的量化结论比如“该方案可使建设工期比纯火箭缩短约XX%在基准情境下投资回收期为XX年”第四段一句话说明敏感性分析的稳健性结论和最终建议。摘要里一定要有数字评委最反感的就是摘要通篇“建立了模型”“进行了分析”而没有具体结果。5.3 敏感性分析该放什么敏感性分析不应该是最后草草补的一个图。在我的经验里好的敏感性分析必须回答三个问题哪个参数对物理可行性影响最大哪个参数对工期影响最大哪个参数对经济性影响最大分别用三个子图或三张表去呈现。比如物理层你改变材料强度从50GPa到150GPa缆绳最大截面积可能会差一个数量级但“是否可行”的结论可能不变而物流层爬升器速度从2000km/h提到5000km/h工期可能缩短一半——这样就能明确告诉决策者瓶颈不是材料而是爬升速度与车辆数量。6. 掉过的坑备赛期间的常见问题与解决实录6.1 单位换算的错误是最冤的扣分点美赛年年有人因为单位问题翻车太空电梯这一类工程题尤其如此。月球半径是1737公里地月距离是38.4万公里缆绳长度动辄三万公里数字都很大一旦km和m混用结果直接差三个数量级。我的习惯是全场只用SI单位所有常量和中间结果都用m、kg、s只在最后出图时转换单位。Matlab脚本里把常量的单位写在注释里可以省掉很多后半夜的排查时间。6.2 数据来源不注明或者乱引用材料强度、需求摄入量、成本估算这些参数你一定要在论文里标注来源哪怕是“基于公开资料估算”的描述也行。如果评委发现你的数据来源不可靠整篇论文的信任度会崩塌。一个稳妥做法是建一个“Data Sources”表格参数名、数值、来源、备注全部列清楚这在美赛里能显著提高印象分。6.3 模型堆砌却不解决实际问题有些队伍喜欢一上来就搞复杂的优化算法、机器学习预测、多Agent仿真最后回答的问题却含糊其辞。太空电梯这道题里最核心的问题“能不能建、建多久、值不值”都是可以用中等复杂度的模型回答清楚的。模型贵在逻辑闭环不在于炫技。我指导的队伍里拿奖最多的往往不是代码写得最花哨的而是能把“为什么这样做”讲得最透彻的。6.4 迭代不够展示不足美赛四天时间要留出半天从头到尾顺一遍参数是否自洽图表有没有结论模型假设有没有自相矛盾更重要的仿真代码是不是换台电脑跑一遍还能出结果我在备赛时一般要求队伍在第三天晚上之前锁定所有代码与核心图表第四天只做文字打磨和完整性检查因为最后半天一定会冒出各种预料之外的小问题。写在最后的备赛建议这道题如果让我加一个扩展方向我会考虑把模型改造成“月球小行星采矿”的复合系统只需要把运输链的末端从月面基地换成采矿个体其余经济与物流模型可以几乎原封不动地复用这会让模型的延展性变得很强。另一个值得投入的细节是“爬升器的动力学”很多论文只考虑匀速爬升实际上加速度、缆绳振动、功耗曲线都会影响运输班次的设定加入这个维度能让你在物理层脱颖而出。备赛的最后几天多花点时间把代码结果和论文图表对应起来一遍遍地问自己“这个模型如果拿去说服一个投资机构他们会信吗”——能说服自己就离拿奖不远了。