Management of�Blood Component Preparation
Speaker: Chun-Cheng Lin
National Taiwan University
Co-authors: Chang-Sung Yu, Yin-Yih Chang
Outline
the blood component preparation problem (BCPP)
2
Introduction
needed to replace particular deficits
for some medical purposes.
⇒ almost does not exist now
⇒ different use, efficiency and quality
3
A Process of Separating Blood Components
4
Packed Red Blood Cells
Platelet-Rich Plasma
Washed Red Blood Cells
Fresh Frozen Plasma
Platelet Concentrate
Fresh Plasma
Frozen Plasma
Cryoprecipitate
soft-spin centrifugation
hard-spin centrifugation
washing
Whole Blood
freezing
thawing; centrifugation; freezing
Blood Component Preparation Problem
with value ai and demand limit di
the amount of its parent
according to a given ratio ri;
Given an initial volume Q of the whole blood and
an n-vertex blood component tee T
(where demand limit di ; implied value ai),
determine the assignments of { xi }
so that (1) the total value is maximized
(2) while the demand limit of each component is satisfied
5
r2
r3
x1
a1
d1
x2
a2
d2
x3
a3
d3
x4
a4
d4
x5
a5
d5
x6
a6
d6
x7
a7
d7
x8
a8
d8
x9
a9
d9
r8
r9
r4
r6
r5
r7
A linear programming approach
6
Comment:
There exist a lot of software tools for the linear programming problem, users just need to describe the BCPP as a linear program and then use those tools to solve it without implement it.
r2
r3
x1
a1
d1
x2
a2
d2
x3
a3
d3
x4
a4
d4
x5
a5
d5
x6
a6
d6
x7
a7
d7
x8
a8
d8
x9
a9
d9
r8
r9
r4
r6
r5
r7
Example
7
0.8
0.2
x1
3
10
x2
4
4
x3
8
5
x4
2
12
x5
1
7
x6
3
8
x7
1
9
x8
2
13
x9
6
6
0.7
0.3
0.2
0.5
0.3
1
Q = 100
Motivations
8
Klee and Minty (1972)
the worst-case complexity of the simplex algorithm is exponential
Karmarkar (1984)
the first algorithm performing well both in theory and in practice
Khachiyan (1979,1980)
the first polynomial-time algorithm
Dantzig (1947)
the well-known simplex algorithm
Reference
result
Main result
9
0.8
0.2
x1
3
10
x2
4
4
x3
8
5
x4
2
12
x5
1
7
x6
3
8
x7
1
9
x8
2
13
x9
6
6
0.7
0.3
0.2
0.5
0.3
1
Our linear time algorithm (1/4)
10
0.8
0.2
100
3
10
0
4
4
0
8
5
0
2
12
0
1
7
0
3
8
0
1
9
0
2
13
0
6
6
0.7
0.3
0.2
0.5
0.3
1
0.8
0.2
10+0
3
10
4+0
4
4
5+0
8
5
12+1.6
2
12
7+13.4
1
7
8+0
3
8
9+4
1
9
13+5.2
2
13
6+1.8
6
6
0.7
0.3
0.2
0.5
0.3
1
x1
x2
x3
x7
x4
x5
x6
x8
x9
Our linear time algorithm (2/4)
o.w., yiM = minvj∈Child(vi){ yjM / rj },
yim = yj – rj yiM for each vj ∈ Child(vi).
11
y1m
10
0
8
0
4
2
1.6
0
13.4
11
6
2
4
0
5.2
1
1.8
0
0.8
0.2
10+0
3
10
4+0
4
4
5+0
8
5
12+1.6
2
12
7+13.4
1
7
8+0
3
8
9+4
1
9
13+5.2
2
13
6+1.8
6
6
0.7
0.3
0.2
0.5
0.3
1
y1M
y2m
y2M
y3m
y3M
y7m
y7M
y6m
y6M
y4m
y4M
y8m
y8M
y9m
y9M
Our linear time algorithm (3/4)
12
v4, v5, v7, v8, v9 are leaves, and hence, marked.
ϕ (v6) = max(3, 0.7×2+0.3×6) = 3.2 > 3 = a6
⇒ v6 is unmarked.
ϕ (v3) = max(8, 1×1) = 8 = a3
⇒ v3 is marked.
ϕ (v2) = max(4, 0.2×2+0.3×1+0.5×3.2) = 4 = a2
⇒ v2 is marked.
ϕ (v1) = max(3, 0.8×4+0.2×8) = 4.8 > 3 = a1
⇒ v1 is unmarked.
y1m
10
0
8
0
4
2
1.6
0
13.4
11
6
2
4
0
5.2
1
1.8
0
0.8
0.2
10+0
3
10
4+0
4
4
5+0
8
5
12+1.6
2
12
7+13.4
1
7
8+0
3
8
9+4
1
9
13+5.2
2
13
6+1.8
6
6
0.7
0.3
0.2
0.5
0.3
1
y1M
y2m
y2M
y3m
y3M
y7m
y7M
y6m
y6M
y4m
y4M
y8m
y8M
y9M
y9M
Our linear time algorithm (4/4)
13
0.3
0.8
0.2
10+0
3
10
4+0
4
4
5+0
8
5
12+1.6
2
12
7+13.4
1
7
8+0
3
8
9+4
1
9
13+5.2
2
13
6+1.8
6
6
0.7
0.3
0.2
0.5
1
0.8
0.2
10+0
3
10
4+8
4
4
5+4
8
5
12+0
2
12
7+11
1
7
8+0
3
8
9+0
1
9
13+2.4
2
13
6+0.6
6
6
0.7
0.3
0.2
0.5
0.3
1
y1m
10
0
8
0
4
2
1.6
0
13.4
11
6
2
4
0
5.2
1
1.8
0
y1M
y2m
y2M
y3m
y3M
y7m
y7M
y6m
y6m
y4m
y4M
y8m
y8M
y9m
y9M
0
2.4
0.6
Observations of our outputs
14
on the band
above the band
below the band
R2
R3
R1
Output of Step 1 of our algorithm
Output of our algorithm
Comparison of solutions
15
on the band
above the band
below the band
R2
R3
R1
band
…
…
R11
R12
R13
R2
R3
R1
Any feasible solution
Output of Step 1 of our algorithm
Output of our algorithm
Blood Component Preparation Problem
Proof. Skipped.
In practice, we may execute more than one process simultaneously within a certain time frame.
16
Modified Blood Component Preparation Problem
⇒ require: the volume of the components at higher levels is more.
Given the initial volume Q of the whole blood and
an n-vertex blood component tree T
(every vertex has its demand limit),
determine the assignments of { xi }
so that (1) the volume of the components at higher levels
is remained as more as possible
(2) while the demand limit of every component is satisfied.
Steps 1 and 2 are the same as those of the previous.
Step 3: Output x1 = d1 + y1M ; xi = di + yim, ∀ vi ∈ V \ {v1}.
17
Conclusion and future work
18
Thank you for your attention!
19