Anylogic:如何 link 单选按钮到双精度类型的变量?

Anylogic: How to link a radio button to a variable with type double?

我想在我的 Anylogic 模型中使用单选按钮,以便在模拟之前更轻松地更改值。我是运行个不同的场景(场景A:冬季电价(Strompreis Winter);场景B:夏季电价(Strompreis Sommer),场景C:秋季电价(Strompreis Übergang),我不想改变使用其他电价时模型中的所有公式。相反,我只想在我的公式中使用变量 "electricityprice",然后使用单选按钮更改该变量的值。 我尝试使用单选按钮将变量 "electricityprice" (Strompreis) / link 的值设置为变量 "electricityprice" (Strompreis)。这是因为我有几个星期的每小时电价(例如冬季电价),这些价格由从 excel 文件中读取的动态变量显示。

Anylogic screenshot

excel file

在我输入的单选按钮操作字段中:

   if (value==0) {
    Strompreis = StrompreisWinter;
}
else if (value==1) {
    Strompreis = StrompreisSommer;
}
else if (value==2) {
    Strompreis = StrompreisÜbergang;
    }

但是,电价是双倍的(例如 4.45 欧元)。单选按钮只能 link 到 int 类型的变量。知道我该如何解决这个问题吗?谢谢!

这里 "off" 有几件事:

当 AnyLogic 说您只能对单选按钮使用 Int 值时,他们的意思是:该值与用户所做的选择有关。您的单选按钮在您的示例中有 3 个选择,因此该值只能是 0、1 或 2。没有别的。如何将它们映射到任何操作是您的事。

下一步:您的问题应该以不同的方式解决。或者,您希望在一年内动态更改变量值(案例 1)。或者您希望用户在运行时更改变量值(情况 2)。

案例一:动态改变变量值

几种方法:如果你只有 4 个季节,可能最简单的方法是使用一个简单的映射函数 "getCurrentElecPrice",returns 基于当前季节的不同 dbase 值:

案例 2:让用户更改值

您始终可以在运行时直接更改变量:单击它,然后单击值以对其进行编辑,如下所示:

更优雅的是,您可能想要使用滑块或编辑框。或选项有限的单选按钮,但您不会像您的情况那样以价格使用它。

希望对您有所帮助

这是一个可以满足您要求的示例模型,希望对您有所帮助:-)

download