使用 Anylogic 进行优化

问题描述

AnyLogic 在优化实验中使用的优化算法是什么?是否可以将此算法更改为遗传算法甚至 Nelder-Mead 等算法? 如果可以,怎么做?

解决方法

我相信 OptQuest 结合使用分散搜索和禁忌搜索,尽管它是专有的,因此我无法轻松找到明确的信息。这是 1997 年的一篇论文表明了这一点,但我不知道 OptQuest 是否发生了变化。

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.120.6463&rep=rep1&type=pdf

如果您想构建自己的优化,这在概念上非常简单。我可以看到两种广泛的方法来做到这一点。一种是在自定义实验中手动构建它。您可以在此处调用单个实验并将其结果输入目标函数,然后再根据自定义优化算法调用具有更新结果的另一个模拟。另一种方法是将您的模型导出为可运行的 jar,并在 AnyLogic 本身之外执行此操作。不过,这两个选项都需要 AnyLogic pro 许可证。

实际上,您可以从另一个实验中调用一个实验,而无需构建自定义实验,因此您可能无需专业许可证即可执行此操作。

但无论如何,您都需要在优化实验之外手动操作您的新算法。