![]() ![]() ![]()
|
CHAPTER 3
Building Your First Model With SIMPROCESSThis chapter gets you started with your first SIMPROCESS model. The purpose of this chapter is to familiarize you with creating a basic SIMPROCESS model, simulating the process, and analyzing the performance measures of the process. First, a description of the tutorial model is given. Then, a step-by-step tutorial is provided.Model Description and ObjectivesThis model is a description of a call service process for a mail order business. Calls arrive at the mail order business and are routed by an automated answering system to either the customer service or sales department. Customer Service Calls arrive based on an Exponential distribution with a mean value of 6 minutes. This means that a call arrives on average every 6 minutes. Sales calls arrive based on an Exponential distribution with a mean value of 3 minutes. While the customer service calls take about 15 minutes (use Normal Distribution with a mean of 15, and a standard deviation of 3), the Sales calls take about 6 minutes (use Triangular Distribution with a minimum of 3, mode of 6, and maximum of 12 minutes). It is assumed that all Sales calls are for placing sales calls. The departments are staffed with 3 customer service (at $15 per hour) and 4 sales representatives (at $12 per hour).NOTEThe purpose of this SIMPROCESS exercise is to build a model of the call service process and analyze the performance measures of the process. Specifically, the performance measures of interest are total processing time, wait time, resource utilization, and activity costs.Creating the Process ModelCreating your first SIMPROCESS model involves 3 simple steps:· Mapping the Process· Defining the Activities and Workflow· Defining the Resources and Their UsageMapping the ProcessAs mentioned in Chapter 1, SIMPROCESS is the first hierarchical modeling tool that combines process mapping with simulation. Let's begin our tutorial by mapping the call service process. Let's first define 3 major processes, namely, Generate Calls, Process Calls, and Complete Calls. To define the first major process, simply click on the Hierarchical Process icon in the Layout Toolbar (the uppermost icon on the toolbar, next to the pointer), drag the mouse, and drop it on the layout. Notice that SIMPROCESS assigns a default name called Process1 for the object you placed on the layout. Also, notice that each process box has one input and one output pad. You will later use these pads as the connection points between the processes.
Once you've placed the Process icon on the layout, you can size it, move it, and even cut and paste it. Now, let's define the name of this process as "Generate Calls," and change the icon. To accomplish this task, you need to bring up the Properties dialog for this object. There are 3 ways to bring up the properties dialog of a hierarchical process that has been selected: 1) Clicking on the Properties button in the tool bar (the button next to the Clear tool), 2) Choosing the Edit/Properties option from the main menu, or 3) Right mouse clicking on the process and choose Properties from the pop up menu. Let's click on the Properties button and bring up the dialog.
The Name field contains the default name, "Process1," that is displayed below the process box in the layout. You can change this name or disable the Show Name option. For now, let's leave it as is. Also, on the Icon list notice that DefaultIcon is selected.In addition to the name, you can display text inside the process box graphic on the layout. To accomplish this task, click on the Text Block tab. In Line 1 Text type "Generate". In Line 3 Text type "Calls". When you close the properties by clicking OK, the text label will appear on the process. Based on your Font Attributes selections, you may need to resize the process for the label to fit. If so, select the process then choose Resize from the Edit menu.One of the useful process documentation features of SIMPROCESS is the Comment field in the properties dialog. For this process, let's type in "This process generates 2 types of calls." Click OK to accept the input and close this dialog.
To define the second process, click on the Process icon from the Layout Toolbar and drop the process to the right of the first process in the layout. Then, click on the Properties button in the tool bar to bring up the Properties dialog. Let's label this process by clicking on the Text Block tab and typing in "Process Calls". In the Comment field, type in "As-Is Process with 3 Service and 4 Sales Reps." You will create a To-Be alternative of this process in the next chapter.To define the third process, place it on the right-hand side of the layout, repeat the steps described above, and label it "Complete Calls." You now have 3 processes in your layout. Resize the processes if necessary. To resize, select the processes and choose Edit/Resize.
Next, let's define the workflow by connecting the 3 processes using the Connector tool from the Layout Toolbar. Note that SIMPROCESS gives you two types of connectors. One type is a straight connector (diagonal button) and the other type is a bent connector. For this tutorial, let's use the bent connectors. First, let's connect the Generate Calls to Process Calls. Select the Connector tool from the Layout Toolbar and click on the right hand pad (small triangle) of the Generate Calls process. Then, click on the left pad of the Process Calls process. When you click on the left pad of the Process Calls process, the connector between the two processes will appear. Repeat this task to connect the Process Calls process to the Complete Calls process. Next, click on the left (input) pad of the Generate Calls process and click the Clear button on the tool bar or press the Delete key on the keyboard. Since nothing is entering this process, the input pad is not needed. Do the same thing for the right (output) pad of the Complete Calls process. That pad is not needed since no entities are leaving the process. When you are done, your model should look like the figure above.As you can see, mapping your process with SIMPROCESS is as quick and simple as flowcharting! While SIMPROCESS gives you the benefits of flow diagramming, it also provides you with the benefits of object-oriented simulation. The 3 processes that you just placed on the layout during the process mapping step are hierarchical objects. You can drill down inside each process and define its sub-processes. Unlike the attached diagram relationships in flowcharting based simulation tools, in SIMPROCESS, the relationships between hierarchical processes are based on object oriented modeling. In other words, the sub-processes not only inherit the graphical symbols of the hierarchical process but also their behavior. This provides the major benefit of reusability.In this tutorial, you will drill down one level within each process; however, there is no limit to the number of levels you can drill down. To practice drilling down, simply select a process and double click on it. You can also drill down by using the View/Descend menu item, or by using Descend on the right click menu, or by clicking the down arrow on the tool bar. Notice that you have a new layout with an input pad on the left-hand side and output pad on the right-hand side of the layout. Also notice that SIMPROCESS keeps you informed as to where you are in the hierarchy by displaying the name of the parent process object for this current layer.To get back up, simply double click any blank space on the layout. You can also accomplish the same task by choosing the View/Ascend from the main menu bar, or choosing Ascend from the right click menu, or clicking the up arrow on the tool bar. Now, you are ready to create a hierarchical simulation model of your process by using the powerful activity-based modeling and resource modeling constructs.Defining the Activities and WorkflowAt the lowest level of each hierarchical process object is an activity or activities that describe the behavior of that process. In this tutorial, you will define two GENERATE activities that describe the process called Generate Calls. You will define a BRANCH activity followed by 2 DELAY activities that describe the process called Process Calls. Finally, you will define a DISPOSE activity that describes the process called Complete Calls.GENERATE Activities -- The entities (or flow objects) that will be moving through your model are created with GENERATE activities. The first process in your model generates two types of calls. Let's drill down inside the Generate Calls process by selecting that object and double-clicking on it. Since this particular process is the beginning of the tutorial exercise, you need not be concerned about the input pad. First, let's define the GENERATE activity that generates the service calls. To do this, select the GENERATE activity tool from the Layout Toolbar and place it on the layout. Then, double-click on the graphic to get the dialog.
Let's change the name of this activity to "Generate Service Calls." Next, click on the New Entity button to define the service calls. This brings up the dialog that allows you to define new entities.
Select the Add option, type in the name "Service Calls," and click on OK. Notice that the name Service Calls appears in the Entity field. This field is a list box that contains the names of all entities that are defined in the model.Now, you are ready to define the interval between service calls. Select the Periodic1 schedule and click the Edit button. In this simple model, we will represent the time between customer service calls using an Exponential distribution. To define the Interval for service calls, click on the down-arrow next to the Interval combo box to see the list of available statistical distributions. Select the Exponential distribution, that is, Exp(10.0).
You will see Exp (10.0) in the distribution field where 10 is the default value for the mean. To change the mean value for the interval to 6, click on the Interval detail button (the button with three dots on it). Let's do that and type 6 (minutes) in the mean field. Click on OK to complete the distribution selection. You can also edit the mean field by editing the distribution field directly. Select Minutes as the Time Unit.
The default value for generation of calls in the Quantity field is 1, which is what you want for this model, so use default is correct. Also, the default value for Entity is Service Calls, so use default is appropriate. Click OK to close the Periodic1 schedule.Notice that the GENERATE activity gives you many other options. For example, you can use a data file to generate the calls instead of a statistical distribution. Or, you can create complex schedules and cyclical arrival patterns. For now, let's click on OK and move on to defining the generation of sales calls.To define the generation of sales calls, select a GENERATE activity again from the Layout Toolbar and place it on the layout below the first GENERATE activity. Then, double-click on its graphic to get its properties dialog. Let's change the name of this activity to "Generate Sales Calls."Next, click on the New Entity button to define the sales calls the same way we did for Service Calls. This brings up the dialog that allows you to define new entities or edit existing ones. Select the Add option, type in the name "Sales Calls." Choose an icon for the Sales Calls from the Icon combo box, different than the one you used for the Service Calls. When you view the animation during the simulation run, we will be able to see which calls moving through the system are Sales Calls and which are Service Calls.
Click on OK to close the Entity Type Properties dialog. Select the Periodic1 schedule, then choose Edit. In this instance use default for the Entity field is not appropriate since the name Service Calls is displayed in the Entity field of the Generate Sales Calls activity. To change it to "Sales Calls," click on the down-arrow to see the Entity list and select Sales Calls from the Entity list. Now, you are ready to define the interval between Sales Calls. To define the Interval, click on the down-arrow to the right of the Interval combo box to see the list of available statistical distributions. Select the Exponential distribution again. Click on the Interval detail button and type 3 (every 3 minutes) in the mean field as the mean value for the distribution. Before closing the dialog for the Exponential distribution, click on the View button in the lower right-hand corner. SIMPROCESS provides you with this useful viewing facility so that you can visualize the probability density function for this distribution. When you are done viewing the curve, close that window to return to the dialog for the Periodic1 schedule. Select Minutes for the Time Unit, and click on OK. This returns you back to the Generate properties dialog. Click OK again to get back to the layout.At this point, you must do an important task to complete the description of the call generation process. That is, you must connect the output pads of the two GENERATE activities to the output pad of the hierarchical process called Generate Calls. To accomplish this task, first select the Connector tool from the Layout Toolbar and connect the output pad of the Generate Service Calls activity to the output pad on the right-hand side of the layout. Then, repeat the same task by connecting the output pad of the Generate Sales calls activity to the output pad of on the right-hand side of the layout.
Now, we are done describing the processes for the Call Generation process. Double-click on any blank area on the layout and get back up to the major process level of the hierarchy.Next, you will define the Process Calls process which consists of a BRANCH activity followed by 2 DELAY activities. To drill down inside the Process Calls process, select that process with the mouse and double-click on it. Notice that SIMPROCESS gives you an input pad on the left-hand side, an output pad on the right-hand side and a blank layout in the middle for placing the activities at this level.The Branch activity determines the routing of calls. From the Layout Toolbar, select the Branch activity and place it to the right of the input pad. Then, using the Connector tool connect the process input pad to the input pad of the BRANCH activity. This means that calls entering the Process Calls process will be the input to this branching activity.
Then, double-click on the BRANCH activity icon to get its properties dialog. Let's change the name of this activity to "Route Calls." By default, the branch type is set to Probability. Change this setting by selecting the Entity Type button and select OK to close this dialog.The DELAY activities represent the Customer Service and Sales activities. From the Layout Toolbar, select a DELAY activity and place it to the right of the BRANCH activity. Then, select the Connector tool and connect the BRANCH activity to this DELAY activity.
To specify which entities take this route, you need to double-click on the connector between the Branch and Delay activities. Inside the Branch Connector Properties dialog, the currently displayed Entity Type is the "Service Calls." To display the name "Service Calls" in the layout, type it in the name field and check the Show Name box. Click on OK to close this dialog.Next, double-click on the DELAY activity graphic to define its properties. Let's change the name of this activity to "Customer Service" and define the duration for servicing a Customer Service call. The Duration field is a combo box much like the Interval field in the GENERATE activity. To define the duration, click on the down-arrow next to the combo box and select the Normal distribution (Nor). Then, define the parameters of the distribution (15 for the mean and 3 for the standard deviation). Again select Minutes for the Time Unit. Notice that one of the tabs in the Delay Properties dialog is for defining resources required for this activity. You will do that after completing the workflow definition.Next, you need to define the DELAY activity representing the servicing of the Sales Calls the same way we did for Customer Service. To do this task, select the DELAY activity from the Layout Toolbar and place it to the right of the BRANCH activity just below the Customer Service activity. Then, select the Connector tool and connect the BRANCH activity to this DELAY activity.To specify which entities take this route, double-click on the connector and select the "Sales Calls" entity from the list of Entity Types on the right and then click the Add button to display the entity on the left. Then, type in the name "Sales Calls" in the connector name field and make sure the Show Name box is checked. This feature provides for meaningful documentation of the workflow. Click on OK to close this dialog.Next, double-click on the DELAY activity graphic to define its properties. Let's change the name of this activity to "Sales" and define the duration for servicing a sales call (triangular distribution, i.e., TRI, with a minimum of 3, mode of 6, and maximum of 12). Make sure to select Minutes as the Time Unit.To complete the description of the activities at this level, you need to connect the output pads of the Customer Service and Sales activities to the output pad that is on the right-hand side of the layout. At this point, the layout of your process should look something like the following figure.
When you are done with those connections, you can get back to the major process level by double-clicking in any blank space in the layout.The final task for completing the workflow is to describe the completion of calls. To accomplish this task, double click on the hierarchical process named Complete Calls.This activity is used for disposing of the calls after they are serviced. That is why the DISPOSE activity only has an input pad. For now, you need not define any parameters for this activity. Just select the DISPOSE activity from the Layout Toolbar, drag and drop it in between the two pads. Then, using the Connector tool, connect the input pad of the hierarchical process to the left side of the DISPOSE. When you are done making this connection, simply double-click in any blank space on the layout and go back up to the major process level.
At this point, you are through with the definition of your processes, activities and workflow. You are now ready to define your resources and where they are required to perform work.Defining the Resources and Their UsageOne of the most powerful constructs of SIMPROCESS are the Resources. In this tutorial, you will define the Customer Service and Sales resources, their capacity (quantity available) and hourly labor costs. You will then assign them to the appropriate activities.Resources are defined under the main menu option called Define. Selecting the Resources option brings up the Resources list box. To define a resource, click on the Add button, type in the name "Sales Rep" and define Units as 4.
To define the hourly labor rate, click on the Cost tab and type "12" in the field called Cost per Time Unit. The Time Unit defaults to Hours. This means that each representative costs $12 per hour. During the simulation, SIMPROCESS will calculate the activity costs based the actual usage of the sales representatives. Then, click on the OK button to complete defining the "Sales Rep" resource.
To define the Service Reps, click on the Add button of the Resources list box and repeat the same steps while setting the Units to 3 and hourly labor rate to $15. When you are done defining the Service Reps, click on the OK button. Then, click on the Close button of the Resources list box to get back to the layout.Now, you are ready to define how these resources are used in processing calls. This task is accomplished by going into the activities that use the resources. Drill down to the lower level of the hierarchical process named Process Calls. First, assign the Sales Reps to the Sales activity by double-clicking on the DELAY activity representing Sales. While in the Sales activity dialog, click on the Resources tab.To define the resource requirements for this activity, first click on the combo box to see the list the resources that you have defined. Select the "Sales Reps" resource and click on Add, leaving 1 as the default for the Units. This means one Sales Representative is required to perform this activity every time a Sales Call comes in. During the simulation, when a call arrives it will be serviced by one of the 4 Sales Representatives. If all Sales Representatives are busy, then the caller will wait in a queue until the next representative becomes available. SIMPROCESS will automatically keep track of the number of calls waiting, as well as how much time each call waited. Click on OK to close the dialog.To define the usage of the Customer Service representatives, select the "Customer Service" activity and repeat the same steps, again assigning one representative to each call that enters the activity. When you are done assigning the resources to their corresponding activities, you are ready to simulate the process.Let's go ahead and save the model now, before running the simulation. To save your model, select the Save option under the File menu. Then, type in "As-Is" in the field next to File Name.Note that the file extension for SIMPROCESS models, .spm, is automatically assigned. So, your model file will be saved as As-Is.spm. Now, you are ready to simulate your process!Simulating the ProcessOnce you have completed building your model, simulating your process model involves 3 simple steps:· Defining the Statistics Collection· Defining the Run Settings· Running the SimulationDefining the Statistics CollectionBefore running the simulation, we need to define what statistics we wish SIMPROCESS to gather for us. SIMPROCESS provides you with a very flexible report generating system. As mentioned in the model description and objectives, the performance measures that we are most interested in are total processing time, wait time, resource utilization and activity costs.From the Report menu, select the Define Global Statistics Collection option. Collect Entity Statistics and Collect Resource Statistics should already be checked. If not, then select them. These are the default statistics collected by SIMPROCESS. When using this menu it is not necessary to individually request statistics for entities, resources, and activities.
Defining the Run SettingsThe next step before running the simulation is to specify how long we want to simulate the process. To do this, select Simulate from the main menu, and then the Run Settings option. This will bring up the Run Parameters dialog. The default start date will be January 1 of the current year. In our example the default start date is "01/01/2006." For now, leave the start date as the default date and time. Change the end date to "01/02/2006." This means SIMPROCESS will simulate the model for 1 day (24 hours) and report statistics over that time. Click on OK to close the dialog and accept the inputs.
Running the SimulationNow, you are ready to run the simulation. You can do this by clicking on the runner graphic on the tool bar, selecting the Simulate/Run option from the main menu, or by pressing the F4 key. If Verify Model on Run is selected on the Run Settings, a verification process occurs before the simulation. This process checks to see if all activities and processes are connected. If unconnected pads are found, warning messages appear.When the simulation starts running, SIMPROCESS gives an animated picture of the workflow. Animation is an extremely powerful tool for verifying your model and visualizing your process in motion.During the simulation, you will see the simulation clock on the lower right-hand corner of your screen. As the process is simulated, SIMPROCESS dynamically updates the counters above the processes and activities. At the top level of your model is the animation of the 3 hierarchical processes. Let's double click on the Generate Calls process to see the animation of its detail. The counters that are above the Generate activities display the number of entities generated so far.Next, double click on any blank space and back up to the top level. To watch the animation of the customer service and sales activities, drill down into the Process Calls process. The counters above the Branch and Delay activities show the number of entities currently in process.Now, move back up to the top level and descend into the Complete Calls process. The counter above the DISPOSE activity displays the number of entities processed so far. In this model, because both types of calls are sent to the same DISPOSE activity, the counter displays the total number of calls. In addition to these counters, you can display real-time graphs of cycle times, counts, and the number of calls waiting for service.
Animation can be turned off anytime to speed up the execution of the simulation. This can be accomplished by deselecting the Animation On from the Simulate menu, by pressing F8, or by clicking the animation button (light bulb) on the tool bar. While the simulation is in progress, notice that the status bar in the bottom of your screen displays "Simulating" and "Trial 1 of 1." When the simulation is over, you will notice that the status bar displays the message "Simulation Complete." Once the simulation is complete, you are ready to analyze the output reports.Analyze the Performance MeasuresAnalyzing the performance measures for this model involves displaying the Standard ReportDisplaying the Standard ReportTo bring up the Standard Report, select the Report/Display Standard Report option from the main menu. The Standard Report can be displayed in a text editor or a spreadsheet. We will use text editor here. If the default path to WordPad is not correct, simply select the Browse button and choose a text editor application. Select Replication 1 and click Display Reports.First, we'll look at "Entity : Total Count - Observation Based." This gives you the values of 460 for sales calls processed and 234 for customer service calls processed."Entity : Cycle Time (in Hours) By State" shows that the average total processing time for a Sales call was about .12 hours (7.2 minutes) while the total processing time for a Customer Service call took about .36 hours (22 minutes). These times include the actual time for a call (in process time) plus the wait time. The average wait times are .007 (.42 minutes) for Sales calls and .102 (6 minutes) for service calls.Although the average wait time for sales calls is acceptable, an average wait time for customer service calls seems too long. An important question that comes to mind is "If the average wait time was 6 minutes, what was the maximum wait time for a customer service call?"The maximum wait times were .118 (7 minutes) for sales and .596 (35.8 minutes) for customer service calls. This means, of the 460 sales calls, the one that waited the longest had to wait 7 minutes and of the 234 customer service calls, the one that waited the longest had to wait about 36 minutes.Is this acceptable? For any mail order business that wants to be competitive, the answer is "Of course not." No customer would wait 36 minutes before getting serviced. Most likely, they will hang up and try again. Or, they will take their business somewhere else. In the next chapter, you will create the To-Be process to reduce the maximum wait time for customer service calls. Now, we will look at the resource statistics."Resource : Number of Units By State" shows that average utilization of the Customer Service Representatives and Sales Representatives was over 2. Considering the fact that there were 4 Sales Reps and 3 Customer Service Reps available, this points out the possibility of overstaffing in the sales department. However, you need to keep in mind that wait times were minimal for sales calls while they were considerable for customer service calls. If you were to reduce the sales staff to 3 units, what would happen to wait times for sales calls? You may want to try this alternative on your own after completing this tutorial.Now let's review the activity based costing statistics. Since you only ran the simulation for 24 hours, this means the costs were calculated for the 24 hour simulation run within the first week. There are three categories of costs: Resource by Activity, Resource by Entity, and Activity by Entity. In Activity by Entity you see that the activity costs are $643 for Sales and $900 for Customer Service activities. The proper interpretation of these costs is as follows: It cost $643 to service 460 sales calls and $900 to service 234 customer service calls. This adds up a total of $1,543 for serving 694 phone calls.Important Note: Please note that this simple exercise is intended to provide you with an overview of SIMPROCESS. In a typical business process simulation project, you would need to run this model for longer duration and for multiple replications before making conclusions about the results.
|
Quadralay Corporation http://www.webworks.com Voice: (512) 719-3399 Fax: (512) 719-3606 sales@webworks.com |
![]() ![]() ![]()
|