The ProcessModel simulation software allows several different ways in process mapping to alternate get a resource to work on an entity in an activity. Some of the basic ways to attach a resource to an activity include; dragging a line from the resource to the activity with the GET and FREE on the same line, dragging a line from a resource to an activity where the resource has to start work, dragging another line from the same resource to the same activity or the exit route  or some other activity down the model, one line will GET the resource and the other will FREE the resource, or if you think that the line’s will clutter your model you use Action Logic statements GET and FREE to get and free resource.

When you are using individual GET and FREE lines male sure that you put them wherever  you want in your model all at once, this is because most of the times it happens that you forget to put out either one of the routes and that results in a simulation error, this means wasted time looking for a resolution to that error the time that could be spent looking for process improvement solutions.

Many times when you are creating a model for process improvement you are left with scenario’s where you would want to GET and FREE a resource differently. One of the most common business process improvement scenarios that I get faced with is when you have multiple resources allocated to the same activity and you want to GET an alternate resource every time an entity enters the activity. This may sound simple, and really it is! But to come up with the Action Logic that is simple and does what is required can take some time to come up with.  I will be sharing my way of taking care of this scenario; you can use this as a guide when you’re stuck with the same problem when trying to create process simulation of your model.

In my scenario I will GET a single resource, you can modify my logic to GET more than one resource, as per your process simulation needs. You will need to declare one attribute (example: a_Cycle) this will be an entity specific number representing which sequence of GET to use, and a variable (example: v_Count) this will be a global counter to control which GET sequence to use.

Take for example you have three resources in your model (Worker1, Worker2, Worker3). In the Action Logic of the activity where you want to GET the alternate resource we will first increment the variable (example: Inc v_Count), then we will check the value of the variable, if it is 4 then we will change it back to 1 (example: If v_Count = 4 Then v_Count = 1), storing the value of the variable in the attribute will be the next step (example: a_Cycle = v_Count), now using multiple IF statements we with check the value of the attribute and GET the resource accordingly, using the OR statement just in case the resource is now available (example: If a_Cycle = 1 Then Get Worker1 Or Worker2 Or Worker3 If a_Cycle = 2 Then Get Worker2 Or Worker3 Or Worker1 If a_Cycle = 3 Then Get Worker3 Or Worker1 Or Worker2), this logic will check the value of the attribute and then assign the resource accordingly.

After this the logic really depends on you, if you want to use a time statement or use the time box of the properties dialog, and where you want to free the resources, if you want to FREE the resource in the same activity the you just FREE ALL after the IFs, if you want to release the resource later in the model you can do that as well.

I hope this how-to helps many of you when you use the best process mapping software for your process improvement needs, if you do not know what ProcessModel is head to to get your free evaluation copy of the software.