Random 在Anylogic中,如何从项目列表中随机选择

Random 在Anylogic中,如何从项目列表中随机选择,random,selection,anylogic,Random,Selection,Anylogic,在Anylogic中,从您选择的一组项目中随机选择最简单的方法是什么。例如,如果您正在创建新的客户代理,并且您有三个现有客户群:customers1、customers2、customers3。如何从(customers1、customers2、customers3)中进行一种随机选择,以选择一个群体来放置新代理?您是先将客户1…3放入一个集合(共三个)还是列表中?或者,你如何仅仅从几个项目中随机选择?我知道有一个randomlyCreate函数可以让你为一个列表随机创建不同类型的代理,但是我找

在Anylogic中,从您选择的一组项目中随机选择最简单的方法是什么。例如,如果您正在创建新的客户代理,并且您有三个现有客户群:customers1、customers2、customers3。如何从(customers1、customers2、customers3)中进行一种随机选择,以选择一个群体来放置新代理?您是先将客户1…3放入一个集合(共三个)还是列表中?或者,你如何仅仅从几个项目中随机选择?我知道有一个randomlyCreate函数可以让你为一个列表随机创建不同类型的代理,但是我找不到一个函数可以从我创建的相同类型的对象列表或完全随机的列表中随机选择一些东西

您是先将客户1…3放入一个集合(共三个)还是列表中


对。然后从中调用
随机选择您的客户组,然后再次调用该组以从该组中获取随机客户。

您可以为您的客户群创建单独的代理类型,每个代理都有自己的客户代理集合(例如ArrayList),然后将您的客户添加到这些集合中。然后,您将能够使用您选择的方法随机选择一个客户群体及其所有客户(或其参考)。然后,您还可以为您的客户群体代理类型编写函数等,您可能会发现这些函数很有用


在我负责的市场动力学模型中——本杰明的团队最初创建了这个模型——这正是全球客户代理人分配给银行(现在是产品)的方式,到目前为止(四年)我没有理由改变它。如果需要,您可以轻松地在不同人群之间移动客户代理。同样,在我的具体示例中,我发现没有必要修改我继承的代码,因此只需在客户的相关ArrayList上调用add/remove即可实现这一点。

问题不是很清楚,请具体一点,并关注一件您想知道的事情;-)看到了吗?这个例子并不适用。如果将所有三个总体放在一个集合中(通过选择并右键单击“创建集合”),它将创建一个集合,其中元素类是Customer(而不是总体),我不知道对于代理总体来说元素类是什么。然后对集合执行randomFrom函数,预期会生成一组类型不匹配?你会在所有人群中随机得到一个客户。从数学上讲,这与先选择流行音乐,然后选择顾客是一样的……我知道这是一样的。但我还没有弄清楚如何将这三个种群正确地组合成一个集合。它会生成类型不匹配且无法执行。这是因为集合需要和元素类,它们不能是“客户”,因为元素不是客户而是集合(或客户群体)。将对象用于填充可以解决类型不匹配问题,但集合“无法解析为变量”。如何将一组代理群体分组到一个集合中?或者一个代理群体的元素类是什么?不要去那里,这是不好的做法!创建客户的ArrayList集合。在客户代理类型属性“启动时”中,将每个创建的客户添加到Main上的集合中(或添加到任何位置)。这样,所有的客户,不管他们的人口,都将成为这个系列的一部分。1/2:这不符合我的要求。在创建所有客户时为其创建ArrayList不会对客户群产生任何影响。我一开始就创建了三个客户群。运行时会创建更多客户。ArrayList将向其中添加所有客户,但它不会帮助将新客户随机添加到客户集1、2或3。它只会将那些仍然不会与客户群关联的内容添加到ArrayList中。