前言

题目:国赛2023B题 多波束测线问题2023高教社杯全国大学生数学建模竞赛赛题发布 - 赛题汇编 - 中国大学生在线

参考论文:2023高教社杯全国大学生数学建模竞赛B题论文展示(B226) - 2023B题论文 - 中国大学生在线

相关参考资料:

如何快速求空间法向量? - 知乎

直线方程的各种形式 - 知乎

向量内积(点乘)和外积(叉乘)概念及几何意义 - 知乎

【IB】线线角、线面角、面面角 - 知乎

贪心算法 看这一篇就够了-CSDN博客

退火算法(Annealing)简介与详解-CSDN博客

模拟退火的实现思路、搜索模型及其可视化_模拟退火优化算法可视化-CSDN博客


问题一

与测线方向垂直的平面和海底坡面的交线构成一条与水平面夹角为 𝛼 的斜线(图 7),称 𝛼 为坡度。请建立多波束测深的覆盖宽度及相邻条带之间重叠率的数学模型。


建模思路

Step 1:建立之间坐标系

坐标原点:海域中心         

x轴:行驶方向          y轴:测线间距分布方向          z轴:海水深度方向

Step 2:计算海水深度

已知:坡度α、测线间距y

求:不同位置水深D

根据三角函数基本公式可知,

深度差                                                             l=y\tan(\alpha)

不同位置水深                                       D(y)=D_{0}-y\tan (\alpha )

Step 3:计算覆盖宽度

已知:转能器开角\theta、深度D(y)、坡度α

求:覆盖宽度W or 左右覆盖宽度BG、FG

【中间变量:角度β、γ】

根据平面几何知识可知:

\beta =\frac{\pi }{2}-\frac{\theta}{2}-\alpha

\gamma =\frac{\pi }{2}-\frac{\theta}{2}+\alpha

再根据正弦定理可得:

代入数据,最后可求得覆盖宽度:

Step 4:计算重叠率

已知:转能器开角\theta、深度D(y)、坡度α、两条侧线之间的距离d

求:重叠区HF、重叠率c

【中间变量:GF、G'H】

由于G、H、F、G'共线,根据几何关系可得:

GG'=\frac{d}{\cos (\alpha ))}

由此可得,重叠区HF:

最后,重叠率为\eta

最后小结,本题所需求解公式:


模型建立

代码

clear;clc;

a = 1.5; % 坡度
D0 = 70; % 中心海水深度
fi = 120;% 换能器开角
d = 200; % 两条侧线之间的距离

i=1;
for y=-800:200:800
    D = D0 - y*tan(a/180*pi); % 水深
    
    W = D/sin((90-fi/2-a)/180*pi)*sin(fi/2/180*pi)+...
        D/sin((90-fi/2+a)/180*pi)*sin(fi/2/180*pi); % 覆盖宽度
    
    D1 = D0 - (y-d)*tan(a/180*pi);
    n = (D/sin((90-fi/2-a)/180*pi)*sin(fi/2/180*pi)+...
        D1/sin((90-fi/2+a)/180*pi)*sin(fi/2/180*pi)-...
        d/cos(a/180*pi))/W*100; % 覆盖率
    
    H(i) = D;
    Wid(i) = W;
    N(i) = n;

    i=i+1;
end
Z = [-800:200:800; H; Wid; N];

结果

测线距中心点 处的距离/m -800 -600 -400 -200 0 200 400 600 800
海水深度/m 90.95 85.71 80.47 75.24 70.00 64.76 59.53 54.29 49.05
覆盖宽度/m 315.81 297.63 279.44 261.26 243.07 224.88 206.70 188.51 170.33
与前一条测线的重叠率/% 39.40 35.70 31.51 26.74 21.26 14.89 7.41 -1.53 -12.36


控制变量法探究覆盖宽度、重叠率随各参数的变化

控制变量:转能器开角

Step 1:建立模型

a = 1.5; % 坡度
D0 = 70; % 中心海水深度
d = 200; % 两条侧线之间的距离

j=1;
for fi = 100:10:140

    i=1;
    for y=-800:1:800
        D = D0 - y*tan(a/180*pi); % 水深
        
        W = D/sin((90-fi/2-a)/180*pi)*sin(fi/2/180*pi)+...
            D/sin((90-fi/2+a)/180*pi)*sin(fi/2/180*pi); % 覆盖宽度
        
        D1 = D0 - (y-d)*tan(a/180*pi);
        n = (D/sin((90-fi/2-a)/180*pi)*sin(fi/2/180*pi)+...
            D1/sin((90-fi/2+a)/180*pi)*sin(fi/2/180*pi)-...
            d/cos(a/180*pi))/W*100; % 覆盖率

        h(i,:) = D;
        w(i,:) = W;
        ng(i) = n;

        i=i+1;
    end

    Wid(j,:) = w;
    N(j,:) = ng;

    j=j+1;
end

Step 2:作图

#1 对覆盖宽度的影响

figure

for k=1:size(Wid,1)

p(k) =plot(-800:1:800,Wid(k,:),'LineWidth',1.5);

hold on;

end

xlabel('测线至中心距离/m')

ylabel('覆盖宽度/m')

legend(p,'开角100°','开角110°','开角120°','开角130°','开角140°',...

'location','northeast');

#2 对覆盖率的影响

figure

for t=1:size(N,1)

q(t) =plot(-800:1:800,N(t,:),'LineWidth',1.5);

hold on;

end

xlabel('测线至中心距离/m')

ylabel('覆盖率/%')

legend(q,'开角100°','开角110°','开角120°','开角130°','开角140°',...

'location','southwest');


问题二

 考虑一个矩形待测海域(图8),测线方向与海底坡面的法向在水平面上投影的夹 角为 𝛽,请建立多波束测深覆盖宽度的数学模型。

与问题一相比,问题二最大的特点是从二维变成三维,建模过程论文已经有详细推导过程,这里不再赘述,直接给出代码和结果。

代码

clear;clc;

fi = 120; 
a = 1.5; 
H0 = 120;
l = 0:0.3:2.1; 
% 1海里 = 1852米
L = l * 1852; 
b = 0:45:315; 


W = zeros(length(b), length(L));
for i = 1:length(L)
    L = L(i);
    for j = 1:length(b)
        beta = b(j);
        
        % 将角度转换为弧度
        FI = fi / 180 * pi;
        A = a / 180 * pi;
        B = beta / 180 * pi;
        
        % 计算水深
        D = H0 + L * tan(A) * cos(B);
        
        % 计算水平面与覆盖宽度的夹角
        delta = asin(abs(sin(B) * sin(A)) / sqrt(cos(B)^2 * cos(A)^2 + sin(B)^2));
        
        % 计算覆盖宽度
        W(j, i) = D / sin(pi/2 - FI/2 - delta) * sin(FI/2) + ...
                  D / sin(pi/2 - FI/2 + delta) * sin(FI/2);
    end
end

结果

0 0.3 0.6 0.9 1.2 1.5 1.8 2.1

0

415.69 466.09 516.49 566.89 617.29 667.69 718.09 768.48
45 416.19 451.87 487.55 523.23 558.91 594.59 630.27 665.95
90 416.69 416.69 416.69 416.69 416.69 416.69 416.69 416.69
135 416.19 380.51 344.83 309.15 273.47 237.79 202.11 166.43
180 415.69 365.29 314.89 264.50 214.10 163.70 113.30 62.90
225 416.19 380.51 344.83 309.15 273.47 237.79 202.11 166.43
270 416.69 416.69 416.69 416.69 416.69 416.69 416.69 416.69
315 416.19 451.87 487.55 523.23 558.91 594.59 630.27 665.95


问题三

考虑一个南北长2海里、东西宽4海里的矩形海域内,海域中心点处的海水深度 为110 m,西深东浅,坡度为 1.5∘,多波束换能器的开角为 120∘。请设计一组测量长度最短、 可完全覆盖整个待测海域的测线,且相邻条带之间的重叠率满足 10%~20% 的要求。

目标:

#1 最佳方向:侧线平行等深线方向

#2 侧线所对应的覆盖面积最大

单目标优化模型:

贪心算法循环遍历法确认最优侧线

模拟退火对测线布防仿真检验

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐