制造业SAPR语言数据挖掘之备件物料货架管理

2023-10-25 11:40

本文主要是介绍制造业SAPR语言数据挖掘之备件物料货架管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我所在的铅酸企业设备种类多,有国外的国内的,有新设备有老设备;总之设备管理是比较头疼的问题,这也是所有制造业的通病。 设备管理中五金备件的管理也是很重要的一块,其涉及到维修保养的及时性、实物管理、成本积压等方面,如何通过数据挖掘改善五金备件的管理是本文主题。

经过与仓管员的访谈发现,五金备件管理中存在如下问题:五金库房很大,车间工人来领备件的时候要找很久(最久的要找半个小时)

解决此问题有两个方面:

一、精确的货架管理:将每一个五金物料号与其货架号收集起来,导入MES系统中

二、根据SAP的领用记录,分析货架上的五金备件的关联规则(即每次领用A物料的同时也会领用B物料),参考“啤酒和尿布”案例,合理布局货架位置

 

实施步骤一

1、我和仓管员用了十天时间,将所有在货架上的物料卡片信息和货架信息抄下来并记录成EXCEL,一共970条

2、将清单导入MES系统

改进点:

仓管员或领料员先在MES系统里查询物料的货架位置,再直接去相应位置取得实物,可以节约很多时间

 

实施步骤二

1、将清单中970个物料号对应的领料记录导出来(SAP系统)

2、将EXCEL处理成TXT文本格式

3、通过R语言apriori算法,生成关联规则

R代码如下:

library(Matrix)
library(arules)
setwd('E:/')
Trans <- read.transactions(file ="./123.txt" ,format="basket",sep=",",encoding = "UTF-8") #从EXCEL转成TXT之前,把表里的特殊符号全删掉;导出TXT之后另存为UTF-8
str(Trans)
rules <- apriori(data=Trans,parameter=list(support =0.002,confidence =0.2,minlen =4,target="rules"))
inspect(rules)

生成规则如下:

4、生成频繁项集

R代码如下:

library(arules)
library(Matrix)
setwd('E:/')
Trans <- read.transactions(file ="./五金对应领料单.txt" ,format="single",header=TRUE,cols=c("TID","ITEMS"),sep="",encoding = "UTF-8") #从EXCEL转成TXT之前,把表里的特殊符号全删掉;导出TXT之后另存为UTF-8
str(Trans)
rules <- apriori(data=Trans,parameter=list(support =0.005,confidence =0.1,minlen =1,target="frequent itemsets"))
inspect(rules)

R分析结果如下: 

 

5、将步骤4、5综合起来,得到一张表:常用的领料清单以及与之相关性很高的物料的货架位置

其中,螺钉热电偶和镜反射光电两行记录放在一起是根据步骤3得到的结论,因为根据以往的领料记录发现的关联规则中,机修工领用热电偶会同时再领用反射光电。这样的话可以方便机修工快速领取他所需的备件

 

 

最后可以将这张表打印出来,贴在五金仓库入口的看板上,方便工人查询

 

6、未采纳的建议: 根据步骤5的清单将五金仓库的货架位置换一下。比如活动扳手在24#货架,可以把它放到靠近门口的1#货架。 此建议如果实施的话需考虑综合因素,会比较麻烦,因此仓管员暂未采纳。

 

改进点: 将关联规则强的物料记录放在一起,方便工人查询从而节约取得实物的时间

 

总结: 此案例中生成的关联规则其实不多,是因为备件的总数实在太多,工人来领用备件的情况千差万别,设备故障的类型也大不相同,想从大量的离散的数据中找到能够重复出现的情况很少;但是案例中将MES和数据挖掘技术相结合,解决领用五金备件费时间的问题是一个数字化转型可行的方向

这篇关于制造业SAPR语言数据挖掘之备件物料货架管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

如何确定 Go 语言中 HTTP 连接池的最佳参数?

确定 Go 语言中 HTTP 连接池的最佳参数可以通过以下几种方式: 一、分析应用场景和需求 并发请求量: 确定应用程序在特定时间段内可能同时发起的 HTTP 请求数量。如果并发请求量很高,需要设置较大的连接池参数以满足需求。例如,对于一个高并发的 Web 服务,可能同时有数百个请求在处理,此时需要较大的连接池大小。可以通过压力测试工具模拟高并发场景,观察系统在不同并发请求下的性能表现,从而

C语言:柔性数组

数组定义 柔性数组 err int arr[0] = {0}; // ERROR 柔性数组 // 常见struct Test{int len;char arr[1024];} // 柔性数组struct Test{int len;char arr[0];}struct Test *t;t = malloc(sizeof(Test) + 11);strcpy(t->arr,