Anylogic,动态改变资源的容量

时间:2020-05-30 08:54:47

标签: simulation anylogic event-simulation

我有一个带有队列和两台机器的模型,其中的一台仅在这些资源前面的队列过度拥挤的情况下使用。 我的模型有一个简单的“队列”和一个“延迟”块,我尝试使用以下函数(在“延迟块容量”文本字段中编写)基于先前的队列长度来更改“延迟”容量:

Input: "abacdacacadaad"

step    input           match   output  new_entry   new_index
                                        a           0
                                        b           1
                                        c           2
                                        d           3
1       abacdacacadaad  a       0       ab          4
2       bacdacacadaad   b       1       ba          5
3       acdacacadaad    a       0       ac          6
4       cdacacadaad     c       2       cd          7
5       dacacadaad      d       3       da          8
6       acacadaad       ac      6       aca         9
7       acadaad         aca     9       acad        10
8       daad            da      8       daa         11
9       ad              a       0       ad          12
10      d               d       3       

Output: "0102369803"

但是它似乎不起作用...是否可以根据条件动态更改资源数量?

1 个答案:

答案 0 :(得分:0)

仅在仿真开始时才考虑延迟块中的容量值,因此只能将其视为初始值...

要在以后更改容量,可以在队列块的进入和退出位置放置一些代码:

delay.set_capacity(queue.size() > 5 ? 2 : 1);

类似的东西。