Supplier Scoring Metric

32
-Jish Bhattacharya MSIE, MBA

Transcript of Supplier Scoring Metric

-Jish BhattacharyaMSIE, MBA

• The process should produce an accurate overall score for each supplier which can be compared with other suppliers and tracked over time

• A good supplier score metric utilizes quantitative metrics with little subjectivity

• Things may get lost in translation when interpreting typical qualitative attributes such as “yes/no”, “excellent/average/poor”, or scale of 1 to 5

• Using too many metrics that are opinion and judgment based yields great debates and significant frustration

• A good solution must combine both qualitative feedback backed by quantitative data

2

Why Qualitative Score Metric Is Not Enough?

XYZ Manufacturing purchases 100,000 of Material A and 200,000 of Material Y in a year.

Supplier 1: Material A @ $ 0.80 100,000 X $0.80 = $80,000

Material B @ $ 0.75 200,000 X $0.75 = $150,000

$80,000+$150,000=$230,000

Supplier 2: Material A @ $ 0.82 100,000 X $0.82 = $82,000

Material B @ $ 0.70 200,000 X $0.75 = $140,000

$82,000+$140,000=$220,000

($230,000+$220,000)/2 = $225,000 = Average between 2 Suppliers

Supplier 1: $230,00/$225,000 = 102.2% or 1.02% above average

Supplier 2: $220,000/$225,000 = 97.7% or 2.30% below average3

What is missing with this score calculation?

What about other metrics? Pricing/Cost was the sole measurement for Supplier Selection

Supplier selection is a multi-criteria decision making problem and is affected by several conflicting factors

Trade-offs must be analyzed among multiple factors

100% weightage is applied towards price/cost ignoring the remaining factors

Many important factors/criterions were missing in the earlier slide Lead Time

Quality

Green House Gas Emissions

Toxic e-Waste

MOQ

Late deliveries

Invoice Accuracy … to name a few4

Case Background

The consumption of electronic gadgets continues to grow, with ever-

shorter replacement cycles based on the latest trend or model

multiplying the lifecycle impact of hazardous substances and dirty

energy. Alongside efforts to counter these two issues it is critically

important that the raw materials used to make these products are

sourced responsibly, packaging is sustainable and kept to a minimum,

lifespans are longer, and end-of-life materials are re-used for new

devices.

5

Case Illustration

The multi-objective fuzzy model was applied towards a consumer electronics company

The company sources its raw materials for manufacturing HDTVs, LED backlights, and other smart devices

The sourcing is based on a pull-push hybrid system

It wants to improve the environmental efficiency and cost effectiveness of the sourcing process

The company wants to reduce carbon footprint and wants the suppliers to share information on that front

The original problem had 387 variables and 600 constraints. Only five most important of them have been demonstrated in these slides.

6

Fuzzy Multi-Objective Model Formulation

7

• Decision variables such as ordering cost, percentage of rejections, percentage of late deliveries, percentage of safety stock violations, and greenhouse gas emissions are fuzzy information

• Single objective functions are ordering cost minimization, rejection minimization, late delivery minimization, safety stock violations, and GHG emission minimization

• Budget, Capacity, and GHG limits are the main constraints in this model

• The aggregate demand N is assumed to be a fuzzy variable and predicted to be about 15,000 units for the planning period

• The demand N can vary between 14,500 and 16,000 units

• The lower and upper bound optimal values are obtained by solving the first objective function

• This process is repeated for remaining four objective functions

• The lower and upper bound optimal values are obtained for each of the remaining objectives using the same set of constraints

Fuzzy Multi-Objective Model Formulation

8

Weighted additive model has been adopted in this multi-objective optimization problem to formulate a crisp formulation

Linear weighted utility function is achieved by taking product of each membership function by the weights and summing the results together

The crisp formulation of the linear model is then solved

Multi-Objective Supplier Selection

Convex weighted additive

“fuzzification”

Crisp Single Objective LP

Model

Fuzzy Multi Objective Model - Decision Variables

Xij = number of units purchased from ith supplier

N = aggregate demand of the material over a fixed planning period

Pi = price of unit product from supplier i at level j

Li = % of late delivered items from ith supplier

Ri = % of rejected items delivered by ith supplier

Si = number of safety stock violations

Gi = GHG emission of the product supplied by supplier j

n = number of suppliers

Kij = integer variable for the ith supplier at price tier j

Qi = capacity limit of the quantity for supplier I

Cmax = total carbon emission limit for sourcing material9

Minimize:

Total Purchasing Cost

% of Net Rejections

% of Safety Stock Violations

% of Late Deliveries

GHG Emissions (KG)

Minimize backlogged demand to promise date

10

Multi-Objective Functions

Other Variables for Carbon Footprint and Sustainability

Electric Energy Usage

Fuel Energy Usage

Water Usage - Withdrawal

Water Usage - Discharge

Hazardous Waste Disposal

Non-Hazardous Waste Disposal

GHGE direct

GHGE indirect

Renewable Energy Usage

11

• Supplier i can supply up to Qi units of the product over the planning horizon owing to production capacity

• The supplier offers pricing tiers or price breaks based on the volume

• Pij is the unit price for price tier j, and m is the number of quantity ranges in supplier i price structure

• Buyer’s total demand for a material is N over a planning period. In this example, N ~ 15,000 units

• The total carbon or GHG cap for producing 15,000 units is set to 50,000 KG

• Each supplier has its own unit price, delivery history, material quality and GHG emissions schedule

12

Linear Model Formulation

13

Quantitative Information of Suppliers

Supplier QuantityLevel

P($) % of RejectedItems

% of Delayed Delivery

% of Safety Stock Violations

GHGE (KG)

TotalCapacity

S1 Q < 10001000 ≤ Q<50005000 ≤ Q

65.755.25

0.7 0.2 0.1 2.8 18,000

S2 Q < 12001200 ≤ Q<60006000 ≤ Q

5.755.655.50

0.3 0.3 0.4 2.3 16,000

S3 Q < 800800 ≤ Q<40004000 ≤ Q

65.755.10

0.6 0.5 0.2 2.1 9,000

S4 Q < 20002000 ≤ Q<60006000≤ Q

5.855.605.45

0.5 0.1 0.3 2.4 10,000

Min F1 =

Min F2 =

Min F3 =

Min F4 =

Min F5 = Subject to:

(demand constraints from buyer)

(supplier capacity constraints)

(Carbon or GHG cap) ; xi ≥ 0; xi = Integer

(At max, one price tier can be chosen per supplier)

14

Mixed Integer Linear Model Formulation

F1 minimizes the total ordering cost

F2 minimizes the rejection due to quality issues

F3 minimizes the late deliveries of items

F4 minimizes the total green house gas emissions

F5 minimizes safety stock violations

15

Connectivity to SAP Data Source

• Microsoft Excel® was used as a bridge between Lingo Optimizer and SAP® landscape

• SAP® RFC was used to connect Excel® with SAP® ECC to pull Supplier Details, Purchase Orders, Receipts, and Procurement information

• Simba Technologies’ MDX and XMLA Provider for SAP® Business Warehouse provides native connectivity with Excel. It parses and processes MDX queries from Excel

• Finally the Supplier, procurement, and related transactional information from Excel was fed to Lingo Linear Optimizer for solving the multi-objective model

• The results were verified by running the same optimization steps in Matlab® and Excel Solver

16

Connectivity to SAP Data Source

SAP

• ECC

• NetWeaver BI

• B/W

XMLA/BAPI Excel

• XL Miner

• VBA

• Solver

ActiveX/OLE Lingo Optimizer

• MILP

• Dual Simplex

• Barrier/Interior Point Solver

17

Connectivity to Oracle Data Source

• Excel was used as a bridge between Lingo Optimizer and Oracle® landscape

• SQL/ODBC and OLE DB for OLAP was used to connect Excel with Oracle ERP to pull Supplier Details, Purchase Orders, Receipts, Product Lifecycle Management, Deliveries, and Advance Procurement information

• Simba Technologies’ MDX Provider for Oracle® OLAP and XMLA provides native connectivity with Excel. It parses and processes MDX queries from Excel

• Finally the Supplier, procurement, and related transactional information from Excel was fed to Lingo® Linear Optimizer for solving the multi-objective model

• The results were verified by running the same optimization steps in Matlab® and Excel Solver®

18

Connectivity to Oracle Data Source

Oracle

• MRP

• Oracle OLAP

XMLA/MDX Excel

• XL Miner

• VBA

• Solver

ActiveX/OLE Lingo Optimizer

• MILP

• Dual Simplex

• Barrier/Interior Point Solver

Dim objSAPFnCtrl As SAPFunctions

Set objSAPFnCtrl = CreateObject("SAP.Functions")

Dim objSAPConn As Object

Dim objSAPFnSuppShipments As Object ' Object used for calling BAPI function

Dim objSAPExpSupId As Object ' Export Parameter to hold the Supplier ID

Dim objSupFn As Object, obTblSup As Object 'Table Object

Set objSAPConn = objSAPFnCtrl.Connection

'Set the Logfile and LogLevel Details

objSAPFnCtrl.LogLevel = CNT_INT_LOG_LEVEL

objSAPFnCtrl.LogFileName = CNT_STR_LOG_FILE

'Set the properties for the connection control

With objSAPConn

.ApplicationServer = C_APP_SRVR

.SystemNumber = C_SYS_NUM

.User = C_USR

.Password = C_PWD

.Language = CLOGON_LANG

.Client = C_CLIENT

End With

'Logon to SAP in non-dialog mode

If objSAPConn.Logon(0, True) = False Then

MsgBox "ECC connection failed."

Exit Sub

End If

Set objSAPFnSuppShipments = objSAPFnCtrl.Add(REMOTE_FM_SUPPLIERBW_METRIC)

Set objSAPExpSupId = objSAPFnSuppShipments.Exports("SUPID")

……

……

19

Excel SAP Supplier Data Extractor-Implementation Snippets

a) F1 = 6x11 + 5.75x12 + 5.25x13 + 5.75x21 + 5.65x22 + 5.50x23 + 6x31 + 5.75x32 + 5.10x33 + 5.85x41 + 5.60x42 + 5.45x43

b) F2 = 0.007x11 + 0.007x12 + 0.007x13 + 0.003x21 + 0.003x22 + 0.003x23 + 0.006x31 + 0.006 x32 + 0.006 x33 + 0.005x41 + 0.005x42 + 0.005x43

c) F3 = 0.002x11 + 0.002x12 + 0.002x13 + 0.003x21 + 0.003x22 + 0.003x23 + 0.005x31 + 0.005x32 + 0.005x33 + 0.001x41 + 0.001x42 + 0.001x43

d) F4 = 0.001x11 + 0.001x12 + 0.001x13 + 0.004x21 + 0.004x22 + 0.004x23 + 0.002x31 + 0.002x32 + 0.002x33 + 0.003x41 + 0.003x42 + 0.003x43

e) F5 = 2.8x11 + 2.8x12 + 2.8x13 + 2.3x21 + 2.3x22 + 2.3x23 + 2.1x31 + 2.1x32 + 2.1x33 + 2.4x41 + 2.4x42 + 2.4x43

20

Model Formulation in Lingo

F1 - Objective Function for Price

F2 - Objective Function for Quality

F3 - Objective Function for Late Deliveries

F4 - Objective Function for Safety Stock Violations

F5 - Objective Function for GHG Emissions

!Crisp Single Objective Fuzzy Formulation;

MAX = 0.2 * lambda1 + 0.1 * lambda2 + 0.15 * lambda3 + 0.35 * lambda4 + 0.1 * lambda5 + 0.1 * gamma1;

!Constraints;

x11 + x12 + x13 + x21 + x22 + x23 + x31 + x32 + x33 + x41 + x42 + x43 = 15000;

2.8 * x11 + 2.8 * x12 + 2.8 * x13 + 2.3 * x21 + 2.3 * x22 + 2.3 * x23 + 2.1 * x31

+ 2.1 * x32 + 2.1 * x33 + 2.4 * x41 + 2.4 * x42 + 2.4 * x43 <= 50000;

x11+x12+x13 <= 18000;

x21+x22+x23 <= 16000;

x11 - 999 * y11 <= 0;

1000 * y12 - x12 <= 0;

x12 - 4999 * y12 <= 0;

5000 * y13 - x13 <= 0;

.

.

1000 * gamma1 + x11+x12+x13+x21+x22+x23+x31+x32+x33+x41+x42+x43 <= 16000;

500 * gamma1 - x11-x12-x13-x21-x22-x23-x31-x32-x33-x41-x42-x43 <= -14500;

@GIN(x11);

@GIN(x12);

@BIN(y11);

@BIN(y12);

21

Lingo Model Formulation - Snippets

This table represents the upper and lower optimal values after solving the single objective functions.

22

Data Set for Membership Objective Function

µ = 0 µ = 1

F1 [Purchase Cost] $86,170 $77,400

F2 [Rejected Items] 105 45

F3 [Late Deliveries] 63 24

F4 [Safety Stock Violations] 60 15

F5 [GHG Emissions] 42,000 KG 32,700 KG

23

Membership Functions for Fuzzy Objectives

a) µf1( x ) = 1, (86,170– F1) / 8,770 86,170 ≤ F1 ≤ 77,400

0b) µf2( x ) = 1,

(105 – F1) / 60 105≤ F2 ≤ 45

0c) µf3( x ) = 1,

(63 – F3) / 39 63 ≤ F3 ≤ 24

0d) µf4( x ) = 1,

(60 – F3) / 45 60 ≤ F3 ≤ 15

0e)µf5( x ) = 1,

(42,000 – F3) / 9300 42,000 ≤ F3 ≤ 32,700

0

24

Different Cases to the Numerical Example

Weighted Additive ->

Order Cost #1 Criteria (w1=.5,w2=.1,w3=.1,w4=.1, w5=.1)

Quality #1 Criteria(w1=.2,w2=.5,w3=.1,w4=.05, w5=.05)

Delays #1 Criteria(w1=.2,w2=.1,w3=.35,w4=.15, w5=.1)

Safety Stock Violations #1 Criteria (w1=.2,w2=.1,w3=.15,w4=.35, w5=.1)

GHG Emissions #1 Criteria(w1=.2,w2=.1,w3=.15,w4=.1,w5 = .4)

F1 (Order Cost) $77,400 $82,500 $80,650 $78,750 $78,600

F2 (RejectedItems)

96 45 89 105 84

F3 (DelayedDeliveries)

57 45 22 30 51

F4 (Safety Stock Violations)

24 60 31 15 36

F5 (GHG Emissions)

35,700 34,500 38,800 42,000 33,300

Supplier 1 # Orders

6000 0 7000 15,000 0

Supplier 2 # Orders

0 15000 0 0 0

Supplier 3 # Orders

9000 0 0 0 9000

Supplier 4 # Orders

0 0 2000 @ 2nd level6000 @ 3rd level

0 6000

The five objective functions F1, F2, F3, F4, and F5 are ordering cost, quality or net rejections, late deliveries, safety stock violations, and GHG emissions. Xij is the number of units purchased from ith supplier at price tier j.

Case 1: Net Cost is given the highest priority. The weights of the fuzzy goals are given as w1 = 0.5, w2 = 0.1, w3 = 0.1, w4 = 0.1, w5 = 0.1 are weights of ordering cost, net rejections, late deliveries, safety stock violations, and GHGE respectively. The weight of fuzzy constraint or γ1 = 0.1. The crisp single objective formulation is given by:

Excel Solver was used to solve this fuzzy MILP problem. The linear programming software LINDO and Matlab were again used to verify the solutions. The optimal solution came out to be (contd).

25

Additive Weights – Case Scenarios

max 0.5λ1+ 0.1λ2 + 0.1λ3 + 0.1λ4 + 0.1λ5 + 0.1γ1

subject to.xij ϵ gk(x),k = 1,…,n; j = 1,….,mλj = 1, 2, 3, 4, 5, γ1 ϵ [0, 1] 𝑖=15 𝑊𝑖 + γ1 = 1 , wi, γ1≥ 0

x13 = 6000 (Supplier #1 @ 3rd price tier), x33 = 9000 (Supplier # 3 @ 3rd price tier) satisfying all the constraints. The objective functions F1 = $77,400, F2 = 96 rejected items, F3 = 57 delayed deliveries, F4 = 24 safety stock violations, and F5 = 35,700 KG of GHG emissions. Based on User’s preferences, 6000units were ordered from Supplier 1 and remaining 9000 units were ordered from Supplier 3 because cost of ordering had the highest weightage w1 = 0.5 and both these suppliers offered a lower unit price.

26

Additive Weights – Case Scenarios

Case 2: Quality or Net rejections is the single most important factor and has a weight of w2 = 0.5. The optimal solution was x23 = 15,000 (Supplier #2 had the lowest net rejections from past deliveries) and was able to meet all the capacity constraints. The objective functions F1 = $82,500, F2 = 45 rejected items, F3 = 45 delayed deliveries, F4 = 60 safety stock violations, and F5 = 34,500 KG of GHG emissions. Based on User’s preferences, all the 15,000 units were ordered from Supplier 2 @ 3rd price tier.

27

Additive Weights – Case Scenarios

Case 3: Percentage of net rejections had the highest weightage among all at 35% or w2=0.35. The objective functions F1 = $80,650, F2 = 89 rejected items, F3 = 22 delayed deliveries, F4 = 31 safety stock violations, and F5 = 38,800 KG of GHG emissions. The best solution was to order 7,000 units from Supplier 1 , or case x13 = 7000. The balance 6,000 units to be ordered from Supplier 4 at 3rd price tier and the rest 2,000 at 2nd price tier which is given the fact that x43 = 6,000 and x42 = 2,000. Both suppliers 1 and 4 have a good track record with deliveries.

28

Additive Weights – Case Scenarios

Case 4: Minimizing safety stock violations was single most important factor and had a weight 35% or w2 = 0.35. The optimal solution was x13 = 15,000 (Supplier #1 had the lowest historical safety stock violations) and was able to meet all the capacity constraints. The objective functions F1 = $78,750, F2 = 105 rejected items, F3 = 30 delayed deliveries, F4 = 15 safety stock violations, and F5 = 42,000 KG of GHG emissions. Based on User’s preferences, all the 15,000 units were ordered from Supplier 1 @ 3rd price tier.

29

Additive Weights – Case Scenarios

30

Solution to different cases

7740082500

80650 78750 78600

35700 3450038800 42000

33300

0

10000

20000

30000

40000

50000

60000

70000

80000

90000

Case 1 Case 2 Case 3 Case 4 Case 5

Order Cost ($)

GHGE

96

45

89

105

84

57

4522

30

51

24

60

31

1536

0

20

40

60

80

100

120

Case 1 Case 2 Case 3 Case 4 Case 5

Rejected Items

Late Deliveries

Safety Stock Violations

• Amid A, Ghodyspour, S.H, O’Brien C. 2007. A weighted additive fuzzy multi-objective model for the supplier selection problem under price breaks in a supply chain

• Bellman, R.G., Zadeh, L.A., 1970. decision making in a fuzzy environment. Management Sciences 17, B141-B164

• Hong, G.H., Park, S.C., Jang, D.S., Rho, H.M (2005). An effective supplier selection method for constructing a competitive supply-relationship. Expert Systems with Applications, 629-639

• Kumar, M., Vrat, P., Shankar, R. (2004). A fuzzy goal programming approach for vendor selection problem in a supply chain. Computer and Industrial Engineering, 46(1), 69-85

• Shaw, K., Shankar, R., Yadav, S., Thakur, LS. (2012). Supplier selection using fuzzy AHP and fuzzy multi-objective linear programming for developing low carbon supply chain, Expert Systems with Applications

• Zimmerman, H. J. (1978). Fuzzy programming and linear programming with several objective functions. Fuzzy Sets and Systems, 45-55

31

References

For robust supplier score cards with qualitative and quantitative metrics

[email protected]

32