[全网最全]2024数学建模国赛BCE题完整思路+py,matlab双版本代码+可视化结果图+成品论文

本次比赛,我们团队助攻BCE题,所有资料持续更新,预计明天网上十二点前更新完毕所有内容!!

完整资料获取进入下方企鹅群:

点击链接加入群聊【2024数学建模国赛资料汇总】:icon-default.png?t=O83Ahttp://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=lZncBILk30DuPRI1Bd8X-3Djv7ZVZyAv&authKey=kKqNSSEbbZN%2FVKn%2BICOqJGahEHfhJEe7BSxK5IMua%2BYQqwaHkGaHvK%2Bne8d4wlax&noverify=0&group_code=960567372

                  B题多工序生产中的抽样检测与动态规划决策模型研究

 摘要

 本论文基于某企业生产过程中遇到的零配件质量控制、成品检测及不合格品处理 问题,构建了多阶段的数学模型,通过抽样检测、动态规划、总成本函数优化等方法, 系统地对生产决策进行了分析与求解。本文重点解决了如何在多阶段生产过程中优化 检测和装配策略,最大限度地降低生产成本、提高产品合格率,并提出了有效的解决 方案。最终,通过灵敏性分析验证了模型的可靠性与适应性,确保该模型在不同情境 下均具备较强的稳定性。

 问题一主要针对如何通过最少的抽样检测次数来评估零配件的次品率,进而决定 是否接收供应商的零配件。我们使用假设检验和二项分布模型设计了最优的抽样检测 方案。在95%的信度下,当次品率超过10%时拒收零配件;在90%的信度下,次品率 低于10%时接收零配件。通过计算样本量,我们得出了每批次零配件检测所需的最小 样本量,从而确保在减少检测次数的同时,依然能保证检测结果的准确性。最终结果 表明,采用该检测方案可以将检测成本降低约30%,同时保持产品质量的高标准。

 问题二重点分析了企业在生产过程各阶段的检测与装配决策。我们构建了动态规 划模型,分别针对零配件和成品的次品率、检测成本及装配成本进行了优化。在该模 型中,企业需要决定是否对零配件进行检测,并决定对成品是否进行二次检测。通过 对不同情境下的分析,模型结果显示,当零配件次品率较高时,应加强检测以减少次 品进入装配环节的风险;当次品率较低时,可以减少检测次数,降低成本。根据仿真 结果,企业可以在总成本下降约25%的同时,确保不合格品的市场流通量减少到5% 以内。

 问题三扩展了问题二的多阶段决策模型,解决了复杂多工序、多零配件生产流程 中的最优检测和装配策略。通过将每个工序视为独立的决策节点,企业能够在每道工 序中动态调整检测策略,减少次品累积效应。该模型整合了工序次品率、装配成本和 检测成本等因素,优化了各阶段的决策。实验结果表明,在工序增加至三道时,通过 合理调整检测和装配策略,企业可以将整体生产成本减少约15%,并在成品次品率不 超过8%的前提下,大幅提高生产效率。

 问题四将问题一中的抽样检测结果与问题二和问题三中的决策模型结合,提出了 基于次品率估计的动态调整策略。基于总成本函数模型,企业能够实时调整生产过程 中的检测、装配和拆解决策,以确保成本效益的最大化。在该模型中,我们将抽样检 测的结果直接用于指导后续生产阶段的决策优化。结果显示,当企业合理使用检测结 果并进行动态调整时,可以有效减少生产过程中的资源浪费,提升整体生产效益。通 过仿真分析,该策略可将总成本降低约20%,并确保不合格品流入市场的比例控制在 3%以下。

 最后,通过灵敏性分析,我们检验了模型在不同参数变化下的表现。结果显示, 无论是在检测成本波动还是次品率变化的情境下,模型均能够保持较强的稳定性,确 保生产决策的有效性。通过调整模型中的关键参数,企业可以灵活应对次品率的波动, 在保持生产效益的同时,进一步降低不合格品的风险。总体而言,灵敏性分析证明了 该模型的可靠性和适用性,适合不同企业的复杂生产环境。

 关键词:抽样检测、假设检验、动态规划、工序优化、成本优化、总成本函数

一、问题重述

 本题聚焦于某电子产品制造企业在生产过程中的决策问题。企业在生产中需采购 和使用两种关键零配件,并在装配过程中面临如何优化质量控制与成本管理的挑战。 赛题要求针对不同生产阶段设计合理的决策模型,帮助企业在确保产品质量的同时, 优化生产成本。具体问题如下:

 问题1:抽样检测方案设计企业从供应商处购买零配件,为了确保零配件质量, 需要设计抽样检测方案。该方案要求在保证次品率不超过标称值的情况下,以最少的 检测次数评估零配件质量。检测结果将影响企业是否接受供应商提供的零配件:

 ●  在95%信度下,判定零配件次品率是否超过标称值,以决定拒收。

 ●  在90%信度下,判定次品率是否低于标称值,以决定接收。

2024年高教社杯数学建模国赛C题超详细解题思路分析

本次国赛预测题目难度,选题人数如下所示

难度评估 A:B:C= 1.8:1.3:1

          D:E=1.5:1

选题人数 A:B:C= 1:1.5:2.8

          D:E=0.5:1.2

C题一直以来都是竞赛难度最低、选题人数最多的一道本科生选题,近三年C题的选题人数一直都是总参赛队伍的一半左右,2023年六万支参赛队伍,C题选题队数2.8万。今年初步预计应该也是在3万左右。基于如此多的选题人数,本次我们将给大家带来两个版本的解题思路【思路、模型、代码完全不同】,下面进行第一版本的思路介绍

近年来,国赛在任何题目的数据预处理环节都设置了5-15分不等的数据预处理分值,因此数据预处理是必须进行的环节。数据预处理不仅仅是异常值、缺失值的处理,数据整合、数据可视化、描述性分析均是数据预处理工作。对于本次,我们可以进行异常值处理、数据整合、数据可视化、描述性分析进行数据的呈现。

数据预处理

  1. 异常值检测:题目中存在极端异常的数据,例如无论是亩产量还是种植成本存在极端数据,无论该数据是否真实我们都需要进行说明,以确保数据真实。

2数据可视化、描述性分析:我们可以对题目给出的数据进行初步分析,以便后续建模,例如我们可以进行一些数据的可视化工作。

3、后续数据计算

耕地数据:

3、后续数据计算

耕地数据:

  • 定义每块地  的面积  和作物  在地块  上种植的面积  。
  • 作物  的种植总面积需满足地块总面积约束:

农作物数据:

  • 每种作物  的亩产量  、种植成本  和销售价格  分别从 2023 年的数据中提取。收益公式为:

预期销售量:

  • 对于问题一,我们假设 2023 年的销售量等于实际产量,并在后续年份保持不变:
  • 在问题二中,小麦和玉米的年销售量增长率在  之间,而其他作物的预期销售量每年波动  。对于小麦和玉米的增长模型:

预期销售量

 销售量

问题一:最优种植方案(2024-2030)

1. 建立收益最大化模型

目标函数

目标: 优化种植方案以最大化总收益。

目标函数(收益最大化):

其中, 表示地块 的面积, 为作物 的销售价格, 为作物 的亩产量,

 的种植成本。
1、销售量约束:

对于问题1(1),若作物

 的产量超过预期销售量,则超出部分将无法销售:

对于问题1(2),超出的部分按

 降价销售:

Total Revenue

 ,预期销售量


2、种植面积约束:每个地块的种植面积不能超过其总面积:

3、作物轮作约束:

每块地三年内必须种植一次豆类作物:

E 题  交通流量管控

问题背景

随着城市化进程的加快、机动车的快速普及,以及人们活动范围的不断扩大,城市道路交通拥堵问题日渐严重,即使在一些非中心城市,道路交通拥堵问题也成为影响地方经济发展和百姓幸福感的一个“痛点”,是相关部门的棘手难题之一。

考虑一个拥有知名景区的小镇。景区周边道路上既有本地居民出行,也有过境车辆还有大量前来景区游览的游客车辆,后者常常会因寻找停车位而在周边道路上来回低速绕圈,影响了道路的通行效率。因此如何对交通流量进行管控至关重要。

问题分析:个问题需要建立数学模型进行解决,首先先对数据进行数据预处理,清理和整合原始车辆数据。针对问题一和二,构建合理的交通流量预测模型和信号灯优化模型。针对问题三和四,利用合适的统计分析方法和模型进行巡游车辆的识别和交通措施效果的评估。

问题1分析:一天内不同时间段各相位的车流量估计

问题1:对经中路-纬中路交叉口,根据车流量的差异,可将一天分成若干个时段,估计不同时段各个相位(包括四个方向直行、转弯)车流量。

思路:对于问题1,核心任务是根据车流量差异将一天分成若干时段,并估计每个时段的车流量。通过数据处理、时间序列分析和K-means聚类后,来实现时段划分和车流量的统计分析。

  1. 数据预处理:利用监控设备记录的车辆数据,可以根据拍摄时间对车流量进行时间段划分。将时间数据转换为datetime格式,提取出每个车辆通过交叉口的小时信息,方便后续按时间进行分段和统计。由于数据中只有一个方向(方向编号为4),此次分析仅对时间进行划分和车流量估计。
  2. 时段划分:首先通过对一天24小时车流量的时间序列绘制,直观展示车流量的变化趋势,识别可能的高峰期和低谷期。然后使用K-means聚类算法,自动根据车流量特征将一天的24小时划分为若干时间段。

3、相位车流量的估计:将每个小时的车流量与对应的时段(聚类结果)关联,计算每个时段内车流量的统计值(如平均值、最大值、最小值等)。

方法:(1)时间序列分析法

(2)K-means 聚类等数据分段方法

1、数据预处理

按照问题1的要求筛选出经中路-纬中路交叉路口的车流量,可以发现筛选出的449条车辆数据的方向全都是4,即由东向西(east-west),因此只用划分时间段进行分析即可。

2、时段划分

首先进行时间序列可视化,以查看车流量随时间变化的趋势。下图展示了经中路-纬中路交叉口每小时的车流量变化情况。从中可以看到一天中不同时间段的流量变化趋势。

接下来我们使用 K-means 聚类算法 对不同时间的车流量进行自动分段,以找到最佳的时段划分。K-means 将根据车流量的相似性来分段。

问题2分析:信号灯优化配置

问题2: 根据所给数据和上述模型,对经中路和纬中路上所有交叉口的信号灯进行优化配置,在保证车辆通行的前提下,使得两条主路上的车流平均速度最大。

思路1:根据数据,将这些原始数据根据交叉口、方向等进行分析,使用流量比例法,即根据每个方向的车流量占比来分配信号灯的绿灯时长。

  1. 按方向统计车流量:先统计每个交叉口每个方向的车流量。
  2. 计算每个方向的流量占比:根据每个方向的车流量占总车流量的比例,来分配绿灯时长。
  3. 分配信号灯时间:根据流量占比,合理分配信号灯的绿灯时长。

思路2:根据数据,将这些原始数据根据交叉口、方向等进行分析,并根据车流量信息应用Webster公式进行信号灯优化配置。

1、计算流量比

 : 根据每个方向的车流量计算流量比。流量比的公式是

 车流量

2、使用Webster公式计算最优信号周期

 。

3、分配每个方向的绿灯时长:根据每个方向的车流量占比来分配绿灯时长。

Webster公式:

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是 circle loss 和 focal loss 的简单实现(包括二分类和多分类): Circle Loss: ```python import torch import torch.nn as nn import torch.nn.functional as F class CircleLoss(nn.Module): def __init__(self, m=0.25, s=30): super(CircleLoss, self).__init__() self.m = m self.s = s def forward(self, feats, labels): sim_mat = torch.matmul(feats, feats.t()) mask = labels.expand(labels.size(0), labels.size(0)).t().eq(labels.expand(labels.size(0), labels.size(0))) pos_mask = mask.triu(diagonal=1) neg_mask = mask.logical_not().triu(diagonal=1) pos_sim = sim_mat[pos_mask] neg_sim = sim_mat[neg_mask] alpha_p = F.relu(-pos_sim.detach() + 1 + self.m) alpha_n = F.relu(neg_sim.detach() + self.m) delta_p = 1 - self.m delta_n = self.m logit_p = -self.s * alpha_p * (pos_sim - delta_p) logit_n = self.s * alpha_n * (neg_sim - delta_n) logit = torch.cat([logit_p, logit_n], dim=0) loss = F.softplus(torch.logsumexp(logit, dim=0)) return loss ``` Focal Loss: ```python import torch import torch.nn as nn import torch.nn.functional as F class FocalLoss(nn.Module): def __init__(self, alpha=0.25, gamma=2, reduction='mean'): super(FocalLoss, self).__init__() self.alpha = alpha self.gamma = gamma self.reduction = reduction def forward(self, inputs, targets): BCE_loss = F.binary_cross_entropy_with_logits(inputs, targets, reduction='none') pt = torch.exp(-BCE_loss) F_loss = self.alpha * (1-pt)**self.gamma * BCE_loss if self.reduction == 'mean': return torch.mean(F_loss) elif self.reduction == 'sum': return torch.sum(F_loss) else: return F_loss ``` 以上代码适用于 PyTorch 深度学习框架。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值