1. Field of the Invention
The present invention generally relates to a method and apparatus for analysis and optimization of business processes in order to achieve specified business performance objectives and, more particularly, to estimate business process bottlenecks and optimize resources to improve process performance.
2. Background Description
Business Performance Management is a key emerging technology positioned to enable optimization of business operations and Information Technology (IT) infrastructure so as to achieve performance targets (see J. van Decker & D. Baltaxe, “Business Performance Management Study—(1) Initiatives & Leadership (2) Preferences, Adoption Patterns and the Future”, Meta Group, October 2003). This is done by continually monitoring and optimizing the attributes of a business—not just during business process design, but also after the business process has been deployed. In order to do this, capabilities to analyze and optimize business process performance are important. These capabilities need to be applicable to changing conditions in the business process environment and to uncertainties in various business process attributes.
Traditionally business process simulation has been used to analyze business processes (see M. Laguna & J. Marklund, “Business Process Modeling, Simulation and Design”, Prentice Hall, 2004). This provides useful insights such as process & resource bottlenecks, costs etc., but is however a time-consuming process and a majority of business process analysts do not use this capability. In some cases, case analysis and weighted average analysis is used (see IBM WBI Modeler Users Guide, 2004). However, this does not provide insightful information about business process performance bottlenecks.
The background described above indicates a need for methods to rapidly analyze business processes, so they can be used to better design and manage business process performance.
It is therefore an object of the present invention to provide a method and apparatus that enable the analysis of business process attributes to determine key performance indicators.
It is another object of the invention to provide a method and apparatus that enable the optimization of the business process in order to achieve specified business performance objectives.
According to the invention, a stochastic model representation of a business process is developed. Analytical techniques are then used to derive performance metrics for the business process and, further, to optimize them. The invention establishes connections between the design and control of business processes and mathematical models of stochastic processing networks. With this correspondence, the macroscopic planning of the resources for the business process are carried out through identifying optimal topological structures of the stochastic processing networks. An optimal topology for a business process is understood as any network topology which results in the lowest possible cost of the business processes and which satisfies the necessary constraints on the topology and optimizes the business key performance indicators. The method for determining the optimal topology of consists of the following steps:
2. Identifying the constraints on the topology. Examples of such constraints are: the network must be a cluster, the network must be a connected graph, the network must contain at least so many layers, etc.
3. Identifying the cost structure of the topology. The cost is understood as a function of the topology.
4. Identification of the optimal topology by finding the topology which minimizes the cost and optimizes the business key performance indicators among the space of topologies satisfying the constraints.
The microscopic management of the business process will be carried out through mathematical analysis of the stochastic processing networks with given topological structure. This is accomplished in the following steps:
The invention contemplates the use of these analysis and optimization techniques both in the design of business processes (at design-time) and in run-time management of business processes (at run-time).
The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of the invention with reference to the drawings, in which:
Every enterprise has multiple business processes executing its strategy using different types of resources. In general, a business process can be defined using an arbitrary combination of predefined constructs. We assume the existence of such constructs and a tool for constructing a business process using this. This invention is not limited by the specific details of a set of constructs. For example, the description below outlines a set of constructs that can be used to model business processes.
Referring now to the drawings, and more particularly to
Based on the specification of the business process, the fluid model (represented by its matrices) can be generated. Fluid networks are a class of mathematical objects characterizing systems with piece-wise constant rate of changes. They are used to characterize the first order dynamics for stochastic processing networks, and they have been adopted in analyzing and optimizing the performance of complex networks found in telecommunications and manufacturing. The basic definition and methodology is described in many standard textbooks for stochastic networks, for example, Chen and Yao, Fundamentals of Queueing Networks, 2002, Springer-Verlag. These systems are best characterized by a system of linear equations of the relations between the flow level, i.e. the quantity of the surplus, and the utilization of the resources.
However these standard fluid models in the prior art cannot be used to address key aspects of business processes as described below. This invention develops methods and apparatus for analysis and optimization of general business processes in order to achieve specified business performance objectives. Using these methods, we can achieve the following two goals for the analysis of general business process:
Let us assume that the fluid network contains N queues. The standard fluid model is described by:
For the standard fluid model, u, the vector of utilization at each resource can be obtained by the following formula,
u=M(I−P′)−1α
Due to the specific features of business process, the fluid model generated is not in standard form, i.e. the fluid model for a conventional stochastic processing network. Mathematically, it is reflected by the fact that the matrix (I−P′) could be singular, hence, the fundamental analysis of the fluid model cannot be performed directly. Therefore, the first step in the analysis is to construct another fluid model that satisfies
For business processes that have different constructs, the standard fluid model can be generated through the following procedures:
Based on the specification of the business process (BP), the fluid model (represented by its matrices) is generated as follows:
Calculating P (Connection Matrix)
Here are the various considerations while calculating the value of pij (proportion of traffic from queue i to queue j).
1. If a task T1 with n resources is connected to a task T2 with any number resources then the value of pij (proportion of traffic from queue i of task T1 to queue j of task T2) is equal to multiplicity of output port of task T1/n.
2. If n number of tasks (T1 . . . n) are connected to a Join task (joining) then the value of pij (proportion of traffic from queue i corresponding to task Ti to queue j of Join task) is equal to multiplicity of output port of Ti/n.
3. If a Fork task is connected to n number of tasks (T1 . . . n) then the value of pij (proportion of traffic from queue i of Fork task to queue j of T1 . . . n tasks) is equal to multiplicity of output port of Fork task.
4. If n number of tasks (T1 . . . n) are connected to a Merge task (merging) then the value of pij (proportion of traffic from queue i of T1 . . . n task to queue j of Merge tasks) is equal to multiplicity of output port of tasks (T1 . . . n).
5. If a Decision task with n number of branches is connected to n number of tasks (T1 . . . n) then the value of pij (proportion of traffic from queue i of Decision task to queue j of T1 . . . n tasks) is equal to probability value of each branch * multiplicity of output port of each branch.
6. If n number of tasks (T1 . . . n) are connected to a single task with n number of ports and if all these n ports belongs to same portset then it acts like a Join (Scenario 2).
7. If n number of tasks (T1 . . . n) are connected to a single task with n number of ports and if all these n ports belongs to n different portsets then it acts like a Merge (Scenario 4).
The above mentioned scenarios are the basic elements, but a more complex scenario can be any combination of the above 7 scenarios.
Each Join needs to be checked for consistency as follows: the effective arrival rate into each queue of the join must be the same. The effective arrival rates computation is described below.
Calculating α (Arrival Rate)
αi=Number of tokens per hour arriving from an external source to an input port in a queue
Calculating M (Processing Duration)
Consider a task T1 having n input ports (IPn), m output ports (OPm) and r resources (Rr)
For any given queue the mean Processing duration is: mi=(Mean Processing time of a resource Rr * multiplicity of the input port IPi * Total number of resources Rr in that task)/Total number of resources Rr in whole process
After deriving the matrices (P, α, M), the vector of utilization at each resource (u) can be obtained by the following formula,
U=M(I−P′)−1α
If the utilization is larger than one, the network is not stable, i.e. if we allow the system runs under the current condition, the workload for this particular resource could build up indefinitely.
If we specify u, the utilization at each resource, then the required capacity can be obtained throughput the following equations.
v=(I−P′)−1α, μ1>=vi/ui
where v is the vector of effective arrival rates.
After constructing the matrices (P, α, M) we solve the Fluid Model. The result we get after solving this model is a vector containing utilization for each queue. Since multiple queues can be associated with the same resource, we consolidate all of the results to come up with the utilization for each resource.
Busy Duration
Busy duration is the duration for which the resource has been utilized by the process. Busy duration is calculated as utilization of the resource * 40.
Idle Duration
Idle duration is the duration for which the resource was not utilized by the process. It is calculate as total duration (40)—busy duration.
Busy Time Cost
Cost incurred for utilizing the resource. It is calculated as busy duration * cost of the resource per hour.
Idle Time Cost
Cost incurred when the resource was idle. It is calculated as idle duration * cost of the resource per hour.
Throughput
Maximum number of transactions a process can handle without getting unstable. It is calculated as arrival rate/highest utilization.
Resource Capacity
The resource capacity to get a desired resource utilization is calculated as base capacity of the resource * base utilization of the resource/desired resource utilization.
We illustrate the invention based on a supply chain scheduling example that is illustrated in
This example is based on an electronics supply chain, where a customer changes an existing order with the manufacturer. The manufacturer checks the inventory and may fulfill the order. If supply is insufficient, the manufacturer would seek to identify when they can manufacture the additional quantity based on manufacturing capacity (60) and available component supply (62). If component supply is insufficient, then the manufacturer seeks additional supply either from a primary vendor (64) or secondary sources of supply (66), such as a spot market. The manufacturer updates the build plan (67), either if he has the supply or is able to obtain additional supply from primary or secondary vendors. The manufacturer then proceeds to inform the customer (68), whether or not he is able to satisfy the requested order change.
Resource Utilization Report
This report shows all the resource/role needed to execute this process. It shows, how much the resource is utilized, what was the busy duration and idle duration for these resources. It also shows the busy time cost, idle time cost and total cost for each resource.
For example—consider Fulfillment Manager's rate per hour as $1.00. Fulfillment Manager was utilized for 6.6%. On weekly basis (40 hours) Fulfillment Manager was busy for 2.67 hours and was idle for 37.33 hours. Busy time cost, idle time cost and total cost of Fulfillment Manager for the entire week was $2.67, $37.33 and $40.0 respectively.
Activity Utilization Report
This report shows all the activities done in this process. It shows how much the activity is utilized, what was the busy duration and idle duration for these activities. It also shows busy time cost, idle time cost and total cost for each activity.
For example—Check Capacity was utilized for 13.33%. On weekly basis (40 hours) Check Capacity was busy for 5.33 hours and was idle for 34.67 hours. Busy time cost, idle time cost and total cost of Check Capacity for the entire week was $5.33, $34.67 and $40.0 respectively.
Business Process Throughput Report
This report is same as that to the Resource Utilization report. The only difference is, this report shows the result calculated for maximum throughput.
Throughput
This report shows name of all the producer descriptors (external arrivals to the process) and the recurring time interval for token creation (in hours) For example, the Producer descriptor PD. has a recurring time interval for token creation as 3.16 hours means that if one token is created per 3.16 hours by this producer descriptor, utilization of one of the resource will be 100%. Or we can say that the maximum throughput this process can handle is one token per 3.16 hours. If this value is less that 3.16 hours the process will not be stable.
Capacity Optimization Report
This report show all the resources for which a user want to see the changes in the resource capacity for a changes resource utilization. For example, the Material Planner's current utilization is 4.13%. If it is desired to increase the utilization of Material Planner to 10%, the capacity of Material Planner need to be doubled (2.104).
In addition to the environment in
While the invention has been described in terms of a single preferred embodiment, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims.