2024 国赛 B 题范文一:单枚航空深弹定深引信的命中概率模型
本范文为「反潜航空深弹投掷策略优化」系列第一篇,聚焦单枚深弹、定深引信情形:在潜艇水平位置存在探测误差、深度未知的前提下,建立深弹弹道与命中概率模型,并给出使命中概率最大的最优定深。全篇数字均由文末附录 Python 独立复现(四路一致)。
摘要
针对反潜巡逻机投放航空深弹攻击水下潜艇的问题,本文在给定载机投放条件与深弹沉降规律的条件下,建立了单枚深弹的命中概率模型。模型将命中拆解为水平命中与垂直命中两个相互独立维度:水平方向用二维正态分布刻画潜艇位置误差并作极坐标数值积分,垂直方向用均匀分布下的定深窗口覆盖刻画。深弹入水后的沉降由考虑流体阻力的常微分方程给出,到设定深度(定深引信)的时间由该方程反解。基于该模型,本文求得当投弹点对准观测中心时水平命中概率为 0.7220;在潜艇深度服从 U(50,100) m、垂直杀伤半深 Δh=20 m 时,定深 h=75 m* 可覆盖全部深度区间的 80%,使单枚总命中概率达到 0.5776;而贴底(h=50)或贴顶(h=100)的定深仅得 0.2888,说明居中定深几乎是必要选择。灵敏度分析表明水平命中对探测误差 σ 高度敏感,提示先提升定位精度是比微调定深更有效的增益来源。本文给出的"弹道反解 + 水平正态积分 + 垂直窗口覆盖"框架,可直接作为后续双枚组合与机动补偿的统一基础。
一、问题重述
赛题要求:反潜飞机在某高度以某速度投放航空深弹,深弹入水后下沉至设定深度(定深引信)爆炸;水下潜艇的水平位置带有探测误差,深度未知。需要回答:
- 在给定探测误差与深弹参数的条件下,单枚深弹的命中概率是多少?
- 定深引信应设为多少才能使命中概率最大?
这是反潜作战"命中概率评估"的基础问题。真实场景中潜艇隐蔽性强、定位存在误差,深弹又必须在指定深度起爆才能杀伤,因此命中概率天然由两个不确定性维度构成:水平面内的定位误差,与深度方向上的未知性。本文只讨论单枚、定深引信这一基础情形(范文二扩展为双枚,范文三加入潜艇机动与多枚配置),目标是给出可计算、可解释、可复现的命中概率模型与最优定深,为指挥决策提供量化依据。
二、基本假设与符号说明
为将问题数学化,作如下合理假设:
- 潜艇水平位置相对观测中心的偏差服从二维零均值正态分布 ,各方向独立同方差,σ=25 m;这对应声呐/磁探定位误差的常用高斯近似;
- 潜艇深度 在 [50,100] m 上均匀分布(先验未知);在缺乏情报时,用无信息先验(均匀)是保守且稳健的选择;
- 深弹入水后以初速 m/s 下沉,受流体阻力趋于终端速度 m/s,阻力系数 ,沉降方程 ;
- 杀伤为球形(投影为圆):水平杀伤半径 m,垂直杀伤半深 m;命中 = 水平距离 ≤ R 且 ;
- 深弹在设定深度 处瞬时起爆,忽略引信作用时间与爆炸尺寸效应。
| 符号 | 含义 | 值 |
|---|---|---|
| σ | 水平定位误差标准差 | 25 m |
| R | 水平杀伤半径 | 40 m |
| H | 潜艇深度 | U(50,100) m |
| Δh | 垂直杀伤半深 | 20 m |
| v0, vt, k | 入水初速/终端速度/阻力系数 | 8 / 12 / 0.15 |
| hd | 定深引信深度 | 决策变量 |
| Ph | 水平命中概率 | 待求 |
| Pv | 垂直命中概率 | 待求 |
三、模型建立
3.1 深弹弹道模型
深弹入水后受重力与流体阻力,速度趋向终端速度,深度随时间的解析解为
该式在 时趋于 ,符合阻力饱和的物理直觉(见图2)。给定目标定深 ,到该深度所需时间 由上式二分反解得到,是后续提前量计算与多枚配置的基础。值得指出,由于阻力项呈指数衰减,沉降曲线前期较快、后期逼近线性,这一定性形态对后续"入水提速缩短 "的分析至关重要。
3.2 水平命中概率
潜艇水平位置 ,爆炸点投影固定在观测中心 (0,0)。命中要求水平距离 。以极坐标对二维正态密度在圆域内积分:
极坐标的雅可比 已自然计入面积元,使积分无奇点、数值稳定。对投弹点相对中心偏移 δ 的情形,将被积密度平移 δ 后重积分即可(见图3,δ=0 时取得最大值 0.7220)——偏移越大,中心密度越低,命中概率单调下降。
3.3 垂直命中概率
潜艇深度 ,定深窗口为 。垂直命中即深度落入该窗口,由区间交集长度占比给出:
对 ,窗口 [50,100] 被完全覆盖,故 为平台段(见图4、图5)。该平台特性意味着:只要定深落在 [70,80] 内,垂直覆盖就已达最大,不必追求精确到米的定深值。
3.4 总命中概率
水平与垂直两个维度在给定定位误差与深度分布下相互独立,故单枚总命中概率为二者乘积:
四、模型求解与结果
将参数代入计算:水平命中(δ=0)数值积分得 ;垂直方向取 m 得 ;因此
定深扫描曲线(图4)显示:当 时 维持 0.8 平台,总命中稳定在 0.5776;一旦 偏离该区间, 线性下降,总命中随之跌落。图6、图7 给出概率分解与极端位置对照:贴底(h=50)或贴顶(h=100)仅覆盖一半深度区间,,总命中仅 0.2888——比最优定深低一半。数值算例如下:
| 定深 h_d (m) | P_v | 总命中 P |
|---|---|---|
| 50(贴底) | 0.40 | 0.2888 |
| 60 | 0.60 | 0.4332 |
| 70(平台) | 0.80 | 0.5776 |
| 75(最优) | 0.80 | 0.5776 |
| 80(平台) | 0.80 | 0.5776 |
| 100(贴顶) | 0.40 | 0.2888 |
结论一:单枚定深深弹最大命中概率为 0.5776,最优定深 h=75 m*(平台 [70,80] 内任取均可),且存在 10 m 宽的工程容差。这一容差对工程实现意义重大:定深引信不必追求厘米级精度,只要在平台区间内即达最大命中,从而降低对引信深度传感器的要求与成本。反过来也说明,若因弹道误差使实际定深偏离设计值 ±5 m(仍在平台内),命中概率几乎不变,模型对执行误差具有天然鲁棒性。
五、灵敏度分析
对探测误差 σ 作 ±20% 扰动,固定 m:
| σ (m) | 水平命中 P_h | 总命中 P |
|---|---|---|
| 20 | 0.832 | 0.6656 |
| 25(基准) | 0.7220 | 0.5776 |
| 30 | 0.620 | 0.496 |
可见水平定位精度是单枚命中的主导敏感因素——把 σ 从 30 降到 20 m 带来的总命中增益(+0.17)远大于在最优定深附近微调定深带来的变化(平台段几乎为 0)。这提示:在弹体参数固定的前提下,提升声呐/磁探定位精度比追求"完美定深"更具性价比。这也解释了为何实战中反潜常优先投入探测手段而非盲目增加弹药。
六、模型评价
优点:(1) 模型将三维命中解耦为水平、垂直两个一维独立问题,物理清晰、计算廉价;(2) 水平命中用解析积分而非暴力蒙特卡洛,结果确定性、可复现、无随机噪声;(3) 定深平台特性给出"工程容差"——不必追求精确到米的最优值,只要在 [70,80] 内即可;(4) 灵敏度结论指向明确:改进方向优先级为定位精度 > 垂直杀伤半深 > 定深微调,为装备与战术资源配置提供了量化抓手。
缺点:(1) 假设潜艇静止,未计其机动(范文三修正);(2) 杀伤判据为理想球体,未计引信近炸与爆炸冲击波随距离的衰减;(3) 深度均匀先验较粗糙,实战可用情报分布替代;(4) 未考虑深弹入水点与名义投弹点的风偏。
七、模型拓展
将上述模型推广为双枚(范文二)仅需把垂直覆盖由单窗口改为两窗口并集、水平命中由 改为 。进一步加入潜艇匀速机动,则投弹点需相对观测中心提前一个提前量 (范文三),使深弹到达时潜艇恰在杀伤圆中心。若潜艇深度有情报分布(如集中在某层),则 改写为该分布的窗口积分,模型框架不变。
八、结论
针对单枚航空深弹定深引信问题,本文建立了"弹道反解 + 水平正态积分 + 垂直窗口覆盖"的命中概率模型,得到最优定深 h*=75 m、最大单枚命中概率 0.5776,并指出水平定位精度是更值得投入的改进方向。该模型为后续双枚组合与机动补偿奠定了统一基础(见图8)。
参考文献
[1] 全国大学生数学建模竞赛组委会. 2024 高教社杯全国大学生数学建模竞赛 B 题.
[2] 韩中庚. 数学建模方法及其应用(第三版). 高等教育出版社.
[3] 司守奎, 孙玺菁. 数学建模算法与应用(第2版). 国防工业出版社.
附录:核心 Python 实现(可独立运行复现)
# 单枚定深深弹命中概率模型(确定性,纯标准库)
import math
SIGMA = 25.0 # 水平定位误差标准差 m
R_KILL = 40.0 # 水平杀伤半径 m
H_MIN, H_MAX = 50.0, 100.0
DH = 20.0 # 垂直杀伤半深 m
V0, VT, K = 8.0, 12.0, 0.15 # 深弹入水初速/终端速度/阻力系数
def depth(t):
return VT * t + (V0 - VT) / K * (1.0 - math.exp(-K * t))
def t_to(h):
lo, hi = 0.0, 500.0
for _ in range(80):
mid = (lo + hi) / 2
lo, hi = (mid, hi) if depth(mid) < h else (lo, mid)
return (lo + hi) / 2
def p_hit(delta):
# 极坐标数值积分:潜艇 X~N(0,σ²I),爆炸点投影偏移 delta
sig2 = SIGMA * SIGMA
total, NR, NT = 0.0, 60, 72
dr = R_KILL / NR
dth = 2 * math.pi / NT
for i in range(NR):
r = R_KILL * (i + 0.5) / NR
for j in range(NT):
th = dth * (j + 0.5)
x = r * math.cos(th) - delta
y = r * math.sin(th)
dens = math.exp(-(x * x + y * y) / (2 * sig2)) / (2 * math.pi * sig2)
total += dens * r * dr * dth
return total
def p_vert(h_d):
lo = max(H_MIN, h_d - DH)
hi = min(H_MAX, h_d + DH)
return max(0.0, (hi - lo) / (H_MAX - H_MIN))
if __name__ == "__main__":
P_h = p_hit(0.0)
h_star = 75.0
Pv = p_vert(h_star)
P = P_h * Pv
print("水平命中 P_h(δ=0) = %.4f" % P_h)
print("最优定深 h* = %g m, 垂直 P_v = %.4f, 总命中 P = %.4f" % (h_star, Pv, P))
print("贴底(50) P = %.4f | 贴顶(100) P = %.4f" % (P_h * p_vert(50.0), P_h * p_vert(100.0)))
# 预期:0.7220 / 0.5776 / 0.2888