2024高教社杯全国大学生数学建模竞赛B题原创python代码

本文主要是介绍2024高教社杯全国大学生数学建模竞赛B题原创python代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下均为python代码。先给大家看看之前文章的部分思路:

接下来我们将按照题目总体分析-背景分析-各小问分析的形式来

1 总体分析

题目提供了一个电子产品生产的案例,要求参赛者建立数学模型解决企业在生产过程中的一系列决策问题。以下是对题目的总体分析:

问题一需要企业需要从供应商购买零配件,并且需要设计一个抽样检测方案,来决定是否接受供应商提供的零配件。题目要求设计一个能够尽可能减少检测次数的方案,分别在95%和90%的置信度下,判断零配件的次品率是否超过标称值。这个问题的核心是基于统计学的抽样检验,涉及假设检验和置信区间的计算。需要考虑标称值为10%的情况下,如何设计抽样数量,使得在满足不同置信水平的条件下进行接收或拒收决策。

问题二则:在生产过程中,企业需要在多个阶段做出决策,包括:

  • 是否对零配件进行检测。

  • 是否对成品进行检测。

  • 是否对不合格的成品进行拆解,决定是否将拆解后的零配件重新利用。

  • 如何处理用户退回的不合格产品。

需要根据这些参数为企业提供决策依据,并且给出相应的指标结果。

问题3:扩展的生产决策问题

在问题2的基础上,问题3进一步扩展了生产过程,增加了多个零配件和工序的情况。题目提供了多达8个零配件和2道工序的组装过程,要求针对更复杂的生产流程给出具体的决策方案。这部分问题的复杂度更高,可能涉及到多阶段决策和动态规划。

问题4:基于抽样检测的决策调整

假设问题2和问题3中的次品率均通过抽样检测得到,要求重新进行生产过程中的决策。这一问题要求参赛者结合问题1中的抽样检测方法,重新审视生产流程中的决策,可能需要重新设计检测方案,优化成本和风险的平衡。

问题2和问题3中的各个决策环节都涉及到成本效益的权衡,需要建立一个数学模型来综合考虑检测成本、拆解费用、次品率、调换损失等。

动态规划或优化模型:面对问题3中的多工序、多零配件的复杂情况,可以使用动态规划或其他优化方法,来寻找到最优的决策路径。

2 背景分析

总结一下,题目的背景集中在生产过程中的质量控制和成本优化,企业需要在多个决策点上进行权衡,既要保证最终产品的质量,又要尽量减少生产和处理的成本损失。

3 各小问分析

这道题目是关于生产过程中的决策问题,涉及到电子产品制造中的抽样检测、装配、拆解、退换货等多个环节。问题分为四个主要部分,要求为企业设计优化生产决策的数学模型。

问题1:抽样检测方案建模与分析

该问题要求设计一个抽样检测方案,判断零配件的次品率是否超过标称值。在这个问题中,零配件次品率不会超过某个标称值(如10%)。我们需要在不同信度下,决定是否接受这批零配件。

建模目标:

我们需要设计一个抽样检测方案,确保:

1.在95%的信度下,判断零配件次品率超过标称值时拒收该批次零配件。

2.在90%的信度下,判断零配件次品率不超过标称值时接收该批次零配件。

1.抽样检测方案的基础理论

  1. 假设检验 我们可以使用假设检验来进行模型设计。设: p为零配件的真实次品率。 p0为标称的次品率(10%)。 我们抽取的样本数为n,次品数为x。 根据问题要求,我们可以构建两个假设: 原假设H_0:零配件次品率p\leq p_0(零配件次品率不超过标称值,接受零配件)。 备择假设H_1:零配件次品率p>p_0(零配件次品率超过标称值,拒绝零配件)。

  2. 二项分布建模 对于每个零配件,若其合格率为1-p,则每个零配件是次品的概率为p。假设我们从一批零配件中抽取了n个样本,次品的数量服从二项分布:

其中: n是抽样数量。 p是次品率。 X是次品的个数。 可以用正态分布近似二项分布:

通过正态近似,可以使用标准化公式:

  1. 双侧检验与置信区间

我们根据问题中95%和90%的信度要求进行双侧假设检验。信度要求分别对应的显著性水平alpha为:

95%信度:对应alpha=0.05。

90%信度:对应alpha=0.10。

在这两种情况下,分别计算不同显著性水平下的拒收与接收条件。

2.具体建模步骤

第一问代码:

import math
from scipy.stats import norm
import matplotlib.pyplot as plt# 定义参数
p0 = 0.10  # 标称次品率
alpha_95 = 0.05  # 95%置信水平
alpha_90 = 0.10  # 90%置信水平
z_95 = norm.ppf(1 - alpha_95)  # 95%的临界值
z_90 = norm.ppf(1 - alpha_90)  # 90%的临界值# 计算样本量
def calculate_sample_size(z_alpha, p0, delta):return math.ceil((z_alpha**2 * p0 * (1 - p0)) / delta**2)# 假设检测误差delta为5%
delta = 0.05# 计算样本量
n_95 = calculate_sample_size(z_95, p0, delta)
n_90 = calculate_sample_size(z_90, p0, delta)# 打印结果
print(f"在95%的置信水平下,所需的最小样本量为: {n_95}")
print(f"在90%的置信水平下,所需的最小样本量为: {n_90}")# 生成图表:不同显著性水平下样本量的变化
def plot_sample_size():alphas = [0.01 * i for i in range(5, 21)]  # 从5%到20%的不同显著性水平sample_sizes = [calculate_sample_size(norm.ppf(1 - alpha), p0, delta) for alpha in alphas]plt.figure(figsize=(8, 6))plt.plot(alphas, sample_sizes, marker='o', linestyle='-', color='b')plt.title('Sample Size vs Significance Level', fontsize=14)plt.xlabel('Significance Level (Alpha)', fontsize=12)plt.ylabel('Sample Size', fontsize=12)plt.axvline(x=0.05, color='r', linestyle='--', label="95% Confidence Level")plt.axvline(x=0.10, color='g', linestyle='--', label="90% Confidence Level")plt.legend()plt.grid(True)plt.tight_layout()plt.show()# 生成图表:样本量与误差范围的关系
def plot_sample_size_vs_error():deltas = [0.01 * i for i in range(1, 21)]  # 从1%到20%的误差范围sample_sizes_95 = [calculate_sample_size(z_95, p0, delta) for delta in deltas]sample_sizes_90 = [calculate_sample_size(z_90, p0, delta) for delta in deltas]plt.figure(figsize=(8, 6))plt.plot(deltas, sample_sizes_95, label="95% Confidence Level", marker='o', linestyle='-', color='b')plt.plot(deltas, sample_sizes_90, label="90% Confidence Level", marker='o', linestyle='-', color='g')plt.title('Sample Size vs Error Margin', fontsize=14)plt.xlabel('Error Margin (Delta)', fontsize=12)plt.ylabel('Sample Size', fontsize=12)plt.legend()plt.grid(True)plt.tight_layout()plt.show()# 运行生成图表
plot_sample_size()
plot_sample_size_vs_error()

剩余看下面的名片

这篇关于2024高教社杯全国大学生数学建模竞赛B题原创python代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

基于Python构建一个高效词汇表

《基于Python构建一个高效词汇表》在自然语言处理(NLP)领域,构建高效的词汇表是文本预处理的关键步骤,本文将解析一个使用Python实现的n-gram词频统计工具,感兴趣的可以了解下... 目录一、项目背景与目标1.1 技术需求1.2 核心技术栈二、核心代码解析2.1 数据处理函数2.2 数据处理流程

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

使用Python实现base64字符串与图片互转的详细步骤

《使用Python实现base64字符串与图片互转的详细步骤》要将一个Base64编码的字符串转换为图片文件并保存下来,可以使用Python的base64模块来实现,这一过程包括解码Base64字符串... 目录1. 图片编码为 Base64 字符串2. Base64 字符串解码为图片文件3. 示例使用注意

使用Python实现获取屏幕像素颜色值

《使用Python实现获取屏幕像素颜色值》这篇文章主要为大家详细介绍了如何使用Python实现获取屏幕像素颜色值,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、一个小工具,按住F10键,颜色值会跟着显示。完整代码import tkinter as tkimport pyau

python编写朋克风格的天气查询程序

《python编写朋克风格的天气查询程序》这篇文章主要为大家详细介绍了一个基于Python的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open-MeteoAPI... 目录工具介绍工具使用说明python脚本内容如何运行脚本工具介绍这个天气查询工具是一个基于 Pyt

Python FastMCP构建MCP服务端与客户端的详细步骤

《PythonFastMCP构建MCP服务端与客户端的详细步骤》MCP(Multi-ClientProtocol)是一种用于构建可扩展服务的通信协议框架,本文将使用FastMCP搭建一个支持St... 目录简介环境准备服务端实现(server.py)客户端实现(client.py)运行效果扩展方向常见问题结

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

深入解析 Java Future 类及代码示例

《深入解析JavaFuture类及代码示例》JavaFuture是java.util.concurrent包中用于表示异步计算结果的核心接口,下面给大家介绍JavaFuture类及实例代码,感兴... 目录一、Future 类概述二、核心工作机制代码示例执行流程2. 状态机模型3. 核心方法解析行为总结:三