【发布时间】:2021-09-15 01:57:48
【问题描述】:
我在 stella 中建模了以下逻辑:
(IF "cause" > 0 THEN MONTECARLO("probabilityofconsequence") ELSE 0
但我在 AnyLogic 上没有得到正确的语法:
(cause > 0) ? (uniform() < probabilityofconsequence) ? 1 : 0 : 0
有什么想法吗?
免责声明: stella 所做的是使用 Montecarlo 函数根据提供的概率从伯努利分布中获得一系列零和一。概率是每个 DT 发生事件的百分比概率除以 DT(它也相似,但与每单位时间事件的百分比概率不同)。概率值可以是变量或常数,但应计算为 0 到 100/DT 之间的数字(超出范围的数字将设置为 0 或 100/DT)。单位时间内生成的数字流求和的期望值等于概率/100。
MONTECARLO 等价于如下逻辑:
IF (UNIFORM(0,100,<seed>) < probability*DT THEN 1 ELSE 0
【问题讨论】:
标签: anylogic