AnyLogic8.8.4——遗传优化引擎与行人库直梯

AnyLogic 8.8.4现在可供下载 。新版本有两个重要功能:内置遗传优化引擎和行人库中的直梯。有关AnyLogic 8.8.4中发布的所有改进和更新的更多详细信息,请查看AnyLogic帮助中的版本发布说明

遗传优化引擎

从AnyLogic8.8.4开始,用户可以在两种类型的优化引擎之间进行选择:OptQuest和内置的遗传优化引擎。有什么区别?

默认情况下,基于OptQuest的优化包含在AnyLogic中,但它有一定的限制——可用的变量不超过7个,迭代次数不超过500次。对于大规模优化任务,您可以选择付费选项来绕过限制。AnyLogic也提供了新的遗传优化算法选项,无论您的项目规模如何,都没有任何限制和额外费用。

此外,将基于OptQuest的优化实验导出为独立应用程序是AnyLogic Professional用户可以使用的单独付费选项,而使用遗传优化引擎是免费的。

要为实验选择引擎,请转到优化校准实验的优化引擎属性进行选择。

在优化实验属性中选择优化引擎
优化实验属性中选择优化引擎

请注意,选择遗传优化引擎选项后,一旦找到最佳值,实验就会自动停止,这就是为什么你在这里找不到Automatic stop 属性的原因。

要探索如何在自定义实验中使用遗传优化引擎,您可以在AnyLogic示例模型库中找到相应的模型(欢迎屏幕→ 如何建模→ 实验→ 在自定义实验中优化)或从Optimization in Custom Experiment下载源文件

行人直梯

多年来,我们的用户创造了各种电梯建模方式。现在行人直梯将作为AnyLogic的一个基本元素添加到软件中。

电梯功能由Elevator 模块和PedElevator 模块表示。该模块描述了将要使用电梯的行人的行为。这两个元素都可以在AnyLogic的行人库 面板中找到。

Pedestrian Library pallete in AnyLogic
AnyLogic中行人库面板上的电梯 模块和PedElevator模块

电梯标记元素–用于设置电梯的行为

实际物理电梯的所有特性,如速度、容量和门配置,都可以在电梯模块中设置。该模块表示可以在楼层之间移动的电梯轿厢。因此,只需要一个电梯 只需要一个电梯对象就可以将位于同一智能体中的所有楼层(由模型中的标高表示)绑定在一起——通常它是Main 智能体。

当你只需要电梯在某些楼层之间运行时,可能会出现这种情况——它可能是摩天大楼中的电梯,也可能是为地下停车场服务的电梯。为此,请选择“停止在选择的层”选项,以仅连接所需的楼层。

还可以设置电梯在门打开的情况下停留在楼层上的最短时间(“最小停留时间”属性)。如果电梯乘客不断进出电梯,最短停留时间将自动增加,直到最后一名乘客的移动完成。

AnyLogic中的电梯设置
AnyLogic中的电梯设置

PedElevator模块-设置行人行为

除了标记元素,我们还添加了PedElevator 模块。它包含行人逻辑,描述行人如何移动到电梯 描述行人如何移动到电梯属性中指定的电梯,等待电梯到达,进入电梯,然后在目标层 属性中规定的楼层离开电梯。行人停止等待电梯并可以重定向到另一个进程的超时也可以在该模块中设置。

AnyLogic中的PedElevator设置
AnyLogic中的PedElevator设置

内置逻辑自动收集来自以下位置的调用:

  • 在楼层等候的行人(使用有关当前楼层和目标方向的信息)
  • 已经进入电梯的乘客(使用所需楼层的信息。

考虑到这些信息,电梯首先在一个方向上服务于所有目标楼层,然后转移所有在相反方向上移动的乘客。此行为由AnyLogic自动执行。

但是,您也可以通过elevator.setManualMode(true) API函数将电梯切换到手动模式,并使用elevator.moveTo(level)elevator.pickUpPeds()elevator.dropOffPeds()

这种方法也可以用于仿真正常电梯操作中的中断,例如故障或在紧急情况下自动移动到最近的楼层。

您可以在我们的操作模型的帮助下了解更多关于新电梯功能的信息,尝试手动模式,并探索与电梯相关的技巧:


请继续关注我们的博客并订阅我们的月度资讯,以确保您不会错过任何更新。

相关文章