Process Playground

Resource Block

The Resource Block is used to create resource dependencies for Activity Blocks. Typically, the Resource Block helps create a staffing plan of people associated with various steps in a process.

For example, you may have a model where you have an Activity Block representing the check-out lanes in a grocery store. This block may have the "Servers Available" parameter set to 10 to represent the 10 physical check-out lanes available. By connecting a Resource Block named "Clerks," you can enter the employee work schedules so that the Resource Block controls the capacity of check-out activity such that a check-out lane is unavailable unless it is staffed.

In the image below, a simple medical process is shown.

Resource Block Medical Process Example

Resource Block Medical Process example.

Two Resource Blocks are used to represent the available pool of nurses and doctors. Two steps in the process, "See Nurse" and "See Doctor with Nurse," require a nurse from the "Nurses" Resource Block. One step, "See Doctor with Nurse," requires a doctor from the "Doctors" Resource Block. As you can see in the picture, Process Playground adds an alert message below the Activity Blocks associated with each Resource Block.

Parameters

The parameters of the Resource Block include:

Resource Block Parameters

Resource Block Parameter Popover

  • Connected Activity Blocks represent the Activity Blocks required to use resources from this Resource Block. In the example, note that the "See Nurse" and "See Doctor with Nurse" blocks are both connected to this Resource Block.
  • Resource Availability Table defines the staffing schedule of the nurses represented in this Resource Block. In this example, two nurses are available from time zero through the end of the model run, while three additional nurses are available from time 10 to time 20.
  • Repeat Table Every allows the schedule input above to be repeated from the beginning until the end. This is useful if you have a repeating schedule of workers over the course of the entire simulation and allows you to put in that schedule just once. If there are any rows that end AFTER the selected repeat time, then those will NOT be included in the repeat.

Repeat Table Every Example

If you run a simulation for 120 minutes and the block parameters are:

Resource Availability Table Example

Note that the Repeat Table Every is 60, and the first two rows both have end times less than or equal to 60.

It is equivalent to a block that shows this:

Resource Availability Table Expanded

Look at the first four rows. The second two rows are the "repeated" version of the first two rows, both in length of time and number of resources.

Note that any row that shows a time that is after the repeat time will NOT be repeated.

In addition, this table shows how resources are layered, not overridden. Functionally, the number of resources during each time frame is:

Resource Layering Table

Results

The only result returned for the Resource Block is the utilization of resources defined in the block. In our example, utilization will be calculated based on the total available time: two nurses for the entire run plus three nurses available from time 10 to 20.

IMPORTANT NOTE: Once a resource is being used by an Activity Block, it may not be returned before the "End Time" defined in the Resource Availability Table. In this case, the block may return a utilization result over 100%, representing overtime the resource worked.There is no way to interrupt an Activity Block and reclaim the resource before the Activity Block is finished with the resource.

Attaching two or more Resource Blocks to an Activity

When you assign two or more Resource Blocks to an Activity Block, the Activity Block allows you to choose how it will use those resources. In the image below, you can see (highlighted in yellow) some of the key parameters settings you must make to determine the Activity Block's mode of operation.

Activity Block Parameters with Multiple Resource Blocks

Activity Block Parameter Popover, when multiple Resource Blocks are connected.

Those modes are:

  • Resources Required: All In this mode, the Activity Block will require one resource from each of the Resource Blocks connected to the Activity Block. "All" mode means that all resources are required for the activity to be performed. In our example, this would be the "See Doctor with Nurse" activity where the doctor and the nurse is required.
  • Resources Required: One In this mode, only one of the attached resources is required, so the Activity Block needs only one of the available resources to perform the task. For example, a restaurant's busboy or waiter can perform the task of filling water glasses. With this option, you must determine how the activity will try and use the available resources. Choose Resources by Most Available will check the resource pools and see which pool has the most available resources. This mode is used to balance resource utilization across multiple resource pools. Choose Resource by Priority is the more common setting, where the resource pools are ranked by priority. The Activity Block will attempt to pull a resource from the No. 1 priority pool, then move to the 2nd, 3rd, etc., priority pools if resources are unavailable in the higher priority pools. In our restaurant example, the activity might first try to use a busboy to refill the water glasses before consuming the more valuable time of the waiter.

The Resource Block returns a single result: resource utilization. This will be calculated based on the total time available as defined in the Resource Availability Time, and may exceed 100% if the associated Activity Block holds the resource beyond the simulation end time.

Was this helpful?