【2024高教社杯全国大学生数学建模竞赛】B题完整解析(含论文、代码分享)

本文主要是介绍【2024高教社杯全国大学生数学建模竞赛】B题完整解析(含论文、代码分享),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 1问题重述
    • 1.1问题背景
    • 1.2研究意义
    • 1.3具体问题
  • 2 总体分析
  • 3 模型假设
  • 4 符号说明
  • 5 模型的建立与求解
  • 5.1问题一模型的建立与求解
    • 5.1.1问题的具体分析
      • 5.1.2模型的准备
      • **5.1.3模型的建立与求解**
  • 代码
    • 第一问
  • 完整论文&代码

1问题重述

1.1问题背景

1.2研究意义

1.3具体问题

2 总体分析

3 模型假设

4 符号说明

5 模型的建立与求解

5.1问题一模型的建立与求解

5.1.1问题的具体分析

问题一要求制定一个抽样检测计划,以决定是否接受一批零配件,基于供应商所声称的次品率。关键在于如何确定适当的样本量和决策标准,以最小化检测成本,同时确保决策的高可靠性。

在具体分析中,企业面临的主要挑战是在95%的置信水平下拒收次品率超过标称值的零配件,在90%的置信水平下接受次品率不超过标称值的零配件。这涉及到统计假设检验,特别是需要控制第一类错误(错误地拒绝良品)和第二类错误(错误地接受次品)的概率。
次品率的抽样检测通常采用二项分布进行建模,每个零配件要么合格,要么不合格,完全符合二项分布的特性。基于供应商提供的次品率标称值,可以设定零假设(次品率小于等于标称值)和备择假设(次品率大于标称值),并采用z检验或t检验等统计方法来决定是否拒收整批零配件。

在模型构建方面,首先需要定义这些假设,然后是确定样本量,这一步骤至关重要,以确保检验的功效,即最小化第一类和第二类错误的概率。这可以通过设定错误的容忍界限(例如α=5%,β=10%)和进行功效分析来实现。接着,需要设定决策规则,即根据样本次品率与临界值的比较结果来接受或拒绝零假设。

求解模型时,会计算在给定置信水平下的临界值,如果样本次品率大于此临界值,则拒绝零假设,否则接受。可以通过模拟抽样过程,计算样本次品率,并根据这些数据与临界值比较来确定是否接受或拒绝。这种方法可以为企业提供一个科学且经济有效的抽样检测方案,帮助企业在保证产品质量的同时控制相关成本。

5.1.2模型的准备

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

5.1.3模型的建立与求解

在这里插入图片描述

代码

第一问

from scipy.stats import binom
import matplotlib.pyplot as plt
from matplotlib import rcParamsrcParams['font.sans-serif'] = ['SimHei']
rcParams['axes.unicode_minus'] = Falsedef calculate_sample_size_and_visualize(p0, beta_accept, beta_reject):# 估计样本量的合理初始范围n_start = 30  # 假设样本量从30开始n_max = 500  # 最大样本量限制为500sample_sizes = []reject_probabilities = []accept_probabilities = []sample_size_found = Nonefor n in range(n_start, n_max, 10):  # 每次增加10个样本# 计算在p0条件下的拒收和接收概率p_reject = binom.cdf(int(n * p0), n, p0)p_accept = 1 - binom.cdf(int(n * p0), n, p0)# 存储每个样本量的结果,用于可视化sample_sizes.append(n)reject_probabilities.append(p_reject)accept_probabilities.append(p_accept)# 判断是否满足条件if p_reject <= beta_reject and p_accept >= beta_accept and sample_size_found is None:sample_size_found = n  # 记录找到的最小样本量# 如果没有找到符合条件的样本量,返回最大样本量if sample_size_found is None:sample_size_found = n_max# 返回结果及用于可视化的数据return sample_size_found, sample_sizes, reject_probabilities, accept_probabilities# 参数设置
p0 = 0.10  # 标称次品率
beta_accept = 0.90  # 90%接收概率
beta_reject = 0.05  # 5%拒收概率# 计算最小样本量并获取可视化数据
sample_size, sample_sizes, reject_probs, accept_probs = calculate_sample_size_and_visualize(p0, beta_accept,beta_reject)# 可视化输出
plt.figure(figsize=(10, 6))# 拒收概率曲线
plt.plot(sample_sizes, reject_probs, label="拒收概率", color='red', marker='o')
# 接收概率曲线
plt.plot(sample_sizes, accept_probs, label="接收概率", color='blue', marker='x')# 标注最小抽样量
plt.axvline(x=sample_size, color='green', linestyle='--', label=f"最小抽样量 = {sample_size}")# 图表标题和标签
plt.title('样本量与拒收/接收概率的关系')
plt.xlabel('样本量')
plt.ylabel('概率')
plt.legend()# 显示网格
plt.grid(True)# 显示图表
plt.show()

完整论文&代码

在这里插入图片描述
在这里插入图片描述

22页,18822字,完整论文与代码请看下方!

这篇关于【2024高教社杯全国大学生数学建模竞赛】B题完整解析(含论文、代码分享)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1143243

相关文章

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性: