MCM520 ← 资料站首页 搜寻潜水器(二):装备配置与贝叶斯搜寻策略 打开交互阅读器 →

搜寻潜水器(二):装备配置与贝叶斯搜寻策略

摘要

承接第一篇的位置预测,本篇回答第二问(准备)与第三问(搜寻)。在准备方面,评估 6 类候选搜寻设备(声学信标、USBL、侧扫声呐、ROV、AUV、ADCP)的扫描宽度、被动探测半径、就绪度与成本,推选最小有效组合:声学信标 + USBL + 侧扫声呐,合计 10.7 万美元,主搜寻扫描宽度 W=4.0 km。在搜寻方面,以第一篇给出的不确定性半径 R_unc 为输入,建立贝叶斯搜寻框架:覆盖概率 POC(R_s)=1−exp(−R_s²/(2R_unc²)),取最优搜索半径 R_s=2.45·R_unc(覆盖约 95% 概率质量);累积探测概率 P_det(t)=POC·(1−exp(−W·v·t/A))。关键结论:中性场景在失联 6 h 后动员、无深度遥测时,水平搜寻达 90% 探测置信需 1.30 h,但若无深度信息须扫整 1800 m 水柱,总时长暴增至 46.9 h;有深度遥测则仅 1.04 h,缩短约 45 倍——这是本题最关键的情报价值点。周期声学上报把 R_unc 压到 0.30 km 后,水平搜寻更降至 0.16 h。全部数字与正文、配图、附录、工具四路一致。

一、问题重述(第二、三问)

  • 准备 Prepare:主船应额外携带哪些搜寻设备?每种的成本与收益如何?
  • 搜寻 Search:初始部署点设在哪里?采用何种搜寻样式?随时间累积的"找到"概率是多少?

二、模型假设(补充第一篇)

  1. 搜寻在失联后 ts=6 h 开始动员(意识滞后 + 部署时延);
  2. 搜寻船/拖曳设备航速 v=8 km/h,主搜寻手段为侧扫声呐,有效扫描宽度 W=4.0 km;
  3. 初始部署点取预测均值(失联点 + 漂移预测中心),搜索半径取 R_s=2.45·R_unc(ts)(二维高斯 95% 包含半径);
  4. 探测置信目标 CONF=0.90;
  5. 垂向维度:有深度遥测时只扫已知薄层(带宽 40 m,约 1 层);无深度遥测时须扫整水柱(H_COLUMN=1800 m,按 50 m 分层共 36 层)。

三、符号说明

符号 含义
POC 覆盖概率(目标落在搜索区内的概率)
R_s 搜索半径 (km)
A=πR_s² 单次覆盖面积 (km²)
P_det(t) 累积探测概率
W=4.0 km 侧扫声呐扫描宽度
v=8 km/h 搜寻航速
ts=6 h 动员时延

四、准备:设备成本收益模型

4.1 候选设备清单

六类设备的核心指标(扫描宽度 W、被动探测半径、就绪度、成本):

设备 W(km) 被动(km) 就绪度 成本(万$)
声学信标 Pinger 0 3.0 0.95 1.2
USBL 定位 0 0 0.85 3.5
侧扫声呐 4.0 0 0.80 6.0
ROV 0.5 0 0.70 8.0
AUV 3.0 0 0.65 7.5
ADCP 0 0 0.80 4.0

六类设备的选型逻辑遵循“能否改变误差结构”而非“单价高低”:声学信标与 USBL 虽不提供扫描宽度,却通过上报与定位直接削减 R_unc(见第一篇图6、图8),是搜寻面积的“乘法器”;侧扫与 AUV 提供扫描宽度 W、决定单位时间覆盖效率;ROV 仅用于抵近确认、几乎不贡献初始发现概率;ADCP 则在前端降低流场偏差 CUR_BIAS,从源头压低不确定性增长速率。因此成本排序并不等于价值排序,本文以“误差结构改变 + 覆盖效率”双准则推选组合。

4.2 最小有效组合推选

以"先定场景、再降误差、后主搜寻"的逻辑:① 声学信标(1.2 万)定场景——失联后被动可探测3km,且能周期上报塌缩不确定性;②∗∗USBL∗∗(3.5万)定场景——失联后被动可探测 3 km,且能周期上报塌缩不确定性;② **USBL**(3.5 万)降误差——压低初始/上报位置误差 σ₀、σ_ping;③ 侧扫声呐(6.0 万)主搜寻——提供4.0km扫描宽度,是实际找到潜水器的主力。三件套合计∗∗10.7万)主搜寻——提供 4.0 km 扫描宽度,是实际找到潜水器的主力。三件套合计 **10.7 万**,覆盖"定场景—降误差—主搜寻"全链路,避免盲目堆叠 ROV/AUV/ADCP 造成的成本冗余。

五、搜寻:贝叶斯搜寻框架

5.1 覆盖概率与最优搜索半径

把目标位置看作以预测均值为中心、半径 R_unc 的二维高斯。若搜索圆半径 R_s,则覆盖概率

POC(Rs)=1−exp⁡ ⁣(−Rs22Runc2)\mathrm{POC}(R_s)=1-\exp\!\left(-\frac{R_s^2}{2R_{unc}^2}\right)

取 R_s=2.45·R_unc 时 POC≈0.95(95% 包含半径),这是"以最小面积覆盖最可能区域"的最优折中——半径过小会漏掉尾部概率,过大则面积平方级膨胀、效率骤降。

5.2 累积探测概率

在以航速 v、扫描宽度 W 扫过面积 A 的过程中,t 时刻累积探测概率为

Pdet(t)=POC⋅(1−exp⁡ ⁣(−W v tA))P_{det}(t)=\mathrm{POC}\cdot\left(1-\exp\!\left(-\frac{W\,v\,t}{A}\right)\right)

达到目标置信 CONF 所需水平时长 t90=(A/(W·v))·ln(1/(1−CONF/POC))。

该式的物理含义清晰:POC 是“目标是否在搜索区内”的几何概率,一旦区内,探测器以速率 W·v 扫过面积 A,发现概率随时间指数逼近 1;二者相乘即得“既在区内又被扫到”的联合概率。当 POC→1(搜索半径足够大)时退化为纯面积覆盖律;当 POC<CONF 时 t90 发散,说明搜索半径不足、须先外扩覆盖再谈效率。

六、模型求解(第二、三问)

6.1 三场景水平搜寻时长

以 ts=6 h 的 R_unc 为输入(中性 R_unc(6h)=0.867 km),三场景结果:

场景 R_unc(6h) km POC 面积 km² t90 水平 h
上浮 rise 0.855 0.9503 13.77 1.265
中性 neutral 0.867 0.9503 14.18 1.303
沉底 sink 0.844 0.9503 13.43 1.233

水平方向均在 1.2–1.3 h 内达到 90% 探测——前提是"只需在平面上找"。

6.2 深度遥测的情报价值(本题核心)

真实海洋是三维的。若无深度信息,须把搜索面积沿垂向复制 36 层(整 1800 m 水柱),总时长乘 36:中性场景从 1.30 h 暴增至 46.9 h。若潜水器回传深度遥测(已知悬停层 ±40 m,约 1 层),则仍只需 1.04 h——缩短约 45 倍。换言之,是否回传深度,决定了搜寻是"一小时级"还是"两天级"。

6.3 周期上报的进一步压缩

若装备声学上报(R_unc 塌缩至 0.30 km),中性场景搜索面积降至 1.70 km²,水平 t90=0.156 h,含深度遥测总时长仅 0.125 h。上报把"搜得到"变成了"立刻搜到"。

综上,第二、三问的核心矛盾不是“搜不到”而是“找多宽、找多深”:水平方向仅 1.3 h 即可达 90% 探测,但深度信息缺失会把三维搜寻放大 36 倍、总时长拉到 46.9 h;而装备投入(声学信标 + USBL + 侧扫,10.7 万$)与周期上报(R_unc→0.30 km)能把这一矛盾彻底化解。成本与情报在此高度耦合——花在“上报与定位”上的每一万美元,都在平方级地缩小搜索面积,是整套安全程序里性价比最高的那一环。这一结论也直接回应了监管最关心的“可负担性”问题——用不到 11 万美元的装备投入,即可把搜救从不确定性主导的被动局面转为确定性主导的主动局面。

七、结果分析与配图

图1 候选搜寻设备成本(万美元):就绪度高者优先,侧扫声呐为主搜寻手段

图1 比较六类设备成本,侧扫声呐(6.0 万)与ROV(8.0万)与 ROV(8.0 万)居前,但 ROV 扫描宽度近乎为零、仅用于抵近确认,故主搜寻仍选侧扫。

图2 推荐最小有效组合:信标(定场景)+USBL(降误差)+侧扫(主搜寻),合计 10.7 万$

图2 高亮推荐三件套及其成本/扫描宽度,合计 10.7 万$、有效 W=4.0 km。

图3 覆盖概率 POC(R_s):搜索半径取 2.45σ 时 POC≈95%,为最优选搜半径

图3 显示 POC 随 R_s 饱和:2.45σ 处恰达 95%,再扩半径收益递减、面积却平方增长。

图4 累积探测概率 P_det(t):深度遥测使搜寻从 46.9 h 缩短至 1.04 h(约 45×)

图4 是第三问灵魂图:绿线(有深度遥测)迅速逼近 1,红线(无深度遥测)要 46.9 h 才到 90%。

图5 深度遥测的情报价值:无深度信息须扫整水柱,搜寻时长 45×

图5 把"有无深度遥测"的时长差距(1.04 h vs 46.9 h)并列,差距约 45 倍。

图6 最优搜索面积随时间膨胀:不确定性发散→搜索区指数级扩大,越早搜越快

图6 说明为何要抢在 ts=6 h 动员:搜索面积随 R_unc² 膨胀,拖得越久面积越大、耗时越长。

图7 三场景水平搜寻时长 t90(h):沉底略短(早停驻),中性最长

图7 给出三场景水平 t90(1.23–1.30 h),中性因悬停中层、随流最自由而略长。

图8 声学上报对不确定性的塌缩:每 2 h 上报一次,R_unc 被拉回 σ_ping

图8 呼应第一篇:周期上报把不确定性红线在每次 ping 后拉回 0.30 km,从根本上压缩搜寻时长。

八、初始部署点与搜寻样式

初始部署点取预测均值(失联点 + 各场景漂移预测中心,见图4/图8 末位散布)。搜寻样式采用以该点为中心的"最优圆/扩展方形":先用 R_s=2.45·R_unc 覆盖 95% 概率质量,若超时未果再按 R_unc 增长率外扩。垂向则依深度遥测有无决定扫 1 层还是 36 层。

部署点的选取直接决定搜索半径能否覆盖真实位置:若以失联点为圆心、忽略漂移,则中性场景 48 h 后真实位置已偏离 14 km,远超任何合理 R_s;正确做法是以漂移预测均值(见图4、图8 末位散布中心)为部署点,再以 R_s=2.45·R_unc(ts) 画圆。搜寻样式上,先以最优圆覆盖 95% 概率质量,超时未果再按 R_unc 的线性增长率外扩环带,兼顾效率与鲁棒性。

九、灵敏度与讨论

  • 动员时延 ts 是杠杆:图6 显示面积随 R_unc² 膨胀,故"6 h 内动员"是硬约束;
  • 扫描宽度 W 线性缩短 t90,侧扫(W=4)优于 AUV(W=3),但 AUV 可自主大范围预扫;
  • 置信目标 CONF 从 0.90 提到 0.99 会使 t90 乘以 ln(10)/ln(1/(1−0.9))≈2.56 倍。

动员时延 ts 是最敏感的杠杆:由图6 可见搜索面积 A∝R_unc²(ts),而 R_unc 随流场偏差近似线性增长,故面积随 ts 平方膨胀——“6 h 内动员”不是经验值而是几何约束。扫描宽度 W 与 t90 成反比,侧扫(W=4)优于 AUV(W=3),但 AUV 可无人自主预扫更大范围,二者宜分层配置。置信目标 CONF 由 0.90 提至 0.99 时,t90 放大约 2.56 倍,监管可根据风险承受力在该旋钮上权衡。

十、结论

第二问答案:主船应携 声学信标 + USBL + 侧扫声呐(10.7 万$)。第三问答案:部署点取预测均值、搜索半径 2.45σ、样式为最优圆/扩展方形;中性场景水平 t90=1.30 h,但深度遥测把总时长从 46.9 h 压到 1.04 h(约 45×),是全书最值得投入的情报能力。

参考文献

[1] COMAP. 2024 MCM Problem B: Searching for Submersibles.
[2] Stone L. D. Theory of Optimal Search. Academic Press, 1975.
[3] 本模型配套真源 tools/gen_mcm2024b.py(确定性、SEED=2024)。

附录:核心 Python 实现(可独立运行复现上述数字)

import os, sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "..", "tools"))
import gen_mcm2024b as G

D = G.gen_mcm2024b()
print("== 推荐组合与成本 ==")
print("设备:", D["equip_recommend"])
print("总成本 = %.1f 万$ , 有效扫描宽度 W = %.1f km" % (D["equip_cost_wan"], D["equip_sweep_W"]))

print("\n== 三场景水平搜寻 (ts=6h, W=4km, v=8km/h) ==")
for sc in ("rise", "neutral", "sink"):
    s = D["search"][sc]
    print("%-7s R_unc_ts=%.3f POC=%.4f 面积=%.2f t90水平=%.3f 有深度=%.3f 无深度=%.3f" %
          (sc, s["R_unc_ts"], s["POC"], s["area"], s["t90"], s["t90_depthinfo"], s["t90_nodepth"]))

print("\n== 深度遥测价值(中性)==")
n = D["search"]["neutral"]["t90_depthinfo"]
w = D["search"]["neutral"]["t90_nodepth"]
print("有深度遥测 %.2f h  vs  无深度遥测 %.2f h  ->  缩短 %.1f 倍" % (n, w, w / n))

print("\n== 周期上报(中性+ping)==")
sp = D["search_neutral_ping"]
print("R_unc_ts=%.3f 面积=%.2f t90水平=%.3f 有深度=%.3f" %
      (sp["R_unc_ts"], sp["area"], sp["t90"], sp["t90_depthinfo"]))