supplier scoring metric
TRANSCRIPT
• 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
32