Anylogic - 具有汇总值的自定义分布?

Anylogic - Custom distribution with summed up values?

我需要有关使用 Anylogic 定义自定义分布的帮助。我有一个包含 400 个字段的网格,每个字段代表一个地理区域。我根据经验测量了每个领域每天的客户数量(因此我对每个领域都有一个 sum)。

现在我想做一个随机模拟。生成的代理(客户端)的数量以每天的速率生成(根据经验衡量所有领域的总数)。字段的编号应随机分配作为分布,其中 "the probability that the client is generated in field x" 等于 "the number of clients in measured field x divided by the total number"。我将这些数字作为 table (数据库)。问题是自定义分发块想要读取包含所有值的 table(这样如果字段 x 每天有 5 个客户,我需要输入数字 x 的 5 倍)。

有没有人知道如何解决这个问题?谢谢!

或者你知道如何通过数据库生成代理,具有某种概率的属性吗?

PS:我想生成字段ID,因为每个字段附加的信息比较多

编辑:如果我用所有值列出 x 次创建 table,我无法选择值列: CustomDistribution for Start Fields

好的,我找到了解决这两个问题的方法:

1) 看似 Anylogic 无法根据求和值构建自定义分布,因为它在内部自行求和。

2) 在创建具有超过 20.000 个值而不是 400 个总和的大 table 之后,我无法选择值列(见图)。我重新创建了大 table 并将值从 "f1" 更改为“1”(字符串到整数)。现在它起作用了。所以从表面上看,Anylogic在其自定义分发数据库函数中只能处理整数,不能处理字符串。

如有不妥欢迎指正。

将您的自定义分布设置为 "Continuous",插值 "None"。对于每个值,您可以在权重列中包含任何您想要的内容 - 这可以是预先计算的总和。无插值会给你一个输入的值,可能是一个实数,但在这个例子中只是离散的(1,2,3)。