FlexSim里面的队列策略要怎么去设,队列里头的东西堆积得太多了又该怎么去优化,这些事,不能光是去看Queue里面到底堆了多少个实体,还得去弄明白,这些实体它到底是因为什么才进来的,又是为什么出不去,排在后面的那些资源是不是正忙着,运输的设备是不是也跟不上。Queue这个对象它自己,是可以去设置最大的那个容量,还有东西在里面是怎么摆放的,那个最大的容量,会把队列在同一个时间能够装下的流动实体的数量给限制住。
一、FlexSim队列策略怎么设置
在动手去设置队列的策略以前,是要先把这个队列,它到底是拿来当临时的缓存、工序前头的缓冲、分拣用的等待区,还是运输任务的那种等待区,给弄清楚的。队列的用途不一样,它用先进先出、优先级、批量放行,还有按条件放行这些方式的设置,也都是不一样的。
1、先要去把队列的作用给确认下来
队列这个东西,要是就只是为了把前后的工序给它连起来,那就可以照着普通的缓冲区去处理;可要是想用它来模拟订单的优先级、物料的批次,或者是那些紧急的工件,那就不能光按着进来的那个顺序去放行了。在建模的那个时候,要先把队列的业务规则给它写明白了,就比如说,它是不是允许插队,是不是要按着产品的类型去分流,是不是要等东西攒够了一批然后再往外出。
2、去把容量还有摆放给设置好
在【Queue】这个属性里面,去检查一下Maximum Content,还有Item Placement这两项。Maximum Content这个东西,是用来限制队列的容量的,Item Placement呢,就是拿来管实体在这个队列里面,是怎么个摆放的方式。容量这个数,别随随便便就给它设得特别大,不然的话,模型看着好像是能跑起来,可实际上它会把真实存在的那种瓶颈给盖住了;反过来容量要是设得太小了,又可能会弄得前面的工序老是堵在那里,最后就把产能给估低了。
3、把输出的规则给它设好
在一般普通的那种场景下面,是可以照着先进先出这个规则去输出的;可要是排在后面的那些设备,它只接收某一种类的产品,那就要结合着标签、端口的条件,或者是列表的查询,去把放行这件事给管起来。遇到那种好几个队列要一块儿用一台设备的情况,是能够把实体给推到列表里面去的,然后再让设备照着查询的条件去把它给拉出来,就比如说,是按着类型、优先级,或者是等的时间长短去排个序。FlexSim的列表查询,是能用那种跟按字段去筛选,还有按等待的时间去排序差不多的法子,去把实体给挑出来的。
二、FlexSim队列堆积过多怎么优化
一看见队列里面的东西堆得多了,头一个反应可别就是去把那个容量给扩大。把容量弄大了,只能是让东西先暂时有个地方搁着,可不代表说整个系统的效率就变高了。真该去瞧的,是进到入口的流量、处理的能力、运输的节拍,还有下游是不是给堵住了。
1、先去摸清楚瓶颈到底在哪个位置上
要是排在队列前面的那个设备,一直在那儿不停地往外头送东西,可排在后面的设备,又老是忙个不停,那这个瓶颈,十有八九就是出在后面加工,或者是运输的那个环节上了;要是排在后面的设备明明空着没啥事,可队列里的东西还是堆在那儿不走,那就要去瞧一瞧端口的连接、拉取的规则、运输的任务,或者是那些条件判断,是不是给写岔了。用Dashboard这个仪表板去观察一下队列里头存了多少东西、待了多长时间、吞吐量是多少,还有后面设备的利用率,这个法子,比光盯着动画看是要靠谱得多的。
2、去把节拍和资源给它调整一下
要是队列里面的东西,在那儿一个劲儿地往上涨,那就说明白输入的节拍是要比输出的节拍大的。碰到这种情况,是能够通过去增加处理用的设备、把加工的时间给它缩短、多加点操作员或者是运输的车子、再调整一下班次和批量的规则这些办法去对付的。要是不过就是偶然碰上的一个高峰,那就能留上一点缓冲的量;可要是那种长期一直都在堆积的情况,就得从产能怎么去平衡这上头来想法子解决了。
3、把分流和优先级给它优化一下
不一样的产品,全都混在一个队列里面,这是很容易搞出来,前面那些优先级低的物料,把后头紧急的工件给堵在那儿出不去的情况的。是可以按着产品的类型,去给它多设上几个队列,或者是拿标签和查询的规则,让排在后头的资源先紧着那些关键的订单去拉。这样弄下来,倒是不一定能减掉总的那个等待的数量,但是,能把那些关键订单的等待时间给往好里改善一下。
三、队列优化后怎么验证效果
队列优化完了以后,可不能光觉着动画瞅着变顺溜了就算完事了,还得拿那些结果的指标去判断才行。特别是在那些生产线、仓储,还有物流的模型里面,队列的变化,是会连带着影响到产能、等待的时间、设备的利用率,还有在制品的数量的。
1、去把关键的那些指标给对比一下
优化之前跟优化之后,是要去比一比平均队列有多长、最大的队列长度、平均每件东西等了多久、总的吞吐量、资源用到了什么份上,还有被堵住的时间这些的。要是队列倒是变短了,可是设备的利用率却掉下来一大截,那这个可能只是把输入给限制住了,并不是真的把系统的能力给提上去了。
2、去查一查那个容量限制带来的影响
在队列达到了它那个Maximum Content之后,排在它前面的对象,就有可能会被堵住了。碰到模型突然之间停住,或者流动起来不顺当的时候,就得去查查看,是不是所有能选的队列,全都已经给装满了。在那些任务逻辑里面,也是常常会用到,那种“等着某个队列有地方了再说”的法子,去处理容量满了以后该怎么流转的问题。
3、多做几个方案的对比
是能够分别去测一测不同的容量、不一样的优先级、不一样数量的设备,还有不同数量的运输车子的。别光只跑了一回的结果,就赶紧下结论,最好的法子是固定下来那个随机的种子,或者是多做上几次重复的实验,去瞧瞧得出来的结论它是不是稳定的。
总结
FlexSim的队列策略要怎么去设置,队列里面东西堆得太多了又要怎么去优化,是可以照着“头一步先弄明白这个队列是拿来干什么用的,接着再去把容量、摆放还有输出的规则给设好,末了再通过等待的时间、吞吐量,还有设备的利用率去验证一下”这么个思路去弄的。队列里东西堆得多,它可不一定是靠着把容量扩大就能解决的,更常见的一些个原因,是排在后面的产能跟不上、运东西的资源不够、分流的规则不大合理,或者是优先级的设置没弄明白。得把队列的规则和整个系统的瓶颈,搁在一块儿去琢磨,这样子得出来的优化结果,才会更贴近平常真实里头,那种生产或者是物流的场景。
