Management of Blood Component Preparation Speaker: Chun-Cheng Lin National Taiwan University Co-authors: Chang-Sung Yu, Yin-Yih Chang.

Slides:



Advertisements
Similar presentations
On allocations that maximize fairness Uriel Feige Microsoft Research and Weizmann Institute.
Advertisements

Complexity ©D.Moshkovits 1 Where Can We Draw The Line? On the Hardness of Satisfiability Problems.
Linear Programming Problem
Approximation Algorithms Chapter 14: Rounding Applied to Set Cover.
C&O 355 Mathematical Programming Fall 2010 Lecture 22 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A.
A Separator Theorem for Graphs with an Excluded Minor and its Applications Paul Seymour Noga Alon Robin Thomas Lecturer : Daniel Motil.
Dragan Jovicic Harvinder Singh
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Chapter 2: Second-Order Differential Equations
COSC 3100 Transform and Conquer
ECE 8443 – Pattern Recognition ECE 3163 – Signals and Systems Objectives: Review Resources: Wiki: State Variables YMZ: State Variable Technique Wiki: Controllability.
The number of edge-disjoint transitive triples in a tournament.
Linear Programming and Approximation
1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.
Introduction to Linear and Integer Programming Lecture 7: Feb 1.
Chapter 10: Iterative Improvement
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
Pseudo-polynomial time algorithm (The concept and the terminology are important) Partition Problem: Input: Finite set A=(a1, a2, …, an} and a size s(a)
Distributed Combinatorial Optimization
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Hardness Results for Problems
LINEAR PROGRAMMING PROJECT. V.PAVITHRA SUKANYAH.V.K RIZWANA SULTANA SHILPA JAIN V.PAVITHRA.
LINEAR PROGRAMMING SIMPLEX METHOD.
Themes of Presentations Rule-based systems/expert systems (Catie) Software Engineering (Khansiri) Fuzzy Logic (Mark) Configuration Systems (Sudhan) *
Cost Behavior Analysis
Fixed Parameter Complexity Algorithms and Networks.
Chapter 11 Limitations of Algorithm Power. Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples:
Computational Geometry Piyush Kumar (Lecture 5: Linear Programming) Welcome to CIS5930.
Trees. Introduction to Trees Trees are very common in computer science They come in different forms They are used as data representation in many applications.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 8 Lecture 8 Network Flow Based Modeling Mustafa Ozdal Computer Engineering Department,
Expanders via Random Spanning Trees R 許榮財 R 黃佳婷 R 黃怡嘉.
 2004 SDU Lecture 7- Minimum Spanning Tree-- Extension 1.Properties of Minimum Spanning Tree 2.Secondary Minimum Spanning Tree 3.Bottleneck.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
CSCI 3160 Design and Analysis of Algorithms Chengyu Lin.
Models in I.E. Lectures Introduction to Optimization Models: Shortest Paths.
Advanced Operations Research Models Instructor: Dr. A. Seifi Teaching Assistant: Golbarg Kazemi 1.
Chapter 3 Algorithms Complexity Analysis Search and Flow Decomposition Algorithms.
Optimization - Lecture 4, Part 1 M. Pawan Kumar Slides available online
Pipelining and Retiming
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 8 Lecture 8 Network Flow Based Modeling Mustafa Ozdal Computer Engineering Department,
LIMITATIONS OF ALGORITHM POWER
Exercise 6.1 Find the number of different shortest paths from point A to point B in a city with perfectly horizontal streets and vertical avenues as shown.
1 Approximation algorithms Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij TexPoint fonts used in EMF. Read the TexPoint manual.
A Linear Time Algorithm for the Longest Path Problem on 2-trees joint work with Tzvetalin Vassilev and Krassimir Manev
 2004 SDU 1 Lecture5-Strongly Connected Components.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
The minimum cost flow problem. Solving the minimum cost flow problem.
Approximation Algorithms based on linear programming.
Distributed Control and Autonomous Systems Lab. Sang-Hyuk Yun and Hyo-Sung Ahn Distributed Control and Autonomous Systems Laboratory (DCASL ) Department.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Dr Nazir A. Zafar Advanced Algorithms Analysis and Design Advanced Algorithms Analysis and Design By Dr. Nazir Ahmad Zafar.
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
Decision Support Systems
Data Driven Resource Allocation for Distributed Learning
Chap 10. Sensitivity Analysis
Hans Bodlaender, Marek Cygan and Stefan Kratsch
The minimum cost flow problem
NP-Completeness Yin Tat Lee
Where Can We Draw The Line?
Objective of This Course
Analysis of Algorithms
Linear Programming and Approximation
Chapter 11 Limitations of Algorithm Power
NP-Completeness Yin Tat Lee
Linear Programming Problem
Chapter 10: Iterative Improvement
Chapter 1. Formulations.
Presentation transcript:

Management of Blood Component Preparation Speaker: Chun-Cheng Lin National Taiwan University Co-authors: Chang-Sung Yu, Yin-Yih Chang

2 Outline Introduction to the blood component preparation problem (BCPP) A linear time algorithm for the BCPP Some variants of the BCPP Conclusion and future work

3 Introduction Transfusion therapy  to transfuse the specific blood components needed to replace particular deficits for some medical purposes. Whole blood  contain all blood elements  a source for blood component production. Blood component preparation  the indication for the use of unfractionated whole blood  almost does not exist now  separating specific cell components from the whole blood  a lot of different methods (processes) or equipment  different use, efficiency and quality

4 A Process of Separating Blood Components Implied value (a i ): Consider both the revenue contributed by patients or insurance and the costs induced by blood of collection, testing, preparation, preservation, storage, processing time, etc. Demand limit (d i ). 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

5 Blood Component Preparation Problem Blood Component tree  vertex v i = a blood component with value a i and demand limit d i  the amount x i of v i is derived from the amount of its parent according to a given ratio r i ; Initial assignment of { x i }  x 1 = Q; other x i = 0 The Blood Component Preparation Problem (BCPP) Given an initial volume Q of the whole blood and an n-vertex blood component tee T (where demand limit d i ; implied value a i ), determine the assignments of { x i } so that (1) the total value is maximized (2) while the demand limit of each component is satisfied r2r2 r3r3 x1x1 a1a1 d1d1 x2x2 a2a2 d2d2 x3x3 a3a3 d3d3 x4x4 a4a4 d4d4 x5x5 a5a5 d5d5 x6x6 a6a6 d6d6 x7x7 a7a7 d7d7 x8x8 a8a8 d8d8 x9x9 a9a9 d9d9 r8r8 r9r9 r4r4 r6r6 r5r5 r7r7

6 A linear programming approach The BCPP problem can be solved by linear programming. 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. r2r2 r3r3 x1x1 a1a1 d1d1 x2x2 a2a2 d2d2 x3x3 a3a3 d3d3 x4x4 a4a4 d4d4 x5x5 a5a5 d5d5 x6x6 a6a6 d6d6 x7x7 a7a7 d7d7 x8x8 a8a8 d8d8 x9x9 a9a9 d9d9 r8r8 r9r9 r4r4 r6r6 r5r5 r7r7

7 Example x1x x2x2 4 4 x3x3 8 5 x4x x5x5 1 7 x6x6 3 8 x7x7 1 9 x8x x9x Q = 100

8 Motivations Linear programming (LP) problem 2 drawbacks to solve the BCPP by LP:  The worst-case algorithm for the LP problem may not be executed efficiently (its time complexity is nonlinear)  It may not be convenient for users to directly describe the constraints of the LP for a general derivatives tree. resultReference the well-known simplex algorithm Dantzig (1947) the worst-case complexity of the simplex algorithm is exponential Klee and Minty (1972) the first polynomial-time algorithm Khachiyan (1979,1980) the first algorithm performing well both in theory and in practice Karmarkar (1984)

9 Main result Main Theorem: There exists a linear time algorithm for the BCPP in the size of vertices. Characteristic value  (v i ) of v i  Compute the following formula in the bottom-up fashion e.g.,   (v 8 ) = 2;  (v 9 ) = 6   (v 6 ) = max( 3, 0.7   6 ) = x1x x2x2 4 4 x3x3 8 5 x4x x5x5 1 7 x6x6 3 8 x7x7 1 9 x8x x9x

10 Our linear time algorithm (1/4) Step 1:  vertex v i in top-down fashion of T,  x i is assigned d i, and then the remaining amount is forwarded to the next level;  if not enough to satisfy any demand limit, then return false.  for convenience, we express that x i = d i + y i x1x1 x2x2 x3x3 x7x7 x4x4 x5x5 x6x6 x8x8 x9x9

11 Our linear time algorithm (2/4) Step 2:  vertex v i in bottom-up fashion of T,  If v i is a leaf, then y i M = y i ; o.w., y i M = min vj  Child(vi) { y j M / r j }, y i m = y j – r j y i M for each v j  Child(v i ).  (In fact, y i M is the maximal possible amount of v i flowed from its descendents and y i m is the amount of every descendent of v j of v i after y i M is achieved) y1my1m y1My1M y2my2m y2My2M y3my3m y3My3M y7my7m y7My7M y6my6m y6My6M y4my4m y4My4M y8my8m y8My8M y9my9m y9My9M

12 Our linear time algorithm (3/4) Step 3:  Initially, all the leaves of T are marked.  For each internal vertex v i in the bottom-up fashion of T, compute  (v i ). If  (v i ) = a i, then vertex v i is marked. v 4, v 5, v 7, v 8, v 9 are leaves, and hence, marked.  (v 6 ) = max(3, 0.7   6) = 3.2 > 3 = a 6  v 6 is unmarked.  (v 3 ) = max(8, 1  1) = 8 = a 3  v 3 is marked.  (v 2 ) = max(4, 0.2    3.2) = 4 = a 2  v 2 is marked.  (v 1 ) = max(3, 0.8   8) = 4.8 > 3 = a 1  v 1 is unmarked. y1my1m y1My1M y2my2m y2My2M y3my3m y3My3M y7my7m y7My7M y6my6m y6My6M y4my4m y4My4M y8my8m y8My8M y9My9M y9My9M

Our linear time algorithm (4/4) Step 4: Let U = V.  v i  U in top-down fashion of T, if v i is unmarked then output x i = d i + 0; otherwise, do the following:  Output x i = d i + y i M ;   v j in the top-down fashion of the subtree T vi rooted at v i, if v j is marked, then output x j = d j + y j m ; otherwise, for evry children v k of v j, y k m  y k m + r k y j m, and then output x j = d j + 0 (i.e., y j m = 0);  U  U \ V(T vi ) y1my1m y1My1M y2my2m y2My2M y3my3m y3My3M y7my7m y7My7M y6my6m y6my6m y4my4m y4My4M y8my8m y8My8M y9my9m y9My9M

14 Observations of our outputs Observation 1. Observation 2. In the output of our algorithm,  For every vertex v i in R 1, a i  <  (v i ).  For every vertex v i in R 2, a i  =  (v i ). Observation 3. Any feasible solution of the BCPP is reachable from the output of our algorithm. on the band above the band below the band R2R2 R3R3 R1R1 Output of Step 1 of our algorithmOutput of our algorithm

15 Comparison of solutions on the band above the band below the band R2R2 R3R3 R1R1 band … … R 11 R 12 R 13 R2R2 R3R3 R1R1 Any feasible solution Output of Step 1 of our algorithmOutput of our algorithm

16 Blood Component Preparation Problem Theorem. The BCPP can be solved in O(n) time. Proof. Skipped. Extension: How to choose multiple standardized processes so that the total value is maximized?  The preparation and preservation of blood components are considered within a time frame. In practice, we may execute more than one process simultaneously within a certain time frame.  Fortunately, for the standardization of executing processes, the number of alternative processes is fixed constant.  The extended problem can be solved roughly in polynomial time.

17 Modified Blood Component Preparation Problem The deriving operation may be nonreversible.  require: the volume of the components at higher levels  is more. The Modified Blood Component Preparation Problem (BCPP’) 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 { x i } 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. Algorithm: Steps 1 and 2 are the same as those of the previous. Step 3: Output x 1 = d 1 + y 1 M ; x i = d i + y i m,  v i  V \ {v 1 }. Corollary. The BCPP’ can be solved in O(n) time.

18 Conclusion and future work We have defined a new problem called the blood component preparation problem (BCPP), and proposed not only a linear programming solution but also a linear time algorithm for the BCPP. Some variants are also given in this work. A line of future work includes:  to investigate the tractability of the `derivatives graph problem’ on some special cases of graphs;  to take more factors (e.g., time and inventory) into account in the BCPP;  to evaluate the effectiveness of the BCPP applied in practical environment;  to investigate the sensitivity analysis and the critical paths of the BCPP.

19 Thank you for your attention!