2023国赛数学建模B题一二三小问+数据py代码+处理结果+视频讲解

B

 多波束测线问题(完整版文末获取)

单波束测深是利用声波在水中的传播特性来测量水体深度的技术。声波在均匀介质中作匀

速直线传播,在不同界面上产生反射,利用这一原理,从测量船换能器垂直向海底发射声波信

号,并记录从声波发射到信号接收的传播时间,通过声波在海水中的传播速度和传播时间计算

出海水的深度,其工作原理如图 1 所示。由于单波束测深过程中采取单点连续的测量方法,因

此,其测深数据分布的特点是,沿航迹的数据十分密集,而在测线间没有数据。

2023国赛数学建模B题一二三小问+数据py代码+处理结果+视频讲解_第1张图片

array([ 229.9753724 , 554.06952411, 885.258855 , 1209.6523689 , 1527.34913091, 1854.73540398, 2185.30674879, 2502.52240601, 2825.50520925, 3143.81881065, 3475.66336191, 3802.26684108, 4124.89393656, 4446.06529733, 4589.73617883, 4913.16016565, 5228.62320191, 5557.39818919, 5881.6125081 , 6205.01911566, 6527.5040825 , 6856.49058491])

这个结果表示了在东西方向上的测线位置。由于海域东西方向宽4海里,即7408米,这个数组提供了在这个长度范围内测线的推荐位置。

结果解释如下:

2023国赛数学建模B题一二三小问+数据py代码+处理结果+视频讲解_第2张图片

    第一条测线位置为229.98米,即从西侧开始约230米的位置。

    第二条测线位置为554.07米,即从西侧开始约554米的位置。

    以此类推...

import numpy as np

# 定义参数
width = 4 * 1852  # 海域宽度,单位为米
D_center = 110  # 海域中心的深度,单位为米
theta = np.radians(120)  # 换能器开角,单位为弧度
alpha = np.radians(1.5)  # 坡度,单位为弧度

# 根据给定的重叠率计算最小和最大的测线间距
d_min = 2 * D_center * np.tan(theta / 2) * (1 - 0.2)
d_max = 2 * D_center * np.tan(theta / 2) * (1 - 0.1)

# 遗传算法参数
population_size = 100
num_generations = 500
elite_size = 10
mutation_rate = 0.1

def fitness_continuous_coverage(chromosome):
    total_length = 0
    last_line = 0
    for line in chromosome:
        # 计算当前测线的海水深度
        D = D_center - abs(line - width/2) * np.tan(alpha)
        coverage_width = 2 * D * np.tan(theta/2)
        overlap = coverage_width - (line - last_line)
        if overlap < d_min or overlap > d_max:
            return 0  # 无效的解
        total_length += line - last_line
        last_line = line

    # 如果最后一个测线没有覆盖到东端,适应度为0
    if last_line + coverage_width < width:
        return 0

    return total_length

# 其他函数保持不变

best_solution_continuous_coverage = enhanced_genetic_algorithm_continuous_coverage()
best_solution_continuous_coverage

考虑到多波束测深的特点,每条测线的覆盖范围都会有一定的宽度,因此这些测线之间的位置确保了整个海域都得到连续覆盖,并且每两条测线之间的重叠率都在10%-20%的范围内。

为了更直观地描述这个结果,我们可以说:

2023国赛数学建模B题一二三小问+数据py代码+处理结果+视频讲解_第3张图片

在4海里宽的海域内,我们推荐的测线位置从西侧开始分别为230米、554米、885米...以及最后一个位置为6856.49米。这些位置确保了整个海域的连续覆盖,并满足了重叠率的要求。

2023国赛数学建模B题一二三小问+数据py代码+处理结果+视频讲解 
 

你可能感兴趣的:(2023数学建模国赛,2023数学建模国赛ABC题,2023数学建模国赛B题,数学建模,python)