当前位置: 首页 > news >正文

2023年高教社杯 国赛数学建模思路 - 案例:最短时间生产计划安排

文章目录

  • 0 赛题思路
  • 1 模型描述
  • 2 实例
    • 2.1 问题描述
    • 2.2 数学模型
      • 2.2.1 模型流程
          • 2.2.2 符号约定
          • 2.2.3 求解模型
    • 2.3 相关代码
    • 2.4 模型求解结果
  • 建模资料

0 赛题思路

(赛题出来以后第一时间在CSDN分享)

https://blog.csdn.net/dc_sinor?type=blog

最短时间生产计划模型

该模型出现在好几个竞赛赛题上,预测2023今年国赛也会与该模型相关。

1 模型描述

离散系统仿真在工业生产的工序安排中起到了相当重要的作用,如何就一些内部机制复杂的离散问题建立简单易行、可监测性强的数学模型一直是仿真技术的研究热点.

离散事件系统现有三种仿真建模策略,即:

  • 事件调度法
  • 活动扫描法
  • 进程交互法.

该模型demo学长采用了其中的活动扫描法对生产中的一个实际例子进行了处理.

活动扫描法对于各事件之间相关性很强的系统有着很好的适用性.

2 实例

2.1 问题描述

在许多工厂生产过程中,由于设备的数量、产品加工的次序限制,往往不能简单地安排生产任务.我们设想,应用强大的数学软件配合简单易行的方法进行安排.

设某重型机械厂产品都是单件性的,其中有一车间共有4种不同设备,现接受6件产品的加工任务,每件产品接受的程序在指定的设备上加工,其工序与加工周期如下表

在这里插入图片描述
现在我们根据这一实际问题,寻求安排的方法.

要求:

1、每件产品必须按规定的工序加工,不得颠倒.

2、每台设备在同一时间只能担任一项任务(每件产品的每个工序为一个任务).

3、在尽可能短的时间里,完成所接受的全部任务.

为了节省电能,合理分配生产任务,厂方还要求:

1、做出每件产品的每个工序开工、完工时间表.

2、给出每台设备承担任务的时间表.

2.2 数学模型

2.2.1 模型流程

在这里插入图片描述

2.2.2 符号约定

在这里插入图片描述

2.2.3 求解模型

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

2.3 相关代码

clear
clc
seq=[3 1 2 3 4 0 0 0                     %各产品加工时所用的设备的次序1 4 2 3 0 0 0 03 4 1 2 1 0 0 02 3 4 1 4 3 0 04 2 3 4 1 3 4 01 2 1 3 4 1 3 1];tim=[8 2 4 24 6 0 0 0                   %加工对应使用的时间4 5 3 4 0 0 0 03 7 15 20 8 0 0 07 6 21 1 16 3 0 010 4 8 4 12 6 1 01 4 7 3 5 2 5 8];
whole=[0 0 0 0];
for i=1:6for j=1:8if(seq(i,j)~=0)whole(seq(i,j))=whole(seq(i,j))+tim(i,j);endend
end
whole                          %生产各件产品所需的总时间mes=cell(4,1);                   %记录各个设备的工作时间(对应于上面tim的位置)
for k=1:4mes{k,1}=zeros(6,8);for j=1:8for i=1:6if(seq(i,j)==k)mes{k,1}(i,j)=tim(i,j);elsemes{k,1}(i,j)=100;endendend
endturn=cell(5,100);               %记录四个设备的开关时间及加工对象(on(i)for i=1:4for j=1:100turn{i,j}='off';end
end
for i=1:100turn{5,i}=[num2str(i) '分'];
endopen=zeros(6,8);           
%记录6个产品的加工进度,0表示未进行,1表示已开始(或已结束),2表示可选,3表示没有这个程序
for i=1:6open(i,1)=2;
end
for i=1:6for j=1:8if seq(i,j)==0open(i,j)=3;endend
endgongxu=zeros(6,1);
dai=zeros(4,1);
j=1;
s=[1	1	1	1	1	3	3	3
1	1	1	1	3	3	3	3
1	1	1	1	1	3	3	3
1	1	1	1	1	1	3	3
1	1	1	1	1	1	1	3
1	1	1	1	1	1	1	1];
while isequal(open,s)==0on=[];for i=1:4if turn{i,j}=='off'  
%在turn矩阵中逐列搜索,若设备处于关机状态,则作记录(可用)on=[on i];endendl1=length(on);for m=1:l1          %在整个生产计划中(对设备逐个)寻找能够选作操作的步骤[x,y]=find(open==2);l2=length(x);a=[x(1) y(1)];for k=1:l2   %对某个设备on(m),找出当前它能操作的步骤中耗时最小的一个if mes{on(m)}(a(1),a(2))>mes{on(m)}(x(k),y(k))a=[x(k) y(k)];endendif turn{on(m),j}=='off' & mes{on(m)}(a(1),a(2))~=100 
%若时间为100则意味着这个步骤不属于我们希望使用的那件设备while tim(a(1),a(2))>0turn{on(m),tim(a(1),a(2))+j-1}=a(1);tim(a(1),a(2))=tim(a(1),a(2))-1;endendendfor i=1:4if turn{i,j}~='off'dai(i)=turn{i,j};endendfor i=1:4if turn{i,j}~='off' & turn{i,j+1}=='off'gongxu(turn{i,j})=gongxu(turn{i,j})+1;open(turn{i,j},gongxu(turn{i,j}))=1;endif gongxu(dai(i))<8 & open(dai(i),gongxu(dai(i))+1)~=3 & turn{i,j+1}=='off'open(dai(i),gongxu(dai(i))+1)=2;endendj=j+1;
end

2.4 模型求解结果

每件产品的每个工序开工、完工时间表

在这里插入图片描述
每台设备承担任务的时间表

在这里插入图片描述
从结果中我们可以看到,使用这种方法,只需78个单位时间就可以完成所有的工序.而我们同时也可以在论文的开始部分看到,单就完成 就需耗费75个单位时间.可见这种方法得出的结果还是相当使人满意的,而且操作简单,可监测性强.

建模资料

资料分享: 最强建模资料
在这里插入图片描述
在这里插入图片描述

相关文章:

2023年高教社杯 国赛数学建模思路 - 案例:最短时间生产计划安排

文章目录 0 赛题思路1 模型描述2 实例2.1 问题描述2.2 数学模型2.2.1 模型流程2.2.2 符号约定2.2.3 求解模型 2.3 相关代码2.4 模型求解结果 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 最短时…...

Spring MVC介绍

MVC模式是什么 MVC 模式&#xff0c;全称为 Model-View-Controller&#xff08;模型-视图-控制器&#xff09;模式&#xff0c;它是一种软件架构模式&#xff0c;其目标是将软件的用户界面&#xff08;即前台页面&#xff09;和业务逻辑分离&#xff0c;使代码具有更高的可扩展…...

5年测试在职经验之谈:2年功能测试、3年自动化测试,从入门到不可自拔...

毕业3年了&#xff0c;学的是环境工程专业&#xff0c;毕业后零基础转行做软件测试。 已近从事测试行业8年了&#xff0c;自己也从事过2年的手工测试&#xff0c;从事期间越来越觉得如果一直在手工测试的道路上前进&#xff0c;并不会有很大的发展&#xff0c;所以通过自己的努…...

【Python数据分析】数据分析之numpy基础

实验环境&#xff1a;建立在Python3的基础之上 numpy提供了一种数据类型&#xff0c;提供了数据分析的运算基础&#xff0c;安装方式 pip install numpy导入numpy到python项目 import numpy as np本文以案例的方式展示numpy的基本语法&#xff0c;没有介绍语法的细枝末节&am…...

Swift 如何从图片数据(Data)检测原图片类型?

功能需求 如果我们之前把图片对应的数据(Data)保持在内存或数据库中,那么怎么从 Data 对象检测出原来图片的类型呢? 如上图所示:我们将 11 张不同类型的图片转换为 Data 数据,然后从 Data 对象正确检测出了原图片类型。 目前,我们的代码可以检测出 jpeg(jpg), tiff,…...

【ES6】 JavaScript 中的Object.assign

Object.assign() 是 JavaScript 中的一个方法&#xff0c;它用于复制源对象的所有可枚举属性到目标对象。该方法会返回目标对象。 这是其基本用法&#xff1a; let target Object.assign({}, source);在这个例子中&#xff0c;source 对象的所有可枚举属性都被复制到了 targ…...

Redis缓存和持久化

目录 Redis缓存 什么是缓存 缓存更新策略​编辑 业务场景 缓存穿透 常见的解决方案 缓存雪崩 解决方案 缓存击穿 解决方案 Redis持久化 RDB持久化 执行时机 RDB方式bgsave的基本流程 AOF持久化 RDB和AOF的对比​编辑 Redis主从 数据同步原理 总结 Redis缓存 …...

OpenCV(六):多通道分离与合并

目录 1.多通道分离split() 2.多通道合并merge() 3.Android JNI demo 1.多通道分离split() void cv::split ( InputArray m, OutputArrayOfArrays mv &#xff09; m:待分离的多通道图像。 mv:分离后的单通道图像&#xff0c;为向量vector形式。 2.多通道合并merge…...

Sql单行数据查询为多行

数据量小可以&#xff0c;数据量大时间太久 select distinct regexp_substr("fixed_option", [^,],1,level) c1 from "MATERIAL"."BasicInfo_Dishes_Summary" A where "fixed_option" is not NULL AND "dish_name"地三鲜…...

网络协议分析-http/https/tcp/udp

文章目录 TCP三次握手/TCP三次挥手TCP三次握手TCP四次挥手完整报文 实例代码HttpSampleClientHttpSampleServerHttpsSampleClientHttpsSampleServerTcpSampleClientTcpSampleServerUdpSampleClientUdpSampleSever 资料 TCP三次握手/TCP三次挥手 “三次握手”的目的是“为了防止…...

基于aarch64分析kernel源码 四:printk 内核打印

一、参考 Message logging with printk — The Linux Kernel documentation 如何获得正确的printk格式占位符 — The Linux Kernel documentation 使用printk记录消息 — The Linux Kernel documentation printk 内核打印 – 人人都懂物联网 (getiot.tech) 内核printk原理…...

机器人中的数值优化(六)—— 线搜索最速下降法

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考&#xff0c;主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等&#xff0c;本系列文章篇数较多&#xff0c;不定期更新&#xff0c;上半部分介绍无约束优化&#xff0c;…...

postman调试注意事项

Postman是一个强大的API调试工具&#xff0c;它可以帮助开发人员测试和调试API端点&#xff0c;以确保它们按预期工作。在使用Postman进行接口调试时&#xff0c;以下是一些注意事项和可能出现的问题&#xff0c;以及如何解决这些问题。 确保请求参数正确 在测试API接口时&am…...

【C#】泛型

【C#】泛型 泛型是什么 泛型是将类型作为参数传递给类、结构、接口和方法&#xff0c;这些参数相当于类型占位符。当我们定义类或方法时使用占位符代替变量类型&#xff0c;真正使用时再具体指定数据类型&#xff0c;以此来达到代码重用目的。 泛型特点 提高代码重用性一定…...

CLIP:连接文本-图像

Contrastive Language-Image Pre-Training CLIP的主要目标是通过对比学习&#xff0c;学习匹配图像和文本。CLIP最主要的作用&#xff1a;可以将文本和图像表征映射到同一个表示空间 这是通过训练模型来预测哪个图像属于给定的文本&#xff0c;反之亦然。在训练过程中&#…...

MFC网络编程简单例程

目录 一、关于网络的部分概念1 URL(网址)及URL的解析2 URL的解析3 域名及域名解析3 IP及子网掩码4 什么是Web服务器5 HTTP的基本概念6 Socket库概念7 协议栈8 Socket库收发数据基本步骤 二、基于TCP的网络应用程序三、基于UDP的网络应用程序 一、关于网络的部分概念 1 URL(网址…...

云原生简介 (Cloud Native)

云原生&#xff08;cloud Native&#xff09; 云原生的概念诞生于10年前&#xff0c;netflix 在 AWS 上的一次演讲中。有趣的是当初没有明确的定义&#xff0c;现在也没有明确的定义&#xff0c;对不同的人来说&#xff0c;有不同的概念。 概念 云原生&#xff1a;是在云上构…...

【SpringBoot系列】 测试框架之@SpringBootTest的使用

SpringBootTest的详细介绍 SpringBootTest 是 Spring Boot 测试框架中的注解&#xff0c;用于标识一个测试类&#xff0c;以指示该类是一个 Spring Boot 应用程序的测试类。它允许你在测试环境中加载整个 Spring Boot 应用程序上下文&#xff0c;测试应用程序的各种组件、服务…...

【数据结构与算法篇】手撕八大排序算法之交换排序

​&#x1f47b;内容专栏&#xff1a; 《数据结构与算法篇》 &#x1f428;本文概括&#xff1a;常见交换排序包括冒泡排序与快速排序&#xff0c;本篇讲述冒泡排序与快速排序的思想及实现、复杂度分析。 &#x1f43c;本文作者&#xff1a; 花 蝶 &#x1f438;发布时间&#…...

ArcGIS Pro实践技术应用、制图、空间分析、影像分析、三维建模、空间统计分析与建模、python融合

GIS是利用电子计算机及其外部设备&#xff0c;采集、存储、分析和描述整个或部分地球表面与空间信息系统。简单地讲&#xff0c;它是在一定的地域内&#xff0c;将地理空间信息和 一些与该地域地理信息相关的属性信息结合起来&#xff0c;达到对地理和属性信息的综合管理。GIS的…...

银行业务AI虚构小故事合集:借故事理解业务(企业贷款、个人信用卡、反洗钱)

银行业务AI虚构小故事合集 继续用之前讲业务故事的方式来讲银行业务和表的关联&#xff0c;那种方式比较容易听懂。 故事&#xff1a;一家小工厂来借钱 第一幕&#xff1a;企业来了&#xff0c;要借钱 杭州有一家做零件的小工厂&#xff0c;老板叫老张。工厂想买一台新机器&am…...

当大模型遇见嵌入式MCU:RISC-V+TinyML+Agent状态机的超低功耗智能体设计(STM32H7实测待机功耗仅2.1mW)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;AI Agent边缘计算应用 AI Agent在边缘计算场景中正从“云端智能”转向“端侧自治”&#xff0c;通过轻量化模型、实时推理与本地决策能力&#xff0c;显著降低延迟、带宽依赖与数据隐私风险。典型应用包括工业…...

22. 与 React 集成

22. 与 React 集成 1. 概述 TypeScript 与 React 的集成是现代前端开发的标准实践。TypeScript 为 React 组件提供了类型安全&#xff0c;帮助在编译时发现错误&#xff0c;提升开发体验和代码质量。 ┌───────────────────────────────────…...

数据网格(Data Mesh):下一代数据架构的核心思想与实践

在数字化转型的浪潮中&#xff0c;数据已成为企业最核心的资产。然而&#xff0c;传统的数据架构&#xff0c;如集中式数据湖和数据仓库&#xff0c;正面临着前所未有的挑战&#xff1a;数据孤岛林立、数据质量参差不齐、业务响应缓慢、维护成本高昂。这些问题严重制约了企业数…...

忆往游戏平台官网:正版怀旧手游官方下载与资讯中心

忆往游戏平台&#xff08;又称 “忆往怀旧手游”&#xff09;是安徽游昕网络科技有限公司官方认证的正版怀旧手游聚合平台&#xff0c;专注经典端游 IP 正版复刻与发行&#xff0c;主打 “零魔改、纯复古、散人友好”&#xff0c;为 80、90 后玩家提供安全、纯净、高还原的怀旧…...

让薪酬跟着人才走:国企核心人才激励保留的五个管理命题

当前&#xff0c;国有企业三项制度改革已进入攻坚深化期。劳动合同签订率、岗位说明书覆盖率、绩效考核实施率等量化指标普遍处于高位&#xff0c;制度框架的“四梁八柱”已基本确立。但在改革向纵深推进过程中&#xff0c;核心人才流失问题却时有发生。据调研反映&#xff0c;…...

免费AI搜索工具怎么选?2026年实测TOP8工具性能、响应速度与隐私合规性深度评测

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;免费AI搜索工具推荐2026 2026年&#xff0c;开源与社区驱动的AI搜索工具生态迎来爆发式增长。得益于大语言模型轻量化部署、RAG&#xff08;检索增强生成&#xff09;架构普及以及WebAssembly在浏览器端的成熟…...

Hermes Agent项目如何接入Taotoken作为自定义模型提供商

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Hermes Agent项目如何接入Taotoken作为自定义模型提供商 Hermes Agent 是一个功能强大的 AI 代理框架&#xff0c;它支持通过自定义…...

开源游戏加速神器OpenSpeedy:突破帧率限制的终极解决方案

开源游戏加速神器OpenSpeedy&#xff1a;突破帧率限制的终极解决方案 【免费下载链接】OpenSpeedy &#x1f3ae; An open-source game speed modifier. 项目地址: https://gitcode.com/gh_mirrors/op/OpenSpeedy OpenSpeedy是一款专为单机游戏玩家设计的开源游戏加速工…...

AI Agent如何在毫秒级边缘设备上自主决策?揭秘轻量化推理框架与动态资源调度的7个关键技术突破

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;AI Agent边缘计算应用的范式演进 随着终端设备算力持续增强与轻量化模型技术日趋成熟&#xff0c;AI Agent不再仅依赖云端协同执行决策任务&#xff0c;而是逐步下沉至网络边缘&#xff0c;形成具备感知、推理…...