全球FlexSim系统仿真中文论坛

标题: 【TFT 2014.06.17FlexSim仿真模型题(11)】 [打印本页]

作者: 慧娴亚伦    时间: 2014-6-17 10:41
标题: 【TFT 2014.06.17FlexSim仿真模型题(11)】
问题描述:除了制造和物流系统, FlexSim同样可以运用于交通系统的仿真。城市公交规划的研究近几年一直是热门话题,如何有效配置公交车次和数量能够很大程度的改善公共交通运营情况。

模型要求:
1、附件中有本题7.1的原始布局,使用其他版本请也按照附件中的模型进行布局,以方便审核和对比;
2、公交车可以用任意实体或临时实体代表,发生器产生box临时实体代表乘客,三维外观能够对应更好,但是本题不做特别要求;
3、附件中有本次模型的布局图。系统中仅安排一辆公交车,E区为公交总站,即初始停靠点,A区为第一站,乘客在A区的暂存区里等候空车驶入,B区为第二站,公交车将乘客卸到B区吸收器,从B区暂存区装载等候乘客,C区与B区进行同样运作,D区为终点站,卸下所有乘客之后的公交车回到E区等候下一班次发车;
4、所有乘客到达间隔服从指数分布,随机发送至ABC三区(原题模型中已经设置好),公交到达ABC区所有的乘客都会上车,到达BC区有随机数量的乘客下车,在D区所有乘客下车。公交车运行速度为2m/s,公交容量不做限制,每位乘客上车时间为1s,下车由于同上车同时进行,因此可以不计时间;
5、公交发车的间隔时间由建模者自行决定,至少保证模型运行中有5次发车安排。


提示:1 本题需要额外添加实体来完成;
      2 由于本题有一定难度,制作模型的时候遇到一些细节问题不符合现实系统可以忽略,没有全部完成要求也可获得相应积分;
      3 可以使用用户事件或单独创建一组发生器和吸收器来下达公交启动班次任务。
作者: yushaozheng1990    时间: 2014-6-17 15:19
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12944&ptid=4569]1#[/url] [i]慧娴亚伦[/i] [/b]
贡献自己的模型,利用用户事件确定发班间隔时间。利用网络节点将所有公交站点联系起来,并在网络节点的到达触发中编写任务序列。代码较多,但是逻辑还算清晰。该模型中公交车在指定的发班间隔里没有返回始发站的时候会出现BUG,但是可以通过增加车数的方法来修正。而且此模型也可以用于集装箱班轮航线的仿真模拟,思路是相同的。等待楼主点评。[attach]2027[/attach]
作者: east0593    时间: 2014-6-17 15:39
[i=s] 本帖最后由 east0593 于 2014-6-17 15:54 编辑 [/i]

我用组合器和分离器实现的!
1.首先生成5辆公交车,处理器处理时间设置100来实现每隔100秒发一辆公交车。
2.乘客进入站点,设置类型2.3.4,分别表示目的地为B.C.D。
3.通过设置全局表来统计每个站点乘客人数,用来计算上车时间。
4.通过分离器,将到站乘客分离出来,剩余乘客和站内乘客统一装箱上次。
5.到站停留时间(组合器处理时间)取上车和下车乘客较大值。
作者: yushaozheng1990    时间: 2014-6-17 15:59
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12962&ptid=4569]3#[/url] [i]east0593[/i] [/b]
实际上在楼主在倒车入库的模型中使用合成器和传送带来实现之后,就想到可以用这个思路来解决集装箱班轮航线的仿真模型,但是一直没有实际去做,今天看到您的模型感觉非常值得学习,感谢分享!
作者: 大摸鱼    时间: 2014-6-17 16:36
[i=s] 本帖最后由 大摸鱼 于 2014-6-17 16:48 编辑 [/i]

支持一下楼主,由于好几个星期没有弄flexsim了感觉有点生疏,做了一个,感觉还是有不少瑕疵
作者: 慧娴亚伦    时间: 2014-6-17 19:09
回复2楼:
完成的很好,用用户事件来生成发车的命令,在每到达一个站点时候再做出具体的任务。这是一个顺着题目思维的想法,逻辑清晰简明,模型也能保证模型5次发车的运行中没有问题,也考虑到了公交车没有在下个班次开始之前赶回来也许会出现bug的情况。个人建议可以尝试做一下进一步安排多辆公交的模型。另外代码依旧偏繁琐且没有适当注解。

恭喜您!论坛ID为 yushaozheng1990 的朋友在第二层的回复是第一个有效回复,获得积分5分。
24小时后本题结束(即2014年6月18日19时08分),其后的回复不计为有效回复。
作者: 慧娴亚伦    时间: 2014-6-17 19:14
回复3楼:
完成的很好!运用合成器和分解器,使用传送带来完成,思路新颖独特,但是也很好的完成了题目的各项要求。如果在仅要求数据的情况下,基本能满足仿真要求。但是此类简单模型使用任务执行器装卸载还是具有天然优势,使用合成分解完成装卸载3维表现上很难接近现实,代码也相对比较繁琐,要运用较多的表。同时由于使用传送带,无法很好的控制站点之间的距离问题等等。

恭喜您!论坛ID为 east0593 的朋友在第三层的回复是第二个有效回复,获得积分4分。
作者: 慧娴亚伦    时间: 2014-6-17 19:19
回复5楼:

模型运行的很好。运用较多的子任务配合消息来完成多个任务的实时分配,在公交系统这种单个任务执行器完成一系列延时任务的情况中,能够较好的运用。但是代码由于有多个消息发送,涉及较多,如果涉及站点数量较多,出现不容易调试。此外与2楼一样存在代码易读性和无适当注解问题。

恭喜您!论坛ID为 大摸鱼 的朋友在第五层的回复是第三个有效回复,获得积分1分。
作者: 慧娴亚伦    时间: 2014-6-19 10:34
本次TFT活动已经截止。
     本次活动室TFT的第十一次正式活动,本次活动的来源是前一阵有几位朋友想找公交线路的flexsim仿真模型。其实公交线路由于不涉及过多的路口碰撞交叉等随机因素影响,使用flexsim相对还是比较容易的,同时依靠flexsim强大的三维功能,可以很好的展示城市交通系统。
      模拟这种道路系统在flexsim 中有两个大的方向:使用任务序列结合网络节点,或者使用合成器结合传送带。二者都有明显的优劣之处,在这个例子中,个人偏向使用任务序列,因为在关键的装卸载的位置逻辑的编写比较不容易出错。

本次题目一共有2位朋友得到了有效回复。他们的论坛ID分别是:
      yushaozheng1990、east0593、大摸鱼
      他们将获得指定积分,没有获得积分的朋友期待您的下次参与.
      
      下面放上我个人制作的参考模型,运用一组发生器和吸收器作为发车讯号的释放,这样设置使得发生器的到达时间表就是一个很清晰的发车时间表。另外额外添加了一个任务执行器,模拟两辆公交的系统。并非最佳模型,仅供参考。
      再次感谢大家的参与和支持,没有参与者活动将无法开展,希望各位还能继续支持TFT的接下来的活动(如果还有的话),再次感谢!
作者: yushaozheng1990    时间: 2014-6-19 10:39
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12980&ptid=4569]9#[/url] [i]慧娴亚伦[/i] [/b]
下载下来学习一下,希望楼主的活动越办越好!
作者: yushaozheng1990    时间: 2014-6-19 16:36
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=12980&ptid=4569]9#[/url] [i]慧娴亚伦[/i] [/b]
贡献自己的多车模型,加一个任务分配器,用户事件发命令时把初始任务发送给任务分配器即可。[attach]2033[/attach]
作者: 慧娴亚伦    时间: 2014-6-20 16:54
感谢分享,添加这个分配器分配多车其实思路还是比较简单。其实这个题目如果愿意拓展的话,关键是能不能想到一种解决如果所有的公交都在忙碌,而又有新的发车计划的时候,如何使任务分配不混乱额度方法呢?
作者: lansedamo    时间: 2014-7-18 13:50
学习一下!
作者: lansedamo    时间: 2014-7-18 13:51
下载下来学习!
作者: xinglei    时间: 2014-11-18 16:48

作者: xinglei    时间: 2014-11-24 19:34
:lol
作者: 657776724    时间: 2015-6-1 12:02
[i=s] 本帖最后由 657776724 于 2015-6-1 20:37 编辑 [/i]

我的模型使用了传送带作为路径,临时实体模拟汽车。
上下车统一使用moveobject函数来实现。
核心代码写在传送带的结束触发和消息触发。
结束触发的功能是下车(一次性下,先下后上)。
消息触发的功能是上车(一个一个上,间隔时间为1秒,可以处理在上车期间有新的乘客到达的情况)
因为是练习模型,所以我的传送带就不隐藏了,方便楼主查看。
[attach]2641[/attach]
作者: yuzhu    时间: 2015-11-20 19:10
很不错的学习资料,必须下载来学习!感谢!
作者: jkqwe111    时间: 2015-12-5 22:42
第一次做仿真时候弄得模型还请教了别人,陈老师指点一下
作者: 慧娴亚伦    时间: 2015-12-6 11:04
额,好像没有看到您上传的附件。
作者: gaoshanliushui    时间: 2017-10-20 22:46
好好学习
作者: dthghjc    时间: 2019-9-30 10:00
下原题和答案都要金币了:'(:'(:'(
作者: shadowwind    时间: 2019-10-30 09:25
[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=30638&ptid=4569][color=#999999]dthghjc 发表于 2019-9-30 10:00[/color][/url][/size]
下原题和答案都要金币了[/quote]

这样是为了让我们的论坛可以正常的活跃起来,有所得就要有小小的付出。(发帖回贴即可增加金币)




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