Lesson 4: Routings

Definitions

Routings are lines that connect the locations (activities, storages, etc.) in the model. Ten different kinds of routings allow for great flexibility in how entities move through a model. These routing types include

The Logic of the Flow

 In Lesson 1 – Call Center model, there is only 1 routing type, the 3 percentage routes.

Note: The numbers 25% and 75% shown on the routes above are text labels used for clarity and have no effect on the actual percentages used.

Percentage

These routes cause a specified percentage of the entities leaving a location to select that route when moving to the next location. With the exception of Create routes, no other routing type may be combined with percentage routes leaving a location. The sum of all percentage routes at a given location must equal 100%.

Move Time

This is the time it takes the entity to move across the route to the new location. Any expression is valid.

Percent

The percentage of entities that should use this route. Only constants are allowed in this field.

New Name

This optional field allows you to rename an entity. If you have placed an icon in your model for this new entity, its name will appear in the drop-down list, and the name should be selected from that list rather than typed in. If no new icon exits, you may type a new name, and the previous entity’s icon will continue to be used.

Unique statistics are kept for each named entity exiting the model. Thus, in the call center example, ProcessModel shows different statistics for Call and Difficult. When renaming an entity, all attributes and statistics are inherited from the previously named entity.

Since cycle time, the time an entity spends in the model can only be accurately reported if the entity has left the model; stats are not collected on entities that don’t exit.

Create

This route is used when you want to create additional entities to be processed. Often this route is used for parallel processing such as a customer placing an order which generates additional tasks such as data entry, credit approval, etc. In the example below, the Truck entity would be considered the parent entity, and the Pallet entity would be the child.

Create Route In Model

Create “after activity” or “before activity

The new entity can be created before processing the activity from which originates or after activity processing is complete.

Move time

This is the time it takes the entity to move across the route to the new location. Any expression is valid.

Quantity

This is the number of entities to be created (0 – 9999). Any expression is valid.

Created Entity Name

The new entity must have a name given to it. If you have placed an icon in your model for this new entity, its name will appear in the drop-down list, and the name should be selected from that list rather than typed in. If no new icon exits, you may type a new name, and the previous entity’s icon will continue to be used.

Attach

Attach routes are typically used in conjunction with Create routes. This route will attach one or more entities, known as child entities, to another single entity, known as a parent entity, which is waiting at the attach location. Once attached, the combined group of entities continues through the model as a single unit, with the parent entity’s graphic and attributes. Attributes of the child entity are masked by the parent and not accessible unless the entities are later detached.

It is best to either hold the attaching child entities in a storage, or make sure the child activity has an output queue of sufficient size to hold all waiting entities. That way if the parent and children somehow get out of sequence, the attach route won’t keep other waiting child entities from getting passed the entities first in line waiting for their parent.

Using Attach Route

Move Time

This is the time it takes the entity to move across the route to the new location. Any expression is valid.

Quantity

This indicates the number of child entities to attach to the parent entity. Any expression is valid.

The word All can be a useful attach quantity. Let’s talk about two examples.

1. You have created a variable number of child entities using a Create route. You then want to attach all the children which that parent created.
2. You have a varying number of test samples waiting to be picked up by a technician who does a collection run every 2 hours.

Attach to

The child entity may be attached to any entity or to the entity that created it.

Using Create Route

Download Lesson 4 – Create and Attach model here.

Open the model Lesson 4 – Create and Attach model. Double click on the create route between Lab and Document Results.

Review

A patient comes into the hospital for a lab test. After taking the test he (the parent entity) takes the 100% route to wait for his results at Release Patient. The test results are created and move to Document Results across the Create route, getting their new name of Results. The results then attach back to the entity that created it (Patient). After all, we don’t want the patient getting the wrong test results. Through the attach route, the patient receives his results and he is released.

As soon as the results have been documented, another create occurs, creating the Notification entity which goes to the doctor.

Double click the attach route between Document Results and Release Patient and review the settings for that route.

Conditional

Conditional routes determine the selected route based on a Boolean expression in the route’s Condition field.

Using Condition Route

Review

Conditions can contain any Boolean expression and typically include at least one entity attribute. User-defined variables may also be used. In the example above, the value of the attribute a_Priority is checked. If the value is 1, then the route is selected.

Conditional routes are tested in the order in which they were drawn. When the first true condition is found, that route is selected. The condition may be blank if you wish. But always ensure the route with a blank condition is the last one drawn since a blank condition is always true and no other routes will be tested.

Alternate

This route is used to select an alternate location when the primary location doesn’t have the capacity to accept the incoming entity. The route is drawn by clicking on the Connector Line Tool (from the Toolbox on the left edge of the modeling window), then drawing a line from the primary route to the alternate location.

Detach

A detach route caused entities that have been previously attached to the current entity to be detached and routed to the connected activity.

Else

The Else route is used in conjunction with an Attach or Pickup route and is selected if the attach or pickup cannot be executed because the associated parent or child entity cannot be found.

Ordered

The Ordered route causes entities to wait until an Order Signal is received. The order signal contains two pieces of information: the size of the order to be released and the reorder level. When the contents of the activity or storage from where the signal originates fall below the reorder level specified, the order is placed, releasing the designated quantity of entities. An order signal is displayed as a dashed line and is connected on the arrow end to the ordered route.

Pickup

The Pickup route functions in a similar way to the Attach route. However, the Pickup route causes the parent entity to wait for the child entity to arrive at the attaching location. Whereas the Attach route causes the child entities to wait. Also, the Pickup route only allows attaching a single child entity to the parent since no Quantity field is included.

Renege

The Renege route causes entities that have been waiting in an activity input queue longer than an allotted time to leave the input queue without being processed at that activity and follow the renege route. The renege route will not pull an entity out of the activity itself. It only works from the input queue.