Chapter 10 – Modeling Techniques
10.1 – Activity-Related Techniques
10.1.2 – Activity Time Variation
Activity time that varies randomly due to the variable nature of the entity or activity or as a result of the inconsistent behavior of the resource used at the activity.
1. Determine the probability distribution that best fits the activity time (more on probability distributions).
2. Enter the probability distribution in the Time field of the General properties sheet for the activity (alternatively, a TIME statement can be used in the action logic for the activity).
Example: A phone-in order may have a time that is triangularly distributed with a minimum of 2 minutes, a mode of 5 minutes and a maximum of 12 minutes
TO DO: In the Time field of the General properties dialog enter T(2, 5, 12) as shown above. Alternatively you could enter Action Logic for the activity: TIME(T(2, 5, 12) min).
10.1.2 – Processing Entities Concurrently at an Activity
Multiple entities are allowed to enter an activity and be processed concurrently (at the same time at the same activity), independent of other entities.
1. Set the capacity of the activity to the maximum number of entities that can occupy the activity at any one time.
Example: Because a bank uses five tellers, the Bank_Teller activity is able to concurrently and independently handle up to five Customers at any given time.
TO DO: Create the activity with a Capacity of 5.
10.1.3 – Attribute-Dependent Activities
The activity time or some other activity action is based on the value of a particular attribute of the entity.
1. Define an attribute for the entity in the Insert -> Attributes & Variables dialog. Optionally, you may use one of the predefined attributes listed in Chapter 3.12.3.
2. Set the attribute to the desired value in any action logic in the model using the assignment statement.
3. Use an IF…THEN statement in the Action logic of the activity specifying the time or other action statements to be executed based on that attribute.
IF a_Type = REGULAR THEN
Time 8 Min
Time 5 Min
Example: Two types of Orders are processed in a system: Regular and Pre-invoiced . At the Log In activity, Orders which have been previously designated as Regular orders require an invoice to be printed and therefore take 8 minutes to process. Pre-invoiced orders take only 6 minutes to process.
TO DO: Define a descriptive attribute called Type with the descriptors Regular and Pre Invoiced. Assign the appropriate descriptor to the attribute in some Action logic prior to the Log_In activity. Enter the Action Logic (as shown above) to determine the type of order and act accordingly.
If the attribute assignment is based solely on percentage and this is the only activity where the attribute is used to make a decision, use the Percentage-Dependent Activities technique below.
10.1.4 – Percentage-Dependent Activities
The activity time or some other activity action occurring only a percentage of the time.
Suggested Technique for Activity Times
If only the activity time is different based on percentage, the following technique may be used.
1. Select the General tab of the activity’s properties dialog.
2. Enter a Discrete distribution function in the Time field for simple activity time assignment by percentage.
Example: An activity takes 5 minutes 28% of the time, and 7 minutes 72% of the time.
TO DO: Enter the Discrete distribution (as shown above) in the Time field.
To learn more about the Discrete distribution, see Distributions in Chapter-3.12.1.
Suggested Technique for Activity Actions
1. In the Action logic of the activity, use the Percent() function in an IF…THEN statement.
2. Define Action logic for the true and false cases of the Percent() function.
Example: Twenty percent of the time the X_Ray activity requires the use of a Specialist for 30 minutes. The other 80% of the time X_Ray simply takes 15 minutes with no resource required.
TO DO: In X_Ray ’s Action Logic, enter the logic as shown above.
10.1.5 – Assembly Activities
Attach or join one or more entities (e.g. component parts) to a base entity.
Note that in many instances you may not need to model the actual entities being joined but only the time to join them. If it is known, for example, that the components assembled to a base entity are always available when needed, it is sufficient to specify an assembly time for the base part at each assembly station as it moves through the process.
If it is necessary to model the component entities feeding into the assembly activity, do the following:
1. Route the main or base entity into the assembly activity using any routing other than an Attach.
2. Connect each storage or activity holding the entities to be attached to the assembly activity using the Attach routing (each type of component to be assembled must come from a separate storage or activity).
Example: Four Wheels and a Handle are assembled to a Wagon at the Assembly station
TO DO: Route the Wagon by any routing other than an Attach or Pickup. Route the Wheel (quantity of 4) and the Handle using an Attach routing for each as shown above. The time to perform the assembly activity may be defined in the activity’s Time field.
10.1.6 – Disassembly Activities
Detach one or more entities from another entity to which they have been attached.