arena中decide模块(arena中decide模块都是什么意思)

http://www.itjxue.com  2023-01-26 21:49  来源:未知  点击次数: 

arena人员安排判定模块怎么添加

arena人员安排判定模块通过启用Arena分配添加。

arena人员安排判定模块在.proto文件中启用Arena分配会在生成的C++代码中添加处理Arena分配的额外代码进行添加。

内存划分arena即为所谓的堆区,应用中需要的内存从这里分配。

arena怎么链接两个模块

只需要打开了另外一个模块之后,不要把模块退出,继续打开第二个模块就行了,arcgis脚本编辑,行列号对于我们编写脚本来说,是很重要的。 要在编辑器中调出行列号,首先,打开脚本工具。 然后,编辑脚本。

2.

在窗口上找到工具栏。 在工具栏中选择格式,将自动换行取消打勾。

3.

然后,在查看工具栏中勾选状态栏。

4.

最后,在窗口的右下角就能看到我们编写代码的行列号了。

arena怎么随机选择排队人数最少的路

Arena仿真作业

一、问题介绍

位于沈阳的某大学的超市在晚上5点到7点处于高峰期,一些同学会来超市购买日用品,也有一些学生去自助贩卖机购买热咖啡或饮料,而该超市的关东煮比较火爆,关东煮需要煮一段时间才能食用,因此关东煮队伍总是比较长,在选择了商品后,在结算柜台统一结算,这两个柜台距离较近(因为方便学生出门就直接将食物带走了)。

1.1 模型假设

人物假设

员工在该工作时间内一直工作

每名员工只为一名同学服务

同学进入超市分为两种情况,一人和两人一起进入超市,设置Batch_Size来处理这两种情况。

每名同学进入超市都会进行消费

顾客完成后自动离开系统

时间假设

关东煮和结算柜台相邻,忽略关东煮柜台到缴费柜台的时间

自助柜台较多,且购买热咖啡时间很短,故不会出现排队现象

1.2 优化目标

同学在缴费时的排队时间

同学在关东煮的排队时间

不同工作人员的利用情况(关东煮工作人员和收银员)

1.3 约束条件

价格成本,我们希望尽可能少的工作人员来保证相对的人员利用率

二、模块设计

2.1 Create模块

?

?

?

其中,student arrival分布为正太分布,而Batch_Size为泊松分布,其图像为

x1=0:1:50

x2=0:1:50

p1=poisspdf(x1,0.75)

p2=poisspdf(x2,1)

plot(x1,p1,'r')

hold on

plot(x2,p2,'b')

legend('1','2')

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

?

2.2 Decide模块

?

其中,它们的选择概率分别设置为79 % 79\%79%,35 % 35\%35%和10 % 10\%10%。

?

2.3 Assign模块

购买日用品

假设服从(4,16,24)的三角分布,并且乘以系数Batch_Size

?

购买咖啡

假设服从二项分布,而二项分布又可以近似成Beta分布(2 + 3 * BETA(0.532, 0.513)),并且乘以系数Batch_Size

?

购买关东煮

假设服从(4,6,9)的三角分布,并且乘以系数Batch_Size

?

2.4 Process模块

前三种Process类型均为Delay,在分配后进行延时也就表示用了多少时间,而最后一种类型为Value Added,其表达式为1.24 + 2.07 * BETA(1.29, 1.05),以便于可以累加它处理实体的各种成本或时间等。

购买日用品

?

购买咖啡

?

购买关东煮

?

收银台

?

2.5 Dispose模块

该模块为终点,起名字为Exit表示同学离开超市。

?

2.6 Entity

?

2.7 Resource

?

2.8 Variable

?

2.9 Queue

?

2.10 整体设计

?

三、仿真结果分析

我们设置Replication为10次,每天运行的时长为2 22小时。

?

3.1 初始情况

首先查看一下Entity,我们可以看到学生进入整个流程需要约20分钟的时间,而大部分(17分钟)都用来了排队。

?

然后分析Resource后可以得到这样一个信息,制作关东煮的里利用率仅有18 % 18\%18%,利用率较低。

?

而查看Queue也印证了这一结论,在收银台要等待约2分钟,而关东煮平均几乎不需要等待时间(下图分别为Republication 1和Republication 10的结果)

?

因此我们考虑一种改进方法,可不可以让关东煮的服务人员在不忙的时候来帮忙结算呢?(在假设中关东煮和结算位置相邻)

如果想提高利用率,如何设置关东煮服务人员的人数和收银员的人数呢?

3.2 改进方法–一个服务员干两种任务

首先考虑一个最基本的情况,这一个关东煮的服务人员在不忙的时候来帮忙结算如图所示。

?

那么运行后查看一下结果,首先查看一下Entity,我们可以看到学生进入整个流程需要约21分钟的时间,很显然,做关东煮的服务员在不忙的时候去干收银员的活了,学生等待时间就长了

?

?

然后分析Resource后可以得到这样一个信息,由于让这个关东煮人员多干活,制作关东煮服务员的里利用率有82 % 82\%82%,远超过之前18 % 18\%18%。

?

这说明了什么呢?让这个关东煮人员忙起来了,老板让员工多干活,实际上并没有带来更好的顾客体验。因此我们换一种思路去继续优化这个问题。

增加收银员和服务员的人数

那么我们尝试一下增加它们的人数,将收银员的人数范围设置为[ 1 , 5 ] [1,5][1,5],且服务员的人数设为[ 1 , 2 ] [1,2][1,2],目标函数仍为服务员的利用率,可以看出来一个服务员利用率就已经达到82 % 82\%82%,而显然减少收银员的人数会让更多的服务员空闲时候过来帮忙干活,因此利用率会显著降低。

?

如果我们换一种优化函数呢,将目标函数设置为关东煮和收银台排队的平均排队人数进行优化。可以看出来考虑到价格最少的情况,雇佣两个收银员和两个服务员就可以实现让平均排队人数为2 22左右,这样顾客的体验比较好。

?

3.3 改进方法–直接优化服务员和收银员的人数

直接雇佣更多的人而不是调用人员,会优化的更好,目标函数仍为关东煮和收银的平均等待人数。

?

?

可以看到,在设置4个收银员,2个服务人员时候的平均等待人数之和非常的小,远小于1个人。

而实际上还应该加一点点限制,即考虑成本因素。

那我们在优化函数里做一点限制,从经验上来看,关东煮不需要太多技术,且空闲时间比较多,因此我们给它的工资低一些,而收银员比较忙,我们给的工资高一些,转换为权重系数后分别为0.2和0.8。我们可以看到此时设置2个收银员,2个服务人员时候效果较好。

此时的目标函数为 N u m 平 均 关 东 煮 排 队 人 数 + N u m 平 均 收 银 台 排 队 人 数 + 0.8 ? N u m 收 银 员 + 0.2 ? N u m 服 务 员 Num_{平均关东煮排队人数}+Num_{平均收银台排队人数}+0.8*Num{收银员}+0.2*Num{服务员}Num

平均关东煮排队人数

+Num

平均收银台排队人数

+0.8?Num收银员+0.2?Num服务员

?

那么按照此设置运行后查看相关指标如下,学生的总时间由原来的21 s 21s21s平均减少到了17 s 17s17s,且结账排队时间也从原来的2 m i n 2min2min减少到1.37 m i n 1.37min1.37min,且结账的平均等待人数已经由1.32 1.321.32减少至0.39 0.390.39。尽管关东煮的平均等待人数从0.39 0.390.39增加到了1.95 1.951.95,但从某种角度说是一件好事,排队的人不多不少在2 22人左右可以吸引更多的学生来围观排队,从而让销量更多一些。

?

这样的限制设计不太合理,经过查阅后可以在Constrain处加约束条件。假设收银员的工资为2000元,服务员的工资为1500元,超市老板希望一个月最多花费7000元在雇佣员工上,为了使得客户的总等待时间最少,应该如何雇佣呢?

?

?

这样设计后清晰合理,可以看到设置2个收银员,2个服务人员时候效果较好,平均总等待人数为1人,客户体验非常好。

四、总结

本次作业搭建了超市中的排队模型,学生在超市中有三种行为,分为购买日用品、自助贩卖机、关东煮,而排队时间主要集中在等待关东煮和最后结账的过程,针对过程过长的问题,采取两种思路进行优化,分别为

方案一:服务员在空闲时帮忙结账提高服务员的利用率

方案二:增加服务员和收银员的人数来减少平均等待人数

最终发现,方案一可以提高服务员的利用率,让服务员忙起来,但并不能减少平均等待时间,而方案二可以适当增加关东煮的人数,在控制成本的情况下,显著减少了收银员的排队时间,尽管关东煮的排队人数适当增加,这会吸引更多的学生来排队,从某种角度上说也带来了一定的经济效益,此外,校园同学的购物体验好,也会吸引更多的同学来超市购买,而不是选择网购等待很久或者去外面购买日用品等,因此最终采用改进的方案二作为最终方案,此时雇佣2个收银员和2个服务人员。

(责任编辑:IT教学网)

更多

推荐时间特效文章