制造业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

相关文章

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

Go语言利用泛型封装常见的Map操作

《Go语言利用泛型封装常见的Map操作》Go语言在1.18版本中引入了泛型,这是Go语言发展的一个重要里程碑,它极大地增强了语言的表达能力和灵活性,本文将通过泛型实现封装常见的Map操作,感... 目录什么是泛型泛型解决了什么问题Go泛型基于泛型的常见Map操作代码合集总结什么是泛型泛型是一种编程范式,允

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

基于Go语言实现一个压测工具

《基于Go语言实现一个压测工具》这篇文章主要为大家详细介绍了基于Go语言实现一个简单的压测工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录整体架构通用数据处理模块Http请求响应数据处理Curl参数解析处理客户端模块Http客户端处理Grpc客户端处理Websocket客户端