【B题第三套完整论文已出】2024数模国赛B题第三套完整论文+可运行代码参考(无偿分享)

news2024/12/26 9:25:36

基于多阶段优化的电子产品质量控制与成本管理研究

摘要

随着现代制造业和智能化生产的发展,质量控制和生产优化问题成为工业管理中的重要研究课题。本文针对电子产品生产过程中质量控制和成本优化中的问题,基于系统优化和决策分析思想,通过确定检测成本、次品率、装配成本等指标,以最大化利润和最小化生产成本为目标建立了多阶段质量控制优化模型,并使用穷举算法对模型进行求解。

针对问题一,本文通过对零配件的质量检测和生产决策进行分析,建立了基于抽样检测的质量控制模型。通过计算不同检测策略下的总成本,选择最优策略以最小化生产损失。

针对问题二,本文进一步扩展了检测策略至多道工序,综合考虑各个零配件、半成品和成品的次品率,建立了多阶段决策模型。通过优化检测和拆解策略,实现了多环节的质量控制优化。

针对问题三,本文针对多阶段生产中的复杂决策,考虑到各零配件和成品的多种组合策略,建立了全面的质量与成本优化模型。使用穷举法找出最优检测和处理策略组合,最大化了生产收益。

针对问题四,本文基于前述模型,并结合实际生产中的抽样检测数据,进一步验证了模型的有效性。通过气泡图等可视化方法,直观展示了不同策略组合下的收益情况,帮助企业优化决策。

最后,我们对提出的模型进行了全面的评价:本文的模型贴合实际,能合理解决提出的问题,具有实用性强、算法效率高等特点。该模型在生产过程优化、成本控制和质量管理方面也能得到广泛应用。

关键词: 质量控制优化  生产成本最小化  多阶段决策模型  检测与拆解策略  成本收益分析

一、问题重述

1.1问题背景

随着电子产品制造业的快速发展,市场对产品质量的要求不断提高,生产企业面临着严峻的质量控制和成本管理挑战。在制造过程中,各零配件的质量直接影响到最终成品的合格率。为了满足市场需求并控制生产成本,企业需要在生产过程中对各零配件进行质量检测,同时对检测出的不合格产品进行合理处理(如拆解或丢弃)。如何优化检测和处理策略,从而在保证产品质量的同时实现成本最小化,已成为现代制造业中的重要研究课题。

1.2问题提出

问题一:企业需要在供应商声称零配件次品率不超过某一标准的前提下,通过抽样检测来决定是否接受该批次零配件。企业希望在较高的信度水平下做出正确的接收或拒收决策,从而减少不合格零配件对生产的影响。问题的核心在于如何在控制检测成本的同时,确保成品的质量合格率达到预期。

问题二:在多道工序的生产过程中,各个零配件和半成品的次品率对最终成品的质量有显著影响。企业需要对每个零配件和成品进行检测,并决定是否对不合格产品进行拆解,以回收可用的零配件。如何综合考虑检测和拆解的成本与收益,建立优化模型来指导生产,是问题二的主要研究内容。

问题三:企业的生产过程中涉及多个零配件和复杂的决策过程,需要针对每个生产阶段的检测和拆解策略进行优化。问题三要求构建一个全面的质量与成本优化模型,通过系统分析各零配件和成品的次品率与检测成本的关系,确定最优的检测和处理策略组合,以最大化企业的整体收益。

问题四:基于抽样检测获得的实际次品率数据,企业需要重新评估和优化生产过程中的决策策略。问题四要求在前述模型的基础上,结合真实检测数据,验证优化策略的有效性,并通过可视化方法展示不同策略组合下的收益情况。目标是进一步细化和调整检测与拆解策略,以更好地适应实际生产环境,提升企业的决策效率和生产收益。

二、问题分析

问题一:企业在生产电子产品过程中,需要对供应商提供的两种关键零配件进行质量检测,以保证最终装配的成品质量符合市场需求。在装配成品的过程中,任何一个零配件的不合格都会导致成品的不合格。为了减少检测成本,企业希望通过抽样检测来判断零配件的质量是否符合供应商的标称值。具体来说,企业面临的决策问题是:在供应商声称零配件次品率不超过10%的前提下,通过抽样检测,在95%信度下认定次品率超过标称值时拒收该批次零配件;在90%信度下认定次品率不超过标称值时接收该批次零配件。

问题二:企业的生产过程涉及多个零配件和多道工序,每道工序都会影响最终成品的质量和合格率。每个零配件都有一定的次品率,而各个零配件的质量决定了装配成品的整体质量。企业面临的决策是:是否对每个零配件和半成品进行检测,以及是否对装配好的成品进行检测。同时,在检测出不合格成品时,企业需要决定是否拆解成品以回收可用的零配件。目标是通过合理的检测和拆解策略,降低次品率,减少次品对生产和市场的影响。

问题三:在多阶段的生产过程中,企业需要对多个零配件进行检测和处理,以保证成品的合格率和市场竞争力。问题三要求企业对每个生产阶段的检测和处理策略进行全面优化。企业面临的关键决策是:在每个阶段是否对零配件、半成品和成品进行检测,是否对检测出的不合格产品进行拆解或处理。目标是通过建立一个全面的质量与成本优化模型,最大化企业的整体收益,同时有效控制生产成本。

问题四:基于实际生产中的抽样检测数据,企业需要进一步优化之前建立的质量控制模型。问题四要求企业利用实际次品率数据,重新评估生产过程中的检测和处理决策,并通过可视化方法展示不同策略组合下的收益情况。目标是结合真实数据验证模型的有效性,并调整优化策略,以更好地适应实际生产环境,提升决策效率和生产收益。

三、模型假设与符号说明

3.1基本模型假设
  • 独立检测假设:所有零配件、半成品和成品的检测过程相互独立,检测结果不会受到其他零配件或工序的影响。每个零配件的质量检测仅取决于自身的质量状态。
  • 检测准确性假设:检测设备和方法能够准确判定零配件、半成品和成品的合格与否,不存在误判或漏判的情况。检测合格的产品为真正的合格品,检测出的次品为真正的不合格品。
  • 成本固定假设:所有检测、装配、拆解和调换的成本为固定值,不随生产数量、市场波动或其他因素变化。各环节的成本数据是已知的且稳定的。
  • 次品率降低假设:检测能够显著降低零配件的次品率(假设检测降低90%),从而提升成品的合格率。检测不改变零配件的本质,只是筛选出不合格品。
  • 拆解回收假设:拆解过程不会损坏零配件,拆解后的零配件可以被重新使用且质量状态与原始一致。所有被拆解的零配件都可以再次进入装配流程。
  • 市场价格固定假设:成品的市场售价和次品导致的调换损失均为固定值,不考虑市场价格波动或需求变化对企业收益的影响。
  • 次品率传递假设:半成品和成品的次品率由其构成零配件的次品率决定,最终成品的合格率为各零配件合格率的乘积。次品率的传递遵循简单的概率叠加原则,不考虑复杂的交互影响。
3.2符号说明 

 

四、模型建立与求解

4.1问题一模型建立与求解
4.1.1模型选择

我们选择 假设检验 作为主要的统计方法。通过假设检验,可以在统计意义上检验零配件的次品率是否超过标称值。假设检验的设定如下:

零假设  H0 : p ≤0.10(即零配件的真实次品率不超过标称值)。
备择假设 H1 : p >0.10(即零配件的真实次品率超过标称值)。

我们将采用右尾检验来检验次品率是否显著大于标称值。

4.1.2样本量计算

样本量的计算是模型建立的关键步骤。为了保证检验的有效性,我们需要计算在给定信度下(95% 和 90%)能够区分是否接受零假设所需的最小样本量。

其中:

Za/2 为标准正态分布的临界值,确定于所选的信度水平。p 为供应商的标称次品率(10%)。E 为可以接受的误差幅度(设定为5%)。

具体计算

4.1.3决策规则与临界值确定

根据样本量的计算结果,确定拒收和接收的具体临界值:

95% 信度拒收决策临界值  k95:我们需要找到样本中次品数 X 的临界值,使得 P(X > k95 )≤ 0.05。
90% 信度接收决策临界值 90 m :我们需要找到样本中次品数 X 的临界值,使得 P(X ≤ m95 ) ≥ 0.90。

4.1.4结果分析

从以上的计算和图形结果中,我们得出:

95%信度下:样本量为138。当检测出的次品数大于临界值 $k_{95}$ 时,拒收该批零配件,以防止高次品率对企业的生产和声誉造成影响。

90%信度下:样本量为108。当检测出的次品数小于或等于临界值 $m_{90}$ 时,接收该批零配件,以减少不必要的拒收带来的额外采购成本。

这些决策标准帮助企业在质量控制和成本控制之间取得平衡,通过科学的抽样检测策略保障生产的高效性和成品的合格率。

4.1.5参考代码
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt

def calculate_sample_size(p, alpha, error_margin):
    # 计算样本量
    z_score = stats.norm.ppf(1 - alpha / 2)
    sample_size = (z_score ** 2 * p * (1 - p)) / (error_margin ** 2)
    return int(np.ceil(sample_size))

# 设置参数
p = 0.10  # 标称次品率
error_margin = 0.05  # 允许误差
alpha_95 = 0.05  # 95% 信度
alpha_90 = 0.10  # 90% 信度

# 计算样本量
n_95 = calculate_sample_size(p, alpha_95, error_margin)
n_90 = calculate_sample_size(p, alpha_90, error_margin)

print(f"在95%信度下所需样本量: {n_95}")
print(f"在90%信度下所需样本量: {n_90}")

# 计算95%信度下的拒收概率
x = np.arange(0, n_95 + 1)  # 样本次品数
prob_95 = 1 - stats.binom.cdf(x, n_95, p)  # 拒收概率

# 找到拒收的临界值
k_95 = np.argmax(prob_95 < 0.05)
print(f"在95%信度下拒收临界值: {k_95}")

# 计算90%信度下的接收概率
x_90 = np.arange(0, n_90 + 1)  # 样本次品数
prob_90 = stats.binom.cdf(x_90, n_90, p)  # 接收概率

# 找到接收的临界值
m_90 = np.argmax(prob_90 > 0.90)
print(f"在90%信度下接收临界值: {m_90}")

# 可视化
plt.figure(figsize=(12, 6))
plt.plot(x, prob_95, label='95% 信度 - 拒收概率', marker='o')
plt.axhline(0.05, color='red', linestyle='--', label='95% 拒收标准线')
plt.axvline(k_95, color='green', linestyle='--', label=f'拒收临界值: {k_95}')

plt.plot(x_90, prob_90, label='90% 信度 - 接收概率', marker='x')
plt.axhline(0.90, color='blue', linestyle='--', label='90% 接收标准线')
plt.axvline(m_90, color='orange', linestyle='--', label=f'接收临界值: {m_90}')

plt.xlabel('样本次品数')
plt.ylabel('概率')
plt.title('不同信度下的拒收和接收概率')
plt.legend()
plt.grid(True)
plt.show()

可视化

4.2问题二模型建立与求解

4.2.1求解思路

为了优化企业在生产过程中的决策,我们需要构建一个数学模型来最小化总成本。总成本包括检测成本、装配成本、丢弃成本、拆解成本和调换损失。这些成本的计算需要考虑是否对零配件和成品进行检测,以及是否对不合格成品进行拆解。模型的核心在于找到最佳的检测和处理策略组合,以最小化总成本。

4.2.2目标函数

企业的目标是最小化生产过程中总成本。目标函数可以表示为:

其中,各项成本的具体表达式如下:

1.检测成本 C jiance :

2.装配成本 C zhuangpei :

3.丢弃成本 C diuqi:

丢弃成本包括不合格零配件和不合格成品的丢弃成本。

对于不合格零配件:

(1− x ), (1− x ) 表示未检测的零配件会直接进入装配环节,因此有可能导致成品不合格。pD1,pD2 分别为零配件 1 和零配件 2 的次品率。CP1, CP2 分别为零配件 1 和零配件 2 的购买成本。

对于不合格成品:

4.拆解成本...

5.调换损失...

4.2.3决策变量及约束条件

决策变量包括:

每个变量的取值为0或1,表示是否进行相应的操作。

约束条件:

总成本需在企业预算允许范围内。

4.2.4模型求解

我们通过穷举所有可能的策略组合,计算每种策略组合下的总成本,并选取总成本最低的策略组合作为最优解。由于变量数目较少(四个二值变量,共2^4=16种组合),穷举法是可行且直观的方法。

4.2.5结果分析

通过运行上述代码,我们可以观察到不同检测和处理策略下的总成本。条形图展示了各个策略组合的总成本,从中可以直观地看出哪种组合策略能够最小化总成本。

  1. 在检测成本较高时,减少不必要的检测可以降低总成本。
  2. 对不合格成品的拆解处理虽然有一定成本,但可以回收部分零配件,从而降低总体损失。
  3. 调换损失较高时,应优先考虑检测成品以减少不合格品

以下代码实现了上述求解过程,并通过可视化展示了不同策略组合下的总成本。

4.2.6参考代码
import numpy as np
import matplotlib.pyplot as plt

# 定义成本参数
C_D1 = 2   # 零配件 1 的检测成本
C_D2 = 3   # 零配件 2 的检测成本
C_DF = 6   # 成品的检测成本
C_T = 5    # 拆解费用
C_R = 10   # 调换损失
C_P1 = 4   # 零配件 1 的购买成本
C_P2 = 18  # 零配件 2 的购买成本
C_A = 6    # 装配成品的成本
P_S = 56   # 成品的市场售价

# 定义次品率
p_D1 = 0.10  # 零配件 1 的次品率
p_D2 = 0.10  # 零配件 2 的次品率
p_F = 0.10   # 成品的次品率

# 决策变量组合 (x1, x2, xF, xT)
strategies = [(x1, x2, xF, xT) for x1 in [0, 1] for x2 in [0, 1] for xF in [0, 1] for xT in [0, 1]]

# 计算总成本的函数
def calculate_total_cost(x1, x2, xF, xT):
    C_detection = x1 * C_D1 + x2 * C_D2 + xF * C_DF
    C_assembly = C_A
    C_discard_parts = (1 - x1) * p_D1 * C_P1 + (1 - x2) * p_D2 * C_P2
    C_discard_final = xF * p_F * (C_P1 + C_P2 + C_A)
    C_dismantle = xT * C_T
    C_exchange = (1 - xF) * p_F * C_R
    total_cost = C_detection + C_assembly + C_discard_parts + C_discard_final + C_dismantle + C_exchange
    return total_cost

# 计算每种策略下的总成本
costs = [calculate_total_cost(x1, x2, xF, xT) for (x1, x2, xF, xT) in strategies]

# 策略标签
labels = [f"(x1={x1}, x2={x2}, xF={xF}, xT={xT})" for (x1, x2, xF, xT) in strategies]

# 可视化展示
plt.figure(figsize=(14, 8))
plt.bar(labels, costs, color='skyblue')
plt.xticks(rotation=45, ha='right')
plt.xlabel('策略组合 (x1, x2, xF, xT)')
plt.ylabel('总成本 (元)')
plt.title('不同策略组合下的总成本比较')
plt.grid(axis='y')
plt.show()

 

4.3问题三模型建立与求解

4.3.1模型建立
4.3.2目标函数

企业的目标是最大化生产过程中的利润,目标函数为:

其中,各项成本和收益的计算如下:

 4.3.3决策变量及约束条件
  • 决策变量:是否检测零配件和是否拆解不合格成品。
  • 约束条件:所有决策变量只能取0或1。
4.3.4优化策略

通过穷举所有可能的策略组合,计算每种策略下的利润,并选择利润最大的策略作为最优策略。代码通过循环计算每个策略组合的利润,输出结果展示不同决策组合下的收益变化。

4.3.5参考代码
import itertools
import matplotlib.pyplot as plt

# 定义各情形的参数
situations = [
    {"part_defects": [0.1, 0.1, 0.1, 0.1], "detect_costs": [2, 3, 4, 1],
     "assembly_cost": 8, "market_price": 100, "swap_cost": 10, "dismantle_cost": 5},
    {"part_defects": [0.2, 0.15, 0.1, 0.05], "detect_costs": [1, 2, 3, 4],
     "assembly_cost": 10, "market_price": 120, "swap_cost": 15, "dismantle_cost": 8},
    {"part_defects": [0.05, 0.05, 0.05, 0.05], "detect_costs": [3, 3, 3, 3],
     "assembly_cost": 6, "market_price": 80, "swap_cost": 20, "dismantle_cost": 7},
    {"part_defects": [0.15, 0.1, 0.2, 0.1], "detect_costs": [2, 1, 4, 2],
     "assembly_cost": 7, "market_price": 90, "swap_cost": 25, "dismantle_cost": 6},
    {"part_defects": [0.1, 0.2, 0.15, 0.1], "detect_costs": [1, 2, 1, 3],
     "assembly_cost": 9, "market_price": 110, "swap_cost": 30, "dismantle_cost": 10},
]

# 定义所有可能的决策组合 (检测/不检测和拆解/不拆解)
decisions = list(itertools.product([0, 1], repeat=8))  # 0-不检测/不拆解,1-检测/拆解


def calculate_profit(decision, situation):
    detect_decisions = decision[:4]  # 前4个为检测决策
    dismantle_decisions = decision[4:]  # 后4个为拆解决策
    part_defects = situation["part_defects"]
    detect_costs = situation["detect_costs"]
    assembly_cost = situation["assembly_cost"]
    market_price = situation["market_price"]
    swap_cost = situation["swap_cost"]
    dismantle_cost = situation["dismantle_cost"]

    total_defect = 1  # 初始合格率为1

    # 计算检测后的次品率
    for i, detect in enumerate(detect_decisions):
        if detect:  # 如果检测该零配件
            part_defects[i] *= 0.1  # 假设检测能将次品率降低90%
        if dismantle_decisions[i]:  # 如果选择拆解
            total_defect *= (1 - part_defects[i])  # 叠加合格率
        else:
            total_defect *= (1 - part_defects[i])  # 如果不拆解仍需考虑次品率

    final_defect_rate = 1 - total_defect  # 最终成品的次品率

    # 计算最终的收益
    revenue = (1 - final_defect_rate) * market_price  # 售出合格成品的收益
    loss = final_defect_rate * swap_cost + dismantle_cost * sum(dismantle_decisions)  # 次品的损失
    total_cost = sum(detect_costs[i] * detect_decisions[i] for i in range(4)) + assembly_cost + loss
    profit = revenue - total_cost
    return profit


# 分别展示各情形下的折线图
for idx, situation in enumerate(situations, 1):
    profits = []
    for decision in decisions:
        profit = calculate_profit(decision, situation)
        profits.append(profit)

    # 绘制每个情形的折线图
    plt.figure(figsize=(10, 6))
    plt.plot(range(len(decisions)), profits, marker='o')
    plt.xlabel('决策组合索引')
    plt.ylabel('收益')
    plt.title(f'情形 {idx} 的不同决策收益对比')
    plt.xticks([])  # 去除决策组合的标签
    plt.grid(axis='y', linestyle='--', alpha=0.7)
    plt.tight_layout()
    plt.show()

 4.3.5结果分析

代码运行后,我们得到了各个情形下不同决策组合的收益折线图。每条线代表一个情形的不同决策组合下的收益变化,横坐标为决策组合的索引,纵坐标为对应的收益。

分析要点:

  • 收益波动:通过观察折线图,收益最高的决策组合对应最优检测和拆解策略。
  • 成本与收益的平衡:在检测成本较高时,减少不必要的检测决策可能会提升总利润;在次品率较高的情形中,合理的拆解策略能有效降低损失。
  • 最优策略识别:从折线图中选择收益最高的点对应的策略组合,可以指导企业在实际生产中如何选择检测和拆解的最佳策略。

4.4问题四模型建立与求解

4.4.1模型建立
4.4.2目标函数

...

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++ Primer Plus习题】12.1

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream> #include "Cow.h" u…

空气能热泵热水器

空气能热泵热水器压缩机把低温低压气态冷媒转换成高压高温气态&#xff0c;压缩机压缩功能转化的热量为q1&#xff0c;高温高压的气态冷媒与水进行热交换&#xff0c;高压的冷媒在常温下被冷却、冷凝为液态。这过程中&#xff0c;冷媒放出热量用来加热水&#xff0c;使水升温变…

机器学习数学公式推导之降维

文章目录 降维线性降维-主成分分析 PCA损失函数SVD 与 PCoASVD 的基本形式SVD 的计算p-PCA 小结 P22 (系列五) 降维1-背景 本文参考 B站UP: shuhuai008 &#x1f339;&#x1f339; 降维 我们知道&#xff0c;解决过拟合的问题除了正则化和添加数据之外&#xff0c;降维就是最…

数据链路层与ARP协议

一.认识识以太网 "以太网" 不是一种具体的网络, 而是一种技术标准; 既包含了数据链路层的内 容, 也包含了一些物理层的内容. 例如: 规定了网络拓扑结构, 访问控制方式, 传输速率等; 以太网中的网线必须使用双绞线; 传输速率有 10M, 100M, 1000M 等; 以太网是当前应用…

【最新华为OD机试E卷-支持在线评测】机器人活动区域(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-E/D卷的三语言AC题解 💻 ACM金牌🏅️团队| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,…

2024年【金属非金属矿山(露天矿山)安全管理人员】考试题及金属非金属矿山(露天矿山)安全管理人员最新解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 金属非金属矿山&#xff08;露天矿山&#xff09;安全管理人员考试题参考答案及金属非金属矿山&#xff08;露天矿山&#xff09;安全管理人员考试试题解析是安全生产模拟考试一点通题库老师及金属非金属矿山&#xf…

Java魔板游戏软件(含代码)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

【第0007页 · 数组】数组中重复的数据(如何实现数组的原地修改)

【前言】本文以及之后的一些题解都会陆续整理到目录中&#xff0c;若想了解全部题解整理&#xff0c;请看这里&#xff1a; 第0007页 数组中重复的数据 今天&#xff0c;我们来看一个在实际工作中运用不多&#xff0c;但是对于一些算法题还是有必要的奇技淫巧——数组的原地修…

基于开源链动 2 + 1 模式、AI 智能名片与 S2B2C 商城小程序的用户忠诚度计划

摘要&#xff1a;本文深入探讨了在商业环境中执行用户忠诚度计划的创新途径。通过整合开源链动 2 1 模式、AI 智能名片以及 S2B2C 商城小程序等先进元素&#xff0c;从提供福利、解决问题和创造赚钱机会三个核心方面展开详细阐述。研究表明&#xff0c;这些新技术和新模式的有…

LLM大模型:将爬虫与大语言模型结合

摘要 Web自动化是一种重要技术&#xff0c;通过自动化常见的Web操作来完成复杂的Web任务&#xff0c;可以提高运营效率并减少手动操作的需要。 传统的实现方式&#xff0c;比如包装器&#xff0c;当面对新的网站时&#xff0c;面临着适应性和可扩展性的限制。 另一方面&…

国内短剧系统怎么搭建以及都需要那些资质?

聊到国内短剧&#xff0c;相信大家都不陌生&#xff0c;在各大短视频平台可谓是火的一批&#xff0c;您或许有想加入进来的想法&#xff0c;或是已经有规划还未实现的&#xff0c;请停下脚步&#xff0c;耐心看完该文章&#xff0c;相信一定会对你有所帮助的。本文介绍短剧平台…

C语言中结构体struct和联合体union的区别

C语言 文章目录 C语言前言一、什么是结构体二、什么是联合体三、结构体和联合体的区别 前言 一、什么是结构体 在C语言中&#xff0c;结构体指的是一种数据结构&#xff0c;是C语言中聚合数据类型的一类。结构体可以被声明为变量、指针或数组等&#xff0c;用以实现较复杂的数…

单调栈的实现

这是C算法基础-数据结构专栏的第二十四篇文章&#xff0c;专栏详情请见此处。 引入 单调栈就是满足单调性的栈结构&#xff0c;它最经典的应用就是给定一个序列&#xff0c;找出每个数左边离它最近的比它大/小的数。 下面我们就来讲单调栈的实现。 定义 单调栈就是满足单调性…

SnapGene 5.3.1下载安装教程百度网盘分享链接地址

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 SnapGene介绍 SnapGene 5.3.1下载安装教程百度网盘分享链接地址&#xff0c;SnapGene 是一款由美国公司开发&#xff08;后被收购&#xff09;的分子生物学软件&#xff0c;…

Deepspeed框架学习笔记

DeepSpeed 是由 Microsoft 开发的深度学习优化库,与PyTorch/TensorFlow等这种通用的深度学习框架不同的是,它是一个专门用于优化和加速大规模深度学习训练的工具,尤其是在处理大模型和分布式训练时表现出色。它不是一个独立的深度学习框架,而是依赖 PyTorch 等框架,扩展了…

Vue 向标签中传入 this

我曾经问过 chatgpt 这个问题&#xff0c;chatgpt 说不行&#xff01; 但是&#xff0c;chatgpt 说的就算吗&#xff1f; 来试试吧&#xff1a; https://andi.cn/page/621733.html 当然是可以的&#xff01;

apk反编译修改教程系列-----修改apk 解除软件限制功能 实例操作步骤解析_6【二十五】

目前很多软件都需要票票才可以使用完全的功能。纯免费的功能性app已经很少见了。 今天继续以一款app为大家来演示如何去除软件的限制功能。教程的目的主要是学习反编译的基础修改方法,了解app的修改步骤以及基础的入门修改常识。每个使用修改方法不一定适用于所有app。只是给你…

springboot、flowable 生成图片发布到Docker乱码问题

flowable自带的方法生成图片时&#xff0c;如设置字体为宋体&#xff0c;则本地测试没有问题&#xff0c;因为windows自带宋体字体库&#xff0c;但是如果发布到Docker&#xff0c;则会出现乱码问题&#xff0c;因为大部分Docker并不包含宋体字体库&#xff1b; 通过Java代码&a…

AAudio的延迟优化

AAudio | Android NDK | Android Developers

yolov8 pt转onnx

第一步&#xff1a; 安装onnx pip install --upgrade onnx 第二步&#xff1a; 将以下代码创建、拷贝到yolov8根目录下。具体代码test.py&#xff1a; from ultralytics import YOLO # Load a model model YOLO(yolov8n.pt) # load an official model # Export the mode…