CHAPTER 10

Optimizing Business Process Perfomance

After a simulation model has been developed to represent an existing or proposed business process, one might want to find the configuration that is best (according to some performance measure) among a set of possible choices. For simple processes, finding the best configuration might be easy. In the queuing example in Section 7.2 in Chapter 7, the system can be simulated with one underwriting team, and measures of performance (e.g., percentage of requests that wait for more than 10 minutes) can be calculated. Then the simulation can be run again with two underwriting teams, and the new values can be calculated. Finally, a decision about the optimal number of underwriting teams can be made by calculating the marginal increase in service compared to the marginal increase in cost.

When processes are complex and the configuration depends on a number of strategic choices, the trial-and-error approach can be applied with only limited success. Consider, for example, a supermarket with nine cash registers. Suppose the manager wants to find the optimal staffing level in a 10-hour period; that is, the manager would like to determine how many cash registers to open during each period in order to optimize the checkout process according to a specified measure of service. At the same time, the manager might be faced with budget constraints that prevent overstaffing the system. With a simulation model of the supermarket and a quantifiable definition of the performance criterion, an optimizer (such as Extend’s Evolutionary Optimizer) can be invoked to search for the best configuration (as determined by a set of values for input factors to the simulation model). Optimizers are designed to search for configurations that meet the user’s constraints while maximizing or minimizing the value of an objective function.The number of possible configurations in this case is large (910 ≈ 3.5 billion), rendering the enumeration of all possible combinations impractical.

This chapter is devoted to exploring how process performance can be optimized when a simulation model is available. The use of Extend’s Evolutionary Optimizer, which has the ability to search for optimal values of the input parameters of simulation models, is introduced.

10.1 Introduction to Optimization by Evolutionary Computation

In most simulation models, some variables can be controlled, such as the ratio of generalists to specialists in a credit application process or the processing priority rules in an insurance underwriting process. These control variables are called decision variables. Finding the optimal values for these decision variables is an important goal of decision making.

Obtaining these optimal values generally requires that one search in an iterative or ad hoc fashion. This involves running a simulation for an initial set of values, analyzing the results, changing one or more values, re-running the simulation, and repeating this process until a satisfactory solution is found. This process can be tedious and time-consuming even for small models, and it is often not clear how to adjust the values from one simulation to the next.

A more rigorous method would enumerate all possible alternatives systematically. Although this approach would guarantee an optimal solution (i.e., the values for the decision variables that achieve the best outcome), it has limited application. Suppose a simulation model depends on only two decision variables. If each variable has 10 possible values, trying each combination requires 100 simulations (102 alternatives). If each simulation were short (e.g., 2 seconds), then the entire process would be completed in approximately 3 minutes of computer time.

However, if instead of two variables the model depends on six, then trying all combinations would require 1 million simulations (106 alternatives), or approximately 23 days of computer time. A complete enumeration could easily take weeks, months, or even years to carry out.

Optimizers based on evolutionary computation—such as Extend’s Evolutionary Optimizer, Evolver1, and OptQuest2—overcome the limitations of ad hoc and enumerative methods by searching intelligently for optimal solutions to simulation models. An optimization problem can be described in the optimizer’s interface, and then it can search for the optimal solution given a predefined objective (i.e., a measure of process performance). In almost all cases, these optimizers will find an optimal or near-optimal solution among large sets of possible alternatives efficiently, even when exploring only a small fraction of them.

The idea of applying the biological principle of natural evolution to artificial systems was introduced in the early 1970s. Usually grouped under the term evolutionary algorithms or evolutionary computation, one finds the domains of genetic algorithms, evolution strategies, evolutionary programming, genetic programming, and scatter search. Evolutionary algorithms have been applied successfully to numerous problems from different domains, including optimization, machine learning, economics, social systems, ecology, population genetics, studies of evolution, and learning.

An evolutionary algorithm is an iterative procedure that consists of a constant-size population of individuals, each one represented by a finite string of symbols, known as the genome, encoding a possible solution in a given problem space. This space, referred to as the search space, comprises all possible solutions to the problem at hand. Generally speaking, genetic algorithms are applied to spaces that are too large to be searched exhaustively (such as those in combinatorial optimization).

The standard evolutionary algorithms proceed as follows: An initial population of individuals is generated at random or heuristically. At every evolutionary step, known as a generation, the individuals in the current population are decoded and evaluated according to some predefined quality criterion, referred to as the fitness, or fitness function. To form a new population (the next generation), individuals are selected according to their fitness. Many selection procedures are currently in use, one of the simplest being Holland’s original fitness-proportionate selection, in which individuals are selected with a probability proportional to their relative fitness. This ensures that the expected number of times an individual is chosen is approximately proportional to its relative performance in the population. Thus, high-fitness(“good”) individuals stand a better chance of “reproducing,” and low-fitness ones are more likely to disappear.

Genetically inspired operators are used to introduce new individuals into the population (i.e., to generate new points in the search space). The best known of such operators are crossover and mutation. Crossover is performed with a given probability between two selected individuals, called parents, by exchanging parts of their genomes (encoding) to form two new individuals called offspring; in its simplest form, substrings are exchanged after a randomly selected crossover point. This operator tends to enable the evolutionary process to move toward promising regions of the search space. The mutation operator is introduced to prevent premature convergence to local optima by randomly sampling new points in the search space. Mutation entails flipping bits at random with some (small) probability. Evolutionary algorithms are stochastic iterative processes that are not guaranteed to converge to the optimal solution; the termination condition can be specified as some fixed, maximal number of generations or as the attainment of an acceptable fitness level for the best individual.

As noted, the problem with optimization algorithms based on evolutionary computation stems from the inability to tell when the optimal solution has been found, or even if the optimal solution has been simulated. A good approach within Extend is to allow the optimization to continue for an “adequate” amount of time and check to see if the population of solutions converges. After that, the user could try the optimization procedure several times to make sure the answers from several optimization runs agree or are close.

10.2 Optimizing Processes

Traditional search methods work well when finding local solutions around a given starting point or when model data are precisely known. However, these methods fail when searching for global solutions to real-world problems that contain a significant amount of uncertainty, as in the case of most business processes. Recent developments in optimization have produced efficient search methods, such as those based on evolutionary computation, capable of finding optimal solutions to complex problems involving elements of uncertainty.

The Evolutionary Optimizer incorporates metaheuristics to guide its search algorithm toward improved solutions. Metaheuristics is the term used to describe a family of optimization approaches that includes genetic algorithms, simulated annealing, tabu search, and others (including hybrids). The particular approach embedded in the evolutionary optimizer uses the evolutionary computation paradigm outlined in the previous section. Because this technique does not use the hill-climbing approach of simple optimizers, it typically does not get trapped in local optimal solutions, and it does not get thrown off course by noisy (uncertain) model data.

After an optimization problem is described (by selecting decision variables and the objective, and possibly by imposing constraints), the evolutionary optimizer runs the simulation to evaluate the output for different sets of decision variable values. The evolutionary optimizer uses the outputs of the current and previous runs to determine a new set of values for the decision variables to evaluate. This is an iterative process that successively generates new sets of values and runs the simulation to measure their performance (in terms of maximizing profits or minimizing costs, for example). Not all of these values improve the objective, but over time this search provides a trajectory to the best solutions. The search process continues until the evolutionary optimizer reaches some termination criteria, specified in the Optimizer Parameters tab of the Evolutionary Optimizer block from the Optimization submenu of the Generic library.

When optimizing the performance of a business process, analysts are faced with many difficult decisions; such decisions include staffing or operational policies and might involve thousands or millions of potential alternatives. As mentioned previously, considering and evaluating each of the alternatives would be impractical or perhaps impossible. A simulation model can provide valuable assistance in analyzing decisions and finding good solutions. Simulation models capture the most important features of a problem and present them in a form that is easy to interpret. Models often provide insights that intuition alone cannot provide. In order to optimize a simulation model, one must formulate an optimization model, which is a model that seeks to maximize or minimize some quantity, such as profit or cost. Optimization models consist of three major elements: decision variables, constraints, and an objective.

  • Decision variables: Quantities that the decision maker can control; for example, the number of people to employ, the number of dollars to allocate among different resources, or the operational rule to use from a set of alternatives. Decision variables are selected from the dialogues of blocks such as the Labor Pool block. If a decision is important in the context of a given process, this decision must be linked to a value that appears in the dialogue of a block used in the simulation model. The optimization model can be formulated in terms of the decision variables that are selected (by cloning the variable, as explained later). The values of the decision variables selected change with each trial simulation until the best value for each is found during the optimization run.
  • Constraints: Relationships among decision variables that restrict the values of the decision variables. For example, a constraint might ensure that the total amount of money allocated among various resources cannot exceed a specified amount, or that at least a specified minimum number of nurses are assigned to the emergency room of a hospital at a given time. Constraints restrict the possible values for the decision variables. For example, if the total annual labor budget for a process with two resources (labeled R1 and R2) is $500,000, the following constraint could be added to the optimization model.

     

    20,000 × R1 + 10,000 × R2 ≤ 500,000

     

    Here, it is assumed that each R1 resource costs $20,000 per year, and each R2 resource costs $10,000 per year. It also is assumed that R1 and R2 are initial values in separate Labor Pool blocks and that they have been cloned to be added to the Evolutionary Optimizer block. Given this constraint, combinations of values for the two resource variables whose sum is $500,000 or less are considered during the optimization run.

    Not all optimization models need constraints; however, those that do must deal with the distinction between a feasible and an infeasible solution. A feasible solution is one that satisfies all constraints. An optimization model is infeasible when no combination of values of the decision variables can satisfy the set of constraints. Note that a solution (i.e., a single set of values for the decision variables) can be infeasible if it fails to satisfy the problem constraints, but this doesn’t imply that the problem or model itself is infeasible. For example, suppose that in a business process with two resource types, R1 and R2, one insists on finding an optimal configuration that meets the following constraints.

     

    R1 + R2 ≤ 4
    R1 + R2 ≥ 5

     

    Clearly, no combination will make the sum of the units of R1 and the units of R2 no more than 4 and at the same time greater than or equal to 5. Infeasible problems can be made feasible by fixing the inconsistencies of the relationships modeled by the constraints. For a constrained problem, the optimal solution is the best solution that satisfies all constraints.

  • Objective: A mathematical representation of the optimization model’s objective, such as maximizing profit or minimizing cost, in terms of the decision variables. Each optimization model has one objective function that represents the model’s goal mathematically. The optimizer’s job is to find the optimal value of the objective by selecting different values for the decision variables. When model data are uncertain and can only be described using probability distributions, the objective itself will have some probability distribution for any set of decision variables. This probability distribution can be found by performing statistical analysis on the values of the output variable of interest. For example, a plotter can be used to create a frequency distribution of cycle time values if these values are used to calculate the objective function.

A conceptualization of an optimization model is shown in Figure 10.1. The solution to an optimization model provides a set of values for the decision variables that optimizes (maximizes or minimizes) the associated objective (e.g., a measure of process performance). If the world were simple and the future were predictable, all data in an optimization model would be constant (making the model deterministic), and techniques such as linear and nonlinear programming could be used to find optimal solutions.

However, a deterministic optimization model can’t capture all the relevant intricacies of a practical decision environment. When model data are uncertain and can only be described probabilistically, the objective will be a random variable that follows an unknown probability distribution for any chosen set of decision variables. An optimization model with uncertainty has several additional elements including the following.

 

img

FIGURE 10.1 Conceptualization of an Optimization Model

  • Assumptions: Capture the uncertainty of model data using probability distributions. Assumptions are modeled primarily by choosing appropriate probability distributions in Input Random Number or Import blocks.
  • Output Variables: Capture values of interest such as waiting time, cycle time, and resource utilization. Output variables typically are represented by frequency distributions.
  • Output Statistics: Summary values of an output variable, such as the mean, standard deviation, or variance. The optimization can be controlled by maximizing, minimizing, or restricting output statistics, such as the average waiting time or the maximum queue length.
  • Requirements: Relationships among output variables. Requirements are basically constraints that involve output variables. The Evolutionary Optimizer does not allow the user to set requirements, but other optimizers such as OptQuest do.

Figure 10.2 shows a conceptualization of an optimization model with uncertainty. This figure shows that instead of constant data, the assumptions turn the calculation of the objective function into a stochastic evaluation. For example, if average processing times are used to calculate the cycle time of a process, the result is a deterministic model that uses constant values to estimate performance. However, if probability distributions are used to estimate processing times, then the cycle time calculation becomes a stochastic evaluation performed with a simulator.

The steps for adding optimization to an Extend simulation are as follow.

  1. Open an existing simulation model or develop one for which to optimize performance by changing the values of some decision variables.
  2. Open the Optimization library by clicking on the Library menu, selecting the Open Library command, and then selecting the Generic library.
  3. Place an Evolutionary Optimizer block on the model by clicking on the Optimization submenu of the Generic library and selecting the Evolutionary Optimizer.
  4. Define a cost or profit equation (also called the objective function) to optimize.
  5. Determine which parameters are needed for that equation.
  6. Drag the needed variables onto the closed Evolutionary Optimizer block on the model.
  7. Set the limits for the chosen decision variables in the Optimizer’s Variables table (within the Set Cost tab).

     

    img

    FIGURE 10.2 Conceptualization of an Optimization Model with Uncertainty

  8. Write the profit or cost equation in the Optimizer’s dialogue.
  9. Add appropriate constraint equations in the Constraints tab.
  10. Set the optimizer defaults for either a random or nonrandom model.
  11. Click on the Results tab, and then click on the New Run button.

The following tutorial illustrates these steps.

10.3 Process Optimization Tutorial

A business process consists of 10 activities as illustrated in the flowchart in Figure 10.3. Four resource types perform these activities: clerks, agents, technicians, and supervisors. As shown in Figure 10.3, some activities require more than one resource type; for example, a technician and a supervisor perform activity F.

The process manager would like to minimize cycle time but would not like to add resources in a way that such resources would become underutilized. Therefore, the process manager also would like to set limits on the number of resources of each type and an overall limit on the total number of resources. The manager’s optimization problem can be summarized as follows.

Minimize Average cycle time
Subject to Clerks + Technicians + Supervisors + Agents ≤ 12
1 ≤ Clerks ≤ 10
1 ≤ Technicians ≤ 10
2 ≤ Supervisors ≤ 5
1 ≤ Agents ≤ 10

Figure 10.4 shows an Extend simulation model of the process depicted in Figure 10.3. The model uses hierarchical blocks to simulate groups of activities. The hierarchical blocks contain the Stack, Batch, Unbatch, Transaction, Merge, and Decision blocks that are necessary to model the flow of jobs and resources in the process. The model uses four labor pools, one for each resource type. The labor pools are labeled Clerks, Technicians, Supervisors, and Agents. Only three out of the four labor pools are shown in Figure 10.4, because the pool of agents is within the H, I, and J hierarchical block.

 

img

FIGURE 10.3 Process Optimization Tutorial

 

img

FIGURE 10.4 Extend Model of Process in Figure 10.3 with an Evolutionary Optimizer Block

For the purpose of this tutorial, assume that the simulation model has been built already and that optimization is to be added. The first step consists of adding the Evolutionary Optimizer block to the model. This block is in the Optimization submenu of the Generic library. After the block has been inserted in the simulation model, the optimization problem needs to be modeled. The optimization model consists of four decision variables, the objective function, and one constraint. Therefore, the next step is to add the decision variables to the Evolutionary Optimizer block. The variables are added with the clone layer tool. (See Figure 10.5.)

The clone layer tool clones dialogue items and allows the cloned items to be placed in other parts of the model. For example, the utilization rate of a labor pool can be cloned and placed next to the Labor Pool block. When the model is run, changes in the utilization rate of the labor pool can be seen without opening the block dialogue. The clone tool is used to create a copy of the initial value for each labor pool in the model. The dialogue of the Labor Pool that models the supervisors is shown in Figure 10.6.

To clone the initial value of the available supervisors and add it as a decision variable in the Evolutionary Optimizer block, select the Clone Layer tool and click-drag the Initial Value item to the Evolutionary Optimizer block. Do the cloning four times to add the initial value of supervisors, clerks, agents, and technicians as decision variables in the Evolutionary Optimizer block. Next, add the average cycle time to the Evolutionary Optimizer block to be able to formulate the objective function. The average cycle time is calculated in the Timer block. (See dialogue in Figure 10.7.)

To add the average cycle time to the Evolutionary Optimizer dialogue, select the Clone Layer tool and click-drag the Average Delay time item. Next, add the bounds on the decision variables and formulate the objective function. This is done in the Evolutionary Optimizer block dialogue. The bounds are added in the Min Limit and Max Limit columns of the Set Cost tab. No bounds are associated with the average cycle time, because this variable holds an output value from the simulation model and not a decision variable. Descriptive names can be given to the variables by clicking on the corresponding row of the Equation Var column. These names cannot contain spaces or special characters, but they can contain underscores. The objective function has the form MinCost = Avg_Cycle_Time; to indicate the desire to text-decoration:underline; minimize the value of Avg_Cycle_Time (average cycle time.) The completed dialogue is shown in Figure 10.8.

 

img

FIGURE 10.5 Clone Tool in the Extend Toolbar

 

img

FIGURE 10.6 Labor Pool Block Dialogue for Supervisors

 

img

FIGURE 10.7 Timer Block Dialogue

 

img

FIGURE 10.8 Set Cost tab of the Evolutionary Optimizer Block Dialogue

To complete the formulation, the constraint that restricts the total number of workers to no more than 12 needs to be added. Constraints are added in the Constraints tab of the Evolutionary Optimizer dialogue. Extend has two types of constraints: constraints on individual variables and global constraints. A global constraint is a relationship that involves more than one decision variable. Therefore, the constraint that limits the number of total workers in the process is a global constraint. Figure 10.9 shows the Constraints tab of the Evolutionary Optimizer block.

 

img

FIGURE 10.9 Global Constraint to Model Limit in the Total Number of Workers

 

img

FIGURE 10.10 Parameter Settings for the Evolutionary Optimizer

To formulate a global constraint in Extend, choose Global Constraint from the drop-down menu and use the Reject system variable to establish the appropriate logic. For example, in Figure 10.9, Extend is instructed to reject solutions for which the sum of the variables Supervisors, Technicians, Clerks, and Agents exceeds 12.

The optimization model is now completed, and the search for the optimal values for the decision variables can begin. The search is controlled by a set of parameter values. Extend provides a fair amount of flexibility in terms of setting these values for particular optimization problems. Fortunately, Extend includes two default parameter settings for models with random elements (such as those used for business process design). The parameter settings are labeled Quicker Defaults, Random Model and Better Defaults, Random Model, as shown in Figure 10.10.

The Quicker Defaults are meant for optimization runs where reasonably good solutions are desired within a short amount of computer time. For better solutions, Better Defaults is used; however, the computational time increases. After selecting either the Quicker or the Better defaults, click on the New Run button to begin the search. During the search, Extend displays the Results tab and the Optimization Value plot. The Results tab (Figure 10.11) shows the population of solutions ordered from best to worst. These results were found using the Quicker Defaults.

 

img

FIGURE 10.11 Results Tab Showing Ordered Population

 

img

FIGURE 10.12 Optimization Value Plot

The solutions in Figure 10.11 are all the same except for the last one; however, because they were obtained in different simulation runs, the average cycle time values are not all the same. Given that the last solution employs a total of only 11 employees, it would be worthwhile to test both solutions (i.e., with 2 and 3 clerks) by performing longer runs several times and testing for significant differences between the two staffing levels. The statistical tests discussed in Chapter 9 can be used to determine whether a significant reduction in average cycle time is achieved when the process employs 3 clerks instead of 2.

The Optimization Value plot (see Figure 10.12) shows the search trajectory; that is, the objective function value of the best solution found during the current optimization run. Because the problem is to minimize the average cycle time, the trajectory shows a downward trend as the optimization search progresses. This plot also shows the convergence rate, which is a value between 0 percent and 100 percent that indicates the similarity of the objective function values of the best and worst solutions in the population.

The Optimization Value plot in Figure 10.12 has two scales in the y-axis. The first scale (on the left) refers to the objective function value, that is, the average cycle time in this case. The second scale (on the right) refers to the convergence. The plot shows that the population converged (with a convergence value of 95.61 percent) after 51 generations.

10.4 Alternative Optimization Models

In the tutorial of the previous section, it was assumed that the process manager was interested in minimizing the average cycle time subject to some limits in the number of individual resources and an overall limit on the total amount of resources. This is just one optimization model among several possible variations. For example, the manager might wish to minimize the average cycle time subject to a budget constraint. In this case, the global constraint would limit the amount of money instead of the number of people. Because the simulation model of this example is set up for one working week, it would be possible to try to optimize performance subject to a weekly labor cost budget. Suppose the budget is $8,500 and the weekly salaries are $500 for a clerk, $650 for a technician,$700 for an agent, and $790 for a supervisor. The resulting constraint would be:

 

500 × Clerks + 650 × Technicians + 790 × Supervisors + 700 × Agents ≤ 8,500

 

Now suppose the manager is as concerned with minimizing the average cycle time while maintaining a reasonable level of resource utilization. Ideally, the manager would like to use a constraint that rejects solutions in which the utilization of the resources does not satisfy a desired minimum level. However, Extend does not allow setting constraints on output variables—that is, variables that hold output values, such as average cycle time or resource utilization. Therefore, in order to achieve the desired balance between customer service (modeled as an average cycle time minimization) and resource utilization, the objective function needs to be reformulated. Because it is desirable to minimize the average cycle time and also to maximize the minimum utilization, a possible objective function is:

 

img

If two solutions exist with approximately the same average cycle time, then the objective function will give preference to the solution that has the larger minimum utilization. The minimum utilization is given by the resource that is utilized the least.

10.5 Summary

This chapter introduced the notion of optimizing simulations. In recent years, this has been a relevant and exciting research topic. Coupling metaheuristic optimizers and simulation modeling has resulted in powerful tools for designing effective business processes.

After an introduction to metaheuristic optimization, a tutorial was presented that shows how to set up optimization models using the Evolutionary Optimizer block within Extend. The Clone Layer tool is needed to create a connection between the variables in the simulation model and the variables used for optimization in the Evolutionary Optimizer. The Evolutionary Optimizer is fairly simple to use; however, one must keep in mind that any metaheuristic optimizer can converge to a sub-optimal solution, particularly if it is not run long enough. Extend recommends that at least 100 generations are used, and the model should be run several times with convergence to the same or near solution. Finally, longer confirmation runs should be performed with the proposed solution before that solution is put into practice.

10.6 References

Imagine That Inc. 2003. Extend User’s Guide, Version 6. www.imaginethatinc.com.

10.7 PROCESS MODELING AND SIMULATION PROJECTS

This chapter concludes with two small simulation-optimization projects. The goals of the projects are to create a simulation model of the process and to apply the Evolutionary Optimizer block to optimize key input parameters to the model.

10.7.1 STAFFING A PROCESS WITH MULTIPLE JOB TYPES

A process is designed to handle three types of jobs. Jobs arrive about every 10 minutes, with interarrival times following an Exponential distribution. About 60 percent of the jobs are type 1, about 30 percent of the jobs are type 2, and about 10 percent of the jobs are type 3. The process consists of 10 activities (labeled A to J), and each job is routed according to its type, as shown in Table 10.1.

The activity times depend on each job type. The probability distribution of times and the resource (employee) type needed to perform each activity are fixed for all job types. Table 10.2 summarizes the time and resource data associated with each activity.

Currently, four Type-I employees are employed, and they are paid $1,250 per week. Five Type-II employees each earn $750 per week. Finally, two Type-III employees each earn $500 per week. A cost is associated with cycle times greater than 80 minutes. In particular, if the cycle time for a type-1 job is greater than 80 minutes, a $10 late fee must be paid. The late fees for type-2 and 3 jobs are $200 and $300, respectively.

  1. Create a simulation model of this process that will run for 5 days of 10 working hours.
  2. Considering that the payroll for this process cannot exceed $10,000 per week, find the staffing levels for each employee type that minimize total late fees. Analyze the frequency distribution of cycle times.

     

    TABLE 10.1 Job Routing

    img

     

    TABLE 10.2 Process Time Data

    img
    Exponential: Mean
    Normal: (Mean, Standard deviation)
    Gamma: (Scale, Shape) with Location = 0
    Rectangular: (Min, Max)
  3. A consultant has suggested that a priority system should be used for this process. Specifically, she suggests changing the priority rule in the queues from FIFO to a system where type-3 jobs have highest priority, followed by type-2 jobs, and finally type-1 jobs. Would this change improve the performance of the process?
  4. If the objective were to minimize total cost (payroll plus late fees), would you expect the solution for question 2 to be the best? Use the Evolutionary Optimizer to find the best staffing allocation.

10.7.2 LOAN APPLICATIONS

The following description is for a loan application approval process. Loan amounts tend to be large; therefore, some require several days to be reviewed and approved. When a loan is approved, the loan company begins to collect interest. The company’s profit is based on the interest it collects, so it is imperative that processing time be reduced to a minimum.

  1. Loan applications are sent into a main office by loan officers at a random rate of five per day. It is not possible to predict exactly how many will arrive every day, but the interarrival time is believed to be exponentially distributed. A clerk checks the loan applications for completeness. This check takes about 48 minutes (a time that is also exponentially distributed). After the application passes the initial check, it is forwarded, using interoffice mail, to a processing team. Interoffice mail takes 0.5 days 50 percent of the time, 1 day 25 percent of the time, 1.5 days 12.5 percent of the time, and 2 days 12.5 percent of the time. The time required to process an application by a single person follows a Triangular distribution with a minimum of 1 day, a most likely time of 1.5 days, and a maximum of 2 days. (A day consists of 8 working hours.) Determine the most efficient staffing levels at the initial check and at the processing task.
  2. Consider now that loan applications are broken into five types based on their dollar value. The percentages of each type are shown in Table 10.3 along with their corresponding processing time distribution (actual dollar values are not important at this point, and time is given in 8-hour days).

    Three labor pools for processing loan applications are formed under the current process. The application types that can be handled by each pool are shown in Table 10.4.

    Determine the most efficient staffing levels at the initial check and at the processing task. The staffing levels at the processing task must be given by number of employees in each processing pool.

     

    TABLE 10.3 Job Data

    img

     

    TABLE 10.4 Labor Pool Data

    img
  3. The clerks at the initial check may find that some applications have not been filled in correctly or are missing some information. Historically, 95 percent of type-1 applications are correct, 92 percent of type 2 are correct, 90 percent of type 3 are correct, 85 percent of type 4 are correct, and 80 percent of type 5 are correct. When an application is missing information or has incorrect information, it is sent back to the originator, a process that takes 1 day 25 percent of the time, 2 days 50 percent of the time, and 3 days 25 percent of the time. The number of working days includes the time required to send the application back to the field office, the time required for the loan officer to correct the application, and the time required to send it into the main office again. Find efficient staffing levels for this process.
  4. It has been discovered that applications that contain errors are simply put back into the processors’ stacks after they have been corrected. Management suggests that the processors handle those applications at a higher priority. Should rework be treated at a higher priority by the processors?
  5. A committee has proposed the use of an expert work flow automation system that will eliminate all problems with applications; implement Electronic Data Interchange (EDI); and reduce processing time for type-1 applications by 30 percent, type-2 applications by 33 percent, type-3 applications by 40 percent, type-4 applications by 60 percent, and type-5 applications by 75 percent. Top management has concluded that productivity must be factored into the labor cost calculations, and has decided that cost is determined by the following formula.

     

    Labor cost = (number of workers × the time worked × daily labor rate) / utilization

     

    Labor rates for loan processors depend upon the loan type they process. Rates are as follows: type-1 loan processors receive $350 per day, type 2 receive $200 per day, type 3 receive $175 per day, type 4 receive $150 per day, and type 5 receive $100 per day. How much should management be willing to pay for the new technology, given the opportunities for staff reduction?

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset