Editing Decide Modules

Decide modules can be added to the flowchart view via dragging and dropping (see Editing Create Modules for a demonstration) and edited by double clicking on the module. There are 4 types of Decide modules.

2-way by Chance

This type of Decide module will route entities one of two ways according to a given percentage. The percentage is specifed by the user and relates to the proprotion of entities that are routed to the True exit point.

2-way by Condition

This type of Decide module will route entities one of two ways depending on the condition. There are multiple types of conditions.

Variable

Arena evaluates a variable-based expression and routes to the True exit point if the expression is true or the False exit point otherwise.

Attribute

Arena evaluates an attribute-based expression and routes to the True exit point if the expression is true or the False exit point otherwise.

Consider the example of simulating queuing at a supermarket. If the entity attribute QueueNumber is equal to 2 then that entity will be routed to the True exit point which leads to processing at Counter 2.

decide_module_model.JPG

Decide_module_by_Attribute.png

Entity Type

Arena will route all of entites of the specifed entity type to the True exit point and all other entity types to the False exit point.

Consider the example of simluating an egg sorting factory. Suppose an egg can be a size 6 egg or a size 7 egg depending on its weight. If an egg has the Entity Type defined as 'size 6 egg' then that entity will be routed to the True exit point which leads to the Collection of Size 6 Eggs while all other eggs are routed to the False exit point which leads to the Collection of Size 7 Eggs.

Decide_module_by_entity_type_example.PNG

Decide_Module_by_Entity_Type.PNG

Expression

Arena evaluates the expression and routes to the True exit point if the expression is true or the False exit point otherwise.

Consider the example of simulating the operations within an egg sorting factory over several weeks. Employees are rostered to work Monday to Friday however employees do not work on the weekend. The simluation must determine that it is not the weekend in order to simulate employees arriving for work. Using the built-in Arena variable TNOW (the current time) and the built-in Arena function CalDayOfWeek( ... ) we can determine if the day is Sunday = 1, Monday = 2, etc (up to Saturday Day 7) the following Decide module could be used to determine if the factory should open for business.

Decide_module_by_expression_example.PNG

Decide_module_by_expression.PNG

NB: In plain English the above expression says: If the current day of the week is less than 1 (which means it is a Sunday) or is greater than 7 (which means it is a Saturday) route to the True exit point.

N-way by Chance

This type of Decide module is an extension of the 2-way by Chance Decide module. This type of Decide module will route entities any number of ways specified by the user and according to a given percentage. The percentage is specifed by the user and relates to the proprotion of entities that are routed to that particular exit point.

N-way by Condition

This type of Decide module is an extension of the 2-way by Condition Decide module.This type of Decide module will route entities any number of ways specified by the user and according to a given condition. There are multiple types of conditions (as discussed above) and these are specifed by the user. Any entities that do not meet specified conditions are routed to the False exit point.

-- MichaelOSullivan - 25 Aug 2009

Edit | Attach | Watch | Print version | History: r18 < r17 < r16 < r15 < r14 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r18 - 2010-03-13 - MichaelOSullivan
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback