根据概率创建具有不同设置参数的代理

问题描述

我正在建模一条装配线,其中包含需要不同装配步骤(主要是不同的延迟时间)的多种产品。

从之前的反复试验中,我了解到我必须只使用一种代理类型来模拟部件。 所以我设置了一个带有多个字符串和布尔参数的代理。在源代码后面的块中,我需要读取这些参数。

DataBase Table

在截图中你可以看到我创建的数据库表。 color、b、lh、nh、t_nh和t_picklh是我给Agent添加的参数。

我现在希望源在每次生成代理时根据设置的概率选择 3 行之一,并相应地设置代理参数。 所以当一个新的 Agent 被创建时,有 80% 的机会它的颜色是黑色,它的“b”参数为真,它的“lh”参数为真等等。

我需要如何设置源以使其按概率选择一行?我查看了许多教程和示例模型,但看起来源无法使用预设模式(由以下定义的到达:速率,到达时间表等)来执行此操作 我可以写一个包含数千个日期的表格来模拟概率,但我认为必须有更聪明的方法

谢谢!

解决方法

不幸的是,这不能通过单独使用 Source 来实现,必须使用带有基于 Option 的参数的 Custom Distribuition 并且每个选项映射到您示例中的 3 个类之一(A、B、C)。选择类后,您应该有一个查找函数,该函数根据 Source On At Exit 操作中的类填充代理属性(即在代理实际离开源之前)。