全球FlexSim系统仿真中文论坛

标题: 便利超商實例自製分享(歡迎討論) [打印本页]

作者: 空白的樂章    时间: 2016-6-11 16:11
标题: 便利超商實例自製分享(歡迎討論)
本帖最后由 空白的樂章 于 2016-6-11 16:25 编辑

這是依照我們學校校內便利商店的擺設配置。
[attach]3112[/attach]
@首先source的部分有設置
1.依照機率批量到達
2.依照機率產生購物清單
3.男女不同顏色表示:男綠色女粉紅

@queue的部分則設置如何分配到不同走道(下一個貨架目標)
假如所需物品皆已購買(flowitem有設置lable,採買清單lable歸零則送至收銀台)

@接著是最重要的combiner
1.之前在flexsim官網有找到一個supermarket超完美的範例,他能實現隨機取貨的功能(甚至能導入實際物品的模型,甘拜下風),但小弟我研究不出所以然。所以用了combiner的方式來實現,TaskExecuterFlowItem能取貨(box)的功能。
https://www.flexsim.com/communit ... ?do=file&id=119
2.在trigger的地方寫入查詢清單是否需要購買而更改合併數量。(藉此達到判斷是否要購買,不買就會將Target Quantity設置為0),但在此小弟出現一個問題,就是Target Quantity部分並不會更動數字,但是拿取的貨品是會更動的(根據label拿0個或拿1個)。
3.因為combiner必須維持input port1為TaskExecuterFlowItem,且其他的port數量必須固定。所以設置了雙向的combiner。

@最後是收銀台的部分,我用了有點複雜的功能。
先放置一台Separator將TaskExecuterFlowItem與box分開。
1.box送到process當作結帳動作
2.TaskExecuterFlowItem到下一個combiner等待結帳完取貨(combiner會根據lable來決定要拿走幾個貨品,拿幾個來結帳,就帶走幾個),
3.process會根據不同的商品送到維波爐Microwave oven,再送回來。

大致上的配置是這樣,但其實很多步驟自知太過迂迴。想分享上來給大家研究看看是否有更簡單的作法。另外還有一些細節並未在文中提出,如果有疑問希望能提出來,小弟願意跟大家討論切磋。

最後因為我在global table 及label的部分使用了繁體中文的,如果會造成打開出現錯誤,麻煩跟我回報,我可以更改成英文再行上傳。
作者: 慧娴亚伦    时间: 2016-6-11 16:34
感谢分享!这是一个很棒的模型!无论是初学者还是有一点基础的朋友都很有借鉴意义。
以下是我个人的几点建议:
1、繁中汉字编码确实有问题,我使用的是简中的操作系统,打开导致乱码,请知悉;
2、建议缩小几个Queue的大小,由于这里的Queue都是作为临时的中转点,因此如果太大,会导致顾客跳跃的视觉情况,同样的问题出现在作为购物选购的combiner上,适当的缩小和调整方向都会使得模型运作看上去更加合理;
3、关于合成(选购商品)的部分,我觉得可以改变一下思路:在顾客一进入(或者一产生)就生产了自己的购物清单(可以是一系列的标签或者标签表,个人推荐使用标签表),然后顾客会根据这个购物清单前往指定的地方选购商品。如果这样修改的话,那么合成器的合成清单只需要根据选购物品的数量(也可以在顾客标签表上体现)来进行合成(装载)即可。这样做有一个明显的好处就是,无需在每个节点都判断顾客是否需要购买当前位置的产品。

PS.我很喜欢你的收银台的外形,用几个简单的实体营造出简单的收银台外观,让人感觉比较亲切
作者: 空白的樂章    时间: 2016-6-11 16:52
本帖最后由 空白的樂章 于 2016-6-11 16:53 编辑

2# 慧娴亚伦


謝謝你的回覆,根據你的問題來做回答
1.我最近會更改成英文上傳><,等這兩天忙完其他的事情就會更改重新上傳
2.有試過縮小queue,但是會造成當節點塞車時,人就會往上疊 ,所以拉長了queue
3.這個問題就是我百思不得其解的,因為combiner的input port必須設置1為TaskExecuterFlowItem進入,2為rack進入,才能順利取貨。
我有試過,在trigger設置if(getlabenum(item)==某值),就連線到那個combiner,但是連線上去後,人就卡住了並不會走過去,而且同時來好幾個顧客時,就會出現combiner互相連結衝突。
比如說,第一個顧客已經在rack1他要去rack2拿第二件,而第二個顧客出現要直接去rack2這時候combiner2的input瞬間會變成三個,這樣就會起衝突了。


這是我遇到的問題。不知道有什麼好解法沒有。

PS:收銀台是我在苦惱怎麼解決路線問題時,無聊建立的XD,覺得很有成就感
作者: 慧娴亚伦    时间: 2016-6-11 19:01
1、人往上叠加,我建议您可以将暂存区的堆存方式(Visual>Item Placement )改为horizontal line,这个模式可以使得暂存区中堆放的产品(顾客)排水平队;
2、不是特别清楚为什么会有这样的情况,最好您可以把这一部分单独抽离出来做一个简单的模型,也好直接分析。通常来说conbiner必须要一号入口打包完毕,才会允许新的一号入口进入。
作者: 学术喵小白    时间: 2016-6-12 08:52
感谢分享
作者: bitterain    时间: 2016-6-12 08:54
谢谢,非常感谢分享!!!!
作者: jsnuyang    时间: 2016-8-14 15:13
谢谢分享!学习中!




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3