Anylogic:优化期间截断类错误

Posted

技术标签:

【中文标题】Anylogic:优化期间截断类错误【英文标题】:Anylogic: truncated class error during optimization 【发布时间】:2020-04-27 07:39:21 【问题描述】:

我声明我是初学者,这是我的问题。 当我使用普通模拟运行它时,我的模型运行良好。现在我正在尝试使用优化实验来优化一些参数,我已经遵循了official tutorial 的所有步骤,但是它不起作用,因为我在离散事件执行期间得到“异常: 截断的类文件”。奇怪的是,查看显示错误的控制台,我看到有些行引用了我的模型的旧版本,例如:

java.lang.ClassFormatError: Truncated class file
    at coffe_maker.Main._m1_1_delayTime_xjal(Main.java:14070)

目前的型号名称是coffee_maker_v2_6 所以我不明白为什么会出现这种错误,你知道这是否正常吗?我做错了什么?

【问题讨论】:

【参考方案1】:

最可能的原因是您在延迟块的“延迟时间”表达式的“未使用”配置中留下了 Java 代码(例如,它现在具有静态值但您有 Java 代码在现在切换出的动态值中)。

不幸的是,AnyLogic 有时仍会在编译的类中包含切换出的代码,这有时会导致奇怪的运行时错误,例如那个。

如果情况确实如此,请暂时切换到有问题的关闭配置并删除它,然后再切换回正确的配置。

【讨论】:

【参考方案2】:

我已经解决了:问题是,在我的模型的每个延迟块中,延迟时间都与数据库引用(类型代码)相关联,现在我正在尝试直接输入延迟中的概率分布,现在优化工作

【讨论】:

以上是关于Anylogic:优化期间截断类错误的主要内容,如果未能解决你的问题,请参考以下文章

如何设置 Anylogic 优化实验?

我可以使用优化实验在 Anylogic 中实现多目标优化问题吗?

在 AnyLogic 多目标优化中引用非决策/非优化变量

使用 Anylogic 进行优化

AnyLogic:有没有办法在优化实验中指定决策变量数组?

Anylogic仿真 - 模型创建期间的错误