Resource Pools within Resource Pools

The functionality of Pooled Resources has been expanded in Simul8 2014, it now includes the ability to include pools within pools.

When to use Pools within Pools

This feature allows you to manage the complexity around resource selection when you have multi-skilled resources who can each deal with a variety of different tasks. By using pools within pools we can apply layers of conditions on how best to allocate the next resource to the next task.

Example Use

Let’s think about a call center, there are a number of staff who can deal with a variety of different call types. Each staff member will have a higher skill set in one particular call type over another but they are still able to deal with all calls within their skills set.
When calls arrive we wish to assign the calls of a particular type to the agent who has the highest skill set of that call type. To try and optimize staff utilization we also wish to ensure that where there is more than one agent with the same skill set available that the call is assigned to the agent who has been idle the longest.
Therefore we need to create a pool of individual agents who are of a particular skill level for a particular call type. As there can be multiple groups of agents who have the same skill level we then also need to create pools of all those agents with the same skill set.

How to Use Pools within Pools

Following on from the above example we will set up the resource pools for one call type. The skill level of agents is measured on a scale of 1 -3, with 1 being the highest skilled.

Call Type 1

Suitable Agents Total Agents in Group Skill Level
Agents Group A 5 2
Agents Group B 3 1
Agents Group C 8 2
Agents Group D 10 3
Agents Group E 6 1
Agents Group F 20 3

First thing we wish to do is create pools of individual agents based on their skill level. Create 3 Pools in the usual way – See Pooled Resources

Pool 1 contains agents with Skillset value 1, Pool 2 contains agents with skill set 2 and Pool 3 contains agents with skill set 3. We then want to select how these groups will be prioritized, in this example we will use the longest available as this reflects the rules of selection above.

Call Type 1 – Skill Level 1 Example

Once we have created the 3 skill level pools we then want to create a final pool which contains the skill level pools. We then want to select the list sequence as our priority discipline to ensure that we first of all look for an agent of the highest skill level and then as we set up previously select the agent of the highest skill level who has been idle the longest.

Call Type 1 Total Pool Example


Pooled resources are now available in the list of all available giving the ability of pools within pools. This final pool can then be assigned to an activity in the usual way. Below is a graphical representation built in Simul8.

See Also