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

相关文章

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Spring Security 前后端分离场景下的会话并发管理

《SpringSecurity前后端分离场景下的会话并发管理》本文介绍了在前后端分离架构下实现SpringSecurity会话并发管理的问题,传统Web开发中只需简单配置sessionManage... 目录背景分析传统 web 开发中的 sessionManagement 入口ConcurrentSess

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路