Upload
phunghanh
View
212
Download
0
Embed Size (px)
Citation preview
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
A Genetic Algorithm for Integrated Decisions onSpare Part Inventories and Cross-Training Policies
in Repairable Inventory Systems
Hasan Huseyin Turan
Capability Systems CentreSchool of Engineering and Information Technology
University of New South Wales, Canberra
2nd Annual IEEE Systems Modelling ConferenceOctober 4, 2018
1 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Outline
1 Introduction
2 Problem definition
3 Mathematical Model
4 Solution Algorithm
5 Computational Study
6 Summary
2 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
IntroductionImportance of Maintenance and Costs of Downtimes
Oil platforms∼ $600,000 per day
Aircrafts∼ $10,000 per hour
Lithographic machines(semiconductors)
∼ $150,000 per hour3 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
IntroductionDowntimes and Spare Parts Supply
There are multiple ways to decrease occurring downtimes.
Two of them are:Increase the availability (inventory) of the necessary spare parts.Optimize the replenishment/repair process.
Local warehouse
Local warehouse
Local warehouse
Central Depot
Repair Shop
Installed Base
Emergency Shipment
4 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Problem definitionSingle Facility with Multi-Skill Servers and Inventories
The analyzed system consists of:A repair shop with several multi-skill servers.Multiple stocking points for each type of repairable spare parts(a.k.a. stock keeping units, SKUs).
1
1
2 3
3
4 5
Failed
Parts
Installed Base
Spare PartInventories
Repair Shop
Random Failures of Parts
(a) Pooled Design with Two Clusters
1
1
2 3
3
4 5
Failed
Parts
Random Failures of Parts
(b) Not Pooled (‘N’ and ‘W’ Structures) Design with Two Clusters
5 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Problem definitionThe objective of research and different repair shop designs
The objectives of this research are:
(a) How many should spare parts be kept in stock ?
(b) What is the optimal repair shop design?
(b1) What should be the capacity of repair facility?(b2) How should servers be trained to repair different types of failed
spares? That is, what is the appropriate cross-training scheme foreach server?
λ1
λ2
λ3
λ4
(a) No cross-training (dedicated)
Failed Spares Servers
λ1
λ2
λ3
λ4
(b) Pooling (partial cross-training)
Failed Spares Servers
λ1
λ2
λ3
λ4
(c) Chaining (partial cross-training)
Failed Spares Servers
λ1
λ2
λ3
λ4
(d) Mixed (dedicated andpartial cross-training)
Failed Spares Servers
λ1
λ2
λ3
λ4
(e) Full cross-training
Failed Spares Servers
6 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Problem definitionKey assumptions
A model with an infinite time planning horizon is chosen andsteady-state analysis is utilized in continues time [0,∞) in order todetermine inventory levels.
It is assumed that failures occur according to a Poisson process with aconstant rate.
All repair times are exponentially distributed and mutually independent.
First come first served(FCFS) queuing discipline is adopted and nopriority exists among failed spares.
It is assumed that holding costs for every SKU are linear in the initialstock level and are paid per SKU per time unit.
It is assumed that a positive cross-training or cost of flexibility occurswhenever an additional skill is assigned to a server.
Each cluster inside the repair shop is modeled as a multi-class multi-serverM/M/k queuing system with dedicated queues.
The clusters inside the repair shop are mutually exclusive (disjoint) andcollectively exhaustive.
7 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Mathematical ModelParameters and Decision Variables
Problem parameters:
N: Number of distinct type of repairables (SKUs)λi Failure rate of SKU type i ( i = 1, . . . ,N)µi : Service rate of SKU type i ( i = 1, . . . ,N)hi : Inventory holding cost of SKU type i per unit time per part ( i = 1, . . . ,N)b: Penalty cost for each backordered demand per unit time, which is equivalent
to the cost of downtime of the systemf : Operation cost of a server per unit time (e.g., annual wage)ci : Cost of having a skill to repair SKU type i per unit time per server
(e.g., annual qualification bonus)ε: Very small positive real number
Decision variables:
Si : Initial inventory quantity (basestock level) kept on stock for SKU typewhere S = (S1, . . . , SN)
zk : Number of the operational servers in the cluster k (k = 1, . . . , y)where Z = (z1, . . . , zy )
xik : Binary variable indicating that whether the cluster k has a skill to repair SKU
type i or not, where Xk = (x1k , . . . , xNk)T and X = [X1| . . . |Xy ]y : Number of clusters in the repair shop 8 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Mathematical ModelThe Objective function
The Mixed Integer Nonlinear Objective Function
minS, X, Z
y∑k=1
fzk︸ ︷︷ ︸Cost of Servers
+
y∑k=1
zk
(N∑i=1
cixik
)︸ ︷︷ ︸
Cost of Training
+N∑i=1
hiSi︸ ︷︷ ︸Holding Cost
+ bN∑i=1
EBOi [Si ,X,Z]︸ ︷︷ ︸Expected Backorder Cost
(1)
The penalty (backorder) cost term is calculated using the penaltycost b and the expected total number of backordered partsEBOi [Si ,X,Z] for each SKU type i in the steady-state; under thegiven initial inventory level Si , pooling scheme of the repair shop Xand the server assignment policy ZThe variable X represents a (N × y)–matrix of the binary decisionvariables xik denoting how SKUs are pooled in the repair shop.The variable Z represents a 1 × y– row matrix of integer decisionvariables zk denoting the number of servers in each cluster of therepair shop.
9 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Mathematical ModelConstraints
y∑k=1
xik = 1 i = 1, . . . ,N (2)
N∑i=1
xikλi
µi≤ (1− ε) zk k = 1, . . . , y (3)
xik ∈ {0, 1} i = 1, . . . ,N k = 1, . . . , y (4)
zk ∈ Z+ k = 1, . . . , y (5)
Si ∈ N0 i = 1, . . . ,N (6)
y ∈ {1, . . . ,N} (7)
constraint set (2) ensures that pooling scheme X satisfies mutuallyexclusive and total exhaustive condition for each cluster, i.e., anySKU type being repaired by exactly one cluster,constraint set (3) guarantees the system stability by assigningsufficient number of servers to each cluster,constraint sets between Eqs.(4)-(6) are required for non-negativityand integrality of the variables
10 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Solution AlgorithmA two-stage iterative heuristic algorithm
The number of possible pooling schemes X increases exponentially for increasingnumber of SKUs in the system.
Genetic Algorithm (GA) generates a set of feasible pooled repair shop designpolicies, and solutions are passed through fitness evaluation function to findoptimal values of server assignment policy Z and inventory levels of spares S.
Start
Input:GA parametersFailure/Service Rates
Cost Parameters
Initial Population Generationgeneration:=0
Fitness Evaluation
generation:=+1
generation> genmax?
Yes
No
Stop
Crossover
Mutation
Local Search for CapacityOptimization
Multi-Class Multi-ServerSolver
Z SX
Total Cost
11 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Genetic AlgorithmThe general idea
The GA methods are population-based. Hence, they can escape fromlocal extrema, and easily combinedwith simulations for evaluating com-plex objective functions.
GA steps:
Step 1: Initial population generation
Step 2: Evaluation of individuals
Step 3: Parents selection
Step 4: Reproduction by crossoverand/or mutation
Step 5: Repeating steps 2–4 till thestop condition is reached.
Source: Wikimedia Commons
2 2 26 93 3 34 4
2 2 26 93 3 24 4
2 2 26 93 3 34 4
2 2 36 93 3 24 4 12 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Evaluation of FitnessDecomposition of problem
For given X, the problem is reduced to a capacity and inventory optimizationproblem CIO
(X)
as follows:
CIO(X)
= minS, Z
y∑k=1
zk(f + Ck
(X) )
+N∑i=1
hiSi + bN∑i=1
EBOi
[Si ,Z,X
]From independence of clusters, we can separate and rewrite the CIO
(X)
foreach cluster k with the constraints as follows:
CIOk
(X)
= minSi , zki∈Nk
zk(f + Ck
(X) )
+∑i∈Nk
hiSi + b∑i∈Nk
EBOi
[Si , zk ,X
](8)
Subject to: zk ≥
⌈∑i∈Nk
λi
µi
⌉(9)
zk ∈ Z+ (10)
Si ∈ N0 i ∈ Nk (11)
where Nk is the index set of the SKUs in the cluster k13 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Evaluation of FitnessDecomposition of problem II
We performs local greedy search to find the optimal zk by fixing server numbers ateach cluster and solving the following optimization subproblems:
CIOk
(X, zk
)=
{minSi
( ∑i∈Nk
hiSi +bEBOi
[Si , zk ,X
] )|Si ∈ N0
}k = 1, . . . , y
Objective function of model 12 has separable structure and it can be rewritten asfollows:
CIOk
(X, zk
)=
{ ∑i∈Nk
minSi
(hiSi +bEBOi
[Si , zk ,X
] )|Si ∈ N0
}k = 1, . . . , y
Require: X, y
Ensure: zk ≥⌈∑
i∈Nkx ikλi
µi
⌉1: for k ∈ {1, . . . , y} do2: Calculate: Γk (zk )3: while Γk (zk ) < 0 do
4: Optimize: CIOk
(X, zk
)5: zk := +16: end while7: end for
14 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Evaluation of FitnessQueuing Approximation
Each cluster k in the repair shop for a given number of servers can be viewed as amulti-class multi-server M/M/zk queuing system. The probability distribution of thenumber of failed SKU type i at the steady-state
limt→∞
Pi
[Qi (t) = q,X,Z
]= pi (q) , i = 1, . . . ,N q = 0, 1, . . .
is required to evaluate EBOi
[Si ,Z,X
].
In this approximation, marginal probability distribution (and several performancecharacteristics) of the SKU type i in the cluster k is derived by aggregating all otherSKUs in the cluster k into a single SKU type (class). The procedure is repeated toobtain the remaining distributions for other SKUs in the cluster.
λN
N -class M/M/zk system
λ1
⇒
Original System
ΛA′
3-class M/M/zk system
λ1
ΛA + +
λN
3-class M/M/zk system
ΛA
ΛA′
Decomposed Approximated System
15 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Evaluation of FitnessFinal Remarks
We can approximate the value of EBOi
[Si ,Z,X
]as:
EBOi
[Si ,Z,X
]u∞∑q=0
max {0, q − Si} pi (q)
u∞∑
q=Si+1
(q − Si ) pi (q)
where pi (q) is the approximation of the marginal probability distribution of thenumber of failed SKU type i , i.e., pi (q). The objective function (12) is the
summation of holding and backorder costs EHBi
[Si ,X,Z
]= hiSi + bEBOi
[Si ,Z,X
]and is optimized by at:
EHBi [Si ,X,Z] is convex on its whole domain Si ∈ N0 (:= N ∪ {0}) for given poolingpolicy X and capacity levels Z, and it is minimized at the smallest Si ∈ N0 for which
Si∑q=0
pi (q) ≥b − hi
bi = 1, . . . ,N
16 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Evaluation of FitnessFinal Remarks
We can approximate the value of EBOi
[Si ,Z,X
]as:
EBOi
[Si ,Z,X
]u∞∑q=0
max {0, q − Si} pi (q)
u∞∑
q=Si+1
(q − Si ) pi (q)
where pi (q) is the approximation of the marginal probability distribution of thenumber of failed SKU type i , i.e., pi (q). The objective function (12) is the
summation of holding and backorder costs EHBi
[Si ,X,Z
]= hiSi + bEBOi
[Si ,Z,X
]and is optimized by at:
EHBi [Si ,X,Z] is convex on its whole domain Si ∈ N0 (:= N ∪ {0}) for given poolingpolicy X and capacity levels Z, and it is minimized at the smallest Si ∈ N0 for which
Si∑q=0
pi (q) ≥b − hi
bi = 1, . . . ,N
17 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Numerical ExperimentsTestbed
A full factorial design of experiment (DoE) with seven factors and two levels per factoris used to generate a total of 128 instances.
Factors Levels
No. of SKUs (N) [10, 20]No. of Initial servers (M) [5, 10 ]Utilization Rate (ρ) [ 0.65, 0.80 ]Minimum Holding Cost (hmin) [ 1, 100 ]Maximum Holding Cost (hmax ) 1000Holding cost/Workload relation [ IND, HPB ]Server Cost (f ) [ 10hmax , 100hmax ]Cross-Training Cost (ci ) [ 0.01f , 0.10f ]
Penalty Cost (b) 50∑N
i=1 λi hi∑Ni=1
λi,
The holding costs, hi , are generated using two different patterns: (i) IND: completelyrandomly (independent) within a range [hmin, hmax ], and (ii) HPB: hyperbolicallyrelated to the workloads wi = λi/µi = δiρM:
hi =hmax − hmin + 10
9 wi−wminwmax−wmin
+ 1− 10 + hmin + ξi
where
ξi ∈ U[−hmax − hmin
20,hmax − hmin
20], wmin = min
i=1,...,Nwi and wmax = max
i=1,...,Nwi
18 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Numerical ExperimentsGA parameters
Parameter ValuePopulation size 100Number of generation 25Crossover rate 0.8Chromosome mutation rate 0.4Switch-mutation probability 0.5Swap-mutation probability 0.5Operation DetailInitial population Uniform random integer ∈ [1, |N|]Fitness Evaluation Queuing approximation and local searchSelection Tournament selectionCrossover One-point uniform
Mutation(s)SwitchSwap
(a) switch-mutation: The procedure in which a random gene is chosenand switched to the value of another gene in the chromosome with equalprobability.(b) swap-mutation: The procedure in which two genes are selected atrandom, and then they are swapped by value.
19 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Numerical ExperimentsCost reduction
∆FlexibleGA represents the relative percentage difference between the GA-based
heuristic and the fully flexible design. ∆DedicatedGA denotes the relative percentage
gap between the total cost of the pooled and the dedicated designs.
GA can yield ∼44% and ∼21% cost savings in comparison with dedicated andfully flexible designs, respectively.
In only 11% of the cases (15 out 128) in the testbed, the fully flexible repairshop designs outperform the pooled designs in terms of the total system cost.
10 20
−20 %
0 %
20 %
40 %
60 %
80 %
100 %
∆Flexible
GA
5 10
−20 %
0 %
20 %
40 %
60 %
80 %
100 %
0.65 0.80
−20 %
0 %
20 %
40 %
60 %
80 %
100 %
1 100
−20 %
0 %
20 %
40 %
60 %
80 %
100 %
IND HPB
−20 %
0 %
20 %
40 %
60 %
80 %
100 %
10hmax 100hmax
−20 %
0 %
20 %
40 %
60 %
80 %
100 %
0.01f 0.1f
−20 %
0 %
20 %
40 %
60 %
80 %
100 %
10 20
−20 %
0 %
20 %
40 %
60 %
80 %
100 %
Number ofSKUs
∆Dedicated
GA
5 10
−20 %
0 %
20 %
40 %
60 %
80 %
100 %
Number ofInitial Servers
0.65 0.80
−20 %
0 %
20 %
40 %
60 %
80 %
100 %
Utilization Rate
1 100
−20 %
0 %
20 %
40 %
60 %
80 %
100 %
MinimumHolding Cost
IND HPB
−20 %
0 %
20 %
40 %
60 %
80 %
100 %
HoldingCost Variant
10hmax 100hmax
−20 %
0 %
20 %
40 %
60 %
80 %
100 %
Server Cost
0.01f 0.1f
−20 %
0 %
20 %
40 %
60 %
80 %
100 %
Cross-TrainingCost
the pooled designs found by proposed heuristic can yield ∼44% and ∼21% costsavings in comparison with dedicated and fully flexible designs, respectively. In only11% of the cases (15 out 128) in the testbed, the fully flexible repair shop designsoutperform the pooled designs in terms of the total system cost.
20 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Numerical ExperimentsRuntime analysis
run all the experiments on a computer with 16 GB RAM and 2.8 GHz i7 CPU.
converges the best solution in 1456 CPU seconds. The worst case performance isaround 4000 CPU seconds.
the increasing problem size (number of SKUs and the number of initial servers)has a negative impact on the run time of the algorithm due to the increasingeffort to solve the multi-class multi-server queueing system approximation.
the cross-training cost factor indirectly affects the size of multi-class multi-serverqueueing problem that has to be solved several times during execution of thealgorithm, which results in longer run times.
10 200
1,000
2,000
3,000
4,000
Number ofSKUs
RunTim
e
(CPU
Secon
ds)
5 100
1,000
2,000
3,000
4,000
Number ofInitial Servers
0.65 0.800
1,000
2,000
3,000
4,000
Utilization Rate
1 1000
1,000
2,000
3,000
4,000
MinimumHolding Cost
IND HPB0
1,000
2,000
3,000
4,000
HoldingCost Variant
10hmax 100hmax
0
1,000
2,000
3,000
4,000
Server Cost
0.01f 0.1f0
1,000
2,000
3,000
4,000
Cross-TrainingCost
21 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Numerical ExperimentsCross-training and capacity usage
“How much flexibility/cross-training is usually enough?”
When the pooling heuristic is used, the skill distribution per serverdepends on the number of SKUs in the system. It obeys alog-normal distribution.We observe that 90% of the servers are less than 50% cross-trained.
100% cross-training (fully flexible server) is observed when the pooling heuristicis used. These extreme cases usually occur: (i) when the cost of having an extraskill is relatively small compared to the cost of having an additional server (i.e.,the case of cross-training cost being equal to 0.01f ), and (ii) when the problemsize is small (i.e., the instances where N and M are equal to 10 and 5,respectively).
0 2 4 6 8 10 12 140
10
20
30
Average # of skills per server
4 6 8 10 120
20
40
60
# of server used
20 40 60 80 1000
10
20
30
40
Average % cross-training per server 22 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Conclusions and Future Research
(i) which spare part types to pool together; (ii) how to assign servers(capacity) to each cluster; and (iii) how much spare inventory tokeep for each repairable type.
The pooled designs can result in cost savings of ∼44% and ∼21%compared to the conventional dedicated and fully flexibleparts-server assignments, respectively.
The advantages of pooled repair shop designs diminish whencross-training costs (skill cost) increase.
Partial flexibility achieved by up to 50% cross-trained servers isusually sufficient for the optimal repair shop performance.As future research:
Improving the performance of the GA by developing new mutationand crossover operationsIntegrating pooling decision with static and dynamic routing andprioritization rules in the part repair processesUsing simulation instead of queuing based approximations
23 / 24
Outline Introduction The Problem Mathematical Model Solution Algorithm Computational Study Summary
Thank you for your attention ...
Questions, Comments, Suggestion?
24 / 24