Transforming your supply chain with IBM Supply Chain Process Modeler, Part 4: Using advanced analytics

In Part 4 of this series, you'll learn about two advanced analytics features provided by SCPM: the extended process simulation and the Performance Analyzer. The extended process simulation enables the use of scripts for simulation modeling, thus providing support for more complicated business logic and analysis requirements. The Performance Analyzer enables the quantitative analysis of the causal relations among different performance metrics using System Dynamics, which is a theory for studying and managing complex feedback systems.

Changrui Ren (rencr@cn.ibm.com), Manager, Supply Chain Optimization, IBM

Changrui Ren photoChangrui Ren is the manager of Supply Chain Optimization team at IBM Research in Beijing, China. He joined IBM in 2005 after receiving his Ph.D. in Control Science and Engineering from Tsinghua University in Beijing, P.R. China. He has led multiple research projects on business process management, performance management, and supply chain management.



Bing Shao (shaobing@cn.ibm.com), Staff Researcher, IBM

Bing Shao photoBing Shao is a Staff Researcher at IBM Research in Beijing, China. He joined IBM in 2006 and has been driving activities to integrate industry process standard models with end-to-end supply chain transformation. He holds a Master's degree in Computer Science from Harbin Institute of Technology, Harbin, P.R. China.



Miao He (hmhem@cn.ibm.com), Researcher, IBM

Miao He photoMiao He is a Researcher at IBM Research in Beijing, China. She joined IBM in 2009 after receiving her M.S. degree in Industrial Engineering from Tsinghua University in Beijing, P.R. China. Her research interests include supply chain management, business process management, clinical decision making and stochastic dynamic programming.



Jin Dong (dongjin@cn.ibm.com), Leader, IBM China Analytics Center , IBM

Jin Dong photoJin Dong is the Cluster Executive of Industry Solutions at IBM Research in China. He is also the Leader of the IBM China Analytics Center. He received his Ph.D. from Tsinghua University P.R. China in 2001. Before joining IBM, he was the Research Assistant Professor in the Industrial Engineering Department of Arizona State University in the US.



08 February 2012

Also available in Chinese Russian

Introduction

In the final part of this series, you will learn about two advanced analytics features provided by SCPM: the extended process simulation and the Performance Analyzer. The extended process simulation extends the WebSphere Business Modeler process simulation function by allowing users to write scripts for simulation modeling, which makes the tool flexible enough to support more complicated business logic and analysis requirements. The Performance Analyzer enables the quantitative analysis of the causal relations among different performance metrics by using System Dynamics, which is a theory for studying and managing complex feedback systems.

After reading this article, you are expected to be able to do the following:

  • Understand SCPM advanced process simulation concepts.
  • Recognize SCPM process simulation methodology.
  • Understand Performance Analyzer concepts and functions.

SCPM process simulation

This section introduces the advanced simulation functions of SCPM, as well as SCPM process simulation methodology.

Overview

As a best-in-class business process modeling and simulation product, WebSphere Business Modeler provides powerful process simulation functions that enable users to conduct what-if analysis by taking cost, revenue, duration, and resource utilization into consideration. It also provides animation to facilitate visual debugging and ease of communication. However, WebSphere Business Modeler is designed to be a generic, all-purpose and easy-to-use tool, which leads to some limitations in handling complex business logic and complex data structures.

Figure 1. Process simulation in WebSphere Business Modeler
Process simulation in WebSphere Business Modeler

(See a larger version of Figure 1.)

SCPM enhances WebSphere Business Modeler simulation by allowing users to write Java™ scripts for each WebSphere Business Modeler process element. You can leverage the scripts to model highly complex logic, read and write external files, and call external Java libraries. Figure 2 depicts the SCPM simulation window with three highlighted areas. The highlighted Expression and Monitor tabs are used to edit scripts and to control SCPM simulation, respectively. The highlighted area on the bottom contains the simulation scripts.

Figure 2. SCPM simulation
SCPM simulation

(See a larger version of Figure 2.)

Using Java scripts, SCPM enables the following highly flexible process simulation:

  • Select decision branches easily
    • Easy to define conditions
  • Define complex data structure
    • Bill of Material (BOM)
    • Customer order queue
    • Vehicle
  • Implement complex operations
    • Complex mathematical functions
    • Complex logics
  • Monitor simulation status
    • Inventory level
    • Queue length
  • Leverage third-party Java libraries

Run SCPM simulation

This sections shows you how to run a SCPM simulation step by step.

Step 1: Edit scripts for process elements

The first step is writing the simulation scripts. You build the basic process flows in the WebSphere Business Modeler process editor, select the target process element and then switch to the Expression tab. A script editor displays for you to write Java script. For details on the grammar and guidelines for writing SCPM simulation scripts, an "SCPM Process Simulation Reference Guide" is available upon request from SCPM support at scpm@cn.ibm.com.

Users can write simulation scripts for process elements, including process steps and decision branches. Below are the six basic types of scripts that SCPM supports:

  • Pre-process scripts are executed as soon as the process/task is activated.
  • Post-process scripts are executed at the end of the process or task (after a delay time).
  • Delay scripts define the delay time for the process or task.
  • Cost scripts define the cost for the process or task.
  • Revenue scripts define the revenue for the process or task.
  • Duration scripts define the duration for the process or task.

Step 2: Create the simulation snapshot

After building the process flow and simulation scripts, the next step is to create a simulation snapshot in WebSphere Business Modeler. The simulation snapshot is created the same way as the WebSphere Business Modeler simulation snapshot. When you are presented with the Check Paths for Terminate Nodes prompt, shown in Figure 3, click No to bypass the check and generate the simulation snapshot directly.

Figure 3. Check Paths for Terminate Nodes dialog
Check Paths for Terminate Nodes dialog

Step 3: Select the simulation method

Step 3 is required to ensure that SCPM simulations run correctly. Once the simulation snapshot is successfully created, you need to open the General tab of the Attributes tab for the simulation snapshot, scroll down and change the Method of selecting an output path to Based on an expression. This configuration enables the parsing of simulation scripts during the simulation run.

Figure 4. Configure simulation method
Configure simulation method

Step 4: Select whether to run with animation (optional)

This step is optional. As with WebSphere Business Modeler simulation, you can choose to run a simulation with or without animation. You specify this in the simulation settings. Note that using animation significantly slows the simulation progress.

To activate or deactivate animation, do the following:

  1. Go to the Simulation Control Panel.
  2. Click Menu.
  3. Click Settings to launch the Simulation Settings.
  4. Click Yes or No for simulation animation.

Step 5: Initiate the simulation

After the simulation configuration, switch to the Monitor tab and click the green Run Simulation button, as shown in Figure 5, to start the SCPM simulation.

Figure 5. Run the simulation
Run the simulation

You should now be able to see the progress and information of the simulation in the Monitor tab, as shown in Figure 6. Note that the SCPM simulation run is controlled by SCPM Monitor tab, not by the WebSphere Business Modeler Simulation Control Panel.

Figure 6. Monitor tab
Monitor tab

(See a larger version of Figure 6.)

Step 6: Save simulation chart and output

You can also use simulation scripts to pop up charts to monitor the real-time trends of certain variables during the simulation run, as shown in Figure 7. Both the charts and the console outputs can be exported to files for further analysis.

Figure 7. Pop-up chart
Pop-up chart

Sample ABC Project

In this sample ABC Project, we'll use a process called EP.4 Manage ISC Inventory, or Inventory Control, to demonstrate SCPM process simulation. In this inventory control model:

  • Customers generate random demands every few days. The demands are put to an order queue for fulfillment.
  • A distribution center (DC) checks all the demands in the order queue every three days, and if its inventory can fulfill the demand, the demand is fulfilled immediately.
  • The DC checks its inventory every five days. If the inventory level is under safe stock levels, the DC replenishes inventory based on the inventory control policy. There are two policies evaluated in this model, (s, S) and (r, q). These are two typical inventory control policies. For more information on inventory control, refer to the Resources section.
  • The inventory is replenished immediately without delay.

Using the WebSphere Business Modeler process editor, we build the process flow, as shown in Figure 8.

Figure 8. Simulation example in ABC project
Simulation example in ABC project

We develop four process branches to model this business. The demands are generated and aggregated in the first branch. In the second branch, DC checks whether its inventory can fulfill the demands. The third branch decides when to terminate the simulation. The last branch is used for DC inventory control.

We define five timetables and associate them with timers in the process model. Each timetable triggers a particular event at specified time intervals. For example, every five days, a timetable triggers the inventory review at DC, and replenishes inventory when needed.

Figure 9. Set timers
Set timers

We pre-set Java scripts for the activities and the output branches of the decisions. If you right-click a blank space on the editor, you can view definitions and declarations of the global variables in the Initial tab of the Expression tab, as shown in Figure 10.

Figure 10. Define global variables and make global declarations
Define global variables and make global declarations

One of the goals of this simulation is to compare inventory levels and evaluate two inventory control policies (s, S) and (r, Q) by switching the variable inventoryControlPolicy.

Please note that we use a completely random number generator to generate demands in this application. However, we need random variants generated from some probability distribution. Probability distribution not only allows you to observe the average behavior of your system, but also the extremities. To insert a distribution, right-click the edit area in the Expression tab and select Insert => Distribution Function, as shown in Figure 11.

Figure 11. Insert probability distribution
Insert probability distribution
Type Distribution
Discrete Binomial, Hypergeometric, Possion
Continuous Beta, Cauchy, Chi square, Exponential, F, Gamma, Normal, t, Uniform

SCPM simulation project methodology

IBM has developed a methodology that accompanies the simulation tool, and guides you through the whole simulation modeling and analysis, from Key Performance Index (KPI) creation to output analysis. Figure 12 shows a roadmap of the SCPM simulation project methodology

Figure 12. SCPM simulation project methodology roadmap
SCPM simulation project methodology roadmap

Effective collaboration between business consultants and the technology team is essential for successful SCPM model creation. The consulting team focuses on project scope, defining simulation scenarios and KPIs, developing AS-IS and TO-BE models and logic, collecting data, and analyzing simulation results. The technical team focuses on developing simulation scripts, running simulations, and providing feedback to the consulting team. Ideally, the technical team should be involved at the start of the project to ensure understanding and control. Figure 13 provides details about each of the nine project steps, as well as roles and responsibilities.

Figure 13. SCPM simulation project methodology - details
SCPM simulation project methodology - details

Using the Performance Analyzer

This section covers the Performance Analyzer feature of SCPM.

Overview

The Performance Analyzer is designed to clarify the intra- and inter-relationship between processes and metrics. You can design four kinds of models in the Performance Analyzer, which are used to analyze performance models with different level of details,

  • Linkage
  • Qualitative
  • Semi-Quantitative
  • Quantitative

Each one of these models provides a different viewpoint of problems in supply chain management. The ABC Project contains one of each as examples. Performance Analyzer models are located under Supporting Tools in the SCPM Navigator, as shown in Figure 14.

Figure 14. Performance Analyzer models in SCPM Navigator
Performance Analyzer models in SCPM Navigator

Now let's briefly go through the four kinds of models one by one.

The Linkage model provides the most simplistic view of the linkage between different elements like KPIs, Critical Success Factors (CSF), and objectives. It is used to link the Value Driver Tree and Metrics Tree elements together. The Linkage model example in Figure 15 shows how improved customer service is linked to supply chain flexibility, responsiveness, and reliability.

Figure 15. The Linkage model
The Linkage model

The Qualitative model enhances the Linkage model by assigning a qualitative impact to each link, which can be a positive, negative, or unknown impact. This model analyzes the qualitative effect of a KPI change on the basis of linkage. It is also used to perform simple analysis by identifying trend changes between child and parent nodes. The example model in Figure 16 shows how increase in source, make, and delivery cycle times leads to an increase in order fulfillment cycles, which ultimately leads to a decrease in customer responsiveness.

Figure 16. The Qualitative model
The Qualitative model

The Semi-quantitative model is also known as the Analytical Hierarchy Process (AHP) model. It helps to analyze the priorities of different KPIs. The example in Figure 17 shows shows how flexibility, the most influential factor in improving customer service, would be used to support engagement efforts focusing on this area.

Figure 17. AHP Model (Semi-Quantitative)
AHP Model (Semi-Quantitative)

The Quantitative model, also known as the Systems Dynamics (SD) model, helps to analyze the impact of the quantitative relationships among critical model elements. This model utilizes the System Dynamics engine for driving the simulation and optimization. SCPM provides an editor to input the mathematical equations for building these quantitative relations. The example in Figure 18 shows how, with increase in SCM cost and Cost of Goods Sold, profits decrease unless there is a significant increase in sales.

Figure 18. The SD Model (Quantitative>
The SD Model (Quantitative)

System Dynamics is a theory for studying and managing complex feedback systems. For further reading on System Dynamics, please refer to the Resources section.

Using Systems Dynamics to analyze complex problems

The exercise in this section shows you how to use SD to analyze complex problems. In this exercise, we will use a very easy-to-understand example – the Rabbits in Australia. Initially, there are 24 rabbits. As rabbits are born and die, the populations change over time. Our goal is to model the changes in the rabbit populations given different birth rates and different average life times.

  1. The first step is to build the rabbit population model as follows:
    • Create a new Quantitative Performance Analyzer model named Rabbit Population.
    • Add five Other nodes to the model, called birth rate, births, average life time, deaths, and Rabbit Population.
    • Link the nodes together as shown in Figure 19.
      Figure 19. Rabbit Population
      Rabbit Population
  2. The second step is to set the values of the variables and quantify the relations of the nodes. Births is proportional to birth rate, and deaths varies inversely with average life time.
    • Specify the following equations using the Quantitative Relations editor:
      • birth rate = 0.125
      • average life time = 8
      • births = birth rate * Rabbit Population
      • deaths = Rabbit Population / average life time
    • Edit the Rabbit Population node as shown in Figure 20:
      • Set Variable Type to Level.
      • Set Expression to = Integral and specify "births"-"deaths".
      • Set Init Value = 24.
      Figure 20. Edit the Rabbit Population node
      Edit the Rabbit Population node
  3. The third step is to run the model.
    • Set the time span of the simulation from 1859 to 2000 years, as shown in Figure 21.
      Figure 21. Set simulation configuration
      Set simulation configuration
    • Click the Run Simulation icon in the toolbar of the view to run the simulation. At end of simulation, you can save the simulation results, and switch to the Simulation Result tab to view them, as shown in Figure 22.
      Figure 22. Simulation results
      Simulation results

      Note that this model has been designed to show equilibrium conditions in the rabbit population since we set the values of birth rate and average life time (death rate) to be a constant (12.5%).

  4. The fourth step is to play with parameters and conduct what-if analysis. Let's change the birth rates to generate unconstrained growth. This results in one of the simplest possible dynamic behaviors, known as exponential growth.
    • Right-click the birth rate node and select Scrollbar Setting.
    • Set the Maximum to 1 and the Step Increment to 0.01.
    • Use the scroll bar to change the birth rate to 0.2M.
  5. Run simulation again, and you will see the exponential growth, as shown in Figure 23.
    Figure 23. Analyze the model
    Analyze the model
  6. Run the model and readjust the sliders until you get as good a match as possible. Also, try other variables that you think may have an impact. You can also compare a model between different time spans. After a model is built, you can select another time period in which to run the model.

Summary

In the final part of this series you learned about advanced SCPM process simulation concepts, SCPM process simulation methodology, and the Performance Analyzer.

In this series of articles you gained a holistic understanding of the Supply Chain Process Modeler tool. You learned the positioning, methodology, key functions and operations, and advanced analytics features of SCPM. You should now be able to begin to use SCPM to do supply chain process modeling and analysis.


Downloads

DescriptionNameSize
Sample ABC ProjectABC_Project.zip1.3MB
SCPM offeringSCPM_Package_Offering_v7.0.0_20110907.zip16.8MB

Resources

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Business process management on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Business process management, WebSphere
ArticleID=792104
ArticleTitle=Transforming your supply chain with IBM Supply Chain Process Modeler, Part 4: Using advanced analytics
publish-date=02082012