我用AnyLogic创建了一个简单的模型(见截图)。现在我想添加一个条件,选择服务块中的两个资源集中的一个。例如,以下场景应适用:如果队列中有5个以上的部件,工作人员3和工作人员4应执行服务。如果有的话
一种简单的方法是使用抓取
和延迟
(和完成后释放
)块,而不是服务
。在抓取
之前,您可以将条件放入选择输出
块中。这样地:
首先,您不需要队列,因为服务块已经有一个队列...因此,对于资源选择条件中的这个特定示例,您将执行以下操作:
service.queueSize()>5 ? (worker3.containsUnit(unit) || worker4.containsUnit(unit))
:
(worker1.containsUnit(unit) || worker2.containsUnit(unit))
你可以换服务。带有队列的queueSize()。如果您坚持使用队列,则使用size()。之后,您需要确保在需要时重新计算条件,对于这个特定的示例,我认为您只需要在服务块的退出操作时重新计算它们:
self.recalculateResourceChoiceConditions();
在一个AnyLogic项目中,在“抓住”块中,我需要从资源集中自定义地选择资源。在“抢占”的属性选项卡中阻止字段“resource Sets”,选中值和标志“Customize resource Choice”。在“资源选择条件”代码部分,我需要做出如下选择: 我如何检查一个资源单元是否来自给定的资源池,然后根据资源的特性区分它们?谢谢你。最诚挚的问候。
我试图创建一个Seize块,根据通过该块的代理类型,从不同的资源池中进行选择。 我的第一次尝试是在抓取块中创建资源集参数的动态引用,如图所示: 资源集中动态值的图像 其中Extensibles和Camabajas3e是资源池的名称。 但我得到了错误:“类型不匹配:无法从ResourcePool转换到ResourcePool[] 我的第二次尝试是将两个资源池都包括在列表中,而是使用参数“资源选择条件
问题内容: 我有一个名为@status的变量,该变量在此select语句之前设置: 我只想选择if列,否则我想为shipwith选择null。我该如何完成? 问题答案:
我有三张桌子 表A 我需要根据传递的参数将TableA连接到TableB或TableC。ie 我尝试了以下查询 但是,这是给语法错误。有人能帮忙吗? 解决方案:
问题内容: 我有这样的桌子 我需要选择何时类型为0,何时类型为1,何时类型为N … 我怎样才能做到这一点? 问题答案:
我正在解决一个作业车间调度问题,我有20个作业(代理)和5台机器(资源),每个作业作为访问机器的特定顺序。我的问题是:我如何确保每个作业都遵循它的顺序。 这就是我所做的。一个称为“作业”的代理和5个代理,每个代理对应一台机器。一个与每个服务块相关联的资源池。在集合enterblocks中,我选择了5个enter块。 在代理“jobs”中,我有这个。从数据库文件读取的与每个作业相关联的参数,以及我在