PSG Procurement
Download
Report
Transcript PSG Procurement
Supply Contract Allocation
Gyana R. Parija
Bala Ramachandran
IBM T.J. Watson Research Center
INFORMS Miami 2001
A Simple Supply Chain
S up p liers
•
Uncertain customer demand
Long supply lead time
Fixed quantity supply contracts
•
•
C usto m e rs
Risk management
•
•
•
M an u factu re r
Newsvendor solution: Manufacturer covers the risk of uncertain demand
Supply contracts with quantity flexibility
•
•
•
Supplier and manufacturer share the risk
Price premium required to cover supplier’s cost
Profit sharing on upside demand potential
Business Issues in Managing Supply Contracts
Buyer can manage a portfolio of supply contracts to hedge against
uncertainty and manage procurement costs
Different kinds of supply sources:
- Contracts with different kinds of flexibility (quantity, time …)
- Contracts with different Terms & Conditions
- Spot Markets
Trade-offs between flexibility to postpone purchase commitment due to
demand variability, supplier quantity discounts etc.
Possibility to mitigate inventory risk by optimizing contract quantities and
purchasing excess requirements from spot market
Negotiation of competitive prices with component suppliers and
contract manufacturers
Drivers impacting Supply Contracts
Demand Forecast and Volatility
Supplier Price & Quantity Discounts
Spot Market Price Volatility
Inventory Carrying costs
Price Decline costs & Salvage value
Risk Tolerance
Industry Supply Demand Balance
Lead Times & Service levels
Capacity Reservation for Multi-product contracts
Related Research Activities
•
Research Issues
– Analyzing the costs and benefits associated with supplier flexibility
• Manufacturer/buyer: determining the amount of flexibility needed
• Supplier: determining the price premium to be charged
• Channel coordination
– Developing optimized procurement strategy
• utilize updated demand forecasts
• rolling horizon flexibility (e.g., buyer commits to purchase a certain quantity
every period)
– Capacity reservation
• allocation among multiple suppliers
• utilizing spot market
•
Current work
– Supplier-Manufacturer flexibility model
– Procurement / inventory optimization model with supply flexibility
Strategic Sourcing – Allocation between Suppliers and Marketplaces
Determines quantities for strategic supplier contracts
Mitigates inventory risk by optimizing the contract quantity and
purchasing excess requirements from spot market
I
Minimize
E (( c x ) Q c ( D Q ) r ( Q D ) )
i 1
Q1,xi
i1
i
1
2
1
1
I
Subject to: x i 1
for i = 1,… I
i 1
bx Qx b x
i
i
1
(B)
x { 0 ,1}
i
i
i 1
for i = 1,… I
i
Solution Methodology
1. Analytical Formulation with Grid Search
Normality assumptions for demand, spot market price
Analytical expressions derived for expected cost, variance of
cost, risk of exceeding budget
Grid Search to identify optimum
Reasonable approach for small number of contracts
2. Stochastic Programming with OSL Stochastic Extensions
Discretized probability distributions for demand, spot market price
Linear, Mixed-integer Stochastic Programming Problem
Strategic Sourcing – Allocation between Suppliers and Marketplaces
Supply sources – strategic supplier, spot market
Determine contract quantity with strategic supplier such that the
risk of the procurement cost exceeding budget is < 5%
RISK OPTIMAL SOLUTION
COST OPTIMAL SOLUTION
Contract Quantity - 1200
Contract Quantity – 900
Expected
spotconstraint
purchase - 17
Budget
Expected spot purchase - 140 Eg. One strategic supplier, spot market,
Expected cost - $ 1163
Expected cost - $ 1154
Budget
Risk – 3%
Expected Total Procurem ent cost
Probability of exceeding budget
Budget Risk – 27%
1300.00
0.500
1280.00
0.400
Probability
E(cost)
1260.00
1240.00
1220.00
1200.00
0.300
0.200
0.100
1180.00
1160.00
0.000
1140.00
0
500
1000
Contract purchase quantity
1500
0
500
1000
Contract Procurement Quantity
1500
Contract Portfolio Management
Determines quantities to be procured under different supply contracts,
given supplier price schedules
Trade-off between contract flexibility, quantity discounts, and
spot market purchases
Minimize:
Qj,xij
J
I
J
I
j 1
j 1
i 1
j 1
i 1
r 1
E (( c ij x ij ) Q j (1 j ) ( c i 1 x i 1 ) Min ( 2 j Q j , ( D Q r (1 r ) Q j (1 j )) )
J
J
c sp ( D Q r (1 j )) r ( Q j (1 j ) D ) )
j 1
Subject to:
j 1
I
x 1
for j = 1, …, J
b ij x ij Q j x j b ( i 1 ) j x ij
for i = 1, …, I and j = 1, …, J
i 1
ij
(B)
x ij { 0 ,1}
Contract Portfolio Management
Determine contract quantities with strategic supplier such that the
risk of the procurement cost exceeding budget is < 20%
Supplier Price Schedule
Contract
Q<600
600 <= Q < 900
900 <= Q < 1300
Q>= 1300
Long Term
Contract
1.2
1.16
1.12
1.07
20% Quantity
Flexibility
Contract
COST OPTIMAL SOLUTION
1.3
1.26
0
1600-1800
20% Flexibility
Contract
420
Fixed Quantity Contract
1800-2000
1280
1280
1400-1600
1120
1200-1400
2200-2400
960
Fixed Quantity Contract
1000-1200
2000-2200
800
640
480
400
320
160
800
0
1000
960
1200
1120
1400
640
1600
800
Prob(cost >
Budget)
480
1800
E(cost)
160
2000
320
2200
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
Fixed Quantity Contract – 920
20% Flexibility Contract - 0 Expected Procurement cost
Expected cost - $ 1203
Budget Risk – 22
%
2400
1.21
1.15
RISK OPTIMAL SOLUTION
Fixed Quantity Contract – 920
20% Flexibility Contract - 160
Expected costRisk
- $ of
1253
Exceeding Budget
Budget Risk – 14 %
0
20% Flexibility
Contract
Multi-product Contracts with Business Volume Discounts
Aggregate Capacity Reservation for multiple products
Supplier gives business volume discounts based on overall commitment
Trade-off between business volume discounts, inventory liabilities
Minimize:
Qi
N
N
i 1
i1
i
i2
i 1
i
i
i 1
J
Subject to:
N
J
E (( c Q ) ( c ( D Q ) ) r ( Q D ) ) ( c Q )( d x )
x 1
for j = 1, …, J
j
j 1
N
b x ( c Q ) x b x
j
j
i 1
(B)
x { 0 ,1}
j
i
i
j
j 1
j
for j = 1, …, J
i
i
j 1
j
j
Strategic Sourcing – Determining Contract Reservation Prices
Supply risk may be specified by a choice of contract quantity – Q1
Determine contract price for which Q1 is optimal
c ( r c ) ( Q ) c
1*
2
1
2
Eg. One strategic supplier, spot market, Budget constraint = 1300
Contract Quantity = 900 Risk Tolerance = 25%
Reservation Price = 1.04
Expected Total cost
Probability of Exceeding B udget
1600.00
0.600
1400.00
0.500
1200.00
0.400
1000.00
800.00
0.300
600.00
0.200
400.00
0.100
200.00
0.000
0.00
0
0.2
0.4
0.6
0.8
Contract Price
1
1.2
1.4
0
0.5
1
Contract Price
1.5
Optimization Solutions and
Library(OSL) Stochastic Extensions
• OSL Stochastic Extensions is a set of tools and
functions used to obtain an optimal allocation
decision
• To apply here, we linearize the function
– Generate a list of representative scenarios
along with their probabilities
– Create input SMPS files readable by OSL
Stochastic Extensions
• Solve using OSL Stochastic Extensions (C++
interface)
• Special structured linear MIP amenable to fast
preprocessing techniques in OSLSE
1 Supplier, 1 price class
• MinQ E[Cost] = E[c.Q + ĉ.(D-Q)+ – v.(Q-D)+ ]
Q0
A nonlinear stochastic program in current state
becomes:
• MinQ E[Cost] = E[c.Q + ĉ.P – v.S]
Q+P–S=D
Q, P, S 0
where P = (D-Q)+ and S = (Q-D)+
Stochastic Programming Formulation- Single Sourcing
Single sourcing - Allocation between strategic supplier and spot market
Quantity discounts from strategic supplier
J
E (( c Q c P rS )
Minimize
j 1
Qj,xj
1j
j
sp
J
Subject to: x 1
j
j 1
b x Q b x
j
j
j
x { 0 ,1}
j
Q , P, S 0
j
j 1
j
for j = 1,… J
Input Data
• Purchase price: $ 1.10/unit
• Surplus selling price $ 0.55/unit
• 1576 scenarios (demand, spot price)
– Demand ~ normal (1000,200)
– Spot price ~ normal (1.5,0.3)
Sample Input
•
•
•
•
•
•
•
•
•
•
•
•
•
D
1015
1015
1016
1017
1018
1019
1019
1020
1021
1022
1023
1023
1024
c
1.44
1.45
1.45
1.45
1.45
1.45
1.46
1.46
1.46
1.46
1.46
1.47
1.47
Probability of Pair
0.001
0.000577778
0.002111111
0.001866667
0.001777778
0.000644444
0.001155556
0.002022222
0.002
0.002266667
0.000355556
0.0018
0.002
OSLSE Driver
•
EKKContext *env=ekks_initializeContext();
•
•
•
•
•
•
•
•
•
•
•
•
•
•
EKKStoch *stoch=ekks_newStoch(env,"MyStoch",50000);
int type=ekks_readSMPSData(stoch,"supp.core","supp.time","supp.stoch");
ekks_describeFullModel(stoch,1);
ekks_bendersLSolve(stoch,0);
int numints=ekks_markIntegers(stoch);
EKKModel *model=ekkse_getCurrentModel(stoch);
EKKIntegerPresolve *info=(EKKIntegerPresolve *) malloc(sizeof(EKKIntegerPresolve));
ekk_integerPresolve(model,info,0,0);
ekk_branchAndCut(model,NULL,NULL,info,NULL,5,1);
ekks_printNodeSolution(stoch,1,1,COLUMNS);
ekks_printNodeSolution(stoch,1,2,COLUMNS);
ekks_printObjectiveDistribution(stoch);
ekks_deleteStoch(stoch);
ekks_endContext(env);
Output
• Optimal Quantity: 1087
• Expected Cost: $ 1229
j suppliers, k discount ranges
• MinQ E[Cost] = E[j k cjkQjk + ĉ.P–v.S]
subject to
k xjk = 1, all j
akminxjk Qjk akmaxxjk
jkQjk + P – S = D
Qjk, P, S, xjk 0 , xjk is binary
akmin ,akmax discount range constants
Input Data
• 10 suppliers
• 5 discount types
– (800,899), (900,999), …, (1200, 1299)
• 50 price combinations
Output
•
•
•
•
•
Order Quantity = 1271
Supplier : 2
Discount Range : 5 ($0.89/unit)
Surplus of 944 units (scenario 10)
Optimal (Expected) Cost = $ 910.34
Conclusions
• OSLSE Technology
– Provides the right modeling environment for
contract portfolio management problems
– Optimization problem resolution in reasonable
times
• Deployment – solution based on this industrial
strength solver technology can be easily deployed
in any commercially available e-commerce suite
Further Work
• Adding other realistic factors to the
model such as
– Budget constraints with allowable
Risks
• Knapsack constraint in 0-1 variables in the
SP formulation – increase in computational work
– Contract terms and service levels
and their effects on the allocation
decision
Acknowledgements
•
•
•
•
Steve Buckley – IBM Research
Kendra Taylor – Georgia Tech
Markus Ettl – IBM Research
Gelonia Dent - IBM Research
Thank You !
Distribution of Pairs
Distribution of Pairs
0.003
Probability
0.0025
0.002
0.0015
0.001
0.0005
0
0
500
1000
Scenario Number
1500
2000
Stochastic Programming Formulation – Multiple Sourcing
Multiple sourcing - Allocation between suppliers and spot market
Quantity discounts from suppliers
I
J
i 1
j 1
E (( c Q c P rS )
Minimize
Qij,xij
ij
ij
sp
J
Subject to: x ij 1
for i = 1,… I
j 1
b x Q
ij
ij
ij
b x
x { 0 ,1}
ij
Q , P, S 0
ij
ij 1
ij
for i = 1,… I & j = 1, … J