Available routing rules are:
Ignore Blocked Routes
It is possible to specify what should happen if the chosen route is blocked. “Ignore Blocked Routes” means that if the desired route is blocked then the same rule will be used again to find another route. Switching “Preference Only” off means that once a route has been chosen (using the rule), then for this particular Work Item leaving the Activity, it must go down the chosen route and it will wait until that route becomes available.
The Circulate Routing Out Rule sends the Work Items out to the destination objects in sequence, so the first Work Item will go to the first destination in the routing out list, the second Work Item to the second destination, and so on. When each of the possible routes out have had items sent to them, the next item will go to the first destination in the list. So the Work Items “circulate” through the list of destinations.
When ticked, Ignore Blocked Routes tells the Work Item to miss out/skip any route that is not available, for example, because the Queue is at capacity, or if feeding directly to an Object when the Object is already processing an item.
When Ignore Blocked Routes is not ticked then Simul8 will wait for the route to become available before routing an item out.
The destination is decided randomly with each destination having an equal chance of being chosen.
The routing out destinations of an object can be controlled by Percentage. The destination Object is decided randomly (like “uniform”) except that the exact percentage chance of a Work Item going to each destination can be specified.
The Percentage must equal 100. If the percentages do not add to 100 they will be pro-rata adjusted when you click OK to exit from the dialog box.Alternatively you can click the ”=100” button to see this adjusted.
The Priority routing rule sends all Work Items to the first destination in the list, unless this is blocked, when the 2nd is tried and so on.
To route a Work Item depending on Label value: Select Label in the routing dialog and click the Detail button to select what Label to use. The Work Items to be routed must have this Label attached to them. If a Label is missing from a Work Item type that goes through the Object, then the default routing rule (Circulate) will be used.
The value of the Label should be between 1 and N, where N is the number of alternative routing destinations.
If the value is > N, the Nth destination will be used. If the Label value is set to 0, then item will wait until the Label is set to a number greater than 0. This feature is designed to work with Before Exit Visual Logic.
Click here to access a tutorial on Routing out by Label, or click on the link below to donwload an example simulation file.
Routing using labels example
This routing method sends Work Items to the queue that is the shortest. If one or more of the places that Work Items can be sent is a Conveyor, then Work Items will go to the Conveyor if it can currently take more work. For example, a Conveyor that can take work immediately counts the same as a Queue with nothing in it.
Look up the next destination in the Jobs Matrix.
Look up the next destination in the Cycle Matrix.
Passive routing out means that the object does not attempt to push Work Items out. Instead it keeps hold of the work until another simulation object pulls it out.
By Condition determines which route a Work Item will take based on a set of predefined conditions. If a condition is met the work item will be sent down the route associated with that condition.
By Sequence sets the order which work items will leave an activity by a predefined repeating sequence.
In version 2018, By Condition replaced Routing out by Type. If you are on an earier version, you can find some information on Routing out by Type here.
From version 2022 onwards, you can use Routing Out By Machine Learning algorithms to control routing decisions within your model using Python or R scripts.