Problem with triggering agent in a activity location
Posted: Tuesday 20 June, 2017 - 14:18
Situation:
In my model a group of agents enters a building, passes acces control and wait at a waiting location until triggered.
In this waiting location I want to group to wait until everybody arrived and then move on to another waiting location.
I have groups of 30 agents every 15 minutes.
Problem:
The help file offers me to functions for triggering agents in this situation: and
Now I created an entry trigger:
But the problem is that the last agent entering the waiting location isn't an approaching one and since he is still looking for a random spot he is neither a waiting agent. But he is in the waiting location so he is counted in my stated condition: . This results in a group of 29 agents running off and the last one entering stays behind.*
So how to address this loner? Or does anybody have a different approach.
In the help under Availability - Trigger on start there is a mention of but this isn't a valid function, although this might be the function I'm looking for..
*This isn't necessarily the last one entering, it's the last one who hasn't found his spot in the waiting area yet.. sometimes this is an agent being stuck between other agents who are in his assigned spot. So the location approaching option 'random' needs some work as well.
In my model a group of agents enters a building, passes acces control and wait at a waiting location until triggered.
In this waiting location I want to group to wait until everybody arrived and then move on to another waiting location.
I have groups of 30 agents every 15 minutes.
Problem:
The help file offers me to functions for triggering agents in this situation:
Code: Select all
ActivityLocation_TriggerAllWaitingAgents(e1, e2, {e3})
Code: Select all
ActivityLocation_TriggerAllApproachingAgents(e1, e2, {e3})
Code: Select all
{**Trigger the agents when a group is complete**}
AND(
ActivityLocation_TriggerAllWaitingAgents(
c, {**Current location**}
ActivityLocation_GetNumberOfAgents(c) = 30 {**Condition**}
),
ActivityLocation_TriggerAllApproachingAgents(
c, {**Current location**}
ActivityLocation_GetNumberOfAgents(c) = 30 {**Condition**}
)
)
Code: Select all
ActivityLocation_GetNumberOfAgents(c) = 30
So how to address this loner? Or does anybody have a different approach.
In the help under Availability - Trigger on start there is a mention of
Code: Select all
ActivityLocation_TriggerAllAgents
*This isn't necessarily the last one entering, it's the last one who hasn't found his spot in the waiting area yet.. sometimes this is an agent being stuck between other agents who are in his assigned spot. So the location approaching option 'random' needs some work as well.