![]() ![]()
|
CHAPTER 5
Resource Modeling ConstructsA Resource is an agent that is required to perform the tasks associated with an Activity. People, equipment, vehicles, money, and space can be modeled as Resources. The limited availability of Resources is an important constraining factor in business processes.· A bank customer requires the help of a loan officer in order to submit a loan application.· On a manufacturing line, a computer board cannot be populated with chips unless both an operator and a surface mounting tool are available.The loan officer, the operator, and the surface mounting tools are Resources whose availability affects the activity in these examples.SIMPROCESS provides the means for modeling Resources and for measuring the impact on the performance of a business process. In addition, variable and fixed costs associated with Resources may be used to measure Process costs and activity costs. See Chapter 7, "Activity-Based Costing," beginning on page 176 for more details.This chapter describes how to:· Define Resources· Define groups of Resources for complex Resource requirements· Define the Resource requirements of activities· Use Resource related activities such as: Get Resource, Free Resource, and Replenish Resource.Resources and Simulation
When an Entity arrives at an activity, SIMPROCESS checks to see if any Resources are required to process it. If Resources are required, SIMPROCESS attempts to obtain them. Once an activity gains control of one or more units of a Resource, those Resource units are unavailable to any other activity. The activity retains control of the Resource units until it finishes Processing the Entity.Resource Allocation Policy
During simulation, many activities may simultaneously contend for units of the same Resource. If a required Resource is not available when an Entity arrives at an activity, the Entity waits for that Resource in a queue. This state is defined as "Wait for Resource" in the SIMPROCESS Standard Report.If an activity requires units from two different Resources and units from only one Resource is available, SIMPROCESS may or may not obtain the Resource units that are available. It depends on the rules defined for the Activity. Any Resource units an activity holds are unavailable to other activities.SIMPROCESS attempts to satisfy Resource requirements in the order of the priority of Entities queued for the Resource. Priority is an Entity attribute assigned when the Entity is defined. All Entities with the same priority are treated on a first-come, first-served basis. A higher priority Entity may (optionally) preempt a lower priority Entity when the Resource units needed are not available. See "Preempting Lower Priority Entities" on page 161.Defining Resources
Use the Resource option from the Define pull-down menu, to define Resources in a model.In the following discussion, Resources for an order distribution Process will be used: sales representatives to Process the orders, trucks to deliver merchandise, and fuel to power the trucks.1. On the Define pull-down menu, select Resources...
The Resources dialog is used to define new Resources, modify existing Resource definitions, copy Resource definitions, or delete Resources. The Add function creates a new Resource definition. The Edit, Remove, and Copy functions are only active if there are existing Resource definitions. These functions operate on the Resource selected in the table:Edit modifies an existing Resource definition.Remove deletes a Resource definition.Copy creates a new Resource based on the definition of an existing one.Type specifies the Resource template that will be used to create a new Resource definition.Undo restores a Resource that has been removed.Add Template saves the Resource definitions for re-use. Templates are discussed in "Adding Resource Templates," beginning on page 230.SIMPROCESS has one Resource type pre-defined which can be used when defining a new Resource. New Resource templates can be created and added to the Type list. (See "Adding Resource Templates," beginning on page 230 for more information on Resource Templates.) When the Add button is chosen, a new Resource with the characteristics of the Type selected will be created. The pre-defined type is a default Resource:· One unit of resource.· No downtime defined.· No costs defined.· No Attributes or Expressions defined.See "Resource Downtime," beginning on page 343 for more information on Resource Downtime.Click on Add to define a new Resource:
On the Resource dialog Name is any unique name identifying the Resource. Define the sales clerk staff, and name the Resource Sales Rep.NOTEUnits identifies the initial capacity of the Resource. If the Resource is not consumable, capacity is constant throughout the simulation. If the Resource is consumable, capacity will vary over the length of the simulation. This fluctuation in capacity will be reflected in the capacity statistics in the Standard Report. Number of Units of a Resource can also be specified with a single line Expression, or a User-defined Attribute. See "Variable Resource Usage," beginning on page 252 for more information.Fractional Usage indicates whether or not fractional units of the Resource can be allocated. If this box is checked, a non-integer value for Units (e.g., 2.5, 10.2) may be defined. It also means that an activity can acquire a fractional part of the Resource.Consumable is used to identify resources that cannot be released and reused later, such as paper or oil. They must be replenished before demand is greater than supply.The Cost tab allows cost values to be assigned to Resources and keeps track of the expense involved in using Resources. This function is described in detail in Chapter 7, "Activity-Based Costing," beginning on page 176.Expressions tab provides the means of writing specialized Processing instructions.The Attributes tab defines attributes for the Resource. Attributes are customized variables. Typically, expressions include Processing of attributes. These topics are discussed in depth in Chapter 10, "Customizing a Model with Attributes and Expressions," beginning on page 237.The Document function is used the same way it is for Activities, to store descriptive text about the Resource. The default headings can be customized. (See "document Subdirectory" on page 474.)The Downtime tab is where the periods when the Resource will not be available in the model are defined. Resource downtimes are described in "Defining Downtime Schedules of Resources," beginning on page 347
Note that the basic properties of Resources added to the model can be edited directly from the table. However, changes made in the table are direct changes to the properties of the Resource and cannot be canceled. Also, the table can be sorted by a particular column by clicking on the column header. Holding the Shift key while clicking on a column header causes the table to sort in the reverse order.Adding Resource Requirements to Activities
Once the model flow and resources are defined, the Resource requirements of each Activity must be added to the model.The Resource requirements for an activity are defined by double-clicking on the activity's icon to display the Activity Properties dialog box. On the dialog box, click on the Resources tab:
Add adds an individual Resource requirement for the activity. The units required default to 1.0 when a Resource is added. Use Edit to modify an existing requirement definition.
Any existing resources will be listed under the Requirements heading. Highlight the resource allocation to be modified, and press Edit. Units may be a constant or a distribution. Resource requirements can also be set by using the Evl function with User-defined Attributes. See "Variable Resource Usage" on page 252.If the units requested are larger than the defined capacity of the Resource and the Resource is not a consumable Resource, a runtime error will occur. However, if the Resource is a consumable Resource, the Entity will remain in the wait for Resource queue. Entities remain in the wait for Resource queue until the consumable Resource has been replenished to a level at or above the required allocation.Remove deletes the requirement highlighted in the Requirements box.Once a list of Resources has been chosen for the activity, the combination of Resources in the Requires area may be specified.Requires defines the combination of Resources required to perform this activity:· Any One Member - any one of the Resources listed is sufficient to perform the task.· All Members - all members in the Requirements list are needed in order for this activity to Process an Entity. SIMPROCESS does not obtain any member until all the required Resources are available.· Reserve As Available - all listed Resources are required and will be reserved as they become available.· Number Of Members - A certain number of members of the list (but not all members) are needed to Process an Entity. Enter the value of number in the box.
Maximum Wait for Resource Time is used to set the maximum amount of time an Entity will wait for the requested Resources to become available. The Value field can be None, a constant, or any valid statistical distribution and will represent units as selected in Time Unit. A Value of None indicates that the Entity will wait as long as necessary to obtain the requested Resources. If Value is something other than None and the Entity is still waiting for Resources when the specified time has passed, the Entity leaves the Activity without processing. When this occurs, the Entity System AttributeEndWaitis set to TRUE. (See "Customizing a Model with Attributes and Expressions" on page 237 and "System Attributes" on page 512 for information on SIMPROCESS System Attributes.) Thus,EndWaitcan be checked to determine whether an Entity exited an Activity without processing and the Entity can be routed appropriately. (Important:EndWaitis not automatically reset to FALSE. This must be done in an Expression once the current value ofEndWaitis no longer needed for Entity routing.) For Activities that collect statistics, Entity Counts for Entities that exit without processing are displayed in theTotal Not Processedcategory of the Activity Entity Count statistics (page 196) in the Standard Report (page 186). Note that there is also aMaxWaitSystem Attribute that can be used to set the maximum amount of time that an Entity will wait for requested Resources (see "Setting Maximum Resource Wait With Expressions" on page 292).Release Entities In Process at Start of Downtime sets whether Entities are released when Processing is interrupted by Resource downtime. This option is not available on the Resource usage dialog of the Get Resource activity. This is because Get Resource activities have no delay for Processing. See "Defining Downtime Schedules of Resources" on page 347.Explicitly Getting and Freeing Resources
When an Entity arrives at an activity, if a Resource is listed in the Resource requirements list for the activity, SIMPROCESS attempts to obtain the Resource required to process the Entity. If the required Resource or Resources are not available, the Entity waits until the Resources become available. When processing is completed, the activity releases the Entity and frees the Resources.This is an implicit way to get and free a Resource. However, some business processes require more control over resource allocation. The Get Resource and Free Resource options allow the model to explicitly control the allocation of Resources.A clerk may perform a series of activities, and it is necessary that the same clerk execute all the activities in a given order. Therefore, the model should "Get" the Resource, perform all the activities and then "Free" the Resource. The remainder of the section will describe how to model this series of actions with SIMPROCESS..Get Resource and Free Resource Activities
Get Resource Activity
The Get Resource activity obtains a Resource and holds on to it across multiple Processes and activities.Assign a unique Tag to each Get Resource activity. Although it is possible to use the same Tag twice at different levels of the model hierarchy, it is highly discouraged.In the Get Resource Activity Properties dialog, click on the Resources tab to specify the Resources to be allocated. Fill out the Resources Usage dialog as specified in "Adding Resource Requirements to Activities" on page 152.
The Access/Create Customer Profile Process is shown with a Get Resource activity added:
Get Resource obtains Resources that would otherwise have been obtained in the ensuing activities. Do not define the same Resource requirement in those activities as well.Free Resource Activity
The Free Resource activity is used to release Resources obtained at a Get Resource activity.
All Resources that have been allocated for this Entity can be freed by clicking on the Release all Allocated Resources box.An explicit set of Resources to be freed can be defined by clicking on the Add button in the FreeResource Activity Properties dialog box. The Add button brings up the following dialog.
Assign a Name to the action being defined. This name will be displayed in the List of Actions field of the FreeResouce Properties dialog box.The Tag and Resource fields combine to define free Resource actions:1. Tag indicates the Get Resource activities whose Resources will be released. The pull-down list contains all the Get Resource tags in the model.
A tag may be selected from the listbox, or any tag! may be specified, which causes the free action to ignore the tag assigned at the Get Resource activity.If more than one Get Resource activity was used, separate free actions can be defined for each set of Resources to be freed.2. Use the Resource pull-down list to specify the Resource being freed, or select any Resource! to free all Resources allocated for the Entity. Resources are only freed if they were obtained in the activities specified in the Tag field.To release more than one Resource, but not all the listed Resources, create a separate action for each.3. Select OK to accept the definition. The action now appears in the List of Actions schedule.You can add additional actions to the list by clicking on Add and defining the action.To modify the definition for an action item, highlight it in the listbox and click on Edit. To remove the action, click on Remove.SIMPROCESS provides the option of whether or not to deduct the amount acquired from consumable Resources when those Resources are freed. Click on the Consumable Resources will be consumed check box in order to decrement consumable Resources. For example, a Get Resource activity obtains 50 gallons of Diesel Fuel in anticipation of shipping merchandise to a customer. Before reaching the shipping activity, the Entity enters a branch node in which the merchandise order is canceled. In this situation, one branch of the path leads to a Free Resource activity where the consumable Resource is not consumed, since it was not used. The other path continues on to the shipping activity, and then to a Free Resource activity in which the fuel Resource is consumed.Getting and freeing Resources can also be accomplished using expressions. See "Getting and Freeing Resources Using Expressions" on page 281.Replenishing Consumable Resources
The Replenish Resource activity is used to replenish a consumable Resource during a simulation.Diesel fuel is a consumable resource used when shipping merchandise. Once an order is made, the truck and a quantity of fuel will be allocated as Resources to perform the shipping. The fuel quantity is deducted from the inventory and gets replenished by a daily shipment received each morning.
Double-click on the Replenish Resource icon to define this action.
Select the consumable Resource on the drop down menu, and then click on Add to define a replenish action:
The Resource field identifies the Resource to be replenished. The pull-down list shows all the consumable Resources defined in the model.Units indicates the quantity of the Resource to be added either in a real number or a statistical distribution. The distribution can be selected from the pull-down list of the Units field. The Replenish to Capacity box indicates that a Resource should be replenished only up to the value specified in its Units field when the Resource was defined.Note that Resources can also be replenished using expressions. See "Changing Resource Capacity With Expressions" on page 291.Preempting Lower Priority Entities
A higher priority Entity may preempt a lower priority Entity when the Resources are not available. Selecting Preempt Lower Priority Entities on the Entity definition dialog will potentially cause all Entity instances of this type to interrupt Activities processing lower priority Entities.
In this example, if a Rush Order Entity enters an activity that requires Resources, and no Resources are available, SIMPROCESS will check the Entities being processed. If there is a lower priority Entity Processing, the Processing will stop and the Resources will be released. When the Processing is stopped, if the Interrupt Processing Entity instance expression has statements, it is executed. The Rush Order Entity obtains the Resources and starts Processing. The Entity that was interrupted goes back to the wait for Resource queue. It will be placed in the queue ahead of all other Entities with the same or lower priority. When the interrupted Entity obtains Resources again, it will Process with the time that was remaining when it was preempted. Also, if the Resume Processing Entity instance expressions has statements, it is executed. (See page 275 for information on Entity instance expressions.)
|
Quadralay Corporation http://www.webworks.com Voice: (512) 719-3399 Fax: (512) 719-3606 sales@webworks.com |
![]() ![]()
|