[高质量]2024五一数学建模A题保奖思路+代码(后续会更新)

你的点赞收藏是我继续更新的最大动力,可点击文末卡片获取更多资料

你是否在寻找数学建模比赛的突破点?

作为经验丰富的数学建模团队,我们将为你带来2024 年华东杯(A题)的全面解析包。这个解决方案包不仅包括完整的代码实现,还有详尽的建模过程和解析,帮助你全面理解并掌握如何解决类似问题。

A题 钢板最优切割路径问题

提高钢板下料切割过程中的工作效率,是模具加工企业降低成本和增加经济效益的重要途径,其中钢板切割的路径规划是钢板切割过程的一个关键环节。

钢板切割就是使用特殊的切割技术,基于给定的下料切割布局图纸对钢板进行加工。切割过程中设计切割路径至关重要,最优切割路径要满足空程最短的原则。

注:(1) 空程是指在切割设备所进行的一系列操作中不产生切割效果的水平运动路径(垂直运动路径不计入空程);(2) 本题默认切割起始点均为右下角点(见各图所示);(3) 本题下料切割布局图中的实线均为切割线。

问题1:给定如图2所示的下料切割布局N1,其中B3-B4为钢板边界线,不用切割,B1为切割起始点。请建立数学模型,设计最优切割路径方案,并给出最优切割路径的空程总长度。

针对钢板切割问题,我们面临的主要挑战是如何规划切割路径,以最小化在不进行切割的情况下切割头的移动距离,即空程。这可以通过将问题抽象为旅行商问题(TSP)来解决,其中切割点作为城市,需要找到访问所有城市(切割点)一次并返回起点的最短路径。

建模要点:

  • 顶点(V):定义为切割线的起点和终点。
  • 边(E):两个顶点之间的直线距离,代表从一个切割点移动到另一个切割点的直线路径。
  • 目标:最小化完成所有必需切割后的总移动距离。

数学模型

设是顶点集合,其中每个顶点代表一个切割点的位置。定义是从顶点到顶点的距离。我们的目标是找到一个排列(代表顶点的访问顺序),使得以下目标函数最小化:设P={p1,p2,...,pn}是顶点集合,其中每个顶点代表一个切割点的位置。定义dij是从顶点pi到顶点pj的距离。我们的目标是找到一个排列π(代表顶点的访问顺序),使得以下目标函数最小化: \text{设} \quad P = \{p_1, p_2, ..., p_n\} \quad \text{是顶点集合,其中每个顶点代表一个切割点的位置。定义} \quad d_{ij} \quad \text{是从顶点} \quad p_i \quad \text{到顶点} \quad p_j \quad \text{的距离。我们的目标是找到一个排列} \quad \pi \quad \text{(代表顶点的访问顺序),使得以下目标函数最小化:}

minimizeZ=dπ(n)π(1)+∑i=1n−1dπ(i)π(i+1) \text{minimize} \quad Z = d_{\pi(n)\pi(1)} + \sum_{i=1}^{n-1} d_{\pi(i)\pi(i+1)}

其中,是顶点到顶点之间的距离。其中,dπ(i)π(i+1)是顶点π(i)到顶点π(i+1)之间的距离。 \text{其中,} \quad d_{\pi(i)\pi(i+1)} \quad \text{是顶点} \quad \pi(i) \quad \text{到顶点} \quad \pi(i+1) \quad \text{之间的距离。}

3. 解决策略

考虑到实际操作的复杂性,我们将采用一种启发式算法来找到一个近似的最优解:

  • 贪心算法:从起始点开始,每次选择最近的未访问顶点作为下一个访问顶点。
  • 改进策略:使用 2-opt 或 3-opt 技术来进行路径优化,这种技术可以通过局部交换来改进初始贪心解。

Python 代码实现

import numpy as np
from scipy.spatial import distance_matrix
from itertools import permutations# 定义顶点坐标
coordinates = {'B1': (0, 0),'B2': (0, 50),'B3': (80, 50),'B4': (0, 80),'A1': (20, 15),'A2': (20, 35),'A3': (60, 35),'A4': (60, 15)
}# 计算距离矩阵
points = list(coordinates.keys())
coords = np.array(list(coordinates.values()))
dist_mat = distance_matrix(coords, coords)# 贪心算法实现
def greedy_tsp(distances, start=0):n = len(distances)visited = [False] * nvisited[start] = Truepath = [start]total_distance = 0current = startwhile len(visited) < n:next_node = Nonemin_distance = float('inf')for i in range(n):if not visited[i] and distances[current, i] < min_distance:next_node = imin_distance = distances[current, i]path.append(next_node)visited[next_node] = Truetotal_distance += min_distancecurrent = next_node# Returning to the starttotal_distance += distances[path[-1], start]path.append(start)return path, total_distance# 调用贪心算法
best_path, min_distance = greedy_tsp(dist_mat)
best_path_labels = [points[i] for i in best_path]# 输出结果
print("最优切割路径:", best_path_labels)
print("最小空程总长度:", min_distance)

问题2:给定下料切割布局N2见图3,构件的外边界切割成上下对称的锯齿状,同时内部切割出四个半径为3的圆形和一个椭圆形。请根据下料切割布局N2的参数信息,建立数学模型,设计最优切割路径方案,并给出最优切割路径的空程总长度。

为了解决钢板的最优切割路径问题,我们将采用组合优化和启发式算法。具体过程如下:

数学建模思路

  1. 模型目标: 最小化空程总长度。这意味着我们需要找到一条路径,使得在不进行实际切割的过程中,切割头移动的距离最短。
  2. 变量定义
  3. 设定切割路径为一系列点的序列,每个点代表切割头的一个位置。
  4. 定义变量 xi, yi 为切割头在第 i 个点的坐标。
  5. 约束条件
  6. 切割路径必须覆盖所有需切割的边界和图形。
  7. 切割路径应避免重复覆盖已切割区域,除非必要。
  8. 数学模型: 采用图论中的最短路径问题。将切割布局视为图的节点,切割路径视为边,边的权重是切割头移动的距离。

公式

minimize∑i=1n−1(xi+1−xi)2+(yi+1−yi)2 \text{minimize} \sum_{i=1}^{n-1} \sqrt{(x_{i+1} - x_i)^2 + (y_{i+1} - y_i)^2}

这是一个经典的旅行商问题(TSP),我们需要在满足切割要求的前提下,找到一条遍历所有必需点的最短路径。

可以使用的算法

  1. 遗传算法(Genetic Algorithm, GA)
  2. 初始化:随机生成一定数量的可能路径(种群)。
  3. 评估:计算每条路径的空程长度(适应度函数)。
  4. 选择:根据路径的适应度选择较好的路径进行繁殖。
  5. 交叉和变异:通过交叉和变异操作产生新的路径(后代)。
  6. 迭代:重复选择、交叉和变异过程,直至达到一定的迭代次数或适应度满足最优条件。
  7. 模拟退火算法(Simulated Annealing, SA)
  8. 初始化:随机生成一个可能的路径。
  9. 迭代过程:在每次迭代中,通过小的随机扰动生成一个新路径。
  10. 接受准则:如果新路径的适应度更好,则接受新路径;如果更差,以一定的概率接受新路径,概率随温度参数逐渐降低。

代码示例(Python使用遗传算法)

import numpy as np
import matplotlib.pyplot as plt
import randomdef generate_initial_population(size, num_points):return [random.sample(range(num_points), num_points) for _ in range(size)]def calculate_distance(points, route):return sum(np.linalg.norm(points[route[i]] - points[route[i - 1]]) for i in range(len(route)))def crossover(parent1, parent2):size = len(parent1)idx1, idx2 = sorted(random.sample(range(size), 2))offspring = [None]*sizeoffspring[idx1:idx2] = parent1[idx1:idx2]for x in parent2:if not x in offspring:idx = offspring.index(None)offspring[idx] = xreturn offspringdef mutate(route, mutation_rate):for i in range(len(route)):if random.random() < mutation_rate:j = random.randint(0, len(route) - 1)route[i], route[j] = route[j], route[i]def genetic_algorithm(points, population_size, generations, mutation_rate):population = generate_initial_population(population_size, len(points))for _ in range(generations):population = sorted(population, key=lambda x: calculate_distance(points, x))new_population =[crossover(population[i], population[(i + 1) % len(population)]) for i in range(len(population))]population = [mutate(ind, mutation_rate) for ind in new_population]return population[0]# 假设点集
points = np.array([(np.random.uniform(0, 100), np.random.uniform(0, 100)) for _ in range(10)])
route = genetic_algorithm(points, 50, 100, 0.01)# 可视化
plt.figure()
plt.plot(points[:, 0], points[:, 1], 'o')
for i in range(1, len(route)):plt.plot([points[route[i - 1], 0], points[route[i], 0]], [points[route[i - 1], 1], points[route[i], 1]], 'k-')
plt.show()

该模型和算法能有效减少空程长度,提高生产效率。和小天数模一起交流,通过进一步的参数调优和算法改进,可以适应更复杂的实际应用需求。

问题3:给定下料切割布局N3见图4。N3与N2相比,需要在椭圆中多切割出12个矩形件(它们在椭圆中的位置是对称分布的,左右相邻的两个矩形件的中心距离为6,上下相邻的两个矩形件的中心距离为5)。请建立数学模型,设计最优切割路径方案,并给出最优切割路径的空程总长度(要求椭圆内部的所有矩形件要先于椭圆切割)。

在解决给定的钢板切割布局N3的问题中,我们面对的主要挑战是如何有效地组织和优化切割路径,以最小化非生产性的空程距离,并确保特定的切割顺序。这个布局不仅包括复杂的外部边界(锯齿形),还包括多个内部几何形状(圆形和一个包含多个矩形的椭圆形),这些形状需要被优先切割。

在处理您提供的钢板切割布局N3问题中,我们面临的核心挑战是如何精确而高效地规划切割路径,以最小化切割过程中的空程(非生产移动)总长度。这个问题涉及复杂的空间布局,包括一个椭圆形中内置的12个矩形和其他几个圆形,所有这些都需要在一个大的钢板上精确切割。这个任务可以通过构建一个数学模型来优化,该模型不仅需要处理空间和路径优化的问题,还要考虑切割顺序的约束。

首先,需要理解布局的具体细节和要求。给定的布局要求在一个包含12个对称排列的矩形的椭圆内部开始切割,之后才能切割椭圆本身,最后是其他的几何形状。这增加了操作的复杂性,因为需要在开始切割外围形状之前,首先完成所有内部形状的切割。

为了解决这个问题,我们可以采用图论中的方法,将每一个切割需求(无论是边界还是内部矩形)视为图中的节点。每两个节点之间的边表示可能的移动路径,边的权重是从一个节点到另一个节点的欧几里得距离。我们的目标是找到一个总权重(即总空程距离)最小的路径,这个路径必须首先包含椭圆内的所有矩形,然后是椭圆本身,最后是外围形状。

目标函数

minimize∑i=1n−1(xi+1−xi)2+(yi+1−yi)2 \text{minimize} \sum_{i=1}^{n-1} \sqrt{(x_{i+1} - x_i)^2 + (y_{i+1} - y_i)^2}

这里,xi, yi 表示切割点在钢板上的坐标,而 n 是切割点的总数。

约束条件

  1. 所有椭圆内部的矩形必须在椭圆被切割之前切割。
  2. 所有形状必须被完整切割,这意味着路径必须覆盖所有必要的切割线。

优化方法

考虑到问题的复杂性和实际应用中的计算限制,我们选择混合优化策略:

  1. 遗传算法:通过模拟自然选择和遗传机制来搜索最优路径。这包括初始化一定数量的随机解(种群),然后通过选择、交叉和变异来迭代改进这些解。
  2. 局部搜索:对遗传算法中得到的较优解进行局部搜索,以进一步减少空程。

Python实现和可视化

对于具有特定顺序要求的切割任务,动态规划可以用来优化切割顺序,特别是在处理有先后切割顺序要求的切割任务时效果显著。

代码示例(Python使用动态规划)

假设我们有切割点的坐标列表,我们需要确定切割顺序以最小化总的空程距离。

import numpy as npdef compute_distance(points):n = len(points)dist_matrix = np.zeros((n, n))for i in range(n):for j in range(n):dist_matrix[i][j] = np.linalg.norm(np.array(points[i]) - np.array(points[j]))return dist_matrixdef dynamic_programming(dist_matrix):n = len(dist_matrix)dp = [[float('inf')] * (1 << n) for _ in range(n)]dp[0][1] = 0  # Start from the first pointfor mask in range(1, 1 << n):for i in range(n):if mask & (1 << i):for j in range(n):if mask & (1 << j) and i != j:new_mask = mask ^ (1 << i)dp[i][mask] = min(dp[i][mask], dp[j][new_mask] + dist_matrix[j][i])return min(dp[i][(1 << n) - 1] for i in range(n))# Define points based on the given diagram (mock coordinates)
points = [(10, 10), (20, 20), (30, 30), (40, 40)]  # Example coordinates of cut points
dist_matrix = compute_distance(points)
min_distance = dynamic_programming(dist_matrix)
print(f"Minimum air travel distance: {min_distance}")

以下Python代码示例展示了如何使用matplotlib库来可视化切割路径,以及如何构建和使用遗传算法的简化版本来优化路径。

import matplotlib.pyplot as plt
import numpy as np# 假设的坐标点,表示切割点
points = np.array([[10, 10], [20, 20], [30, 15], [40, 40], [50, 50], [60, 60], [70, 70], [80, 80]])# 绘制点
plt.scatter(points[:, 0], points[:, 1])# 绘制连接线,模拟切割路径
for i in range(len(points)-1):plt.plot([points[i][0], points[i+1][0]], [points[i][1], points[i+1][1]], 'r-')plt.title('钢板切割路径示意图')
plt.xlabel('X坐标')
plt.ylabel('Y坐标')
plt.grid(True)
plt.show()

问题4:给定下料切割布局N4见图5,需要在椭圆中切割出4个矩形小零件。由于小零件尺寸较小,为防止小零件掉落,两个相邻的小零件之间需要采用“过桥”的方式,使得相邻零件连接成一个大尺寸零件,要求“过桥”与矩形小零件顶点的最短距离至少为1。“过桥”的宽度为2,且在空程计算中不可以忽略“过桥”的宽度。

请根据N4的具体情况,建立数学模型,确定“过桥”的数目和位置,设计最优切割路径方案,给出最优切割路径的空程总长度(要求切割起始点设计在钢板的右下角,N4中的小圆形切割件不考虑过桥问题)。

在面对N4的钢板切割布局时,我们的目标是有效地设计切割路径来最小化空程总长度,同时确保小零件之间通过“过桥”有效连接。这一需求提高了问题的复杂性,因为除了标准的切割路径优化外,我们还需要考虑如何合理布置“过桥”,确保其既能连接相邻零件,又能符合最小距离要求。

分析与建模思路

  1. 布局和需求分析:布局中包括一个椭圆形和四个小矩形,需在椭圆内完成切割,并在相邻的小零件之间设置“过桥”。每个“过桥”的宽度为2,且顶点到零件的最小距离至少为1,这对切割路径和过桥位置的选择提出了特殊要求。
  2. 过桥设计:根据图形和给定的尺寸,需要确定“过桥”位置。这些位置必须能够连接相邻矩形而不侵犯规定的最小距离。具体到N4布局,四个矩形周围的可用空间需要精确计算,以便安排“过桥”位置。
  3. 数学模型建立
  • 目标函数:最小化总空程距离,包括切割所有零件和“过桥”的路径。
  • 变量定义:定义每一个切割点的坐标及其连接路径。
  • 约束条件:确保所有的“过桥”符合宽度和最小距离的要求;所有图形都需要被完整切割。
  1. 目标函数: minimize∑i=1n−1(xi+1−xi)2+(yi+1−yi)2\text{minimize} \sum_{i=1}^{n-1} \sqrt{(x_{i+1} - x_i)^2 + (y_{i+1} - y_i)^2} 其中,x_i, y_i 为切割路径中第i点的坐标。
  2. 约束条件
  • 对于每个“过桥”,距离相邻小零件顶点至少1单位距离。
  • “过桥”宽度恒为2单位。

为了深入解决N4布局的钢板切割问题,并优化“过桥”设计以及最小化空程总长度,我们可以使用一系列的数学公式来形式化问题。以下是具体的公式描述,用于详细计算并优化切割路径和“过桥”布局:

用到的数学公式

  1. 欧氏距离公式(计算切割路径长度): d(pi,pj)=(xj−xi)2+(yj−yi)2 d(p_i, p_j) = \sqrt{(x_j - x_i)^2 + (y_j - y_i)^2}
  2. 目标函数(最小化总空程距离): minimize∑i=1n−1d(pi,pi+1) \text{minimize} \, \sum_{i=1}^{n-1} d(p_i, p_{i+1})
  3. “过桥”距离约束(保证“过桥”与零件的最小距离): for all i∈bridges,min{d(pi,vj)}≥1for each vertex vjof the rectangle \text{for all } i \in \text{bridges}, \, \text{min} \{ d(p_i, v_j) \} \geq 1 \, \text{for each vertex } v_j \, \text{of the rectangle}
  4. “过桥”宽度约束: wb=2 w_b = 2
  5. 路径连续性约束(确保切割路径的连续性): d(pi,pi+1)≤Lmaxfor some large Lmax d(p_i, p_{i+1}) \leq L_{\text{max}} \, \text{for some large } L_{\text{max}}
  6. 小矩形切割点坐标(根据布局定义四个矩形的坐标): (xr1,yr1),(xr2,yr2),(xr3,yr3),(xr4,yr4) (x_{r1}, y_{r1}), (x_{r2}, y_{r2}), (x_{r3}, y_{r3}), (x_{r4}, y_{r4})
  7. 椭圆形区域内切割点坐标(定义椭圆内切割的开始和结束点): (xe1,ye1),(xe2,ye2) (x_{e1}, y_{e1}), (x_{e2}, y_{e2})
  8. 矩形到椭圆的最短距离计算(确保切割顺序,先切矩形后切椭圆): min{d((xr1,yr1),(xe2,ye2)),…,d((xr4,yr4),(xe2,ye2))} \text{min} \{ d((x_{r1}, y_{r1}), (x_{e2}, y_{e2})), \ldots, d((x_{r4}, y_{r4}), (x_{e2}, y_{e2})) \}
  9. 切割起点至第一个切割点的距离(从钢板右下角到第一个切割点的距离): d(pstart,p1)=(x1−xstart)2+(y1−ystart)2 d(p_{\text{start}}, p_1) = \sqrt{(x_1 - x_{\text{start}})^2 + (y_1 - y_{\text{start}})^2}
  10. 整体路径效率评估公式(评估路径的有效性): Efficiency=Total Cutting DistanceTotal Travel Distance \text{Efficiency} = \frac{\text{Total Cutting Distance}}{\text{Total Travel Distance}}
  11. 切割路径总长度(包括切割距离和空程距离的总和): Total Path Length=∑i=1nd(pi,pi+1) \text{Total Path Length} = \sum_{i=1}^{n} d(p_i, p_{i+1})

通过这些公式,我们能够对切割路径进行精确的计算和优化,确保每一步都符合生产效率和安全的要求。这些计算帮助我们理解切割过程中的每一步动作,以及如何合理安排“过桥”,确保切割效率和产品质量。

优化策略与算法选择

图论与网络流

通过将切割问题转化为图论问题,其中每个需要切割的形状和“过桥”作为节点,节点间的距离作为边,使用网络流算法优化切割路径和“过桥”位置的配置。

遗传算法

利用遗传算法的全局搜索能力来优化切割路径,适应性函数根据空程长度来评价路径的优劣,通过选择、交叉和变异来迭代找到最优解。

Python代码示例

假设切割点及“过桥”位置已定义,以下代码展示如何使用matplotlib进行可视化:

import matplotlib.pyplot as plt
import numpy as np# 假设的切割点和过桥
points = np.array([[10, 10], [20, 20], [30, 30], [40, 40], [50, 50]])
bridges = [(np.array([15, 15]), np.array([25, 25]))]  # 假设的过桥位置# 绘制切割点
plt.scatter(points[:, 0], points[:, 1], color='blue', label='切割点')# 绘制过桥
for bridge in bridges:plt.plot([bridge[0][0], bridge[1][0]], [bridge[0][1], bridge[1][1]], 'k--', label='过桥')plt.title('钢板切割与过桥布局图')
plt.xlabel('X 坐标')
plt.ylabel('Y 坐标')
plt.legend()
plt.grid(True)
plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/317332.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实习面试算法准备之图论

这里写目录标题 1 基础内容1.1 图的表示1.2图的遍历 2 例题2.1 所有可能的路径2.2 课程表&#xff08;环检测算法&#xff09;2.2.1 环检测算法 DFS版2.2.2 环检测算法 BFS版 2.3 课程表 II &#xff08;拓扑排序算法&#xff09;2.3.1 拓扑排序 DFS版 1 基础内容 图没啥高深的…

百度安全多篇议题入选Blackhat Asia以硬技术发现“芯”问题

Blackhat Asia 2024于4月中旬在新加坡隆重举行。此次大会聚集了业界最杰出的信息安全专业人士和研究者&#xff0c;为参会人员提供了安全领域最新的研究成果和发展趋势。在本次大会上&#xff0c;百度安全共有三篇技术议题被大会收录&#xff0c;主要围绕自动驾驶控制器安全、跨…

IDEA实现Springboot项目自动热部署

每当我们在修改代码时&#xff0c;往往需要重新启动项目&#xff0c;这样不仅浪费时间而且很麻烦&#xff0c;我们可以通过IDEA的热部署来提高效率 1、首先点file >> settings >> Build Excution >> Compire&#xff0c;选择Build project auto matically 2.…

有关CSS中排版常见问题(清除默认样式问题 + 元素居中问题 + 元素之间的空白问题 + 行内块的幽灵空白问题)

前言&#xff1a;在练习CSS排版的时候&#xff0c;我们经常会遇到一些排版上的问题&#xff0c;那么我们如何去解决这些问题呢&#xff1f;本篇文章给出了一些新手在练习排版时候可能会遇到的问题的解决方案。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我…

【竞技宝jjb.lol】LOL:MSI首日赛事前瞻

北京时间2024年5月1日,英雄联盟2024MSI季中赛将在今天正式开打,今天将进行两场入围赛的比赛,分别为FLY对阵PSG以及T1对阵EST。入围赛的战队实力差距较大,但如今各大赛区的实力越来越小,即使是外卡赛区的队伍也有爆冷的可能,下面小编就为大家带来MSI首日赛事前瞻。 FLY VS PSG …

做外贸如何主动开发外贸客户

在外贸业务中&#xff0c;主动开发客户是至关重要的一步&#xff0c;它能够帮助你扩大市场覆盖范围&#xff0c;建立稳定的客户基础。以下是一些有效的策略和方法&#xff0c;可以帮助你更有效地主动开发外贸客户&#xff1a; 明确目标市场&#xff1a;首先&#xff0c;你需要确…

一键PDF水印添加工具

一键PDF水印添加工具 引言优点1. 精准定位与灵活布局2. 自由旋转与透明度调控3. 精细化页码选择4. 全方位自定义水印内容5. 无缝整合工作流程 功能详解结语工具示意图【工具链接】 引言 PDF作为最常用的文档格式之一&#xff0c;其安全性和版权保护显得尤为重要。今天&#xff…

启明云端2.4寸屏+ESP32-S3+小型智能调速电动家用除草机案例 触控三档调速,能显示电压故障码

今天给大家分享个启明云端2.4寸屏ESP32-S3小型智能调速电动家用除草机案例&#xff0c;国外有草坪文化&#xff0c;这个机器能智能触控三档调速&#xff0c;带屏能显示电压故障码&#xff0c;数显档位&#xff08;3档最大&#xff09;&#xff0c;触控屏&#xff0c;长按3秒就能…

K-近邻算法的 sklearn 实现

实验目的与要求 掌握基于 K-近邻分类算法的编程方法通过编程理解 K-近邻分类算法和该算法的基本步骤 实验器材 硬件&#xff1a;PC 机&#xff08;参与实验的学生每人一台&#xff09;软件环境&#xff1a;Python3.7 Pycharm 实验内容 使用 sklearn 库中的 neighbors 模块实…

基于python的舞蹈经验分享交流网站django+vue

1.运行环境&#xff1a;python3.7/python3.8。 2.IDE环境&#xff1a;pycharmmysql5.7/8.0; 3.数据库工具&#xff1a;Navicat11 4.硬件环境&#xff1a;windows11/10 8G内存以上 5.数据库&#xff1a;MySql 5.7/8.0版本&#xff1b; 运行成功后&#xff0c;在浏览器中输入&am…

计算机网络——应用层协议(1)

在这篇文章初识网络中&#xff0c;我介绍了关于计算机网络的相关知识&#xff0c;以及在这两篇文章中Socket编程和Socket编程——tcp&#xff0c;介绍了使用套接字在两种协议下的网络间通信方式。本篇文章中我将会进一步介绍网络中网络协议的部分&#xff0c;而这将会从应用层开…

Vue 组件单元测试深度探索:细致解析与实战范例大全

Vue.js作为一款广受欢迎的前端框架&#xff0c;以其声明式的数据绑定、组件化开发和灵活的生态系统赢得了广大开发者的心。然而&#xff0c;随着项目规模的增长&#xff0c;确保组件的稳定性和可靠性变得愈发关键。单元测试作为软件质量的守护神&#xff0c;为Vue组件的开发过程…

FPGA高端项目:FPGA帧差算法多目标图像识别+目标跟踪,提供11套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐FPGA帧差算法单个目标图像识别目标跟踪 3、详细设计方案设计原理框图运动目标检测原理OV5640摄像头配置与采集OV7725摄像头配置与采集RGB视频流转AXI4-StreamVDMA图像缓存多目标帧差算法图像识别目标跟踪模块视频输出Xilinx系列FPGA工程源…

PDF高效编辑器,支持修改PDF文档并转换格式从PDF文件转换成图片文件,轻松管理你的文档世界!

PDF文件已成为我们工作、学习和生活中不可或缺的一部分。然而&#xff0c;传统的PDF阅读器往往只能满足简单的查看需求&#xff0c;对于需要频繁编辑、修改或转换格式的用户来说&#xff0c;就显得力不从心。现在&#xff0c;我们为您带来一款全新的PDF高效编辑器&#xff0c;让…

绿色便携方式安装apache+mysql+tomcat+php集成环境并提供控制面板

绿色便携方式安装带控制面板的ApacheMariaDBTomcatPHP集成环境 目录 绿色便携方式安装带控制面板的ApacheMariaDBTomcatPHP集成环境[TOC](目录) 前言一、XAMPP二、安装和使用1.安装2.使用 三、可能的错误1、检查端口占用2、修改端口3、JDK原因导致 前言 安装集成环境往往配置复…

paddlehub的简单应用

1、下载安装 pip install paddlehub -i https://pypi.tuna.tsinghua.edu.cn/simple 报错&#xff1a; Collecting onnx<1.9.0 (from paddle2onnx>0.5.1->paddlehub)Using cached https://pypi.tuna.tsinghua.edu.cn/packages/73/e9/5b953497c0e36df589fc60cc6c6b35…

[1688]jsp工资投放管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 工资投放管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.0…

TDengine写入2000万数据查询体验

最近在寻找时序数据库&#xff0c;想应用在公司的项目上。 上一篇文章实验了InfluxDB:windows上使用influx2.7学习,还学习了flux语言&#xff0c;最后发现宽表查询比较困难&#xff0c;就放弃了&#xff0c;于是决定试试国产时序数据库TDengine 参考 官方文档&#xff1a;htt…

Vitis HLS 学习笔记--IDE软件高效操作指引

目录 1. 简介 2. 实用软件操作 2.1 C/RTL Cosimulation 选项 2.2 Do not show this dialog again 2.3 New Solution 2.4 对比 Solution 2.5 以命令行方式运行&#xff08;windows&#xff09; 2.6 文本缩放快捷键 2.7 查看和修改快捷键 2.8 将Vitis HLS RTL 导入 Viv…

Postgresql源码(127)投影ExecProject的表达式执行分析

无论是投影还是别的计算&#xff0c;表达式执行的入口和计算逻辑都是统一的&#xff0c;这里已投影为分析表达式执行的流程。 1 投影函数 用例 create table t1(i int primary key, j int, k int); insert into t1 select i, i % 10, i % 100 from generate_series(1,1000000…