运用泊松分布与正态分布模拟订单评审的工作量

CMO-首席物料官

管理 经济 数据 数据分析师 R语言
程晓华(JohnCheng),山东平度人,全面库存管理(TIM)咨询独立顾问,《制造业库存控制技术与策略(ITO)》课程创始人、讲师,1995年开始接触MRP,在Daewoo、IBM、Flextronics、Accenture等世界500强企业从事供应链管理工作多年;个人专著:《制造业库存控制技巧》、《决战库存》、《制造业全面库存管理》、《全面库存管理数学分析》等,个人邮箱johnchengbj@126.com,订阅号:ITOOTD

程晓华

2025-6-21

我在我的书《全面库存管理数学分析》第一版里面提到一个用泊松分布模拟需求计划员做订单评审的工作量的例子,后来我修改第二版的时候就把这个例子给删掉了,原因是我感觉这个例子用Excel弄得太啰嗦。第二版的书稿已经在本月初交给出版社的老师开始编辑了,也不能再做太大的修改了,但我总觉得这个例子丢掉了有点可惜,毕竟,订单评审作为供应链需求管理的一个非常重要的环节,与它有关的很多东西都是值得研究的。

booktimmath_v2.png

想来想去,我觉得用R语言的相关分布函数做这个事情可能更好一些。

关于这泊松分布和正态分布定义、公式,大家可以百度或Deepseek,我们在这里只是通俗地解释它们的意思:

泊松分布是一种离散分布,它通常被用来刻画单位时间内发生的稀有时间,譬如:单位时间内到达收费站的车辆数,某公司单位时间内收到的客户投诉次数,我们的需求计划员单位时间内收到的客户订单个数等等。

正态分布可能是所有分布中最著名的也是最常见的分布,学生的成绩、员工工资、身高、体重,以及不同的人干同一件事所需要的时间等,基本都属于正态分布。

我们现在假设某公司的某个需求计划员平均每小时接单0.5个,他完成每个订单的评审平均需要30分钟,标准差是5分钟。我们想知道该计划员未来一周(5天,每天8小时工作时间)每天用于订单评审的时间分布情况。

我们用rpois()模拟该计划员每小时接到的订单情况,用rnorm模拟他给每张订单做评审所花费的时间,整个过程及输出如下:

set.seed(100180)
#计划员每小时接单个数模拟
number_cpo_per_hour<-rpois(n=40,lambda=0.5)
print(number_cpo_per_hour)

## [1] 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 1 2 0 1 2 0 0 0 2 1 0 0 0 0 0 0 0 1 1 0 0 0
## [39] 1 1

#计算每天接单个数
number_cpo_per_day<-list(0)
n<-length(number_cpo_per_hour)/8
for (i in 1:n){
number_cpo_per_day[[i]]<-number_cpo_per_hour[(i+(i-1)*7):(i+i*7)]
}
names(number_cpo_per_day)<-paste0("Day",1:n)
print(number_cpo_per_day)

## $Day1
## [1] 0 0 1 0 0 1 1 0
##
## $Day2
## [1] 0 0 0 1 1 0 0 0
##
## $Day3
## [1] 1 2 0 1 2 0 0 0
##
## $Day4
## [1] 2 1 0 0 0 0 0 0
##
## $Day5
## [1] 0 1 1 0 0 0 1 1

total_orders_per_day<-as.numeric(lapply(number_cpo_per_day,sum))
names(total_orders_per_day)<-paste0("Day",1:n)
print(total_orders_per_day)

## Day1 Day2 Day3 Day4 Day5
## 3 2 6 3 4

#每张订单评审可能花费的时间
time_per_cpo<-rnorm(n=40,mean=30,sd=5)
print(time_per_cpo,digits=1)

## [1] 32 40 42 25 25 34 34 29 28 25 40 20 14 20 28 34 27 31 31 32 32 31 35 32 37
## [26] 26 27 35 23 20 22 34 28 34 32 31 32 38 29 29

time_distribution_per_day<-list(0)
for (j in 1:n){
time_distribution_per_day[[j]]<-sample(time_per_cpo,total_orders_per_day[j])
}
names(time_distribution_per_day)<-paste0("Day",1:n)
print(time_distribution_per_day,digits=1)

## $Day1
## [1] 34 27 34
##
## $Day2
## [1] 31 28
##
## $Day3
## [1] 29 14 32 31 32 42
##
## $Day4
## [1] 34 23 38
##
## $Day5
## [1] 32 25 29 31

为中国制造业之崛起而奋斗!供应链管理也能报国!

作者程晓华(John Cheng),全面库存管理(TIM)咨询独立顾问、制造业库存控制技术与策略课程创始人、讲师,《制造业库存控制技巧》《首席物料官》《决战库存》《制造业全面库存管理》《全面库存管理数学分析》著作者;1995年开始接触MRP,深耕制造业供应链管理近30年,一直聚焦于库存与交付问题的实践和咨询。

新书预告:《全面库存管理数学分析》第2版预计2025年底上市

全面库存管理(TIM)文章订阅号:ITOOTD

Mail: johnchengbj@126.com


15.2835 6 0 关注作者 收藏 2025-06-21   阅读量: 1856

评论(0)


暂无数据

博客推荐