本文主要是介绍2024 数学建模高教社杯 国赛(D题)| 反潜航空深弹 | 建模秘籍文章代码思路大全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
铛铛!小秘籍来咯!
小秘籍团队独辟蹊径,运用等多目标规划等强大工具,构建了这一题的详细解答哦! 为大家量身打造创新解决方案。小秘籍团队,始终引领着建模问题求解的风潮。
抓紧小秘籍,我们出发吧~
完整内容可以在文章末尾领取!
第一个问题:
分析投弹最大命中概率与投弹落点平面坐标及定深引信引爆深度之间的关系,并给出使得投弹命中概率最大的投弹方案,及相应的最大命中概率表达式。
要建立深水炸弹的命中概率模型,首先需要详细分析命中条件并将其与统计分布相结合。潜艇的中心位置的水平坐标 ( X , Y ) (X, Y) (X,Y) 的定位均服从正态分布 N ( 0 , σ 2 ) N(0, \sigma^2) N(0,σ2),深度的定位值 Z Z Z 服从单边截尾正态分布。下面将进行详细推导。
1. 建立命中条件
如题所述,深弹的命中条件如下:
- 条件1:航空深弹落点在目标平面尺度范围内,且引爆深度位于潜艇上表面的下方,由触发引信引爆;
- 条件2:航空深弹落点在目标平面尺度范围内,且引爆深度位于潜艇上表面的上方,同时潜艇在深弹的杀伤范围内,由定深引信引爆;
- 条件3:航空深弹落点在目标平面尺度范围外,则到达引爆深度时,由定深引信引爆,且此时潜艇在深弹的杀伤范围内。
2. 猜测潜艇的坐标和深度
设潜艇的长、宽、高分别为 100 m , 20 m , 25 m 100m, 20m, 25m 100m,20m,25m,潜艇的位置在 x ∈ [ − 50 , 50 ] x \in [-50, 50] x∈[−50,50] 和 y ∈ [ − 10 , 10 ] y \in [-10, 10] y∈[−10,10],潜艇的深度为 [ 135 , 150 ] [135, 150] [135,150]。
潜艇的俯视投影为长方形区域,目标范围为:
- X ∈ [ − 50 , 50 ] X \in [-50, 50] X∈[−50,50]
- Y ∈ [ − 10 , 10 ] Y \in [-10, 10] Y∈[−10,10]
设深弹的落点为 ( x D , y D ) (x_D, y_D) (xD,yD),引爆深度为 Z D Z_D ZD。
3. 投弹落点概率密度函数
由于 ( X , Y ) (X, Y) (X,Y)服从独立同分布的正态分布,目标区域内的概率密度函数为:
P ( ( X , Y ) ∈ A ) = ∫ A f X , Y ( x , y ) d x d y P((X, Y) \in A) = \int_A f_{X, Y}(x, y) dx dy P((X,Y)∈A)=∫AfX,Y(x,y)dxdy
其中, f X , Y ( x , y ) = 1 2 π σ 2 e − x 2 + y 2 2 σ 2 f_{X, Y}(x, y) = \frac{1}{2 \pi \sigma^2} e^{-\frac{x^2 + y^2}{2\sigma^2}} fX,Y(x,y)=2πσ21e−2σ2x2+y2。
4. 命中概率的计算
命中概率可以分别考虑条件1、条件2和条件3。
条件1 (触发引信):
命中概率 1 = P ( X ∈ [ − 50 , 50 ] , Y ∈ [ − 10 , 10 ] , Z D < Z + 25 ) \text{命中概率}_1 = P(X \in [-50, 50], Y \in [-10, 10], Z_D < Z + 25) 命中概率1=P(X∈[−50,50],Y∈[−10,10],ZD<Z+25)
条件2 (定深引信):
命中概率 2 = P ( X ∈ [ − 50 , 50 ] , Y ∈ [ − 10 , 10 ] , Z D > Z + 25 , ( X − X D ) 2 + ( Y − Y D ) 2 < r ) \text{命中概率}_2 = P(X \in [-50, 50], Y \in [-10, 10], Z_D > Z + 25, \sqrt{(X - X_D)^2 + (Y - Y_D)^2} < r) 命中概率2=P(X∈[−50,50],Y∈[−10,10],ZD>Z+25,(X−XD)2+(Y−YD)2<r)
其中 r = 20 m r=20m r=20m为杀伤半径。
条件3 (平面外命中):
命中概率 3 = P ( Z D < Z + 25 , ( X − X D ) 2 + ( Y − Y D ) 2 > r ) \text{命中概率}_3 = P(Z_D < Z + 25, \sqrt{(X - X_D)^2 + (Y - Y_D)^2} > r) 命中概率3=P(ZD<Z+25,(X−XD)2+(Y−YD)2>r)
5. 最大化命中概率
为了得到最大命中概率的表达式,首先需要对 Z D Z_D ZD 进行优化选择,并且在目标范围内选择 ( x , y ) (x, y) (x,y) 的最佳投弹落点。在定位深度 Z Z Z 确定的情况下,可以通过对 Z D Z_D ZD 和 ( x D , y D ) (x_D, y_D) (xD,yD) 的选择做最优化(比如取均值配合某些考虑)来最大化总的命中概率。
综合上述条件,可以得出投弹最大命中概率的表达式为:
P 命中 ( x D , y D , Z D ) = 命中概率 1 + 命中概率 2 + 命中概率 3 P_{\text{命中}}(x_D, y_D, Z_D) = \text{命中概率}_1 + \text{命中概率}_2 + \text{命中概率}_3 P命中(xD,yD,ZD)=命中概率1+命中概率2+命中概率3
6. 具体参数结果
带入给定参数:
- 潜艇长100 m,宽20 m,高25 m;
- 潜艇中心位置的水平定位标准差σ=120 m;
- 潜艇中心位置的深度定位值为150 m。
最大化命中概率的方法为确定最佳 ( x D , y D ) (x_D, y_D) (xD,yD) 和 Z D Z_D ZD 的位置。
通过拉格朗日乘数法或者数值优化方法可以找到特定的 ( x D , y D ) (x_D, y_D) (xD,yD) 和 $
为了分析投弹最大命中概率与投弹落点平面坐标及定深引信引爆深度之间的关系,我们可以从潜艇的形状、深弹的杀伤半径和潜艇的定位误差入手。
-
潜艇的模型:
- 假设潜艇的投影为长方形,其长和宽分别是 L = 100 m L = 100 \, m L=100m, W = 20 m W = 20 \, m W=20m。
- 潜艇的深度为 H = 25 m H = 25 \, m H=25m,其在 Z 轴(深度方向)的实际位置在 [ h 0 , h 0 + H ] [h_0, h_0 + H] [h0,h0+H] 之间。
-
深弹的杀伤范围:
- 假设深弹的杀伤半径为 R = 20 m R = 20 \, m R=20m。
-
潜艇位置误差:
- 水平坐标 X , Y X, Y X,Y 均为独立的正态分布随机变量,具有均值 0 0 0 和标准差 σ = 120 m \sigma = 120 \, m σ=120m。
- 深度方向上的潜艇定位误差假设没有,因此实际深度为 150 m 150 \, m 150m。
-
投弹的命中条件:
- 按照问题的描述,深弹命中潜艇的条件如下:
- 触发引信引爆: 深弹落点在潜艇的水平范围内且引爆深度低于潜艇上表面。
- 定深引信引爆: 深弹落点在潜艇的水平范围内且引爆深度高于潜艇上表面,且在杀伤范围内。
- 超出水平范围但深度引爆: 深弹落点超出水平范围,且在引爆深度时,潜艇处于杀伤范围之内。
- 按照问题的描述,深弹命中潜艇的条件如下:
我们需要计算各个条件下的命中概率。
最大命中概率的表达式
我们先定义投弹落点为 ( x 0 , y 0 ) (x_0, y_0) (x0,y0),则潜艇中心位置在水平面的坐标可以用随机变量 X X X 和 Y Y Y 表示。潜艇的有效命中范围为:
- 对于 X X X 轴: − L 2 ≤ X ≤ L 2 -\frac{L}{2} \leq X \leq \frac{L}{2} −2L≤X≤2L 变换为绝对值可以写为 ∣ X ∣ ≤ 50 |X| \leq 50 ∣X∣≤50。
- 对于 Y Y Y 轴: − W 2 ≤ Y ≤ W 2 -\frac{W}{2} \leq Y \leq \frac{W}{2} −2W≤Y≤2W 变换为绝对值可以写为 ∣ Y ∣ ≤ 10 |Y| \leq 10 ∣Y∣≤10。
深弹引爆深度 Z b Z_b Zb 应该是在 150 m 150 \, m 150m 下方以满足触发引信引爆的条件:
Z b < 150 m & Z b ≥ 150 − H = 125 m Z_b < 150 \, m \quad \& \quad Z_b \geq 150 - H = 125 \, m Zb<150m&Zb≥150−H=125m
概率表达
-
触发引信引爆的命中概率:
- 投弹精度符合潜艇的面积的条件是:
P 1 = P ( − 50 ≤ X ≤ 50 , − 10 ≤ Y ≤ 10 ) = ∫ − 10 10 ∫ − 50 50 1 2 π σ 2 e − x 2 + y 2 2 σ 2 d x d y P_1 = P(-50 \leq X \leq 50, -10 \leq Y \leq 10) \\ = \int_{-10}^{10} \int_{-50}^{50} \frac{1}{2\pi \sigma^2} e^{-\frac{x^2 + y^2}{2\sigma^2}} \, dx \, dy P1=P(−50≤X≤50,−10≤Y≤10)=∫−1010∫−50502πσ21e−2σ2x2+y2dxdy - 计算该不等式内的积分可以得到命中概率。
- 投弹精度符合潜艇的面积的条件是:
-
定深引信引爆的命中概率:
- 取引爆深度 Z b = 155 m Z_b = 155 \, m Zb=155m,该命中概率为:
P 2 = P ( ∣ Z b − Z ∣ ≤ R ∣ ( X , Y ) 在潜艇的范围 ) P_2 = P(|Z_b - Z| \leq R \, | \, (X,Y) \text{在潜艇的范围}) P2=P(∣Zb−Z∣≤R∣(X,Y)在潜艇的范围)
- 取引爆深度 Z b = 155 m Z_b = 155 \, m Zb=155m,该命中概率为:
-
超出范围的引爆条件:
- 定义 P 3 P_3 P3 为超出范围但引爆的概率,在这里,得出:
P 3 = P ( ( ∣ X ∣ > 50 或 ∣ Y ∣ > 10 ) ∣ ∣ Z b − Z ∣ ≤ R ) P_3 = P((|X| > 50 \, \text{或} \, |Y| > 10) \, | \, |Z_b - Z| \leq R) P3=P((∣X∣>50或∣Y∣>10)∣∣Zb−Z∣≤R)
- 定义 P 3 P_3 P3 为超出范围但引爆的概率,在这里,得出:
最佳投弹方案
在综合考虑以上各个情况后,我们可以透过优化反潜飞机的投弹落点 ( x 0 , y 0 ) (x_0, y_0) (x0,y0) 和引爆深度 Z b Z_b Zb,使得 P 1 P_1 P1, P 2 P_2 P2, $
为了分析投弹最大命中概率与投弹落点平面坐标及定深引信引爆深度之间的关系,我们将定义一些变量,并构建相应的数学模型。
设潜艇的中心位置为原点,潜艇尺寸为长方体,长为100m,宽为20m,高为25m。潜艇航向的方位角为 β = 9 0 ∘ \beta = 90^\circ β=90∘,因此潜艇的投影范围为:
- 潜艇的投影长度范围为 [ − 50 , 50 ] [-50, 50] [−50,50] (100m/2)
- 潜艇的投影宽度范围为 [ − 10 , 10 ] [-10, 10] [−10,10] (20m/2)
深弹的杀伤半径为 R = 20 m R = 20m R=20m,我们假设深弹的引爆深度被设定为 h h h。
假设投弹落点在水平面上的坐标为 ( X , Y ) (X, Y) (X,Y)。考虑到潜艇的中心位置存在定位误差,有:
- X ∼ N ( 0 , σ 2 ) X \sim N(0, \sigma^2) X∼N(0,σ2)
- Y ∼ N ( 0 , σ 2 ) Y \sim N(0, \sigma^2) Y∼N(0,σ2)
- 设定 σ = 120 m \sigma = 120m σ=120m
深弹的命中定义如下:
- 如果航空深弹落点通过触发引信引爆,则要求落点 ( X , Y ) (X, Y) (X,Y) 在潜艇投影范围内且引爆深度 d d d 满足 d < h + 25 2 = h + 12.5 d < h + \frac{25}{2} = h + 12.5 d<h+225=h+12.5。
- 如果航空深弹落点通过定深引信引爆,则要求落点 ( X , Y ) (X, Y) (X,Y) 在潜艇投影范围内且引爆深度 d d d 满足 d > h − 25 2 = h − 12.5 d > h - \frac{25}{2} = h - 12.5 d>h−225=h−12.5,并且 d d d 在潜艇的杀伤范围内,即 ( X − 0 ) 2 + ( Y − 0 ) 2 ≤ R \sqrt{(X - 0)^2 + (Y - 0)^2} \leq R (X−0)2+(Y−0)2≤R。
- 如果航空深弹落点在潜艇投影范围外,则引爆深度 d d d 需满足到达引爆深度时潜艇在深弹的杀伤范围内。
概率模型
由于 X X X 和 Y Y Y 均服从正态分布,命中腹地概率可以表示为:
P ( H ) = P ( A ) + P ( B ) , P(H) = P(A) + P(B), P(H)=P(A)+P(B),
其中:
- P ( A ) P(A) P(A) 为触发引信命中的概率。
- P ( B ) P(B) P(B) 为定深引信命中的概率。
1. 触发引信命中的概率
触发引信命中,即落点 ( X , Y ) (X, Y) (X,Y) 在潜艇投影范围内,且引爆深度 d d d 满足 d < h + 12.5 d < h + 12.5 d<h+12.5。
根据正态分布的性质,我们有:
P ( A ) = P ( − 50 < X < 50 ) ⋅ P ( − 10 < Y < 10 ) ⋅ P ( d < h + 12.5 ) . P(A) = P(-50 < X < 50) \cdot P(-10 < Y < 10) \cdot P(d < h + 12.5). P(A)=P(−50<X<50)⋅P(−10<Y<10)⋅P(d<h+12.5).
其中, P ( − 50 < X < 50 ) P(-50 < X < 50) P(−50<X<50) 和 P ( − 10 < Y < 10 ) P(-10 < Y < 10) P(−10<Y<10) 分别为:
P ( − 50 < X < 50 ) = Φ ( 50 σ ) − Φ ( − 50 σ ) , P(-50 < X < 50) = \Phi\left(\frac{50}{\sigma}\right) - \Phi\left(\frac{-50}{\sigma}\right), P(−50<X<50)=Φ(σ50)−Φ(σ−50),
P ( − 10 < Y < 10 ) = Φ ( 10 σ ) − Φ ( − 10 σ ) , P(-10 < Y < 10) = \Phi\left(\frac{10}{\sigma}\right) - \Phi\left(\frac{-10}{\sigma}\right), P(−10<Y<10)=Φ(σ10)−Φ(σ−10),
Φ \Phi Φ 为标准正态分布的分布函数。
2. 定深引信命中的概率
定深引信命中,即落点 ( X , Y ) (X, Y) (X,Y) 在潜艇投影范围内,且引爆深度在潜艇上下表面之间,并且潜艇在深弹的杀伤范围内。
P ( B ) = P ( A ′ ∩ H ) , P(B) = P(A' \cap H), P(B)=P(A′∩H),
其中 A ′ A' A′ 为落点在潜艇投影范围外, H H H 为潜艇在杀伤范围内。这个概率通过积分计算。位置的联合概率与深度的标准正态分布一起计算。
最终组合上述概率:
P ( H ) = P ( A ) + P ( B ) = ( Φ ( 50 σ ) − Φ ( − 50 σ ) ) ( Φ ( 10 σ ) − Φ ( − 10 σ ) ) + P ( B ) . P(H) = P(A) + P(B) = \left( \Phi\left(\frac{50}{\sigma}\right) - \Phi\left(\frac{-50}{\sigma}\right) \right)\left( \Phi\left(\frac{10}{\sigma}\right) - \Phi\left(\frac{-10}{\sigma}\right) \right) + P(B). P(H)=P(A)+P(B)=(Φ(σ50)−Φ(σ−50))(Φ(σ10)−Φ(σ−10))+P(B).
最大命中概率 Expression
针对上述情况,可以优化投弹落点 ( X , Y ) (X, Y) (X,Y) 和
针对第一个问题,我们需要分析投弹落点与潜艇的关系,并建立相应的数学模型来计算最大命中概率。
实现步骤:
- 定义潜艇的几何参数:潜艇的长、宽和高。
- 计算触发引信和定深引信引爆位置的条件。
- 求解深弹投放的有效区域。
- 利用正态分布计算潜艇在平面上出现的概率。
- 得出最大命中概率的表达式并进行数值计算。
数学模型建立:
- 假设潜艇中心位置为 ( 0 , 0 , h 0 ) (0, 0, h_0) (0,0,h0)。
- 潜艇的上表面位于 ( x , y , h 0 + H 2 ) (x, y, h_0 + \frac{H}{2}) (x,y,h0+2H),下表面位于 ( x , y , h 0 − H 2 ) (x, y, h_0 - \frac{H}{2}) (x,y,h0−2H)。
- 根据定位误差, X X X和 Y Y Y服从 N ( 0 , σ 2 ) N(0, \sigma^2) N(0,σ2)。
触发引信和定深引信引爆条件:
- 触发引信:落点在潜艇中心的范围内且引爆深度低于 h 0 + H 2 h_0 + \frac{H}{2} h0+2H。
- 定深引信:落点在潜艇范围内且引爆深度高于 h 0 − H 2 h_0 - \frac{H}{2} h0−2H,同时潜艇在杀伤半径内。
最大命中概率表达式:
需要计算潜艇落在袭击范围内时,以 σ \sigma σ和 r r r计算相应的概率。
import numpy as np
from scipy.stats import normdef calculate_hit_probability(sigma, h0, H, r):# 潜艇边界和深度条件L = 100 # 潜艇长W = 20 # 潜艇宽D = 25 # 潜艇高# 潜艇的深度阈值upper_depth = h0 + D / 2lower_depth = h0 - D / 2# 触发引信命中区域trigger_hit_area = (L / 2) * (W / 2)# 计算命中概率prob_trigger = (norm.cdf(L/(2*sigma)) - norm.cdf(-L/(2*sigma))) * \(norm.cdf(W/(2*sigma)) - norm.cdf(-W/(2*sigma)))# 计算出引爆深度的命中概率prob_depth_hit = (norm.cdf(r / sigma) - norm.cdf(-r / sigma)) * \(norm.cdf(upper_depth / sigma) - norm.cdf(lower_depth / sigma))# 总命中概率hit_probability = prob_trigger * prob_depth_hitreturn hit_probability# 参数设定
sigma = 120 # 潜艇水平定位标准差
h0 = 150 # 潜艇中心位置深度定位值
H = 25 # 潜艇高度
r = 20 # 杀伤半径# 计算最大命中概率
max_hit_probability = calculate_hit_probability(sigma, h0, H, r)
print(f"最大命中概率: {max_hit_probability:.4f}")
运行代码:
这段代码将输出给定参数下的最大命中概率。你可以根据不同的参数设置和需求进一步调整数值。
第二个问题是:在潜艇中心位置各方向的定位均有误差的情况下,给出投弹命中概率的表达式,并设计定深引信引爆深度,以使得投弹命中概率最大。具体参数包括:潜艇中心位置的深度定位值为150 m,标准差 σz=40 m,潜艇中心位置实际深度的最小值为120 m,以及其他参数同问题1。
为了解决第二个问题,我们将通过建立一个数学模型来计算投弹的命中概率,并优化定深引信引爆深度以最大化命中概率。
1. 建立基本模型
假设潜艇的中心在 = (X₀, Y₀, Z₀),其中 X₀ 服从 N ( 0 , σ 2 ) N(0, \sigma^2) N(0,σ2), Y₀ 服从 N ( 0 , σ 2 ) N(0, \sigma^2) N(0,σ2),而 Z₀ 的深度定位值为 150m,且 Z 服从单边截尾正态分布 N ( 150 , σ z 2 , 120 ) N(150, \sigma_z^2, 120) N(150,σz2,120),其中 σ z = 40 m \sigma_z = 40 m σz=40m。
考虑深弹击中的情况,我们有以下几个条件:
- 潜艇的长宽:长 100m,宽 20m。
- 深弹杀伤半径为 20m。
- 定深引信引爆深度为 h h h。
2. 命中概率的计算
根据第二个问题的条件,我们计算深弹命中概率 P ( h i t ) \mathbb{P}(hit) P(hit)。投弹命中可以发生在以下几种情况下:
-
触发引信引爆:
- 深弹落点在潜艇上方,且引爆深度在潜艇上表面的下方。
- 投弹落点 ( X , Y ) (X, Y) (X,Y) 需要满足:
( X − X 0 ) 2 + ( Y − Y 0 ) 2 ≤ 50 (潜艇宽度的一半) \sqrt{(X - X₀)^2 + (Y - Y₀)^2} \leq 50 \quad \text{(潜艇宽度的一半)} (X−X0)2+(Y−Y0)2≤50(潜艇宽度的一半) - 此外,深度 Z Z Z 需要符合:
Z ≤ h < Z 0 + 25 Z \leq h < Z₀ + 25 Z≤h<Z0+25
-
定深引信引爆:
- 深弹落点在潜艇上方,且引爆深度在潜艇上表面的上方,同时潜艇在深弹的杀伤范围内。
- 必须满足以下条件:
( X − X 0 ) 2 + ( Y − Y 0 ) 2 ≤ 20 (杀伤半径) \sqrt{(X - X₀)^2 + (Y - Y₀)^2} \leq 20 \quad \text{(杀伤半径)} (X−X0)2+(Y−Y0)2≤20(杀伤半径) - 深度 Z Z Z 符合:
Z < h and Z 0 < h + 25 Z < h \quad \text{and} \quad Z₀ < h + 25 Z<handZ0<h+25
-
在潜艇外部引爆:
- 落点在潜艇外,深弹的杀伤半径仍需包括潜艇位置。
- 符合条件:
Z < h and ( X − X 0 ) 2 + ( Y − Y 0 ) 2 > 50 Z < h \quad \text{and} \quad \sqrt{(X - X₀)^2 + (Y - Y₀)^2} > 50 Z<hand(X−X0)2+(Y−Y0)2>50
3. 命中概率公式
考虑潜艇在平面上可能的偏差,我们需要计算以下概率:
-
对于 X 和 Y 坐标:
- 确定落点范围的命中概率:
P X = Φ ( 50 σ ) P_X = \Phi\left(\frac{50}{\sigma}\right) PX=Φ(σ50)
P Y = Φ ( 50 σ ) P_Y = \Phi\left(\frac{50}{\sigma}\right) PY=Φ(σ50)
其中 Φ \Phi Φ 为标准正态分布函数。
- 确定落点范围的命中概率:
-
对于深度 Z:
- 确定引信深度与潜艇深度的关系:
P Z = P Z h i t = P ( Z ≤ h ) = Φ ( h − 150 40 ) − Φ ( 120 − 150 40 ) P_Z = P_{Z hit} = \mathbb{P}(Z \leq h) = \Phi\left(\frac{h - 150}{40}\right) - \Phi\left(\frac{120 - 150}{40}\right) PZ=PZhit=P(Z≤h)=Φ(40h−150)−Φ(40120−150)
- 确定引信深度与潜艇深度的关系:
4. 最大化命中概率
为了使投弹的总命中概率达到最大,我们需要综合考虑 P X , P Y P_X, P_Y PX,PY 和 P Z P_Z PZ 的联合概率。可以使用以下关系:
P ( h i t ) = P X ⋅ P Y ⋅ P Z \mathbb{P}(hit) = P_X \cdot P_Y \cdot P_Z P(hit)=PX⋅PY⋅PZ
通过偏微分对 h h h进行求导并设置导数为 0,可以找到使得命中概率最大的 h h h:
d d h P ( h i t ) = 0 \frac{d}{dh} \mathbb{P}(hit) = 0 dhdP(hit)=0
总结
最终,对于第二个问题,命中概率 P ( h i t ) \mathbb{P}(hit) P(hit) 的表达式为:
为了解决这个问题,我们首先需要考虑潜艇定位误差的模型。根据题意,潜艇中心位置的深度定位值为 h 0 = 150 m h_0 = 150 \, \text{m} h0=150m,而深度方向的定位标准差为 σ z = 40 m \sigma_z = 40 \, \text{m} σz=40m,最小深度 l = 120 m l = 120 \, \text{m} l=120m。水平坐标 X X X 和 Y Y Y 均服从独立同分布的正态分布 N ( 0 , σ 2 ) N(0, \sigma^2) N(0,σ2),其中 σ = 120 m \sigma = 120 \, \text{m} σ=120m。
在考虑投弹命中概率时,潜艇的深度和水平位置都需要纳入概率分析中。为此,我们定义几种情况来判定深弹的命中概率:
-
触发引信引爆时的命中条件:
当深弹落点在潜艇中心位置水平范围内,且引爆深度在潜艇上表面下方。 -
定深引信引爆时的命中条件:
深弹落点在潜艇中心位置水平范围内,且引爆深度在潜艇上表面上方,并且潜艇在杀伤范围内。 -
潜艇不位于水平范围内的情况:
深弹落点在潜艇中心位置水平范围以外,且引爆时,潜艇仍在深弹的杀伤范围内。
投弹命中概率的公式
假设潜艇的高为 h = 25 m h = 25 \, \text{m} h=25m,因此潜艇的上表面深度为 h 0 − h = 125 m h_0 - h = 125 \, \text{m} h0−h=125m。深弹的杀伤半径为 r = 20 m r = 20 \, \text{m} r=20m。
在水平定位误差下,深弹落点 ( X f , Y f ) (X_f, Y_f) (Xf,Yf) 服从二维正态分布:
( X f , Y f ) ∼ N ( ( 0 0 ) , ( σ 2 0 0 σ 2 ) ) (X_f, Y_f) \sim N\left(\begin{pmatrix} 0 \\ 0 \end{pmatrix}, \begin{pmatrix} \sigma^2 & 0 \\ 0 & \sigma^2 \end{pmatrix}\right) (Xf,Yf)∼N((00),(σ200σ2))
其中, σ = 120 m \sigma = 120 \, \text{m} σ=120m。
对于深度定位,定义深度的误差:
Z ∼ N ( h 0 , σ z 2 ) ,其中 σ z = 40 m Z \sim N(h_0, \sigma_z^2) \text{,其中} \sigma_z = 40 \, \text{m} Z∼N(h0,σz2),其中σz=40m
接下来,我们计算每种情况的命中概率。定义潜艇的位置为 ( 0 , 0 , h 0 ) (0, 0, h_0) (0,0,h0)。
1. 触发引信引爆条件
命中条件为:
命中 1 : ∣ X f ∣ ≤ 50 m , ∣ Y f ∣ ≤ 10 m , Z < 125 m \text{命中}_1: \left| X_f \right| \leq 50 \text{ m}, \left| Y_f \right| \leq 10 \text{ m}, Z < 125 \text{ m} 命中1:∣Xf∣≤50 m,∣Yf∣≤10 m,Z<125 m
则命中概率为:
P ( 命中 1 ) = P ( ∣ X f ∣ ≤ 50 ) P ( ∣ Y f ∣ ≤ 10 ) P ( Z < 125 ) P(\text{命中}_1) = P\left(\left| X_f \right| \leq 50\right) P\left(\left| Y_f \right| \leq 10\right) P(Z < 125) P(命中1)=P(∣Xf∣≤50)P(∣Yf∣≤10)P(Z<125)
计算时,使用正态分布累积分布函数 $ \Phi $:
P ( ∣ X f ∣ ≤ 50 ) = 2 Φ ( 50 σ ) − 1 P\left(\left| X_f \right| \leq 50\right) = 2\Phi\left(\frac{50}{\sigma}\right) - 1 P(∣Xf∣≤50)=2Φ(σ50)−1
P ( ∣ Y f ∣ ≤ 10 ) = 2 Φ ( 10 σ ) − 1 P\left(\left| Y_f \right| \leq 10\right) = 2\Phi\left(\frac{10}{\sigma}\right) - 1 P(∣Yf∣≤10)=2Φ(σ10)−1
P ( Z < 125 ) = Φ ( 125 − h 0 σ z ) = Φ ( 125 − 150 40 ) = Φ ( − 25 40 ) P(Z < 125) = \Phi\left(\frac{125 - h_0}{\sigma_z}\right) = \Phi\left(\frac{125 - 150}{40}\right) = \Phi\left(-\frac{25}{40}\right) P(Z<125)=Φ(σz125−h0)=Φ(40125−150)=Φ(−4025)
2. 定深引信引爆条件
命中条件为:
命中 2 : ∣ X f ∣ ≤ 50 m , ∣ Y f ∣ ≤ 10 m , Z ≥ 125 m , 且在杀伤范围内 \text{命中}_2: \left| X_f \right| \leq 50 \text{ m}, \left| Y_f \right| \leq 10 \text{ m}, Z \geq 125 \text{ m}, \text{且在杀伤范围内} 命中2:∣Xf∣≤50 m,∣Yf∣≤10 m,Z≥125 m,且在杀伤范围内
其命中概率为:
P ( 命中 2 ) = P ( ∣ X f ∣ ≤ 50 ) P(\text{命中}_2) = P\left(\left| X_f \right| \leq 50\right) P(命中2)=P(∣Xf∣≤50)
在处理问题2时,我们需要首先明确投弹命中概率的表达式。给定潜艇的具体尺寸和深度信息,我们将分析潜艇位置的随机性并求解最大命中概率。
问题2:投弹命中概率的表达式及定深引信引爆深度设计
1. 定义变量
-
设潜艇的中心坐标为 ( X s , Y s , Z s ) (X_s, Y_s, Z_s) (Xs,Ys,Zs):
- X s ∼ N ( 0 , σ 2 ) X_s \sim N(0, \sigma^2) Xs∼N(0,σ2)
- Y s ∼ N ( 0 , σ 2 ) Y_s \sim N(0, \sigma^2) Ys∼N(0,σ2)
- Z s ∼ N ( 150 , 4 0 2 ) Z_s \sim N(150, 40^2) Zs∼N(150,402),并且不能小于120。
-
设深弹的投弹落点为 ( X b , Y b , Z b ) (X_b, Y_b, Z_b) (Xb,Yb,Zb),其中 Z b Z_b Zb 是定深引信设定的爆炸深度。
2. 命中条件
根据题意,深弹被视为命中潜艇的条件为:
- 在潜艇的水平范围内,并且引爆深度在潜艇的上表面下方(触发引信)。
- 在潜艇的水平范围内,并且引爆深度在潜艇的上表面上方,且潜艇在杀伤范围内(定深引信)。
- 在潜艇的水平范围外,但当到达引爆深度时,潜艇在杀伤范围内(定深引信)。
3. 计算命中概率
(1) 深度区间分析
潛艇的上表面深度为 Z u = Z s + h Z_u = Z_s + h Zu=Zs+h,其中 h = 25 h = 25 h=25 m 为潜艇高度。因此,如果设定的引爆深度为 Z b Z_b Zb,则深弹的命中条件对应如下:
-
触发引信命中条件:
Z b < Z u = Z s + 25 Z_b < Z_u = Z_s + 25 Zb<Zu=Zs+25 -
定深引信命中条件(上方上限):
Z b > Z u 且 ( X b − X s ) 2 + ( Y b − Y s ) 2 < 20 Z_b > Z_u \quad \text{且} \quad \sqrt{(X_b - X_s)^2 + (Y_b - Y_s)^2} < 20 Zb>Zu且(Xb−Xs)2+(Yb−Ys)2<20 -
定深引信命中条件(离开水平范围):
( X b − X s ) 2 + ( Y b − Y s ) 2 ≥ 20 且 Z b < Z s \sqrt{(X_b - X_s)^2 + (Y_b - Y_s)^2} \geq 20 \quad \text{且} \quad Z_b < Z_s (Xb−Xs)2+(Yb−Ys)2≥20且Zb<Zs
(2) 命中概率表达式
因此,投弹落点 ( X b , Y b ) (X_b, Y_b) (Xb,Yb) 和深度 Z b Z_b Zb 的命中概率可以表示为:
P ( hit ) = P ( 触发引信命中 ) + P ( 定深引信上方命中 ) + P ( 定深引信范围外命中 ) P(\text{hit}) = P(\text{触发引信命中}) + P(\text{定深引信上方命中}) + P(\text{定深引信范围外命中}) P(hit)=P(触发引信命中)+P(定深引信上方命中)+P(定深引信范围外命中)
令潜艇的宽度为 20 m,长度为 100 m。命中概率可以通过标准正态分布函数形式表示为:
命中概率 = 4 ⋅ P ( A ) − P ( B ) \text{命中概率} = 4 \cdot P(A) - P(B) 命中概率=4⋅P(A)−P(B)
其中 A A A 是深弹落点在潜艇范围内, B B B 是深弹落点在潜艇范围外同时在杀伤范围内的事件。
为最大化命中概率,我们会通过合理调整 Z b Z_b Zb 的值,使得触发引信和定深引信在潜艇实际深度 Z s Z_s Zs 范围内最大化概率。
4. 优化设计决定
通过调整 Z b Z_b Zb 的值以满足最大化触发引信及定深引信命中情况。为了使得 P ( hit ) P(\text{hit}) P(hit) 最大:
- 可选择 Z b = Z s + 5 Z_b = Z_s + 5 Zb=Zs+5 or Z u − ϵ Z_u - \epsilon Zu−ϵ (即潜艇上表面下方5 m),在保持致命半径的同时,确保触发引信的几率达到最大。
综上,投弹命中概率的公式及定深引信引爆深度的设计方案就如上所述。
为了求解第二个问题,我们需要建立投弹命中概率的表达式,并设计一个合适的定深引信引爆深度,以使得投弹命中概率最大。根据题目的设定,我们将潜艇的平面尺寸和位置误差综合考虑。
投弹命中概率表达式
在潜艇深度定位没有误差的情况下,其水平坐标 (X, Y) 服从正态分布:
- $X \sim N(0, \sigma^2) $
- $Y \sim N(0, \sigma^2) $
潜艇的深度设置为 $Z $服从单边截尾正态分布:
- $Z \sim N(h_0, \sigma_z^2, l) $
这里,$h_0 = 150 , \text{m} $, $\sigma_z = 40 , \text{m} $, 并且 $l = 120 , \text{m} $意味着深度不能低于120 m。
深弹的命中条件包括:
- 落点在潜艇的平面范围内,并且引爆深度在潜艇的上表面以下,触发引信引爆。
- 落点在潜艇的平面范围内,并且引爆深度在潜艇的上表面以上,同时潜艇在深弹的杀伤范围内,引爆定深引信。
- 落点在潜艇的平面范围外,并且潜艇在深弹的杀伤范围内,引爆定深引信。
我们可以定义一个方法来计算命中概率,并根据上述条件设计爆炸深度。
import numpy as np
from scipy.stats import norm# 参数定义
length_submarine = 100 # 潜艇长度 m
width_submarine = 20 # 潜艇宽度 m
height_submarine = 25 # 潜艇高度 m
kill_radius = 20 # 杀伤半径 m
sigma = 120 # 水平定位标准差 m
h0 = 150 # 深度定位值 m
sigma_z = 40 # 深度标准差 m
l = 120 # 深度最小值 m# 计算命中概率函数
def hit_probability(depth_trigger):# 假设深度范围 [h0 - height_submarine, h0]depth_range_top = h0depth_range_bottom = h0 - height_submarine# 计算触发引信命中概率p_trigger_hit = norm.cdf(depth_range_top, loc=depth_trigger, scale=sigma_z) - norm.cdf(depth_range_bottom, loc=depth_trigger, scale=sigma_z)# 计算火药引信命中概率# 计算潜艇的最大深度submarine_bottom_depth = h0submarine_top_depth = h0 + height_submarine# 计算命中概率# 首先根据爆炸深度可能性计算潜艇是否在杀伤半径内p_kill_hit = 0if depth_trigger > submarine_bottom_depth and depth_trigger < submarine_top_depth:p_kill_hit = 1 - norm.cdf(submarine_bottom_depth, loc=depth_trigger, scale=sigma_z)# 最后,总概率total_hit_probability = p_trigger_hit + p_kill_hitreturn total_hit_probability# 设计定深引信引爆深度
best_probability = 0
optimal_depth = 0# 在合理的范围内搜索最优深度
for depth in range(l, h0 + height_submarine + 1):prob = hit_probability(depth)if prob > best_probability:best_probability = proboptimal_depth = depthprint("最佳定深引信引爆深度:", optimal_depth, "m")
print("最大命中概率:", best_probability)
代码解释
- 参数定义:根据题目设定潜艇的长、宽、高、杀伤半径等。
- 命中概率函数:
hit_probability
计算给定深度下的命中概率。包括触发引信和定深引信的计算逻辑。 - 最优深度搜索:在合理范围内迭代深度,并记录对应的最大命中概率和最优深度。
- 结果输出:最后打印最优深度和对应的命中概率。
运行上面的代码后,可以得到
第三个问题是关于如何在投掷多枚深弹的情况下设计投弹方案,以最大化至少一枚深弹命中潜艇的概率。具体要求包括:
- 一架反潜飞机可携带9枚航空深弹。
- 所有深弹的定深引信引爆深度均相同。
- 投弹落点在平面上呈阵列形状。
- 使用与问题2相同的参数,包括潜艇中心位置的深度定位值(150 m)、标准差 $\sigma_z = 40 $m、潜艇中心位置实际深度的最小值(120 m),以及其他与问题1相同的参数。
这个问题旨在通过合理的规划投弹落点间隔和定深引信引爆深度,以提高至少有一枚深弹能够命中潜艇的概率。
为了设计投弹方案,使得至少一枚深弹命中潜艇的概率最大,我们首先定义相关参数,并建立数学模型来计算命中概率。
参数定义
- 潜艇尺寸:
- 长度 $L = 100 $m
- 宽度 $W = 20 $m
- 高度 $H = 25 $m
- 潜艇航向方向:朝 0° 为正东,90° 为正南。
- 深弹杀伤半径: $R = 20 $m
- 潜艇中心位置的深度定位值: $h_0 = 150 $m
- 水平坐标定位标准差: $\sigma = 120 $m
- 深度坐标的标准差: $\sigma_z = 40 $m
- 深度的最小值: $l = 120 $m
- 反潜飞机可携带的深弹数量: $N = 9 $
- 定深引信引爆深度: $h_d $
模型构建
假设我们将投弹落点在平面上呈网格阵列,间隔为 $d $米。落点坐标可以表示为 ( x i , y j ) (x_i, y_j) (xi,yj):
x i = ( i − N x − 1 2 ) ⋅ d x_i = (i - \frac{N_x - 1}{2}) \cdot d xi=(i−2Nx−1)⋅d
y j = ( j − N y − 1 2 ) ⋅ d y_j = (j - \frac{N_y - 1}{2}) \cdot d yj=(j−2Ny−1)⋅d
其中 N x N_x Nx和 N y N_y Ny是陆地方向和南北方向上的深弹数量。
根据深弹爆炸触发条件,我们可以计算每枚深弹的命中概率。
命中概率公式
对于每枚深弹,命中概率可以分为三种情况:
-
触发引信引爆情况:深弹落点位于潜艇平面范围内且引爆深度低于潜艇顶部。
命中条件为:
∣ x − X ∣ ≤ L 2 且 ∣ y − Y ∣ ≤ W 2 和 h d < h 0 + H 2 |x - \mathcal{X}| \leq \frac{L}{2} \quad \text{且} \quad |y - \mathcal{Y}| \leq \frac{W}{2} \quad \text{和} \quad h_d < h_0 + \frac{H}{2} ∣x−X∣≤2L且∣y−Y∣≤2W和hd<h0+2H -
定深引信引爆且在杀伤范围内:深弹落点位于潜艇平面范围内且引爆深度高于潜艇顶部,且潜艇在杀伤范围内。
命中条件为:
∣ x − X ∣ ≤ L 2 且 ∣ y − Y ∣ ≤ W 2 和 h d ≥ h 0 + H 2 且 ( h d − R ) < h 0 + H 2 |x - \mathcal{X}| \leq \frac{L}{2} \quad \text{且} \quad |y - \mathcal{Y}| \leq \frac{W}{2} \quad \text{和} \quad h_d \geq h_0 + \frac{H}{2} \quad \text{且} \quad (h_d - R) < h_0 + \frac{H}{2} ∣x−X∣≤2L且∣y−Y∣≤2W和hd≥h0+2H且(hd−R)<h0+2H -
落点在潜艇外部:深弹未落在潜艇平面范围内但到达引爆深度时潜艇在杀伤范围内。
命中条件为:
( x − X ) 2 + ( y − Y ) 2 > L 2 或 > W 2 和 ( h d − R ) < h 0 + H 2 \sqrt{(x - \mathcal{X})^2 + (y - \mathcal{Y})^2} > \frac{L}{2} \text{或} > \frac{W}{2} \quad \text{和} \quad (h_d - R) < h_0 + \frac{H}{2} (x−X)2+(y−Y)2>2L或>2W和(hd−R)<h0+2H
总体命中概率计算
设 P i P_i Pi为第 i i i枚深弹的命中概率。由于深弹的投放是独立的,总体的命中概率为至少一枚命中的概率,计算公式如下:
P total = 1 − ∏ i = 1 9 ( 1 − P i ) P_{\text{total}} = 1 - \prod_{i=1}^{9} (1 - P_i) Ptotal=1−i=1∏9(1−Pi)
其中 P i P_i Pi根据以上三种情况的命中条件确定,并需考虑深弹在落点 ( x i , y j ) (x_i, y_j) (xi,yj)时的空间分布。
最优化方案
我们需要优化定深引信引爆深度 h d h_d hd和平面间隔 d d d,以最大化 P total P_{\text{total}} Ptotal。使用数值方法(如蒙特卡洛模拟)可以依据不同的 h d h_d hd和 d d d
为了解决第三个问题,我们需要考虑多个深弹的投射对潜艇的命中概率。在确定定深引信引爆深度和投弹落点之间的平面间隔时,我们的目标是最大化至少一枚深弹命中的概率。
设定参数
潜艇的尺寸为:
- 长度:$L = 100 , \text{m} $
- 宽度:$W = 20 , \text{m} $
- 高度:$H = 25 , \text{m} $
潜艇的航向角为 $\beta = 90^\circ $。
深弹的杀伤半径 $R = 20 , \text{m} $。
潜艇中心位置的深度定位值为 $h_0 = 150 , \text{m} $。
深度的标准差为 $\sigma_z = 40 , \text{m} $。
潜艇中心位置的最小实际深度为 $l = 120 , \text{m} $。
投掷多枚深弹的命中概率
在给定的条件下,若深弹按照阵列的方式投放,我们设所需参数如下:
- 投弹落点之间的间隔为 $d , \text{m} $(我们将待优化的参数之一)。
- 共投放 9 枚深弹,阵列为 $3 \times 3 $的格式。
命中条件
在设定深爆深度 $h_d $, 深弹命中的条件和命中概率如下:
-
命中概率表达式:
对于每个投弹落点 $(x_i, y_i) $,我们计算每枚深弹的命中概率。定义潜艇中心位置的水平坐标 $(X, Y) $独立分布于 $N(0, \sigma^2) $中,且深度 $Z \sim N(h_0, \sigma_z^2) $。 -
触发引信命中条件:
- $|X_i| \leq L/2 $且 $|Y_i| \leq W/2 $
- 引爆深度: $Z \leq h_d $(若 $h_d < h_0 + H $)
-
定深引信命中条件:
- $Z \geq h_d $且 鱼雷处于杀伤范围内(此时需同时考虑级数范围和深度)。意味着潜艇实际深度 $Z $有可能在 $[h_d, h_d + R] $之间。
设计定深引信引爆深度与落点间隔
我们设选定深引信引爆深度 $h_d = h_0 $,并计算该条件下的深弹命中概率。
已知潜艇实际深度 $Z $的分布函数 Φ ( h d − h 0 σ z ) \Phi\left(\frac{h_d - h_0}{\sigma_z}\right) Φ(σzhd−h0)和深弹杀伤概率,可通过以下方法估算投弹落点的间隔 $d $:
-
落点概率计算:
各深弹的命中事件是独立的,因此多枚深弹至少有一枚命中的概率为P ( 至少一枚命中 ) = 1 − P ( 没有一枚命中 ) = 1 − ( 1 − p i ) n P(\text{至少一枚命中}) = 1 - P(\text{没有一枚命中}) = 1 - (1 - p_i)^n P(至少一枚命中)=1−P(没有一枚命中)=1−(1−pi)n
其中 $n $为深弹数(这里为9),而 $p_i $是每一枚深弹命中的概率。
-
优化落点间隔 $d $:
私下设定的间隔根据潜艇的尺寸及其被攻击的可能性,通过模拟得到最佳的间隔值可计算出:d = Optimized Value (通过数值模拟确定) d = \text{Optimized Value} \quad \text{(通过数值模拟确定)} d=Optimized Value(通过数值模拟确定)
为简化表达,可以同时考虑最优的投弹深度 $h_d $以最大化 $P(\text{至少一枚命中}) $,进而完成最终的投弹方案,记录的反应为投弹间距是相应的。
总结
通过以上推导,若 9 枚深弹以 $d $为间隔被投放,而定深引信引爆深度为潜艇中心深度 $h_0 $,且优化投弹的落点间隔将有助于最大化至少一枚深
要解决第三个问题,我们需要建立一个数学模型来最大化至少一枚深弹命中潜艇的概率。首先,我们知道在问题2中,命中概率是基于潜艇的深度定位误差及投弹的深度引爆设置。我们根据这些信息设计投弹方案。
设定如下参数:
- 潜艇长度 = 100 m
- 潜艇宽度 = 20 m
- 潜艇高度 = 25 m
- 潜艇的深度定位值 h 0 = 150 m h_0 = 150 \text{ m} h0=150 m
- 潜艇的深度定位标准差 σ z = 40 m \sigma_z = 40 \text{ m} σz=40 m
- 潜艇实际深度的最小值 l = 120 m l = 120 \text{ m} l=120 m
- 深弹杀伤半径 R = 20 m R = 20 \text{ m} R=20 m
- 投弹数量 N = 9 N = 9 N=9 (反潜飞机可携带的深弹数量)
步骤 1: 确定投弹深度
我们使用与问题2相同的定深引信引爆深度 h d h_d hd。该深度应在潜艇的上表面(实际深度上限)与下表面(实际深度下限)间找到最佳位置。潜艇的实际深度服从单边截尾正态分布,其上限为 h 0 + 25 h_0 + 25 h0+25 和下限为 h 0 − 25 h_0 - 25 h0−25。因此,潜艇的实际深度均值大约为 h 0 = 150 m h_0 = 150 \text{ m} h0=150 m,并考虑到最小值 120 m 120 \text{ m} 120 m。
可以通过计算潜艇深度的概率分布函数和累积分布函数来最大化命中概率。我们选择定深引信引爆深度 h d h_d hd 家在潜艇的中心深度 h 0 h_0 h0。
步骤 2: 计算单个深弹的命中概率
命中概率 P h P_h Ph 可以通过以下三个情形计算:
- 触发引信引爆时: 位置落点在 x , y x,y x,y范围内且 Z < h d Z < h_d Z<hd。
- 定深引信引爆时且深度大于潜艇上表面: 位置 x , y x,y x,y范围内且 Z > h d Z > h_d Z>hd 且潜艇在杀伤范围。
- 远离潜艇体积范围: 触发引信引爆且潜艇在杀伤范围内。
结合以上三种情况的概率来表示单个深弹的命中概率 P h P_h Ph:
设潜艇的 x , y x,y x,y 范围分别为 ( 0 ± 50 ) (0 \pm 50) (0±50) m 和 ( 0 ± 10 ) (0 \pm 10) (0±10) m(根据实际情况调整)。
根据投弹落点 D D D,(均值偏差)有:
- X ∼ N ( 0 , σ 2 ) X \sim N(0, \sigma^2) X∼N(0,σ2)
- Y ∼ N ( 0 , σ 2 ) Y \sim N(0, \sigma^2) Y∼N(0,σ2)
- Z ∼ N ( h 0 , σ z 2 ) Z \sim N(h_0, \sigma_z^2) Z∼N(h0,σz2) (单侧截断)
步骤 3: 整体命中概率
由于每个深弹可以考虑相互独立,整体命中概率 P t o t a l P_{total} Ptotal 为:
P t o t a l = 1 − ( 1 − P h ) N P_{total} = 1 - (1 - P_h)^N Ptotal=1−(1−Ph)N
其中 P h P_h Ph 是上述条件计算的单个深弹命中概率, N = 9 N = 9 N=9 为投弹的总数量。
优化投弹落点
投掷落点在平面上的间隔设置可以按照潜艇的宽度和深弹的杀伤半径来决定,每个落点的间隔应该大于 R R R 来最大化相互间的重叠覆盖,例如:
- 间隔 d d d取为 d = W + 2 R N d = \frac{W + 2R}{N} d=NW+2R,并确保满足最小覆盖。
总结
综上所述,通过结合深弹引爆深度和间隔的设计,以及独立投掷的概率计算,我们可以最大化至至少一枚深弹命中潜艇的概率。这样就设计了一种合理的投弹方案来增强整体杀伤效果。
要解决第三个问题,我们需要设计一个投弹方案,使得至少一枚深弹命中潜艇的概率最大。根据问题的参数,我们可以构造一个模拟投弹的程序。这里的思路是计算至少一枚深弹命中的概率,并寻找最优的投弹落点间隔和定深引信引爆深度。
import numpy as np
from scipy.stats import norm# 参数定义
length_submarine = 100 # 潜艇长度 (m)
width_submarine = 20 # 潜艇宽度 (m)
height_submarine = 25 # 潜艇高度 (m)
kill_radius = 20 # 深弹杀伤半径 (m)
depth_mean = 150 # 潜艇深度定位值 (m)
sigma_x = 120 # 水平定位标准差 (m)
sigma_y = 120 # 水平定位标准差 (m)
sigma_z = 40 # 深度标准差 (m)
min_depth = 120 # 潜艇实际深度的最小值 (m)
total_bombs = 9 # 总深弹数量# 投弹落点之间的间隔
spacing = np.linspace(-100, 100, total_bombs) # 定义投弹落点间隔范围def hit_probability(depth_trigger, spacing):# 计算 hit 概率p_hit = 0for x_offset in spacing:for y_offset in spacing:# 计算命中概率prob_x = norm.cdf(x_offset + length_submarine / 2, 0, sigma_x) - \norm.cdf(x_offset - length_submarine / 2, 0, sigma_x)prob_y = norm.cdf(y_offset + width_submarine / 2, 0, sigma_y) - \norm.cdf(y_offset - width_submarine / 2, 0, sigma_y)prob_z_lower = norm.cdf(depth_trigger - height_submarine, depth_mean, sigma_z) # 潜艇上表面下方prob_z_upper = norm.cdf(depth_trigger - min_depth, depth_mean, sigma_z) # 潜艇实际深度下方total_prob = prob_x * prob_y * (prob_z_lower + prob_z_upper)p_hit += total_probreturn p_hit# 优化搜索给定定深引信引爆深度
best_probability = 0
best_depth = 0depth_values = np.arange(min_depth, depth_mean + 60, 1) # 深度触发范围for depth_trigger in depth_values:current_probability = hit_probability(depth_trigger, spacing)if current_probability > best_probability:best_probability = current_probabilitybest_depth = depth_triggerprint(f"最佳的定深引信引爆深度为: {best_depth}, 其命中概率为: {best_probability}")
问题4是关于多枚深弹投掷以增强杀伤效果的设计问题。具体内容为:
设计投弹方案,包括定深引信引爆深度以及投弹落点之间的平面间隔,以使得投弹命中潜艇的概率最大。设定条件为反潜飞机可携带9枚航空深弹,所有深弹的定深引信引爆深度均相同,投弹落点在平面上呈阵列形状。相关参数与问题2保持一致,其中潜艇中心位置的深度定位值为150 m,标准差σz=40 m,潜艇中心位置实际深度的最小值为120 m,其他参数与问题1相同。
对于问题4,我们需要设计一个投弹方案,以使得至少一枚深弹命中潜艇的概率最大。我们假设反潜飞机可以携带9枚航空深弹,所有深弹的定深引信引爆深度均相同,投弹落点在平面上呈阵列形状,即在一个平面上均匀分布。
1. 投弹命中概率模型
根据之前的问题,深弹命中潜艇的条件有三个。我们首先引入以下符号:
- L L L:潜艇的长度,取值为100 m。
- W W W:潜艇的宽度,取值为20 m。
- H H H:潜艇的高度,取值为25 m。
- R R R:深弹的杀伤半径,取值为20 m。
我们将潜艇的中心位置定义为原点。潜艇在水中的上表面深度为 h 0 + H 2 = 150 + 25 2 = 162.5 h_0 + \frac{H}{2} = 150 + \frac{25}{2} = 162.5 h0+2H=150+225=162.5m,潜艇的下表面的深度为 h 0 − H 2 = 150 − 25 2 = 137.5 h_0 - \frac{H}{2} = 150 - \frac{25}{2} = 137.5 h0−2H=150−225=137.5m。
1.1 定义各种命中条件
设定一个投弹落点在平面上的位置为 $(x, y) $,深度引信设为 $D $。我们定义深弹的命中条件如下:
- 命中条件:
- x 2 + y 2 ≤ L 2 \sqrt{x^2 + y^2} \leq \frac{L}{2} x2+y2≤2L且 D < 162.5 D < 162.5 D<162.5m;
- x 2 + y 2 ≤ L 2 \sqrt{x^2 + y^2} \leq \frac{L}{2} x2+y2≤2L且 D > 137.5 D > 137.5 D>137.5m 且深弹的影响范围 within R \text{within } R within R;
- x 2 + y 2 > L 2 \sqrt{x^2 + y^2} > \frac{L}{2} x2+y2>2L且 D D D在深弹的杀伤范围内。
设概率 $P_{hit} $表示至少一枚深弹命中的概率。
2. 分析投弹方案
根据中心极限定理,潜艇水平坐标 $X \sim N(0, \sigma^2) $和 $Y \sim N(0, \sigma^2) $,假设每个深弹落点之间的平面间隔为 $d $,则我们可以设置落点为:
( x i , y j ) 其中 i , j = 1 , 2 , 3 , … , 3 (如3x3阵列) (x_i, y_j) \text{ 其中 } i,j = 1,2,3,\ldots,3 \text{(如3x3阵列)} (xi,yj) 其中 i,j=1,2,3,…,3(如3x3阵列)
3. 总命中概率
根据独立性可得,总的命中概率为:
P h i t = 1 − P m i s s = 1 − P ( 所有深弹均不命中 ) P_{hit} = 1 - P_{miss} = 1 - P(\text{所有深弹均不命中}) Phit=1−Pmiss=1−P(所有深弹均不命中)
3.1 计算单枚深弹的命中概率
设单枚深弹的命中概率为 $p $,可以通过上述命中条件的分析获得 $p $。
3.2 多枚深弹的投弹设计
在每个投弹落点上,独立的命中概率赋值,可以表示为:
P m i s s = ( 1 − p ) N P_{miss} = (1-p)^{N} Pmiss=(1−p)N
其中 $N = 9 $(针对9枚深弹)。
因此,整体命中概率为:
P h i t = 1 − ( 1 − p ) 9 P_{hit} = 1 - (1 - p)^9 Phit=1−(1−p)9
4. 确定最佳参数
为了使得命中概率最大,我们需要最优化设置深弹的定深引信引爆深度 $D $和投弹落点的间隔 $d $。
通过计算当 $D $和 $d $的不同值时,命中概率 $P_{hit} $达到最大,得到最优解。
5. 最后解答
通过以上推导,可最终确定最佳的投弹方案,包括定深引信引爆深度 $D $和投弹落点之间的平面间隔 $d $,使得投弹命中潜艇的概率达到最大。此概率由公式:
P h i t = 1 − ( 1 − p ) 9 P_{hit} = 1 - (1 - p)^9 Phit=1−(1−p)9
给出。通过随机模拟或数值计算等手段,可以找到最佳的 $p 、 、 、D $和 $d $值。
在问题4中,我们需要设计一个投弹方案,以确保至少一枚深弹能够命中潜艇,目标是最大化该命中概率。
首先,我们定义一些符号:
- 潜艇的长、宽、高分别为 L = 100 m L = 100\, \text{m} L=100m、 W = 20 m W = 20\, \text{m} W=20m、 H = 25 m H = 25\, \text{m} H=25m。
- 深弹的杀伤半径为 R = 20 m R = 20\, \text{m} R=20m。
- 潜艇中心位置的深度定位值为 h 0 = 150 m h_0 = 150\, \text{m} h0=150m。
- 潜艇深度定位的标准差为 σ z = 40 m \sigma_z = 40\, \text{m} σz=40m。
- 潜艇中心位置实际深度的最小值为 l = 120 m l = 120\, \text{m} l=120m。
定深引信引爆深度
深弹的定深引信引爆深度 d d d 如果设置在潜艇上表面的下方 ( d < h 0 + H 2 ) (d < h_0 + \frac{H}{2}) (d<h0+2H),深弹才有通过触发引信引信引爆的可能性。因此,我们可以设定:
d = h 0 − H / 2 = 150 − 25 / 2 = 137.5 m . d = h_0 - H/2 = 150 - 25/2 = 137.5 \text{ m}. d=h0−H/2=150−25/2=137.5 m.
这个深度既能够确保在潜艇表面下方引爆,同时也可最大化与潜艇之间的垂直距离。
投弹落点安排
反潜飞机可携带9枚航空深弹,若把9枚深弹均匀地按阵列形式投放在水面上,假设我们安排为 3 × 3 3 \times 3 3×3 的阵列,投弹落点之间的平面间隔设定为 d p d_p dp。为了尽量覆盖潜艇可能的位置,我们可以将 d p d_p dp 设为:
d p = 2 R 3 = 2 × 20 3 ≈ 13.33 m . d_p = \frac{2R}{3} = \frac{2 \times 20}{3} \approx 13.33\, \text{m}. dp=32R=32×20≈13.33m.
这样可以不会在投弹区域内遗漏潜艇的位置范围。
投弹命中概率
投弹命中概率的计算主要依赖于每一枚深弹的位置准确度和深度。设潜艇的实际位置 ( X , Y ) (X, Y) (X,Y) 的概率密度函数为:
- X ∼ N ( 0 , σ 2 ) X \sim N(0, \sigma^2) X∼N(0,σ2)
- Y ∼ N ( 0 , σ 2 ) Y \sim N(0, \sigma^2) Y∼N(0,σ2)
- Z ∼ N ( h 0 , σ z 2 ) Z \sim N(h_0, \sigma_z^2) Z∼N(h0,σz2),在 Z ≥ l Z \geq l Z≥l 条件下。
由于潜艇的水平坐标误差服从正态分布,所以针对每个投弹点 ( X 0 , Y 0 ) (X_0, Y_0) (X0,Y0),其命中的概率可以通过以下方式计算:
- 命中条件:
- 如果 Z < d Z < d Z<d, 则是触发引信引爆,根据深弹的杀伤范围和潜艇的尺寸,命中概率可以由正态分布在范围内积分得到。
- 如果 Z ≥ d Z \geq d Z≥d, 则直接由定深引信引爆,结合潜艇在深度上的分布。
最终的总体命中概率 P d P_d Pd 为所有9个投弹落点的总的概率叠加,即:
P d = 1 − ( 1 − P hit ) 9 P_d = 1 - (1 - P_{\text{hit}})^{9} Pd=1−(1−Phit)9
其中 P hit P_{\text{hit}} Phit 表示每个落点命中潜艇的概率。
结论
通过以上模型,我们可以得出最佳的定深引信引爆深度 d = 137.5 m d = 137.5\, \text{m} d=137.5m 和最优的投弹落点间隔 d p ≈ 13.33 m d_p \approx 13.33\, \text{m} dp≈13.33m。
根据设定的参数,使用这个策略可以最大化深弹投放的命中潜艇的可能性,具体的命中概率可以通过计算每个落点的区域量以及深度区域来精确获取。
为了设计投弹方案,使得投弹命中潜艇的概率最大,我们需要在设定的条件下对多枚深弹的落点进行合理布局,并选择合适的定深引信引爆深度。首先,我们需要定义投弹命中潜艇的概率以及相关的变量。
问题4:设计投弹方案以最大化命中概率
参数设定
- 潜艇的长宽高: L = 100 m L = 100\, m L=100m, W = 20 m W = 20\, m W=20m, H = 25 m H = 25\, m H=25m。
- 潜艇的中心位置深度定位值: h 0 = 150 m h_0 = 150\, m h0=150m。
- 潜艇深度的标准差: σ Z = 40 m \sigma_Z = 40\, m σZ=40m。
- 潜艇实际深度的最小值: l = 120 m l = 120\, m l=120m。
- 深弹的杀伤半径: R = 20 m R = 20\, m R=20m。
- 投弹数量: N = 9 N = 9 N=9 枚深弹。
- 投弹落点的平面间隔: d d d。
命中概率的表达式
设定深引信的引爆深度为 H d H_d Hd。针对每一枚深弹,我们可以根据上一个问题中的分类确定具体的命中概率。我们可以分别考虑以下情况:
-
深弹在水平方向落点($ (X, Y) $坐标上的投弹落点)在潜艇投影的矩形范围内,并且深度 Z d Z_d Zd(深弹设定的引爆深度)在潜艇的上表面之下。
-
深弹在水平方向落点在潜艇投影的矩形范围内,并且深度 Z d Z_d Zd 在潜艇的上表面之上,同时潜艇在深弹的杀伤范围内。
-
深弹在水平方向落点(离潜艇的投影矩形距离大于杀伤半径 R R R)引爆,并且潜艇在杀伤范围内。
在这些条件下,命中概率 P h i t P_{hit} Phit 可以表示为:
P h i t = P ( A ) + P ( B ) + P ( C ) P_{hit} = P(A) + P(B) + P(C) Phit=P(A)+P(B)+P(C)
其中:
- P ( A ) P(A) P(A) 为条件1下的命中概率;
- P ( B ) P(B) P(B) 为条件2下的命中概率;
- P ( C ) P(C) P(C) 为条件3下的命中概率。
具体的概率计算
对于条件 A A A,命中概率可以通过以下公式计算:
P ( A ) = P ( X ∈ [ − L / 2 , L / 2 ] ) ⋅ P ( Y ∈ [ − W / 2 , W / 2 ] ) ⋅ P ( Z d < z t o p ) P(A) = P(X \in [-L/2, L/2]) \cdot P(Y \in [-W/2, W/2]) \cdot P(Z_d < z_{top}) P(A)=P(X∈[−L/2,L/2])⋅P(Y∈[−W/2,W/2])⋅P(Zd<ztop)
对于条件 B B B,命中概率可以计算为:
P ( B ) = P ( X ∈ [ − L / 2 , L / 2 ] ) ⋅ P ( Y ∈ [ − W / 2 , W / 2 ] ) ⋅ P ( Z d > z t o p ) ⋅ P ( Z ∈ D d ) P(B) = P(X \in [-L/2, L/2]) \cdot P(Y \in [-W/2, W/2]) \cdot P(Z_d > z_{top}) \cdot P(Z \in D_d) P(B)=P(X∈[−L/2,L/2])⋅P(Y∈[−W/2,W/2])⋅P(Zd>ztop)⋅P(Z∈Dd)
其中, z t o p = h 0 + H z_{top} = h_0 + H ztop=h0+H 是潜艇顶部的深度, D d D_d Dd 是深弹的杀伤范围。
而条件 C C C 的命中概率则是:
P ( C ) = P ( X ∉ [ − L / 2 , L / 2 ] 且 Y ∉ [ − W / 2 , W / 2 ] ) ⋅ P ( Z d 在杀伤范围内 ) P(C) = P(X \notin [-L/2, L/2] \, \text{且} \, Y \notin [-W/2, W/2]) \cdot P(Z_{d} \text{在杀伤范围内}) P(C)=P(X∈/[−L/2,L/2]且Y∈/[−W/2,W/2])⋅P(Zd在杀伤范围内)
投弹策略
为了增强杀伤效果,我们将九枚深弹的投放位置设为 3 × 3 3 \times 3 3×3 的阵列,间隔为 d d d。这就是形成一个 3 × 3 3 \times 3 3×3 的落点网格,确保各个落点均匀分布覆盖。
最优定深引信引爆深度 H d H_d Hd
在选择深度 H d H_d Hd 时,需根据潜艇的实际深度分布进行优化。考虑到深水炸弹在深度 l l l 至 z t o p z_{top} ztop 之间的杀伤效果,我们可以通过极大化命中概率的方式来选取最优深度 H d H_d Hd。
综上所述,我们将投弹方案的核心思路整理为如下数学模型:
max d , H d P h i t ( d , H d ) = P ( A ) + P ( B ) + P ( C ) s.t. X , Y 为对称布局的落点 \max_{d,H_d} P_{hit}(d,H_d) = P(A) + P(B) + P(C) \quad \text{s.t.} \quad X, Y \text{ 为对称布局的落点} d,HdmaxPhit(d,Hd)=P(A)+P(B)+P(C)s.t.X,Y 为对称布局的落点
import numpy as np
import scipy.stats as stats# 定义参数
length_submarine = 100 # 潜艇长度
width_submarine = 20 # 潜艇宽度
height_submarine = 25 # 潜艇高度
kill_radius = 20 # 深弹杀伤半径
depth_location_value = 150 # 潜艇深度定位值
sigma_z = 40 # 深度定位标准差
min_depth = 120 # 最小深度
num_bombs = 9 # 投弹数量# 计算深弹命中概率
def hit_probability(x0, y0, depth_bomb):# 潜艇中心位置的实际深度分布# 潜艇的可命中范围submarine_min_z = depth_location_value - height_submarinesubmarine_max_z = depth_location_value# 取样深度位置z_samples = np.random.normal(depth_location_value, sigma_z, 100000)z_samples = z_samples[(z_samples >= min_depth)]# 判断命中条件hit_count = 0for z in z_samples:if ((x0 >= -length_submarine / 2) and (x0 <= length_submarine / 2) and(y0 >= -width_submarine / 2) and (y0 <= width_submarine / 2) and(depth_bomb < z) and(z >= submarine_min_z and z <= submarine_max_z + kill_radius)):hit_count += 1elif ((x0 >= -length_submarine / 2) and (x0 <= length_submarine / 2) and(y0 >= -width_submarine / 2) and (y0 <= width_submarine / 2) and(depth_bomb >= z) and(z >= submarine_min_z and z <= submarine_max_z + kill_radius)):hit_count += 1elif (x0 ** 2 + y0 ** 2 > (length_submarine/2) ** 2 + (width_submarine/2) ** 2) and \(depth_bomb >= z) and \(z >= submarine_min_z and z <= submarine_max_z + kill_radius):hit_count += 1# 计算命中概率return hit_count / len(z_samples)# 网格搜索最优方案
best_prob = 0
best_depth = None
best_spacing = None# 测试不同的深度引信和落点间隔
for depth_bomb in np.arange(depth_location_value - height_submarine, depth_location_value + height_submarine, 1):for spacing in np.arange(0, 40, 5): # 设置落点间隔for i in range(3):for j in range(3):x_position = (i - 1) * spacingy_position = (j - 1) * spacing# 计算在当前位置的命中概率prob = hit_probability(x_position, y_position, depth_bomb)if prob > best_prob:best_prob = probbest_depth = depth_bombbest_spacing = spacingprint(f"最大命中概率: {best_prob:.4f},优化方案:引爆深度 = {best_depth:.2f} m,落点间隔 = {best_spacing:.2f} m")
这段代码通过网格搜索的方式寻找最佳的引信深度和落点间隔,以最大化投弹命中潜艇的概率。注意,使用随机抽样模拟潜艇实际深度,计算命中概率。运行代码后,会输出最大命中概率及相应的优化方案。
国赛跟紧小秘籍冲冲冲!!更多内容可以点击下方名片详细了解!
记得关注 数学建模小秘籍打开你的数学建模夺奖之旅!
这篇关于2024 数学建模高教社杯 国赛(D题)| 反潜航空深弹 | 建模秘籍文章代码思路大全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!