AnyLogic 8.8.4:遗传优化和步行电梯
- 新发布
- 行人建模
AnyLogic 8.8.4 现已可供下载。新版本有两个显着特点:内置基因优化和行人图书馆电梯。有关 AnyLogic 8.8.4 中发布的所有改进和更新的更多详细信息,请查看AnyLogic 帮助中的发行说明。
遗传优化
从 AnyLogic 8.8.4 开始,用户可以在两种类型的优化引擎之间进行选择:OptQuest 和内置的遗传优化引擎。有什么不同?
默认情况下,AnyLogic 中包含基于 OptQuest 的优化,但它有一定的限制——可用的变量不超过 7 个,迭代次数不超过 500 次。对于大规模优化任务,您可以选择付费选项来绕过限制。新的遗传优化算法选项也随 AnyLogic 一起提供,但无论您的项目大小如何,都没有任何限制和额外费用。
此外,将基于 OptQuest 的优化实验导出为独立应用程序是 AnyLogic Professional 用户可以使用的单独付费选项,而使用遗传优化引擎则免费。
要为实验选择引擎,请转到优化和校准实验的优化引擎属性。
在优化实验属性 中选择优化引擎
请注意,选择遗传优化选项后,一旦找到最佳值,实验就会自动停止,这就是为什么您在此处找不到“自动停止”属性的原因。
要探索如何在自定义实验中使用遗传优化,您可以在 AnyLogic 示例模型库中找到相应的模型(欢迎屏幕→操作模型→实验→自定义实验中的优化)或从优化下载源文件AnyLogic Cloud 中的自定义实验示例模型。
行人电梯
多年来,我们的用户创建了各种电梯建模方法。现在 AnyLogic 将把步行电梯作为其基本元素。
电梯功能由Elevator标记元素和PedElevator块 表示。该块描述了使用电梯的行人的行为。这两个元素都可以在 AnyLogic 的行人库选项板上找到。
AnyLogic 中 行人库选项板上的电梯标记元素和PedElevator块
电梯标记元素 – 设置电梯的行为
真实物理电梯的所有特征,例如速度、容量和门的配置,都可以在电梯标记元素 中设置。该元素代表可以在楼层之间移动的电梯轿厢。因此,只需要一个Elevator对象即可将位于同一代理中的所有楼层(在模型中用级别表示)绑定在一起 - 通常,它是主代理。
在某些情况下,您可能需要一部电梯仅在某些楼层之间行驶 - 它可能是摩天大楼中的电梯,也可能是服务于地下停车场的电梯。为此,请选择“在选定楼层停靠”选项以仅连接您需要的楼层。
您还可以设置电梯门打开时在楼层停留的最短时间(最短停留时间属性)。如果电梯乘客不断进出电梯,最短停留时间将自动增加,直到最后一位乘客移动完成。
电梯设置
PedElevator 块 – 设置行人行为
除了标记元素之外,我们还添加了PedElevator块。它包含行人逻辑,描述行人如何移动到“电梯”属性中指定的电梯、等待其到达、进入电梯以及在“目标层”属性中指定的楼层退出电梯。行人停止等待电梯并可以重定向到另一个进程的超时时间也可以在此块中设置。
步行电梯设置
内置逻辑自动收集来自以下位置的呼叫:
- 在楼层等待的行人(使用有关当前楼层和目标方向的信息)
- 已进入电梯的乘客(使用所需楼层的信息。
考虑到这一信息,电梯首先在一个方向上服务所有目标层,然后再转移沿相反方向移动的所有乘客。此行为由 AnyLogic 自动执行。
但是,您也可以模拟自己的电梯算法,通过lift.setManualMode(true) API 函数将电梯切换到手动模式,并使用levator.moveTo(level)、elevator.pickUpPeds()和elevator.dropOffPeds()方法控制它。
这种方法还可用于模拟电梯正常运行的中断,例如在紧急情况下出现故障或自动移动到最近的楼层。
您可以了解有关新电梯功能的更多信息,尝试手动模式,并借助我们的操作模型探索与电梯相关的技巧:
- 行人电梯
- 电梯手动控制
- 电梯故障
- 不同代理定义的电梯连接楼层